WO2020226737A1 - Bipolar all-memristor circuit for in-memory computing - Google Patents
Bipolar all-memristor circuit for in-memory computing Download PDFInfo
- Publication number
- WO2020226737A1 WO2020226737A1 PCT/US2020/021530 US2020021530W WO2020226737A1 WO 2020226737 A1 WO2020226737 A1 WO 2020226737A1 US 2020021530 W US2020021530 W US 2020021530W WO 2020226737 A1 WO2020226737 A1 WO 2020226737A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- circuit
- memristor
- coupled
- excitatory
- voltage source
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4818—Threshold devices
- G06F2207/4824—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2213/00—Indexing scheme relating to G11C13/00 for features not covered by this group
- G11C2213/70—Resistive array aspects
- G11C2213/77—Array wherein the memory element being directly connected to the bit lines and word lines without any access device being used
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B63/00—Resistance change memory devices, e.g. resistive RAM [ReRAM] devices
- H10B63/80—Arrangements comprising multiple bistable or multi-stable switching components of the same type on a plane parallel to the substrate, e.g. cross-point arrays
Definitions
- This disclosure relates to neural networks .
- CNNs Deep convolutional neural networks
- MAC massive multiply- accumulate
- a circuit architecture that can be beneficial for in-memory computing is a neuromorphic spiking neural network (SNN) that combines three major benefits.
- SNN neuromorphic spiking neural network
- CMOS electronics are not biomimetic and hence large circuit overheads are needed to construct neuron and synapse building blocks, negating the benefits of a SNN architecture.
- VMM vector-matrix multiplication
- the transistorless all-memristor neuromorphic circuits for in-memory computing using neurons and synapses of Reference [1] can only perform convolutions with kernels in which all weights are positive. This makes the circuit not suitable for some applications such as the implementation of convolutional layers in some neural network image classifiers.
- a circuit for performing energy-efficient and high-throughput multiply-accumulate (MAC) arithmetic dot-product operations and convolution computations comprises a two dimensional crossbar array comprising a plurality of row inputs and at least one column having a plurality of column circuits, wherein each column circuit is coupled to a respective row input, wherein each respective column circuit comprises an excitatory memristor neuron circuit having an input coupled to a respective row input, a first synapse circuit coupled to an output of the excitatory memristor neuron circuit, the first synapse circuit having a first output, an inhibitory memristor neuron circuit having an input coupled to the respective row input, and a second synapse circuit coupled to an output of the inhibitory memristor neuron circuit, the second synapse circuit having a second output, and an output memristor neuron circuit coupled to the first output and second output of each column circuit, the output memristo
- a method for setting conductance values for excitatory memristor synapse circuits and inhibitory memristor synapse circuits comprises training convolutional kernel weights using a prevailing stochastic gradient descent method, and
- a trained convolutional kernel weight element w(i,j) of a k th convolutional kernel wherein i and j are the row and column indices of a two dimensional weight matrix into dual-quadrant synaptic conductance values that can be either positive or negative
- converting the trained convolutional kernel weight element w(i,j) to a synapse weight g(i,j) using a linear conversion scheme so that g ( i , j ) (w ( i , j ) x 1.2e
- memristor synapse circuit to a value such that a total conductance g(i,j) or a signed summation of g inh (i,j) and g exc (i,j)) equals w(i,j)x 1.2e 6 ) /max (w (i, j ) .
- a method for performing energy-efficient and high-throughput multiply-accumulate (MAC) arithmetic dot-product operations and convolution computations comprises providing a two dimensional crossbar array comprising a plurality of row inputs and at least one column having a plurality of column circuits, wherein each column circuit is coupled to a respective row input, wherein each respective column circuit comprises an excitatory memristor neuron circuit having an input coupled to a respective row input, a first synapse circuit coupled to an output of the excitatory memristor neuron circuit, the first synapse circuit having a first output, an inhibitory memristor neuron circuit having an input coupled to the respective row input, and a second synapse circuit coupled to an output of the
- inhibitory memristor neuron circuit the second synapse circuit having a second output, and providing an output memristor neuron circuit coupled to the first output and second output of each column circuit, the output memristor neuron circuit having an output.
- FIG. 1A shows a symbolic diagram of a bi-polarity ("dual-quadrant") all-memristor convolutional kernel with 25 excitatory input neurons, 25 inhibitory input neurons and one excitatory output neuron
- FIG. IB shows a diagram of a bi-polarity all-memristor convolutional circuit
- FIG. 1C shows a diagram of a bi-polarity all-memristor convolutional circuit having 10 convolutional kernels as shown in FIG. 1A operating in parallel
- FIG. ID shows simulated spike waveforms at input and output of one inhibitory memristor neuron and one excitatory memristor neuron
- FIG. IE shows a circuit schematic of an excitatory memristor neuron
- FIG. IF shows a circuit schematic of an inhibitory memristor neuron in accordance with the present disclosure.
- FIG. 2 shows a block diagram showing the
- FIG. 3A shows calculated resistance values for the 250 excitatory memristor synapses
- FIG. 3B shows the calculated resistance values for the 250 inhibitory memristor synapses of the bi-polarity all-memristor convolutional circuit of FIG. IB, using the algorithm shown in FIG. 2, in accordance with the present disclosure.
- FIG. 4 shows a customized MATLAB CNN model used to benchmark the energy efficiency and throughput metrics of the bi-polarity all-memristor convolution circuit shown in FIG. IB in accordance with the present disclosure.
- FIG. 5 shows an example of MNIST image
- classifier outputs in accordance with the present
- FIG. 6 shows a table of benchmarked MNIST image convolution performance metrics for an all-memristor bi polarity convolution circuit containing a (50x10) passive memristor synapse crossbar array in accordance with the present disclosure.
- MAC multiply-accumulate
- the present disclosure describes transistorless memristive neuromorphic electronic circuits and methods for energy-efficient and high-throughput multiply-accumulate (MAC) arithmetic operations, which are sometimes called dot product operations, Vector-Matrix Multiplication (VMM) operations, and convolution computations.
- MAC multiply-accumulate
- VMM Vector-Matrix Multiplication
- the analog all-memristor neuromorphic convolution circuits consist of active memristor based excitatory and inhibitory spiking neurons and passive memristor synapses. Synapse elements
- VMM vector-matrix multiplication
- the spike domain data coding has much better energy efficiency than a digital circuit implementation.
- Convolutional performance in visual data processing has been analyzed by device-level SPICE simulations, and shows that the presented transistorless convolution circuits can deliver 10 times or better energy efficiency than state-of-the-art (SOA) CMOS neuromorphic processor .
- SOA state-of-the-art
- Embodiments of this disclosure utilize active and passive memristor devices and circuits described for example in Reference [3] US Patent Application No.
- FIG. 1A shows a circuit architecture of a bi polarity ("dual-quadrant") all-memristor convolutional circuit 10, which provides symmetric 'dual-quadrant' convolutional kernel weights. It is similar to the 'single quadrant' memristor convolutional circuit described in Reference [1], but includes an additional set of inhibitory input neurons 54 and synapses 56, as shown in FIG. 1A, which are not present the 'single-quadrant' memristor convolutional circuit described in Reference [1] .
- FIG. 1A shows an example bi-polarity all- memristor convolutional kernel 10 containing 25 excitatory memristor neuron circuits 53, 25 inhibitory memristor neuron circuits 54 and one excitatory output memristor neuron circuit 57.
- the additional inhibitory neuron circuits 54 which are connected to synapse circuits 56, allow symmetric MAC operations, in which the synaptic weights can be either positive or negative.
- the circuits described in Reference [1] perform asymmetric MAC operations with only positive synaptic weights.
- respective excitatory memristor neuron circuit 53 is an input to a connected respective synapse circuit 55
- the output of each respective inhibitory memristor neuron circuit 54 is an input to a connected respective synapse circuit 56.
- the output of each synapse circuit 55 and 56 is an input to the excitatory output memristor neuron 57.
- convolutional kernel 10 is the convolution of the inputs 50 (for the example shown in FIG. 1A there are 25 inputs 50) with the effective weights provided by the excitatory memristor neuron circuits 53 connected to synapse circuits
- Each respective input 50 is connected to a respective input 51 to an excitatory memristor neuron circuit 53 and to a respective input 52 to an inhibitory memristor neuron circuit 54.
- the effective weights of the excitatory memristor neuron circuits 53 and the connected synapse circuits 55 may be zero or positive.
- the effective weights of the inhibitory memristor neuron circuits 54 and the connected synapse circuits 56 may be zero or negative, but can be configured to be only negative.
- FIG. IB shows a simplified diagram of a bi polarity all-memristor convolutional circuit in accordance with FIG. 1A, where the inputs to the excitatory memristor neuron circuits 53 and to the inhibitory memristor neuron circuits 54 are from an image patch 100.
- FIG. 1C shows a simplified physical diagram of a bi-polarity all-memristor convolutional circuit 60, similar to FIG. IB, but which includes ten (10) convolutional kernels operating in parallel.
- outi 66 is the convolution of the 25 inputs 50 ini to in 2 5 connected to the rows of the two dimensional matrix with the effective weights of the excitatory memristor neuron circuits 53 connected to synapse circuits 55 and the effective weights of the inhibitory memristor neuron circuits 54 and
- the outio 68 is the
- FIG. IE shows a circuit schematic of an
- FIG. IF shows a circuit schematic of an inhibitory memristor neuron.
- IE and IF represent vanadium oxide (V0 2) active memristor devices, and Rel and Re2 are the parasitic series resistance (150 W) from the electrode wires to the VO2 active memristor devices .
- the label In is the input port of the neuron, and the label Out is the output port of the neuron.
- Vdd is a positive supply voltage, and Vss is a negative supply voltage.
- FIG. IE shows a schematic of an excitatory memristor neuron circuit 20, which has first (XI) and second (X2) negative differential resistance (NDR) devices that are biased with opposite polarities (-Vdc; +Vdc) .
- the first and second NDR devices (XI, X2) are coupled to first and second grounded capacitors (Cl, C2), respectively.
- the first NDR device (XI) has a first node 30 connected to an input node 32 of the neuron circuit 20 by a first load resistor RL1 and a second node 34 connected to a first voltage source 36; the first node (30) of the first NDR device (XI) is coupled to the first grounded capacitor (Cl) .
- the second NDR device (X2) has a first node 38 connected to the first node 30 of the first NDR device XI by a second load resistor RL2 and a second node 40
- the first node 38 of the second NDR device X2 is coupled to the second grounded capacitor C2; the first node 38 of the second NDR device X2 forming an output node 44 of the neuron circuit 20.
- the first voltage source 36 is a negative voltage source and the second voltage source 42 is a positive voltage source.
- the voltages -Vdc, +Vdc provided by voltages sources 36 and 42 can have the same amplitude or they can have different amplitudes.
- the d.c. voltage supplies 36 and 42 are amplitude-matched only if the two NDR devices XI and X2 are well matched in their switching threshold voltages. If the switching threshold voltages of XI and X2 are different, then the values of their d.c.
- the first and second NDR devices XI, X2 can each comprise, between their first (respectively 30, 38) and second (respectively 36, 40) nodes, a resistance
- the NDR material of the first and second NDR devices XI, X2 can be a layer or thin film of vanadium dioxide.
- Rel can have a value of a few hundred Ohms and can be the cumulative resistance of a first metal nanowire electrode arranged between the first node (30) and a first side of the NDR material of XI, and of a second metal nanowire electrode arranged between second node (34) and a second side of the NDR material of XI.
- Re2 can have a value of a few hundred Ohms and can be the cumulative resistance of a first metal nanowire electrode arranged between the first node (38) and a first side of the NDR material of X2, and of a second metal nanowire electrode arranged between second node (40) and a second side of the NDR material of X2.
- a vanadium dioxide layer can be generated by electroforming from a vanadium pentoxide layer, as detailed in US Patent application No. 15/417,049, (filed January 26, 2017, Reference [8], above) which is incorporated by reference to this presentation.
- the vanadium dioxide layer can be directly prepared by a variety of thin film deposition methods, including but not limited to, reactive d.c. or r.f. magnetron sputtering of vanadium metal or vanadium oxide targets, atomic layer deposition followed by post deposition anneal, or metallic precursor oxidation.
- the first and second voltage sources (36, 42) are arranged to bring the first and second NDR devices (XI, X2 ) close to their respective Mott Insulator-to-Metal
- the voltage biases can be adjusted to set desired levels of voltage or current threshold for the neuron action potential generation (spike firing) and desired signal gains.
- the first load resistor, the first NDR device, the first voltage source and the first grounded capacitor are arranged to form a first relaxation
- the NDR material of the first and second NDR devices XI, X2 can be a layer or thin film of vanadium dioxide, where vanadium dioxide has an Mott insulator-to- metal (IMT) transition temperature TC of 340 K (67°C) .
- IMT Mott insulator-to- metal
- a NDR device having a vanadium dioxide channel with a 10-nm radius located for example in a thin film of vanadium pentoxide
- has an extremely low estimated switching energy of 1.2 fj which is 50 times lower than a Nb02 device, such as disclosed by Pickett et al. in References [7] and [8], which are incorporated herein by reference.
- vanadium dioxide based neurons circuits according to embodiments of this presentation are capable of achieving a biologically-competitive 0.1 pj/spike or less neuron energy use.
- a single VO2 NDR device can operate as low as 1.2fJ, but the energy consumption of the complete neuron circuit (XI, X2 , Cl, C2, RL1, RL2) is dominated by the charging energy of the two capacitors.
- the 0.1 pj/spike total energy consumption is estimated assuming exemplary d.c. bias level near 0.5 V and with 40-50 fF capacitors (such a small capacitor value is chosen for neuron size and spike
- the neuron circuit 20 can be used in a neural circuit having a plurality of neuron circuits connected in a network, for example, as shown in FIG. 1A; input node 32 being arranged to receive an input waveform through an input impedance Zin; and output node 44 being arranged to provide an output waveform through an output impedance Zout .
- FIG. IF shows a schematic of an inhibitory memristor neuron circuit 26, which has first (X2) and second (XI) NDR devices that are biased with opposite polarities (+Vdc; -Vdc) .
- the first and second NDR devices (X2, XI) are coupled to first and second grounded
- the first NDR device (X2) has a first node 38 connected to an input node 32 of the neuron circuit 26 by a first load resistor RL1 and a second node 40 connected to a first voltage source 42.
- the first node 38 of the first NDR device X2 is coupled to the first grounded capacitor C2.
- the second NDR device (XI) has a first node 30
- the first node 30 of the second NDR device XI is coupled to the second grounded capacitor C21.
- the first node 30 of the second NDR device XI is an output node 44 of the neuron circuit 26.
- the first voltage source 42 of neuron circuit 26 is a positive voltage source and the second voltage source 36 is a negative voltage source.
- the voltages -Vdc, +Vdc provided by voltages sources 36 and 42 can have a same amplitude or they can have different amplitudes, as discussed above.
- the first and second NDR devices X2 , XI can each comprise, between their first (respectively 38, 30) and second (respectively 40, 34) nodes, a resistance
- the NDR material of the first and second NDR devices X2 , XI can be a layer or thin film of vanadium dioxide, for example identical to the one detailed previously for neuron circuit 20.
- Rel can have a value of a few hundred Ohms and can be the cumulative resistance of a first metal nanowire electrode arranged between the first node (38) and a first side of the NDR material of X2 , and of a second metal nanowire electrode arranged between second node (40) and a second side of the NDR material of X2.
- Re2 can have a value of a few hundred Ohms and can be the
- the vanadium dioxide layer can be generated by electroforming from a vanadium pentoxide layer, as detailed in US Patent application No. 15/417,049, (filed January 26, 2017, Reference [8], above) which is incorporated by reference to this presentation.
- the vanadium dioxide layer can be directly prepared by a variety of thin film deposition methods, including but not limited to, reactive d.c. or r.f. magnetron sputtering of vanadium metal or vanadium oxide targets, atomic layer deposition followed by post deposition anneal, or metallic precursor oxidation.
- the first and second voltage sources (42, 36) are arranged to bring the first and second NDR devices (X2, XI) close to their respective Mott Insulator-to-Metal
- the voltage biases can be adjusted to set desired levels of voltage or current threshold for the neuron action potential generation (spike firing) and desired signal gains.
- the first load resistor, the first NDR device, the first voltage source and the first grounded capacitor are arranged to form a first relaxation
- One or more of neuron circuits 20 and 26 can be used in a neural circuit having a plurality of neuron circuits connected in a network, such as for example, FIG. 1A, and also, for example, as illustrated in Figure IB (of Reference [7] US Patent Application No. 15/976,687, filed 5/10/2018) .
- a Mott IMT physics-based SPICE model of V02 NDR devices was used to simulate the excitatory and inhibitory neuron circuits as shown in FIG. IE and IF, respectively.
- the V02 conduction channel is modeled as a cylindrical volume with a radius of 28-56 nm and a length of 50-100 nm. These dimensions are close to experimentally observed values in electroformed V02 NDR devices (see US Patent Application 15/417,049, filed
- excitatory and inhibitory neuron circuits 20, 26 of FIGs . IE and IF are both tonic neuron circuits. According to embodiments of this
- tonic neuron circuits 20 and 26 can be made phasic by replacing the input load resistor (RL1 in 20 or RL2 in 26) by a capacitor or a capacitor in series with a resistor.
- Each excitatory memristor neuron circuit 53, as shown in FIG. 1A may be implemented with the excitatory neuron circuit of FIG. IE, and each inhibitory memristor neuron circuit 54 may be implemented with the inhibitory neuron circuit of FIG. IF.
- the excitatory output memristor neuron 57 may also be implemented with the excitatory neuron circuit of FIG. IE.
- the synapse circuits 55 and 56 may be passive memristor synapse circuits.
- An example of a passive memristor is described in Reference [9] 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. , "Truly electroforming-free and low-energy memristors with
- each passive memristor synapse circuit may be a 2 terminal resistor whose
- resistance value is a positive value.
- FIG. ID shows typical simulated spike waveforms at the input 70 and the output 72 of an inhibitory
- FIG. ID also shows typical simulated spike waveforms at the input 74 and the output 76 of an excitatory memristor neuron circuit 53.
- an excitatory memristor neuron circuit 53 does not fire if the input 74 is subthreshold or below threshold, such as a negative input, and an inhibitory memristor neuron circuit 54 does not fire if the input 70 is suprathreshold or above the threshold, such as a zero or positive input.
- CNN convolutional neural network
- the convolutional kernel (filter) weights were trained in the CNN model using the prevailing stochastic gradient descent method. Then the pre-trained convolutional kernel weights were converted into dual-quadrant synaptic conductance values that can be either positive or negative.
- step 80 from the pre-trained CNN weight element w(i,j) of the k th convolutional kernel (i and j are the row and column indices of the 2D weight matrix) .
- step 84 determine whether g(i,j)is positive or negative .
- step 86 if the synapse weight g(i,j)is zero or positive, then the conductance g inh (i,j) of the inhibitory synapse is set to the lower bound value (for example, the lower bound value may be a resistance of 2 MW) , and the conductance g exc (i,j) of the excitatory synapse is set to a value such that the total conductance g(i,j) (signed summation of g inh (i,j) and g exc (i,j)) equals to the synapse weight in step 82.
- the lower bound value for example, the lower bound value may be a resistance of 2 MW
- step 88 if the synapse weight g(i,j) is negative, then the conductance g exc (i,j) of the excitatory synapse is set to set to the lower bound value (for example, the lower bound may be a resistance of 2 MW) , and the conductance g inh (i,j) of the inhibitory synapse is set to a value such that the total conductance g(i,j) (signed summation of g inh (i,j) and g exc (i,j)) equals to the synapse weight in step 82.
- the lower bound value for example, the lower bound may be a resistance of 2 MW
- FIGs . 3A and 3B show an example set of calculated resistance values for the 250 excitatory memristor synapses and 250 inhibitory memristor synapses of the bi-polarity all-memristor convolutional circuit of FIG. 1C, converted using the algorithm in FIG. 2 from pre-trained
- FIG. 4 shows the customized MATLAB CNN image classification model used for benchmarking. It is designed to classify 28x28 pixel grayscale (256 levels) MNIST handwritten digit input images 60.
- the MNIST image set 90 has a total of 10,000 images and has a total of 10 image classes 100 (for digits 0 to 9) .
- This simplified CNN model includes one convolutional layer 92 having 10 (5x5) convolutional kernels 94 (filters) for feature extraction, two nonlinear (“NL”) layers 96 and 98, and one fully- connected neural network (NN) layer 95, whose output is layer 4, reference number 97.
- the first nonlinear layer 96 after convolution is based on a rectified linear unit (ReLU) transformation.
- ReLU rectified linear unit
- the fully connected layer 95 performs multiplications and sums.
- the final nonlinear layer 98 performs a winner take all (WTA) operation, wherein only one output class with the highest output value among the ten outputs is selected as the final output class.
- WTA winner take all
- the convolutional layer 92 was implemented by an all-memristor convolution circuit, as shown in FIG. IB, and was simulated by a SPICE simulator (Cadence Verilog AMS) .
- the simulated convolutional layer activations (outputs) in spike domain were converted back and loaded to the rest of the MATLAB CNN model to complete the image classification process using MATLAB numerical calculations .
- the number of multiply and accumulate (MAC) (or comparable) numerical operations required for MNIST image classification is 144,000 MACs for Layer 1 the convolution layer 92, 5,760 operations for Layer 2 the ReLU nonlinear layer 96, and 57,600 MACs for Layer 4 the fully connected layer 95. It is clear that the convolutional layer 92 is the most computationally intensive part of the CNN model. This is also the case for much more sophisticated deep CNN models used in the industry.
- FIG. 5 shows an example benchmarking operation of the simplified (no pooling) MATLAB CNN model, as shown in FIG. 4, for image classification benchmarking.
- the input 90 is a 28x28 pixel MNIST image of a handwritten digit (digit "2") .
- the convolutional layer 92 having ten 5x5 bi-polarity convolutional kernels is
- neurosynaptic convolution circuit having 50x10 passive memristor synapses 55 and 56, as shown in FIG. IB.
- the simulated memristor convolution outputs are ten 24x24 pixel output images 94, and two of them are shown in FIG. 5.
- the images 94 are then sent back to the MATLAB model to
- the nonlinear classifier layer Layer 4 98 has ten outputs, one for each digit class 100. The highest value (10.9178 in this case) in the ten outputs points to the correct class of digit "2" .
- FIG. 6 shows a table, which is a summary of the benchmarking analysis.
- convolution energy efficiency per input bit is 0.52 nJ/b, translating into an overall image classification energy efficiency per input bit of 0.61 nJ/b, which is better than lOx improvement over the prior art CMOS neuromorphic processor (the IBM TrueNorth, at 6.7 nJ/b) .
- the all-memristor energy use per operation can reach ⁇ 0.6 pJ/OP.
- this estimation is based on a 0.4pJ/spike VO2 neuron energy efficiency, which is not the lower bound of the technology.
- a circuit for performing energy-efficient and high-throughput multiply-accumulate (MAC) arithmetic dot- product operations and convolution computations includes a two dimensional crossbar array comprising a plurality of row inputs and at least one column having a plurality of column circuits, wherein each column circuit is coupled to a respective row input.
- MAC multiply-accumulate
- Each respective column circuit includes an excitatory memristor neuron circuit having an input coupled to a respective row input, a first synapse circuit coupled to an output of the excitatory memristor neuron circuit, the first synapse circuit having a first output, an inhibitory memristor neuron circuit having an input coupled to the respective row input, and a second synapse circuit coupled to an output of the inhibitory memristor neuron circuit, the second synapse circuit having a second output.
- An output memristor neuron circuit is coupled to the first output and second output of each column circuit and has an output.
- a circuit for performing energy-efficient and high-throughput multiply-accumulate (MAC) arithmetic dot-product operations and convolution computations comprising :
- a two dimensional crossbar array comprising a
- each column circuit is coupled to a respective row input
- each respective column circuit comprises:
- an excitatory memristor neuron circuit having an input coupled to a respective row input
- a first synapse circuit coupled to an output of the excitatory memristor neuron circuit, the first synapse circuit having a first output
- an inhibitory memristor neuron circuit having an input coupled to the respective row input
- a second synapse circuit coupled to an output of the inhibitory memristor neuron circuit, the second synapse circuit having a second output
- an output memristor neuron circuit coupled to the first output and second output of each column circuit, the output memristor neuron circuit having an output.
- each first synapse circuit and each second synapse circuit comprises a passive memristor synapse circuit .
- each respective excitatory memristor neuron circuit and respective first synapse circuit coupled to the respective excitatory memristor neuron circuit has a positive or a zero convolutional weight
- each respective inhibitory memristor neuron circuit and respective second synapse circuit coupled to the respective inhibitory memristor neuron circuit has a negative convolutional weight.
- Concept 4 The circuit of concept 1, 2 or 3 wherein each respective excitatory memristor neuron circuit comprises :
- NDR negative differential resistance
- NDR negative differential resistance
- a first capacitor coupled to ground and coupled to a first node of the first NDR device
- a first load resistor coupled between an input node of the excitatory active memristor neuron circuit or the self- excitatory active memristor output neuron circuit and the first capacitor;
- a second load resistor coupled between the first capacitor and the second capacitor, and coupled to a first node of the second NDR device
- first node of the second NDR device forms an output node of the excitatory active memristor neuron circuit or the self-excitatory active memristor output neuron circuit;
- the first voltage source is a negative voltage source
- the second voltage source is a positive voltage source.
- At least one of the first and second NDR devices comprises a vanadium dioxide layer.
- the first and second voltage sources are configured to bring the first and second negative differential resistance (NDR) devices close to their respective Mott insulator-to- metal transition.
- NDR negative differential resistance
- NDR negative differential resistance
- NDR negative differential resistance
- a first capacitor coupled to ground and coupled to a first node of the first NDR device
- a first load resistor coupled between an input node of the inhibitory active memristor neuron circuit and the first capacitor
- a second load resistor coupled between the first capacitor and the second capacitor, and coupled to a first node of the second NDR device
- the first node of the second NDR device forms an output node of the inhibitory active memristor neuron circuit ;
- first voltage source is a positive voltage source; and wherein the second voltage source is a negative voltage source.
- circuit of concept 8 further comprising: a third load resistor coupled between the first capacitor and the first node of the first NDR device; and a fourth load resistor coupled between the second capacitor and a first node of the second NDR device.
- At least one of the first and second NDR devices comprises a vanadium dioxide layer.
- the first and second voltage sources are configured to bring the first and second negative differential resistance (NDR) devices close to their respective Mott insulator-to- metal transition.
- NDR negative differential resistance
- the two dimensional crossbar array further comprises a plurality of columns, wherein each column has a plurality of column circuits and each column circuit in a respective column is coupled to a respective row input.
- a respective excitatory memristor neuron circuit does not fire if the respective row input coupled to the respective excitatory memristor neuron circuit is below a threshold or has a negative value
- a respective inhibitory memristor neuron circuit does not fire if the respective row input coupled to the respective excitatory memristor neuron circuit is above a threshold or has a positive value.
- a method for setting conductance values for excitatory memristor synapse circuits and inhibitory memristor synapse circuits comprising;
- g(i,j) (w(i,j)x 1.2e -6 ) /max (w (i, j ) ) ;
- synapse weight g(i,j) is zero or positive, then setting a conductance g inh (i,j) of a respective inhibitory memristor synapse circuit to a first lower bound value, and setting a conductance g exc (i,j) of a respective excitatory memristor synapse circuit to a value such that a total conductance g(i,j) or a signed summation of g inh (i,j) and g exc (i,j)) equals w(i,j)x 1.2e -6 ) /max (w (i, j ) ;
- synapse weight g(i,j) is negative, then setting a conductance g exc (i,j) of a respective excitatory memristor synapse circuit to a second lower bound value, and setting a conductance g inh (i,j) of a respective inhibitatory memristor synapse circuit to a value such that a total conductance g(i,j) or a signed summation of g inh (i,j) and g exc (i,j)) equals w(i,j)x 1.2e -6 ) /max (w (i, j ) .
- a method for performing energy-efficient and high-throughput multiply-accumulate (MAC) arithmetic dot- product operations and convolution computations comprising: providing a two dimensional crossbar array comprising a plurality of row inputs and at least one column having a plurality of column circuits, wherein each column circuit is coupled to a respective row input;
- each respective column circuit comprises:
- an excitatory memristor neuron circuit having an input coupled to a respective row input
- a first synapse circuit coupled to an output of the excitatory memristor neuron circuit, the first synapse circuit having a first output
- an inhibitory memristor neuron circuit having an input coupled to the respective row input
- a second synapse circuit coupled to an output of the inhibitory memristor neuron circuit, the second synapse circuit having a second output
- each respective excitatory memristor neuron circuit and respective first synapse circuit coupled to the respective excitatory memristor neuron circuit has a positive or a zero convolutional weight
- each respective inhibitory memristor neuron circuit and respective second synapse circuit coupled to the respective inhibitory memristor neuron circuit has a negative convolutional weight.
- each respective excitatory memristor neuron circuit comprises: a first negative differential resistance (NDR) device biased with a first voltage source;
- NDR negative differential resistance
- NDR negative differential resistance
- a first capacitor coupled to ground and coupled to a first node of the first NDR device
- a first load resistor coupled between an input node of the excitatory active memristor neuron circuit or the self- excitatory active memristor output neuron circuit and the first capacitor;
- a second load resistor coupled between the first capacitor and the second capacitor, and coupled to a first node of the second NDR device
- first node of the second NDR device forms an output node of the excitatory active memristor neuron circuit or the self-excitatory active memristor output neuron circuit;
- first voltage source is a negative voltage source; and wherein the second voltage source is a positive voltage source.
- each respective inhibitory memristor neuron circuit comprises :
- NDR negative differential resistance
- NDR negative differential resistance
- a first capacitor coupled to ground and coupled to a first node of the first NDR device
- a first load resistor coupled between an input node of the inhibitory active memristor neuron circuit and the first capacitor
- a second load resistor coupled between the first capacitor and the second capacitor, and coupled to a first node of the second NDR device
- the first node of the second NDR device forms an output node of the inhibitory active memristor neuron circuit ;
- the first voltage source is a positive voltage source
- the second voltage source is a negative voltage source.
- the two dimensional crossbar array further comprises a plurality of columns, wherein each column has a plurality of column circuits and each column circuit in a respective column is coupled to a respective row input.
- Concept 21 The method of concept 16, 17, 18, 19 or 20: wherein a respective excitatory memristor neuron circuit does not fire if the respective row input coupled to the respective excitatory memristor neuron circuit is below a threshold or has a negative value;
- a respective inhibitory memristor neuron circuit does not fire if the respective row input coupled to the respective excitatory memristor neuron circuit is above a threshold or has a positive value.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Computer Hardware Design (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Logic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
A circuit for performing energy-efficient and high-throughput multiply-accumulate (MAC) arithmetic dot-product operations and convolution computations includes a two dimensional crossbar array comprising a plurality of row inputs and at least one column having a plurality of column circuits, wherein each respective column circuit comprises: an excitatory memristor neuron circuit having an input coupled to a respective row input; a first synapse circuit coupled to an output of the excitatory memristor neuron circuit; an inhibitory memristor neuron circuit having an input coupled to the respective row input; and a second synapse circuit coupled to an output of the inhibitory memristor neuron circuit, and an output memristor neuroncircuit coupled to the first output and second output of each column circuit.
Description
BIPOLAR ALL-MEMRISTOR CIRCUIT FOR IN-MEMORY COMPUTING
CROSS REFERENCE TO RELATED APPLICATIONS
This application is related to and claims priority from U.S. Provisional Application Serial No. 62/844,611, filed 5/7/2019, U.S. Provisional Application 62/860,915, filed 6/13/2019, U.S. Non-Provisional Application No.
16/808,227, filed 3/3/2020, which are hereby incorporated by reference. This application is also related to U.S. Non- Provisional Application No. 16/808,222, filed 3/3/2020, and a PCT Application, Ref. No. 632140-4, which is being filed concurrently.
STATEMENT REGARDING FEDERAL FUNDING
[ 0001 ] This invention was made under U.S. Government contract FA8650-18-C-7869. The U.S. Government has certain rights in this invention.
TECHNICAL FIELD
[0002] This disclosure relates to neural networks .
BACKGROUND
[ 0003 ] Deep convolutional neural networks (CNNs) are the prevailing architecture for current machine learning and visual data processing. In typical CNNs, massive multiply- accumulate (MAC) arithmetic operations are used to compute the convolutions of input image patches for feature extraction. The convolutions are the most computationally intensive part of the CNN for visual or audio data
processing. In conventional digital computers based on a von Neumann architecture, arithmetic logic units (ALUs) and
data memory are spatially separated, and the energy used to move the data can be ten times higher than the energy used for computations. It is therefore desirable to develop novel circuit architectures that allow energy-efficient and high-throughput in-memory or near-memory computations.
[ 0004 ] A circuit architecture that can be beneficial for in-memory computing is a neuromorphic spiking neural network (SNN) that combines three major benefits.
[ 0005 ] First, a nonvolatile crossbar memory architecture that allows one of the two operands in MAC operations to be locally saved and reused, that greatly reduces the energy used in moving the data. Second, analog (continuous) switching of passive memristor synapses with moderate bit precision (up to ~7 bits for single element per synapse) that enables energy-savvy analog computing. And, third, a spike domain data representation that allows energy efficient MAC operations with minimal current draw.
[ 0006] However, prior art neuromorphic SNN
demonstrations have been built mainly with CMOS
electronics . CMOS electronics are not biomimetic and hence large circuit overheads are needed to construct neuron and synapse building blocks, negating the benefits of a SNN architecture.
[ 0007 ] Reference [1] U.S. Provisional Application 62/860,915, filed 6/13/2019 (632128) (NP 632152 in prep), which is incorporated herein by reference, by the present inventors describes transistorless all-memristor SNN circuits and methods for energy-efficient and parallel in memory MAC operations and convolution computations. The analog all-memristor neuromorphic convolution circuits (neurosynaptic processors) consist of excitatory active memristor based spiking neurons and passive memristor synapses. Synapse elements representing convolutional
weights are organized into two-dimensional crossbar arrays with spiking memristor neurons connecting the rows (word lines) and columns (bit lines) at the edges. In-memory vector-matrix multiplication (VMM) arithmetic operations, can be computed in parallel using Ohm' s law and Kirchhoff' s current law principles to achieve high-throughput multi kernel convolutions. The spike domain data coding warrants much better energy efficiency than digital circuits.
Convolutional performance in image classification was analyzed by device-level SPICE simulations, which showed that the transistorless convolution circuits can deliver 10 times or better energy efficiency (0.3 nJ per input bit vs. 6.7nJ per input bit) than state-of-the-art (SOA) CMOS neuromorphic processor (IBM TrueNorth) .
[ 0008 ] However, the transistorless all-memristor neuromorphic circuits for in-memory computing using neurons and synapses of Reference [1] can only perform convolutions with kernels in which all weights are positive. This makes the circuit not suitable for some applications such as the implementation of convolutional layers in some neural network image classifiers.
[ 0009] The circuit described in Reference [2], which is incorporated herein by reference, describes analogue signal and image processing with memristor toolbar synapses, but it does not show the use of integrated memristor neurons. Also the circuit of Reference [2] may require external neurons, which would result in larger circuits that consume more power.
[ 0010 ] REFERENCES
[ 0011 ] The following references are incorporated herein as though set forth in full.
[0012] [1] U.S. Provisional Application 62/860,915, filed 6/13/2019 (632128) (NP 632152 in prep)
[0013] [2] Li, C., Hu, M. , Li, Y., Jiang, H., Ge, N.,
Montgomery, E., Zhang, J. , Song, W. , Davila, N., Graves, C.E. and Li, Z., 2018. Analogue signal and image processing with large memristor crossbars. Nature Electronics, 1(1), p .52.
[0014] [3] U.S. Patent Application No. 15/976,687, filed
5/10/2018.
[0015] [4] U.S. Patent Application No. 15/417,049, filed
1/26/2017.
[0016] [5] U.S. Patent Application No. 16/005,529, filed
???
[0017] [6] U.S. Patent Application No. 15/879,363 filed 1/24/2018.
[0018] [7] M. D. Pickett, G. Medeiros-Ribeiro and R. S. Williams, A scalable neuristor built with Mott memristors. Nature Mater. 12, 114 (2013) .
[0019] [8] M. D. Pickett, Logic circuits using
Neuristors. US Patent 8, 669,785 B2 (2014) .
[0020] [9] 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. , "Truly electroforming-free and low- energy memristors with preconditioned conductive tunneling paths." Advanced Functional Materials 27, pp.1702010 (2017.
[0021] What is needed is a circuit that can efficiently perform convolutions with kernels in which the weights can have positive or negative values, and allows the
implementation of convolutional layers for neural network
image classifiers and which has low power. The embodiments of the present disclosure answer these and other needs .
SUMMARY
[ 0022 ] In a first embodiment disclosed herein, a circuit for performing energy-efficient and high-throughput multiply-accumulate (MAC) arithmetic dot-product operations and convolution computations comprises a two dimensional crossbar array comprising a plurality of row inputs and at least one column having a plurality of column circuits, wherein each column circuit is coupled to a respective row input, wherein each respective column circuit comprises an excitatory memristor neuron circuit having an input coupled to a respective row input, a first synapse circuit coupled to an output of the excitatory memristor neuron circuit, the first synapse circuit having a first output, an inhibitory memristor neuron circuit having an input coupled to the respective row input, and a second synapse circuit coupled to an output of the inhibitory memristor neuron circuit, the second synapse circuit having a second output, and an output memristor neuron circuit coupled to the first output and second output of each column circuit, the output memristor neuron circuit having an output.
[ 0023 ] In another embodiment disclosed herein, a method for setting conductance values for excitatory memristor synapse circuits and inhibitory memristor synapse circuits comprises training convolutional kernel weights using a prevailing stochastic gradient descent method, and
converting a trained convolutional kernel weight element w(i,j) of a kth convolutional kernel, wherein i and j are the row and column indices of a two dimensional weight matrix into dual-quadrant synaptic conductance values that
can be either positive or negative by converting the trained convolutional kernel weight element w(i,j) to a synapse weight g(i,j) using a linear conversion scheme so that g ( i , j ) = (w ( i , j ) x 1.2e
6) /max (w (i, j ) ) , determining whether g(i,j)is positive or negative, and if the synapse weight g(i,j)is zero or positive, then setting a conductance ginh(i,j) of a
respective inhibitory memristor synapse circuit to a first lower bound value, and setting a conductance gexc(i,j) of a respective excitatory memristor synapse circuit to a value such that a total conductance g(i,j) or a signed summation of ginh ( i , j ) and gexc(i,j)) equals w(i,j)x 1.2e 6) /max (w (i, j ) , if the synapse weight g(i,j)is negative, then setting a conductance gexc(i,j) of a respective excitatory memristor synapse circuit to a second lower bound value, and setting a conductance ginh(i,j) of a respective inhibitatory
memristor synapse circuit to a value such that a total conductance g(i,j) or a signed summation of ginh(i,j) and gexc(i,j)) equals w(i,j)x 1.2e 6) /max (w (i, j ) .
[ 0024 ] In yet another embodiment disclosed herein, a method for performing energy-efficient and high-throughput multiply-accumulate (MAC) arithmetic dot-product operations and convolution computations comprises providing a two dimensional crossbar array comprising a plurality of row inputs and at least one column having a plurality of column circuits, wherein each column circuit is coupled to a respective row input, wherein each respective column circuit comprises an excitatory memristor neuron circuit having an input coupled to a respective row input, a first synapse circuit coupled to an output of the excitatory memristor neuron circuit, the first synapse circuit having a first output, an inhibitory memristor neuron circuit having an input coupled to the respective row input, and a
second synapse circuit coupled to an output of the
inhibitory memristor neuron circuit, the second synapse circuit having a second output, and providing an output memristor neuron circuit coupled to the first output and second output of each column circuit, the output memristor neuron circuit having an output.
[ 0025 ] These and other features and advantages will become further apparent from the detailed description and accompanying figures that follow. In the figures and description, numerals indicate the various features, like numerals referring to like features throughout both the drawings and the description.
BRIEF DESCRIPTION OF THE DRAWINGS
[ 0026] FIG. 1A shows a symbolic diagram of a bi-polarity ("dual-quadrant") all-memristor convolutional kernel with 25 excitatory input neurons, 25 inhibitory input neurons and one excitatory output neuron, FIG. IB shows a diagram of a bi-polarity all-memristor convolutional circuit and FIG. 1C shows a diagram of a bi-polarity all-memristor convolutional circuit having 10 convolutional kernels as shown in FIG. 1A operating in parallel, FIG. ID shows simulated spike waveforms at input and output of one inhibitory memristor neuron and one excitatory memristor neuron, FIG. IE shows a circuit schematic of an excitatory memristor neuron, and FIG. IF shows a circuit schematic of an inhibitory memristor neuron in accordance with the present disclosure.
[ 0027 ] FIG. 2 shows a block diagram showing the
algorithm for setting the conductance values for the excitatory synapse element gexc(i,j ) and inhibitory synapse
element ginh(i,j) based on the sign of the synapse weight g(i,j) converted from a pre-trained CNN convolutional kernel weight w(i,j) in accordance with the present disclosure .
[ 0028 ] FIG. 3A shows calculated resistance values for the 250 excitatory memristor synapses, and FIG. 3B shows the calculated resistance values for the 250 inhibitory memristor synapses of the bi-polarity all-memristor convolutional circuit of FIG. IB, using the algorithm shown in FIG. 2, in accordance with the present disclosure.
[ 0029] FIG. 4 shows a customized MATLAB CNN model used to benchmark the energy efficiency and throughput metrics of the bi-polarity all-memristor convolution circuit shown in FIG. IB in accordance with the present disclosure.
[ 0030 ] FIG. 5 shows an example of MNIST image
classification benchmarked using the MATLAB CNN model in FIG. 4, wherein the convolutional layer operations are simulated with an all-memristor convolutional circuit, as shown in FIG. IB in a SPICE simulator, showing that the class of the input image, in this case, a handwritten digit "2", is determined by the largest value in the ten
classifier outputs in accordance with the present
disclosure .
[ 0031 ] FIG. 6 shows a table of benchmarked MNIST image convolution performance metrics for an all-memristor bi polarity convolution circuit containing a (50x10) passive memristor synapse crossbar array in accordance with the present disclosure.
DETAILED DESCRIPTION
[ 0032 ] In the following description, numerous specific details are set forth to clearly describe various specific embodiments disclosed herein. One skilled in the art, however, will understand that the presently claimed invention may be practiced without all of the specific details discussed below. In other instances, well known features have not been described so as not to obscure the invention .
[ 0033 ] In the present disclosure a transistorless memristive neuromorphic electronic circuit and a method for energy-efficient and high-throughput multiply-accumulate (MAC) arithmetic operations and convolution computations are described. Compared with the circuits described in Reference [1] in which the values of the scaling element (synaptic weight) can only be positive, the present invention utilizes excitatory and inhibitory memristor neurons and synapses to enable both positive and negative synaptic weights. Bi-polarity (or "dual-quadrant") synaptic weights helps to improve both the training convergence and the inference accuracy for convolutional neural network (CNN) based image classification
applications .
[ 0034 ] Reference [1] describes the basic operating principles (based on Ohm' s law and Kirchhoff' s current law) for an all-memristor in-memory vector-matrix multiplication (VMM) arithmetic operations. The present invention applies the same operating principles; however, the circuit of the present invention allows both positive and negative synaptic weights .
[ 0035 ] The present disclosure describes transistorless memristive neuromorphic electronic circuits and methods for energy-efficient and high-throughput multiply-accumulate (MAC) arithmetic operations, which are sometimes called dot
product operations, Vector-Matrix Multiplication (VMM) operations, and convolution computations.
[ 0036] The analog all-memristor neuromorphic convolution circuits (neurosynaptic processors) consist of active memristor based excitatory and inhibitory spiking neurons and passive memristor synapses. Synapse elements
representing positive and negative convolutional weights may be organized into a two-dimensional crossbar array with both spiking memristor excitatory neurons and spiking memristor inhibitory neurons. In-memory vector-matrix multiplication (VMM) arithmetic operations, can be computed in parallel using Ohm' s law and Kirchhoff' s current law principles to achieve high-throughput multi-kernel
convolutions. The spike domain data coding has much better energy efficiency than a digital circuit implementation. Convolutional performance in visual data processing (image classification) has been analyzed by device-level SPICE simulations, and shows that the presented transistorless convolution circuits can deliver 10 times or better energy efficiency than state-of-the-art (SOA) CMOS neuromorphic processor .
[ 0037 ] Embodiments of this disclosure utilize active and passive memristor devices and circuits described for example in Reference [3] US Patent Application No.
15/976,687, Reference [5] US Patent Application No.
16/005,529, and Reference [6] US Patent Application No. 15/879,363, which are incorporated herein by reference.
[ 0038 ] FIG. 1A shows a circuit architecture of a bi polarity ("dual-quadrant") all-memristor convolutional circuit 10, which provides symmetric 'dual-quadrant' convolutional kernel weights. It is similar to the 'single quadrant' memristor convolutional circuit described in Reference [1], but includes an additional set of inhibitory
input neurons 54 and synapses 56, as shown in FIG. 1A, which are not present the 'single-quadrant' memristor convolutional circuit described in Reference [1] .
[ 0039] FIG. 1A shows an example bi-polarity all- memristor convolutional kernel 10 containing 25 excitatory memristor neuron circuits 53, 25 inhibitory memristor neuron circuits 54 and one excitatory output memristor neuron circuit 57. The additional inhibitory neuron circuits 54, which are connected to synapse circuits 56, allow symmetric MAC operations, in which the synaptic weights can be either positive or negative. In contrast, the circuits described in Reference [1] perform asymmetric MAC operations with only positive synaptic weights.
[ 0040 ] As shown in FIG. 1A, the output of each
respective excitatory memristor neuron circuit 53 is an input to a connected respective synapse circuit 55, and the output of each respective inhibitory memristor neuron circuit 54 is an input to a connected respective synapse circuit 56. The output of each synapse circuit 55 and 56 is an input to the excitatory output memristor neuron 57. The output 58 of the bi-polarity all-memristor
convolutional kernel 10 is the convolution of the inputs 50 (for the example shown in FIG. 1A there are 25 inputs 50) with the effective weights provided by the excitatory memristor neuron circuits 53 connected to synapse circuits
55, and the effective weights provided by the inhibitory memristor neuron circuits 54 connected to synapse circuits
56. Each respective input 50 is connected to a respective input 51 to an excitatory memristor neuron circuit 53 and to a respective input 52 to an inhibitory memristor neuron circuit 54.
[ 0041 ] The effective weights of the excitatory memristor neuron circuits 53 and the connected synapse circuits 55
may be zero or positive. The effective weights of the inhibitory memristor neuron circuits 54 and the connected synapse circuits 56 may be zero or negative, but can be configured to be only negative.
[ 0042 ] FIG. IB shows a simplified diagram of a bi polarity all-memristor convolutional circuit in accordance with FIG. 1A, where the inputs to the excitatory memristor neuron circuits 53 and to the inhibitory memristor neuron circuits 54 are from an image patch 100.
[ 0043 ] FIG. 1C shows a simplified physical diagram of a bi-polarity all-memristor convolutional circuit 60, similar to FIG. IB, but which includes ten (10) convolutional kernels operating in parallel. For example, outi 66 is the convolution of the 25 inputs 50 ini to in25 connected to the rows of the two dimensional matrix with the effective weights of the excitatory memristor neuron circuits 53 connected to synapse circuits 55 and the effective weights of the inhibitory memristor neuron circuits 54 and
connected synapse circuits 56 in the first column 62 of the matrix, as shown in FIG. 1C. The outio 68 is the
convolution of the 25 inputs 50 ini to in25 connected to the rows of the two dimensional matrix with the effective weights of the excitatory memristor neuron circuits 53 connected to synapse circuits 55 and the effective weights of the inhibitory memristor neuron circuits 54 and
connected synapse circuits 56 in column 64 of the matrix, as shown in FIG. 1C.
[ 0044 ] FIG. IE shows a circuit schematic of an
excitatory memristor neuron, and FIG. IF shows a circuit schematic of an inhibitory memristor neuron.
[ 0045 ] In FIGs . IE and IF, XI and X2 represent vanadium oxide (V02) active memristor devices, and Rel and Re2 are the parasitic series resistance (150 W) from the electrode
wires to the VO2 active memristor devices . The label In is the input port of the neuron, and the label Out is the output port of the neuron. Vdd is a positive supply voltage, and Vss is a negative supply voltage.
[ 0046] The SPICE model parameters for XI and X2 are: deltaT=43, rch=56e-9, Lchan=100e-9, rhoIns=le-2, rhoMet=3e- 6, kappa=3.5, cp=3.3e6, deltahtr=2.35e8. More details of the excitatory and inhibitory V02 memristor neuron
operations are described in Reference [7] US Patent
Application No. 15/976,687, filed 5/10/2018, which is incorporated herein by reference.
[ 0047 ] FIG. IE shows a schematic of an excitatory memristor neuron circuit 20, which has first (XI) and second (X2) negative differential resistance (NDR) devices that are biased with opposite polarities (-Vdc; +Vdc) . The first and second NDR devices (XI, X2) are coupled to first and second grounded capacitors (Cl, C2), respectively.
[ 0048 ] The first NDR device (XI) has a first node 30 connected to an input node 32 of the neuron circuit 20 by a first load resistor RL1 and a second node 34 connected to a first voltage source 36; the first node (30) of the first NDR device (XI) is coupled to the first grounded capacitor (Cl) . The second NDR device (X2) has a first node 38 connected to the first node 30 of the first NDR device XI by a second load resistor RL2 and a second node 40
connected to a second voltage source 42; the first node 38 of the second NDR device X2 is coupled to the second grounded capacitor C2; the first node 38 of the second NDR device X2 forming an output node 44 of the neuron circuit 20.
[ 0049] The first voltage source 36 is a negative voltage source and the second voltage source 42 is a positive voltage source. The voltages -Vdc, +Vdc provided by
voltages sources 36 and 42 can have the same amplitude or they can have different amplitudes. The d.c. voltage supplies 36 and 42 are amplitude-matched only if the two NDR devices XI and X2 are well matched in their switching threshold voltages. If the switching threshold voltages of XI and X2 are different, then the values of their d.c.
voltage supplies have to be chosen differently, so that both NDR devices are biased at the proper operating points (less than, but close to their switching threshold voltage) for the neuron circuit to spike properly.
[ 0050 ] The first and second NDR devices XI, X2 can each comprise, between their first (respectively 30, 38) and second (respectively 36, 40) nodes, a resistance
(respectively Rel, Re2) in series with an NDR material. The NDR material of the first and second NDR devices XI, X2 can be a layer or thin film of vanadium dioxide. Rel can have a value of a few hundred Ohms and can be the cumulative resistance of a first metal nanowire electrode arranged between the first node (30) and a first side of the NDR material of XI, and of a second metal nanowire electrode arranged between second node (34) and a second side of the NDR material of XI. Similarly, Re2 can have a value of a few hundred Ohms and can be the cumulative resistance of a first metal nanowire electrode arranged between the first node (38) and a first side of the NDR material of X2, and of a second metal nanowire electrode arranged between second node (40) and a second side of the NDR material of X2.
[ 0051 ] A vanadium dioxide layer can be generated by electroforming from a vanadium pentoxide layer, as detailed in US Patent application No. 15/417,049, (filed January 26, 2017, Reference [8], above) which is incorporated by reference to this presentation.
[ 0052 ] Alternatively, the vanadium dioxide layer can be directly prepared by a variety of thin film deposition methods, including but not limited to, reactive d.c. or r.f. magnetron sputtering of vanadium metal or vanadium oxide targets, atomic layer deposition followed by post deposition anneal, or metallic precursor oxidation.
[ 0053 ] The first and second voltage sources (36, 42) are arranged to bring the first and second NDR devices (XI, X2 ) close to their respective Mott Insulator-to-Metal
Transition; and the voltage biases can be adjusted to set desired levels of voltage or current threshold for the neuron action potential generation (spike firing) and desired signal gains. The first load resistor, the first NDR device, the first voltage source and the first grounded capacitor are arranged to form a first relaxation
oscillator; and the second load resistor, the second NDR device, the second voltage source and the second grounded capacitor are arranged to form a second relaxation
oscillator .
[ 0054 ] The NDR material of the first and second NDR devices XI, X2 can be a layer or thin film of vanadium dioxide, where vanadium dioxide has an Mott insulator-to- metal (IMT) transition temperature TC of 340 K (67°C) . The operation of such vanadium dioxide NDR devices only requires a very moderate Joule heating to raise the local temperature by 40 K (or °C) above room temperature. For example, it has been calculated that a NDR device having a vanadium dioxide channel with a 10-nm radius (located for example in a thin film of vanadium pentoxide) , has an extremely low estimated switching energy of 1.2 fj, which is 50 times lower than a Nb02 device, such as disclosed by Pickett et al. in References [7] and [8], which are incorporated herein by reference. It is expected that vanadium dioxide based neurons circuits according to
embodiments of this presentation are capable of achieving a biologically-competitive 0.1 pj/spike or less neuron energy use. A single VO2 NDR device can operate as low as 1.2fJ, but the energy consumption of the complete neuron circuit (XI, X2 , Cl, C2, RL1, RL2) is dominated by the charging energy of the two capacitors. The 0.1 pj/spike total energy consumption is estimated assuming exemplary d.c. bias level near 0.5 V and with 40-50 fF capacitors (such a small capacitor value is chosen for neuron size and spike
frequency considerations) .
[ 0055 ] The neuron circuit 20 can be used in a neural circuit having a plurality of neuron circuits connected in a network, for example, as shown in FIG. 1A; input node 32 being arranged to receive an input waveform through an input impedance Zin; and output node 44 being arranged to provide an output waveform through an output impedance Zout .
[ 0056] FIG. IF shows a schematic of an inhibitory memristor neuron circuit 26, which has first (X2) and second (XI) NDR devices that are biased with opposite polarities (+Vdc; -Vdc) . The first and second NDR devices (X2, XI) are coupled to first and second grounded
capacitors (C2, Cl), respectively.
[ 0057 ] The first NDR device (X2) has a first node 38 connected to an input node 32 of the neuron circuit 26 by a first load resistor RL1 and a second node 40 connected to a first voltage source 42. The first node 38 of the first NDR device X2 is coupled to the first grounded capacitor C2. The second NDR device (XI) has a first node 30
connected to the first node 38 of the first NDR device X2 by a second load resistor RL2 and a second node 34
connected to a second voltage source 36. The first node 30 of the second NDR device XI is coupled to the second
grounded capacitor C21. The first node 30 of the second NDR device XI is an output node 44 of the neuron circuit 26.
[ 0058 ] The first voltage source 42 of neuron circuit 26 is a positive voltage source and the second voltage source 36 is a negative voltage source. The voltages -Vdc, +Vdc provided by voltages sources 36 and 42 can have a same amplitude or they can have different amplitudes, as discussed above.
[ 0059] The first and second NDR devices X2 , XI can each comprise, between their first (respectively 38, 30) and second (respectively 40, 34) nodes, a resistance
(respectively Rel, Re2) in series with an NDR material. The NDR material of the first and second NDR devices X2 , XI can be a layer or thin film of vanadium dioxide, for example identical to the one detailed previously for neuron circuit 20.
[ 0060 ] Rel can have a value of a few hundred Ohms and can be the cumulative resistance of a first metal nanowire electrode arranged between the first node (38) and a first side of the NDR material of X2 , and of a second metal nanowire electrode arranged between second node (40) and a second side of the NDR material of X2. Similarly, Re2 can have a value of a few hundred Ohms and can be the
cumulative resistance of a first metal nanowire electrode arranged between the first node (30) and a first side of the NDR material of XI, and of a second metal nanowire electrode arranged between second node (34) and a second side of the NDR material of XI .
[ 0061 ] The vanadium dioxide layer can be generated by electroforming from a vanadium pentoxide layer, as detailed in US Patent application No. 15/417,049, (filed January 26,
2017, Reference [8], above) which is incorporated by reference to this presentation.
[0062] Alternatively, the vanadium dioxide layer can be directly prepared by a variety of thin film deposition methods, including but not limited to, reactive d.c. or r.f. magnetron sputtering of vanadium metal or vanadium oxide targets, atomic layer deposition followed by post deposition anneal, or metallic precursor oxidation.
[0063] The first and second voltage sources (42, 36) are arranged to bring the first and second NDR devices (X2, XI) close to their respective Mott Insulator-to-Metal
Transition; and the voltage biases can be adjusted to set desired levels of voltage or current threshold for the neuron action potential generation (spike firing) and desired signal gains. The first load resistor, the first NDR device, the first voltage source and the first grounded capacitor are arranged to form a first relaxation
oscillator; and the second load resistor, the second NDR device, the second voltage source and the second grounded capacitor are arranged to form a second relaxation
oscillator .
[0064] One or more of neuron circuits 20 and 26 can be used in a neural circuit having a plurality of neuron circuits connected in a network, such as for example, FIG. 1A, and also, for example, as illustrated in Figure IB (of Reference [7] US Patent Application No. 15/976,687, filed 5/10/2018) .
[0065] A Mott IMT physics-based SPICE model of V02 NDR devices was used to simulate the excitatory and inhibitory neuron circuits as shown in FIG. IE and IF, respectively.
In the SPICE model, the V02 conduction channel is modeled as a cylindrical volume with a radius of 28-56 nm and a length of 50-100 nm. These dimensions are close to
experimentally observed values in electroformed V02 NDR devices (see US Patent Application 15/417,049, filed
January 26, 2017, Reference [8], above) or electroform-free VO2 NDR devices.
[ 0066] It is noted that the excitatory and inhibitory neuron circuits 20, 26 of FIGs . IE and IF are both tonic neuron circuits. According to embodiments of this
presentation, and as detailed hereafter, tonic neuron circuits 20 and 26 can be made phasic by replacing the input load resistor (RL1 in 20 or RL2 in 26) by a capacitor or a capacitor in series with a resistor.
[ 0067 ] Each excitatory memristor neuron circuit 53, as shown in FIG. 1A may be implemented with the excitatory neuron circuit of FIG. IE, and each inhibitory memristor neuron circuit 54 may be implemented with the inhibitory neuron circuit of FIG. IF. The excitatory output memristor neuron 57 may also be implemented with the excitatory neuron circuit of FIG. IE.
[ 0068 ] The synapse circuits 55 and 56 may be passive memristor synapse circuits. An example of a passive memristor is described in Reference [9] 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. , "Truly electroforming-free and low-energy memristors with
preconditioned conductive tunneling paths . " Advanced
Functional Materials 27, pp.1702010 (2017), which is incorporated herein by reference.
[ 0069] In the present disclosure, each passive memristor synapse circuit may be a 2 terminal resistor whose
resistance value is a positive value.
[ 0070 ] FIG. ID shows typical simulated spike waveforms at the input 70 and the output 72 of an inhibitory
memristor neuron circuit 54. FIG. ID also shows typical
simulated spike waveforms at the input 74 and the output 76 of an excitatory memristor neuron circuit 53. A notable feature is that an excitatory memristor neuron circuit 53 does not fire if the input 74 is subthreshold or below threshold, such as a negative input, and an inhibitory memristor neuron circuit 54 does not fire if the input 70 is suprathreshold or above the threshold, such as a zero or positive input.
[0071] To evaluate and benchmark the in-memory computing performance of the bi-polarity all-memristor convolutional circuit as shown in FIG. 1C, a customized convolutional neural network (CNN) image classification model was used employing the MATLAB neural network toolbox for
classification of the MNIST image set. The convolutional kernel (filter) weights were trained in the CNN model using the prevailing stochastic gradient descent method. Then the pre-trained convolutional kernel weights were converted into dual-quadrant synaptic conductance values that can be either positive or negative.
[0072] The conversion algorithm is shown in FIG. 2 and described below.
[0073] 1. In step 80 from the pre-trained CNN weight element w(i,j) of the kth convolutional kernel (i and j are the row and column indices of the 2D weight matrix) .
[0074] 2. In step 82 convert the pre-trained CNN weight element w(i,j) to the synapse weight g(i,j) using a linear conversion scheme so that g ( i , j ) = (w ( i , j ) x 1.2e
6) /max (w (i, j ) ) .
[0075] 3. In step 84 determine whether g(i,j)is positive or negative .
[0076] 4. In step 86, if the synapse weight g(i,j)is zero or positive, then the conductance ginh(i,j) of the
inhibitory synapse is set to the lower bound value (for example, the lower bound value may be a resistance of 2 MW) , and the conductance gexc(i,j) of the excitatory synapse is set to a value such that the total conductance g(i,j) (signed summation of ginh(i,j) and gexc(i,j)) equals to the synapse weight in step 82.
[ 0077 ] 5. In step 88, if the synapse weight g(i,j) is negative, then the conductance gexc(i,j) of the excitatory synapse is set to set to the lower bound value (for example, the lower bound may be a resistance of 2 MW) , and the conductance ginh(i,j) of the inhibitory synapse is set to a value such that the total conductance g(i,j) (signed summation of ginh(i,j) and gexc(i,j)) equals to the synapse weight in step 82.
[ 0078 ] FIGs . 3A and 3B show an example set of calculated resistance values for the 250 excitatory memristor synapses and 250 inhibitory memristor synapses of the bi-polarity all-memristor convolutional circuit of FIG. 1C, converted using the algorithm in FIG. 2 from pre-trained
convolutional kernel weights of a customized MATLAB CNN model. The same rate-based data encoding scheme and benchmarking method was used as described in Reference [1] for evaluating the bi-polarity all-memristor convolution circuit and method.
[ 0079] FIG. 4 shows the customized MATLAB CNN image classification model used for benchmarking. It is designed to classify 28x28 pixel grayscale (256 levels) MNIST handwritten digit input images 60. The MNIST image set 90 has a total of 10,000 images and has a total of 10 image classes 100 (for digits 0 to 9) . This simplified CNN model includes one convolutional layer 92 having 10 (5x5) convolutional kernels 94 (filters) for feature extraction, two nonlinear ("NL") layers 96 and 98, and one fully-
connected neural network (NN) layer 95, whose output is layer 4, reference number 97. The first nonlinear layer 96 after convolution is based on a rectified linear unit (ReLU) transformation. The fully connected layer 95 performs multiplications and sums. The final nonlinear layer 98 performs a winner take all (WTA) operation, wherein only one output class with the highest output value among the ten outputs is selected as the final output class. For simplicity, no batch normalization layer or pooling layer (originally Layer 3) was used. Neglecting these layers did not deteriorate the image classification accuracy (a 93.4% accuracy was achieved after training) .
In simulated benchmarking, the convolutional layer 92 was implemented by an all-memristor convolution circuit, as shown in FIG. IB, and was simulated by a SPICE simulator (Cadence Verilog AMS) . The simulated convolutional layer activations (outputs) in spike domain were converted back and loaded to the rest of the MATLAB CNN model to complete the image classification process using MATLAB numerical calculations .
[ 0080 ] The number of multiply and accumulate (MAC) (or comparable) numerical operations required for MNIST image classification is 144,000 MACs for Layer 1 the convolution layer 92, 5,760 operations for Layer 2 the ReLU nonlinear layer 96, and 57,600 MACs for Layer 4 the fully connected layer 95. It is clear that the convolutional layer 92 is the most computationally intensive part of the CNN model. This is also the case for much more sophisticated deep CNN models used in the industry.
[ 0081 ] FIG. 5 shows an example benchmarking operation of the simplified (no pooling) MATLAB CNN model, as shown in FIG. 4, for image classification benchmarking. In this example, the input 90 is a 28x28 pixel MNIST image of a handwritten digit (digit "2") . The convolutional layer 92
having ten 5x5 bi-polarity convolutional kernels is
simulated (in Cadence Verilog AMS) by a memristor
neurosynaptic convolution circuit having 50x10 passive memristor synapses 55 and 56, as shown in FIG. IB. The simulated memristor convolution outputs are ten 24x24 pixel output images 94, and two of them are shown in FIG. 5. The images 94 are then sent back to the MATLAB model to
calculate the classification outputs. The nonlinear classifier layer Layer 4 98 has ten outputs, one for each digit class 100. The highest value (10.9178 in this case) in the ten outputs points to the correct class of digit "2" .
[ 0082 ] FIG. 6 shows a table, which is a summary of the benchmarking analysis. The simulated all-memristor
convolution energy efficiency per input bit is 0.52 nJ/b, translating into an overall image classification energy efficiency per input bit of 0.61 nJ/b, which is better than lOx improvement over the prior art CMOS neuromorphic processor ( the IBM TrueNorth, at 6.7 nJ/b) .
[ 0083 ] The simulated memristor convolution throughput for a (50x10) passive memristor crossbar array shown in FIG. IB for bi-polarity (dual-quadrant) convolution is about 7.5 Mb/s. As a comparison, the prior art CMOS neuromorphic processor has an image classification
throughput of 30.7Mb/s. This indicates that the circuit of the present invention can rival the throughput of the prior art using merely four copies of such (50x10)
memristor crossbar arrays, with a total synapse count of only 4x50x10 = 2000. The prior art TrueNorth chip uses 4042 out of the 4096 neurosynaptic cores in its
benchmarking. Each TrueNorth neurosynaptic core contains (256x256) = 65536 synapses, bringing the total amount of synapses in-use to ~265 million. This indicates a synapse count ratio of 1.32xl05 for achieving similar throughput for
TrueNorth vs. using the circuits of the present invention. Such a large contrast in the required synapse count can be explained by the large difference in the operating spike rates, which have a rate of about 100 MHz for the present invention vs. a rate of only about 200 Hz for the prior art TrueNorth) .
[ 0084 ] Note that the Si prior art (TrueNorth) uses a more sophisticated CNN model for image classification benchmarking, which involves more convolutional layers and multiply and accumulate (MAC) operations. Therefore it is helpful to compare the architecture-independent energy use, or Joule per operation (J/OP) . However, this number is not available for TrueNorth. In the present invention, the simulated all-memristor energy use per MAC operation is ~6 pJ/OP. This value is based on counting ~40 spikes for rate-based convolution per output pixel. This is a rather conservative practice to ensure spike rate accuracy. In the best-case scenario of counting ~4 spikes for
convolution per output pixel, the all-memristor energy use per operation can reach ~0.6 pJ/OP. Thus making it possible to access the sub-pJ/OP regime for approximate computing applications. Note that this estimation is based on a 0.4pJ/spike VO2 neuron energy efficiency, which is not the lower bound of the technology.
[ 0085 ] Having now described the invention in accordance with the requirements of the patent statutes, those skilled in this art will understand how to make changes and modifications to the present invention to meet their specific requirements or conditions. Such changes and modifications may be made without departing from the scope and spirit of the invention as disclosed herein.
[ 0086] The foregoing Detailed Description of exemplary and preferred embodiments is presented for purposes of illustration and disclosure in accordance with the
requirements of the law. It is not intended to be
exhaustive nor to limit the invention to the precise form(s) described, but only to enable others skilled in the art to understand how the invention may be suited for a particular use or implementation. The possibility of modifications and variations will be apparent to
practitioners skilled in the art. No limitation is intended by the description of exemplary embodiments which may have included tolerances, feature dimensions, specific operating conditions, engineering specifications, or the like, and which may vary between implementations or with changes to the state of the art, and no limitation should be implied therefrom. Applicant has made this disclosure with respect to the current state of the art, but also contemplates advancements and that adaptations in the future may take into consideration of those advancements, namely in accordance with the then current state of the art. It is intended that the scope of the invention be defined by the Claims as written and equivalents as applicable. Reference to a claim element in the singular is not intended to mean "one and only one" unless
explicitly so stated. Moreover, no element, component, nor method or process step in this disclosure is intended to be dedicated to the public regardless of whether the element, component, or step is explicitly recited in the Claims. No claim element herein is to be construed under the
provisions of 35 U.S.C. Sec. 112, sixth paragraph, unless the element is expressly recited using the phrase "means for. . ." and no method or process step herein is to be construed under those provisions unless the step, or steps,
are expressly recited using the phrase "comprising the step ( s ) of . . .. "
[ 0087 ] Broadly, this application discloses at least the following: A circuit for performing energy-efficient and high-throughput multiply-accumulate (MAC) arithmetic dot- product operations and convolution computations includes a two dimensional crossbar array comprising a plurality of row inputs and at least one column having a plurality of column circuits, wherein each column circuit is coupled to a respective row input. Each respective column circuit includes an excitatory memristor neuron circuit having an input coupled to a respective row input, a first synapse circuit coupled to an output of the excitatory memristor neuron circuit, the first synapse circuit having a first output, an inhibitory memristor neuron circuit having an input coupled to the respective row input, and a second synapse circuit coupled to an output of the inhibitory memristor neuron circuit, the second synapse circuit having a second output. An output memristor neuron circuit is coupled to the first output and second output of each column circuit and has an output.
CONCEPTS
At least the following concepts have been disclosed.
Concept 1. A circuit for performing energy-efficient and high-throughput multiply-accumulate (MAC) arithmetic dot-product operations and convolution computations comprising :
a two dimensional crossbar array comprising a
plurality of row inputs and at least one column having a
plurality of column circuits, wherein each column circuit is coupled to a respective row input;
wherein each respective column circuit comprises:
an excitatory memristor neuron circuit having an input coupled to a respective row input;
a first synapse circuit coupled to an output of the excitatory memristor neuron circuit, the first synapse circuit having a first output;
an inhibitory memristor neuron circuit having an input coupled to the respective row input; and
a second synapse circuit coupled to an output of the inhibitory memristor neuron circuit, the second synapse circuit having a second output; and
an output memristor neuron circuit coupled to the first output and second output of each column circuit, the output memristor neuron circuit having an output.
Concept 2. The circuit of concept 1 :
wherein each first synapse circuit and each second synapse circuit comprises a passive memristor synapse circuit .
Concept 3. The circuit of concept 1 or 2 :
wherein each respective excitatory memristor neuron circuit and respective first synapse circuit coupled to the respective excitatory memristor neuron circuit has a positive or a zero convolutional weight; and
wherein each respective inhibitory memristor neuron circuit and respective second synapse circuit coupled to the respective inhibitory memristor neuron circuit has a negative convolutional weight.
Concept 4. The circuit of concept 1, 2 or 3 wherein each respective excitatory memristor neuron circuit comprises :
a first negative differential resistance (NDR) device biased with a first voltage source;
a second negative differential resistance (NDR) device biased with a second voltage source, wherein the first voltage source and the second voltage source are opposite polarities ;
a first capacitor coupled to ground and coupled to a first node of the first NDR device;
a first load resistor coupled between an input node of the excitatory active memristor neuron circuit or the self- excitatory active memristor output neuron circuit and the first capacitor;
a second capacitor coupled to ground; and
a second load resistor coupled between the first capacitor and the second capacitor, and coupled to a first node of the second NDR device;
wherein the first node of the second NDR device forms an output node of the excitatory active memristor neuron circuit or the self-excitatory active memristor output neuron circuit;
wherein the first voltage source is a negative voltage source; and
wherein the second voltage source is a positive voltage source.
Concept 5. The circuit of concept 4 further comprising: a third load resistor coupled between the first capacitor and the first node of the first NDR device; and a fourth load resistor coupled between the second capacitor and a first node of the second NDR device.
Concept 6. The circuit of concept 4 wherein:
at least one of the first and second NDR devices comprises a vanadium dioxide layer.
Concept 7. The circuit of concept 4 wherein:
the first and second voltage sources are configured to bring the first and second negative differential resistance (NDR) devices close to their respective Mott insulator-to- metal transition.
Concept 8. The circuit of concept 1, 2, 3, 4, 5, 6 or 7 wherein each respective inhibitory memristor neuron circuit comprises :
a first negative differential resistance (NDR) device biased with a first voltage source;
a second negative differential resistance (NDR) device biased with a second voltage source, wherein the first voltage source and the second voltage source are opposite polarities ;
a first capacitor coupled to ground and coupled to a first node of the first NDR device;
a first load resistor coupled between an input node of the inhibitory active memristor neuron circuit and the first capacitor;
a second capacitor coupled to ground; and
a second load resistor coupled between the first capacitor and the second capacitor, and coupled to a first node of the second NDR device;
wherein the first node of the second NDR device forms an output node of the inhibitory active memristor neuron circuit ;
wherein the first voltage source is a positive voltage source; and
wherein the second voltage source is a negative voltage source.
Concept 9. The circuit of concept 8 further comprising: a third load resistor coupled between the first capacitor and the first node of the first NDR device; and a fourth load resistor coupled between the second capacitor and a first node of the second NDR device.
Concept 10. The circuit of concept 8 wherein:
at least one of the first and second NDR devices comprises a vanadium dioxide layer.
Concept 11. The circuit of concept 8 wherein:
the first and second voltage sources are configured to bring the first and second negative differential resistance (NDR) devices close to their respective Mott insulator-to- metal transition.
Concept 12. The circuit of concept 1, 2, 3, 4, 5, 6, 7,
8, 9, 10 or 11:
wherein the two dimensional crossbar array further comprises a plurality of columns, wherein each column has a plurality of column circuits and each column circuit in a respective column is coupled to a respective row input.
Concept 13. The circuit of concept 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11 or 12:
wherein a respective excitatory memristor neuron circuit does not fire if the respective row input coupled to the respective excitatory memristor neuron circuit is below a threshold or has a negative value; and
wherein a respective inhibitory memristor neuron circuit does not fire if the respective row input coupled
to the respective excitatory memristor neuron circuit is above a threshold or has a positive value.
Concept 14. A method for setting conductance values for excitatory memristor synapse circuits and inhibitory memristor synapse circuits comprising;
training convolutional kernel weights using a
prevailing stochastic gradient descent method; and
converting a trained convolutional kernel weight element w(i,j) of a kth convolutional kernel, wherein i and j are the row and column indices of a two dimensional weight matrix into dual-quadrant synaptic conductance values that can be either positive or negative by:
converting the trained convolutional kernel weight element w(i,j) to a synapse weight g(i,j) using a linear conversion scheme so that
g(i,j) = (w(i,j)x 1.2e-6 ) /max (w (i, j ) ) ;
determining whether g(i,j)is positive or negative; and
if the synapse weight g(i,j)is zero or positive, then setting a conductance ginh(i,j) of a respective inhibitory memristor synapse circuit to a first lower bound value, and setting a conductance gexc(i,j) of a respective excitatory memristor synapse circuit to a value such that a total conductance g(i,j) or a signed summation of ginh(i,j) and gexc(i,j)) equals w(i,j)x 1.2e-6) /max (w (i, j ) ;
if the synapse weight g(i,j)is negative, then setting a conductance gexc(i,j) of a respective excitatory memristor synapse circuit to a second lower bound value, and setting a conductance ginh(i,j) of a respective inhibitatory memristor synapse circuit to a value such that a total conductance g(i,j) or a signed
summation of ginh(i,j) and gexc(i,j)) equals w(i,j)x 1.2e-6) /max (w (i, j ) .
Concept 15. The method of concept 14:
wherein the first lower bound value is
ginh(i,j) = 0.5e-6; and
wherein the second lower bound value is
geXc(i,j) = 0.5e-6.
Concept 16. A method for performing energy-efficient and high-throughput multiply-accumulate (MAC) arithmetic dot- product operations and convolution computations comprising: providing a two dimensional crossbar array comprising a plurality of row inputs and at least one column having a plurality of column circuits, wherein each column circuit is coupled to a respective row input;
wherein each respective column circuit comprises:
an excitatory memristor neuron circuit having an input coupled to a respective row input;
a first synapse circuit coupled to an output of the excitatory memristor neuron circuit, the first synapse circuit having a first output;
an inhibitory memristor neuron circuit having an input coupled to the respective row input; and
a second synapse circuit coupled to an output of the inhibitory memristor neuron circuit, the second synapse circuit having a second output; and
providing an output memristor neuron circuit coupled to the first output and second output of each column circuit, the output memristor neuron circuit having an output .
Concept 17. The method of concept 16:
wherein each respective excitatory memristor neuron circuit and respective first synapse circuit coupled to the respective excitatory memristor neuron circuit has a positive or a zero convolutional weight; and
wherein each respective inhibitory memristor neuron circuit and respective second synapse circuit coupled to the respective inhibitory memristor neuron circuit has a negative convolutional weight.
Concept 18. The method of concept 16 or 17 wherein each respective excitatory memristor neuron circuit comprises: a first negative differential resistance (NDR) device biased with a first voltage source;
a second negative differential resistance (NDR) device biased with a second voltage source, wherein the first voltage source and the second voltage source are opposite polarities ;
a first capacitor coupled to ground and coupled to a first node of the first NDR device;
a first load resistor coupled between an input node of the excitatory active memristor neuron circuit or the self- excitatory active memristor output neuron circuit and the first capacitor;
a second capacitor coupled to ground; and
a second load resistor coupled between the first capacitor and the second capacitor, and coupled to a first node of the second NDR device;
wherein the first node of the second NDR device forms an output node of the excitatory active memristor neuron circuit or the self-excitatory active memristor output neuron circuit;
wherein the first voltage source is a negative voltage source; and
wherein the second voltage source is a positive voltage source.
Concept 19. The method of concept 16, 17 or 18 wherein each respective inhibitory memristor neuron circuit comprises :
a first negative differential resistance (NDR) device biased with a first voltage source;
a second negative differential resistance (NDR) device biased with a second voltage source, wherein the first voltage source and the second voltage source are opposite polarities ;
a first capacitor coupled to ground and coupled to a first node of the first NDR device;
a first load resistor coupled between an input node of the inhibitory active memristor neuron circuit and the first capacitor;
a second capacitor coupled to ground; and
a second load resistor coupled between the first capacitor and the second capacitor, and coupled to a first node of the second NDR device;
wherein the first node of the second NDR device forms an output node of the inhibitory active memristor neuron circuit ;
wherein the first voltage source is a positive voltage source; and
wherein the second voltage source is a negative voltage source.
Concept 20. The method of concept 16, 17, 18 or 19:
wherein the two dimensional crossbar array further comprises a plurality of columns, wherein each column has a plurality of column circuits and each column circuit in a respective column is coupled to a respective row input.
Concept 21. The method of concept 16, 17, 18, 19 or 20: wherein a respective excitatory memristor neuron circuit does not fire if the respective row input coupled to the respective excitatory memristor neuron circuit is below a threshold or has a negative value; and
wherein a respective inhibitory memristor neuron circuit does not fire if the respective row input coupled to the respective excitatory memristor neuron circuit is above a threshold or has a positive value.
Claims
1. A circuit for performing energy-efficient and high- throughput multiply-accumulate (MAC) arithmetic dot-product operations and convolution computations comprising:
a two-dimensional crossbar array comprising a
plurality of row inputs and at least one column having a plurality of column circuits, wherein each column circuit is coupled to a respective row input;
wherein each respective column circuit comprises:
an excitatory memristor neuron circuit having an input coupled to a respective row input;
a first synapse circuit coupled to an output of the excitatory memristor neuron circuit, the first synapse circuit having a first output;
an inhibitory memristor neuron circuit having an input coupled to the respective row input; and
a second synapse circuit coupled to an output of the inhibitory memristor neuron circuit, the second synapse circuit having a second output; and
an output memristor neuron circuit coupled to the first output and second output of each column circuit, the output memristor neuron circuit having an output.
2. The circuit of claim 1:
wherein each first synapse circuit and each second synapse circuit comprises a passive memristor synapse circuit .
3. The circuit of claim 1:
wherein each respective excitatory memristor neuron circuit and respective first synapse circuit coupled to the respective excitatory memristor neuron circuit has a positive or a zero convolutional weight; and
wherein each respective inhibitory memristor neuron circuit and respective second synapse circuit coupled to the respective inhibitory memristor neuron circuit has a negative convolutional weight.
4. The circuit of claim 1 wherein each respective excitatory memristor neuron circuit comprises:
a first negative differential resistance (NDR) device biased with a first voltage source;
a second negative differential resistance (NDR) device biased with a second voltage source, wherein the first voltage source and the second voltage source are opposite polarities ;
a first capacitor coupled to ground and coupled to a first node of the first NDR device;
a first load resistor coupled between an input node of the excitatory active memristor neuron circuit or the self- excitatory active memristor output neuron circuit and the first capacitor;
a second capacitor coupled to ground; and
a second load resistor coupled between the first capacitor and the second capacitor, and coupled to a first node of the second NDR device;
wherein the first node of the second NDR device forms an output node of the excitatory active memristor neuron circuit or the self-excitatory active memristor output neuron circuit;
wherein the first voltage source is a negative voltage source; and
wherein the second voltage source is a positive voltage source.
5. The circuit of claim 4 further comprising:
a third load resistor coupled between the first capacitor and the first node of the first NDR device; and a fourth load resistor coupled between the second capacitor and a first node of the second NDR device.
6. The circuit of claim 4 wherein:
at least one of the first and second NDR devices comprises a vanadium dioxide layer.
7. The circuit of claim 4 wherein:
the first and second voltage sources are configured to bring the first and second negative differential resistance (NDR) devices close to their respective Mott insulator-to- metal transition.
8. The circuit of claim 1 wherein each respective inhibitory memristor neuron circuit comprises:
a first negative differential resistance (NDR) device biased with a first voltage source;
a second negative differential resistance (NDR) device biased with a second voltage source, wherein the first voltage source and the second voltage source are opposite polarities ;
a first capacitor coupled to ground and coupled to a first node of the first NDR device;
a first load resistor coupled between an input node of the inhibitory active memristor neuron circuit and the first capacitor;
a second capacitor coupled to ground; and
a second load resistor coupled between the first capacitor and the second capacitor, and coupled to a first node of the second NDR device;
wherein the first node of the second NDR device forms an output node of the inhibitory active memristor neuron circuit ;
wherein the first voltage source is a positive voltage source; and
wherein the second voltage source is a negative voltage source.
9. The circuit of claim 8 further comprising:
a third load resistor coupled between the first capacitor and the first node of the first NDR device; and a fourth load resistor coupled between the second capacitor and a first node of the second NDR device.
10. The circuit of claim 8 wherein:
at least one of the first and second NDR devices comprises a vanadium dioxide layer.
11. The circuit of claim 8 wherein:
the first and second voltage sources are configured to bring the first and second negative differential resistance (NDR) devices close to their respective Mott insulator-to- metal transition.
12. The circuit of claim 1:
wherein the two-dimensional crossbar array further comprises a plurality of columns, wherein each column has a plurality of column circuits and each column circuit in a respective column is coupled to a respective row input.
13. The circuit of claim 1:
wherein a respective excitatory memristor neuron circuit does not fire if the respective row input coupled
to the respective excitatory memristor neuron circuit is below a threshold or has a negative value; and
wherein a respective inhibitory memristor neuron circuit does not fire if the respective row input coupled to the respective excitatory memristor neuron circuit is above a threshold or has a positive value.
14. A method for setting conductance values for excitatory memristor synapse circuits and inhibitory memristor synapse circuits comprising;
training convolutional kernel weights using a
prevailing stochastic gradient descent method; and
converting a trained convolutional kernel weight element w(i,j) of a kth convolutional kernel, wherein i and j are the row and column indices of a two dimensional weight matrix into dual-quadrant synaptic conductance values that can be either positive or negative by:
converting the trained convolutional kernel weight element w(i,j) to a synapse weight g(i,j) using a linear conversion scheme so that
g(i,j) = (w(i,j)x 1.2e-6 ) /max (w (i, j ) ) ;
determining whether g(i,j)is positive or negative; and
if the synapse weight g(i,j)is zero or positive, then setting a conductance ginh(i,j) of a respective inhibitory memristor synapse circuit to a first lower bound value, and setting a conductance gexc(i,j) of a respective excitatory memristor synapse circuit to a value such that a total conductance g(i,j) or a signed summation of ginh(i,j) and gexc(i,j)) equals w(i,j)x 1.2e 6) /max (w (i, j ) ;
if the synapse weight g(i,j)is negative, then setting a conductance gexc(i,j) of a respective excitatory memristor synapse circuit to a second lower
bound value, and setting a conductance ginh(i,j) of a respective inhibitatory memristor synapse circuit to a value such that a total conductance g(i,j) or a signed summation of ginh(i,j) and gexc(i,j)) equals w(i,j)x 1.2e-6) /max (w (i, j ) .
15. The method of claim 14:
wherein the first lower bound value is
ginh(i,j) = 0.5e-6; and
wherein the second lower bound value is
g ( i , j ) = 0.5e-6.
16. A method for performing energy-efficient and high- throughput multiply-accumulate (MAC) arithmetic dot-product operations and convolution computations comprising:
providing a two dimensional crossbar array comprising a plurality of row inputs and at least one column having a plurality of column circuits, wherein each column circuit is coupled to a respective row input;
wherein each respective column circuit comprises:
an excitatory memristor neuron circuit having an input coupled to a respective row input;
a first synapse circuit coupled to an output of the excitatory memristor neuron circuit, the first synapse circuit having a first output;
an inhibitory memristor neuron circuit having an input coupled to the respective row input; and
a second synapse circuit coupled to an output of the inhibitory memristor neuron circuit, the second synapse circuit having a second output; and
providing an output memristor neuron circuit coupled to the first output and second output of each column circuit, the output memristor neuron circuit having an output .
17. The method of claim 16:
wherein each respective excitatory memristor neuron circuit and respective first synapse circuit coupled to the respective excitatory memristor neuron circuit has a positive or a zero convolutional weight; and
wherein each respective inhibitory memristor neuron circuit and respective second synapse circuit coupled to the respective inhibitory memristor neuron circuit has a negative convolutional weight.
18. The method of claim 16 wherein each respective excitatory memristor neuron circuit comprises:
a first negative differential resistance (NDR) device biased with a first voltage source;
a second negative differential resistance (NDR) device biased with a second voltage source, wherein the first voltage source and the second voltage source are opposite polarities ;
a first capacitor coupled to ground and coupled to a first node of the first NDR device;
a first load resistor coupled between an input node of the excitatory active memristor neuron circuit or the self- excitatory active memristor output neuron circuit and the first capacitor;
a second capacitor coupled to ground; and
a second load resistor coupled between the first capacitor and the second capacitor, and coupled to a first node of the second NDR device;
wherein the first node of the second NDR device forms an output node of the excitatory active memristor neuron circuit or the self-excitatory active memristor output neuron circuit;
wherein the first voltage source is a negative voltage source; and
wherein the second voltage source is a positive voltage source.
19. The method of claim 16 wherein each respective inhibitory memristor neuron circuit comprises:
a first negative differential resistance (NDR) device biased with a first voltage source;
a second negative differential resistance (NDR) device biased with a second voltage source, wherein the first voltage source and the second voltage source are opposite polarities ;
a first capacitor coupled to ground and coupled to a first node of the first NDR device;
a first load resistor coupled between an input node of the inhibitory active memristor neuron circuit and the first capacitor;
a second capacitor coupled to ground; and
a second load resistor coupled between the first capacitor and the second capacitor, and coupled to a first node of the second NDR device;
wherein the first node of the second NDR device forms an output node of the inhibitory active memristor neuron circuit ;
wherein the first voltage source is a positive voltage source; and
wherein the second voltage source is a negative voltage source.
20. The method of claim 16:
wherein the two-dimensional crossbar array further comprises a plurality of columns, wherein each column has a
plurality of column circuits and each column circuit in a respective column is coupled to a respective row input.
21. The method of claim 16:
wherein a respective excitatory memristor neuron circuit does not fire if the respective row input coupled to the respective excitatory memristor neuron circuit is below a threshold or has a negative value; and
wherein a respective inhibitory memristor neuron circuit does not fire if the respective row input coupled to the respective excitatory memristor neuron circuit is above a threshold or has a positive value.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202080032752.XA CN113811896B (en) | 2019-05-07 | 2020-03-06 | Bipolar full memristor circuit for in-memory computation |
EP20801140.3A EP3966746A4 (en) | 2019-05-07 | 2020-03-06 | Bipolar all-memristor circuit for in-memory computing |
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962844611P | 2019-05-07 | 2019-05-07 | |
US62/844,611 | 2019-05-07 | ||
US201962860915P | 2019-06-13 | 2019-06-13 | |
US62/860,915 | 2019-06-13 | ||
US16/808,227 US11694070B2 (en) | 2019-05-07 | 2020-03-03 | Bipolar all-memristor circuit for in-memory computing |
US16/808,222 | 2020-03-03 | ||
US16/808,227 | 2020-03-03 | ||
US16/808,222 US20200356847A1 (en) | 2019-05-07 | 2020-03-03 | Transistorless all-memristor neuromorphic circuits for in-memory computing |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020226737A1 true WO2020226737A1 (en) | 2020-11-12 |
Family
ID=73046773
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2020/021561 WO2020226740A1 (en) | 2019-05-07 | 2020-03-06 | Transistorless all-memristor neuromorphic circuits for in-memory computing |
PCT/US2020/021530 WO2020226737A1 (en) | 2019-05-07 | 2020-03-06 | Bipolar all-memristor circuit for in-memory computing |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2020/021561 WO2020226740A1 (en) | 2019-05-07 | 2020-03-06 | Transistorless all-memristor neuromorphic circuits for in-memory computing |
Country Status (4)
Country | Link |
---|---|
US (2) | US11694070B2 (en) |
EP (2) | EP3966746A4 (en) |
CN (2) | CN113811896B (en) |
WO (2) | WO2020226740A1 (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6833873B2 (en) | 2016-05-17 | 2021-02-24 | シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. | Deep learning neural network classifier using non-volatile memory array |
JP2020160887A (en) * | 2019-03-27 | 2020-10-01 | ソニー株式会社 | Computing device and product-sum computing system |
US11694070B2 (en) | 2019-05-07 | 2023-07-04 | Hrl Laboratories, Llc | Bipolar all-memristor circuit for in-memory computing |
US11404106B2 (en) * | 2020-07-27 | 2022-08-02 | Robert Bosch Gmbh | Read only memory architecture for analog matrix operations |
US20220138540A1 (en) * | 2020-10-30 | 2022-05-05 | International Business Machines Corporation | Integrated circuit with a configurable neuromorphic neuron apparatus for artificial neural networks |
CN112346704B (en) * | 2020-11-23 | 2021-09-17 | 华中科技大学 | Full-streamline type multiply-add unit array circuit for convolutional neural network |
CN113077829B (en) * | 2021-04-20 | 2023-04-28 | 清华大学 | Data processing method based on memristor array and electronic device |
CN112992232B (en) * | 2021-04-28 | 2021-08-17 | 中科院微电子研究所南京智能技术研究院 | Multi-bit positive and negative single-bit memory computing unit, array and device |
KR102595529B1 (en) * | 2021-11-04 | 2023-10-27 | 서울대학교산학협력단 | Temporal kernel devices, temporal kernel computing systems, and methods of their operation |
WO2024003374A1 (en) | 2022-06-30 | 2024-01-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Fourier transformation technique |
CN115456157B (en) * | 2022-11-11 | 2023-02-07 | 华中科技大学 | Multi-sense interconnection memory network circuit based on memristor |
CN116579392A (en) * | 2023-02-21 | 2023-08-11 | 鹏城实验室 | Neural network training operation system and method based on conductance adjustable device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180018559A1 (en) * | 2016-07-14 | 2018-01-18 | University Of Dayton | Analog neuromorphic circuits for dot-product operation implementing resistive memories |
US20180075339A1 (en) * | 2016-09-09 | 2018-03-15 | SK Hynix Inc. | Neural network hardware accelerator architectures and operating method thereof |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5154666B2 (en) * | 2008-03-14 | 2013-02-27 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | Neuromorphic circuit |
US9053428B2 (en) | 2011-07-21 | 2015-06-09 | Qualcomm Incorporated | Method and apparatus of robust neural temporal coding, learning and cell recruitments for memory using oscillation |
US8918351B2 (en) | 2012-07-30 | 2014-12-23 | International Business Machines Corporation | Providing transposable access to a synapse array using column aggregation |
US8669785B2 (en) | 2012-07-31 | 2014-03-11 | Hewlett-Packard Development Company, L.P. | Logic circuits using neuristors |
US9165246B2 (en) * | 2013-01-29 | 2015-10-20 | Hewlett-Packard Development Company, L.P. | Neuristor-based reservoir computing devices |
CN106815636B (en) | 2016-12-30 | 2019-03-05 | 华中科技大学 | A kind of neuron circuit based on memristor |
US10297751B2 (en) | 2017-01-26 | 2019-05-21 | Hrl Laboratories, Llc | Low-voltage threshold switch devices with current-controlled negative differential resistance based on electroformed vanadium oxide layer |
WO2018140539A1 (en) | 2017-01-26 | 2018-08-02 | Hrl Laboratories, Llc | A scalable, stackable, and beol-process compatible integrated neuron circuit |
US11315009B2 (en) | 2017-03-03 | 2022-04-26 | Hewlett Packard Enterprise Development Lp | Analog multiplier-accumulators |
US10600961B2 (en) | 2017-07-27 | 2020-03-24 | Hrl Laboratories, Llc | Scalable and low-voltage electroforming-free nanoscale vanadium dioxide threshold switch devices and relaxation oscillators with current controlled negative differential resistance |
US20190095787A1 (en) | 2017-09-27 | 2019-03-28 | Hsiang Tsung Kung | Sparse coding based classification |
CN109460817B (en) | 2018-09-11 | 2021-08-03 | 华中科技大学 | Convolutional neural network on-chip learning system based on nonvolatile memory |
CN109460818A (en) | 2018-09-25 | 2019-03-12 | 电子科技大学 | A kind of multilayer neural network design method based on memristor bridge and array |
US11694070B2 (en) | 2019-05-07 | 2023-07-04 | Hrl Laboratories, Llc | Bipolar all-memristor circuit for in-memory computing |
-
2020
- 2020-03-03 US US16/808,227 patent/US11694070B2/en active Active
- 2020-03-03 US US16/808,222 patent/US20200356847A1/en not_active Abandoned
- 2020-03-06 WO PCT/US2020/021561 patent/WO2020226740A1/en unknown
- 2020-03-06 WO PCT/US2020/021530 patent/WO2020226737A1/en unknown
- 2020-03-06 CN CN202080032752.XA patent/CN113811896B/en active Active
- 2020-03-06 CN CN202080032914.XA patent/CN113924581A/en active Pending
- 2020-03-06 EP EP20801140.3A patent/EP3966746A4/en not_active Withdrawn
- 2020-03-06 EP EP20801139.5A patent/EP3966745A4/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180018559A1 (en) * | 2016-07-14 | 2018-01-18 | University Of Dayton | Analog neuromorphic circuits for dot-product operation implementing resistive memories |
US20180075339A1 (en) * | 2016-09-09 | 2018-03-15 | SK Hynix Inc. | Neural network hardware accelerator architectures and operating method thereof |
Non-Patent Citations (5)
Title |
---|
CHEN LIN; ZHAO ZHONG; WEI WU; JUNJIE YAN: "Synaptic Strength For Convolutional Neural Network", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 6 November 2018 (2018-11-06), 201 Olin Library Cornell University Ithaca, NY 14853, XP081046831 * |
HESHAM MOSTAFA; GERT CAUWENBERGHS: "A learning framework for winner-take-all networks with stochastic synapses", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 14 August 2017 (2017-08-14), 201 Olin Library Cornell University Ithaca, NY 14853, XP081406259 * |
OLGA KRESTINSKAYA et al.. Neuro-memristive Circuits for Edge Computing: A Review. IEEE, 28 November 2018, pp. 1-19. Pages 1-7, 10, 15; and figure 4 * |
See also references of EP3966746A4 * |
YAKOPCIC CHRIS; ALOM MD ZAHANGIR; TAHA TAREK M.: "Memristor crossbar deep network implementation based on a Convolutional neural network", 2016 INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS (IJCNN), IEEE, 24 July 2016 (2016-07-24), pages 963 - 970, XP032992268, DOI: 10.1109/IJCNN.2016.7727302 * |
Also Published As
Publication number | Publication date |
---|---|
CN113924581A (en) | 2022-01-11 |
EP3966746A4 (en) | 2023-08-02 |
WO2020226740A9 (en) | 2021-12-30 |
CN113811896B (en) | 2022-12-09 |
US20200356847A1 (en) | 2020-11-12 |
WO2020226740A1 (en) | 2020-11-12 |
EP3966745A1 (en) | 2022-03-16 |
EP3966745A4 (en) | 2022-12-14 |
CN113811896A (en) | 2021-12-17 |
EP3966746A1 (en) | 2022-03-16 |
US11694070B2 (en) | 2023-07-04 |
US20200356344A1 (en) | 2020-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11694070B2 (en) | Bipolar all-memristor circuit for in-memory computing | |
Wang et al. | In situ training of feed-forward and recurrent convolutional memristor networks | |
Yakopcic et al. | Memristor crossbar deep network implementation based on a convolutional neural network | |
Chen et al. | Technology-design co-optimization of resistive cross-point array for accelerating learning algorithms on chip | |
US9646243B1 (en) | Convolutional neural networks using resistive processing unit array | |
Yu et al. | An overview of neuromorphic computing for artificial intelligence enabled hardware-based hopfield neural network | |
Kadetotad et al. | Parallel architecture with resistive crosspoint array for dictionary learning acceleration | |
US11087204B2 (en) | Resistive processing unit with multiple weight readers | |
Tang et al. | Spiking neural network with rram: Can we use it for real-world application? | |
Cho et al. | An on-chip learning neuromorphic autoencoder with current-mode transposable memory read and virtual lookup table | |
Bennett et al. | Contrasting advantages of learning with random weights and backpropagation in non-volatile memory neural networks | |
Hassan et al. | Hybrid spiking-based multi-layered self-learning neuromorphic system based on memristor crossbar arrays | |
Zhang et al. | Memristive fuzzy deep learning systems | |
Fida et al. | An active memristor based rate-coded spiking neural network | |
Liao et al. | Weighted synapses without carry operations for RRAM-based neuromorphic systems | |
Cao et al. | Parasitic-aware modelling for neural networks implemented with memristor crossbar array | |
Li et al. | Binary‐Stochasticity‐Enabled Highly Efficient Neuromorphic Deep Learning Achieves Better‐than‐Software Accuracy | |
Nowshin | Spiking neural network with memristive based computing-in-memory circuits and architecture | |
Dalgaty et al. | The neuromorphic Mosaic: re-configurable in-memory small-world graphs | |
Kendall et al. | Deep learning in memristive nanowire networks | |
Jebali et al. | CAPC: A configurable analog pop-count circuit for near-memory binary neural networks | |
Huang et al. | Three-dimensional memristor-based crossbar architecture for capsule network implementation | |
Lin et al. | Resistive memory-based zero-shot liquid state machine for multimodal event data learning | |
Bennett et al. | Plasticity-enhanced domain-wall MTJ neural networks for energy-efficient online learning | |
Bala et al. | Learning method for ex-situ training of memristor crossbar based multi-layer neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20801140 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2020801140 Country of ref document: EP Effective date: 20211207 |