US20200356344A1 - Bipolar all-memristor circuit for in-memory computing - Google Patents
Bipolar all-memristor circuit for in-memory computing Download PDFInfo
- Publication number
- US20200356344A1 US20200356344A1 US16/808,227 US202016808227A US2020356344A1 US 20200356344 A1 US20200356344 A1 US 20200356344A1 US 202016808227 A US202016808227 A US 202016808227A US 2020356344 A1 US2020356344 A1 US 2020356344A1
- Authority
- US
- United States
- Prior art keywords
- circuit
- memristor
- coupled
- excitatory
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- 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
- 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
-
- G06N3/0635—
-
- 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
- ALUs arithmetic logic units
- 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.
- 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.
- 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.7 nJ per input bit) than state-of-the-art (SOA) CMOS neuromorphic processor (IBM TrueNorth).
- 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.
- 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.
- 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
- 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
- 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. 1B 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. 1D shows simulated spike waveforms at input and output of one inhibitory memristor neuron and one excitatory memristor neuron
- FIG. 1E shows a circuit schematic of an excitatory memristor neuron
- FIG. 1F shows a circuit schematic of an inhibitory memristor neuron in accordance with the present disclosure.
- FIG. 2 shows a block diagram showing the algorithm for setting the conductance values for the excitatory synapse element g exc (i, j) and inhibitory synapse element g inh (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.
- 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. 1B , 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. 1B in accordance with the present disclosure.
- 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. 1B 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.
- FIG. 6 shows a table of benchmarked MNIST image convolution performance metrics for an all-memristor bi-polarity convolution circuit containing a (50 ⁇ 10) passive memristor synapse crossbar array in accordance with the present disclosure.
- MAC multiply-accumulate
- 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.
- VMM vector-matrix multiplication
- 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 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.
- VMM vector-matrix multiplication
- Embodiments of this disclosure utilize active and passive memristor devices and circuits described for example in Reference [3] U.S. patent application Ser. No. 15/976,687, Reference [5] U.S. patent application Ser. No. 16/005,529, and Reference [6] U.S. patent application Ser. No. 15/879,363, which are incorporated herein by reference.
- 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.
- each 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 .
- 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.
- 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. 1B 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. 1B , but which includes ten (10) convolutional kernels operating in parallel.
- out 1 66 is the convolution of the 25 inputs 50 in 1 to in 25 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 out 10 68 is the convolution of the 25 inputs 50 in 1 to in 25 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 .
- FIG. 1E shows a circuit schematic of an excitatory memristor neuron
- FIG. 1F shows a circuit schematic of an inhibitory memristor neuron.
- X 1 and X 2 represent vanadium oxide (VO 2 ) active memristor devices, and Re 1 and Re 2 are the parasitic series resistance (150 ⁇ ) from the electrode wires to the VO 2 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. 1E shows a schematic of an excitatory memristor neuron circuit 20 , which has first (X 1 ) and second (X 2 ) negative differential resistance (NDR) devices that are biased with opposite polarities ( ⁇ Vdc; +Vdc).
- the first and second NDR devices (X 1 , X 2 ) are coupled to first and second grounded capacitors (C 1 , C 2 ), respectively.
- the first NDR device (X 1 ) has a first node 30 connected to an input node 32 of the neuron circuit 20 by a first load resistor RL 1 and a second node 34 connected to a first voltage source 36 ; the first node ( 30 ) of the first NDR device (X 1 ) is coupled to the first grounded capacitor (C 1 ).
- the second NDR device (X 2 ) has a first node 38 connected to the first node 30 of the first NDR device X 1 by a second load resistor RL 2 and a second node 40 connected to a second voltage source 42 ; the first node 38 of the second NDR device X 2 is coupled to the second grounded capacitor C 2 ; the first node 38 of the second NDR device X 2 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 X 1 and X 2 are well matched in their switching threshold voltages. If the switching threshold voltages of X 1 and X 2 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.
- the first and second NDR devices X 1 , X 2 can each comprise, between their first (respectively 30 , 38 ) and second (respectively 36 , 40 ) nodes, a resistance (respectively Re 1 , Re 2 ) in series with an NDR material.
- the NDR material of the first and second NDR devices X 1 , X 2 can be a layer or thin film of vanadium dioxide.
- Re 1 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 X 1 , and of a second metal nanowire electrode arranged between second node ( 34 ) and a second side of the NDR material of X 1 .
- Re 2 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 X 2 , and of a second metal nanowire electrode arranged between second node ( 40 ) and a second side of the NDR material of X 2 .
- a vanadium dioxide layer can be generated by electroforming from a vanadium pentoxide layer, as detailed in U.S. patent application Ser. No. 15/417,049, (filed Jan. 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.
- 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 (X 1 , X 2 ) 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.
- the NDR material of the first and second NDR devices X 1 , X 2 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
- 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.
- a NDR device having a vanadium dioxide channel with a 10-nm radius located for example in a thin film of vanadium pentoxide
- 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 VO 2 NDR device can operate as low as 1.2 fJ, but the energy consumption of the complete neuron circuit (X 1 , X 2 , C 1 , C 2 , RL 1 , RL 2 ) 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).
- 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. 1F shows a schematic of an inhibitory memristor neuron circuit 26 , which has first (X 2 ) and second (X 1 ) NDR devices that are biased with opposite polarities (+Vdc; ⁇ Vdc).
- the first and second NDR devices (X 2 , X 1 ) are coupled to first and second grounded capacitors (C 2 , C 1 ), respectively.
- the first NDR device (X 2 ) has a first node 38 connected to an input node 32 of the neuron circuit 26 by a first load resistor RL 1 and a second node 40 connected to a first voltage source 42 .
- the first node 38 of the first NDR device X 2 is coupled to the first grounded capacitor C 2 .
- the second NDR device (X 1 ) has a first node 30 connected to the first node 38 of the first NDR device X 2 by a second load resistor RL 2 and a second node 34 connected to a second voltage source 36 .
- the first node 30 of the second NDR device X 1 is coupled to the second grounded capacitor C 21 .
- the first node 30 of the second NDR device X 1 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 X 2 , X 1 can each comprise, between their first (respectively 38 , 30 ) and second (respectively 40 , 34 ) nodes, a resistance (respectively Re 1 , Re 2 ) in series with an NDR material.
- the NDR material of the first and second NDR devices X 2 , X 1 can be a layer or thin film of vanadium dioxide, for example identical to the one detailed previously for neuron circuit 20 .
- Re 1 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 X 2 , and of a second metal nanowire electrode arranged between second node ( 40 ) and a second side of the NDR material of X 2 .
- Re 2 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 X 1 , and of a second metal nanowire electrode arranged between second node ( 34 ) and a second side of the NDR material of X 1 .
- the vanadium dioxide layer can be generated by electroforming from a vanadium pentoxide layer, as detailed in U.S. patent application Ser. No. 15/417,049,(filed Jan. 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.
- 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 (X 2 , X 1 ) 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.
- 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 FIG. 1B (of Reference [7] U.S. patent application Ser. No. 15/976,687, filed May 10, 2018).
- a Mott IMT physics-based SPICE model of VO2 NDR devices was used to simulate the excitatory and inhibitory neuron circuits as shown in FIGS. 1E and 1F , respectively.
- the VO2 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 VO2 NDR devices (see U.S. patent application Ser. No. 15/417,049, filed Jan. 26, 2017, Reference [8], above) or electroform-free VO 2 NDR devices.
- excitatory and inhibitory neuron circuits 20 , 26 of FIGS. 1E and 1F 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 (RL 1 in 20 or RL 2 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. 1E
- each inhibitory memristor neuron circuit 54 may be implemented with the inhibitory neuron circuit of FIG. 1F .
- the excitatory output memristor neuron 57 may also be implemented with the excitatory neuron circuit of FIG. 1E .
- 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.
- each passive memristor synapse circuit may be a 2 terminal resistor whose resistance value is a positive value.
- FIG. 1D shows typical simulated spike waveforms at the input 70 and the output 72 of an inhibitory memristor neuron circuit 54 .
- FIG. 1D 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.
- CNN convolutional neural network
- the conversion algorithm is shown in FIG. 2 and described below.
- 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 M ⁇ ), 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 M ⁇
- 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
- 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 M ⁇ ), 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 M ⁇
- 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.
- FIG. 4 shows the customized MATLAB CNN image classification model used for benchmarking. It is designed to classify 28 ⁇ 28 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 (5 ⁇ 5) convolutional kernels (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
- 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).
- the convolutional layer 92 was implemented by an all-memristor convolution circuit, as shown in FIG. 1B , 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 28 ⁇ 28 pixel MNIST image of a handwritten digit (digit “2”).
- the convolutional layer 92 having ten 5 ⁇ 5 bi-polarity convolutional kernels is simulated (in Cadence Verilog AMS) by a memristor neurosynaptic convolution circuit having 50 ⁇ 10 passive memristor synapses 55 and 56 , as shown in FIG. 1B .
- the simulated memristor convolution outputs are ten 24 ⁇ 24 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”.
- 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 10 ⁇ improvement over the prior art CMOS neuromorphic processor (the IBM TrueNorth, at 6.7 nJ/b).
- the simulated memristor convolution throughput for a (50 ⁇ 10) passive memristor crossbar array shown in FIG. 1B for bi-polarity (dual-quadrant) convolution is about 7.5 Mb/s.
- the prior art TrueNorth chip uses 4042 out of the 4096 neurosynaptic cores in its benchmarking.
- the Si prior art 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).
- J/OP architecture-independent energy use
- 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.
- 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.4 pJ/spike VO 2 neuron energy efficiency, which is not the lower bound of the technology.
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 Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (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
Description
- This application is related to and claims priority from U.S. Provisional Application Ser. No. 62/844,611, filed May 7, 2019, and U.S.
Provisional Application 62/860,915, filed Jun. 13, 2019 (632128), which are hereby incorporated by reference. This application is related to Non-Provisional Application (NP 632152 in prep), which is incorporated by reference herein as though set forth in full. - This invention was made under U.S. Government contract FA8650-18-C-7869. The U.S. Government has certain rights in this invention.
- This disclosure relates to neural networks.
- 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.
- A circuit architecture that can be beneficial for in-memory computing is a neuromorphic spiking neural network (SNN) that combines three major benefits.
- 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.
- 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.
- Reference [1] U.S.
Provisional Application 62/860,915, filed Jun. 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.7 nJ per input bit) than state-of-the-art (SOA) CMOS neuromorphic processor (IBM TrueNorth). - 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.
- 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.
- The following references are incorporated herein as though set forth in full.
- [1] U.S.
Provisional Application 62/860,915, filed Jun. 13, 2019 (632128) (NP 632152 in prep) - [2] Li, C., Hu, M., Li, Y., Jiang, H., Ge, N., Montgomery, E., Zhang, J., Song, W., Dávila, N., Graves, C. E. and Li, Z., 2018. Analogue signal and image processing with large memristor crossbars. Nature Electronics, 1(1), p. 52.
- [3] U.S. patent application Ser. No. 15/976,687, filed May 10, 2018.
- [4] U.S. patent application Ser. No. 15/417,049, filed Jan. 26, 2017.
- [5] U.S. patent application Ser. No. 16/005,529, filed ______.
- [6] U.S. patent application Ser. No. 15/879,363 filed Jan. 24, 2018.
- [7] M. D. Pickett, G. Medeiros-Ribeiro and R. S. Williams, A scalable neuristor built with Mott memristors. Nature Mater. 12, 114 (2013).
- [8] M. D. Pickett, Logic circuits using Neuristors. U.S. Pat. No. 8,669,785 B2 (2014).
- [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).
- 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.
- 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.
- 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)×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)×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)×1.2e−6)/max(i, j).
- 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.
- 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.
-
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. 1B shows a diagram of a bi-polarity all-memristor convolutional circuit andFIG. 1C shows a diagram of a bi-polarity all-memristor convolutional circuit having 10 convolutional kernels as shown inFIG. 1A operating in parallel,FIG. 1D shows simulated spike waveforms at input and output of one inhibitory memristor neuron and one excitatory memristor neuron,FIG. 1E shows a circuit schematic of an excitatory memristor neuron, andFIG. 1F shows a circuit schematic of an inhibitory memristor neuron in accordance with the present disclosure. -
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. -
FIG. 3A shows calculated resistance values for the 250 excitatory memristor synapses, andFIG. 3B shows the calculated resistance values for the 250 inhibitory memristor synapses of the bi-polarity all-memristor convolutional circuit ofFIG. 1B , using the algorithm shown inFIG. 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 inFIG. 1B in accordance with the present disclosure. -
FIG. 5 shows an example of MNIST image classification benchmarked using the MATLAB CNN model inFIG. 4 , wherein the convolutional layer operations are simulated with an all-memristor convolutional circuit, as shown inFIG. 1B 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. -
FIG. 6 shows a table of benchmarked MNIST image convolution performance metrics for an all-memristor bi-polarity convolution circuit containing a (50×10) passive memristor synapse crossbar array in accordance with the present disclosure. - 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.
- 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.
- 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.
- 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.
- 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.
- Embodiments of this disclosure utilize active and passive memristor devices and circuits described for example in Reference [3] U.S. patent application Ser. No. 15/976,687, Reference [5] U.S. patent application Ser. No. 16/005,529, and Reference [6] U.S. patent application Ser. No. 15/879,363, which are incorporated herein by reference.
-
FIG. 1A shows a circuit architecture of a bi-polarity (“dual-quadrant”) all-memristorconvolutional 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 ofinhibitory input neurons 54 andsynapses 56, as shown inFIG. 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 excitatorymemristor neuron circuits memristor neuron circuits 54 and one excitatory outputmemristor neuron circuit 57. The additionalinhibitory neuron circuits 54, which are connected to synapsecircuits 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. - As shown in
FIG. 1A , the output of each respective excitatorymemristor neuron circuit 53 is an input to a connectedrespective synapse circuit 55, and the output of each respective inhibitorymemristor neuron circuit 54 is an input to a connectedrespective synapse circuit 56. The output of eachsynapse circuit output memristor neuron 57. Theoutput 58 of the bi-polarity all-memristor convolutional kernel 10 is the convolution of the inputs 50 (for the example shown inFIG. 1A there are 25 inputs 50) with the effective weights provided by the excitatorymemristor neuron circuits 53 connected to synapsecircuits 55, and the effective weights provided by the inhibitorymemristor neuron circuits 54 connected to synapsecircuits 56. Eachrespective input 50 is connected to arespective input 51 to an excitatorymemristor neuron circuit 53 and to arespective input 52 to an inhibitorymemristor neuron circuit 54. - The effective weights of the excitatory
memristor neuron circuits 53 and theconnected synapse circuits 55 may be zero or positive. The effective weights of the inhibitorymemristor neuron circuits 54 and theconnected synapse circuits 56 may be zero or negative, but can be configured to be only negative. -
FIG. 1B shows a simplified diagram of a bi-polarity all-memristor convolutional circuit in accordance withFIG. 1A , where the inputs to the excitatorymemristor neuron circuits 53 and to the inhibitorymemristor neuron circuits 54 are from animage patch 100. -
FIG. 1C shows a simplified physical diagram of a bi-polarity all-memristorconvolutional circuit 60, similar toFIG. 1B , but which includes ten (10) convolutional kernels operating in parallel. For example, out1 66 is the convolution of the 25inputs 50 in1 to in25 connected to the rows of the two dimensional matrix with the effective weights of the excitatorymemristor neuron circuits 53 connected to synapsecircuits 55 and the effective weights of the inhibitorymemristor neuron circuits 54 andconnected synapse circuits 56 in thefirst column 62 of the matrix, as shown inFIG. 1C . The out10 68 is the convolution of the 25inputs 50 in1 to in25 connected to the rows of the two dimensional matrix with the effective weights of the excitatorymemristor neuron circuits 53 connected to synapsecircuits 55 and the effective weights of the inhibitorymemristor neuron circuits 54 andconnected synapse circuits 56 incolumn 64 of the matrix, as shown inFIG. 1C . -
FIG. 1E shows a circuit schematic of an excitatory memristor neuron, andFIG. 1F shows a circuit schematic of an inhibitory memristor neuron. - In
FIGS. 1E and 1F , X1 and X2 represent vanadium oxide (VO2) active memristor devices, and Re1 and Re2 are the parasitic series resistance (150Ω) 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. - The SPICE model parameters for X1 and X2 are: deltaT=43, rch=56e-9, Lchan=100e-9, rhoIns=1e-2, rhoMet=3e-6, kappa=3.5, cp=3.3e6, deltahtr=2.35e8. More details of the excitatory and inhibitory VO2 memristor neuron operations are described in Reference [7] U.S. patent application Ser. No. 15/976,687, filed May 10, 2018, which is incorporated herein by reference.
-
FIG. 1E shows a schematic of an excitatorymemristor neuron circuit 20, which has first (X1) and second (X2) negative differential resistance (NDR) devices that are biased with opposite polarities (−Vdc; +Vdc). The first and second NDR devices (X1, X2) are coupled to first and second grounded capacitors (C1, C2), respectively. - The first NDR device (X1) has a
first node 30 connected to aninput node 32 of theneuron circuit 20 by a first load resistor RL1 and asecond node 34 connected to afirst voltage source 36; the first node (30) of the first NDR device (X1) is coupled to the first grounded capacitor (C1). The second NDR device (X2) has afirst node 38 connected to thefirst node 30 of the first NDR device X1 by a second load resistor RL2 and asecond node 40 connected to asecond voltage source 42; thefirst node 38 of the second NDR device X2 is coupled to the second grounded capacitor C2; thefirst node 38 of the second NDR device X2 forming anoutput node 44 of theneuron circuit 20. - The
first voltage source 36 is a negative voltage source and thesecond voltage source 42 is a positive voltage source. The voltages −Vdc, +Vdc provided byvoltages sources - The first and second NDR devices X1, X2 can each comprise, between their first (respectively 30, 38) and second (respectively 36, 40) nodes, a resistance (respectively Re1, Re2) in series with an NDR material. The NDR material of the first and second NDR devices X1, X2 can be a layer or thin film of vanadium dioxide. Re1 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 X1, and of a second metal nanowire electrode arranged between second node (34) and a second side of the NDR material of X1. 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.
- A vanadium dioxide layer can be generated by electroforming from a vanadium pentoxide layer, as detailed in U.S. patent application Ser. No. 15/417,049, (filed Jan. 26, 2017, Reference [8], above) which is incorporated by reference to this presentation.
- 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.
- The first and second voltage sources (36, 42) are arranged to bring the first and second NDR devices (X1, 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.
- The NDR material of the first and second NDR devices X1, 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 NbO2 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.2 fJ, but the energy consumption of the complete neuron circuit (X1, X2, C1, 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).
- 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 inFIG. 1A ;input node 32 being arranged to receive an input waveform through an input impedance Zin; andoutput node 44 being arranged to provide an output waveform through an output impedance Zout. -
FIG. 1F shows a schematic of an inhibitorymemristor neuron circuit 26, which has first (X2) and second (X1) NDR devices that are biased with opposite polarities (+Vdc; −Vdc). The first and second NDR devices (X2, X1) are coupled to first and second grounded capacitors (C2, C1), respectively. - The first NDR device (X2) has a
first node 38 connected to aninput node 32 of theneuron circuit 26 by a first load resistor RL1 and asecond node 40 connected to afirst voltage source 42. Thefirst node 38 of the first NDR device X2 is coupled to the first grounded capacitor C2. The second NDR device (X1) has afirst node 30 connected to thefirst node 38 of the first NDR device X2 by a second load resistor RL2 and asecond node 34 connected to asecond voltage source 36. Thefirst node 30 of the second NDR device X1 is coupled to the second grounded capacitor C21. Thefirst node 30 of the second NDR device X1 is anoutput node 44 of theneuron circuit 26. - The
first voltage source 42 ofneuron circuit 26 is a positive voltage source and thesecond voltage source 36 is a negative voltage source. The voltages −Vdc, +Vdc provided byvoltages sources - The first and second NDR devices X2, X1 can each comprise, between their first (respectively 38, 30) and second (respectively 40, 34) nodes, a resistance (respectively Re1, Re2) in series with an NDR material. The NDR material of the first and second NDR devices X2, X1 can be a layer or thin film of vanadium dioxide, for example identical to the one detailed previously for
neuron circuit 20. - Re1 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 X1, and of a second metal nanowire electrode arranged between second node (34) and a second side of the NDR material of X1.
- The vanadium dioxide layer can be generated by electroforming from a vanadium pentoxide layer, as detailed in U.S. patent application Ser. No. 15/417,049,(filed Jan. 26, 2017, Reference [8], above) which is incorporated by reference to this presentation.
- 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.
- The first and second voltage sources (42, 36) are arranged to bring the first and second NDR devices (X2, X1) 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.
- One or more of
neuron circuits FIG. 1A , and also, for example, as illustrated in FIG. 1B (of Reference [7] U.S. patent application Ser. No. 15/976,687, filed May 10, 2018). - A Mott IMT physics-based SPICE model of VO2 NDR devices was used to simulate the excitatory and inhibitory neuron circuits as shown in
FIGS. 1E and 1F , respectively. In the SPICE model, the VO2 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 VO2 NDR devices (see U.S. patent application Ser. No. 15/417,049, filed Jan. 26, 2017, Reference [8], above) or electroform-free VO2 NDR devices. - It is noted that the excitatory and
inhibitory neuron circuits FIGS. 1E and 1F are both tonic neuron circuits. According to embodiments of this presentation, and as detailed hereafter,tonic neuron circuits - Each excitatory
memristor neuron circuit 53, as shown inFIG. 1A may be implemented with the excitatory neuron circuit ofFIG. 1E , and each inhibitorymemristor neuron circuit 54 may be implemented with the inhibitory neuron circuit ofFIG. 1F . The excitatoryoutput memristor neuron 57 may also be implemented with the excitatory neuron circuit ofFIG. 1E . - The
synapse circuits - In the present disclosure, each passive memristor synapse circuit may be a 2 terminal resistor whose resistance value is a positive value.
-
FIG. 1D shows typical simulated spike waveforms at theinput 70 and theoutput 72 of an inhibitorymemristor neuron circuit 54.FIG. 1D also shows typical simulated spike waveforms at theinput 74 and theoutput 76 of an excitatorymemristor neuron circuit 53. A notable feature is that an excitatorymemristor neuron circuit 53 does not fire if theinput 74 is subthreshold or below threshold, such as a negative input, and an inhibitorymemristor neuron circuit 54 does not fire if theinput 70 is suprathreshold or above the threshold, such as a zero or positive input. - 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. - The conversion algorithm is shown in
FIG. 2 and described below. - 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). - 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)×1.2e−6)/max(w(i, j)). - 3. In
step 84 determine whether g(i, j) is positive or negative. - 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 MΩ), 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 instep 82. - 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 MΩ), 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 instep 82. -
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 ofFIG. 1C , converted using the algorithm inFIG. 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. -
FIG. 4 shows the customized MATLAB CNN image classification model used for benchmarking. It is designed to classify 28×28 pixel grayscale (256 levels) MNIST handwrittendigit 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 oneconvolutional layer 92 having 10 (5×5) convolutional kernels (filters) for feature extraction, two nonlinear (“NL”) layers 96 and 98, and one fully-connected neural network (NN)layer 95, whose output islayer 4,reference number 97. The firstnonlinear layer 96 after convolution is based on a rectified linear unit (ReLU) transformation. The fully connectedlayer 95 performs multiplications and sums. The finalnonlinear 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, theconvolutional layer 92 was implemented by an all-memristor convolution circuit, as shown inFIG. 1B , 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 theconvolution layer 92, 5,760 operations forLayer 2 the ReLUnonlinear layer 96, and 57,600 MACs forLayer 4 the fully connectedlayer 95. It is clear that theconvolutional 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 inFIG. 4 , for image classification benchmarking. In this example, theinput 90 is a 28×28 pixel MNIST image of a handwritten digit (digit “2”). Theconvolutional layer 92 having ten 5×5 bi-polarity convolutional kernels is simulated (in Cadence Verilog AMS) by a memristor neurosynaptic convolution circuit having 50×10 passivememristor synapses FIG. 1B . The simulated memristor convolution outputs are ten 24×24pixel output images 94, and two of them are shown inFIG. 5 . Theimages 94 are then sent back to the MATLAB model to calculate the classification outputs. The nonlinearclassifier layer Layer 4 98 has ten outputs, one for eachdigit 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. 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 10× improvement over the prior art CMOS neuromorphic processor (the IBM TrueNorth, at 6.7 nJ/b). - The simulated memristor convolution throughput for a (50×10) passive memristor crossbar array shown in
FIG. 1B 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.7 Mb/s. This indicates that the circuit of the present invention can rival the throughput of the prior art using merely four copies of such (50×10) memristor crossbar arrays, with a total synapse count of only 4×50×10=2000. The prior art TrueNorth chip uses 4042 out of the 4096 neurosynaptic cores in its benchmarking. Each TrueNorth neurosynaptic core contains (256×256)=65536 synapses, bringing the total amount of synapses in-use to ˜265 million. This indicates a synapse count ratio of 1.32×105 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). - 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.4 pJ/spike VO2 neuron energy efficiency, which is not the lower bound of the technology.
- 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.
- 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 . . . .”
Claims (21)
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/808,227 US11694070B2 (en) | 2019-05-07 | 2020-03-03 | Bipolar all-memristor circuit for in-memory computing |
EP20801140.3A EP3966746A4 (en) | 2019-05-07 | 2020-03-06 | Bipolar all-memristor circuit for in-memory computing |
CN202080032914.XA CN113924581A (en) | 2019-05-07 | 2020-03-06 | Transistor-free full memristor neuromorphic circuit for in-memory computation |
CN202080032752.XA CN113811896B (en) | 2019-05-07 | 2020-03-06 | Bipolar full memristor circuit for in-memory computation |
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 |
EP20801139.5A EP3966745A4 (en) | 2019-05-07 | 2020-03-06 | Transistorless all-memristor neuromorphic circuits for in-memory computing |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962844611P | 2019-05-07 | 2019-05-07 | |
US201962860915P | 2019-06-13 | 2019-06-13 | |
US16/808,227 US11694070B2 (en) | 2019-05-07 | 2020-03-03 | Bipolar all-memristor circuit for in-memory computing |
Publications (2)
Publication Number | Publication Date |
---|---|
US20200356344A1 true US20200356344A1 (en) | 2020-11-12 |
US11694070B2 US11694070B2 (en) | 2023-07-04 |
Family
ID=73046773
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/808,227 Active 2041-03-12 US11694070B2 (en) | 2019-05-07 | 2020-03-03 | Bipolar all-memristor circuit for in-memory computing |
US16/808,222 Abandoned US20200356847A1 (en) | 2019-05-07 | 2020-03-03 | Transistorless all-memristor neuromorphic circuits for in-memory computing |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/808,222 Abandoned US20200356847A1 (en) | 2019-05-07 | 2020-03-03 | Transistorless all-memristor neuromorphic circuits for in-memory computing |
Country Status (4)
Country | Link |
---|---|
US (2) | US11694070B2 (en) |
EP (2) | EP3966746A4 (en) |
CN (2) | CN113924581A (en) |
WO (2) | WO2020226737A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112346704A (en) * | 2020-11-23 | 2021-02-09 | 华中科技大学 | Full-streamline type multiply-add unit array circuit for convolutional neural network |
WO2022222498A1 (en) * | 2021-04-20 | 2022-10-27 | 清华大学 | Memristor array-based data processing method, and electronic device |
Families Citing this family (9)
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 |
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 |
Citations (1)
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 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101489416B1 (en) * | 2008-03-14 | 2015-02-03 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 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 |
US11501130B2 (en) | 2016-09-09 | 2022-11-15 | SK Hynix Inc. | Neural network hardware accelerator architectures and operating method thereof |
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 |
US10541274B2 (en) | 2017-01-26 | 2020-01-21 | Hrl Laboratories, Llc | 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 CN CN202080032914.XA patent/CN113924581A/en active Pending
- 2020-03-06 WO PCT/US2020/021530 patent/WO2020226737A1/en unknown
- 2020-03-06 WO PCT/US2020/021561 patent/WO2020226740A1/en unknown
- 2020-03-06 CN CN202080032752.XA patent/CN113811896B/en active Active
- 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 (1)
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 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112346704A (en) * | 2020-11-23 | 2021-02-09 | 华中科技大学 | Full-streamline type multiply-add unit array circuit for convolutional neural network |
WO2022222498A1 (en) * | 2021-04-20 | 2022-10-27 | 清华大学 | Memristor array-based data processing method, and electronic device |
Also Published As
Publication number | Publication date |
---|---|
EP3966746A4 (en) | 2023-08-02 |
EP3966746A1 (en) | 2022-03-16 |
WO2020226737A1 (en) | 2020-11-12 |
US20200356847A1 (en) | 2020-11-12 |
EP3966745A1 (en) | 2022-03-16 |
WO2020226740A1 (en) | 2020-11-12 |
CN113924581A (en) | 2022-01-11 |
EP3966745A4 (en) | 2022-12-14 |
US11694070B2 (en) | 2023-07-04 |
CN113811896B (en) | 2022-12-09 |
WO2020226740A9 (en) | 2021-12-30 |
CN113811896A (en) | 2021-12-17 |
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 | |
Chen et al. | Technology-design co-optimization of resistive cross-point array for accelerating learning algorithms on chip | |
Yakopcic et al. | Memristor crossbar deep network implementation based on a convolutional neural network | |
US9646243B1 (en) | Convolutional neural networks using resistive processing unit array | |
Srinivasan et al. | Restocnet: Residual stochastic binary convolutional spiking neural network for memory-efficient neuromorphic computing | |
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 | |
Tang et al. | Spiking neural network with rram: Can we use it for real-world application? | |
US11087204B2 (en) | Resistive processing unit with multiple weight readers | |
He et al. | A discrete memristive neural network and its application for character recognition | |
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 | |
Woods et al. | Fast and accurate sparse coding of visual stimuli with a simple, ultralow-energy spiking architecture | |
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 | |
Siegel et al. | System model of neuromorphic sequence learning on a memristive crossbar array | |
Schmid | Neuromorphic microelectronics from devices to hardware systems and applications | |
Nowshin | Spiking neural network with memristive based computing-in-memory circuits and architecture | |
Huang et al. | Three-dimensional memristor-based crossbar architecture for capsule network implementation | |
Kendall et al. | Deep learning in memristive nanowire networks | |
Lin et al. | Resistive memory-based zero-shot liquid state machine for multimodal event data learning | |
Zidan et al. | Vector multiplications using memristive devices and applications thereof | |
Bennett et al. | Plasticity-enhanced domain-wall MTJ neural networks for energy-efficient online learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: HRL LABORATORIES, LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CRUZ-ALBRECHT, JOSE;YI, WEI;REEL/FRAME:054490/0061 Effective date: 20200217 |
|
AS | Assignment |
Owner name: HRL LABORATORIES, LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ALBRECHT, JOSE CRUZ-;YI, WEI;REEL/FRAME:055610/0161 Effective date: 20200217 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |