Neural Network Device

The neural network device stabilizes firing frequencies and adjusts thresholds to maintain accurate synaptic weight updates, addressing the challenge of improper learning in brain-type processors.

JP7618613B2Active Publication Date: 2025-01-21KK TOSHIBA
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2022038229
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-03-11
Publication Date
2025-01-21
Estimated Expiration
2042-03-11

AI Technical Summary

Technical Problem

Existing brain-type processors face challenges in maintaining normal learning processes when synaptic weights are updated based on the internal potential of subsequent neuron circuits with lowered firing thresholds, leading to improper weight adjustments.

Method used

A neural network device with a control circuit that adjusts the firing threshold and learning thresholds of neuron and synaptic circuits based on the frequency of firing signals to maintain a narrow range, ensuring accurate synaptic weight updates.

Benefits of technology

The device enables normal learning by stabilizing firing frequencies, preventing synaptic weights from continuously decreasing and ensuring accurate inference and learning processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007618613000005
    Figure 0007618613000005
  • Figure 0007618613000006
    Figure 0007618613000006
  • Figure 0007618613000007
    Figure 0007618613000007
Patent Text Reader

Abstract

To provide a neural network device that allows normal learning while adjusting firing frequency of a neuron circuit to fall within a relatively narrow range.SOLUTION: A neural network device includes a plurality of neuron circuits, a plurality of synaptic circuits, and a control circuit. The neuron circuit has a potential holding circuit, a firing circuit, and a firing threshold adjustment circuit. When an absolute value of an internal potential is greater than a firing threshold, the firing circuit outputs a firing signal. The firing threshold adjustment circuit changes the firing threshold according to frequency of the firing signal. When the firing signal is output from a preceding neuron circuit, the synaptic circuit changes synaptic weight according to a result of comparing the absolute value of the internal potential held in a subsequent neuron circuit with a learning threshold, The control circuit changes, according to frequency of a firing signal of a target neuron circuit, the learning threshold used to change the synaptic weight stored in one or more synaptic circuits that output an output signal to the target neuron circuit.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] FIELD OF THE DISCLOSURE The present invention relates to a neural network device. [Background technology]

[0002] In recent years, a technology has been proposed to realize a brain-type processor using a hardware neural network. The brain-type processor has a neuron circuit and a synapse circuit. The synapse circuit stores synapse weights and supplies a signal received from a neuron in a previous stage with the effect of the synapse weight added to the signal to a neuron in a subsequent stage. The neuron circuit holds, for example, an internal potential. The neuron circuit increases or decreases the internal potential according to a signal output from a synapse circuit connected to the previous stage. The neuron circuit outputs an ignition signal when the internal potential exceeds an ignition threshold.

[0003] The synaptic weights are updated by a predetermined learning method. For example, a method is known as a learning method for brain-type processors in which the synaptic weights are updated according to the internal potential held by the neuron circuit at the subsequent stage when the neuron circuit at the previous stage fires. More specifically, this method lowers the synaptic weights as the internal potential held by the neuron circuit at the subsequent stage is lowered, and increases the synaptic weights as the internal potential held by the neuron circuit at the subsequent stage is higher. This method increases the synaptic weights that strongly affect the firing of the neuron circuit at the subsequent stage, thereby improving the accuracy of inference by the neural network.

[0004] In addition, it may be desirable for the brain-type processor to set the firing frequency of each of the multiple neuron circuits to a relatively narrow range. For example, a brain-type processor that realizes a recurrent neural network such as a reservoir can improve inference accuracy by adjusting the firing frequency of the neuron circuits to a relatively narrow range. For example, the brain-type processor detects the firing frequency of each of the multiple neuron circuits, and if the firing frequency is lower than the firing threshold, adjusts the firing frequency by lowering the firing threshold.

[0005] However, when using a learning method that updates synaptic weights according to the internal potential held by the neuron circuit at the front end when the neuron circuit at the front end fires, the synaptic circuit that uses the neuron circuit with the lowered firing threshold as the back end neuron updates the synaptic weights based on the low internal potential. Therefore, the synaptic circuit that uses the neuron circuit with the lowered firing threshold as the back end neuron learns in a direction that always decreases the synaptic weights, and there is a possibility that normal learning cannot be performed. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] US Patent Application Publication No. 2019 / 0236443 [Non-patent literature]

[0007] [Non-Patent Document 1] Joseph M. Brader et al., “Learning real-world stimuli in a neural network with spike-driven synaptic dynamics ”, Neural computation, Volume 19, Massachusetts Institute of Technology, P2881-2912, November 2007 [Non-Patent Document 2] Andreea Lazar, Gordon Pipa and Jochen Triesch, “SORN: a self-organizing recurrent neural network”, Frontiers in Computational Neuroscience, Volume 3 Article 23, October 2009 Summary of the Invention [Problem to be solved by the invention]

[0008] The problem to be solved by the present invention is to allow normal learning while adjusting the firing frequency of a neuron circuit within a relatively narrow range. [Means for solving the problem]

[0009] A neural network device according to an embodiment includes a plurality of neuron circuits, a plurality of synapse circuits, and a control circuit. Each of the plurality of neuron circuits includes a potential holding circuit, a firing circuit, and a firing threshold adjustment circuit. The potential holding circuit receives an output signal output from any one of the plurality of synapse circuits, and holds an internal potential that changes according to the level or time width of the received output signal. The firing circuit outputs a firing signal when the absolute value of the internal potential is greater than a firing threshold. The firing threshold adjustment circuit changes the firing threshold according to the frequency of the firing signal. Each of the plurality of synapse circuits includes a weight storage circuit, a transfer circuit, and a learning circuit. The weight storage circuit stores a synapse weight. The transfer circuit receives the firing signal output from a front-stage neuron circuit that is any one of the plurality of neuron circuits, and outputs the output signal obtained by adding the effect of the synapse weight to the received firing signal to a rear-stage neuron circuit that is any one of the plurality of neuron circuits. The learning circuit changes the synaptic weights according to a result of comparing the absolute value of the internal potential held in the subsequent neuron circuit with a learning threshold when the firing signal is output from the previous neuron circuit. The control circuit changes the learning threshold used to change the synaptic weights stored in one or more synapse circuits that output the output signal to the target neuron circuit among the plurality of synapse circuits, for a target neuron circuit that is at least one of the plurality of neuron circuits, according to the frequency of the firing signal. [Brief description of the drawings]

[0010] [Figure 1] FIG. 1 is a configuration diagram of a neural network device according to an embodiment. [Diagram 2] A diagram showing the connections between multiple synapse circuits. [Diagram 3] A schematic diagram of neuron circuits, synapse circuits, and control circuits. [Figure 4] FIG. [Diagram 5] FIG. [Figure 6] FIG. [Figure 7] FIG. 4 is a diagram showing the configuration of a circuit that generates a voltage representing a first learning threshold in the learning circuit. [Figure 8] FIG. 2 is a diagram illustrating the configuration of a reservoir computing device according to an embodiment. [Figure 9] FIG. 13 is a graph showing a simulation result showing accuracy versus the number of learning iterations. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] A neural network device 10 according to an embodiment will be described below with reference to the drawings. The neural network device 10 according to the embodiment adjusts the firing frequency of a neuron circuit 18 to a relatively narrow range while allowing the neuron circuit 18 to learn normally.

[0012] 1 is a diagram showing an example of the configuration of a neural network device 10 according to an embodiment. As an example, the neural network device 10 includes N-stage (N is an integer equal to or greater than 2) layers 12, a plurality of synapse circuits 14 each functioning as a synapse in the neural network, and a control circuit 16. Each of the N-stage layers 12 includes a plurality of neuron circuits 18 each functioning as a neuron in the neural network.

[0013] Each of the neuron circuits 18 acquires a corresponding one of the plurality of firing signals output from the preceding layer 12. Each of the plurality of firing signals is transmitted via one of the plurality of synapse circuits 14.

[0014] The first layer 12 of the N-stage layer 12 acquires a plurality of signals from an external device or an input layer. Then, each of the plurality of neuron circuits 18 performs an integration process on the acquired plurality of signals, performs an activation function process on the value obtained by the integration process, and outputs a firing signal. Each of the plurality of neuron circuits 18 executes the integration process and the activation function process by, for example, an analog circuit. In this embodiment, each of the plurality of neuron circuits 18 holds an internal potential V as a result of the integration process on the acquired plurality of signals.

[0015] Each of the plurality of synapse circuits 14 stores a synapse weight. The synapse weight represents two values, a first value or a second value. In this embodiment, the first value represents the higher value of the two values, for example, H logic or 1. In this embodiment, the second value represents the lower value of the two values, for example, L logic or 0. The synapse weight is not limited to two values, and may be represented by multiple values ​​of three or more values. In addition, the synapse weight may be represented by an analog value, for example, the amount of charge accumulated in a capacitor or the like or the resistance value of a variable resistor. The synapse weight stored in each of the plurality of synapse circuits 14 is set by a learning process.

[0016] For example, each of the multiple synapse circuits 14 connecting the nth layer 12 and the n+1th layer 12 acquires an ignition signal output from one of the multiple neuron circuits 18 included in the nth layer 12. Each of the multiple synapse circuits 14 connecting the nth layer 12 and the n+1th layer 12 generates an output signal by adding the effect of a stored synapse weight to the received ignition signal, and supplies the generated output signal to one of the multiple neuron circuits 18 included in the n+1th layer 12.

[0017] The control circuit 16 receives the firing signal from each of the neuron circuits 18, and controls, in response to the received firing signal, a learning threshold used in a learning process of the synaptic weights stored in each of the synapse circuits 14. The control circuit 16 may receive, from each of the neuron circuits 18, a frequency signal representing the firing frequency of the firing signal.

[0018] In such a neural network device 10, the first-stage layer 12 acquires one or more signals from an external device or an input layer. Then, the neural network device 10 outputs, from the Nth-stage layer 12, one or more signals that represent the results of performing a neural network operation on the received one or more signals.

[0019] The neural network device 10 is not limited to the configuration shown in FIG. 1, and may be configured according to a recurrent neural network such as a reservoir. In this case, at least one of the multiple synapse circuits 14 feeds back an output signal and supplies it to the neuron circuit 18. For example, when the neural network device 10 is configured according to a recurrent neural network such as a reservoir, at least one of the multiple synapse circuits 14 receives an ignition signal output from a neuron circuit 18 included in the nth layer 12, and supplies an output signal to a neuron circuit 18 included in the nth layer or a layer before the nth layer. The neural network device 10 may be a recurrent neural network in which multiple neuron circuits 18 are randomly connected, instead of the layer structure shown in FIG. 1.

[0020] 2 is a diagram showing the connection relationship of the multiple synapse circuits 14 together with the control circuit 16. Each of the multiple synapse circuits 14 acquires an ignition signal output from a front-stage neuron circuit 22, which is one of the multiple neuron circuits 18. Each of the multiple synapse circuits 14 outputs an output signal that is the received ignition signal and is influenced by a stored synapse weight. Then, the synapse circuit 14 supplies the output signal to a back-stage neuron circuit 24, which is one of the multiple neuron circuits 18.

[0021] The control circuit 16 changes a learning threshold used to change synaptic weights stored in one or more synapse circuits 14 that output an output signal to a target neuron circuit among the multiple synapse circuits 14, which is at least one of the multiple neuron circuits 18, according to the frequency of the firing signal. A learning threshold used for the learning process is set in each of the multiple synapse circuits 14. The control circuit 16 changes the learning thresholds set in all of the one or more synapse circuits 14 that output an output signal to the target neuron circuit to the same direction (increase direction or decrease direction). The control circuit 16 may set each of the multiple neuron circuits 18 as a target neuron circuit and change the learning threshold in one or more synapse circuits 14 that output an output signal to the target neuron circuit. The control circuit 16 may set a part of the multiple neuron circuits 18 as a target neuron circuit and change the learning threshold in one or more synapse circuits 14 that output an output signal to the target neuron circuit.

[0022] 3 is a diagram showing the configuration of the front-stage neuron circuit 22, the back-stage neuron circuit 24, the synapse circuit 14, and the control circuit 16. Each of the neuron circuits 18 holds an internal potential V that changes in response to receiving an output signal. Each of the neuron circuits 18 outputs a firing signal in response to the held internal potential V.

[0023] For example, each of the front-stage neuron circuit 22 and the rear-stage neuron circuit 24 includes a potential holding circuit 32, a firing circuit 34, and a firing threshold adjustment circuit 36.

[0024] The potential holding circuit 32 obtains a plurality of output signals from a plurality of synapse circuits 14. When the potential holding circuit 32 receives any of the output signals, it increases the internal potential V by a predetermined amount. In addition, the potential holding circuit 32 may decrease the internal potential V over time during a period when it does not receive an output signal. The potential holding circuit 32 may have, for example, a capacitor. In this case, when the potential holding circuit 32 receives an output signal, it charges the capacitor with a predetermined amount of charge. In addition, the potential holding circuit 32 discharges the charge held in the capacitor over time during a period when it does not receive an output signal. Thereby, when the potential holding circuit 32 receives any of the output signals, it increases the internal potential V by a predetermined amount, and during a period when it does not receive an output signal, it can decrease the internal potential V over time. The internal potential V held by the neuron circuit 18 is described as postsynaptic neuron V in, for example, Non-Patent Document 1.

[0025] The firing circuit 34 outputs a firing signal when the internal potential V held by the potential holding circuit 32 is greater than the firing threshold. In this embodiment, the firing circuit 34 outputs a firing signal that becomes H logic at the firing start timing and becomes L logic after a certain time has elapsed from the firing start timing. That is, in this embodiment, the firing circuit 34 changes the firing signal from L logic to H logic at the firing start timing when the internal potential V becomes greater than the firing threshold. Then, the firing circuit 34 changes the firing signal from H logic to L logic after a certain time has elapsed from the firing start timing. Note that the firing circuit 34 may output a firing signal probabilistically when the internal potential V becomes greater than the firing threshold.

[0026] The ignition threshold adjustment circuit 36 ​​changes the ignition threshold set in the ignition circuit 34 according to the frequency of the ignition signal output from the ignition circuit 34. More specifically, the ignition threshold adjustment circuit 36 ​​increases the ignition threshold when the frequency of the ignition signal is equal to or greater than a preset upper ignition frequency. The ignition threshold adjustment circuit 36 ​​decreases the ignition threshold when the frequency of the ignition signal is lower than a preset lower ignition frequency. The upper ignition frequency represents an upper limit of the frequency of the ignition signal. The lower ignition frequency represents a lower limit of the frequency of the ignition signal. The lower ignition frequency is the same as or lower than the upper ignition frequency.

[0027] The frequency of the ignition signal represents the number of times the ignition signal is output per predetermined time. For example, the ignition threshold adjustment circuit 36 ​​generates a frequency signal representing the frequency of the ignition signal by a voltage using an analog integration circuit using a capacitor, and compares the generated frequency signal with a voltage representing the upper ignition frequency and a voltage representing the lower ignition frequency. Then, the ignition threshold adjustment circuit 36 ​​increases the ignition threshold when the frequency signal is equal to or greater than the voltage representing the upper ignition frequency, and decreases the ignition threshold when the frequency signal is smaller than the voltage representing the lower ignition frequency. The ignition threshold adjustment circuit 36 ​​may digitally calculate the frequency of the ignition signal using a digital counter or the like.

[0028] The ignition threshold adjustment circuit 36 ​​may increase or decrease the ignition threshold by comparing the frequency of the ignition signal and the upper and lower limit frequencies at the timing when the ignition signal is output. The ignition threshold adjustment circuit 36 ​​may also increase or decrease the ignition threshold by comparing the frequency of the ignition signal and the upper and lower limit frequencies at regular intervals or each time a predetermined event occurs.

[0029] The ignition threshold adjustment circuit 36 ​​may change the ignition threshold stepwise for each predetermined step. For example, the ignition threshold adjustment circuit 36 ​​may change the ignition threshold in steps of 0.1 volts. In this case, the ignition threshold adjustment circuit 36 ​​adjusts the ignition threshold as shown in formula (1).

number

[0030] V Ith represents the firing threshold. H represents the frequency of the firing signal. H Iup represents the upper firing frequency limit. H Idw represents the lower limit of firing frequency. ΔV I + represents the increase in the firing threshold when the frequency of the firing signal exceeds the upper firing frequency. ΔV I - represents the amount of decrease in the firing threshold when the frequency of the firing signal becomes smaller than the lower limit of firing frequency. ΔV I + and ΔV I - may be identical.

[0031] The ignition threshold has an adjustable range. When the ignition threshold is at the upper limit of the adjustable range, the ignition threshold adjustment circuit 36 ​​does not increase the ignition threshold even if the frequency of the ignition signal is equal to or higher than the upper ignition frequency. When the ignition threshold is at the lower limit of the adjustable range, the ignition threshold adjustment circuit 36 ​​does not decrease the ignition threshold even if the frequency of the ignition signal is lower than the lower ignition frequency.

[0032] The firing threshold adjustment circuit 36 ​​can reduce the possibility that the firing circuit 34 outputs a firing signal by increasing the firing threshold. As a result, when the frequency of the firing signal becomes equal to or higher than the upper firing frequency, the firing threshold adjustment circuit 36 ​​can reduce the frequency of the firing signal. Also, the firing threshold adjustment circuit 36 ​​can increase the possibility that the firing circuit 34 outputs a firing signal by decreasing the firing threshold. As a result, when the frequency of the firing signal becomes lower than the lower firing frequency, the firing threshold adjustment circuit 36 ​​can increase the frequency of the firing signal. Such an firing threshold adjustment circuit 36 ​​can adjust the frequency of the firing signal output from the neuron circuit 18 to the vicinity of the range between the lower firing frequency and the upper firing frequency. Therefore, the neural network device 10 can improve the inference accuracy by adjusting the frequency of the firing signal output from each of the multiple neuron circuits 18 to a preset range.

[0033] Furthermore, the ignition threshold adjustment circuit 36 ​​may reset the ignition thresholds (e.g., the lower and upper limit firing frequencies) to preset values ​​at a predetermined timing or probabilistically. This allows the ignition threshold adjustment circuit 36 ​​to reset the ignition thresholds (e.g., the lower and upper limit firing frequencies) and perform learning anew, regardless of the frequency of the ignition signal.

[0034] The synapse circuit 14 includes a weight storage circuit 40, a transmission circuit 42, and a learning circuit 44.

[0035] The weight storage circuit 40 stores synapse weights. In this embodiment, the weight storage circuit 40 stores synapse weights representing a first value or a second value. The weight storage circuit 40 may store multi-value synapse weights of three or more values ​​or synapse weights of analog values.

[0036] The transmission circuit 42 receives the firing signal output from the front-stage neuron circuit 22, and supplies an output signal to the rear-stage neuron circuit 24, which is an output signal obtained by adding the effect of the synaptic weight stored in the weight storage circuit 40 to the received firing signal.

[0037] For example, when the transmission circuit 42 receives an ignition signal from the front neuron circuit 22 and the synapse weight stored in the weight storage circuit 40 is a first value, it supplies an output signal to the rear neuron circuit 24. Also, for example, when the transmission circuit 42 receives an ignition signal from the front neuron circuit 22 and the synapse weight stored in the weight storage circuit 40 is a second value, it does not provide an output signal to the rear neuron circuit 24. Instead of this, for example, when the transmission circuit 42 receives an ignition signal from the front neuron circuit 22 and the synapse weight stored in the weight storage circuit 40 is a second value, it supplies an output signal to the rear neuron circuit 24 at a timing later than the timing at which the output signal is supplied to the rear neuron circuit 24 when the synapse weight is a first value. Also, for example, when the synapse weight is expressed by a multi-value or an analog value, each of the multiple synapse circuits 14 may output a pulse having a level or a time width according to the synapse weight as an output signal in response to receiving an ignition signal. This enables the transmission circuit 42 to supply the output signal, which is the received firing signal plus the effect of the synaptic weight stored in the weight storage circuit 40, to the subsequent neuron circuit 24.

[0038] Such a transmission circuit 42 can perform, in an analog manner, a multiplication process for multiplying a firing signal in a neural network by a synaptic weight.

[0039] When a firing signal is output from the front-stage neuron circuit 22, the learning circuit 44 changes the synapse weight according to the result of comparing the absolute value of the internal potential V held in the back-stage neuron circuit 24 with a learning threshold.

[0040] More specifically, when an ignition signal is output from the front neuron circuit 22, if the absolute value of the internal potential V held in the rear neuron circuit 24 is equal to or greater than the first learning threshold, the learning circuit 44 increases the synapse weight. When an ignition signal is output from the front neuron circuit 22, if the absolute value of the internal potential V held in the rear neuron circuit 24 is smaller than the second learning threshold, the learning circuit 44 decreases the synapse weight. Each of the first learning threshold and the second learning threshold is a learning threshold. The second learning threshold is equal to or smaller than the first learning threshold.

[0041] For example, when the synaptic weight is expressed by two values, a first value or a second value, the operation is as follows.

[0042] That is, when the internal potential V is equal to or greater than the first learning threshold and the stored synaptic weight is a second value, the learning circuit 44 changes the synaptic weight to a first value with a first probability in response to receiving an ignition signal from the preceding neuron circuit 22. More specifically, the first probability is assumed to be A (A is a value greater than 0 and equal to or less than 1). In this case, when the internal potential V is equal to or greater than the first learning threshold and the stored synaptic weight is a second value, the learning circuit 44 changes the synaptic weight to a first value with a probability of A and maintains the synaptic weight at the second value with a probability of (1-A). Note that when the internal potential V is equal to or greater than the first learning threshold and the synaptic weight is a first value, the learning circuit 44 maintains the synaptic weight at the first value.

[0043] Furthermore, when the internal potential V is smaller than the second learning threshold and the stored synaptic weight is a first value, the learning circuit 44 changes the synaptic weight to a second value with a first probability in response to receiving an ignition signal from the previous neuron circuit 22. More specifically, when the internal potential V is smaller than the second learning threshold and the stored synaptic weight is a first value, the learning circuit 44 changes the synaptic weight to a second value with a probability of A and maintains the synaptic weight at the first value with a probability of (1-A) in response to receiving an ignition signal. Note that when the internal potential V is smaller than the second learning threshold and the synaptic weight is a second value, the learning circuit 44 maintains the synaptic weight at the second value.

[0044] Furthermore, when the synapse weights are expressed as multiple values ​​or analog values, the learning circuit 44 changes the synapse weights as shown in equation (2) at the timing when the firing signal is output from the pre-stage neuron circuit 22.

number

[0045] W represents the synaptic weight. V represents the internal potential held in the subsequent neuron circuit 24. V Lup is the voltage representing the first learning threshold. V Ldw is a voltage representing the second learning threshold. α represents the amount of increase in synaptic weight when the inner potential V is equal to or greater than the first learning threshold. β represents the amount of decrease in synaptic weight when the inner potential V is less than the second learning threshold.

[0046] When the synaptic weight is expressed by a multi-value or an analog value, the synaptic weight has a variable range. When the synaptic weight is at the upper limit of the variable range, the learning circuit 44 does not increase the synaptic weight even if the internal potential V becomes equal to or greater than the first learning threshold. When the synaptic weight is at the lower limit of the variable range, the learning circuit 44 does not decrease the synaptic weight even if the internal potential V becomes smaller than the second learning threshold.

[0047] When the correlation between the output of the firing signal from the front-stage neuron circuit 22 and the internal potential V held in the back-stage neuron circuit 24 is strong, such a learning circuit 44 can learn synapse weights to strengthen the correlation between the front-stage neuron circuit 22 and the back-stage neuron circuit 24. When the correlation between the output of the firing signal from the front-stage neuron circuit 22 and the internal potential V held in the back-stage neuron circuit 24 is weak, such a learning circuit 44 can learn synapse weights to weaken the correlation between the front-stage neuron circuit 22 and the back-stage neuron circuit 24.

[0048] The control circuit 16 changes the learning thresholds set in all the synapse circuits 14 that supply output signals to the subsequent neuron circuit 24 according to the frequency of the firing signals output from the subsequent neuron circuit 24. More specifically, the control circuit 16 increases the learning thresholds when the frequency of the firing signals is equal to or higher than a preset upper learning limit frequency. In the case where a first learning threshold and a second learning threshold are set in the synapse circuit 14 as learning thresholds, the control circuit 16 increases both the first learning threshold and the second learning threshold when the frequency of the firing signals is equal to or higher than the upper learning limit frequency.

[0049] Furthermore, when the frequency of the firing signal is lower than a preset lower learning limit frequency, the control circuit 16 decreases the learning threshold. When a first learning threshold and a second learning threshold are set in the synapse circuit 14 as learning thresholds, the control circuit 16 decreases both the first learning threshold and the second learning threshold when the frequency of the firing signal is lower than a learning upper limit frequency.

[0050] The learning upper limit frequency represents an upper limit value of the frequency of the firing signal. The learning lower limit frequency represents a lower limit value of the frequency of the firing signal. The learning lower limit frequency is equal to or smaller than the learning upper limit frequency.

[0051] For example, the control circuit 16 generates a frequency signal that represents the frequency of the firing signal by a voltage using an analog integration circuit using a capacitor, and compares the generated frequency signal with a voltage that represents the learning upper limit frequency and a voltage that represents the learning lower limit frequency. Then, the control circuit 16 increases the first learning threshold and the second learning threshold when the frequency signal is equal to or greater than the voltage that represents the learning upper limit frequency, and decreases the first learning threshold and the second learning threshold when the frequency signal is smaller than the voltage that represents the learning lower limit frequency. The control circuit 16 may digitally calculate the frequency of the firing signal using a digital counter or the like.

[0052] The frequency of the firing signal is also detected in each of the multiple neuron circuits 18. Therefore, the control circuit 16 may obtain a frequency signal representing the frequency of the firing signal from each of the multiple neuron circuits 18, instead of generating and calculating the frequency signal.

[0053] The control circuit 16 may increase or decrease the learning threshold by comparing the frequency of the firing signal with the upper learning limit frequency and the lower learning limit frequency at the timing when the firing signal is output from the subsequent neuron circuit 24. The control circuit 16 may also increase or decrease the learning threshold by comparing the frequency of the firing signal with the upper learning limit frequency and the lower learning limit frequency at regular intervals or each time a predetermined event occurs.

[0054] The control circuit 16 may change each of the first learning threshold and the second learning frequency stepwise in predetermined steps. For example, the control circuit 16 may change each of the first learning threshold and the second learning frequency in steps of 0.1 volts.

[0055] In this case, for example, the control circuit 16 adjusts the first learning threshold value as shown in equation (3).

number

[0056] Moreover, for example, the control circuit 16 adjusts the second learning threshold value as shown in equation (4).

number

[0057] V Lup represents the first learning threshold. V Ldw represents the second learning threshold. H represents the frequency of the firing signal. Lup represents the upper learning frequency limit. H Ldw represents the lower limit of learning frequency. ΔV L + represents the increase in the first learning threshold and the second learning threshold when the frequency of the firing signal becomes equal to or higher than the upper learning limit frequency. L - represents the amount of decrease in the first learning threshold and the second learning threshold when the frequency of the firing signal becomes smaller than the lower learning limit frequency. ΔV L + and ΔV L - may be identical.

[0058] The first learning threshold and the second learning threshold have adjustable ranges. When the first learning threshold is the upper limit of the adjustable range, the control circuit 16 does not increase the first learning threshold and the second learning threshold even if the frequency of the ignition signal becomes equal to or higher than the learning upper limit frequency. When the second learning threshold is the lower limit of the adjustable range, the control circuit 16 does not decrease the first learning threshold and the second learning threshold even if the frequency of the ignition signal becomes lower than the learning lower limit frequency.

[0059] When the frequency of the firing signal exceeds the upper firing frequency, the neuron circuit 18 increases the firing threshold to lower the frequency of the firing signal. When the frequency of the firing signal exceeds the learning upper frequency, the control circuit 16 increases the learning threshold of each of the one or more synapse circuits 14 that supply output signals to the neuron circuit 18 in accordance with the increase in the firing threshold of the neuron circuit 18.

[0060] When the frequency of the firing signal becomes smaller than the lower limit of firing frequency, the neuron circuit 18 decreases the firing threshold in order to increase the frequency of the firing signal. When the frequency of the firing signal becomes smaller than the lower limit of learning frequency, the control circuit 16 decreases the learning threshold of one or more synapse circuits 14 that supply output signals to the neuron circuit 18 in accordance with the decrease in the firing threshold of the neuron circuit 18.

