WO2019131147A1 - 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 - Google Patents
積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 Download PDFInfo
- Publication number
- WO2019131147A1 WO2019131147A1 PCT/JP2018/045742 JP2018045742W WO2019131147A1 WO 2019131147 A1 WO2019131147 A1 WO 2019131147A1 JP 2018045742 W JP2018045742 W JP 2018045742W WO 2019131147 A1 WO2019131147 A1 WO 2019131147A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- product
- fixed
- variable
- elements
- input product
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 14
- 238000004364 calculation method Methods 0.000 title abstract description 27
- 230000005415 magnetization Effects 0.000 claims description 167
- 230000008859 change Effects 0.000 claims description 22
- 230000000694 effects Effects 0.000 claims description 20
- 238000003745 diagnosis Methods 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims description 8
- 238000013528 artificial neural network Methods 0.000 abstract description 23
- 230000007257 malfunction Effects 0.000 abstract description 3
- 239000000463 material Substances 0.000 description 29
- 230000005291 magnetic effect Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 15
- 229910052751 metal Inorganic materials 0.000 description 8
- 239000002184 metal Substances 0.000 description 8
- 229910045601 alloy Inorganic materials 0.000 description 5
- 239000000956 alloy Substances 0.000 description 5
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 229910052742 iron Inorganic materials 0.000 description 4
- 238000002844 melting Methods 0.000 description 4
- 230000008018 melting Effects 0.000 description 4
- 150000002739 metals Chemical class 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 229910052804 chromium Inorganic materials 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000006866 deterioration Effects 0.000 description 3
- 230000001747 exhibiting effect Effects 0.000 description 3
- 239000003302 ferromagnetic material Substances 0.000 description 3
- 239000012212 insulator Substances 0.000 description 3
- 229910052748 manganese Inorganic materials 0.000 description 3
- 229910052759 nickel Inorganic materials 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 229910005347 FeSi Inorganic materials 0.000 description 2
- 229910001030 Iron–nickel alloy Inorganic materials 0.000 description 2
- 229910020068 MgAl Inorganic materials 0.000 description 2
- 229910052782 aluminium Inorganic materials 0.000 description 2
- 230000005290 antiferromagnetic effect Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000005294 ferromagnetic effect Effects 0.000 description 2
- 229910001291 heusler alloy Inorganic materials 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000005381 magnetic domain Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 229910052723 transition metal Inorganic materials 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 229910018072 Al 2 O 3 Inorganic materials 0.000 description 1
- 229910020598 Co Fe Inorganic materials 0.000 description 1
- 229910002519 Co-Fe Inorganic materials 0.000 description 1
- 229910019222 CoCrPt Inorganic materials 0.000 description 1
- 230000005355 Hall effect Effects 0.000 description 1
- 229910017857 MgGa Inorganic materials 0.000 description 1
- 229910017911 MgIn Inorganic materials 0.000 description 1
- 229910017028 MnSi Inorganic materials 0.000 description 1
- 229910004298 SiO 2 Inorganic materials 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005307 ferromagnetism Effects 0.000 description 1
- 229910052733 gallium Inorganic materials 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 229910000765 intermetallic Inorganic materials 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- CPLXHLVBOLITMK-UHFFFAOYSA-N magnesium oxide Inorganic materials [Mg]=O CPLXHLVBOLITMK-UHFFFAOYSA-N 0.000 description 1
- 239000000696 magnetic material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 229910000510 noble metal Inorganic materials 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 238000004544 sputter deposition Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008961 swelling Effects 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 150000003624 transition metals Chemical class 0.000 description 1
- 229910052720 vanadium Inorganic materials 0.000 description 1
- 229910052725 zinc Inorganic materials 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B61/00—Magnetic memory devices, e.g. magnetoresistive RAM [MRAM] devices
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B63/00—Resistance change memory devices, e.g. resistive RAM [ReRAM] devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4818—Threshold devices
- G06F2207/4824—Neural networks
Definitions
- the present invention relates to a product-sum calculator, a neuromorphic device, and a method of using the product-sum calculator.
- Priority is claimed on Japanese Patent Application No. 2017-254662, filed Dec. 28, 2017, the content of which is incorporated herein by reference.
- Non-Patent Document 1 an optimized learning scheme for grayscale image recognition in RRAM-based analog neuromorphic systems is known (see, for example, Non-Patent Document 1).
- This document states that an analog neuromorphic system is developed on the basis of an assembled resistive switching memory array.
- a novel training scheme is proposed to optimize the performance of analog systems by exploiting segmented synapse behavior.
- this scheme is applied to grayscale image recognition.
- research is underway to realize a neural network that mimics the nervous system using an array of resistance change elements.
- the neuromorphic device performs a product-sum operation of adding weights from the previous stage to the next stage.
- Non-Patent Document 1 does not discuss how to configure a bias term element.
- the bias term element fails, the performance of the neural network may be significantly reduced. This is because, in general, the "weight" sets a value for each particular combination, while the bias term is used to bias the value across the layer.
- the present invention when applied to a neural network, is a product-sum operation unit, a neuromorphic device, and a product capable of suppressing the performance deterioration of the neural network at the time of failure of the bias term element.
- An object of the present invention is to provide a method of using a summing operator.
- a product-sum operation unit includes a product operation unit and a sum operation unit, and the product operation unit includes a plurality of variable input product operation elements and a plurality of fixed input product operation elements.
- Each of the plurality of variable input product operation elements and the plurality of fixed input product operation elements is a variable resistance element, and a variable input for inputting variable signals to the plurality of variable input product operation elements
- a fixed input unit for inputting a signal determined for the plurality of fixed input product operation elements in synchronization with the variable signal
- the sum operation unit including the plurality of variable input product operations
- An output detector is provided for detecting the sum of the output from the element and the output from the plurality of fixed input product arithmetic elements.
- the plurality of fixed input product operation elements may have a function of breaking when a failure that an output current increases occurs.
- variable resistance element may have a write terminal, a common terminal, and a read terminal.
- variable resistance element is a magnetoresistive element exhibiting a magnetoresistive effect
- the magnetoresistive element has a magnetization free layer having a domain wall and a fixed magnetization direction. And the nonmagnetic layer sandwiched between the magnetization free layer and the magnetization fixed layer.
- the product operation unit further includes another variable input product operation element and another fixed input product operation element, and the other variable input product operation element And each of the other fixed input product operation elements is the variable resistance element, the variable input unit inputs the variable signal to the other variable input product operation element, and the fixed input unit Synchronizes the variable signal with the variable signal to the other fixed input product operation element and inputs the output from the other variable input product operation element and the sum operation unit It may further comprise another output detector for detecting the sum of outputs from other fixed input product operation elements.
- One aspect of the present invention is a neuromorphic device comprising the product-sum operation unit.
- One embodiment of the present invention is a method of using the product-sum calculator, wherein the product-sum calculator further includes a fault diagnosis unit, and the variable input unit is the one for the plurality of variable input product calculators.
- the output detector is configured to receive the plurality of fixed input products in a state where the variable signal is not input and the fixed input unit inputs the determined signal to the plurality of fixed input product operation elements.
- the product-sum calculator further includes a relearning unit, and the malfunctioning product calculator is included in the plurality of fixed input product calculators.
- the relearning unit resets the resistance value of a product operation element other than the faulty product operation element among the plurality of fixed input product operation elements. It may further include a relearning step.
- FIG. 3 It is a figure which shows an example of a part of structure of the product-sum calculator of 1st Embodiment. It is a perspective view showing an example of a resistance change element applicable as a variable input product operation element of a product-sum operation unit of a 1st embodiment. It is a perspective view showing the 1st example of a resistance change element applicable as a fixed input product operation element of a product-sum operation unit of a 1st embodiment. It is a figure for demonstrating the change of the output current from the magnetoresistive effect element via the read-out terminal shown in FIG. 3, etc. It is a perspective view showing the 2nd example of a resistance change element applicable as a fixed input product operation element of a product-sum operation unit of a 1st embodiment.
- FIG. 9 is a diagram for describing an example where resetting of the resistance value of the product calculator for fixed input is performed in step S33 of FIG. 8. It is a figure which shows an example of a part of structure of the product-sum calculator of 2nd Embodiment.
- FIG. 1 is a view showing an example of the configuration of part of the product-sum operation unit 1 of the first embodiment.
- the product-sum operation unit 1 according to the first embodiment includes a product operation unit 10, a sum operation unit 11, and an input unit 12.
- the product calculation unit 10 includes a column 10A and a column 10B.
- the input unit 12 includes variable input units 121A and 121B and fixed input units 122A and 122B.
- the product calculation unit 10 includes two columns 10A and 10B, but in another example, the product calculation unit 10 includes three or more arbitrary number of columns 10A, 10B,. You may have.
- the column 10A includes variable input product operation elements 10A1A and 10A1B and fixed input product operation elements 10A2A and 10A2B.
- the column 10B includes variable input product operation elements 10B1A and 10B1B and fixed input product operation elements 10B2A and 10B2B.
- FIG. 1 the example shown in FIG.
- the column 10A includes two variable input product operation elements 10A1A and 10A1B and two fixed input product operation elements 10A2A and 10A2B, and the column 10B includes two variable input product operation elements 10B1A, although 10B1B and two fixed input product operation elements 10B2A and 10B2B are provided, in another example, the column 10A includes an arbitrary number (more than one) of variable input product operation elements other than 2 and The column 10B includes an arbitrary number (more specifically, plural) of fixed-input product arithmetic elements than two, and an arbitrary number (more than plural) of variable-input product arithmetic elements and two other than two. An arbitrary number (more specifically, a plurality) of fixed input product operation elements may be provided.
- each of the plurality of variable input product operation elements 10A1A, 10A1B, 10B1A, 10B1B and the plurality of fixed input product operation elements 10A2A, 10A2B, 10B2A, 10B2B has a read terminal, a write terminal, and It is a resistance change element provided with a common terminal.
- the read terminals of the variable input product arithmetic elements 10A1A and 10B1A are connected to the line L11.
- the line L11 is connected to a variable input unit 121A that inputs variable signals to the variable input product operation elements 10A1A and 10B1A.
- the write terminals of the variable input product arithmetic elements 10A1A and 10B1A are connected to the line L12.
- the read terminals of the variable input product arithmetic elements 10A1B and 10B1B are connected to the line L21.
- the line L21 is connected to a variable input unit 121B that inputs variable signals to the variable input product arithmetic elements 10A1B and 10B1B.
- the write terminals of the variable input product arithmetic elements 10A1B and 10B1B are connected to the line L22.
- the read terminals of the fixed input product arithmetic elements 10A2A and 10B2A are connected to the line L31.
- the line L31 is connected to a fixed input unit 122A which inputs a fixed signal which is a signal determined for the fixed input product arithmetic elements 10A2A and 10B2A.
- the write terminals of the fixed input product arithmetic elements 10A2A and 10B2A are connected to the line L32.
- the read terminals of the fixed input product arithmetic elements 10A2B and 10B2B are connected to the line L41.
- the line L41 is connected to a fixed input unit 122B which inputs a fixed signal which is a signal determined for the fixed input product arithmetic elements 10A2B and 10B2B.
- the write terminals of the fixed input product arithmetic elements 10A2B and 10B2B are connected to the line L42.
- the fixed signals input to the fixed input product operation elements 10A2A, 10A2B, 10B2A and 10B2B are synchronized with the variable signals input to the variable input product operation elements 10A1A, 10A1B, 10B1A and 10B1B.
- the common terminals of the variable input product operation elements 10A1A and 10A1B and the fixed input product operation elements 10A2A and 10A2B are connected to the line M1.
- the common terminals of the variable input product operation elements 10B1A and 10B1B and the fixed input product operation elements 10B2A and 10B2B are connected to the line M2.
- the sum calculation unit 11 includes output detectors 11A and 11B.
- the output detector 11A detects the total value of the outputs from the variable input product operation elements 10A1A and 10A1B and the outputs from the fixed input product operation elements 10A2A and 10A2B.
- the output detector 11B detects the total value of the outputs from the variable input product operation elements 10B1A and 10B1B and the outputs from the fixed input product operation elements 10B2A and 10B2B.
- the output detector 11A is disposed on the line M1.
- the output detector 11B is disposed on the line M2.
- the output detector 11A detects output current values from the variable input product operation elements 10A1A and 10A1B and the fixed input product operation elements 10A2A and 10A2B, and the output detector 11B for variable input The output current values from the product operation elements 10B1A and 10B1B and the fixed input product operation elements 10B2A and 10B2B are detected.
- the output detector 11A detects the outputs of the variable input product operation elements 10A1A and 10A1B and the fixed input product operation elements 10A2A and 10A2B as electric charges, and the output detector 11B detects the variable input product operation elements
- the outputs of 10B1A, 10B1B and fixed input product operation elements 10B2A, 10B2B may be detected as charges.
- the variable resistance element used as the product calculation element in the present invention is an element that changes its electrical resistance reversibly with respect to external stimuli (current, voltage, magnetic field, etc.).
- a resistance change element for example, a resistance change memory (RRAM) element, a phase change memory (PCRAM) element, an anisotropic magnetoresistance effect (AMR) element, a tunnel magnetoresistance effect (TMR) element, a giant magnetoresistance effect ( GMR) elements and the like.
- FIG. 2 is a perspective view showing an example of a variable resistance element applicable as the variable input product operation elements 10A1A, 10A1B, 10B1A and 10B1B of the product-sum operation unit 1 according to the first embodiment.
- the variable resistance element is the magnetoresistive element A that exhibits the magnetoresistive effect.
- the magnetoresistive element A has a magnetization free layer A1 having a domain wall DW, a magnetization fixed layer A2 in which the magnetization direction is fixed, and a nonmagnetic layer A3.
- the nonmagnetic layer A3 is sandwiched between the magnetization free layer A1 and the magnetization fixed layer A2.
- the magnetization free layer A1 has a first region A11 on one side of the domain wall DW and a second region A12 on the other side of the domain wall DW.
- a write terminal AA is provided in the first area A11.
- a common terminal AB is provided in the second area A12.
- the magnetization fixed layer A2 is provided with a read terminal AC.
- the moving amount (moving distance) of the domain wall DW can be variably controlled by adjusting the magnitude and time of the write current flowing between the write terminal AA and the common terminal AB.
- the magnitude and time of the write current can also be set, for example, by the number of pulses or the pulse width to determine the amount of movement (moving distance) of the domain wall DW.
- the magnetization fixed layer A2 is a layer in which the magnetization is oriented in a first direction (for example, leftward in FIG. 2) and fixed.
- that the magnetization is fixed means that the magnetization direction does not change (the magnetization is fixed) before and after the writing using the write current.
- the magnetization fixed layer A2 is an in-plane magnetization film whose magnetization has in-plane magnetic anisotropy (in-plane magnetization easy axis).
- the magnetization fixed layer A2 is not limited to the in-plane magnetization film, and may be a perpendicular magnetization film having perpendicular magnetic anisotropy (perpendicular magnetization easy axis).
- the magnetization fixed layer A2 When the magnetization fixed layer A2 is an in-plane magnetization film, the magnetization fixed layer A2 has a high MR ratio (the rate of change in magnetoresistance), is less susceptible to spin transfer torque (STT) at the time of reading, and can increase the reading voltage.
- STT spin transfer torque
- a known material can be used for the magnetization fixed layer A2.
- a metal selected from the group consisting of Cr, Mn, Co, Fe and Ni, and an alloy exhibiting one or more of these metals and exhibiting ferromagnetism can be used.
- an alloy containing these metals and one or more elements of B, C, and N can also be used.
- Co-Fe and Co-Fe-B can be mentioned.
- a Heusler alloy such as Co 2 FeSi can also be used for the magnetization fixed layer A2.
- the Heusler alloy contains an intermetallic compound having a chemical composition of X 2 YZ, X is a transition metal element or noble metal element of Co, Fe, Ni, or Cu group on the periodic table, and Y is Mn, V , A transition metal of Cr or Ti group and can also take an element species of X, and Z is a typical element of Group III to V.
- Co 2 FeSi, Co 2 MnSi, Co 2 Mn 1-a Fe a Al b Si 1-b and the like can be mentioned.
- the magnetization fixed layer A2 may be a synthetic structure comprising a ferromagnetic layer or a nonmagnetic layer, or a synthetic structure comprising an antiferromagnetic layer, a ferromagnetic layer or a nonmagnetic layer. In the latter, the magnetization direction of the magnetization fixed layer A2 is strongly held by the antiferromagnetic layer in the synthetic structure. Therefore, the magnetization of the magnetization fixed layer A2 is less likely to be affected by the outside.
- the magnetization fixed layer A2 In order to orient the magnetization of the magnetization fixed layer A2 in the XY plane (make the magnetization fixed layer A2 an in-plane magnetization film), it is preferable to use, for example, NiFe. On the other hand, in the case of orienting the magnetization of the magnetization fixed layer A2 in the Z direction (making the magnetization fixed layer A2 a perpendicular magnetization film), it is preferable to use, for example, a Co / Ni laminated film, a Co / Pt laminated film or the like.
- the magnetization fixed layer A2 may be [Co (0.24 nm) / Pt (0.16 nm)] 6 / Ru (0.9 nm) / [Pt (0.16 nm) / Co (0.16 nm)] 4 / Ta If 0.2 nm) / FeB (1.0 nm), then it becomes a perpendicular magnetization film.
- the nonmagnetic layer A3 is provided on the lower surface of the magnetization fixed layer A2.
- the magnetoresistive element A reads out a change in the magnetization state of the magnetization free layer A1 with respect to the magnetization fixed layer A2 as a change in resistance value via the nonmagnetic layer A3. That is, the magnetization fixed layer A2, the nonmagnetic layer A3 and the magnetization free layer A1 function as the magnetoresistance effect element A, and when the nonmagnetic layer A3 is made of an insulator, it has a configuration similar to a tunnel magnetoresistance (TMR) element. When the nonmagnetic layer 2 is made of metal, the structure is similar to a giant magnetoresistive (GMR) element.
- GMR giant magnetoresistive
- the nonmagnetic layer A3 As a material of the nonmagnetic layer A3, a known material that can be used for the nonmagnetic layer of the magnetoresistive element A can be used.
- the nonmagnetic layer A3 is made of an insulator (in the case of a tunnel barrier layer)
- the material is Al 2 O 3 , SiO 2 , MgO, MgAl 2 O 4 , ZnAl 2 O 4 , MgGa 2 O 4 , ZnGa 2 O 4 , MgIn 2 O 4 , ZnIn 2 O 4 , and multilayer films or mixed composition films of these materials can be used.
- materials in which a part of Al, Si and Mg is substituted by Zn, Be and the like can also be used.
- MgO and MgAl 2 O 4 are materials that can realize coherent tunneling, and therefore, the magnetoresistance ratio (MR ratio) can be made large.
- the nonmagnetic layer 2 is made of metal, Cu, Al, Ag or the like can be used as the material.
- the nonmagnetic layer A3 is an insulator (in the case of a tunnel barrier layer)
- its thickness is, for example, 2.5 nm or more.
- the magnetization free layer A1 corresponds to the domain wall drive layer of the domain wall drive (moving) MRAM.
- the magnetization free layer A1 is made of a ferromagnetic material, and the direction of magnetization in the inside is reversible.
- the magnetization free layer A1 has a first region A11 in which the magnetization is oriented in a second direction opposite to the magnetization fixed layer A2, a second region A12 in which the magnetization is oriented in the same direction as the first direction, and these regions And a domain wall DW forming an interface of The magnetization directions of the first area A11 and the second area A12 are opposite to each other across the domain wall DW.
- the domain wall DW moves by changing the composition ratio of the first area A11 and the second area A12 in the magnetization free layer A1.
- a known material can be used as the material of the magnetization free layer A1, and in particular, a soft magnetic material can be applied.
- a metal selected from the group consisting of Cr, Mn, Co, Fe and Ni, an alloy containing one or more of these metals, these metals and one or more elements of B, C, and N An alloy etc. contained can be used.
- Co--Fe, Co--Fe--B, and Ni--Fe are listed as the material of the magnetization free layer A1.
- a material having a small saturation magnetization can also be used as the material of the magnetization free layer A1.
- a material with small saturation magnetization such as (MnGa) As, (InFe) As, or a Co / Tb multilayer film or GdFeCo is used
- the domain wall DW of the magnetization free layer A1 can be driven with a small current density.
- these materials are used, the driving speed of the domain wall DW is reduced.
- the driving speed of the domain wall DW is high, and the domain wall DW operates at a speed of 100 m / sec or more. That is, the domain wall DW moves a distance of 1 ⁇ m with a pulse of 10 nsec. Therefore, when moving the magnetization free layer A1 in the device in an analog manner, measures such as applying a minute pulse using an expensive semiconductor circuit or making the magnetization free layer sufficiently long at the expense of integration are necessary. It will be necessary. On the other hand, in the case of a material having a slow driving speed of the domain wall DW, an analog memory can be formed even when a sufficiently long pulse current is applied or the length of the magnetization free layer A1 is short.
- the magnetization free layer A1 is a perpendicular magnetization film
- a perpendicular magnetization film selected from the group consisting of a Co / Pt multilayer film, a Co / Pd multilayer film, and a CoCrPt alloy film is preferable.
- the length of the magnetization free layer A1 extending in the longitudinal direction is preferably 60 nm or more. If it is less than 60 nm, it is likely to be a single magnetic domain, and the domain wall DW is not easily formed in the magnetization free layer A1.
- the thickness of the magnetization free layer A1 is not particularly limited as long as it functions as a domain wall driving layer, but can be, for example, 2 nm to 60 nm.
- the thickness of the magnetization free layer A1 is 60 nm or more, the possibility of forming a domain wall in the stacking direction increases. However, whether or not the domain wall is formed in the stacking direction depends on the balance with the shape anisotropy of the magnetization free layer A1. If the thickness of the magnetization free layer A1 is less than 60 nm, it is unlikely that the domain wall DW can be produced.
- the magnetization free layer A1 may have a domain wall pinning portion for stopping the movement of the domain wall DW on the side surface of the layer. For example, when the unevenness, groove, swelling, constriction, notch or the like is provided at the position where the movement of the domain wall DW of the magnetization free layer A1 is to be stopped, the movement of the domain wall can be stopped (pinned). If the domain wall pinning portion is provided, the domain wall can not be moved further if a current equal to or higher than the threshold is supplied, and the output signal is not analog but is easily converted into multiple values.
- the domain wall DW can be held more stably by forming the domain wall pinning portions at predetermined distances, enabling stable multi-level recording, and more stable multi-leveled output Allows to read out the signal.
- the first direction same as the magnetization of the first region A11
- a second magnetization supply layer A5 having a magnetization in the second direction that is the same as the magnetization of the second region A12.
- materials of the first magnetization supply layer A4 and the second magnetization supply layer A5 the same materials as the ferromagnetic materials usable for the magnetization fixed layer A2 can be used.
- the first magnetization supply layer A4 and the second magnetization supply layer A5 are used as layers in which the magnetization is fixed at both ends of the magnetization free layer A1.
- a spin-orbit torque (SOT) wire may be used which contacts the magnetization free layer A1 and extends in a direction intersecting with the longitudinal direction of the magnetization free layer A1 for one or both of them.
- the spin orbit torque wiring is made of a material in which a pure spin current is generated by the spin Hall effect when current flows.
- the first magnetization supply layer A4 and the second magnetization supply layer A5 are used as layers in which the magnetization is fixed to both ends of the magnetization free layer A1.
- a magnetic field application wire which is electrically insulated from the magnetization free layer A1 and extends in a direction intersecting with the magnetization free layer A1 in one or both of them.
- the end portions of the magnetization free layer A1 are opposite to each other in the in-plane magnetization direction according to the direction of the current supplied to the magnetic field application wiring.
- the magnetization of one of the in-plane magnetization directions can be supplied.
- one of the perpendicular magnetization directions opposite to each other is applied to the end portion of the magnetization free layer A1 according to the direction of the current supplied to the magnetic field application wiring.
- the magnetization in one perpendicular magnetization direction can be supplied.
- the first magnetization supply layer A4 and the second magnetization supply layer A5 are used as layers in which the magnetization is fixed to both ends of the magnetization free layer A1.
- a voltage application terminal connected to the magnetization free layer A1 via the insulating layer may be used for either or both.
- part of the magnetization is oriented in a direction perpendicular to the magnetization direction of the magnetization free layer A1 when the voltage is applied, and when the voltage application stops, the magnetization free layer A1 Magnetization is oriented in a first direction or in a second direction opposite thereto. Whether magnetization oriented in this orthogonal direction falls in the first direction or in the second direction opposite to it is equal probability, and the timing, frequency, and period of applying the pulse voltage are adjusted to adjust A portion can be oriented from the first direction to the second direction.
- a magnetic coupling layer may be provided between the magnetization free layer A1 and the nonmagnetic layer A3.
- the magnetic coupling layer is a layer to which the magnetization state of the magnetization free layer A1 is transferred.
- the main function of the magnetization free layer A1 is to drive the domain wall, and it is not always possible to select a material suitable for the magnetoresistive effect generated through the magnetization fixed layer A1 and the nonmagnetic layer A2.
- a ferromagnetic material having a BCC structure is preferable for the magnetization fixed layer A1 and the magnetic coupling layer in order to cause a coherent tunneling effect using the nonmagnetic layer A2.
- a large output can be obtained when a material having a composition of Co—Fe—B is prepared by sputtering as the material of the magnetization fixed layer A1 and the magnetic coupling layer.
- FIG. 3 is a perspective view showing a first example of variable resistance elements applicable as the fixed input product operation elements 10A2A, 10A2B, 10B2A and 10B2B of the product-sum operation unit 1 according to the first embodiment.
- the variable resistance element is the magnetoresistive element A that exhibits the magnetoresistive effect.
- the magnetoresistive element A has a magnetization free layer A1 having a domain wall DW, a magnetization fixed layer A2 in which the magnetization direction is fixed, and a nonmagnetic layer A3.
- the nonmagnetic layer A3 is sandwiched between the magnetization free layer A1 and the magnetization fixed layer A2.
- the magnetization free layer A1 has a first region A11 on one side of the domain wall DW and a second region A12 on the other side of the domain wall DW.
- a write terminal AA is provided in the first area A11.
- a common terminal AB is provided in the second area A12.
- the magnetization fixed layer A2 is provided with a read terminal AC.
- the read terminal AC includes a fuse portion AC1 and wiring portions AC2 and AC3 disposed on both sides of the fuse portion AC1.
- the output current is in the order of the wiring portion AC2, the fuse portion AC1, and the wiring portion AC3 (that is, upward in FIG. 3)
- the current flows through AC1 and the wiring portions AC2 and AC3, or flows through the fuse portion AC1 and the wiring portions AC2 and AC3 in the order of the wiring portion AC3, the fuse portion AC1, and the wiring portion AC2 (that is, downward in FIG. 3).
- the cross-sectional area of the fuse portion AC1 perpendicular to the direction in which the output current flows is set smaller than the cross-sectional area of the wiring portions AC2 and AC3 perpendicular to the direction in which the output current flows. That is, the fuse portion AC1 is configured to be more easily broken than the wiring portions AC2 and AC3. In the example shown in FIG. 3, the fuse portion AC1 is configured to be more easily disconnected than the wiring portions AC2 and AC3 by making the cross sectional area of the fuse portion AC1 smaller than the cross sectional area of the wiring portions AC2 and AC3.
- the fuse portion AC1 may be configured to be more easily disconnected than the wiring portions AC2 and AC3 by forming the fuse portion AC1 in a meander type or in a mesh shape.
- the fuse part AC1 may be more easily disconnected than the wiring parts AC2 and AC3.
- the fuse part AC1 is disposed closer to the read terminal AC (upper side in FIG. 3) than the magnetization fixed layer A2. Therefore, it is possible to suppress the possibility that the influence of the disconnection of the fuse portion AC1 reaches the side of the write terminal AA.
- the fixed input product calculation elements 10A2A, 10A2B, 10B2A, and 10B2B have a function of breaking when a failure that an output current increases occurs.
- FIG. 4 is a diagram for explaining the change of the output current from the magnetoresistive element A via the read terminal AC shown in FIG.
- the vertical axis represents the output current from the magnetoresistive element A via the read terminal AC.
- the horizontal axis indicates the state (the magnitude of the resistance value) of the magnetoresistive element A.
- the output current from the magnetoresistive element A via the read terminal AC has a value I1.
- I1 the output current from the magnetoresistive element A via the read terminal AC
- FIG. 5 is a perspective view showing a second example of the variable resistance element applicable as the fixed input product operation elements 10A2A, 10A2B, 10B2A and 10B2B of the product-sum operation unit 1 according to the first embodiment.
- the variable resistance element is the magnetoresistive element A that exhibits the magnetoresistive effect.
- the common terminal AB includes a fuse portion AB1 and wiring portions AB2 and AB3 disposed on both sides of the fuse portion AB1.
- the output current from the magnetoresistive element A is output through the common terminal AB
- the output current is in the order of the wiring portion AB2, the fuse portion AB1, and the wiring portion AB3 (that is, the fuse portion in FIG. 5).
- the current flows through AB1 and the wiring portions AB2 and AB3, or flows through the fuse portion AB1 and the wiring portions AB2 and AB3 in the order of the wiring portion AB3, the fuse portion AB1 and the wiring portion AB2 (that is, leftward in FIG. 5).
- the cross-sectional area of the fuse portion AB1 perpendicular to the direction in which the output current flows is set smaller than the cross-sectional area of the wiring portions AB2 and AB3 perpendicular to the direction in which the output current flows. That is, the fuse portion AB1 is configured to be more easily disconnected than the wiring portions AB2 and AB3. In the example shown in FIG. 5, the fuse portion AB1 is configured to be more easily disconnected than the wire portions AB2 and AB3 by making the cross-sectional area of the fuse portion AB1 smaller than the cross-sectional area of the wire portions AB2 and AB3.
- the fuse portion AB1 may be configured to be more easily disconnected than the wiring portions AB2 and AB3 by forming the fuse portion AB1 in a meander type or in a mesh shape. In still another example, by setting the melting point of the material of the fuse portion AB1 lower than the melting point of the materials of the wiring portions AB2 and AB3, the fuse portion AB1 may be more easily broken than the wiring portions AB2 and AB3.
- the fixed input product computing elements 10A2A, 10A2B, 10B2A, 10B2B (the magnetoresistance effect element A) Have the function of breaking the wire.
- FIG. 6 is a view showing an application example of the product-sum operation unit 1 of the first embodiment, and is a view showing an application example to a network called a multilayer perceptron 3-3-3.
- FIG. 7 is a diagram showing an example of the entire configuration of the product-sum operation unit 1 of the first embodiment.
- the product-sum operation unit 1 of the first embodiment is applied to the neuromorphic device 100.
- the neuromorphic device 100 includes an input layer 101, a hidden layer 102, an output layer 103, the product-sum calculator 1 of the first embodiment, and the product-sum calculator 2.
- the product-sum operation unit 1 according to the first embodiment includes a plurality of (three) variable input product operation elements and a plurality (two) fixed input product operation elements.
- the product-sum operation unit 2 has a plurality (three) of variable input product operation elements and one fixed input product operation element.
- the input layer 101 includes, for example, five nodes 101A, 101B, 101C, 101D, and 101E. Among these, the nodes 101A and 101B correspond to the fixed input unit shown in FIG.
- the hidden layer 102 comprises, for example, four nodes 102A, 102B, 102C, 102D. Among these, the node 102A is set to 1.
- the output layer 103 includes, for example, three nodes 103A, 103B, and 103C.
- the product-sum operation unit 1 is disposed between the input layer 101 and the hidden layer 102, and includes four nodes 101A, 101B, 101C, and 101D of the input layer 101, and three nodes 102A, 102B, and 102C of the hidden layer 102, and Connect In the product-sum operation unit 1 shown in FIG. 1, between the nodes 101A and 101B of the input layer 101 and the nodes 102B to 102D of the hidden layer 102, respectively, the product operator for fixed input as shown in FIG. 10A2A or the like, and each node of the hidden layer 102 outputs a sum of a value obtained by multiplying the input signal by a weight and a bias (hereinafter, referred to as a constant “b1”).
- the product-sum operation unit 2 is disposed between the hidden layer 102 and the output layer 103.
- the product-sum operation unit 2 includes a plurality (three) of variable-input product operation elements, the number of fixed-input product operation elements is not a plurality (one), so it is not the product-sum operation device of the present invention.
- the hidden layer 102 uses, for example, an activation function (eg, a sigmoid function).
- the inventors of the present invention have found that it is possible to improve the discrimination performance of a neural network by inserting a bias term when performing product-sum operation in a neural network device in earnest research.
- the present inventor has found that, in a product-sum operation unit in which variable resistance elements are used as a plurality of product operation elements, a product operation element for fixed input may be used to express a bias term.
- the inventor of the present invention has determined that the failure performance of the fixed input product operation element representing the bias term is higher than the effect that the failure of the variable input product operation element representing the weight exerts on the discrimination performance of the neural network.
- the inventor of the present invention provides a plurality of fixed input product operation elements representing bias terms in one column so that the discrimination performance of the neural network is completely when one fixed input product operation element fails. It has been found that the loss can be prevented, and the degradation of the discrimination performance of the neural network can be suppressed.
- the column 10A is provided with a plurality of fixed input product operation elements 10A2A, 10A2B, and the column 10B is provided with a plurality of fixed inputs.
- Product operation elements 10B2A and 10B2B are provided.
- the product-sum operation unit 1 according to the first embodiment includes a failure diagnosis unit 13.
- the present inventor has made it possible to perform neural learning by performing relearning even when one of the plurality of fixed input product computing elements provided in one column has a malfunction in the fixed input product computing element. It has been found that the discrimination performance of the network can be recovered.
- the product-sum operation unit 1 according to the first embodiment is provided with the relearning unit 14 as shown in FIG.
- FIG. 8 is a flowchart showing an example of processing executed by the product-sum operation unit 1 of the first embodiment shown in FIGS. 1 and 7.
- the product-sum operation unit 1 executes a learning step S10, a failure diagnosis step S20, and a relearning step S30 (relearning step).
- the learning step S10 includes step S11.
- the failure diagnosis step S20 includes steps S21 to S24. Steps S31 to S33 are included in the relearning step S30.
- known back propagation learning is performed.
- the product-sum operation unit 1 sets the resistance values of the fixed input product operation elements 10A2A and 10A2B that express the bias terms of the column 10A.
- the failure diagnosis unit 13 of the product-sum operation unit 1 executes the failure diagnosis step S20. Specifically, in step S21, the product-sum operation unit 1 turns off the input of the variable signal from the variable input unit 121A to the variable input product operation element 10A1A (and the variable input product operation element 10B1A). That is, the variable signal from the variable input unit 121A is not input to the variable input product arithmetic operation element 10A1A. In step S21, the product-sum operation unit 1 turns off the input of the variable signal from the variable input unit 121B to the variable input product operation element 10A1B (and the variable input product operation element 10B1B).
- step S21 the product-sum operation unit 1 turns on the input of the fixed signal from the fixed input unit 122A to the fixed input product operation element 10A2A (and the fixed input product operation element 10B2A). That is, a fixed signal is input from the fixed input unit 122A to the fixed input product operation element 10A2A.
- step S21 the product-sum operation unit 1 turns on the input of the fixed signal from the fixed input unit 122B to the fixed input product operation element 10A2B (and the fixed input product operation element 10B2B). That is, a fixed signal is input from the fixed input unit 122B to the fixed input product operation element 10A2B.
- step S22 output detection step
- the output detector 11A detects the total value of the outputs from the variable input product operation elements 10A1A and 10A1B and the outputs from the fixed input product operation elements 10A2A and 10A2B.
- the variable signal from the variable input unit 121A is not input to the variable input product arithmetic device 10A1A
- the variable signal from the variable input device 121B is not input to the variable input product arithmetic device 10A1B. Therefore, the outputs from the variable input product operation elements 10A1A and 10A1B are zero.
- step S22 output detection step
- the variable input units 121A and 121B do not input variable signals to the variable input product operation elements 10A1A and 10A1B
- the fixed input units 122A and 122B are products for fixed input
- the output detector 11A detects the total value of the outputs from the fixed input product operation elements 10A2A and 10A2B while the fixed signals are input to the operation elements 10A2A and 10A2B.
- step S23 the fault diagnosis unit 13 includes the faulty fixed input product operation element based on the detection value of the output detector 11A in the fixed input product operation elements 10A2A and 10A2B. Diagnose whether or not. If the faulty fixed input product computing element is not included in the fixed input product computing elements 10A2A and 10A2B, the process returns to step S21. On the other hand, if the malfunctioning fixed input product arithmetic element is included in the fixed input product arithmetic elements 10A2A and 10A2B, the process proceeds to step S24.
- step S24 the product-sum operation unit 1 specifies the faulty fixed input product operating element out of the fixed input product operating elements 10A2A and 10A2B.
- the variable input units 121A and 121B input variable signals to the variable input product operation elements 10A1A and 10A1B in order to diagnose whether the fixed input product operation element 10A2A is broken or not.
- the fixed input unit 122B does not input the fixed signal to the fixed input product operation element 10A2B, and the fixed input unit 122A inputs the fixed signal to the fixed input product operation element 10A2A
- the output detector 11A detects the output from the fixed input product operation element 10A2A.
- the failure diagnosis unit 13 diagnoses whether or not the fixed input product arithmetic operation element 10A2A is broken based on the detection value of the output detector 11A.
- the variable input units 121A and 121B are variable with respect to the variable input product operation elements 10A1A and 10A1B.
- the output detector 11A detects the output from the fixed input product operation element 10A2B.
- the failure diagnosis unit 13 diagnoses whether or not the fixed input product arithmetic element 10A2B is broken based on the detection value of the output detector 11A.
- the relearning unit 14 of the product-sum operation unit 1 executes a relearning step S30 (relearning step).
- a relearning step S30 for example, known back propagation learning is performed.
- the relearning unit 14 determines whether or not the fixed input product arithmetic operation element 10A2A has a failure based on the diagnosis result in step S24 described above. If the fixed input product arithmetic element 10A2A is out of order, the process proceeds to step S32. On the other hand, if the fixed input product arithmetic operation element 10A2B is out of order, the process proceeds to step S33.
- step S32 the relearning unit 14 resets the resistance value of the fixed input product operation element 10A2B so that the bias term of the column 10A is expressed only by the fixed input product operation element 10A2B. That is, in step S32, the relearning unit 14 recalculates the resistance value of the fixed input product operation element 10A2B other than the defective fixed input product operation element 10A2A among the fixed input product operation elements 10A2A and 10A2B. Make settings.
- step S33 the relearning unit 14 resets the resistance value of the fixed input product operation element 10A2A such that the bias term of the column 10A is expressed only by the fixed input product operation element 10A2A. That is, in step S33, the relearning unit 14 recalculates the resistance value of the fixed input product operation element 10A2A other than the defective fixed input product operation element 10A2B among the fixed input product operation elements 10A2A and 10A2B. Make settings.
- FIG. 9 is a diagram for explaining an example in which the resistance value of the fixed input product arithmetic operation element 10A2A is reset in step S33 of FIG. Specifically, FIG. 9A shows a state before the fixed input product arithmetic operation element 10A2B breaks down. FIG. 9B shows a state after the fixed input product operation element 10A2B has failed and the resistance value of the fixed input product operation element 10A2A has been reset.
- the weight a in the case where the product-sum operation unit 1 of the first embodiment is applied to a neural network is the resistance of the variable input product operation elements 10A1A and 10A1B. Set by value.
- the bias term b1 is set by the resistance values of the fixed input product operation elements 10A2A and 10A2B.
- the relearning unit 14 resets the resistance value of the fixed input product operation element 10A2A.
- the bias term b2 is set only by the resistance value of the product calculator 10A2A for fixed input. That is, in the example shown in FIGS. 9A and 9B, at the time of failure of the fixed input product operation element 10A2B, one of the fixed input product operation elements 10A2A and 10A2B other than the fixed input product operation element 10A2B The bias term b2 redistributed to the fixed input product arithmetic element 10A2A is set.
- variable input product operation elements 10A2A and 10A2B to which signals determined in synchronization with variable signals input to variable input product operation elements 10A1A and 10A1B are input. Functions as a bias term.
- a product-sum calculator that does not use the fixed input product calculators 10A2A and 10A2B as elements for bias terms is applied to a neural network The discrimination performance of the neural network can be improved more than in the case.
- the product-sum operation unit 1 of the first embodiment shown in FIG. 1 includes the product operation unit 10 and the sum operation unit 11.
- the product calculating unit 10 includes a plurality of variable input product operating elements 10A1A and 10A1B and a plurality of fixed input product operating elements 10A2A and 10A2B.
- Each of the plurality of variable input product operation elements 10A1A and 10A1B and the plurality of fixed input product operation elements 10A2A and 10A2B is a resistance change element.
- the product-sum operation unit 1 according to the first embodiment includes variable input sections 121A and 121B for inputting variable signals to the plurality of variable input product operation elements 10A1A, 10A1B, ..., and a plurality of fixed input product operations.
- the sum operation unit 11 includes an output detector 11A that detects a total value of outputs from the plurality of variable input product operation elements 10A1A and 10A1B and outputs from the plurality of fixed input product operation elements 10A2A and 10A2B. Therefore, when the product-sum operation unit 1 of the first embodiment is applied to a neural network, the performance deterioration of the neural network at the time of failure of one of the fixed input product operation elements 10A2A and 10A2B which are elements for bias terms It can be suppressed.
- the plurality of fixed input product operation elements 10A2A and 10A2B are disconnected when a failure that increases the output current occurs (that is, the resistance value Becomes infinite)).
- Each of the plurality of variable input product operation elements 10A1A and 10A1B and the plurality of fixed input product operation elements 10A2A and 10A2B has a write terminal AA, a common terminal AB, and a read terminal AC, and has a magnetoresistive effect. Is a magnetoresistive element A.
- the magnetoresistive element A includes a magnetization free layer A1 having a domain wall DW, a magnetization fixed layer A2 in which the magnetization direction is fixed, and a nonmagnetic layer A3 sandwiched between the magnetization free layer A1 and the magnetization fixed layer A2.
- the resistance values at the time of normal operation and the failure time in detail, the output current becomes large and disconnection occurs as the plurality of fixed input product operation elements 10A2A and 10A2B
- An element having a large difference from the resistance value at the time of failure is used.
- the fixed input is higher than when the element having a small difference between the resistance value at the normal operation time and the resistance value at the failure time is used as the product operation element for fixed input. It is possible to suppress the performance degradation of the neural network when one of the product operation elements 10A2A and 10A2B fails.
- variable input units 121A and 121B perform variable signals to the plurality of variable input product operation elements 10A1A and 10A1B.
- the output detector 11A includes a plurality of fixed input product operation elements in a state in which the fixed input units 122A and 122B input fixed signals to the plurality of fixed input product operation elements 10A2A and 10A2B. The output from 10A2A and 10A2B is detected.
- the fault diagnosis unit 13 detects the plurality of fixed input product operation elements 10A2A and 10A2B detected at the time of output detection. On the basis of the output, it is diagnosed whether or not the faulty fixed input product operation element is included in the plurality of fixed input product operation elements 10A2A and 10A2B. Therefore, according to the product-sum operation unit 1 of the first embodiment, the performance of the neural network at the time of failure of one of the fixed input product operation elements 10A2A and 10A2B compared to the case where such output inspection and diagnosis are not performed. It is possible to suppress the decrease.
- the relearning unit 14 when using the product-sum operation unit 1 of the first embodiment (specifically, at the time of relearning) And the relearning unit 14 resets the resistance value of the fixed input product operation element other than the faulty fixed input product operation element among the plurality of fixed input product operation elements 10A2A and 10A2B. . Therefore, according to the product-sum operation unit 1 of the first embodiment, the performance deterioration of the neural network at the time of failure of one of the fixed input product operation elements 10A2A and 10A2B is more than that when such relearning is not performed. It can be suppressed.
- Second Embodiment (Variable resistance element is a general variable resistance)
- a second embodiment of the product-sum operation unit of the present invention will be described.
- the product-sum operation unit 1 of the second embodiment is configured in the same manner as the product-sum operation unit 1 of the first embodiment described above except for the points described later. Therefore, according to the product-sum calculator 1 of the second embodiment, the same effects as those of the product-sum calculator 1 of the first embodiment described above can be obtained except for the points described later.
- FIG. 10 is a diagram showing an example of a part of the product-sum calculator 1 according to the second embodiment.
- the variable input product operation elements 10A1A, 10A1B, 10B1A, 10B1B and the fixed input product operation elements 10A2A, 10A2B, 10B2A, 10B2B are configured by magnetoresistance effect elements.
- variable input product operation elements 10A1A, 10A1B, 10B1A, 10B1B and fixed input product operation elements 10A2A, 10A2B, 10B2A, 10B2B are general resistance change elements (variable resistance It consists of).
- each of variable input product operation elements 10A1A, 10A1B, 10B1A, 10B1B and fixed input product operation elements 10A2A, 10A2B, 10B2A, 10B2B is a read terminal, a write terminal
- each of the variable input product operation elements 10A1A, 10A1B, 10B1A, 10B1B and the fixed input product operation elements 10A2A, 10A2B, 10B2A, 10B2B have the first terminal. And a second terminal.
- the first terminals of the variable input product arithmetic elements 10A1A and 10B1A are connected to the line L11.
- First terminals of variable input product arithmetic elements 10A1B and 10B1B are connected to line L21.
- the first terminals of the fixed input product arithmetic elements 10A2A and 10B2A are connected to the line L31.
- the first terminals of the fixed input product arithmetic elements 10A2B and 10B2B are connected to the line L41.
- the fixed signals input to the fixed input product operation elements 10A2A, 10A2B, 10B2A and 10B2B are input to the variable input product operation elements 10A1A, 10A1B, 10B1A and 10B1B. Synchronized to a variable signal.
- the second terminals of the variable input product operation elements 10A1A and 10A1B and the fixed input product operation elements 10A2A and 10A2B are connected to the line M1.
- the second terminals of the variable input product operation elements 10B1A and 10B1B and the fixed input product operation elements 10B2A and 10B2B are connected to the line M2.
- the sum operation unit 11 includes an output detector 11A that detects a total value of outputs from variable input product operation elements 10A1A and 10A1B and fixed input product operation elements 10A2A and 10A2B, and variable input product operation elements
- An output detector 11B is provided for detecting the total value of the outputs from the second terminals of 10B1A, 10B1B and fixed input product operation elements 10B2A, 10B2B.
- the fixed input product calculation elements 10A2A, 10A2B, 10B2A, and 10B2B are disconnected when a failure that increases the output current occurs, for example, by having a fuse portion (not shown) or the like. It has a function.
- the fixed input product calculation elements 10A2A, 10A2B, 10B2A, and 10B2B shown in FIG. 10 may not have the function of breaking when a failure that increases the output current occurs.
- a program for realizing the function of each device (for example, the product-sum operation unit 1) according to the embodiment described above is recorded in a computer readable recording medium (storage medium) and recorded in this recording medium
- the processing may be performed by loading the executed program into a computer system and executing it.
- the “computer system” may include hardware such as an operating system (OS: Operating System) or a peripheral device.
- the “computer readable recording medium” is a flexible disk, a magneto-optical disk, a ROM (Read Only Memory), a writable nonvolatile memory such as a flash memory, a portable medium such as a DVD (Digital Versatile Disc), A storage device such as a hard disk built into a computer system.
- the recording medium may be, for example, a recording medium for temporarily recording data.
- the “computer-readable recording medium” is a volatile memory (for example, DRAM (for example, DRAM (for example) (DRAM) in a server or client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line).
- Dynamic Random Access Memory includes those that hold a program for a certain period of time.
- the above program may be transmitted from a computer system in which the program is stored in a storage device or the like to another computer system via a transmission medium or by transmission waves in the transmission medium.
- the "transmission medium” for transmitting the program is a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
- the above program may be for realizing a part of the functions described above.
- the above program may be a so-called difference file (difference program) that can realize the above-described functions in combination with a program already recorded in the computer system.
- a processor such as a CPU (Central Processing Unit) reads and executes a program stored in a memory.
- CPU Central Processing Unit
- fixed input product operation element 10A2B fixed input product operation element 10B: column 10B1A: variable input product operation element 10B1B: variable input product operation element 10B2A: fixed input product operation element 10B2B: fixed input product operation element 11 sum arithmetic unit 11A output detector 11B output detector 12 input unit 121A variable input unit 121B variable input unit 122A fixed input unit 122B fixed input unit 13 fault Diagnosis unit 14 14 Re-learning unit 100 Neuromorphic device 101 Input layer 101 A, 101 B, 101 C, 101 D Node 102 102 Hidden layer 10 A, 102B, 102C ... node, 103 ... output layer, 103A, 103B, 103C ... node, A ...
- magnetoresistance effect element AA ... writing terminal, AB ... common terminal, AC ... reading terminal, A1 ... magnetization free layer, A11 ... 1st area, A12 ... second area, A2 ... magnetization fixed layer, A3 ... nonmagnetic layer, DW ... domain wall, L11 ... line, L12 ... line, L21 ... line, L22 ... line, L31 ... line, L32 ... line , L41 ... line, L42 ... line, M1 ... line, M2 ... line
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- Hall/Mr Elements (AREA)
- Mram Or Spin Memory Techniques (AREA)
Abstract
ニューラルネットワークに適用される場合に、バイアス項用素子の故障時のニューラルネットワークの性能低下を抑制することができる積和演算器を提供する。 積和演算器(1)は、積演算部(10)と、和演算部(11)とを備え、積演算部(10)は、複数の可変入力用積演算素子(10A1A)、(10A1B)と、複数の固定入力用積演算素子(10A2A)、(10A2B)とを備える。複数の可変入力用積演算素子(10A1A)、(10A1B)および複数の固定入力用積演算素子(10A2A)、(10A2B)のそれぞれは、抵抗変化素子である。積和演算器(1)は、複数の可変入力用積演算素子に対して可変信号を入力する可変入力部(121A)、(121B)と、複数の固定入力用積演算素子(10A2A)、(10A2B)に対して定められた信号を上記可変信号に同期させて入力する固定入力部(122A)、(122B)とを備える。和演算部(11)は、複数の可変入力用積演算素子(10A1A)、(10A1B)からの出力および複数の固定入力用積演算素子(10A2A)、(10A2B)からの出力の合計値を検出する出力検出器(11A)を備える。
Description
本発明は、積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法に関する。本願は、2017年12月28日に、日本に出願された特願2017-254662号に基づき優先権を主張し、その内容をここに援用する。
従来から、RRAM(登録商標)ベースアナログニューロモーフィックシステムにおけるグレースケール画像認識のための最適化された学習スキームが知られている(例えば非特許文献1参照)。この文献には、アナログニューロモーフィックシステムが、組み立てられた抵抗スイッチングメモリアレイを基礎として開発される旨が記載されている。この文献では、新規なトレーニングスキームが、セグメント化されたシナプスの挙動を利用することによって、アナログシステムの性能を最適化するために提案される。また、この文献では、このスキームが、グレースケール画像認識に対して適用される。
また、神経系を模倣したニューラルネットワークを抵抗変化素子のアレイを用いて実現する研究が進められている。ニューロモーフィックデバイス(NMD)では、前段から次の段へとウエイトをかけて足し合わせる積和演算を行う。そこで、連続的に抵抗が変化する抵抗変化素子を複数組み合わせ、それぞれの抵抗値を重みとして入力信号に対する積演算を行い、そこから出力される電流の総和をとることで和演算を行う様々なタイプの積和演算器、およびそれを利用したNMDの開発がすすめられている。
ニューラルネットワークで広く用いられる多層パーセプトロンでは、入力層、1つ以上の隠れ層、出力層からなり、各層はそれぞれが適切な重み(結合の強さ)とバイアス項で結び付けられている(例えば、非特許文献2参照)。
また、神経系を模倣したニューラルネットワークを抵抗変化素子のアレイを用いて実現する研究が進められている。ニューロモーフィックデバイス(NMD)では、前段から次の段へとウエイトをかけて足し合わせる積和演算を行う。そこで、連続的に抵抗が変化する抵抗変化素子を複数組み合わせ、それぞれの抵抗値を重みとして入力信号に対する積演算を行い、そこから出力される電流の総和をとることで和演算を行う様々なタイプの積和演算器、およびそれを利用したNMDの開発がすすめられている。
ニューラルネットワークで広く用いられる多層パーセプトロンでは、入力層、1つ以上の隠れ層、出力層からなり、各層はそれぞれが適切な重み(結合の強さ)とバイアス項で結び付けられている(例えば、非特許文献2参照)。
Zhe Chen他著、「RRAMベースアナログニューロモーフィックシステムにおけるグレースケール画像認識のための最適化された学習スキーム(OptimizedLearning Scheme for Grayscale Image Recognition in a RRAM Based Analog Neuromorphic System)」、2015年、IEEE、p.17.7.1-p.17.7.4
Sebastian Raschka 著、「Python機械学習プログラミング」、インプレス、p.328-330
ところで、非特許文献1には、バイアス項用素子をどのように構成すべきかについて検討されていない。バイアス項用素子の構成によっては、バイアス項用素子が故障した場合に、ニューラルネットワークの性能が大きく低下してしまうおそれがある。これは一般的に「重み」は特定の結合ごとに値を設定するのに対し、バイアス項は、その層全体の値を偏らせるために用いられるからである。
上述した問題点に鑑み、本発明は、ニューラルネットワークに適用される場合に、バイアス項用素子の故障時のニューラルネットワークの性能低下を抑制することができる積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法を提供することを目的とする。
本発明の一態様の積和演算器は、積演算部と、和演算部とを備え、前記積演算部は、複数の可変入力用積演算素子と、複数の固定入力用積演算素子とを備え、前記複数の可変入力用積演算素子および前記複数の固定入力用積演算素子のそれぞれは、抵抗変化素子であり、前記複数の可変入力用積演算素子に対して可変信号を入力する可変入力部と、前記複数の固定入力用積演算素子に対して定められた信号を前記可変信号に同期させて入力する固定入力部とを備え、前記和演算部は、前記複数の可変入力用積演算素子からの出力および前記複数の固定入力用積演算素子からの出力の合計値を検出する出力検出器を備える。
本発明の一態様の積和演算器では、前記複数の固定入力用積演算素子は、出力電流が増加する故障が発生した場合に断線する機能を有してもよい。
本発明の一態様の積和演算器では、前記抵抗変化素子は、書き込み端子と、共通端子と、読み出し端子とを有してもよい。
本発明の一態様の積和演算器では、前記抵抗変化素子は、磁気抵抗効果を示す磁気抵抗効果素子であり、前記磁気抵抗効果素子は、磁壁を有する磁化自由層と、磁化方向が固定された磁化固定層と、前記磁化自由層と前記磁化固定層とに挟まれた非磁性層とを有してもよい。
本発明の一態様の積和演算器では、前記積演算部は、他の可変入力用積演算素子と、他の固定入力用積演算素子とをさらに備え、前記他の可変入力用積演算素子および前記他の固定入力用積演算素子のそれぞれは、前記抵抗変化素子であり、前記可変入力部は、前記他の可変入力用積演算素子に対して前記可変信号を入力し、前記固定入力部は、前記他の固定入力用積演算素子に対して前記定められた信号を前記可変信号に同期させて入力し、前記和演算部は、前記他の可変入力用積演算素子からの出力および前記他の固定入力用積演算素子からの出力の合計値を検出する他の出力検出器をさらに備えてもよい。
本発明の一態様は、前記積和演算器を備えるニューロモーフィックデバイスである。
本発明の一態様は、前記積和演算器の使用方法であって、前記積和演算器は故障診断部をさらに備え、前記可変入力部が前記複数の可変入力用積演算素子に対して前記可変信号を入力しない状態、かつ、前記固定入力部が前記複数の固定入力用積演算素子に対して前記定められた信号を入力する状態で、前記出力検出器が、前記複数の固定入力用積演算素子からの出力を検出する出力検出工程と、前記故障診断部が、前記出力検出工程において検出された前記複数の固定入力用積演算素子からの出力に基づいて、故障している積演算素子が前記複数の固定入力用積演算素子に含まれるか否かを診断する診断工程とを含む、積和演算器の使用方法である。
本発明の一態様の積和演算器の使用方法では、前記積和演算器は再学習部をさらに備え、前記故障している積演算素子が前記複数の固定入力用積演算素子に含まれると前記故障診断部が診断した場合に、前記再学習部が、前記複数の固定入力用積演算素子のうちの、前記故障している積演算素子以外の積演算素子の抵抗値の再設定を行う再学習工程をさらに含んでもよい。
本発明によれば、ニューラルネットワークに適用される場合に、バイアス項用素子の故障時のニューラルネットワークの性能低下を抑制することができる積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法を提供することができる。
以下、図面を参照し、本発明の積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法の実施形態について説明する。
<第1実施形態>(抵抗変化素子が磁気抵抗効果素子)
図1は第1実施形態の積和演算器1の一部の構成の一例を示す図である。
図1に示す例では、第1実施形態の積和演算器1が、積演算部10と、和演算部11と、入力部12とを備えている。積演算部10は、カラム10Aと、カラム10Bとを備えている。入力部12は、可変入力部121A、121Bと、固定入力部122A、122Bとを備えている。
図1に示す例では、積演算部10が、2つのカラム10A、10Bを備えているが、他の例では、積演算部10が、3以上の任意の数のカラム10A、10B、…を備えていてもよい。
図1は第1実施形態の積和演算器1の一部の構成の一例を示す図である。
図1に示す例では、第1実施形態の積和演算器1が、積演算部10と、和演算部11と、入力部12とを備えている。積演算部10は、カラム10Aと、カラム10Bとを備えている。入力部12は、可変入力部121A、121Bと、固定入力部122A、122Bとを備えている。
図1に示す例では、積演算部10が、2つのカラム10A、10Bを備えているが、他の例では、積演算部10が、3以上の任意の数のカラム10A、10B、…を備えていてもよい。
図1に示す例では、カラム10Aが、可変入力用積演算素子10A1A、10A1Bと、固定入力用積演算素子10A2A、10A2Bとを備えている。カラム10Bが、可変入力用積演算素子10B1A、10B1Bと、固定入力用積演算素子10B2A、10B2Bとを備えている。
図1に示す例では、カラム10Aが2つの可変入力用積演算素子10A1A、10A1Bと2つの固定入力用積演算素子10A2A、10A2Bとを備え、カラム10Bが2つの可変入力用積演算素子10B1A、10B1Bと2つの固定入力用積演算素子10B2A、10B2Bとを備えているが、他の例では、カラム10Aが、2以外の任意の数(詳細には、複数)の可変入力用積演算素子と2以外の任意の数(詳細には、複数)の固定入力用積演算素子とを備え、カラム10Bが、2以外の任意の数(詳細には、複数)の可変入力用積演算素子と2以外の任意の数(詳細には、複数)の固定入力用積演算素子を備えてもよい。
図1に示す例では、カラム10Aが2つの可変入力用積演算素子10A1A、10A1Bと2つの固定入力用積演算素子10A2A、10A2Bとを備え、カラム10Bが2つの可変入力用積演算素子10B1A、10B1Bと2つの固定入力用積演算素子10B2A、10B2Bとを備えているが、他の例では、カラム10Aが、2以外の任意の数(詳細には、複数)の可変入力用積演算素子と2以外の任意の数(詳細には、複数)の固定入力用積演算素子とを備え、カラム10Bが、2以外の任意の数(詳細には、複数)の可変入力用積演算素子と2以外の任意の数(詳細には、複数)の固定入力用積演算素子を備えてもよい。
図1に示す例では、複数の可変入力用積演算素子10A1A、10A1B、10B1A、10B1Bおよび複数の固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bのそれぞれは、読み出し端子と、書き込み端子と、共通端子とを備える抵抗変化素子である。
可変入力用積演算素子10A1A、10B1Aの読み出し端子は、ラインL11に接続されている。ラインL11は、可変入力用積演算素子10A1A、10B1Aに対して可変信号を入力する可変入力部121Aに接続されている。可変入力用積演算素子10A1A、10B1Aの書き込み端子は、ラインL12に接続されている。
可変入力用積演算素子10A1B、10B1Bの読み出し端子は、ラインL21に接続されている。ラインL21は、可変入力用積演算素子10A1B、10B1Bに対して可変信号を入力する可変入力部121Bに接続されている。可変入力用積演算素子10A1B、10B1Bの書き込み端子は、ラインL22に接続されている。
可変入力用積演算素子10A1A、10B1Aの読み出し端子は、ラインL11に接続されている。ラインL11は、可変入力用積演算素子10A1A、10B1Aに対して可変信号を入力する可変入力部121Aに接続されている。可変入力用積演算素子10A1A、10B1Aの書き込み端子は、ラインL12に接続されている。
可変入力用積演算素子10A1B、10B1Bの読み出し端子は、ラインL21に接続されている。ラインL21は、可変入力用積演算素子10A1B、10B1Bに対して可変信号を入力する可変入力部121Bに接続されている。可変入力用積演算素子10A1B、10B1Bの書き込み端子は、ラインL22に接続されている。
固定入力用積演算素子10A2A、10B2Aの読み出し端子は、ラインL31に接続されている。ラインL31は、固定入力用積演算素子10A2A、10B2Aに対して定められた信号である固定信号を入力する固定入力部122Aに接続されている。固定入力用積演算素子10A2A、10B2Aの書き込み端子は、ラインL32に接続されている。
固定入力用積演算素子10A2B、10B2Bの読み出し端子は、ラインL41に接続されている。ラインL41は、固定入力用積演算素子10A2B、10B2Bに対して定められた信号である固定信号を入力する固定入力部122Bに接続されている。固定入力用積演算素子10A2B、10B2Bの書き込み端子は、ラインL42に接続されている。
固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bに対して入力される固定信号は、可変入力用積演算素子10A1A、10A1B、10B1A、10B1Bに対して入力される可変信号に同期させられる。
固定入力用積演算素子10A2B、10B2Bの読み出し端子は、ラインL41に接続されている。ラインL41は、固定入力用積演算素子10A2B、10B2Bに対して定められた信号である固定信号を入力する固定入力部122Bに接続されている。固定入力用積演算素子10A2B、10B2Bの書き込み端子は、ラインL42に接続されている。
固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bに対して入力される固定信号は、可変入力用積演算素子10A1A、10A1B、10B1A、10B1Bに対して入力される可変信号に同期させられる。
可変入力用積演算素子10A1A、10A1Bおよび固定入力用積演算素子10A2A、10A2Bの共通端子は、ラインM1に接続されている。可変入力用積演算素子10B1A、10B1Bおよび固定入力用積演算素子10B2A、10B2Bの共通端子は、ラインM2に接続されている。
和演算部11は、出力検出器11A、11Bを備えている。出力検出器11Aは、可変入力用積演算素子10A1A、10A1Bからの出力および固定入力用積演算素子10A2A、10A2Bからの出力の合計値を検出する。出力検出器11Bは、可変入力用積演算素子10B1A、10B1Bからの出力および固定入力用積演算素子10B2A、10B2Bからの出力の合計値を検出する。出力検出器11AはラインM1に配置されている。出力検出器11BはラインM2に配置されている。
和演算部11は、出力検出器11A、11Bを備えている。出力検出器11Aは、可変入力用積演算素子10A1A、10A1Bからの出力および固定入力用積演算素子10A2A、10A2Bからの出力の合計値を検出する。出力検出器11Bは、可変入力用積演算素子10B1A、10B1Bからの出力および固定入力用積演算素子10B2A、10B2Bからの出力の合計値を検出する。出力検出器11AはラインM1に配置されている。出力検出器11BはラインM2に配置されている。
図1に示す例では、出力検出器11Aが、可変入力用積演算素子10A1A、10A1Bおよび固定入力用積演算素子10A2A、10A2Bからの出力電流値を検出し、出力検出器11Bが、可変入力用積演算素子10B1A、10B1Bおよび固定入力用積演算素子10B2A、10B2Bからの出力電流値を検出する。他の例では、出力検出器11Aが、可変入力用積演算素子10A1A、10A1Bおよび固定入力用積演算素子10A2A、10A2Bの出力を電荷として検出し、出力検出器11Bが、可変入力用積演算素子10B1A、10B1Bおよび固定入力用積演算素子10B2A、10B2Bの出力を電荷として検出してもよい。
本発明において積演算素子として用いられる抵抗変化素子は、外部からの刺激(電流、電圧、磁場など)に対して可逆的に電気抵抗が変化する素子である。かかる抵抗変化素子としては例えば、抵抗変化型メモリ(RRAM)素子、相変化メモリ(PCRAM)素子、異方性磁気抵抗効果(AMR)素子、トンネル磁気抵抗効果(TMR)素子、巨大磁気抵抗効果(GMR)素子などが挙げられる。
図2は第1実施形態の積和演算器1の可変入力用積演算素子10A1A、10A1B、10B1A、10B1Bとして適用可能な抵抗変化素子の一例を示す斜視図である。
図2に示す例では、抵抗変化素子が、磁気抵抗効果を示す磁気抵抗効果素子Aである。
磁気抵抗効果素子Aは、磁壁DWを有する磁化自由層A1と、磁化方向が固定された磁化固定層A2と、非磁性層A3とを有する。非磁性層A3は、磁化自由層A1と磁化固定層A2とに挟まれている。磁化自由層A1は、磁壁DWの一方の側に第1領域A11を有し、磁壁DWの他方の側に第2領域A12を有する。第1領域A11には、書き込み端子AAが設けられている。第2領域A12には、共通端子ABが設けられている。磁化固定層A2には、読み出し端子ACが設けられている。
図2に示す例では、抵抗変化素子が、磁気抵抗効果を示す磁気抵抗効果素子Aである。
磁気抵抗効果素子Aは、磁壁DWを有する磁化自由層A1と、磁化方向が固定された磁化固定層A2と、非磁性層A3とを有する。非磁性層A3は、磁化自由層A1と磁化固定層A2とに挟まれている。磁化自由層A1は、磁壁DWの一方の側に第1領域A11を有し、磁壁DWの他方の側に第2領域A12を有する。第1領域A11には、書き込み端子AAが設けられている。第2領域A12には、共通端子ABが設けられている。磁化固定層A2には、読み出し端子ACが設けられている。
磁壁DWの移動量(移動距離)は、書き込み端子AAと共通端子ABとの間に流す書き込み電流の大きさ、時間を調整することによって可変に制御することができる。書き込み電流の大きさ、時間は例えば、パルス数あるいはパルス幅によって磁壁DWの移動量(移動距離)を設定することもできる。磁壁DWの駆動(移動)によって磁化固定層A2と磁化自由層A1のそれぞれの磁化方向が平行な(あるいは反平行な)部分の面積が連続的に変化すると、磁化方向が平行な部分の面積率と磁化方向が反平行な部分の面積率との比が連続的に変化し、磁気抵抗効果素子において線形に近い抵抗変化が得られる。
また、データの読み出しは、読み出し端子ACと共通端子ABとの間に電流を流して、磁化方向が平行な部分の面積率と磁化方向が反平行な部分の面積率との比に応じた抵抗を検出することで行うことができる(例えば、特許文献1参照)。
また、データの読み出しは、読み出し端子ACと共通端子ABとの間に電流を流して、磁化方向が平行な部分の面積率と磁化方向が反平行な部分の面積率との比に応じた抵抗を検出することで行うことができる(例えば、特許文献1参照)。
[磁化固定層A2]
磁化固定層A2は、磁化が第1の方向(例えば図2の左向き)に配向し、固定された層である。ここで、磁化が固定されるとは、書き込み電流を用いた書き込み前後において磁化方向が変化しない(磁化が固定されている)ことを意味する。
磁化固定層A2は、磁化が第1の方向(例えば図2の左向き)に配向し、固定された層である。ここで、磁化が固定されるとは、書き込み電流を用いた書き込み前後において磁化方向が変化しない(磁化が固定されている)ことを意味する。
図2に示す例では、磁化固定層A2は磁化が面内磁気異方性(面内磁化容易軸)を有する面内磁化膜である。磁化固定層A2は、面内磁化膜に限られず、垂直磁気異方性(垂直磁化容易軸)を有する垂直磁化膜であってもよい。
磁化固定層A2が面内磁化膜であると、高いMR比(磁気抵抗変化率)を有し、読み込み時にスピントランスファートルク(STT)による影響を受けにくく、読み取り電圧を大きくできる。一方、素子を微小化したい場合には磁気異方性が大きく、反磁界が小さい、垂直磁化膜を用いることが好ましい。
磁化固定層A2には、公知の材料を用いることができる。例えば、Cr、Mn、Co、Fe及びNiからなる群から選択される金属及びこれらの金属を1種以上含み強磁性を示す合金を用いることができる。またこれらの金属と、B、C、及びNのうちの1種以上の元素とを含む合金を用いることもできる。具体的には、Co-FeやCo-Fe-Bが挙げられる。
また磁化固定層A2には、Co2FeSiなどのホイスラー合金を用いることもできる。ホイスラー合金は、X2YZの化学組成をもつ金属間化合物を含み、Xは、周期表上でCo、Fe、Ni、あるいはCu族の遷移金属元素または貴金属元素であり、Yは、Mn、V、CrあるいはTi族の遷移金属でありXの元素種をとることもでき、Zは、III族からV族の典型元素である。例えば、Co2FeSi、Co2MnSiやCo2Mn1-aFeaAlbSi1-bなどが挙げられる。
また磁化固定層A2は強磁性層、非磁性層から成るシンセティック構造、あるいは反強磁性層、強磁性層、非磁性層から成るシンセティック構造であってもよい。後者においてはシンセティック構造において磁化固定層A2の磁化方向は反強磁性層によって強く保持される。そのため、磁化固定層A2の磁化が外部からの影響を受けにくくなる。
磁化固定層A2の磁化をXY面内に配向させる(磁化固定層A2を面内磁化膜にする)場合は、例えば、NiFeを用いることが好ましい。一方で磁化固定層A2の磁化をZ方向に配向させる(磁化固定層A2を垂直磁化膜にする)場合は、例えば、Co/Ni積層膜、Co/Pt積層膜等を用いることが好ましい。例えば、磁化固定層A2を[Co(0.24nm)/Pt(0.16nm)]6/Ru(0.9nm)/[Pt(0.16nm)/Co(0.16nm)]4/Ta(0.2nm)/FeB(1.0nm)とすると、垂直磁化膜となる。
[非磁性層A3]
非磁性層A3は、磁化固定層A2の下面に設けられている。磁気抵抗効果素子Aは、非磁性層A3を介して磁化固定層A2に対する磁化自由層A1の磁化状態の変化を抵抗値変化として読み出す。すなわち、磁化固定層A2、非磁性層A3及び磁化自由層A1は磁気抵抗効果素子Aとして機能し、非磁性層A3が絶縁体からなる場合はトンネル磁気抵抗(TMR)素子と似た構成であり、非磁性層2が金属からなる場合は巨大磁気抵抗効果(GMR)素子と似た構成である。
非磁性層A3は、磁化固定層A2の下面に設けられている。磁気抵抗効果素子Aは、非磁性層A3を介して磁化固定層A2に対する磁化自由層A1の磁化状態の変化を抵抗値変化として読み出す。すなわち、磁化固定層A2、非磁性層A3及び磁化自由層A1は磁気抵抗効果素子Aとして機能し、非磁性層A3が絶縁体からなる場合はトンネル磁気抵抗(TMR)素子と似た構成であり、非磁性層2が金属からなる場合は巨大磁気抵抗効果(GMR)素子と似た構成である。
非磁性層A3の材料としては、磁気抵抗効果素子Aの非磁性層に用いることができる公知の材料を用いることができる。非磁性層A3が絶縁体からなる場合(トンネルバリア層である場合)、その材料としてAl2O3、SiO2、MgO、MgAl2O4、ZnAl2O4、MgGa2O4、ZnGa2O4、MgIn2O4、ZnIn2O4、及び、これらの材料の多層膜や混合組成膜等を用いることができる。またこれらの他にも、Al、Si、Mgの一部が、Zn、Be等に置換された材料等も用いることができる。これらの中でも、MgOやMgAl2O4はコヒーレントトンネルが実現できる材料であるため、磁気抵抗比(MR比)を大きくとることができる。一方で、非磁性層2が金属からなる場合は、その材料としてCu、Al、Ag等を用いることができる。
非磁性層A3が絶縁体からなる場合(トンネルバリア層である場合)、その厚みは、例えば2.5nm以上である。
非磁性層A3が絶縁体からなる場合(トンネルバリア層である場合)、その厚みは、例えば2.5nm以上である。
[磁化自由層A1]
磁化自由層A1は磁壁駆動型(移動型)MRAMの磁壁駆動層に相当する。
磁化自由層A1は強磁性体材料からなり、その内部の磁化の向きは反転可能である。磁化自由層A1は、磁化が磁化固定層A2と逆向きの第2の方向に配向した第1領域A11と、磁化が第1の方向と同じ向きに配向した第2領域A12と、これらの領域の界面をなす磁壁DWとを有する。磁壁DWを挟んで第1領域A11と第2領域A12の磁化の向きは反対である。磁壁DWは、磁化自由層A1における第1領域A11と第2領域A12の構成比率が変化することで移動する。
磁化自由層A1は磁壁駆動型(移動型)MRAMの磁壁駆動層に相当する。
磁化自由層A1は強磁性体材料からなり、その内部の磁化の向きは反転可能である。磁化自由層A1は、磁化が磁化固定層A2と逆向きの第2の方向に配向した第1領域A11と、磁化が第1の方向と同じ向きに配向した第2領域A12と、これらの領域の界面をなす磁壁DWとを有する。磁壁DWを挟んで第1領域A11と第2領域A12の磁化の向きは反対である。磁壁DWは、磁化自由層A1における第1領域A11と第2領域A12の構成比率が変化することで移動する。
磁化自由層A1の材料には、公知の材料を用いることができ、特に軟磁性材料を適用できる。例えば、Cr、Mn、Co、Fe及びNiからなる群から選択される金属、これらの金属を1種以上含む合金、これらの金属とB、C、及びNのうちの1種以上の元素とが含まれる合金等を用いることができる。具体的には、Co-Fe、Co-Fe-B、Ni-Feが、磁化自由層A1の材料として挙げられる。
磁化自由層A1の材料には、飽和磁化が小さい材料を用いることもできる。例えば、(MnGa)Asや(InFe)As、あるいはCo/Tb多層膜やGdFeCoのように飽和磁化が小さい材料を用いると、小さい電流密度で磁化自由層A1の磁壁DWを駆動させることができる。また、これらの材料を用いると、磁壁DWの駆動速度が遅くなる。
NiFeのような磁気異方性が弱い材料は、磁壁DWの駆動速度が速く、100m/sec以上の速度で磁壁DWが動作する。つまり、磁壁DWは10nsecのパルスで、1μmの距離を移動する。したがって、磁化自由層A1を素子内でアナログ的に動かす場合には、高価な半導体回路を用いて微小なパルスを印加するか、集積度を犠牲にして磁化自由層を十分長くするなどの対応が必要となる。これに対し、磁壁DWの駆動速度が遅い材料の場合には、十分長いパルス電流を印加する場合や磁化自由層A1の長さが短い場合でも、アナログメモリを形成することが可能である。
磁化自由層A1を垂直磁化膜とする場合、Co/Pt多層膜、Co/Pd多層膜、及びCoCrPt合金膜からなる群から選択された垂直磁化膜が好ましい。また、Mn3X(X=Ga,Ge)の垂直磁化膜やCo/Niなどの多層膜による垂直磁化膜を用いることもできる。これらの材料は磁壁駆動のための電流密度が小さくても磁壁DWを駆動させることが可能である。
磁化自由層A1が長手方向に延在する長さは60nm以上であることが好ましい。60nm未満では単磁区になりやすく、磁化自由層A1内に磁壁DWが形成されにくい。
磁化自由層A1の厚さは磁壁駆動層として機能する限り、特に制限はないが、例えば、2nm~60nmとすることができる。磁化自由層A1の厚さが60nm以上になると、積層方向に磁壁が形成される可能性が高まる。ただし、積層方向に磁壁が形成されるか否かは、磁化自由層A1の形状異方性とのバランスによって生じる。磁化自由層A1の厚さが60nm未満であれば、磁壁DWができることは考えにくい。
磁化自由層A1は、層の側面に磁壁DWの移動を止める磁壁ピン止め部を有してもよい。例えば、磁化自由層A1の磁壁DWの移動を止めたい位置に、凹凸、溝、膨らみ、くびれ、切り欠きなどを設けると、磁壁の移動を止める(ピンする)ことができる。磁壁ピン止め部を有すると、閾値以上の電流を流さないとそれ以上磁壁が移動しない構成とすることができ、出力信号をアナログ的ではなく、多値化し易くなる。
例えば、磁壁ピン止め部を所定の距離ごとに形成することにより、磁壁DWをより安定的に保持することができ、安定的な多値記録を可能にし、より安定的に多値化された出力信号を読み出すことを可能にする。
図2に示す例では、磁壁DWを形成するために、磁化自由層A1のうち、平面視において磁化固定層A2に重ならない両端部のそれぞれに、第1領域A11の磁化と同じ第1の方向の磁化を有する第1磁化供給層A4、及び、第2領域A12の磁化と同じ第2の方向の磁化を有する第2磁化供給層A5を有する。
第1磁化供給層A4及び第2磁化供給層A5の材料としては、磁化固定層A2に使える強磁性材料と同じ材料を用いることができる。
第1磁化供給層A4及び第2磁化供給層A5の材料としては、磁化固定層A2に使える強磁性材料と同じ材料を用いることができる。
図2に示す例では、磁壁DWを形成するために、磁化自由層A1の両端部のいずれにも磁化が固定された層として第1磁化供給層A4及び第2磁化供給層A5を用いたが、いずれか一方又は両方に、磁化自由層A1に接すると共に磁化自由層A1の長手方向に対して交差する方向に延在するスピン軌道トルク(SOT)配線を用いてもよい。スピン軌道トルク配線は、電流が流れるとスピンホール効果によって純スピン流が生成される材料からなるものである。
かかる構成を有することにより、磁化が固定された層としての磁化供給層を設置することがなくても、スピン軌道トルク配線の両端に電流を流すことにより磁化自由層A1に磁壁を導入することができ、また、スピン軌道トルク配線を介して磁化自由層A1に電流を流すことで、磁壁を移動させることができる。
かかる構成を有することにより、磁化が固定された層としての磁化供給層を設置することがなくても、スピン軌道トルク配線の両端に電流を流すことにより磁化自由層A1に磁壁を導入することができ、また、スピン軌道トルク配線を介して磁化自由層A1に電流を流すことで、磁壁を移動させることができる。
また、図2に示す例では、磁壁DWを形成するために、磁化自由層A1の両端部のいずれにも磁化が固定された層として第1磁化供給層A4及び第2磁化供給層A5を用いたが、いずれか一方又は両方に、磁化自由層A1と電気的に絶縁されていると共に、磁化自由層A1に対して交差する方向に延在する磁場印加配線を用いてもよい。磁場印加配線に電流を流すことによりアンペールの法則により磁場が発生する。磁場印加配線に流す電流の向きによって、発生する磁場の向きを逆向きにすることができる。そのため、磁化自由層A1の端部に面内磁化を供給可能に配置することによって、磁場印加配線に流す電流の向きに応じて磁化自由層A1の端部に互いに逆向きの面内磁化方向のうちの一方の面内磁化方向の磁化を供給することができる。また、磁化自由層A1の端部に垂直磁化を供給可能に配置することによって、磁場印加配線に流す電流の向きに応じて磁化自由層A1の端部に互いに逆向きの垂直磁化方向のうちの一方の垂直磁化方向の磁化を供給することができる。
また、図2に示す例では、磁壁DWを形成するために、磁化自由層A1の両端部のいずれにも磁化が固定された層として第1磁化供給層A4及び第2磁化供給層A5を用いたが、いずれか一方又は両方に、磁化自由層A1に絶縁層を介して接続された電圧印加端子を用いてもよい。磁化固定層A2と電圧印加端子との間に電圧を印加すると、磁化自由層A1の磁化の一部が電圧の影響を受ける。例えば、電圧印加端子から電圧をパルスで印加すると磁化の一部は、電圧印加時には磁化自由層A1の磁化の方向に対して直交する方向に配向し、電圧印加が止まったタイミングでは磁化自由層A1の磁化は第1の方向か又はその逆方向の第2の方向に配向する。この直交する方向に配向した磁化が第1の方向か又はその逆方向の第2の方向に倒れるかは等確率であり、パルス電圧を印加するタイミング、回数、周期を調整することで、磁化の一部を第1の方向から第2の方向に配向させることができる。
磁化自由層A1と非磁性層A3の間に磁気結合層を設置してもよい。磁気結合層とは、磁化自由層A1の磁化状態を転写する層である。磁化自由層A1の主たる機能は磁壁を駆動させるための層であり、磁化固定層A1と非磁性層A2を介して生じる磁気抵抗効果に適した材料を選択できるとは限らない。一般的に、非磁性層A2を用いたコヒーレントトンネル効果を生じさせるためには、磁化固定層A1や磁気結合層はBCC構造の強磁性材料が良いことが知られている。特に、磁化固定層A1や磁気結合層の材料として、Co-Fe-Bの組成の材料がスパッタによって作成した際に大きな出力が得られることが知られている。
図3は第1実施形態の積和演算器1の固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bとして適用可能な抵抗変化素子の第1例を示す斜視図である。
図3に示す例では、抵抗変化素子が、磁気抵抗効果を示す磁気抵抗効果素子Aである。
磁気抵抗効果素子Aは、磁壁DWを有する磁化自由層A1と、磁化方向が固定された磁化固定層A2と、非磁性層A3とを有する。非磁性層A3は、磁化自由層A1と磁化固定層A2とに挟まれている。磁化自由層A1は、磁壁DWの一方の側に第1領域A11を有し、磁壁DWの他方の側に第2領域A12を有する。第1領域A11には、書き込み端子AAが設けられている。第2領域A12には、共通端子ABが設けられている。磁化固定層A2には、読み出し端子ACが設けられている。
図3に示す例では、抵抗変化素子が、磁気抵抗効果を示す磁気抵抗効果素子Aである。
磁気抵抗効果素子Aは、磁壁DWを有する磁化自由層A1と、磁化方向が固定された磁化固定層A2と、非磁性層A3とを有する。非磁性層A3は、磁化自由層A1と磁化固定層A2とに挟まれている。磁化自由層A1は、磁壁DWの一方の側に第1領域A11を有し、磁壁DWの他方の側に第2領域A12を有する。第1領域A11には、書き込み端子AAが設けられている。第2領域A12には、共通端子ABが設けられている。磁化固定層A2には、読み出し端子ACが設けられている。
図3に示す例では、読み出し端子ACが、フューズ部AC1と、フューズ部AC1の両側に配置された配線部AC2、AC3とを備えている。磁気抵抗効果素子Aからの出力電流が読み出し端子ACを介して出力される場合、出力電流は、配線部AC2、フューズ部AC1、配線部AC3の順(つまり、図3の上向き)に、フューズ部AC1と配線部AC2、AC3とを流れるか、あるいは、配線部AC3、フューズ部AC1、配線部AC2の順(つまり、図3の下向き)に、フューズ部AC1と配線部AC2、AC3とを流れる。
図3に示す例では、出力電流が流れる方向に垂直なフューズ部AC1の断面積は、出力電流が流れる方向に垂直な配線部AC2、AC3の断面積よりも小さく設定されている。
つまり、フューズ部AC1は、配線部AC2、AC3よりも断線しやすく構成されている。
図3に示す例では、フューズ部AC1の断面積を配線部AC2、AC3の断面積よりも小さくすることによって、フューズ部AC1が、配線部AC2、AC3よりも断線しやすく構成されているが、他の例では、フューズ部AC1をミアンダ型に形成したり、網目状に形成したりすることによって、フューズ部AC1を配線部AC2、AC3よりも断線しやすく構成してもよい。
さらに他の例では、フューズ部AC1の材料の融点を配線部AC2、AC3の材料の融点よりも低くすることによって、フューズ部AC1を配線部AC2、AC3よりも断線しやすく構成してもよい。
つまり、フューズ部AC1は、配線部AC2、AC3よりも断線しやすく構成されている。
図3に示す例では、フューズ部AC1の断面積を配線部AC2、AC3の断面積よりも小さくすることによって、フューズ部AC1が、配線部AC2、AC3よりも断線しやすく構成されているが、他の例では、フューズ部AC1をミアンダ型に形成したり、網目状に形成したりすることによって、フューズ部AC1を配線部AC2、AC3よりも断線しやすく構成してもよい。
さらに他の例では、フューズ部AC1の材料の融点を配線部AC2、AC3の材料の融点よりも低くすることによって、フューズ部AC1を配線部AC2、AC3よりも断線しやすく構成してもよい。
また、図3に示す例では、フューズ部AC1は、磁化固定層A2よりも読み出し端子ACの側(図3の上側)に配置されている。そのため、フューズ部AC1の断線の影響が書き込み端子AAの側におよんでしまうおそれを抑制することができる。
つまり、図3に示す例では、固定入力用積演算素子10A2A、10A2B、10B2A、10B2B(磁気抵抗効果素子A)は、出力電流が増加する故障が発生した場合に断線する機能を有する。
図4は図3に示す読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流の変化などを説明するための図である。図4において、縦軸は、読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流を示す。横軸は、磁気抵抗効果素子Aの状態(抵抗値の大きさ)を示す。
磁気抵抗効果素子Aの正常動作時であって、磁気抵抗効果素子Aの抵抗値が最も高い時には、読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流が最小値Minになる。
磁気抵抗効果素子Aの正常動作時には、磁気抵抗効果素子Aの抵抗値が低くなるに従って、読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流が大きくなる。
磁気抵抗効果素子Aの正常動作時であって、磁気抵抗効果素子Aの抵抗値が最も低い時には、読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流が最大値Maxになる。
磁気抵抗効果素子Aの正常動作時であって、磁気抵抗効果素子Aの抵抗値が最も高い時には、読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流が最小値Minになる。
磁気抵抗効果素子Aの正常動作時には、磁気抵抗効果素子Aの抵抗値が低くなるに従って、読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流が大きくなる。
磁気抵抗効果素子Aの正常動作時であって、磁気抵抗効果素子Aの抵抗値が最も低い時には、読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流が最大値Maxになる。
図4に示す例では、磁気抵抗効果素子Aの正常動作時に、読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流が値I1になる。
読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流が増加する故障が磁気抵抗効果素子Aに発生すると、図4の上向きの矢印で示すように、読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流が増加する。
読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流が増加する故障が磁気抵抗効果素子Aに発生すると、図4の上向きの矢印で示すように、読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流が増加する。
図4に示す例では、読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流が値I2まで増加すると、磁気抵抗効果素子Aの読み出し端子ACのフューズ部AC1が断線する。その結果、図4の下向きの矢印で示すように、読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流が、値I3まで減少する(詳細には、ゼロまで減少する)。
つまり、図4に示す例では、フューズ部AC1が断線した後における読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流は、磁気抵抗効果素子Aの正常動作時における読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流よりも減少する。
つまり、図4に示す例では、フューズ部AC1が断線した後における読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流は、磁気抵抗効果素子Aの正常動作時における読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流よりも減少する。
図5は第1実施形態の積和演算器1の固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bとして適用可能な抵抗変化素子の第2例を示す斜視図である。
図5に示す例では、図3に示す例と同様に、抵抗変化素子が、磁気抵抗効果を示す磁気抵抗効果素子Aである。
図5に示す例では、図3に示す例とは異なり、共通端子ABが、フューズ部AB1と、フューズ部AB1の両側に配置された配線部AB2、AB3とを備えている。磁気抵抗効果素子Aからの出力電流が共通端子ABを介して出力される場合、出力電流は、配線部AB2、フューズ部AB1、配線部AB3の順(つまり、図5の右向き)に、フューズ部AB1と配線部AB2、AB3とを流れるか、あるいは、配線部AB3、フューズ部AB1、配線部AB2の順(つまり、図5の左向き)に、フューズ部AB1と配線部AB2、AB3とを流れる。
図5に示す例では、図3に示す例と同様に、抵抗変化素子が、磁気抵抗効果を示す磁気抵抗効果素子Aである。
図5に示す例では、図3に示す例とは異なり、共通端子ABが、フューズ部AB1と、フューズ部AB1の両側に配置された配線部AB2、AB3とを備えている。磁気抵抗効果素子Aからの出力電流が共通端子ABを介して出力される場合、出力電流は、配線部AB2、フューズ部AB1、配線部AB3の順(つまり、図5の右向き)に、フューズ部AB1と配線部AB2、AB3とを流れるか、あるいは、配線部AB3、フューズ部AB1、配線部AB2の順(つまり、図5の左向き)に、フューズ部AB1と配線部AB2、AB3とを流れる。
図5に示す例では、出力電流が流れる方向に垂直なフューズ部AB1の断面積は、出力電流が流れる方向に垂直な配線部AB2、AB3の断面積よりも小さく設定されている。
つまり、フューズ部AB1は、配線部AB2、AB3よりも断線しやすく構成されている。
図5に示す例では、フューズ部AB1の断面積を配線部AB2、AB3の断面積よりも小さくすることによって、フューズ部AB1が、配線部AB2、AB3よりも断線しやすく構成されているが、他の例では、フューズ部AB1をミアンダ型に形成したり、網目状に形成したりすることによって、フューズ部AB1を配線部AB2、AB3よりも断線しやすく構成してもよい。
さらに他の例では、フューズ部AB1の材料の融点を配線部AB2、AB3の材料の融点よりも低くすることによって、フューズ部AB1を配線部AB2、AB3よりも断線しやすく構成してもよい。
つまり、フューズ部AB1は、配線部AB2、AB3よりも断線しやすく構成されている。
図5に示す例では、フューズ部AB1の断面積を配線部AB2、AB3の断面積よりも小さくすることによって、フューズ部AB1が、配線部AB2、AB3よりも断線しやすく構成されているが、他の例では、フューズ部AB1をミアンダ型に形成したり、網目状に形成したりすることによって、フューズ部AB1を配線部AB2、AB3よりも断線しやすく構成してもよい。
さらに他の例では、フューズ部AB1の材料の融点を配線部AB2、AB3の材料の融点よりも低くすることによって、フューズ部AB1を配線部AB2、AB3よりも断線しやすく構成してもよい。
つまり、図5に示す例では、図3に示す例と同様に、固定入力用積演算素子10A2A、10A2B、10B2A、10B2B(磁気抵抗効果素子A)は、出力電流が増加する故障が発生した場合に断線する機能を有する。
図6は第1実施形態の積和演算器1の適用例を示す図であり、3-3-3の多層パーセプトロンと呼ばれるネットワークへの適用例を示す図である。図7は第1実施形態の積和演算器1の全体構成の一例を示す図である。
図6に示す例では、第1実施形態の積和演算器1が、ニューロモーフィックデバイス100に適用されている。ニューロモーフィックデバイス100は、入力層101と、隠れ層102と、出力層103と、第1実施形態の積和演算器1と、積和演算器2とを備えている。第1実施形態の積和演算器1は、複数(3個)の可変入力用積演算素子と複数(2個)の固定入力用積演算素子とを有する。一方、積和演算器2は、複数(3個)の可変入力用積演算素子と1個の固定入力用積演算素子とを有する。
入力層101は、例えば5つのノード101A、101B、101C、101D、101Eを備えている。このうち、ノード101A及び101Bは図1に示す固定入力部に相当し、1に設定されている。隠れ層102は、例えば4つのノード102A、102B、102C、102Dを備えている。このうち、ノード102Aは1に設定されている。出力層103は、例えば3つのノード103A、103B、103Cを備えている。
積和演算器1は、入力層101と隠れ層102との間に配置され、入力層101の4つのノード101A、101B、101C、101Dと、隠れ層102の3つのノード102A、102B、102Cとを接続する。図1に示す積和演算器1において、入力層101のノード101A及び101Bのそれぞれと隠れ層102の各ノード102B~102Dのそれぞれとの間は、図1に示すような固定入力用積演算子10A2A等で接続されており、隠れ層102の各ノードにおいては、入力信号に重みが乗算された値とバイアス(以下、定数「b1」とする)との和が出力される。
隠れ層102と出力層103との間には、積和演算器2が配置されている。なお、積和演算器2は、複数(3個)の可変入力用積演算素子を備えるが、固定入力用積演算素子が複数ではない(1個)ので、本発明の積和演算器ではない。
隠れ層102は、例えば活性化関数(例えばシグモイド関数)を使用する。
図6に示す例では、第1実施形態の積和演算器1が、ニューロモーフィックデバイス100に適用されている。ニューロモーフィックデバイス100は、入力層101と、隠れ層102と、出力層103と、第1実施形態の積和演算器1と、積和演算器2とを備えている。第1実施形態の積和演算器1は、複数(3個)の可変入力用積演算素子と複数(2個)の固定入力用積演算素子とを有する。一方、積和演算器2は、複数(3個)の可変入力用積演算素子と1個の固定入力用積演算素子とを有する。
入力層101は、例えば5つのノード101A、101B、101C、101D、101Eを備えている。このうち、ノード101A及び101Bは図1に示す固定入力部に相当し、1に設定されている。隠れ層102は、例えば4つのノード102A、102B、102C、102Dを備えている。このうち、ノード102Aは1に設定されている。出力層103は、例えば3つのノード103A、103B、103Cを備えている。
積和演算器1は、入力層101と隠れ層102との間に配置され、入力層101の4つのノード101A、101B、101C、101Dと、隠れ層102の3つのノード102A、102B、102Cとを接続する。図1に示す積和演算器1において、入力層101のノード101A及び101Bのそれぞれと隠れ層102の各ノード102B~102Dのそれぞれとの間は、図1に示すような固定入力用積演算子10A2A等で接続されており、隠れ層102の各ノードにおいては、入力信号に重みが乗算された値とバイアス(以下、定数「b1」とする)との和が出力される。
隠れ層102と出力層103との間には、積和演算器2が配置されている。なお、積和演算器2は、複数(3個)の可変入力用積演算素子を備えるが、固定入力用積演算素子が複数ではない(1個)ので、本発明の積和演算器ではない。
隠れ層102は、例えば活性化関数(例えばシグモイド関数)を使用する。
本発明者は、鋭意研究において、ニューラルネットワークデバイスにおいて、積和演算を行う際にバイアス項を入れることによってニューラルネットワークの判別性能を向上できることを見い出した。
詳細には、本発明者は、複数の積演算素子として抵抗変化素子が用いられる積和演算器では、バイアス項を表現するために固定入力用積演算素子を用いればよいことを見い出した。
また、本発明者は、重みを表現する可変入力用積演算素子の故障がニューラルネットワークの判別性能に与える影響よりも、バイアス項を表現する固定入力用積演算素子の故障がニューラルネットワークの判別性能に与える影響の方が大きくなることを見い出した。
これは一般的に「重み」は特定の結合ごとに値を設定するのに対し、バイアス項は、その層全体の値を偏らせるために用いられるからである。故障したバイアス項の積演算素子(抵抗変化素子)に電流が集中して大量に流れることによって、他の積演算素子の重み(他の積演算素子からの電流)が回路上で見えなくなるおそれがある。
また、本発明者は、バイアス項を表現する複数の固定入力用積演算素子を1つのカラムに設けることによって、1つの固定入力用積演算素子が故障した場合にニューラルネットワークの判別性能が完全に失われることを防ぐことができ、ニューラルネットワークの判別性能の低下を抑制できることを見い出した。
その点に鑑み、第1実施形態の積和演算器1では、図1に示すように、カラム10Aに複数の固定入力用積演算素子10A2A、10A2Bが設けられると共に、カラム10Bに複数の固定入力用積演算素子10B2A、10B2Bが設けられている。また、第1実施形態の積和演算器1は、図7に示すように、故障診断部13を備えている。
詳細には、本発明者は、複数の積演算素子として抵抗変化素子が用いられる積和演算器では、バイアス項を表現するために固定入力用積演算素子を用いればよいことを見い出した。
また、本発明者は、重みを表現する可変入力用積演算素子の故障がニューラルネットワークの判別性能に与える影響よりも、バイアス項を表現する固定入力用積演算素子の故障がニューラルネットワークの判別性能に与える影響の方が大きくなることを見い出した。
これは一般的に「重み」は特定の結合ごとに値を設定するのに対し、バイアス項は、その層全体の値を偏らせるために用いられるからである。故障したバイアス項の積演算素子(抵抗変化素子)に電流が集中して大量に流れることによって、他の積演算素子の重み(他の積演算素子からの電流)が回路上で見えなくなるおそれがある。
また、本発明者は、バイアス項を表現する複数の固定入力用積演算素子を1つのカラムに設けることによって、1つの固定入力用積演算素子が故障した場合にニューラルネットワークの判別性能が完全に失われることを防ぐことができ、ニューラルネットワークの判別性能の低下を抑制できることを見い出した。
その点に鑑み、第1実施形態の積和演算器1では、図1に示すように、カラム10Aに複数の固定入力用積演算素子10A2A、10A2Bが設けられると共に、カラム10Bに複数の固定入力用積演算素子10B2A、10B2Bが設けられている。また、第1実施形態の積和演算器1は、図7に示すように、故障診断部13を備えている。
また、本発明者は、1つのカラムに備えられている複数の固定入力用積演算素子のうちの1つの固定入力用積演算素子が故障した場合であっても、再学習を行うことによってニューラルネットワークの判別性能を回復できることを見い出した。
その点に鑑み、第1実施形態の積和演算器1は、図7に示すように、再学習部14を備えている。
その点に鑑み、第1実施形態の積和演算器1は、図7に示すように、再学習部14を備えている。
図8は図1および図7に示す第1実施形態の積和演算器1によって実行される処理の一例を示すフローチャートである。
図8に示す例では、積和演算器1が、学習ステップS10と、故障診断ステップS20と、再学習ステップS30(再学習工程)とを実行する。学習ステップS10には、ステップS11が含まれる。故障診断ステップS20には、ステップS21~S24が含まれる。再学習ステップS30には、ステップS31~S33が含まれる。
学習ステップS10では、例えば公知のバックプロパゲーション学習が行われる。詳細には、ステップS11では、積和演算器1が、カラム10Aのバイアス項を表現する固定入力用積演算素子10A2A、10A2Bの抵抗値を設定する。
図8に示す例では、積和演算器1が、学習ステップS10と、故障診断ステップS20と、再学習ステップS30(再学習工程)とを実行する。学習ステップS10には、ステップS11が含まれる。故障診断ステップS20には、ステップS21~S24が含まれる。再学習ステップS30には、ステップS31~S33が含まれる。
学習ステップS10では、例えば公知のバックプロパゲーション学習が行われる。詳細には、ステップS11では、積和演算器1が、カラム10Aのバイアス項を表現する固定入力用積演算素子10A2A、10A2Bの抵抗値を設定する。
次いで、積和演算器1の故障診断部13が、故障診断ステップS20を実行する。詳細には、ステップS21では、積和演算器1が、可変入力部121Aから可変入力用積演算素子10A1A(および可変入力用積演算素子10B1A)への可変信号の入力をオフにする。つまり、可変入力用積演算素子10A1Aには、可変入力部121Aからの可変信号が入力されなくなる。
また、ステップS21では、積和演算器1が、可変入力部121Bから可変入力用積演算素子10A1B(および可変入力用積演算素子10B1B)への可変信号の入力をオフにする。つまり、可変入力用積演算素子10A1Bには、可変入力部121Bからの可変信号が入力されなくなる。
また、ステップS21では、積和演算器1が、固定入力部122Aから固定入力用積演算素子10A2A(および固定入力用積演算素子10B2A)への固定信号の入力をオンにする。つまり、固定入力用積演算素子10A2Aには、固定信号が固定入力部122Aから入力される。
また、ステップS21では、積和演算器1が、固定入力部122Bから固定入力用積演算素子10A2B(および固定入力用積演算素子10B2B)への固定信号の入力をオンにする。つまり、固定入力用積演算素子10A2Bには、固定信号が固定入力部122Bから入力される。
また、ステップS21では、積和演算器1が、可変入力部121Bから可変入力用積演算素子10A1B(および可変入力用積演算素子10B1B)への可変信号の入力をオフにする。つまり、可変入力用積演算素子10A1Bには、可変入力部121Bからの可変信号が入力されなくなる。
また、ステップS21では、積和演算器1が、固定入力部122Aから固定入力用積演算素子10A2A(および固定入力用積演算素子10B2A)への固定信号の入力をオンにする。つまり、固定入力用積演算素子10A2Aには、固定信号が固定入力部122Aから入力される。
また、ステップS21では、積和演算器1が、固定入力部122Bから固定入力用積演算素子10A2B(および固定入力用積演算素子10B2B)への固定信号の入力をオンにする。つまり、固定入力用積演算素子10A2Bには、固定信号が固定入力部122Bから入力される。
次いで、ステップS22(出力検出工程)では、出力検出器11Aが、可変入力用積演算素子10A1A、10A1Bからの出力および固定入力用積演算素子10A2A、10A2Bからの出力の合計値を検出する。上述したように、可変入力用積演算素子10A1Aには、可変入力部121Aからの可変信号が入力されず、可変入力用積演算素子10A1Bには、可変入力部121Bからの可変信号が入力されない。そのため、可変入力用積演算素子10A1A、10A1Bからの出力はゼロである。
つまり、ステップS22(出力検出工程)では、可変入力部121A、121Bが可変入力用積演算素子10A1A、10A1Bに対して可変信号を入力しない状態、かつ、固定入力部122A、122Bが固定入力用積演算素子10A2A、10A2Bに対して固定信号を入力する状態で、出力検出器11Aが、固定入力用積演算素子10A2A、10A2Bからの出力の合計値を検出する。
つまり、ステップS22(出力検出工程)では、可変入力部121A、121Bが可変入力用積演算素子10A1A、10A1Bに対して可変信号を入力しない状態、かつ、固定入力部122A、122Bが固定入力用積演算素子10A2A、10A2Bに対して固定信号を入力する状態で、出力検出器11Aが、固定入力用積演算素子10A2A、10A2Bからの出力の合計値を検出する。
次いで、ステップS23(診断工程)では、故障診断部13が、出力検出器11Aの検出値に基づいて、故障している固定入力用積演算素子が固定入力用積演算素子10A2A、10A2Bに含まれるか否かを診断する。故障している固定入力用積演算素子が固定入力用積演算素子10A2A、10A2Bに含まれない場合には、ステップS21に戻る。
一方、故障している固定入力用積演算素子が固定入力用積演算素子10A2A、10A2Bに含まれる場合には、ステップS24に進む。
一方、故障している固定入力用積演算素子が固定入力用積演算素子10A2A、10A2Bに含まれる場合には、ステップS24に進む。
ステップS24では、積和演算器1が、固定入力用積演算素子10A2A、10A2Bのうちの故障している固定入力用積演算素子を特定する。
ステップS24においては、固定入力用積演算素子10A2Aが故障しているか否かを診断するために、例えば、可変入力部121A、121Bが可変入力用積演算素子10A1A、10A1Bに対して可変信号を入力しない状態、かつ、固定入力部122Bが固定入力用積演算素子10A2Bに対して固定信号を入力しない状態、かつ、固定入力部122Aが固定入力用積演算素子10A2Aに対して固定信号を入力する状態で、出力検出器11Aが、固定入力用積演算素子10A2Aからの出力を検出する。また、故障診断部13は、出力検出器11Aの検出値に基づいて、固定入力用積演算素子10A2Aが故障しているか否かを診断する。
同様に、ステップS24においては、固定入力用積演算素子10A2Bが故障しているか否かを診断するために、例えば、可変入力部121A、121Bが可変入力用積演算素子10A1A、10A1Bに対して可変信号を入力しない状態、かつ、固定入力部122Aが固定入力用積演算素子10A2Aに対して固定信号を入力しない状態、かつ、固定入力部122Bが固定入力用積演算素子10A2Bに対して固定信号を入力する状態で、出力検出器11Aが、固定入力用積演算素子10A2Bからの出力を検出する。また、故障診断部13は、出力検出器11Aの検出値に基づいて、固定入力用積演算素子10A2Bが故障しているか否かを診断する。
ステップS24においては、固定入力用積演算素子10A2Aが故障しているか否かを診断するために、例えば、可変入力部121A、121Bが可変入力用積演算素子10A1A、10A1Bに対して可変信号を入力しない状態、かつ、固定入力部122Bが固定入力用積演算素子10A2Bに対して固定信号を入力しない状態、かつ、固定入力部122Aが固定入力用積演算素子10A2Aに対して固定信号を入力する状態で、出力検出器11Aが、固定入力用積演算素子10A2Aからの出力を検出する。また、故障診断部13は、出力検出器11Aの検出値に基づいて、固定入力用積演算素子10A2Aが故障しているか否かを診断する。
同様に、ステップS24においては、固定入力用積演算素子10A2Bが故障しているか否かを診断するために、例えば、可変入力部121A、121Bが可変入力用積演算素子10A1A、10A1Bに対して可変信号を入力しない状態、かつ、固定入力部122Aが固定入力用積演算素子10A2Aに対して固定信号を入力しない状態、かつ、固定入力部122Bが固定入力用積演算素子10A2Bに対して固定信号を入力する状態で、出力検出器11Aが、固定入力用積演算素子10A2Bからの出力を検出する。また、故障診断部13は、出力検出器11Aの検出値に基づいて、固定入力用積演算素子10A2Bが故障しているか否かを診断する。
次いで、積和演算器1の再学習部14が、再学習ステップS30(再学習工程)を実行する。再学習ステップS30では、例えば公知のバックプロパゲーション学習が行われる。詳細には、ステップS31では、再学習部14は、上述したステップS24の診断結果に基づいて、固定入力用積演算素子10A2Aが故障しているか否かを判定する。固定入力用積演算素子10A2Aが故障している場合には、ステップS32に進む。一方、固定入力用積演算素子10A2Bが故障している場合には、ステップS33に進む。
ステップS32では、再学習部14が、カラム10Aのバイアス項が固定入力用積演算素子10A2Bのみによって表現されるように、固定入力用積演算素子10A2Bの抵抗値を再設定する。
つまり、ステップS32では、再学習部14が、固定入力用積演算素子10A2A、10A2Bのうちの、故障している固定入力用積演算素子10A2A以外の固定入力用積演算素子10A2Bの抵抗値の再設定を行う。
つまり、ステップS32では、再学習部14が、固定入力用積演算素子10A2A、10A2Bのうちの、故障している固定入力用積演算素子10A2A以外の固定入力用積演算素子10A2Bの抵抗値の再設定を行う。
ステップS33では、再学習部14が、カラム10Aのバイアス項が固定入力用積演算素子10A2Aのみによって表現されるように、固定入力用積演算素子10A2Aの抵抗値を再設定する。
つまり、ステップS33では、再学習部14が、固定入力用積演算素子10A2A、10A2Bのうちの、故障している固定入力用積演算素子10A2B以外の固定入力用積演算素子10A2Aの抵抗値の再設定を行う。
つまり、ステップS33では、再学習部14が、固定入力用積演算素子10A2A、10A2Bのうちの、故障している固定入力用積演算素子10A2B以外の固定入力用積演算素子10A2Aの抵抗値の再設定を行う。
図9は、図8のステップS33における固定入力用積演算素子10A2Aの抵抗値の再設定が行われる例を説明するための図である。詳細には、図9(A)は固定入力用積演算素子10A2Bが故障する前の状態を示している。図9(B)は固定入力用積演算素子10A2Bが故障し、固定入力用積演算素子10A2Aの抵抗値の再設定が行われた後の状態を示している。
図9(A)および図9(B)に示す例では、第1実施形態の積和演算器1がニューラルネットワークに適用される場合における重みaが、可変入力用積演算素子10A1A、10A1Bの抵抗値によって設定される。固定入力用積演算素子10A2Bが故障する前においては、図9(A)に示すように、バイアス項b1が、固定入力用積演算素子10A2A、10A2Bの抵抗値によって設定される。固定入力用積演算素子10A2Bが故障した後には、上述したステップS33において、再学習部14によって固定入力用積演算素子10A2Aの抵抗値の再設定が行われる。その結果、図9(B)に示すように、バイアス項b2が、固定入力用積演算素子10A2Aの抵抗値のみによって設定される。つまり、図9(A)および図9(B)に示す例では、固定入力用積演算素子10A2Bの故障時に、固定入力用積演算素子10A2A、10A2Bのうちの、固定入力用積演算素子10A2B以外の固定入力用積演算素子10A2Aに再分配されたバイアス項b2が設定される。
つまり、第1実施形態の積和演算器1では、可変入力用積演算素子10A1A、10A1Bに入力される可変信号に同期して定められた信号が入力される固定入力用積演算素子10A2A、10A2Bが、バイアス項として機能する。第1実施形態の積和演算器1がニューラルネットワークに適用される場合には、固定入力用積演算素子10A2A、10A2Bがバイアス項用素子として用いられない積和演算器がニューラルネットワークに適用される場合よりも、ニューラルネットワークの判別性能を向上させることができる。
上述したように、例えば図1に示す第1実施形態の積和演算器1は、積演算部10と、和演算部11とを備える。積演算部10は、複数の可変入力用積演算素子10A1A、10A1Bと、複数の固定入力用積演算素子10A2A、10A2Bとを備える。複数の可変入力用積演算素子10A1A、10A1Bおよび複数の固定入力用積演算素子10A2A、10A2Bのそれぞれは、抵抗変化素子である。また、第1実施形態の積和演算器1は、複数の可変入力用積演算素子10A1A、10A1B、…に対して可変信号を入力する可変入力部121A、121Bと、複数の固定入力用積演算素子10A2A、10A2Bに対して定められた信号を可変信号に同期させて入力する固定入力部122A、122Bとを備える。和演算部11は、複数の可変入力用積演算素子10A1A、10A1Bからの出力および複数の固定入力用積演算素子10A2A、10A2Bからの出力の合計値を検出する出力検出器11Aを備える。
そのため、第1実施形態の積和演算器1がニューラルネットワークに適用される場合には、バイアス項用素子である固定入力用積演算素子10A2A、10A2Bの一方の故障時におけるニューラルネットワークの性能低下を抑制することができる。
そのため、第1実施形態の積和演算器1がニューラルネットワークに適用される場合には、バイアス項用素子である固定入力用積演算素子10A2A、10A2Bの一方の故障時におけるニューラルネットワークの性能低下を抑制することができる。
また、第1実施形態の積和演算器1では、上述したように、複数の固定入力用積演算素子10A2A、10A2Bは、出力電流が増加する故障が発生した場合に断線する(つまり、抵抗値が無限大になる)機能を有する。また、複数の可変入力用積演算素子10A1A、10A1Bおよび複数の固定入力用積演算素子10A2A、10A2Bのそれぞれは、書き込み端子AAと、共通端子ABと、読み出し端子ACとを有し、磁気抵抗効果を示す磁気抵抗効果素子Aである。また、磁気抵抗効果素子Aは、磁壁DWを有する磁化自由層A1と、磁化方向が固定された磁化固定層A2と、磁化自由層A1と磁化固定層A2とに挟まれた非磁性層A3とを有する。
つまり、第1実施形態の積和演算器1では、複数の固定入力用積演算素子10A2A、10A2Bとして、正常動作時における抵抗値と、故障時(詳細には、出力電流が大きくなって断線する故障時)における抵抗値との差が大きい素子が用いられる。
そのため、第1実施形態の積和演算器1によれば、正常動作時における抵抗値と故障時における抵抗値との差が小さい素子が固定入力用積演算素子として用いられる場合よりも、固定入力用積演算素子10A2A、10A2Bの一方の故障時におけるニューラルネットワークの性能低下を抑制することができる。
つまり、第1実施形態の積和演算器1では、複数の固定入力用積演算素子10A2A、10A2Bとして、正常動作時における抵抗値と、故障時(詳細には、出力電流が大きくなって断線する故障時)における抵抗値との差が大きい素子が用いられる。
そのため、第1実施形態の積和演算器1によれば、正常動作時における抵抗値と故障時における抵抗値との差が小さい素子が固定入力用積演算素子として用いられる場合よりも、固定入力用積演算素子10A2A、10A2Bの一方の故障時におけるニューラルネットワークの性能低下を抑制することができる。
また、第1実施形態の積和演算器1の使用時(詳細には、出力検査時)には、可変入力部121A、121Bが複数の可変入力用積演算素子10A1A、10A1Bに対して可変信号を入力しない状態、かつ、固定入力部122A、122Bが複数の固定入力用積演算素子10A2A、10A2Bに対して固定信号を入力する状態で、出力検出器11Aが、複数の固定入力用積演算素子10A2A、10A2Bからの出力を検出する。
また、第1実施形態の積和演算器1の使用時(詳細には、診断時)には、故障診断部13が、出力検出時に検出された複数の固定入力用積演算素子10A2A、10A2Bからの出力に基づいて、故障している固定入力用積演算素子が複数の固定入力用積演算素子10A2A、10A2Bに含まれるか否かを診断する。
そのため、第1実施形態の積和演算器1によれば、そのような出力検査および診断が行われない場合よりも、固定入力用積演算素子10A2A、10A2Bの一方の故障時におけるニューラルネットワークの性能低下を抑制することができる。
また、第1実施形態の積和演算器1の使用時(詳細には、診断時)には、故障診断部13が、出力検出時に検出された複数の固定入力用積演算素子10A2A、10A2Bからの出力に基づいて、故障している固定入力用積演算素子が複数の固定入力用積演算素子10A2A、10A2Bに含まれるか否かを診断する。
そのため、第1実施形態の積和演算器1によれば、そのような出力検査および診断が行われない場合よりも、固定入力用積演算素子10A2A、10A2Bの一方の故障時におけるニューラルネットワークの性能低下を抑制することができる。
また、故障している固定入力用積演算素子が複数の固定入力用積演算素子10A2A、10A2Bに含まれる場合、第1実施形態の積和演算器1の使用時(詳細には、再学習時)に、再学習部14が、複数の固定入力用積演算素子10A2A、10A2Bのうちの、故障している固定入力用積演算素子以外の固定入力用積演算素子の抵抗値の再設定を行う。
そのため、第1実施形態の積和演算器1によれば、そのような再学習が行われない場合よりも、固定入力用積演算素子10A2A、10A2Bの一方の故障時におけるニューラルネットワークの性能低下を抑制することができる。
そのため、第1実施形態の積和演算器1によれば、そのような再学習が行われない場合よりも、固定入力用積演算素子10A2A、10A2Bの一方の故障時におけるニューラルネットワークの性能低下を抑制することができる。
<第2実施形態>(抵抗変化素子が一般的な可変抵抗)
以下、本発明の積和演算器の第2実施形態について説明する。
第2実施形態の積和演算器1は、後述する点を除き、上述した第1実施形態の積和演算器1と同様に構成されている。従って、第2実施形態の積和演算器1によれば、後述する点を除き、上述した第1実施形態の積和演算器1と同様の効果を奏することができる。
以下、本発明の積和演算器の第2実施形態について説明する。
第2実施形態の積和演算器1は、後述する点を除き、上述した第1実施形態の積和演算器1と同様に構成されている。従って、第2実施形態の積和演算器1によれば、後述する点を除き、上述した第1実施形態の積和演算器1と同様の効果を奏することができる。
図10は第2実施形態の積和演算器1の一部の構成の一例を示す図である。
第1実施形態の積和演算器1では、可変入力用積演算素子10A1A、10A1B、10B1A、10B1Bおよび固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bが磁気抵抗効果素子によって構成されているが、第2実施形態の積和演算器1では、可変入力用積演算素子10A1A、10A1B、10B1A、10B1Bおよび固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bが一般的な抵抗変化素子(可変抵抗)によって構成されている。
第1実施形態の積和演算器1では、可変入力用積演算素子10A1A、10A1B、10B1A、10B1Bおよび固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bが磁気抵抗効果素子によって構成されているが、第2実施形態の積和演算器1では、可変入力用積演算素子10A1A、10A1B、10B1A、10B1Bおよび固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bが一般的な抵抗変化素子(可変抵抗)によって構成されている。
詳細には、図1に示す例では、可変入力用積演算素子10A1A、10A1B、10B1A、10B1Bおよび固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bのそれぞれが、読み出し端子と、書き込み端子と、共通端子とを備えているが、図10に示す例では、可変入力用積演算素子10A1A、10A1B、10B1A、10B1Bおよび固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bのそれぞれが、第1端子と、第2端子とを備えている。
図10に示す例では、可変入力用積演算素子10A1A、10B1Aの第1端子は、ラインL11に接続されている。可変入力用積演算素子10A1B、10B1Bの第1端子は、ラインL21に接続されている。固定入力用積演算素子10A2A、10B2Aの第1端子は、ラインL31に接続されている。固定入力用積演算素子10A2B、10B2Bの第1端子は、ラインL41に接続されている。
図10に示す例においても、固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bに対して入力される固定信号は、可変入力用積演算素子10A1A、10A1B、10B1A、10B1Bに対して入力される可変信号に同期させられる。
図10に示す例では、可変入力用積演算素子10A1A、10B1Aの第1端子は、ラインL11に接続されている。可変入力用積演算素子10A1B、10B1Bの第1端子は、ラインL21に接続されている。固定入力用積演算素子10A2A、10B2Aの第1端子は、ラインL31に接続されている。固定入力用積演算素子10A2B、10B2Bの第1端子は、ラインL41に接続されている。
図10に示す例においても、固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bに対して入力される固定信号は、可変入力用積演算素子10A1A、10A1B、10B1A、10B1Bに対して入力される可変信号に同期させられる。
図10に示す例では、可変入力用積演算素子10A1A、10A1Bおよび固定入力用積演算素子10A2A、10A2Bの第2端子は、ラインM1に接続されている。可変入力用積演算素子10B1A、10B1Bおよび固定入力用積演算素子10B2A、10B2Bの第2端子は、ラインM2に接続されている。
和演算部11は、可変入力用積演算素子10A1A、10A1Bおよび固定入力用積演算素子10A2A、10A2Bの第2端子からの出力の合計値を検出する出力検出器11Aと、可変入力用積演算素子10B1A、10B1Bおよび固定入力用積演算素子10B2A、10B2Bの第2端子からの出力の合計値を検出する出力検出器11Bとを備えている。
和演算部11は、可変入力用積演算素子10A1A、10A1Bおよび固定入力用積演算素子10A2A、10A2Bの第2端子からの出力の合計値を検出する出力検出器11Aと、可変入力用積演算素子10B1A、10B1Bおよび固定入力用積演算素子10B2A、10B2Bの第2端子からの出力の合計値を検出する出力検出器11Bとを備えている。
図10に示す例においても、固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bは、例えばフューズ部(図示せず)などを有することによって、出力電流が増加する故障が発生した場合に断線する機能を有する。
他の例では、図10に示す固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bは、出力電流が増加する故障が発生した場合に断線する機能を有さなくてもよい。
他の例では、図10に示す固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bは、出力電流が増加する故障が発生した場合に断線する機能を有さなくてもよい。
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。上述した各実施形態に記載の構成を組み合わせてもよい。
例えば、以上に示した実施形態に係る各装置(例えば、積和演算器1)の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体(記憶媒体)に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、処理を行ってもよい。
なお、ここでいう「コンピュータシステム」とは、オペレーティング・システム(OS:Operating System)あるいは周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また、記録媒体としては、例えば、一時的にデータを記録する記録媒体であってもよい。
なお、ここでいう「コンピュータシステム」とは、オペレーティング・システム(OS:Operating System)あるいは周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また、記録媒体としては、例えば、一時的にデータを記録する記録媒体であってもよい。
さらに、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークあるいは電話回線等の通信回線を介してプログラムが送信された場合のサーバあるいはクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)あるいは電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
コンピュータでは、例えば、CPU(Central Processing Unit)などのプロセッサがメモリに記憶されたプログラムを読み出して実行する。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)あるいは電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
コンピュータでは、例えば、CPU(Central Processing Unit)などのプロセッサがメモリに記憶されたプログラムを読み出して実行する。
1…積和演算器、2…積和演算器、10…積演算部、10A…カラム、10A1A…可変入力用積演算素子、10A1B…可変入力用積演算素子、10A2A…固定入力用積演算素子、10A2B…固定入力用積演算素子、10B…カラム、10B1A…可変入力用積演算素子、10B1B…可変入力用積演算素子、10B2A…固定入力用積演算素子、10B2B…固定入力用積演算素子、11…和演算部、11A…出力検出器、11B…出力検出器、12…入力部、121A…可変入力部、121B…可変入力部、122A…固定入力部、122B…固定入力部、13…故障診断部、14…再学習部、100…ニューロモーフィックデバイス、101…入力層、101A、101B、101C、101D…ノード、102…隠れ層、102A、102B、102C…ノード、103…出力層、103A、103B、103C…ノード、A…磁気抵抗効果素子、AA…書き込み端子、AB…共通端子、AC…読み出し端子、A1…磁化自由層、A11…第1領域、A12…第2領域、A2…磁化固定層、A3…非磁性層、DW…磁壁、L11…ライン、L12…ライン、L21…ライン、L22…ライン、L31…ライン、L32…ライン、L41…ライン、L42…ライン、M1…ライン、M2…ライン
Claims (8)
- 積演算部と、和演算部とを備え、
前記積演算部は、複数の可変入力用積演算素子と、複数の固定入力用積演算素子とを備え、
前記複数の可変入力用積演算素子および前記複数の固定入力用積演算素子のそれぞれは、抵抗変化素子であり、
前記複数の可変入力用積演算素子に対して可変信号を入力する可変入力部と、
前記複数の固定入力用積演算素子に対して定められた信号を前記可変信号に同期させて入力する固定入力部とを備え、
前記和演算部は、前記複数の可変入力用積演算素子からの出力および前記複数の固定入力用積演算素子からの出力の合計値を検出する出力検出器を備える、
積和演算器。 - 前記複数の固定入力用積演算素子は、出力電流が増加する故障が発生した場合に断線する機能を有する、
請求項1に記載の積和演算器。 - 前記抵抗変化素子は、書き込み端子と、共通端子と、読み出し端子とを有する、
請求項1または請求項2に記載の積和演算器。 - 前記抵抗変化素子は、磁気抵抗効果を示す磁気抵抗効果素子であり、
前記磁気抵抗効果素子は、
磁壁を有する磁化自由層と、
磁化方向が固定された磁化固定層と、
前記磁化自由層と前記磁化固定層とに挟まれた非磁性層とを有する、
請求項1または請求項2に記載の積和演算器。 - 前記積演算部は、他の可変入力用積演算素子と、他の固定入力用積演算素子とをさらに備え、
前記他の可変入力用積演算素子および前記他の固定入力用積演算素子のそれぞれは、前記抵抗変化素子であり、
前記可変入力部は、前記他の可変入力用積演算素子に対して前記可変信号を入力し、
前記固定入力部は、前記他の固定入力用積演算素子に対して前記定められた信号を前記可変信号に同期させて入力し、
前記和演算部は、前記他の可変入力用積演算素子からの出力および前記他の固定入力用積演算素子からの出力の合計値を検出する他の出力検出器をさらに備える、
請求項1から請求項4のいずれか一項に記載の積和演算器。 - 請求項1から請求項5のいずれか一項に記載の積和演算器を備えるニューロモーフィックデバイス。
- 請求項1から請求項5のいずれか一項に記載の積和演算器の使用方法であって、
前記積和演算器は故障診断部をさらに備え、
前記可変入力部が前記複数の可変入力用積演算素子に対して前記可変信号を入力しない状態、かつ、前記固定入力部が前記複数の固定入力用積演算素子に対して前記定められた信号を入力する状態で、前記出力検出器が、前記複数の固定入力用積演算素子からの出力を検出する出力検出工程と、
前記故障診断部が、前記出力検出工程において検出された前記複数の固定入力用積演算素子からの出力に基づいて、故障している積演算素子が前記複数の固定入力用積演算素子に含まれるか否かを診断する診断工程とを含む、
積和演算器の使用方法。 - 前記積和演算器は再学習部をさらに備え、
前記故障している積演算素子が前記複数の固定入力用積演算素子に含まれると前記故障診断部が診断した場合に、前記再学習部が、前記複数の固定入力用積演算素子のうちの、前記故障している積演算素子以外の積演算素子の抵抗値の再設定を行う再学習工程をさらに含む、
請求項7に記載の積和演算器の使用方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019562961A JP6773239B2 (ja) | 2017-12-28 | 2018-12-12 | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 |
US16/758,883 US11449742B2 (en) | 2017-12-28 | 2018-12-12 | Product-sum operation device, neuromorphic device, and method for using product-sum operation device |
CN201880084232.6A CN111512312B (zh) | 2017-12-28 | 2018-12-12 | 积和运算器、神经形态器件及积和运算器的使用方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017254662 | 2017-12-28 | ||
JP2017-254662 | 2017-12-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019131147A1 true WO2019131147A1 (ja) | 2019-07-04 |
Family
ID=67063532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/045742 WO2019131147A1 (ja) | 2017-12-28 | 2018-12-12 | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11449742B2 (ja) |
JP (1) | JP6773239B2 (ja) |
CN (1) | CN111512312B (ja) |
WO (1) | WO2019131147A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022269660A1 (ja) * | 2021-06-21 | 2022-12-29 | Tdk株式会社 | 駆動回路、アレイ回路、及びニューロモーフィックデバイス |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114724598B (zh) * | 2022-03-04 | 2024-09-10 | 华中科技大学 | 一种基于自旋轨道耦合的感存算一体结构及其操作方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0520294A (ja) * | 1991-07-17 | 1993-01-29 | Fujitsu Ltd | ニユーラルネツトワーク型情報処理装置 |
JP2009282782A (ja) * | 2008-05-22 | 2009-12-03 | Sharp Corp | 抵抗変化型可変抵抗素子を備えた積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5068603A (en) * | 1987-10-07 | 1991-11-26 | Xilinx, Inc. | Structure and method for producing mask-programmed integrated circuits which are pin compatible substitutes for memory-configured logic arrays |
JPH0634248B2 (ja) * | 1989-12-16 | 1994-05-02 | 三菱電機株式会社 | 半導体神経回路網 |
JP2001078435A (ja) * | 1999-07-08 | 2001-03-23 | Tdk Corp | 電流制御型半導体スイッチング素子を使用した電力変換装置におけるスイッチング素子の駆動装置 |
US8540493B2 (en) * | 2003-12-08 | 2013-09-24 | Sta-Rite Industries, Llc | Pump control system and method |
WO2013108299A1 (ja) * | 2012-01-20 | 2013-07-25 | パナソニック株式会社 | ニューラルネットワーク回路の学習方法 |
WO2017183573A1 (ja) | 2016-04-21 | 2017-10-26 | Tdk株式会社 | 磁壁利用型アナログメモリ素子および磁壁利用型アナログメモリ |
CN109923550B (zh) | 2016-08-19 | 2022-11-15 | 索尼公司 | 乘数累加器 |
WO2019131141A1 (ja) * | 2017-12-28 | 2019-07-04 | Tdk株式会社 | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 |
-
2018
- 2018-12-12 JP JP2019562961A patent/JP6773239B2/ja active Active
- 2018-12-12 US US16/758,883 patent/US11449742B2/en active Active
- 2018-12-12 WO PCT/JP2018/045742 patent/WO2019131147A1/ja active Application Filing
- 2018-12-12 CN CN201880084232.6A patent/CN111512312B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0520294A (ja) * | 1991-07-17 | 1993-01-29 | Fujitsu Ltd | ニユーラルネツトワーク型情報処理装置 |
JP2009282782A (ja) * | 2008-05-22 | 2009-12-03 | Sharp Corp | 抵抗変化型可変抵抗素子を備えた積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022269660A1 (ja) * | 2021-06-21 | 2022-12-29 | Tdk株式会社 | 駆動回路、アレイ回路、及びニューロモーフィックデバイス |
Also Published As
Publication number | Publication date |
---|---|
CN111512312A (zh) | 2020-08-07 |
US11449742B2 (en) | 2022-09-20 |
CN111512312B (zh) | 2023-08-18 |
JPWO2019131147A1 (ja) | 2020-09-24 |
US20200342298A1 (en) | 2020-10-29 |
JP6773239B2 (ja) | 2020-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6721136B2 (ja) | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 | |
US10453523B2 (en) | Magnetic wall utilization-analog memory element and magnetic wall utilization analog memory | |
JPWO2018189964A1 (ja) | 磁壁利用型アナログメモリ素子、磁壁利用型アナログメモリ、不揮発性ロジック回路及び磁気ニューロ素子 | |
JP7013839B2 (ja) | 磁壁利用型アナログメモリ、不揮発性ロジック回路及び磁気ニューロ素子 | |
KR20030009094A (ko) | 자기 메모리 셀 | |
JP6747610B2 (ja) | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の故障判断方法 | |
WO2019131147A1 (ja) | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 | |
JP6819843B1 (ja) | 磁気記録アレイ、ニューロモルフィックデバイスおよび磁気記録アレイの制御方法 | |
US11797829B2 (en) | Product-sum operation device, neuromorphic device, and method for using product-sum operation device | |
WO2019131142A1 (ja) | 積和演算器、ニューロモルフィックデバイスおよび積和演算器の使用方法 | |
US7474569B2 (en) | Two-element magnetic memory cell | |
US20220238796A1 (en) | Magnetic memory device and operation method thereof | |
JP2007305823A (ja) | 磁気抵抗効果素子を用いたメモリおよびその駆動方法 | |
JPH10177783A (ja) | 磁気メモリ素子、この磁気メモリ素子の情報記録方法および情報記憶装置 |
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: 18894806 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019562961 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18894806 Country of ref document: EP Kind code of ref document: A1 |