WO2022018916A1 - ニューラルネットワーク装置、発火時刻演算方法および記録媒体 - Google Patents

ニューラルネットワーク装置、発火時刻演算方法および記録媒体 Download PDF

Info

Publication number
WO2022018916A1
WO2022018916A1 PCT/JP2021/015878 JP2021015878W WO2022018916A1 WO 2022018916 A1 WO2022018916 A1 WO 2022018916A1 JP 2021015878 W JP2021015878 W JP 2021015878W WO 2022018916 A1 WO2022018916 A1 WO 2022018916A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
spike
spiking
spiking neuron
firing
Prior art date
Application number
PCT/JP2021/015878
Other languages
English (en)
French (fr)
Inventor
悠介 酒見
一幸 合原
Original Assignee
日本電気株式会社
国立大学法人東京大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社, 国立大学法人東京大学 filed Critical 日本電気株式会社
Priority to US18/004,193 priority Critical patent/US20230244918A1/en
Priority to JP2022538587A priority patent/JP7477815B2/ja
Publication of WO2022018916A1 publication Critical patent/WO2022018916A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Definitions

  • the present invention relates to a neural network device, an ignition time calculation method, and a recording medium.
  • spiking neural networks As one form of a neural network, there are spiking neural networks such as a feed-forward (Feed-Forward) spiking neural network (SNN) and a recurrent (recurrent) spiking neural network.
  • a spiking neural network is a network formed by combining spiking neuron models.
  • the spiking neuron model is also referred to as a spiking neuron, or simply a neuron.
  • the spiking neuron model simulates the integration of multiple input signals and the generation of spikes by the cell body of biological neurons.
  • the generation of spikes is also called ignition.
  • the connection of the spiking neuron model has a relationship between the pre-stage and the post-stage, and when the spiking neuron model on the front stage fires, the spike is transmitted to the spiking neuron model on the rear stage side.
  • the spiking neuron model has a membrane potential as an internal state, and the membrane potential evolves over time.
  • a leak integral firing neuron model is known, and the membrane potential evolves over time according to a differential equation such as Eq. (1).
  • v indicates the membrane potential in the spiking neuron.
  • ⁇ - leak is a constant coefficient indicating the magnitude of the leak in the leak integral ignition model.
  • I indicates the postsynaptic current in the spiking neuron.
  • w j is a coefficient indicating the strength of connection to a spiking neuron, and is called a connection weight.
  • t indicates the time.
  • tr rec j indicates the arrival time of the spike from the j-th spiking neuron among the spiking neurons in the previous stage with respect to the spiking neuron represented by the equation (1).
  • r ( ⁇ ) is a function indicating the effect of spikes transmitted from the spiking neurons in the previous stage on the postsynaptic current.
  • FIG. 11 is a diagram showing an example of the relationship between the time evolution of the membrane potential of a spiking neuron and the threshold value.
  • the horizontal axis of the graph of FIG. 11 indicates time, and the vertical axis indicates potential.
  • Line L1001 indicates the membrane potential.
  • Vth indicates the threshold value of the membrane potential.
  • V reset indicates the reset value of the membrane potential.
  • tr rec 1 indicates the arrival time of the spike from the first spiking neuron among the spiking neurons in the previous stage with respect to the spiking neuron shown in FIG.
  • t rec 2 indicates the arrival time of the spike from the second spiking neuron.
  • tr rec 3 indicates the arrival time of the spike from the third spiking neuron.
  • the spiking neuron fires. That is, spiking neurons generate spikes. After that, the membrane potential v returns to the reset value V reset.
  • the generated spikes are transmitted to the spiking neurons in the subsequent stage with respect to the spiking neurons shown in FIG.
  • the membrane potential v has not reached the threshold value Vth.
  • the spike is reached at time t rec 2 , the membrane potential v reaches the threshold value V th , and immediately thereafter, it drops to the reset value V reset.
  • Patent Document 1 a technique related to firing of a spiking neuron model is described in Patent Document 1. Specifically, in Patent Document 1, when the threshold value of the membrane potential of a neuron is small, instead of reducing the threshold value of the membrane potential of the neuron in order to prevent the instability of the neuron due to the small threshold value of the membrane potential. It is described that the weight of the synapse corresponding to each of the neurons is increased.
  • the calculation load of the firing time of the spiking neuron is light.
  • An object of the present invention is to provide a neural network device, an ignition time calculation method, and a recording medium capable of solving the above-mentioned problems.
  • the membrane potential in the time from receiving a spike to receiving the next spike is indicated by a monotonic function of time
  • the ignition conditions are the membrane potential and the threshold value.
  • the membrane potential in the time from receiving a spike to receiving the next spike is indicated by a monotonic function of time, and the ignition conditions are the membrane potential and the threshold value. This includes narrowing down the candidates for the time interval in which the firing time of the spiking neuron is included in each time interval from the time when the spiking neuron receives the spike to the time when the spiking neuron receives the next spike. ..
  • the membrane potential in the time from one spike to the next spike is indicated by a computer as a monotonic function of time, and the ignition condition is the membrane potential. It is determined that the spiking neuron, which is shown by comparison with the threshold value, narrows down the candidates for the time interval including the firing time of the spiking neuron from each time interval from the time when the spike is received until the next time when the spike is received. Memorize the program to be executed.
  • the calculation load of the firing time of the spiking neuron can be relatively lightened.
  • FIG. 1 shows the example of the schematic structure of the neural network apparatus which concerns on embodiment. It is a figure which shows the 1st example of the schematic structure of the target model which concerns on embodiment. It is a figure which shows the 2nd example of the schematic structure of the target model which concerns on embodiment. It is a figure which shows the 3rd example of the schematic structure of the target model which concerns on embodiment. It is a figure for demonstrating the spiking neuron 100 provided in the target model which concerns on embodiment. It is a figure which shows the example of the time evolution of the membrane potential in the case of monotonically changing in each time interval about the spiking neuron which concerns on embodiment.
  • FIG. 1 is a diagram showing an example of a schematic configuration of a neural network device according to an embodiment.
  • the neural network device 10 includes a model storage unit 11 and a calculation unit 12.
  • the calculation unit 12 includes an ignition time calculation unit 13.
  • the neural network device 10 performs information processing using a spiking neural network.
  • the spiking neural network referred to here is a neural network in which spikes are transmitted between spiking neurons.
  • the spike referred to here is a signal transmitted from the spiking neuron that outputs the spike to the spiking neuron that receives the input, and the concept of the arrival time to the spiking neuron that receives the input exists.
  • the spike may be configured as a pulse signal or as a step signal, but is not limited thereto.
  • the spiking neuron here is (1) There is a concept of membrane potential that evolves over time, (2) The time evolution of the membrane potential of a spiking neuron depends on the arrival time of the spike input to the spiking neuron to the spiking neuron and the weighting coefficient set in the transmission path through which the spike passes. death, (3) By comparing the membrane potential with the threshold value, the presence or absence of firing of the spiking neuron (that is, the presence or absence of spike output) and the firing time in the case of firing are determined.
  • the processing performed by the neural network device 10 can be various processing that can be executed using the spiking neural network.
  • the neural network device 10 may perform image recognition, biometric authentication, or numerical prediction, but is not limited thereto.
  • the model storage unit 11 stores a spiking neural network model.
  • the spiking neural network model stored in the model storage unit 11 can have various structures and various scales.
  • the spiking neural network model stored in the model storage unit 11 may be configured in the form of a forward propagation type spiking neural network or may be configured in the form of a recurrent spiking neural network.
  • the spiking neural network model is also simply referred to as a neural network model.
  • the spiking neutral network model stored in the model storage unit 11 is also referred to as a target model.
  • FIG. 2 is a diagram showing a first example of the schematic configuration of the target model.
  • FIG. 2 shows an example in which the target model is configured as a forward propagation spiking neural network.
  • the forward propagation type here is one of the forms of a network, and is a network in which a connection exists from layer to layer and the information transmission is unidirectional.
  • Each layer of a forward-propagating spiking neural network is composed of one or more spiking neurons, and there are no connections between the spiking neurons in the same layer.
  • the spiking neural network 110 corresponding to the example of the target model includes a plurality of spiking neurons 100 and connections between the spiking neurons. Further, the spiking neuron 100 constitutes a plurality of layers 111. The spiking neural network 110 accepts inputs and returns outputs.
  • FIG. 3 is a diagram showing a second example of the schematic configuration of the target model.
  • FIG. 3 shows a more specific example of the target model in the case of being configured as the forward propagation type spiking neural network described with reference to FIG. Specifically, FIG. 3 shows an example in which the target model is configured as a forward-propagating four-layer spiking neural network, and each layer has three spiking neurons.
  • the spiking neural network 110 corresponding to the example of the target model includes four layers 111.
  • Each of layers 111 contains three spiking neurons 100.
  • they are referred to as layer 111-1, layer 111-2, layer 111-3, and layer 111-4 in order from the front stage side (data input side).
  • each of the spiking neurons 100 of the layer 111 on the front stage side and each of the spiking neurons 100 of the layer 111 on the rear stage side are connected.
  • a spike multiplied by the connection weight is input to the spiking neuron 100 in the rear layer 111 to be connected.
  • the connections between the spiking neurons 100 are shown by the transmission pathway 101.
  • the transmission pathway 101 corresponds to the simulation of nerve axons and synapses.
  • the layer 111 on the front stage side of the spiking neural network 110 (layer 111-1 in the example of FIG. 3) is called an input layer, and inputs a signal from the outside of the spiking neural network 110. accept.
  • the layer 111 on the last stage side (layer 111-4 in the example of FIG. 3) is called an output layer, and outputs a signal to the outside of the spiking neural network 110.
  • the layers between the input layer and the output layer are called hidden layers or intermediate layers.
  • the number of layers is not limited to four, and may be two or more. Further, the number of spiking neurons included in each layer is not limited to a specific number, and each layer may include one or more spiking neurons. Each layer may have the same number of spiking neurons, or different layers may have a different number of spiking neurons. Also, it is not necessary that all the spiking neurons in the anterior layer 111 and all the spiking neurons in the posterior layer 111 in the adjacent layers are connected.
  • FIG. 4 is a diagram showing a third example of the schematic configuration of the target model.
  • FIG. 4 shows an example in which the target model is configured as a recurrent spiking neural network.
  • Recurrent here is one of the forms of a network, and is a network having recursive coupling.
  • the configuration of a recurrent spiking neural network is that a spike generated by one spiking neuron is input directly to itself, or a spike is input to itself via another spiking neuron. It is a configuration that includes.
  • one recurrent spiking neural network may input spikes generated by one spiking neuron directly to itself, or spikes may be input to itself via another spiking neuron. May include both.
  • the spiking neural network 110 corresponding to the example of the target model includes a plurality of spiking neurons 100 and connections between the spiking neurons. This connection can be present from any spiking neuron to any spying neuron, and can also be connected to the source spiking neuron itself.
  • the connection between the spiking neurons 100 is shown by the transmission pathway 101.
  • the number of spiking neurons included in the target model when configured as a recurrent spiking neural network is not limited to a specific number, and may be one or more.
  • FIG. 5 is a diagram for explaining the spiking neuron 100 included in the target model.
  • the spiking neuron 100 receives input of data (spike weighted by a splicing weight) from one or more other spiking neurons 100 via the splicing shown in the transmission pathway 101 of FIG. Further, the spiking neuron 100 may receive data input from the spiking neuron 100 itself.
  • the spiking neuron 100 configured as an input node is outside the target model in addition to, or in lieu of, inputting data from one or more other spiking neurons 100 or the spiking neurons 100 themselves, or both. Accepts data (input data) input from.
  • the spiking neuron 100 outputs data (spikes) to one or more other spiking neurons 100 via the connection shown by the transmission path 101 in FIG. Further, the spiking neuron 100 may output data to the spiking neuron 100 itself. The spike output by the spiking neuron 100 is multiplied by the connection weight and input to the destination spiking neuron 100.
  • the spiking neuron 100 configured as an output node is outside the target model in addition to, or in lieu of, the output of data to one or more other spiking neurons 100 or the spiking neuron 100 itself, or both.
  • the spiking neuron 100 on the side that outputs spikes is also referred to as the spiking neuron 100 on the front stage side.
  • the spiking neuron 100 on the side receiving the input of the spike is also referred to as the spiking neuron 100 on the posterior stage side.
  • connection between the spiking neurons 100 is obtained by multiplying the potential of the spike output by the spiking neuron 100 on the front stage side by a weight coefficient (coupling weight) that is set for each connection and can be learned, and then on the rear stage side. It may be shown as an equation for calculating the potential of a spike input to the spiking neuron 100.
  • the membrane potential in the time interval from one spike to the next is indicated by a monotonic function of time. Is done.
  • the time interval referred to here is the time from a certain time to a certain time.
  • One or more of the spiking neurons 100 whose membrane potential in the time interval from receiving a spike to receiving the next spike is indicated by a monotonic function of time is the target of calculation of the firing time by the firing time calculation unit 13.
  • the membrane potential in the time interval from one spike to the next may be indicated by a monotonic function of time.
  • the firing time calculation unit 13 may calculate the firing times of all the spiking neurons 100 included in the target model.
  • the calculation unit 12 performs information processing by performing an operation on the target model. Specifically, the calculation unit 12 calculates the firing time of the spiking neuron included in the target model by the firing time calculation unit 13. The calculation unit 12 treats the calculated firing time as the arrival time of the spike to the spiking neuron in the subsequent stage with respect to the spiking neuron, and reflects it in the calculation of the firing time of the spiking neuron in the subsequent stage. Further, the calculation unit 12 outputs the calculation result of the ignition time of the output layer of the target model as the output of the target model.
  • the calculation unit 12 may calculate the time required for spike transmission.
  • the calculation unit 12 may further learn the target model. That is, the calculation unit 12 may adjust the model parameter values such as the connection weight between the spiking neurons included in the target model.
  • the firing time calculation unit 13 calculates the firing time of the spiking neuron included in the target model.
  • the ignition time calculation unit 13 corresponds to an example of the ignition time calculation means.
  • the calculation result of the ignition time by the ignition time calculation unit 13 may be no ignition.
  • the calculation result of no firing indicates that the spiking neuron for which the firing time is calculated does not fire within the period for which the firing time is calculated.
  • a target spiking neuron A spiking neuron that is connected to a target spiking neuron and outputs a spike to the target spiking neuron is called a pre-stage spiking neuron.
  • a spiking neuron that is connected to a target spiking neuron and receives spike input from the target spiking neuron is called a posterior spiking neuron.
  • the condition is imposed on the target spiking neuron that the membrane potential in the time interval from the time when the spike is received to the time when the next spike is received is expressed by a monotonic function.
  • the monotonic function here may be any of a monotonic increase function in a broad sense, a monotonic increase function in a narrow sense, a monotonic decrease function in a broad sense, or a monotonic decrease function in a narrow sense.
  • the membrane potential may be indicated by a different type of monotonic function among the above-mentioned four types of monotonic functions, depending on the time interval from the time when the target spiking neuron receives the spike to the time when the target spiked neuron receives the next spike. For example, the membrane potential may monotonically increase in one time interval and may decrease monotonically in another time interval.
  • N is the number of connections to the target spiking neuron.
  • w j is the bond weight for the j-th bond.
  • trec j is the arrival time of the spike input by the jth bond.
  • “J” of trec j is identification information for identifying a bond.
  • the "j" of trec j also functions as identification information for identifying the spike.
  • the "j" as the identification information for identifying the spike is also referred to as the spike index. Even when there are inputs of a plurality of spikes from one combination, it is possible to associate an index for each spike and think in the same way.
  • is a step function and is expressed as in Eq. (3).
  • the spike indexes are rearranged in the order of earliest firing time. That is, indexes 1, 2, ..., N that satisfy the equation (5) are used.
  • the membrane potential v when the target spiking neuron receives the k-th spike can be expressed by Eq. (9) by substituting trec k for t in Eq. (4).
  • v ( trec k ) that is, the membrane potential v at the arrival time trec k of the kth spike is also expressed as v [k].
  • ws is defined as the equation (10).
  • ws [k + 1] can be calculated efficiently using ws [k].
  • wts [k + 1] can be calculated efficiently using wts [k].
  • the spiking neuron fires when the membrane potential v reaches the threshold value from a state smaller than the threshold value, it fires in a time interval in which the membrane potential v monotonically increases as shown in the equation (15).
  • FIG. 6 is a diagram showing an example of the time evolution of the membrane potential when it is monotonous within each time interval.
  • the horizontal axis of the graph of FIG. 6 indicates time, and the vertical axis indicates potential.
  • Vth indicates the threshold value of the membrane potential.
  • the line L1 indicates the membrane potential.
  • the time trec k-1 indicates the k-1th arrival time of the spike arrival times from the pre-stage spiking neuron.
  • Membrane potential v [k-1] indicates the membrane potential of the target spiking neuron at the arrival time of the k-1 th.
  • the time trek k indicates the kth arrival time of the spike arrival times from the pre-stage spiking neuron.
  • Membrane potential v [k] indicates the membrane potential of the target spiking neuron at the kth arrival time.
  • the time trec k + 1 indicates the k + 1st arrival time of the spike arrival times from the pre-stage spiking neuron.
  • Membrane potential v [k + 1] indicates the membrane potential of the target spiking neuron at the k + 1th arrival time.
  • the membrane potentials v [1] to v [k] at each time from time trec 1 to trec k are all lower (smaller) than the threshold value V th.
  • the membrane potential v [k + 1] at time trec k + 1 is higher (larger) than the threshold value Vth.
  • the time when the membrane potential becomes equal to the threshold value Vth within the time interval [ trec k , trec k + 1 ] from the time trek k to trec k + 1 that is, the firing time of the target spiking neuron. tfir exists.
  • the firing time calculation unit 13 sets the time interval including the firing time of the target spiking neuron from the k-th arrival time trec k of the previous stage spike neuron to the k + 1th arrival time trec k + 1. It can be specified as [ trec k , trec k + 1].
  • FIG. 6 shows an example in which the membrane potential v is not reset when the membrane potential v reaches the threshold Vth.
  • the firing time calculation unit 13 may treat the target spiking neuron as performing the m-th firing.
  • the firing time tfil of the target spiking neuron can be calculated by equation (17).
  • FIG. 7 is a flowchart showing an example of a processing procedure in which the neural network device 10 calculates the firing time of the target spiking neuron.
  • the ignition time calculation unit 13 sets the value of the index k of the arrival time of the spike to 1. Substitution is indicated by " ⁇ ".
  • Step S102 The ignition time calculation unit 13 calculates the value of ws [k] and the value of wts [k]. If the neural network device 10 is executing the calculation of a plurality of spiking neurons in parallel and the k-th spike has not yet reached the target spiking neuron, the firing time calculation unit 13 has reached the k-th spike.
  • the process of step S102 can be performed after waiting for. In the case of k ⁇ 2, that is, in the second and subsequent executions of the process of step S102, as shown in the above equations (12) and (13), the firing time calculation unit 13 performs the process of the previous step S102. The calculation can be performed efficiently using the calculation result in.
  • Step S103 The firing time calculation unit 13 determines whether or not the value of ws [k] calculated in step S102 is larger than 0. This is because, as described above, when ws [k] ⁇ 0, it is possible to omit the determination as to whether or not the equation (15) is satisfied. If it is determined that ws [k]> 0 (step S103: YES), the process proceeds to step S111. When it is determined that ws [k] ⁇ 0 (step S103: NO), the process proceeds to step S161.
  • step S111: NO the process proceeds to step S121.
  • the process proceeds to step S131.
  • Step S121 The ignition time calculation unit 13 calculates v [k + 1]. As shown in the above equation (14), the ignition time calculation unit 13 can efficiently calculate v [k + 1] using ws [k] and wts [k]. If the neural network device 10 is executing the calculation of a plurality of spiking neurons in parallel and the k + 1st spike has not yet reached the target spiking neuron, the firing time calculation unit 13 has reached the k + 1st spike. The process of step S121 can be performed after waiting for.
  • Step S122 The firing time calculation unit 13 determines whether or not the target spiking neuron fires during the time interval [ trec k , trec k + 1 ] from the time trek k to trec k + 1. Specifically, the firing time calculation unit 13 determines whether or not v [k] ⁇ Vth ⁇ v [k + 1] shown in the above equation (15) is satisfied.
  • step S122 When the firing time calculation unit 13 performs the process of step S122, since the target spiking neuron has not fired by the time trek k , v [k] ⁇ Vth is satisfied. Therefore, the firing time calculation unit 13 need only determine whether or not the inequality on the right side of the equation (15) is satisfied, that is, whether or not Vth ⁇ v [k + 1] is satisfied. When it is determined that v [k] ⁇ V th ⁇ v [k + 1] is satisfied (step S122: YES), the process proceeds to step S131. When it is determined that v [k] ⁇ V th ⁇ v [k + 1] is not satisfied (step S122: NO), the process proceeds to step S141.
  • Step S131 The firing time calculation unit 13 calculates and outputs the firing time of the target spiking neuron within the time interval [ trec k , trec k + 1 ] from the time trek k to trec k + 1.
  • Step S122 If YES in process transitions to step S131, the same as that described with reference to FIG. 6, the intermediate value theorem from the time t rec k from t rec k + time interval [t rec k to 1, The firing time t fil of the target spiking neuron exists in the trec k + 1].
  • the firing time calculation unit 13 uses the above equation ( The ignition time can be calculated using 17).
  • step S103 YES. Therefore, after time trec N , the membrane potential of the target spiking neuron increases monotonically. Further, the target spiking neuron has not fired by the time trec N , and v [N] ⁇ V th is established. As a result, at a certain time after the time trec N , the membrane potential v [N] of the target spiking neuron reaches the threshold value Vth. That is, after the time trec N , the firing time tfil of the target spiking neuron always exists.
  • Step S141 The firing time calculation unit 13 increases the value of the index k by 1. After step S141, processing returns to step S102.
  • Step S151 The firing time calculation unit 13 calculates that the target spiking neuron does not fire. Therefore, the firing time calculation unit 13 outputs the information that there is no firing as the calculation result of the firing time of the target spiking neuron.
  • ws [N] ⁇ 0 is established by step S103: NO. Therefore, after time trec N , the membrane potential of the target spiking neuron is monotonically decreased (at least in a broad sense). Further, the target spiking neuron has not fired by the time trec N , and v [N] ⁇ V th is established.
  • the neural network device 10 ends the process of FIG. 7.
  • the membrane potential in the time from receiving the spike to the next spike is indicated by a monotonic function of time, and the firing condition is indicated by the comparison between the membrane potential and the threshold value.
  • the firing time calculation unit 13 narrows down the candidates for the time section including the firing time of the target spiking neuron from each time section from receiving the spike to receiving the next spike. According to the neural network device 10, the time interval for which the firing time is calculated can be narrowed down, and in this respect, the calculation load of the firing time of the target spiking neuron can be relatively lightened.
  • the process of obtaining the ignition time within that time interval may be performed only once.
  • the process for obtaining the ignition time includes division, the number of times of division is only one.
  • the division circuit can be made small and the circuit area can be relatively small.
  • the firing time calculation unit 13 specifies a time interval including the firing time of the target spiking neuron in the time interval based on the comparison between the membrane potential and the threshold value for each time when the spiking neuron receives the spike.
  • the membrane potential at each time when the spiking neuron receives the spike may be calculated. Therefore, for the time interval excluded from the candidates including the firing time, it is not necessary to calculate the membrane potential in the time after the spiking neuron receives the spike and before the next spike.
  • the calculation load of the firing time of the target spiking neuron can be relatively lightened.
  • the firing time calculation unit 13 sets the membrane potential at each time when the spiking neuron receives the spike, and the weighting coefficient (coupling weight) for all the spikes received by the spiking neuron before receiving the spike of the membrane potential calculation target. Calculated using the series with respect to.
  • the value of the series calculated when the spiked neuron received the spike last time can be used. According to the neural network device 10, in this respect, the calculation load of the firing time of the target spiking neuron can be relatively lightened.
  • the firing time calculation unit 13 is based on whether or not the sum of the weighting coefficients (coupling weights) for all the spikes received by the spiking neuron before receiving a certain spike is correct, and the firing time is not included. Specify the section.
  • a time interval that does not include the firing time is specified by a simple calculation of calculating the total of the weighting factors and a simple process of determining whether or not the calculated total is correct, and the firing time is set. Can be excluded from the candidates for the time interval that includes.
  • the calculation load of the firing time of the target spiking neuron can be relatively lightened.
  • the total weight coefficient calculated when the spiked neuron received the spike last time can be used. According to the neural network device 10, the calculation load of the firing time of the target spiking neuron can be further reduced in this respect.
  • the firing time calculation unit 13 is the sum of the weighting factors ws [k] for all spikes received by the threshold Vth and the start time trick k of the time interval determined to include the firing time tfil of the target spiking neuron. ] and, for each spike experienced until the start time t rec k, based on the weighting factor for the spike and the total wts [k] of the product of the arrival time of the spike, it calculates the ignition time.
  • the firing time can be calculated by a simple calculation using these values.
  • the value of ws [k] and the value of wts [k] can be easily calculated as a series. According to the neural network device 10, in this respect, the calculation load of the firing time of the target spiking neuron can be relatively lightened.
  • FIG. 8 is a diagram showing a configuration example of the neural network device according to the embodiment.
  • the neural network device 200 includes an ignition time calculation unit 201.
  • the membrane potential in the time from receiving a spike to receiving the next spike is indicated by a monotonic function of time, and the ignition condition is indicated by comparison between the membrane potential and the threshold value. From each time interval from the time when the spiking neuron receives the spike to the time when the spiking neuron receives the next spike, the candidates for the time period including the firing time of the spiking neuron are narrowed down.
  • the ignition time calculation unit 201 corresponds to an example of the ignition time calculation means.
  • the time interval for which the firing time is calculated can be narrowed down, and in this respect, the calculation load of the firing time of the spiking neuron can be relatively lightened.
  • the process of obtaining the ignition time within that time interval may be performed only once.
  • the process for obtaining the ignition time includes division, the number of times of division is only one.
  • the division circuit can be made small and the circuit area can be relatively small.
  • FIG. 9 is a diagram showing an example of a processing procedure in the ignition time calculation method according to the embodiment.
  • the firing time calculation method shown in FIG. 9 includes a step (step S201) of calculating the firing time.
  • step S201 the membrane potential in the time from receiving a spike to receiving the next spike is indicated by a monotonic function of time, and the ignition condition is indicated by comparison between the membrane potential and the threshold value.
  • the candidates for the time period including the firing time of the spiking neuron are narrowed down.
  • the time interval for which the firing time is calculated can be narrowed down, and in this respect, the calculation load of the firing time of the spiking neuron can be relatively lightened.
  • the process of obtaining the ignition time within that time interval may be performed only once.
  • FIG. 10 is a schematic block diagram showing a configuration example of dedicated hardware according to at least one embodiment.
  • the dedicated hardware 500 includes a CPU 510, a main storage device 520, an auxiliary storage device 530, and an interface 540.
  • the operations of the calculation unit 12 and each unit thereof are stored in the auxiliary storage device 530 in the form of a program.
  • the CPU 510 reads a program from the auxiliary storage device 530, expands it to the main storage device 520, and executes the above processing according to the program. Further, the CPU 510 secures a storage area corresponding to the model storage unit 11 in the main storage device 520 according to the program.
  • the interface 540 has a communication function and is executed by communicating according to the control of the CPU 510.
  • the operation of the firing time calculation unit 201 is stored in the auxiliary storage device 530 in the form of a program.
  • the CPU 510 reads a program from the auxiliary storage device 530, expands it to the main storage device 520, and executes the above processing according to the program.
  • dedicated hardware 500 In addition to or instead of the dedicated hardware 500, general-purpose hardware such as a personal computer (PC) or Graphical Processing Unit (GPU) may be used, and the processing in this case is also the dedicated hardware described above. This is the same as the processing in the case of 500.
  • PC personal computer
  • GPU Graphical Processing Unit
  • a program for executing all or part of the processing performed by the neural network device 10 and the neural network device 200 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is recorded in the computer system. You may process each part by reading it into the computer and executing it.
  • the term "computer system” as used herein includes hardware such as an OS and peripheral devices.
  • the "computer-readable recording medium” includes a flexible disk, a magneto-optical disk, a portable medium such as a ROM (Read Only Memory) and a CD-ROM (Compact Disc Read Only Memory), and a hard disk built in a computer system. It refers to a storage device such as.
  • the above-mentioned program may be for realizing a part of the above-mentioned functions, and may be further realized for realizing the above-mentioned functions in combination with a program already recorded in the computer system.
  • the present invention may be applied to a neural network device, an ignition time calculation method, and a recording medium.

Abstract

ニューラルネットワーク装置が、スパイクを受けてから次のスパイクを受けるまでの時間における膜電位が時刻の単調関数で示され、発火条件が前記膜電位と閾値との比較で示されるスパイキングニューロンが、スパイクを受けてから次にスパイクを受けるまでの各時間区間のうち、前記スパイキングニューロンの発火時刻が含まれる時間区間の候補の絞り込みを行う。

Description

ニューラルネットワーク装置、発火時刻演算方法および記録媒体
 本発明は、ニューラルネットワーク装置、発火時刻演算方法および記録媒体に関する。
(スパイキングニューラルネットワークについて)
 ニューラルネットワークの一形態として、順伝搬型(Feed-Forward)スパイキングニューラルネットワーク(Spiking Neural Network;SNN)およびリカレント(Recurrent、再帰型)スパイキングニューラルネットワークといったスパイキングニューラルネットワークがある。スパイキングニューラルネットワークとは、スパイキングニューロンモデルが結合しネットワークを形成したものである。スパイキングニューロンモデルを、スパイキングニューロン、または、単にニューロンとも称する。
 スパイキングニューロンモデルは、生物学的神経細胞の細胞体部による多入力信号の統合およびスパイクの生成を模擬する。スパイクの生成を発火とも称する。スパイキングニューロンモデルの結合には前段後段の関係が有り、前段側のスパイキングニューロンモデルが発火すると後段側のスパイキングニューロンモデルへスパイクが伝達される。
(スパイキングニューロンモデルの説明)
 スパイキングニューロンモデルは、膜電位を内部状態として持ち、膜電位が時間発展するモデルである。一般的なスパイキングニューロンモデルとして、漏れ積分発火ニューロンモデルが知られており、膜電位が式(1)のような微分方程式に従って時間発展する。
Figure JPOXMLDOC01-appb-M000001
 ここで、vは、スパイキングニューロンにおける膜電位を示す。αleakは、漏れ積分発火モデルにおける漏れの大きさを示す定数の係数である。Iは、スパイキングニューロンにおけるシナプス後電流を示す。wは、スパイキングニューロンへの結合の強さを示す係数であり、結合重み(Connection Weight)と呼ばれる。
 tは時刻を示す。trec jは、式(1)で示されるスパイキングニューロンに対して前段のスパイキングニューロンのうちj番目のスパイキングニューロンからのスパイクの到達時刻を示す。r(・)は前段のスパイキングニューロンから伝達されたスパイクがシナプス後電流へ与える影響を示す関数である。
 膜電位が所定の閾値に達すると、スパイキングニューロンが発火する。
 図11は、スパイキングニューロンの膜電位の時間発展と閾値との関係の例を示す図である。図11のグラフの横軸は時刻を示し、縦軸は、電位を示す。
 線L1001は、膜電位を示す。Vthは、膜電位の閾値を示す。Vresetは、膜電位のリセット値を示す。trec は、図11に示されるスパイキングニューロンに対して前段のスパイキングニューロンのうち1番目のスパイキングニューロンからのスパイクの到達時刻を示す。trec は2番目のスパイキングニューロンからのスパイクの到達時刻を示す。trec は3番目のスパイキングニューロンからのスパイクの到達時刻を示す。
 図11の例で、膜電位vが閾値Vthに達すると、スパイキングニューロンは発火する。すなわち、スパイキングニューロンはスパイクを生成する。その後、膜電位vはリセット値Vresetへと戻る。また、生成されたスパイクは、図11に示されるスパイキングニューロンに対して後段のスパイキングニューロンへと伝達される。
 時刻trec におけるスパイク到達、および、時刻trec におけるスパイク到達では、何れも膜電位vは閾値Vthに達していない。一方、時刻trec におけるスパイク到達では、膜電位vが閾値Vthに達し、その後すぐに、リセット値であるVresetに低下している。
 また、スパイキングニューロンモデルの発火に関連する技術が、特許文献1に記載されている。具体的には、特許文献1には、ニューロンの膜電位の閾値が小さい場合に、膜電位の閾値が小さいことによるニューロンの不安定を防止するために、ニューロンの膜電位の閾値を小さくする代わりに、ニューロンの各々に対応するシナプスの重みを増加させることが記載されている。
特開2017-134821号公報
 スパイキングニューロンの発火時刻の計算負荷が軽いことが好ましい。
 本発明は、上述の課題を解決することのできるニューラルネットワーク装置、発火時刻演算方法および記録媒体を提供することを目的としている。
 本発明の第1の態様によれば、ニューラルネットワーク装置は、スパイクを受けてから次のスパイクを受けるまでの時間における膜電位が時刻の単調関数で示され、発火条件が前記膜電位と閾値との比較で示されるスパイキングニューロンが、スパイクを受けてから次にスパイクを受けるまでの各時間区間のうち、前記スパイキングニューロンの発火時刻が含まれる時間区間の候補の絞り込みを行う発火時刻演算手段を備える。
 本発明の第2の態様によれば、発火時刻演算方法は、スパイクを受けてから次のスパイクを受けるまでの時間における膜電位が時刻の単調関数で示され、発火条件が前記膜電位と閾値との比較で示されるスパイキングニューロンが、スパイクを受けてから次にスパイクを受けるまでの各時間区間のうち、前記スパイキングニューロンの発火時刻が含まれる時間区間の候補の絞り込みを行うことを含む。
 本発明の第3の態様によれば、記録媒体は、コンピュータに、スパイクを受けてから次のスパイクを受けるまでの時間における膜電位が時刻の単調関数で示され、発火条件が前記膜電位と閾値との比較で示されるスパイキングニューロンが、スパイクを受けてから次にスパイクを受けるまでの各時間区間のうち、前記スパイキングニューロンの発火時刻が含まれる時間区間の候補の絞り込みを行うことを実行させるためのプログラムを記憶する。
 本発明によれば、スパイキングニューロンの発火時刻の計算負荷を比較的軽くすることができる。
実施形態に係るニューラルネットワーク装置の概略構成の例を示す図である。 実施形態に係る対象モデルの概略構成の第1例を示す図である。 実施形態に係る対象モデルの概略構成の第2例を示す図である。 実施形態に係る対象モデルの概略構成の第3例を示す図である。 実施形態に係る対象モデルが備えるスパイキングニューロン100について説明するための図である。 実施形態に係るスパイキングニューロンについて、各時間区間内で単調変化する場合の膜電位の時間発展の例を示す図である。 実施形態に係るニューラルネットワーク装置が対象スパイキングニューロンの発火時刻を計算する処理手順の例を示すフローチャートである。 実施形態に係るニューラルネットワーク装置の構成例を示す図である。 実施形態に係る発火時刻演算方法における処理手順の例を示す図である。 少なくとも1つの実施形態に係る専用ハードウェアの構成例を示す概略ブロック図である。 スパイキングニューロンの膜電位の時間発展と閾値との関係の例を示す図である。
 以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲に係る発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
(実施形態に係るニューラルネットワークシステムの構成について)
 図1は、実施形態に係るニューラルネットワーク装置の概略構成の例を示す図である。図1に示す構成で、ニューラルネットワーク装置10は、モデル記憶部11と、計算部12とを備える。計算部12は、発火時刻演算部13を備える。
 ニューラルネットワーク装置10は、スパイキングニューラルネットワークを用いて情報処理を行う。
 ここでいうスパイキングニューラルネットワークは、スパイキングニューロン間でスパイクが伝達されるニューラルネットワークである。ここでいうスパイクは、そのスパイクを出力するスパイキングニューロンから入力を受けるスパイキングニューロンへ伝達され、入力を受けるスパイキングニューロンへの到達時刻の概念が存在する信号である。例えば、スパイクが、パルス信号として構成されていてもよいし、ステップ信号として構成されていてもよいが、これらに限定されない。
 ここでいうスパイキングニューロンは、
