Arithmetic device, neural network system, neuron model device, arithmetic method and program

The spiking neural network system synchronizes input and output time intervals to control spike signal timing, addressing inefficiencies in data processing delays and enhancing throughput and recognition performance.

JP7725928B2Active Publication Date: 2025-08-20NEC CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2021130003
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-08-06
Publication Date
2025-08-20
Estimated Expiration
2041-08-06

AI Technical Summary

Technical Problem

Spiking neural networks face inefficiencies in data processing due to unpredictable firing timings of neuron models, leading to delays in processing multiple inputs.

Method used

Implementing a spiking neural network system with synchronized input and output time intervals for neuron models, using index value calculation and signal output mechanisms to control spike signal timing, and incorporating a learning mechanism for weighting coefficients.

Benefits of technology

Enhances data processing efficiency by allowing simultaneous handling of multiple inputs without waiting for previous results, improving throughput and recognition performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007725928000012
    Figure 0007725928000012
  • Figure 0007725928000013
    Figure 0007725928000013
  • Figure 0007725928000014
    Figure 0007725928000014
Patent Text Reader

Abstract

To allow a spiking neural network to efficiently perform data processing.SOLUTION: An operation device has a neuron model including: index value calculation means for changing the index value of a signal output on the basis of the input status of a signal in an input time interval; and signal output means for outputting a signal in an output time interval after the input time interval is ended on the basis of the index value.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a computing device, a neural network system, a neuron model device, a computing method, and a program. [Background technology]

[0002] One type of neural network is a spiking neural network (SNN). For example, Patent Document 1 describes a neuromorphic computing system that implements a spiking neural network on a neuromorphic computing device. In a spiking neural network, a neuron model has an internal state called a membrane potential, and outputs signals called spikes based on the time evolution of the membrane potential. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2018-136919 Summary of the Invention [Problem to be solved by the invention]

[0004] It is desirable for a spiking neural network to be efficient at processing data.

[0005] An example of an object of the present invention is to provide a computing device, a neural network system, a neuron model device, a computing method, and a program that can solve the above-mentioned problems. [Means for solving the problem]

[0006] According to a first aspect of the present invention, a calculation device calculates a time interval LeaveDepending on the signal input status At a rate of change according to Change the index value of the signal output If the index value does not reach the threshold value within the input time interval, the index value is changed at the rate of change at the end of the input time interval in the output time interval after the end of the input time interval. index value calculation means; If the index value reaches a threshold value within the input time interval, a signal is output at the start of the output time interval; if the index value reaches a threshold value within the output time interval, a signal is output when the index value reaches the threshold value; if the index value does not reach the threshold value within the output time interval, a signal is output at the end of the output time interval. and a signal output means.

[0007] According to a second aspect of the present invention, a spiking neural network system includes a spiking neural network body and a learning means, and the neural network body is configured to: Leave Depending on the signal input status At a rate of change according to Change the index value of the signal output If the index value does not reach the threshold value within the input time interval, the index value is changed at the rate of change at the end of the input time interval in the output time interval after the end of the input time interval. index value calculation means; If the index value reaches a threshold value within the input time interval, a signal is output at the start of the output time interval; if the index value reaches a threshold value within the output time interval, a signal is output when the index value reaches the threshold value; if the index value does not reach the threshold value within the output time interval, a signal is output at the end of the output time interval. and a signal output means, and the learning means learns a weighting coefficient for the signal.

[0008] According to a third aspect of the present invention , 2 The neuron model device is Leave Depending on the signal input status At a rate of change according to Change the index value of the signal output If the index value does not reach the threshold value within the input time interval, the index value is changed at the rate of change at the end of the input time interval in the output time interval after the end of the input time interval. index value calculation means; If the index value reaches a threshold value within the input time interval, a signal is output at the start of the output time interval; if the index value reaches a threshold value within the output time interval, a signal is output when the index value reaches the threshold value; if the index value does not reach the threshold value within the output time interval, a signal is output at the end of the output time interval. and a signal output means.

[0009] According to a fourth aspect of the present invention, a calculation method includes: Leave Depending on the signal input status At a rate of change according to Change the index value of the signal output If the index value does not reach the threshold value within the input time interval, the index value is changed at the rate of change at the end of the input time interval in the output time interval after the end of the input time interval. And, If the index value reaches a threshold value within the input time interval, a signal is output at the start of the output time interval; if the index value reaches a threshold value within the output time interval, a signal is output when the index value reaches the threshold value; if the index value does not reach the threshold value within the output time interval, a signal is output at the end of the output time interval. This includes:

[0010] According to a fifth aspect of the present invention, a program is provided for causing a programmable device to: Leave Depending on the signal input status At a rate of change according to Change the index value of the signal output If the index value does not reach the threshold value within the input time interval, the index value is changed at the rate of change at the end of the input time interval in the output time interval after the end of the input time interval. And, If the index value reaches a threshold value within the input time interval, a signal is output at the start of the output time interval; if the index value reaches a threshold value within the output time interval, a signal is output when the index value reaches the threshold value; if the index value does not reach the threshold value within the output time interval, a signal is output at the end of the output time interval. This is a program for executing the above. [Effects of the Invention]

[0011] The present invention allows spiking neural networks to process data efficiently. [Brief explanation of the drawings]

[0012] [Figure 1] FIG. 1 is a diagram illustrating an example of the configuration of a neural network device according to an embodiment. [Figure 2] FIG. 1 is a diagram illustrating an example of the configuration of a spiking neural network included in a neural network device according to an embodiment. [Figure 3] FIG. 10 is a diagram illustrating an example of a time change in membrane potential in a spiking neuron model in which the output timing of spike signals is not restricted according to an embodiment. [Figure 4] FIG. 10 is a diagram illustrating an example of the output timing of a spike signal of a spiking neuron model in a spiking neural network when the output timing of the spike signal of the spiking neuron model is not restricted according to an embodiment. [Figure 5] FIG. 10 is a diagram showing an example of timing of passing spike signals between neuron models in the neural network device according to the embodiment. [Figure 6] FIG. 10 is a diagram illustrating an example of setting a time interval according to the embodiment. [Figure 7] FIG. 3 is a diagram illustrating a first example of a clip function according to the embodiment. [Figure 8] FIG. 10 is a diagram illustrating a second example of a clip function according to the embodiment. [Figure 9] FIG. 2 is a diagram illustrating an example of a system configuration during learning in an embodiment. [Figure 10] 2 is a diagram showing an example of input and output of signals in the neural network system 1 according to the embodiment. FIG. [Figure 11] 10A and 10B are diagrams illustrating an example of input and output of signals in a neural network device during operation in an embodiment. [Figure 12] FIG. 10 is a diagram illustrating an example of a threshold reaching time during learning in an embodiment. [Figure 13]FIG. 10 is a diagram showing an example of firing times during learning in the embodiment. [Figure 14] FIG. 10 is a diagram illustrating an example of threshold reaching times during testing in an embodiment. [Figure 15] FIG. 10 is a diagram showing an example of firing times during a test in the embodiment. [Figure 16] FIG. 1 is a diagram illustrating an example of the configuration of a calculation device according to an embodiment. [Figure 17] FIG. 1 is a diagram illustrating an example of the configuration of a neural network system according to an embodiment. [Figure 18] FIG. 1 is a diagram illustrating an example of the configuration of a neuron model device according to an embodiment. [Figure 19] 10 is a flowchart illustrating an example of a processing procedure in a calculation method according to the embodiment. [Figure 20] FIG. 1 is a schematic block diagram illustrating the configuration of a computer according to at least one embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0013] The following describes embodiments of the present invention, but the following embodiments do not limit the scope of the invention as claimed. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention. Fig. 1 is a diagram showing an example of the configuration of a neural network device according to an embodiment. In the configuration shown in Fig. 1, the neural network device 10 includes a neuron model 100. The neuron model 100 includes an index value calculation unit 110, a comparison unit 120, and a signal output unit 130.

