JP6986569B2 - ニューラル・ネットワークの更新管理のためのコンピュータ実装方法、コンピュータ・プログラム、およびコンピュータ処理システム - Google Patents

ニューラル・ネットワークの更新管理のためのコンピュータ実装方法、コンピュータ・プログラム、およびコンピュータ処理システム Download PDF

Info

Publication number
JP6986569B2
JP6986569B2 JP2019554891A JP2019554891A JP6986569B2 JP 6986569 B2 JP6986569 B2 JP 6986569B2 JP 2019554891 A JP2019554891 A JP 2019554891A JP 2019554891 A JP2019554891 A JP 2019554891A JP 6986569 B2 JP6986569 B2 JP 6986569B2
Authority
JP
Japan
Prior art keywords
computer
stochastic
implementation method
deterministic
scaling
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
JP2019554891A
Other languages
English (en)
Other versions
JP2020517002A (ja
JP2020517002A5 (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 JP2020517002A publication Critical patent/JP2020517002A/ja
Publication of JP2020517002A5 publication Critical patent/JP2020517002A5/ja
Application granted granted Critical
Publication of JP6986569B2 publication Critical patent/JP6986569B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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
    • 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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4814Non-logic devices, e.g. operational amplifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4818Threshold devices
    • G06F2207/4824Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4828Negative resistance devices, e.g. tunnel diodes, gunn effect devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Neurology (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)
  • Machine Translation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、一般には、抵抗型処理ユニット(Resistive Processing Unit:RPU)に関し、詳細には、抵抗型処理ユニット・アレイの更新管理に関する。
抵抗型処理ユニット(Resistive Processing Unit:RPU)は、ディープ・ニューラル・ネットワーク・トレーニングに使用可能な抵抗型デバイスのアレイである。RPUは、全結合層、畳み込み層、回帰層などからなる。
しかし、RPUの更新は時間集約的および資源集約的となることがある。したがって、RPU更新の改良の必要がある。従って本発明の解決しようとする課題はRPUアレイの更新管理方法、プログラム、システムを提供することである。
本発明の一態様によると、ニューラル・ネットワークの更新管理のためのコンピュータ実装方法が提供される。この方法は、抵抗型処理ユニットを使用してニューラル・ネットワークに対して等方的更新プロセスを実行するステップを含む。等方的更新プロセスは、乗算の被乗数と乗数とを使用する。実行するステップは、被乗数と乗数とを同じ桁を有するようにスケーリングするステップを含む。
本発明の別の態様によると、ニューラル・ネットワークの更新管理のためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、プログラム命令が具現化された非一過性のコンピュータ可読記憶媒体を含む。プログラム命令は、コンピュータに方法を実行させるようにコンピュータにより実行可能である。方法は、抵抗型処理ユニットを使用してニューラル・ネットワークに対して等方的更新プロセスを実行することを含む。等方的更新プロセスは、乗算の被乗数と乗数とを使用する。実行するステップは、被乗数と乗数とを同じ桁を有するようにスケーリングするステップを含む。
本発明のさらに別の態様によると、ニューラル・ネットワークの更新管理のためのコンピュータ処理システムが提供される。コンピュータ処理システムは、ニューラル・ネットワークに対して等方的更新プロセスを実行するように構成された抵抗型処理ユニット(RPU)を含む。等方的更新プロセスは、乗算の被乗数と乗数とを使用する。RPUは、被乗数と乗数とを同じ桁を有するようにスケーリングすることによって等方的更新プロセスを実行するように構成される。
上記およびその他の特徴および利点は、添付図面とともに読まれるべき例示の実施形態の以下の詳細な説明から明らかになるであろう。
以下の説明では、以下の図面を参照しながら、好ましい実施形態の詳細を示す。
本発明の一実施形態による、本発明の原理を適用可能な例示の処理システムを示す図である。 本発明の一実施形態による、RPUアレイにおける例示のアナログ・ベクトル行列乗算を示す図である。 本発明の一実施形態による、RPUアレイにおける別の例示のアナログ・ベクトル行列乗算を示す図である。 本発明の一実施形態による、本発明を適用可能な例示の更新動作を示す図である。 本発明の一実施形態による、本発明を適用可能なRPUアレイのための確率的更新規則回路を示す図である。 本発明の一実施形態による、図5の確率的更新規則回路に対応する更新サイクルを示す図である。 本発明の一実施形態による、RPUアレイの例示の更新管理のための方法を示す図である。
本発明は、抵抗型処理ユニット(RPU)アレイの更新管理を対象とする。
一実施形態では、トレーニングに要する最小のサイクル量を使用すると同時に、全体的パフォーマンスを向上させることによって、RPUの更新サイクルを十分に活用するために、RPUの等方的更新方式が提案される。
本発明は、確率的ビット・ストリームと決定論的ビット・ストリームのいずれにも適用可能である。
一実施形態では、RPUのために提案される更新方式は、確率的ビット・ストリームをポピュレートすることと、確率的ビット・ストリームのうちの同時入力(コインシデンス)(coinciding)ビット・ストリームを使用して更新を行うこととを含む。
一実施形態では、本発明は、互いに複数桁異なる2つの数値を乗算する必要があることから生じる偽空間相関を解消するために、確率的更新サイクルを実行する前に入力を調整する。すなわち、一実施形態では、確率的更新方式における被乗数が同じ桁を有する。この方法を使用すると、更新サイクルを加速する1回の更新を使用してRPUアレイ更新を完了し、CNNおよびDNNトレーニングのRPU試験精度が大幅に向上する。
最短のビット・ストリームを使用することにより、更新サイクルを可能な限り速くする。この場合はBL=1に対応し、更新サイクルが単一のパルスにより動作させられる(xδ値に関しては確率的なままとしながら、最大可能更新と最小可能更新を同じにする)。
この単一パルス窓を可能な限り効率的に使用するために、発明者等は、より等方的な方式で更新を行う方法を提案する。
一実施形態では、本発明は、ハードウェア欠陥によって生じる問題を解決することができる。一実施形態では、本発明は、ノード間の相関を低減することによって、非対称挙動を有する(RPUにおける)抵抗素子の影響を低減する。本発明は、偶然性を高めるとともに試験結果に与えるデバイス欠陥の影響を最小限にするために、値をスケーリングすることを含むことができる。
本明細書では、確率的更新パルスの使用に関する1つまたは複数の実施形態について説明するが、本明細書に示す本発明の教示が与えられれば当業者にはわかるように、本発明は、本発明の思想を維持しながら決定論的更新パルスにも容易に適用される。
図1に、本発明の一実施形態による、本発明の原理を適用可能な例示の処理システム100を示す。
処理システム100は、1つまたは複数の非線形フィルタ(NLF)(参照番号110によって総称的および個別的に示す)と、1つまたは複数の抵抗型処理ユニット(RPU)(参照番号120によって総称的および個別的に示す)と、1つまたは複数のメモリ(参照番号130によって総称的および個別的に示す)と、1つまたは複数の入力/出力(I/O)回路(参照番号140によって総称的および個別的に示す)とを相互接続するためのバス102を含む。
処理システム100の集積回路(IC)実装形態の場合、バス102によってオンチップ通信が可能になるとともに、I/O回路140によってオフチップ通信が可能になる。
当然ながら、当業者には容易に企図されるように、処理システム100は他の要素(図示せず)も含んでよく、特定の要素を省いてもよい。例えば、当業者には容易にわかるように、処理システム100の特定の実装形態に応じて、処理システム100に他の様々な入力デバイスまたは出力デバイスあるいはその両方を含めることができる。例えば、様々な種類の無線または有線あるいはその両方の、入力デバイスまたは出力デバイスあるいはその両方を使用することができる。また、当業者には容易にわかるように、様々な構成で追加のRPU、プロセッサ、コントローラ、メモリなども使用することができる。本明細書で示される本発明の教示が与えられれば、処理システム100の上記およびその他の様々な変形が、当業者により容易に企図される。
図2に、本発明の一実施形態による、RPUアレイにおける例示のアナログ・ベクトル行列乗算200を示す。
アナログ・ベクトル行列乗算200は、1組のデジタル入力値(δ)210を含み、デジタル入力値(δ)210のそれぞれは、それぞれのアナログ信号パルス幅220によって表される。アナログ信号パルス幅220は、オペアンプ231の反転入力とオペアンプ231の出力とに(両端間に)キャパシタ(Cint)232が接続されているオペアンプ231を有する演算増幅器(オペアンプ)集積回路230に供給される。オペアンプ231の非反転入力は、接地に接続されている。オペアンプ231の出力は、アナログ−デジタル変換器(ADC)240の入力にも接続されている。ADC240は、RPUアレイにおけるアナログ・ベクトル行列乗算200の(デジタル化された)結果を表す信号y1を出力する。
図3に、本発明の一実施形態によるRPUアレイにおける別の例示のアナログ・ベクトル行列乗算300を示す。乗算300は、基本的には図2に示すものであるが、異なる形式(表現)を使用する。
アナログ・ベクトル行列演算300は、オペアンプ集積回路330の反転入力に与えられる1組の入力値320を含む。オペアンプ集積回路330は、キャパシタ(Cint)332を備えたオペアンプ331を含む。入力値320は、入力電圧Vinと、対応する相互コンダクタンス
Figure 0006986569
ないし
Figure 0006986569
および
Figure 0006986569
ないし
Figure 0006986569
に対応する。オペアンプ331の非反転入力が接地に接続されている。キャパシタ332は、オペアンプ331の反転入力とオペアンプ331の出力とに(両端間に)接続されている。オペアンプの出力は、アナログ−デジタル変換器(ADC)340の入力にも接続されている。オペアンプ331は、RPUアレイにおけるアナログ・ベクトル行列乗算300の結果を表す信号Voutを出力する。ADC340は、オペアンプ331からのアナログ出力Voutをデジタル信号に変換する。
図4に、本発明の一実施形態による、本発明を適用可能な例示の更新動作400を示す。
更新動作400は、初期ベクトル入力δ411と初期ベクトル入力x412とを抵抗型処理ユニット(RPU)420に供給することを含む。RPU420の出力は、以下のように与えられる。
ij=wij+η(x×δ
ここで、wijはi番目の行とj番目の列との接続の重みを表し、ηは学習率(スカラ値)、xは入力ニューロンにおける活動、δは出力ニューロンによって計算される誤差を表す。
一実施形態では、RPUは、3サイクル、すなわち、前方サイクルと、後方サイクルと、重み更新サイクル(本明細書では「重み更新」と略す)とを含むバックプロパゲーション法を使用してトレーニングされる。前方サイクルおよび後方サイクルは、主として、前方および後方方向にベクトル行列乗算を計算することを含む。本発明は、基本的に重み更新サイクルを対象とする。
図5に、本発明の一実施形態による、本発明を適用可能なRPUアレイのための確率的更新規則回路500を示す。図6に、本発明の一実施形態による、図5の更新規則回路500に対応する更新サイクル600を示す。
確率的更新規則回路500は、変換器(TR)510と、TR520と、AND(&)ゲート530と、加算器540とを含む。TRは、確率的変換器(STR)または決定論的変換器(DTR)とすることができる。例示のために、以下、変換器(TR)510および520を確率的変換器(STR)と呼び、確率的ストリームに関わるものとして説明する。しかし、本明細書に記載の本発明の教示が与えられれば当業者には容易に判断されるように、本発明の思想を維持しながらSTRを容易にDTRに置き換えることができ、決定論的ストリームに関して使用可能である。
STR510は、入力xおよび出力
Figure 0006986569
を受け取る。入力xは入力ニューロンにおける活動を表す。
Figure 0006986569
は、ベルヌーイ過程によって特徴づけられるランダム変数を示し、上付き文字nは試行シーケンスにおけるビット位置を示す。
STR520は、入力δおよび出力
Figure 0006986569
を受け取る。入力δは出力ニューロンによって計算される誤差を表す。
Figure 0006986569
は、ベルヌーイ過程によって特徴づけられるランダム変数を示し、上付き文字nは試行シーケンスにおけるビット位置を示す。
STR510および520はそれぞれ、STR増幅係数であるパラメータCを含む。具体的には、STR510は、xベクトルの増幅係数Cを含み、STR520は、δベクトルの増幅係数Cδを含む。したがって、
Figure 0006986569
および
Figure 0006986569
の確率は、それぞれCおよびCδδによって与えられる。一実施形態では、増幅係数CおよびCδは非線形フィルタ(例えば、図1のNLFフィルタ110など)によって制御される。
加算器540は、入力Δwminおよびwijと出力(更新された)wijを受け取る。パラメータΔwminは、漸増的重み変化につながる単一のコインシデンス事象によるRPUデバイスにおける漸増的コンダクタンス変化に対応する。RPUデバイスに記憶されたコンダクタンス値も同様に重み値となる。
確率的更新規則回路500によって実装される確率的更新規則は、以下の通りである。
Figure 0006986569
ここで、wijはi番目の行とj番目の列との接続の重みを示し、Δwminは、単一コインシデンス事象による(および、電圧によって制御され得るデバイス・パラメータとみなされる)漸増的コンダクタンス変化(すなわち重み値の変化)を示し、BLは、(更新サイクル中に使用されるSTRの出力における)確率的ビット・ストリームの長さを示し、
Figure 0006986569
および
Figure 0006986569
は、ベルヌーイ過程によって特徴づけられるランダム変数を示し、上付き文字nは試行シーケンスにおけるビット位置を示す。
確率的更新規則回路500において、ニューロンから符号化される数値(xおよびδ)がSTR510および520によって確率的ビット・ストリームに変換される。
確率的ビット・ストリーム長BLを大きくすると誤差は減少するが、その結果、更新時間が増大することになる。一実施形態では、ベースライン・モデルと同様の分類誤差に達することを可能にするBL値の許容可能範囲は、以下のように求められる。ベースライン・モデルに使用される学習率に合致させるために
Figure 0006986569
およびC=1を設定しながら、異なるBL値を使用してトレーニングを行う。確率論的モデルがベースライン・モデルと区別できなくなるのに、10という小さいBLの値で十分であることが確認された。
さらに、確率的更新規則の場合、単一の更新サイクルの重み値の変化は、BLΔwminで境界が示され、この条件は、STR510および520からパルスを発生させる確率(Cx)および(Cδ)が単位元に近いかより大きい場合に起こり得る。重み更新におけるこのクリッピングの影響も考慮に入れられ、例えば10という小さいBLの場合にパフォーマンスを低下させない。
また、(大域的)学習率ηは、制御すべき重要なハイパー・パラメータである。
学習率制御は、以下によって実装される。
η←BLΔwmin
最も一般的な形態では、確率論的モデルの重み値の平均変化を以下のように書くことができる。
Figure 0006986569
したがって、確率論的モデルの学習率は3つのパラメータ、すなわちBLとΔwminとCとによって制御される。これら3つのパラメータは、ベースライン・モデルで使用される学習率と合致するように調整することができる。
学習が進む間に、ネットワークがより良好になる(したがってネットワークが必要とする更新がより少なくなる)ため、δ値が小さくなる。一方、x値(Δw=ηxδ)は、使用される双曲線正接活性化関数のために1または−1になる(シグモイド関数であれば0または1となる)。
被乗数の桁が異なる(例えば1と10−6)場合、個々のポピュレーションにおいて「高」パルスを有する確率が大幅に異なる(すなわち、一方が多少とも確実であるのに対して他方はまったく不可能である)ことを意味し、確率的更新規則(コインシデンス検出)の作用が低下する。
δ列が発火すると、x行が確実に発火する(値1または−1を有する)ため、その列内のすべてのノードが更新される。これにより、非現実的な空間相関が生じ、プロセスを阻害する。
本発明の一実施形態によると、値が同等(同じ)になるように、積を同じに維持したまま値をスケーリングすることができる。例えば、
Figure 0006986569
とする。
η←BLΔwmin
Figure 0006986569
ここで、上記のηの式において、“
Figure 0006986569
”はCを表し、“(Cγ)”はCδを表す。
一実施形態では、更新サイクルを可能な限り短くすることができるように、ビット長BLが1に短縮される。
本発明による等方的更新方式は、x値とδ値との桁の大幅な相違によって生じる偽空間相関を解消することによって、畳み込みニューラル・ネットワーク(Convolutional Neural Network:CNN)とディープ・ニューラル・ネットワーク(Deep Neural Network:DNN)の両方における試験精度を向上させる。
「高」パルスを含む確率が類似したストリームを使用することにより、更新機構のエントロピーが高くなり、より良好な結果をもたらす。
一実施形態では、回路の複雑さを増すことなく、本発明に関するすべての演算がデジタル領域で行われる。
図6を参照すると、以下の式が適用される。
=C
=Cδδ
図6において、更新パルス(例えば確率的更新パルス)611がRPUアレイ612に適用される。特定の行jにおいてパルスを発生させる確率は、その行のSTRによって制御されるPによって与えられる。同様に、特定の列iにおいてパルスを発生させる確率は、その列のSTRによって制御されるPによって与えられる。i番目の列およびj番目の行から発生されたこれらのパルスの一部は、RPUデバイスにおいて重なって(同時入力(コインシデンス))漸増的コンダクタンス変化を生じさせる。この漸増的コンダクタンス変化は、漸増的重み変化(Δwmin)に相当する。
本明細書で示される本発明の教示が与えられれば当業者に容易にわかるように、決定論的更新パルスの場合は、本発明の思想を維持しながら、確率的変換器(Stochastic Translator:STR)を決定論的変換器(Deterministic Translator:DTR)に置き換えることができる。
図7に、本発明の一実施形態による、RPUアレイの更新管理のための例示的方法700を示す。
ステップ710で、ニューロンから数値(例えばxおよびδ)を受け取る。
ステップ720で、更新管理を使用するか否かを判断する。使用する場合、ステップ730に進む。使用しない場合は、ステップ790に進む。
ステップ730で、スケーリング係数γを以下のように求める。
Figure 0006986569
ステップ740で、スケーリングされた数値CxiとCδδjの桁数が等しくなるように、スケール係数γを使用して数値(xおよびδ)をスケーリングする。
ステップ750で、スケーリングされた数値を、1組のTRによって、それぞれがそれぞれのビット長(BL)を有するビット・ストリーム(例えば確率的または決定論的ビット・ストリーム)に変換する。
ステップ760で、ニューラル・ネットワーク更新を適用する。
ステップ770で、ニューラル・ネットワーク更新サイクルによって更新されたニューラル・ネットワークを、特定のオブジェクトに対応する入力信号に適用する。
ステップ780で、ニューラル・ネットワークの出力に基づいて、その特定のオブジェクトに関するアクションを行うか、またはその特定のオブジェクトの状態を(別の状態に)変更する。
ステップ790で、CおよびCδを使用して数値(xおよびδ)を以下のようにスケーリングする。
Figure 0006986569
本発明は、音声認識、話者認識、ジェスチャー認識、音響認識、自然言語認識、コンピュータ・ビジョン、バイオインフォマティクスなどを含むがこれらには限定されない、ニューラル・ネットワークに関係する多くの用途に適用可能であることを理解すべきである。したがって、ステップ770およびステップ780は、上記の用途のいずれかに関係し得る。したがって、例えば、音声認識に関しては、音声発話をその文字表現に変換することができる。また、さらに音声認識に関しては、発話されたパスワード、提示された生体識別情報(例えば指紋)、話者、物体などのいずれかを認識すると、ハードウェアまたはその他の種類のロックを解除することができる。
本発明は、任意の可能な技術的統合詳細度のシステム、方法、またはコンピュータ・プログラム製品、あるいはその組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数のコンピュータ可読記憶媒体)を含み得る。
コンピュータ可読記憶媒体は、命令実行デバイスによって使用されるための命令を保持し、記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学式ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適合する組合せであってよいが、これらには限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには以下のものが含まれる。すなわち、可搬コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、可搬コンパクト・ディスク読み取り専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピィ・ディスク、パンチカードまたは命令が記録された溝内の隆起構造などの機械的に符号化されたデバイス、およびこれらの任意の適合する組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体とは、電波またはその他の自由に伝播する電磁波、導波路またはその他の伝送媒体を伝播する電磁波(例えば光ファイバ・ケーブルを通る光パルス)、または電線を介して伝送される電気信号などの、一過性の信号自体であると解釈すべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、または、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワークあるいはこれらの組合せを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、交換機、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはこれらの組合せを含んでよい。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体への記憶のために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、マシン命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語および「C」プログラミング言語または同様のプログラム言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとして全体がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で一部がリモート・コンピュータ上で、または全体がコンピュータまたはサーバ上で実行されてよい。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む、任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または接続は(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行ってもよい。実施形態によっては、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、コンピュータ可読プログラム命令の状態情報を使用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
本明細書では、本発明の態様について、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品を示すフローチャート図またはブロック図あるいはその両方を参照しながら説明している。フローチャート図またはブロック図あるいはその両方の図の各ブロックおよび、フローチャート図またはブロック図あるいはその両方の図のブロックの組合せは、コンピュータ可読プログラム命令によって実装可能であることはわかるであろう。
上記のコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックで規定されている機能/動作を実装する手段を形成するように、汎用コンピュータ、特殊目的コンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに供給されて、マシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方のブロックで規定されている機能/動作の態様を実装する命令を含む製造品を含むように、コンピュータ可読媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、またはその他の装置あるいはこれらの組合せに対して特定の方式で機能するように指示することができるものであってもよい。
コンピュータ可読プログラム命令は、コンピュータ、その他のプログラマブル装置またはその他のデバイス上で実行される命令がフローチャートまたはブロック図あるいはその両方のブロックで規定されている機能/動作を実装するように、コンピュータ実装プロセスを作り出すべく、コンピュータ、その他のプログラマブル・データ処理ユニット、またはその他のデバイスにロードされ、コンピュータ、その他のプログラマブル装置、またはその他のデバイス上で一連の動作ステップを実行させるものであってもよい。
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能および動作を示す。その際、フローチャートまたはブロック図の各ブロックは、規定されている論理機能を実装するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表すことがある。別の装形態では、ブロックに記載されている機能は、図に記載されている順序とは異なる順序で行われてもよい。例えば、連続して示されている2つのブロックは、関係する機能に応じて、実際には実質的に並行して実行されてよく、またはそれらのブロックは場合によっては逆の順序で実行されてもよい。また、ブロック図またはフローチャート図あるいはその両方の図の各ブロック、およびブロック図またはフローチャート図あるいはその両方の図のブロックの組合せは、規定されている機能または動作を実行する特殊目的ハードウェア・ベースのシステムによって実装されるか、または特殊目的ハードウェアとコンピュータ命令との組合せを実施することもわかるであろう。
本明細書において、本発明の「一実施形態」または「実施形態」およびこれらのその他の変形に言及する場合、その実施形態に関連して記載されている特定の特徴、構造、特性などが本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体を通じて様々な個所に記載されている「一実施形態では」または「実施形態では」という語句およびその他の変形の記載は、必ずしもすべてがその同じ実施形態を指しているわけではない。
例えば、「A/B」、「AまたはBあるいはその両方」、および「AおよびBのうちの少なくとも一方」という場合の「/」、「または〜あるいはその両方」、および「のうちの少なくとも一方」のいずれかの使用は、最初に挙げた選択肢(A)のみの選択、または2番目に挙げた選択肢(B)のみの選択、または両方の選択肢(AおよびB)の選択を含むことを意図しているものと理解すべきである。他の例として、「A、BまたはCあるいはその組合せ」および「A、BおよびCのうちの少なくとも1つ」の場合、このような語句は、最初に挙げた選択肢(A)のみの選択、または2番目に挙げた選択肢(B)のみの選択、または3番目に挙げた選択肢(C)のみの選択、または最初に挙げた選択肢と2番目に挙げた選択肢(AおよびB)のみの選択、または最初に挙げた選択肢と3番目に挙げた選択肢(AおよびC)のみの選択、または2番目に挙げた選択肢と3番目に挙げた選択肢(BおよびC)のみの選択、または3つの選択肢すべて(AおよびBおよびC)の選択を含むことを意図している。当業者には容易にわかるように、このことは挙げられている項目の数だけ拡大適用することができる。
システムおよび方法の好ましい実施形態(これらは例示を意図したものであって限定的であることを意図したものではない)について説明したが、当業者は上述の教示に鑑みて修正および変形を加えることができることに留意されたい。したがって、開示されている特定の実施形態に、添付の特許請求の範囲によって要約されている本発明の範囲に含まれる変更を加えてもよいことを理解すべきである。以上、本発明の態様について、特許法によって特に必要とされる詳細とともに説明したが、特許状によって特許請求され、保護されるものは、添付の特許請求の範囲に記載されている。

Claims (17)

  1. ニューラル・ネットワークの更新管理のためのコンピュータ実装方法であって、
    抵抗型処理ユニット(RPU)を使用して前記ニューラル・ネットワークに対して、乗算の被乗数と乗数とを使用する等方的更新プロセスを実行するステップを含み、
    前記実行するステップは、前記被乗数と前記乗数とを同じ桁を有するようにスケーリングするステップを含み、
    1つまたは複数の確率的変換器によって、前記ニューラル・ネットワークのニューロンに対応する数値の組を確率的ビット・ストリームに変換することを含み
    スケーリング係数が、前記1つまたは複数の確率的変換器の増幅係数に適用されることを含む
    コンピュータ実装方法。
  2. 前記被乗数および前記乗数が、前記スケーリングの前と後とで同じ積を維持するようにスケーリングされる、請求項1に記載のコンピュータ実装方法。
  3. 前記スケーリングするステップは、前記等方的更新プロセスの入力に適用される入力調整プロセスにおいて実行される、請求項1に記載のコンピュータ実装方法。
  4. 前記入力調整プロセスは、前記被乗数と前記乗数との桁の相違の結果として生じる偽空間相関を解消する、請求項3に記載のコンピュータ実装方法。
  5. 前記等方的更新プロセスは、単一の更新サイクルのみを使用して実行される、請求項1に記載のコンピュータ実装方法。
  6. RPUアレイがアナログ・ベクトル行列乗算を実行するように構成された、請求項1に記載のコンピュータ実装方法。
  7. 前記等方的更新プロセスが、1つまたは複数の所定の基準を満たすビット長を有する前記確率的ビット・ストリームのそれぞれに対して実行される、請求項に記載のコンピュータ実装方法。
  8. 前記1つまたは複数の所定の基準が最小ビット・ストリーム長を含む、請求項に記載のコンピュータ実装方法。
  9. 前記1つまたは複数の確率的変換器が第1の確率的変換器と第2の確率的変換器とを含み、前記スケーリングするステップが、前記第1の確率的変換器の増幅係数に前記スケーリング係数を乗じることと、前記第2の確率的変換器の増幅係数を前記スケーリング係数で割ることとを含む、請求項に記載のコンピュータ実装方法。
  10. 1つまたは複数の決定論的変換器によって、前記ニューラル・ネットワークのニューロンに対応する数値の組を決定論的ビット・ストリームに変換することをさらに含む、請求項に記載のコンピュータ実装方法。
  11. 前記等方的更新プロセスが、1つまたは複数の所定の基準を満たすビット長を有する前記決定論的ビット・ストリームのそれぞれに対して実行される、請求項10に記載のコンピュータ実装方法。
  12. 前記1つまたは複数の所定の基準が最小ビット・ストリーム長を含む、請求項11に記載のコンピュータ実装方法。
  13. 前記スケーリング係数が、前記1つまたは複数の決定論的変換器の増幅係数に適用される、請求項に記載のコンピュータ実装方法。
  14. 前記1つまたは複数の決定論的変換器が第1の決定論的変換器と第2の決定論的変換器とを含み、前記スケーリングするステップが、前記第1の決定論的変換器の増幅係数に前記スケーリング係数を乗じることと、前記第2の決定論的変換器の増幅係数を前記スケーリング係数で割ることとを含む、請求項10に記載のコンピュータ実装方法。
  15. 請求項1〜14の何れか1項に記載の方法の各ステップをコンピュータ・ハードウェアによる手段として構成した、コンピュータ処理システム。
  16. 請求項1〜14の何れか1項に記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
  17. 請求項16に記載の前記コンピュータ・プログラムをコンピュータ可読記録媒体に記録した、コンピュータ可読記録媒体。
JP2019554891A 2017-04-14 2018-03-13 ニューラル・ネットワークの更新管理のためのコンピュータ実装方法、コンピュータ・プログラム、およびコンピュータ処理システム Active JP6986569B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/487,701 US10783432B2 (en) 2017-04-14 2017-04-14 Update management for RPU array
US15/487,701 2017-04-14
PCT/IB2018/051644 WO2018189600A1 (en) 2017-04-14 2018-03-13 Update management for rpu array

Publications (3)

Publication Number Publication Date
JP2020517002A JP2020517002A (ja) 2020-06-11
JP2020517002A5 JP2020517002A5 (ja) 2020-07-27
JP6986569B2 true JP6986569B2 (ja) 2021-12-22

Family

ID=63790739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019554891A Active JP6986569B2 (ja) 2017-04-14 2018-03-13 ニューラル・ネットワークの更新管理のためのコンピュータ実装方法、コンピュータ・プログラム、およびコンピュータ処理システム

Country Status (6)

Country Link
US (2) US10783432B2 (ja)
JP (1) JP6986569B2 (ja)
CN (1) CN110506282B (ja)
DE (1) DE112018000723T5 (ja)
GB (1) GB2576275A (ja)
WO (1) WO2018189600A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10303998B2 (en) * 2017-09-28 2019-05-28 International Business Machines Corporation Floating gate for neural network inference
US11651231B2 (en) 2019-03-01 2023-05-16 Government Of The United States Of America, As Represented By The Secretary Of Commerce Quasi-systolic processor and quasi-systolic array
US11562249B2 (en) 2019-05-01 2023-01-24 International Business Machines Corporation DNN training with asymmetric RPU devices
CN110750231B (zh) * 2019-09-27 2021-09-28 东南大学 一种面向卷积神经网络的双相系数可调模拟乘法计算电路
US11501148B2 (en) * 2020-03-04 2022-11-15 International Business Machines Corporation Area and power efficient implementations of modified backpropagation algorithm for asymmetric RPU devices
US11501023B2 (en) * 2020-04-30 2022-11-15 International Business Machines Corporation Secure chip identification using resistive processing unit as a physically unclonable function
US11366876B2 (en) 2020-06-24 2022-06-21 International Business Machines Corporation Eigenvalue decomposition with stochastic optimization
US11443171B2 (en) * 2020-07-15 2022-09-13 International Business Machines Corporation Pulse generation for updating crossbar arrays
US11568217B2 (en) * 2020-07-15 2023-01-31 International Business Machines Corporation Sparse modifiable bit length deterministic pulse generation for updating analog crossbar arrays

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5258934A (en) 1990-05-14 1993-11-02 California Institute Of Technology Charge domain bit serial vector-matrix multiplier and method thereof
JPH04153827A (ja) * 1990-10-18 1992-05-27 Fujitsu Ltd ディジタル乗算器
US20040083193A1 (en) 2002-10-29 2004-04-29 Bingxue Shi Expandable on-chip back propagation learning neural network with 4-neuron 16-synapse
EP1508872A1 (en) * 2003-08-22 2005-02-23 Semeion An algorithm for recognising relationships between data of a database and a method for image pattern recognition based on the said algorithm
US9715655B2 (en) 2013-12-18 2017-07-25 The United States Of America As Represented By The Secretary Of The Air Force Method and apparatus for performing close-loop programming of resistive memory devices in crossbar array based hardware circuits and systems
US9466362B2 (en) 2014-08-12 2016-10-11 Arizona Board Of Regents On Behalf Of Arizona State University Resistive cross-point architecture for robust data representation with arbitrary precision
US20170061279A1 (en) * 2015-01-14 2017-03-02 Intel Corporation Updating an artificial neural network using flexible fixed point representation
US10748064B2 (en) 2015-08-27 2020-08-18 International Business Machines Corporation Deep neural network training with native devices
US10387778B2 (en) 2015-09-29 2019-08-20 International Business Machines Corporation Scalable architecture for implementing maximization algorithms with resistive devices
US10325006B2 (en) 2015-09-29 2019-06-18 International Business Machines Corporation Scalable architecture for analog matrix operations with resistive devices
CN105488565A (zh) * 2015-11-17 2016-04-13 中国科学院计算技术研究所 加速深度神经网络算法的加速芯片的运算装置及方法

Also Published As

Publication number Publication date
JP2020517002A (ja) 2020-06-11
WO2018189600A1 (en) 2018-10-18
CN110506282A (zh) 2019-11-26
US11062208B2 (en) 2021-07-13
US20180300622A1 (en) 2018-10-18
GB201916146D0 (en) 2019-12-18
US20180300627A1 (en) 2018-10-18
DE112018000723T5 (de) 2019-10-24
CN110506282B (zh) 2023-04-28
US10783432B2 (en) 2020-09-22
GB2576275A (en) 2020-02-12

Similar Documents

Publication Publication Date Title
JP6986569B2 (ja) ニューラル・ネットワークの更新管理のためのコンピュータ実装方法、コンピュータ・プログラム、およびコンピュータ処理システム
US10733390B2 (en) Processing text sequences using neural networks
JP6676165B2 (ja) 畳み込みゲート制御再帰型ニューラルネットワーク
US10664745B2 (en) Resistive processing units and neural network training methods
US11373092B2 (en) Training of artificial neural networks
US10325006B2 (en) Scalable architecture for analog matrix operations with resistive devices
JP2018129033A (ja) 人工ニューラルネットワークのクラスに基づく枝刈り
JP2019511033A5 (ja)
US10387778B2 (en) Scalable architecture for implementing maximization algorithms with resistive devices
US11257592B2 (en) Architecture for machine learning model to leverage hierarchical semantics between medical concepts in dictionaries
JP2018537788A (ja) 外部メモリを用いたニューラルネットワークの拡張
US11263516B2 (en) Neural network based acoustic models for speech recognition by grouping context-dependent targets
US20240005166A1 (en) Minimum Deep Learning with Gating Multiplier
US20180341856A1 (en) Balancing memory consumption of multiple graphics processing units in deep learning
US20180060730A1 (en) Leveraging class information to initialize a neural network langauge model
CN116882469B (zh) 用于情感识别的脉冲神经网络部署方法、装置及设备
CN113841164B (zh) Rpu阵列的噪声和信号管理
JP7332193B2 (ja) 因子グラフ上での確率伝搬
US20210133556A1 (en) Feature-separated neural network processing of tabular data
WO2020261509A1 (ja) 機械学習装置、機械学習プログラム、及び機械学習方法
US20200151569A1 (en) Warping sequence data for learning in neural networks
WO2020262316A1 (ja) データ分析システム、データ分析方法及びプログラム
KR102672586B1 (ko) 인공신경망의 훈련 방법 및 장치
US11836613B2 (en) Neural programmer interpreters with modeled primitives
Krause et al. On the efficiency of recurrent neural network optimization algorithms

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200525

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211129

R150 Certificate of patent or registration of utility model

Ref document number: 6986569

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150