(1)時間発展する膜電位の概念が存在し、
(2)スパイキングニューロンの膜電位の時間発展が、そのスパイキングニューロンに入力されるスパイクの、そのスパイキングニューロンへの到達時刻と、そのスパイクが通る伝達経路に設定される重み係数とに依存し、
(3)膜電位と閾値との比較によって、スパイキングニューロンの発火の有無(すなわち、スパイクの出力の有無)、および、発火有りの場合の発火時刻が定まる
ニューロンである。
 ニューラルネットワーク装置10が行う処理は、スパイキングニューラルネットワークを用いて実行可能ないろいろな処理とすることができる。例えば、ニューラルネットワーク装置10が、画像認識、生体認証または数値予測を行うようにしてもよいが、これらに限定されない。
 モデル記憶部11は、スパイキングニューラルネットワークモデルを記憶する。モデル記憶部11が記憶するスパイキングニューラルネットワークモデルは、いろいろな構造かついろいろな規模のものとすることができる。例えば、モデル記憶部11が記憶するスパイキングニューラルネットワークモデルが、順伝搬型スパイキングニューラルネットワークの形式に構成されていてもよいし、リカレントスパイキングニューラルネットワークの形式に構成されていてもよい。
 スパイキングニューラルネットワークモデルを、単にニューラルネットワークモデルとも称する。モデル記憶部11が記憶するスパイキングニュラールネットワークモデルを対象モデルとも称する。
 図2は、対象モデルの概略構成の第1例を示す図である。図2は、対象モデルが順伝搬型スパイキングニューラルネットワークとして構成される場合の例を示している。
 ここでいう順伝搬型は、ネットワークの形態の一つであり、層から層へ結合が存在し、その情報伝達が一方向のネットワークのことである。順伝搬型スパイキングニューラルネットワークの各層は1つ以上のスパイキングニューロンで構成されており、同層内のスパイキングニューロン間の結合は存在しない。
 図2の例で、対象モデルの例に該当するスパイキングニューラルネットワーク110は、複数のスパイキングニューロン100と、スパイキングニューロン間の結合とを含む。また、スパイキングニューロン100は複数の層111を構成している。スパイキングニューラルネットワーク110は、入力を受け付け出力を返す。
 図3は、対象モデルの概略構成の第2例を示す図である。図3は、図2を参照して説明した順伝搬型スパイキングニューラルネットワークとして構成される場合の対象モデルの、さらに具体的な例を示している。具体的には、図3は、対象モデルが、順伝搬4層スパイキングニューラルネットワークとして構成され、各層が3つのスパイキングニューロンを有する場合の例を示している。
 図3の例で、対象モデルの例に該当するスパイキングニューラルネットワーク110は、4つの層111を含む。層111の各々は、3つのスパイキングニューロン100を含む。4つの層111を区別する場合、前段側(データ入力側)から順に、層111-1、層111-2、層111-3、層111-4と称する。
 また、隣接する2つの層111間で、前段側の層111のスパイキングニューロン100の各々と後段側の層111のスパイキングニューロン100の各々とが結合されている。前段側の層111のスパイキングニューロン100の発火時に、結合される後段側の層111のスパイキングニューロン100へ、結合重みを乗算されたスパイクが入力される。
 図3では、スパイキングニューロン100間の結合を、伝達経路101で示している。伝達経路101は、神経軸索とシナプスの模擬に相当する。
 順伝搬型の場合のスパイキングニューラルネットワーク110の最前段側の層111(図3の例では、層111-1)は入力層と呼ばれ、スパイキングニューラルネットワーク110の外部からの信号の入力を受け付ける。最後段側の層111(図3の例では層111-4)は出力層と呼ばれ、スパイキングニューラルネットワーク110の外部へ信号を出力する。入力層と出力層との間にある層(図3の例では、層111-2および111-3)は隠れ層もしくは中間層と呼ばれる。
 ただし、対象モデルが順伝搬型スパイキングニューラルネットワークとして構成される場合の層数は、4層に限定されず2層以上であればよい。また、各層が備えるスパイキングニューロンの個数は特定の個数に限定されず、各層が1つ以上のスパイキングニューロンを備えていればよい。各層が同じ個数のスパイキングニューロンを備えていてもよいし、層によって異なる個数のスパイキングニューロンを備えていてもよい。また、隣り合う層における前段側の層111の全てのスパイキングニューロンと後段側の層111の全てのスパイキングニューロンとが結合されている必要は無い。
 図4は、対象モデルの概略構成の第3例を示す図である。図4は、対象モデルがリカレントスパイキングニューラルネットワークとして構成される場合の例を示している。
 ここでいうリカレントは、ネットワークの形態の一つであり、再帰結合をもつネットワークのことである。リカレントスパイキングニューラルネットワークの構成は、あるスパイキングニューロンで発生したスパイクが、直接自分自身へ入力される場合、または、他のスパイキングニューロンを経由して、自分自身へスパイクが入力される場合を含む構成である。あるいは、1つのリカレントスパイキングニューラルネットワークが、あるスパイキングニューロンで発生したスパイクが、直接自分自身へ入力される場合と、他のスパイキングニューロンを介して、自分自身へスパイクが入力される場合との両方を含んでいてもよい。
 図4の例で、対象モデルの例に該当するスパイキングニューラルネットワーク110は、複数のスパイキングニューロン100と、スパイキングニューロン間の結合とを含む。この結合は、どのスパイキングニューロンからどのスパイキングニューロンへも存在することが可能であり、さらに出力元のスパイキングニューロン自らへの結合も可能である。
 図3の場合と同様、図4でも、スパイキングニューロン100間の結合を、伝達経路101で示している。
 ただし、リカレントスパイキングニューラルネットワークとして構成される場合の対象モデルが備えるスパイキングニューロンの個数は、特定の個数に限定されず、1つ以上であればよい。
 図5は、対象モデルが備えるスパイキングニューロン100について説明するための図である。
 スパイキングニューロン100は、図5の伝達経路101で示される結合を介して、他の1個以上のスパイキングニューロン100からデータ(結合重みで重み付けされたスパイク)の入力を受ける。さらに、スパイキングニューロン100が、スパイキングニューロン100自らからもデータの入力を受けるようにしてもよい。
 入力ノードとして構成されるスパイキングニューロン100は、他の1個以上のスパイキングニューロン100またはスパイキングニューロン100自ら、またはこれらの両方からのデータの入力に加えて、あるいは代えて、対象モデルの外部からのデータ(入力データ)の入力を受け付ける。
 また、スパイキングニューロン100は、図5の伝達経路101で示される結合を介して、他の1個以上のスパイキングニューロン100へデータ(スパイク)を出力する。さらに、スパイキングニューロン100が、スパイキングニューロン100自らへもデータを出力するようにしてもよい。スパイキングニューロン100が出力したスパイクは、結合重みを乗算されて、伝達先のスパイキングニューロン100に入力される。
 出力ノードとして構成されるスパイキングニューロン100は、他の1個以上のスパイキングニューロン100またはスパイキングニューロン100自ら、またはこれらの両方へのデータの出力に加えて、あるいは代えて、対象モデルの外部へデータ(出力データ)を出力する。
 結合された2つのスパイキングニューロン100のうち、スパイクを出力する側のスパイキングニューロン100を、前段側のスパイキングニューロン100とも称する。スパイクの入力を受ける側のスパイキングニューロン100を、後段側のスパイキングニューロン100とも称する。
 対象モデルにおいて、スパイキングニューロン100間の結合は、前段側のスパイキングニューロン100が出力するスパイクの電位に、結合毎に設定され学習可能な重み係数(結合重み)を乗算して、後段側のスパイキングニューロン100に入力されるスパイクの電位を計算する式として示されていてもよい。
 スパイキングニューロン100(対象モデルに含まれるスパイキングニューロン)のうち1つ以上のスパイキングニューロン100では、スパイクを受けてから次のスパイクを受けるまでの時間区間における膜電位が時刻の単調関数で示される。ここでいう時間区間は、ある時刻からある時刻までの時間である。
 この、スパイクを受けてから次のスパイクを受けるまでの時間区間における膜電位が時刻の単調関数で示されるスパイキングニューロン100のうち1つ以上が、発火時刻演算部13による発火時刻の計算対象のスパイキングニューロン100として扱われる。
 対象モデルに含まれる全てのスパイキングニューロン100で、スパイクを受けてから次のスパイクを受けるまでの時間区間における膜電位が、時刻の単調関数で示されていてもよい。また、発火時刻演算部13が、対象モデルに含まれる全てのスパイキングニューロン100の発火時刻を計算するようにしてもよい。
 計算部12は、対象モデルの演算を行うことで、情報処理を行う。具体的には、計算部12は、対象モデルに含まれるスパイキングニューロンの発火時刻を、発火時刻演算部13にて算出する。計算部12は、算出された発火時刻を、そのスパイキングニューロンに対する後段のスパイキングニューロンへのスパイクの到達時刻として扱い、後段のスパイキングニューロンの発火時刻の算出に反映させる。また、計算部12は、対象モデルの出力層の発火時刻の計算結果を、対象モデルの出力として出力する。
 なお、接続されている2つのスパイキングニューロンのうち前段側のスパイキングニューロンで生成されたスパイクが、直ちに後段側のスパイキングニューロンに伝達されるものとする。これにより、前段側のスパイキングニューロンの発火時刻を、後段側のスパイキングニューロンへのスパイクの到達時刻としても用いることができるものとする。
 あるいは、この条件が成立しない対象モデルの場合は、計算部12が、スパイクの伝達に要する時間を計算するようにしてもよい。
 計算部12が、さらに、対象モデルの学習を行うようにしてもよい。すなわち、計算部12が、対象モデルに含まれるスパイキングニューロン間の結合重みなどのモデルパラメータ値を調整するようにしてもよい。
 発火時刻演算部13は、対象モデルに含まれるスパイキングニューロンの発火時刻を計算する。発火時刻演算部13は、発火時刻演算手段の例に該当する。
 発火時刻演算部13による発火時刻の計算結果が、発火無しとなってもよい。発火無しとの計算結果は、発火時刻計算対象のスパイキングニューロンが、発火時刻計算対象の期間内には発火しないことを示す。
(実施形態に係るニューラルネットワーク装置の発火時刻演算手法について)
 発火時刻演算部13によるスパイキングニューロンの発火時刻の計算についてさらに説明する。発火時刻演算部13が発火時刻を計算するスパイキングニューロンのうちの1つを対象スパイキングニューロンと称する。対象スパイキングニューロンと結合され、対象スパイキングニューロンへスパイクを出力するスパイキングニューロンを、前段スパイキングニューロンと称する。対象スパイキングニューロンと結合され、対象スパイキングニューロンからのスパイクの入力を受けるスパイキングニューロンを、後段スパイキングニューロンと称する。
 上述したように、対象スパイキングニューロンに対し、スパイクを受けた時刻から次にスパイクを受ける時刻までの時間区間における膜電位が単調関数で示されるという条件を課す。
 ここでの単調関数は、広義の単調増加関数、狭義の単調増加関数、広義の単調減少関数、または、狭義の単調減少関数の何れであってもよい。対象スパイキングニューロンがスパイクを受けた時刻から次にスパイクを受ける時刻までの時間区間によって、上述した4種類の単調関数のうち異なる種類の単調関数で膜電位が示されていてもよい。例えば、ある時間区間では膜電位が単調増加し、別のある時間区間では膜電位が単調減少していてもよい。
 スパイキングニューロンがスパイクを受けた時刻から次にスパイクを受ける時刻までの時間区間における膜電位が単調関数で示される、という条件を満たす対象スパイキングニューロンの例の1つは、式(2)によって示される。
Figure JPOXMLDOC01-appb-M000002
 Nは対象スパイキングニューロンへの結合の個数である。wはj番目の結合に関する結合重みである。trec はj番目の結合によって入力されるスパイクの到達時刻である。
 ここでは各結合において最大一度のスパイクの入力しかない場合を考える。trec の「j」は、結合を識別する識別情報である。また、1つの結合から最大一度のスパイクがスパイキングニューロンに入力されることから、trec の「j」は、スパイクを識別する識別情報としても機能する。スパイクを識別する識別情報としての「j」を、スパイクのインデックスとも称する。1つの結合から複数のスパイクの入力がある場合も、スパイク毎にインデックスを紐付けて、同様に考えることができる。
 θはステップ関数であり、式(3)のように示される。
Figure JPOXMLDOC01-appb-M000003
 式(2)の解析解は、式(4)のように示される。
Figure JPOXMLDOC01-appb-M000004
 ここで、表記を簡単にするために、スパイクのインデックスを発火時時刻が早い順に並べなおして表現する。つまり式(5)を満たすようなインデックス1、2、・・・、Nを用いる。
Figure JPOXMLDOC01-appb-M000005
 なお、並べなおされたインデックスと元のインデックスとは一対一に対応付けられるので、並べなおされたインデックス表示から元のインデックス表示に戻すことは容易に行える。この並べなおされたインデックス表示の下で、2つの時刻t、tを、式(6)を満たす任意の時刻とする。
Figure JPOXMLDOC01-appb-M000006
 この場合、膜電位vが広義の単調増加関数で示されるという条件は、式(7)のように示される。
Figure JPOXMLDOC01-appb-M000007
 狭義の単調増加の場合は、式(6)の「t≦t」を「t<t」で置き換え、式(7)の「v(t)≦v(t)を「v(t)<v(t)」で置き換える。
 膜電位vが広義の単調減少関数で示されるという条件は、式(8)のように示される。
Figure JPOXMLDOC01-appb-M000008
 狭義の単調減少の場合は、式(6)の「t≦t」を「t<t」で置き換え、式(8)の「v(t)≧v(t)を「v(t)>v(t)」で置き換える。
 対象スパイキングニューロンがk番目のスパイクを受けたときの膜電位vは、式(4)のtにtrec を代入して式(9)のように表すことができる。
Figure JPOXMLDOC01-appb-M000009
 式(9)に示すように、v(trec )、すなわち、k番目のスパイクの到達時刻trec における膜電位vを、v[k]とも表記する。
 さらにここで、wsを式(10)のように定義する。
Figure JPOXMLDOC01-appb-M000010
 「:=」は、定義式であることを示す。
 また、wtsを式(11)のように定義する。
Figure JPOXMLDOC01-appb-M000011
 式(12)のように、ws[k]を用いてws[k+1]を効率的に計算できる。
Figure JPOXMLDOC01-appb-M000012
 式(13)のように、wts[k]を用いてwts[k+1]を効率的に計算できる。
Figure JPOXMLDOC01-appb-M000013
 式(9)、(10)および(11)より、膜電位v[k]はwsおよびwtsを用いて式(14)のように表される。
Figure JPOXMLDOC01-appb-M000014
 ここで、膜電位vは、1≦k≦N-1を満たす任意の整数kについて、時刻trec から時刻trec k+1までの間の時間区間[trec ,trec k+1]で単調なので、スパイキングニューロンがこの時間区間内に発火する必要十分条件は、式(15)のように表すことができる。
Figure JPOXMLDOC01-appb-M000015
 スパイキングニューロンは、膜電位vが閾値よりも小さい状態から閾値に達したときに発火するので、式(15)に示されるように、膜電位vが単調増加する時間区間で発火する。
 図6は、各時間区間内で単調である場合の膜電位の時間発展の例を示す図である。図6のグラフの横軸は時刻を示し、縦軸は電位を示す。
 Vthは、膜電位の閾値を示す。線L1は、膜電位を示す。
 時刻trec k-1は、前段スパイキングニューロンからのスパイク到達時刻のうちk-1番目の到達時刻を示す。膜電位v[k-1]は、k-1番目の到達時刻における対象スパイキングニューロンの膜電位を示す。
 時刻trec は、前段スパイキングニューロンからのスパイク到達時刻のうちk番目の到達時刻を示す。膜電位v[k]は、k番目の到達時刻における対象スパイキングニューロンの膜電位を示す。
 時刻trec k+1は、前段スパイキングニューロンからのスパイク到達時刻のうちk+1番目の到達時刻を示す。膜電位v[k+1]は、k+1番目の到達時刻における対象スパイキングニューロンの膜電位を示す。
 図6の例で、時刻trec からtrec までの各時刻における膜電位v[1]からv[k]までは、何れも閾値Vthよりも低い(小さい)。一方、時刻trec k+1における膜電位v[k+1]は、閾値Vthよりも高い(大きい)。中間値の定理より、時刻trec からtrec k+1までの時間区間[trec ,trec k+1]内に、膜電位が閾値Vthと等しくなる時刻、すなわち、対象スパイキングニューロンの発火時刻tfirが存在する。
 発火時刻演算部13が、前段スパイキングニューロンからのスパイクの到達時刻trec 、trec 、・・・の順に、膜電位v[1]、v[2]、・・・と閾値Vthとを比較し、膜電位vが閾値Vthよりも高くなる最初の到達時刻trec k+1を特定するようにしてもよい。これにより、発火時刻演算部13は、対象スパイキングニューロンの発火時刻が含まれる時間区間を、前段スパイクニューロンのk番目の到達時刻trec から、k+1番目の到達時刻trec k+1までの時間区間[trec ,trec k+1]に特定することができる。
 図6は、膜電位vが閾値Vthに達したときに膜電位vのリセットを行わない場合の例を示している。1つのスパイキングニューロンが最大で1回のみ発火するという条件が設けられている場合は、2回目以降の発火の有無を判定する必要がなく、したがって、膜電位vをリセットする必要もない。
 一方、1つのスパイキングニューロンが2回以上発火し得る場合は、発火時刻演算部13が、膜電位vが閾値Vthに達していると判定した時刻の膜電位vから、閾値Vthに相当する電位を減算するようにしてもよい。
 図6の例の場合、発火時刻演算部13は、時刻trec k+1における膜電位v[k+1]が閾値Vthに達している(v[k+1]≧Vth)と判定する。そこで、発火時刻演算部13が、時刻trec k+1における膜電位v[k+1]から閾値Vthを減算する(v[k+1]:=v[k+1]-Vth)ようにしてもよい。そして、発火時刻演算部13が、閾値Vthを減算した後のv[k+1]に基づいてv[k+2]、v[k+3]、・・・を算出するようにしてもよい。
 あるいは、mを1、2、・・・として、mVthの閾値を設定しておくようにしてもよい。そして、発火時刻演算部13が、膜電位vがmVthの閾値に到達した場合、対象スパイキングニューロンがm回目の発火を行うものとして扱うようにしてもよい。
 時刻trec から時刻trec k+1までの時間区間[trec ,trec k+1]における膜電位が時刻の1次関数で示される場合、式(15)を満たすkが見つかれば、対象スパイキングニューロンの発火時刻tfirについて、式(4)を用いて式(16)が得られる。
Figure JPOXMLDOC01-appb-M000016
 式(16)を解くと、対象スパイキングニューロンの発火時刻tfirは式(17)で計算することができる。
Figure JPOXMLDOC01-appb-M000017
(実施形態に係るニューラルネットワーク装置の発火時刻演算の省略手法について)
 発火時刻tfirを含む時間区間を特定するための式(15)を満たすkを効率的に計算する手法を説明する。式(12)から式(14)までに基づくと、膜電位が式(18)を満たすことがわかる。
Figure JPOXMLDOC01-appb-M000018
 ここで、0≦trec k+1-trec であるため、ws[k]≦0であればv[k+1]≦v[k]となり、発火の条件式である式(15)を満たさないことがわかる。そこで、発火時刻演算部13がws[k]の符号を判定し、ws[k]≦0と判定した場合は、そのkについて式(15)を満たすか否かの判定を省略するようにしてもよい。この場合、発火時刻演算部13は、式(14)によるv[k+1]の計算を省略することができる。
(実施形態に係るニューラルネットワークの動作)
 図7は、ニューラルネットワーク装置10が対象スパイキングニューロンの発火時刻を計算する処理手順の例を示すフローチャートである。
(ステップS101)
 発火時刻演算部13は、スパイクの到着時刻のインデックスkの値を1に設定する。代入を「←」で示している。
(ステップS102)
 発火時刻演算部13は、ws[k]の値、およびwts[k]の値を計算する。
 ニューラルネットワーク装置10が複数のスパイキングニューロンの計算を並列実行しており、対象スパイキングニューロンにk番目のスパイクが未だ到達していない場合は、発火時刻演算部13は、k番目のスパイクの到達を待ってステップS102の処理を行うことができる。
 k≧2の場合、すなわち、ステップS102の処理の2回目以降の実行では、上記の式(12)および式(13)に示されるように、発火時刻演算部13は、前回のステップS102の処理における計算結果を用いて効率的に計算を行うことができる。
(ステップS103)
 発火時刻演算部13は、ステップS102で計算したws[k]の値が0より大きいか否かを判定する。上述したように、ws[k]≦0の場合は、式(15)を満たすか否かの判定を省略できるからである。
 ws[k]>0であると判定した場合(ステップS103:YES)、処理がステップS111へ進む。
 ws[k]≦0であると判定した場合(ステップS103:NO)、処理がステップS161へ進む。
(ステップS111)
 発火時刻演算部13は、k=Nか否かを判定する。すなわち、発火時刻演算部13は、予め定められている個数のスパイクが全て対象スパイキングニューロンに到達したか否かを判定する。
 Nが前段スパイキングニューロンとの結合の個数であり、かつ、前段スパイキングニューロンのうち発火しないことが確定したスパイキングニューロンがある場合、発火時刻演算部13が、前段スパイキングニューロンの何れかが発火しないことが確定する毎に、Nの値を1ずつ小さくする(N:=N-1)ようにしてもよい。
 k≠Nと発火時刻演算部13が判定した場合(ステップS111:NO)、処理がステップS121へ進む。
 k=Nと発火時刻演算部13が判定した場合(ステップS111:YES)、処理がステップS131へ進む。
(ステップS121)
 発火時刻演算部13は、v[k+1]を計算する。
 上記の式(14)に示されるように、発火時刻演算部13は、ws[k]およびwts[k]を用いて効率的にv[k+1]を計算することができる。
 ニューラルネットワーク装置10が複数のスパイキングニューロンの計算を並列実行しており、対象スパイキングニューロンにk+1番目のスパイクが未だ到達していない場合は、発火時刻演算部13は、k+1番目のスパイクの到達を待ってステップS121の処理を行うことができる。