[0014] The neural network device 10 performs data processing using a spiking neural network. Data processing is also called computation. The neural network device 10 is an example of a computation device. The neural network device referred to here is a device in which a neural network is implemented. The spiking neural network may be implemented in the neural network device 10 using dedicated hardware. For example, the spiking neural network may be implemented in the neural network device 10 using an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). Alternatively, the spiking neural network may be implemented in the neural network device 10 as software using a computer or the like.

[0015] An example of a programmable device is a device including an ASIC, a device including an FPGA, or a computer. For ASICs and FPGAs, describing the hardware using a hardware description language and implementing the described hardware on the ASIC or FPGA is an example of programming. When the neural network device 10 is configured using a computer, the functions of the spiking neural network may be described by programming, and the resulting program may be executed by the computer.

[0016] The spiking neural network referred to here is a neural network in which a neuron model outputs a signal at a timing based on a state quantity called membrane potential, which changes over time depending on the signal input to the neuron model itself. The membrane potential is also called the index value of the signal output, or simply the index value. The term "time change" used here means a change over time.

[0017] A neuron model in a spiking neural network is also called a spiking neuron model. The signal output by a spiking neuron model is also called a spike signal or spike. In a spiking neural network, a binary signal can be used as the spike signal, and information can be transmitted between spiking neuron models by the timing of the spike signal transmission or the number of spike signals. In the case of the neuron model 100, the index value calculation unit 110 calculates the membrane potential based on the input status of the spike signal to the neuron model 100. The signal output unit 130 outputs the spike signal at a timing according to the change in the membrane potential over time.

[0018] The spike signal in the neural network device 10 may be a pulse signal or a step signal, but is not limited to these. In the following, a time method of transmitting information at the transmission timing of spike signals is used as the method of transmitting information between neuron models 100 in the spiking neural network of the neural network device 10.

[0019] The processing performed by the neural network device 10 can be any of various processing that can be performed using a spiking neural network, including, but not limited to, image recognition, biometric authentication, or numerical prediction.

[0020] The neural network device 10 may be configured as a single device or may be configured as a combination of multiple devices. For example, each neuron model 100 may be configured as a device, and the devices constituting these individual neuron models 100 may be connected by signal transmission paths to form a spiking neural network.

[0021] 2 is a diagram showing an example of the configuration of a spiking neural network included in the neural network device 10. The spiking neural network included in the neural network device 10 is also referred to as neural network 11. The neural network 11 is also referred to as the neural network itself.

[0022] In the example of Figure 2, neural network 11 is configured as a four-layer spiking neural network of the forward propagation type. Specifically, neural network 11 includes an input layer 21, two hidden layers 22-1 and 22-2, and an output layer 23. The two hidden layers 22-1 and 22-2 are also collectively referred to as hidden layer 22. The hidden layer is also referred to as hidden layer. The input layer 21, hidden layer 22, and output layer 23 are also collectively referred to as layer 20.

[0023] The input layer 21 includes an input node 31. The hidden layer 22 includes a hidden node 32. The output layer 23 includes an output node 33. The input node 31, the hidden node 32, and the output node 33 are collectively referred to as nodes 30.

[0024] The input node 31 converts, for example, input data to the neural network 11 into a spike signal. Alternatively, when the input data to the neural network 11 is represented by a spike signal, a neuron model 100 may be used as the input node 31.

[0025] The neuron model 100 may be used as both the intermediate node 32 and the output node 33. In addition, the operation of the neuron model 100 may be different between the intermediate node 32 and the output node 33, for example, the constraints on the spike signal output timing described later may be relaxed in the output node 33 compared to the intermediate node.

[0026] The four layers 20 of the neural network 11 are arranged in the following order from the upstream side in terms of signal transmission: input layer 21, hidden layer 22-1, hidden layer 22-2, and output layer 23. Nodes 30 between two adjacent layers 20 are connected by a transmission path 40. The transmission path 40 transmits spike signals from nodes 30 in the upstream layer 20 to nodes 30 in the downstream layer 20.

[0027] However, when the neural network 11 is configured as a feedforward propagation spiking neural network, the number of layers is not limited to four, as long as it is two or more. Furthermore, the number of neuron models 100 included in each layer is not limited to a specific number, as long as each layer includes one or more neuron models 100. Each layer may include the same number of neuron models 100, or different numbers of neuron models 100 depending on the layer. Furthermore, the destination of spike signals from each layer is not limited to the next layer. The output of a certain layer may be transmitted to a later layer through any number of layers.

[0028] 2, all of the neuron models 100 in the preceding layer 20 and all of the neuron models 100 in the succeeding layer 20 in the adjacent layers may be connected by the transmission paths 40, but there may be some neuron models 100 in the adjacent layers that are not connected by the transmission paths 40.

[0029] In the following description, it is assumed that the delay time in the transmission of a spike signal can be ignored, and that the spike signal output time of the spike signal outputting neuron model 100 is the same as the spike signal input time to the spike signal inputting neuron model 100. If the delay time in the transmission of a spike signal cannot be ignored, the spike signal output time plus the delay time may be used as the spike signal input time.

[0030] In a typical spiking neuron model, the output timing of spike signals is not restricted, and spike signals are output when the time-varying membrane potential reaches a threshold. In a spiking neural network based on a spiking neuron model that does not restrict the output timing of spike signals, when there are multiple data to process, the spiking neural network must wait for the next input data to be input to the spiking neural network until it receives the input data and outputs the calculation result.

[0031] Figure 3 shows an example of the change in membrane potential over time in a spiking neuron model in which the output timing of spike signals is not restricted. The horizontal axis of the graph in Figure 3 represents time, and the vertical axis represents membrane potential. Figure 3 shows an example of the membrane potential of the spiking neuron model of the i-th node in the l-th layer. The membrane potential of the spiking neuron model of the i-th node in the l-th layer at time t is expressed as v i (l) In the explanation of Figure 3, the spiking neuron model of the i-th node in the l-th layer is also referred to as the target model.

[0032] In the example in Figure 3, the target model receives spike signals as input from three spiking neuron models. time t2 *(l-1) indicates the input time of a spike signal from the second spiking neuron model in the l-1th layer. *(l-1) indicates the input time of a spike signal from the first spiking neuron model in the l-1th layer. *(l-1) indicates the input time of a spike signal from the third spiking neuron model in the l-1th layer. In addition, the target model is i *(l) The spiking neuron model outputs a spike signal. The output of a spike signal by the spiking neuron model is called firing. The time at which the spiking neuron model fires is called the firing time.

[0033] In the example of Figure 3, the initial value of the membrane potential is set to 0. The initial value of the membrane potential corresponds to the resting membrane potential. Before the target model fires, after the spike signal is input, the membrane potential of the target model is v i (l) (t) continues to change at a rate (speed of change) that corresponds to the weight set for each spike signal transmission path. In addition, the rate of change of the membrane potential for each spike signal input is linearly added. In the example of Figure 3, the membrane potential v i (l) The differential equation for (t) is expressed as equation (1).

[0034]

number

[0035] w ij (l) indicates the weight set in the transmission path of spike signals from the j-th spiking neuron model in the l-1th layer to the target model. ij (l) is the subject of study. θ is a step function and is expressed as equation (2).

[0036]

number

[0037] time t i *(l) , the membrane potential v of the target model i (l) (t) is the firing threshold V th The target model fires when the membrane potential v i (l) (t) becomes 0, and thereafter the membrane potential does not change even when the target model receives a spike signal as input.

[0038] FIG. 4 is a diagram showing an example of the output timing of spike signals of a spiking neuron model in a spiking neural network when the output timing of spike signals of the spiking neuron model is not restricted. The horizontal axis in Figure 4 represents time, measured as the elapsed time from the start of data input to the spiking neural network. The vertical axis represents the node numbers in the input layer, first layer, second layer, and output layer. The node numbers in each layer are used as identification numbers to identify spiking neuron models within the layer.

[0039] In the example in Figure 4, the spiking neuron models in the input layer fire within about 5 milliseconds from the start of data input to the spiking neural network. In contrast, the firing timings of the spiking neuron models in the first layer, which are the elapsed time from the start of data input to the spiking neural network, are scattered over a range from about 10 milliseconds to about 120 milliseconds. The firing timings of the spiking neuron models in the second layer, which are the elapsed time from the start of data input to the spiking neural network, are scattered over a range from about 20 milliseconds to about 70 milliseconds.

[0040] In general, it is difficult to know in real time when a spiking neural network is executing its processing the firing timing of the spiking neural network and which of the firings of the spiking neuron models in the first and second layers affect the firing of the spiking neuron model in the output layer.

[0041] For this reason, although it depends on the type of spiking neural network, it is necessary to wait at least the time T11 until the spiking neuron model first fires in the output layer before inputting the next input data to the spiking neural network. On the other hand, when there are multiple input data, if the next input data can be input to the spiking neural network before the calculation result for the previous input data is obtained, the time from inputting the first input data to obtaining the calculation result for the last input data can be made relatively short, and in this respect, the throughput of the spiking neural network can be increased.

[0042] Therefore, the neural network device 10 sets a data processing time for the neuron model 100 so that the neuron model 100 completes data processing within the data processing time. As a result, the next data can be input to the neuron model 100 after the data processing time has elapsed.

[0043] Figure 5 shows an example of the timing of spike signal exchange between neuron models 100 in the neural network device 10. Figure 5 shows an example of the time change in membrane potential of each neuron model 100 that exchanges spike signals for each of the first to third layers of the neural network 11, and the firing timing based on that membrane potential. In the example of Figure 5, the third layer is the output layer. 5, the horizontal axis represents the time elapsed since the first input data was input to the first layer, and the vertical axis represents the membrane potential of each neuron model 100 from the first layer to the third layer.

[0044] In the example of Fig. 5, the data processing time set in the neuron model 100 is composed of a combination of an input time interval and an output time interval. The input time interval is the time interval during which the neuron model 100 receives input spike signals. The output time interval is the time interval during which the neuron model 100 outputs spike signals. The neural network device 10 synchronizes the neuron models 100 in each layer so that data processing times of the same time width are set at the same timing for all neuron models 100 included in the same layer, and sets the same input time interval and the same output time interval.

[0045] Furthermore, the neural network device 10 also synchronizes between layers so that the output time interval of the neuron model 100 in one layer overlaps with the input time interval of the neuron model 100 in the next layer. In particular, the time length of the input time interval and the time length of the output time interval are set to the same length, and the input time interval and the output time interval are set so that the output time interval in a neuron model 100 of a certain layer completely overlaps with the input time interval in the neuron model 100 of the next layer.

[0046] In this case, the "neuron model 100 in a certain layer" is an example of the first neuron model. The "neuron model 100 in the next layer" is an example of the second neuron model. The output time interval and the input time interval of the first neuron model are set so that they overlap with each other.

[0047] Since the time during which spike signals are input to the neuron model 100 is limited to the input time interval, the index value calculation unit 110 calculates the membrane potential so that the membrane potential changes over time based on the input status of spike signals in the input time interval. The index value calculation unit 110 corresponds to an example of an index value calculation means. In the following, as in the explanation of the spiking neural network with reference to Equations (1) and (2), the neuron model 100 of the i-th node in the l-th layer is referred to as the target model, and the membrane potential of the target model is denoted by v i (l) The weight set in the transmission path of the spike signal from the j-th spiking neuron model in the l-1 layer to the target model is denoted as w ij (l) It is written as follows.

[0048] The description of the neuron model 100 of the target model applies to all neuron models 100 included in the neural network device 10, except that the output timing of spike signals of the neuron models 100 in the output layer, which will be described later, may be relaxed. That is, the l-th layer may be any layer that includes a neuron model 100 as a node. Any neuron model 100 in the l-th layer may be the i-th neuron model 100.

[0049] The index value calculation unit 110 calculates the membrane potential v i (l) (t) is the threshold V th The membrane potential v, whose differential equation is expressed as equation (1), is i (l) Calculate (t) and membrane potential v i (l) (t) is expressed as in equation (3).

[0050]

number

[0051] The index value calculation section 110 may calculate the membrane potential based on the formula (3). In the input time interval, the index value calculation unit 110 calculates the membrane potential v at a rate of change according to the input status of the spike signal to the target model as shown in equation (1). i (l) Change (t). On the other hand, in the output time interval, no spike signal is input to the target model. Therefore, the membrane potential v i (l) (t) is the threshold V th If the change rate does not reach the value at the end of the input time interval, the index value calculation unit 110 calculates the membrane potential v i (l) Change (t).

[0052] membrane potential v i (l)(t) is the threshold V th The time when i (l,vth) and substituting it into time t in equation (3), we obtain equation (4).

[0053]

number

[0054] Gamma i (l) is t j *(l-1) <t i (l,vth) represents the set of index j such that In the neural network device 10, the firing time is limited within the output time interval. i *(l) is the membrane potential v i (l) (t) is the threshold V th In this way, the time may be later than the time when the membrane potential v i (l) (t) is the threshold V th The time when the time t reaches the firing time i *(l) Since the membrane potential v i (l) (t) is the threshold V th The time when i (l,vth) The time at which the membrane potential reaches the threshold is also referred to as the threshold arrival time. From equation (4), the threshold arrival time t i (l,vth) is expressed as in equation (5).

[0055]

number

[0056] The comparison unit 120 compares the membrane potential v i (l) (t) and threshold V th Compared with the membrane potential v i (l)(t) is the threshold V th It is determined whether or not The signal output unit 130 outputs the membrane potential v i (l) (t), a spike signal is output within the output time interval. Specifically, within the input time interval, the membrane potential v i (l) (t) is the threshold V th When the membrane potential v reaches the threshold value, the signal output unit 130 outputs a spike signal at the start of the output time interval. i (l) (t) is the threshold V th When the membrane potential v i (l) (t) is the threshold V th A spike signal is output when the membrane potential v i (l) (t) is the threshold V th If the output time interval does not reach the predetermined value, the signal output section 130 outputs a spike signal at the end of the output time interval. In the example of Figure 5, the output layer has no counterpart to which spike signals can be transferred, so spikes can be output even in the time interval corresponding to the input time interval. In this case, the time interval corresponding to the input time interval is also called the input / output time interval.

[0057] Within the input time interval, the membrane potential v i (l) (t) is the threshold V th , the index value calculation unit 110 calculates the membrane potential v i (l) (t) is the threshold V th In this way, at the start of the output time interval, the comparison unit 120 calculates the membrane potential v i (l) (t) is the threshold V th Based on the determination result of the comparing section 120, the signal output section 130 outputs a spike signal at the start of the output time interval.

[0058] In this case, at the start of the output time interval, the comparison unit 120 detects the membrane potential v i(l) (t) is the threshold V th , and then the index value calculation unit 110 determines that the membrane potential v i (l) (t) may be calculated as 0. This allows the index value calculation unit 110 to process the next data in the next input time interval based on the membrane potential v i (l) It is also possible to start from a state where (t) is reset to 0.

[0059] Within the output time interval, the membrane potential v i (l) (t) is the threshold V th When the membrane potential v i (l) (t) is the threshold V th The signal output unit 130 outputs a spike signal based on the determination result of the comparison unit 120. As a result, the signal output unit 130 determines that the membrane potential v i (l) (t) is the threshold V th When the pulse width reaches 1, a spike signal is output.

[0060] In this case, the comparison unit 120 also calculates the membrane potential v i (l) (t) is the threshold V th , and then the index value calculation unit 110 determines that the membrane potential v i (l) (t) may be calculated as 0. This allows the index value calculation unit 110 to process the next data in the next input time interval based on the membrane potential v i (l) It is also possible to start from a state where (t) is reset to 0.

[0061] By the end of the output time interval, the membrane potential v i (l) (t) is the threshold V thIf the index value calculation unit 110 or the comparison unit 120 does not reach the value, the index value calculation unit 110 or the comparison unit 120 may cause the signal output unit 130 to output a spike signal at the end of the output time interval. The output of the spike signal in this case is also called forced firing. For example, by the end of the output time interval, the membrane potential v i (l) (t) never reaches the threshold V th If the membrane potential does not reach the threshold, the comparing section 120 may output a dummy determination result indicating that the membrane potential has reached the threshold. Then, the signal output section 130 may output a spike signal at the end of the output time interval based on the determination result of the comparing section 120.

[0062] By the end of the output time interval, the membrane potential v i (l) (t) is the threshold V th If it does not reach v, the index value calculation unit 110 calculates the membrane potential v at the start of the next input time interval. i (l) (t) may be calculated as 0. This allows the index value calculation unit 110 to process the next data in the next input time interval based on the membrane potential v i (l) It is also possible to start from a state where (t) is reset to 0.

[0063] Fig. 6 is a diagram showing an example of setting a time interval. The horizontal axis of Fig. 6 indicates time, which is the elapsed time from the start of data input to the neural network 11. Data is input and output between layers by inputting and outputting spike signals. In the example of FIG. 6, the time shown on the horizontal axis is divided into time intervals of time T. FIG. 6 also shows the type of time interval for each of the input layer, first layer, second layer, and output layer. Specifically, the input time interval is indicated by the notation "input," and the output time interval is indicated by the notation "output." Furthermore, the input / output time interval is indicated by the notation "input" and "output." In the example of FIG. 6, the output layer is also referred to as the third layer. 6 shows an example in which the neural network 11 processes three pieces of data: first data, second data, and third data. For each layer, the time interval during which each piece of data is processed in that layer is shown.

[0064] In the example of FIG. 6, each of the neuron models 100 in the first, second, and third layers operates to complete data processing within one input time interval, one output time interval following the input time interval, and the data processing time. Specifically, each neuron model 100 completes the membrane potential v i (l) (t) is the threshold V th If it does not reach, a spike signal is output and the process ends. This allows the neuron model 100 to process the next data in the next data processing time. The entire neural network 11 can start processing the next data without waiting for the completion of processing of the input data, like a pipeline process.

[0065] 6, the neural network device 10 synchronizes between layers and among the neuron models 100 in each layer so that the output time interval of the layer that outputs a spike signal coincides with the input time interval of the layer that receives the input of that spike signal. That is, the neural network device 10 synchronizes between layers and among the neuron models 100 in each layer so that the output time interval of the layer that outputs a spike signal completely overlaps with the input time interval of the layer that receives the input of that spike signal.

[0066] The neural network device 10 may include a synchronization processor that notifies each neuron model 100 of the timing of the change of the time interval. Alternatively, each neuron model 100 may detect the timing of the change of the time interval based on a clock signal common to all the neuron models 100.

[0067] In the example of FIG. 6, the process in which the ith neuron model 100 in the lth layer outputs a spike signal in the output time interval in processing the first data can be expressed as in equation (6).

[0068]

number

[0069] The function clip is expressed as in equation (7).

[0070]

number

[0071] The function clip shown in equation (7) is called a clip function. 7 is a diagram showing a first example of a clip function, which is used when the first layer neuron model 100 processes the first data in the example of FIG. The horizontal axis of the graph in Figure 7 is the membrane potential v i (1) (t) is the threshold V th The time when the neuron model 100 outputs a spike signal is shown as the elapsed time from the start of data input to the neural network 11. The vertical axis shows the time when the neuron model 100 outputs a spike signal as the elapsed time from the start of data input to the neural network 11. Both the horizontal and vertical axes in FIG. 7 correspond to the horizontal axis in FIG. 6.

[0072] As shown in Figure 7, the threshold arrival time t i (l,vth) is earlier than time T, the neuron model 100 outputs a spike signal at time T. Time T is the start time of the output time interval. Threshold arrival time t i (l,vth) is within the interval from time T to 2T, the neuron model 100 determines whether the threshold is reached at time t i (l,vth) The time 2T is the end time of the output time interval. i(1) (t) is the threshold V th It is assumed that the delay time from when the pulse width reaches 100 to when the neuron model 100 outputs a spike signal can be ignored. Threshold arrival time t i (l,vth) is later than time 2T, i.e., by time 2T, the membrane potential v i (1) (t) is the threshold V th If the time t does not reach 2T, the neuron model 100 outputs a spike signal at time 2T.

[0073] In the example of FIG. 6, the process in which the ith neuron model 100 in the lth layer outputs a spike signal in the output time interval in processing the dth data can be expressed as in equation (8).

[0074]

number

[0075] Figure 8 shows a second example of a clip function. Figure 8 generalizes the example of Figure 7. Specifically, Figure 8 shows an example of a clip function when the neuron model 100 of the lth layer processes the dth data in the example of Figure 6. The horizontal axis of the graph in Figure 8 is the membrane potential v i (l) (t) is the threshold V th The time when the neuron model 100 outputs a spike signal is shown as the elapsed time from the start of data input to the neural network 11. The vertical axis shows the time when the neuron model 100 outputs a spike signal as the elapsed time from the start of data input to the neural network 11. Both the horizontal and vertical axes in FIG. 8 correspond to the horizontal axis in FIG. 6.

