JP6773239B2 - 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 - Google Patents
積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 Download PDFInfo
- Publication number
- JP6773239B2 JP6773239B2 JP2019562961A JP2019562961A JP6773239B2 JP 6773239 B2 JP6773239 B2 JP 6773239B2 JP 2019562961 A JP2019562961 A JP 2019562961A JP 2019562961 A JP2019562961 A JP 2019562961A JP 6773239 B2 JP6773239 B2 JP 6773239B2
- Authority
- JP
- Japan
- Prior art keywords
- product calculation
- fixed
- input product
- unit
- product
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004364 calculation method Methods 0.000 claims description 334
- 230000005415 magnetization Effects 0.000 claims description 143
- 230000005291 magnetic effect Effects 0.000 claims description 49
- 230000000694 effects Effects 0.000 claims description 24
- 238000003745 diagnosis Methods 0.000 claims description 21
- 238000000034 method Methods 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 10
- 239000000463 material Substances 0.000 description 28
- 238000013528 artificial neural network Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 16
- 229910052751 metal Inorganic materials 0.000 description 8
- 239000002184 metal Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 229910045601 alloy Inorganic materials 0.000 description 6
- 239000000956 alloy Substances 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000006866 deterioration Effects 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
- 229910052804 chromium Inorganic materials 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
- 229910052742 iron Inorganic materials 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
- 229910020598 Co Fe Inorganic materials 0.000 description 2
- 229910002519 Co-Fe Inorganic materials 0.000 description 2
- 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
- 229910052802 copper Inorganic materials 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000005294 ferromagnetic effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 229910052723 transition metal Inorganic materials 0.000 description 2
- 229910018072 Al 2 O 3 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
- 229910003271 Ni-Fe Inorganic materials 0.000 description 1
- 241001364096 Pachycephalidae Species 0.000 description 1
- 229910004298 SiO 2 Inorganic materials 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 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
- 229910001291 heusler alloy 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
- 230000005381 magnetic domain Effects 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
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 241000894007 species Species 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
- 230000000946 synaptic effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 150000003624 transition metals Chemical class 0.000 description 1
- 230000005641 tunneling Effects 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
- 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
- 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/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- 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/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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Neurology (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- Hall/Mr Elements (AREA)
- Mram Or Spin Memory Techniques (AREA)
Description
また、神経系を模倣したニューラルネットワークを抵抗変化素子のアレイを用いて実現する研究が進められている。ニューロモーフィックデバイス(NMD)では、前段から次の段へとウエイトをかけて足し合わせる積和演算を行う。そこで、連続的に抵抗が変化する抵抗変化素子を複数組み合わせ、それぞれの抵抗値を重みとして入力信号に対する積演算を行い、そこから出力される電流の総和をとることで和演算を行う様々なタイプの積和演算器、およびそれを利用したNMDの開発がすすめられている。
ニューラルネットワークで広く用いられる多層パーセプトロンでは、入力層、1つ以上の隠れ層、出力層からなり、各層はそれぞれが適切な重み(結合の強さ)とバイアス項で結び付けられている(例えば、非特許文献2参照)。
図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が2つの可変入力用積演算素子10A1A、10A1Bと2つの固定入力用積演算素子10A2A、10A2Bとを備え、カラム10Bが2つの可変入力用積演算素子10B1A、10B1Bと2つの固定入力用積演算素子10B2A、10B2Bとを備えているが、他の例では、カラム10Aが、2以外の任意の数(詳細には、複数)の可変入力用積演算素子と2以外の任意の数(詳細には、複数)の固定入力用積演算素子とを備え、カラム10Bが、2以外の任意の数(詳細には、複数)の可変入力用積演算素子と2以外の任意の数(詳細には、複数)の固定入力用積演算素子を備えてもよい。
可変入力用積演算素子10A1A、10B1Aの読み出し端子は、ラインL11に接続されている。ラインL11は、可変入力用積演算素子10A1A、10B1Aに対して可変信号を入力する可変入力部121Aに接続されている。可変入力用積演算素子10A1A、10B1Aの書き込み端子は、ラインL12に接続されている。
可変入力用積演算素子10A1B、10B1Bの読み出し端子は、ラインL21に接続されている。ラインL21は、可変入力用積演算素子10A1B、10B1Bに対して可変信号を入力する可変入力部121Bに接続されている。可変入力用積演算素子10A1B、10B1Bの書き込み端子は、ラインL22に接続されている。
固定入力用積演算素子10A2B、10B2Bの読み出し端子は、ラインL41に接続されている。ラインL41は、固定入力用積演算素子10A2B、10B2Bに対して定められた信号である固定信号を入力する固定入力部122Bに接続されている。固定入力用積演算素子10A2B、10B2Bの書き込み端子は、ラインL42に接続されている。
固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bに対して入力される固定信号は、可変入力用積演算素子10A1A、10A1B、10B1A、10B1Bに対して入力される可変信号に同期させられる。
和演算部11は、出力検出器11A、11Bを備えている。出力検出器11Aは、可変入力用積演算素子10A1A、10A1Bからの出力および固定入力用積演算素子10A2A、10A2Bからの出力の合計値を検出する。出力検出器11Bは、可変入力用積演算素子10B1A、10B1Bからの出力および固定入力用積演算素子10B2A、10B2Bからの出力の合計値を検出する。出力検出器11AはラインM1に配置されている。出力検出器11BはラインM2に配置されている。
図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が設けられている。
また、データの読み出しは、読み出し端子ACと共通端子ABとの間に電流を流して、磁化方向が平行な部分の面積率と磁化方向が反平行な部分の面積率との比に応じた抵抗を検出することで行うことができる(例えば、特許文献1参照)。
磁化固定層A2は、磁化が第1の方向(例えば図2の左向き)に配向し、固定された層である。ここで、磁化が固定されるとは、書き込み電流を用いた書き込み前後において磁化方向が変化しない(磁化が固定されている)ことを意味する。
非磁性層A3は、磁化固定層A2の下面に設けられている。磁気抵抗効果素子Aは、非磁性層A3を介して磁化固定層A2に対する磁化自由層A1の磁化状態の変化を抵抗値変化として読み出す。すなわち、磁化固定層A2、非磁性層A3及び磁化自由層A1は磁気抵抗効果素子Aとして機能し、非磁性層A3が絶縁体からなる場合はトンネル磁気抵抗(TMR)素子と似た構成であり、非磁性層2が金属からなる場合は巨大磁気抵抗効果(GMR)素子と似た構成である。
非磁性層A3が絶縁体からなる場合(トンネルバリア層である場合)、その厚みは、例えば2.5nm以上である。
磁化自由層A1は磁壁駆動型(移動型)MRAMの磁壁駆動層に相当する。
磁化自由層A1は強磁性体材料からなり、その内部の磁化の向きは反転可能である。磁化自由層A1は、磁化が磁化固定層A2と逆向きの第2の方向に配向した第1領域A11と、磁化が第1の方向と同じ向きに配向した第2領域A12と、これらの領域の界面をなす磁壁DWとを有する。磁壁DWを挟んで第1領域A11と第2領域A12の磁化の向きは反対である。磁壁DWは、磁化自由層A1における第1領域A11と第2領域A12の構成比率が変化することで移動する。
第1磁化供給層A4及び第2磁化供給層A5の材料としては、磁化固定層A2に使える強磁性材料と同じ材料を用いることができる。
かかる構成を有することにより、磁化が固定された層としての磁化供給層を設置することがなくても、スピン軌道トルク配線の両端に電流を流すことにより磁化自由層A1に磁壁を導入することができ、また、スピン軌道トルク配線を介して磁化自由層A1に電流を流すことで、磁壁を移動させることができる。
図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が設けられている。
つまり、フューズ部AC1は、配線部AC2、AC3よりも断線しやすく構成されている。
図3に示す例では、フューズ部AC1の断面積を配線部AC2、AC3の断面積よりも小さくすることによって、フューズ部AC1が、配線部AC2、AC3よりも断線しやすく構成されているが、他の例では、フューズ部AC1をミアンダ型に形成したり、網目状に形成したりすることによって、フューズ部AC1を配線部AC2、AC3よりも断線しやすく構成してもよい。
さらに他の例では、フューズ部AC1の材料の融点を配線部AC2、AC3の材料の融点よりも低くすることによって、フューズ部AC1を配線部AC2、AC3よりも断線しやすく構成してもよい。
磁気抵抗効果素子Aの正常動作時であって、磁気抵抗効果素子Aの抵抗値が最も高い時には、読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流が最小値Minになる。
磁気抵抗効果素子Aの正常動作時には、磁気抵抗効果素子Aの抵抗値が低くなるに従って、読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流が大きくなる。
磁気抵抗効果素子Aの正常動作時であって、磁気抵抗効果素子Aの抵抗値が最も低い時には、読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流が最大値Maxになる。
読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流が増加する故障が磁気抵抗効果素子Aに発生すると、図4の上向きの矢印で示すように、読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流が増加する。
つまり、図4に示す例では、フューズ部AC1が断線した後における読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流は、磁気抵抗効果素子Aの正常動作時における読み出し端子ACを介する磁気抵抗効果素子Aからの出力電流よりも減少する。
図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とを流れる。
つまり、フューズ部AB1は、配線部AB2、AB3よりも断線しやすく構成されている。
図5に示す例では、フューズ部AB1の断面積を配線部AB2、AB3の断面積よりも小さくすることによって、フューズ部AB1が、配線部AB2、AB3よりも断線しやすく構成されているが、他の例では、フューズ部AB1をミアンダ型に形成したり、網目状に形成したりすることによって、フューズ部AB1を配線部AB2、AB3よりも断線しやすく構成してもよい。
さらに他の例では、フューズ部AB1の材料の融点を配線部AB2、AB3の材料の融点よりも低くすることによって、フューズ部AB1を配線部AB2、AB3よりも断線しやすく構成してもよい。
図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は、図7に示すように、再学習部14を備えている。
図8に示す例では、積和演算器1が、学習ステップS10と、故障診断ステップS20と、再学習ステップS30(再学習工程)とを実行する。学習ステップS10には、ステップS11が含まれる。故障診断ステップS20には、ステップS21〜S24が含まれる。再学習ステップS30には、ステップS31〜S33が含まれる。
学習ステップS10では、例えば公知のバックプロパゲーション学習が行われる。詳細には、ステップS11では、積和演算器1が、カラム10Aのバイアス項を表現する固定入力用積演算素子10A2A、10A2Bの抵抗値を設定する。
また、ステップS21では、積和演算器1が、可変入力部121Bから可変入力用積演算素子10A1B(および可変入力用積演算素子10B1B)への可変信号の入力をオフにする。つまり、可変入力用積演算素子10A1Bには、可変入力部121Bからの可変信号が入力されなくなる。
また、ステップS21では、積和演算器1が、固定入力部122Aから固定入力用積演算素子10A2A(および固定入力用積演算素子10B2A)への固定信号の入力をオンにする。つまり、固定入力用積演算素子10A2Aには、固定信号が固定入力部122Aから入力される。
また、ステップS21では、積和演算器1が、固定入力部122Bから固定入力用積演算素子10A2B(および固定入力用積演算素子10B2B)への固定信号の入力をオンにする。つまり、固定入力用積演算素子10A2Bには、固定信号が固定入力部122Bから入力される。
つまり、ステップS22(出力検出工程)では、可変入力部121A、121Bが可変入力用積演算素子10A1A、10A1Bに対して可変信号を入力しない状態、かつ、固定入力部122A、122Bが固定入力用積演算素子10A2A、10A2Bに対して固定信号を入力する状態で、出力検出器11Aが、固定入力用積演算素子10A2A、10A2Bからの出力の合計値を検出する。
一方、故障している固定入力用積演算素子が固定入力用積演算素子10A2A、10A2Bに含まれる場合には、ステップS24に進む。
ステップ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が故障しているか否かを診断する。
つまり、ステップS32では、再学習部14が、固定入力用積演算素子10A2A、10A2Bのうちの、故障している固定入力用積演算素子10A2A以外の固定入力用積演算素子10A2Bの抵抗値の再設定を行う。
つまり、ステップS33では、再学習部14が、固定入力用積演算素子10A2A、10A2Bのうちの、故障している固定入力用積演算素子10A2B以外の固定入力用積演算素子10A2Aの抵抗値の再設定を行う。
そのため、第1実施形態の積和演算器1がニューラルネットワークに適用される場合には、バイアス項用素子である固定入力用積演算素子10A2A、10A2Bの一方の故障時におけるニューラルネットワークの性能低下を抑制することができる。
つまり、第1実施形態の積和演算器1では、複数の固定入力用積演算素子10A2A、10A2Bとして、正常動作時における抵抗値と、故障時(詳細には、出力電流が大きくなって断線する故障時)における抵抗値との差が大きい素子が用いられる。
そのため、第1実施形態の積和演算器1によれば、正常動作時における抵抗値と故障時における抵抗値との差が小さい素子が固定入力用積演算素子として用いられる場合よりも、固定入力用積演算素子10A2A、10A2Bの一方の故障時におけるニューラルネットワークの性能低下を抑制することができる。
また、第1実施形態の積和演算器1の使用時(詳細には、診断時)には、故障診断部13が、出力検出時に検出された複数の固定入力用積演算素子10A2A、10A2Bからの出力に基づいて、故障している固定入力用積演算素子が複数の固定入力用積演算素子10A2A、10A2Bに含まれるか否かを診断する。
そのため、第1実施形態の積和演算器1によれば、そのような出力検査および診断が行われない場合よりも、固定入力用積演算素子10A2A、10A2Bの一方の故障時におけるニューラルネットワークの性能低下を抑制することができる。
そのため、第1実施形態の積和演算器1によれば、そのような再学習が行われない場合よりも、固定入力用積演算素子10A2A、10A2Bの一方の故障時におけるニューラルネットワークの性能低下を抑制することができる。
以下、本発明の積和演算器の第2実施形態について説明する。
第2実施形態の積和演算器1は、後述する点を除き、上述した第1実施形態の積和演算器1と同様に構成されている。従って、第2実施形態の積和演算器1によれば、後述する点を除き、上述した第1実施形態の積和演算器1と同様の効果を奏することができる。
第1実施形態の積和演算器1では、可変入力用積演算素子10A1A、10A1B、10B1A、10B1Bおよび固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bが磁気抵抗効果素子によって構成されているが、第2実施形態の積和演算器1では、可変入力用積演算素子10A1A、10A1B、10B1A、10B1Bおよび固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bが一般的な抵抗変化素子(可変抵抗)によって構成されている。
図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に対して入力される可変信号に同期させられる。
和演算部11は、可変入力用積演算素子10A1A、10A1Bおよび固定入力用積演算素子10A2A、10A2Bの第2端子からの出力の合計値を検出する出力検出器11Aと、可変入力用積演算素子10B1A、10B1Bおよび固定入力用積演算素子10B2A、10B2Bの第2端子からの出力の合計値を検出する出力検出器11Bとを備えている。
他の例では、図10に示す固定入力用積演算素子10A2A、10A2B、10B2A、10B2Bは、出力電流が増加する故障が発生した場合に断線する機能を有さなくてもよい。
なお、ここでいう「コンピュータシステム」とは、オペレーティング・システム(OS:Operating System)あるいは周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また、記録媒体としては、例えば、一時的にデータを記録する記録媒体であってもよい。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)あるいは電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
コンピュータでは、例えば、CPU(Central Processing Unit)などのプロセッサがメモリに記憶されたプログラムを読み出して実行する。
Claims (8)
- 積演算部と、和演算部とを備え、
前記積演算部は、複数の可変入力用積演算素子と、複数の固定入力用積演算素子とを備え、
前記複数の可変入力用積演算素子および前記複数の固定入力用積演算素子のそれぞれは、抵抗変化素子であり、
前記複数の可変入力用積演算素子に対して可変信号を入力する可変入力部と、
前記複数の固定入力用積演算素子に対して定められた信号を前記可変信号に同期させて入力する固定入力部とを備え、
前記和演算部は、前記複数の可変入力用積演算素子からの出力および前記複数の固定入力用積演算素子からの出力の合計値を検出する出力検出器を備える、
積和演算器。 - 前記抵抗変化素子は、書き込み端子と、共通端子と、読み出し端子とを有する、請求項1に記載の積和演算器。
- 前記複数の固定入力用積演算素子のそれぞれは、前記読み出し端子を介する前記固定入力用積演算素子からの出力電流が増加する故障が発生した場合に断線する機能を有する、請求項2に記載の積和演算器。
- 前記抵抗変化素子は、磁気抵抗効果を示す磁気抵抗効果素子であり、
前記磁気抵抗効果素子は、
磁壁を有する磁化自由層と、
磁化方向が固定された磁化固定層と、
前記磁化自由層と前記磁化固定層とに挟まれた非磁性層とを有する、
請求項1または請求項2に記載の積和演算器。 - 前記積演算部は、他の可変入力用積演算素子と、他の固定入力用積演算素子とをさらに備え、
前記他の可変入力用積演算素子および前記他の固定入力用積演算素子のそれぞれは、前記抵抗変化素子であり、
前記可変入力部は、前記他の可変入力用積演算素子に対して前記可変信号を入力し、
前記固定入力部は、前記他の固定入力用積演算素子に対して前記定められた信号を前記可変信号に同期させて入力し、
前記和演算部は、前記他の可変入力用積演算素子からの出力および前記他の固定入力用積演算素子からの出力の合計値を検出する他の出力検出器をさらに備える、
請求項1から請求項4のいずれか一項に記載の積和演算器。 - 請求項1から請求項5のいずれか一項に記載の積和演算器を備えるニューロモーフィックデバイス。
- 請求項1から請求項5のいずれか一項に記載の積和演算器の使用方法であって、
前記積和演算器は故障診断部をさらに備え、
前記可変入力部が前記複数の可変入力用積演算素子に対して前記可変信号を入力しない状態、かつ、前記固定入力部が前記複数の固定入力用積演算素子に対して前記定められた信号を入力する状態で、前記出力検出器が、前記複数の固定入力用積演算素子からの出力を検出する出力検出工程と、
前記故障診断部が、前記出力検出工程において検出された前記複数の固定入力用積演算素子からの出力に基づいて、故障している積演算素子が前記複数の固定入力用積演算素子に含まれるか否かを診断する診断工程とを含む、積和演算器の使用方法。 - 前記積和演算器は再学習部をさらに備え、
前記故障している積演算素子が前記複数の固定入力用積演算素子に含まれると前記故障診断部が診断した場合に、前記再学習部が、前記複数の固定入力用積演算素子のうちの、前記故障している積演算素子以外の積演算素子の抵抗値の再設定を行う再学習工程をさらに含む、請求項7に記載の積和演算器の使用方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017254662 | 2017-12-28 | ||
JP2017254662 | 2017-12-28 | ||
PCT/JP2018/045742 WO2019131147A1 (ja) | 2017-12-28 | 2018-12-12 | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019131147A1 JPWO2019131147A1 (ja) | 2020-09-24 |
JP6773239B2 true JP6773239B2 (ja) | 2020-10-21 |
Family
ID=67063532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019562961A Active JP6773239B2 (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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117813607A (zh) * | 2021-06-21 | 2024-04-02 | Tdk株式会社 | 驱动电路、阵列电路以及神经形态器件 |
Family Cites Families (10)
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 | 三菱電機株式会社 | 半導体神経回路網 |
JPH0520294A (ja) * | 1991-07-17 | 1993-01-29 | Fujitsu Ltd | ニユーラルネツトワーク型情報処理装置 |
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 |
JP5160304B2 (ja) | 2008-05-22 | 2013-03-13 | シャープ株式会社 | 抵抗変化型可変抵抗素子を備えた積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法 |
JP5289646B1 (ja) * | 2012-01-20 | 2013-09-11 | パナソニック株式会社 | ニューラルネットワーク回路の学習方法 |
CN115568273A (zh) | 2016-04-21 | 2023-01-03 | Tdk株式会社 | 磁壁利用型模拟存储元件以及磁壁利用型模拟存储器 |
CN109923550B (zh) | 2016-08-19 | 2022-11-15 | 索尼公司 | 乘数累加器 |
WO2019131141A1 (ja) * | 2017-12-28 | 2019-07-04 | Tdk株式会社 | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 |
-
2018
- 2018-12-12 WO PCT/JP2018/045742 patent/WO2019131147A1/ja active Application Filing
- 2018-12-12 JP JP2019562961A patent/JP6773239B2/ja active Active
- 2018-12-12 CN CN201880084232.6A patent/CN111512312B/zh active Active
- 2018-12-12 US US16/758,883 patent/US11449742B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2019131147A1 (ja) | 2019-07-04 |
US11449742B2 (en) | 2022-09-20 |
US20200342298A1 (en) | 2020-10-29 |
CN111512312A (zh) | 2020-08-07 |
JPWO2019131147A1 (ja) | 2020-09-24 |
CN111512312B (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6721136B2 (ja) | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 | |
US10892009B2 (en) | Magnetic wall utilization-analog memory element and magnetic wall utilization analog memory | |
US10916480B2 (en) | Magnetic wall utilization type analog memory device, magnetic wall utilization type analog memory, nonvolatile logic circuit, and magnetic neuro device | |
US10672446B2 (en) | Exchange bias utilization type magnetization rotational element, exchange bias utilization type magnetoresistance effect element, exchange bias utilization type magnetic memory, non-volatile logic circuit, and magnetic neuron element | |
JP7013839B2 (ja) | 磁壁利用型アナログメモリ、不揮発性ロジック回路及び磁気ニューロ素子 | |
JP6747610B2 (ja) | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の故障判断方法 | |
JP6773239B2 (ja) | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 | |
JP6819799B2 (ja) | 積和演算器の使用方法 | |
JP6876281B2 (ja) | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200514 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200514 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200603 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200609 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200811 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200901 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200914 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6773239 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |