Computation device, learning device, computation method, learning method, and program
Patent Information
- Application Number
- JP2023136928
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-25
- Publication Date
- 2025-03-07
AI Technical Summary
【0014】 本発明によれば、数理モデルで構成されたスパイキングニューラルネットワークによる演算を行う際、演算に要する時間を比較的短くすることができる。
Smart Images

Figure 2025031002000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a calculation device, a learning device, a calculation method, a learning method, and a program. [Background technology]
[0002] A spiking neural network may be trained using a spiking neural network that is configured using a mathematical model. For example, Patent Document 1 describes a method of training a spiking neural network using a non-discretized mathematical model, and then implementing the trained mathematical model in a circuit model in which the firing times of spike generators, the weights of synapse circuits, and the output current values of synapse circuits are discretized.
[0003] In the method described in Patent Document 1, a trained mathematical model that is not discretized is converted into a mathematical model in which the firing times and weights are discretized, and the mathematical model in which the firing times and weights are discretized is implemented in a circuit model in which the firing times and weights are discretized. In the conversion from a non-discretized mathematical model to a discretized mathematical model, the firing times and weights are rounded to discrete values.
[0004] Furthermore, in order to improve the accuracy of implementation of the discretized mathematical model into the discretized circuit model, at the time of design, at least one of the step size of the firing time by the spike generator, the minimum step size of the output current value of the synapse circuit, the firing threshold voltage of the spike generator, the capacitance of the capacitor, the step size of the firing time in the mathematical model, or the step size of the weighting in the mathematical model is determined so that the product of the step size of the firing time in the mathematical model and the step size of the weighting in the mathematical model is equal to the product of the step size of the firing time by the spike generator and the minimum step size of the output current value of the synapse circuit divided by the product of the firing threshold voltage of the spike generator and the capacitance of the capacitor that simulates the membrane potential. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] International Publication No. 2022 / 249308 Summary of the Invention [Problem to be solved by the invention]
[0006] When performing calculations using a spiking neural network configured with a mathematical model, such as when training a spiking neural network configured with a mathematical model, it is preferable that the time required for the calculations be short.
[0007] An example of an object of the present invention is to provide a calculation device, a learning device, a calculation method, a learning method, and a program that can solve the above-mentioned problems. [Means for solving the problem]
[0008] According to a first aspect of the present invention, a computing device includes: a discretization means for converting, for each input signal to a spiking neuron model, an input time of the input signal into a discrete-time input value which is a value at a discretized time; a membrane potential calculation means for calculating a membrane potential of the spiking neuron model at the discretized time based on the discrete-time input value; and an ignition time calculation means for calculating an ignition time of the spiking neuron model based on the calculated membrane potential.
[0009] According to a second aspect of the present invention, a learning device includes: a discretization means for converting, for each input signal to a spiking neuron model, an input time of the input signal into a discrete-time input value which is a value at a discretized time; a membrane potential calculation means for calculating a membrane potential of the spiking neuron model at the discretized time based on the discrete-time input value; an ignition time calculation means for calculating an ignition time of the spiking neuron model based on the calculated membrane potential; an output value calculation means for calculating an output value of a spiking neural network using the spiking neuron model based on the ignition time; and a learning means for updating values of learning parameters of the spiking neural network based on the output value.
[0010] According to a third aspect of the present invention, a computing method includes the steps of: converting, for each input signal to a spiking neuron model, an input time of the input signal into a discrete-time input value which is a value at a discretized time; calculating a membrane potential of the spiking neuron model at the discretized time based on the discrete-time input value; and calculating an firing time of the spiking neuron model based on the calculated membrane potential.
[0011] According to a fourth aspect of the present invention, a learning method includes the steps of: for each input signal to a spiking neuron model, converting an input time of the input signal into a discrete-time input value which is a value at a discretized time; calculating a membrane potential of the spiking neuron model at the discretized time based on the discrete-time input value; calculating an firing time of the spiking neuron model based on the calculated membrane potential; calculating an output value of a spiking neural network using the spiking neuron model based on the firing time; and updating values of learning parameters of the spiking neural network based on the output value.
[0012] According to a fifth aspect of the present invention, a program causes a computer to execute the following operations: converting, for each input signal to a spiking neuron model, an input time of the input signal into a discrete-time input value which is a value at a discretized time; calculating a membrane potential of the spiking neuron model at the discretized time based on the discrete-time input value; and calculating an firing time of the spiking neuron model based on the calculated membrane potential.
[0013] According to a sixth aspect of the present invention, a program causes a computer to execute the following operations: converting, for each input signal to a spiking neuron model, an input time of the input signal into a discrete-time input value which is a value at a discretized time; calculating a membrane potential of the spiking neuron model at the discretized time based on the discrete-time input value; calculating an firing time of the spiking neuron model based on the calculated membrane potential; calculating an output value of a spiking neural network using the spiking neuron model based on the firing time; and updating a value of a learning parameter of the spiking neural network based on the output value. Effect of the Invention
[0014] According to the present invention, when a calculation is performed using a spiking neural network configured with a mathematical model, the time required for the calculation can be made relatively short. [Brief description of the drawings]
[0015] [Figure 1] FIG. 1 illustrates an example of a configuration of a learning device according to at least one embodiment. [Diagram 2] FIG. 1 is a diagram showing an example of the configuration of a spiking neural network that is a learning target of a learning device according to at least one embodiment. [Diagram 3]FIG. 2 is a diagram illustrating an example of a configuration in which a neuron model according to at least one embodiment is configured in hardware. [Figure 4] FIG. 2 is a diagram illustrating an example of a change in membrane potential over time in a neuron model according to at least one embodiment. [Diagram 5] FIG. 2 is a diagram illustrating an example of data input and output in a learning device when calculating the firing time of a neuron model in at least one embodiment. [Figure 6] FIG. 13 illustrates an example of a process by which a discretizer converts input spike times into a discrete spike train according to at least one embodiment. [Figure 7] FIG. 13 is a diagram showing an example of an experimental result of membrane potential calculated by a learning device in at least one embodiment when the number of discrete times for which membrane potential is calculated is three. [Figure 8] FIG. 13 is a diagram showing an example of an experimental result of membrane potential calculated by a learning device in at least one embodiment when the number of discrete times for which membrane potential is calculated is five. [Figure 9] FIG. 13 is a diagram showing an example of experimental results of membrane potential calculated by a learning device in at least one embodiment when the number of discrete times for which membrane potential is calculated is 10. [Figure 10] FIG. 2 illustrates an example of a result of training a spiking neural network by a training device in at least one embodiment. [Figure 11] FIG. 2 is a diagram illustrating an example of a processing procedure by which a learning device according to at least one embodiment calculates an output value of a spiking neural network. [Figure 12] FIG. 1 illustrates an example of a configuration of a computing device according to at least one embodiment. [Figure 13] FIG. 1 illustrates an example of a configuration of a learning device according to at least one embodiment. [Figure 14] FIG. 2 is a diagram illustrating an example of a processing procedure in a computing method according to at least one embodiment. [Figure 15] FIG. 1 is a diagram illustrating an example of a processing procedure in a learning method according to at least one embodiment. [Figure 16] FIG. 1 illustrates an example configuration of a computer in accordance with at least one embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0016] The following describes embodiments of the present invention, but the following embodiments do not limit the scope of the invention. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention. In the following, a letter with a circumflex (^) may be written with a superscript circumflex next to it. For example, a circumflex t is written as t ^ It can also be written as:
[0017] First Embodiment Fig. 1 is a diagram showing an example of the configuration of a learning device according to at least one embodiment. In the configuration shown in Fig. 1, the learning device 100 includes a communication unit 110, a display unit 120, an operation input unit 130, a storage unit 180, and a control unit 190. The control unit 190 includes a mathematical model calculation unit 191 and a learning unit 195. The mathematical model calculation unit 191 includes a discretization unit 192, a membrane potential calculation unit 193, and a firing time calculation unit 194.
[0018] The learning device 100 uses a spiking neural network (SNN) configured with a mathematical model to learn the spiking neural network. 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 a membrane potential, which changes over time depending on the input state of a signal to the neuron model itself.
[0019] Moreover, training a spiking neural network here means obtaining values of learning parameters that improve the accuracy of the processing performed by the spiking neural network. The learning of the spiking neural network by the learning device 100 can also be said to be training of the spiking neural network by the learning device 100.
[0020] A neuron model of a spiking neural network is also called a spiking neuron model. A signal input to and output from a neuron model is also called a spike signal, or simply a spike. A spike input to a neuron model is also called an input spike to the neuron model. An input spike is an example of an input signal to a spiking neuron model. The time at which a spike is input to a neuron model is also called the input spike time of that neuron model.
[0021] The output of a spike by a neuron model is also called firing. A spike output by a neuron model is also called an output spike of the neuron model. However, in the spiking neural network that is the learning target of learning device 100, spikes are not limited to signals of a specific format, and can be various signals that can convey firing times.
[0022] A spiking neural network that is constructed using a mathematical model is also called a mathematical model of a spiking neural network. The learning device 100 may be configured using a computer such as a personal computer (PC) or a workstation (WS).
[0023] The processing performed by the spiking neural network that is the learning target of the learning device 100 can be various processing that can be executed using a spiking neural network. For example, the spiking neural network that is the learning target of the learning device 100 may perform image recognition, voice recognition, biometric authentication, or numerical prediction, but is not limited to these.
[0024] In the following, a case will be described in which the spiking neural network to be learned by the learning device 100 is configured as a fully connected feedforward neural network. However, the spiking neural network to be learned by the learning device 100 is not limited to a specific network structure.
[0025] Fig. 2 is a diagram showing an example of the configuration of a spiking neural network that is the target of learning by learning device 100. In the example of Fig. 2, spiking neural network 200 is configured as a fully connected feedforward neural network with L layers, where L represents the number of layers of spiking neural network 200 and is an integer L≧2. The spiking neural network 200 uses a time method for transmitting information between neuron models, in which information is transmitted at the timing of spike transmission (firing time of the neuron model).
[0026] The first layer corresponds to an example of an input layer. The neuron model 300 in the first layer outputs spikes in response to an input signal to the spiking neural network 200. The second layer to the L-1th layer are examples of hidden layers. The neuron model 300 in the lth layer outputs a spike in response to a spike from the neuron model 300 in the l-1th layer. Here, l is an integer such that 2≦l≦L-1. Each neuron model 300 in the l-1th layer corresponds to the neuron model 300 that outputs a spike to each neuron model 300 in the lth layer.
[0027] The Lth layer corresponds to an example of an output layer. The neuron model 300 in the Lth layer outputs an output signal of the spiking neural network 200 in response to a spike from the neuron model 300 in the L-1th layer. The number of neuron models 300 included in each layer is not limited to a specific number. In addition, each layer may include the same number of neuron models 300, or may include different numbers of neuron models 300.
[0028] 3 is a diagram showing an example of a configuration in which a neuron model 300 is configured with hardware. In the example of FIG. 3, the neuron model 300 includes a charging unit 310, a capacitor unit 320, and an ignition unit 330. The charging unit 310 includes a synapse unit 311 in which a diode 312 and a resistor 313 are connected in series. The capacitor unit 320 includes a capacitor 321, a charging-side switch 322, and an ignition-side switch 323. The ignition unit 330 includes a current source 331 and a comparator 332. The spiking neural network 200 configured in hardware is also called a spiking neural network circuit. The neuron model 300 configured in hardware is also called a neuron model circuit.
[0029] 3, charging unit 310 includes three synapse units 311. When distinguishing between the three synapse units 311, they are also referred to as synapse units 311-1, 311-2, and 311-3. Diode 312 of synapse unit 311-1 is also referred to as diode 312-1. The resistor 313 of the synapse unit 311-1 is also referred to as resistor 313-1. The diode 312 of the synapse unit 311-2 is also referred to as diode 312-2. The resistor 313 of the synapse unit 311-2 is also referred to as resistor 313-2. The diode 312 of the synapse unit 311-3 is also referred to as diode 312-3. The resistor 313 of the synapse unit 311-3 is also referred to as resistor 313-3. The resistance value of resistor 313-1 is σ 1 The resistance value of resistor 313-2 is expressed as σ 2 The resistance value of resistor 313-3 is expressed as σ 3 It can also be written as:
[0030] However, the number of synapse units 311 included in the neuron model 300 is not limited to a specific number. The neuron model 300 includes synapse units 311 equal to the number of neuron models 300 that output spikes to the neuron model 300, and one synapse unit 311 receives an input of a spike from one neuron model 300.
[0031] In the synapse unit 311, a diode 312 and a resistor 213 are connected in series. One end of the synapse unit 311 receives an input of a step signal whose voltage value changes at the firing time of the neuron model 300 that is the output source of the spike. This end is also called a first end of the synapse unit 311.
[0032] The step signal input to the first end of the synapse unit 311 has a voltage of 0 before the firing time, and the voltage changes from 0 to V syn + , or V syn - V syn + V syn + >0 is a constant. syn - V syn - <0. After the firing time, the voltage of the step signal input to the first end is V syn + , or V syn - maintain either The potential at the first end of synapse unit 311 is the same as the voltage of the step signal input to the first end.
[0033] A first end of the synapse unit 311 may be connected to a voltage source that changes the voltage at the firing time of the neuron model 300 that outputs a spike. The voltage of the step signal received by the first end of the synapse unit 311 is V syn + or V syn -The combination of either of the above and the resistance value of resistor 313 corresponds to a weight by which the input signal of the neuron model is multiplied.
[0034] A voltage V syn + or V syn - Which step signal is input and the resistance value of resistor 313 are determined during learning of spiking neural network 200. Therefore, in spiking neural network 200 after learning, the voltage of the step signal input to the first end for each synapse unit 311 ranges from 0 to V syn + , or 0 to V syn - In the spiking neural network 200 after training, the resistance value of the resistor 313 is fixed to a constant value for each synapse unit 311.
[0035] The diode 312 is oriented so as to block the flow of current at a time prior to the firing time of the neuron model 300 that is the output source of the spike. The diode 312 can be considered to be oriented so as to prevent the reverse flow of current. Of the two ends of the synapse unit 311, the end opposite to the first end is connected to the charging-side switch 322 of the capacitor unit 320. This end is also referred to as the second end.
[0036] One end of the capacitor 321 is grounded (GND). This end is also referred to as a first end of the capacitor 321. The potential of the first end of the capacitor 321 is set as a reference potential, which is set as a potential of 0.
[0037] Of the two ends of the capacitor 321, the end opposite to the first end is connected to the charging side switch 322 and the ignition side switch 323. This end is also referred to as the second end of the capacitor 321. The potential of the second end of the capacitor 321 is v m This potential v mis used as the membrane potential. The voltage of the capacitor 321 is v m It can be expressed as: The capacitance of the capacitor 321 is C m It can also be written as:
[0038] One end of the charging-side switch 322 is connected to the second end of each of the synapses 311. This end is also referred to as a first end of the charging-side switch 322. Of the two ends of the charging-side switch 322, the end opposite to the first end is connected to the second end of the capacitor 321. This end is also referred to as the second end of the charging-side switch 322.
[0039] One end of the ignition switch 323 is connected to the second end of the capacitor 321. This end is also referred to as a first end of the ignition switch 323. Of the two ends of the firing switch 323, the end opposite to the first end is connected to a current source 331 and a comparator 332. This end is also referred to as a second end of the firing switch 323.
[0040] The current source 331 supplies a direct current of a constant current value. In particular, the current source 331 is connected to the capacitor 321 via the firing-side switch 323, and supplies a current to the capacitor 321 when the firing-side switch 323 is on (closed).
[0041] The comparator 332 has a first input end and a second input end, and outputs a spike when the potential of the first input end is higher than or equal to the potential of the second input end. In Figure 3, the first input end is indicated by "+" and the second input end is indicated by "-". The first input terminal of the comparator 332 is connected to the capacitor 321 via the firing switch 323. When the firing switch 323 is on, the potential of the first input terminal of the comparator 332 is v m The potential of the second input terminal of the comparator 332 is equal to or greater than the threshold potential V th The comparator 332 detects whether the firing switch 323 is on and the membrane potential (potential v m ) is the threshold potential Vth When the signal level becomes higher than the threshold, a spike is output.
[0042] The neuron model 300 has a charging phase and a firing phase. The duration of the charging phase and the duration of the firing phase are set to constant durations in advance. In the following, an example will be described in which the time duration of the charging phase and the time duration of the firing phase are set to the same length, and the firing phase starts immediately after the charging phase ends. However, the duration of the charging phase and the duration of the ignition phase may be set to different lengths. Also, there may be a period between the end of the charging phase and the start of the ignition phase.
[0043] In the charging phase, the charging switch 322 is turned on and the firing switch 323 is turned off (open), forming a charging circuit with the charging section 310 and the capacitor section 320. At the start of the charging phase, the membrane potential is 0. In the charging phase, the membrane potential (potential v m ) varies with time. For example, the firing phase of the l-1th layer and the charging phase of the lth layer may coincide in time, and the neuron model 300 of the lth layer may receive a spike input from the neuron model 300 of the l-1th layer during the charging phase.
[0044] Specifically, the potential at the first end is V syn + The synapse 311, which has a potential V syn + from potential v m The voltage (V syn + -v m ) divided by the resistance value σ of resistor 313 (V syn + -v m ) / σ flows through the capacitor 321. In the charging phase, the only power source that charges and discharges the capacitor 321 is the synapse unit 311, so Vsyn + >v m and V syn + -v m >0.
[0045] The potential at the first end is V syn - For the synapse 311, V syn - <v m and V syn - -v m <0. Therefore, the potential V syn - from potential v m The voltage (V syn - -v m ) divided by the resistance value σ of resistor 313 (V syn - -v m ) / σ size|(V syn - -v m ) / σ| flows from capacitor 321 to synapse unit 311.
[0046] Furthermore, since the diode 312 is provided, no current flows between the synapse unit 311, whose first end has a potential of 0, and the capacitor 321. The capacitor 321 controls the current (V syn + -v m ) / σ or (V syn - -v m Capacitor 321 is charged or discharged according to the sum of (a) / σ. If the sum is greater than 0, capacitor 321 is charged, and if the sum is less than 0, capacitor 321 is discharged.
[0047] In the firing phase, the charging switch 322 is turned off and the firing switch 323 is turned on, forming an firing circuit by the capacitor section 320 and the firing section 330. In the firing phase, the membrane potential (potential v mThe neuron model 300 fires at a firing time according to v m = 0, and then (at least during the charging phase) the membrane potential becomes v m =0.
[0048] Specifically, at the end of the charging phase, v m ≧V th If , then comparator 332 outputs a spike immediately, which causes comparator 332 to output a spike at the beginning of the firing phase. On the other hand, at the end of the charging phase, v m <V th When the current is 1, the capacitor 321 is charged by the current from the current source 331, and the membrane potential increases by a constant value per unit time. In other words, the membrane potential increases linearly.
[0049] However, the change in the membrane potential during the firing phase is not limited to a linear increase. As a pattern of change in the membrane potential during the firing phase, the firing time (when the membrane potential is at the threshold potential V th Various patterns can be used so that the time when the target arrives at the destination (the time when the target arrives at the destination) is uniquely determined.
[0050] By the end of the charging phase, the membrane potential (potential v m ) is the threshold potential V th When the membrane potential reaches the threshold potential V th When it reaches this point, it outputs a spike. On the other hand, by the end of the charging phase, the membrane potential reaches the threshold potential V th If v is not reached, i.e., at the end of the charging phase, m <V th If so, the comparator 332 outputs a spike at the end of the charging phase, also referred to as a forced firing.
[0051] In the configuration illustrated in Fig. 3, it is not necessary to provide an active element with high power consumption, such as an operational amplifier or a current source, in the charging circuit. In this respect, the configuration illustrated in Fig. 3 can reduce the power consumption of the neuron model circuit, and therefore the power consumption of the spiking neural network circuit.
[0052] 4 is a diagram showing an example of a change in membrane potential over time. The horizontal axis of the graph in Fig. 4 represents time, and the vertical axis represents membrane potential. In the example of Fig. 4, the duration of the charging phase and the duration of the firing phase are both T. The start of the charging phase is indicated by time 0, and the period from time 0 to T corresponds to the charging phase, and the period from time T to 2T corresponds to the firing phase.
[0053] In the following description, in order to eliminate overlap between the charging phase and the firing phase, the time of the charging phase is [0, T) and the time of the firing phase is [T, 2T). Note that time T is also referred to as the end time of the charging phase, and time 2T is also referred to as the end time of the firing phase. FIG. 4 shows an example of the change over time in the membrane potential of the neuron model 300 in the example of FIG. 3. The neuron model 300 changes over time at time t 1 , t 2 , t 3 Each of these receives a spike. <t 1 <t 3 <t 2 <Tとなっている。
[0054] Line L111 represents the voltage at the end of the charging phase (time T). m ≧V th The line L112 shows an example where v m <V th And by the end of the firing phase, the membrane potential (potential v m ) is the threshold potential V th Line L112 shows an example of when the voltage reaches v m<V th And at the end of the firing phase, v m <V th This shows an example where
[0055] In each of the lines L111, L112, and L113, the time t 1 The membrane potential is 0 until time t 1 In this case, the potential of the synapse 311-1 changes from 0 to V syn + At time t 1 From 3 The membrane potential increases until time t 3 In this case, the potential of the synapse 311-3 changes from 0 to V syn - At time t 3 From 2 The membrane potential decreases until time t 2 In this case, the potential of the synapse 311-2 changes from 0 to V syn + At time t 2 From time t to the end of the charging phase, time T, the membrane potential increases.
[0056] In the example of line L111, at time T, which is the end of the charging phase, v m ≧V th The neuron model 300 fires at the start of the firing phase (time T). The firing of the neuron model 300 makes the membrane potential 0, and the membrane potential remains 0 from time T until time 2T.
[0057] In the example of line L112, at time T, which is the end of the charging phase, v m <V th From time T, the membrane potential rises to the threshold potential V th The time T f2 The membrane potential increases linearly until the membrane potential reaches the threshold potential Vth The time T f2 At time T f2 Thereafter, the membrane potential remains at 0 until time 2T.
[0058] In the example of line L113, at time T, which is the end of the charging phase, v m <V th From time T to time 2T, which is the end of the firing phase, the membrane potential increases linearly. m <V th and the neuron model 300 is firing. Due to the firing of the neuron model 300, the membrane potential becomes 0 at time 2T.
[0059] To calculate the firing time of the neuron model 300, the learning device 100 calculates the membrane potential at the end of the charging phase. One possible method for calculating the membrane potential at the end of the charging phase is to calculate the membrane potential for each input time of a spike (input spike time) to the neuron model for which the membrane potential is to be calculated. However, when the calculation of the membrane potential is relatively complicated and there are a large number of neuron models that are the output sources of spikes, it is considered that the calculation time will be long if the membrane potential is calculated for each input time of a spike.
[0060] Here, the change over time in the membrane potential of the neuron model 300 in the charging phase depends on the potential difference between the membrane potential and the potential at the first end of the synapse unit 311. When the capacitor 321 is charged and discharged to change the membrane potential, the potential difference between the potential at the first end of the synapse unit 311 and the membrane potential also changes, and the membrane potential changes nonlinearly as in the example of Fig. 4. When the learning device 100 calculates the firing time of the neuron model 300 using a mathematical model, it is necessary to perform a complex calculation in this respect.
[0061] Furthermore, the number of neuron models 300 included in the spiking neural network to be learned by the learning device 100 is not limited to a specific number, and may include a large number of neuron models 300. For example, when the learning device 100 learns a fully connected feedforward spiking neural network including 1000 neuron models 300 in each layer, the number of neuron models 300 that are the output sources of spikes is 1000. In this way, if the learning device 100 were to calculate the membrane potential every time the neuron model 300 receives a spike input, it is conceivable that the calculation time for calculating the membrane potential at the end of the charging phase would be long.
[0062] Therefore, the learning device 100 converts the input time of the spike into a value at a discretized time. This allows the learning device 100 to calculate the membrane potential for each discretized time. Since the number of discretized times to be used for calculating the membrane potential is smaller than the number of neuron models 300 that are the output sources of the spikes, it is expected that the learning device 100 can calculate the firing time of the neuron model 300 in a shorter time. The discretized time is also called discrete time.
[0063] In the configuration of Fig. 1, communication unit 110 communicates with other devices. For example, communication unit 110 may receive a mathematical model of spiking neural network 200 (a spiking neural network to be learned) from a device that stores design information of the spiking neural network. The mathematical model here is a model that expresses the behavior of the modeling target in a mathematical formula.
[0064] The display unit 120 includes a display screen, such as a liquid crystal panel or an LED (Light Emitting Diode) panel, and displays various images. For example, the display unit 120 may display the progress and results of learning of the spiking neural network. The operation input unit 130 includes input devices such as a keyboard and a mouse, and receives user operations. For example, the operation input unit 130 may receive user operations for making various settings related to learning of the spiking neural network, such as a learning rate.
[0065] The storage unit 180 stores various data. For example, the storage unit 180 may store a mathematical model of the spiking neural network 200 and various settings related to learning of the spiking neural network. The storage unit 180 is configured using a storage device included in the learning device 100.
[0066] Control unit 190 performs various processes by controlling each unit of learning device 100. The functions of control unit 190 may be performed by a CPU (Central Processing Unit) included in learning device 100 reading and executing a program from storage unit 180. The mathematical model calculation unit 191 uses a mathematical model of the spiking neural network 200 to perform calculations by the spiking neural network 200 . The mathematical model calculation unit 191 corresponds to an example of an output value calculation means in that it calculates the output values of the spiking neural network 200.
[0067] The discretization unit 192 converts the input time of each spike input to the neuron model 300 into a value at a discrete time. Specifically, the discretization unit 192 calculates the value of the input signal at the discrete time based on the length of time between the input time of the spike and the discrete time. The process of converting the input time of a spike into a value at a discrete time is also called spike discretization processing.
[0068] The spike discretization process can be said to be a process in which the discretization unit 192 allocates spikes in continuous time to times in discrete time in proportion to each other. The continuous time here is time represented by a continuous variable, and the discrete time is time represented by a discrete variable. The discrete time corresponds to times in discrete time.
[0069] The spike discretization process can also be considered as a process for converting spikes, which indicate the presence or absence of firing, into quantitative information for each discrete time. The discretization unit 192 corresponds to an example of a discretization means. The value at discrete time into which the input time of a spike is converted is also called a discrete-time input value.
[0070] The membrane potential calculation unit 193 calculates the membrane potential of the spiking neuron model at the discrete time based on the discrete time input value calculated by the discretization unit 192. Specifically, the membrane potential calculation unit 193 substitutes the membrane potential at the discrete time into an equation corresponding to the discrete time input value to calculate the membrane potential at the next time among the discrete times. The membrane potential calculation unit 193 corresponds to an example of a membrane potential calculation means.
[0071] The firing time calculation unit 194 calculates the firing time of the neuron model 300 based on the membrane potential calculated by the membrane potential calculation unit 193. In particular, the firing time calculation unit 194 calculates the firing time based on the membrane potential at the end of the charging phase calculated by the membrane potential calculation unit 193. The firing time calculation unit 194 corresponds to an example of firing time calculation means.
[0072] The learning unit 195 performs learning of the spiking neural network 200 based on the output values of the spiking neural network 200 calculated by the mathematical model calculation unit 191. In learning of the spiking neural network 200, the learning unit 195 updates the values of the learning parameters of the spiking neural network 200. The learning unit 195 corresponds to an example of a learning means.
[0073] FIG. 5 is a diagram showing an example of data input / output in the learning device 100 when calculating the firing time of the neuron model 300. FIG. 5 shows an example of data input / output in the learning device 100 when calculating the firing time of the i-th neuron model 300 in the l-th layer of FIG. 2. Here, l is an integer such that 2≦l≦L-1. As described above, L represents the number of layers in the spiking neural network 200, and is an integer such that L≧2. Here, i is an integer such that 1≦i≦N (l) is an integer. (l) indicates the number of neuron models 300 in the lth layer, N (l) It is an integer greater than or equal to 1.
[0074] In the example of FIG. 5, the discretization unit 192 calculates the input time t (l-1) j Let s be the sequence of discrete time input values s (l-1,1) j , s (l-1,2) j , , s (l-1,M) j Here, j is 1≦j≦N (l-1) is an integer. A sequence of discrete time input values is also called a discrete spike sequence.
[0075] The discretization unit 192 calculates a value A used in a calculation formula for the membrane potential for each discrete time based on the discretized input value calculated for each spike input time and for each discrete time. (l,m) i and B. (l,m) i Here, m is an integer satisfying 1≦m≦M. M is an integer that indicates the number of discrete times for which the discrete time input value is to be calculated, and M≧2. The value of M may be set in advance by, for example, a user.
[0076] The membrane potential calculation unit 193 calculates the membrane potential v (l,m) i Here, m is an integer such that 1≦l≦M. The membrane potential calculation unit 193 calculates the membrane potential v(l,m-1) i and the value A calculated by the discretization unit 192 (l,m) i and B. (l,m) i Substituting this into the membrane potential calculation formula, we get the membrane potential v (l,m) i Here, the membrane potential v (l,0) i Define =0.
[0077] In addition, at discrete time T (l,1) , T (l,2) , ,T (l,M) The last discrete time T (l,M) is the end time of the charging phase (time T). Therefore, v (l,M) i =v (l,T) i Here, v (l,T) i represents the membrane potential of the i-th neuron model 300 in the l-th layer at time T, which is the end time of the charging phase.
[0078] The ignition time calculation unit 194 calculates the membrane potential v at the end time (time T) of the charging phase calculated by the membrane potential calculation unit 193. (l,T) i The firing time of the i-th neuron model 300 in the l-th layer is calculated based on t (l) i It can also be written as: The firing time calculation unit 194 calculates the membrane potential v (l,T) i and the threshold potential V th Compare with v (l,T) i ≧V th In this case, the firing time calculation unit 194 calculates t (l) i =T. That is, the firing time calculation unit 194 calculates the firing time as the start time of the firing phase.
[0079] On the other hand, v (l,T) i <V th In this case, the ignition time calculation unit 194 calculates the threshold potential Vth The membrane potential v at the end of the charging phase (time T) (l,T) i The difference between the two is the rate of increase in membrane potential during the firing phase, Δv sp Divide by , and the membrane potential becomes the threshold potential V th The time required to reach th -v (l,T) i ) / Δv sp Then, the firing time calculation unit 194 calculates the time when the membrane potential reaches the threshold potential V at the start time T of the firing phase. th The time required to reach th -v (l,T) i ) / Δv sp The time T+(V th -v (l,T) i ) / Δv sp is compared with the end time 2T of the firing phase.
[0080] T+(V th -v (l,T) i ) / Δv sp If ≦2T, the ignition time calculation unit 194 calculates t (l) i =T+(V th -v (l,T) i ) / Δv sp It is calculated as follows. On the other hand, T+(V th -v (l,T) i ) / Δv sp If t > 2T, the firing time calculation unit 194 calculates t (l) i = 2T. That is, at the end of the firing phase, 2T, the membrane potential is equal to or lower than the threshold potential V th If it does not reach the firing time t (l) i is calculated as the end time 2T of the firing phase, which is the firing time due to forced firing.
[0081] The firing time of the l-th layer neuron model 300 is used as the input time of a spike to the l+1-th layer neuron model 300. Here, l is an integer such that 1≦l≦L−1. When the spike input time and firing time are expressed by the time for each layer, the firing time is converted to the spike input time. For example, if the charging phase is from time 0 to T and the firing phase is from time T to 2T, the firing time of the neuron model 300 in the lth layer is converted to the spike input time to the neuron model 300 in the l+1th layer by subtracting T from the firing time of the neuron model 300 in the lth layer.
[0082] The calculation of ignition times by learning device 100 will be further explained using mathematical expressions. The charging phase of the l-th layer neuron model 300 is from time l-1 to just before time l, and the firing phase is from time l to just before l+1, where l is an integer such that 1≦l≦N. Note that time l is referred to as the end time of the charging phase of the l-th layer neuron model 300, and time l+1 is referred to as the end time of the firing phase of the l-th layer neuron model 300.
[0083] When the spike input time is not discretized, the time evolution of the membrane potential of the ith neuron model 300 in the lth layer is expressed by a differential equation such as equation (1).
[0084]
number
[0085] v (l) i (t) represents the membrane potential of the i-th neuron model 300 in the l-th layer at time t. (l) i The time t in (t) can be omitted and written as "v (l) i " can also be written. w (l) i,jrepresents the connection strength from the j-th neuron model 300 in the l-1th layer to the i-th neuron model 300 in the l-1th layer. That is, w (l) i,j represents the weight multiplied by the spike input from the j-th neuron model 300 in the l-1-th layer to the i-th neuron model 300 in the l-1-th layer. (l) i,j are the learning parameters (parameters to be learned). Variable β (l) i,j is defined as in equation (2).
[0086]
number
[0087] β + and β - are parameters that determine the nonlinearity of the membrane potential trajectory, and β + >0, β - <0. β + The magnitude of |β + The larger | is, the stronger the nonlinearity is. Also, β - The magnitude of |β - The larger |, the stronger the nonlinearity. The values of these parameters are determined based on the resistive coupling effects in the hardware and the non-ideal characteristics of the current sources. δ w(l)i,j≧0 is expressed as equation (3).
[0088]
number
[0089] δ w(l)i,j<0 is expressed as equation (4).
[0090]
number
[0091] θ is a step function and is expressed as in Equation (5).
[0092]
Number
[0093] During the charging phase (l - 1 ≤ t < l), the membrane potential develops non-linearly with time, like an exponential decay (or an RC-decay in an RC circuit). Here, the input spikes {t (l-1) i} i=1,2,···,N(l-1) sorted in ascending order are denoted as {t ^(l-1) i} i=1,2,···,N(l-1) And the weights sorted correspondingly are denoted as {w ^ i,j} i=1,2,···,N(l-1) for this. The time evolution of the membrane potential can be expressed as in Equation (6).
[0094]
Number
[0095] Here, q is an integer where 1 ≤ q ≤ N (l-1) for this. When q < N (l-1) then v (l,q) i represents the membrane potential at the time t = t ^(l-1) q+1 when the i-th neuron model 300 in the l-th layer receives the (q + 1)-th input spike. Since the membrane potential is 0 from the start of the charging phase until the neuron model 300 receives the first input spike, we define v (l,1) i = 0. When q = N (l-1) then v (l,q) i represents the membrane potential at the final time t = l of the charging phase for the i-th neuron model 300 in the l-th layer. exp represents the power of Napier's number. A (l) i,q is expressed as equation (7).
[0096]
number
[0097] B (l) i,q is expressed as equation (8).
[0098]
number
[0099] Δt ^(l-1) q is expressed as equation (9).
[0100]
number
[0101] Firing time t of the i-th neuron model 300 in the l-th layer (l) i is the membrane potential v at the end of the charging phase (l,N(l)) i Based on this, it is expressed as equation (10).
[0102]
number
[0103] If the learning device 100 were to calculate the firing times based on equations (6) to (10), it would be necessary to perform power calculations for each input spike time, which would increase the amount of calculations. In particular, the more neuron models 300 included in each layer, the more calculations are required to calculate the firing times, and the longer the calculation time is likely to be. Therefore, we consider discretizing the input spike time. l-th layer discrete time sequence T (l,1) , T (l,2) , ,T (l,M) is defined as equation (11).
[0104]
number
[0105] M is an integer greater than or equal to 2 and represents the number of discrete times. Δt is a constant Δt>0 that represents a discrete time step. t (l) offset is an offset time set for each layer to prevent the learning accuracy from decreasing due to repeated learning using a specific discrete time sequence. The offset time t (l) offset It was found that when the time-discretized model is not provided, the recognition accuracy (estimation accuracy) of the spiking neural network 200 during training is high, whereas the recognition accuracy of the spiking neural network 200 during testing is low. This is thought to be because the learning device 100 overlearns the time-discretized model. Offset time t (l) offset The value of is set randomly within the range of equation (12) for each iteration step in machine learning, for example, for each mini-batch in mini-batch learning.
[0106]
number
[0107] In the following, an example will be described in which the time Δt is the time obtained by dividing the duration of the charging phase (the time from the start time to the end time of the charging phase) by the number (M−1) of discrete time intervals. where time Δt and offset time t (l) offset Then, at discrete time T (l,M)Various times can be used such that t is at or before the end of the charging phase.
[0108] At some time T (l,m) Let the index set of the l-1th layer neuron model 300 that fires in U (l-1) m Let U be the union of these disjoint sets. ^(l-1) m is defined as equation (13).
[0109]
number
[0110] Here, m is an integer such that 0≦m≦M−1. U ^(l-1) m At time T (l,m) Until (time T (l,m) is the set of indices of input spikes that arrived at The time [T (l,m) ,T (l,m+1) The time evolution of the membrane potential at ] can be expressed as equation (14).
[0111]
number
[0112] S (l-1,m) j is expressed as equation (15).
[0113]
number
[0114] s (l-1,q) j is expressed as equation (16).
[0115]
number
[0116] Equation (14) can be solved analytically as in equation (17).
[0117]
number
[0118] Again, v (l,0) i Define =0. A (l,m) i is expressed as equation (18).
[0119]
number
[0120] B (l,m) i is expressed as equation (19).
[0121]
number
[0122] The formula (17) corresponds to an example of a formula according to the discrete time input value. That is, the formula (17) is a formula according to the discrete time input value A, as in the formulas (18) and (19). (l,m) i and B. (l,m) i Using the membrane potential v (l,m) i This is the formula for calculating Firing time t (l) i is expressed as equation (20).
[0123]
number
[0124] In this way, if all the input spikes are in a particular time sequence {T (l,m)} m=1,···,M If only , the value of the membrane potential at the end of the charging phase is obtained by M successive calculations. Therefore, the discretization unit 192 calculates the input spike t (l-1) 1 ,t (l-1) 2 ,t (l-1) 2 ,t (l-1) 2 into a discrete spike train.
[0125]
number
[0126] Discretize is the input spike time t (l-1) j Let s be a discrete spike train s (l-1,1) j , s (l-1,2) j , s (l-1,M) j A discrete spike train is a function that converts (l,1) , T (l,2) , ,T (l,M) is a sequence of discrete time input values associated with As described above, the discretization unit 192 can be considered to convert the input spike, which is input at any time during the charging phase and indicates the state of the spike output source neuron model 300, into a time series of discrete-time input values that are input at a specified discrete time and take real values. In particular, in equation (16), the input spike s (l-1,q) j takes the value of 0 or 1, whereas in equation (21), the discrete time input value s (l-1,m) j takes a real value. In the following, the subscripted variable s represents the time-discretized input value, and therefore takes on real values.
[0127] The discretization unit 192 converts the input spike time into a discrete spike train, for example, based on equation (22).
[0128]
number
[0129] The learning device 100 detects input spikes s (l-1,q) j The discrete time input value s (l-1,m) j Using equation (15) and equations (17) to (20), the firing time t (l) i can be calculated. Specifically, the discretization unit 192 calculates the discrete-time input value s (l-1,m) j Substituting this into equation (15) above, S (l-1,m) j Then, the discretization unit 192 calculates the calculated S (l-1,m) j Substituting into the above equations (18) and (19), A (l、m) i , and B (l,m) i Calculate.
[0130] The membrane potential calculation unit 193 calculates the A (l、m) i and B. (l,m) i Substituting into equation (17), the membrane potential v (l,m) i Calculate. Again, v (l,0) i Define =0.
[0131] The firing time calculation unit 194 calculates v (l,M) i Based on this, the firing time t (l) iHere, the threshold potential is 1, and the firing time calculation unit 194 calculates v (l,M) i Compare with 1. v (l,M) i If t ≧1, the firing time calculation unit 194 (l) i That is, the firing time calculation unit 194 calculates the firing time as the start time of the firing phase.
[0132] On the other hand, v (l,M) i If <1, the firing time calculation unit 194 calculates the time l+1-v (l,M) i Calculate l+1-v (l,M) i In the case of ≦2l, the firing time calculation unit 194 calculates t (l) i =l+1-v (l,M) i It is calculated as follows. On the other hand, l+1-v (l,M) i If t > 2l, the ignition time calculation unit 194 calculates t (l) i That is, the firing time calculation unit 194 calculates the firing time t (l) i is calculated as the end time 2l of the firing phase, which is the firing time due to forced firing.
[0133] Fig. 6 is a diagram showing an example of the process in which the discretization unit 192 converts an input spike time into a discrete spike train based on equation (22). The horizontal axis of the graph in FIG. 6 represents time.
[0134] In the example of FIG. 6, the discretization unit 192 discretizes the discrete time T (l,1) , T (l,2) , ,T (l,M) Among them, the input spike time t (l-1) j The discrete time T just before (l,m-1) and the next discrete time T(l,m) The values 0.3 and 0.7 are assigned to the discrete time and the input spike time, which corresponds to the inverse ratio of the distance between the discrete time and the input spike time, 0.7Δt:0.3Δt. The discretization unit 192 also calculates the input spike time t (l-1) k The discrete time T just before (l,m) and the next discrete time T (l,m+1) The values 0.4 and 0.6 are assigned to the discrete time and the input spike time, which corresponds to the inverse ratio of the distance between the discrete time and the input spike time, 0.6Δ:0.4Δt.
[0135] In this way, when based on equation (22), the discretization unit 192 assigns discrete time input values to the time immediately before the input spike time and the time immediately after the input spike time in accordance with the inverse ratio of the length of time from the time immediately before the input spike time to the input spike time to the length of time from the input spike time to the time immediately after the input spike time.
[0136] Among the discrete times, the time immediately before the input spike time is also referred to as the first time. Among the discrete times, the time immediately after the input spike time is also referred to as the second time. The time from the first time to the input spike time is also referred to as the first time. The time from the input spike time to the second time is also referred to as the second time.
[0137] When the discretization unit 192 discretizes the input spike time based on the formula (22), the input spike time t (l-1) j The discrete time input value s (l-1,m) j changes continuously, and the discrete time input value s (l-1,m) j t (l-1) j =T (l,m) Except for the case of input spike time t (l-1) j is differentiable in This allows the learning device 100 to perform learning of the spiking neural network 200 using a learning algorithm that uses differentiation, such as backpropagation.
[0138] Next, the results of an experiment on the learning of the spiking neural network 200 by the learning device 100 will be described. In the experiment, we used the Fashion-MNIST dataset as training data. The network structure was a fully connected feedforward multi-layer network. The number of nodes was 784 in the input layer, 400 in the first hidden layer, 400 in the second hidden layer, and 10 in the output layer.
[0139] 7 is a diagram showing an example of an experimental result of the membrane potential calculated by the learning device 100 when the number of discrete time points for which the membrane potential is calculated is three. The horizontal axis of the graph in FIG. 7 represents time, and the vertical axis represents the membrane potential. In FIG. 7, the start time of the charging phase is time 0, and the end time of the charging phase is time 1.
[0140] Line L201 shows a first example of the membrane potential trajectory when the membrane potential is calculated without discretizing the input spike time. Line L202 shows an example of the membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L201. Line L211 shows a second example of the membrane potential trajectory when the membrane potential is calculated without discretizing the input spike time. Line L212 shows an example of the membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L211.
[0141] Line L221 shows a third example of the membrane potential trajectory when the membrane potential is calculated without discretizing the input spike time. Line L222 shows an example of the membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L221. Line L231 shows a fourth example of the membrane potential trajectory when the membrane potential is calculated without discretizing the input spike time. Line L232 shows an example of the membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L231.
[0142] Line L241 shows a fifth example of the membrane potential trajectory when the membrane potential is calculated without discretizing the input spike time. Line L242 shows an example of the membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L241. Line L251 shows a sixth example of the membrane potential trajectory when the membrane potential is calculated without discretizing the input spike time. Line L252 shows an example of the membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L251.
[0143] Line L261 shows a seventh example of the membrane potential trajectory when the membrane potential is calculated without discretizing the input spike time. Line L262 shows an example of the membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L261. Line L271 shows an eighth example of the membrane potential trajectory when the membrane potential is calculated without discretizing the input spike time. Line L272 shows an example of the membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L271.
[0144] Line L281 shows a ninth example of the membrane potential trajectory when the membrane potential is calculated without discretizing the input spike time. Line L282 shows an example of the membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L281. Line L291 shows a tenth example of the membrane potential trajectory when the membrane potential is calculated without discretizing the input spike time. Line L292 shows an example of the membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L291.
[0145] Offset time T (l) offset By setting (l,0) is a time before time 0. As mentioned above, the discrete time T (l,0) Membrane potential v (l,0)i is set to 0. Also, at discrete time T (l,3) is time 1, i.e., the end time of the charging phase. In the calculation of the membrane potential when the input spike time is discretized, the membrane potential v (l,m-1) i Based on the membrane potential v (l,m) i In the example of Figure 7, m=1, 2, 3.
[0146] In the example of Figure 7, even when the number of discrete times for which the membrane potential is calculated is three, the membrane potential at the end of the charging phase can be calculated with high accuracy, and it is expected that the firing time can be calculated with high accuracy. In particular, in the examples of lines L202, L252, and L272, the membrane potential at the end of the charging phase when the input spike time is discretized is almost the same as the membrane potential at the end of the charging phase when the input spike time is not discretized.
[0147] Fig. 8 is a diagram showing an example of an experimental result of the membrane potential calculated by the learning device 100 when the number of discrete time points for which the membrane potential is calculated is five. The horizontal axis of the graph in Fig. 8 represents time, and the vertical axis represents the membrane potential. In Fig. 8, the start time of the charging phase is set to time 0, and the end time of the charging phase is set to time 1.
[0148] Lines L301 to L391 are similar to lines L201 to L291 in FIG. Line L302 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike times for the example shown by line L301. Line L312 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L311.
[0149] Line L322 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L321. Line L332 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L331.
[0150] Line L342 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L341. Line L352 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L351.
[0151] Line L362 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L361. Line L372 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L371.
[0152] Line L382 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L381. Line L392 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L391.
[0153] In the example of Figure 8, the offset time T (l) offset By setting (l,0) is a time before time 0. As mentioned above, the discrete time T (l,0) Membrane potential v (l,0) i is set to 0. Also, at discrete time T (l,5) is time 1, i.e., the end time of the charging phase. In the calculation of the membrane potential when the input spike time is discretized, the membrane potential v (l,m-1) i Based on the membrane potential v (l,m) i In the example of Figure 8, m = 1, 2, . . . , 5.
[0154] In the example of Figure 8, the membrane potential at the end of the charging phase can be calculated with even greater accuracy than in the example of Figure 7, and it is expected that the firing time can be calculated with greater accuracy. In particular, in the examples of lines L302, L332, L342, L352, L362, L372, and L382, the membrane potential at the end of the charging phase when the input spike time is discretized is almost the same as the membrane potential at the end of the charging phase when the input spike time is not discretized.
[0155] 9 is a diagram showing an example of an experimental result of the membrane potential calculated by the learning device 100 when the number of discrete time points for which the membrane potential is calculated is 10. The horizontal axis of the graph in FIG. 9 represents time, and the vertical axis represents the membrane potential. In FIG. 9, the start time of the charging phase is time 0, and the end time of the charging phase is time 1.
[0156] Lines L401 to L491 are similar to lines L201 to L291 in FIG. Line L402 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L401. Line L412 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L411.
[0157] Line L422 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L421. Line L432 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L431.
[0158] Line L442 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L441. Line L452 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L451.
[0159] Line L462 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L461. Line L472 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L471.
[0160] Line L482 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L481. Line L492 shows an example of a membrane potential trajectory when the membrane potential is calculated by discretizing the input spike time for the example shown by line L491.
[0161] In the example of Figure 9, the offset time T (l) offset By setting (l,0) is a time before time 0. As mentioned above, the discrete time T (l,0) Membrane potential v (l,0) i is set to 0. Also, at discrete time T (l,10) is time 1, i.e., the end time of the charging phase. In the calculation of the membrane potential when the input spike time is discretized, the membrane potential v (l,m-1) i Based on the membrane potential v (l,m) i In the example of Figure 9, m = 1, 2, . . . , 10.
[0162] In the example of Figure 9, the membrane potential at the end of the charging phase can be calculated with even greater accuracy than in the example of Figure 8, and it is expected that the firing time can be calculated with greater accuracy. In particular, in each of the examples from line L402 to L492, the membrane potential at the end of the charging phase when the input spike time is discretized is almost the same as the membrane potential at the end of the charging phase when the input spike time is not discretized.
[0163] Fig. 10 is a diagram showing an example of the results of learning of the spiking neural network 200 by the learning device 100. The horizontal axis of the graph in Fig. 10 indicates the number of steps (number of epochs). The vertical axis indicates the accuracy rate during training, the accuracy rate during testing, the best epoch (the epoch with the highest recognition performance (accuracy rate) during testing), and the learning time per epoch. The unit of learning time is seconds.
[0164] Line L511 shows the relationship between the number of steps and the accuracy rate during training. Line L512 shows the relationship between the number of steps and the accuracy rate during the test. Line L513 indicates the relationship between the number of steps and the best epoch. Line L514 shows the relationship between the number of steps and the learning time per epoch. As shown by lines L511 and L512, a high accuracy rate was obtained during both training and testing. Also, as shown by line L541, learning was possible in a relatively short time.
[0165] 7 to 10, the learning device 100 is expected to enable highly accurate learning of the spiking neural network 200. In particular, the discretization unit 192 discretizes the input spike time, which reduces the number of times the membrane potential calculation unit 193 calculates the membrane potential. This allows the membrane potential calculation unit 193 to analytically solve the calculation of the membrane potential using a complex equation such as equation (17), and also makes it possible to relatively shorten the time required to calculate the firing time (the total time required for the discretization unit 192 to discretize the input spike time, for the membrane potential calculation unit 193 to calculate the membrane potential, and for the firing time calculation unit 194 to calculate the firing time).
[0166] FIG. 11 is a diagram showing an example of a procedure of processing in which the learning device 100 calculates the output value of the spiking neural network 200. In the process of FIG. 11, the mathematical model calculation unit 191 calculates the input spike time t (0) i (Step S101).
[0167] Next, the control unit 190 starts a loop L11 that performs processing on each of the first layer to the Lth layer (final layer) of the spiking neural network 200 (step S102). Here, the layer being processed in the loop L11 is referred to as the lth layer. In the process of loop L11, the discretization unit 192 discretizes the input spike time based on equation (21) to calculate a discrete spike train (step S104). The discrete spike train calculated by the discretization unit 192 is
[0168] Next, the control unit 190 selects the first to Nth layers of the lth layer. (l) A loop L12 is started to process each neuron model 300 up to the i-th neuron model 300 (all neuron models 300 in the l-th layer) (step S103). Here, the neuron model 300 being processed in the loop L12 is referred to as the i-th neuron model 300. The neuron model 300 being processed in the loop L12 is also referred to as the target neuron model. The control unit 190 may execute the processes of the loop L12 in parallel.
[0169] In the process of loop L12, the control unit 190 starts loop L13 in which processing is performed for each discrete time that has been set (step S105). Here, the discrete time to be processed in loop L13 is set to discrete time T (l,m) It is written as follows. In the process of loop L13, the membrane potential calculation unit 193 calculates the membrane potential at the discrete time T (l,m) The membrane potential v of the target neuron model (l、m) iCalculate (step S106).
[0170] Next, the control unit 190 performs a termination process of the loop L13 (step S107). (l,1) From T (l,M) If it is determined that there is still a discrete time point for which the process of loop L13 has not been performed, the control unit 190 continues to perform the process of loop L13 for the unprocessed discrete time points. On the other hand, if it is determined that the processing of loop L13 has been performed for all the discrete times, the control unit 190 ends loop L13.
[0171] When the control unit 190 finishes the process of the loop L13, the firing time calculation unit 194 calculates the membrane potential v (l,M) i Based on this, the firing time t (l) i Calculate (step S108).
[0172] Next, the control unit 190 performs the termination process of the loop L12 (step S109). Specifically, the control unit 190 judges whether or not the process of the loop L12 has been performed for all the neuron models 300 included in the l-th layer. If it is judged that there is a neuron model 300 for which the process of the loop L12 has not yet been performed, the control unit 190 continues to perform the process of the loop L12 for the unprocessed neuron model 300. On the other hand, if it is determined that the processing of the loop L12 has been performed for all the neuron models 300, the control unit 190 ends the loop L12.
[0173] When the loop L12 is finished, the control unit 190 performs a termination process of the loop L11 (step S110). Specifically, the control unit 190 judges whether or not the process of the loop L11 has been performed for all layers from the first layer to the Lth layer. When it is judged that there is a layer for which the process of the loop L11 has not yet been performed, the control unit 190 continues the process of the loop L11 for the unprocessed layer. On the other hand, if it is determined that the processing of the loop L11 has been performed for all layers, the control unit 190 ends the loop L11.
[0174] When the control unit 190 ends the loop L11, the mathematical model calculation unit 191 calculates the output value of the spiking neural network 200 (step S111). For example, when the spiking neural network 200 performs class classification, each neuron model 300 in the output layer (Lth layer) of the spiking neural network 200 may be linked to a class. Then, the mathematical model calculation unit 191 may select, as the output of the spiking neural network 200, a class linked to the neuron model 300 having the earliest firing time among the neuron models 300 in the output layer. After step S111, the learning device 100 ends the process in FIG.
[0175] Note that the application of the process in which the learning device 100 executes calculations by the spiking neural network 200 is not limited to the learning of the spiking neural network 200. For example, when verifying the practical application of the spiking neural network 200, the learning device 100 may execute the calculations by the spiking neural network 200 by discretizing the input spike times using a mathematical model of the trained spiking neural network 200. In this case, the learning device 100 may be configured as a calculation device that does not include the learning unit 195.
[0176] As described above, the discretization unit 192 converts the input spike time into a discrete-time input value, which is a value at a discrete time (discretized time), for each input spike to the neuron model 300. The input spike to the neuron model 300 corresponds to an example of an input signal to the neuron model 300. The input spike time corresponds to an example of an input time of an input signal. The membrane potential calculation unit 193 calculates the membrane potential of the neuron model 300 at the discrete time based on the discrete time input value calculated by the discretization unit 192 . The firing time calculation unit 194 calculates the firing time of the neuron model 300 based on the membrane potential calculated by the membrane potential calculation unit 193 .
[0177] According to the learning device 100, by discretizing the input spike time, the time required for calculation can be relatively short when performing calculations using the spiking neural network 200 configured with a mathematical model. In particular, according to the learning device 100, even if there are a large number of neuron models 300 that are the output sources of spikes, the calculation of the membrane potential can be repeated for the number of discrete times to calculate the firing time of each neuron model 300.
[0178] Furthermore, the discretization unit 192 calculates the discretized time input value based on the length of time between the input spike time and the discretized time. According to the learning device 100, the input spike time can be assigned to the discrete time according to the length of time between the input spike time and the discrete time (i.e., the distance between the input spike time and the discrete time). In this respect, according to the learning device 100, it is expected that the firing time of the neuron model 300 can be calculated with high accuracy.
[0179] In addition, the discretization unit 192 calculates a discrete-time input value at a first time and a discrete-time input value at a second time in accordance with the inverse ratio of a first time, which is the length of time from a first time, which is the time immediately before an input spike time, to the input spike time, and a second time, which is the length of time from the input spike time to a second time, which is the time immediately after the input spike time.
[0180] According to the learning device 100, the input spike time can be assigned to the discrete time according to the length of time between the input spike time and the discrete time (i.e., the distance between the input spike time and the discrete time). In this respect, according to the learning device 100, it is expected that the firing time of the neuron model 300 can be calculated with high accuracy. Moreover, the learning device 100 can partially differentiate the discrete time input value at the input spike time. This allows the learning device 100 to train the spiking neural network 200 using a learning algorithm that uses differentiation, such as the backpropagation method.
[0181] Furthermore, the membrane potential calculation unit 193 substitutes the membrane potential at the discrete time into an equation corresponding to the discrete time input value to calculate the membrane potential at the next time among the discrete times. According to the learning device 100, it is only necessary to calculate the membrane potential for each discrete time, and in this respect, the time required for calculation can be relatively short when performing calculations using the spiking neural network 200 configured with a mathematical model. In particular, according to the learning device 100, even if there are a large number of neuron models 300 that are the output sources of spikes, the calculation of the membrane potential can be repeated for the number of discrete times to calculate the firing time of each neuron model 300.
[0182] In addition, a random offset is added to the discrete times. According to the learning device 100, it is possible to prevent a decrease in learning accuracy caused by repeatedly performing learning using a specific discrete time sequence.
[0183] <Second embodiment> 12 is a diagram showing an example of the configuration of a calculation device according to at least one embodiment. In the configuration shown in FIG. 12, a calculation device 610 includes a discretization unit 611, a membrane potential calculation unit 612, and an ignition time calculation unit 613.
[0184] In this configuration, the discretization unit 611 converts the input time of each input signal to the spiking neuron model into a discrete-time input value, which is a value at the discretized time. The membrane potential calculation unit 612 calculates the membrane potential of the spiking neuron model at the discretized time based on the discrete-time input value. The firing time calculation unit 613 calculates the firing time of the spiking neuron model based on the calculated membrane potential. The discretization unit 611 corresponds to an example of a discretization means, the membrane potential calculation unit 612 corresponds to an example of a membrane potential calculation means, and the firing time calculation unit 613 corresponds to an example of a firing time calculation means.
[0185] According to the arithmetic device 610, the input time of the input signal is discretized, and therefore the time required for the calculation can be relatively short when performing calculations using a spiking neural network composed of a mathematical model. In particular, according to the arithmetic device 610, even if there are many neuron models that are the output sources of the input signal, the calculation of the membrane potential can be repeated for the number of discrete times to calculate the firing time of each neuron model.
[0186] <Third embodiment> 13 is a diagram showing an example of the configuration of a learning device according to at least one embodiment. In the configuration shown in FIG. 13, a learning device 620 includes a discretization unit 621, a membrane potential calculation unit 622, an ignition time calculation unit 623, an output value calculation unit 624, and a learning unit 625.
[0187] In this configuration, the discretization unit 621 converts the input time of each input signal to the spiking neuron model into a discrete-time input value, which is a value at the discretized time. The membrane potential calculation unit 622 calculates the membrane potential of the spiking neuron model at the discretized time based on the discrete-time input value. The firing time calculation unit 623 calculates the firing time of the spiking neuron model based on the calculated membrane potential. The output value calculation unit 624 calculates the output value of the spiking neural network using the spiking neuron model based on the firing time of the spiking neuron model. The learning unit 625 updates the values of the learning parameters of the spiking neural network based on the output value of the spiking neural network.
[0188] The discretization unit 621 corresponds to an example of discretization means. The membrane potential calculation unit 622 corresponds to an example of membrane potential calculation means. The ignition time calculation unit 623 corresponds to an example of ignition time calculation means. The output value calculation unit 624 corresponds to an example of output value calculation means. The learning unit 625 corresponds to an example of learning means.
[0189] According to the learning device 620, the input time of the input signal to the neuron model is discretized, and therefore, when performing calculations using a spiking neural network composed of a mathematical model, the time required for calculation can be relatively short. In particular, according to the learning device 620, even if there are a large number of neuron models that are the output sources of the input signal, the calculation of the membrane potential can be repeated for the number of discrete times to calculate the firing time of each neuron model. As a result, it is expected that the learning device 620 can relatively shorten the learning time of the spiking neural network.
[0190] <Fourth embodiment> 14 is a diagram showing an example of a processing procedure in a calculation method according to at least one embodiment. The calculation method shown in FIG. 14 includes performing discretization (step S611), calculating a membrane potential (step S612), and calculating an ignition time (step S613).
[0191] In discretizing (step S611), the computer converts, for each input signal to the spiking neuron model, the input time of the input signal into a discretized time input value, which is a value at the discretized time. In calculating the membrane potential (step S612), the computer calculates the membrane potential of the spiking neuron model at the discretized time based on the discretized time input value. In calculating the firing time (step S613), the computer calculates the firing time of the spiking neuron model based on the calculated membrane potential.
[0192] According to the calculation method shown in Fig. 14, the time required for calculation can be relatively short when performing calculations using a spiking neural network composed of a mathematical model, in that the input time of the input signal is discretized. In particular, according to the calculation method shown in Fig. 14, even if the number of neuron models that are the output sources of the input signal is large, the calculation of the membrane potential can be repeated for the number of discrete times to calculate the firing time of each neuron model.
[0193] <Fifth embodiment> Fig. 15 is a diagram showing an example of a processing procedure in a learning method according to at least one embodiment. The learning method shown in Fig. 15 includes performing discretization (step S621), calculating a membrane potential (step S622), calculating an ignition time (step S623), calculating an output value (step S624), and performing learning (step S625).
[0194] In performing discretization (step S621), the computer converts, for each input signal to the spiking neuron model, the input time of the input signal into a discretized time input value, which is a value at the discretized time. In calculating the membrane potential (step S622), the computer calculates the membrane potential of the spiking neuron model at the discretized time based on the discretized time input value.
[0195] In calculating the firing time (step S623), the computer calculates the firing time of the spiking neuron model based on the calculated membrane potential. In calculating the output value (step S624), the computer calculates the output value of the spiking neural network using the spiking neuron model based on the firing time of the spiking neuron model. In performing learning (step S624), the computer updates the values of the learning parameters of the spiking neural network based on the output values of the spiking neural network.
[0196] According to the learning method shown in Fig. 15, the time required for calculation can be relatively short when performing calculations using a spiking neural network composed of a mathematical model, in that the input time of the input signal to the neuron model is discretized. In particular, according to the learning method shown in Fig. 15, even if there are many neuron models that are the output sources of the input signal, the calculation of the membrane potential can be repeated as many times as the number of discrete times to calculate the firing time of each neuron model. As a result, it is expected that the learning method shown in Fig. 15 can relatively shorten the learning time of the spiking neural network.
[0197] FIG. 16 illustrates an example configuration of a computer according to at least one embodiment. In the configuration shown in FIG. 16, 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.
[0198] Any one or more of the learning device 100, the arithmetic device 610, and the learning device 620, or a part thereof, may be implemented in the computer 700. In this case, the operation of each of the above-mentioned 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, develops it in the main storage device 720, and executes the above-mentioned processing according to the program. The CPU 710 also secures a storage area corresponding to each of the above-mentioned storage units in the main storage device 720 according to the program. Communication between each device and other devices is executed by the interface 740 having a communication function and performing communication according to the control of the CPU 710. The interface 740 also has a port for the non-volatile recording medium 750, and reads information from the non-volatile recording medium 750 and writes information to the non-volatile recording medium 750.
[0199] When learning device 100 is implemented in computer 700, the operations of control unit 190 and each of its units are 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-mentioned processing according to the program.
[0200] Furthermore, the CPU 710 allocates a storage area for the storage unit 180 in the main storage device 720 in accordance with the program. Communication with other devices by the communication unit 110 is performed by the interface 740 having a communication function and operating under the control of the CPU 710. Display of images by the display unit 120 is performed by the interface 740 having a display device and displaying various images under the control of the CPU 710. Reception of user operations by the operation input unit 130 is performed by the interface 740 having an input device and accepting user operations under the control of the CPU 710.
[0201] When the arithmetic unit 610 is implemented in the computer 700, the operations of the discretization unit 611, the membrane potential calculation unit 612, and the firing time calculation unit 613 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 according to the program.
[0202] Furthermore, the CPU 710 allocates a storage area in the main memory device 720 for the arithmetic device 610 to perform processing 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 an input device and an output device, presenting information to the user via the output device under the control of the CPU 710, and accepting user operations via the input device.
[0203] When the learning device 620 is implemented in the computer 700, the operations of the discretization unit 621, the membrane potential calculation unit 622, the firing time calculation unit 623, the output value calculation unit 624, and the learning unit 625 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 according to the program.
[0204] Furthermore, CPU 710 allocates a storage area in main memory 720 for learning device 620 to perform processing according to the program. Communication between learning device 620 and other devices is performed by interface 740 having a communication function and operating under the control of CPU 710. Interaction between learning device 620 and a user is performed by interface 740 having an input device and an output device, presenting information to the user via the output device under the control of CPU 710, and accepting user operations via the input device.
[0205] Any one or more of the above-mentioned programs may be recorded in non-volatile recording medium 750. In this case, interface 740 may read the program from non-volatile recording medium 750. Then, CPU 710 may directly execute the program read by interface 740, or may temporarily store the program in main storage device 720 or auxiliary storage device 730 and execute it.
[0206] Note that the programs for executing all or part of the processing performed by learning device 100, arithmetic device 610, and learning device 620 may be recorded on a computer-readable recording medium, and the programs recorded on the recording medium may be read into a computer system and executed to perform the processing of each part. Note that the term "computer system" as used here includes the OS (Operating System) and hardware such as peripheral devices. Furthermore, the term "computer-readable recording medium" 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 above-mentioned program may be for realizing part of the above-mentioned functions, or may be capable of realizing the above-mentioned functions in combination with a program already recorded in the computer system.
[0207] Although an embodiment of the present invention has been described in detail above with reference to the drawings, the specific configuration is not limited to this embodiment, and designs that do not deviate from the gist of the present invention are also included.
[0208] A part or all of the above-described embodiments can be described as, but is not limited to, the following supplementary notes.
[0209] (Appendix 1) A discretization means for converting, for each input signal to the spiking neuron model, the input time of the input signal into a discretized input value that is a value at a discretized time; a membrane potential calculation means for calculating a membrane potential of the spiking neuron model at the discretized time based on the discretized time input value; a firing time calculation means for calculating a firing time of the spiking neuron model based on the calculated membrane potential; A computing device comprising:
[0210] (Appendix 2) The discretization means calculates the discretized input value based on a length of time between an input time of the input signal and the discretized time. 2. The computing device of claim 1.
[0211] (Appendix 3) the discretization means calculates a discrete-time input value at the first time and a discrete-time input value at the second time in accordance with an inverse ratio of a first time, which is a length of time from a first time, which is a time immediately before the input time, to the input time, and a second time, which is a length of time from the input time to a second time, which is a time immediately after the input time, among the discretized times. 3. The computing device of claim 2.
[0212] (Appendix 4) the membrane potential calculation means substitutes the membrane potential at the discretized time into an equation corresponding to the discretized time input value to calculate the membrane potential at the next time among the discretized times; 4. A computing device according to any one of claims 1 to 3.
[0213] (Appendix 5) A random offset is added to the discretized time. 5. A computing device according to any one of claims 1 to 4.
[0214] (Appendix 6) A discretization means for converting, for each input signal to the spiking neuron model, the input time of the input signal into a discretized input value that is a value at a discretized time; a membrane potential calculation means for calculating a membrane potential of the spiking neuron model at the discretized time based on the discretized time input value; a firing time calculation means for calculating a firing time of the spiking neuron model based on the calculated membrane potential; an output value calculation means for calculating an output value of a spiking neural network using the spiking neuron model based on the firing time; A learning means for updating values of learning parameters of the spiking neural network based on the output value; A learning device comprising:
[0215] (Appendix 7) The discretization means calculates the discretized input value based on a length of time between an input time of the input signal and the discretized time. 7. A learning device according to claim 6.
[0216] (Appendix 8) the discretization means calculates a discrete-time input value at the first time and a discrete-time input value at the second time in accordance with an inverse ratio of a first time, which is a length of time from a first time, which is a time immediately before the input time, to the input time, and a second time, which is a length of time from the input time to a second time, which is a time immediately after the input time, among the discretized times. 8. The learning device according to claim 7.
[0217] (Appendix 9) the membrane potential calculation means substitutes the membrane potential at the discretized time into an equation corresponding to the discretized time input value to calculate the membrane potential at the next time among the discretized times; 9. A learning device according to any one of claims 6 to 8.
[0218] (Appendix 10) A random offset is added to the discretized time. 10. A learning device according to any one of claims 6 to 9.
[0219] (Appendix 11) The computer For each input signal to the spiking neuron model, convert the input time of the input signal into a discrete-time input value, which is a value at a discretized time; calculating a membrane potential of the spiking neuron model at the discretized time based on the discretized time input value; Calculating the firing time of the spiking neuron model based on the calculated membrane potential. A calculation method including the steps of:
[0220] (Appendix 12) The converting includes calculating the discretized input value based on a length of time between an input time of the input signal and the discretized time. The calculation method described in Appendix 11.
[0221] (Appendix 13) In the conversion, a discrete time input value at the first time and a discrete time input value at the second time are calculated in accordance with an inverse ratio of a first time, which is a length of time from a first time, which is a time immediately before the input time, to the input time, and a second time, which is a length of time from the input time to a second time, which is a time immediately after the input time. The calculation method described in Appendix 12.
[0222] (Appendix 14) In calculating the membrane potential, the membrane potential at the discretized time is substituted into an equation corresponding to the discretized time input value to calculate the membrane potential at the next time among the discretized times. 14. The method of claim 11,
[0223] (Appendix 15) A random offset is added to the discretized time. 15. The method of claim 11,
[0224] (Appendix 16) The computer For each input signal to the spiking neuron model, convert the input time of the input signal into a discrete-time input value, which is a value at a discretized time; calculating a membrane potential of the spiking neuron model at the discretized time based on the discretized time input value; Calculating the firing time of the spiking neuron model based on the calculated membrane potential; Calculating an output value of a spiking neural network using the spiking neuron model based on the firing time; updating values of learning parameters of the spiking neural network based on the output values; A learning method that includes:
[0225] (Appendix 17) The converting includes calculating the discretized input value based on a length of time between an input time of the input signal and the discretized time. The learning method described in Appendix 16.
[0226] (Appendix 18) In the conversion, a discrete time input value at the first time and a discrete time input value at the second time are calculated in accordance with an inverse ratio of a first time, which is a length of time from a first time, which is a time immediately before the input time, to the input time, and a second time, which is a length of time from the input time to a second time, which is a time immediately after the input time. The learning method described in Appendix 17.
[0227] (Appendix 19) In calculating the membrane potential, the membrane potential at the discretized time is substituted into an equation corresponding to the discretized time input value to calculate the membrane potential at the next time among the discretized times. 19. A learning method according to any one of appendixes 16 to 18.
[0228] (Appendix 20) A random offset is added to the discretized time. 20. A learning method according to any one of appendixes 16 to 19.
[0229] (Appendix 21) On the computer, For each input signal to the spiking neuron model, converting the input time of the input signal into a discrete-time input value that is a value at a discretized time; Calculating a membrane potential of the spiking neuron model at the discretized time based on the discretized input value; Calculating the firing time of the spiking neuron model based on the calculated membrane potential; A program that executes the following.
[0230] (Appendix 22) The converting step may include causing the computer to: calculating the discretized input value based on a length of time between an input time of the input signal and the discretized time; 22. The program according to claim 21,
[0231] (Appendix 23) The converting step may include causing the computer to: calculating a discrete-time input value at the first time and a discrete-time input value at the second time in accordance with an inverse ratio of a first time, which is a length of time from a first time, which is a time immediately before the input time, to the input time, and a second time, which is a length of time from the input time to a second time, which is a time immediately after the input time; 23. The program according to claim 22,
[0232] (Appendix 24) In the step of calculating the membrane potential, the computer Substituting the membrane potential at the discretized time into an equation corresponding to the discretized input value to calculate the membrane potential at the next time among the discretized times; 24. The program of claim 21, further comprising:
[0233] (Appendix 25) A random offset is added to the discretized time. 25. The program of any one of appendices 21 to 24.
[0234] (Appendix 26) On the computer, For each input signal to the spiking neuron model, converting the input time of the input signal into a discrete-time input value that is a value at a discretized time; Calculating a membrane potential of the spiking neuron model at the discretized time based on the discretized input value; Calculating the firing time of the spiking neuron model based on the calculated membrane potential; Calculating an output value of a spiking neural network using the spiking neuron model based on the firing time; updating values of learning parameters of the spiking neural network based on the output values; A program that executes the following.
[0235] (Appendix 27) The converting step may include causing the computer to: calculating the discretized input value based on a length of time between an input time of the input signal and the discretized time; The program according to claim 26,
[0236] (Appendix 28) The converting step may include causing the computer to: calculating a discrete-time input value at the first time and a discrete-time input value at the second time in accordance with an inverse ratio of a first time, which is a length of time from a first time, which is a time immediately before the input time, to the input time, and a second time, which is a length of time from the input time to a second time, which is a time immediately after the input time; The program according to claim 27,
[0237] (Appendix 29) In the step of calculating the membrane potential, the computer Substituting the membrane potential at the discretized time into an equation corresponding to the discretized time input value to calculate the membrane potential at the next time among the discretized times; 29. The program of any one of appendices 26 to 28,
[0238] (Appendix 30) A random offset is added to the discretized time. 30. The program of any one of appendixes 26 to 29. [Explanation of symbols]
[0239] 100, 620 Learning Device 110 Communications Department 120 Display section 130 Operation input section 180 Storage section 190 Control section 191 Mathematical Model Calculation Section 192, 611, 621 Discretization part 193, 612, 622 Membrane potential calculation unit 194, 613, 623 Firing time calculation section 195, 625 Learning Department 200 Spiking Neural Networks 300 Neuron Models 310 Live parts 311 Synapse Division 312 Diode 313 Resistance 320 Capacitor section 321 Capacitor 322 Charging side switch 323 Ignition switch 330 Ignition section 331 Current source 332 Comparator 610 Arithmetic equipment 624 Output value calculation unit
Claims
1. A discretization means for converting, for each input signal to the spiking neuron model, the input time of the input signal into a discretized input value that is a value at a discretized time; a membrane potential calculation means for calculating a membrane potential of the spiking neuron model at the discretized time based on the discretized time input value; a firing time calculation means for calculating a firing time of the spiking neuron model based on the calculated membrane potential; A computing device comprising:
2. The discretization means calculates the discretized input value based on a length of time between an input time of the input signal and the discretized time. The computing device of claim 1 .
3. the discretization means calculates a discrete-time input value at the first time and a discrete-time input value at the second time in accordance with an inverse ratio of a first time, which is a length of time from a first time, which is a time immediately before the input time, to the input time, and a second time, which is a length of time from the input time to a second time, which is a time immediately after the input time, among the discretized times; The computing device according to claim 2 .
4. the membrane potential calculation means substitutes the membrane potential at the discretized time into an equation corresponding to the discretized time input value to calculate the membrane potential at the next time among the discretized times; The computing device of claim 1 .
5. A random offset is added to the discretized time. The computing device of claim 1 .
6. A discretization means for converting, for each input signal to the spiking neuron model, the input time of the input signal into a discretized input value that is a value at a discretized time; a membrane potential calculation means for calculating a membrane potential of the spiking neuron model at the discretized time based on the discretized time input value; a firing time calculation means for calculating a firing time of the spiking neuron model based on the calculated membrane potential; an output value calculation means for calculating an output value of a spiking neural network using the spiking neuron model based on the firing time; A learning means for updating values of learning parameters of the spiking neural network based on the output value; A learning device comprising:
7. The computer For each input signal to the spiking neuron model, convert the input time of the input signal into a discrete-time input value, which is a value at a discretized time; calculating a membrane potential of the spiking neuron model at the discretized time based on the discretized time input value; Calculating the firing time of the spiking neuron model based on the calculated membrane potential. A calculation method including the steps of:
8. The computer For each input signal to the spiking neuron model, convert the input time of the input signal into a discrete-time input value, which is a value at a discretized time; calculating a membrane potential of the spiking neuron model at the discretized time based on the discretized time input value; Calculating the firing time of the spiking neuron model based on the calculated membrane potential; Calculating an output value of a spiking neural network using the spiking neuron model based on the firing time; updating values of learning parameters of the spiking neural network based on the output values; A learning method that includes:
9. On the computer, For each input signal to the spiking neuron model, converting the input time of the input signal into a discrete-time input value that is a value at a discretized time; Calculating a membrane potential of the spiking neuron model at the discretized time based on the discretized input value; Calculating the firing time of the spiking neuron model based on the calculated membrane potential; A program that executes the following.
10. On the computer, For each input signal to the spiking neuron model, converting the input time of the input signal into a discrete-time input value that is a value at a discretized time; Calculating a membrane potential of the spiking neuron model at the discretized time based on the discretized input value; Calculating the firing time of the spiking neuron model based on the calculated membrane potential; Calculating an output value of a spiking neural network using the spiking neuron model based on the firing time; updating values of learning parameters of the spiking neural network based on the output values; A program that executes the following.
Citation Information
Patent Citations
Design method and recording medium
WO2022249308A1