JP2023530816A - アナログ・アクセラレータのドリフト係数の変動を打ち消すためのドリフト正則化 - Google Patents
アナログ・アクセラレータのドリフト係数の変動を打ち消すためのドリフト正則化 Download PDFInfo
- Publication number
- JP2023530816A JP2023530816A JP2022565948A JP2022565948A JP2023530816A JP 2023530816 A JP2023530816 A JP 2023530816A JP 2022565948 A JP2022565948 A JP 2022565948A JP 2022565948 A JP2022565948 A JP 2022565948A JP 2023530816 A JP2023530816 A JP 2023530816A
- Authority
- JP
- Japan
- Prior art keywords
- loss
- array
- weights
- neural network
- artificial neural
- 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.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 claims abstract description 46
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000012549 training Methods 0.000 claims abstract description 20
- 210000000225 synapse Anatomy 0.000 claims abstract description 10
- 230000002596 correlated effect Effects 0.000 claims abstract description 6
- 210000002569 neuron Anatomy 0.000 claims description 33
- 238000003860 storage Methods 0.000 claims description 21
- 238000009826 distribution Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 7
- 230000000875 corresponding effect Effects 0.000 claims description 7
- 238000003491 array Methods 0.000 claims description 4
- 230000000644 propagated effect Effects 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 claims 2
- 230000006870 function Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 10
- 230000036039 immunity Effects 0.000 description 7
- 210000004205 output neuron Anatomy 0.000 description 7
- 230000001186 cumulative effect Effects 0.000 description 6
- 239000000463 material Substances 0.000 description 6
- 230000015556 catabolic process Effects 0.000 description 5
- 238000006731 degradation reaction Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000000946 synaptic effect Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 210000002364 input neuron Anatomy 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000001994 activation Methods 0.000 description 1
- 239000005387 chalcogenide glass Substances 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 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
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Neurology (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
- Particle Accelerators (AREA)
- Control Of Throttle Valves Provided In The Intake System Or In The Exhaust System (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Feedback Control In General (AREA)
- Semiconductor Memories (AREA)
Abstract
アナログ・ニューラル・ネットワークにおけるドリフト係数の変動を打ち消すために、ドリフト正則化が行われる。様々な実施形態において、人工ニューラル・ネットワークを訓練する方法が示される。複数の重みが、ランダムに初期化される。複数の重みの各々は、人工ニューラル・ネットワークのシナプスに対応する。少なくとも1つの入力のアレイが、人工ニューラル・ネットワークに入力される。少なくとも1つの出力のアレイが、少なくとも1つの入力のアレイおよび複数の重みに基づいて人工ニューラル・ネットワークによって決定される。少なくとも1つの出力のアレイがグラウンド・トゥルース・データと比較されて、第1の損失が決定される。第2の損失が、第1の損失にドリフト正則化を加えることによって決定される。ドリフト正則化は、少なくとも1つの出力のアレイの分散と正の相関がある。複数の重みが、第2の損失に基づいて逆伝播によって更新される。
Description
本開示の実施形態は、アナログ人工ニューラル・ネットワークに関し、より詳細には、ドリフト係数の変動を打ち消すためのドリフト正則化(drift regularization)に関する。
本開示の実施形態によれば、人工ニューラル・ネットワークを訓練するための方法およびコンピュータ・プログラム製品が提供される。様々な実施形態において、人工ニューラル・ネットワークを訓練する方法が示される。複数の重みが、ランダムに初期化される。複数の重みの各々は、人工ニューラル・ネットワークのシナプスに対応する。少なくとも1つの入力のアレイが、人工ニューラル・ネットワークに入力される。少なくとも1つの出力のアレイが、少なくとも1つの入力のアレイおよび複数の重みに基づいて人工ニューラル・ネットワークによって決定される。少なくとも1つの出力のアレイがグラウンド・トゥルース・データと比較されて、第1の損失が決定される。第2の損失が、第1の損失にドリフト正則化を加えることによって決定される。ドリフト正則化は、少なくとも1つの出力のアレイの分散と正の相関がある。複数の重みが、第2の損失に基づいて逆伝播(backpropagation)によって更新される。
次に、本発明の実施形態が、単なる例として、添付図面を参照して説明される。
深層ニューラル・ネットワーク(DNN)のいくつかのアプリケーションは、これらのモデルが、低いエネルギー・バジェットをもつ携帯電話およびエッジ・デバイスなどのリソース制約プラットフォーム上で動作することを要求する。これは、困難である可能性があり、その理由は、最新の分類精度をもつDNNモデルが、高い計算およびメモリ要件を有し、各推論パスが、一般に、数百万の程度の積和演算を必要とするからである。この問題に対処するために、デジタル・アクセラレータを使用することができ、それは、CPUおよびGPUと比較して速度およびエネルギー効率の著しい改善を提供する。デジタル・アクセラレータは、フォン・ノイマン・アーキテクチャに基づくことができ、データは、別個のオフチップ・メモリ(通常、DRAM)に格納され、計算を実行するためにオンチップに転送される。そのような設計の欠点は、データ移動に関連するエネルギーが、多くの場合、最後には支配的な要因になり、それが、達成し得るエネルギー効率を制限することである。
インメモリ計算によるアナログ計算は、DNNのハードウェア・アクセラレーションの代替を提供する。アナログ・アクセラレータは、クロスバー・アレイ構造を活用して、データを格納し、抵抗メモリ・デバイスを使用してアナログ・ドメインで計算を実行する。アクセラレータは、相変化メモリ(PCM)、メモリスタ、または抵抗RAM(RRAM)に基づくことができる。インメモリで計算を実行する能力は、データ移動を著しく減少させ、デジタル設計と比較して、アナログ・アクセラレータが桁違いに良好なエネルギー効率を達成することを可能にする。
PCMデバイスには、成熟したプロセス技術、高い耐久性、および多数の中間コンダクタンス状態をもたらす大きい抵抗コントラストなどのいくつかの利点がある。DNN重みをコンダクタンス値としてエンコードするとき、PCMデバイスの1つまたは複数のペアを使用して、各重みを表すことができる。これにより、正の重みと負の重みの両方の適用範囲が提供され、コンダクタンス・ダイナミック・レンジが改善され、デバイス・ノイズの影響が低減される。PCMデバイスの中間コンダクタンス状態は、カルコゲナイド材料の非晶質相と結晶相との間の体積比を調整することによって達成される。DNN推論は、PCMデバイスのアレイからプログラムされ測定されるアナログ・コンダクタンス値から計算される重みを用いて実行され得る。いくつかの実施態様では、DNN推論のすべての計算は、重みを別個の計算ユニットに移動させる必要なしに、またはアクティベーションをデジタル・ビット表現に変換する必要なしに、アナログ・ドメインにおいてクロスバー・アレイ内で、またはクロスバー・アレイのエッジで実行される。
上述で概説したように、相変化メモリ(PCM)ベースのアナログAIアクセラレータは、インメモリ計算によって提供されるエネルギー効率のためにエッジ適用での推論に有用である。残念なことに、PCMデバイスに固有のノイズ源が、深層ニューラル・ネットワーク(DNN)重み値の不正確さを引き起こす場合があり、それは、モデルの分類精度の低下をもたらす。特に、PCMデバイスは、コンダクタンス・ドリフトと呼ばれる現象を示し、それによって、PCMデバイスのコンダクタンスは、冪乗則に従ってある期間にわたって徐々に減衰する。この現象は、PCM材料の非晶質相の継続的な緩和に関連する。本開示は、訓練アルゴリズムをノイズ対応(noise-aware)にし、それにより、ネットワークを訓練することができ、それにより、コンダクタンス・ドリフトに起因する重み値の破損にもかかわらず高い分類精度を保持することができる方法を提供する。
次に図1を参照すると、深層人工ニューラル・ネットワーク(DNN)の例示的な計算グラフが提供される。
人工ニューラル・ネットワーク(ANN)は、シナプスと呼ばれる接続点を介して相互接続されたいくつかのニューロンからなる分散コンピューティング・システムである。各シナプスは、あるニューロンの出力と別のニューロンの入力との間の接続の強度をエンコードする。各ニューロンの出力は、それに接続された他のニューロンから受け取った総計の入力によって決定される。したがって、所与のニューロンの出力は、先行層からの接続されたニューロンの出力と、シナプス重みによって決定される接続の強度とに基づく。ANNは、特定のクラスの入力が所望の出力を生成するようにシナプスの重みを調節することによって特定の問題(例えば、パターン認識)を解決するように訓練される。
この学習プロセスには様々なアルゴリズムを使用することができる。特定のアルゴリズムが、画像認識、音声認識、または言語処理などの特定のタスクに好適であり得る。訓練アルゴリズムは、学習プロセス中に所与の問題の最適解に向かって収束するシナプスの重みのパターンをもたらす。逆伝播は、教師あり学習のための1つの適切なアルゴリズムであり、既知の正しい出力が、学習プロセス中に利用可能である。そのような学習の目標は、訓練中に利用できなかったデータに一般化するシステムを得ることである。
一般に、逆伝播中、ネットワークの出力は、既知の正しい出力と比較される。誤差値が、出力層のニューロンの各々に対して計算される。誤差値は、各ニューロンに関連する誤差値を決定するために、出力層から開始して、後方に伝播される。誤差値は、各ニューロンのネットワーク出力への寄与に対応する。次いで、誤差値を使用して、重みが更新される。このようにインクリメンタルに補正することによって、ネットワーク出力は、訓練データと一致するように調節される。
様々な誤差メトリック、例えば、交差エントロピー損失、またはユークリッド距離の2乗が、当技術分野で知られていることを認識されよう。同様に、L1(ラッソ回帰)またはL2(リッジ回帰)を含む様々な正則化方法が、当技術分野で知られていることを認識されよう。
逆伝播を適用すると、ANNは、訓練セットの大部分の例で高い精度に迅速に達する。訓練時間の大部分は、このテスト精度をさらに高めようと試みることに費やされる。この間、システムはそれらの例を認識するように既に学習しているので、多数の訓練データ例はほとんど補正をもたらさない。一般に、ANN性能は、データセットのサイズとともに改善する傾向があるが、これは、データセットが大きいほど、ANNが訓練されている異なるクラス間の境界線の例が多く含まれることによって説明することができる。
図2を参照すると、DNNの例示的なハードウェア実施態様が提供される。この例では、重み値が、PCMベースのアナログ・アクセラレータのコンダクタンス(G)としてエンコードされたとき、コンダクタンス・ノイズは、重み値に誤差を引き起こす。
コンダクタンス・ノイズに起因する重み値の変更は、モデルの分類精度に深刻な低下を引き起こす場合がある。例えば、コンダクタンス・ノイズが存在する場合には、CIFAR-10データセットで訓練された3層畳み込みニューラル・ネットワークの精度は、1ケ月で15.6%低下する。精度の低下はドリフト・ノイズの影響に起因して増加し続け、それは重み値の誤差を時間とともに増加させる。分類精度のこの低下は、対処されない場合、デジタル・アクセラレータの代替としてPCMベース・アナログ・アクセラレータを採用することへの主な障害となる。
この精度の低下の理由は、DNNの訓練中に行われた仮定に起因する可能性がある。従来のDNN訓練は、推論中に使用されるDNN重みが、決定論的であり、オリジナルの訓練済みモデルの重みの同一のコピーであると仮定する。量子化ノイズがなければ、この仮定は、通常、デジタル・ハードウェアを使用した推論には有効である。対照的に、訓練済みモデルが、アナログ推論ハードウェアに展開されると、重みは、コンダクタンス・ノイズに起因してランダム変数として振る舞う。重みは、もはやオリジナルの重みの真のコピーではないので、変更されたネットワークが、訓練アルゴリズムから得られたオリジナルのモデルの高い分類精度を保持していると確信することができない。
ノイズに起因する精度の減少は、ノイズが存在する場合の出力ニューロンの相対的強度の変化に起因する可能性がある。本開示は、訓練中のこれらのニューロン値の分散を減少させることによって、ニューロンの相対的強度が保存され、それによって、分類精度の低下を減少させることができることを示す。この目的を達成するために、ドリフト正則化関数を用意して、ニューロン値の分散を減少させ、DNNのノイズ耐性を改善する。
図3を参照すると、本開示の実施形態による例示的なクロスバー・アレイが示される。DNNの重みwijは、コンダクタンスG+-G-としてエンコードされ、入力xは、電圧または電圧パルスとしてエンコードされる。図3Aにおいて、乗算xiwijは、オームの法則I=GVを使用することによって実行され、積を表す電流Iをもたらす。図3Bにおいて、積項の累積Σnxiwijは、キルヒホッフの電流法則を使用して列に沿って電流を加えることによって行われる。
DNNは一連の層からなり、各々はニューロンのセットを含む。層の各ニューロンの値を評価することには、入力ニューロンのセット{xi}と、層に関連する重み{wij}との間の内積をとることと、以下で示されるように非線形関数fを適用して出力ニューロン{yj}を計算することとが含まれる。ReLUを含む様々な関数fが、様々なネットワーク構成において使用されることを認識されよう。
DNN推論のアナログ・アクセラレータは、図3Aに示されるように抵抗要素のクロスバー構造を使用して構築される。訓練されたDNNモデルから得られた重み値(w)は、メモリスティブ・デバイス(memristive device)としても知られるアナログ不揮発性メモリ・デバイスのコンダクタンス値(G)としてエンコードすることができる。重み値をコンダクタンスに変換するために、変換係数が、層内の最大の重みの大きさ(wmax)と最大のコンダクタンス値Gmaxとの比をとることによって定義され、次いで、これを使用して、以下で示されるように、重み値をコンダクタンスに変換する。
重みは正の値と負の値の両方をとることができるので、重みは、デバイスのペアのコンダクタンス値(G+およびG-)の間の差としてエンコードされる。入力ニューロンxiは、電圧としてエンコードされ、クロスバーの行に沿って印加される。オームの法則の原理によって、i番目の行のデバイスは、図3Aに示されるようにxi項とwij項の積に比例する電流を生成する。積項の累積は、キルヒホッフの電流法則を使用して、電流を列に沿って加えることによって実行される。結果は、アレイの最下部に格納され、DNNの次の層の下流処理に送ることができる。
計算とメモリのために別個のユニットを有するCMOSベースのデジタル・アクセラレータとは対照的に、アナログ・アクセラレータは、メモリ上で計算を実行することによってデータ移動の量を減少させる。これは、デジタル・アクセラレータと比較して、著しく高いエネルギー効率(G-Ops/ワット)をもたらす。追加として、多数のクロスバー構造は、相互接続されて、DNNのすべての層をパイプライン式に処理して、速度およびスループットにおいて利点を提供することができる。ReRAM、MRAM、およびFlashのようないくつかのメモリスティブ・デバイスを使用して、クロスバー構造を構築することができる。
相変化メモリ(PCM)デバイスは、主として、加熱要素とともにカルコゲナイド・ガラス材料からなる。電気パルスにより生成された熱を印加することによって、材料の相を、結晶状態と非晶質状態との間で変化させることができる。材料の相に応じて、材料のコンダクタンスが大きく変化し、これを使用して、DNNの重み値をエンコードすることができる。
上記のように、PCMデバイスは、コンダクタンス・ドリフトの現象という欠点があり、それによって、デバイスのコンダクタンス値は、冪乗則に従って時間とともに減衰する。コンダクタンスの減衰は、以下で特徴づけられる。
ここで、G0は、時間t0において得られたコンダクタンス値の初期測定値を表し、G’(t)は、時間tにおけるコンダクタンスの値を表す。時間は、デバイスのプログラミングが完了した瞬間から測定される。νは、ドリフト係数と呼ばれるデバイス固有のパラメータであり、それは、コンダクタンス値が時間とともに減衰する指数関数的速度を記述する。
図4を参照すると、ドリフト係数の例示的なヒストグラムが提供される。ドリフト係数νの分布は、多数のプログラミング・パルスを20000個のPCMデバイスのセットに印加した後のデバイス・コンダクタンスの減衰速度を経時的に測定することによって決定される。実験的に測定された分布は、多数の試行、多数のデバイス、および様々なプログラムされたコンダクタンス値にわって平均化されている。説明を簡単にするために、0.031の平均値および0.007の標準偏差をもつ同じ正規分布が、すべてのコンダクタンス状態においてPCMデバイスに当てはまると仮定される。νは正規分布であり、上述で示されたように指数で現われるので、G’(t)は、対数正規分布に従う。上述の平均および標準偏差は、例示的であり、本明細書に記載の技術を限定しないことを認識されよう。
図5Aを参照すると、時間の関数としての減衰するコンダクタンス値の分布のグラフが提供される。点線は、G’(t)の平均値を表す。コンダクタンス(G)は、ドリフトのために時間(t)とともに減衰し、上述の対数正規分布に従う。図5Bは、適切な換算係数を乗算することによって補正された分布の平均値を示す。
この分布の平均値は、適切な換算係数を使用して、重みに関連する積項を増幅することによって、補正され、オリジナルのコンダクタンスG0に中心を置くことができる。この換算係数は、平均ドリフトとともに時間的に変化するが、所与の時点の任意の推論動作では、それはスカラー定数である。これは、図5Bに示されるように、G0の平均を有するようにG’(t)の対数正規分布を変化させる。しかしながら、依然として、コンダクタンス(重み)値に関連する分布が存在するので、オリジナルの値G0からのコンダクタンスのずれに起因する精度の低下が予想され得る。
ニューロン値の分散を減少させることによって、ニューロンの相対的強度が保存される。この目的を達成するために、ドリフト正則化項を損失関数に含めて、ニューロン値の分散を減少させ、このようにして、DNNのノイズ耐性を改善する。
上述で示されたように、ドリフトのために、重み/コンダクタンス値は、時間とともに減衰する。この減衰の平均値は、適切な補正係数との乗算によって補正することができるが、時間とともに重み値の分散が増加することが、精度を低下させる。ドリフト・ノイズによるDNNの分類精度の低下は、出力ニューロンの相対的強度の変化に起因する可能性があり、それが、誤った予測をもたらす。例えば、バイナリ分類タスクのために訓練されるDNNを考える。xを、ノイズがない場合にクラスAとして正しく分類される入力とする。これは、クラスA(yA)に関連する出力ニューロンが、クラスB(yB)に関連する出力ニューロンよりも高い値を有する、すなわち、yA>yBであることを意味する。しかしながら、コンダクタンス・ノイズがあることにより、ノイズの多い重み値をもつ入力の評価がyA<yBをもたらし、それにより、DNNが入力をクラスBとして誤分類する場合、出力がクラスBに変化する可能性がある。このようにして、重みの値におけるノイズは、出力ニューロンの相対的強度を変化させ、それが、DNNの分類精度の低下をもたらすことがある。そのような並べ替えの可能性は、コンダクタンス・ノイズが存在する場合のニューロンの値の分散を減少させることによって低減することができる。様々な実施形態において、これは、新規の正則化項を加えることによりDNNの訓練中に使用される損失関数を変更することによって達成される。
ドリフト・ノイズが存在する場合のニューロンの値の式は、以下で与えられる。
に関する式は、上述で示されたような一次近似を使用して非線形性fを排除することによって簡易化することができる。この簡易化は、di項の重み付けされた組合せからなることに留意されたい。すべてのdi項は、同じように分布したランダム変数であるので、この式は以下のように簡易化することができる。
y’のStdDevの式は、2つの項、すなわち、上述のようにσdおよび||pi||2を有する。したがって、y’のStdDevは、いずれかの項または両方の項を減少させることによって減少させることができる。第1の項σdはPCMデバイスの特性によって決定され、これを改善することには、PCMデバイスを修正することが含まれることに留意されたい。対照的に、第2の項||pi||2は、ネットワーク・パラメータの関数であり、デバイス特性と完全に無関係である。したがって、ネットワーク・パラメータを操作することによって、||pi||2を減少させ、対応して、ニューロンのStdDevの値
を減少させることができる。この目的を達成するために、正則化関数が用意される。DNNの各ニューロンyjに対して、正則化項Rjは以下のように定義される。
Rj=||pi||2
式9
を減少させることができる。この目的を達成するために、正則化関数が用意される。DNNの各ニューロンyjに対して、正則化項Rjは以下のように定義される。
Rj=||pi||2
式9
したがって、DNNのニューロンがコンダクタンス・ノイズ下でより小さい分散を有するように促すために、損失関数は、以下で示されるような追加のドリフト正則化項を使用して修正することができる。この正則化項の最小化は、コンダクタンス・ノイズが存在する場合にニューロンの相対的強度を保存することによるノイズ耐性の改善につながる。
λは、上述の正則化関数に与えられる重要度を制御する。λはハイパーパラメータとして扱われ、コンダクタンス・ノイズによる精度の低下を最小にする値を決定するためにスイープが実行される。このハイパーパラメータ・スイープからの詳細な結果が以下に提示される。
本明細書の様々な例が、2層ネットワークに関して議論されているが、本開示は、任意のサイズの多層ネットワークに適用可能であることを認識されよう。多層ネットワークによるいくつかの実施形態では、出力層の出力値(y)は、上述の議論に従って考慮される。他の実施形態では、各層の出力が、yとして扱われ、その場合、すべての層からのR2項が加算され、その後、ハイパーパラメータλが乗算される。
図7A~図7Eを参照すると、様々な例示的な実施形態における経時的な精度のグラフが提供される。これらのグラフにおいて、実線は、ノイズなし、すなわち、コンダクタンス・ノイズのない仮想のネットワークを示す。点線は、コンダクタンス・ドリフトの影響下にあるベースライン・ネットワークを示す。破線は、ドリフト正則化を用いて(λの最良値により)訓練されたネットワークを示す。ドリフト正則化により、分類精度/パープレキシティの低下が、ベースライン・ネットワークと比較して小さくなっている。
図示のように、CIFAR-10で訓練されたConv3ネットワークの分類精度は、ベースラインの場合の15.6%の低下と比較して、ドリフト正則化を用いて訓練された場合、1ケ月で11.3%低下する。これらの結果は、ドリフト正則化を介してニューロンの分散を減少させることが、コンダクタンス・ノイズに起因して引き起こされるDNNの分類精度の低下を減少させるのに役立つことができることを示している。
図8A~図8Eを参照すると、異なる値のドリフト正則化パラメータλで訓練されたネットワークについて分類精度/パープレキシティ対時間を示すヒートマップが提供される。λの値を増加させると、時間t=1ケ月における性能が改善される。しかしながら、λを大きくしすぎると、性能が損なわれる。
ドリフト正則化は、正則化項の使用によりコンダクタンス・ドリフト下のニューロン値の分散を減少させることによってノイズ耐性を改善する。λは、訓練中に正則化項の相対的重要性を制御するハイパーパラメータである。この例では、モデルは、ドリフト正則化パラメータλの異なる値で訓練されている。図8のヒートマップは、x軸の時間の関数としてのコンダクタンス・ノイズ下のネットワークの精度/パープレキシティを示す。最下部行は、λ=0によるベースラインの場合を表す。プロットは、y軸におけるλの値を増加させて訓練されたネットワークの精度を示す。より高い値のλで訓練されたネットワークは、時間t=1ケ月において、ベースラインの場合と比較して、より良好な精度/パープレキシティを示しており、それは、ドリフト正則化により、コンダクタンス・ノイズに対するネットワーク耐性が改善することを示している。λの値が高すぎる場合、ヒートマップの最上部行で観察できるように、DNNの性能は低下する。
図9A~図9Dは、正解確率の標準偏差の累積分布のグラフを示す。ドリフト正則化は、ニューロンの標準偏差(σ)を減少させ、それにより、DNNのノイズ耐性が改善される。
ドリフト正則化は、コンダクタンス・ノイズ下でのニューロン値の標準偏差を減少させる。ニューロンの標準偏差へのドリフト正則化の影響を評価するために、DNNの2つのバージョンが考慮され、一方は、ドリフト正則化を用いて訓練され、他方は、ドリフト正則化なしに訓練される。正しいクラスの出力確率の標準偏差が、2つのネットワーク間で比較され、テスト入力ごとに多数のノイズ・サンプルを使用して測定される。例えば、クラスAとラベル付けされたテスト入力xを考える。入力xによるクラスAの出力確率の分布が、ノイズをサンプリングすることによって得られるネットワークの多数のバージョンにわたって発生される。出力確率の標準偏差は、この分布を使用して評価することができる。
出力確率の標準偏差を、データセットのすべてのテスト入力に対して計算して、考慮した2つのネットワークの標準偏差の累積分布を生成することができる。ドリフト正則化ありおよびなしのネットワークの正しい出力確率のCDFを比較した結果が、図9A~図9Dに示される。図示のように、ドリフト正則化ネットワークは、考慮した3つのネットワークにわたって、ベースライン・ネットワークと比較して、出力確率のより低い標準偏差を有する傾向がある。その結果、ドリフト正則化は、ニューロンの標準偏差を低下させ、このようにして、より良好な耐ノイズ性を達成する。
図10A~図10Cを参照すると、異なる値のドリフト正則化パラメータλで訓練されたネットワークについて分類精度/パープレキシティ対時間を示す追加のヒートマップが提供される。図11A~図11Cにおいて、同じ3つのネットワークについて、経時的な精度についての対応するグラフが提供される。
図12を参照すると、人工ニューラル・ネットワークを訓練する方法が示される。1201において、複数の重みが、ランダムに初期化される。複数の重みの各々は、人工ニューラル・ネットワークのシナプスに対応する。1202において、少なくとも1つの入力のアレイが、人工ニューラル・ネットワークに入力される。1203において、少なくとも1つの出力のアレイが、少なくとも1つの入力のアレイおよび複数の重みに基づいて人工ニューラル・ネットワークによって決定される。1204において、少なくとも1つの出力のアレイをグラウンド・トゥルース・データと比較して、第1の損失を決定する。1205において、第2の損失が、第1の損失にドリフト正則化を加えることによって決定される。ドリフト正則化は、少なくとも1つの出力のアレイの分散と正の相関がある。1206において、複数の重みが、第2の損失に基づいて逆伝播によって更新される。
次に、図13を参照すると、コンピューティング・ノードの一例の概略図が示される。コンピューティング・ノード10は、適切なコンピューティング・ノードの単なる1つの例であり、本明細書に記載の実施形態の使用または機能の範囲に関していかなる限定も示唆するように意図されていない。それにもかかわらず、コンピューティング・ノード10は、上述に記載の機能のいずれかを実装する、または実行する、あるいはその両方であり得る。
コンピューティング・ノード10内には、非常に多くの他の汎用または専用コンピューティング・システム環境または構成により動作可能なコンピュータ・システム/サーバ12がある。コンピュータ・システム/サーバ12とともに使用するのに好適であり得るよく知られているコンピューティング・システム、環境、または構成、あるいはその組合せの例には、限定はしないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベース・システム、セット・トップ・ボックス、プログラマブル家庭用電化製品、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上述のシステムまたはデバイスのいずれかを含む分散クラウド・コンピューティング環境などが含まれる。
コンピュータ・システム/サーバ12は、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含むことができる。コンピュータ・システム/サーバ12は、通信ネットワークを介してリンクされるリモート処理デバイスによってタスクが実行される分散クラウド・コンピューティング環境において活動することができる。分散クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカルおよびリモートの両方のコンピュータ・システム・ストレージ媒体に配置することができる。
図13に示されるように、コンピューティング・ノード10内のコンピュータ・システム/サーバ12は、汎用コンピューティング・デバイスの形態で示される。コンピュータ・システム/サーバ12のコンポーネントは、限定はしないが、1つまたは複数のプロセッサまたは処理ユニット16と、システム・メモリ28と、システム・メモリ28を含む様々なシステム・コンポーネントをプロセッサ16に結合させるバス18とを含むことができる。
バス18は、メモリ・バスまたはメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィック・ポート、および様々なバス・アーキテクチャのうちのいずれかを使用するプロセッサまたはローカル・バスを含むいくつかのタイプのバス構造のうちのいずれかの1つまたは複数を表す。例として、限定ではなく、そのようなアーキテクチャには、産業標準アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、エンハンストISA(EISA)バス、ビデオ・エレクトロニクス標準協会(VESA)ローカル・バス、周辺コンポーネント相互接続(PCI)バス、周辺コンポーネント相互接続エクスプレス(PCIe)、およびアドバンスト・マイクロコントローラ・バス・アーキテクチャ(AMBA)が含まれる。
コンピュータ・システム/サーバ12は、一般に、様々なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム/サーバ12によってアクセス可能な任意の利用可能な媒体とすることができ、揮発性および不揮発性媒体、取り外し可能および取り外し不可媒体を含む。
システム・メモリ28は、ランダム・アクセス・メモリ(RAM)30またはキャッシュ・メモリ32あるいはその両方などの揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ12は、他の取り外し可能/取り外し不可、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含むことができる。単なる例として、ストレージ・システム34は、取り外し不可、不揮発性磁気媒体(図示せず、一般に、「ハード・ドライブ」と呼ばれる)から読み出し、それに書き込むために設けることができる。図示されていないが、取り外し可能、不揮発性磁気ディスク(例えば、「フロッピー(R)・ディスク」)から読み出し、それに書き込むための磁気ディスク・ドライブと、CD-ROM、DVD-ROM、または他の光学媒体などの取り外し可能、不揮発性光ディスクから読み出し、またはそれに書き込むための光ディスク・ドライブとが設けられてもよい。そのような場合には、各々は、1つまたは複数のデータ媒体インターフェースによってバス18に接続され得る。以下でさらに図示および説明されるように、メモリ28は、本開示の実施形態の機能を実行するように構成されたプログラム・モジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含むことができる。
プログラム・モジュール42のセット(少なくとも1つ)を有するプログラム/ユーティリティ40は、例として、限定ではなく、メモリ28に、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データと同様に格納することができる。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データの各々、またはそれらの何らかの組合せは、ネットワーキング環境の実施態様を含むことができる。プログラム・モジュール42は、通常、本明細書に記載されるように実施形態の機能または方法あるいはその両方を実行する。
コンピュータ・システム/サーバ12は、さらに、キーボード、ポインティング・デバイス、ディスプレイ24などのような1つまたは複数の外部デバイス14、ユーザがコンピュータ・システム/サーバ12と対話できるようにする1つまたは複数のデバイス、またはコンピュータ・システム/サーバ12が1つまたは複数の他のコンピューティング・デバイスと通信できるようにする任意のデバイス(例えば、ネットワーク・カード、モデムなど)、あるいはその組合せと通信することができる。そのような通信は、入力/出力(I/O)インターフェース22を介して行うことができる。さらに、コンピュータ・システム/サーバ12は、ネットワーク・アダプタ20を介して、ローカル・エリア・ネットワーク(LAN)、汎用ワイド・エリア・ネットワーク(WAN)、またはパブリック・ネットワーク(例えば、インターネット)、あるいはその組合せなどの1つまたは複数のネットワークと通信することができる。図示のように、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム/サーバ12の他のコンポーネントと通信する。図示されていないが、他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方を、コンピュータ・システム/サーバ12とともに使用することができることを理解されたい。例には、限定はしないが、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイバル・ストレージ・システムなどが含まれる。
本開示は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せとして具現化され得る。コンピュータ・プログラム製品は、プロセッサに本開示の態様を実行させるためのコンピュータ可読プログラム命令を有する1つのコンピュータ可読ストレージ媒体(または複数の媒体)を含むことができる。
コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のための命令を保持し格納することができる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、限定はしないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または前述のものの任意の適切な組合せとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、以下のもの、すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、命令が記録されたパンチカードまたは溝内の隆起構造などの機械的にコード化されたデバイス、および前述のものの任意の適切な組合せを含む。本明細書で使用されるようにコンピュータ可読ストレージ媒体は、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を通って伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通して伝送される電気信号などのそれ自体一過性信号であると解釈されるべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、あるいはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワーク、あるいはその組合せを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを含むことができる。各コンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、そのコンピュータ可読プログラム命令をそれぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
本開示の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはSmalltalk(R)、C++などのようなオブジェクト指向プログラミング言語および「C」プログラミング言語または類似のプログラミング言語などの従来の手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードのいずれかとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上でおよび部分的にリモート・コンピュータ上で、または完全にリモート・コンピュータ上もしくはサーバで実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通してユーザのコンピュータに接続されてもよく、または接続が外部コンピュータに対して行われてもよい(例えば、インターネット・サービス・プロバイダを使用してインターネットを通して)。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本開示の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個人専用にすることによってコンピュータ可読プログラム命令を実行することができる。
本開示の態様は、本開示の実施形態による、方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図またはブロック図あるいはその両方を参照して本明細書に記載されている。流れ図またはブロック図あるいはその両方の各ブロック、および流れ図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実現され得ることが理解されるであろう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が流れ図またはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実施するための手段を作り出すように、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて、マシンを生成するものであってよい。これらのコンピュータ可読プログラム命令はまた、命令が格納されたコンピュータ可読ストレージ媒体が流れ図またはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製品を構成するように、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはその組合せに、特定の方法で機能するように指示することができるものであってもよい。
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実施するように、コンピュータ実施プロセスを生成すべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、または他のデバイスで一連の動作ステップを実行させるものであってもよい。
図における流れ図およびブロック図は、本開示の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能、および動作を示す。これに関しては、流れ図またはブロック図の各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能命令を含む命令のモジュール、セグメント、または一部を表すことができる。いくつかの代替実施態様では、ブロックに記された機能は、図に記された順序から外れて行われてもよい。例えば、連続して示された2つのブロックは、実際には、実質的に同時に実行されてもよく、またはブロックは、時には、関連する機能に応じて逆の順序で実行されてもよい。ブロック図または流れ図あるいはその両方の各ブロック、およびブロック図または流れ図あるいはその両方のブロックの組合せは、指定された機能または動作を実行するかあるいは専用ハードウェア命令とコンピュータ命令の組合せを実行する専用ハードウェア・ベース・システムによって実施され得ることにも留意されたい。
本開示の様々な実施形態の説明が例示の目的のために提示されたが、網羅的であること、または開示された実施形態に限定されることを意図するものではない。記載された実施形態の範囲および思想から逸脱することなく、多くの変形および変更が、当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の適用、または市場で見出される技術に対する技術的改善を最もよく説明するために、または他の当業者が本明細書で開示される実施形態を理解できるようにするために選ばれた。
Claims (19)
- 人工ニューラル・ネットワークを訓練する方法であって、
各々が人工ニューラル・ネットワークのシナプスに対応する複数の重みをランダムに初期化することと、
前記人工ニューラル・ネットワークに少なくとも1つの入力のアレイを入力することと、
前記人工ニューラル・ネットワークによって、少なくとも1つの出力のアレイを、前記少なくとも1つの入力のアレイおよび前記複数の重みに基づいて決定することと、
前記少なくとも1つの出力のアレイをグラウンド・トゥルース・データと比較して、第1の損失を決定することと、
前記少なくとも1つの出力のアレイの分散と正の相関があるドリフト正則化を前記第1の損失に加えることによって第2の損失を決定することと、
前記複数の重みを、前記第2の損失に基づいて逆伝播によって更新することと
を含む、方法。 - 前記人工ニューラル・ネットワークが、相変化メモリ要素のクロスバー・アレイを含む、請求項1に記載の方法。
- 前記人工ニューラル・ネットワークが複数の層を含む、請求項1に記載の方法。
- 前記第1の損失が、交差エントロピー損失である、請求項1に記載の方法。
- 前記第1の損失を決定することが正則化を含む、請求項1に記載の方法。
- 目標精度が得られるまで、前記複数の重みを逆伝播によってさらに更新すること
を含む、請求項1に記載の方法。 - システムであって、
相変化メモリ要素のクロスバー・アレイを含む人工ニューラル・ネットワークと、
プログラム命令が具現化されたコンピュータ可読ストレージ媒体を含むコンピューティング・ノードであり、前記プログラム命令が、前記コンピューティング・ノードのプロセッサによって実行可能であり、それによって、前記プロセッサに方法を実行させる、コンピューティング・ノードと
を含み、前記方法が、
各々が前記人工ニューラル・ネットワークのシナプスに対応する複数の重みをランダムに初期化することと、
前記人工ニューラル・ネットワークに少なくとも1つの入力のアレイを入力することと、
前記人工ニューラル・ネットワークから、少なくとも1つの出力のアレイを、前記少なくとも1つの入力のアレイおよび前記複数の重みに基づいて得ることと、
前記少なくとも1つの出力のアレイをグラウンド・トゥルース・データと比較して、第1の損失を決定することと、
前記少なくとも1つの出力のアレイの分散と正の相関があるドリフト正則化を前記第1の損失に加えることによって第2の損失を決定することと、
前記複数の重みを、前記第2の損失に基づいて逆伝播によって更新することと
を含む、システム。 - 前記人工ニューラル・ネットワークが、相変化メモリ要素のクロスバー・アレイを含む、請求項7に記載のシステム。
- 前記人工ニューラル・ネットワークが複数の層を含む、請求項7に記載のシステム。
- 前記第1の損失が、交差エントロピー損失である、請求項7に記載のシステム。
- 前記第1の損失を決定することが正則化を含む、請求項7に記載のシステム。
- 前記方法が、
目標精度が得られるまで、前記複数の重みを逆伝播によってさらに更新すること
をさらに含む、請求項7に記載のシステム。 - 人工ニューラル・ネットワークを訓練するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、プログラム命令が具現化されたコンピュータ可読ストレージ媒体を含み、前記プログラム命令が、プロセッサによって実行可能であり、それによって、前記プロセッサに方法を実行させ、前記方法が、
各々が前記人工ニューラル・ネットワークのシナプスに対応する複数の重みをランダムに初期化することと、
前記人工ニューラル・ネットワークに少なくとも1つの入力のアレイを入力することと、
前記人工ニューラル・ネットワークから、少なくとも1つの出力のアレイを、前記少なくとも1つの入力のアレイおよび前記複数の重みに基づいて得ることと、
前記少なくとも1つの出力のアレイをグラウンド・トゥルース・データと比較して、第1の損失を決定することと、
前記少なくとも1つの出力のアレイの分散と正の相関があるドリフト正則化を前記第1の損失に加えることによって第2の損失を決定することと、
前記複数の重みを、前記第2の損失に基づいて逆伝播によって更新することと
を含む、コンピュータ・プログラム製品。 - 前記人工ニューラル・ネットワークが、相変化メモリ要素のクロスバー・アレイを含む、請求項13に記載のコンピュータ・プログラム製品。
- 前記人工ニューラル・ネットワークが複数の層を含む、請求項13に記載のコンピュータ・プログラム製品。
- 前記第1の損失が、交差エントロピー損失である、請求項13に記載のコンピュータ・プログラム製品。
- 前記第1の損失を決定することが正則化を含む、請求項13に記載のコンピュータ・プログラム製品。
- 前記方法が、
目標精度が得られるまで、前記複数の重みを逆伝播によってさらに更新すること
をさらに含む、請求項13に記載のコンピュータ・プログラム製品。 - 様々な層を含む深層ニューラル・ネットワーク(DNN)で使用するための方法であって、前記層の各々が、複数のシナプスおよびニューロンを有し、前記シナプスが、接続されたニューロンのそれぞれのペアに関連するそれぞれの重みに関連づけられ、前記方法が、
(a)前記重みをランダムに初期化するステップと、
(b)前記層のうちの第1の層に少なくとも1つの入力信号のアレイを入力するステップであり、前記信号が、分析されるべきデータに対応し、前記重みが、前記DNNを通る前記信号の順方向伝播を計算するために使用される、前記入力するステップと、
(c)信号の前記アレイが前記DNNを通って伝播した後、前記DNNからの出力をグラウンド・トゥルース・ラベルと比較して、初期損失を計算するステップと、
(d)追加の損失項を前記初期損失に加え、それによって、全損失を形成するステップであり、その結果、異なる入力信号アレイに対する出力分布の変動が前記全損失を増加させる、前記形成するステップと、
(e)前記全損失を考慮して出力誤差を計算するステップと、
(f)前記DNNを通して逆伝播させて、層ごとに、対応する誤差信号を得るステップであり、前記重みが、前記誤差信号を計算するために使用される、前記得るステップと、
(g)前記誤差信号と入力信号の前記アレイとの間の外積を計算して、重み更新マトリクスを作り出し、次いで、前記重み更新マトリクスを前記重みに加えて、更新された重みを形成するステップと、
(h)満足なレベルの精度が得られるまで、(g)において計算された前記更新された重みを使用してステップ(b)~ステップ(g)を繰り返すステップと
を含む、方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/905,241 US11514326B2 (en) | 2020-06-18 | 2020-06-18 | Drift regularization to counteract variation in drift coefficients for analog accelerators |
US16/905,241 | 2020-06-18 | ||
PCT/IB2021/054901 WO2021255569A1 (en) | 2020-06-18 | 2021-06-04 | Drift regularization to counteract variation in drift coefficients for analog accelerators |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023530816A true JP2023530816A (ja) | 2023-07-20 |
Family
ID=79023694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022565948A Pending JP2023530816A (ja) | 2020-06-18 | 2021-06-04 | アナログ・アクセラレータのドリフト係数の変動を打ち消すためのドリフト正則化 |
Country Status (10)
Country | Link |
---|---|
US (1) | US11514326B2 (ja) |
JP (1) | JP2023530816A (ja) |
KR (1) | KR20230019094A (ja) |
CN (1) | CN115699031A (ja) |
AU (1) | AU2021291671B2 (ja) |
CA (1) | CA3176177A1 (ja) |
DE (1) | DE112021001968T5 (ja) |
GB (1) | GB2611681A (ja) |
IL (1) | IL297848A (ja) |
WO (1) | WO2021255569A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220044102A1 (en) * | 2020-08-06 | 2022-02-10 | Micron Technology, Inc. | Fault tolerant artificial neural network computation in deep learning accelerator having integrated random access memory |
US11782642B2 (en) * | 2021-06-14 | 2023-10-10 | Western Digital Technologies, Inc. | Systems and methods of determining degradation in analog compute-in-memory (ACIM) modules |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9299674B2 (en) * | 2012-04-18 | 2016-03-29 | Taiwan Semiconductor Manufacturing Company, Ltd. | Bump-on-trace interconnect |
DE102012009502A1 (de) * | 2012-05-14 | 2013-11-14 | Kisters Ag | Verfahren zum Trainieren eines künstlichen neuronalen Netzes |
US9753959B2 (en) * | 2013-10-16 | 2017-09-05 | University Of Tennessee Research Foundation | Method and apparatus for constructing a neuroscience-inspired artificial neural network with visualization of neural pathways |
US9619749B2 (en) * | 2014-03-06 | 2017-04-11 | Progress, Inc. | Neural network and method of neural network training |
US20160358075A1 (en) * | 2015-06-08 | 2016-12-08 | The Regents Of The University Of Michigan | System for implementing a sparse coding algorithm |
US10372968B2 (en) | 2016-01-22 | 2019-08-06 | Qualcomm Incorporated | Object-focused active three-dimensional reconstruction |
CN112957074A (zh) * | 2016-03-09 | 2021-06-15 | 安科诺思公司 | 利用人工智能网络的超声图像识别系统和方法 |
US10831444B2 (en) * | 2016-04-04 | 2020-11-10 | Technion Research & Development Foundation Limited | Quantized neural network training and inference |
CA2990709C (en) | 2016-05-26 | 2018-09-04 | The Governing Council Of The University Of Toronto | Accelerator for deep neural networks |
US11556794B2 (en) * | 2017-08-31 | 2023-01-17 | International Business Machines Corporation | Facilitating neural networks |
US10366322B2 (en) * | 2017-10-06 | 2019-07-30 | DeepCube LTD. | System and method for compact and efficient sparse neural networks |
CA3078530A1 (en) * | 2017-10-26 | 2019-05-02 | Magic Leap, Inc. | Gradient normalization systems and methods for adaptive loss balancing in deep multitask networks |
CN108053029B (zh) * | 2017-12-27 | 2021-08-27 | 上海闪易半导体有限公司 | 一种基于存储阵列的神经网络的训练方法 |
CN108763360A (zh) * | 2018-05-16 | 2018-11-06 | 北京旋极信息技术股份有限公司 | 一种分类方法及装置、计算机可读存储介质 |
US20190354865A1 (en) * | 2018-05-18 | 2019-11-21 | Qualcomm Incorporated | Variance propagation for quantization |
CN109902798A (zh) * | 2018-05-31 | 2019-06-18 | 华为技术有限公司 | 深度神经网络的训练方法和装置 |
EP3591584B1 (en) * | 2018-07-03 | 2024-02-07 | Robert Bosch GmbH | Probabilistic training for binary neural networks |
CN109460817B (zh) * | 2018-09-11 | 2021-08-03 | 华中科技大学 | 一种基于非易失存储器的卷积神经网络片上学习系统 |
US11061646B2 (en) * | 2018-09-28 | 2021-07-13 | Intel Corporation | Compute in memory circuits with multi-Vdd arrays and/or analog multipliers |
KR20200036352A (ko) * | 2018-09-28 | 2020-04-07 | 삼성전자주식회사 | 신경망의 동작 방법과 학습 방법 및 그 신경망 |
US11373092B2 (en) * | 2019-04-10 | 2022-06-28 | International Business Machines Corporation | Training of artificial neural networks |
CN111191769B (zh) * | 2019-12-25 | 2024-03-05 | 中国科学院苏州纳米技术与纳米仿生研究所 | 自适应的神经网络训练与推理装置 |
US11636322B2 (en) * | 2020-01-03 | 2023-04-25 | Silicon Storage Technology, Inc. | Precise data tuning method and apparatus for analog neural memory in an artificial neural network |
US20210406661A1 (en) * | 2020-06-25 | 2021-12-30 | PolyN Technology Limited | Analog Hardware Realization of Neural Networks |
EP4002219A1 (en) * | 2020-11-12 | 2022-05-25 | Commissariat à l'Energie Atomique et aux Energies Alternatives | Circuit and method for spike time dependent plasticity |
-
2020
- 2020-06-18 US US16/905,241 patent/US11514326B2/en active Active
-
2021
- 2021-06-04 AU AU2021291671A patent/AU2021291671B2/en active Active
- 2021-06-04 JP JP2022565948A patent/JP2023530816A/ja active Pending
- 2021-06-04 GB GB2300376.7A patent/GB2611681A/en active Pending
- 2021-06-04 KR KR1020227040977A patent/KR20230019094A/ko not_active Application Discontinuation
- 2021-06-04 WO PCT/IB2021/054901 patent/WO2021255569A1/en active Application Filing
- 2021-06-04 CA CA3176177A patent/CA3176177A1/en active Pending
- 2021-06-04 DE DE112021001968.6T patent/DE112021001968T5/de active Pending
- 2021-06-04 CN CN202180039058.5A patent/CN115699031A/zh active Pending
- 2021-06-04 IL IL297848A patent/IL297848A/en unknown
Also Published As
Publication number | Publication date |
---|---|
US20210397967A1 (en) | 2021-12-23 |
KR20230019094A (ko) | 2023-02-07 |
DE112021001968T5 (de) | 2023-01-19 |
CN115699031A (zh) | 2023-02-03 |
CA3176177A1 (en) | 2021-12-23 |
IL297848A (en) | 2023-01-01 |
US11514326B2 (en) | 2022-11-29 |
GB2611681A (en) | 2023-04-12 |
WO2021255569A1 (en) | 2021-12-23 |
AU2021291671B2 (en) | 2023-04-27 |
AU2021291671A1 (en) | 2022-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11373092B2 (en) | Training of artificial neural networks | |
US10956815B2 (en) | Killing asymmetric resistive processing units for neural network training | |
US9646243B1 (en) | Convolutional neural networks using resistive processing unit array | |
JP7427030B2 (ja) | 人工ニューラル・ネットワークのトレーニング方法、装置、プログラム | |
CN110428042B (zh) | 往复地缩放神经元的连接权重和输入值来挫败硬件限制 | |
US11386319B2 (en) | Training of artificial neural networks | |
US11188825B2 (en) | Mixed-precision deep-learning with multi-memristive devices | |
JP2023530816A (ja) | アナログ・アクセラレータのドリフト係数の変動を打ち消すためのドリフト正則化 | |
US11556770B2 (en) | Auto weight scaling for RPUs | |
US20230097217A1 (en) | Learning static bound management parameters for analog resistive processing unit system | |
US20220366230A1 (en) | Markov processes using analog crossbar arrays | |
US20220101142A1 (en) | Neural network accelerators resilient to conductance drift | |
US11977982B2 (en) | Training of oscillatory neural networks | |
Wang et al. | A Weight importance analysis technique for area-and power-efficient binary weight neural network processor design | |
WO2024083180A9 (en) | Dnn training algorithm with dynamically computed zero-reference. | |
Dong et al. | SITU: Stochastic input encoding and weight update thresholding for efficient memristive neural network in-situ training | |
JP2023526740A (ja) | メモリ拡張ニューラル・ネットワークにおける計算のためのクロスバー・アレイ | |
JP2022074056A (ja) | 記憶デバイス、集積回路、コンピュータ実施方法、コンピュータ・システムおよびコンピュータ・プログラム(メモリ素子をプログラミングするための初期化関数を設計するための方法) | |
CN111950734A (zh) | 通过更改神经网络参数来精确汇总 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221228 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231114 |