Neuromorphic circuit, neuromorphic array learning method, and program
AssigneeTDK Corporation
InventorYukio Terasaki
Life of this patent
Estimating the term…
Abstract
A control device of an array including neuromorphic elements that multiply a signal by a weight corresponding to a value of a variable characteristic is provided with a control unit which calculates update amounts of element conductances in a neuromorphic array on the basis of weight update amounts from a learning algorithm, and, after applying a write signal for changing conductances in the neuromorphic array, selects certain elements with reference to a predetermined threshold value and applies an additional write signal.
Claims18
A neuromorphic circuit having two or more variable resistance elements capable of having variable resistance values and connected to a common bit line, the neuromorphic circuit comprising:
- an input signal generation circuit configured to generate an input signal from input data and apply the input signal to the variable resistance elements;
- a detection circuit configured to detect a current flowing through the common bit line;
- a differential circuit configured to output a difference between a teacher signal corresponding to the input data and an output of the detection circuit;
- a learning control circuit configured to execute a learning algorithm of a neural network and convert a weight update amount into an amount of change in conductance of each of the variable resistance elements;
- a write signal generation circuit configured to generate a full write signal for changing conductances of the variable resistance elements by the amount of change in conductance calculated by the learning control circuit, the full write signal being applied to all of the variable resistance elements in a single operation without performing any read or verify operation of conductances of any of the variable resistance elements before or during application of the full write signal;
- a selection circuit configured to select a chosen variable resistance element among the variable resistance elements exclusively based on selection conditions derived from the learning algorithm and without using any readout of device conductance for the selection, the selection conditions including at least one of (i) an absolute value of a weight update amount and (ii) an absolute value of the input data, aggregated over a batch of training samples, and to perform the selection after applying the full write signal to all variable resistance elements;
- an additional write signal generation circuit configured to generate an additional write signal for the chosen variable resistance element and apply the additional write signal only to the chosen variable resistance element without performing any read or verify of a conductance of the chosen variable resistance element before application of the additional write signal, the full write and the additional write being realized by pulses of fixed width with finite resolution;
- and
- a determination circuit configured to re-input the input signal to all variable resistance elements only after applying the full write signal to all variable resistance elements and the additional write signal to the chosen variable resistance element and determine whether to continue or stop learning based on change in the difference between the output of the detection circuit and the teacher signal, including that learning is terminated when the magnitude of the change remains below a threshold for a plurality of consecutive re-inputs and/or when a loss is monotonically decreased for a plurality of consecutive re-inputs.
A neuromorphic array learning method, in a neuromorphic array composed of a plurality of variable resistance elements, comprising the steps of:
- performing learning of a neural network;
- converting a weight update amount of the neural network into an amount of change in conductance of each variable resistance element of the neuromorphic array;
- applying a full write signal based on the converted amount of change in conductance to the neuromorphic array in a single operation without performing any read or verify operation of conductances of any of the variable resistance elements before or during application of the full write signal;
- selecting a portion of the elements exclusively based on selection conditions derived from the learning algorithm and without using any readout of device conductance for the selection, the selection conditions including at least one of (i) an absolute value of a weight update amount and (ii) an absolute value of the input data, aggregated over a batch of training samples, and to perform the selection after applying the full write signal to all variable resistance elements;
- applying an additional write signal only to the selected elements without performing any read or verify of a conductance of the chosen variable resistance element before application of the additional write signal, the full write and the additional write being realized by pulses of fixed width with finite resolution;
- and
- re-inputting learning data to the neuromorphic array without performing any read or verify of a conductance of the chosen variable resistance element before the additional write, the full write and the additional write being realized by pulses of fixed width and/or fixed amplitude with quantized step resolution and determining end of a corresponding learning cycle using a difference from a teacher signal of the learning data when the magnitude of the change remains below a threshold for a plurality of consecutive re-inputs and/or when a loss is monotonically decreased for a plurality of consecutive re-inputs.
A non-transitory computer readable medium storing a program for causing a computer to execute, in a neuromorphic array including neuromorphic elements that multiply a signal by a weight corresponding to a variable characteristic, the steps of:
- performing learning of a neural network;
- converting a weight update amount of the neural network into an amount of change in conductance of a neuromorphic array element;
- applying a full write signal based on the converted amount of change in conductance to the neuromorphic array in a single operation without performing any read or verify operation of conductances of any of the variable resistance elements before or during application of the full write signal;
- selecting a variable resistance element among the variable resistance elements exclusively based on selection conditions derived from the learning algorithm and without using any readout of device conductance for the selection, the selection conditions including at least one of (i) an absolute value of a weight update amount and (ii) an absolute value of the input data, aggregated over a batch of training samples, and to perform the selection after applying the full write signal to all variable resistance elements after applying the wire signal to all variable resistance elements;
- applying an additional write signal only to the selected elements without performing any read or verify of a conductance of the chosen variable resistance element before application of the additional write signal, the full write and the additional write being realized by pulses of fixed width and/or fixed amplitude with quantized step resolution;
- and
- re-inputting learning data to all variable resistance elements without performing any read or verify of a conductance of the chosen variable resistance element before the additional write, the full write and the additional write being realized by pulses of fixed width with finite resolution after applying the full write signal to the all variable resistance elements and the additional write signal to the selected variable resistance elements and determining end of a corresponding learning cycle using a difference from a teacher signal of the learning data when the magnitude of the change remains below a threshold for a plurality of consecutive re-inputs and/or when a loss is monotonically decreased for a plurality of consecutive re-inputs.
Dependencies are inferred from the claim text.