TRANSISTORLESS ALL-MEMRISTOR NEUROMORPHIC CIRCUITS FOR IN-MEMORY COMPUTING
20200356847 ยท 2020-11-12
Assignee
Inventors
Cpc classification
G06F17/15
PHYSICS
H10B63/80
ELECTRICITY
G11C2213/77
PHYSICS
G06F17/16
PHYSICS
G06N3/049
PHYSICS
G11C7/1006
PHYSICS
International classification
Abstract
A circuit for multiplying a number N of first operands each by a corresponding second operand, and for adding the products of the multiplications, with N2; the circuit comprising: N input conductors; N programmable conductance circuits connected each between one of the input conductors and at least one output conductor; each programmable conductance circuit being arranged to be programmable at a value depending in a known manner from one of the first operands; each input conductor being arranged to receive from an input circuit an input train of voltage spikes having a spike rate that derives in a known manner from one of the second operands; and at least one output circuit arranged to generate an output train of voltage spikes having a spike rate that derives in a known manner from a sum over time of the spikes received on the at least one output conductor.
Claims
1. A circuit for multiplying a number N of first operands each by a corresponding second operand, and for adding the products of the multiplications, with N2; the circuit comprising: N input conductors; N programmable conductance circuits connected each between one of said input conductors and at least one output conductor; each programmable conductance circuit being arranged to be programmable at a value depending in a known manner from one of said first operands; each input conductor being arranged to receive from an input circuit an input train of voltage spikes having a spike rate that derives in a known manner from one of said second operands; at least one output circuit arranged to generate an output train of voltage spikes having a spike rate that derives in a known manner from a sum over time of the spikes received on said at least one output conductor.
2. The circuit of claim 1, wherein said at least one output circuit is arranged to generate an output train of voltage spikes having a spike rate that derives in a known manner from a sum over time of the spikes received on said at least one output conductor by generating a first potential deriving in a known manner from the integration over time of the current received on said at least one output conductor and, when said first potential goes beyond a first predetermined threshold, outputting a voltage spike of first predetermined value and duration and reinitializing said first potential.
3. The circuit of claim 1, wherein each input circuit comprises an excitatory tonic neuron circuit arranged for outputting a train of voltage spikes having a spike rate deriving in a known manner from an input current deriving in a known manner from a second operand.
4. The circuit of claim 3, wherein each excitatory tonic neuron circuit is provided for generating a second potential depending in a known manner from the integration over time of said input current and, when said second potential goes beyond a second predetermined threshold, outputting a voltage spike of second predetermined value and duration and reinitializing said second potential.
5. The circuit of claim 3, wherein: said N input conductors comprise N row line conductors; said at least one output conductor comprises a plurality of column line conductors, said plurality of programmable conductance circuits being connected each between a different row line conductor and a different column line conductor; and said at least one output excitatory tonic neuron circuit comprises a plurality of output excitatory tonic neuron circuits having each an input connected to a different column line conductor.
6. The circuit of claim 1, wherein each of said plurality of programmable conductance circuit comprises a memory cell; said plurality of programmable conductance circuits forming a memory array arranged along rows and columns.
7. The neuromorphic crossbar array circuit of claim 6, wherein each memory cell comprises a memristor.
8. The neuromorphic crossbar array circuit of claim 3, wherein each excitatory tonic neuron circuit comprises first and second negative differential resistance devices biased each with opposite polarities, said first and second negative differential resistance devices being coupled to first and second grounded capacitors.
9. The neuromorphic crossbar array circuit of claim 8, wherein: said first negative differential resistance device has a first node connected to an input node of the excitatory tonic neuron circuit by a first load resistor and a second node connected to a first voltage source; said first node of said first negative differential resistance device being coupled to said first grounded capacitor; and said second negative differential resistance device has a first node connected to said first node of said first negative differential resistance device by a second load resistor and a second node connected to a second voltage source; said first node of said second negative differential resistance device being coupled to said second grounded capacitor; said first node of said second negative differential resistance device forming an output node of the neuron circuit.
10. The neuromorphic crossbar array circuit of claim 9, comprising a biasing circuit for supplying the at least one output excitatory tonic neuron circuit with a bias current arranged to fine-tune a resting potential of the at least one output excitatory tonic neuron circuit.
11. A method for calculating a multiplication-accumulation operation comprising multiplying a number N of first operands each by a corresponding second operand, and adding the products of the multiplications, with N2; the method comprising: providing N input conductors; connecting N programmable conductance circuits each between one of said input conductors and a unique output conductor; programming each programmable conductance circuits with a conductance proportional to one of said first operands; imputing on the input conductor connected to each conductance circuit programmed with a first operand an input train of voltage spikes having a spike rate proportional to the second operand corresponding to said first operand; generating an output train of voltage spikes proportional to a sum over time of the spikes received on said output conductor.
12. The method of claim 11, wherein said generating an output train of voltage spikes proportional to the sum over time of the spikes received on said output conductor comprises integrating the current received on said output conductor over time as a potential and, when said potential goes beyond a predetermined threshold, outputting a voltage spike of predetermined value and duration and reinitializing said potential.
13. The method of claim 11, comprising providing each said input train of voltage spikes having a spike rate proportional to a second operand in output of an excitatory tonic neuron circuit arranged for outputting a train of voltage spikes having a spike rate proportional to an input current itself proportional to said second operand.
14. The method of claim 13, wherein each excitatory tonic neuron circuit is provided for integrating said input current over time as a potential and, when said potential goes beyond a predetermined threshold, outputting said voltage spike of predetermined value and duration and reinitializing said potential.
15. The method of claim 13, comprising transforming an input voltage proportional to said second operand into said current proportional to said second operand.
16. A method for calculating a number M of multiplication-accumulation operation each of N first operands by N corresponding second operands, and adding the products of the multiplications, with N2 and M=2; the method comprising: providing N input conductors; connecting N programmable conductance circuits each between one of said input conductors and one of M output conductors; programming each programmable conductance circuits with a conductance proportional to one of said first operands; imputing, on the input conductor connected to each conductance circuit programmed with a first operand, an input train of voltage spikes having a spike rate proportional to the second operand corresponding to said first operand; generating M output trains of voltage spikes proportional each to a sum over time of the spikes received on said output conductor.
17. The method of claim 16, wherein said generating an output train of voltage spikes proportional to the sum over time of the spikes received on each output conductor comprises integrating the current received on said output conductor over time as a potential and, when said potential goes beyond a predetermined threshold, outputting a voltage spike of predetermined value and duration and reinitializing said potential.
18. The method of claim 16, comprising providing each said input train of voltage spikes having a spike rate proportional to a second operand in output of an excitatory tonic neuron circuit arranged for outputting a train of voltage spikes having a spike rate proportional to an input current itself proportional to said second operand.
19. The method of claim 18, wherein each excitatory tonic neuron circuit is provided for integrating said input current over time as a potential and, when said potential goes beyond a predetermined threshold, outputting said voltage spike of predetermined value and duration and reinitializing said potential.
20. The method of claim 18, comprising transforming an input voltage proportional to said second operand into said current proportional to said second operand.
21. The method of claim 16 wherein each of said plurality of programmable conductance circuit comprises a memory cell; said plurality of programmable conductance circuits forming a memory array arranged along rows and columns.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0059] Aspects of the present invention are illustrated by way of example, and not by way of limitation, in the accompanying drawings.
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073] The drawings referred to in this description should be understood as not necessarily being drawn to scale.
DESCRIPTION OF EMBODIMENTS
[0074] The detailed description set forth below in connection with the appended drawings are intended as a description of various embodiments of the present invention and are not intended to represent the only embodiments in which the present invention is to be practiced. Each embodiment described in this disclosure is provided merely as an example or illustration of the present invention, and should not necessarily be construed as preferred or advantageous over other embodiments. In some instances, well-known methods, procedures, objects, and circuits have not been described in detail so as to not unnecessarily obscure aspects of the present disclosure.
[0075] By contrast with the above-described prior art circuits, embodiments of this presentation relate to an all-memristor neuromorphic MAC accelerator that can be entirely analog, which can employ nonvolatile passive-memristor synapses for row-to-column coupling, and spiking active-memristor neurons for generating input and output signals. Embodiments of this presentation naturally utilize a spike domain data representation analogous to mammal brains. Embodiments of this presentation employ a fully analog neuromorphic architecture and a spike-domain data representation for in-memory MAC acceleration.
[0076]
[0077] The circuit illustrated in
[0078]
[0079] As outlined above, the all-memristor (i.e. transistor-less) VMM circuit of
[0080] According to an embodiment of this presentation, each of said plurality of programmable conductance circuit W.sub.i, j can comprise a memory cell; said plurality of programmable conductance circuits forming a memory array arranged along rows and columns, and comprising programming circuits (not shown) for storing desired values in each memory cell, for example as a conductance that derives in a known manner from values to be stored. Such an embodiment advantageously allows storing in the memory cells the first operands just after calculating them, thus allowing to use the first operands in a VMM immediately after their calculation, without having to transfer them from a memory to a distinct VMM circuit.
[0081] According to embodiments of this presentation each memory cell Wi, j can comprise a passive memristor. According to an embodiment of this presentation, a passive memristor can comprise a Pt/(Ta2O5:Ag)/Ru (silver-doped tantalum pentoxide switching layer sandwiched by platinum and ruthenium metal electrodes) passive memristor such as described in the publication: Yoon, Jung Ho, et al. Truly electroforming-free and low-energy memristors with preconditioned conductive tunneling paths. Advanced Functional Materials 27 (2017): 1702010, hereby incorporated by reference.
[0082] According to embodiments of this presentation, the at least one output circuit 38.sub.1 is arranged to generate an output train outs of voltage spikes having a rate that derives in fifth a known manner from the sum over time of the area of the spikes received on said at least one output conductor 34.sub.1 by generating a first potential deriving in a sixth known manner from the integration over time of the current received on said at least one output conductor 34.sub.1 and, when said first potential goes beyond a first predetermined threshold, outputting a voltage spike of first predetermined value and duration and reinitializing said first potential. According to an embodiment, to reduce noise the input current must be larger than a predetermined threshold (or supra threshold) to be taken in account by the output neuron circuit.
[0083] According to embodiments of this presentation, the output circuit 38.sub.1 can be an excitatory tonic neuron circuit such as the neuron circuit 40 illustrated in
[0084] According to embodiments of this presentation, the input circuits 36.sub.i can each comprise an excitatory tonic neuron circuit arranged for outputting a train of voltage spikes having a spike rate that depends in a seventh known manner from an input current itself depending in an eight known manner from a second operand. According to embodiments of this presentation, each excitatory tonic neuron circuit can be provided for generating a potential depending in a ninth known manner from the integration over time of said input current and, when said potential goes beyond a second predetermined threshold, outputting a voltage spike of second predetermined value and duration and reinitializing said second potential.
[0085] According to embodiments of this presentation, each input circuit 36.sub.i can be an excitatory tonic neuron circuit such as the neuron circuit 40 of
[0086] Details of the operation of memristor neuron circuit 40 can for example be found in U.S. patent application Ser. No. 15/976,687. It is noted that the active memristor neuron circuit 40 in
[0087] For example, the resistors, capacitors and voltage sources illustrated in
[0088] Embodiments of this presentation use a spike rate based data representation/coding scheme, wherein the input image pixel data (e.g. grayscale intensity) are first converted into continuously firing spike trains as the outputs of input neurons. This data conversion can be realized by different methods.
[0089] A first method can comprise converting the pixel data to a d.c. current level, then feed the current to an input neuron. The neuron can be viewed as a nonlinear processing node that performs a leaky integrate-and-fire (LIF) operation, i.e. that integrates the input charges (over a characteristic time window) across a membrane capacitor (in presence of a leak through it), thus increasing the membrane potential. Once the membrane potential goes beyond a predetermined threshold, the neuron fires an output spike, resets the membrane potential and start over again. A d.c. input current is hence converted into a repetitive spike train with a character frequency that depends on the input current level.
[0090] A second method can comprise using a separate (e.g. CMOS) circuit to convert the pixel data to a train of digital pulses, which are fed to input neurons (this is the case shown in
[0091] A third method can comprise using hardware such as event-based vision sensors (e.g. dynamic vision sensors, DVS) where output data (image data for event-based vision sensors) are already in the form of spike trains, which saves the size/power overheads for data conversion.
[0092] As outlined above, embodiments of this presentation utilize active and passive memristor devices and circuits developed at HRL and described for example in: U.S. patent application Ser. No. 16/005,529; U.S. patent application Ser. No. 15/976,687; and U.S. patent application Ser. No. 15/879,363, hereby incorporated by reference.
[0093] A crossbar architecture according to embodiments of this presentation reduces the energy and time required to perform MAC operations. In particular, the plurality of programmable conductance circuits programmed with the first operands can actually each be a memory cell used to store the first operands. This way, the first operands can be locally saved and reused, thus greatly reducing the energy used in moving data between the processor and the memory. Also, passive-memristor synapses can be programmed and addressed in an analog (continuous) fashion, without the necessity of a system clock (as in the case for digital systems). In deep learning applications and in applications that do not require a high-precision data representation, power-hungry, high-precision 32-bit or 64-bit data representations are not needed, as they have been in prior-art implementations realized in CMOS electronics.
[0094] According to embodiments of this presentation, spike-domain data representation enables energy-efficient MAC operations with minimal current draw, since neuronal spike trains can be thought of as digital pulse trains with ultra-low duty cycles.
[0095] Further, unlike prior-art implementations realized in CMOS electronics, in which all devices and circuits are constrained to the 2D topology of the Si substrate, the present invention is amenable to a 3D, stacked topology such as detailed in the above-cited HRL patent applications.
[0096] In an all-memristor design according to embodiments of this presentation, functions replacing those of ADCs and DACs are effectively realized by memristor spiking neurons. Besides the savings of size and energy overhead, thanks to the scalable and energy-efficient memristor building blocks, a main difference between embodiments of this presentation and some of the known art lies in the data representation that is sent to programmable conductance for applying Ohm's law as a data multiplier. According to embodiments of this presentation, a spiking memristor neuron operates with the integrate and fire principle, wherein the neuron membrane potential drifts higher by integrating an input current over time. Once the membrane potential goes beyond a threshold, a spike (aka action potential, or a narrow electrical impulse) is output (for details, see HRL patent application Ser. No. 15/976,687).
[0097] Active memristor neurons have superior energy efficiencies compared to CMOS prior arts, thanks to both the simple circuit topology (typically consisting of just two active memristors and 4 to 5 passive R, C elements) and the energy-efficient memristor switching operations. For more detailed analysis in the size/energy scaling of active memristor neurons that can be used in embodiments of this presentation, see for example the publication: Biological plausibility and stochasticity in scalable VO2 active memristor neurons, by Yi, W., Tsang, K. K., Lam, S. K., Bai, X., Crowell, J. A., and Flores, E. A., Nature Communications 9, pp. 4661 (2018) hereby incorporated by reference. The dynamic switching energy of VO2 Mott memristors in such memristor neuron circuits is extremely low, only at 1 to 10 fJ/device at VO2 channel radius of 7 to 20 nm and thickness of 20 nm (see Supplementary
[0098] As outlined above, another advantage of circuits according to embodiments of this presentation is that, unlike CMOS-only or CMOS-memristor hybrid approaches, the all-memristor architecture can be stacked vertically to replicate multilayered cerebral cortex in mammals' brains for unprecedented neural network density and connectivity.
[0099] According to embodiments of this presentation, an analog passive memristor crossbar array performs similar VMM computations as in the case of hybrid CMOS-memristor circuits (such as illustrated in
[0100] According to embodiments of this presentation, the size of the memristor crossbar array needs to be carefully considered. For imperfect nanoscale memristors, the array scalability is limited by factors including the device characteristic variability, the device on/off resistance ratio, and the parasitic interconnect wire resistance, all of which impact the readout margin. The Inventors used a crossbar of 2510 memristors as a prototype example for simulations and analysis purposes, but the same principle applies to arbitrary array sizes. According to embodiments of this presentation, a memristor crossbar array such as described in the following reference can be used: A Functional Hybrid Memristor Crossbar-Array/CMOS System for Data Storage and Neuromorphic Applications, by Kuk-Hwan Kim, Siddharth Gaba, Dana Wheeler, Jose M. Cruz-Albrecht, Tahir Hussain, Narayan Srinivasa, and Wei Lu*,. dx.doi.org/10.1021/n1203687n|Nano Lett. 2012, 12, 389-395 hereby incorporated be reference.
[0101]
[0102]
In a linear rate based encoding, it corresponds to an intermediate output spike rate of 140 MHz.
[0103]
[0104]
[0105] With this encouraging result of preliminary all-memristor convolutional operation, the Inventors performed further verifications of all-memristor spike-rate based convolutions using MNIST handwritten digit images (included as part of MATLAB neural network toolbox). The Inventors also replaced the resistor synapses with a Ta.sub.2O.sub.5:Ag passive memristor SPICE model provided by the authors of the following reference paper: Truly electroforming-free and low-energy memristors with preconditioned conductive tunneling paths, by Yoon, J. H., Zhang, J., Ren, X., Wang, Z., Wu, H., Li, Z., Barnell, M., Wu, Q., Lauhon, L. J., Xia, Q., and Yang, J. J.; Advanced Functional Materials 27, pp. 1702010 (2017).
[0106] According to embodiments of this presentation, the pre-trained convolutional kernel weights can have both positive and negative values, but the converted synaptic conductance values can only have positive values. Having both positive and negative synaptic weights can however be useful for some applications.
[0107] To simulate convolutions of MATLAB MNIST images in spike domain, a linear transformation can be used to convert the pre-trained weights of convolutional kernels (filters) in the convolution layer of a customized MATLAB CNN model into synapse conductance (resistance) values. The CNN model training can be performed in MATLAB using the stochastic gradient descent (SGD) method and can be validated by a statistical MNIST image classification accuracy of 93.7% over 250 test images.
[0108]
[0109]
[0110]
[0111]
[0112]
[0113]
[0114] Similar to the case of CNNs, the Inventors found that a small convolution filter bias, in the form of a small d.c. biasing current for output neurons, can be needed for optimized convolution accuracy. This is based on the observation of a systematic redshift in the simulated output neuron spike rates without a bias, which can be eliminated by a fine tuning of the neuron resting potential through a biasing current (2 A in this case, provided through a 500 k resistor and 1V voltage supply). Thus, a neuromorphic crossbar array circuit according to embodiments of this presentation can comprise a biasing circuit 70 for supplying the at least one output excitatory tonic neuron circuit 38.sub.1 with a bias current arranged to fine-tune a resting potential of the at least one output excitatory tonic neuron circuit.
[0115]
[0116] The table in
[0117] Many computationally intensive applications can use a circuit or method according to this presentation. For example: Space-domain data processing: image classification, image processing (e.g. compression) based on fast Fourier transform (FFT) and discrete cosine transform (DCT); Time-domain signal processing based on FFT computations; Security related applications that requires high-throughput and energy-efficient convolutions.
[0118]
[0119] providing (92) N input conductors;
[0120] connecting (94) N programmable conductance circuits each between one of said input conductors and a unique output conductor;
[0121] programming (96) each programmable conductance circuits with a conductance proportional to one of said first operands;
[0122] imputing (98) on the input conductor connected to each conductance circuit programmed with a first operand an input train of voltage spikes having a spike rate proportional to the second operand corresponding to said first operand;
[0123] generating (100) an output train of voltage spikes proportional to a sum over time of the spikes received on said output conductor.
[0124] According to an embodiment of said presentation, said generating (100) an output train of voltage spikes proportional to the sum over time of the spikes received on said output conductor comprises integrating (102) the current received on said output conductor over time as a potential and, when said potential goes beyond a predetermined threshold, outputting a voltage spike of predetermined value and duration and reinitializing said potential.
[0125] According to an embodiment of said presentation, the method further comprises providing each said input train of voltage spikes having a spike rate proportional to a second operand in output of an excitatory tonic neuron circuit (for example such as illustrated in
[0126] According to an embodiment of said presentation, each excitatory tonic neuron circuit is provided for integrating said input current over time as a potential and, when said potential goes beyond a predetermined threshold, outputting said voltage spike of predetermined value and duration and reinitializing said potential.
[0127] According to an embodiment of said presentation, the method further comprises transforming an input voltage proportional to said second operand into said current proportional to said second operand.
[0128]
[0129] providing (112) N input conductors;
[0130] connecting (114) N programmable conductance circuits each between one of said input conductors and one of M output conductors;
[0131] programming (116) each programmable conductance circuits with a conductance proportional to one of said first operands;
[0132] imputing (118), on the input conductor connected to each conductance circuit programmed with a first operand, an input train of voltage spikes having a spike rate proportional to the second operand corresponding to said first operand;
[0133] generating (120) M output trains of voltage spikes proportional each to a sum over time of the spikes received on said output conductor.
[0134] According to embodiments of this presentation, said generating (120) an output train of voltage spikes proportional to the sum over time of the spikes received on each output conductor comprises integrating (122) the current received on said output conductor over time as a potential and, when said potential goes beyond a predetermined threshold, outputting a voltage spike of predetermined value and duration and reinitializing said potential.
[0135] According to embodiments of this presentation, the method further comprises providing each said input train of voltage spikes having a spike rate proportional to a second operand in output of an excitatory tonic neuron circuit (such as for example illustrated in
[0136] According to embodiments of this presentation, each excitatory tonic neuron circuit is provided for integrating said input current over time as a potential and, when said potential goes beyond a predetermined threshold, outputting said voltage spike of predetermined value and duration and reinitializing said potential.
[0137] According to embodiments of this presentation, the method further comprises transforming an input voltage proportional to said second operand into said current proportional to said second operand.
[0138] According to embodiments of this presentation, each of said plurality of programmable conductance circuit comprises a memory cell; said plurality of programmable conductance circuits forming a memory array arranged along rows and columns.
[0139] Modifications, additions, or omissions may be made to the systems, apparatuses, and methods described herein without departing from the scope of the inventive concepts. The components of the systems and apparatuses may be integrated or separated. Moreover, the operations of the systems and apparatuses may be performed by more, fewer, or other components. The methods may include more, fewer, or other steps. Additionally, steps may be performed in any suitable order. As used in this document, each refers to each member of a set or each member of a subset of a set.
[0140] To aid the Patent Office, and any readers of any patent issued on this application in interpreting the claims appended hereto, applicants wish to note that they do not intend any of the appended claims or claim elements to invoke paragraph 6 of 35 U.S.C. Section 112 as it exists on the date of filing hereof unless the words means for or step for are explicitly used in the particular claim.