[0076] As shown in FIG. 8, the threshold arrival time t i (l,vth) is earlier than time (2d+l-2)T, the neuron model 100 outputs a spike signal at time (2d+l-2)T, which is the start time of the output time interval. Threshold arrival time t i(l,vth) is within the interval from time (2d+l-2)T to time (2d+l-1)T, the neuron model 100 determines whether the threshold is reached at time t i (l,vth) The time (2d+l-1)T is the end time of the output time interval. i (l) (t) is the threshold V th It is assumed that the delay time from when the pulse width reaches 100 to when the neuron model 100 outputs a spike signal can be ignored. Threshold arrival time t i (l,vth) is later than time (2d+l-1)T, that is, by time (2d+l-1)T, the membrane potential v i (1) (t) is the threshold V th If the time t does not reach the threshold, the neuron model 100 outputs a spike signal at time (2d+l-1)T.

[0077] The clipping function in the neuron model 100 can be considered to be equivalent to the activation function in an artificial neural network (ANN). Therefore, the neural network 11 can be considered to have introduced the concept of an activation function into a spiking neural network. In this respect, the neural network device 10 is expected to exhibit high recognition performance. Furthermore, the clip function in the neuron model 100 may be the object of learning.

[0078] Fig. 9 is a diagram showing an example of a system configuration during learning. In the configuration shown in Fig. 9, the neural network system 1 includes a neural network device 10 and a learning device 50. The neural network device 10 and the learning device 50 may be integrated into a single device. Alternatively, the neural network device 10 and the learning device 50 may be configured as separate devices. As described above, the neural network 11 configured by the neural network device 10 is also referred to as the neural network main body.

[0079] FIG. 10 is a diagram showing an example of input and output of signals in the neural network system 1. As shown in FIG. 10, input data and a teacher label indicating a correct answer to the input data are input to the neural network system 1. The neural network device 10 may receive the input of the input data, and the learning device 50 may receive the input of the teacher label. The combination of the input data and the teacher label corresponds to an example of training data in supervised learning. Furthermore, the neural network device 10 acquires a clock signal. The neural network device 10 may be provided with a clock circuit. Alternatively, the neural network device 10 may receive an input of a clock signal from outside the neural network device 10.

[0080] The neural network device 10 receives input data and outputs an estimated value based on the input data. When calculating the estimated value, the neural network device 10 uses a clock signal to synchronize the time intervals between layers and between neuron models 100 in the same layer.

[0081] The learning device 50 performs learning of the neural network device 10. Here, learning refers to adjusting the parameter values of the learning model using a machine learning algorithm. The learning device 50 performs learning of weighting coefficients for spike signals input to the neuron model 100. The weight W in Equation (4) ij (l) corresponds to an example of a weighting coefficient whose value is adjusted by the learning device 50 through learning.

[0082] The learning device 50 may use an evaluation function that indicates an evaluation of the error between the estimated value output by the neural network device 10 and the correct value indicated by the teacher label to learn the weighting coefficient so as to reduce the magnitude of the error between the estimated value and the correct value. The learning device 50 is an example of a learning means. The learning device 50 is configured using, for example, a computer.

[0083] The learning method used by the learning device 50 can be, for example, an existing learning method such as backpropagation, which is adapted according to the input time interval and output time interval that are set. For example, when the learning device 50 performs learning using a method that is an arrangement of the backpropagation algorithm, the weight W ij (l) The change ΔW shown in equation (9) ij (l) The weight W ij (l) may be updated.

[0084]

number

[0085] η is a constant indicating the learning rate. C is expressed as in equation (10).

[0086]

number

[0087] C is an example of an evaluation function that indicates an evaluation of the error between the estimated value output by the neural network device 10 and the correct value indicated by the teacher label. C is set as a loss function that outputs a smaller value as the error becomes smaller. M represents the index value indicating the output layer (final layer). (M) represents the number of neuron models 100 included in the output layer.

[0088] κ i Here, the neural network device 10 calculates the number of classes as N. (M)Let us assume that we perform classification into classes, and the teacher labels are represented by one-hot vectors. If the value of index i indicates the correct class, then κ i = 1, otherwise κ i =0.

[0089] t (ref) represents the Reference Spike. "γ / 2(t i *(M) -t (ref) ) 2 " is a term established to avoid learning difficulty. This term is also called the temporal penalty term. The temporal penalty term distributes the firing timing of the output layer around the reference spike, resulting in stable firing of the output neuron. γ is a constant that adjusts the degree of influence of the temporal penalty term, and is γ>0. γ is also called the temporal penalty coefficient. S i is a softmax function and is expressed as equation (11).

[0090]

number

[0091] σ soft When the firing timing of the output layer changes, the softmax function S i is a constant set as a scale factor to adjust how much the value of σ changes. soft > 0. Stable learning becomes possible if this scale factor has a value similar to the output time interval (about 1 / 10 to 10 times). In equation (11), the i-th spike firing time t i *(M) is 0≦t i *(M)κ ≦1. For example, the spike firing time of the output layer may indicate the probability that the classification target indicated by the input data is classified into that class. i For i = 1, t i *(M) The closer the value of is to 1, the i=1 N(M) (κ i ln(S i (t *(M) )))" term becomes smaller, and the learning device 50 calculates a smaller loss (value of the evaluation function C). However, the processing performed by the neural network device 10 is not limited to class classification.

[0092] FIG. 11 is a diagram showing an example of input and output of signals in the neural network device 10 during operation. 10, during learning, the neural network device 10 receives input data and acquires a clock signal. The neural network device 10 may be provided with a clock circuit. Alternatively, the neural network device 10 may receive a clock signal input from outside the neural network device 10. The neural network device 10 receives input data and outputs an estimated value based on the input data. When calculating the estimated value, the neural network device 10 uses a clock signal to synchronize the time intervals between layers and between neuron models 100 in the same layer.

[0093] Next, the results of an experiment using the neural network device 10 will be described. We used MNIST, a dataset of handwritten digit images, to train and test the recognition of handwritten digit images. The neural network 11 was configured as a fully connected forward propagation type having four layers: an input layer, a first layer, a second layer, and an output layer. The number of neuron models 100 in the input layer was 784, the number of neuron models 100 in the first layer and the second layer was 200 each, and the number of neuron models 100 in the output layer was 10.

[0094] The time width of both the input time interval and the output time interval was set to 0.05 milliseconds. As a display method for the results of estimation by the neural network 11, a time method is adopted in which the results of estimation are displayed based on which neuron model 100 in the output layer outputs a spike signal first. As a result of the experiment, a recognition rate of 97.4% was obtained during testing.

[0095] 12 is a diagram showing an example of threshold arrival times during learning, in which the index value calculation section 110 does not limit the time for calculating the membrane potential. 12, the horizontal axis indicates time as the elapsed time from the start of data input to the neural network 11. The vertical axis indicates the node numbers in the input layer, first layer, second layer, and output layer.

[0096] In the example of Figure 12, among the neuron models 100 in the first layer, there is a neuron model 100 whose membrane potential reaches the threshold after 0.010 milliseconds, which is the end of the output time interval of the first layer. For example, there is a neuron model 100 whose membrane potential reaches the threshold around 0.025 milliseconds. If we wait for the membrane potential of this neuron model 100 to reach a threshold, a spike signal for processing the next input data cannot be input to the first layer neuron model 100 until around 0.025 milliseconds.

[0097] In the second layer, there are some neuron models 100 whose membrane potential reaches the threshold after 0.015 milliseconds, which is the end of the output time interval of the first layer. For example, there is a neuron model 100 whose membrane potential reaches the threshold at around 0.019 milliseconds. If we were to wait for the membrane potential of this neuron model 100 to reach a threshold, a spike signal for processing the next input data would not be input to the second layer neuron model 100 until approximately 0.019 milliseconds.

[0098] Alternatively, if we assume that the calculation of the membrane potential in each of the neuron models 100 in the first layer and each of the neuron models 100 in the second layer continues until the neural network 11 outputs an estimation result, a spike signal for processing the next input data cannot be input to any of the neuron models 100 in the first layer, second layer, or output layer until approximately 0.013 milliseconds, when the membrane potential of the neuron model 100 in the output layer first reaches the threshold.

[0099] FIG. 13 is a diagram showing an example of firing times during learning. 13, the horizontal axis indicates time as the elapsed time from the start of data input to the neural network 11. The vertical axis indicates the node numbers in the input layer, first layer, second layer, and output layer. In the example of Fig. 13, all the neuron models 100 in the first layer output spike signals during the output time interval of the first layer, from 0.005 seconds to 0.010 seconds. As a result, after 0.010 seconds, spike signals for processing the next input data can be input to the neuron models 100 in the first layer.

[0100] Furthermore, since the firing time of the neuron model 100 in the first layer is limited to 0.005 seconds or later, the start time of the input time interval in the second layer can also be set to 0.005 seconds. If there is data before the data to be processed in the example of Figure 13, the neuron model 100 in the second layer can process the previous data up to 0.005 seconds.

[0101] In addition, all neuron models 100 in the second layer output spike signals during the second layer output time interval from 0.010 seconds to 0.015 seconds. As a result, after 0.015 seconds, spike signals for processing the next input data can be input to the neuron models 100 in the second layer.

[0102] In addition, since the firing time of the neuron model 100 in the second layer is limited to 0.010 seconds or later, the start time of the input / output time interval of the output layer can also be set to 0.010 seconds. If there is data before the data to be processed in the example of Figure 13, the neuron model 100 in the output layer can process the previous data up to 0.010 seconds.

[0103] In the experiment, the timing at which the neuron model 100 in the output layer outputs a spike signal is not limited. Therefore, among the neuron models 100 in the output layer, there is a neuron model 100 that outputs a spike after 0.020 milliseconds, which is the end of the output time interval of the output layer. By making the neuron model 100 in the output layer also fire within the output time interval, a spike signal for processing the next input data can be input to the neuron model 100 in the output layer after 0.020 milliseconds, which is the end of the output time interval.

[0104] 14 is a diagram showing an example of threshold arrival times during a test, in which the index value calculation section 110 does not limit the time for calculating the membrane potential. 14, the horizontal axis indicates time as the elapsed time from the start of data input to the neural network 11. The vertical axis indicates the node numbers in the input layer, first layer, second layer, and output layer.

[0105] 14, among the neuron models 100 in the first layer, there is a neuron model 100 whose membrane potential reaches the threshold after 0.010 milliseconds, which is the end of the output time interval of the first layer. For example, there is a neuron model 100 whose membrane potential reaches the threshold around 0.025 milliseconds. If we wait for the membrane potential of this neuron model 100 to reach a threshold, a spike signal for processing the next input data cannot be input to the first layer neuron model 100 until around 0.025 milliseconds.

[0106] In the second layer, there are some neuron models 100 whose membrane potential reaches the threshold after 0.015 milliseconds, which is the end of the output time interval of the first layer. For example, there is a neuron model 100 whose membrane potential reaches the threshold at around 0.022 milliseconds. If we wait for the membrane potential of this neuron model 100 to reach a threshold, a spike signal for processing the next input data cannot be input to the second layer neuron model 100 until approximately 0.022 milliseconds.

[0107] Alternatively, if we assume that the calculation of the membrane potential in each of the neuron models 100 in the first layer and each of the neuron models 100 in the second layer continues until the neural network 11 outputs an estimation result, a spike signal for processing the next input data cannot be input to any of the neuron models 100 in the first layer, second layer, or output layer until approximately 0.013 milliseconds, when the membrane potential of the neuron model 100 in the output layer first reaches the threshold.

[0108] FIG. 15 is a diagram showing an example of firing times during testing. 15, the horizontal axis indicates time as the elapsed time from the start of data input to the neural network 11. The vertical axis indicates the node numbers in the input layer, first layer, second layer, and output layer. 15, all of the neuron models 100 in the first layer output spike signals during the first layer output time interval from 0.005 seconds to 0.010 seconds. As a result, after 0.010 seconds, spike signals for processing the next input data can be input to the neuron models 100 in the first layer.

[0109] Furthermore, since the firing time of the neuron model 100 in the first layer is limited to 0.005 seconds or later, the start time of the input time interval in the second layer can also be set to 0.005 seconds. If there is data before the data to be processed in the example of Figure 15, the neuron model 100 in the second layer can process the previous data up to 0.005 seconds.

[0110] In addition, all neuron models 100 in the second layer output spike signals during the second layer output time interval from 0.010 seconds to 0.015 seconds. As a result, after 0.015 seconds, spike signals for processing the next input data can be input to the neuron models 100 in the second layer.

[0111] In addition, since the firing time of the neuron model 100 in the second layer is limited to 0.010 seconds or later, the start time of the input / output time interval of the output layer can also be set to 0.010 seconds. If there is data before the data to be processed in the example of Figure 15, the neuron model 100 in the output layer can process the previous data up to 0.010 seconds.

[0112] By making the neuron model 100 in the output layer also fire within the output time interval, a spike signal for processing the next input data can be input to the neuron model 100 in the output layer after 0.020 milliseconds, which is the end of the output time interval.

[0113] The type of neural network 11 is not limited to a specific type. For example, the neural network 11 may be configured as a convolutional neural network (CNN) using a spiking neural network.

[0114] As described above, when the neural network 11 is configured as a forward propagation spiking neural network, the number of layers of the neural network 11 is not limited to a specific number as long as it has two or more layers. Furthermore, the number of neuron models 100 provided in each layer is not limited to a specific number as long as each layer has one or more neuron models 100. Each layer may have the same number of neuron models 100, or the number of neuron models 100 may vary depending on the layer. Furthermore, the neural network 11 may or may not be a fully connected type.

[0115] Furthermore, the membrane potential after firing of the neuron model 100 is not limited to the potential that does not change from the above-mentioned potential 0. For example, after a predetermined time has elapsed since firing, the membrane potential may change in response to the input of a spike signal. The number of firings of each neuron model 100 is also not limited to once for each input data.

[0116] The configuration of the neuron model 100 as a spiking neuron model is not limited to a specific configuration. For example, the rate of change of the neuron model 100 from when it receives an input of a spike signal to when it receives an input of the next spike signal does not have to be constant. The learning method of the neural network 11 is not limited to supervised learning, but the learning device 50 may also perform learning of the neural network 11 by unsupervised learning.

[0117] As described above, the index value calculation unit 110 changes the membrane potential over time based on the input status of the signal in the input time interval. The signal output unit 130 outputs a signal based on the membrane potential within the output time interval after the end of the input time interval. In this way, by setting the input time interval during which the neuron model 100 receives spike signals and the output time interval during which the neuron model 100 outputs spike signals, the time during which the index value calculation unit 110 should calculate the membrane potential can be limited to the time from the start of the input time interval to the end of the output time interval. At other times, the neuron model 100 can process other data. In this respect, the neural network device 10 allows the spiking neural network to process data efficiently.

[0118] Furthermore, the index value calculation unit 110 changes the membrane potential in the input time interval at a rate of change according to the input status of the signal. If the membrane potential does not reach the threshold within the input time interval, the index value calculation unit 110 changes the membrane potential in the output time interval at the rate of change at the end of the input time interval. If the membrane potential reaches the threshold within the input time interval, the signal output unit 130 outputs a spike signal at the start of the output time interval. If the membrane potential reaches the threshold within the output time interval, the signal output unit 130 outputs a spike signal when the membrane potential reaches the threshold. If the membrane potential does not reach the threshold within the output time interval, the signal output unit 130 outputs a spike signal at the end of the output time interval.

[0119] This allows the time during which the neuron model 100 outputs a spike signal to be limited to the output time interval. After the output time interval ends, the neuron model 100 can process other data. In this respect, the neural network device 10 allows the spiking neural network to process data efficiently.

[0120] In addition, the output time interval and the input time interval are set so that the output time interval of the first neuron model 100 overlaps with the input time interval of the second neuron model that receives the spike signal input from the first neuron model 100. This allows data to be efficiently transmitted from the first neuron model 100 to the second neuron model 100 via spike signals, and the first neuron model 100 and the second neuron model 100 can perform processing in a manner similar to pipeline processing. In this respect, the neural network device 10 allows the spiking neural network to process data efficiently.

[0121] The index value calculation unit 110 varies the membrane potential over time based on the input state of the signal during the input time interval. The signal output unit 130 outputs a spike signal during an output time interval following the end of the input time interval based on the membrane potential. The learning device 50 learns weighting coefficients for the spike signal. This allows the weighting coefficients to be adjusted through learning, and the estimation accuracy of the neural network device 10 to be improved.

[0122] 16 is a diagram showing an example of the configuration of a calculation device according to an embodiment. In the configuration shown in FIG. 11, a calculation device 610 includes a neuron model 611. The neuron model 611 includes an index value calculation unit 612 and a signal output unit 613. With this configuration, the index value calculation unit 612 changes the index value of the signal output based on the input status of the signal in the input time interval. The signal output unit 613 outputs the signal within the output time interval after the end of the input time interval based on the index value. The index value calculation unit 612 is an example of an index value calculation means, and the signal output unit 613 is an example of a signal output means.

[0123] In this way, by setting the input time interval during which the neuron model 611 receives an input signal and the output time interval during which the neuron model 611 outputs a spike signal, the time during which the index value calculation unit 612 should calculate the index value can be limited to the time from the start of the input time interval to the end of the output time interval. At other times, the neuron model 611 can process other data. In this respect, the computing device 610 allows the spiking neural network to process data efficiently.

[0124] FIG. 17 is a diagram illustrating an example of the configuration of a neural network system according to the embodiment. 17, neural network system 620 includes neural network main body 621 and learning unit 625. Neural network main body 621 includes neuron model 622. Neuron model 622 includes index value calculation unit 623 and signal output unit 624.

[0125] In this configuration, the index value calculation unit 623 changes the index value of the signal output based on the input status of the signal in the input time interval. The signal output unit 624 outputs a signal within the output time interval after the end of the input time interval based on the index value. The learning unit 625 learns the weighting coefficient for the signal input to the neuron model 622.

[0126] The index value calculation unit 623 is an example of an index value calculation means, the signal output unit 624 is an example of a signal output means, and the learning unit 625 is an example of a learning means. In this way, the neural network system 620 can adjust the weighting coefficients through learning, and the estimation accuracy of the neural network main body 621 can be improved.

[0127] 18 is a diagram showing an example of the configuration of a neuron model device according to an embodiment. In the configuration shown in FIG. 18, a neuron model device 630 includes an index value calculation unit 631 and a signal output unit 632. With this configuration, the index value calculation unit 631 changes the index value of the signal output based on the input status of the signal in the input time interval. The signal output unit 632 outputs the signal within the output time interval after the end of the input time interval based on the index value. The index value calculation unit 631 is an example of an index value calculation means, and the signal output unit 632 is an example of a signal output means.

[0128] In this way, by setting the input time interval during which the neuron model device 630 receives input signals and the output time interval during which the neuron model device 630 outputs spike signals, the time during which the index value calculation unit 631 should calculate the index value can be limited to the time from the start of the input time interval to the end of the output time interval. At other times, the neuron model device 630 can process other data. In this respect, the neuron model device 630 allows spiking neural networks to process data efficiently.

[0129] 19 is a flowchart showing an example of a processing procedure of a calculation method according to the embodiment. The calculation method shown in FIG. 19 includes calculating an index value (step S611) and outputting a signal (step S612). In calculating an index value (step S611), the index value of the signal output is changed based on the input status of the signal in the input time interval. In outputting a signal (step S612), the signal is output within an output time interval after the end of the input time interval based on the index value.

[0130] 19, by setting an input time interval for receiving a signal input and an output time interval for outputting a signal, the time for calculating the index value can be limited to the time from the start of the input time interval to the end of the output time interval. At other times, processing of other data can be performed. In this respect, the calculation method shown in FIG. 19 allows the spiking neural network to process data efficiently.

[0131] FIG. 20 is a schematic block diagram illustrating the configuration of a computer according to at least one embodiment. In the configuration shown in FIG. 20, a computer 700 includes a CPU 710, a main memory device 720, an auxiliary memory device 730, an interface 740, and a non-volatile recording medium 750.

[0132] One or more of the neural network device 10, learning device 50, arithmetic device 610, neural network system 620, and neuron model device 630, or a part thereof, may be implemented in a computer 700. In this case, the operation of each of the above-described processing units is stored in the auxiliary storage device 730 in the form of a program. The CPU 710 reads the program from the auxiliary storage device 730, loads it into the main storage device 720, and executes the above-described processing in accordance with the program. The CPU 710 also allocates storage areas in the main storage device 720 corresponding to each of the above-described storage units in accordance with the program. Communication between each device and other devices is performed by an interface 740 having a communication function and performing communication under the control of the CPU 710.

[0133] When the neural network device 10 is implemented in the computer 700, the operations of the neural network device 10 and each of its components are stored in the form of a program in the auxiliary storage device 730. The CPU 710 reads the program from the auxiliary storage device 730, loads it into the main storage device 720, and executes the above-mentioned processing in accordance with the program.

[0134] Furthermore, the CPU 710 allocates a storage area in the main memory device 720 for processing by the neural network device 10 in accordance with the program. Communication between the neural network device 10 and other devices is carried out by the interface 740, which has a communication function and operates under the control of the CPU 710. Interaction between the neural network device 10 and a user is carried out by the interface 740, which has a display device and an input device, displaying various images under the control of the CPU 710 and accepting user operations.

[0135] When learning device 50 is implemented in computer 700, the operation of learning device 50 is stored in the form of a program in auxiliary storage device 730. CPU 710 reads the program from auxiliary storage device 730, loads it into main storage device 720, and executes the above-described processing in accordance with the program.

[0136] Furthermore, CPU 710 allocates a memory area in main memory 720 for processing by learning device 50 in accordance with the program. Communication between learning device 50 and other devices is carried out by interface 740, which has a communication function and operates under the control of CPU 710. Interaction between learning device 50 and a user is carried out by interface 740, which has a display device and an input device, displaying various images under the control of CPU 710 and accepting user operations.

[0137] When the arithmetic unit 610 is implemented in the computer 700, the operations of the arithmetic unit 610 and each of its components are stored in the form of a program in the auxiliary storage device 730. The CPU 710 reads the program from the auxiliary storage device 730, loads it into the main storage device 720, and executes the above-described processing in accordance with the program.

[0138] Furthermore, the CPU 710 allocates a storage area for processing by the arithmetic device 610 in the main memory device 720 in accordance with the program. Communication between the arithmetic device 610 and other devices is performed by an interface 740 having a communication function and operating under the control of the CPU 710. Interaction between the arithmetic device 610 and a user is performed by the interface 740 having a display device and an input device, which displays various images under the control of the CPU 710 and accepts user operations.

[0139] When the neural network system 620 is implemented in the computer 700, the operations of the neural network system 620 and each of its components are stored in the form of a program in the auxiliary storage device 730. The CPU 710 reads the program from the auxiliary storage device 730, loads it into the main storage device 720, and executes the above-described processing in accordance with the program.

[0140] Furthermore, the CPU 710 allocates a storage area in the main memory device 720 for processing by the neural network system 620 in accordance with the program. Communication between the neural network system 620 and other devices is achieved by the interface 740, which has a communication function and operates under the control of the CPU 710. Interaction between the neural network system 620 and a user is achieved by the interface 740, which has a display device and an input device, displaying various images under the control of the CPU 710 and accepting user operations.

[0141] When the neuron model device 630 is implemented in the computer 700, the operation of the neuron model device 630 and each of its components is stored in the form of a program in the auxiliary storage device 730. The CPU 710 reads the program from the auxiliary storage device 730, loads it into the main storage device 720, and executes the above-mentioned processing according to the program.

[0142] Furthermore, the CPU 710 allocates a memory area for processing of the neuron model device 630 in the main memory device 720 according to the program. Communication between the neuron model device 630 and other devices is performed by the interface 740, which has a communication function and operates under the control of the CPU 710. Interaction between the neuron model device 630 and a user is performed by the interface 740, which has a display device and an input device, displaying various images under the control of the CPU 710 and accepting user operations.

[0143] Note that the processing of each part may be performed by recording a program for executing all or part of the processing performed by the neural network device 10, the learning device 50, the arithmetic device 610, the neural network system 620, and the neuron model device 630 on a computer-readable recording medium, and loading and executing the program recorded on the recording medium into a computer system. Note that the term "computer system" here includes hardware such as an OS and peripheral devices. Furthermore, "computer-readable recording media" refers to portable media such as flexible disks, optical magnetic disks, ROMs (Read Only Memory), and CD-ROMs (Compact Disc Read Only Memory), as well as storage devices such as hard disks built into computer systems. The program may be one that realizes part of the aforementioned functions, or may be one that can realize the aforementioned functions in combination with a program already stored in the computer system.

[0144] Although an embodiment of the present invention has been described above in detail with reference to the drawings, the specific configuration is not limited to this embodiment, and includes designs within the scope of the gist of the present invention. [Explanation of symbols]

[0145] 1,620 Neural Network System 10 Neural network device 11 Neural Networks 50 Learning Device 100, 611, 622 Neuron model 110, 612, 623, 631 Index value calculation section 120 Comparison Section 130, 613, 624, 632 Signal output section 610 Arithmetic equipment 621 Neural Network Main Unit 625 Learning Department 630 Neuron Model Device

Claims

1. an index value calculation means for changing an index value of a signal output at a rate of change according to the input state of the signal during an input time interval, and for changing the index value at the rate of change at the end of the input time interval during an output time interval after the end of the input time interval if the index value does not reach a threshold during the input time interval; signal output means for outputting a signal at the start of the output time interval if the index value reaches a threshold value within the input time interval, for outputting a signal when the index value reaches the threshold value within the output time interval, and for outputting a signal at the end of the output time interval if the index value does not reach the threshold value within the output time interval; A spiking neuron model comprising: A computing device comprising:

2. the output time interval and the input time interval are set so that the output time interval of a first neuron model among the spiking neuron models overlaps with the input time interval of a second neuron model among the spiking neuron models, the second neuron model receiving the signal input from the first neuron model. The computing device of claim 1 .

3. A spiking neural network main body and a learning means are provided, The spiking neural network body comprises: an index value calculation means for changing an index value of a signal output at a rate of change according to the input state of the signal during an input time interval, and for changing the index value at the rate of change at the end of the input time interval during an output time interval after the end of the input time interval if the index value does not reach a threshold during the input time interval; signal output means for outputting a signal at the start of the output time interval if the index value reaches a threshold value within the input time interval, for outputting a signal when the index value reaches the threshold value within the output time interval, and for outputting a signal at the end of the output time interval if the index value does not reach the threshold value within the output time interval; A neuron model with Equipped with the learning means learns a weighting factor for the signal; Neural network system.

4. an index value calculation means for changing an index value of a signal output at a rate of change according to the input state of the signal during an input time interval, and for changing the index value at the rate of change at the end of the input time interval during an output time interval after the end of the input time interval if the index value does not reach a threshold during the input time interval; signal output means for outputting a signal at the start of the output time interval if the index value reaches a threshold value within the input time interval, for outputting a signal when the index value reaches the threshold value within the output time interval, and for outputting a signal at the end of the output time interval if the index value does not reach the threshold value within the output time interval; A neuron model device comprising:

5. changing an index value of a signal output at a rate of change according to the input state of the signal during an input time interval, and if the index value does not reach a threshold value during the input time interval, changing the index value during an output time interval after the end of the input time interval at the rate of change at the end of the input time interval; outputting a signal at the start of the output time interval if the index value reaches a threshold value within the input time interval, outputting a signal when the index value reaches the threshold value within the output time interval, and outputting a signal at the end of the output time interval if the index value does not reach the threshold value within the output time interval; A calculation method including:

6. Programmable devices, changing an index value of a signal output at a rate of change according to the input state of the signal during an input time interval, and if the index value does not reach a threshold value during the input time interval, changing the index value during an output time interval after the end of the input time interval at the rate of change at the end of the input time interval; outputting a signal at the start of the output time interval if the index value reaches a threshold value within the input time interval, outputting a signal when the index value reaches the threshold value within the output time interval, and outputting a signal at the end of the output time interval if the index value does not reach the threshold value within the output time interval; A program to execute.

Citation Information

Patent Citations

  • Network traversal using neuromorphic instantiations of spike-timing dependent plasticity

    JP2018136919A

  • Multiply-accumulate device, multiply-accumulate circuit, multiply-accumulate system, and multiply-accumulate method

    WO2020013069A1