JP2021500646A - 人工ニューラル・ネットワークを訓練する方法および人工ニューラル・ネットワークを実施する装置(人工ニューラル・ネットワークの訓練) - Google Patents
人工ニューラル・ネットワークを訓練する方法および人工ニューラル・ネットワークを実施する装置(人工ニューラル・ネットワークの訓練) Download PDFInfo
- Publication number
- JP2021500646A JP2021500646A JP2020520136A JP2020520136A JP2021500646A JP 2021500646 A JP2021500646 A JP 2021500646A JP 2020520136 A JP2020520136 A JP 2020520136A JP 2020520136 A JP2020520136 A JP 2020520136A JP 2021500646 A JP2021500646 A JP 2021500646A
- Authority
- JP
- Japan
- Prior art keywords
- weight
- digital
- value
- memristive
- processing unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000012549 training Methods 0.000 title claims abstract description 65
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 21
- 210000002569 neuron Anatomy 0.000 claims abstract description 104
- 238000012545 processing Methods 0.000 claims abstract description 52
- 238000012937 correction Methods 0.000 claims abstract description 48
- 210000000225 synapse Anatomy 0.000 claims abstract description 37
- 238000003491 array Methods 0.000 claims abstract description 23
- 230000001186 cumulative effect Effects 0.000 claims description 48
- 230000006870 function Effects 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 15
- 230000004913 activation Effects 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 5
- 230000000946 synaptic effect Effects 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 abstract description 3
- 230000003252 repetitive effect Effects 0.000 abstract 1
- 210000004027 cell Anatomy 0.000 description 26
- 101100269885 Arabidopsis thaliana ANN1 gene Proteins 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 210000004205 output neuron Anatomy 0.000 description 10
- 210000002364 input neuron Anatomy 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000000644 propagated effect Effects 0.000 description 5
- 238000004088 simulation Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000001629 suppression Effects 0.000 description 3
- 229910000618 GeSbTe Inorganic materials 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008672 reprogramming Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000003925 brain function Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/08—Learning methods
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0004—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Computer Hardware Design (AREA)
- Image Analysis (AREA)
- Complex Calculations (AREA)
- Feedback Control In General (AREA)
Abstract
Description
を記憶する。重み
は、デバイスの電気伝導度に対応し、デバイスへのプログラミング信号の適用により動作を変化させ得る。重み
は、したがって、アクセント符号
によって示されるように、本来低精度で記憶される。デバイス10は、各デバイスがデバイスへの信号の適用のために特定の行ラインおよび列ラインに接続されるように論理行および論理列に配列される。アレイa1の行ラインriは、ANN1のそれぞれの入力ニューロンn1iとシナプスsijとの間の接続として見られ得る。アレイa1の列ラインcjは、同様に、ANN1のそれぞれの層2のニューロンn2jとシナプスsijとの間の接続として見られ得る。行ラインおよび列ラインは、デジタル・ドメインとアナログ・ドメインとの間でアレイ入力/出力信号を変換する、行デジタル・アナログ/アナログ・デジタル・コンバータ(DAC/ADC)11および列デジタル・アナログ/アナログ・デジタル・コンバータ(DAC/ADC)12を介して、メムコンピューティング・ユニット2のコントローラ7に接続される。
を記憶し、行ラインrjはそれぞれの層2のニューロンn2jとシナプスsjkとの間の接続を表し、列ラインckは、それぞれの出力層ニューロンn3kとシナプスsjkとの間の接続を表す。
について2ビット精度を与え、2N個のセルは、概してNビット精度を提供する。コントローラ7によるデバイス10のプログラミングは、特定のセル20が記憶された重みを増加または減少させるように対処される順序を決定するために、クロックベースの調停方式を用いて実行されてもよい。記憶された重みは、行ラインri(の全てのコンポーネント)への(低電圧)読み出し信号を適用することによって、「読み出され」得る。それによって、デバイスの列ラインcj上の結果の電流は、4つ全てのセルの伝導度、およびしたがって、合計の記憶された重み
に依存する。
、
が繰り返し更新される反復型方法を実施する。特に、DPU4は、後述する反復型訓練方式の順伝播動作、逆伝播動作、および重み更新動作の装置2による実行を制御する。
を更新するように、メムコンピューティング・ユニット3を制御する。決定ステップ33において、DPU4は、所定の収束条件が達成されたかどうかを決定する。(この条件は、訓練動作についての様々なやり方で、例えば、出力ニューロンについての誤差値、反復間の誤差値の変化、サンプル/反復の数などに基づいて、または1つより多くのそのようなパラメータの関数として、定義され得る。特定の収束条件は、本明細書において説明される動作原理に直交する。)達成されない場合(決定ブロック33における「いいえ」(N))、ステップ34において、次の訓練サンプルについての入力データがCPU7にロードされる。動作は、ステップ30に戻る。したがって、プロセスは、収束が達成されるまで反復し、達成されると、訓練プロセスが終了する。
は、所定の値に初期化されてもよく、または訓練プロセスの開始のためにランダムに分散されてもよい。初期化のための重み分散に対する特定の制約は、例えば、ネットワーク・サイズおよび達成されるべき所与の収束条件についてのニューロン活性化関数f(後述する)に依存し得る。重み更新ステップ32は、反復毎、または所定の数の逆伝播動作の後に実行されてもよく、以下でさらに説明されるように、重み
の全てまたは選択されたサブセットの更新を伴ってもよい。いずれにせよ、重み
は、ネットワークが訓練データから学習するときに、訓練プロセス中に繰り返し更新される。
に従って入力信号の重み付け合計に対応する。これらの出力信号は、ANN1のそれぞれの層2のニューロンn2jによって受信される信号に対応する。列出力信号は、列ADC12によってデジタル信号値
に変換され、デジタル信号値は、コントローラ7によってDPU4に供給される。ステップ45において、DPU4は、受信したデジタル信号値
をメモリ8に記憶する。ステップ46において、DPU4は、それぞれの層2のニューロンn2jについてデジタル信号値x2jを、
として計算する。信号値x2jは、ステップ47においてメモリ8に記憶される。よって、DPUは、先行するニューロン層から取得されるアレイ出力信号に対応するデジタル信号値に活性化関数fを適用して、それらのニューロンn2jに関連するアレイ入力信号に対応するデジタル信号値を生成することによって、層2のニューロンn2jを実施する。
は、出力ニューロンn3kについてのデジタル信号値x3kを
として計算するDPU4に供給される。信号値x3kは、順伝播動作にネットワーク出力を提供する。
についてのANNの予想出力に依存する。特に、各ニューロンn3kの出力
は、対応する誤差値δ3kを取得するために、そのニューロンについての予想出力から減算される。各ニューロンn3kについての予想出力は、現在の訓練サンプルについての既知の分類ラベル、例えば、MNISTサンプルについての0から9のラベルから決定され得る。(例えば、各クラス0〜9は、それぞれの出力ニューロンによって表されてもよく、出力ニューロンは、そのクラス内のサンプルがネットワークに「示される」ときに最大出力を有するように予想される。理想的には、このニューロン出力は、「1」であるべきであり、他のクラスに対応する全ての他のニューロン出力は、「0」であるべきである。サンプルクラスを示すこれらの1および0は、ネットワークの予想出力をもたらす)。DPU4は、ステップ61において誤差値δ3kを記憶する。ステップ62において、DPU4は、バス5を介してメムコンピューティング・ユニット3に誤差値δ3kを供給し、コントローラ7を逆伝播モードに設定する。ステップ63において、コントローラ7は、誤差値δ3kをメムリスティブ・アレイa2の列DAC12に供給する。(誤差値は、電圧(例えば、
)として適用されるときに、DAC12の最大範囲を使用するためにそれに応じてDPU4においてスケールされてもよい。)したがって、それぞれのニューロンn3kに関連する、対応するアナログ電圧信号は、図9に概略的に示されるように、アレイのそれぞれの列ラインckに入力信号として適用される。行ラインrj上の結果となる出力電流信号は、よって、各行内のデバイス10の重み
に従って入力信号の重み付け合計に対応する。行出力信号は、行ADC11によってデジタル信号値
に変換され、デジタル信号値は、コントローラ7によってDPU4に供給される。ステップ64において、DPU4は、出力信号値
を受信および記憶する。ステップ65において、DPU4は、層2についてのそれぞれの誤差値δ2jを
として計算する。ここで、gは、活性化関数fとは異なる非線形関数を表し、訓練アルゴリズムが平均二乗誤差目的関数を最小化する特定の場合においてfの導関数を含む。層2内のニューロンについてのそれぞれの誤差値δ2jは、したがって、逆伝播動作において先行ニューロン層(層3)から取得されるアレイ出力信号に対応するデジタル信号値
、および順伝播動作において先行ニューロン層(層1)から取得されるアレイ出力信号
に基づく。誤差値δ2jは、ステップ66においてメモリ8に記憶される。
ΔWij=ηx1iδ2j
として計算する。ここで、ηは、ネットワークについての予め定義された学習パラメータである。ANN1内のニューロンn1iおよびn2jの対を相互接続するシナプスsijに対応するデバイスについての重み補正値ΔWijは、よって、順伝播動作においてニューロンn1から受信される入力信号および逆伝播動作においてニューロンn2について計算された誤差信号の関数として計算される。ステップ72において、DPU4は、各重み補正値ΔWijを所定のステップ・サイズεで丸めて、丸めた補正値
、即ち
を生成する。伝統的丸め法または確率的丸め法が、所望によりここで使用され得る。ステップ・サイズεは、所定のプログラミング・パルス、即ち所定の振幅および期間のパルスの適用に応じたメムリスティブ・デバイスの重み変更を示すことが好ましい。ステップ73において、DPU4は、デバイス10についての丸めた補正値
をメムコンピューティング・ユニット3に送信し、コントローラ7をプログラミング・モードに設定する。ステップ74において、コントローラ7が、プログラミング信号を各デバイス10に適用して、記憶された重み
を、そのデバイスについての丸めた補正値
に依存した量だけ調整する。ここでのプログラミング信号は、丸めた補正値
に対応する、いくつかの前述のプログラミング・パルスを含み得る。結果となる記憶された重みは、よって、
に更新される。
の符号に従って増加され(「増強され」)または減少され(「抑圧され」)得る。プログラミング・パルスおよびステップ・サイズεは、メムリスティブ・デバイスの特性に依存して増強および抑圧について異なり得る。また、重み更新は、訓練方式の反復毎における逆伝播の後(「オンライン訓練」)、またはある回数K回の反復後(「バッチ訓練」)に、実行され得る。後者の場合、重み補正値ΔWijは、K個の訓練サンプルにわたってDPU4において累積され得る。
は、これらのデバイスについてデジタル重み補正値ΔWjk=ηx2jδ3kから計算される丸めた重み補正値
に基づいて、同様に更新される。図10のプロセスのステップは、異なるメムリスティブ・アレイについて並列で、または同様に各アレイについて逐次的に、実行され得る。同様に、重み更新プロセスのステップは、各アレイ内の特定のメムリスティブ・デバイスまたはデバイスのサブセットについて逐次的に実行され得る。異なるプログラミング・パルスおよびステップ・サイズεもまた、いくつかの実施形態において異なるシナプス層を実施するデバイスのために使用され得る。
、
に基づいて入力データを分類するテスト(または「推論」)・モードにおいて使用され得る。推論モードにおいて、入力データ(例えば、MNISTテスト数字)は、順伝播モードで動作するネットワークに供給され、入力データは、ネットワーク出力に基づいて(例えば、数字0〜9として)分類される。分類は、例えば、ソフトマックス関数を用いてDPU7において実行され得る。図11は、ステップ72における確率的丸め法とともに上記重み更新動作を用いた訓練に続く、MNISTテスト・データを用いた推論動作についてのシミュレーション結果を示す。テスト正確度が、デバイス10における重み
の記憶についてのビット精度に対してプロットされる。完全64ビット浮動小数点訓練方法を用いて取得される相当する結果も、比較のために示されている。上記方法のテスト正確度は、記憶された重み
のわずか4ビット精度で64ビット精度の結果に近づいてくることが分かる。重み
における8以上のビット精度で、テスト正確度は、64ビット精度の実施に相当する。
に対応する(高精度)デジタル重み値Wのセットをメモリ8に記憶する。動作は、ここでアレイa1におけるデバイスについて、再び説明される。ステップ80において、層1の信号値x1iおよび層2の誤差値δ2jが、DPU4内のメモリから取り出される。ステップ81において、DPUは、デバイス10のデジタル重み補正値ΔWを、前の通り、
ΔWij=ηx1iδ2j
として計算する。
を読み出すこと、および次いで、デバイスについての新たなデジタル重み値Wとそのデバイスについての読み出された重み
との間の差をDPU4において計算することによって、実行され得る。プログラミング信号は、次いで、そのデバイスについて計算された差に依存した量だけ、記憶された重み
を調整するために、デバイスに適用される。ここでの差の値は、所定のプログラミング・パルスの適用に応じたデバイスの重み変更を示すステップ・サイズεに従って、(決定論的または確率的に)丸められてもよく、ここでのプログラミング信号は、丸めた異なる値に対応するいくつかのプログラミング・パルスを含み得る。よって、記憶された重み
は、少しずつ更新される。
が完全に再プログラミングされ得る。この場合、プログラミング信号は、デバイスについての新たなデジタル重み値Wに基づいて各デバイスを再プログラムするために適用される。これは、例えば、重みが反復してプログラムされおよび読み出され、対応するデジタル値Wに可能な限り近い
をもたらすようになされる、プログラムおよび検証方式によって、実行され得る。(決定論的または確率的に)丸めたバージョンのWも、ここで使用され得る。
の潜在的に不正確な更新をそれに応じて補償する。
を、そのデバイスについての重み調整量Aijに対応する量だけ調整するように、メムコンピューティング・ユニット3を制御する。ステップ96において、DPU4は、次いで、各デバイスについての更新された累積値から重み調整量を減算することによって、それぞれのデバイスについての新たなデジタル累積値を、χij−Aij=新たなχijと計算する。累積値計算は、したがって、デジタル精度、好ましくは少なくとも16ビット精度で実行され、必要に応じて、より高い(例えば32ビットまたは64ビット)精度で実行され得る。
を記憶するデバイスに|nij|個の増強プログラミング・パルスを適用する。nij<0の場合、コントローラ7は、デバイスに|nij|個の抑圧プログラミング・パルスを適用する。図14のステップ96に戻って、各デバイスについての新たな累積値が、χij−nijεとして計算される。
は変更されない。したがって、デバイスについての重み調整量Aijは、ここで0または±εのいずれかであり、図14のステップ96において、新たな累積値がそれに応じて計算される。
を読み直す必要性を回避し、同時に、デジタル累積値χにおいてΔWについての情報全てを保持する。これは、高速で高い正確度のANN訓練のための非常に効率的な実施を提供する。図15の方法を用いたこの技術で達成可能な優れた分類正確度が、図17に示される。
Claims (24)
- 複数のニューロン層の連続と、前記複数のニューロン層との間に挟まれているシナプスの層を実施する、行ラインと列ラインとの間に接続されたメムリスティブ・デバイスのクロスバー・アレイのセットと、を有する人工ニューラル・ネットワークを訓練する方法であって、各メムリスティブ・デバイスが、連続するニューロン層内のニューロンのそれぞれの対を相互接続するシナプスについての重み
反復型訓練方式の順伝播動作および逆伝播動作のうちの少なくとも1つにおいて、それぞれのニューロンに関連して、入力信号を前記アレイのセットの行ラインおよび列ラインのうちの一方に適用して、前記行ラインおよび列ラインのうちの他方の出力信号を取得することと、
前記アレイのセットに動作可能に連結されたデジタル処理ユニットにおいて、前記入力信号および出力信号に対応する複数のデジタル信号値を記憶することと、
前記複数のデジタル信号値に依存してそれぞれのメムリスティブ・デバイスについてのデジタル重み補正値ΔWを、前記デジタル処理ユニットにおいて計算すること、およびそれぞれの前記デジタル重み補正値ΔWに応じて、記憶された前記重み
によって、前記反復型訓練方式の前記順伝播動作、前記逆伝播動作、および前記重み更新動作を実行することを含む、方法。 - 前記順伝播動作において、前記入力信号を前記アレイのセットの行ラインに適用して、前記列ラインの出力信号を取得することを含む、請求項1に記載の方法。
- 前記逆伝播動作において、前記入力信号を前記アレイのセットの列ラインに適用して、前記行ラインの出力信号を取得することを含む、請求項2に記載の方法。
- 前記デジタル処理ユニットにおいて、各重み補正値ΔWを所定のステップ・サイズεで丸めて、丸めた補正値
- 前記デジタル重み補正値が、少なくとも16ビット精度で前記デジタル処理ユニットによって計算される、請求項4に記載の方法。
- 前記デジタル処理ユニットにおいて、それぞれのメムリスティブ・デバイスによって記憶された前記重み
前記重み更新動作において、それぞれのデバイスについての新たなデジタル重み値を、各デバイスについての記憶された前記デジタル重み値および前記デジタル重み補正値ΔWから、前記デジタル処理ユニットにおいて計算することと、を含み、
メムリスティブ・デバイスに適用される前記プログラミング信号が、前記デバイスについての前記新たなデジタル重み値に依存する、請求項1に記載の方法。 - 前記重み更新動作において、
それぞれのメムリスティブ・デバイスによって記憶された前記重み
前記デジタル処理ユニットにおいて、デバイスについての前記新たなデジタル重み値と前記デバイスについての読み出された前記重み
メムリスティブ・デバイスに適用される前記プログラミング信号が、前記記憶された重み
- 前記重み更新動作において、各デバイスを前記デバイスについての前記新たなデジタル重み値に基づいて再プログラムするために前記プログラミング信号を適用することを含む、請求項6に記載の方法。
- 前記デジタル重み値が、少なくとも16ビット精度で前記デジタル処理ユニットによって記憶される、請求項6に記載の方法。
- 前記デジタル処理ユニットにおいて、それぞれのメムリスティブ・デバイスについてのデジタル累積値を記憶することを含み、前記重み更新動作において、
前記デジタル処理ユニットにおいて、それぞれのメムリスティブ・デバイスについての更新された累積値を、各デバイスについての前記重み補正値ΔWおよび記憶された累積値から計算すること、ならびに重み調整量を各デバイスについての前記更新された累積値から決定することであって、メムリスティブ・デバイスに適用される前記プログラミング信号が、前記記憶された重み
前記デジタル処理ユニットにおいて、各デバイスについての前記更新された累積値から前記重み調整量を減算することによって、それぞれのデバイスについての新たなデジタル累積値を計算することと、を含む、請求項1に記載の方法。 - 前記デジタル処理ユニットにおいて、前記デバイスに適用されるべき前記プログラミング・パルスの数nを取得するために、所定のプログラミング・パルスの適用に応じた前記デバイスの重み変更を示す所定のステップ・サイズεで、各メムリスティブ・デバイスについての前記更新された累積値を丸めることによって、前記重み調整量を決定することであって、前記メムリスティブ・デバイスに適用される前記プログラミング信号が、n個の前記パルスを含む、前記決定することを含む、請求項10に記載の方法。
- 前記デジタル処理ユニットにおいて、各メムリスティブ・デバイスについての前記更新された累積値を、所定のプログラミング・パルスの適用に応じた前記デバイスの重み変更を示すステップ・サイズεに依存する所定の閾値と比較することと、
デバイスについての前記更新された累積値が、前記閾値を超える場合、前記プログラミング・パルスを前記プログラミング信号として前記デバイスに適用することと、
を含む、請求項10に記載の方法。 - 前記デジタル重み補正値および前記新たなデジタル累積値が、少なくとも16ビット精度で前記デジタル処理ユニットによって計算される、請求項10に記載の方法。
- 前記デジタル処理ユニットにおいて、前記先行ニューロン層から取得された前記出力信号に対応する前記デジタル信号値に活性化関数を適用することによって、前記順伝播動作において前記層の前記ニューロンを実施して、前記ニューロンに関連する前記入力信号に対応する前記デジタル信号値を生成することを含む、請求項2に記載の方法。
- 前記逆伝播動作において、
前記順伝播動作におけるニューロンの最後の層について、前記デジタル処理ユニットにおいて、前記ニューラル・ネットワークの予想出力、および前記先行ニューロン層から取得された前記出力信号に対応する前記デジタル信号値に依存してそれぞれの誤差値を計算することと、
前記誤差値に対応する信号を、前記最後の層におけるニューロンに関連する前記入力信号として適用することと、
最後から2番目のニューロン層まで各後続のニューロン層について、前記デジタル処理ユニットにおいて、前記層におけるニューロンについてのそれぞれの誤差値を、前記逆伝播動作における先行ニューロン層から取得された前記出力信号および前記順伝播動作における前記先行ニューロン層から取得された前記出力信号に対応する前記デジタル信号値に基づいて計算することと、
を含む、請求項3に記載の方法。 - 前記デジタル処理ユニットにおいて、それぞれのメムリスティブ・デバイスについてのデジタル累積値を記憶することを含み、前記重み更新動作中の前記デジタル処理ユニットにおいて、
前記順伝播動作においてニューロンn1から受信される前記入力信号および前記逆伝播動作においてニューロンn2について計算された前記誤差信号の関数として、ニューロンn1およびn2の対を相互接続するシナプスに対応するメムリスティブ・デバイスについての前記デジタル重み補正値ΔWを計算することと、
それぞれのメムリスティブ・デバイスについての更新された累積値を、各デバイスについての前記重み補正値ΔWおよび記憶された累積値から計算すること、ならびに重み調整量を各デバイスについての前記更新された累積値から決定することであって、メムリスティブ・デバイスに適用される前記プログラミング信号が、前記記憶された重み
各デバイスについての前記更新された累積値から前記重み調整量を減算することによって、それぞれのデバイスについての新たなデジタル累積値を計算することと、を含む、請求項15に記載の方法。 - シナプスの層との間に挟まれている複数のニューロン層の連続を有する人工ニューラル・ネットワークを実施する装置であって、各シナプスが、連続するニューロン層内のニューロンのそれぞれの対を相互接続し、前記装置が、
行ラインおよび列ラインの間に接続されるメムリスティブ・デバイスのクロスバー・アレイのセットであって、各メムリスティブ・デバイスが、それぞれの前記シナプスについての重み
反復型訓練方式の順伝播動作、逆伝播動作、および重み更新動作の前記装置による実行を制御するように適合される、前記メムコンピューティング・ユニットに動作可能に連結されたデジタル処理ユニットと、を備え、
前記方式の前記順伝播動作および逆伝播動作のうちの少なくとも1つにおいて、前記コントローラが、それぞれのニューロンに関連して、入力信号を、前記アレイのセットの行ラインおよび列ラインのうちの一方に適用して、前記行ラインおよび列ラインのうちの他方の出力信号を取得し、
前記デジタル処理ユニットが、前記入力信号および出力信号に対応する複数のデジタル信号値を記憶し、
前記方式の前記重み更新動作において、前記デジタル処理ユニットが、前記複数のデジタル信号値に依存してそれぞれのメムリスティブ・デバイスについてのデジタル重み補正値ΔWを計算し、前記コントローラが、それぞれの前記デジタル重み補正値ΔWに応じて、記憶された前記重み
- 前記コントローラが、前記順伝播動作において、前記入力信号を前記アレイのセットの行ラインに適用して前記列ラインの出力信号を取得し、前記逆伝播動作において、前記入力信号を前記アレイのセットの列ラインに適用して前記行ラインの出力信号を取得するように適合される、請求項17に記載の装置。
- 前記デジタル処理ユニットが、前記先行ニューロン層から取得された前記出力信号に対応する前記デジタル信号値に活性化関数を適用することによって、前記順伝播動作において前記層の前記ニューロンを実施して、前記ニューロンに関連する前記入力信号に対応する前記デジタル信号値を生成するように適合される、請求項18に記載の装置。
- 前記デジタル処理ユニットが、各重み補正値ΔWを所定のステップ・サイズεで丸めて、丸めた補正値
前記コントローラが、前記プログラミング信号をメムリスティブ・デバイスに適用して、前記記憶された重み
- 前記デジタル処理ユニットが、それぞれのメムリスティブ・デバイスによって記憶される前記重み
前記装置が、メムリスティブ・デバイスに適用される前記プログラミング信号が前記デバイスについての前記新たなデジタル重み値に依存するように適合される、請求項17に記載の装置。 - 前記デジタル処理ユニットが、それぞれのメムリスティブ・デバイスについてデジタル累積値を記憶するように適合され、
前記重み更新動作において、前記デジタル処理ユニットが、それぞれのメムリスティブ・デバイスについての更新された累積値を、各デバイスについての前記重み補正値ΔWおよび記憶された累積値から計算し、重み調整量を各デバイスについての前記更新された累積値から決定し、各デバイスについての前記更新された累積値から前記重み調整量を減算することによってそれぞれのデバイスについての新たなデジタル累積値を計算するように適合され、
メムリスティブ・デバイスに適用される前記プログラミング信号が、前記記憶された重み
- 前記デジタル処理ユニットが、前記デジタル重み補正値および前記新たなデジタル累積値を少なくとも16ビット精度で計算するように適合される、請求項22に記載の装置。
- 各メムリスティブ・デバイスが、複数のメムリスティブ・メモリ素子を含む、請求項17に記載の装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762576081P | 2017-10-24 | 2017-10-24 | |
US62/576,081 | 2017-10-24 | ||
US16/022,950 US11348002B2 (en) | 2017-10-24 | 2018-06-29 | Training of artificial neural networks |
US16/022,950 | 2018-06-29 | ||
PCT/IB2018/058251 WO2019082077A1 (en) | 2017-10-24 | 2018-10-23 | TRAINING ARTIFICIAL NEURAL NETWORKS |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021500646A true JP2021500646A (ja) | 2021-01-07 |
JP7182835B2 JP7182835B2 (ja) | 2022-12-05 |
Family
ID=66171101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020520136A Active JP7182835B2 (ja) | 2017-10-24 | 2018-10-23 | 人工ニューラル・ネットワークを訓練する方法および人工ニューラル・ネットワークを実施する装置(人工ニューラル・ネットワークの訓練) |
Country Status (6)
Country | Link |
---|---|
US (1) | US11348002B2 (ja) |
JP (1) | JP7182835B2 (ja) |
CN (1) | CN111279366B (ja) |
DE (1) | DE112018004223B4 (ja) |
GB (1) | GB2581731B (ja) |
WO (1) | WO2019082077A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022538845A (ja) * | 2019-06-26 | 2022-09-06 | マイクロン テクノロジー,インク. | 積層人工ニューラルネットワーク |
KR20230007690A (ko) * | 2021-07-06 | 2023-01-13 | 고려대학교 산학협력단 | 역전파와 음수 가중치 설정이 가능한 뉴로모픽 회로 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11468332B2 (en) * | 2017-11-13 | 2022-10-11 | Raytheon Company | Deep neural network processor with interleaved backpropagation |
US11361215B2 (en) * | 2017-11-29 | 2022-06-14 | Anaflash Inc. | Neural network circuits having non-volatile synapse arrays |
US11403529B2 (en) * | 2018-04-05 | 2022-08-02 | Western Digital Technologies, Inc. | Noise injection training for memory-based learning |
US11741362B2 (en) * | 2018-05-08 | 2023-08-29 | Microsoft Technology Licensing, Llc | Training neural networks using mixed precision computations |
US10432240B1 (en) | 2018-05-22 | 2019-10-01 | Micron Technology, Inc. | Wireless devices and systems including examples of compensating power amplifier noise |
JP7259253B2 (ja) * | 2018-10-03 | 2023-04-18 | 株式会社デンソー | 人工ニューラルネットワーク回路 |
US11133059B2 (en) * | 2018-12-06 | 2021-09-28 | Western Digital Technologies, Inc. | Non-volatile memory die with deep learning neural network |
US12032089B2 (en) | 2019-03-14 | 2024-07-09 | Infineon Technologies Ag | FMCW radar with interference signal suppression using artificial neural network |
US11907829B2 (en) * | 2019-03-14 | 2024-02-20 | Infineon Technologies Ag | FMCW radar with interference signal suppression using artificial neural network |
DE102019106529A1 (de) | 2019-03-14 | 2020-09-17 | Infineon Technologies Ag | Fmcw radar mit störsignalunterdrückung mittels künstlichem neuronalen netz |
US11531898B2 (en) * | 2019-05-16 | 2022-12-20 | International Business Machines Corporation | Training of artificial neural networks |
US10763905B1 (en) | 2019-06-07 | 2020-09-01 | Micron Technology, Inc. | Wireless devices and systems including examples of mismatch correction scheme |
CN110458284A (zh) * | 2019-08-13 | 2019-11-15 | 深圳小墨智能科技有限公司 | 一种模拟神经网芯片的设计方法及模拟神经网芯片 |
JP7118930B2 (ja) * | 2019-08-19 | 2022-08-16 | 株式会社東芝 | スパイキングニューラルネットワーク装置およびその学習方法 |
US11475946B2 (en) | 2020-01-16 | 2022-10-18 | International Business Machines Corporation | Synapse weight update compensation |
US10972139B1 (en) | 2020-04-15 | 2021-04-06 | Micron Technology, Inc. | Wireless devices and systems including examples of compensating power amplifier noise with neural networks or recurrent neural networks |
US12050997B2 (en) | 2020-05-27 | 2024-07-30 | International Business Machines Corporation | Row-by-row convolutional neural network mapping for analog artificial intelligence network training |
CN111833278B (zh) * | 2020-07-13 | 2022-05-17 | 西南大学 | 基于忆阻器遗忘特性的图片处理方法 |
US11568217B2 (en) | 2020-07-15 | 2023-01-31 | International Business Machines Corporation | Sparse modifiable bit length deterministic pulse generation for updating analog crossbar arrays |
US11443171B2 (en) | 2020-07-15 | 2022-09-13 | International Business Machines Corporation | Pulse generation for updating crossbar arrays |
US11496341B2 (en) | 2020-08-13 | 2022-11-08 | Micron Technology, Inc. | Wireless devices and systems including examples of compensating I/Q imbalance with neural networks or recurrent neural networks |
CN112215344A (zh) * | 2020-09-30 | 2021-01-12 | 清华大学 | 神经网络电路的校正方法以及设计方法 |
US20220138579A1 (en) * | 2020-11-02 | 2022-05-05 | International Business Machines Corporation | Weight repetition on rpu crossbar arrays |
CN112418422B (zh) * | 2020-11-20 | 2022-05-27 | 之江实验室 | 一种基于人脑记忆机制的深度神经网络训练数据采样方法 |
US20220230064A1 (en) * | 2021-01-20 | 2022-07-21 | Mediatek Singapore Pte. Ltd. | Calibration of analog circuits for neural network computing |
CN113517007B (zh) * | 2021-04-29 | 2023-07-25 | 西安交通大学 | 一种流水处理方法、系统和忆阻器阵列 |
CN113553293B (zh) * | 2021-07-21 | 2024-09-03 | 清华大学 | 存算一体装置及其校准方法 |
CN113837373A (zh) * | 2021-09-26 | 2021-12-24 | 清华大学 | 数据处理装置以及数据处理方法 |
CN115985380B (zh) * | 2023-03-17 | 2023-06-20 | 之江实验室 | 一种基于数字电路控制的FeFET阵列数据校验方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002117389A (ja) * | 1990-01-24 | 2002-04-19 | Hitachi Ltd | 情報処理装置 |
US20170017879A1 (en) * | 2015-07-13 | 2017-01-19 | Denso Corporation | Memristive neuromorphic circuit and method for training the memristive neuromorphic circuit |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455843B (zh) | 2013-08-16 | 2016-03-02 | 华中科技大学 | 一种反馈型人工神经网络训练方法及计算系统 |
US9418331B2 (en) | 2013-10-28 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus for tagging classes using supervised learning |
US9489618B2 (en) | 2014-05-27 | 2016-11-08 | Purdue Research Foudation | Electronic comparison systems |
US10885429B2 (en) | 2015-07-06 | 2021-01-05 | University Of Dayton | On-chip training of memristor crossbar neuromorphic processing systems |
CN105224986B (zh) | 2015-09-29 | 2018-01-23 | 清华大学 | 基于忆阻器件的深度神经网络系统 |
US10248907B2 (en) | 2015-10-20 | 2019-04-02 | International Business Machines Corporation | Resistive processing unit |
CN105701541A (zh) * | 2016-01-13 | 2016-06-22 | 哈尔滨工业大学深圳研究生院 | 一种基于忆阻器脉冲神经网络的电路结构 |
US9646243B1 (en) | 2016-09-12 | 2017-05-09 | International Business Machines Corporation | Convolutional neural networks using resistive processing unit array |
CN106650922B (zh) * | 2016-09-29 | 2019-05-03 | 清华大学 | 硬件神经网络转换方法、计算装置、软硬件协作系统 |
CN106779059B (zh) | 2016-12-30 | 2019-03-05 | 华中科技大学 | 一种基于忆阻的巴普洛夫联想记忆的人工神经网络电路 |
US11429862B2 (en) * | 2018-03-20 | 2022-08-30 | Sri International | Dynamic adaptation of deep neural networks |
US11188825B2 (en) * | 2018-10-15 | 2021-11-30 | International Business Machines Corporation | Mixed-precision deep-learning with multi-memristive devices |
US11074318B2 (en) * | 2018-12-14 | 2021-07-27 | Western Digital Technologies, Inc. | Hardware accelerated discretized neural network |
US11373092B2 (en) * | 2019-04-10 | 2022-06-28 | International Business Machines Corporation | Training of artificial neural networks |
US10825536B1 (en) * | 2019-08-30 | 2020-11-03 | Qualcomm Incorporated | Programmable circuits for performing machine learning operations on edge devices |
-
2018
- 2018-06-29 US US16/022,950 patent/US11348002B2/en active Active
- 2018-10-23 DE DE112018004223.5T patent/DE112018004223B4/de active Active
- 2018-10-23 CN CN201880069287.XA patent/CN111279366B/zh active Active
- 2018-10-23 WO PCT/IB2018/058251 patent/WO2019082077A1/en active Application Filing
- 2018-10-23 JP JP2020520136A patent/JP7182835B2/ja active Active
- 2018-10-23 GB GB2006982.9A patent/GB2581731B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002117389A (ja) * | 1990-01-24 | 2002-04-19 | Hitachi Ltd | 情報処理装置 |
US20170017879A1 (en) * | 2015-07-13 | 2017-01-19 | Denso Corporation | Memristive neuromorphic circuit and method for training the memristive neuromorphic circuit |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022538845A (ja) * | 2019-06-26 | 2022-09-06 | マイクロン テクノロジー,インク. | 積層人工ニューラルネットワーク |
KR20230007690A (ko) * | 2021-07-06 | 2023-01-13 | 고려대학교 산학협력단 | 역전파와 음수 가중치 설정이 가능한 뉴로모픽 회로 |
KR102574156B1 (ko) | 2021-07-06 | 2023-09-01 | 고려대학교 산학협력단 | 역전파와 음수 가중치 설정이 가능한 뉴로모픽 회로 |
Also Published As
Publication number | Publication date |
---|---|
US11348002B2 (en) | 2022-05-31 |
GB202006982D0 (en) | 2020-06-24 |
JP7182835B2 (ja) | 2022-12-05 |
CN111279366A (zh) | 2020-06-12 |
GB2581731A (en) | 2020-08-26 |
US20190122105A1 (en) | 2019-04-25 |
GB2581731B (en) | 2022-11-09 |
WO2019082077A1 (en) | 2019-05-02 |
DE112018004223B4 (de) | 2024-09-05 |
DE112018004223T5 (de) | 2020-05-07 |
CN111279366B (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7182835B2 (ja) | 人工ニューラル・ネットワークを訓練する方法および人工ニューラル・ネットワークを実施する装置(人工ニューラル・ネットワークの訓練) | |
Nandakumar et al. | Mixed-precision architecture based on computational memory for training deep neural networks | |
JP7427030B2 (ja) | 人工ニューラル・ネットワークのトレーニング方法、装置、プログラム | |
CN111656368B (zh) | 硬件加速的离散式神经网络 | |
US20200012924A1 (en) | Pipelining to improve neural network inference accuracy | |
US11386319B2 (en) | Training of artificial neural networks | |
US11373092B2 (en) | Training of artificial neural networks | |
US11188825B2 (en) | Mixed-precision deep-learning with multi-memristive devices | |
US11087204B2 (en) | Resistive processing unit with multiple weight readers | |
CN108009640A (zh) | 基于忆阻器的神经网络的训练装置及其训练方法 | |
CN110852429B (zh) | 一种基于1t1r的卷积神经网络电路及其操作方法 | |
Kim et al. | Zero-shifting technique for deep neural network training on resistive cross-point arrays | |
Nandakumar et al. | Mixed-precision training of deep neural networks using computational memory | |
JP2021193565A (ja) | ニューラルネットワークを具現化する装置及びその動作方法 | |
KR20210143614A (ko) | 뉴럴 네트워크를 구현하는 뉴로모픽 장치 및 그 동작 방법 | |
KR102714239B1 (ko) | 아날로그 크로스바 어레이들을 업데이트하기 위한 희소 수정가능 비트 길이 결정 펄스 생성 | |
US11443171B2 (en) | Pulse generation for updating crossbar arrays | |
Gallo et al. | Mixed-precision training of deep neural networks using computational memory | |
Hasan et al. | A reconfigurable low power high throughput architecture for deep network training | |
CN117610636A (zh) | 一种存内计算存储器人工神经网络的片上训练方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200512 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210323 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220308 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20220419 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20220419 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220502 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20220420 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20220602 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220719 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20220719 |
|
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: 20221109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20221111 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20221111 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221116 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7182835 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |