JP6995131B2 - 抵抗型処理ユニットアレイ、抵抗型処理ユニットアレイを形成する方法およびヒステリシス動作のための方法 - Google Patents

抵抗型処理ユニットアレイ、抵抗型処理ユニットアレイを形成する方法およびヒステリシス動作のための方法 Download PDF

Info

Publication number
JP6995131B2
JP6995131B2 JP2019546199A JP2019546199A JP6995131B2 JP 6995131 B2 JP6995131 B2 JP 6995131B2 JP 2019546199 A JP2019546199 A JP 2019546199A JP 2019546199 A JP2019546199 A JP 2019546199A JP 6995131 B2 JP6995131 B2 JP 6995131B2
Authority
JP
Japan
Prior art keywords
rpu
hysteresis
conductance state
pulse
conductance
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
Application number
JP2019546199A
Other languages
English (en)
Other versions
JP2020514886A (ja
Inventor
ゴクメン、タイフン
トロンプ、ルドルフ、マリア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2020514886A publication Critical patent/JP2020514886A/ja
Application granted granted Critical
Publication of JP6995131B2 publication Critical patent/JP6995131B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Semiconductor Memories (AREA)
  • Feedback Control In General (AREA)
  • Image Analysis (AREA)

Description

本発明の発明者または共同発明者による先行技術の開示に関する記述
以下の開示は、米国特許法102(b)(1)(A)の下に提出されたものである。
開示:"Acceleration of Deep Neural Network Training with Resistive Cross-Point Devices: Design Considerations" by Tayfun Gokmen and Yurii Vlasov, published July 21,2016 in Front. Neurosci. 10:333, pages 1-13。この開示は参照によって本明細書に組み込まれている。
本発明は一般に計算システムに関し、より詳細には、ニューラル・ネットワーク訓練のためのヒステリシス更新(hysteretic update)を含む抵抗型処理ユニット(resistive processing unit:RPU)デバイスに関する。
「機械学習」は、データから学習する電子システムの主たる機能を大まかに記述するために使用されている。機械学習および認知科学において、人工ニューラル・ネットワーク(artificial neural network:ANN)または深層ニューラル・ネットワーク(deep neural network:DNN)は、動物の生物学的ニューラル・ネットワーク、特に脳から発想を得た統計的学習モデルの一群である。ANNを使用して、多数の入力に依存する全体に未知のシステムおよび機能を推定または近似することができる。ANNは、2端子RPUのクロスバー・アレイから形成される。クロスバー・アレイは、ANNアーキテクチャ、ニューロモーフィック(neuromorphic)マイクロチップおよび超高密度不揮発性メモリを含むさまざまな電子回路およびデバイスを形成するために使用される高密度、低コストの回路アーキテクチャである。基本的なクロスバー・アレイ構成は、一組の導電性行ワイヤと、この一組の導電性行ワイヤと交差するように形成された一組の導電性列ワイヤとを含む。これらの2組のワイヤ間の交差部は、薄膜材料から形成することができるいわゆるクロスポイント・デバイスによって分離されている。
"Acceleration of Deep Neural Network Training with Resistive Cross-Point Devices: Design Considerations" by Tayfun Gokmen and Yurii Vlasov, published July 21,2016 in Front. Neurosci. 10:333, pages 1-13 "Learning representations byback-propagating errors" in Nature 323, 533-536, by Rumelhart,D. E., Hinton, G. E., and Williams, R. J. (1986) Jensen et al., 2013
抵抗型処理ユニット(RPU)アレイ、抵抗型処理ユニット(RPU)アレイを形成する方法およびヒステリシス動作のための方法を提供する。
1つまたは複数の実施形態によれば、抵抗型処理ユニット(RPU)アレイが提供される。このRPUアレイは、一組の導電性行ワイヤと、一組の導電性列ワイヤであり、一組の導電性行ワイヤと一組の導電性列ワイヤとの間の交差部に複数のクロスポイントを形成するように構成された、一組の導電性列ワイヤとを含む。複数の2端子RPUは、ヒステリシスによって定義されたコンダクタンス状態を各々が有する複数のヒステリシス2端子RPUである。複数のクロスポイントの各々に、複数の2端子RPUのうちの2端子RPUが位置する。
1つまたは複数の実施形態によれば、抵抗型処理ユニット(RPU)アレイを形成する方法が提供される。この方法は、一組の導電性行ワイヤを提供すること、および一組の導電性列ワイヤであり、一組の導電性行ワイヤと一組の導電性列ワイヤとの間の交差部に複数のクロスポイントを形成するように構成された、一組の導電性列ワイヤを提供することを含む。この方法は、ヒステリシスによって定義されたコンダクタンス状態を各々が有する複数のヒステリシス2端子RPUである複数の2端子RPUを提供することを含む。複数のクロスポイントの各々に、複数の2端子RPUのうちの2端子RPUが位置する。
1つまたは複数の実施形態によれば、ヒステリシス動作のための方法が提供される。この方法は、少なくとも1つのヒステリシス抵抗型処理ユニット(RPU)によって更新パルスが受け取られるようにすること、および前記少なくとも1つのヒステリシスRPUが、更新パルスに応答して、コンダクタンス状態の変化を有するようにすることを含む。コンダクタンス状態の変化は、所定の量の更新パルスの遅延を有する。
次に、添付図面を参照して本発明の実施形態を単なる例として説明する。
各クロスポイントにおいて実行される式(1)の本来の重み更新規則の略図である。 1つまたは複数の実施形態による、各クロスポイントにおいて単純な「AND」演算を使用する式(2)の確率的更新規則の略図である。 1つまたは複数の実施形態による、上昇コンダクタンス変化に対するRPUデバイスによる確率的更新規則の実装を可能にするパルシング・スキームを示す図である。 1つまたは複数の実施形態による、下降コンダクタンス変化に対するRPUデバイスによる確率的更新規則の実装を可能にするパルシング・スキームを示す図である。 1つまたは複数の実施形態による、式(2)に対する試験誤差のグラフである。 1つまたは複数の実施形態による、式(2)に対する試験誤差のグラフである。 1つまたは複数の実施形態による、RPUデバイスのさまざまな非線形応答を示す図である。 1つまたは複数の実施形態による、試験誤差のグラフである。 1つまたは複数の実施形態による、試験誤差のグラフである。 1つまたは複数の実施形態による、試験誤差のグラフである。 1つまたは複数の実施形態による、試験誤差のグラフである。 1つまたは複数の実施形態による、試験誤差のグラフである。 1つまたは複数の実施形態による、試験誤差のグラフである。 1つまたは複数の実施形態による、試験誤差のグラフである。 1つまたは複数の実施形態による、試験誤差のグラフである。 1つまたは複数の実施形態による、試験誤差のグラフである。 1つまたは複数の実施形態による、図10~16のストレス試験のレーダ図である。 1つまたは複数の実施形態による、2つ以上のパラメータの効果が組み合わされたときの訓練結果を示す図である。 1つまたは複数の実施形態による、順方向(または逆方向)サイクル中の単一の列(または行)の動作を示す略図である。 1つまたは複数の実施形態による、図18のモデル3のネットワークに対する試験誤差のグラフである。 1つまたは複数の実施形態による、加速器RPUチップのアーキテクチャの略図である。 1つまたは複数の実施形態による、RPUデバイス上のさまざまなオン/オフ比に対する許容可能なノイズ・レベルのグラフである。 1つまたは複数の実施形態による、さまざまなRPUシステム設計と現状技術との比較の概要を示す表である。 1つまたは複数の実施形態による、RPUデバイス仕様の概要を示す表である。 1つまたは複数の実施形態による、ヒステリシスを有しない不均衡(imbalanced)RPUデバイスのコンダクタンス変化に対してヒステリシスを有する不均衡RPUデバイスのコンダクタンス変化を示す図である。 1つまたは複数の実施形態による、ヒステリシス量と更新パルスの数との間の関係を示すヒステリシス・モデルを示す図である。 1つまたは複数の実施形態による、異なる程度のヒステリシスを用いた訓練結果を示す試験誤差のグラフである。 1つまたは複数の実施形態による、異なる程度のヒステリシスを用いた訓練結果を示す試験誤差のグラフである。 1つまたは複数の実施形態による、ヒステリシスのパルス数を示す試験誤差のグラフである。 1つまたは複数の実施形態による、ヒステリシスが不均衡係数(imbalance factor)を再正規化することを示すグラフである。 1つまたは複数のデバイスによる、抵抗型処理ユニット・アレイを形成する方法のフロー・チャートである。 1つまたは複数の実施形態による、ヒステリシス動作のための方法のフロー・チャートである。 1つまたは複数の実施形態による、例示的なRPUアレイを示す図である。
ANNまたは深層ニューラル・ネットワーク(DNN)はしばしば、模擬「ニューロン」として機能し、電子信号の形態の「メッセージ」を相互に交換する、相互接続されたプロセッサ要素のいわゆる「ニューロモーフィック」システムとして実施される。生物学的ニューロン間でメッセージを運ぶシナプス神経伝達物質接続のいわゆる「可塑性(plasticity)」と同様に、模擬ニューロン間で電子的メッセージを運ぶANN内の接続には、所与の接続の強さまたは弱さに対応する数値重みが与えられる。それらの重みは、経験に基づいて調整および調節することができ、このことは、ANNを、入力に対して適応可能とし、学習が可能なものとする。例えば、手書き文字認識用のANNは、入力画像の画素によって活性化され得る一組の入力ニューロンによって定められる。ネットワークの設計者によって決定された関数によって重み付けおよび変換がなされた後、これらの入力ニューロンの活性化は、しばしば「隠れ」ニューロンと呼ばれる他の下流ニューロンに渡される。このプロセスが、出力ニューロンが活性化されるまで繰り返される。活性化された出力ニューロンは、どの文字が読み取られたのかを決定する。
クロスポイント・アレイまたはクロスワイヤ・アレイとしても知られるクロスバー・アレイは、ANNアーキテクチャ、ニューロモーフィック・マイクロチップおよび超高密度不揮発性メモリを含むさまざまな電子回路およびデバイスを形成するために使用される高密度、低コストの回路アーキテクチャである。基本的なクロスバー・アレイ構成は、一組の導電性行ワイヤと、この一組の導電性行ワイヤと交差するように形成された一組の導電性列ワイヤとを含む。これらの2組のワイヤ間の交差部は、薄膜材料から形成することができるいわゆるクロスポイント・デバイスによって分離されている。
クロスポイント・デバイスは、事実上、ANNのニューロン間の重み付き接続として機能する。高いエネルギー効率を有するシナプス可塑性をエミュレートするために、ナノスケールの2端子デバイス、例えば「理想的な」コンダクタンス状態切り換え特性を有するメモリスタ(memristor)がしばしば、クロスポイント・デバイスとして使用される。理想的なメモリスタ材料のコンダクタンス状態(例えば抵抗の逆数)は、行および列ワイヤの個々のワイヤ間に印加される電圧を制御することによって変更することができる。高導通状態または低導通状態を達成する、交差部におけるメモリスタ材料のコンダクタンス状態の変更によって、ディジタル・データを格納することができる。メモリスタ材料のコンダクタンス状態を選択的に設定することによって、メモリスタ材料を、2つ以上の相異なるコンダクタンス状態を維持するようにプログラムすることもできる。材料の両端に電圧を印加し、標的クロスポイント・デバイスを流れる電流を測定することによって、メモリスタ材料のコンダクタンス状態を読み出すことができる。
電力消費を制限するため、ANNチップ・アーキテクチャのクロスポイント・デバイスはしばしば、オフライン学習技法を利用するように設計され、この場合、最初の訓練段階が解決された後、標的関数の近似は変化しない。オフライン学習は、クロスバー型ANNアーキテクチャのクロスポイント・デバイスを、非常に少ない電力しか消費しないように単純化することを可能にする。
電力消費をより少なくする潜在性があるにもかかわらず、典型的には、訓練データに対して入力-出力対を整合させるため、訓練中にANNモデル内の調整可能なかなりの数のパラメータ(例えば重み)を変更する必要があるために、オフライン訓練の実行は、困難かつリソース集約的なものとなり得る。したがって、電力節約型のオフライン学習技法を優先するためにANNアーキテクチャのクロスポイント・デバイスを単純化することは、典型的には、訓練速度および訓練効率が最適化されないことを意味する。
本発明の1つまたは複数の実施形態は、深層ニューラル・ネットワーク訓練に使用される抵抗型デバイスのアレイを提供する。深層ニューラル・ネットワーク訓練の例を論じることがあるが、実施形態は、本明細書で議論されるタイプの例だけに限定されないことを理解すべきである。抵抗型デバイスは、抵抗型処理ユニット(RPU)、クロスポイント・デバイスなどと呼ばれ、1つまたは複数の実施形態は、RPUデバイスをどのように利用すれば、完全に接続された層、畳み込み層などからなる深層ニューラル・ネットワークを訓練することができるのかを記述する。異なる不完全性を有するさまざまなDNN訓練をRPUデバイス上で実行することを、必要なRPUデバイス仕様から導き出すことができる。全てのデバイス仕様の中で、上昇変化および下降変化に応答した非対称性は、例えばRPUデバイス上で非対称性が最大5~6%でしかないなど、最も小さな許容差(tolerance)を有する。1つまたは複数の実施形態において、実験者は、ヒステリシス更新をRPUに導入することによって許容差をどのように増大させるのかを例示する。ヒステリシスはRPUデバイスに意図的に組み込まれ、ヒステリシスRPUデバイスはDNN訓練に使用される。これは、ヒステリシスが有害ではないためである(しかしながら、この手法が、現状技術のRPUデバイスに対して反直観的(counterintuitive)であることがある)。
RPUデバイスにおける非対称性は、RPUデバイスのコンダクタンスの上昇変化および下降変化の不均衡を生じさせる。実施形態は、RPUデバイスにおける非対称性の問題に対処し、したがって不均衡を改善するように構成される。不均衡に対する許容差を大幅に増大させることができるように、実施形態は、RPUデバイスにヒステリシス更新を導入する。より詳細には、実施形態は、その切り換え挙動の中にヒステリシスを有するRPUデバイスを用いてニューラル・ネットワーク訓練を実行する(この切り換え挙動は、更新に応答したコンダクタンスの上昇および下降切り換え挙動である)。ヒステリシスは有害ではないため、たとえヒステリシスRPUデバイスが均衡している場合であっても(すなわち、そのコンダクタンスの上昇および下降変化が均衡を保っている場合であっても)、そのヒステリシスRPUデバイスを利用することができる。
ヒステリシスを有するRPUデバイスをどのように利用すれば、RPUデバイスのコンダクタンスの上昇および下降変化を改善することができるのかを例示するため、図25は、1つまたは複数の実施形態によるヒステリシス・モデルを示す。図25のヒステリシス・モデルは、(図1~24および26~33に示されているものなど)本明細書で論じられているどのRPUデバイスにも当てはまることを理解すべきである。このヒステリシス・モデルは、コンダクタンス値の上昇および下降変化に不均衡があるような非対称性を有するRPUデバイスに対するものだが、このヒステリシス・モデルは、(非対称性を有しない)均衡したRPUデバイスにも当てはまり得ることを理解すべきである。図25のグラフ805は、ヒステリシスを有しない不均衡RPUデバイスの時間の経過に伴うコンダクタンス値を示し、またはより具体的には、そのようなデバイスのコンダクタンス値の変化を示す。グラフ815は、ヒステリシスを有する不均衡RPUデバイスの時間の経過に伴うコンダクタンス値(より具体的にはコンダクタンス値の変化)を示す。グラフ810は、ヒステリシスを有しないRPUデバイスおよびヒステリシスを有するRPUデバイスに入力された更新(例えばバックプロパゲーション(backpropagation)アルゴリズムによる更新重みサイクル・パルス)を示す。
グラフ805と810の両方のグラフから分かるように、グラフ805の入力更新パルスの符号(+または-)の変化は、グラフ805および810においてコンダクタンス値の方向変化を引き起こす。更新パルスの正符号(+)は、コンダクタンス値の増大を引き起こし、これが、両方のグラフ805および815のコンダクタンス曲線の正の勾配(すなわち上向きの勾配)として示されている。更新パルスの負符号(-)は、コンダクタンス値の低下を引き起こし、これが、両方のグラフ805および815のコンダクタンス曲線の負の勾配(すなわち下向きの勾配)として示されている。しかしながら、グラフ815に示されたヒステリシスRPUデバイスは、コンダクタンス値の増大(すなわち正の勾配)からコンダクタンス値の低下(負の勾配)への切り換えおよびコンダクタンス値の低下からコンダクタンス値の増大への切り換えの遅延を有する。RPUデバイスのこの非対称性は補正するのが難しいことが認識される。しかしながら、(切り換えの遅延を引き起こす)ヒステリシスは、非対称性に起因する不均衡に対するRPUデバイスの許容差を改善する。
ニューラル・ネットワーク訓練中に各RPUデバイスは多くの更新を得る。デバイスが、(+)方向および(-)方向に沿ってランダムな更新を得るとき、均衡RPUデバイスでは、これらのランダムの更新が正味の重み変化を相殺し、正味の重み変化を引き起こさない。しかしながら、非対称RPUデバイスでは、これらのランダムな更新がドリフト成分を生じさせ、非対称性方向に沿って重みを移動させる傾向がある。非対称性に起因するこの望まれていないドリフト成分は、実施形態において論じられるように、ヒステリシス・デバイスによって軽減される。実施形態によれば、ヒステリシスは、非常にランダムな上昇および下降重み更新をフィルタにかけ、したがって非対称性の短所を効果的に低減させる。
図26は、1つまたは複数の実施形態による、ヒステリシス量と更新パルスの数との間の関係を示すヒステリシス・モデルを示す。図26には、一例として、ヒステリシスを有する不均衡RPUデバイスのグラフ815が示されている。ヒステリシス量hは、コンダクタンスの平坦な勾配またはゼロ勾配として識別され、ヒステリシスは、上昇および下降コンダクタンス値の変化/切り換えで生じる。ヒステリシス量hは、方向を変化させる(すなわちコンダクタンス値を上昇から下降へまたは下降から上昇へ変化させる)のに必要なパルスの数である。ヒステリシス量hは設定/設計することができる。一実施形態では、ヒステリシス量hを2更新パルス、10更新パルス、100更新パルスなどに設定することができる。
さらに、コンダクタンスの(-)変化と(+)変化に対するヒステリシス量は等しい。すなわち、RPUデバイス内でのヒステリシスのそれぞれの発生に対して、ヒステリシスの時間間隔は同じである。Δgは、xおよびδにおいて印加された電圧シーケンスに応答したRPUのコンダクタンス値の変化であることに留意されたい。したがって、Δgは、電圧パルス(すなわち更新パルス)に対するRPUの応答である。異なるRPUデバイスは、例えば製造の違いに起因する、正パルスに起因するコンダクタンス値の異なる変化量(Δg min)、および負パルスに起因するコンダクタンス値の異なる変化量(Δg min)を示し得る。さらに、正および負のパルシング・スキームによってどれくらいの重み変化Δwが得られるのかの平均が存在する。異なるΔw minおよびΔw minを有するRPUアレイ中の非対称RPUデバイスは、DNN訓練に悪影響を与える。
以下に、抵抗型クロスポイント・デバイス(すなわちRPUデバイス)を用いた(例えばDNN訓練などの)訓練に関するさらなる議論を提供する。理解および説明を容易にするため副見出しが利用される。
先行技術の洗練された音声および物体認識法を凌ぐ性能によって、DNNは大きな成功を示した。しかしながら、DNNの訓練は、大量の計算リソースおよび莫大な訓練時間を必要とする極めて計算集約的なタスクであり、このことが、DNNのさらなる応用を妨げている。例えば、1000台のマシンを含むクラスタ上で3日間訓練された10億個の接続を有するDNNでは、70%の相対的向上が示された。
DNNの訓練は一般に、本質的に局所的で並列なバックプロパゲーション・アルゴリズムに依存する。バックプロパゲーション・アルゴリズムのさらなる詳細については、参照により本明細書に組み込まれる"Learning representations by back-propagating errors" inNature 323, 533-536, by Rumelhart, D. E., Hinton, G.E., and Williams, R. J. (1986)を参照することができる。この局所性および並列性を利用している、DNN訓練を加速するためのさまざまハードウェア手法が探査され、GPU、FPGAまたは特別に設計されたASICを用いる現在の発展につながる異なるレベルの成功を納めた。アルゴリズムの局所性および並列性を完全に利用することによってさらなる加速が可能である。N個のニューロンをN個のニューロンにマップする完全に接続されたDNN層に関しては、局所格納および同じノード上での重み値の処理を使用してデータ移動を最小化し、ノードを一緒に接続して、DNN全体が調和し得る大規模なN×Nシストリック(systolic)アレイとすることにより、大幅な加速を達成することができる。したがって、O(N)の通常の時間複雑性(time complexity)の代わりに、この問題を、アレイ・サイズから独立した一定の時間O(1)に低減させることができる。しかしながら、対処可能な問題のサイズは、アレイ内のノードの数に限定され、この数を10億までスケールアップすることは、たとえ最も進歩したCMOS技術をもってしても困難である。最近、生物学的系において観察されるスパイク・タイミング依存可塑性(spike-timing-dependent plasticity:STDP)から発想を得た学習規則を有するニューラル・ネットワークを実装するために、相変化メモリ(phase change memory:PCM)および抵抗型ランダム・アクセス・メモリ(resistive random access memory:RRAM)などの不揮発性メモリ(non-volatile memory:NVM)技術に基づく新規のナノ電子デバイスの概念が探査された。より最近になって、バックプロパゲーション・アルゴリズムを使用したDNN訓練を加速させるためにそれらを実装することが検討され、27×から900×の範囲の加速係数(acceleration factor)、さらには2140×の加速係数、ならびに電力および面積の大幅な低減が報告された。以前に開発されたメモリ技術を使用するこれらのボトムアップ手法は全て、非常に有望であるように思われる。しかしながら、推定される加速係数は、NVMセルとしてのそれらの用途に固有のデバイス仕様によって制限される。メモリ用途に対して有益であるかまたは無関係であると通常は考えられる、高いオン/オフ比、ディジタル・ビットごとの格納および非対称なセット/リセット動作などのデバイス特性が、DNN訓練の加速に対する限界となっている。周辺回路および全体システムを適切に設計することによって、これらの非理想的なデバイス特性を潜在的に補償することができるが、それも部分的でしかなく、その対価として演算時間が大幅に増大する。
対照的に、実験者は、1つまたは複数の実施形態によるトップダウン型の手法を提供する。この手法では、抵抗型デバイスに対して特定の要件を課すシステムおよびCMOS回路の設計によって、DNN訓練の極限の加速(ultimate acceleration)が達成される。実験者は、重みを同時に格納および処理することができ、ファウンドリCMOS技術によって10億個のノードにスケーリング可能な抵抗型処理ユニット(RPU)デバイスの概念を提供する。現状技術の他の手法とは対照的に、この分析から得られる最終的なRPUデバイス特性は、単一のデバイスが、アルゴリズムが必要とする全ての演算を、追加の回路コンポーネントなしで実行することを可能にする。推定によれば、現実的な電力および面積の制約を有する単一のチップ上で、30,000×に近い加速係数が達成可能である。
RPUデバイス概念の定義
バックプロパゲーション・アルゴリズムは3つのサイクルからなる。これらの3つサイクルは、順方向、逆方向および重み更新であり、これらのサイクルは、収束判定基準が満たされるまで何度も繰り返される。順方向および逆方向サイクルは主に、順方向および逆方向のベクトル-行列乗算を計算することを含む。この演算は、2端子抵抗型処理ユニットの2Dクロスバー・アレイ上で実行することができる。順方向サイクルでは、クロスバー・アレイ内の格納されたコンダクタンス値が行列を形成し、その行列において、各入力行に入力ベクトルが電圧パルスとして伝送される。逆方向サイクルでは、入力として列から電圧パルスが供給されたときに、行列の転置行列上でベクトル-行列積が計算される。これらの演算は、必要なO(1)時間複雑性を達成するが、これが達成されるのは、訓練アルゴリズムの3つのサイクルのうちの2つのサイクルに対してだけである。
順方向および逆方向サイクルとは対照的に、アレイ・サイズから独立して、抵抗型デバイスの2Dクロスバー・アレイ上で、局所的にかつ全て並列に、重み更新を実装することは、困難のように見えることがある。重み更新は、図1に示されているように、各クロスポイントで局所的に実行される乗算演算とインクリメンタル重み更新とからなるベクトル-ベクトル外積を計算することを含む。対応する更新規則は通常、次のように表現される。
ij←wij+ηxδ 式(1)
上式で、wijは、第i行第j列の重み値を表し(単純にするために層添字は省略されている)、xは、入力ニューロンにおける活性、δは、出力ニューロンによって計算された誤差、ηは、大域的学習率(global learning rate)である。第i行と第j列はRPUデバイスにおいて交差する。
重みの格納と処理の両方を実行することができる2端子デバイス(RPU)のアレイ上での局所的で並列な更新を実装するため、実験者は最初に、確率的計算技法を使用することによって、この乗算演算自体を大幅に単純にすることに決めた。2つの確率的ストリームを使用することによって、この乗算演算を単純なAND演算にすることができることが示された。例えば、図2は、ニューロンからコード化された数(xおよびδ)が、確率的翻訳機(stochastic translator:STR)を使用して確率的ビット・ストリームに翻訳される、確率的更新規則を示す。それらの確率的ビット・ストリームは次いでクロスバー・アレイに送られ、そこでは、各RPUデバイスが、xからのビットとδからのビットが一致したときに、そのコンダクタンス(gij)をわずかに変化させる。このスキームにおいて、実験者は、更新規則を次のように書くことができる。
Figure 0006995131000001
上式で、BLは、更新サイクル中に使用される、STRの出力における確率的ビット・ストリームの長さ、Δwminは、単一の一致事象に起因する重み値の変化、
Figure 0006995131000002

および
Figure 0006995131000003

は、ベルヌーイ過程によって特徴づけられる確率変数であり、上付き添字nは、試験シーケンスにおけるビット位置を表す。
Figure 0006995131000004

および
Figure 0006995131000005

が1に等しい確率はそれぞれCxおよびCδによって与えられる。Cは、STRにおける利得係数である。
式(2)の確率的更新規則を可能にする1つのパルシング・スキームが図3に示されている。行(A)および列(B)上の対応するそれぞれのSTRから、正および負の振幅を有する電圧パルスが送られる。2値ストリームにコード化された浮動小数点数とは対照的に、確率的ストリームに翻訳された対応する数は、そのようなパルスの母集団全体によって表される。クロスポイントにおいて2端子RPUデバイスが一致事象を区別するため、単一のパルス振幅がデバイスの切り換え電圧(V)の半分であるとき、デバイスのコンダクタンス値はあまり大きく変化すべきではない。しかしながら、2つのパルスが一致し、RPUデバイスが完全な電圧(V)を感知したとき、コンダクタンスは非ゼロ量Δgminだけ変化すべきである。パラメータΔgminは、周辺回路によって定義される増幅係数によってΔwminに比例する。コンダクタンスの上昇変化と下降変化の両方を可能にするため、図4に示されているように、更新サイクル中にパルスの極性を切り換えることができる。この乗算の符号は、更新サイクル中に使用されるパルスの極性によって決定される。したがって、x>0の場合、この符号付き乗算は、上昇サイクルと下降サイクルの両方のサイクル中にx>0に対応する行をポピュレートすることによって実行することができ、一方、列は、δの符号に応じて上昇サイクルまたは下降サイクルのどちらかで選択的にポピュレートされる。一部の行について負値(x<0)が存在する場合には同様の演算を繰り返すことができる。この提案されたパルシング・スキームは、単純に一致事象の統計に依存することによって、アレイ内の全てのRPUデバイスが並列に動作し、乗算演算を局所的に実行することを可能にし、したがって、訓練アルゴリズムの重み更新サイクルに対するO(1)時間複雑性を達成する。
図1は、各クロスポイントにおいて実行される式(1)の本来の重み更新規則の略図であり、図2は、各クロスポイントにおいて単純なAND演算を使用する式(2)の確率的更新規則の略図であることを認識すべきである。RPUデバイスによる確率的更新規則の実装を可能にするこのパルシング・スキームは、上昇コンダクタンス変化については図3に、下降コンダクタンス変化については図4に示されている。
確率的更新規則を使用するRPUアレイを用いたネットワーク訓練
この手法の妥当性を試験するため、実験者は、それぞれ784、256、128および10個のニューロンを有する完全に接続された層からなる深層ニューラル・ネットワークを用いて達成された分類の正確さを比較した。このネットワークは、60,000例の手書き数字の画像からなる標準MNIST(Mixed National Institute of Standards and Technology)訓練データセットを用い、クロスエントロピー目的関数およびバックプロパゲーション・アルゴリズムを使用して訓練される。28×28画素の各画像の未処理の画素値が入力として与えられ、一方、ロジスティック・シグモイドおよびソフトマックス(softmax)活性化関数がそれぞれ隠れ層および出力層で使用される。両方の活性化関数に対する温度パラメータは1であると仮定される。
図5、6および7(全体を図5~7と呼ぶ)は、MNISTデータセットを用いたDNNの試験誤差に関する。図6では、1、2および3と記された線がそれぞれ、BL=10ならびに非線形性比k=0.5、0.4および0.1を有する確率的モデルに対応する。図7は、k=0、0.5および1でのRPUデバイスのさまざまな非線形応答を示す。
より詳細には、図5および6は、10,000個の画像からなるMNIST試験データセットに対する一組の分類誤差曲線を示す。図5の白い円で示された曲線は、浮動小数点乗算演算を用いた式(1)によって定義される従来の更新規則を使用してネットワークが訓練されるベースライン・モデルに対応し、1、2および3と記された線はそれぞれ、確率的ビット長BL=1、2および10を有する式(2)の確率的モデルに対応する。ここでは、以下の実験の全体を通じてミニバッチ・サイズ1が選択される。訓練は、訓練データセット中の60,000個の全ての画像に対して繰返し実行され、60,000個の画像が単一の訓練エポック(training epoch)を構成する。エポック0~10、11~20および21~30に対してそれぞれη=0.01、0.005および0.0025の学習率が使用される。このベースライン・モデルは、30エポックで、この試験データに関する2.0%の分類誤差に到達する。
ベースライン・モデルと、式(2)の確率的更新規則を訓練が使用する確率的モデルとの間の公平な比較を実施するためには、学習率が整合する必要がある。最も一般的な形態では、確率的モデルに対する重み値の平均変化を次のように書くことができる。
Figure 0006995131000006
したがって、確率的モデルに対する学習率は、3つのパラメータBL、ΔwminおよびCによって制御され、これらのパラメータは、ベースライン・モデルで使用される学習率と整合するように調整されるべきである。確率的更新規則は、乗算演算の代わりに単純なAND演算を使用することを可能にするが、演算の結果はもはや正確でなく、
Figure 0006995131000007

によってスケーリングする標準偏差と平均の比による、確率的(probablistic)なものになる。確率的ビット・ストリーム長BLを増大させると誤差は小さくなるであろうが、更新時間は増大するであろう。このネットワークがベースライン・モデルと同様の分類誤差に到達することを可能にするBL値の許容可能な範囲を見つけるため、実験者は、異なるBL値を使用し、一方で、上で論じたようにベースライン・モデルに対して使用される学習率と整合させるためにΔwmin=η/BLおよびC=1を設定して、訓練を実行した。図5に示されているとおり、確率的モデルがベースライン・モデルから区別できないものになるためには、BLは、10という小さなもので十分である。
加えて、確率的更新規則に関しては、単一の更新サイクルに対する重み値の変化が、BL×Δwminを境界とし、この条件は、STRからのパルスを発生させる確率(CxおよびCδ)が1に近いかまたは1よりも大きい場合に起こる可能性がある。シミュレーションでは、重み更新におけるこのクリッピングの影響も考慮され、図5に示されているように、その影響は、10という低いBLに関して性能を低下させない。
ベースライン・モデルに匹敵する分類誤差にこのアルゴリズムが収束するために、そのくらい強いデバイス切り換え特性の非線形性が必要であるのかを判定するため、非線形性係数を、図6に示されているように変化させる。非線形性係数は、半電圧と全電圧における2つのコンダクタンス変化の比k=Δg(V/2)/Δg(V)と定義される。図7に示されているように、k≒1の値は、飽和型の非線形応答に対応し、k=0.5であるとき、応答は、典型的には理想的なメモリスタに対して考えられるような線形であり、k≒0の値は、整流型の非線形応答に対応する。図6に示されているとおり、このアルゴリズムは、線形応答に関して収束することができない。しかしながら、0.1よりも小さい非線形性係数kは、ベースライン・モデルに匹敵する分類誤差を達成するのに十分である。
これらの結果は、確率的モデルにおける更新は確率的(probablistic)であるが、分類誤差は、ベースライン・モデルによって達成される分類誤差から区別できないものなり得ることを立証している。非線形切り換え特性を有するアナログRPUデバイスのアレイ上での確率的更新規則の実装は、アルゴリズムの局所性および並行性を効果的に利用する。その結果として、更新時間は、アレイ・サイズから独立したものになり、BLに比例する一定値であり、したがって必要なO(1)時間複雑性を達成する。
RPUデバイス仕様の導出
現状技術におけるニューラル・ネットワーク訓練用のクロスバーアレイとしてのそれらの潜在的実装を考慮して、さまざまな材料、物理的機構およびデバイス概念を分析した。これらの技術は当初、ストレージ・クラスのメモリ用途向けに開発された。しかしながら、提案されたRPU概念の実現に適用されたときのこれらの技術の固有の限界が、大幅な加速につながるのか、または反対に性能を制限するかについては事前に明白であるわけではない。例えば、PCMデバイスは、訓練中にコンダクタンスを増大させることしかできず、したがって何回かの更新の後、ネットワークは飽和する。定期的に重みを順次リセットすることによってこの問題を軽減することもできるが、このことはO(1)時間複雑性に背くため、その対価として訓練時間が長くなる。
1つまたは複数の実施形態によれば、O(1)時間複雑性に到達したときの極限の加速を達成するのに必要なデバイス仕様を決定するため、実験者は一連の訓練を実行した。その概要が図8、9、10、11、12、13、14、15および16(全体を図8~16と呼ぶ)に示されている。図8~16では、各図が、他の全てのパラメータを固定したまま単一のパラメータをスキャンする(または変化させる)特定の「ストレス試験」に対応し、 したがって、そのストレス試験において、実験者は、重大な誤差ペナルティなくアルゴリズムが許容し得る許容可能なRPUデバイス・パラメータを探査することができる。ストレス試験は、単一の一致事象に起因するインクリメンタルなコンダクタンス変化、上昇コンダクタンス変化と下降コンダクタンス変化の非対称性、コンダクタンス値の調節可能範囲、およびシステム内のさまざまなタイプのノイズなどのRPUデバイス切り換え特性の変動を含む。一致事象は、RPUデバイスが接続された列(例えばδ)および行(x)から送られた2つの電圧パルスのオーバラップと定義される。
図8~16に示された全ての確率的モデルで、k=0およびBL=10が使用されている。ベースライン・モデルに対して使用された学習率と整合させるため、xおよびδは、
Figure 0006995131000008

として定義されるCを有する確率的ストリームに翻訳される。このことは、平均学習率を、ベースライン・モデルのそれと同じにすることを可能にする。
理想的には、RPUデバイスはアナログであるべきであり、すなわち、単一の一致事象に起因するコンダクタンス変化Δgminは任意に小さくあるべきであり、したがって、許された全てのコンダクタンス値を連続的にカバーすべきである。重大な誤差ペナルティを生み出さない、単一の一致事象に起因する許容可能な最大Δgminを決定するため、図8に示されているように、他のパラメータは固定したまま、パラメータΔwminを0.32と0.00032の間でスキャンする(変動または変化させる)。大きなΔwminについては、Δwminが確率的更新規則の標準偏差を制御するため収束が不十分だが、より小さなΔwminについては、結果がベースライン・モデルに近づいている。0.01よりも小さいΔwminは、30番目のエポックの終わりに2.3%の分類誤差を生み出す。この分類誤差は、ベースライン・モデルの2.0%の分類誤差よりも0.3%高いだけである。線1、2および3はそれぞれ、Δwmin=0.1、0.032および0.01である確率的モデルに対応する。図9~16の曲線は全て、Δwmin=0.001を使用している。
アルゴリズムが収束するためにRPUデバイスがサポートすべき最小および最大コンダクタンス値を決定するために、図9に示されているような一組の訓練曲線が計算される。各曲線は、重みの絶対値|wij|が0.1と3の間で変動するある境界よりも低く維持される重み範囲によって定義される。具体的には、図9では、線1、2および3がそれぞれ、0.1、0.2および0.3を境界とする重みを有する確率的モデルに対応する。他のパラメータは図8と全く同じであり、結果が主に重み範囲の選択によって定められると仮定するため、Δwminは0.001とした。0.3よりも大きな値を境界する重み|wij|を有するモデルは、上で定義された0.3%の許容可能な誤差ペナルティ判定基準に帰着する。パラメータΔgmin(およびgij)は、周辺回路によって定義される増幅係数によってΔwmin(およびwij)に比例するため、その最小コンダクタンス値からその最大コンダクタンス値までRPUデバイスを移動させるのに必要な一致事象の数は、(max(gij)-min(gij))/Δgmin=(max(wij)-min(wij))/Δwminとして導き出すことができる。これは、RPUデバイス上に格納されるために必要な状態の数(例えば600状態)に対するより低い推定値を与える。単一の一致事象に起因するインクリメンタル・コンダクタンス変化の変動Δgminに対するアルゴリズムの許容差を決定するため、各一致事象に対して使用されるΔwmin値は、ガウス分布を有する確率変数であると仮定される。対応する結果が図10に示されており、この図では、平均Δwmin値を0.001に設定したまま、標準偏差を変動させている。実験者のモデルでは、ランダム値が-1(または-100%)よりも小さい場合に、Δwminが、反対方向に変化する一致事象を有することができる。見て分かるとおり、このアルゴリズムは、各一致事象に対する重み変化に関するランダム性に対してロバストであり、平均値の150%よりも小さい標準偏差を有するモデルは許容可能な0.3%の誤差ペナルティに到達する。図10では、線1、2および3がそれぞれ、Δwminの一致事象間変動が1000%、320%および100%である確率的モデルに対応する。
図11に示された確率的モデルに関しては、単一の一致事象Δgminに起因するインクリメンタルなコンダクタンス変化のデバイス間変動(さらに別のランダム性)が導入される。具体的には、図11では、線1、2および3がそれぞれ、Δwminの1000%、320%および100%のデバイス間変動を有する確率的モデルに対応する。この場合には、RPUデバイスごとに使用されるΔwminが、訓練の始めにガウス分布からサンプリングされ、次いで、この固定値が、訓練の全体を通じて各一致事象に対して使用される。図11の全ての確率的モデルについて、0.001の平均Δwmin値が使用され、モデルごとに標準偏差を変動させる。実験者のモデルでは、ランダム値が-1(または-100%)未満である場合に、モデルが、訓練の全体を通じて反対方向の更新を実行するいくつかのデバイスを有することが許される。結果は、このアルゴリズムが、デバイス間変動に対してもロバストであること、および平均値の110%までの標準偏差を有するモデルについては許容可能な誤差ペナルティを達成することができることを示している。デバイス間変動は、異なるRPUデバイスに対するアレイ内のパラメータの変動と定義される。
コンダクタンス値の上限および下限のデバイス間変動に対するアルゴリズムの許容差を決定するため、実験者は、図12のモデルに関してRPUデバイスごとに異なる上限および下限を仮定する。各RPUデバイスに対して使用される境界は、訓練の始めにガウス分布からサンプリングされ、訓練の全体を通じて使用される。図12の全ての確率的モデルについては、結果が主に上限および下限のデバイス間変動によって定められると仮定するため、上限に対しては1.0の平均値(下限に対しては-1.0の平均値)が使用される。標準偏差が十分な大きさになると、いくつかのデバイスは、正の重み値だけまたは負の重み値だけをコード化することがあることに留意されたい。さらに、いくつかのデバイスが下限よりも小さい上限を有することさえあり、それらのデバイスは中間点で固定されると仮定され、更新に応答しない。これらの全ての寄与を含めて、図12は、このアルゴリズムが境界の変動に対してロバストであること、および平均の最大80%の標準偏差を有するモデルは、許容可能な0.3%の誤差ペナルティを達成することができることを示している。図12では、線1、2および3がそれぞれ、上限および下限の1000%、320%および100%のデバイス間変動を有する確率的モデルに対応する。
製造されたRPUデバイスではさらに、図3および4に示されているように、正パルスに起因するコンダクタンス値の変化量
Figure 0006995131000009

と負パルスに起因するコンダクタンス値の変化量
Figure 0006995131000010

とが異なることがある。上昇変化
Figure 0006995131000011

と下降変化
Figure 0006995131000012

の間の非対称性をアルゴリズムがどれくらい許容できるのかを判定するため、図13および14に示されているように、重み値の上昇変化と下降変化を変動させる。図13では、線1、2および3がそれぞれ、下降変化の方が0.5、0.75および0.9だけ弱い確率的モデルに対応する。図14では、線1、2および3がそれぞれ、上昇変化の方が0.5、0.75および0.9だけ弱い確率的モデルに対応する。
図13および14ではともに、この大域的非対称性が、RPUデバイス・アレイ全体にわたって均一であるとみなされている。図13の各モデルに関しては、
Figure 0006995131000013

が0.001に固定されており、
Figure 0006995131000014

を、上昇値よりも0.95ないし0.25弱く変動させる。同様に、図14は、
Figure 0006995131000015

を0.001に固定し、
Figure 0006995131000016

を変動させた類似の結果を示す。結果は、確率的モデルが許容可能な0.3%の誤差ペナルティを達成するためには上昇変化と下降変化がかなり均衡している(互いに対して10%)必要があることを示している。実験者は、平均に対する閾値を定義し、したがって許容可能な閾値として5%不均衡が使用される。図14には見られるが図13には見られない大きな変動は驚くべきものではないこと、その変動は、更新の確率的性質によるものではないことに留意されたい。実験者は、不均衡項を含む浮動小数点乗算を使用して訓練を実行し、それでも同様の挙動を観察した。
非対称性のデバイス間変動に対するアルゴリズムの許容差を決定するため、図13および14で考慮した大域的非対称性とは対照的に、図15の曲線は、
Figure 0006995131000017

の標準偏差のさまざまな値に対して計算される。各RPUデバイスに対するパラメータ
Figure 0006995131000018

および
Figure 0006995131000019

は、訓練の始めにガウス分布からサンプリングされ、次いで、訓練の全体を通じて各一致事象に対して使用される。全てのモデルは、
Figure 0006995131000020

および
Figure 0006995131000021

の平均値が0.001であると仮定する。許容可能な0.3%の誤差ペナルティを達成するためには、
Figure 0006995131000022

の標準偏差が、平均値の6%未満である必要がある。図15では、線1、2および3がそれぞれ、40、20および6%だけ変化する上昇および下降のデバイス間変動を有する確率的モデルに対応する。
アナログ計算は、全て加法的な熱ノイズ、散弾ノイズ(shot noise)などのさまざまなノイズ源に対して敏感であり、単一の不偏ガウス・ノイズとしてモデル化することができる。重み更新サイクル中のノイズ・ペナルティの影響は、図10、11、12、13、14および15で既に考慮されている。順方向および逆方向サイクル中のノイズに対するアルゴリズムの許容差を推定するため、実験者は、変動する標準偏差を有するベクトル-行列乗算の結果にガウス・ノイズを注入した。ベクトル-行列乗算の結果が計算された後、結果として生じるベクトルの各要素に、独立したランダム・ノイズが加えられる。図16に示されたデータに関して、順方向サイクルと逆方向サイクルの両方に対して同じノイズ分布が使用され、0.1の標準偏差を有するノイズについては、許容可能な0.3%の誤差ペナルティに到達する。この値は、1であるシグモイド・ニューロン温度パラメータの10%である。しかしながら、順方向サイクルに対するノイズ要件と逆方向サイクルに対するノイズ要件は全く同じでなくてもよい。実際、計算によれば、実験者が順方向サイクルだけにノイズを導入したとき、このアルゴリズムは、60%の標準偏差で最大6倍のノイズを許容することができる。逆方向サイクルは、10%の閾値でそれほど寛容でなく、したがって、逆方向サイクルは、図16から導き出された閾値を指定する。図16では、線1、2および3がそれぞれ、1である活性化関数温度に関して正規化された、100%、60%および10%のベクトル-行列乗算のノイズを有する確率的モデルに対応する。
図17は、図8~16で実行された「ストレス試験」から導き出されたRPUデバイスの仕様の概要を示すレーダ図である。軸C~Iはそれぞれ図10~16の実験に対応する。実線1は、これらのパラメータに対して決定された、許容可能な0.3%の誤差ペナルティに対する閾値を結んでいる。これらの仕様は、NVM(不揮発性メモリ)技術に対して典型的なパラメータとはかなり異なることに留意されたい。NVMデバイスのストレージはディジタルであり、典型的には数ビットを超えず、この制約は、読出しおよび書込み動作のための高い信号対雑音比を達成するためにシステム要件によって課される。加えて、書込み動作は、以前に格納された全ての値を上書きするため履歴に依存しない。対照的に、ニューラル・ネットワーク動作の重み値は、非常に高い信号対雑音比で書き込まれたり、分解されたりする必要がない。実際に、このアルゴリズムは、重み更新(パラメータC)において最大150%のノイズに耐えることができ、列または行上の最大10%の読出しノイズ(パラメータI)を許容することができる。しかしながら、NVMデバイス上の数ビットのストレージ容量とは対照的に、RPUデバイスが重み更新の履歴を追跡し続けるためには多数の一致事象(図9から600超)が必要である。加えて、NVMデバイスに必要なビット・レベル間のフルスイング・ライティングの高い耐久性とは対照的に、RPUデバイスは、小さなインクリメンタル変化(Δgmin)だけに対する高い耐久性を有する必要がある。図17で考慮される全てのパラメータの組み合わされた寄与は加法的であることがあり、したがって許容可能な0.3%の誤差ペナルティを超えることがある。図18は、2つ以上のパラメータの効果が組み合わされたときの訓練結果を示す。全てのパラメータ(C、D、E、F、G、HおよびI)が閾値において組み合わされたとき、試験誤差は5.0%に達し、これは、ベースライン・モデルよりも3.0%高い。用途によってはこのペナルティが許容可能であることもあるが、このペナルティは、上で考慮した0.3%の誤差ペナルティよりも高い。この3.0%のペナルティは、相関していない寄与の単純な加法的影響よりも高い。このことは、これらのパラメータのうちの少なくともいくつかのパラメータが相互に作用していることを示している。このことは、さまざまなパラメータ間の許容差をトレードオフすることによって誤差ペナルティを最適化する可能性を開く。例えば、図18の曲線2によって示されている、パラメータC、DおよびEだけを閾値において組み合わせるモデルは、0.9%の誤差ペナルティを与え、これは、個々の寄与の予想された和に近い。これらのパラメータは、デバイス動作の不完全性およびデバイス間ミスマッチによって定められ、これらの不完全性およびミスマッチは全て、所与の技術における製造公差によって制御されることに留意されたい。深くスケーリングされたCMOS技術に対しても、製造公差は30%を超えず、この値は、図18の曲線2の計算のために使用される150%、110%および80%よりもはるかに小さい。対応する許容差を30%に設定することによって、誤差ペナルティに対するC、DおよびEの寄与を排除することができる(データは示さない)。図18では、線1、2および3がそれぞれ、1である活性化関数温度に関して正規化された、100%、60%および10%のベクトル-行列乗算のノイズを有する確率的モデルに対応する。図17および18を全体に図17~18と呼ぶことができる。
図17のパラメータの中で、RPUデバイスのコンダクタンス値の上昇変化と下降変化との間の非対称性(パラメータF、GおよびH)は、最も制限的なものであり、1つまたは複数の実施形態によれば、コンダクタンス値の上昇変化と下降変化の間のこの非対称性は、本明細書で論じられているとおり、ヒステリシスによって解決される。パラメータF(またはG)は、正および負の更新サイクルにおいてパルス電圧またはパルス数あるいはその両方を制御することによって補償することができる大域的非対称性であり、したがって、5%の閾値よりも高い非対称性であっても、周辺回路を適切に設計することによって排除することができる。対照的に、非対称性のデバイス間変動によって定義されるパラメータHは、各RPUデバイスが順次アドレスされる場合に限り周辺回路によって補償することができる。O(1)時間複雑性を維持するためには、デバイス・ミスマッチ・パラメータHおよびノイズ・パラメータIをともに、誤差ペナルティを低減させるように最適化することができる。図18の曲線3を境界とする陰影が付けられたエリアによって示された結果として生じるモデルは、せいぜい0.3%の誤差ペナルティを達成する。このモデルについては、パラメータC、DおよびEが30%に設定され、F(またはG)がゼロに設定され、Hが2%に設定され、Iが6%に設定される。あるいは、ノイズ・パラメータIを2.5%に制限し、デバイス・ミスマッチ許容差Hを4%に増大させることによっても同じ結果(データは示さない)を達成することができ、これは、よりノイズの少ない回路を設計することと引き換えに、アレイ製造を単純にすることができる。
上で検討したパラメータに加えて、RPUデバイスはさらに、格納されたコンダクタンス値Δgmin(gij)に関するコンダクタンス変化に対する依存性を示すことがある。このような挙動は、Δwmin(wij)と書くことができるその時点の重み値に依存する更新規則を導入する。実験者は、重み値に対する1次または2次依存性を含むΔwmin(wij)に対する異なる関数形を有する重み依存更新規則を含むシミュレーションを実行した。最初の一組のシミュレーションにおいて、実験者は、更新が、
Figure 0006995131000023

となるような形で所与の任意の重み値に対して均衡しており、したがって重み範囲の全体にわたって不均衡判定基準Hを既に満たしていると仮定する。これらのシミュレーション結果は、gijに対するΔgminの依存性が重要なパラメータではないことを示している。なぜならば、Δwminを約10倍に変更したときであっても、0.3%よりも大きな追加の誤差ペナルティが観察されないためである。しかしながら、実験者が、均衡していない重み依存更新を導入するとき、実験者は、追加の誤差ペナルティを観察する。これは、この条件が不均衡判定基準Hに違反しているためである。
回路レベルおよびシステム・レベル設計の考慮事項
O(1)時間複雑性動作が強いられたときには、サイズN×NのRPUアレイ上でのバックプロパゲーション・アルゴリズムを用いたDNN訓練の極限の加速を近似することができる。この場合、全体の加速はNに比例し、このことは非常に大きなアレイにとって有利である。アレイ、周辺回路および全体システムの設計は一般に、特定の作業負荷および分類タスクのためのネットワーク・パラメータの最適化に基づくべきである。このような設計に対する一般的な方法論を開発するため、実験者は、上に提示された分析の結果を一例として使用する。しかしながら、開発された手法は、図5~18でMNISTデータセットを分類するために使用された比較的に単純な3層ネットワークよりも複雑なケースのより大きなクラスに対して有効であることを理解すべきである。
RPUアレイ設計
クロスバー・アレイ(すなわちRPUデバイスのアレイ)の現実的な技術的実装では、大幅なRC(抵抗コンデンサ(resistance capacitor))遅延および電圧降下の原因となる伝送線の抵抗および寄生容量によって、アレイ・サイズが制限される。さらなる分析のため、実験者は、RPUデバイスが、バックエンドオブライン(back-end-of-line:BEOL)スタックの中間金属レベル間に組み込まれていると仮定する。このことは、上位の厚い金属レベルが出力分布に対して使用され、それよりも下位の金属レベルおよびRPUアレイの下のエリアが、周辺CMOS回路のために使用されることを可能にする。スケーリングされたCMOS技術における典型的な中間金属レベルは、360nm(ナノメートル)の厚さおよび200nmの幅を有する。対応する典型的な線抵抗は、約rline=0.36Ω/μm(オーム/マイクロメートル)であり、寄生容量は、Cline=0.2fF/μm(フェムトファラド/マイクロメートル)である。更新サイクル中に使用されるパルスの合理的なクロック周波数が1GHz(ギガヘルツ)であると仮定し、RC遅延が、パルス幅(0.1ns)のせいぜい10%であることを可能にすると、最も長い線長は、lline=1.64mm(ミリメートル)であるべきである。合理的な線間隔が200nmであると仮定すると、その結果、4096×4096個のRPUデバイスを有するアレイに帰着する。RPUデバイスのコンダクタンス値は正の値しかとりえないため、実験者は、全く同じ一対のRPUデバイス・アレイを使用して、正の重み値
Figure 0006995131000024

および負の重み値
Figure 0006995131000025

をコード化すると仮定する。重み値(wij)は、一対のRPUアレイの全く同じ位置に位置する対応する2つのデバイスに格納された2つのコンダクタンス値の差
Figure 0006995131000026

に比例する。面積を最小にするために、これらの2つのアレイを互いに積み重ねて、連続した4つの金属レベルを占有し、その結果、総面積をAarray=2.68mmにすることができる。このアレイ・サイズでは、1ns(ナノ秒)パルスを使用して実行される完全な更新サイクル(正と負の両方)を、BL=10において20nsで完了することができる。
平均RPUデバイス抵抗Rdeviceを推定するため、実験者は、N×Rline/Rdeviceによって定義される伝送線上の電圧降下はせいぜい10%であると仮定する。Rlineは、rline×llineに等しい全体の線抵抗である。この全体の線抵抗に対するライン・ドライバ(line driver)の出力抵抗の寄与は、適切な回路設計によって最小化することができる。したがって、N=4096のアレイ・サイズに関して、平均RPUデバイス抵抗は、Rdevice=24MΩ(メガオーム)である。この抵抗値を使用し、3つの全ての訓練サイクルについて動作電圧は1Vであり、図5~18のモデルに関して典型的な各デバイスについて活性は平均して約20%であると仮定すると、一対のRPUアレイ上での電力散逸は、Parray=0.28W(ワット)と推定することができる。
周辺回路の設計
図19は、順方向(または逆方向)サイクル中の単一の列(または行)の動作を示す。この図は、コンデンサCint上の微分電流(differential current)を積分する演算増幅器(オペアンプ)、およびアナログ-ディジタル変換器(ADC)を示している。更新サイクルとは対照的に、確率的翻訳機は必要ない。ここで、実験者は、調節可能な持続時間を有する固定振幅Vin=1Vのパルスによって入力ベクトルが表されるときには時間エンコーディング・スキームが使用されると仮定する。パルス幅は1nsの倍数であり、入力ベクトルの値に比例する。各RPUデバイスにおいて生成された電流は、列(または行)上で合計され、その全電流が、図19に示されているように、電流読出し回路によって測定時間tmeasにわたって積分される。正および負の重みをコード化するために使用される全く同じRPUアレイの各RPUアレイには、正および負の電圧パルスが別々に供給される。両方のアレイからの電流は、コンデンサCint上の微分電流を積分するオペアンプおよびADCからなる周辺回路に送られる。時間コード化されたパルスに関して、RPUアレイへの入力における時間量子化誤差は、パルスの総数に逆比例してスケーリングし、したがって、それは、確率的パルシング・スキームに比べて優れた手法であることに留意されたい。図18のモデルに関して、20よりも大きなパルス数(約5ビット分解能)は、対応する誤差ペナルティを排除するのに十分である。
実験者は、単一のRPUタイル(tile)を、4096×4096個のデバイスを含む一対のアレイであって、3つの全てのサイクルにおいてアレイの並列動作をサポートする周辺回路を備える一対のアレイと定義する。周辺回路は、ADCと、オペアンプと、乱数発生器からなるSTRと、列および行に沿って信号を導くために使用されるライン・ドライバとを含む。図21に示されているように、RPUタイルからの信号は、非線形関数(non-linear funciton:NLF)回路に向かって導かれる。この回路は、サイクル・タイプ(例えば逆方向サイクル、順方向サイクルまたは更新サイクル)および対応する層の位置に応じて、活性化関数(すなわちシグモイド、ソフトマックス)およびそれらの導関数、ならびに算術演算(すなわち乗算)を計算する。信号飽和を回避するため、NLFへの入力信号は、タイル境界においてある閾値によって制限される。具体的には、図21は、加速器RPUチップのアーキテクチャの略図である。下部にRPUタイルが位置し、上部にNLFディジタル計算回路があり、バスまたはNoC(ネットワーク・オン・チップ)によってオンチップ通信が提供され、オフチップ通信はI/O回路に依存する。
図20は、図18のモデル3のネットワークに対する試験誤差を示しているが、ベクトル-行列乗算の結果に境界|α|が課されている。このことは、NLF入力を制限することと等価である。曲線1は、図20の隠れ層のシグモイド活性化関数だけに|α|=3が課されたモデルに対応する。曲線2および3はそれぞれ、図20のシグモイド活性化関数とソフトマックス活性化関数の両方に|α|=3および12が課されたモデルに対応する。隠れ層のニューロンに対して、NLF回路は、シグモイド活性化関数を計算すべきである。このシグモイドNLFへの入力が|α|=3に制限されているとき、結果として生じる誤差ペナルティは、図20の曲線1によって示されているように、追加の0.4%を超えない。
図20の曲線2によって示されているように、出力層のニューロンは、対応する入力も|α|=3に制限されたときに非常に大きな誤差に帰着するソフトマックスNLF演算を実行する。設計をよりフレキシブルかつプログラム可能にするためには、隠れ層と出力層の両方の層のNLFが同じ境界を有することが望まれる。ソフトマックスNLFとシグモイドNLFの両方のNLFの境界がともに|α|=12に制限されているとき、全体のペナルティは、図20の曲線3によって示されているように許容可能範囲内にある。図18の結果からとられた6%の許容可能なノイズ・レベルおよびADCへの入力における-1Vから1Vの間の動作電圧範囲を仮定すると、必要な対応するビット分解能および電圧ステップはそれぞれ9ビットおよび3.9mVである。これらの数値は、ADCへの入力(またはオペアンプの出力)における許容可能な全体の積分されたRMS(自乗平均)電圧ノイズは5.0mVを超えるべきではないことを示している。
ノイズ分析
入力換算ノイズ(input referred noise)の許容可能レベルを推定するためには、オペアンプの積分関数が定義されるべきである。オペアンプの出力における電圧は下式として導き出すことができる。
Figure 0006995131000027
上式で、βは、RPUデバイスのコンダクタンス・オン/オフ比である。この式は、N個の全てのRPUデバイスが同時に寄与していると仮定している。このことは、非常に大きなコンデンサまたは大きな電圧振幅を必要とするであろう回路を設計することをより困難にし得る。しかしながら、NLF変換に課された所与の境界|α|および重み値に対する|wij|に関して、出力電圧が、|α|/|wij|個のデバイスの同時寄与に対応するレベルを必ず超えなければならないというわけではない。上で示したとおり、許容可能な境界|α|=12および|wij|=0.6は十分であるため、式(4)の数Nに20を代入することができる。ADCに供給されるVout信号は1Vを超えるべきではなく、Rdeviceが24MΩであると仮定すると、積分コンデンサCintの選択は、積分時間tmeasおよびオン/オフ比βによって決定される。図22は、RPUデバイス上のさまざまなオン/オフ比βおよび積分時間tmeasに対する許容可能な入力換算ノイズ・レベルを示す。曲線1、2および3はそれぞれ、20ns、80nsおよび160nsのtmeasに対応する。このノイズ・レベルは、積分器ベースの回路における標準ノイズ分析(Jensen et al., 2013)を使用して計算されたオペアンプの入力換算ノイズに対応する。tmeasが20nsであるとした場合、上で論じた量子化誤差の考慮事項に従えば、許容可能なノイズ・レベルは、図22の曲線1に示されているように
Figure 0006995131000028

程度でしかないなど比較的に低い。オン/オフ比βを数桁増大させた場合でも、より高いノイズに対応することには役立たない。より高いノイズに対応するためにはtmeasを増大させる必要があるが、それには、全体の演算時間が増大するというペナルティが伴う。図22の曲線から分かるとおり、所与のノイズ・レベルに関して、2~10の小さなオン/オフ比は許容可能となり得る。それは、実際、NVM用途に対して典型的な数桁高いオン/オフ比に比べれば非常に穏当である。tmeasおよびβがそれぞれ80nsおよび8と選択されたとき、図22の曲線2によって示される許容可能な入力換算ノイズの対応するレベルは、
Figure 0006995131000029

として導き出すことができる。このバジェット(budget)は、逆方向パスに対する要件を使用して計算されたものであり、順方向パスについては、上で論じたように、許容可能なノイズ・レベルが、約6倍の約
Figure 0006995131000030

の値を有することに留意されたい。対応する静電容量Cintも、式(4)を使用して103fFと計算することができる。
熱ノイズ、散弾ノイズおよび供給電圧ノイズなどを含むさまざまなノイズ源が、オペアンプの全体の許容可能な入力換算ノイズ・レベルに寄与し得る。4096×4096個のRPUデバイスを含むアレイの対による熱ノイズは、
Figure 0006995131000031

として推定することができる。RPUデバイスの正確な物理的実装および非線形I-V応答のタイプに応じて、RPUアレイによって生成される散弾ノイズ・レベルは変動しうる。ダイオードのようなモデルを仮定すると、アレイ全体からの全散弾ノイズは、列(または行)の中のいくつかの活性RPUデバイスの平方根としてスケーリングし、したがってアレイの全体の瞬時活性に依存する。図5~18のモデルに対して典型的なネットワークの平均活性は、逆方向サイクルでは1%未満であり、順方向サイクルではそれよりもはるかに高い(約20%)。対応して、これらの活性の結果、逆方向および順方向サイクルの散弾ノイズ値はそれぞれ
Figure 0006995131000032

および
Figure 0006995131000033

になる。したがって、逆方向サイクルにおけるノイズは、値
Figure 0006995131000034

の熱ノイズによって支配され、散弾ノイズとともに、寄与は、
Figure 0006995131000035

の全ノイズ・バジェットに合致する。対照的に、
Figure 0006995131000036

の値を有する順方向サイクルにおけるノイズは散弾ノイズによって支配され、これも、
Figure 0006995131000037

の対応する全ノイズ・バジェットに合致する。より高い作業負荷または電圧上のノイズ、増幅器ノイズなどを含む追加のノイズ寄与に対しては、より長い積分時間またはより小さなアレイ・サイズが必要であることに留意されたい。
システム・レベル設計の考慮事項
周辺回路によって占有されたタイル面積および対応する散逸電力は、4096個のADCからの寄与によって支配される。順方向および逆方向サイクルのtmeasが80nsであると仮定すると、12.5MSsamples/秒において9ビットの分解能で動作するADCが必要である。この性能を提供することができる現状技術のSAR-ADCは、現状技術のSAR-ADCの使用が、4096個のADCからなるアレイについて104mmの総面積および1Wの総電力に帰着するような態様で、0.0256mmの面積を占有し、0.24mWの電力を消費する。この面積は、RPUアレイ自体よりもはるかに大きく、したがって、総電力を不変に保ちつつサンプリング・レートを増大させることによって、異なる列(または行)間のADCを時間多重化することは合理的である。各ADCが64本の列(または行)によって共用されると仮定すると、総ADC面積を1.64mmまで低減させることができ、各ADCは、約800MSsamples/秒で動作する。実験者は、RPUデバイス・アレイが、周辺CMOS回路の上にある中間金属レベル上に構築されると仮定しているため、総タイル面積は、他の回路(回路の面積も最適化される)のために約1.0mmを残した、2.68mmのRPUアレイ面積によって決定される。例えば、列(または行)内で生成されたストリームに対しては演算が実行されず、このことは、対応する分類試験に対する追加の誤差ペナルティがないことによって立証されている(データは示さない)ため、2進データを確率的ビット・ストリームに翻訳するために使用される乱数発生器の数を大幅に減らし、2つだけにすることができる。したがって、単一のタイルの総面積は2.68mmであり、一方、オペアンプおよびSTRに対して0.7Wが確保されると仮定すると、RPUアレイと全ての周辺回路(すなわちADC、オペアンプ、STR)の両方によって散逸する総電力は2.0Wと推定することができる。更新サイクルの持続時間が20ns、RPUアレイ・サイズが4096×4096である場合、単一のタイル(RPUタイル)上の1秒当たりの重み更新の数は、839TeraUpdates/sと推定することができる。これは、419TeraUpdates/s/Wの電力効率、および319TeraUpdates/s/mmの面積効率に翻訳される。順方向(または逆方向)サイクルに対して80nsが与えられた場合、順方向および逆方向サイクル中のタイル・スループットは419TeraOps/sと推定することができ、電力効率および面積効率はそれぞれ210TeraOps/s/Wおよび156TeraOps/s/mmである。効率のこれらの数字は、現状技術のCPUおよびGPU性能メトリックよりも約5桁(10)優れている。多数のタイルがシステム・オン・チップとして一緒に統合されると、単一のRPUタイルに対して達成される電力および面積効率は低下しうる。図21に示されているように、プログラム可能なNLF回路、コヒーレントなバスまたはネットワーク・オン・チップ(NoC)を介したオンチップ通信、オフチップI/O回路などのために、追加の電力および面積が確保されているべきである。チップ上のRPUタイルの数を増やすと、最初は総チップ・スループットの加速が生じ得るが、RPUタイルは、電力、面積、通信帯域幅または計算リソースあるいはこれらの組合せによって制限されるため、最終的には飽和するであろう。現状技術の高性能CPUまたはGPUを、単一のチップ上の600mmの最大面積および250Wの電力を推定するための基準として採用することができる。タイルの数を最大50から100にスケーリングするのに、タイル1つ当たりの電力および面積はそれほど大きなものではなく、システムが効率的であるために必要な通信帯域幅および計算リソースが難点となることがあり得る。単一のRPUタイルに対する通信帯域幅は、全体で約90GB/sの一方向帯域幅を与える順方向(または逆方向)サイクルに対して1列(または1行)当たり5ビットの入力および9ビットの出力を仮定して推定することができ、これらの90GB/sの一方向帯域幅はさらに更新サイクル通信要件を満たす。この数字は、現状技術のCPU内の単一のコアと近くのL2キャッシュとの間の通信帯域幅の約1/3である。現状技術のオンチップ・コヒーレント・バス((3TB/s超)またはNoC(2.5TB/s))は、離れたタイル(すなわちRPUタイル)間に十分な通信帯域幅を提供することができる。サイクル時間が80ns、列または行において生成される数が4096個であると仮定すると、単一のRPUタイルに対するO(1)時間複雑性を維持するために必要な計算リソースは51GigaOps/sであると推定することができる。n個のRPUタイルの並列動作をサポートするため、計算リソースは、O(n)によってスケーリングされる必要があり、したがって、チップ上の総電力包絡線を250W未満に維持するために、所与の時点において活性であり得るRPUタイルの数を制限する必要がある。例えば、現状技術のCPUの単一のコアは、約50GigaFLOP/sを達成することができ、それは、1つのRPUタイルをサポートするのに十分であるであろう。しかしながら、1コア当たり20Wを仮定すると、最大電力に到達するのは12個のRPUタイルだけである。この設計点に対する対応する電力効率は、図23の表1の設計1に示されているように20TeraOps/s/Wとなるであろう。図23の表1は、さまざまなRPUシステム設計と現状技術のCPUおよびGPUとの比較の概要を示したものである。現状技術GPUの32個のコアによって同じ計算リソースを提供することができるが、電力効率はより良好であり、したがって最大50個のタイルが並列に動作することを可能にする。この設計に対する対応する電力効率は、表1の設計2に示されているように84TeraOps/s/Wとなるであろう。限定されたビット分解能で固定小数点数を演算する電力および面積効率に優れた専用のディジタル回路を設計することによって、同時に動作することができるRPUタイルの数をさらに増大させることを予見することができる。代替設計は、表1の設計3に示されているようなより大きなネットワーク・サイズを扱うようにより多数のタイルを適合させるため、タイル・データを逐次的に処理することができる少数の計算コアに基づくことができる。例えば、100個のRPUタイルと単一の50GigaOps/s計算コアとを備えるチップは、16億個もの重みを用いてネットワークを扱うことができ、計算コアおよび通信バスからの20Wを仮定すると約22Wだけを散逸させ、RPUタイルに関しては、所与の任意の時点において活性なのが1つだけであるため、2Wだけを散逸させる。これは、20TeraOps/s/Wの電力効率を与え、この値は、現状技術のCPUおよびGPUよりも4桁(10)優れている。
理解され得るように、1つまたは複数の実施形態は、局所的かつ並列にデータを同時に格納および処理することができる、したがってDNN訓練の大幅な加速を提供するRPUデバイスの構成を提供する。さまざまなRPUデバイスおよびシステム・パラメータならびに技術的不完全性および異なるノイズ源に対する訓練アルゴリズムの許容差について論じた。この分析は、実験者が、図24の表2に概要が示されたRPUデバイスに対する仕様のリストを定めることを可能にした。図24の表2は、1つまたは複数の実施形態による、RPUデバイス仕様の概要である。既存のNVM技術に基づくRPUデバイスに対する現時点の競争相手は、全ての判定基準を同時に満たすわけではないであろう。しかしながら、表2の結果を、適当なCMOS適合技術を用いてRPUデバイス概念を実現するために物理的機構、材料およびデバイス設計を探索する系統的探索のガイドとして使用することができる。
実験者は、深層ニューラル・ネットワーク訓練の多くの桁数(10、10、10または10倍、またはこれらの組合せ)の加速を提供することができ、同時に必要な電力およびコンピュータ・ハードウェア・リソースを大幅に減らすRPUアレイ構成に基づくさまざまなシステム設計の分析を示した。結果の概要が表1に示されている。この分析は、(ネットワーク・サイズに応じて、)電力と加速係数とを取引するRPU加速器チップに対する異なる設計選択を実施することができることを示している。
実施形態によれば、図21の記載された加速器チップ設計はフレキシブルであり、同様の加速係数を有する完全に接続された層以外の異なるタイプのDNNアーキテクチャに対応することができる。例えば、類似の手法で、RPUアレイに畳み込み層をマップすることもでき、当業者は、畳み込み層を理解している。この場合、アレイは、順方向および逆方向サイクルに対するベクトル-行列乗算を実行する代わりに、行列-行列乗算を実行する必要がある。これは、入力行列の列をRPUアレイの列に順次送ることによって達成することができる。加えて、活性化関数の計算だけでなく、マックスプーリング(max-pooling)および2段抽出(sub-sampling)をも実行するように、周辺NLF回路を再プログラミングする必要がある。層間の必要な接続性は、ネットワーク内のタイル・アドレスを再プログラムすることによって達成することができる。畳み込み層に対する更新サイクルは、順方向および逆方向サイクル中に使用される2つの行列の積の計算を必要とすることがある。これは、入力行列の列および誤差行列の列を同時にRPUアレイに順次送ることによって達成することができる。更新サイクル中に、各RPUデバイスは、一連の局所乗算および総和演算を実行し、したがって、各RPUデバイスは、更新中に2つの行列の積を計算する。RPUアレイ上の3つのサイクル(例えば順方向、逆方向および更新サイクル)は全て、畳み込み層と完全に接続された層の両方に対して同様であり、再プログラミングを必要としないことに留意されたい。実際、畳み込み層を、1よりも大きなミニバッチ・サイズを有する完全に接続された層と見ることができる。RPU加速器チップのスループットは、DNNアーキテクチャおよびミニバッチ・サイズサイズから独立しており、したがって、RPU加速器チップは、同様のRPUアレイ・サイズに対して同様の加速係数を達成する。しかしながら、RPUデバイスおよびシステムの仕様は、本明細書に記載された手法を使用して、異なるDNNアーキテクチャおよびデータセットに対して再考されるべきである。最近の大部分のDNNアーキテクチャは、10億程度のパラメータ数を有する、多くの畳み込み層と完全に接続された層との組合せに基づく。この分析は、単一のRPU加速器チップを使用して、このような大きなDNNを訓練することができることを示す。現時点では多数のGPU上での訓練に数日かかるImageNet分類のサイズの問題は、1つまたは複数の実施形態に基づく単一のRPU加速器チップ上では1分もかからないことがある。
図27および28は、1つまたは複数の実施形態による、(RPUデバイスに対して)ヒステリシスを用いた訓練結果のグラフである。上述のとおり、1つの訓練エポックは60,000個の訓練画像に等しい。図27は、100%の不均衡を有するRPUデバイスの試験誤差%を、訓練エポックに対して示す。100%不均衡なデバイスの例は、正の方向のコンダクタンス変化(Δg min)が、負の方向の変化(Δg min)よりも係数2だけ強い(すなわち2倍である)ようなデバイス、またはこれとは逆のデバイスである。比較のため、図27は、2、4、8、16および32パルスのヒステリシスhの曲線に対してヒステリシスが無い比較曲線を示している。図27はさらに、最も高い正確さおよび最も低い試験誤差(例えば2%の試験誤差は、RPUデバイスが、その時間の98%で正しい結果に到達することを意味する)を表す浮動小数点(FP)数ベースラインの曲線を(円として)を示している。1つまたは複数の実施形態によれば、デバイス不均衡が100%であっても、ヒステリシスRPUデバイスは、ヒステリシスh=32パルスを使用することによって約2%の試験誤差を達成することができる。RPUデバイスのヒステリシスは同じであり続けること(例えばh=32パルスのままであること)、ならびに図27および28の例は、異なるヒステリシスを有するRPUデバイスを表すことに留意すべきである。ヒステリシスは、RPUデバイスの物理的構造の関数であり、論じたどのRPUデバイスも、実施形態に基づくヒステリシスRPUデバイスとなり得る。ヒステリシスを有しないデバイスを達成する方がより難しいことがあるため、ヒステリシス・デバイスは、規則的に製造することができる。電荷拡散または磁気デバイスの磁壁運動などの機構は通常、ヒステリシスである。さらに、大部分のメモリスタ・デバイスは(一般に)ヒステリシスである。
同様に、図28は、60%の不均衡を有するRPUデバイスの試験誤差%を、訓練エポックに対して示す。比較のため、図28は、2、4、8、16パルスのヒステリシスhの曲線に対してヒステリシスが無い比較曲線を示している。図28はさらに、最も高い正確さおよび最も低い試験誤差(例えば2%の試験誤差は、RPUデバイスが、その時間の98%で正しい結果に到達することを意味する)を表す浮動小数点(FP)数ベースラインの曲線を(円として)を示している。デバイス不均衡が60%であっても、ヒステリシスRPUデバイスは、ヒステリシスh=16パルスを使用することによって約2%の試験誤差を達成することができる。RPUデバイスの不均衡がより小さいため、図28は、図27よりも低いヒステリシスhで(約)2%の試験誤差に到達することができる。
図29は、1つまたは複数の実施形態による、30番目のエポックにおける試験誤差率を、60%不均衡と100%不均衡の両方について、ヒステリシスを有するRPUデバイスに対して示すグラフである。
図30は、1つまたは複数の実施形態による、ヒステリシスが不均衡係数を再正規化する(すなわち固定する)ことを示すグラフである。不均衡係数はrであり、
Figure 0006995131000038

であり、この式は
Figure 0006995131000039

と同じである。ヒステリシス項なし(すなわちh=0)で不均衡係数rが単独で導入されるときには、約2.3%の試験誤差率を使用して、約5%の許容可能な閾値が導き出される。しかしながら、図30に示されているように非ゼロ・ヒステリシス項が導入されるときには、このヒステリシス項が不均衡係数を再正規化する。変動する不均衡項およびヒステリシス項を用いてニューラル・ネットワーク訓練が実行されるときには、再正規化された不均衡項r/(h+1)を使用してネットワーク訓練の性能を予測することができることが示されている。図30の各データ点の標識は、使用された不均衡値(r)が、対応するデータ点に対するものであることを示し、再正規化された非対称性r/(h+1)が、訓練結果を制御する関連パラメータであることは明らかである。
図31は、1つまたは複数の実施形態による、(図33のRPUアレイ1500などの)抵抗型処理ユニット(RPU)アレイを形成する方法のフロー・チャート1300である。RPUアレイ1500は説明目的で提供される。図1~30、32および33を参照することができる。
ブロック1302で、一組の導電性行ワイヤ1502A~Nを提供する。ブロック1304で、一組の導電性列ワイヤ1504A~Nであり、一組の導電性行ワイヤ1502A~Nと一組の導電性列ワイヤ1504A~Nとの間の交差部に複数のクロスポイントを形成するように構成された、一組の導電性列ワイヤ1504A~Nを提供する。ブロック1306で、ヒステリシスによって定義されたコンダクタンス状態を各々が有する複数のヒステリシス2端子RPUである複数の2端子RPU1550であり、複数のクロスポイントの各々に、複数の2端子RPU1550のうちの2端子RPUが位置する、複数の2端子RPU1550を提供する。
複数の2端子RPU1550のヒステリシスは、コンダクタンス状態の変化が所定の量のパルスの遅延を有するようにするよう、構成される。この所定の量のパルス(すなわちヒステリシスh)は、いくつかの更新サイクル・パルスである。(バックプロパゲーション・アルゴリズムの)更新パルスは、一組の導電性行ワイヤ502A~Nと一組の導電性列ワイヤ1504A~Nの両方に(同時にまたはほぼ同時に)印加されるように構成される。コンダクタンス状態の変化は、コンダクタンス状態の第1の方向から第2の方向への切り換わり、またはコンダクタンス状態の第2の方向から第1の方向への切り換わりと定義と定義される。
この遅延(すなわちヒステリシス)は、コンダクタンス状態の第1の方向から第2の方向への切り換わりと、コンダクタンス状態の第2の方向から第1の方向への切り換わりとで等しい。更新パルスは、正パルスと負パルスとの間で切り換わる。正パルスは、コンダクタンス状態の第1の方向を生じさせ、負パルスは、コンダクタンス状態の第2の方向を生じさせる。
複数の2端子RPU1550は、第1の方向の傾きと第2の方向の傾きとの間のコンダクタンス状態の不均衡を有する不均衡デバイスである。複数の2端子RPU1550内のヒステリシスは不均衡を低下させる。
図32は、1つまたは複数の実施形態による、ヒステリシス動作のための方法のフロー・チャート1400である。図1~31および33を参照することができる。ブロック1402で、少なくとも1つのヒステリシス抵抗型処理ユニット(RPU)1550によって(1つまたは複数の電圧源からの)更新パルスを受け取る。ブロック1404で、前記少なくとも1つのヒステリシスRPU1550が、更新パルスに応答して、コンダクタンス状態の変化を有するようにする。このコンダクタンス状態の変化は、所定の量の更新パルスの遅延(すなわちヒステリシスh)を有する。
技術的な利益は、ニューラル・ネットワーク訓練のためのヒステリシス更新を含む抵抗型処理ユニット/デバイスを含む。ヒステリシス抵抗型処理ユニット/デバイスは、抵抗型処理ユニットにヒステリシス更新を導入することによって許容差を増大させて、抵抗型処理ユニットの非対称性に起因する不均衡を補正し、それによって抵抗型処理ユニットのコンダクタンス値の上昇変化と下降変化における不均衡(不等性)を補正する。
本発明のさまざまな実施形態の以上の説明は、例示のために示したものであり、以上の説明が網羅的であること、または、以上の説明が、開示された実施形態だけに限定されることは意図されていない。当業者には、記載された実施形態の範囲および思想を逸脱しない多くの変更および変形が明らかである。本明細書で使用した用語は、それらの実施形態の原理、実用的用途、もしくは市販されている技術にはない技術的改良点を最もよく説明するように、または本明細書に開示された実施形態を当業者が理解できるように選択した。
本発明は、インテグレーションの任意の可能な技術的詳細レベルにおいて、システム、方法またはコンピュータ・プログラム製品、あるいはこれらの組合せとすることができる。このコンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体を含むことができる。
このコンピュータ可読ストレージ媒体は、命令実行デバイスが使用するための命令を保持および格納することができる有形のデバイスとすることができる。このコンピュータ可読ストレージ媒体は例えば、限定はされないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイスまたはこれらの適当な組合せとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リードオンリー・メモリ(ROM)、消去可能プログラム可能リードオンリー・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リードオンリー・メモリ(CD-ROM)、ディジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、機械的にコード化されたデバイス、例えばパンチカードまたはその上に命令が記録された溝の中の一段高くなった構造体、およびこれらの適当な組合せを含む。本明細書で使用されるコンピュータ可読ストレージ媒体は、それ自体が一時的信号、例えば電波もしくは他の自由に伝搬する電磁波、ウェーブガイドもしくは他の伝送体内を伝搬する電磁波(例えば光ファイバ・ケーブル内を通る光パルス)、または電線を通して伝送される電気信号であると解釈されるべきではない。
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から対応するそれぞれのコンピューティング/処理デバイスにダウンロードすることができ、またはネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークまたは無線ネットワークあるいはそれらの組合せを介して外部コンピュータもしくは外部ストレージ・デバイスにダウンロードすることができる。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・サーバ、あるいはこれらの組合せを含んでもよい。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それらのコンピュータ可読プログラム命令を、対応するそれぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データもしくは集積回路用の構成データであってもよく、またはSmalltalk(R)、C++または他の同種のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同種のプログラミング言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれた、ソース・コードもしくはオブジェクト・コードであってもよい。このコンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で実行されてもよく、一部がユーザのコンピュータ上で実行されてもよく、独立型ソフトウェア・パッケージとして実行されてもよく、一部がユーザのコンピュータ上で、一部が遠隔コンピュータ上で実行されてもよく、または全体が遠隔コンピュータもしくはサーバ上で実行されてもよい。上記の最後のシナリオでは、遠隔コンピュータが、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、またはこの接続が、外部コンピュータに対して(例えばインターネット・サービス・プロバイダを使用してインターネットを介して)実施されてもよい。いくつかの実施形態では、本発明の態様を実行するために、例えばプルグラム可能論理回路、フィールド・プルグラム可能ゲート・アレイ(FPGA)またはプルグラム可能論理アレイ(PLA)を含む電子回路が、このコンピュータ可読プログラム命令の状態情報を利用してその電子回路をパーソナライズすることにより、このコンピュータ可読プログラム命令を実行してもよい。
本明細書では、本発明の態様が、本発明の実施形態に基づく方法、装置(システム)およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方の図を参照して説明される。それらのフローチャート図またはブロック図あるいはそれらの両方の図の各ブロック、およびそれらのフローチャート図またはブロック図あるいはその両方の図のブロックの組合せは、このコンピュータ可読プログラム命令によって実装することができることが理解される。
これらのコンピュータ可読プログラム命令は、マシンを形成する汎用コンピュータ、専用コンピュータまたは他のプルグラム可能データ処理装置のプロセッサに、それらのコンピュータまたは他のプルグラム可能データ処理装置のプロセッサによって実行されるこれらの命令が、これらのフローチャートまたはブロック図あるいはその両方の図のブロックに指定された機能/動作を実装する手段を生成するような態様で提供することができる。これらのコンピュータ可読プログラム命令はさらに、特定の方式で機能するようにコンピュータ、プルグラム可能データ処理装置または他のデバイスあるいはこれらの組合せに指図することができるコンピュータ可読ストレージ媒体に、その中に命令が格納されたコンピュータ可読ストレージ媒体が、これらのフローチャートまたはブロック図あるいはその両方の図のブロックに指定された機能/動作の態様を実装する命令を含む製造物品を含むような態様で格納することができる。
コンピュータ可読プログラム命令はさらに、コンピュータ、他のプルグラム可能装置または他のデバイス上で一連の動作ステップを実行させて、コンピュータによって実装される工程を生み出すために、このコンピュータ、他のプルグラム可能データ処理装置または他のデバイス上に、このコンピュータ、他のプルグラム可能装置または他のデバイス上で実行されるこれらの命令が、これらのフローチャートまたはブロック図あるいはその両方の図のブロックに指定された機能/動作を実装するような態様でロードすることができる。
添付図中のフローチャートおよびブロック図は、本発明のさまざまな実施形態に基づくシステム、方法およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能および動作を示す。この点に関して、それらのフローチャートまたはブロック図の各ブロックは、指定された論理機能を実装する1つまたは複数の実行可能命令を含む、命令のモジュール、セグメントまたは部分を表すことがある。いくつかの代替的実装では、これらのブロックに示された機能が、図に示された順序とは異なる順序で実施される。例えば、連続して示された2つのブロックが、実際は、実質的に同時に実行されることがあり、または、含まれる機能によってはそれらのブロックが逆の順序で実行されることもある。それらのブロック図またはフローチャート図あるいはその両方の図の各ブロック、ならびにそれらのブロック図またはフローチャート図あるいはその両方の図のブロックの組合せを、指定された機能もしくは動作を実行しまたは専用ハードウェアとコンピュータ命令の組合せを実行するハードウェアベースの専用システムによって実装することができることにも留意すべきである。

Claims (16)

  1. 抵抗型処理ユニット(RPU)アレイであって、
    一組の導電性行ワイヤと、
    一組の導電性列ワイヤであり、前記一組の導電性行ワイヤと前記一組の導電性列ワイヤとの間の交差部に複数のクロスポイントを形成するように構成された、前記一組の導電性列ワイヤと、
    ヒステリシスによって定義されたコンダクタンス状態を各々が有する複数のヒステリシス2端子RPUである複数の2端子RPUであり、前記複数のクロスポイントの各々に、前記複数の2端子RPUのうちの2端子RPUが位置する、前記複数の2端子RPUと
    を備え、
    前記コンダクタンス状態の変化が所定の量のパルスの遅延を有するようにするよう、前記複数の2端子RPUの前記ヒステリシスが構成され、前記所定の量のパルスがいくつかの更新パルスである、
    抵抗型処理ユニット(RPU)アレイ。
  2. 前記更新パルスが、前記一組の導電性行ワイヤと前記一組の導電性列ワイヤの両方に印加されるように構成された、請求項に記載のRPUアレイ。
  3. 前記コンダクタンス状態の前記変化が、前記コンダクタンス状態の第1の方向から第2の方向への切り換わり、または前記コンダクタンス状態の前記第2の方向から前記第1の方向への切り換わりと定義された、請求項に記載のRPUアレイ。
  4. 前記コンダクタンス状態の前記第1の方向から前記第2の方向への切り換わりと、前記コンダクタンス状態の前記第2の方向から前記第1の方向への切り換わりとで、前記遅延が等しい、請求項に記載のRPUアレイ。
  5. 前記更新パルスが、正パルスと負パルスとの間で切り換わる、請求項に記載のRPUアレイ。
  6. 前記正パルスが、前記コンダクタンス状態の第1の方向を生じさせ、前記負パルスが、前記コンダクタンス状態の第2の方向を生じさせる、請求項に記載のRPUアレイ。
  7. 前記複数の2端子RPUが、第1の方向の傾きと第2の方向の傾きとの間の前記コンダクタンス状態の不均衡を有する不均衡デバイスであり、
    前記複数の2端子RPU内の前記ヒステリシスが前記不均衡を低下させる、
    請求項1に記載のRPUアレイ。
  8. 抵抗型処理ユニット(RPU)アレイを形成する方法であって、前記方法が、
    一組の導電性行ワイヤを提供すること、
    一組の導電性列ワイヤであり、前記一組の導電性行ワイヤと前記一組の導電性列ワイヤとの間の交差部に複数のクロスポイントを形成するように構成された、前記一組の導電性列ワイヤを提供すること、および
    ヒステリシスによって定義されたコンダクタンス状態を各々が有する複数のヒステリシス2端子RPUである複数の2端子RPUであり、前記複数のクロスポイントの各々に、前記複数の2端子RPUのうちの2端子RPUが位置する、前記複数の2端子RPUを提供すること
    を含み、
    前記コンダクタンス状態の変化が所定の量のパルスの遅延を有するようにするよう、前記複数の2端子RPUの前記ヒステリシスが構成され、前記所定の量のパルスがいくつかの更新パルスである、
    方法。
  9. 前記更新パルスが、前記一組の導電性行ワイヤと前記一組の導電性列ワイヤの両方に印加されるように構成された、請求項に記載の方法。
  10. 前記コンダクタンス状態の前記変化が、前記コンダクタンス状態の第1の方向から第2の方向への切り換わり、または前記コンダクタンス状態の前記第2の方向から前記第1の方向への切り換わりと定義された、請求項に記載の方法。
  11. 前記コンダクタンス状態の前記第1の方向から前記第2の方向への切り換わりと、前記コンダクタンス状態の前記第2の方向から前記第1の方向への切り換わりとで、前記遅延が等しい、請求項1に記載の方法。
  12. 前記更新パルスが、正パルスと負パルスとの間で切り換わる、請求項に記載の方法。
  13. 前記正パルスが、前記コンダクタンス状態の第1の方向を生じさせ、前記負パルスが、前記コンダクタンス状態の第2の方向を生じさせる、請求項1に記載の方法。
  14. 前記複数の2端子RPUが、第1の方向の傾きと第2の方向の傾きとの間の前記コンダクタンス状態の不均衡を有する不均衡デバイスであり、
    前記複数の2端子RPU内の前記ヒステリシスが前記不均衡を低下させる、
    請求項に記載の方法。
  15. ヒステリシス動作のための方法であって、前記方法が、
    少なくとも1つのヒステリシス抵抗型処理ユニット(RPU)によって更新パルスが受け取られるように、前記少なくとも1つのヒステリシスRPUの周辺回路がすること、および
    前記少なくとも1つのヒステリシスRPUが、前記更新パルスに応答して、コンダクタンス状態の変化を有するように、前記周辺回路がすること
    を含み、前記コンダクタンス状態の前記変化が、所定の量の前記更新パルスの遅延を有する、
    方法。
  16. 前記コンダクタンス状態の前記変化が、前記コンダクタンス状態の第1の方向から第2の方向への切り換わり、または前記コンダクタンス状態の前記第2の方向から前記第1の方向への切り換わりである、請求項1に記載の方法。
JP2019546199A 2017-03-01 2018-02-27 抵抗型処理ユニットアレイ、抵抗型処理ユニットアレイを形成する方法およびヒステリシス動作のための方法 Active JP6995131B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/446,264 2017-03-01
US15/446,264 US10755170B2 (en) 2017-03-01 2017-03-01 Resistive processing unit with hysteretic updates for neural network training
PCT/IB2018/051224 WO2018158680A1 (en) 2017-03-01 2018-02-27 Resistive processing unit with hysteretic updates for neural network training

Publications (2)

Publication Number Publication Date
JP2020514886A JP2020514886A (ja) 2020-05-21
JP6995131B2 true JP6995131B2 (ja) 2022-01-14

Family

ID=63355648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019546199A Active JP6995131B2 (ja) 2017-03-01 2018-02-27 抵抗型処理ユニットアレイ、抵抗型処理ユニットアレイを形成する方法およびヒステリシス動作のための方法

Country Status (6)

Country Link
US (1) US10755170B2 (ja)
JP (1) JP6995131B2 (ja)
CN (1) CN110352436B (ja)
DE (1) DE112018000272T5 (ja)
GB (1) GB2574168A (ja)
WO (1) WO2018158680A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10482940B2 (en) * 2015-12-17 2019-11-19 Hewlett Packard Enterprise Development Lp Computational accuracy in a crossbar array
US10303998B2 (en) * 2017-09-28 2019-05-28 International Business Machines Corporation Floating gate for neural network inference
US11301752B2 (en) * 2017-10-24 2022-04-12 International Business Machines Corporation Memory configuration for implementing a neural network
US10340002B1 (en) * 2018-03-30 2019-07-02 International Business Machines Corporation In-cell differential read-out circuitry for reading signed weight values in resistive processing unit architecture
US10831860B2 (en) * 2018-10-11 2020-11-10 International Business Machines Corporation Alignment techniques to match symmetry point as zero-weight point in analog crosspoint arrays
KR102543232B1 (ko) * 2018-12-04 2023-06-15 한국전자통신연구원 아날로그 디지털 변환기 및 아날로그 디지털 변환기의 동작 방법
US11769046B2 (en) 2019-03-14 2023-09-26 International Business Machines Corporation Symmetric phase-change memory devices
US11153104B2 (en) 2019-03-14 2021-10-19 International Business Machines Corporation Generating key material for information security using a resistive processing unit (RPU) accelerator array as a physically unclonable function (PUF)
JP2020160887A (ja) * 2019-03-27 2020-10-01 ソニー株式会社 演算装置及び積和演算システム
US11461640B2 (en) 2019-04-18 2022-10-04 International Business Machines Corporation Mitigation of conductance drift in neural network resistive processing units
CN110059038A (zh) * 2019-04-28 2019-07-26 北京超维度计算科技有限公司 一种基于可重构计算的高性能弹性连接架构及方法
US11562249B2 (en) * 2019-05-01 2023-01-24 International Business Machines Corporation DNN training with asymmetric RPU devices
US11361218B2 (en) * 2019-05-31 2022-06-14 International Business Machines Corporation Noise and signal management for RPU array
US11200297B2 (en) 2019-06-12 2021-12-14 International Business Machines Corporation Integrator voltage shifting for improved performance in softmax operation
US10839900B1 (en) 2019-06-12 2020-11-17 International Business Machines Corporation Parasitic voltage drop compensation in large cross-point arrays
US11455520B2 (en) 2019-06-14 2022-09-27 International Business Machines Corporation Copying weights between resistive cross-point arrays
US10832773B1 (en) 2019-07-01 2020-11-10 International Business Machines Corporation Architecture for enabling zero value shifting
US11183238B2 (en) 2019-08-28 2021-11-23 International Business Machines Corporation Suppressing outlier drift coefficients while programming phase change memory synapses
US11610101B2 (en) * 2019-08-30 2023-03-21 International Business Machines Corporation Formation failure resilient neuromorphic device
US20210142153A1 (en) * 2019-11-07 2021-05-13 International Business Machines Corporation Resistive processing unit scalable execution
US11520855B2 (en) * 2020-05-15 2022-12-06 International Business Machines Corportation Matrix sketching using analog crossbar architectures
CN111614346B (zh) * 2020-06-11 2023-06-30 电子科技大学 基于延时信号的ai处理器的处理单元及累积单元
JP6968941B1 (ja) 2020-07-08 2021-11-24 ウィンボンド エレクトロニクス コーポレーション 抵抗変化型クロスバーアレイ装置
JP7150787B2 (ja) 2020-07-31 2022-10-11 ウィンボンド エレクトロニクス コーポレーション 抵抗変化型クロスバーアレイ装置
US20220180164A1 (en) * 2020-12-07 2022-06-09 International Business Machines Corporation Worst Case Noise and Bound Management for RPU Crossbar Arrays
US20220207344A1 (en) * 2020-12-26 2022-06-30 International Business Machines Corporation Filtering hidden matrix training dnn
US11983604B2 (en) * 2021-07-16 2024-05-14 Hewlett Packard Enterprise Development Lp Quantum-inspired algorithms to solve intractable problems using classical computers
CN113505887B (zh) * 2021-09-12 2022-01-04 浙江大学 一种针对忆阻器误差的忆阻器存储器神经网络训练方法
KR102634665B1 (ko) * 2021-12-21 2024-02-07 포항공과대학교 산학협력단 뉴로모픽 반도체 소자 및 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013537678A (ja) 2010-06-14 2013-10-03 クロスバー, インコーポレイテッド 抵抗性メモリーデバイスの書き込み及び消去スキーム
US20160049195A1 (en) 2014-08-12 2016-02-18 Arizona Board Of Regents On Behalf Of Arizona State University Resistive cross-point architecture for robust data representation with arbitrary precision
US20160172033A1 (en) 2013-07-10 2016-06-16 Hewlett-Packard Development Company, L.P. Storage device write pulse control

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU5503194A (en) * 1993-02-22 1994-08-25 General Electric Company Single phase electronically commutated motor system and method
US9269043B2 (en) 2002-03-12 2016-02-23 Knowm Tech, Llc Memristive neural processor utilizing anti-hebbian and hebbian technology
US7668795B2 (en) 2004-11-02 2010-02-23 Fuji Xerox Co., Ltd. Data analyzer utilizing the spreading activation theory for stemming processing
US20070233761A1 (en) 2006-04-03 2007-10-04 Mouttet Blaise L Crossbar arithmetic processor
US8527438B2 (en) 2009-12-22 2013-09-03 International Business Machines Corporation Producing spike-timing dependent plasticity in an ultra-dense synapse cross-bar array
US8510239B2 (en) * 2010-10-29 2013-08-13 International Business Machines Corporation Compact cognitive synaptic computing circuits with crossbar arrays spatially in a staggered pattern
CN102663493A (zh) * 2012-03-23 2012-09-12 天津工业大学 一种用于时间序列预测的迟滞神经网络
US10395166B2 (en) 2013-09-04 2019-08-27 Lockheed Martin Corporation Simulated infrared material combination using neural network
US9715660B2 (en) 2013-11-04 2017-07-25 Google Inc. Transfer learning for deep neural network based hotword detection
US20150324690A1 (en) 2014-05-08 2015-11-12 Microsoft Corporation Deep Learning Training System
US10262733B2 (en) 2014-10-29 2019-04-16 Hewlett Packard Enterprise Development Lp Memristive dot product engine for vector processing
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10520975B2 (en) * 2016-03-03 2019-12-31 Regents Of The University Of Minnesota Polysynchronous stochastic circuits

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013537678A (ja) 2010-06-14 2013-10-03 クロスバー, インコーポレイテッド 抵抗性メモリーデバイスの書き込み及び消去スキーム
US20160172033A1 (en) 2013-07-10 2016-06-16 Hewlett-Packard Development Company, L.P. Storage device write pulse control
US20160049195A1 (en) 2014-08-12 2016-02-18 Arizona Board Of Regents On Behalf Of Arizona State University Resistive cross-point architecture for robust data representation with arbitrary precision

Also Published As

Publication number Publication date
US20180253642A1 (en) 2018-09-06
DE112018000272T5 (de) 2019-09-12
US10755170B2 (en) 2020-08-25
JP2020514886A (ja) 2020-05-21
WO2018158680A1 (en) 2018-09-07
GB2574168A (en) 2019-11-27
CN110352436B (zh) 2023-05-16
GB201913458D0 (en) 2019-10-30
CN110352436A (zh) 2019-10-18

Similar Documents

Publication Publication Date Title
JP6995131B2 (ja) 抵抗型処理ユニットアレイ、抵抗型処理ユニットアレイを形成する方法およびヒステリシス動作のための方法
Gokmen et al. Acceleration of deep neural network training with resistive cross-point devices: Design considerations
Thakur et al. Large-scale neuromorphic spiking array processors: A quest to mimic the brain
US11348002B2 (en) Training of artificial neural networks
Marinella et al. Multiscale co-design analysis of energy, latency, area, and accuracy of a ReRAM analog neural training accelerator
Boybat et al. Neuromorphic computing with multi-memristive synapses
Nandakumar et al. Mixed-precision deep learning based on computational memory
Long et al. Design of reliable DNN accelerator with un-reliable ReRAM
Chen et al. Mitigating effects of non-ideal synaptic device characteristics for on-chip learning
Yi et al. Activity-difference training of deep neural networks using memristor crossbars
US20200053299A1 (en) Image sensor with analog sample and hold circuit control for analog neural networks
US11188825B2 (en) Mixed-precision deep-learning with multi-memristive devices
JP2021507349A (ja) 抵抗処理ユニット・アレイのクロスポイント・デバイスに重みを記憶するための方法、そのクロスポイント・デバイス、ニューラル・ネットワークを実施するためのクロスポイント・アレイ、そのシステム、およびニューラル・ネットワークを実施するための方法
Roy et al. TxSim: Modeling training of deep neural networks on resistive crossbar systems
Merkel et al. Neuromemristive systems: boosting efficiency through brain-inspired computing
Hermans et al. Automated design of complex dynamic systems
Musisi-Nkambwe et al. The viability of analog-based accelerators for neuromorphic computing: a survey
US20240005162A1 (en) Error-triggered learning of multi-layer memristive spiking neural networks
Wang et al. Neuromorphic processors with memristive synapses: Synaptic interface and architectural exploration
Moitra et al. Spikesim: An end-to-end compute-in-memory hardware evaluation tool for benchmarking spiking neural networks
Bennett et al. Contrasting advantages of learning with random weights and backpropagation in non-volatile memory neural networks
US11817173B2 (en) Timing-based computer architecture systems and methods
Patiño-Saucedo et al. Empirical study on the efficiency of spiking neural networks with axonal delays, and algorithm-hardware benchmarking
Cao et al. A non-idealities aware software–hardware co-design framework for edge-AI deep neural network implemented on memristive crossbar
Li et al. An overview on memristor crossabr based neuromorphic circuit and architecture

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210812

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211108

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: 20211207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211214

R150 Certificate of patent or registration of utility model

Ref document number: 6995131

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150