[0061] This allows the control circuit 16 to eliminate a phenomenon in which, for example, the firing threshold becomes smaller than the learning threshold, causing the synaptic weight to continue decreasing and making it impossible to perform appropriate learning, thereby enabling accurate learning of the synaptic weight.

[0062] The control circuit 16 may reset the learning thresholds (e.g., the first learning threshold and the second learning threshold) to preset values ​​at a predetermined timing or probabilistically. This allows the control circuit 16 to reset the learning thresholds (e.g., the first learning threshold and the second learning threshold) regardless of the firing threshold set in the subsequent neuron circuit 24, and to perform learning again.

[0063] The control circuit 16 can be realized by a configuration similar to that of the firing threshold adjustment circuit 36. Therefore, the control circuit 16 and the firing threshold adjustment circuit 36 ​​may be a common circuit including some or all of the circuits.

[0064] 4 is a diagram showing the configuration of the control circuit 16. The control circuit 16 has a frequency detection circuit 52, a judgment circuit 54, and an instruction circuit 56 corresponding to a target neuron circuit among the multiple neuron circuits 18.

[0065] The frequency detection circuit 52 acquires the firing signal output from the target neuron circuit. The frequency detection circuit 52 generates a frequency signal that represents the frequency of the firing signal by a voltage by analog integration of the firing signal using a capacitor. The frequency detection circuit 52 may generate the frequency signal digitally using a digital counter or the like.

[0066] A voltage representing the upper learning limit frequency and a voltage representing the lower learning limit frequency are preset in the determination circuit 54. The determination circuit 54 also acquires a frequency signal. When the voltage of the frequency signal is equal to or greater than the voltage representing the upper learning limit frequency, the determination circuit 54 outputs an UP signal. When the voltage of the frequency signal is smaller than the voltage representing the lower learning limit frequency, the determination circuit 54 outputs a DOWN signal.

[0067] The instruction circuit 56 receives the UP signal and the DOWN signal from the determination circuit 54. Then, the instruction circuit 56 outputs a setting signal for setting the first learning threshold and the second learning threshold based on the UP signal and the DOWN signal. For example, when the first learning threshold and the second learning threshold are changed stepwise at predetermined steps, the instruction circuit 56 outputs a setting signal indicating to which step the first learning threshold and the second learning threshold are to be set.

[0068] For example, when the first learning threshold and the second learning threshold are changed in four stages, the instruction circuit 56 outputs a setting signal including signals S1, S2, S3, and S4. When the instruction circuit 56 sets the first learning threshold and the second learning threshold to a first stage value, it sets S1 high and the others low. When the instruction circuit 56 sets the first learning threshold and the second learning threshold to a second stage value, it sets S2 high and the others low. When the instruction circuit 56 sets the first learning threshold and the second learning threshold to a third stage value, it sets S3 high and the others low. When the instruction circuit 56 sets the first learning threshold and the second learning threshold to a fourth stage value, it sets S4 high and the others low.

[0069] The instruction circuit 56 increases the first learning threshold and the second learning threshold by one step when an UP signal is output at the timing when a firing signal is output from the target neuron circuit. The instruction circuit 56 decreases the first learning threshold and the second learning threshold by one step when a DOWN signal is output at the timing when a firing signal is output from the target neuron circuit. Even when an UP signal is output, the instruction circuit 56 does not change the first learning threshold and the second learning threshold when the first learning threshold and the second learning threshold are set to the upper limit of the changeable range. Even when a DOWN signal is output, the instruction circuit 56 does not change the first learning threshold and the second learning threshold when the first learning threshold and the second learning threshold are set to the lower limit of the changeable range.

[0070] The instruction circuit 56 supplies such a setting signal in common to each of one or more synapse circuits 14 that supply output signals to the target neuron circuit.

[0071] In addition, when the firing threshold adjustment circuit 36 ​​of the target neuron circuit generates a frequency signal, the control circuit 16 does not need to have the frequency detection circuit 52. In this case, the control circuit 16 obtains the frequency signal from the firing threshold adjustment circuit 36 ​​of the target neuron circuit.

[0072] Furthermore, if the learning upper limit frequency is the same as the upper limit frequency of firing set in the firing threshold adjustment circuit 36 ​​of the target neuron circuit, and the learning lower limit frequency is the same as the lower limit frequency of firing set in the firing threshold adjustment circuit 36 ​​of the target neuron circuit, the control circuit 16 may not further have the judgment circuit 54. In this case, the control circuit 16 obtains the UP signal and the DOWN signal from the firing threshold adjustment circuit 36 ​​of the target neuron circuit.

[0073] Furthermore, when the number of steps for changing the first learning threshold and the second learning threshold is the same as the number of steps for changing the firing threshold adjusted by the firing threshold adjustment circuit 36 ​​of the target neuron circuit, the control circuit 16 may not further include the instruction circuit 56. In this case, the control circuit 16 receives a setting signal from the firing threshold adjustment circuit 36 ​​of the target neuron circuit, and supplies the same to one or more synapse circuits 14 that supply output signals to the target neuron circuit.

[0074] 5 is a diagram showing an example of the configuration of the determination circuit 54. The determination circuit 54 includes a first comparator 62 and a second comparator 64, for example.

[0075] The first comparator 62 obtains a frequency signal from the frequency detection circuit 52. The first comparator 62 also obtains a voltage representing the learning upper limit frequency. The first comparator 62 outputs an UP signal that is high when the frequency signal is equal to or higher than the voltage representing the learning upper limit frequency, and is low when the frequency signal is lower than the voltage representing the learning upper limit frequency. The first comparator 62 supplies the UP signal to the indication circuit 56.

[0076] The second comparator 64 obtains a frequency signal from the frequency detection circuit 52. The second comparator 64 also obtains a voltage representing the learning lower limit frequency. The second comparator 64 outputs a DOWN signal that is high when the frequency signal is smaller than the voltage representing the learning lower limit frequency, and is low when the frequency signal is equal to or greater than the voltage representing the learning lower limit frequency. The second comparator 64 supplies the DOWN signal to the indication circuit 56.

[0077] 6 is a diagram showing an example of a configuration of the instruction circuit 56. The instruction circuit 56 includes a holding circuit 72 and a selector circuit 74, for example.

[0078] The holding circuit 72 holds the setting signal currently being supplied to the synapse circuit 14. For example, when the first learning threshold and the second learning threshold are changed in four stages, the holding circuit 72 includes a first flip-flop 76 that holds S1, a second flip-flop 78 that holds S2, a third flip-flop 80 that holds S3, and a fourth flip-flop 82 that holds S4.

[0079] The selector circuit 74 acquires an UP signal and a DOWN signal from the determination circuit 54. The selector circuit 74 also acquires the setting signal currently supplied to the synapse circuit 14 by feedback from the holding circuit 72. When the selector circuit 74 acquires an UP signal, the selector circuit 74 references the setting signal currently supplied to the synapse circuit 14 and outputs setting signals in which the first learning threshold and the second learning threshold are increased by one step. When the selector circuit 74 acquires a DOWN signal, the selector circuit 74 references the setting signal currently supplied to the synapse circuit 14 and outputs setting signals in which the first learning threshold and the second learning threshold are decreased by one step.

[0080] Then, at the timing when the firing signal is received, the holding circuit 72 takes in and holds the setting signal output from the selector circuit 74. This allows the holding circuit 72 to update the setting signal at the timing when the firing signal is output.

[0081] 7 is a configuration diagram of a circuit that generates a voltage representing the first learning threshold in the learning circuit 44 of the synapse circuit 14. The learning circuit 44 receives a setting signal from the control circuit 16, and generates a voltage (V Lup ) and the voltage representing the second learning threshold (V Ldwn ) is generated internally.

[0082] The voltage representing the first learning threshold (V Lup ) includes, for example, a plurality of voltage dividing resistors 86, a plurality of switches 88, and a voltage output terminal 90.

[0083] The multiple voltage dividing resistors 86 are connected in series and are connected between the reference potential and the power supply potential. Each of the multiple connection points of the multiple voltage dividing resistors 86 connected in series is connected to a voltage (V Lup ) occurs.

[0084] The multiple switches 88 correspond to multiple connection points in the multiple voltage dividing resistors 86 connected in series. Each of the multiple switches 88 connects or disconnects the corresponding connection point and the voltage output terminal 90. One of the multiple switches 88 is brought into a conductive state and the others are brought into a disconnected state by a setting signal.

[0085] For example, in the example of FIG. 7, the learning circuit 44 obtains a setting signal including signals S1, S2, S3, and S4 from the control circuit 16. When the multiple switches 88 receive a setting signal in which S1 is set to high and S2, S3, and S4 are set to low, they connect the connection point generating the lowest voltage to the voltage output terminal 90 and disconnect the others. When the multiple switches 88 receive a setting signal in which S2 is set to high and S1, S3, and S4 are set to low, they connect the connection point generating the second lowest voltage to the voltage output terminal 90 and disconnect the others. When the multiple switches 88 receive a setting signal in which S3 is set to high and S1, S2, and S4 are set to low, they connect the connection point generating the third lowest voltage to the voltage output terminal 90 and disconnect the others. Furthermore, when the multiple switches 88 receive a setting signal in which S4 is set high and S1, S2 and S3 are set low, they connect the connection point generating the highest voltage to the voltage output terminal 90 and disconnect the others.

