WO2023171683A1 - ニューラルネットワーク演算回路 - Google Patents
ニューラルネットワーク演算回路 Download PDFInfo
- Publication number
- WO2023171683A1 WO2023171683A1 PCT/JP2023/008647 JP2023008647W WO2023171683A1 WO 2023171683 A1 WO2023171683 A1 WO 2023171683A1 JP 2023008647 W JP2023008647 W JP 2023008647W WO 2023171683 A1 WO2023171683 A1 WO 2023171683A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- current value
- value
- semiconductor memory
- memory element
- data line
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06G—ANALOGUE COMPUTERS
- G06G7/00—Devices in which the computing operation is performed by varying electric or magnetic quantities
- G06G7/12—Arrangements for performing computing operations, e.g. operational amplifiers
- G06G7/14—Arrangements for performing computing operations, e.g. operational amplifiers for addition or subtraction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06G—ANALOGUE COMPUTERS
- G06G7/00—Devices in which the computing operation is performed by varying electric or magnetic quantities
- G06G7/12—Arrangements for performing computing operations, e.g. operational amplifiers
- G06G7/16—Arrangements for performing computing operations, e.g. operational amplifiers for multiplication or division
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06G—ANALOGUE COMPUTERS
- G06G7/00—Devices in which the computing operation is performed by varying electric or magnetic quantities
- G06G7/48—Analogue computers for specific processes, systems or devices, e.g. simulators
- G06G7/60—Analogue computers for specific processes, systems or devices, e.g. simulators for living beings, e.g. their nervous systems ; for problems in the medical field
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/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
Definitions
- the present disclosure relates to a neural network arithmetic circuit using semiconductor memory elements.
- IoT Internet of Things
- AI artificial intelligence
- neural network technology which is an engineering imitation of human brain-type information processing, is used, and research and development of semiconductor integrated circuits that can perform neural network calculations at high speed and with low power consumption is being actively conducted. There is.
- a conventional neural network calculation circuit is disclosed in Patent Document 1.
- the neural network arithmetic circuit is configured using variable resistance non-volatile memory (hereinafter also simply referred to as “variable resistance element”) in which an analog resistance value (in other words, conductance) can be set.
- variable resistance element in which an analog resistance value (in other words, conductance) can be set.
- weighting coefficient an analog resistance value corresponding to a coupling weighting coefficient (hereinafter also simply referred to as "weighting coefficient”
- input data hereinafter also referred to as "input data”
- the product-sum calculation operation performed in a neuron stores multiple coupling weighting coefficients as analog resistance values in multiple nonvolatile memory devices, and applies multiple analog voltage values corresponding to multiple inputs to multiple nonvolatile memory devices. However, this is performed by obtaining an analog current value, which is the sum of current values flowing through a plurality of nonvolatile memory elements, as a product-sum calculation result.
- Neural network arithmetic circuits using nonvolatile memory elements can achieve lower power consumption than neural network arithmetic circuits composed of digital circuits. Process development, device development, and circuit development have been actively conducted in recent years.
- FIG. 8 is a diagram showing calculations showing the operating principle of a conventional neural network calculation circuit, and a diagram showing the operation of the calculation unit.
- FIG. 8(a) is a diagram showing calculations showing the operating principle of the neural network calculation circuit.
- the calculation performed by the neuron 10 is the calculation processing of the activation function f on the product-sum calculation result of the input xi and the connection weighting coefficient wi.
- equation (2) in (a) of FIG. 8 by replacing the coupling weighting coefficient wi with the current value Ii flowing through the variable resistance element (in other words, the memory cell), the input xi and the current value Ii flowing through the variable resistance element Performs a product-sum operation with
- connection weighting coefficient wi in the neural network calculation takes both a positive value ( ⁇ 0) and a negative value ( ⁇ 0), and in the product-sum calculation operation, the product of the input xi and the connection weighting coefficient wi is a positive value. If the value is negative, addition is performed, and if the value is negative, subtraction is performed. However, since the current value Ii flowing through the resistance change element can only take positive values, the addition operation when the product of the input xi and the coupling weighting coefficient wi is a positive value can be realized by adding the current values Ii. However, in order to perform a subtraction operation using a positive current value Ii when the product of the input xi and the connection weighting coefficient wi is a negative value, some ingenuity is required.
- FIG. 8(b) is a diagram showing the operation of the arithmetic unit PUi, which is a conventional neural network arithmetic circuit.
- the connection weighting coefficient wi is stored in two resistance change elements RP and RN
- the resistance value set in the resistance change element RP is Rpi
- the resistance value set in the resistance change element RN is Rni
- Vbl be the voltage applied to the bit lines BL0 and BL1
- Ipi and Ini be the current values flowing through the variable resistance elements RP and RN.
- the feature is that the positive product-sum calculation result is added to the current flowing to the bit line BL0, and the negative product-sum calculation result is added to the current flowing to the bit line BL1, and the resistance is changed so that the current flows as described above.
- Resistance values Rpi and Rni (in other words, current values Ipi and Ini) of elements RP and RN are set.
- Equations (3), (4), and (5) in FIG. 8(a) show calculations for the above-mentioned operations. That is, by appropriately writing resistance values Rpi and Rni corresponding to the coupling weighting coefficient wi into the resistance change elements RP and RN of the arithmetic unit PUi, a positive product-sum operation result and a negative product-sum operation result are written to the bit lines BL0 and BL1, respectively. It becomes possible to obtain a current value corresponding to the product-sum calculation result, and by calculating the activation function f using this current value as input, neural network calculation becomes possible.
- the conventional neural network calculation circuit described above has the following problems. That is, since there is a limit to the range of analog resistance values that can be set in a nonvolatile memory element that stores connection weighting coefficients, there is a problem that large connection weighting coefficients necessary for improving the performance of neural network calculations cannot be stored.
- multiple analog voltage values corresponding to multiple inputs are applied to multiple nonvolatile memory elements, and the current values flowing through the multiple nonvolatile memory elements are summed to obtain an analog current value as a product-sum operation result.
- the analog current generated saturates due to the influence of parasitic resistance and control circuits, making it impossible to accurately perform sum-of-products operations.
- the write algorithm refers to the absolute values of the voltage pulses and current pulses applied when writing to the memory element to be written, the width of these pulses, and the Verify operation to confirm that writing has been performed to a predetermined resistance value. It specifies the combinations to be written.
- a filament that serves as a path for current is created for each nonvolatile memory element in the testing process.
- the size of this filament must be made in accordance with the absolute value of the analog resistance value to be set. differs from neural network to neural network, and assuming the case of rewriting to a different neural network, it is also a problem that it is not possible to create the optimal filament size for each analog resistance value to be set.
- the present disclosure has been made in view of the above-mentioned problems, and an object of the present disclosure is to provide a neural network calculation circuit that achieves at least one of improved performance of neural network calculations and improved reliability of semiconductor memory elements that store connection weighting coefficients. That is.
- a neural network calculation circuit holds a plurality of connection weighting coefficients corresponding to each of a plurality of input data that can selectively take a first logical value and a second logical value, and A neural network calculation circuit that outputs output data of a first logical value or a second logical value according to a product-sum operation result of input data of and the corresponding connection weight coefficient, the neural network calculation circuit outputting output data of a first logical value or a second logical value, the plurality of connection weights For each of the plurality of coefficients, a first semiconductor memory element and a second semiconductor memory element each having at least 2 bits or more are provided for storing the coupling weighting coefficient, and each of the plurality of coupling weighting coefficients is stored in the plurality of coupling weighting coefficients. This corresponds to a total current value obtained by adding up the current value of the current flowing through the first semiconductor storage element and the current value of the current flowing through the second semiconductor storage element.
- neural network calculation circuit it is possible to improve the performance of neural network calculations and improve the reliability of semiconductor memory elements that store connection weighting coefficients.
- FIG. 1 is a diagram showing a detailed configuration of a neural network calculation circuit according to an embodiment.
- FIG. 2 is a diagram showing the configuration of a deep neural network.
- FIG. 3 is a diagram showing neuron calculations in neural network calculations.
- FIG. 4 is a diagram showing calculations when bias coefficient calculations are assigned to inputs and connection weight coefficients in neuron calculations in neural network calculations.
- FIG. 5 is a diagram showing a neuron activation function in neural network calculation according to the embodiment.
- FIG. 6 is a block diagram showing the overall configuration of the neural network calculation circuit according to the embodiment.
- FIG. 7 is a diagram showing a circuit diagram, a cross-sectional view, and applied voltages in each operation of a memory cell that is a nonvolatile semiconductor memory element according to an embodiment.
- FIG. 1 is a diagram showing a detailed configuration of a neural network calculation circuit according to an embodiment.
- FIG. 2 is a diagram showing the configuration of a deep neural network.
- FIG. 3 is a diagram showing neuron
- FIG. 8 is a diagram illustrating calculation and operation of a calculation unit showing the operating principle of a conventional neural network calculation circuit.
- FIG. 9 is a diagram illustrating the calculation and operation of the arithmetic unit showing the operating principle of the neural network arithmetic circuit according to the embodiment.
- FIG. 10 is a diagram showing detailed operations of the arithmetic unit according to the embodiment.
- FIG. 11 is a diagram for explaining a method of writing a coupling weighting coefficient into a resistance change element of an arithmetic unit according to an embodiment using storage method 1.
- FIG. 12 is a diagram for explaining a method of writing a coupling weighting coefficient into the resistance change element of the arithmetic unit according to the embodiment using storage method 2.
- FIG. 13 is a diagram for explaining a method of writing a coupling weighting coefficient into the resistance change element of the arithmetic unit according to the embodiment using storage method 3.
- FIG. 14 is a diagram for explaining the configuration of a neural network calculation circuit according to a specific example.
- FIG. 15 is a diagram showing a specific example of current values according to storage method 1.
- FIG. 16 is a diagram showing a specific example of current values according to storage method 2.
- FIG. 17 is a diagram illustrating a comparison between the conventional technology and this embodiment regarding the current value obtained as the product-sum calculation result with respect to the ideal value of the product-sum calculation result.
- FIG. 18 is a diagram showing a specific example of current values according to storage method 3.
- FIG. 19 is a diagram showing a detailed configuration of a neural network calculation circuit according to a modification of the embodiment.
- connection means an electrical connection, not only when two circuit elements are directly connected, but also when two circuit elements are inserted between two circuit elements. This also includes cases where circuit elements are indirectly connected.
- FIG. 1 is a diagram showing a detailed configuration of a neural network calculation circuit according to an embodiment. More specifically, FIG. 1A is a diagram showing a neuron 10 used in neural network calculation by the neural network calculation circuit according to the embodiment. FIG. 1B is a diagram showing a detailed circuit configuration when the arithmetic processing performed by the neuron in FIG. 1A is performed by the neural network arithmetic circuit of the present disclosure. This is a representative drawing showing the characteristics. FIGS. 1A and 1B will be described in detail later.
- FIG. 2 is a diagram showing the configuration of a deep neural network.
- a neural network has an input layer 1 that receives input data, a hidden layer 2 (sometimes called an intermediate layer) that receives input data from input layer 1 and performs calculation processing, and a hidden layer 2 (sometimes called an intermediate layer) that receives output data of hidden layer 2 and performs calculation processing. It consists of an output layer 3 that performs the following steps.
- an input layer 1 receives input data
- a hidden layer 2 sometimes called an intermediate layer
- a hidden layer 2 sometimes called an intermediate layer
- It consists of an output layer 3 that performs the following steps.
- an output layer 3 that performs the following steps.
- the plurality of connection weights 11 each have a different connection weight coefficient and connect neurons.
- a plurality of input data are input to the neuron 10, and the neuron 10 performs a product-sum calculation operation on the plurality of input data and the corresponding connection weighting coefficients, and outputs the result as output data.
- the hidden layer 2 has a configuration in which multiple stages (four stages in Figure 2) of neurons are connected, forming a deep neural network, and the neural network shown in Figure 2 is a deep neural network. It is called.
- FIG. 3 is a diagram showing neuron calculations in neural network calculations.
- the calculation formulas performed by the neuron 10 are shown in formulas (1) and (2) in FIG.
- n inputs x1 to xn are connected by connection weights having connection weight coefficients w1 to wn, respectively, and a product-sum operation is performed between the inputs x1 to xn and the connection weight coefficients w1 to wn.
- the neuron 10 has a bias coefficient b, and the bias coefficient b is added to the product-sum operation result of the inputs x1 to xn and the connection weight coefficients w1 to wn.
- the neuron 10 has an activation function f, and performs calculation processing of the activation function on the result of adding a bias coefficient b to the sum of products of inputs x1 to xn and connection weighting coefficients w1 to wn, and outputs the result.
- y is output.
- FIG. 4 is a diagram showing the calculation when the calculation of the bias coefficient b is assigned to the input x0 and the connection weight coefficient w0 in the neuron calculation in the neural network calculation.
- the calculation formulas performed by the neuron 10 are shown in formulas (1) and (2) in FIG. In FIG. 3 described above, the neuron 10 performs the product-sum operation of the inputs x1 to xn and the connection weighting coefficients w1 to wn and the addition operation of the bias coefficient b, but as shown in FIG.
- the calculation of the neuron 10 can be simply expressed by only the product-sum operation of the inputs x0 to xn and the connection weighting coefficients w0 to wn.
- FIG. 5 is a diagram showing the neuron activation function f in neural network calculation.
- the horizontal axis is the input u of the activation function f
- the vertical axis is the output f(u) of the activation function f.
- the activation function f uses a step function. Note that although a step function is used as the activation function in this embodiment, there are other activation functions used in neural network calculations such as a sigmoid function, and the neural network calculation circuit of the present disclosure is limited to step functions. isn't it.
- FIG. 6 is a block diagram showing the overall configuration of the neural network calculation circuit according to the embodiment.
- the neural network calculation circuit of the present disclosure includes a memory cell array 20, a word line selection circuit 30, a column gate 40, a determination circuit 50, a write circuit 60, and a control circuit 70.
- the memory cell array 20 has non-volatile semiconductor memory elements arranged in a matrix, and the non-volatile semiconductor memory elements store connection weighting coefficients used in neural network calculations.
- the memory cell array 20 has a plurality of word lines WL0 to WLn, a plurality of bit lines BL0 to BLm, and a plurality of source lines SL0 to SLm.
- the word line selection circuit 30 is a circuit that drives word lines WL0 to WLn of the memory cell array 20. A word line is placed in a selected state or a non-selected state in response to the input of a neuron in a neural network operation.
- the column gate 40 is connected to bit lines BL0 to BLm and source lines SL0 to SLm, and selects a predetermined bit line and source line from a plurality of bit lines and a plurality of source lines, and the selected bit line and source line will be described later.
- This circuit is connected to the determination circuit 50 and the write circuit 60.
- the determination circuit 50 is connected to the bit lines BL0 to BLm and the source lines SL0 to SLm via the column gate 40, and is a circuit that detects the current value flowing in the bit lines or the source lines and outputs output data. It reads data stored in 20 memory cells and outputs output data of neurons in neural network calculations.
- the write circuit 60 is connected to the bit lines BL0 to BLm and the source lines SL0 to SLm via the column gate 40, and is a circuit that applies a rewrite voltage to the nonvolatile semiconductor storage elements of the memory cell array 20.
- the control circuit 70 is a circuit that controls the operations of the memory cell array 20, the word line selection circuit 30, the column gate 40, the determination circuit 50, and the write circuit 60, and controls the read operation, write operation, and neural network for the memory cells of the memory cell array 20. It consists of a processor etc. that controls calculation operations.
- FIG. 7 is a diagram showing a circuit diagram, a cross-sectional view, and applied voltages in each operation of the nonvolatile semiconductor memory element according to the embodiment.
- FIG. 7(a) is a circuit diagram of a memory cell MC, which is a nonvolatile semiconductor storage element that constitutes the memory cell array 20 in FIG. 6.
- the memory cell MC is composed of a variable resistance element RP and a cell transistor T0 connected in series, and is a "1T1R" type memory cell composed of one cell transistor T0 and one variable resistance element RP.
- the resistance change element RP is a nonvolatile semiconductor memory element called resistance change memory ReRAM (Resistive Random Access Memory).
- the word line WL of the memory cell MC is connected to the gate terminal of the cell transistor T0, the bit line BL is connected to the variable resistance element RP, and the source line SL is connected to the source terminal of the cell transistor T0.
- FIG. 7(b) is a cross-sectional view of the memory cell MC of FIG. 7(a).
- Diffusion regions 81a and 81b are formed on the semiconductor substrate 80, and the diffusion region 81a serves as the source terminal of the cell transistor T0, and the diffusion region 81b serves as the drain terminal of the cell transistor.
- the area between the diffusion regions 81a and 81b acts as a channel region of the cell transistor T0, and an oxide film 82 and a gate electrode 83 made of polysilicon are formed on this channel region to operate as the cell transistor T0.
- Diffusion region 81a which is the source terminal of cell transistor T0, is connected to source line SL, which is first wiring layer 85a, via via 84a.
- Diffusion region 81b which is the drain terminal of cell transistor T0, is connected to first wiring layer 85b via via 84b. Further, the first wiring layer 85b is connected to a second wiring layer 87 via a via 86, and the second wiring layer 87 is connected to a resistance change element RP via a via 88.
- the variable resistance element RP includes a lower electrode 89, a variable resistance layer 90, and an upper electrode 91. The variable resistance element RP is connected to the bit line BL, which is the third wiring layer 93, via the via 92.
- FIG. 7(c) is a diagram showing applied voltages in each operation mode of the memory cell MC in FIG. 7(a).
- the cell transistor T0 In the reset operation (increasing the resistance), the cell transistor T0 is set to a selected state by applying a voltage of Vg_reset (for example, 2V) to the word line WL, and a voltage of Vreset (for example, 2.0V) is applied to the bit line BL, Ground voltage VSS (0V) is applied to source line SL.
- Vg_reset for example, 2V
- Vreset for example, 2.0V
- VSS Ground voltage
- the cell transistor T0 is set to a selected state by applying a voltage of Vg_set (for example, 2.0 V) to the word line WL, the ground voltage VSS (0 V) is applied to the bit line BL, and the source A voltage of Vset (for example, 2.0V) is applied to the line SL.
- Vg_set for example, 2.0 V
- VSS ground voltage
- Vset for example, 2.0V
- the cell transistor T0 is set to a selected state by applying a voltage of Vg_read (for example, 1.1 V) to the word line WL, the voltage of Vread (for example, 0.4 V) is applied to the bit line BL, and the cell transistor T0 is set to a selected state by applying a voltage of Vg_read (for example, 1.1 V) to the word line WL.
- Vg_read for example, 1.1 V
- VSS ground voltage
- the resistance value of the variable resistance element RP is only in two resistance states (digital): a high resistance state (0 data) and a low resistance state (1 data).
- the resistance value of the variable resistance element RP is set to a multi-gradation (that is, analog) value.
- FIG. 1 is a diagram showing a detailed configuration of a neural network calculation circuit according to an embodiment.
- FIG. 1(a) is a diagram showing a neuron 10 used in neural network calculation by the neural network calculation circuit according to the embodiment, and is the same as FIG. 4.
- the neuron 10 receives n+1 inputs x0 to xn, each having a connection weighting coefficient w0 to wn. can take on multi-gradation (analog) values.
- the activation function f which is a step function shown in FIG. 5, is calculated on the product-sum calculation results of the inputs x0 to xn and the connection weighting coefficients w0 to wn, and an output y is output.
- 0 data and 1 data are examples of one and the other of a first logical value and a second logical value, respectively, that input data can selectively take.
- FIG. 1(b) is a diagram showing a detailed circuit configuration for performing arithmetic processing of the neuron 10 in FIG. 1(a).
- the memory cell array 20 has a plurality of word lines WL0 to WLn, a plurality of bit lines BL0, BL1, BL2, BL3, and a plurality of source lines SL0, SL1, SL2, SL3.
- the word lines WL0 to WLn correspond to the inputs x0 to xn of the neuron 10, and the input x0 is connected to the word line WL0, the input x1 is connected to the word line WL1, the input xn-1 is connected to the word line WLn-1, and the input xn is connected to the word line WLn-1. It corresponds to word line WLn.
- the word line selection circuit 30 is a circuit that selects or unselects the word lines WL0 to WLn according to the inputs x0 to xn. For example, when the input is 0 data, the word line is set to a non-selected state, and when the input is 1 data, the word line is set to the selected state.
- each of the inputs x0 to xn can take any value of 0 data or 1 data, so if there are multiple pieces of 1 data among the inputs x0 to xn, the word line selection circuit 30 selects multiple word lines. Multiple selections will be made at the same time.
- connection weight coefficients w0 to wn of the neurons 10 correspond to the calculation units PU0 to PUn made up of memory cells, and the connection weight coefficient w0 corresponds to the calculation unit PU0, the connection weight coefficient w1 corresponds to the calculation unit PU1, and the connection weight coefficient wn-1 corresponds to the calculation unit PUn-1, and the connection weighting coefficient wn corresponds to the calculation unit PUn.
- the arithmetic unit PU0 includes a first memory cell configured of a series connection of a resistance change element RPA0, which is an example of a first semiconductor memory element, and a cell transistor TPA0, which is an example of a first cell transistor; A second memory cell configured by series connection of a resistance change element RPB0, which is an example of a semiconductor memory element, and a cell transistor TPB0, which is an example of a second cell transistor, and a resistor, which is an example of a third semiconductor memory element.
- a third memory cell composed of a series connection of a variable element RNA0 and a cell transistor TNA0 which is an example of a third cell transistor, a variable resistance element RNB0 which is an example of a fourth semiconductor memory element, and a fourth cell.
- a fourth memory cell is connected in series with a cell transistor TNB0, which is an example of a transistor. That is, one arithmetic unit is composed of four memory cells.
- the first semiconductor memory element and the second semiconductor memory element are used to store a positive coupling weighting coefficient among one coupling weighting coefficient, and the positive coupling weighting coefficient is This corresponds to a total current value obtained by adding up the current value of the current flowing through the semiconductor storage element and the current value of the current flowing through the second semiconductor storage element.
- the third semiconductor memory element and the fourth semiconductor memory element are used to store a negative coupling weighting coefficient among one coupling weighting coefficient, and the negative coupling weighting coefficient is This corresponds to a total current value obtained by adding up the current value of the current flowing through the third semiconductor storage element and the current value of the current flowing through the fourth semiconductor storage element.
- the arithmetic unit PU0 has a word line WL0 which is an example of a first word line, a bit line BL0 which is an example of a first data line, a bit line BL1 which is an example of a third data line, and a fifth data line.
- a bit line BL2 which is an example, a bit line BL3 which is an example of a seventh data line, a source line SL0 which is an example of a second data line, a source line SL1 which is an example of a fourth data line, and a sixth data line. It is connected to a source line SL2, which is an example of a line, and a source line SL3, which is an example of an eighth data line.
- Word line WL0 is connected to the gate terminals of cell transistors TPA0, TPB1, TNA0, TNB0, bit line BL0 is connected to resistance change element RPA0, bit line BL1 is connected to resistance change element RPB0, source line SL0 is connected to the source terminal of cell transistor TPA0, The source line SL1 is connected to the source terminal of the cell transistor TPB0, the bit line BL2 is connected to the variable resistance element RNA0, the bit line BL3 is connected to the variable resistance element RNB0, the source line SL2 is connected to the source terminal of the cell transistor TNA0, and the source line SL3 is connected to the cell transistor Connected to the source terminal of TNB0.
- the input x0 is input through the word line WL0 of the arithmetic unit PU0, and the coupling weighting coefficient w0 is stored as a resistance value (in other words, conductance) in the four resistance change elements RPA0, RPB0, RNA0, and RNB0 of the arithmetic unit PU0.
- the configurations of the arithmetic units PU1, PUn-1, and PUn are also similar to the configuration of the arithmetic unit PU0, so a detailed explanation will be omitted.
- inputs x0 to xn are inputted by word lines WL0 to WLn connected to arithmetic units PU0 to PUn, respectively, and coupling weighting coefficients w0 to wn are input to resistance change elements RPA0 to RPAn and RPB0 to RPBn of arithmetic units PU0 to PUn, respectively.
- resistance change elements RPA0 to RPAn and RPB0 to RPBn are input to resistance change elements RPA0 to RPAn and RPB0 to RPBn of arithmetic units PU0 to PUn, respectively.
- RNA0 to RNAn, and RNB0 to RNBn as resistance values (in other words, conductance).
- Bit lines BL0 and BL1 are connected to determination circuit 50 via column gate transistors YT0 and YT1, respectively.
- Bit lines BL2 and BL3 are connected to determination circuit 50 via column gate transistors YT2 and YT3.
- the gate terminals of the column gate transistors YT0, YT1, YT2, and YT3 are connected to the column gate control signal YG, and when the column gate control signal YG is activated, the bit lines BL0, BL1, BL2, and BL3 are connected to the determination circuit 50. Connected.
- Source lines SL0, SL1, SL2, and SL3 are connected to the ground voltage via discharge transistors DT0, DT1, DT2, and DT3, respectively.
- the gate terminals of the discharge transistors DT0, DT1, DT2, and DT3 are connected to the discharge control signal DIS, and when the discharge control signal DIS is activated, the source lines SL0, SL1, SL2, and SL3 are set to the ground voltage.
- bit lines BL0, BL1, BL2, and BL3 are connected to the determination circuit 50, and source lines SL0, SL1, SL2, and SL3 are connected to the determination circuit 50. Connect to ground voltage.
- the determination circuit 50 sums up the current values flowing through the bit line BL0 and the bit line BL1 connected via the column gate transistors YT0, YT1, YT2, and YT3 (the value obtained by this summation is called a "first summed current value”). ) and the sum of the current values flowing through the bit line BL2 and bit line BL3 (the value obtained by this summation is also called the "third summed current value”), and the detected first summed current value is detected.
- This is a circuit that compares the current value and the third total current value and outputs an output y.
- the output y can take either 0 data or 1 data.
- the determination circuit 50 outputs 0 data y when the first summed current value is smaller than the third summed current value, and when the first summed current value is larger than the third summed current value. In this case, 1 data output y is output. That is, the determination circuit 50 is a circuit that determines the magnitude relationship between the first total current value and the third total current value, and outputs an output y.
- the determination circuit 50 determines the sum of the current values flowing through the source line SL0 and the source line SL1 (the value obtained by this sum). (also referred to as the "second total current value”) and the sum of the current values flowing through the source line SL2 and source line SL3 (the value obtained by this summation is also referred to as the "fourth total current value"). However, the detected second total current value and fourth total current value may be compared to output the output y.
- the current flowing through the bit line BL0 (strictly speaking, the column gate transistor YT0) and the current flowing through the source line SL0 (strictly speaking, the discharge transistor DT0) are equal, and the current flowing through the bit line BL1 (strictly speaking, the column gate transistor YT1) is equal.
- the current flowing through the source line SL1 (strictly speaking, the discharge transistor DT1) is equal to the current flowing through the bit line BL2 (strictly speaking, the column gate transistor YT2) and the current flowing through the source line SL2 (strictly speaking, the discharge transistor DT2).
- ) is equal to the current flowing through the bit line BL3 (strictly speaking, the column gate transistor YT3) and the current flowing through the source line SL3 (strictly speaking, the discharge transistor DT3).
- the determination circuit 50 determines the magnitude relationship between the first total current value or the second total current value and the third total current value or fourth total current value, and determines the first logical value or the second total current value. Data with a logical value of 2 may be output.
- the determination circuit 50 converts the first to fourth total current values into voltages. A similar determination may be made using the first to fourth voltage values corresponding to .
- the first semiconductor memory element and the second semiconductor memory element have a first total current value or a second total current value, and the corresponding coupling weight coefficient is a positive value.
- a positive-valued connection weighting coefficient is held such that the current value corresponds to the product-sum calculation result of a plurality of input data and the corresponding positive-valued connection weighting coefficient.
- the third semiconductor memory element and the fourth semiconductor memory element each include a plurality of input data whose third total current value or fourth total current value has a corresponding coupling weighting coefficient of a negative value; It holds negative-valued connection weighting coefficients that provide a current value corresponding to the product-sum calculation result with the corresponding negative-valued connection weighting coefficients.
- each arithmetic unit of this embodiment in order to simplify the explanation, an example has been described in which a positive weighting coefficient is configured with two memory cells and a negative weighting coefficient is configured with two memory cells.
- the weighting coefficient and the negative weighting coefficient can each be configured from one memory cell to n memory cells, and the configuration is not limited.
- each arithmetic unit according to the present disclosure is characterized in that at least one of a positive weighting coefficient and a negative weighting coefficient is composed of two or more memory cells.
- each arithmetic unit of the present disclosure does not necessarily have to include both a positive weighting factor and a negative weighting factor, but may include one weighting factor (i.e., an unsigned weighting factor) consisting of at least two memory cells. Good too.
- FIG. 9 is a diagram illustrating calculations illustrating the operating principle of the neural network arithmetic circuit and the operation of the arithmetic unit according to the embodiment.
- FIG. 9(a) is a diagram showing calculations showing the operating principle of the neural network calculation circuit according to the embodiment.
- the calculation performed by the neuron 10 is to calculate an activation function f, which is a step function, on the product-sum calculation result of the input xi and the connection weighting coefficient wi. It is something.
- equation (2) in FIG. The feature is that a sum-of-products calculation is performed with the current value Ii flowing through the variable element.
- connection weighting coefficient wi in the neural network calculation takes both a positive value ( ⁇ 0) and a negative value ( ⁇ 0), and in the product-sum calculation operation, the product of the input xi and the connection weighting coefficient wi is a positive value. If the value is negative, addition is performed, and if the value is negative, subtraction is performed. However, since the current value Ii flowing through the resistance change element can only take positive values, the addition operation when the product of the input xi and the coupling weighting coefficient wi is a positive value can be realized by adding the current values Ii. However, in order to perform a subtraction operation using a positive current value Ii when the product of the input xi and the connection weighting coefficient wi is a negative value, some ingenuity is required.
- FIG. 9(b) is a diagram showing the operation of the arithmetic unit PUi according to the embodiment.
- the configuration of the arithmetic unit PUi is as described in FIGS. 1(a) and 1(b), and detailed description thereof will be omitted.
- the neural network calculation circuit of the present disclosure is characterized in that the connection weighting coefficient wi is stored in the four resistance change elements RPA0, RPB0, RNA0, RNB0, and the resistance value set in the resistance change element RPA0 is set to Rpai, the resistance change element
- the resistance value set to RPB0 is Rpbi
- the resistance value set to variable resistance element RNA0 is Rnai
- the resistance value set to variable resistance element RNB0 is Rnbi
- the voltage applied to bit lines BL0, BL1, BL2, BL3 is Vbl.
- the sum of the current values flowing through the variable resistance elements RPA0 and RPB0 is Ipi
- the sum of the current values flowing through the variable resistance elements RNA0 and RNB0 is Ini.
- the neural network calculation circuit of the present disclosure is characterized in that a positive product-sum calculation result is added to the currents flowing through the bit lines BL0 and BL1, and a negative product-sum calculation result is added to the currents flowing through the bit lines BL2 and BL3.
- the resistance values Rpai, Rpbi, Rnai, and Rnbi (in other words, the current values Ipi and Ini) of the variable resistance elements RPA0, RPB0, RNA0, and RNB0 are set so that the current flows as described above.
- the neuron 10 By connecting this arithmetic unit PUi in parallel to the bit lines BL0, BL1, BL2, BL3 by the number of inputs x0 to xn (corresponding connection weighting coefficients w0 to wn) as shown in FIG. 1(b), the neuron 10
- the positive sum-of-products calculation result can be obtained as the first summed current value flowing through the bit lines BL0 and BL1
- the negative sum-of-products calculation result can be obtained as the third summed current value flowing through the bit lines BL2 and BL3.
- Equations (3), (4), and (5) in FIG. 9(a) show calculations for the above-mentioned operations. That is, by appropriately writing resistance values Rpai, Rpbi, Rnai, and Rnbi corresponding to the coupling weighting coefficient wi to the resistance change elements RPA0, RPB0, RNA0, and RNB0 of the arithmetic unit PUi, positive values are applied to the bit lines BL0 and BL1. As a result of the sum-of-products calculation, it is possible to obtain current values corresponding to the negative sum-of-products calculation result on the bit lines BL2 and BL3.
- the activation function f is a step function (0 data output when the input is a negative value ( ⁇ 0), 1 data output when the input is a positive value ( ⁇ 0) ), the sum of the current values flowing to the bit lines BL0 and BL1 (that is, the first total current value), which is the positive product-sum calculation result, flows to the bit lines BL2 and BL3, which is the negative product-sum calculation result.
- the neural network operation of the neuron 10 is performed by the resistance change element RPA0. , RPB0, RNA0, and RNB0 using arithmetic unit PUi.
- FIG. 10 is a diagram showing detailed operations of the arithmetic unit according to the embodiment.
- FIG. 10(a) is a diagram showing the operation of the arithmetic unit PUi.
- FIG. 10(a) is the same as FIG. 9(b), so detailed explanation will be omitted.
- the operation of calculating the sum of products between the input xi and the connection weighting coefficient wi in the calculation unit PUi will be described below.
- FIG. 10(b) is a diagram showing the state of the word line WLi with respect to the input xi of the arithmetic unit PUi according to the embodiment.
- the input xi takes either 0 data or 1 data, and when the input xi is 0 data, the word line WLi is in a non-selected state, and when the input xi is 1 data, the word line WLi is in a selected state.
- Ru Word line WLi is connected to the gate terminals of cell transistors TPA0, TPB0, TNA0, and TNB0, and when word line WLi is in a non-selected state, cell transistors TPA0, TPB0, TNA0, and TNB0 are in an inactive state (blocked state).
- FIG. 10(c) is a diagram showing the current ranges of the variable resistance elements RPA, RPB, RNA, and RNB of the arithmetic unit PUi according to the embodiment.
- the possible range of the current values flowing through the resistance change elements RPA, RPB, RNA, and RNB will be described from the minimum value Imin to the maximum value Imax.
- of the connection weighting coefficient input to the neuron is normalized to be in the range of 0 to 1, and the current value (that is, analog value) proportional to the normalized connection weighting coefficient
- the current value to be written to the resistance change element is determined so that
- FIG. 11 is a diagram for explaining a method of writing a coupling weighting coefficient into a resistance change element of an arithmetic unit according to an embodiment using storage method 1.
- FIG. 11A is a diagram showing calculation of current values for writing coupling weighting coefficients into resistance change elements RPA, RPB, RNA, and RNB of arithmetic unit PUi using storage method 1.
- the coupling weighting coefficient wi is a positive value ( ⁇ 0) and smaller than half ( ⁇ 0.5)
- a current value that is twice the current value Imax that can be written to one memory cell is used.
- the product-sum operation result ( ⁇ 0) of the input xi (0 data or 1 data) and the connection weight coefficient wi ( ⁇ 0) is used as the current of the positive product-sum operation result. is added as a current value to the bit line BL0 through which the current flows. For this purpose, a current value Imin+(Imax-Imin) ⁇
- resistance values Rpbi, Rnai, and Rnbi that correspond to a current value Imin are written to the variable resistance elements RPB, RNA, and RNB connected to the bit lines BL1, BL2, and BL3.
- the neural network calculation circuit of the present disclosure can reduce the current value Imax that can be written into one memory cell.
- a resistance value Rpai through which the current value Imin+(Imax-Imin) flows is written to the variable resistance element RPA connected to the bit line BL0. conduct.
- a resistance value Rpbi through which a current value Imin+(Imax-Imin) ⁇
- resistance values Rnai and Rnbi that correspond to a current value Imin are written to the resistance change elements RNA and RNB connected to the bit lines BL2 and BL3.
- the coupling weighting coefficient wi is a negative value ( ⁇ 0) and larger than half (>-0.5)
- the current value Imax that can be written to one memory cell is Since the coupling weighting coefficient wi ( ⁇ 0) is configured with a current value twice that of , a current value Imin+ proportional to the absolute value of the coupling weighting coefficient
- resistance values Rpai, Rpbi, and Rnbi that correspond to a current value Imin are written to the resistance change elements RPA, RPB, and RNB connected to the bit lines BL0, BL1, and BL3.
- the coupling weighting coefficient wi is a negative value ( ⁇ 0) and is equal to or less than 1/2 ( ⁇ -0.5)
- the current value Imax that can be written to one memory cell is In order to configure the coupling weighting coefficient wi ( ⁇ 0) with a current value twice as large as I do.
- ⁇ 2-(Imax-Imin) flows is written into the resistance change element RNB connected to the bit line BL3.
- resistance values Rpai and Rpbi that correspond to a current value Imin (corresponding to a coupling weighting coefficient of 0) are written to the resistance change elements RPA and RPB connected to the bit lines BL0 and BL1.
- FIG. 11(b) is a diagram showing the product-sum operation of the input xi of the arithmetic unit PUi into which the connection weight coefficients have been written using the storage method 1 and the connection weight coefficients wi.
- the product-sum calculation result xi ⁇ wi will be 0 regardless of the value of the connection weighting coefficient wi. Since the input xi is 0 data, the word line WLi is in a non-selected state, and the cell transistors TPA0, TPB0, TNA0, and TNB0 are in an inactive state (blocked state), so the bit lines BL0, BL1, BL2, and BL3 are The flowing current values Ipi and Ini are zero.
- the product-sum operation result xi ⁇ wi is a positive value ( ⁇ 0). Since the input xi is 1 data, the word line WLi is in the selected state, and the cell transistors TPA0, TPB0, TNA0, and TNB0 are in the activated state (connected state), so the resistance of the resistance change elements RPA, RPB, RNA, and RNB is Based on the values, the currents Ipi and Ini explained in FIG. 11(a) flow through the bit lines BL0, BL1, BL2, and BL3.
- ) ⁇ 2 is a current corresponding to the product-sum calculation result xi ⁇ wi ( ⁇ 0) of the input xi and the coupling weighting coefficient wi, and a larger amount of current flows through the bit lines BL0 and BL1 than the bit lines BL2 and BL3.
- the product-sum operation result xi ⁇ wi becomes a negative value ( ⁇ 0). Since the input xi is 1 data, the word line WLi is in the selected state, and the cell transistors TPA0, TPB0, TNA0, and TNB0 are in the activated state (connected state), so the resistance of the resistance change elements RPA, RPB, RNA, and RNB is Based on the values, the currents Ipi and Ini explained in FIG. 11(a) flow through the bit lines BL0, BL1, BL2, and BL3.
- ) ⁇ 2 corresponds to the product-sum calculation result xi ⁇ wi ( ⁇ 0) of the input xi and the coupling weighting coefficient wi, and a larger amount of current flows in the bit lines BL2 and BL3 than in the bit lines BL0 and BL1.
- the product-sum operation results of the neurons 10 flow to the bit lines BL0 and BL1. It can be obtained as a difference current between the current and the current flowing through the bit lines BL2 and BL3.
- each arithmetic unit consists of two memory cells
- the current value flowing through each arithmetic unit can be doubled (that is, the dynamic range can be expanded), and the neural It becomes possible to improve the performance of product-sum calculations in network calculation circuits.
- an arithmetic unit in which a positive weighting coefficient is configured with two memory cells and a negative weighting coefficient is configured with two memory cells is used as an example.
- the weighting coefficient and the negative weighting coefficient can each be configured from one memory cell to n memory cells, and the configuration is not limited.
- the coupling weighting coefficient wi can be configured with a current value n times larger.
- the neural network arithmetic circuit according to the present disclosure is characterized in that at least one of a positive weighting coefficient and a negative weighting coefficient is composed of two or more memory cells.
- FIG. 12 is a diagram for explaining a method of writing a coupling weighting coefficient into the resistance change element of the arithmetic unit according to the embodiment using storage method 2.
- FIG. 12A is a diagram showing calculation of current values for writing coupling weighting coefficients into resistance change elements RPA, RPB, RNA, and RNB of arithmetic unit PUi using storage method 2.
- the coupling weighting coefficient wi ( ⁇ 0) is configured with a current value that is half of the current value Imax that can be written into one memory cell, so the coupling weighting coefficient wi is a positive value ( ⁇ 0).
- the product-sum operation result ( ⁇ 0) of the input xi (0 data or 1 data) and the coupling weighting coefficient wi ( ⁇ 0) is connected to the resistor connected to the bit line BL0 through which the current of the positive product-sum operation result flows.
- /2 flows is written. Further, resistance values Rnai and Rnbi that correspond to a current value Imin (corresponding to a coupling weighting coefficient of 0) are written to the resistance change elements RNA and RNB connected to the bit lines BL2 and BL3.
- connection weighting coefficient wi is a negative value ( ⁇ 0)
- the product-sum operation result ( ⁇ 0) of the input xi (0 data or 1 data) and the connection weighting coefficient wi ( ⁇ 0) is For the resistance change element RNA connected to the bit line BL2 through which the current of the calculation result flows, Imin+(Imax-Imin) ⁇
- the absolute value of the coupling weight coefficient is written to the resistance change element RNB connected to the bit line BL3.
- a resistance value Rnbi is written so that Imin+(Imax-Imin) ⁇
- FIG. 12(b) is a diagram showing a product-sum calculation operation of the input xi of the calculation unit PUi in which the connection weight coefficient is written by the storage method 2 and the connection weight coefficient wi.
- the product-sum operation result xi ⁇ wi is a positive value ( ⁇ 0). Since the input xi is 1 data, the word line WLi is in the selected state, and the cell transistors TPA0, TPB0, TNA0, and TNB0 are in the activated state (connected state), so the resistance of the resistance change elements RPA, RPB, RNA, and RNB is Based on the values, the currents Ipi and Ini explained in FIG. 12(a) flow through the bit lines BL0, BL1, BL2, and BL3.
- ) flows through the bit lines BL0 and BL1 more than the bit lines BL2 and BL3 as a current corresponding to the product-sum calculation result xi ⁇ wi ( ⁇ 0) of the input xi and the coupling weighting coefficient wi.
- the product-sum operation result xi ⁇ wi becomes a negative value ( ⁇ 0). Since the input xi is 1 data, the word line WLi is in the selected state, and the cell transistors TPA0, TPB0, TNA0, and TNB0 are in the activated state (connected state), so the resistance of the resistance change elements RPA, RPB, RNA, and RNB is Based on the values, the currents Ipi and Ini explained in FIG. 12(a) flow through the bit lines BL0, BL1, BL2, and BL3.
- the product-sum operation results of the neurons 10 flow to the bit lines BL0 and BL1. It can be obtained as a difference current between the current and the current flowing through the bit lines BL2 and BL3.
- each arithmetic unit consists of two memory cells
- the current value flowing through each arithmetic unit can be halved, and the high performance of the product-sum operation in the neural network arithmetic circuit is improved. becomes possible.
- arithmetic unit in which a positive weighting coefficient is configured with two memory cells and a negative weighting coefficient is configured with two memory cells is explained as an example.
- the weighting coefficient and the negative weighting coefficient can each be configured from one memory cell to n memory cells, and the configuration is not limited.
- the coupling weighting coefficient wi can be configured with a current value of 1/n.
- the neural network arithmetic circuit according to the present disclosure is characterized in that at least one of a positive weighting coefficient and a negative weighting coefficient is composed of two or more memory cells.
- FIG. 13 is a diagram for explaining a method of writing a coupling weighting coefficient into the resistance change element of the arithmetic unit according to the embodiment using storage method 3.
- FIG. 13A is a diagram showing calculation of current values for writing coupling weighting coefficients into resistance change elements RPA, RPB, RNA, and RNB of arithmetic unit PUi using storage method 3.
- connection weighting coefficient wi is a positive value ( ⁇ 0) and smaller than 1/2 ( ⁇ 0.5)
- the product-sum operation of the input xi (0 data or 1 data) and the connection weighting coefficient wi ( ⁇ 0) is performed.
- is written.
- connection weight coefficient wi is a positive value ( ⁇ 0) and is equal to or more than half ( ⁇ 0.5)
- flows is written.
- resistance values Rnai and Rnbi that correspond to a current value Imin are written to the resistance change elements RNA and RNB connected to the bit lines BL2 and BL3.
- connection weighting coefficient wi is a negative value ( ⁇ 0) and larger than half (>-0.5)
- the input xi (0 data or 1 data) and the connection weighting coefficient wi ( ⁇ 0) are In order to add the product-sum calculation result ( ⁇ 0) as a current value to the bit line BL2 through which the current of the negative product-sum calculation result flows, a coupling weighting coefficient is applied to the resistance change element RNA connected to the bit line BL2.
- a resistance value Rnai is written in which a current value Imin+(Imax-Imin) ⁇
- the writing algorithm is changed depending on the size of the connection weight coefficient wi, so if the connection weight coefficient wi is a negative value ( ⁇ 0) and is less than or equal to 1/2 ( ⁇ -0.5) , in order to add the positive product-sum calculation result to the bit line BL3 as a current value, a current value Imin+ proportional to the absolute value
- flows is written. Further, resistance values Rpai and Rpbi that correspond to a current value Imin (corresponding to a coupling weighting coefficient of 0) are written to the resistance change elements RPA and RPB connected to the bit lines BL0 and BL1.
- FIG. 13(b) is a diagram showing the product-sum operation of the input xi of the arithmetic unit PUi into which the connection weight coefficients have been written using the storage method 3 and the connection weight coefficients wi.
- the product-sum operation result xi ⁇ wi is a positive value ( ⁇ 0). Since the input xi is 1 data, the word line WLi is in the selected state, and the cell transistors TPA0, TPB0, TNA0, and TNB0 are in the activated state (connected state), so the resistance of the resistance change elements RPA, RPB, RNA, and RNB is Based on the values, the currents Ipi and Ini explained in FIG. 13(a) flow through the bit lines BL0, BL1, BL2, and BL3.
- ) flows through the bit lines BL0 and BL1 more than the bit lines BL2 and BL3 as a current corresponding to the product-sum calculation result xi ⁇ wi ( ⁇ 0) of the input xi and the coupling weighting coefficient wi.
- the product-sum operation result xi ⁇ wi becomes a negative value ( ⁇ 0). Since the input xi is 1 data, the word line WLi is in the selected state, and the cell transistors TPA0, TPB0, TNA0, and TNB0 are in the activated state (connected state), so the resistance of the resistance change elements RPA, RPB, RNA, and RNB is Based on the values, the currents Ipi and Ini explained in FIG. 13(a) flow through the bit lines BL0, BL1, BL2, and BL3.
- Difference current ((Imax-Imin) x
- the product-sum operation results of the neurons 10 flow to the bit lines BL0 and BL1. It can be obtained as a difference current between the current and the current flowing through the bit lines BL2 and BL3.
- each arithmetic unit includes two memory cells
- different semiconductor storage elements are used to write the coupling weighting coefficient depending on the value of the coupling weighting coefficient. It becomes possible to change the write algorithm, and it becomes possible to improve the reliability of the semiconductor memory element.
- the positive weighting coefficient is configured with two memory cells and the negative weighting coefficient is configured with two memory cells is explained as an example.
- the weighting coefficient and the negative weighting coefficient can each be configured from one memory cell to n memory cells, and the configuration is not limited. In that case, it becomes possible to write the connection weight coefficient wi using n types of rewriting algorithms.
- the neural network arithmetic circuit according to the present disclosure is characterized in that at least one of a positive weighting coefficient and a negative weighting coefficient is composed of two or more memory cells.
- FIG. 14 is a diagram for explaining the configuration of a neural network calculation circuit according to a specific example.
- FIG. 14(a) is a diagram showing a neuron 10 constituting a neural network calculation circuit according to a specific example.
- FIG. 14(b) is a diagram showing a specific example of the connection weighting coefficient of the neuron 10 shown in FIG. 14(a).
- the neuron 10 has four inputs x0 to x3 and corresponding connection weighting coefficients w0 to w3, and the calculation performed by the neuron 10 is calculated using the equation (1) in FIG. 14(a). ).
- the activation function f of the neuron 10 is a step function.
- FIG. 14(c) is a diagram showing a detailed configuration of a neural network calculation circuit according to a specific example.
- the neural network calculation circuit according to this specific example is a neuron with 4 inputs and 1 output, and includes four calculation units PU0 to PU3 that store connection weighting coefficients w0 to w3, and four word lines corresponding to inputs x0 to x3.
- bit line BL0 to which variable resistance elements RPA0, RPA1, RPA2, RPA3 and cell transistors TPA0, TPA1, TPA2, TPA3 are connected
- source line SL0 variable resistance elements RPB0, RPB1, RPB2, RPB3 and cell transistor TPB0 , TPB1, TPB2, TPB3 are connected to bit line BL1, source line SL1, resistance change elements RNA0, RNA1, RNA2, RNA3 and cell transistors TNA0, TNA1, TNA2, TNA3 are connected to bit line BL2, source line SL2, It includes a bit line BL3 and a source line SL3 to which resistance change elements RNB0, RNB1, RNB2, RNB3 and cell transistors TNB0, TNB1, TNB2, TNB3 are connected.
- word lines WL0 to WL3 are respectively set to a selected state or a non-selected state according to inputs x0 to x3, and cell transistors TPA0 to TPA3, TPB0 to TPB3, TNA0 to TNA3, TNB0 to TNB3 are set to a selected state and a non-selected state.
- the bit lines BL0, BL1, BL2, BL3 are supplied with bit line voltage from the determination circuit 50 via column gates YT0, YT1, YT2, YT3, and the source lines SL0, SL1, SL2, SL3 are supplied with discharge transistors DT0, DT1, DT2. , DT3 to the ground voltage.
- the determination circuit 50 outputs an output y by detecting and determining the magnitude relationship between the sum of the currents flowing through the bit lines BL0 and BL1 and the sum of the currents flowing through the bit lines BL2 and BL3. That is, when the product-sum operation result of the neuron 10 is a negative value ( ⁇ 0), 0 data is output, and when the result is a positive value ( ⁇ 0), 1 data is output.
- the determination circuit 50 outputs the calculation result of the activation function f (step function) which inputs the product-sum calculation result.
- FIG. 15 is a diagram showing a specific example of current values according to storage method 1. More specifically, (a) of FIG. 15 and (b) of FIG. 15 respectively show the currents of the resistance change elements RPA, RPB, RNA, and RNB of the arithmetic units PU0 to PU3 when writing the coupling weighting coefficients using the storage method 1.
- FIG. 3 is a diagram showing a range and current values written to resistance change elements RPA, RPB, RNA, and RNB. As shown in FIG. 15(a), in storage method 1, the range of current values that can be passed by each memory cell of the resistance change elements RPA, RPB, RNA, and RNB is from 0 ⁇ A to 50 ⁇ A.
- connection weighting coefficients w0 to w3 are first normalized to fall within the range of 0 to 1.
- FIG. 15(a) shows the current values to be written to the resistance change elements RPA, RPB, RNA, and RNB of the arithmetic units PU0 to PU3.
- FIG. 15(b) shows the calculation results of the current values written to the resistance change elements RPA, RPB, RNA, and RNB.
- the normalized value of the coupling weighting coefficient w0 is +0.2, which is a positive value and is smaller than +0.5, so the current value written to the resistance change element RPA is 20 ⁇ A, the current value written to the resistance change element RPB is 0 ⁇ A, and the current value written to the resistance change element RPB is 0 ⁇ A.
- the current value written to the variable element RNA is 0 ⁇ A
- the current value written to the variable resistance element RNB is 0 ⁇ A.
- the normalized value of the coupling weighting coefficient w1 is -0.4, which is a negative value and is larger than -0.5, so the current value written to the variable resistance element RPA is 0 ⁇ A, and the current value written to the variable resistance element RPB is 0 ⁇ A.
- the current value written to the resistance change element RNA is 40 ⁇ A
- the current value written to the resistance change element RNB is 0 ⁇ A.
- the normalized value of the coupling weighting coefficient w2 is -0.8, which is a negative value and is less than -0.5, so the current value written to the variable resistance element RPA is 0 ⁇ A, and the current value written to the variable resistance element RPB is 0 ⁇ A.
- the current value written to the resistance change element RNA is 50 ⁇ A
- the current value written to the resistance change element RNB is 30 ⁇ A.
- the normalized value of the coupling weighting coefficient w3 is +1.0, which is a positive value and is greater than +0.5, so the current value written to the variable resistance element RPA is 50 ⁇ A, the current value written to the variable resistance element RPB is 50 ⁇ A, and the current value written to the variable resistance element RPB is 50 ⁇ A.
- the current value written to the variable element RNA is 0 ⁇ A
- the current value written to the variable resistance element RNB is 0 ⁇ A.
- the dynamic range which was 50 ⁇ A with 2-bit variable resistance elements, can be used up to 100 ⁇ A.
- an arithmetic unit in which a positive weighting coefficient is configured with two memory cells and a negative weighting coefficient is configured with two memory cells is used as an example.
- the positive weighting coefficient and the negative weighting coefficient can each be configured from one memory cell to n memory cells, and the configuration is not limited.
- the neural network arithmetic circuit according to the present disclosure is characterized in that at least one of a positive weighting coefficient and a negative weighting coefficient is composed of two or more memory cells.
- FIG. 16 is a diagram showing a specific example of current values according to storage method 2. More specifically, (a) of FIG. 16 and (b) of FIG. 16 respectively show the currents of the resistance change elements RPA, RPB, RNA, and RNB of the arithmetic units PU0 to PU3 when writing the coupling weighting coefficients by the storage method 2.
- FIG. 3 is a diagram showing a range and current values written to resistance change elements RPA, RPB, RNA, and RNB. As shown in FIG. 16(a), in storage method 2, the range of the current value that can be passed by each memory cell of the resistance change elements RPA, RPB, RNA, and RNB is from 0 ⁇ A to 25 ⁇ A.
- connection weighting coefficients w0 to w3 are first normalized to fall within the range of 0 to 1.
- the current values to be written to the resistance change elements RPA, RPB, RNA, and RNB of the arithmetic units PU0 to PU3 are determined using the normalized connection weighting coefficients.
- FIG. 16(b) shows the calculation results of the current values written to the resistance change elements RPA, RPB, RNA, and RNB. Since the normalized value of the coupling weighting coefficient w0 is +0.2, which is a positive value, the current value written to the resistance change element RPA is 5 ⁇ A, the current value written to the resistance change element RPB is 5 ⁇ A, and the current value written to the resistance change element RNA.
- the value is 0 ⁇ A, and the current value written to the resistance change element RNB is 0 ⁇ A. Since the normalized value of the coupling weighting coefficient w1 is -0.4, which is a negative value, the current value written to the variable resistance element RPA is 0 ⁇ A, the current value written to the variable resistance element RPB is 0 ⁇ A, and the current value written to the variable resistance element RNA is 0 ⁇ A. The current value is 10 ⁇ A, and the current value written to the resistance change element RNB is 10 ⁇ A.
- the current value written to the variable resistance element RPA is 0 ⁇ A
- the current value written to the variable resistance element RPB is 0 ⁇ A
- the current value written to the variable resistance element RNA is 0 ⁇ A.
- the current value is 20 ⁇ A
- the current value written to the resistance change element RNB is 20 ⁇ A.
- the normalized value of the coupling weighting coefficient w3 is +1.0, which is a positive value
- the current value written to the resistance change element RPA is 25 ⁇ A
- the current value written to the resistance change element RPB is 25 ⁇ A
- the current value written to the resistance change element RNA is 25 ⁇ A
- the value is 0 ⁇ A
- the current value written to the resistance change element RNB is 0 ⁇ A.
- FIG. 17 is a diagram comparing the current value (vertical axis) obtained as the product-sum calculation result with respect to the ideal value (horizontal axis) of the product-sum calculation result between the conventional technology and this embodiment.
- the arithmetic unit consists of a 2-bit variable resistance element, so multiple analog voltage values corresponding to multiple inputs are applied to multiple nonvolatile memory elements, and the voltage flows to the multiple nonvolatile memory elements.
- the analog current values obtained by summing the current values are the positive product-sum calculation results and the negative product-sum calculation results, which are each summed up on one bit line to obtain the product-sum calculation result. Therefore, the summed analog current is affected by parasitic resistance It becomes saturated due to the influence of the control circuit, and the product-sum operation cannot be executed accurately.
- the arithmetic unit is configured with a 4-bit variable resistance element, a plurality of analog voltage values corresponding to a plurality of inputs are applied to a plurality of nonvolatile memory elements, and a plurality of nonvolatile memory
- the sum-of-products calculation results in which the analog current values obtained by summing the current values flowing through the elements, are positive and negative are divided into two bit lines and summed, respectively, to obtain the sum-of-products calculation results. Therefore, the summed analog current is less affected by parasitic resistances and control circuits, and by alleviating saturation, it becomes possible to accurately execute product-sum calculations.
- an arithmetic unit in which a positive weighting coefficient is configured with two memory cells and a negative weighting coefficient is configured with two memory cells is used as an example.
- the positive weighting coefficient and the negative weighting coefficient can each be configured from one memory cell to n memory cells, and the configuration is not limited.
- the neural network arithmetic circuit according to the present disclosure is characterized in that at least one of a positive weighting coefficient and a negative weighting coefficient is composed of two or more memory cells.
- FIG. 18 is a diagram showing a specific example of current values according to storage method 3. More specifically, (a) in FIG. 18 and (b) in FIG. 18 respectively show the currents of the resistance change elements RPA, RPB, RNA, and RNB of the arithmetic units PU0 to PU3 when writing the coupling weighting coefficients by the storage method 3.
- FIG. 3 is a diagram showing a range and current values written to resistance change elements RPA, RPB, RNA, and RNB. As shown in FIG. 18(a), in storage method 3, the range of the current value that can be passed by each memory cell of the resistance change elements RPA, RPB, RNA, and RNB is from 0 ⁇ A to 50 ⁇ A.
- connection weighting coefficients w0 to w3 are first normalized to fall within the range of 0 to 1.
- FIG. 18(a) shows the current values to be written to the resistance change elements RPA, RPB, RNA, and RNB of the arithmetic units PU0 to PU3 using the normalized coupling weighting coefficients.
- FIG. 18(b) shows the calculation results of the current values written to the resistance change elements RPA, RPB, RNA, and RNB.
- the normalized value of the coupling weighting coefficient w0 is +0.2, which is a positive value, and the current value to be written is lower than 25 ⁇ A, so the current value to be written to the resistance change element RPA is 10 ⁇ A, and the current value to be written to the resistance change element RPB is
- the current value written to the variable resistance element RNA is 0 ⁇ A
- the current value written to the variable resistance element RNB is 0 ⁇ A.
- the normalized value of the coupling weighting coefficient w1 is -0.4, which is a negative value, and the current value to be written is lower than 25 ⁇ A, so the current value to be written to the resistance change element RPA is 0 ⁇ A, and the current value to be written to the resistance change element RPB.
- the normalized value of the coupling weighting coefficient w2 is -0.8, which is a negative value, and the current value to be written is 25 ⁇ A or more, so the current value to be written to the resistance change element RPA is 0 ⁇ A, and the current value to be written to the resistance change element RPB. is 0 ⁇ A, the current value written to the resistance change element RNA is 0 ⁇ A, and the current value written to the resistance change element RNB is 40 ⁇ A.
- the normalized value of the coupling weighting coefficient w3 is +1.0, which is a positive value, and the current value to be written is 25 ⁇ A or more, so the current value to be written to the variable resistance element RPA is 0 ⁇ A, and the current value to be written to the variable resistance element RPB is 50 ⁇ A, the current value written to the resistance change element RNA is 0 ⁇ A, and the current value written to the resistance change element RNB is 0 ⁇ A.
- neural network calculations can be performed.
- storage method 3 makes it possible to use a write algorithm according to the current value to be set.
- a filament that serves as a current path for a variable resistance element in the process
- This makes it possible to limit the rewriting to the same current band even when arbitrarily rewriting the current value set in the arithmetic unit, which is effective in improving the reliability of the variable resistance element.
- an arithmetic unit in which a positive weighting coefficient is configured with two memory cells and a negative weighting coefficient is configured with two memory cells is used as an example.
- the positive weighting coefficient and the negative weighting coefficient can each be configured from one memory cell to n memory cells, and the configuration is not limited.
- the neural network arithmetic circuit according to the present disclosure is characterized in that at least one of a positive weighting coefficient and a negative weighting coefficient is composed of two or more memory cells.
- FIG. 19 is a diagram showing a detailed configuration of a neural network calculation circuit according to a modification of the embodiment.
- FIG. 19(a) is a diagram showing a neuron 10 used in neural network calculation by a neural network calculation circuit according to a modification of the embodiment, and is the same as FIG. 1(a).
- the neuron 10 receives n+1 inputs x0 to xn, each having a connection weighting coefficient w0 to wn. can take on multi-gradation (analog) values.
- the activation function f which is a step function shown in FIG. 5, is calculated on the product-sum calculation results of the inputs x0 to xn and the connection weighting coefficients w0 to wn, and an output y is output.
- FIG. 19(b) is a diagram showing a detailed circuit configuration for performing arithmetic processing of the neuron 10 of FIG. 19(a).
- the arithmetic unit has been described as having one word line and four bit lines, but in this modification, as shown in FIG. It may consist of books.
- the memory cell array in FIG. 19(b) has a plurality of word lines WLA0 to WLAn, a plurality of word lines WLB0 to WLBn, a plurality of bit lines BL0 and BL1, and a plurality of source lines SL0 and SL1.
- Word lines WLA0 to WLAn and word lines WLB0 to WLBn correspond to inputs x0 to xn of neuron 10
- input x0 corresponds to word lines WLA0 and WLB0
- input x1 corresponds to word lines WLA1 and WLB1
- input xn- 1 corresponds to word line WLAn-1 and word line WLBn-1
- input xn corresponds to word line WLAn and WLBn.
- the word line selection circuit 30 is a circuit that selects or unselects the word lines WLA0 to WLAn and the word lines WLB0 to WLBn according to the inputs x0 to xn.
- WLA1 and word line WLB1, word line WLAn-1 and word line WLBn-1, and word line WLAn and word line WLBn are controlled in the same way.
- the word line is set to a non-selected state, and when the input is 1 data, the word line is set to the selected state.
- each of the inputs x0 to xn can take any value of 0 data or 1 data, so if there are multiple pieces of 1 data among the inputs x0 to xn, the word line selection circuit 30 selects multiple word lines. Multiple selections will be made at the same time.
- connection weight coefficients w0 to wn of the neuron 10 correspond to the calculation units PU0 to PUn made up of memory cells, that is, the connection weight coefficient w0 corresponds to the calculation unit PU0, and the connection weight coefficient w1 corresponds to the calculation unit PU1.
- the connection weighting coefficient wn-1 corresponds to the calculation unit PUn-1
- the connection weighting coefficient wn corresponds to the calculation unit PUn.
- the arithmetic unit PU0 includes a first memory cell configured of a series connection of a resistance change element RPA0, which is an example of a first semiconductor memory element, and a cell transistor TPA0, which is an example of a first cell transistor; A second memory cell configured by series connection of a resistance change element RPB0, which is an example of a semiconductor memory element, and a cell transistor TPB0, which is an example of a second cell transistor, and a resistor, which is an example of a third semiconductor memory element.
- a third memory cell composed of a series connection of a variable element RNA0 and a cell transistor TNA0 which is an example of a third cell transistor, a variable resistance element RNB0 which is an example of a fourth semiconductor memory element, and a fourth cell.
- a fourth memory cell is connected in series with a cell transistor TNB0, which is an example of a transistor. That is, one arithmetic unit is composed of four memory cells.
- the first semiconductor memory element and the second semiconductor memory element are used to store a positive coupling weighting coefficient among one coupling weighting coefficient, and the positive coupling weighting coefficient is This corresponds to a total current value obtained by adding up the current value of the current flowing through the semiconductor storage element and the current value of the current flowing through the second semiconductor storage element.
- the third semiconductor memory element and the fourth semiconductor memory element are used to store a negative coupling weighting coefficient among one coupling weighting coefficient, and the negative coupling weighting coefficient is This corresponds to a total current value obtained by adding up the current value of the current flowing through the third semiconductor storage element and the current value of the current flowing through the fourth semiconductor storage element.
- the arithmetic unit PU0 operates on a word line WLA0 which is an example of a second word line, a word line WLB0 which is an example of a third word line, a bit line BL0 which is an example of a ninth data line, and an eleventh data line. It is connected to a bit line BL1, which is an example, a source line SL0, which is an example of a tenth data line, and a source line SL1, which is an example of a twelfth data line.
- the word line WLA0 is connected to the gate terminals of cell transistors TPA0 and TNA0
- the word line WLB0 is connected to the gate terminals of cell transistors TPB0 and TNB0
- the bit line BL0 is connected to variable resistance elements RPA0 and RPB0
- the bit line BL1 is connected to variable resistance elements RNA0 and RNB0
- the source line SL0 is connected to the source terminals of cell transistors TPA0 and TPB0
- the source line SL1 is connected to the source terminals of cell transistors TNA0 and TNB0.
- Input x0 is input through word lines WLA0 and WLB0 of arithmetic unit PU0, and coupling weighting coefficient w0 is stored as a resistance value (conductance) in four resistance change elements RPA0, RPB0, RNA0, and RNB0 of arithmetic unit PU0.
- the configurations of the arithmetic units PU1, PUn-1, and PUn are also similar to the configuration of the arithmetic unit PU0, so a detailed explanation will be omitted. That is, the inputs x0 to xn are input by word lines WLA0 to WLAn and word lines WLB0 to WLBn, which are connected to the calculation units PU0 to PUn, respectively, and the coupling weight coefficients w0 to wn are input by the resistance change elements of the calculation units PU0 to PUn, respectively. It is stored as a resistance value (conductance) in RPA0 to RPAn, RPB0 to RPBn, RNA0 to RNAn, and RNB0 to RNBn.
- Bit lines BL0 and BL1 are connected via column gate transistors YT0 and YT1, and are connected to determination circuit 50.
- the gate terminals of column gate transistors YT0 and YT1 are connected to column gate control signal YG, and when column gate control signal YG is activated, bit lines BL0 and BL1 are connected to determination circuit 50.
- Source lines SL0 and SL1 are connected to the ground voltage via discharge transistors DT0 and DT1, respectively.
- the gate terminals of the discharge transistors DT0 and DT1 are connected to a discharge control signal DIS, and when the discharge control signal DIS is activated, the source lines SL0 and SL1 are set to the ground voltage.
- the column gate control signal YG and discharge control signal DIS are activated to connect the bit lines BL0 and BL1 to the determination circuit 50 and the source lines SL0 and SL1 to the ground voltage.
- the determination circuit 50 determines the current value (hereinafter also referred to as "first current value”) of the current flowing through the bit line BL0 connected via column gate transistors YT0 and YT1, and the current value (hereinafter also referred to as "first current value”) of the current flowing through the bit line BL1 ( This is a circuit that detects a current value (hereinafter also referred to as a “third current value”), compares the detected first current value and third current value, and outputs an output y.
- the output y can take either 0 data or 1 data.
- the determination circuit 50 outputs 0 data y when the first current value is smaller than the third current value, and outputs 1 data when the first current value is larger than the third current value. Outputs the output y. That is, the determination circuit 50 is a circuit that determines the magnitude relationship between the first current value and the third current value and outputs an output y.
- the determination circuit 50 determines the current value of the current flowing through the source line SL0 (hereinafter also referred to as "second current value”). and detects the current value of the current flowing through the source line SL1 (hereinafter also referred to as “fourth current value”), compares the detected second current value and fourth current value, and outputs an output y. You can.
- the current flowing through the bit line BL0 (strictly speaking, the column gate transistor YT0) and the current flowing through the source line SL0 (strictly speaking, the discharge transistor DT0) are equal, and the current flowing through the bit line BL1 (strictly speaking, the column gate transistor YT1) is equal. This is because the current flowing through the source line SL1 (strictly speaking, the discharge transistor DT1) is equal.
- the determination circuit 50 determines the magnitude relationship between the first current value or the second current value and the third current value or the fourth current value and determines the first logical value or the second logical value. data may be output.
- the determination circuit 50 corresponds to the first to fourth current values. A similar determination may be made using the first to fourth voltage values.
- each calculation unit of this modified example to simplify the explanation, an example was explained in which the positive weighting coefficient was configured with two memory cells and the negative weighting coefficient was configured with two memory cells.
- the weighting coefficient and the negative weighting coefficient can each be configured from one memory cell to n memory cells, and the configuration is not limited.
- Each arithmetic unit according to the present disclosure is characterized in that at least one of a positive weighting coefficient and a negative weighting coefficient is composed of two or more memory cells.
- each arithmetic unit of the present disclosure does not necessarily need to have both a positive weighting coefficient and a negative weighting coefficient, but one weighting coefficient (i.e., an unsigned weighting coefficient) consisting of at least two memory cells. (coefficients) may be included.
- the neural network calculation circuit of the present disclosure configures positive weighting coefficients, negative weighting coefficients, or both with current values flowing through n-bit memory cells, and performs product-sum calculation operations of the neural network circuit. I do.
- the dynamic compared to the product-sum calculation operation of a neural network circuit configured with a current value flowing through a 1-bit memory cell for each positive weighting coefficient and negative weighting coefficient, the dynamic It is possible to realize this, and it is possible to improve the performance of the product-sum calculation operation of the neural network circuit.
- storage method 2 by configuring one weighting coefficient by dividing it into n bits, it is possible to reduce the current value flowing per one bit line to 1/n, which makes it possible to reduce the current value flowing per bit line to 1/n. It is possible to improve the performance of the product-sum operation. Furthermore, according to storage method 3, by setting the range of current values to be written to each n-bit memory cell, it is possible to change the write algorithm for each current value to be written, and the non-volatile semiconductor memory element It is possible to improve the reliability of
- the neural network calculation circuit holds a plurality of connection weighting coefficients corresponding to each of a plurality of input data that can selectively take a first logical value and a second logical value
- a neural network calculation circuit that outputs output data of a first logical value or a second logical value according to a product-sum operation result of input data and a corresponding connection weighting coefficient, the circuit comprising: each of a plurality of connection weighting coefficients; , a first semiconductor memory element and a second semiconductor memory element each having at least 2 bits or more are provided for storing the coupling weighting coefficients, and each of the plurality of coupling weighting coefficients is stored in the first semiconductor memory. This corresponds to a total current value obtained by adding up the current value of the current flowing through the element and the current value of the current flowing through the second semiconductor memory element.
- one coupling weighting coefficient corresponds to the current value of the current flowing through one semiconductor memory element
- one coupling weighting coefficient corresponds to the current value of the current flowing through at least two semiconductor memory elements. Corresponds to the total current value. Therefore, since one coupling weighting coefficient is expressed using at least two semiconductor memory elements, the degree of freedom in the method of storing coupling weighting coefficients in at least two semiconductor memory elements is increased, which improves the performance of neural network calculations and improves coupling. At least one of improved reliability of a semiconductor memory element that stores weighting coefficients is achieved.
- the first semiconductor memory element and the second semiconductor memory element hold values that satisfy the following conditions (1) and (2) as coupling weight coefficients.
- the total current value is a current value proportional to the value of the coupling weighting coefficient
- the maximum value that the total current value can take is the current value flowing through each of the first semiconductor memory element and the second semiconductor memory element. greater than any current value obtained.
- the first semiconductor memory element and the second semiconductor memory element hold a value that satisfies the following conditions (3) and (4) as a coupling weighting coefficient.
- (3) The total current value becomes a current value proportional to the value of the coupling weighting coefficient, and (4) the current value flowing through the first semiconductor memory element and the current value flowing through the second semiconductor memory element become equivalent values.
- the current flowing through one semiconductor memory element can be reduced by half or less when the same one connection weighting coefficient is held, resulting in high performance of product-sum calculations in neural network calculation circuits. becomes possible.
- the first semiconductor memory element and the second semiconductor memory element hold a value that satisfies the following conditions (5) and (6) as a coupling weighting coefficient.
- the neural network calculation circuit holds a plurality of connection weight coefficients corresponding to each of a plurality of input data that can selectively take a first logical value and a second logical value.
- a neural network arithmetic circuit that outputs output data of a first logical value or a second logical value according to a product-sum operation result of a plurality of input data and a corresponding connection weighting coefficient, the circuit comprising a plurality of words; line, a first data line, a second data line, a third data line, and a fourth data line, and a plurality of arithmetic units corresponding to each of the plurality of connection weighting coefficients, the plurality of Each of the arithmetic units includes a series connection of a first semiconductor memory element and a first cell transistor, and a series connection of a second semiconductor memory element and a second cell transistor.
- One end of the element is connected to a first data line, one end of the first cell transistor is connected to a second data line, and the gate of the first cell transistor is connected to the first word line of the plurality of word lines.
- one end of the second semiconductor memory element is connected to the third data line, one end of the second cell transistor is connected to the fourth data line, and the gate of the second cell transistor is connected to the first data line.
- a plurality of arithmetic units connected to a word line, a word line selection circuit that selects or unselects a plurality of word lines, and a current value of a current flowing through a first data line and a third data line.
- the first logical value or the second logical value is determined based on the first total current value, or the second total current value that is the sum of the current values flowing through the second data line and the fourth data line.
- a first semiconductor memory element and a second semiconductor memory element constituting each of the plurality of arithmetic units each have a determination circuit that outputs value data, and each of the first semiconductor memory element and the second semiconductor memory element that constitutes each of the plurality of arithmetic units retains corresponding coupling weighting coefficients, and has a word line selection circuit. However, a plurality of word lines are placed in a selected state or a non-selected state depending on a plurality of input data.
- each coupling weighting coefficient is expressed by two or more semiconductor memory elements arranged in the direction in which the bit lines are arranged.
- the neural network arithmetic circuit further includes a fifth data line, a sixth data line, a seventh data line, and an eighth data line
- each of the plurality of arithmetic units further includes a series connection between a third semiconductor memory element and a third cell transistor, and a series connection between a fourth semiconductor memory element and a fourth cell transistor, and a series connection between a third semiconductor memory element and a third cell transistor; one end of the third cell transistor is connected to the fifth data line, one end of the third cell transistor is connected to the sixth data line, the gate of the third cell transistor is connected to the first word line, and the fourth semiconductor memory One end of the element is connected to the seventh data line, one end of the fourth cell transistor is connected to the eighth data line, the gate of the fourth cell transistor is connected to the first word line, and the determination circuit , the first total current value or the second total current value, and the third total current value that is the sum of the current values of the currents flowing through the fifth data line and the seventh data line, or
- the third semiconductor memory element and the fourth semiconductor memory element constituting each may hold corresponding coupling weight coefficients.
- the word line selection circuit sets the corresponding word line to a non-selected state when the input data is the first logical value, and sets the corresponding word line to the selected state when the input data is the second logical value.
- the first semiconductor memory element and the second semiconductor memory element are configured such that the first total current value or the second total current value is a plurality of input data whose corresponding coupling weight coefficients are positive values. , holds a positive-valued connection weighting coefficient such that the current value corresponds to the product-sum operation result with the corresponding positive-valued connection weighting coefficient, and connects the third semiconductor storage element to the fourth semiconductor storage element.
- the third summation current value or the fourth summation current value is the product-sum calculation result of the plurality of input data whose corresponding connection weighting coefficients are negative values and the corresponding connection weighting coefficients of negative values.
- the positive coupling weighting coefficient is expressed by at least two semiconductor memory elements arranged in the direction in which the bit lines are arranged
- the negative coupling weighting coefficient is A coefficient is expressed by at least two semiconductor memory elements arranged in the direction in which the bit lines are arranged.
- the determination circuit outputs the first logical value when the first summed current value or the second summed current value is smaller than the third summed current value or the fourth summed current value, respectively; When the first summed current value or the second summed current value is larger than the third summed current value or the fourth summed current value, respectively, the second logical value is output.
- the determination circuit realizes a step function that determines the output of the neuron according to the sign of the result of the product-sum operation.
- the neural network calculation circuit retains a plurality of connection weighting coefficients corresponding to each of a plurality of input data that can selectively take the first logical value and the second logical value, and A neural network calculation circuit that outputs output data of a first logical value or a second logical value according to a product-sum calculation result of input data and a corresponding connection weighting coefficient, the neural network calculation circuit having a plurality of word lines and a second logical value.
- each of the plurality of arithmetic units is connected to a first semiconductor memory element and a first semiconductor memory element; It is configured with a series connection with a cell transistor and a series connection between a second semiconductor memory element and a second cell transistor, one end of the first semiconductor memory element is connected to the ninth data line, and the first One end of the cell transistor is connected to the tenth data line, the gate of the first cell transistor is connected to the second word line of the plurality of word lines, and one end of the second semiconductor memory element is connected to the ninth data line.
- a plurality of cell transistors connected to the data line, one end of the second cell transistor connected to the tenth data line, and a gate of the second cell transistor connected to a third word line of the plurality of word lines; an arithmetic unit; a word line selection circuit that selects or unselects a plurality of word lines; a first semiconductor memory element and a second semiconductor that constitute each of the plurality of arithmetic units; A storage element holds a corresponding coupling weighting coefficient, and a word line selection circuit selects or unselects a plurality of word lines according to a plurality of input data.
- each coupling weighting coefficient is expressed by two or more semiconductor memory elements arranged in the direction in which the word lines are arranged.
- the neural network arithmetic circuit further includes an eleventh data line and a twelfth data line
- each of the plurality of arithmetic units further includes a third semiconductor memory element and a third cell transistor. and a series connection of a fourth semiconductor memory element and a fourth cell transistor, one end of the third semiconductor memory element is connected to the eleventh data line, and one end of the third cell transistor is connected to the eleventh data line.
- the determination circuit selects the first current value or the second current value and the eleventh current value. Determines the magnitude relationship between the third current value of the current flowing in the data line or the fourth current value of the current flowing in the twelfth data line, and outputs data of the first logical value or the second logical value.
- the third semiconductor memory element and the fourth semiconductor memory element constituting each of the plurality of arithmetic units may hold corresponding coupling weight coefficients.
- the word line selection circuit sets the corresponding word line to a non-selected state when the input data is a first logical value, and sets the corresponding word line to a selected state when the input data is a second logical value, and selects the corresponding word line.
- One set of lines includes a second word line and a third word line.
- the first semiconductor memory element and the second semiconductor memory element have a first current value or a second current value that corresponds to a plurality of input data whose corresponding coupling weight coefficients are positive values.
- the third semiconductor memory element and the fourth semiconductor memory element hold a positive value coupling weight coefficient such that a current value corresponds to the product-sum operation result with a positive value coupling weight coefficient.
- the third current value or the fourth current value is a current value corresponding to the product sum calculation result of a plurality of input data whose corresponding connection weighting coefficients are negative values and the corresponding negative value connection weighting coefficients.
- a positive connection weighting coefficient is expressed by at least two semiconductor memory elements arranged in the direction in which word lines are arranged, and a negative connection weighting coefficient is expressed by a word line. It is expressed by at least two semiconductor memory elements arranged in the direction in which the lines are arranged.
- the determination circuit outputs the first logical value when the first current value or the second current value is smaller than the third current value or the fourth current value, respectively, and If the current value or the second current value is larger than the third current value or the fourth current value, respectively, the second logical value is output.
- the determination circuit realizes a step function that determines the output of the neuron according to the sign of the result of the product-sum operation.
- the neural network calculation circuit of the present disclosure is not limited to the above-mentioned examples, and is within the scope of the gist of the present disclosure. It is also valid to apply various changes to the embodiment or the modified example, or to another form realized by combining a part of the embodiment and the modified example.
- the semiconductor memory element constituting the neural network arithmetic circuit of the above embodiment is an example of a resistance change type nonvolatile memory (ReRAM), but the semiconductor memory element of the present disclosure is a magnetoresistive change type nonvolatile memory (ReRAM). It can also be applied to nonvolatile semiconductor storage elements other than resistance change memory, such as MRAM), phase change nonvolatile memory (PRAM), and ferroelectric nonvolatile memory (FeRAM), as well as volatile semiconductor storage elements such as DRAM or SRAM. It is also applicable to memory elements.
- ReRAM resistance change type nonvolatile memory
- ReRAM magnetoresistive change type nonvolatile memory
- MRAM resistance change memory
- PRAM phase change nonvolatile memory
- FeRAM ferroelectric nonvolatile memory
- the first semiconductor memory element and the second semiconductor memory element is a variable resistance nonvolatile memory element formed by a variable resistance element, and a variable magnetoresistive nonvolatile memory element formed by a variable magnetoresistive element.
- the memory element may be any one of a phase change type nonvolatile memory element formed by a phase change type element, and a ferroelectric type nonvolatile memory element formed by a ferroelectric type element.
- each connection weighting coefficient is composed of a positive connection weighting coefficient made up of two memory cells and a negative connection weighting coefficient made up of two memory cells.
- only one of the positive coupling weighting coefficient and the negative coupling weighting coefficient may be composed of two or more memory cells.
- the neural network arithmetic circuit according to the present disclosure is capable of improving the arithmetic performance and reliability of a neural network arithmetic circuit configured to perform product-sum arithmetic operation using a semiconductor memory element. It is useful for mass production of circuits and electronic devices equipped with them.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Power Engineering (AREA)
- Neurosurgery (AREA)
- Physiology (AREA)
- Semiconductor Memories (AREA)
Abstract
Description
始めに、ニューラルネットワーク演算の基礎理論について説明する。
図6は、実施形態に係るニューラルネットワーク演算回路の全体構成を示すブロック図である。本開示のニューラルネットワーク演算回路は、メモリセルアレイ20、ワード線選択回路30、カラムゲート40、判定回路50、書き込み回路60、制御回路70を備えている。
図7は、実施形態に係る不揮発性半導体記憶素子の回路図、断面図、及び各動作における印加電圧を示す図である。
図1は、実施形態に係るニューラルネットワーク演算回路の詳細構成を示す図である。
図9は、実施形態に係るニューラルネットワーク演算回路の動作原理を示す計算、及び演算ユニットの動作を示す図である。
図11は、実施形態に係る演算ユニットの抵抗変化素子に格納方法1によって結合重み係数を書き込む方法を説明するための図である。図11の(a)は、演算ユニットPUiの抵抗変化素子RPA、RPB、RNA、RNBに格納方法1によって結合重み係数を書き込む電流値の計算を示す図である。
図13は、実施形態に係る演算ユニットの抵抗変化素子に格納方法3によって結合重み係数を書き込む方法を説明するための図である。図13の(a)は、演算ユニットPUiの抵抗変化素子RPA、RPB、RNA、RNBに格納方法3によって結合重み係数を書き込む電流値の計算を示す図である。
図15は、格納方法1に係る電流値の具体例を示す図である。より詳しくは、図15の(a)及び図15の(b)は、それぞれ、格納方法1によって結合重み係数を書き込む際の演算ユニットPU0~PU3の抵抗変化素子RPA、RPB、RNA、RNBの電流範囲、及び抵抗変化素子RPA、RPB、RNA、RNBに書き込む電流値を示す図である。図15の(a)に示す通り、格納方法1では、抵抗変化素子RPA、RPB、RNA、RNBの各メモリセルが流す電流値の取り得る範囲は0μAから50μAとする。そして、抵抗変化素子RPA、RPBが流す電流値の合算、抵抗変化素子RNA、RNBが流す電流値の合算、すなわち、電流値の最小値Iminは0μA、電流値の最大値Imaxは100μAであり、100μAの電流範囲(ダイナミックレンジ)を使用する。
図16は、格納方法2に係る電流値の具体例を示す図である。より詳しくは、図16の(a)及び図16の(b)は、それぞれ、格納方法2によって結合重み係数を書き込む際の演算ユニットPU0~PU3の抵抗変化素子RPA、RPB、RNA、RNBの電流範囲、及び抵抗変化素子RPA、RPB、RNA、RNBに書き込む電流値を示す図である。図16の(a)に示す通り、格納方法2では、抵抗変化素子RPA、RPB、RNA、RNBの各メモリセルが流す電流値の取り得る範囲は0μAから25μAとする。これは各メモリセルに書き込むことが可能な電流値の半分である。そして、抵抗変化素子RPA、RPBが流す電流値の合算、抵抗変化素子RNA、RNBが流す電流値の合算、すなわち、電流値の最小値Iminは0μA、電流値の最大値Imaxは50μAであり、50μAの電流範囲(ダイナミックレンジ)を使用する。
図18は、格納方法3に係る電流値の具体例を示す図である。より詳しくは、図18の(a)及び図18の(b)は、それぞれ、格納方法3によって結合重み係数を書き込む際の演算ユニットPU0~PU3の抵抗変化素子RPA、RPB、RNA、RNBの電流範囲、及び抵抗変化素子RPA、RPB、RNA、RNBに書き込む電流値を示す図である。図18の(a)に示す通り、格納方法3では、抵抗変化素子RPA、RPB、RNA、RNBの各メモリセルが流す電流値の取り得る範囲は0μAから50μAとする。そして、抵抗変化素子RPA、RPBが流す電流値の合算、抵抗変化素子RNA、RNBが流す電流値の合算、すなわち、電流値の最小値Iminは0μA、電流値の最大値Imaxは50μAであり、50μAの電流範囲(ダイナミックレンジ)を使用する。
図19は、実施形態の変形例に係るニューラルネットワーク演算回路の詳細構成を示す図である。
以上のように、本開示のニューラルネットワーク演算回路は、正の重み係数、或いは負の重み係数、或いはその両方をnビットのメモリセルに流れる電流値で構成し、ニューラルネットワーク回路の積和演算動作を行う。これにより、格納方法1によれば、従来の正の重み係数、負の重み係数にそれぞれ1ビットのメモリセルに流れる電流値で構成したニューラルネットワーク回路の積和演算動作に比べ、n倍のダイナミックを実現可能であり、ニューラルネットワーク回路の積和演算動作の高性能化が可能である。また、格納方法2によれば、1つの重み係数をnビットに分けて構成することで、ビット線1本当たりに流れる電流値をn分の1にすることが可能であり、ニューラルネットワーク回路の積和演算動作の高性能化が可能である。更に、格納方法3によれば、nビットのメモリセルに対し、それぞれに書き込む電流値の範囲を設定することで、書き込む電流値毎に書き込みアルゴリズムを変更することが可能となり、不揮発性半導体記憶素子の信頼性を向上させることが可能である。
2 隠れ層
3 出力層
10 ニューロン
11 結合重み
20 メモリセルアレイ
30 ワード線選択回路
40 カラムゲート
50 判定回路
60 書き込み回路
70 制御回路
80 半導体基板
81a、81b 拡散領域
82 酸化膜
83 ゲート電極(ワード線)
84a、84b、86、88、92 ビア
85a、85b 第1配線層
87 第2配線層
89 下部電極
90 抵抗変化層
91 上部電極
93 第3配線層
x0~xn 入力
w0~wn 結合重み係数
b バイアス係数
f 活性化関数
y 出力
PU0~PUn 演算ユニット
MC メモリセル
TPA0~TPAn、TPB0~TPBn、TNA0~TNAn、TNB0~TNBn セルトランジスタ
RPA0~RPAn、RPB0~RPBn、RNA0~RNAn、RNB0~RNBn 抵抗変化素子
YT0、YT1、YT2、YT3 カラムゲートトランジスタ
DT0、DT1、DT2、DT3 ディスチャージトランジスタ
WL0~WLn、WLA0~WLAn、WLB0~WLBn ワード線
BL0~BLm ビット線
SL0~SLm ソース線
YG カラムゲート制御信号
DIS ディスチャージ制御信号
Vbl ビット線電圧
Rpai、Rpbi、Rnai、Rnbi 抵抗変化素子の抵抗値
Ipi、Ini 抵抗変化素子に流れる電流値
Claims (15)
- 第1の論理値および第2の論理値を選択的に取り得る複数の入力データの各々に対応する複数の結合重み係数を保持し、前記複数の入力データと、対応する前記結合重み係数との積和演算結果に応じて第1の論理値あるいは第2の論理値の出力データを出力するニューラルネットワーク演算回路であって、
前記複数の結合重み係数の各々について、当該結合重み係数を記憶するための第1の半導体記憶素子と第2の半導体記憶素子の少なくとも2ビット以上の半導体記憶素子を備え、
前記複数の結合重み係数の各々は、前記第1の半導体記憶素子に流れる電流の電流値と前記第2の半導体記憶素子に流れる電流の電流値とを合算した合算電流値に対応する、
ニューラルネットワーク演算回路。 - 前記第1の半導体記憶素子と前記第2の半導体記憶素子とは、前記結合重み係数として、以下の条件(1)および(2)を満たす値を保持している、
(1)前記合算電流値が前記結合重み係数の値に比例した電流値となり、
(2)前記合算電流値が取りうる最大値は、前記第1の半導体記憶素子と、前記第2の半導体記憶素子の各々に流れ得るいずれの電流値よりも大きい、
請求項1記載のニューラルネットワーク演算回路。 - 前記第1の半導体記憶素子と前記第2の半導体記憶素子とは、前記結合重み係数として、以下の条件(3)および(4)を満たす値を保持している、
(3)前記合算電流値が前記結合重み係数の値に比例した電流値となり、
(4)前記第1の半導体記憶素子に流れる電流値と、前記第2の半導体記憶素子に流れる電流値とは、同等の値になる、
請求項1記載のニューラルネットワーク演算回路。 - 前記第1の半導体記憶素子と前記第2の半導体記憶素子とは、前記結合重み係数として、以下の条件(5)および(6)を満たす値を保持している、
(5)前記結合重み係数が一定値より小さい場合には、前記第1の半導体記憶素子に流れる電流値が、前記結合重み係数の値に比例した電流値となり、
(6)前記結合重み係数が前記一定値より大きい場合には、前記第2の半導体記憶素子に流れる電流値が、前記結合重み係数の値に比例した電流値となる、
請求項1記載のニューラルネットワーク演算回路。 - 第1の論理値および第2の論理値を選択的に取り得る複数の入力データの各々に対応する複数の結合重み係数を保持し、前記複数の入力データと、対応する前記結合重み係数との積和演算結果に応じて第1の論理値あるいは第2の論理値の出力データを出力するニューラルネットワーク演算回路であって、
複数のワード線と、
第1のデータ線、第2のデータ線、第3のデータ線、および、第4のデータ線と、
前記複数の結合重み係数の各々に対応する複数の演算ユニットであって、前記複数の演算ユニットのそれぞれが、第1の半導体記憶素子と第1のセルトランジスタとの直列接続、および、第2の半導体記憶素子と第2のセルトランジスタとの直列接続で構成され、前記第1の半導体記憶素子の一端が前記第1のデータ線に接続され、前記第1のセルトランジスタの一端が前記第2のデータ線に接続され、前記第1のセルトランジスタのゲートが前記複数のワード線のうちの第1のワード線に接続され、前記第2の半導体記憶素子の一端が前記第3のデータ線に接続され、前記第2のセルトランジスタの一端が前記第4のデータ線に接続され、前記第2のセルトランジスタのゲートが前記第1のワード線に接続される、前記複数の演算ユニットと、
前記複数のワード線を選択状態あるいは非選択状態とするワード線選択回路と、
前記第1のデータ線と前記第3のデータ線に流れる電流の電流値を合算した第1の合算電流値、あるいは、前記第2のデータ線と前記第4のデータ線に流れる電流値を合算した第2の合算電流値とに基づいて、第1の論理値あるいは第2の論理値のデータを出力する判定回路とを備え、
前記複数の演算ユニットの各々を構成する前記第1の半導体記憶素子と前記第2の半導体記憶素子とは、対応する前記結合重み係数を保持し、
前記ワード線選択回路が、前記複数の入力データに応じて前記複数のワード線を選択状態あるいは非選択状態とする、
ニューラルネットワーク演算回路。 - さらに、第5のデータ線、第6のデータ線、第7のデータ線、および、第8のデータ線を備え、
前記複数の演算ユニットの各々は、さらに、第3の半導体記憶素子と第3のセルトランジスタとの直列接続、および、第4の半導体記憶素子と第4のセルトランジスタとの直列接続を有し、前記第3の半導体記憶素子の一端が前記第5のデータ線に接続され、前記第3のセルトランジスタの一端が前記第6のデータ線に接続され、前記第3のセルトランジスタのゲートが前記第1のワード線に接続され、前記第4の半導体記憶素子の一端が前記第7のデータ線に接続され、前記第4のセルトランジスタの一端が前記第8のデータ線に接続され、前記第4のセルトランジスタのゲートが前記第1のワード線に接続され、
前記判定回路は、前記第1の合算電流値あるいは前記第2の合算電流値と、前記第5のデータ線と前記第7のデータ線に流れる電流の電流値を合算した第3の合算電流値、あるいは、前記第6のデータ線と前記第8のデータ線に流れる電流の電流値を合算した第4の合算電流値との大小関係を判定して第1の論理値あるいは第2の論理値のデータを出力し、
前記複数の演算ユニットの各々を構成する前記第3の半導体記憶素子と前記第4の半導体記憶素子は、対応する前記結合重み係数を保持する、
請求項5記載のニューラルネットワーク演算回路。 - 前記ワード線選択回路は、
前記入力データが第1の論理値の場合、対応する前記ワード線を非選択状態とし、
前記入力データが第2の論理値の場合、対応する前記ワード線を選択状態とする、
請求項5または6記載のニューラルネットワーク演算回路。 - 前記第1の半導体記憶素子と前記第2の半導体記憶素子とは、前記第1の合算電流値あるいは前記第2の合算電流値が、対応する前記結合重み係数が正の値である複数の前記入力データと、対応する正の値の前記結合重み係数との積和演算結果に対応した電流値となるような前記正の値の結合重み係数を保持し、
前記第3の半導体記憶素子と前記第4の半導体記憶素子とは、前記第3の合算電流値あるいは前記第4の合算電流値が、対応する前記結合重み係数が負の値である複数の前記入力データと、対応する負の値の前記結合重み係数との積和演算結果に対応した電流値となるような前記負の値の結合重み係数を保持している、
請求項6記載のニューラルネットワーク演算回路。 - 前記判定回路は、
前記第1の合算電流値あるいは前記第2の合算電流値が、それぞれ、前記第3の合算電流値あるいは前記第4の合算電流値よりも小さい場合、第1の論理値を出力し、
前記第1の合算電流値あるいは前記第2の合算電流値が、それぞれ、前記第3の合算電流値、あるいは前記第4の合算電流値よりも大きい場合、第2の論理値を出力する、
請求項6記載のニューラルネットワーク演算回路。 - 第1の論理値および第2の論理値を選択的に取り得る複数の入力データの各々に対応する複数の結合重み係数を保持し、前記複数の入力データと、対応する前記結合重み係数との積和演算結果に応じて第1の論理値あるいは第2の論理値の出力データを出力するニューラルネットワーク演算回路であって、
複数のワード線と、
第9のデータ線、および、第10のデータ線と、
前記複数の結合重み係数の各々に対応する複数の演算ユニットであって、前記複数の演算ユニットのそれぞれが、第1の半導体記憶素子と第1のセルトランジスタとの直列接続、および、第2の半導体記憶素子と第2のセルトランジスタとの直列接続で構成され、前記第1の半導体記憶素子の一端が前記第9のデータ線に接続され、前記第1のセルトランジスタの一端が前記第10のデータ線に接続され、前記第1のセルトランジスタのゲートが前記複数のワード線のうちの第2のワード線に接続され、前記第2の半導体記憶素子の一端が前記第9のデータ線に接続され、前記第2のセルトランジスタの一端が前記第10のデータ線に接続され、前記第2のセルトランジスタのゲートが前記複数のワード線のうちの第3のワード線に接続される、前記複数の演算ユニットと、
前記複数のワード線を選択状態あるいは非選択状態とするワード線選択回路と、
前記第9のデータ線に流れる電流の第1の電流値、あるいは、前記第10のデータ線に流れる電流の第2の電流値に基づいて、第1の論理値あるいは第2の論理値のデータを出力する判定回路とを備え、
前記複数の演算ユニットの各々を構成する前記第1の半導体記憶素子と前記第2の半導体記憶素子とは、対応する前記結合重み係数を保持し、
前記ワード線選択回路が、前記複数の入力データに応じて前記複数のワード線を選択状態あるいは非選択状態とする、
ニューラルネットワーク演算回路。 - さらに、第11のデータ線、および、第12のデータ線を備え、
前記複数の演算ユニットの各々は、さらに、第3の半導体記憶素子と第3のセルトランジスタとの直列接続、および、第4の半導体記憶素子と第4のセルトランジスタとの直列接続を有し、前記第3の半導体記憶素子の一端が前記第11のデータ線に接続され、前記第3のセルトランジスタの一端が前記第12のデータ線に接続され、前記第3のセルトランジスタのゲートが前記第2のワード線に接続され、前記第4の半導体記憶素子の一端が前記第11のデータ線に接続され、前記第4のセルトランジスタの一端が前記第12のデータ線に接続され、前記第4のセルトランジスタのゲートが前記第3のワード線に接続され、
前記判定回路は、前記第1の電流値あるいは前記第2の電流値と、前記第11のデータ線に流れる電流の第3の電流値あるいは前記第12のデータ線に流れる電流の第4の電流値との大小関係を判定して第1の論理値あるいは第2の論理値のデータを出力し、
前記複数の演算ユニットの各々を構成する前記第3の半導体記憶素子と前記第4の半導体記憶素子とは、対応する前記結合重み係数を保持する、
請求項10記載のニューラルネットワーク演算回路。 - 前記ワード線選択回路は、
前記入力データが第1の論理値の場合、対応する前記ワード線を非選択状態とし、
前記入力データが第2の論理値の場合、対応する前記ワード線を選択状態とし、
対応するワード線は、前記第2のワード線、前記第3のワード線の2本を1組とする
請求項10または11記載のニューラルネットワーク演算回路。 - 前記第1の半導体記憶素子と前記第2の半導体記憶素子とは、前記第1の電流値あるいは前記第2の電流値が、対応する前記結合重み係数が正の値である複数の前記入力データと、対応する正の値の前記結合重み係数との積和演算結果に対応した電流値となるような前記正の値の結合重み係数を保持し、
前記第3の半導体記憶素子と前記第4の半導体記憶素子とは、前記第3の電流値あるいは前記第4の電流値が、対応する前記結合重み係数が負の値である複数の前記入力データと、対応する負の値の前記結合重み係数との積和演算結果に対応した電流値となるような前記負の値の結合重み係数を保持している、
請求項11記載のニューラルネットワーク演算回路。 - 前記判定回路は、
前記第1の電流値あるいは前記第2の電流値が、それぞれ、前記第3の電流値あるいは前記第4の電流値よりも小さい場合、第1の論理値を出力し、
前記第1の電流値あるいは前記第2の電流値が、それぞれ、前記第3の電流値あるいは前記第4の電流値よりも大きい場合、第2の論理値を出力する、
請求項11記載のニューラルネットワーク演算回路。 - 前記第1の半導体記憶素子および前記第2の半導体記憶素子の少なくとも一方は、抵抗変化型素子で形成される抵抗変化型不揮発性記憶素子、磁気抵抗変化型素子で形成される磁気抵抗変化型不揮発性記憶素子、相変化型素子で形成される相変化型不揮発性記憶素子、および、強誘電体型素子で形成される強誘電体型不揮発性記憶素子のいずれかである、
請求項1~14のいずれか1項に記載のニューラルネットワーク演算回路。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202380025686.7A CN118922836A (zh) | 2022-03-11 | 2023-03-07 | 神经网络运算电路 |
| JP2024506353A JPWO2023171683A1 (ja) | 2022-03-11 | 2023-03-07 | |
| US18/824,460 US20240428060A1 (en) | 2022-03-11 | 2024-09-04 | Neural network computation circuit |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022038226 | 2022-03-11 | ||
| JP2022-038226 | 2022-03-11 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/824,460 Continuation US20240428060A1 (en) | 2022-03-11 | 2024-09-04 | Neural network computation circuit |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023171683A1 true WO2023171683A1 (ja) | 2023-09-14 |
Family
ID=87935128
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2023/008647 Ceased WO2023171683A1 (ja) | 2022-03-11 | 2023-03-07 | ニューラルネットワーク演算回路 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20240428060A1 (ja) |
| JP (1) | JPWO2023171683A1 (ja) |
| CN (1) | CN118922836A (ja) |
| WO (1) | WO2023171683A1 (ja) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019049741A1 (ja) * | 2017-09-07 | 2019-03-14 | パナソニック株式会社 | 不揮発性半導体記憶素子を用いたニューラルネットワーク演算回路 |
| JP2020160887A (ja) * | 2019-03-27 | 2020-10-01 | ソニー株式会社 | 演算装置及び積和演算システム |
| US20210150319A1 (en) * | 2019-11-15 | 2021-05-20 | Samsung Electronics Co., Ltd. | Neuromorphic device based on memory |
| JP2021185479A (ja) * | 2020-05-22 | 2021-12-09 | 三星電子株式会社Samsung Electronics Co., Ltd. | インメモリプロセシングを行う装置、及びそれを含むコンピューティング装置 |
-
2023
- 2023-03-07 CN CN202380025686.7A patent/CN118922836A/zh active Pending
- 2023-03-07 WO PCT/JP2023/008647 patent/WO2023171683A1/ja not_active Ceased
- 2023-03-07 JP JP2024506353A patent/JPWO2023171683A1/ja active Pending
-
2024
- 2024-09-04 US US18/824,460 patent/US20240428060A1/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019049741A1 (ja) * | 2017-09-07 | 2019-03-14 | パナソニック株式会社 | 不揮発性半導体記憶素子を用いたニューラルネットワーク演算回路 |
| JP2020160887A (ja) * | 2019-03-27 | 2020-10-01 | ソニー株式会社 | 演算装置及び積和演算システム |
| US20210150319A1 (en) * | 2019-11-15 | 2021-05-20 | Samsung Electronics Co., Ltd. | Neuromorphic device based on memory |
| JP2021185479A (ja) * | 2020-05-22 | 2021-12-09 | 三星電子株式会社Samsung Electronics Co., Ltd. | インメモリプロセシングを行う装置、及びそれを含むコンピューティング装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2023171683A1 (ja) | 2023-09-14 |
| US20240428060A1 (en) | 2024-12-26 |
| CN118922836A (zh) | 2024-11-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6858870B2 (ja) | 不揮発性半導体記憶素子を用いたニューラルネットワーク演算回路 | |
| US11663457B2 (en) | Neural network circuits having non-volatile synapse arrays | |
| JP6956191B2 (ja) | 不揮発性半導体記憶素子を用いたニューラルネットワーク演算回路 | |
| KR102567160B1 (ko) | 비휘발성의 시냅스 배열을 가지는 신경망 회로 | |
| CN110729011B (zh) | 用于类神经网路的存储器内运算装置 | |
| US11556616B2 (en) | Methods to tolerate programming and retention errors of crossbar memory arrays | |
| WO2023171683A1 (ja) | ニューラルネットワーク演算回路 | |
| WO2023112674A1 (ja) | 人工知能処理装置および人工知能処理装置の学習推論方法 | |
| WO2024048704A1 (ja) | 人工知能処理装置および人工知能処理装置の重み係数書き込み方法 | |
| US20220164638A1 (en) | Methods and apparatus for neural network arrays | |
| KR20210083599A (ko) | 멀티 비트 특성을 갖는 뉴로모픽 시냅스 소자 및 이의 동작 방법 |
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: 23766859 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2024506353 Country of ref document: JP Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202380025686.7 Country of ref document: CN |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 23766859 Country of ref document: EP Kind code of ref document: A1 |