JP7266330B2 - メモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法 - Google Patents
メモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法 Download PDFInfo
- Publication number
- JP7266330B2 JP7266330B2 JP2022006311A JP2022006311A JP7266330B2 JP 7266330 B2 JP7266330 B2 JP 7266330B2 JP 2022006311 A JP2022006311 A JP 2022006311A JP 2022006311 A JP2022006311 A JP 2022006311A JP 7266330 B2 JP7266330 B2 JP 7266330B2
- Authority
- JP
- Japan
- Prior art keywords
- memristor
- error
- neural network
- conductance
- weight
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0007—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising metal oxide memory material, e.g. perovskites
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Neurology (AREA)
- Computer Hardware Design (AREA)
- Probability & Statistics with Applications (AREA)
- Complex Calculations (AREA)
- Semiconductor Memories (AREA)
Description
本発明は、人工知能と記憶計算統合チップ応用分野に属し、具体的には、メモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法であり、プロセス誤差と動的誤差による記憶計算統合ニューラルネットワークチップの正確度の低下を効果的に減少することができる。
近年、メモリスタメモリに基づく記憶計算回路に関連する研究は、比較的に大きな進捗を取得し、このような回路の基本ユニットメモリスタは、不揮発性記憶デバイスであり、メモリスタの両端に異なるサイズの電流を印加することによってそのコンダクタンス値を改変し、さらにメモリスタの中に記憶されるデータを修正することができ、メモリスタを一定の方式で矩形アレイに配列し、且つ行、列方向に接続してメモリスタ記憶アレイを構成する。現在では、メモリスタメモリは、行列-ベクトル積演算によく用いられ、ニューラルネットワークの完全接続層計算を例として、それは、本質的には、重み行列と入力ベクトルに対して行列乗算演算を行って出力ベクトルを得る一回の操作であり、重みをメモリスタコンダクタンスの形式でメモリスタ記憶アレイに書き込み、且つ入力データを電圧の形式で行方向から入力し、列方向に電流の形式で出力ベクトルを得ることができる。CPU、GPU等の従来のコンピュータ体系と比べて、メモリスタメモリは、記憶、計算の二つの機能を融合し、データ移動を減少し、データスループットと計算の並列度を大幅に向上させ、エネルギー消費を低減させるとともに、メモリスタは、新型の不揮発性デバイスとして、従来のメモリと比べて、メモリスタメモリの記憶密度が大きく向上した。以上の優れた特性のため、メモリスタメモリに基づく新型計算チップは、現在で既にニューラルネットワーク計算等のようなデータ密集型アルゴリズムのエネルギ、時間効率を向上させる重要な手段となっている。
しかしながら、製造プロセスの制限のため、メモリスタメモリの製造は、プロセス誤差と動的誤差の影響をほぼ必然的に受けるため、実際の回路におけるデバイスパラメータにターゲット値と比べて一定の偏差が現れる。ニューラルネットワーク計算を例として、デバイスパラメータの変化は、メモリスタメモリ上に記憶されるニューラルネットワーク重みにそのターゲット値と比べて一定の偏差が現れ、プロセス誤差以外に、変動とノイズ等の動的誤差も重み値に影響を引き起こし、さらに正確率の低下をもたらし、且つこれらの問題は、大規模のメモリスタメモリに対する影響がより深刻である。以上のハードウェアの非理想的な要素により、メモリスタメモリの計算加速能力と実際の応用における複雑なアルゴリズムの急激な増長の計算ニーズとの間にさらに比較的に大きな差異が存在する。
本発明の目的は、従来の技術に存在する不足に対して、プロセス誤差と動的誤差に対するメモリスタメモリ指向のニューラルネットワークトレーニング方法を提供することにある。
本発明の目的は、以下の技術案によって実現され、メモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法は、以下のステップを含む。
(1)メモリスタメモリ上に配備されるニューラルネットワーク重みをプロセス誤差と動的誤差の影響下でモデリングすることは、以下のステップを含む。
(1-1)各重みに対応するメモリスタメモリ上の一つのメモリスタの実際のコンダクタンス値をターゲットコンダクタンス値、グローバルコンダクタンス誤差、局所コンダクタンス誤差と動的コンダクタンス誤差の四つの部分に分解し、
(1-2)局所コンダクタンス誤差と動的コンダクタンス誤差を、ターゲットコンダクタンス値を変数とする誤差関数の値と局所プロセス誤差及び動的誤差との積に近似し、
(1-3)局所プロセス誤差と動的誤差をそれぞれガウスランダム変数としてモデリングし、且つ両者が相互に独立し、
(1-4)ステップ(1-1)から(1-3)の結果を利用して、プロセス誤差と動的誤差の影響下での各重みに対応するメモリスタメモリ上の一つのメモリスタの実際のコンダクタンス値のモデリング表現を、ガウスランダム変数として得て、その平均値は、ターゲットコンダクタンス値とグローバルコンダクタンス誤差との和であり、分散は、ターゲットコンダクタンス値を変数とする誤差関数の値と、局所プロセス誤差と動的誤差に対応する二つのガウスランダム変数分散の和との乗算値であり、
(1-5)コンダクタンス値-重みのマッピング関係を利用して、上記モデリングによって得られるコンダクタンス値をニューラルネットワーク重みとしてマッピングし、重みの統計分布表現を得て、
(2)ステップ(1)の中でモデリングによって得られる重みの統計分布を事前分布として、変分事後に基づくベイズニューラルネットワークトレーニングを行い、重みの変分事後分布を得て、
(3)ステップ(2)の中で得られる重みの変分事後分布の平均値を計算し、コンダクタンス-重みマッピング関係を逆に使用してそれをコンダクタンスとしてマッピングし、メモリスタメモリ上のメモリスタの実際のコンダクタンス値とする。
(1-2)局所コンダクタンス誤差と動的コンダクタンス誤差を、ターゲットコンダクタンス値を変数とする誤差関数の値と局所プロセス誤差及び動的誤差との積に近似し、
(1-3)局所プロセス誤差と動的誤差をそれぞれガウスランダム変数としてモデリングし、且つ両者が相互に独立し、
(1-4)ステップ(1-1)から(1-3)の結果を利用して、プロセス誤差と動的誤差の影響下での各重みに対応するメモリスタメモリ上の一つのメモリスタの実際のコンダクタンス値のモデリング表現を、ガウスランダム変数として得て、その平均値は、ターゲットコンダクタンス値とグローバルコンダクタンス誤差との和であり、分散は、ターゲットコンダクタンス値を変数とする誤差関数の値と、局所プロセス誤差と動的誤差に対応する二つのガウスランダム変数分散の和との乗算値であり、
(1-5)コンダクタンス値-重みのマッピング関係を利用して、上記モデリングによって得られるコンダクタンス値をニューラルネットワーク重みとしてマッピングし、重みの統計分布表現を得て、
(2)ステップ(1)の中でモデリングによって得られる重みの統計分布を事前分布として、変分事後に基づくベイズニューラルネットワークトレーニングを行い、重みの変分事後分布を得て、
(3)ステップ(2)の中で得られる重みの変分事後分布の平均値を計算し、コンダクタンス-重みマッピング関係を逆に使用してそれをコンダクタンスとしてマッピングし、メモリスタメモリ上のメモリスタの実際のコンダクタンス値とする。
さらに、前記ステップ(1-2)において、ターゲットコンダクタンス値を変数とする誤差関数は、次の形式である。
ただし、cは、プロセス誤差と動的誤差レベルを表す定数であり、アプリケーションシナリオでの誤差レベルに基づいて設定され、g0は、メモリスタメモリ上の各メモリスタのターゲットコンダクタンス値で構成されるベクトルである。
ただし、cは、プロセス誤差と動的誤差レベルを表す定数であり、アプリケーションシナリオでの誤差レベルに基づいて設定され、g0は、メモリスタメモリ上の各メモリスタのターゲットコンダクタンス値で構成されるベクトルである。
さらに、前記ステップ(1-3)において、モデリングによって得られる局所プロセス誤差を特徴づけるためのガウスランダム変数Δrl及び動的誤差を特徴づけるためのガウスランダム変数Δrdは、それぞれ次のガウス分布を満たす。
ただし、
と
は、それぞれ二つのガウス分布の方差であり、いずれも実験によって測定され、Nは、ガウス分布を表す。
ただし、
と
は、それぞれ二つのガウス分布の方差であり、いずれも実験によって測定され、Nは、ガウス分布を表す。
さらに、前記ステップ(1-4)において、モデリングによって得られるプロセス誤差と動的誤差の影響下での各重みに対応するメモリスタメモリ上の一つのメモリスタの実際のコンダクタンス値は、次の形式である。
ただし、gは、実際のコンダクタンス値であり、g0は、ターゲットコンダクタンス値であり、Δggは、グローバルコンダクタンス誤差であり、
と
は、それぞれ二つのガウス分布の方差であり、パラメータは、いずれも実験によって測定される。
ただし、gは、実際のコンダクタンス値であり、g0は、ターゲットコンダクタンス値であり、Δggは、グローバルコンダクタンス誤差であり、
と
は、それぞれ二つのガウス分布の方差であり、パラメータは、いずれも実験によって測定される。
さらに、前記ステップ(1-5)において、コンダクタンス値-重みのマッピング関係によって得られるニューラルネットワーク重み
のi番目のエレメントwiは、次の形式である。
ただし、giは、i番目の重みに対応するメモリスタの実際のコンダクタンス値であり、μi、Ψ(μi)は、それぞれwiの平均値と分散であり、g0,iは、i番目の重みに対応するメモリスタのターゲットコンダクタンス値であり、Δgg,iは、i番目の重みに対応するメモリスタのグローバルコンダクタンス誤差であり、
と
は、それぞれi番目の重みに対応するメモリスタの局所プロセス誤差値と動的誤差値との分散であり、c0とc1は、コンダクタンス値-重みによって線形にマッピングされる二つの定数因子であり、次の方式で計算して得られる。
ただし、wmaxとwminは、それぞれニューラルネットワークの中の全ての重みの最大値と最小値であり、従来のニューラルネットワークトレーニングから取得されることができ、gmaxとgminは、それぞれメモリスタメモリ上のメモリスタによって調整可能なコンダクタンス範囲の最大値と最小値である。
のi番目のエレメントwiは、次の形式である。
ただし、giは、i番目の重みに対応するメモリスタの実際のコンダクタンス値であり、μi、Ψ(μi)は、それぞれwiの平均値と分散であり、g0,iは、i番目の重みに対応するメモリスタのターゲットコンダクタンス値であり、Δgg,iは、i番目の重みに対応するメモリスタのグローバルコンダクタンス誤差であり、
と
は、それぞれi番目の重みに対応するメモリスタの局所プロセス誤差値と動的誤差値との分散であり、c0とc1は、コンダクタンス値-重みによって線形にマッピングされる二つの定数因子であり、次の方式で計算して得られる。
ただし、wmaxとwminは、それぞれニューラルネットワークの中の全ての重みの最大値と最小値であり、従来のニューラルネットワークトレーニングから取得されることができ、gmaxとgminは、それぞれメモリスタメモリ上のメモリスタによって調整可能なコンダクタンス範囲の最大値と最小値である。
さらに、前記ステップ(2)において、ニューラルネットワーク重みwの変分事後分布q(w|θ)は、ガウス分布であり、θは、ガウス分布のパラメータであり、平均値と分散とを含み、変分推論に基づくベイズニューラルネットワークトレーニングのターゲット関数は、次の形式である。
ただし、g0は、ニューラルネットワークの全ての重みに対応するメモリスタメモリ上の各メモリスタのターゲットコンダクタンス値で構成されるベクトルであり、P(D|w)は、尤度であり、
は、ランダム変数の期待を求めるものであり、KL[・||・]は、二つの分布の相対エントロピを求めるものであり、P(w)は、重み事前分布であり、Dは、ニューラルネットワークトレーニングセットである。
ただし、g0は、ニューラルネットワークの全ての重みに対応するメモリスタメモリ上の各メモリスタのターゲットコンダクタンス値で構成されるベクトルであり、P(D|w)は、尤度であり、
は、ランダム変数の期待を求めるものであり、KL[・||・]は、二つの分布の相対エントロピを求めるものであり、P(w)は、重み事前分布であり、Dは、ニューラルネットワークトレーニングセットである。
本発明の有益な効果は、メモリスタメモリ指向のニューラルネットワークトレーニング方法を提供し、トレーニングによって得られるモデルがプロセス誤差と動的誤差の影響を受けるメモリスタメモリ上に配備されて推論を行う時に、従来のコンピュータプラットフォームを用いて推論するニューラルネットワークと相当する正確率を実現することができ、従来のニューラルネットワークトレーニング方法と比べて、本発明は、正確率の大幅な向上をもたらし、正確率を確保する場合に、従来のコンピュータと比べてニューラルネットワーク計算面でのメモリスタメモリに基づく計算アーキティクチャの大きなエネルギ効率の優位性を十分に利用したことである。
以下では、添付図面を結び付けて、本発明の技術案と効果をさらに詳細に説明する。
メモリスタメモリは、効率的な行列-ベクトル積演算を実現することができ、それにより常にニューラルネットワーク計算加速等のシナリオに応用され、学術界から大きな注目を集めている。メモリスタメモリの基本的な構造は、図1に示すように、現在では、ほとんどのメモリスタメモリは、プロセス誤差と動的誤差等のハードウェアの非理想的な要素の影響に直面し、このような影響は、ニューラルネットワークの重み値がコンダクタンスの形式でメモリスタに書き込まれる時にランダムのオフセットが発生し、図1に示すように、さらにニューラルネットワークの推論正確率に影響し、且つ正確率が低下する幅は、ネットワーク規模の増加につれて急激に増長し、それは、メモリスタメモリが大型で、複雑なニューラルネットワークに用いられる能力を制限する。
以上の問題に対して、本発明は、メモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法を提供し、その全体的フローと効果概略図は、図2に示すように、具体的な実現ステップは、以下の通りである。
(1)メモリスタメモリ上に配備されるニューラルネットワーク重みをプロセス誤差とランダムノイズ等の回路の非理想的な要素の影響下でモデリングし、本ステップの具体的な実現プロセスは、以下の通りである。
(1-1)非理想的な要素の影響を考慮した場合、ニューラルネットワーク重み
に対応するメモリスタメモリ上のn個のメモリスタの実際のコンダクタンス値
を以下の四つの部分に分解する。
ただし、g0は、メモリスタメモリ上のメモリスタのターゲットコンダクタンス値で構成されるベクトルを表し、Δggは、メモリスタメモリ上のメモリスタのターゲットコンダクタンス値に対するグローバルプロセス誤差の影響(以下、グローバルコンダクタンス誤差と呼ばれる)で構成されるベクトルを表し、同一のチップ上の全てのデバイスに対する該当分量の影響は、同じであり、Δg1は、メモリスタメモリ上のメモリスタのターゲットコンダクタンス値に対する局所プロセス誤差の影響(以下、局所コンダクタンス誤差と呼ばれる)で構成されるベクトルを記述するものであり、Δgdは、メモリスタメモリ上のメモリスタのターゲットコンダクタンス値に対する動的誤差の影響(以下、動的コンダクタンス誤差と呼ばれる)で構成されるベクトルであり、
(1-2)局所コンダクタンス誤差、動的コンダクタンス誤差に対して次の近似を応用する。
ただし、
は、行列のアダマール積を表し、Δrlは、局所プロセス誤差を表し、Δrdは、動的誤差を表し、f(g0)は、ターゲットコンダクタンス値g0を一意の変数とする関数であり、その数式は、以下の通りである。
ただし、cは、クロスポイントアレイコンダクタンス値に対する誤差rの影響程度を記述する定数であり、実験によって測定されるものであり、(1-3)は、局所プロセス誤差Δrlと動的誤差Δrdをそれぞれガウスランダム変数としてモデリングし、且つ両者の間は、相互に独立し、得られる分布形式は、以下の通りである。
ただし、
は、n次ゼロベクトルを表し、
は、メモリスタメモリ上のn個のメモリスタの局所プロセス誤差の分散で構成されるベクトルを表し、
は、メモリスタメモリ上のn個のメモリスタの動的誤差の分散で構成されるベクトルを表し、
と
は、いずれも実験によって測定されることができ、
(1-4)ステップ(1-1)-(1-3)の結果を利用して、プロセス誤差と動的誤差の影響下でのニューラルネットワーク重みに対応するメモリスタメモリ上のメモリスタの実際のコンダクタンス値gのモデリング表現を、次のガウスランダム変数として得る。
ただし
は、行列のアダマール積を表し、
(1-5)コンダクタンス値-重みマッピング関係を利用して、ステップ(1-4)の中で得られるプロセス誤差と動的誤差の影響下でのメモリスタメモリ上のメモリスタの実際のコンダクタンス値コンダクタンスをニューラルネットワーク重みとしてマッピングし、マッピング関係式及び得られる重みwの統計分布表現は、以下の通りである。
ただし、μi、Ψ(μi)は、それぞれwの平均値と分散であり、c0とc1は、コンダクタンス値-重みによって線形にマッピングされる二つの定数因子であり、次の方式で計算して得られる。
ただし、wmaxとwminは、それぞれニューラルネットワークの中の全ての重みの最大値と最小値であり、従来のニューラルネットワークトレーニングから取得されることができ、gmaxとgminは、それぞれメモリスタメモリ上のメモリスタによって調整可能なコンダクタンス範囲の最大値と最小値であり、ここまで、プロセス誤差と動的誤差の影響下でのクロスポイントアレイ上の実際の重み値に対するモデリングが完了する。
に対応するメモリスタメモリ上のn個のメモリスタの実際のコンダクタンス値
を以下の四つの部分に分解する。
ただし、g0は、メモリスタメモリ上のメモリスタのターゲットコンダクタンス値で構成されるベクトルを表し、Δggは、メモリスタメモリ上のメモリスタのターゲットコンダクタンス値に対するグローバルプロセス誤差の影響(以下、グローバルコンダクタンス誤差と呼ばれる)で構成されるベクトルを表し、同一のチップ上の全てのデバイスに対する該当分量の影響は、同じであり、Δg1は、メモリスタメモリ上のメモリスタのターゲットコンダクタンス値に対する局所プロセス誤差の影響(以下、局所コンダクタンス誤差と呼ばれる)で構成されるベクトルを記述するものであり、Δgdは、メモリスタメモリ上のメモリスタのターゲットコンダクタンス値に対する動的誤差の影響(以下、動的コンダクタンス誤差と呼ばれる)で構成されるベクトルであり、
(1-2)局所コンダクタンス誤差、動的コンダクタンス誤差に対して次の近似を応用する。
ただし、
は、行列のアダマール積を表し、Δrlは、局所プロセス誤差を表し、Δrdは、動的誤差を表し、f(g0)は、ターゲットコンダクタンス値g0を一意の変数とする関数であり、その数式は、以下の通りである。
ただし、cは、クロスポイントアレイコンダクタンス値に対する誤差rの影響程度を記述する定数であり、実験によって測定されるものであり、(1-3)は、局所プロセス誤差Δrlと動的誤差Δrdをそれぞれガウスランダム変数としてモデリングし、且つ両者の間は、相互に独立し、得られる分布形式は、以下の通りである。
ただし、
は、n次ゼロベクトルを表し、
は、メモリスタメモリ上のn個のメモリスタの局所プロセス誤差の分散で構成されるベクトルを表し、
は、メモリスタメモリ上のn個のメモリスタの動的誤差の分散で構成されるベクトルを表し、
と
は、いずれも実験によって測定されることができ、
(1-4)ステップ(1-1)-(1-3)の結果を利用して、プロセス誤差と動的誤差の影響下でのニューラルネットワーク重みに対応するメモリスタメモリ上のメモリスタの実際のコンダクタンス値gのモデリング表現を、次のガウスランダム変数として得る。
ただし
は、行列のアダマール積を表し、
(1-5)コンダクタンス値-重みマッピング関係を利用して、ステップ(1-4)の中で得られるプロセス誤差と動的誤差の影響下でのメモリスタメモリ上のメモリスタの実際のコンダクタンス値コンダクタンスをニューラルネットワーク重みとしてマッピングし、マッピング関係式及び得られる重みwの統計分布表現は、以下の通りである。
ただし、μi、Ψ(μi)は、それぞれwの平均値と分散であり、c0とc1は、コンダクタンス値-重みによって線形にマッピングされる二つの定数因子であり、次の方式で計算して得られる。
ただし、wmaxとwminは、それぞれニューラルネットワークの中の全ての重みの最大値と最小値であり、従来のニューラルネットワークトレーニングから取得されることができ、gmaxとgminは、それぞれメモリスタメモリ上のメモリスタによって調整可能なコンダクタンス範囲の最大値と最小値であり、ここまで、プロセス誤差と動的誤差の影響下でのクロスポイントアレイ上の実際の重み値に対するモデリングが完了する。
(2)ステップ(1)の中でモデリングによって得られる実際の重みwの分布形式をベイズネットワークの事前分布として、変分推論に基づくベイズニューラルネットワークトレーニングを行い、重みwの変分事後分布q(w|θ)を得て、ただし、θは、事後分布形式を制御するパラメータであり、具体的には、以下のステップを含む。
(2-1)一組のパラメータθで制御される一組のガウス分布q(w|θ)を構築し、ただし、パラメータθは、各ガウス分布の平均値と標準差を表し、
(2-2)以下のターゲット関数を最小化する。
重みwの変分事後分布q(w|θ)を得て、ただし、g0は、ニューラルネットワークの全ての重みに対応するメモリスタメモリ上の各メモリスタのターゲットコンダクタンス値で構成されるベクトルであり、P(D|w)は、尤度であり、
は、ランダム変数の期待を求めるものであり、KL[・||・]は、二つの分布の相対エントロピであり、P(w)は、重み事前分布であり、Dは、ニューラルネットワークトレーニングセットである。
(2-2)以下のターゲット関数を最小化する。
重みwの変分事後分布q(w|θ)を得て、ただし、g0は、ニューラルネットワークの全ての重みに対応するメモリスタメモリ上の各メモリスタのターゲットコンダクタンス値で構成されるベクトルであり、P(D|w)は、尤度であり、
は、ランダム変数の期待を求めるものであり、KL[・||・]は、二つの分布の相対エントロピであり、P(w)は、重み事前分布であり、Dは、ニューラルネットワークトレーニングセットである。
(3)重みwの変分事後q(w|θ)の平均値θμを取り、重み-コンダクタンスマッピング関係を用いてそれをコンダクタンスとしてマッピングし、クロスポイントアレイに書き込むためのターゲットコンダクタンス値gwを得る。
本発明によって提供されるロバスト性最適化方法は、実際の状況での回路における様々な非理想的な要素の影響を十分に考慮し、且つニューラルネットワーク重みに対するその影響を十分に総括してモデリングし、得られるモデルをベイズネットワークを利用してトレーニングした後、ロバスト性が比較的に高い重み事後分布を得て、これらの重み分布の平均値をクロスポイントアレイに書き込むターゲット重みとして取って、書き込んだ後に回路プロセス誤差と動的ノイズの影響を受けて、その実際値がターゲット値から一定の偏差があっても、比較的に高いニューラルネットワークの推論正確率を取得することができる。従来の決定的な重みに基づくニューラルネットワークトレーニング方法と比べて、本発明によって提供される方法は、回路の非理想的な要素の事前情報を利用して、メモリスタメモリに基づくニューラルネットワーク計算を行う面で大きい優位性を有し、他の統計学習方法と比べて、ベイズネットワークは、表現が明確で、原理が明瞭で、操作が簡単で、性能がより優れた等という特徴を有し、実際の応用において著しい優位性を有する。
以下では、実例及び実験結果を結び付けて本発明の効果をさらに記述する。
実例1:一般性を失わず、一つの多層ベイズコンボリューショナルニューラルネットワークBLeNetとデータ及びMNISTの実例を構築し、python+Pytorchを本実例のソフトウェアプラットフォームとして用いる。
本実例に係る多層ベイズコンボリューショナルニューラルネットワークBLeNetは、古典的なコンボリューショナルニューラルネットワークLeNetに基づくものであり、その構造は、二つのコンボリューション層と、二つのプーリング層と、三つの完全接続層とを含み、各層のパラメータは、以下の通りである。
コンボリューション層Conv1:6つの5*5*1のコンボリューションカーネルを有し、仕様が32*32*1である原始データセット画像を入力し、規模が28*28*6である特徴図を出力する。
プーリング層P2:14*14*6の特徴図を出力し、各出力特徴図のユニットは、入力特徴図の一つの互いに重ならない2*2近傍における4つのユニットに接続され、その値は、その対応する4つのユニットの値を平均するものであり、
コンボリューション層Conv3:16個の5*5*6のコンボリューションカーネルを有し、仕様が14*14*6である特徴図を入力し、仕様が10*10*16の特徴図を出力する。
コンボリューション層Conv3:16個の5*5*6のコンボリューションカーネルを有し、仕様が14*14*6である特徴図を入力し、仕様が10*10*16の特徴図を出力する。
プーリング層P4:5*5*16の出力特徴図を生成し、各出力特徴図のユニットは、入力特徴図の一つの互いに重ならない2*2近傍における4つのユニットに接続され、その値は、その対応する4つのユニットの値を平均するものであり、
完全接続層FC5:入力特徴ベクトルは、P4の入力特徴図を展開して得られる長さが400であるベクトルであり、出力特徴ベクトルの長さは、120であり、
完全接続層FC6:入力特徴ベクトルの長さは、120であり、出力特徴ベクトルの長さは、84であり、
完全接続層FC7:入力特徴ベクトルの長さは、84であり、出力特徴ベクトルの長さは、10であり、
コンボリューション層と完全接続層における活性化関数は、いずれもReLU関数を選択する。
完全接続層FC5:入力特徴ベクトルは、P4の入力特徴図を展開して得られる長さが400であるベクトルであり、出力特徴ベクトルの長さは、120であり、
完全接続層FC6:入力特徴ベクトルの長さは、120であり、出力特徴ベクトルの長さは、84であり、
完全接続層FC7:入力特徴ベクトルの長さは、84であり、出力特徴ベクトルの長さは、10であり、
コンボリューション層と完全接続層における活性化関数は、いずれもReLU関数を選択する。
本実例によって使用されるMNISTデータセットは、60000個のトレーニングサンプルと10000個のテストサンプルとを含み、各サンプルは、いずれも一つの28*28画素のグレースケール手書き数字ピクチャであり、各ピクチャは、数字0~9の中の一つの数字を含み、ピクチャに含まれる数字によって、全てのデータセットを10つのカテゴリに分けることができる。データセットをネットワーク構造にマッチングさせるために、周辺にゼロパディングを行うことによって、MNISTデータセットの28*28の画像を32*32画素に充填し、入力Conv1層の特徴図とする。
ベイズニューラルネットワークを用いてトレーニングするために、Pytorchの中のコンボリューション層、完全接続層を部分的に改造する必要がある。
ベイズニューラルネットワークは、ベイズ推論に基づいたものであり、数理統計ベイズ学派に属するベイズ確率論のパラメータ推定方法であり、ベイズ確率論は、物事が一定の不確定性を有すると仮設し(すなわちシステムにおける推定対象変数をランダム変数とみなし、パラメータ推定の目的は、該当推定対象変数の真値ではなく、この推定対象変数の分布を見つけて又はそれに近接することである)、且つ観察者は、物事に対してある知識状態にあり(すなわちシステムにおける全ての推定対象変数は、いずれも一定の事前分布を有し、該当事前分布は、観察者の前の知識によって知ることができる)、ベイズ推論は、サンプルによって表現される特性を観察することによって、事前確率分布を部分的に修正し、推定対象ランダム変数事後分布を得て、すなわち推定対象変数に対するサンプルに基づく推定結果である。
図3に示すように、ベイズニューラルネットワークと従来のニューラルネットワークとのトレーニング方法の比較模式図であり、ベイズニューラルネットワークは、人工ニューラルネットワーク(ANN)と類似するネットワーク構造を有し、それは、真値ではなく、全てのトレーニング対象パラメータの事後分布を学習ターゲットと見なし、すなわちネットワークのコンボリューション層、完全接続層等の重み、オフセット等のパラメータは、ある決定される値ではなく、統計分布形式を使用すべきであり、実際の応用において、任意の規模のニューラルネットワークに対して、パラメータの正確な事後分布は、いずれも解けないものであるため、事後分布は、一般的にはガウス分布近似で代替され、又は変分事後分布と呼ばれ、トレーニング対象パラメータ分布に対する推定は、さらに、トレーニング対象パラメータの変分事後の平均値、分散に対する点推定に転換される。
本例において、ベイズコンボリューション層(BConv)及びベイズ完全接続層(BFC)を定義する必要があり、ベイズコンボリューション層BConvを例として、BConv層に含まれる全ての重みwの変分事後分布q(w|θ)の平均値θμと分散θσをPytorchモデルパラメータ(Parameter)に同時に登録する。ランダム変数の間の計算に対して、モンテカルロ方法を採用し、すなわちベイズモデルにおけるランダム変数を複数回サンプリングし、サンプリング値で決定的な計算を行い、最終的に決定的な出力を得て、具体的には、前方伝播を行う場合、一つのサンプルを入力するごとに、重みwの変分事後分布の平均値θμと分散θσに基づいてサンプリングを行い、前方計算を行うための重みサンプリング値wsを得て、後方伝播を行う場合、重みwの変分事後分布に対する決定的なターゲット関数の平均値θμと分散θσに対して勾配を計算し、且つ両者を更新すれば、一ラウンドのトレーニングを完了する。
ベイズネットワークトレーニング時に必要とする重み事前分布P(w)を得るために、明細書におけるステップ(1)に従って重みモデリングを行い、プロセス誤差と動的誤差の影響下での重みの統計分布を得る。
対応するメモリスタの実際のコンダクタンス値の統計分布は、以下の通りである。
上記分布において、g0は、トレーニング対象パラメータであり、Δgg、
と
は、実験測定によって取得される必要がある量であり、一般性を失わず、メモリスタメモリ上のある特定の位置上の一つのメモリスタを例として、測定方法は、以下の通りである。
対応するメモリスタの実際のコンダクタンス値の統計分布は、以下の通りである。
上記分布において、g0は、トレーニング対象パラメータであり、Δgg、
と
は、実験測定によって取得される必要がある量であり、一般性を失わず、メモリスタメモリ上のある特定の位置上の一つのメモリスタを例として、測定方法は、以下の通りである。
(1)同じ設計の複数枚のメモリスタメモリチップを製造し、あるターゲットコンダクタンス値を同じ方法でこれらのメモリスタメモリチップにおける該当特定の位置上のメモリスタに書き込み、該当特定の位置上のメモリスタの実際のコンダクタンス値を複数回測定し、該当特定の位置上のメモリスタの実際のコンダクタンス値の測定値を得て、ターゲットコンダクタンス値との差を求めれば、全てのメモリスタメモリチップ上の該当特定の位置上のメモリスタのコンダクタンス誤差を得て、
(2)全てのメモリスタメモリチップ上の該当特定の位置上のメモリスタのコンダクタンス誤差に対して平均値を求めれば、該当特定の位置上のメモリスタのグローバルコンダクタンス誤差を得ることができ、同様の方法で測定すれば、全ての位置上のメモリスタのグローバルコンダクタンス誤差Δggを得ることができ、異なるターゲットコンダクタンス値を選択してもよく、上記ステップを複数回繰り返して平均値を求めることにより、得られたグローバルコンダクタンス誤差の信頼性を向上させ、
(3)(2)で得られるグローバルコンダクタンス誤差を利用して、誤差関数f(g0+Δgg)を用いて、該当特定の位置上のメモリスタの誤差関数値を計算し、該当特定の位置上のメモリスタのコンダクタンス誤差をこの誤差関数値で除算して、該当特定の位置上のメモリスタのプロセス誤差と動的誤差値を得て、且つ全てのメモリスタメモリチップの該当特定の位置上のメモリスタのプロセス誤差と動的誤差値に対してサンプル分散を計算すれば、
を得ることができる。
(2)全てのメモリスタメモリチップ上の該当特定の位置上のメモリスタのコンダクタンス誤差に対して平均値を求めれば、該当特定の位置上のメモリスタのグローバルコンダクタンス誤差を得ることができ、同様の方法で測定すれば、全ての位置上のメモリスタのグローバルコンダクタンス誤差Δggを得ることができ、異なるターゲットコンダクタンス値を選択してもよく、上記ステップを複数回繰り返して平均値を求めることにより、得られたグローバルコンダクタンス誤差の信頼性を向上させ、
(3)(2)で得られるグローバルコンダクタンス誤差を利用して、誤差関数f(g0+Δgg)を用いて、該当特定の位置上のメモリスタの誤差関数値を計算し、該当特定の位置上のメモリスタのコンダクタンス誤差をこの誤差関数値で除算して、該当特定の位置上のメモリスタのプロセス誤差と動的誤差値を得て、且つ全てのメモリスタメモリチップの該当特定の位置上のメモリスタのプロセス誤差と動的誤差値に対してサンプル分散を計算すれば、
を得ることができる。
ここまで、トレーニング対象パラメータg0以外、BLeNetにおけるパラメータの事前分布の形式が既に決定されている。
BLeNetのターゲット関数は、以下の通りである。
この関数において、第一項
は、尤度コストであり、尤度P(D|w)は、分類器出力ベクトルとサンプルラベル(label)とのクロスエントロピで代替されてもよく、尤度コストは、トレーニングセットに対するモデルパラメータの契合程度を反応し、契合程度が高いほど、この項が小さく、第二項
は、複雑性コストであり、パラメータの事後分布と事前分布との類似度(KL発散又は相対エントロピ)を反応し、類似度が高いほど、この項が小さい。
この関数において、第一項
は、尤度コストであり、尤度P(D|w)は、分類器出力ベクトルとサンプルラベル(label)とのクロスエントロピで代替されてもよく、尤度コストは、トレーニングセットに対するモデルパラメータの契合程度を反応し、契合程度が高いほど、この項が小さく、第二項
は、複雑性コストであり、パラメータの事後分布と事前分布との類似度(KL発散又は相対エントロピ)を反応し、類似度が高いほど、この項が小さい。
BLeNetのトレーニングプロセスは、バッチ勾配降下法(mini-BatchGradientDescent)を利用してELBOを最小化し、トレーニングプロセスにおいて、従来の人工ニューラルネットワークトレーニングに使用されるモーメンタム(Momentum)等の方法を利用してモデル収束を加速し、トレーニング対象パラメータは、事前分布に含まれるターゲットコンダクタンス値g0、及びモデルにおける重み、オフセット等のパラメータの変分事後分布の平均値と分散であり、トレーニングした後のモデルパラメータの変分事後分布を得ることができる。
上記モデルパラメータの変分事後分布は、平均値と分散によって決定されるガウス分布であり、且つトレーニングプロセスにおける複雑性コストの存在のため、事後分布には一定の分散があることにより、事前分布と全体的に比較的に高い類似度を保持するとともに、尤度コストの存在及びトレーニングプロセスにおける事後分布に対するサンプリング操作のため、パラメータ事後分布の平均値からあまり離れていないパラメータサンプリング値も、ニューラルネットワークに比較的に高い推論正確率を備えさせることができ、それは、メモリスタメモリに基づくニューラルネットワーク計算に一定のロバスト性を備えさせる。
一つの特定のメモリスタメモリチップ上の一つの特定のメモリスタにとって、そのコンダクタンス値は、一つのランダム変数ではなく、一つの決定値であるため、メモリスタメモリ上で運行するニューラルネットワークは、ベイズニューラルネットワークではなく、従来の人工ニューラルネットワークであるべきである。
以上の事実に基づき、トレーニングによって得られるBLeNetのパラメータの変分事後分布に対して平均値を取り、メモリスタメモリ上で運行するLeNetの重み値として、重み-コンダクタンスによる線形マッピング変換を経た後、ターゲットコンダクタンス値としてメモリスタメモリに書き込み、書き込みプロセスにおいてプロセス誤差と動的誤差の影響下で、ターゲットコンダクタンス値に対して実際のコンダクタンス値に一定のずれが発生しても、メモリスタメモリ上で運行するニューラルネットワークに比較的に高い推論正確率を保持させることができる。
本実例の効果は、図4に示すように、図において、ρpvは、プロセス誤差レベルであり、グローバルコンダクタンス誤差Δgg及び局所プロセス誤差の分散
を反応し、ρdvは、動的誤差レベルであり、動的誤差の分散
を反応し、図において、グレースケールは、ニューラルネットワークの推論正確率Accに関連し、グレースケールが黒いほど、推論正確率が低いことを表す。
を反応し、ρdvは、動的誤差レベルであり、動的誤差の分散
を反応し、図において、グレースケールは、ニューラルネットワークの推論正確率Accに関連し、グレースケールが黒いほど、推論正確率が低いことを表す。
図において、黒い破線で表されるΔinf=0.1%等高線が示されており、ただし、Δinfは、推論正確率の相対的な低下因子であり、それは、以下のように定義される。
ただし、理想的な場合での推論正確率とは、従来の決定的なネットワークパラメータに基づくニューラルネットワークトレーニング方法を応用し、従来のフォン・ノイマン型アーキテクチャのようなコンピュータプラットフォームでニューラルネットワークのトレーニングと推論を行って得られる推論正確率である。
ただし、理想的な場合での推論正確率とは、従来の決定的なネットワークパラメータに基づくニューラルネットワークトレーニング方法を応用し、従来のフォン・ノイマン型アーキテクチャのようなコンピュータプラットフォームでニューラルネットワークのトレーニングと推論を行って得られる推論正確率である。
従来の決定的なネットワークパラメータに基づくニューラルネットワークトレーニング方法を応用し、MNISTデータセットを用いてトレーニングしてLeNetモデルを得て、異なるレベルのプロセス誤差と動的誤差下で、該当LeNetモデルの重み値に対応する誤差値を加えて実際の重み値を得て、該当実際の重み値を用いてテストセット上で推論を行い、対応する推論正確率とプロセス誤差レベルρpv及び動的誤差レベルρdvの関係は、図4の左側に示すように、結果は、誤差レベルが徐々に上昇することにつれて、推論正確率の低下が非常に深刻であり、右上角の領域において、推論正確率が0.3以下に低下することを示し、理想的な場合で、LeNetのMNISTデータセット上での推論正確率は、一般的には95%を超える。
それに対応して、本方法を用いてBLeNetトレーニングを行い、且つトレーニングによって得られるモデルパラメータの事後分布に対して平均値を取り、且つ該当事後分布の平均値をメモリスタメモリに書き込み、対応するメモリスタメモリに基づくLeNetの推論正確率、対応する推論正確率とプロセス誤差レベルρpv及び動的誤差レベルρdvの関係は、図4の右側に示すように、結果は、誤差レベルが徐々に上昇することにつれて、推論正確率の低下が非常に限られており、且つ図示されるプロセス誤差と動的誤差範囲内に、常に0.7以上の推論正確率を維持することができ、従来のトレーニング方法を用いることに比べて、大幅に向上しており、特に、図4の右側に示される推論正確率の相対的な低下因子Δinf=0.1%等高線によって囲まれる面積は、図4の左側に示されるものよりも著しく増大していることを示し、本発明がメモリスタメモリに基づくニューラルネットワーク推論の正確性に対して良好な最適化効果を有することを意味している。
実例2:実例1と類似する方法に従って、コンボリューショナルニューラルネットワークAlexNetに基づいてベイズコンボリューショナルニューラルネットワークBAlexNetを構築し、プロセス誤差と動的誤差のモデリング結果を用いて、BAlexNetのために事前を提供し、それぞれCIFAR-10とCIFAR-100データセットを用いて、ベイズニューラルネットワークトレーニングを行い、トレーニングによって得られる重み事後分布の平均値をメモリスタメモリに基づくニューラルネットワーク重みとして、その推論正確率をテストし、推論正確率の相対的な低下因子Δinfを計算し、従来のトレーニング方法で得られるデータと比較し、比較結果は、表1に示すように、それは、複雑で大型のニューラルネットワークモデルに対して、本発明を応用してトレーニングを行うと、メモリスタメモリ上で計算を行う時にも比較的に低い正確率の低下を維持することができ、従来の方法と比べて最適化の効果が明らかであることを示す。
表1 推論正確率の相対的な低下因子Δinf
以上を纏めると、本発明によって提供されるプロセス誤差と動的誤差に対するメモリスタメモリ指向のニューラルネットワークトレーニング方法は、実験において取得されるプロセス誤差と動的ノイズ等の回路の非理想的な要素に対する認識に基づき、クロスポイントアレイのコンダクタンス値(すなわちニューラルネットワーク重み)に対するプロセス誤差と動的ノイズ等の非理想的な要素の影響に対してモデリングを行い、変分推論に基づくベイズニューラルネットワークトレーニング方法を利用してトレーニングを行って重みの事後分布を得て、本発明は、回路の非理想的な要素等の事前知識及びベイズネットワークのロバスト特性を十分に利用して、メモリスタメモリに基づくニューラルネットワーク計算の推論正確率の最適化を実現し、メモリスタメモリを用いてニューラルネットワーク加速を行うことに実際の応用実行性を備えさせる。
以上を纏めると、本発明によって提供されるプロセス誤差と動的誤差に対するメモリスタメモリ指向のニューラルネットワークトレーニング方法は、実験において取得されるプロセス誤差と動的ノイズ等の回路の非理想的な要素に対する認識に基づき、クロスポイントアレイのコンダクタンス値(すなわちニューラルネットワーク重み)に対するプロセス誤差と動的ノイズ等の非理想的な要素の影響に対してモデリングを行い、変分推論に基づくベイズニューラルネットワークトレーニング方法を利用してトレーニングを行って重みの事後分布を得て、本発明は、回路の非理想的な要素等の事前知識及びベイズネットワークのロバスト特性を十分に利用して、メモリスタメモリに基づくニューラルネットワーク計算の推論正確率の最適化を実現し、メモリスタメモリを用いてニューラルネットワーク加速を行うことに実際の応用実行性を備えさせる。
上記実施例は、本発明を解釈して説明するためのものであり、本発明を制限するものではなく、本発明の精神と請求項の保護範囲内に、本発明に加えられたいかなる修正と改変は、いずれも本発明の保護範囲に入る。
(付記)
(付記1)
メモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法であって、以下のステップを含む。
(1)メモリスタメモリ上に配備されるニューラルネットワーク重みをプロセス誤差と動的誤差の影響下でモデリングすることは、以下のステップを含む。
(1-1)各重みに対応するメモリスタメモリ上の一つのメモリスタの実際のコンダクタンス値をターゲットコンダクタンス値、グローバルコンダクタンス誤差、局所コンダクタンス誤差と動的コンダクタンス誤差の四つの部分に分解し、
(1-2)局所コンダクタンス誤差と動的コンダクタンス誤差を、ターゲットコンダクタンス値を変数とする誤差関数の値と局所プロセス誤差及び動的誤差との積に近似し、
(1-3)局所プロセス誤差と動的誤差をそれぞれガウスランダム変数としてモデリングし、且つ両者が相互に独立し、
(1-4)ステップ(1-1)から(1-3)の結果を利用して、プロセス誤差と動的誤差の影響下での各重みに対応するメモリスタメモリ上の一つのメモリスタの実際のコンダクタンス値のモデリング表現を、ガウスランダム変数として得て、その平均値は、ターゲットコンダクタンス値とグローバルコンダクタンス誤差との和であり、分散は、ターゲットコンダクタンス値を変数とする誤差関数の値と、局所プロセス誤差と動的誤差に対応する二つのガウスランダム変数分散の和との乗算値であり、
(1-5)コンダクタンス値-重みのマッピング関係を利用して、上記モデリングによって得られるコンダクタンス値をニューラルネットワーク重みとしてマッピングし、重みの統計分布表現を得て、
(2)ステップ(1)の中でモデリングによって得られる重みの統計分布を事前分布として、変分事後に基づくベイズニューラルネットワークトレーニングを行い、重みの変分事後分布を得て、
(3)ステップ(2)の中で得られる重みの変分事後分布の平均値を計算し、コンダクタンス-重みマッピング関係を逆に使用してそれをコンダクタンスとしてマッピングし、メモリスタメモリ上のメモリスタの実際のコンダクタンス値とする、ことを特徴とするメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法。
(付記1)
メモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法であって、以下のステップを含む。
(1)メモリスタメモリ上に配備されるニューラルネットワーク重みをプロセス誤差と動的誤差の影響下でモデリングすることは、以下のステップを含む。
(1-1)各重みに対応するメモリスタメモリ上の一つのメモリスタの実際のコンダクタンス値をターゲットコンダクタンス値、グローバルコンダクタンス誤差、局所コンダクタンス誤差と動的コンダクタンス誤差の四つの部分に分解し、
(1-2)局所コンダクタンス誤差と動的コンダクタンス誤差を、ターゲットコンダクタンス値を変数とする誤差関数の値と局所プロセス誤差及び動的誤差との積に近似し、
(1-3)局所プロセス誤差と動的誤差をそれぞれガウスランダム変数としてモデリングし、且つ両者が相互に独立し、
(1-4)ステップ(1-1)から(1-3)の結果を利用して、プロセス誤差と動的誤差の影響下での各重みに対応するメモリスタメモリ上の一つのメモリスタの実際のコンダクタンス値のモデリング表現を、ガウスランダム変数として得て、その平均値は、ターゲットコンダクタンス値とグローバルコンダクタンス誤差との和であり、分散は、ターゲットコンダクタンス値を変数とする誤差関数の値と、局所プロセス誤差と動的誤差に対応する二つのガウスランダム変数分散の和との乗算値であり、
(1-5)コンダクタンス値-重みのマッピング関係を利用して、上記モデリングによって得られるコンダクタンス値をニューラルネットワーク重みとしてマッピングし、重みの統計分布表現を得て、
(2)ステップ(1)の中でモデリングによって得られる重みの統計分布を事前分布として、変分事後に基づくベイズニューラルネットワークトレーニングを行い、重みの変分事後分布を得て、
(3)ステップ(2)の中で得られる重みの変分事後分布の平均値を計算し、コンダクタンス-重みマッピング関係を逆に使用してそれをコンダクタンスとしてマッピングし、メモリスタメモリ上のメモリスタの実際のコンダクタンス値とする、ことを特徴とするメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法。
(付記2)
付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法であって、前記ステップ(1-2)において、ターゲットコンダクタンス値を変数とする誤差関数は、次の形式である。
ただし、cは、プロセス誤差と動的誤差レベルを表す定数であり、アプリケーションシナリオでの誤差レベルに基づいて設定され、g0は、メモリスタメモリ上の各メモリスタのターゲットコンダクタンス値で構成されるベクトルである、ことを特徴とする付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法。
付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法であって、前記ステップ(1-2)において、ターゲットコンダクタンス値を変数とする誤差関数は、次の形式である。
ただし、cは、プロセス誤差と動的誤差レベルを表す定数であり、アプリケーションシナリオでの誤差レベルに基づいて設定され、g0は、メモリスタメモリ上の各メモリスタのターゲットコンダクタンス値で構成されるベクトルである、ことを特徴とする付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法。
(付記3)
付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法であって、前記ステップ(1-3)において、モデリングによって得られる局所プロセス誤差を特徴づけるためのガウスランダム変数Δrl及び動的誤差を特徴づけるためのガウスランダム変数Δrdは、それぞれ次のガウス分布を満たす。
ただし、
と
は、それぞれ二つのガウス分布の分散であり、いずれも実験によって測定され、Nは、ガウス分布を表す、ことを特徴とする付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法。
付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法であって、前記ステップ(1-3)において、モデリングによって得られる局所プロセス誤差を特徴づけるためのガウスランダム変数Δrl及び動的誤差を特徴づけるためのガウスランダム変数Δrdは、それぞれ次のガウス分布を満たす。
ただし、
と
は、それぞれ二つのガウス分布の分散であり、いずれも実験によって測定され、Nは、ガウス分布を表す、ことを特徴とする付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法。
(付記4)
付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法であって、前記ステップ(1-4)において、モデリングによって得られるプロセス誤差と動的誤差の影響下での各重みに対応するメモリスタメモリ上の一つのメモリスタの実際のコンダクタンス値は、次の形式である。
ただし、gは、実際のコンダクタンス値であり、g0は、ターゲットコンダクタンス値であり、Δggは、グローバルコンダクタンス誤差であり、
と
は、それぞれ二つのガウス分布の分散であり、パラメータは、いずれも実験によって測定される、ことを特徴とする付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法。
付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法であって、前記ステップ(1-4)において、モデリングによって得られるプロセス誤差と動的誤差の影響下での各重みに対応するメモリスタメモリ上の一つのメモリスタの実際のコンダクタンス値は、次の形式である。
ただし、gは、実際のコンダクタンス値であり、g0は、ターゲットコンダクタンス値であり、Δggは、グローバルコンダクタンス誤差であり、
と
は、それぞれ二つのガウス分布の分散であり、パラメータは、いずれも実験によって測定される、ことを特徴とする付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法。
(付記5)
付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法であって、前記ステップ(1-5)において、コンダクタンス値-重みのマッピング関係によって得られるニューラルネットワーク重み
のi番目のエレメントwiは、次の形式である。
ただし、giは、i番目の重みに対応するメモリスタの実際のコンダクタンス値であり、μi、Ψ(μi)は、それぞれwiの平均値と分散であり、g0,iは、i番目の重みに対応するメモリスタのターゲットコンダクタンス値であり、Δgg,iは、i番目の重みに対応するメモリスタのグローバルコンダクタンス誤差であり、
と
は、それぞれi番目の重みに対応するメモリスタの局所プロセス誤差値と動的誤差値との分散であり、c0とc1は、コンダクタンス値-重みによって線形にマッピングされる二つの定数因子であり、次の方式で計算して得られる。
ただし、wmaxとwminは、それぞれニューラルネットワークの中の全ての重みの最大値と最小値であり、従来のニューラルネットワークトレーニングから取得され、gmaxとgminは、それぞれメモリスタメモリ上のメモリスタによって調整可能なコンダクタンス範囲の最大値と最小値である、ことを特徴とする付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法。
付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法であって、前記ステップ(1-5)において、コンダクタンス値-重みのマッピング関係によって得られるニューラルネットワーク重み
のi番目のエレメントwiは、次の形式である。
ただし、giは、i番目の重みに対応するメモリスタの実際のコンダクタンス値であり、μi、Ψ(μi)は、それぞれwiの平均値と分散であり、g0,iは、i番目の重みに対応するメモリスタのターゲットコンダクタンス値であり、Δgg,iは、i番目の重みに対応するメモリスタのグローバルコンダクタンス誤差であり、
と
は、それぞれi番目の重みに対応するメモリスタの局所プロセス誤差値と動的誤差値との分散であり、c0とc1は、コンダクタンス値-重みによって線形にマッピングされる二つの定数因子であり、次の方式で計算して得られる。
ただし、wmaxとwminは、それぞれニューラルネットワークの中の全ての重みの最大値と最小値であり、従来のニューラルネットワークトレーニングから取得され、gmaxとgminは、それぞれメモリスタメモリ上のメモリスタによって調整可能なコンダクタンス範囲の最大値と最小値である、ことを特徴とする付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法。
(付記6)
付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法であって、前記ステップ(2)において、ニューラルネットワーク重みwの変分事後分布q(w|θ)は、ガウス分布であり、θは、ガウス分布のパラメータであり、平均値と分散とを含み、変分推論に基づくベイズニューラルネットワークトレーニングのターゲット関数は、次の形式である。
ただし、g0は、ニューラルネットワークの全ての重みに対応するメモリスタメモリ上の各メモリスタのターゲットコンダクタンス値で構成されるベクトルであり、P(D|w)は、尤度であり、
は、ランダム変数の期待を求めるものであり、KL[・||・]は、二つの分布の相対エントロピを求めるものであり、P(w)は、重み事前分布であり、Dは、ニューラルネットワークトレーニングセットである、ことを特徴とする付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法。
付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法であって、前記ステップ(2)において、ニューラルネットワーク重みwの変分事後分布q(w|θ)は、ガウス分布であり、θは、ガウス分布のパラメータであり、平均値と分散とを含み、変分推論に基づくベイズニューラルネットワークトレーニングのターゲット関数は、次の形式である。
ただし、g0は、ニューラルネットワークの全ての重みに対応するメモリスタメモリ上の各メモリスタのターゲットコンダクタンス値で構成されるベクトルであり、P(D|w)は、尤度であり、
は、ランダム変数の期待を求めるものであり、KL[・||・]は、二つの分布の相対エントロピを求めるものであり、P(w)は、重み事前分布であり、Dは、ニューラルネットワークトレーニングセットである、ことを特徴とする付記1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法。
Claims (6)
- メモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法であって、以下のステップを含む。
(1)メモリスタメモリ上に配備されるニューラルネットワーク重みをプロセス誤差と動的誤差の影響下でモデリングすることは、以下のステップを含む。
(1-1)各重みに対応するメモリスタメモリ上の一つのメモリスタの実際のコンダクタンス値をターゲットコンダクタンス値、グローバルコンダクタンス誤差、局所コンダクタンス誤差と動的コンダクタンス誤差の四つの部分に分解し、
(1-2)局所コンダクタンス誤差と動的コンダクタンス誤差を、ターゲットコンダクタンス値を変数とする誤差関数の値と局所プロセス誤差及び動的誤差との積に近似し、
(1-3)局所プロセス誤差と動的誤差をそれぞれガウスランダム変数としてモデリングし、且つ両者が相互に独立し、
(1-4)ステップ(1-1)から(1-3)の結果を利用して、プロセス誤差と動的誤差の影響下での各重みに対応するメモリスタメモリ上の一つのメモリスタの実際のコンダクタンス値のモデリング表現を、ガウスランダム変数として得て、その平均値は、ターゲットコンダクタンス値とグローバルコンダクタンス誤差との和であり、分散は、ターゲットコンダクタンス値を変数とする誤差関数の値と、局所プロセス誤差と動的誤差に対応する二つのガウスランダム変数分散の和との乗算値であり、
(1-5)コンダクタンス値-重みのマッピング関係を利用して、上記モデリングによって得られるコンダクタンス値をニューラルネットワーク重みとしてマッピングし、重みの統計分布表現を得て、
(2)ステップ(1)の中でモデリングによって得られる重みの統計分布を事前分布として、変分事後に基づくベイズニューラルネットワークトレーニングを行い、重みの変分事後分布を得て、
(3)ステップ(2)の中で得られる重みの変分事後分布の平均値を計算し、コンダクタンス-重みマッピング関係を逆に使用してそれをコンダクタンスとしてマッピングし、メモリスタメモリ上のメモリスタの実際のコンダクタンス値とする、ことを特徴とするメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法。 - 請求項1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法であって、前記ステップ(1-4)において、モデリングによって得られるプロセス誤差と動的誤差の影響下での各重みに対応するメモリスタメモリ上の一つのメモリスタの実際のコンダクタンス値は、次の形式である。
ただし、gは、実際のコンダクタンス値であり、g0は、ターゲットコンダクタンス値であり、Δggは、グローバルコンダクタンス誤差であり、
と
は、それぞれ二つのガウス分布の分散であり、パラメータは、いずれも実験によって測定される、ことを特徴とする請求項1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法。 - 請求項1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法であって、前記ステップ(1-5)において、コンダクタンス値-重みのマッピング関係によって得られるニューラルネットワーク重み
のi番目のエレメントwiは、次の形式である。
ただし、giは、i番目の重みに対応するメモリスタの実際のコンダクタンス値であり、μi、Ψ(μi)は、それぞれwiの平均値と分散であり、g0,iは、i番目の重みに対応するメモリスタのターゲットコンダクタンス値であり、Δgg,iは、i番目の重みに対応するメモリスタのグローバルコンダクタンス誤差であり、
と
は、それぞれi番目の重みに対応するメモリスタの局所プロセス誤差値と動的誤差値との分散であり、c0とc1は、コンダクタンス値-重みによって線形にマッピングされる二つの定数因子であり、次の方式で計算して得られる。
ただし、wmaxとwminは、それぞれニューラルネットワークの中の全ての重みの最大値と最小値であり、従来のニューラルネットワークトレーニングから取得され、gmaxとgminは、それぞれメモリスタメモリ上のメモリスタによって調整可能なコンダクタンス範囲の最大値と最小値である、ことを特徴とする請求項1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法。 - 請求項1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法であって、前記ステップ(2)において、ニューラルネットワーク重みwの変分事後分布q(w|θ)は、ガウス分布であり、θは、ガウス分布のパラメータであり、平均値と分散とを含み、変分推論に基づくベイズニューラルネットワークトレーニングのターゲット関数は、次の形式である。
ただし、g0は、ニューラルネットワークの全ての重みに対応するメモリスタメモリ上の各メモリスタのターゲットコンダクタンス値で構成されるベクトルであり、P(D|w)は、尤度であり、
は、ランダム変数の期待を求めるものであり、KL[・||・]は、二つの分布の相対エントロピを求めるものであり、P(w)は、重み事前分布であり、Dは、ニューラルネットワークトレーニングセットである、ことを特徴とする請求項1に記載のメモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111065383.7 | 2021-09-12 | ||
CN202111065383.7A CN113505887B (zh) | 2021-09-12 | 2021-09-12 | 一种针对忆阻器误差的忆阻器存储器神经网络训练方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023041581A JP2023041581A (ja) | 2023-03-24 |
JP7266330B2 true JP7266330B2 (ja) | 2023-04-28 |
Family
ID=78017156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022006311A Active JP7266330B2 (ja) | 2021-09-12 | 2022-01-19 | メモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11449754B1 (ja) |
JP (1) | JP7266330B2 (ja) |
CN (1) | CN113505887B (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11601209B2 (en) * | 2020-11-25 | 2023-03-07 | At&T Intellectual Property I, L.P. | Modeling radio wave propagation in a fifth generation (5G) or other next generation network |
CN113569294B (zh) * | 2021-09-22 | 2022-01-07 | 浙江大学 | 一种零知识证明方法及装置、电子设备、存储介质 |
CN114330688A (zh) * | 2021-12-23 | 2022-04-12 | 厦门半导体工业技术研发有限公司 | 基于阻变式存储器的模型在线迁移训练方法、装置及芯片 |
CN114742218A (zh) * | 2022-05-09 | 2022-07-12 | 清华大学 | 基于忆阻器阵列的数据处理方法和数据处理装置 |
CN114819093A (zh) * | 2022-05-09 | 2022-07-29 | 清华大学 | 利用基于忆阻器阵列的环境模型的策略优化方法和装置 |
CN114861911B (zh) * | 2022-05-19 | 2023-04-07 | 北京百度网讯科技有限公司 | 深度学习模型的训练方法、装置、系统、设备和介质 |
CN115687869A (zh) * | 2022-11-09 | 2023-02-03 | 深圳先进技术研究院 | 忆阻器精度重构计算的误差校正方法、系统、计算机设备 |
CN116227324B (zh) * | 2022-12-06 | 2023-09-19 | 哈尔滨理工大学 | 一种方差受限下的分数阶忆阻神经网络估计方法 |
CN116030063B (zh) * | 2023-03-30 | 2023-07-04 | 同心智医科技(北京)有限公司 | Mri图像的分类诊断系统、方法、电子设备及介质 |
CN117031962B (zh) * | 2023-09-08 | 2024-01-02 | 盐城工学院 | 一种时滞忆阻细胞神经网络的固定时间同步控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110956256A (zh) | 2019-12-09 | 2020-04-03 | 清华大学 | 利用忆阻器本征噪声实现贝叶斯神经网络的方法及装置 |
US20200327406A1 (en) | 2019-04-10 | 2020-10-15 | International Business Machines Corporation | Training of artificial neural networks |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160351259A1 (en) * | 2014-01-24 | 2016-12-01 | Hewlett Packard Enterprise Development Lp | Memristor memory |
US10755170B2 (en) * | 2017-03-01 | 2020-08-25 | International Business Machines Corporation | Resistive processing unit with hysteretic updates for neural network training |
JP6724870B2 (ja) * | 2017-06-19 | 2020-07-15 | 株式会社デンソー | 人工ニューラルネットワーク回路の訓練方法、訓練プログラム、及び訓練装置 |
CN110796241B (zh) * | 2019-11-01 | 2022-06-17 | 清华大学 | 基于忆阻器的神经网络的训练方法及其训练装置 |
-
2021
- 2021-09-12 CN CN202111065383.7A patent/CN113505887B/zh active Active
-
2022
- 2022-01-19 JP JP2022006311A patent/JP7266330B2/ja active Active
- 2022-02-16 US US17/672,713 patent/US11449754B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200327406A1 (en) | 2019-04-10 | 2020-10-15 | International Business Machines Corporation | Training of artificial neural networks |
CN110956256A (zh) | 2019-12-09 | 2020-04-03 | 清华大学 | 利用忆阻器本征噪声实现贝叶斯神经网络的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113505887A (zh) | 2021-10-15 |
JP2023041581A (ja) | 2023-03-24 |
CN113505887B (zh) | 2022-01-04 |
US11449754B1 (en) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7266330B2 (ja) | メモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法 | |
CN109460817B (zh) | 一种基于非易失存储器的卷积神经网络片上学习系统 | |
Hermosilla et al. | Monte carlo convolution for learning on non-uniformly sampled point clouds | |
Gonzalez et al. | Deep convolutional recurrent autoencoders for learning low-dimensional feature dynamics of fluid systems | |
US12008461B2 (en) | Method for determining neuron events based on cluster activations and apparatus performing same method | |
Long et al. | Design of reliable DNN accelerator with un-reliable ReRAM | |
Li et al. | Towards faster training of global covariance pooling networks by iterative matrix square root normalization | |
Chui et al. | Deep nets for local manifold learning | |
Wen et al. | Memristive fully convolutional network: An accurate hardware image-segmentor in deep learning | |
Chen et al. | An efficient memristor-based circuit implementation of squeeze-and-excitation fully convolutional neural networks | |
US11328173B2 (en) | Switchable propagation neural network | |
Mehrkanoon et al. | Deep hybrid neural-kernel networks using random Fourier features | |
Lenzi et al. | Neural networks for parameter estimation in intractable models | |
US20210300390A1 (en) | Efficient computational inference using gaussian processes | |
CN116188941A (zh) | 一种基于松弛标注的流形正则化宽度学习方法及系统 | |
Buhendwa et al. | Consistent and symmetry preserving data-driven interface reconstruction for the level-set method | |
CN117273109A (zh) | 基于量子神经元的混合神经网络的构建方法及装置 | |
Novkin et al. | Approximation-aware and quantization-aware training for graph neural networks | |
Swaney et al. | Efficient skin segmentation via neural networks: HP-ELM and BD-SOM | |
Nobari et al. | NITO: Neural Implicit Fields for Resolution-free Topology Optimization | |
Paudel | Accuracy Considerations in Deep Learning Using Memristive Crossbar Arrays | |
Dampfhoffer | Models and algorithms for implementing energy-efficient spiking neural networks on neuromorphic hardware at the edge | |
Dong et al. | A compact memristor-based GAN architecture with a case study on single image super-resolution | |
Bucci et al. | Leveraging the structure of dynamical systems for data-driven modeling | |
Yeh et al. | Grey adaptive growing CMAC network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220119 |
|
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: 20230314 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230411 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7266330 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |