WO2023177269A1 - Neural network based method and device - Google Patents
Neural network based method and device Download PDFInfo
- Publication number
- WO2023177269A1 WO2023177269A1 PCT/KR2023/003616 KR2023003616W WO2023177269A1 WO 2023177269 A1 WO2023177269 A1 WO 2023177269A1 KR 2023003616 W KR2023003616 W KR 2023003616W WO 2023177269 A1 WO2023177269 A1 WO 2023177269A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- signal
- circuit
- output
- neural network
- column
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 104
- 238000000034 method Methods 0.000 title abstract description 18
- 230000015654 memory Effects 0.000 claims abstract description 397
- 230000000946 synaptic effect Effects 0.000 claims abstract description 144
- 210000004027 cell Anatomy 0.000 claims description 168
- 238000010304 firing Methods 0.000 claims description 46
- 210000002569 neuron Anatomy 0.000 claims description 41
- 239000003990 capacitor Substances 0.000 claims description 25
- 230000010354 integration Effects 0.000 claims description 11
- 230000007423 decrease Effects 0.000 claims description 6
- 238000011017 operating method Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 230000004913 activation Effects 0.000 description 15
- 230000004044 response Effects 0.000 description 14
- 230000036749 excitatory postsynaptic potential Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000036734 inhibitory postsynaptic potential Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000001242 postsynaptic effect Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000003518 presynaptic effect Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012421 spiking Methods 0.000 description 3
- 230000036982 action potential Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241001025261 Neoraja caerulea Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 210000003050 axon Anatomy 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 210000001787 dendrite Anatomy 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- 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/4814—Non-logic devices, e.g. operational amplifiers
Definitions
- the output circuit may be further configured to set a threshold time corresponding to the threshold, based on a signal generated based on a threshold memory cell and a signal generated based on the additional reference memory cell.
- the readout circuit may include a current mirror may be configured to copy the column signal for each bit of the synaptic memory cell and the reference memory cell to a current-multiple corresponding to the bit.
- a processor includes a memory array that includes rows and columns of resistive memory cells further include respective resistors, wherein each resistive memory cell of the memory array has a resistance that is programmable to vary between a first resistance and a second resistance, wherein a column of the memory array provides an integrated column current based on input signals supplied to respective resistive memory elements of the column and based on the resistances of the respective memory elements of the column, and a reference array of resistive memory cells further includes respective resistors, wherein each resistive memory cell of the reference column has a resistance that is programmable to vary between the first resistance and the second resistance, wherein the reference memory array provides an integrated reference current based on the input signals being supplied to resistive memory elements of the reference array and based on the resistances of the respective memory elements of the reference array.
- FIG. 1 illustrates an example of a neural network circuit, according to one or more embodiments.
- FIG. 2 illustrates an example of a synaptic memory cell and a readout circuit, according to one or more embodiments.
- FIG. 3 illustrates an example of a leaky integrate-and-fire (LIF) circuit of an output circuit, according to one or more embodiments.
- LIF leaky integrate-and-fire
- FIG. 5b illustrates an example of a net signal generated from a synaptic memory column and a reference column, according to one or more embodiments.
- FIG. 5c illustrates an example of a firing comparison using net signals generated from a synaptic memory column, a reference column, a threshold generation column, and an additional reference column, according to one or more embodiments.
- FIG. 7 illustrates an example of a threshold time generation circuit of an output circuit, according to one or more embodiments.
- FIG. 10 illustrates an example of an operating method of a neural network circuit, according to one or more embodiments.
- first,” “second,” and “third”, or A, B, (a), (b), and the like may be used herein to describe various members, components, regions, layers, or sections, these members, components, regions, layers, or sections are not to be limited by these terms.
- Each of these terminologies is not used to define an essence, order, or sequence of corresponding members, components, regions, layers, or sections, for example, but used merely to distinguish the corresponding members, components, regions, layers, or sections from other members, components, regions, layers, or sections.
- a first member, component, region, layer, or section referred to in the examples described herein may also be referred to as a second member, component, region, layer, or section without departing from the teachings of the examples.
- the input line may be considered as being active or activated, while if a zero activation value, or no signal, is applied to a line, that line may be considered inactive or inactivated.
- the output line may be connected to a post-synaptic circuit and may transmit, to the post-synaptic circuit, a signal corresponding to a MAC value computed between input signals and respective synaptic weights of the synaptic memory elements connected to the output line.
- the post-synaptic circuit may fire or transmit, to a next node (e.g., a next synaptic circuit), the output signal 159 corresponding to the MAC value between the input signals and the synaptic weights (the column of cells currently on the output line).
- the post-synaptic circuit may be represented as a dendrites circuit and may be implemented as an LIF circuit, an example of which is described below.
- the input signal may be a signal received through an input line.
- an input voltage may be applied to the input line.
- the neural network circuit 100 may inactivate the input line. In other words, the neural network circuit 100 may not apply a voltage to the input line or may apply a voltage of 0 volts (V).
- an input voltage applied for each bit represented by an input signal is not limited to the foregoing example. In an example illustrated in FIG.
- a resistance ratio of the second resistance value to the first resistance value of the MRAM may be 2, for example.
- a resistance ratio of a resistive memory element is not limited to the foregoing example and may vary depending on the type of the resistive memory element, design parameters, etc.
- the neural network circuit 100 may generate a net signal by using the reference memory array 120 to be described below to distinguish between signals output based on the first resistance value and the second resistance value of the resistive memory element.
- the reference memory cells 121 may be disposed along the reference line and may each include a reference memory element having a programmable resistance value that may be programmed based on an application. In this case, having a 'programmable' resistance value may mean that a resistance value is variously changeable.
- Each reference memory cell 121 may include a number of reference memory elements corresponding to the number of bits for expressing a synaptic weight. For a given reference cell, the reference memory elements thereof (corresponding to the number of bits of a synaptic weight) may be disposed along the same input line corresponding to the given reference cell.
- a given reference memory cell 121 may contribute to a reference signal of the reference memory array 120 based on a reference memory element of the given memory cell and based on the input signal.
- the reference signal may be a signal obtained by integrating signals output from each of the reference memory cells 121 disposed along the reference line in the reference memory array 120.
- the reference line may include the same number of reference bit lines as the number of bits in each of the reference cells.
- the reference signal may be a signal corresponding to a MAC value computed between input values of input signals and bit values corresponding to resistive memory elements of reference subcells connected to the same reference bit line in the reference memory array 120 (as described further with reference to FIG. 2).
- a reference signal of a reference bit line may be a signal corresponding to a MAC value of bit digits represented by the reference bit lines in a reference line.
- the neural network circuit 100 while performing a synaptic operation (e.g., generating J 0/1 output signals in response to K 0/1 input signals from K previous nodes), may integrate all signals (e.g., current signals) generated for each column when an input (of "1") is provided to "K" word lines for accessing each synaptic memory element.
- Each output line may include respective bit lines respectively corresponding to bit digits, and a column integrated signal I Cells output from the given output line may be a signal obtained by integrating component column signals that are obtained by applying bit weights to column signals of respective individual bit lines.
- Such a column integrated signal I Cells may be expressed as in Equation 1.
- a reference integrated signal I Ref of a reference array (e.g., reference array 120) may be obtained in a similar manner, as represented by Equation 2.
- Equation 2 represents a signal obtained by, for each among resistive memory elements included in the reference memory array 120, applying a bit weight for each bit digit to a current signal flowing in a resistive memory element to which an input signal of "1" (activated) is applied.
- a reference integrated signal I REF may be a signal that is integrated by applying a bit weight to a reference signal for each bit digit.
- X may be determined, based on an application, to be any integer less than or equal to N and greater than or equal to 0. When each reference memory cell 121 is a 1-bit cell, X may have a value of 0 or N.
- N denotes a value determined based on the subcells that are connected to whichever k word lines are activated.
- Variable k denotes the number of word lines (e.g., input lines) that are activated (e.g., "1") out of the K word/input lines, as described above.
- Variable "a" may be the number of subcells included in each memory cell, i.e., the number of bits of a synaptic weight.
- N may be a sum of powers of 2 using, as an exponent, a bit digit represented by each subcell included in the synaptic memory cells 111 connected to the activated word line among synaptic memory cells 111 connected to an output line.
- M which is an integer less than or equal to N, may be a value determined based on (and reflecting) a number of subcells in the P state (e.g., the first resistance value) among the synaptic memory cells 111 connected to the k activated word lines.
- m ij may be 1 when an ith synaptic memory subcell of an activated jth word line has the first resistance value and may be 0 when the ith synaptic memory subcell of the jth word line has the second resistance value.
- a net signal I net,column i.e., a net signal of an integrated column signal I Cells and an integrated reference signal I REF , may be generated as discussed next with reference to Equation 5.
- output values may be distinguished from one another through the net signal. Accordingly, there may be fewer design restrictions for sensing and summing a current output from a memory array such as a crossbar MRAM.
- FIG. 2 illustrates an example of a synaptic memory cell and a readout circuit, according to one or more embodiments.
- An output circuit of a neural network circuit may include an LIF circuit 260 and a synaptic readout circuit 251 connected to a synaptic memory array 210, which may be, for example, the synaptic memory array 110 of FIG. 1.
- the output circuit may also include a reference readout circuit 152 connected to a reference memory array.
- the synaptic readout circuit 251 is described with reference to FIG. 2, and the reference readout circuit 152 may be configured similar to how the synaptic readout circuit 251 is configured.
- resistive memory elements of synaptic memory cells 211 connected to the same output line may be connected to each other in parallel.
- the synaptic memory cells 211 may be implemented as the synaptic memory cells 111 of FIG. 1, for example.
- resistive memory elements connected to the same bit line among the synaptic memory cells 211 connected to the same output line may be connected to each other in parallel. Accordingly, current signals output from the resistive memory elements connected to the same bit line may be integrated along a corresponding output line.
- a resistance of a resistive memory element is denoted by R DATA .
- FIG. 3 illustrates an example of an LIF circuit of an output circuit, according to one or more embodiments.
- the leakage sub-circuit 361 may receive a column integrated signal and a reference integrated signal described above with reference to FIG. 2.
- the column integrated signal and the reference integrated signal are modeled and illustrated as current sources I Cells and I REF , respectively.
- the column integrated signal and the reference integrated signal may actually be currents supplied, respectively, by the synaptic readout circuit 251 and the similarly configured reference readout circuit 152 illustrated in FIG. 2.
- the leakage sub-circuit 361 may include a capacitor that provides leakage.
- the output signal 159 may allow a current corresponding to the reference integrated signal to flow in a node of the capacitor and may allow a current corresponding to the column integrated signal to flow out from the same node of the capacitor.
- the flow-in of the reference integrated signal and the flow-out of the column integrated signal may allow a current corresponding to a difference between the column integrated signal and the reference integrated signal to flow in the capacitor.
- the leakage sub-circuit 361 may transmit, to the firing sub-circuit 362, the output voltage leaked for the above-described threshold time.
- a comparator OP fire of the firing sub-circuit 362 may compare a predetermined threshold voltage V TH to an output voltage V COLUMN .
- the comparator OP fire may output a firing signal (e.g., 1) when the output voltage V COLUMN integrated for the threshold time exceeds the threshold voltage V TH and may output a leakage signal (e.g., 0) when the output voltage V COLUMN is less than or equal to the threshold voltage V TH .
- the firing sub-circuit 362 may initialize a common mode voltage by controlling a selection signal SEL of an analog MUX circuit and transferring V CM_COLUMN_IN input from the outside to the leaky operational amplifier OP integ .
- the signals RESET and SW may be generated by a timing generator that receives an external clock signal Clk as control signals.
- the threshold time generation circuit (described below) may generate a window signal WINDOW indicating a threshold time that may determine whether firing is performed.
- the window signal WINDOW may provide a threshold time (e.g., an integration time) that is robust against a set threshold voltage, a resistive memory element, and a variation of the capacitor.
- the neural network circuit may further include a circuit to set a threshold.
- the neural network circuit may further include a threshold memory array 480 and an additional reference memory array 490.
- a synaptic memory array 110 and a reference memory array 120 have been described above with reference to FIG. 1.
- An additional reference memory cell may share reference word lines Ref WL 0 to Ref WL L-1 with the threshold generation circuit.
- the additional reference memory cell may have an additional reference memory element that is disposed along a reference word line and that has a second resistance value.
- the additional reference memory element of an additional reference memory cell of the additional reference memory array 490 may have a programmable resistance value, which may be programmed based on an application.
- the additional reference memory cell described below, may be used to express, as a net signal, the designated threshold in the threshold memory array 480 described above.
- a signal (hereinafter, referred to as a "threshold integrated signal”) integrated along a column of the threshold memory array 480 described above may be expressed as in Equation 6 below.
- FIGS. 5a through 5c illustrate examples of a firing comparison using net signals generated from a synaptic memory column, a reference column, a threshold generation column, and an additional reference column.
- a third subcell of the synaptic memory column 510 may have a resistive memory element set to a second resistance value (e.g., AP), and first and second subcells thereof may respectively have resistive memory elements set to a first resistance value (e.g., P).
- First and third subcells of the reference column 520 may have a memory element set to the second resistance value (e.g., AP), and a second subcell thereof may have a memory element set to a first resistance value (e.g., P).
- a resistance value of each of the first, second, and third subcells of the reference column 520 is not limited to the foregoing example and may be variously changed, based on an application.
- the first, second, and third subcells may generate current signals to which a bit weight (e.g., times 1) corresponding to the LSB, a bit weight (e.g., times 2) corresponding to a first bit digit from the LSB, and a bit weight (e.g., times 4) corresponding to a second bit digit from the LSB are applied, respectively.
- a column integrated signal I Cells of the synaptic memory column 510 may be (2+4)*I P +1*I AP .
- a reference integrated signal I REF of the reference column 520 may be 2*I P +(1+4)*I AP .
- the output signal I net,column may be 4(I P -I AP ). As the output signal I net,column is a positive number, the output signal I net,column may be construed as an output signal for performing an EPSP operation.
- a threshold net signal I net,Th may be determined to be 3(I P -I AP ).
- An output circuit may generate a firing signal because the output signal I net,column is greater than the threshold net signal I net,Th .
- a third subcell of a synaptic memory column 510 may have a resistive memory element set to a first resistance value, and first and second subcells thereof may respectively have resistive memory elements set to a second resistance value.
- a cell of a reference column 520 may be, similar to that of FIG. 5a; first and third subcells thereof may respectively have resistive memory elements set to the second resistance value, and a second subcell thereof may have a resistive memory element set to the first resistance value.
- a resistance value of each of the first, second, and third subcells of the reference column 520 is not limited to the foregoing example and may be variously changed, based on an application.
- the first, second, and third subcells may generate current signals to which a bit weight (e.g., times 1) corresponding to the LSB, a bit weight (e.g., times 2) corresponding to a first bit digit from the LSB, and a bit weight (e.g., times 4) corresponding to a second bit digit from the LSB are applied, respectively.
- a column integrated signal I Cells of the synaptic memory column 510 may be 1*I P +(2+4)*I AP .
- a reference integrated signal I REF of the reference column 520 may be 2*I P +(1+4)*I AP .
- An output signal I net,column may be -1(I P -I AP ). As the output signal I net,column is a negative number, the output signal I net,column may be construed as an output signal for performing an IPSP operation.
- FIG. 5c illustrates an example of an input signal 530 applied through two input lines.
- FIGS. 6a through 6c illustrate other examples of a firing comparison using net signals generated from a synaptic memory column, a reference column, a threshold generation column, and an additional reference column.
- a third subcell of the synaptic memory column 610 may have a resistive memory element set to a first resistance value, and first and second subcells thereof may respectively have resistive memory elements set to a second resistance value.
- the reference column 620 may be a 1-bit cell for storing single-bit information (e.g., a sign bit), regardless of the number of bits of the synaptic memory column 610.
- the reference column 620 may have, in the 1-bit cell, a resistive memory element set to the second resistance value or the first resistance value, based on whether an operation to be simulated is an EPSP or an IPSP. In FIG. 6a, the operation to be simulated is an EPSP and the 1-bit cell of the reference column 620 may have a resistive memory element set to the second resistance value.
- the first, second, and third subcells of the synaptic memory column 610 may generate current signals to which a bit weight (e.g., times 1) corresponding to the LSB, a bit weight (e.g., times 2) of a first bit digit from the LSB, and a bit weight (e.g., times 4) of a second bit digit from the LSB are applied, respectively.
- a column integrated signal I Cells of the synaptic memory column 610 may be (4+2)*I P +1*I AP .
- the 1-bit cell of the reference column 620 may generate a current signal to which a predetermined bit weight (e.g., times 7) is applied.
- a reference integrated signal I REF of the reference column 620 may be 7*I AP .
- the output signal I net,column may be 6(I P -I AP ). As the output signal I net,column is a positive number, the output signal I net,column may be construed as an EPSP.
- the 1-bit cell of the reference column 620 may generate a current signal to which a predetermined bit weight (e.g., times 7) is applied.
- a reference integrated signal I REF of the reference column 620 may be 7*IP.
- An output signal I net,column may be -1(I P -I AP ).
- FIG. 6c illustrates an example of an input signal 630 applied to two input lines.
- FIG. 7 illustrates an example of a threshold time generation circuit of an output circuit.
- the output circuit may initiate an integration of a current corresponding to a difference between a signal generated based on a threshold memory cell and a signal generated based on an additional reference memory cell. When a voltage corresponding to the integrated current exceeds the threshold voltage, the output circuit may output a signal indicating the threshold time 791 corresponding to the threshold.
- the threshold time generation circuit 753 may have a configuration similar to the leakage sub-circuit 361 described above with reference to FIG. 3. For example, the threshold time generation circuit 753 may allow a threshold integrated signal I Th to flow in a node of a capacitor and allow an additional reference integrated signal I REF,Th to flow out from the node of the capacitor. Accordingly, a threshold net signal I net,Th may flow in the capacitor.
- the types and sizes of the capacitor and an operational amplifier may be designed to be the same.
- a reset signal RESET and a hold signal HOLD shown in a timing diagram 790 may be generated by a timing generator.
- voltages at both ends of the capacitor in which the threshold net signal I net,Th flows are V CM and V TWG and thus are initialized.
- a voltage V TWG converted from integration based on the threshold net signal I net,Th may be stored in the capacitor.
- the voltage V TWG may gradually increase based on the integration of the threshold net signal I net,Th .
- a window comparator OP window may output 0 when the voltage V TWG exceeds a threshold voltage V TH .
- V CM,TWG may be set to be less than V CM_COLUMN_IN .
- FIG. 8 illustrates an example of elements included in an LIF circuit in an output circuit and a timing diagram for each of the elements.
- a reset flip-flop 810 may generate a reset signal RESET in response to a clock signal divided by 4 and a neuron input (an input signal).
- a hold flip-flop 820 may generate a hold signal HOLD in response to a clock signal divided by 8 and a neuron input (an input signal).
- a comparison flip-flop 830 may generate a comparison signal COMPARE in response to a clock signal, a supply voltage VDD, and an inverted hold signal HOLDB.
- the comparison signal COMPARE may be a signal to initiate a comparison operation of a comparator when an integrated output signal has been transmitted to an input of the comparator.
- a leakage flip-flop 840 may generate a leakage signal LEAKAGE in response to a clock signal, a supply voltage VDD, and an inverted comparison signal COMPAREB.
- the leakage signal LEAKAGE may be a signal to perform a leakage operation of an output voltage after the above-described comparison operation.
- An SW flip-flop 870 when there is a leaked voltage, may generate an SW signal to transmit the leaked voltage to a leakage sub-circuit such that the leaked voltage is combined with an output based on a next input.
- a threshold time 891 may be a time interval after reset until the window signal WINDOW is deactivated.
- FIG. 9 illustrates an example of a firing operation of a neural network circuit, according to one or more embodiments.
- the neural network circuit may include a memory array 910, an output circuit 950, a divider-and-timing generator 940, a word line driver 970, and a write driver 980.
- the memory array 910 may include a synaptic memory array, a reference memory array, a threshold memory array, and an additional reference memory array.
- the output circuit 950 may include a readout circuit 951, a threshold time generation circuit 953, and an LIF circuit 960.
- the memory array 910 and the output circuit 950 are described above.
- the divider-and-timing generator 940 may generate signals (e.g., a clock signal and a control signal for an individual element) used in a circuit.
- the word line driver 970 may drive a word line (e.g., an input line) of the memory array 910.
- the write driver 980 may set a resistance value of a resistive memory element of a memory cell disposed along a bit line of the memory array 910 and may drive the bit line and a sense line.
- a threshold net signal I net,Th may be 6(I P -I AP ).
- a current flowing through a column ⁇ 0> may change as 7(I P -I AP ) 2(I P -I AP ) 7(I P -I AP ) + (-3)(I P -I AP ), and a current flowing through a column ⁇ 1> may change as 7(I P -I AP ) -2(I P -I AP ) 3(I P -I AP ) + (-3)(I P -I AP ).
- a firing signal when a stimulus less than or equal to a threshold is transmitted, a firing signal may not be output, and an integrated voltage V_integrated may be transmitted up to an interval in which a leakage pulse (LEAKAGE) is high. A level of the integrated voltage V_integrated may gradually decrease during the interval in which the leakage pulse is high.
- the firing signal When a stimulus greater than or equal to the threshold is transmitted, the firing signal may be output and the integrated voltage V_integrated may be initialized.
- the firing signal when a stimulus is further transmitted after the integrated voltage V_integrated is leaked when the stimulus less than or equal to the threshold has been transmitted, and a sum of the stimuli is greater than or equal to the threshold, the firing signal may be output.
- FIG. 10 illustrates an example of an operating method of a neural network circuit, according to one or more embodiments.
- the neural network circuit may generate a column signal, based on an input signal and a resistive memory element of a synaptic memory cell (to which the input signal is applied through an input line) among one or more memory cells disposed along an output line. For example, when an input signal (e.g., a spike signal) is received through a pre-synaptic circuit, the neural network circuit may access a word line of a memory array. A readout circuit of the neural network circuit may generate a column signal (e.g., a current), based on a synaptic weight and the input signal.
- a column signal e.g., a current
- the neural network circuit may generate a reference signal, based on the input signal and based on a reference memory element having a reference resistance value of a reference memory cell to which the input signal is applied.
- the reference memory cell may be among one or more memory cells disposed along a reference line.
- the reference resistance value may be provided by a predetermined combination of one or more of the first resistance value and/or the second resistance value, and the reference resistance value may be selected based on its applicability to a particular application. Different reference resistance values (stemming from different combinations of the first value and/or second value) may be selected for different applications.
- the neural network circuit may generate an output signal for the output line from the column signal and the reference signal.
- the neural network circuit to offset a current in a high resistance state, may generate an output signal corresponding to a difference between a column integrated signal and a reference integrated signal.
- the output circuit of the neural network circuit may obtain a MAC value between a synaptic weight and an input signal received along the input line, based on a result (e.g., an analog-digital converted value) obtained by interpreting the output signal, and the output circuit may transmit a node value (e.g., an activation value) determined based on the obtained value of the MAC to another neuron circuit.
- a result e.g., an analog-digital converted value
- a node value e.g., an activation value
- the computing apparatuses, the electronic devices, the processors, the memories, the storage devices, and other apparatuses, devices, units, modules, and components described herein with respect to FIGS. 1-10 are implemented by or representative of hardware components.
- hardware components that may be used to perform the operations described in this application where appropriate include controllers, sensors, generators, drivers, memories, comparators, arithmetic logic units, adders, subtractors, multipliers, dividers, integrators, and any other electronic components configured to perform the operations described in this application.
- one or more of the hardware components that perform the operations described in this application are implemented by computing hardware, for example, by one or more processors or computers.
- a processor or computer may be implemented by one or more processing elements, such as an array of logic gates, a controller and an arithmetic logic unit, a digital signal processor, a microcomputer, a programmable logic controller, a field-programmable gate array, a programmable logic array, a microprocessor, or any other device or combination of devices that is configured to respond to and execute instructions in a defined manner to achieve a desired result.
- a processor or computer includes, or is connected to, one or more memories storing instructions or software that are executed by the processor or computer.
- Hardware components implemented by a processor or computer may execute instructions or software, such as an operating system (OS) and one or more software applications that run on the OS, to perform the operations described in this application.
- OS operating system
- the hardware components may also access, manipulate, process, create, and store data in response to execution of the instructions or software.
- processor or “computer” may be used in the description of the examples described in this application, but in other examples multiple processors or computers may be used, or a processor or computer may include multiple processing elements, or multiple types of processing elements, or both.
- a single hardware component or two or more hardware components may be implemented by a single processor, or two or more processors, or a processor and a controller.
- One or more hardware components may be implemented by one or more processors, or a processor and a controller, and one or more other hardware components may be implemented by one or more other processors, or another processor and another controller.
- One or more processors may implement a single hardware component, or two or more hardware components.
- a hardware component may have any one or more of different processing configurations, examples of which include a single processor, independent processors, parallel processors, single-instruction single-data (SISD) multiprocessing, single-instruction multiple-data (SIMD) multiprocessing, multiple-instruction single-data (MISD) multiprocessing, and multiple-instruction multiple-data (MIMD) multiprocessing.
- SISD single-instruction single-data
- SIMD single-instruction multiple-data
- MIMD multiple-instruction multiple-data
- FIGS. 1-10 that perform the operations described in this application are performed by computing hardware, for example, by one or more processors or computers, implemented as described above implementing instructions or software to perform the operations described in this application that are performed by the methods.
- a single operation or two or more operations may be performed by a single processor, or two or more processors, or a processor and a controller.
- One or more operations may be performed by one or more processors, or a processor and a controller, and one or more other operations may be performed by one or more other processors, or another processor and another controller.
- One or more processors, or a processor and a controller may perform a single operation, or two or more operations.
- Instructions or software to control computing hardware may be written as computer programs, code segments, instructions or any combination thereof, for individually or collectively instructing or configuring the one or more processors or computers to operate as a machine or special-purpose computer to perform the operations that are performed by the hardware components and the methods as described above.
- the instructions or software include machine code that is directly executed by the one or more processors or computers, such as machine code produced by a compiler.
- the instructions or software includes higher-level code that is executed by the one or more processors or computer using an interpreter.
- the instructions or software may be written using any programming language based on the block diagrams and the flow charts illustrated in the drawings and the corresponding descriptions herein, which disclose algorithms for performing the operations that are performed by the hardware components and the methods as described above.
- the instructions or software to control computing hardware for example, one or more processors or computers, to implement the hardware components and perform the methods as described above, and any associated data, data files, and data structures, may be recorded, stored, or fixed in or on one or more non-transitory computer-readable storage media.
- Examples of a non-transitory computer-readable storage medium include read-only memory (ROM), random-access programmable read only memory (PROM), electrically erasable programmable read-only memory (EEPROM), random-access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), flash memory, non-volatile memory, CD-ROMs, CD-Rs, CD+Rs, CD-RWs, CD+RWs, DVD-ROMs, DVD- Rs, DVD+Rs, DVD-RWs, DVD+RWs, DVD-RAMs, BD-ROMs, BD-Rs, BD-R LTHs, BD-REs, blue-ray or optical disk storage, hard disk drive (HDD), solid state drive (SSD), flash memory, a card type memory such as multimedia card micro or a card (for example, secure digital (SD) or extreme digital (XD)), magnetic tapes, floppy disks, magneto-optical data storage devices, optical data storage devices, hard disks, solid
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Neurology (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Semiconductor Memories (AREA)
Abstract
Description
Claims (27)
- A neural network circuit comprising:a synaptic memory cell comprising a resistive memory element, which is disposed along an output line and which is configured to vary between having a first resistance value and a second resistance value as a resistance value, wherein the synaptic memory cell is configured to generate a column signal, based on the resistance value of the resistive memory element and an input signal received via an input line;a reference memory cell comprising a reference memory element, which is disposed along a reference line and which has a resistance value that is a predetermined ratio of the first resistance value and the second resistance value, wherein the reference memory cell is configured to generate a reference signal, based on the resistance value of the reference memory element and the input signal; andan output circuit configured to generate an output signal for the output line based on the column signal and the reference signal.
- The neural network circuit of claim 1, whereinthe synaptic memory cell comprises:a number of resistive memory elements corresponding to a number of bits for expressing a synaptic weight assigned to the synaptic memory cell, whereinthe number of resistive memory elements corresponding to the number of bits aredisposed along the input line.
- The neural network circuit of claim 2, whereinthe reference memory cell comprises:a number of reference memory elements corresponding to the number of bits for expressing the synaptic weight, andwherein the reference memory elements corresponding to the number of bits are disposed along the input line.
- The neural network circuit of claim 2, whereinthe reference memory cell comprises:reference memory elements for expressing a sign bit.
- The neural network circuit of claim 1, whereinthe output circuit is further configured to:generate, as the output signal, a current corresponding to a positive integer multiple of a net current, which is a difference between a first current based on a resistive memory element having the first resistance value and a second current based on a resistive memory element having the second resistance value.
- The neural network circuit of claim 1, whereinthe output circuit is further configured to:generate, as the output signal, a current corresponding to a negative integer multiple of a net current, which is a difference between a first current based on a resistive memory element having the first resistance value and a second current based on a resistive memory element having the second resistance value.
- The neural network circuit of claim 1, wherein the neural network circuit comprises a neuron circuit comprising the synaptic memory cell, the reference memory cell, and the output circuit, and whereinthe output circuit further comprises:a leaky integrate-and-fire (LIF) circuit configured to perform firing at another neuron circuit, based on a result of comparing the output signal with a threshold.
- The neural network circuit of claim 7, whereinthe LIF circuit is further configured to:increase an output voltage when the output signal corresponds to a positive integer multiple of a net current.
- The neural network circuit of claim 7, whereinthe LIF circuit is further configured to:decrease an output voltage when the output signal corresponds to a negative integer multiple of a net current.
- The neural network circuit of claim 7, whereinthe LIF circuit is further configured to:leak the output signal from a capacitor when a voltage integrated based on the output signal does not reach a threshold voltage within a threshold time.
- The neural network circuit of claim 7, whereinthe LIF circuit is further configured to:perform firing at the other neuron circuit when a voltage integrated based on the output signal reaches a threshold voltage within a threshold time corresponding to the threshold.
- The neural network circuit of claim 7, further comprising:a threshold memory array comprising a plurality of memory elements, wherein at least one memory element thereof, designated among the plurality of memory elements based on the threshold, has the first resistance value.
- The neural network circuit of claim 12, further comprising:an additional reference memory cell configured to share a reference word line with the threshold memory array and comprising an additional reference memory element, wherein the additional reference memory element is disposed along the reference word line and has the second resistance value.
- The neural network circuit of claim 13, whereinthe output circuit is further configured to:set a threshold time corresponding to the threshold, based on a signal generated based on a threshold memory cell and a signal generated based on the additional reference memory cell.
- The neural network circuit of claim 14, whereinthe output circuit is further configured to:initiate an integration of a current corresponding to a difference between the signal generated based on the threshold memory cell and the signal generated based on the additional reference memory cell and output a signal indicating a threshold time corresponding to the threshold, wherein the initiating is based on a voltage corresponding to the integrated current exceeding a threshold voltage.
- The neural network circuit of claim 14, whereinthe output circuit is further configured to:apply, to the output signal for the output line and another output signal for another output line, a threshold time corresponding to the threshold determined based on the threshold memory cell and the additional reference memory cell.
- The neural network circuit of claim 1, whereinresistive memory elements of synaptic memory cells connected to the output line are connected to each other in parallel.
- The neural network circuit of claim 1, further comprising:another synaptic memory cell disposed along another output line other than the output line,wherein the output circuit is further configured to:individually generate output signals for each of the output line and the other output line by using the same reference memory cell.
- The neural network circuit of claim 1, whereinthe synaptic memory cell comprises bits comprising respective resistors, whereinthe reference memory cell comprises bits comprising respective resistors, and whereinthe output circuit comprises:a readout circuit configured to generate a column integrated signal by integrating the column signal for each bit of the synaptic memory cell and generate a reference integrated signal by integrating the reference signal for each bit of the reference memory cell.
- The neural network circuit of claim 19, whereinthe readout circuit comprises:a current mirror configured to copy the column signal for each bit of the synaptic memory cell and the reference memory cell to a current-multiple corresponding to the bit.
- The neural network circuit of claim 19, whereinthe output signal corresponds to a difference between the column integrated signal and the reference integrated signal.
- The neural network circuit of claim 21, whereinthe output circuit further comprises:a capacitor configured to allow a current corresponding to the reference integrated signal to flow in a node and allow a current corresponding to the column integrated signal to flow out from the node such that a current corresponding to the difference between the column integrated signal and the reference integrated signal flows through the node, wherein the node comprises the neural network circuit.
- The neural network circuit of claim 1, wherein the neural network circuit comprises a neuron circuit comprising the synaptic memory cell, the reference memory cell, and the output circuit, and whereinthe output circuit is further configured to:obtain, based on a result obtained by interpreting the output signal, a multiply-and-accumulate (MAC) value between a synaptic weight and an input signal received along the input line, andtransmit a node value determined based on the obtained MAC value to another neuron circuit.
- The neural network circuit of claim 1, wherein the ratio is predetermined based on an application.
- An operating method of a neural network circuit, the operating method comprising:generating a column signal, based on an input signal and a resistance value of a resistive memory element of a synaptic memory cell to which the input signal is applied through an input line, wherein the synaptic memory cell is among one or more synaptic memory cells disposed along an output line;generating a reference signal, based on the input signal and a reference memory element, the reference memory element having a reference resistance value of a reference memory cell to which the input signal is applied, wherein the reference memory cell is among one or more reference memory cells disposed along a reference line; andgenerating an output signal for the output line from the column signal and the reference signal,wherein the reference resistance value is configured to:be determined based on a combination of a first resistance value and a second resistance value that is different from the first resistance value.
- The operating method of claim 25, wherein the combination is predetermined based on an application.
- A processor comprising:a memory array comprising rows and columns of resistive memory cells comprising respective resistors, wherein each resistive memory cell of the memory array has a resistance that is programmable to vary between a first resistance and a second resistance, wherein a column of the memory array provides an integrated column current based on input signals supplied to respective resistive memory elements of the column and based on the resistances of the respective memory elements of the column; anda reference array of resistive memory cells comprising respective resistors, wherein each resistive memory cell of the reference column has a resistance that is programmable to vary between the first resistance and the second resistance, wherein the reference memory array provides an integrated reference current based on the input signals being supplied to resistive memory elements of the reference array and based on the resistances of the respective memory elements of the reference array.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP23771147.8A EP4494036A1 (en) | 2022-03-18 | 2023-03-17 | Neural network based method and device |
CN202380040233.1A CN119325607A (en) | 2022-03-18 | 2023-03-17 | Neural network-based method and device |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0033964 | 2022-03-18 | ||
KR1020220033964A KR20230136353A (en) | 2022-03-18 | 2022-03-18 | Neural network circuit and device |
US17/883,546 US20230298663A1 (en) | 2022-03-18 | 2022-08-08 | Neural network based method and device |
US17/883,546 | 2022-08-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023177269A1 true WO2023177269A1 (en) | 2023-09-21 |
Family
ID=88024139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/003616 WO2023177269A1 (en) | 2022-03-18 | 2023-03-17 | Neural network based method and device |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4494036A1 (en) |
CN (1) | CN119325607A (en) |
WO (1) | WO2023177269A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019108458A1 (en) * | 2017-11-29 | 2019-06-06 | Anaflash Inc. | Neural network circuits having non-volatile synapse arrays |
US20200160160A1 (en) * | 2018-11-19 | 2020-05-21 | POSTECH Research and Business Development Foundation | Artificial neural network circuit |
US20200411091A1 (en) * | 2019-06-26 | 2020-12-31 | Samsung Electronics Co., Ltd. | Analog-to-digital converter and neuromorphic computing device including the same |
CN112786081A (en) * | 2019-11-01 | 2021-05-11 | 华为技术有限公司 | Storage unit and chip |
US20210166110A1 (en) * | 2019-12-03 | 2021-06-03 | Anaflash Inc. | Serialized neural network computing unit |
-
2023
- 2023-03-17 WO PCT/KR2023/003616 patent/WO2023177269A1/en active Application Filing
- 2023-03-17 CN CN202380040233.1A patent/CN119325607A/en active Pending
- 2023-03-17 EP EP23771147.8A patent/EP4494036A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019108458A1 (en) * | 2017-11-29 | 2019-06-06 | Anaflash Inc. | Neural network circuits having non-volatile synapse arrays |
US20200160160A1 (en) * | 2018-11-19 | 2020-05-21 | POSTECH Research and Business Development Foundation | Artificial neural network circuit |
US20200411091A1 (en) * | 2019-06-26 | 2020-12-31 | Samsung Electronics Co., Ltd. | Analog-to-digital converter and neuromorphic computing device including the same |
CN112786081A (en) * | 2019-11-01 | 2021-05-11 | 华为技术有限公司 | Storage unit and chip |
US20210166110A1 (en) * | 2019-12-03 | 2021-06-03 | Anaflash Inc. | Serialized neural network computing unit |
Also Published As
Publication number | Publication date |
---|---|
CN119325607A (en) | 2025-01-17 |
EP4494036A1 (en) | 2025-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10810487B2 (en) | Reconfigurable and customizable general-purpose circuits for neural networks | |
CN108009640B (en) | Memristor-based neural network training device and training method | |
CN110945535B (en) | Method for realizing artificial neural network ANN | |
JP6477924B2 (en) | Memristor neuromorphological circuit and method for training memristor neuromorphological circuit | |
US10453527B1 (en) | In-cell differential read-out circuitry for reading signed weight values in resistive processing unit architecture | |
KR102706475B1 (en) | Analog-to-digital converter and neuromorphic computing device including the same | |
US5167008A (en) | Digital circuitry for approximating sigmoidal response in a neural network layer | |
JP7654013B2 (en) | Efficient Tile Mapping for Row-Wise Convolutional Neural Network Mapping for Analog Artificial Intelligence Network Inference | |
CN110383282A (en) | Systems and methods for mixed signal computing | |
WO2024071728A1 (en) | Anomaly detection device using neural network learned using heterogeneous loss function | |
US20250005344A1 (en) | Neurons for artificial neural networks | |
WO2023177269A1 (en) | Neural network based method and device | |
US5140531A (en) | Analog neural nets supplied digital synapse signals on a bit-slice basis | |
US5115492A (en) | Digital correlators incorporating analog neural network structures operated on a bit-sliced basis | |
WO2022097954A1 (en) | Neural network computation method and neural network weight generation method | |
CN111859261B (en) | Computing circuit and operating method thereof | |
WO2023022505A1 (en) | Method for performing bnn operation through in-memory computing using dram, and device using same | |
EP0469885A2 (en) | System for performing weighted summations | |
KR20230136353A (en) | Neural network circuit and device | |
EP4209969A1 (en) | Device with neural network | |
KR20240109086A (en) | Neural network circuit and operating method thereof | |
Ramacher et al. | Fine-grain system architectures for systolic emulation of neural algorithms | |
US20200394503A1 (en) | Copying weights between resistive cross-point arrays | |
WO2023080701A1 (en) | Device for providing spiking neural network and operation method therefor | |
WO2024090858A1 (en) | Neuromorphic device for implementing neural network and operation method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23771147 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2024555883 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2023771147 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2023771147 Country of ref document: EP Effective date: 20241018 |