(ステップS122)
 発火時刻演算部13は、時刻trec からtrec k+1までの時間区間[trec ,trec k+1]の間に対象スパイキングニューロンが発火するか否かを判定する。具体的には、発火時刻演算部13は、上記の式(15)に示されるv[k]≦Vth≦v[k+1]が成立するか否かを判定する。
 発火時刻演算部13がステップS122の処理を行う場合、対象スパイキングニューロンは時刻trec までには発火していないので、v[k]≦Vthが成立していることになる。したがって、発火時刻演算部13は、式(15)のうち右側の不等式が成立するか否かの判定、すなわち、Vth≦v[k+1]が成立するか否かの判定のみを行えばよい。
 v[k]≦Vth≦v[k+1]が成立すると判定した場合(ステップS122:YES)、処理がステップS131へ進む。
 v[k]≦Vth≦v[k+1]が成立していないと判定した場合(ステップS122:NO)、処理がステップS141へ進む。
(ステップS131)
 発火時刻演算部13は、時刻trec からtrec k+1までの時間区間[trec ,trec k+1]の範囲内で、対象スパイキングニューロンの発火時刻を計算し出力する。
 ステップS122:YESにて処理がステップS131に遷移する場合、図6を参照して説明したのと同様、中間値の定理より、時刻trec からtrec k+1までの時間区間[trec ,trec k+1]内に対象スパイキングニューロンの発火時刻tfirが存在する。
 trec からtrec k+1までの時間区間[trec ,trec k+1]において対象スパイキングニューロンの膜電位が時刻の一次関数で示される場合は、発火時刻演算部13は、上述した式(17)を用いて発火時刻を計算することができる。
 ステップS111:YESにて処理がステップS131に遷移する場合、ステップS103:YESにより、ws[N]>0が成立している。したがって、時刻trec 以降は、対象スパイキングニューロンの膜電位は単調増加である。また、時刻trec までには対象スパイキングニューロンは発火しておらず、v[N]<Vthが成立する。これらにより、時刻trec 以降のある時刻において、対象スパイキングニューロンの膜電位v[N]が閾値Vthに到達する。すなわち、時刻trec 以降に、対象スパイキングニューロンの発火時刻tfirが必ず存在する。
 時刻trec 以降における対象スパイキングニューロンの膜電位が時刻の一次関数で示される場合、発火時刻演算部13は、上述した式(17)を用いて発火時刻tfirを計算することができる。
 例えば、発火時刻演算部13は、時刻trec における膜電位と閾値との差Vth-v[N]を算出する。そして、発火時刻演算部13は、算出した差Vth-v[N]を、時刻trec 以降における単位時間当たりの膜電位の増加量dv(t)/dtで除算して、膜電位が差Vth-v[N]だけ増加するのに要する時間tdiffを算出する。そして、発火時刻演算部13は、算出した時間tdiffを時刻trec に加算して、tfir=trec +tdiffと算出する。
 ステップS131の後、ニューラルネットワーク装置10は、図7の処理を終了する。
(ステップS141)
 発火時刻演算部13は、インデックスkの値を1だけ増加させる。
 ステップS141の後、処理がステップS102へ戻る。
(ステップS151)
 発火時刻演算部13は、対象スパイキングニューロンが発火しないと算出する。したがって、発火時刻演算部13は、対象スパイキングニューロンの発火時刻の計算結果として、発火無しとの情報を出力する。
 処理がステップS151に遷移する場合、ステップS103:NOにより、ws[N]≦0が成立している。したがって、時刻trec 以降は、対象スパイキングニューロンの膜電位は単調減少(少なくとも広義の単調減少)である。また、時刻trec までには対象スパイキングニューロンは発火しておらず、v[N]<Vthが成立する。これらにより、時刻trec 以降も対象スパイキングニューロンの膜電位v[N]が閾値Vthに到達することはなく、対象スパイキングニューロンは発火しない。
 ステップS151の後、ニューラルネットワーク装置10は、図7の処理を終了する。
(ステップS161)
 発火時刻演算部13は、k=Nか否かを判定する。
 k=Nと発火時刻演算部13が判定した場合(ステップS161:YES)、処理がステップS151へ遷移する。
 k≠Nと発火時刻演算部13が判定した場合(ステップS161:NO)、処理がステップS141へ遷移する。
(実施形態に係る効果)
 以上のように、スパイキングニューロンは、スパイクを受けてから次のスパイクを受けるまでの時間における膜電位が時刻の単調関数で示され、発火条件が膜電位と閾値との比較で示される。発火時刻演算部13は、スパイクを受けてから次にスパイクを受けるまでの各時間区間のうち、対象スパイキングニューロンの発火時刻が含まれる時間区間の候補の絞り込みを行う。
 ニューラルネットワーク装置10によれば、発火時刻の計算対象の時間区間を絞り込むことができ、この点で、対象スパイキングニューロンの発火時刻の計算負荷を比較的軽くすることができる。
 例えば、ニューラルネットワーク装置10が、発火時刻の計算対象の時間区間を1つの時間区間に絞り込んだ場合、その時間区間内における発火時間を求める処理を1回のみ行えばよい。さらに例えば、発火時間を求める処理に除算が含まれる場合、その除算を行う回数が1回で済む。ニューラルネットワーク装置10の処理をハードウェア的な計算で行う場合、除算回路を小さくすることができ回路面積が比較的小さくて済む。
 また、発火時刻演算部13は、スパイキングニューロンがスパイクを受ける時刻毎の膜電位と閾値との比較に基づいて、時間区間のうち対象スパイキングニューロンの発火時刻が含まれる時間区間を特定する。
 ニューラルネットワーク装置10によれば、時間区間の候補の絞り込みの段階では、スパイキングニューロンがスパイクを受ける時刻毎の膜電位を計算すればよい。したがって、発火時刻が含まれる候補から除外された時間区間については、スパイキングニューロンがスパイクを受けた後、次のスパイクを受ける前までの時間における膜電位を計算する必要がない。ニューラルネットワーク装置10によれば、この点で、対象スパイキングニューロンの発火時刻の計算負荷を比較的軽くすることができる。
 また、発火時刻演算部13は、スパイキングニューロンがスパイクを受ける時刻毎の膜電位を、そのスパイキングニューロンが膜電位計算対象のスパイクを受けるまでに受けた全てのスパイクに対する重み係数(結合重み)に関する級数を用いて算出する。
 ニューラルネットワーク装置10では、重み係数に関する級数の値を求める際に、前回スパイキングニューロンがスパイクを受けたときに算出した級数の値を用いることができる。ニューラルネットワーク装置10によれば、この点で、対象スパイキングニューロンの発火時刻の計算負荷を比較的軽くすることができる。
 また、発火時刻演算部13は、スパイキングニューロンが、あるスパイクを受けるまでに受けた全てのスパイクに対する重み係数(結合重み)の合計が正か否かに基づいて、発火時刻が含まれない時間区間を特定する。
 ニューラルネットワーク装置10では、重み係数の合計を算出する簡単な計算、および、算出した合計が正か否かを判定するという簡単な処理で、発火時刻が含まれない時間区間を特定し、発火時刻が含まる時間区間の候補から除外することができる。ニューラルネットワーク装置10によれば、この点で、対象スパイキングニューロンの発火時刻の計算負荷を比較的軽くすることができる。
 さらに、ニューラルネットワーク装置10では、重み係数の合計を算出する際に、前回スパイキングニューロンがスパイクを受けたときに算出した重み係数の合計を用いることができる。ニューラルネットワーク装置10によれば、この点でさらに、対象スパイキングニューロンの発火時刻の計算負荷を軽くすることができる。
 また、スパイキングニューロンがスパイクを受けてから次のスパイクを受けるまでの時間における膜電位を示す時刻の単調関数は、時刻の一次関数である。発火時刻演算部13は、閾値Vthと、対象スパイキングニューロンの発火時刻tfirが含まれると判定された時間区間の開始時刻trec までに受ける全てのスパイクに対する重み係数の合計ws[k]と、その開始時刻trec までに受ける各スパイクについての、そのスパイクに対する重み係数とそのスパイクの到達時刻との積の合計wts[k]とに基づいて、発火時刻を算出する。
 ニューラルネットワーク装置10では、これらの値を用いた簡単な計算で、発火時刻を算出することができる。さらには上記のように、ws[k]の値、および、wts[k]の値は、級数として簡単に計算することができる。ニューラルネットワーク装置10によれば、この点で、対象スパイキングニューロンの発火時刻の計算負荷を比較的軽くすることができる。
 図8は、実施形態に係るニューラルネットワーク装置の構成例を示す図である。図8に示す構成で、ニューラルネットワーク装置200は、発火時刻演算部201を備える。かかる構成で、発火時刻演算部201は、スパイクを受けてから次のスパイクを受けるまでの時間における膜電位が時刻の単調関数で示され、発火条件が前記膜電位と閾値との比較で示されるスパイキングニューロンが、スパイクを受けてから次にスパイクを受けるまでの各時間区間のうち、スパイキングニューロンの発火時刻が含まれる時間区間の候補の絞り込みを行う。
 発火時刻演算部201は、発火時刻演算手段の例に該当する。
 ニューラルネットワーク装置200によれば、発火時刻の計算対象の時間区間を絞り込むことができ、この点で、スパイキングニューロンの発火時刻の計算負荷を比較的軽くすることができる。
 例えば、ニューラルネットワーク装置200が、発火時刻の計算対象の時間区間を1つの時間区間に絞り込んだ場合、その時間区間内における発火時間を求める処理を1回のみ行えばよい。さらに例えば、発火時間を求める処理に除算が含まれる場合、その除算を行う回数が1回で済む。ニューラルネットワーク装置200の処理をハードウェア的な計算で行う場合、除算回路を小さくすることができ回路面積が比較的小さくて済む。
 図9は、実施形態に係る発火時刻演算方法における処理手順の例を示す図である。
 図9に示す発火時刻演算方法は、発火時刻の演算を行う工程(ステップS201)を含む。
 発火時刻の演算を行う工程(ステップS201)では、スパイクを受けてから次のスパイクを受けるまでの時間における膜電位が時刻の単調関数で示され、発火条件が膜電位と閾値との比較で示されるスパイキングニューロンが、スパイクを受けてから次にスパイクを受けるまでの各時間区間のうち、スパイキングニューロンの発火時刻が含まれる時間区間の候補の絞り込みを行う。
 図9に示す発火時刻演算方法では、発火時刻の計算対象の時間区間を絞り込むことができ、この点で、スパイキングニューロンの発火時刻の計算負荷を比較的軽くすることができる。
 例えば、図9に示す発火時刻演算方法で、発火時刻の計算対象の時間区間を1つの時間区間に絞り込んだ場合、その時間区間内における発火時間を求める処理を1回のみ行えばよい。
 ニューラルネットワーク装置10およびニューラルネットワーク装置200の全部または一部が専用ハードウェアに実装されていてもよい。
 図10は、少なくとも1つの実施形態に係る専用ハードウェアの構成例を示す概略ブロック図である。図10に示す構成で、専用ハードウェア500は、CPU510と、主記憶装置520と、補助記憶装置530と、インタフェース540とを備える。
 ニューラルネットワーク装置10が専用ハードウェア500に実装される場合、計算部12およびその各部の動作は、プログラムの形式で補助記憶装置530に記憶されている。CPU510は、プログラムを補助記憶装置530から読み出して主記憶装置520に展開し、当該プログラムに従って上記処理を実行する。
 また、CPU510は、プログラムに従って、モデル記憶部11に対応する記憶領域を主記憶装置520に確保する。
 ニューラルネットワーク装置10が他の装置と通信を行う場合、インタフェース540が通信機能を有し、CPU510の制御に従って通信を行うことで実行される。
 ニューラルネットワーク装置200が専用ハードウェア500に実装される場合、発火時刻演算部201の動作は、プログラムの形式で補助記憶装置530に記憶されている。CPU510は、プログラムを補助記憶装置530から読み出して主記憶装置520に展開し、当該プログラムに従って上記処理を実行する。
 専用ハードウェア500に加えて、あるいは代えて、パソコン(Personal Computer;PC)またはGraphical Processing Unit(GPU)等の汎用ハードウェアを用いるようにしてもよく、この場合の処理も、上述した専用ハードウェア500の場合の処理と同様である。
 なお、ニューラルネットワーク装置10、および、ニューラルネットワーク装置200が行う処理の全部または一部を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
 また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
 以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
 10、200 ニューラルネットワーク装置
 11 モデル記憶部
 12 計算部
 13、201 発火時刻演算部
 この出願は、2020年7月20日に出願された日本国特願2020-124065を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、ニューラルネットワーク装置、発火時刻演算方法および記録媒体に適用してもよい。

Claims (7)

  1.  スパイクを受けてから次のスパイクを受けるまでの時間における膜電位が時刻の単調関数で示され、発火条件が前記膜電位と閾値との比較で示されるスパイキングニューロンが、スパイクを受けてから次にスパイクを受けるまでの各時間区間のうち、前記スパイキングニューロンの発火時刻が含まれる時間区間の候補の絞り込みを行う発火時刻演算手段
     を備えるニューラルネットワーク装置。
  2.  前記発火時刻演算手段は、前記スパイキングニューロンがスパイクを受ける時刻毎の前記膜電位と前記閾値との比較に基づいて、前記時間区間のうち前記スパイキングニューロンの発火時刻が含まれる時間区間を特定する、
     請求項1に記載のニューラルネットワーク装置。
  3.  前記発火時刻演算手段は、前記スパイキングニューロンがスパイクを受ける時刻毎の前記膜電位を、そのスパイキングニューロンが膜電位計算対象のスパイクを受けるまでに受ける全てのスパイクに対する重み係数に関する級数を用いて算出する、
     請求項2に記載のニューラルネットワーク装置。
  4.  前記発火時刻演算手段は、前記スパイキングニューロンが、あるスパイクを受けるまでに受ける全てのスパイクに対する重み係数の合計が正か否かに基づいて、前記発火時刻が含まれない時間区間を特定する、
     請求項1から3の何れか一項に記載のニューラルネットワーク装置。
  5.  前記単調関数は時刻の一次関数であり、
     前記発火時刻演算手段は、前記閾値と、前記スパイキングニューロンの発火時刻が含まれると判定された時間区間の開始時刻までに受ける全てのスパイクに対する重み係数の合計と、前記開始時刻までに受ける各スパイクについての、そのスパイクに対する重み係数とそのスパイクの到達時刻との積の合計とに基づいて、前記発火時刻を算出する、
     請求項1から4の何れか一項に記載のニューラルネットワーク装置。
  6.  スパイクを受けてから次のスパイクを受けるまでの時間における膜電位が時刻の単調関数で示され、発火条件が前記膜電位と閾値との比較で示されるスパイキングニューロンが、スパイクを受けてから次にスパイクを受けるまでの各時間区間のうち、前記スパイキングニューロンの発火時刻が含まれる時間区間の候補の絞り込みを行うこと
     を含む発火時刻演算方法。
  7.  コンピュータに、
     スパイクを受けてから次のスパイクを受けるまでの時間における膜電位が時刻の単調関数で示され、発火条件が前記膜電位と閾値との比較で示されるスパイキングニューロンが、スパイクを受けてから次にスパイクを受けるまでの各時間区間のうち、前記スパイキングニューロンの発火時刻が含まれる時間区間の候補の絞り込みを行うこと
     を実行させるためのプログラムを記憶する記録媒体。
PCT/JP2021/015878 2020-07-20 2021-04-19 ニューラルネットワーク装置、発火時刻演算方法および記録媒体 WO2022018916A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/004,193 US20230244918A1 (en) 2020-07-20 2021-04-19 Neural network device, firing timing calculation method, and recording medium
JP2022538587A JP7477815B2 (ja) 2020-07-20 2021-04-19 ニューラルネットワーク装置、発火時刻演算方法およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020124065 2020-07-20
JP2020-124065 2020-07-20

Publications (1)

Publication Number Publication Date
WO2022018916A1 true WO2022018916A1 (ja) 2022-01-27

Family

ID=79729320

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/015878 WO2022018916A1 (ja) 2020-07-20 2021-04-19 ニューラルネットワーク装置、発火時刻演算方法および記録媒体

Country Status (3)

Country Link
US (1) US20230244918A1 (ja)
JP (1) JP7477815B2 (ja)
WO (1) WO2022018916A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017134821A (ja) * 2016-01-26 2017-08-03 三星電子株式会社Samsung Electronics Co.,Ltd. ニューラルネットワークに基づく認識装置及びニューラルネットワークの学習方法
US20180357529A1 (en) * 2017-06-09 2018-12-13 University Of Southern California Non-stationary mimo model for prosthesis

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017134821A (ja) * 2016-01-26 2017-08-03 三星電子株式会社Samsung Electronics Co.,Ltd. ニューラルネットワークに基づく認識装置及びニューラルネットワークの学習方法
US20180357529A1 (en) * 2017-06-09 2018-12-13 University Of Southern California Non-stationary mimo model for prosthesis

Also Published As

Publication number Publication date
JPWO2022018916A1 (ja) 2022-01-27
US20230244918A1 (en) 2023-08-03
JP7477815B2 (ja) 2024-05-02

Similar Documents

Publication Publication Date Title
Yang et al. Efficient spike-driven learning with dendritic event-based processing
US20200410090A1 (en) Robust von neumann ensembles for deep learning
CN105160249B (zh) 一种基于改进的神经网络集成的病毒检测方法
KR102032146B1 (ko) 소자 결점을 보완하기 위한 구간 선형 정류 유닛을 사용하는 인공신경망 시스템
KR20160138002A (ko) 스파이킹 dbn (deep belief network) 에서의 트레이닝, 인식, 및 생성
US20200410295A1 (en) Analyzing and correcting vulnerabilities in neural networks
JP7240650B2 (ja) スパイキングニューラルネットワークシステム、学習処理装置、学習処理方法およびプログラム
Straub Expert system gradient descent style training: Development of a defensible artificial intelligence technique
Zhang et al. Information-theoretic intrinsic plasticity for online unsupervised learning in spiking neural networks
De Cao et al. Sparse interventions in language models with differentiable masking
Vargas et al. Solving multi-objective structural optimization problems using GDE3 and NSGA-II with reference points
WO2022018916A1 (ja) ニューラルネットワーク装置、発火時刻演算方法および記録媒体
Chowdhury et al. Adversarial scrubbing of demographic information for text classification
Engelken et al. Input correlations impede suppression of chaos and learning in balanced firing-rate networks
Okada et al. Interval GA for evolving neural networks with interval weights and biases
KR102311135B1 (ko) 스파이킹 뉴럴 네트워크에 대한 연산량을 감소시키는 stdp 기반의 뉴로모픽 연산처리장치
CN113298231A (zh) 用于脉冲神经网络的图表示时空反向传播算法
Sun et al. Learnable axonal delay in spiking neural networks improves spoken word recognition
Kravets et al. Optimization of the forecasting neural network parameters for quality of service management tasks
US20240070443A1 (en) Neural network device, generation device, information processing method, generation method, and recording medium
Steil Memory in backpropagation-decorrelation O (N) efficient online recurrent learning
CN115204350A (zh) 脉冲神经网络的训练方法和训练装置
WO2023067660A1 (ja) 演算装置、ニューラルネットワークシステム、ニューロンモデル装置、演算方法および学習済みモデル生成方法
Ide et al. Soft actor-critic with inhibitory networks for faster retraining
JP7336710B2 (ja) ニューラルネットワークシステム、学習方法およびプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21846486

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022538587

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21846486

Country of ref document: EP

Kind code of ref document: A1