[0086] The learning circuit 44 is configured similarly to that shown in FIG. Ldw ) which represents the second learning threshold (V Ldw The circuit that generates the first learning threshold voltage (V Lup7. In addition, when the first learning threshold and the second learning threshold are the same, the learning circuit 44 only has the circuit shown in FIG.

[0087] 8 is a diagram showing the configuration of a reservoir computing device according to an embodiment. The reservoir computing device includes an input layer 102, a reservoir layer 104 that is a recurrent neural network, and an output layer 106. The neural network device 10 may be used as the reservoir layer 104 in such reservoir computing.

[0088] In this case, at least one of the multiple synapse circuits 14 included in the neural network device 10 feeds back an output signal and supplies it to the neuron circuit 18. That is, at least one of the multiple synapse circuits 14 supplies an output signal to a neuron circuit 18 that is arranged in a stage preceding the synapse circuit 14 that supplies an output signal to the preceding neuron circuit 22 among the multiple neuron circuits 18.

[0089] Fig. 9 is a diagram showing a simulation result showing accuracy with respect to the number of learning times when the neural network device 10 is applied to a reservoir computing device. Fig. 9 shows an example in which the firing threshold is switched in seven steps, 0.125V, 0.15V, 0.2V, 0.25V, 0.3V, 0.35V, and 0.4V. Fig. 9 also shows an example in which the first learning threshold and the second learning threshold are the same, and are switched in seven steps, (0.125 / 2)V, (0.15 / 2)V, (0.2 / 2)V, (0.25 / 2)V, (0.3 / 2)V, (0.35 / 2)V, and (0.4 / 2)V, in synchronization with the firing threshold.

[0090] For comparison, FIG. 9 also shows the accuracy of a conventional neural network device that does not include the control circuit 16 and has a fixed learning threshold.

[0091] In the example of FIG. 9, when the neural network device 10 is applied to a reservoir computing device, it is possible to perform inference with higher accuracy than a conventional neural network device.

[0092] As described above, the neural network device 10 according to this embodiment updates the synapse weights according to the internal potential V of the subsequent neuron circuit 24 when the previous neuron circuit 22 fires, and therefore can perform accurate learning. Furthermore, the neural network device 10 according to this embodiment adjusts the firing frequency of the neuron circuit 18 to a relatively narrow range, and therefore can perform accurate inference.

[0093] Furthermore, when the frequency of the firing signal of the neuron circuit 18 becomes equal to or higher than the upper learning limit frequency, the neural network device 10 according to the present embodiment increases the learning threshold of each of the one or more synapse circuits 14 that supply output signals to the neuron circuit 18 in accordance with the increase in the firing threshold of the neuron circuit 18. When the frequency of the firing signal of the neuron circuit 18 becomes smaller than the lower learning limit frequency, the neural network device 10 according to the present embodiment decreases the learning threshold of each of the one or more synapse circuits 14 that supply output signals to the neuron circuit 18 in accordance with the decrease in the firing threshold of the neuron circuit 18. In this way, the neural network device 10 according to the present embodiment can accurately learn synapse weights by eliminating the phenomenon in which the firing threshold becomes smaller than the learning threshold, causing the synapse weights to continue decreasing and making it impossible to perform appropriate learning.

[0094] Although the embodiments have been described, they are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and spirit of the invention, and are included in the scope of the invention and its equivalents described in the claims. [Explanation of symbols]

[0095] 10 Neural network device 12 Layers 14 Synaptic Circuits 16 Control circuit 18 Neuronal Circuits 22 Front-stage neuron circuit 24 Post-neuron circuit 32 Potential holding circuit 34 Firing Circuit 36 Firing threshold adjustment circuit 40 Weight memory circuit 42 Transmission Circuit 44 Learning Circuit 52 Frequency detection circuit 54 Judgment circuit 56 Indication circuit 62 First Comparator 64 Second Comparator 72 Holding circuit 74 Selector Circuit 76 Flip-flop 86 Voltage divider resistor 88 Switch 90 Voltage output terminal 102 Input Layer 104 Reservoir Layer 106 Output Layer

Claims

1. A plurality of neuronal circuits, Multiple synaptic circuits, A control circuit; Equipped with Each of the plurality of neuron circuits comprises: a potential holding circuit that receives an output signal output from any one of the plurality of synapse circuits and holds an internal potential that changes in response to a level or a time width of the received output signal; a firing circuit that outputs a firing signal when the absolute value of the internal potential is greater than a firing threshold; an ignition threshold adjustment circuit that changes the ignition threshold in response to a frequency of the ignition signal; having Each of the plurality of synapse circuits includes a weight storage circuit for storing synaptic weights; a transmission circuit that receives the ignition signal output from a front-stage neuron circuit that is one of the plurality of neuron circuits, and outputs the output signal obtained by adding the effect of the synapse weight to the received ignition signal to a rear-stage neuron circuit that is one of the plurality of neuron circuits; a learning circuit for changing the synapse weight in response to a result of comparing the absolute value of the internal potential held in the subsequent neuron circuit with a learning threshold when the firing signal is output from the previous neuron circuit; having The control circuit changes, for a target neuron circuit that is at least one of the plurality of neuron circuits, the learning threshold used to change the synaptic weights stored in one or more synapse circuits that output the output signal to the target neuron circuit among the plurality of synapse circuits, in accordance with the frequency of the ignition signal. Neural network device.

2. the ignition threshold adjustment circuit increases the ignition threshold when the frequency of the ignition signal is equal to or greater than a preset upper ignition frequency, and decreases the ignition threshold when the frequency of the ignition signal is less than a preset lower ignition frequency; The lower limit of firing frequency is equal to or smaller than the upper limit of firing frequency.

2. The neural network device according to claim 1.

3. When the firing signal is output from the preceding neuron circuit, the learning circuit When the absolute value of the internal potential held in the subsequent neuron circuit is equal to or greater than a first learning threshold, which is the learning threshold, the synaptic weight is increased, and when the absolute value of the internal potential is smaller than a second learning threshold, which is the learning threshold, the synaptic weight is decreased; The second learning threshold is equal to or smaller than the first learning threshold.

3. The neural network device according to claim 2.

4. The control circuitry, with respect to the target neuron circuit, When the frequency of the ignition signal is equal to or higher than a predetermined upper learning limit frequency, the first learning threshold and the second learning threshold in the one or more synapse circuits are increased; When the frequency of the ignition signal is lower than a predetermined learning lower limit frequency, the first learning threshold and the second learning threshold in the one or more synaptic circuits are decreased; The learning lower limit frequency is equal to or smaller than the learning upper limit frequency.

4. The neural network device according to claim 3.

5. The control circuit includes: generating a frequency signal representative of a frequency of the firing signal by analog integrating the firing signal using a capacitor; When the frequency signal is equal to or greater than a voltage representing the learning upper limit frequency, increasing the first learning threshold and the second learning threshold; When the frequency signal is smaller than a voltage representing the learning lower limit frequency, the first learning threshold and the second learning threshold are decreased.

5. The neural network device according to claim 4.

6. The control circuit changes each of the first learning threshold and the second learning threshold in a stepwise manner at predetermined steps.

6. The neural network device according to claim 3, wherein the first and second inputs are connected to the first and second inputs.

7. The control circuit resets each of the first learning threshold and the second learning threshold to a preset value at a predetermined timing or probabilistically.

7. The neural network device according to claim 3.

8. At least one of the plurality of synapse circuits supplies an output signal to the preceding neuron circuit or to a neuron circuit that is arranged in a stage preceding a synapse circuit that supplies the output signal to the preceding neuron circuit.

8. The neural network device according to claim 1 .

Citation Information

Patent Citations

  • Recognition apparatus based on neural network and method of training neural network

    JP2017134821A

  • Neuromorphic Processing Unit

    JP2020531954A

  • Homeostatic plasticity control for spiking neural networks

    US20190197391A1

  • STDP with synaptic fatigue for learning of spike-time-coded patterns in the presence of parallel rate-coding

    US20190236443A1