Embodiments of the present technology relate generally to a device and method to conduct fast and energy-efficient Multiply-ACcumulate (MAC) arithmetic operations; in particular Vector-Matrix Multiplication (VMM) operations in a parallel fashion.
One way to implement VMM operations in hardware is an architecture known as a crossbar array accelerator. In known crossbar array accelerators that use analog input and output, the conductance of memory cells at each cross point is used as one of the MAC operands and Ohm's law is utilized to realize multiplications. To date, such crossbar array accelerators have been constructed at least partially, if not entirely, using complementary metal-oxide-semiconductor (CMOS) circuitry.
Hybrid CMOS-passive memristor crossbar circuits have been developed recently. Passive memristors (aka resistive random-access memory, ReRAM or RRAM) are a category of two-terminal circuit elements with an electrically reprogrammable device resistance; thereby they can be used in principle as a nonvolatile memory cell. Passive memristors operating in analog domain are well suited for implementing the massive MAC arithmetic operations required in convolutional neural networks (CNNs) and other in-memory computing (IMC) application scenarios. In an N by M memristor crossbar array, where N is the number of rows (word lines), M is the number of columns (bit lines), a passive memristor device connects each crosspoint between the word line (row) and the bit line (column). At an arbitrary crosspoint (i, j) between the ith word line and the jth bit line, multiplication operation can be achieved by the Ohm's law relationship between voltage and current Iij=Vi×Gij, where Iij is the output current flowing through the memristor, Vi is input voltage applied on the ith word line (with bit lines set at the ground level), and Gij is the memristor device conductance. The accumulation can be realized by instantaneous current summation along the shared bit line by Kirchhoff's current law Ij=Σi=1NIij, where Ij is the total summed current at the jth bit line. Thereby the MAC computation (aka dot-product or inner-product operation), Ij=Σi=1N(Vi×Gij)=v·gj (here
is the N-dimension input voltage vector,
is the N-dimension device conductance vector at the jth bit line), can be achieved. With many bit lines in parallel, MAC computations on each bit line are performed at the same time, thereby VMM operations, i=v·G (here i=[I1 I2 . . . IM] is the M-dimensional output current vector, G=[g1 g2 . . . gM] is the N by M device conductance matrix) can be realized in an analog and parallel fashion. The computation outputs can be saved in a separate passive memristor crossbar array if needed. An advantage of a passive memristor analog dot-product circuit is the high area density, high speed, and power efficiency. Importantly, if the application allows repeated usage of one of the two operands (e.g. the device conductance) for MAC operations, then MAC workloads are performed in parallel at the location of data, i.e. in situ computation, without wasting the time and energy of repeatedly shuffling the operand values between processing cores and remote memories as in the case of digital processors. This is especially true for CNN based deep learning inference applications.
In circuit 10, the data representation is analog (voltages and currents) inside the crossbar array and digital (typically binary) outside the array.
A representative work of known circuits such as shown in
Although hybrid CMOS-memristor dot-product accelerators such as illustrated in
A different known example of VMM circuit (not illustrated) comprises full-CMOS implementation of a spiking neuromorphic circuit that mimics a spike-domain data representation. This circuit uses CMOS-built neurons arranged to input spike-encoded data into synapses comprising variable gain amplifiers provided for processing the spike-encoded data. The circuit further uses CMOS-built neurons to gather the output of the variable gain amplifier synapses.
Despite the existence of the prior arts circuits outlined above, there remains a need for an even smaller, more energy-efficient, and faster circuit for calculating multiplication-accumulation operations.
Embodiments of this presentation comprise methods for calculating a multiplication-accumulation operation comprising supplying a crossbar array made of programmable conductance circuits, programmed as a function of first operands, with input spike-train encoded second operands. Embodiments of this presentation comprise as well circuits for implementing such methods.
Embodiments of this presentation relate to the following concepts:
Concept 1: A crossbar array comprising a plurality of row lines and a plurality of column lines; each row line connected to each column line by at least one passive memristor synapse; an input active-memristor neuron supplying an input to each row line; and an output active-memristor neuron receiving an output from each column line.
Concept 2. The crossbar array of concept 1 wherein each said active-memristor neuron supplying an input to each row line supplies a train of spike or pulses.
Concept 3. The crossbar array of claim 1 or 2 wherein each input active-memristor neuron is a circuit having at least two VO2 Mott memristors and a plurality of resistors and capacitors.
Concept 4. The crossbar array of claims 1 to 3 wherein a small bias current is supplied to each output active-memristor neuron to fine-tune the resting potential of the output active-memristor neuron.
Concept 5. A method to perform multiply-accumulate arithmetic operations, the method comprising: encoding data into a plurality of trains of spike pulses; supplying each train of spike pulses to an input active-memristor neuron; supplying the output of each input active-memristor neuron to a corresponding row of passive-memristor synapses; forming a sum of the output currents of all the corresponding passive-memristor synapses on a same column line; supplying the current sum to an output active-memristor neuron connected to said same column line; wherein the output active-memristor neuron converts the current sum into a train of spike pulses encoding the multiply-accumulate operations; and optionally decoding data from the train of spike pulses from the output active-memristor neuron.
Concept 6. A neuromorphic crossbar array circuit comprising: a plurality of row line conductors and at least one column line conductor; a plurality of programmable conductance circuits connected each between a different row line conductor and the at least one column line conductor; a plurality of input excitatory tonic neuron circuits having each an output connected to a different row line conductor; and at least one output excitatory tonic neuron circuit having an input connected to the at least one column line conductor.
Concept 7. The neuromorphic crossbar array circuit of concept 6, wherein the at least one column 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; said at least one output excitatory tonic neuron circuit comprising a plurality of output excitatory tonic neuron circuits having each an input connected to a different column line conductor. According to an embodiment, each programmable conductance circuit is a memory cell; and the plurality of programmable conductance circuits arranged along rows and columns forms a memory array.
Concept 8. The neuromorphic crossbar array circuit of concept 6 or 7, 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.
Concept 9. The neuromorphic crossbar array circuit of concept 8, wherein: said first negative differential resistance device has a first node connected to an input node of the 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.
Concept 10. The neuromorphic crossbar array circuit of concept 6 to 10, 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.
Concept 11. The neuromorphic crossbar array circuit of concept 7, comprising a plurality of biasing circuits for supplying each of the plurality of output excitatory tonic neuron circuits with a bias current arranged to fine-tune a resting potential of said each of the plurality of output excitatory tonic neuron circuits.
Concept 12. The neuromorphic crossbar array circuit of concept 6 to 11, wherein each excitatory tonic neuron circuit is arranged for outputting a train of voltage spikes having a rate that depends on an input current.
Concept 13. A neuromorphic crossbar array circuit comprising: a plurality of row line conductors and at least one column line conductor; a plurality of programmable conductance circuits connected each between a different row line conductor and the at least one column line conductor; a plurality of input neuron circuits having each an output connected to a different row line conductor; and at least one output neuron circuit having an input connected to the at least one column line conductor; wherein each 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.
Concept 14. The neuromorphic crossbar array circuit of concept 13, wherein the at least one column 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; said at least one output neuron circuit comprising a plurality of output neuron circuits having each an input connected to a different column line conductor.
Concept 15. The neuromorphic crossbar array circuit of concept 14, wherein each programmable conductance circuit is a memory cell; and the plurality of programmable conductance circuits arranged along rows and columns forms a memory array.
Concept 16. The neuromorphic crossbar array circuit of concept 15, wherein: said first negative differential resistance device has a first node connected to an input node of the 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.
Concept 17. The neuromorphic crossbar array circuit of concept 16, comprising a biasing circuit for supplying the at least one output neuron circuit with a bias current arranged to fine-tune a resting potential of the at least one output excitatory tonic neuron circuit.
Concept 18. The neuromorphic crossbar array circuit of concept 13 to 17, wherein each neuron circuit is an excitatory tonic neuron circuit arranged for outputting a train of voltage spikes having a rate that depends on an input current.
Concept 19. The neuromorphic crossbar array circuit of concept 18, wherein the input current must be larger than a predetermined threshold (or “supra threshold”) to be taken in account by the neuron circuit.
Concept 20. A spike-domain multiplicator accumulator circuit for multiplying each of a plurality of data by each of a plurality of coefficients and for adding the multiplication products, the circuit comprising: a plurality of input excitatory tonic neuron circuits arranged each for:
receiving a voltage proportional to one of said plurality of data; and
outputting a series of spikes having a frequency proportional to the received voltage;
a plurality of programmable conductance circuits having each a first end connected in output of one of said plurality of input circuits; each programmable conductance circuit being arranged to have a conductance proportional to one of said plurality of coefficients; and at least one output excitatory tonic neuron circuit connected to a second end of each programmable conductance circuits. According to an embodiment, each programmable conductance circuit is a memory cell; and the plurality of programmable conductance circuits forms a memory array.
Concept 21. The spike-domain multiplicator accumulator of concept 20, wherein said plurality of programmable conductance circuits is one plurality of a set of pluralities of programmable conductance circuits, and wherein said output excitatory tonic neuron circuit is one of a set of output excitatory tonic neuron circuits connected each to a second end of each programmable conductance circuits of one plurality of programmable conductance circuits of the set of pluralities of programmable conductance circuits.
Concept 22. 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 N≥2; 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.
Concept 23. The circuit of concept 22, 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.
Concept 24. The circuit of concept 22 or concept 23, 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.
Concept 25. The circuit of concept 24, 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.
Concept 26. The circuit of concept 24, 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.
Concept 27. The circuit of concept 22 to concept 26, 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.
Concept 28. The neuromorphic crossbar array circuit of concept 27, wherein each memory cell comprises a memristor.
concept 29. The neuromorphic crossbar array circuit of concept 24, 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.
Concept 30. The neuromorphic crossbar array circuit of concept 29, 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.
Concept 31. The neuromorphic crossbar array circuit of concept 30, 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.
Concept 32. 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 N≥2; 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.
Concept 33. The method of concept 32, 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.
Concept 34. The method of concept 32 or 33, 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.
Concept 35. The method of concept 34, 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.
Concept 36. The method of concept 34 or 35, comprising transforming an input voltage proportional to said second operand into said current proportional to said second operand.
Concept 37. 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 N≥2 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.
concept 38. The method of concept 37, 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.
Concept 39. The method of concept 37 or 38, 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.
Concept 40. The method of concept 3918, 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.
Concept 41. The method of concept 39, comprising transforming an input voltage proportional to said second operand into said current proportional to said second operand.
Concept 42. The method of concept 37 to 41 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.
Aspects of the present invention are illustrated by way of example, and not by way of limitation, in the accompanying drawings.
The drawings referred to in this description should be understood as not necessarily being drawn to scale.
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.
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.
The circuit illustrated in
As outlined above, the all-memristor (i.e. transistor-less) VMM circuit of
According to an embodiment of this presentation, each of said plurality of programmable conductance circuit Wi, 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.
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.
According to embodiments of this presentation, the at least one output circuit 381 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 341 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 341 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.
According to embodiments of this presentation, the output circuit 381 can be an excitatory tonic neuron circuit such as the neuron circuit 40 illustrated in
According to embodiments of this presentation, the input circuits 36i 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.
According to embodiments of this presentation, each input circuit 36i can be an excitatory tonic neuron circuit such as the neuron circuit 40 of
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
For example, the resistors, capacitors and voltage sources illustrated in
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.
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.
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
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.
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.
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.
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.
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.
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).
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
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.
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
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 25×10 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.
In a linear rate based encoding, it corresponds to an intermediate output spike rate of 140 MHz.
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 Ta2O5: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).
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.
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.
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 381 with a bias current arranged to fine-tune a resting potential of the at least one output excitatory tonic neuron circuit.
The table in
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.
providing (92) N input conductors;
connecting (94) N programmable conductance circuits each between one of said input conductors and a unique output conductor;
programming (96) each programmable conductance circuits with a conductance proportional to one of said first operands;
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;
generating (100) an output train of voltage spikes proportional to a sum over time of the spikes received on said output conductor.
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.
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
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.
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.
providing (112) N input conductors;
connecting (114) N programmable conductance circuits each between one of said input conductors and one of M output conductors;
programming (116) each programmable conductance circuits with a conductance proportional to one of said first operands;
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;
generating (120) M output trains of voltage spikes proportional each to a sum over time of the spikes received on said output conductor.
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.
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
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.
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.
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.
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.
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.
This application is related to and claims priority from U.S. Provisional Application Ser. No. 62/844,611, filed May 7, 2019. This application is related to and claims priority from U.S. Provisional Application Ser. No. 62/860,915, filed Jun. 13, 2019. This application is related to U.S. Non-Provisional Application (NP 632100 in prep), which is incorporated by reference herein as though set forth in full.
This invention was made under U.S. Government contract FA8650-18-C-7869. The U.S. Government has certain rights in this invention.
Number | Date | Country | |
---|---|---|---|
62844611 | May 2019 | US | |
62860915 | Jun 2019 | US |