JP6293963B1 - ニューロモルフィック素子を含むアレイの制御装置、離散化ステップサイズの演算方法およびプログラム - Google Patents
ニューロモルフィック素子を含むアレイの制御装置、離散化ステップサイズの演算方法およびプログラム Download PDFInfo
- Publication number
- JP6293963B1 JP6293963B1 JP2017167389A JP2017167389A JP6293963B1 JP 6293963 B1 JP6293963 B1 JP 6293963B1 JP 2017167389 A JP2017167389 A JP 2017167389A JP 2017167389 A JP2017167389 A JP 2017167389A JP 6293963 B1 JP6293963 B1 JP 6293963B1
- Authority
- JP
- Japan
- Prior art keywords
- neuromorphic
- weight
- neuromorphic element
- layer
- value
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
Description
深層学習をはじめ、ニューラルネット技術を用いた高度な情報の識別技術、分類技術が金融、マーケティング、認証、セキュリティなどの広い分野で実用化されている。このような技術では、通常、膨大な量の積和演算が必要であり、クラウドサーバあるいは巨大な計算機を用いて実行される場合が多い。
一例として、3層の多層パーセプトロン(MLP:Multi−Layer Perceptron)を用いて、mnistの文字(手書き数字)を認識させる場合、ニューロモルフィック素子の特性の分解能に起因して、識別精度が低下することが把握されている。
なお、従来では、数学的に得られた重みの値をニューロモルフィック素子に割り当てる手法については、十分に検討されていなかった。
本発明の一態様は、制御装置において、前記制御部は、前記アレイが前記ニューロモルフィック素子を含む複数の層を有する場合に、それぞれの層ごとに共通の前記離散化ステップサイズを使用して、前記ニューロモルフィック素子の前記特性を制御する。
本発明の一態様は、制御装置において、前記制御部は、前記アレイが複数の前記ニューロモルフィック素子を含む層を有する場合に、同一の層に含まれる複数の前記ニューロモルフィック素子がグループ分けされたグループごとに共通の前記離散化ステップサイズを使用して、前記ニューロモルフィック素子の前記特性を制御する。
本発明の一態様は、制御装置において、前記アレイが前記ニューロモルフィック素子を含む複数の層を有しており、それぞれの層ごとに共通の前記分解能を有する前記ニューロモルフィック素子を備え、異なる層における前記ニューロモルフィック素子の前記分解能は異なる。
本発明の一態様は、制御装置において、前記制御部は、前記離散化ステップサイズを使用して、前記アレイについて学習を行う。
本発明の一態様は、制御装置において、前記アレイは、前記ニューロモルフィック素子を用いてニューラルネットワークにおける積和演算を行う回路を有する。
図1は、本発明の実施形態に係るニューラルネットワークシステム1の概略的な構成を示すブロック図である。
ニューラルネットワークシステム1は、制御装置11と、素子アレイ部12を備える。
制御装置11は、識別制御部21と、重み演算制御部22と、重み割り当て制御部23と、記憶部24を備える。
制御装置11は、素子アレイ部12に関する制御を行う。
識別制御部21は、ニューラルネットワークにおける識別の処理を制御する。
重み演算制御部22は、ニューロモルフィック素子に割り当てられる重みの演算(計算)の処理を制御する。
重み割り当て制御部23は、ニューロモルフィック素子に対して重みを割り当てる。
記憶部24は、情報を記憶する。本実施形態では、説明の便宜上、1個の記憶部24を示したが、他の構成例として、制御装置11が2個以上の記憶部を備えてそれぞれの記憶部を使い分けてもよい。
図2に示されるニューラルネットワーク回路101は、図1に示されるニューラルネットワークシステム1の機能を実装した回路の一例である。
ニューラルネットワーク回路101は、識別用制御回路111と、重み演算制御回路112と、重み割り当て制御回路113と、素子アレイ121と、入出力インタフェース回路(入出力IF回路)122と、入出力インタフェース回路(入出力IF回路)123を備える。
図1および図2の例では、素子アレイ121および入出力IF回路122〜123により素子アレイ部12の機能が実現されている。
素子アレイ121は、複数のニューロモルフィック素子を含む。
本実施形態では、素子アレイ121において、このようなニューロモルフィック素子を複数使用して、所望のニューラルネットワークに対応する積和演算を行う回路が構成されている。素子アレイ121への信号の入力および素子アレイ121からの信号の出力は、入出力IF回路122、123を介して行われる。素子アレイ121の回路は、一例として、マトリクス状になっており、マトリクスの一辺(例えば、縦の辺)における信号の入出力が入出力IF回路122を介して行われ、マトリクスの他の一辺(例えば、横の辺)における信号の入出力が入出力IF回路123を介して行われる。
また、識別用制御回路111は、例えば、素子アレイ121により実現されるニューラルネットワークについて、学習(機械学習)を行う機能を有する。
また、本実施形態では、重み演算制御回路112は、素子アレイ121に含まれるニューロモルフィック素子の特性の分解能よりも高い精度で、素子アレイ121により実現されるニューラルネットワークにおける重み(結合重み)の値を演算する機能を有する。そして、本実施形態では、重み演算制御回路112は、素子アレイ121に含まれるニューロモルフィック素子に割り当てる適切な重みの値(本実施形態では、誤差あるいは識別精度に関する所定の条件を満たす重みの値)を演算する機能を有する。
また、本実施形態では、重み演算制御回路112は、識別用制御回路111により取得された識別結果の情報(例えば、学習に関する情報)に基づいて、素子アレイ121に含まれるニューロモルフィック素子に割り当てる重みの値を更新(演算)する機能を有する。
重み割り当て制御回路113は、一例として、素子アレイ121に含まれるニューロモルフィック素子に対して所定の信号を送信することで、当該信号に応じた重みの値を当該ニューロモルフィック素子に設定してもよい。当該所定の信号としては、任意の信号が用いられてもよく、例えば、電圧パルスの信号が用いられてもよい。
具体例として、抵抗Rが変化し得るニューロモルフィック素子が乗算器の機能として用いられる場合、当該ニューロモルフィック素子のコンダクタンスG(=1/R)を使用し、当該ニューロモルフィック素子への入力信号として電圧Vを入力し、そのときに当該ニューロモルフィック素子を流れる電流I(=G×V)の大きさを乗算結果として使用する。
なお、素子アレイ121に複数のニューロモルフィック素子が含まれる構成では、例えば、それぞれのニューロモルフィック素子ごとに制御されてもよく、あるいは、すべてのニューロモルフィック素子についてまとめて制御されてもよく、あるいは、2個以上の異なるグループに複数のニューロモルフィック素子が分けられて、それぞれのグループごとにまとめて制御されてもよい。
具体例として、コンダクタンスの変化量(ΔG)が変動するニューロモルフィック素子では、例えば、コンダクタンスの値が低い値から高い値へ変化するにしたがって、当該ニューロモルフィック素子に与えられる電圧Vの一定変化量に対するコンダクタンスの変化量(ΔG)が増加していく場合がある。この場合、一例として、当該ニューロモルフィック素子のコンダクタンスの変化量(ΔG)を一定値間隔ごとに切り替えるために、コンダクタンスの値が低い値から高い値へ変化するにしたがって、当該ニューロモルフィック素子に与えられる電圧Vの変化量(切り替えの段階ごとの変化量)を小さくしていく構成が用いられてもよい。あるいは、コンダクタンスの変化量Δの変動に応じて、割り当てる重みの変化量を変動させるような構成が用いられてもよい。
なお、ニューロモルフィック素子の特性の変化量が他の態様で変動する場合においても、その態様に合わせて制御が行われればよい。このような制御の仕方は、例えば、あらかじめ設定されて記憶部24などに記憶されてもよい。
ここで、図3の例では、素子アレイ121において行われる積和演算の様子を概念的に示してある。素子アレイ121の回路構成としては、このような積和演算が実現される任意の回路構成が用いられてもよい。
素子アレイ121は、p(pは1以上の整数)個の値(信号)を入力し、r(rは1以上の整数)個の値(信号)を出力する。
素子アレイ121は、入力層に、p個のユニットA1−1〜A1−pと、1個のバイアス項のユニットA1−0を備える。
素子アレイ121は、隠れ層に、q個のユニットA2−1〜A2−qと、1個のバイアス項のユニットA2−0を備える。
素子アレイ121は、出力層に、r個のユニットA3−1〜A3−rを備える。
なお、本実施形態では、前段の層におけるそれぞれのユニットから後段の層におけるすべてのユニット(バイアス項のユニットを除く。)へ信号を出力するニューラルネットワークの構成を示すが、他の構成が用いられてもよい。図3の例では、入力層におけるそれぞれのユニットA1−0〜A1−pから隠れ層におけるq個のユニットA2−1〜A2−qへ信号を出力しており、また、隠れ層におけるそれぞれのユニットA2−0〜A2−qから出力層におけるr個のユニットA3−1〜A3−rへ信号を出力している。
また、入力層におけるユニットA1−0は、所定の値(信号)を出力する。
また、隠れ層におけるユニットA2−0は、所定の値(信号)を出力する。
一例として、画像211は、784個の画素(0番目〜783番目の画素)を有する画像である。この場合、入力層のユニット数(p)は784個となる。
また、図3の例では、識別結果の情報は、出力層から出力されるr個の情報である。
画像B1−1〜B1−nは、数字の「1」を手書きした場合における複数の異なる手書きパターンの画像である。
画像B2−1〜B2−nは、数字の「2」を手書きした場合における複数の異なる手書きパターンの画像である。
画像B0−1〜B0−nは、数字の「0」を手書きした場合における複数の異なる手書きパターンの画像である。
なお、図4の例では、数字の「3」〜「9」については図示を省略してある。
また、図4の例では、数字の「1」〜「9」、「0」のすべてについて同じ数(n個)の画像を示したが、それぞれの数字ごとに異なる数の画像が用いられてもよい。
なお、ここでは、出力の値が大きい方が尤度が大きい構成としているが、逆に、出力の値が大きい方が尤度が小さくなるように構成されてもよい。
なお、図4に示される画像は、mnistの画像そのものではないが、説明の便宜上から、手書きの数字を表す画像を例示したものである。
一例として、ニューロモルフィック素子として、結晶と非晶質との相変化を段階的に制御するPCM(Phase Change Memory)を使用する素子が用いられてもよい。
他の例として、ニューロモルフィック素子として、電気化学的反応により金属析出とイオン化との間のパスの形成および消滅を利用するCBRAM(Conductive Bridge RAM)を使用する素子が用いられてもよい。
他の例として、ニューロモルフィック素子としてスピントロニクス(Spintronics)を使用する素子も用いられている。例えば、磁壁の制御による線形的抵抗変化を発生させるドメインウォール型、あるいは、スピン軌道トルク作用による磁化反転を使用したSOT(Spin Orbit Torque)型の素子の研究が進められている。
他の例として、ニューロモルフィック素子として、TaO2等の媒体に金属析出によるフィラメントを形成して抵抗変化を利用するReRAM(Resistive Random Access Memory)を使用する素子が用いられてもよい。
なお、ニューロモルフィック素子としては、任意の特性を変化させることが可能なものが用いられてもよく、例えば、抵抗、あるいは、光位相などの特性を変化させることが可能なものが用いられてもよい。
分解能が有限であるニューロモルフィック素子をニューラルネットワークに適用する場合について、ニューラルネットワークの性能に与える影響を説明する。
ニューロモルフィック素子は、完全なアナログ線形的なコンダクタンス(G)の変化特性を有しておらず、有限な分解能を有している。ニューロモルフィック素子のコンダクタンス変化の分解能(本実施形態では、ビットの個数)が決まっている場合、値のダイナミックレンジ(全体的な幅)と量子化ステップサイズ(量子化ステップの幅)とは比例関係にある。
ここでは、分解能を固定した条件を想定する。各層のニューロモルフィック素子に割り当てられるダイナミックレンジ(値域)によって、識別性能への影響が変わり得ると考えられる。
なお、本実施形態において、実数を用いたシミュレーションはコンピュータを用いて実行されることから、当該シミュレーションにおいて「実数」といっているのは、厳密には実数ではなく、コンピュータの演算語長の制約によって離散化された値である。
例えば、1層目における重みの最大値、最小値、平均値、および2層目における重みの最大値、最小値、平均値が表されるグラフを考える(図示は省略。)。
(±2、±2) 76.92[%]
(±1、±2) 83.41[%]
(±2、±1) 72.02[%]
(±1、±1) 84.90[%]
(±0.5、±0.5) 94.88[%]
(±0.5、±0.3) 91.45[%]
(±0.3、±0.5) 94.01[%]
(±0.3、±0.3) 89.81[%]
(±0.1、±0.1) 69.46[%]
(±0.05、±0.05) 57.09[%]
一つの推測結果として、ニューロモルフィック素子に割り当てられるダイナミックレンジとしては、上限値および下限値の理論値が用いられる場合が最適であるとは限られず、ダイナミックレンジが小さい方が有利となる場合もあり得る。量子化ステップサイズが小さいことが重要であると考えられるが、最適値があると考えられる。
他の一つの推測結果として、1層目における量子化ステップサイズを、2層目における量子化ステップサイズと比べて、小さくする方が有利となり得る。
通常、ニューロモルフィック素子において、量子化ステップサイズが小さくなると、重みの誤差が減少する一方、重みが取り得る値のダイナミックレンジが小さくなる。また、ニューロモルフィック素子において、ダイナミックレンジが小さくなると、本来の重みの値によって演算される値が上限あるいは下限に固着する可能性が増加し、誤識別の原因となる。本実施形態では、以下で説明するように、良好な解(好ましくは、最適解)を求める。
本実施形態において想定するニューラルネットワークについて説明する。なお、本実施形態では、図3に示されるニューラルネットワークを想定する。
入力層におけるユニット数をp個とし、バイアス項の1個のユニットも設ける。
隠れ層におけるユニット数をq個とし、バイアス項の1個のユニットも設ける。
出力層におけるユニット数をr個とする。
重みw(L) s,tについて、Lは層の番号を表し、sは出力側の層のユニットの番号を表し、tは入力側の層のユニットの番号を表す。ここで、本実施形態では、入力層と隠れ層との間を第1層(L=1)とし、隠れ層と出力層との間を第2層(L=2)とする。
以下で、重みの分解能、ダイナミックレンジおよび量子化ステップサイズが識別性能に与える影響について説明する。
xi(i=0、1、2、・・・、p)は入力層におけるバイアス項および出力値(本実施形態では、入力値と同じ値)であるとし、yj(j=0、1、2、・・・、q)は隠れ層におけるバイアス項および出力値であるとする。
式(1)に示されるように、2層目における重みw(2) k,jの分解能の制約によって生じる量子化誤差(符号Δが付された項)を導入する。
ニューラルネットワークからの出力値zk(k=1、2、・・・、r)は、式(2)のように表される。
ここで、uj<0である場合には、出力が0になるため、この式は恒等的に成立する。
ニューラルネットワークからの出力値zk(k=1、2、・・・、r)の誤差の成分(Δzk)は、式(10)のように表される。
ここで、識別精度は、例えば、(1/Δzk)の値、あるいは、それに比例などする値で表すことが可能である。
同様に、本実施形態では、素子アレイ121では、2層目における重みw(2) k,jについて、それぞれのk、jの組み合わせごとに1個のニューロモルフィック素子を備える。
なお、共通化することが可能な2個以上の重み演算がある場合には、これら2個以上の重み演算についてニューロモルフィック素子が、1個のニューロモルフィック素子に共通化されてもよい。
一例として、2個のパラメーターα、βの値を様々に変化させて所定の誤差を表す値を演算し、当該誤差を表す値が小さくなる(好ましくは、最小になる)パラメーターα、βの値を求める手法が用いられてもよい。当該手法では、例えば、2個のパラメーターα、βの値を総当たりで変化させてもよい。適切なパラメーターα、βの値が決定されることで、ニューロモルフィック素子に設定すべき適切なダイナミックレンジが決定される。
なお、所定の誤差を表す値が小さくなる(好ましくは、最小になる)という条件の代わりに、所定の識別精度が大きくなる(好ましくは、最大になる)という条件が用いられてもよい。
ここで、2個のパラメーターα、βの値は、例えば、識別対象の数あるいは内容などによって、変わり得る。
一例として、mnistのテストセット(テストのための画像の組み合わせ)の識別において、入力層の次元を784個のユニットとし、隠れ層の次元を100個のユニットとし、出力層の次元を10個のユニットとすることで、実数演算において97[%]以上の識別性能を達成することができる。
(要素1)量子化ステップサイズによって発生する純量子化誤差という要素がある。これは、(量子化ステップサイズ/2)に相当する分を最小、最大とする分布である。
(要素2)割り当てられるダイナミックレンジが実数演算値によるレンジよりも狭い場合に、割り当てられるダイナミックレンジを超えた値(実数演算値)に発生する切り捨て誤差という要素がある。
なお、所定の誤差を表す値が小さくなる(好ましくは、最小になる)という条件の代わりに、所定の識別精度が大きくなる(好ましくは、最大になる)という条件が用いられてもよい。
図5は、本発明の実施形態に係るパラメーターα、βに関する特性1011の一例を示す図である。
図5に示されるグラフでは、横軸にパラメーターaを表し、縦軸に関数P(a)を表わしている。そして、図5の例では、特性1011を示してある。特性1011は、Aを所定の正の値として、a=−Aからa=+Aまでの間、一定値となる特性である。ここで、ニューラルネットワークにおける重みは正規乱数等で初期化されることが一般的であり、その重みの値が一様に分布すると仮定し、その場合、量子化誤差もまた一様分布であると想定した。なお、この想定は一例であり、本実施形態では、必ずしも量子化誤差の分布形状に依存するものではない。また、特性1011は、全体の確率が1となる確率密度関数である。
ここで、(2×A)が量子化ステップサイズであり、{(2×A)×分解能=ダイナミックレンジ}という関係がある。
式(8)より、パラメーターαおよびパラメーターβは重みの真値に対する誤差成分の割合を示すものであるため、パラメーターαおよびパラメーターβをそれぞれ正の値とすると、パラメーターαおよびパラメーターβは、それぞれ、(2×A)/ダイナミックレンジ幅に相当する。つまり、パラメーターαおよびパラメーターβは、それぞれ、量子化ステップサイズに対応する値である。
なお、ここでは、説明の便宜上から、2個のパラメーターα、βについて共通の文字Aを用いて説明したが、本実施形態では、2個のパラメーターα、βの値を異ならせる。
ニューロモルフィック素子にダイナミックレンジを割り当てる手順の第1の例として、(第1の例における手順1)〜(第1の例における手順8)を示す。なお、同様な結果が得られれば、手順の順序が異なってもよい。
本例(第1の例)では、演算方法の一例として、各層の重みの量子化誤差に基づいて演算する方法を用いる。
本例では、ユーザーがコンピュータを操作することで、当該コンピュータによって以下の手順の処理を行う。なお、ユーザーにより行われる操作の一部または全部が、コンピュータにより自動で行われてもよい。
また、本例では、このようなコンピュータが所定の実数シミュレーターの機能を有しており、当該実数シミュレーターが(第1の例における手順1)〜(第1の例における手順8)の処理を実行することを想定して説明する。なお、これらの処理は、例えば、実数シミュレーター以外の機能により行われてもよく、それぞれの処理ごとに任意の機能(総じて2以上の異なる機能)により行われてもよい。また、これらの処理は、例えば、それぞれの処理ごとに任意のコンピュータ(総じて2以上の異なるコンピュータ)により行われてもよい。
ニューロモルフィック素子にダイナミックレンジを割り当てる手順の第2の例として、(第2の例における手順1)〜(第2の例における手順5)を示す。なお、同様な結果が得られれば、手順の順序が異なってもよい。
本例(第2の例)では、演算方法の他の例として、識別精度を用いて演算する方法を用いる。なお、別の例として、最終段の出力について誤差の総和あるいは誤差の二乗の総和を用いて演算する方法が用いられてもよい。
本例では、ユーザーがコンピュータを操作することで、当該コンピュータによって以下の手順の処理を行う。なお、ユーザーにより行われる操作の一部または全部が、コンピュータにより自動で行われてもよい。
また、本例では、このようなコンピュータが所定の実数シミュレーターの機能を有しており、当該実数シミュレーターが(第2の例における手順1)〜(第2の例における手順5)の処理を実行することを想定して説明する。なお、これらの処理は、例えば、実数シミュレーター以外の機能により行われてもよく、それぞれの処理ごとに任意の機能(総じて2以上の異なる機能)により行われてもよい。また、これらの処理は、例えば、それぞれの処理ごとに任意のコンピュータ(総じて2以上の異なるコンピュータ)により行われてもよい。
(第2の例における手順2)は、(第1の例における手順2)と同様である。
ここで、他の例として、誤差に関する値として、式(11)に示されるΔzkが用いられてもよい。
また、識別精度が大きくなる条件としては、例えば、識別精度が所定の閾値以上となる(または、所定の閾値を超える)条件が用いられてもよい。
誤差を用いた条件が設定されたシミュレーションの結果の例と、識別精度を用いた条件が設定されたシミュレーションの結果の例を示す。
誤差を用いた条件が設定されたシミュレーションとして、誤差の二乗の総和が最小となるダイナミックレンジを探索するシミュレーションを行った。その結果、1層目における最適なダイナミックレンジは0.42となり、2層目における最適なダイナミックレンジは0.96となり、識別精度は95.64[%]となった。
一方、識別精度を用いた条件が設定されたシミュレーションとして、識別精度が最大となるダイナミックレンジを探索するシミュレーションを行った。その結果、1層目における最適なダイナミックレンジは0.42となり、2層目における最適なダイナミックレンジは0.96となり、識別精度は95.64[%]となった。
ここで、両者は一致した。このため、誤差を用いた条件が満たされるダイナミックレンジを採用することで、良好な識別精度が実現されることが推測される。
図6は、本発明の実施形態に係る重みの学習の結果の一例を示す図である。
図6に示されるグラフにおいて、横軸は学習サイクル(本実施形態では、エポックの回数)を表わしており、縦軸は重みの値を表わしている。
なお、エポックは、トレーニング用の1個の識別対象(例えば、1枚の画像)についてニューラルネットワークの誤差を最小にする処理の単位を表す。
また、図6の例では、1層目におけるニューロモルフィック素子に設定するダイナミックレンジを「−0.5以上で+0.5以下の範囲」に設定しており、2層目におけるニューロモルフィック素子に設定するダイナミックレンジを「−1.0以上で+1.0以下の範囲」に設定している。図6の例では、1層目におけるニューロモルフィック素子に設定するダイナミックレンジに相当する範囲1131と、2層目におけるニューロモルフィック素子に設定するダイナミックレンジに相当する範囲1132を示してある。
図7に示されるグラフにおいて、2種類の横軸のうち、一方の軸は1層目におけるニューロモルフィック素子に設定されるダイナミックレンジ(1層目のレンジ)を表わしており、他方の軸は2層目におけるニューロモルフィック素子に設定されるダイナミックレンジ(2層目のレンジ)を表わしている。また、縦軸は、このようなダイナミックレンジの設定により得られる識別精度[%]を表わしている。
図7の例では、これら三者の関係を表す特性1211を示してあり、識別精度が最大となる位置に矢印1221(なお、図7の例では、矢印1221は縦軸と平行ではない。)を示してある。
図7の例では、識別精度が最大となる位置で、1層目のダイナミックレンジが「−0.42以上で+0.42以下の範囲」であり、2層目のダイナミックレンジが「−0.96以上で+0.96以下の範囲」であり、識別精度が「95.64[%]」である。
まず、図8および図9について説明する。
図8および図9の例では、ニューロモルフィック素子の特性の分解能が100ステップである場合を想定している。
図8は、すべての層(本実施形態では、1層目〜2層目)について同じダイナミックレンジをニューロモルフィック素子に設定した場合における結果の一例を示す図である。
図9は、本発明の実施形態に係る各層(本実施形態では、1層目、2層目)について異なるダイナミックレンジをニューロモルフィック素子に設定した場合における結果の一例を示す図である。
図8および図9に示されるグラフにおいて、横軸は学習サイクル(本実施形態では、エポックの回数)を表わしており、縦軸は重みの値を表わしている。
図8の例では、ニューロモルフィック素子を含むニューラルネットワークの回路の学習について、1層目における重みの最大値の特性1311と、1層目における重みの最小値の特性1312と、1層目における重みの平均値の特性1313と、2層目における重みの最大値の特性1321と、2層目における重みの最小値の特性1322と、2層目における重みの平均値の特性1323を示してある。
図8の例では、識別精度は「92.6[%]」である。
図9の例では、ニューロモルフィック素子を含むニューラルネットワークの回路の学習について、1層目における重みの最大値の特性1411と、1層目における重みの最小値の特性1412と、1層目における重みの平均値の特性1413と、2層目における重みの最大値の特性1421と、2層目における重みの最小値の特性1422と、2層目における重みの平均値の特性1423を示してある。
図9の例では、識別精度は「96.6[%]」である。
図10および図11の例では、ニューロモルフィック素子の特性の分解能が50ステップである場合を想定している。
図10は、すべての層(本実施形態では、1層目〜2層目)について同じダイナミックレンジをニューロモルフィック素子に設定した場合における結果の他の例を示す図である。
図11は、本発明の実施形態に係る各層(本実施形態では、1層目、2層目)について異なるダイナミックレンジをニューロモルフィック素子に設定した場合における結果の他の例を示す図である。
図10および図11に示されるグラフにおいて、横軸は学習サイクル(本実施形態では、エポックの回数)を表わしており、縦軸は重みの値を表わしている。
図10の例では、ニューロモルフィック素子を含むニューラルネットワークの回路の学習について、1層目における重みの最大値の特性1511と、1層目における重みの最小値の特性1512と、1層目における重みの平均値の特性1513と、2層目における重みの最大値の特性1521と、2層目における重みの最小値の特性1522と、2層目における重みの平均値の特性1523を示してある。
図10の例では、識別精度は「65.3[%]」である。
図11の例では、ニューロモルフィック素子を含むニューラルネットワークの回路の学習について、1層目における重みの最大値の特性1611と、1層目における重みの最小値の特性1612と、1層目における重みの平均値の特性1613と、2層目における重みの最大値の特性1621と、2層目における重みの最小値の特性1622と、2層目における重みの平均値の特性1623を示してある。
図11の例では、識別精度は「90.8[%]」である。
ここで、図8〜図11の例に示されるように、すべての層(本実施形態では、1層目〜2層目)について同じダイナミックレンジをニューロモルフィック素子に設定した場合と比べて、各層(本実施形態では、1層目、2層目)について異なるダイナミックレンジをニューロモルフィック素子に設定した場合の方が識別性能が良好になることが生じ得る。
上記では、ニューロモルフィック素子に設定されるダイナミックレンジが「−B以上で+B以下の範囲」(Bは任意の正の値であるとする。)であり、当該ダイナミックレンジの中央値が0である場合を示した。この場合におけるダイナミックレンジのオフセット量を0とする。
なお、本実施形態では、オフセット量の大きさにかかわらず、ダイナミックレンジの幅は一定であるとする。
ダイナミックレンジのオフセット量が0であるときと比べて、ダイナミックレンジのオフセット量が0ではないときの方が、識別精度が高くなる場合が生じ得る。
図12に示されるグラフにおいて、2種類の横軸のうち、一方の軸は1層目におけるニューロモルフィック素子に設定されるダイナミックレンジのオフセット量(1層目のオフセット量)を表わしており、他方の軸は2層目におけるニューロモルフィック素子に設定されるダイナミックレンジのオフセット量(2層目のオフセット量)を表わしている。また、縦軸は、このようなオフセット量の設定により得られる識別精度[%]を表わしている。
図12の例では、これら三者の関係を表す特性1711を示してあり、識別精度が最大となる位置に矢印1721(なお、図12の例では、矢印1721は縦軸と平行ではない。)を示してある。
図12の例では、識別精度が最大となる位置で、1層目のオフセット量が「0.0038」であり、2層目のオフセット量が「0.1196」であり、識別精度が「87.98[%]」である。
他の例として、コンピュータにより、各層におけるダイナミックレンジのオフセット量を様々に変化させて所定の誤差を表す値を演算し、当該誤差を表す値が小さくなる(好ましくは、最小になる)オフセット量を求める手法が用いられてもよい。なお、誤差を表す値が小さくなる(好ましくは、最小になる)オフセット量の代わりに、識別精度が大きくなる(好ましくは、最大になる)オフセット量が求められてもよい。
ニューラルネットワーク回路101では、素子アレイ121に含まれるニューロモルフィック素子について、ダイナミックレンジが割り当てられた後に、事後学習を行うことで、重みのチューニングを行ってもよい。
ここで、チューニングを行う手法としては、任意の手法が用いられてもよい。
ニューラルネットワーク回路101では、素子アレイ121に含まれるニューロモルフィック素子について、割り当てられたダイナミックレンジ(ダイナミックレンジの幅、オフセット量)、量子化ステップサイズ、分解能、各ニューロモルフィック素子に設定されたステップ番号などの情報を記憶部(記憶部24に相当するメモリなど)に記憶してもよい。
素子アレイ121では、例えば、複数の層があり、それぞれの層ごとに複数(複数のユニット)のニューロモルフィック素子を備える。
一例として、複数の層を有するニューラルネットワークに含まれるニューロモルフィック素子について、それぞれの層ごとに、共通の離散化ステップサイズを使用して、共通のダイナミックレンジ(例えば、ダイナミックレンジの幅、オフセット量)が求められて設定されてもよい。
他の例として、それぞれの層ごとに含まれる複数のニューロモルフィック素子を2個以上のグループに分けて、それぞれのグループごとに、共通の離散化ステップサイズを使用して、共通のダイナミックレンジ(例えば、ダイナミックレンジの幅、オフセット量)が求められて設定されてもよい。この場合、同一の層において、当該層に含まれる複数のニューロモルフィック素子が2個以上のグループにグループ分けされる。これにより、例えば、それぞれのユニットの重要度(寄与度)などに応じて、異なるダイナミックレンジを設定することが可能である。
他の例として、それぞれのニューロモルフィック素子ごとに、任意の異なり得る離散化ステップサイズを使用して、任意の異なり得るダイナミックレンジ(例えば、ダイナミックレンジの幅、オフセット量)が求められて設定されてもよい。これにより、例えば、それぞれのニューロモルフィック素子の重要度(寄与度)などに応じて、異なるダイナミックレンジを設定することが可能である。
図13は、本発明の実施形態に係るニューラルネットワーク回路101において行われる処理の手順の一例を示す図である。
コンピュータにより、素子アレイ121に含まれるニューロモルフィック素子の特性の分解能よりも高い精度で、素子アレイ121により実現されるニューラルネットワークにおける重みの値(真値)を演算する。
コンピュータにより、素子アレイ121に含まれるニューロモルフィック素子の特性の分解能を想定した演算を行う。これにより、例えば、コンピュータにより、素子アレイ121に含まれるニューロモルフィック素子の特性の分解能を想定した場合について、誤差に関する関数、あるいは、識別精度に関する関数を演算する。
コンピュータにより、素子アレイ121に含まれるニューロモルフィック素子について、所定の条件を満たす量子化ステップサイズを演算する。当該所定の条件としては、例えば、誤差に関する条件、あるいは、識別精度に関する条件のうちの一方または両方が用いられてもよい。
コンピュータにより、素子アレイ121に含まれるニューロモルフィック素子について、ダイナミックレンジのオフセット量を演算する。
ここで、あらかじめオフセット量が所定値(例えば、0)に設定されている場合には、ステップS4の処理は省略されてもよい。
コンピュータにより、重みのダイナミックレンジを演算する。この場合、例えば、分解能、量子化ステップサイズおよびオフセット量に基づいて、ダイナミックレンジが演算される。
演算されたダイナミックレンジがニューラルネットワーク回路101に設定される。そして、ニューラルネットワーク回路101により、素子アレイ121により実現されるニューラルネットワークについて、所定の事後学習を行う。
なお、事後学習が不要である場合には、ステップS6の処理は省略されてもよい。
以上のように、本実施形態に係るニューラルネットワークシステム1では、分解能が有限であるニューロモルフィック素子により重み(結合重み)を実現する構成において、当該分解能より高い精度で実数シミュレーターなどにより求められた結合重みの真値を用いた場合と、当該ニューロモルフィック素子の特性に設定する離散化ステップサイズを用いた場合に基づいて、適した離散化ステップサイズが決定される。また、決定された離散化ステップサイズと、当該分解能に基づいて、ダイナミックレンジ(ダイナミックレンジの幅)が決定される。また、ダイナミックレンジのオフセット量(0、または、0以外の値)に基づいて、ダイナミックレンジ(ダイナミックレンジの幅およびオフセット量であり、上限値と下限値)が決定される。
また、例えば、ニューラルネットワークにおける重みの更新に使用される誤差逆伝搬法では、重みの更新量は入力データあるいは教師データの絶対値に依存し、層ごとに重みの取り得るダイナミックレンジが異なる。さらに、重みの更新量は、重みの更新に使用されるアルゴリズムに依存する。
そこで、本実施形態に係るニューラルネットワークシステム1では、量子化誤差がニューラルネットワークの識別性能に与える影響を考慮し、ニューロモルフィック素子に割り当てる重みの値を適切に設定する。これにより、本実施形態に係るニューラルネットワークシステム1では、ニューロモルフィック素子を用いたニューラルネットワークにおける識別性能の低下を抑制することができる。
また、ニューラルネットワークとしては、任意の種類のニューラルネットワークが用いられてもよく、例えば、全結合型のニューラルネットワーク、畳み込みニューラルネットワーク、あるいは、再帰型ニューラルネットワークなどが用いられてもよい。
例えば、任意の分野における積和演算を行うアレイ(積和演算アレイ)、あるいは、任意の分野における積和演算を含むアナログ演算器などに、本実施形態と同様な構成が適用されてもよい。
また、アレイに備えられるニューロモルフィック素子の分解能としては、様々な分解能が用いられてもよい。例えば、アレイがニューロモルフィック素子を含む複数の層を有する場合に、それぞれの層ごとに共通の分解能(同じ分解能)を有するニューロモルフィック素子を備えてもよい。また、このような場合に、異なる層におけるニューロモルフィック素子の分解能は異なる、構成が用いられてもよい。つまり、同一の層に含まれる複数のニューロモルフィック素子の分解能が同じである構成が用いられてもよく、また、ニューロモルフィック素子が含まれる層が異なると分解能も異なる構成が用いられてもよく、また、これら両方の構成が用いられてもよい。
なお、ここでいう「コンピュータシステム」とは、オペレーティング・システム(OS:Operating System)あるいは周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また、記録媒体としては、例えば、一時的にデータを記録する記録媒体であってもよい。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)あるいは電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
一構成例として、可変な特性(例えば、コンダクタンスなど)の値に応じた重みを信号に乗算するニューロモルフィック素子を含むアレイ(本実施形態では、素子アレイ121)の制御装置(本実施形態では、制御装置11)であって、ニューロモルフィック素子の特性の分解能よりも高い精度で求められた重みの真値(本実施形態では、実数シミュレーターにより演算された真値)を用いた場合とニューロモルフィック素子の特性について設定される離散化ステップサイズ(本実施形態では、離散化ステップサイズに対応するパラメーターα、β)を用いた場合に基づいて所定の条件(誤差を小さくする所定の条件、あるいは、精度を大きくする所定の条件)が満たされるように求められた離散化ステップサイズを使用して、ニューロモルフィック素子の特性を制御する制御部(本実施形態では、制御装置11の機能であり、例えば、重み割り当て制御部23)を備える、制御装置である。
一構成例として、制御装置において、制御部は、離散化ステップサイズと分解能と所定のオフセット量に応じたニューロモルフィック素子のダイナミックレンジを使用して、ニューロモルフィック素子の特性を制御する。
一構成例として、制御装置において、制御部は、アレイがニューロモルフィック素子を含む複数の層を有する場合に、それぞれの層ごとに共通の離散化ステップサイズを使用して、ニューロモルフィック素子の特性を制御する。
一構成例として、制御装置において、制御部は、アレイが複数のニューロモルフィック素子を含む層を有する場合に、同一の層に含まれる複数のニューロモルフィック素子がグループ分けされたグループごとに共通の離散化ステップサイズを使用して、ニューロモルフィック素子の特性を制御する。
一構成例として、制御装置において、アレイがニューロモルフィック素子を含む複数の層を有しており、それぞれの層ごとに共通の分解能を有するニューロモルフィック素子を備え、異なる層におけるニューロモルフィック素子の分解能は異なる。
一構成例として、制御装置において、制御部(本実施形態では、制御装置11の機能であり、例えば、識別制御部21、重み演算制御部22および重み割り当て制御部23)は、離散化ステップサイズを使用して、アレイについて学習を行う。
一構成例として、制御装置において、アレイは、ニューロモルフィック素子を用いてニューラルネットワークにおける積和演算を行う回路を有する。
ここで、コンピュータでは、例えば、CPU(Central Processing Unit)などのプロセッサがメモリに記憶されたプログラムを読み出して実行する。
Claims (9)
- 可変な特性の値に応じた重みを信号に乗算するニューロモルフィック素子を含むアレイの制御装置であって、
前記ニューロモルフィック素子の前記特性の分解能よりも高い精度で求められた前記重みの真値を用いた場合と前記ニューロモルフィック素子の前記特性について設定される離散化ステップサイズを用いた場合に基づいて誤差を小さくする所定の条件あるいは精度を大きくする所定の条件が満たされるように求められた前記離散化ステップサイズを使用して、前記ニューロモルフィック素子の前記特性を制御する制御部を備える、
制御装置。 - 前記制御部は、前記離散化ステップサイズと前記分解能と所定のオフセット量に応じた前記ニューロモルフィック素子のダイナミックレンジを使用して、前記ニューロモルフィック素子の前記特性を制御する、
請求項1に記載の制御装置。 - 前記制御部は、前記アレイが前記ニューロモルフィック素子を含む複数の層を有する場合に、それぞれの層ごとに共通の前記離散化ステップサイズを使用して、前記ニューロモルフィック素子の前記特性を制御する、
請求項1または請求項2のいずれか1項に記載の制御装置。 - 前記制御部は、前記アレイが複数の前記ニューロモルフィック素子を含む層を有する場合に、同一の層に含まれる複数の前記ニューロモルフィック素子がグループ分けされたグループごとに共通の前記離散化ステップサイズを使用して、前記ニューロモルフィック素子の前記特性を制御する、
請求項1または請求項2のいずれか1項に記載の制御装置。 - 前記アレイが前記ニューロモルフィック素子を含む複数の層を有しており、それぞれの層ごとに共通の前記分解能を有する前記ニューロモルフィック素子を備え、異なる層における前記ニューロモルフィック素子の前記分解能は異なる、
請求項1から請求項4のいずれか1項に記載の制御装置。 - 前記制御部は、前記離散化ステップサイズを使用して、前記アレイについて学習を行う、
請求項1から請求項5のいずれか1項に記載の制御装置。 - 前記アレイは、前記ニューロモルフィック素子を用いてニューラルネットワークにおける積和演算を行う回路を有する、
請求項1から請求項6のいずれか1項に記載の制御装置。 - 可変な特性の値に応じた重みを信号に乗算するニューロモルフィック素子を含むアレイについて、前記ニューロモルフィック素子の前記特性の離散化ステップサイズを演算する演算方法であって、
前記ニューロモルフィック素子の前記特性の分解能よりも高い精度で前記重みの真値を演算するステップと、
前記重みの真値を用いた場合と前記ニューロモルフィック素子の前記特性について設定される前記離散化ステップサイズを用いた場合に基づいて、誤差を小さくする所定の条件あるいは精度を大きくする所定の条件が満たされるように、前記離散化ステップサイズを演算するステップと、を備える、
離散化ステップサイズの演算方法。 - 可変な特性の値に応じた重みを信号に乗算するニューロモルフィック素子を含むアレイについて、前記ニューロモルフィック素子の前記特性の離散化ステップサイズを演算するプログラムであって、
前記ニューロモルフィック素子の前記特性の分解能よりも高い精度で前記重みの真値を演算するステップと、
前記重みの真値を用いた場合と前記ニューロモルフィック素子の前記特性について設定される前記離散化ステップサイズを用いた場合に基づいて、誤差を小さくする所定の条件あるいは精度を大きくする所定の条件が満たされるように、前記離散化ステップサイズを演算するステップと、
をコンピュータに実行させるためのプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017167389A JP6293963B1 (ja) | 2017-08-31 | 2017-08-31 | ニューロモルフィック素子を含むアレイの制御装置、離散化ステップサイズの演算方法およびプログラム |
PCT/JP2018/005704 WO2019043990A1 (ja) | 2017-08-31 | 2018-02-19 | ニューロモルフィック素子を含むアレイの制御装置、離散化ステップサイズの演算方法およびプログラム |
CN201880055835.3A CN111052152B (zh) | 2017-08-31 | 2018-02-19 | 包含仿神经元件的阵列的控制装置、离散化步长的运算方法及程序 |
US16/643,660 US11635941B2 (en) | 2017-08-31 | 2018-02-19 | Controller of array including neuromorphic element, method of arithmetically operating discretization step size, and program |
US18/125,997 US20230229900A1 (en) | 2017-08-31 | 2023-03-24 | Controller of array including neuromorphic element, method of arithmetically operating discretization step size, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017167389A JP6293963B1 (ja) | 2017-08-31 | 2017-08-31 | ニューロモルフィック素子を含むアレイの制御装置、離散化ステップサイズの演算方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6293963B1 true JP6293963B1 (ja) | 2018-03-14 |
JP2019046072A JP2019046072A (ja) | 2019-03-22 |
Family
ID=61628698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017167389A Active JP6293963B1 (ja) | 2017-08-31 | 2017-08-31 | ニューロモルフィック素子を含むアレイの制御装置、離散化ステップサイズの演算方法およびプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US11635941B2 (ja) |
JP (1) | JP6293963B1 (ja) |
CN (1) | CN111052152B (ja) |
WO (1) | WO2019043990A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200113106A (ko) * | 2019-03-22 | 2020-10-06 | 국민대학교산학협력단 | 멤리스터 어레이 회로를 제어하기 위한 게이트 회로를 포함하는 뉴럴 네트워크 시스템 |
EP3726372A1 (en) | 2019-04-19 | 2020-10-21 | Fujitsu Limited | Information processing device, information processing method, and information processing program |
JP2021510888A (ja) * | 2018-03-23 | 2021-04-30 | アマゾン テクノロジーズ インコーポレイテッド | 加速された量子化積和演算 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11645501B2 (en) * | 2018-02-28 | 2023-05-09 | International Business Machines Corporation | Distributed, event-based computation using neuromorphic cores |
JP6569755B1 (ja) * | 2018-03-06 | 2019-09-04 | Tdk株式会社 | ニューラルネットワーク装置、信号生成方法およびプログラム |
JP7287388B2 (ja) * | 2018-05-14 | 2023-06-06 | ソニーグループ株式会社 | 情報処理装置および情報処理方法 |
WO2021246249A1 (ja) * | 2020-06-03 | 2021-12-09 | ソニーグループ株式会社 | 情報処理装置及び情報処理方法 |
JP7325015B2 (ja) * | 2021-03-24 | 2023-08-14 | パナソニックIpマネジメント株式会社 | 量子化方法、量子化装置、及び、プログラム |
CN113220268B (zh) * | 2021-06-11 | 2022-08-02 | 上海交通大学 | 光电混合乘累加计算结构 |
US20230205544A1 (en) * | 2021-12-29 | 2023-06-29 | Advanced Micro Devices, Inc. | Forward tensor and activation scaling for lower precision neural networks |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090313195A1 (en) * | 2008-06-17 | 2009-12-17 | University Of Ulster | Artificial neural network architecture |
JP2013546065A (ja) * | 2010-10-29 | 2013-12-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | シミュレーションを使用して学習されるシナプス重みを用いるニューロモーフィック/シナプトロニック・スパイキング・ニューラル・ネットワークのための方法、デバイス、および回路 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3070643B2 (ja) | 1992-10-23 | 2000-07-31 | 株式会社デンソー | ニューラルネット型追加学習装置 |
JP2008225607A (ja) * | 2007-03-09 | 2008-09-25 | Institute Of Physical & Chemical Research | 制御装置、制御システム、ならびに、プログラム |
FR2968808A1 (fr) * | 2010-12-08 | 2012-06-15 | Commissariat Energie Atomique | Circuit électronique a architecture neuromorphique |
CN102184454B (zh) * | 2011-05-26 | 2014-05-07 | 浙江迦南科技股份有限公司 | 基于神经网络系统的制粒机配方生成方法 |
CN103078055B (zh) * | 2013-01-04 | 2015-06-03 | 华中科技大学 | 一种模拟生物神经突触的单元、装置及方法 |
US10019470B2 (en) * | 2013-10-16 | 2018-07-10 | University Of Tennessee Research Foundation | Method and apparatus for constructing, using and reusing components and structures of an artifical neural network |
CN103558756B (zh) * | 2013-11-19 | 2016-08-03 | 福州大学 | 基于组态元件的单神经元pid控制器的实现方法 |
US20160042271A1 (en) * | 2014-08-08 | 2016-02-11 | Qualcomm Incorporated | Artificial neurons and spiking neurons with asynchronous pulse modulation |
CN104573817B (zh) * | 2015-01-20 | 2017-08-29 | 江西理工大学 | 一种变参数细胞神经网络的分数阶可切换多元电路设计方法 |
CN106446310B (zh) * | 2015-08-06 | 2021-08-31 | 新加坡国立大学 | 基于人工神经网络的晶体管及系统建模方法 |
CN106981567B (zh) * | 2017-03-20 | 2019-11-05 | 华中科技大学 | 一种基于光电耦合忆阻器的人工突触器件及其调制方法 |
-
2017
- 2017-08-31 JP JP2017167389A patent/JP6293963B1/ja active Active
-
2018
- 2018-02-19 US US16/643,660 patent/US11635941B2/en active Active
- 2018-02-19 WO PCT/JP2018/005704 patent/WO2019043990A1/ja active Application Filing
- 2018-02-19 CN CN201880055835.3A patent/CN111052152B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090313195A1 (en) * | 2008-06-17 | 2009-12-17 | University Of Ulster | Artificial neural network architecture |
JP2013546065A (ja) * | 2010-10-29 | 2013-12-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | シミュレーションを使用して学習されるシナプス重みを用いるニューロモーフィック/シナプトロニック・スパイキング・ニューラル・ネットワークのための方法、デバイス、および回路 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021510888A (ja) * | 2018-03-23 | 2021-04-30 | アマゾン テクノロジーズ インコーポレイテッド | 加速された量子化積和演算 |
KR20200113106A (ko) * | 2019-03-22 | 2020-10-06 | 국민대학교산학협력단 | 멤리스터 어레이 회로를 제어하기 위한 게이트 회로를 포함하는 뉴럴 네트워크 시스템 |
KR102368962B1 (ko) | 2019-03-22 | 2022-03-03 | 국민대학교산학협력단 | 멤리스터 어레이 회로를 제어하기 위한 게이트 회로를 포함하는 뉴럴 네트워크 시스템 |
US11727253B2 (en) | 2019-03-22 | 2023-08-15 | Kookmin University Industry Academy Cooperation Foundation | Neural network system including gate circuit for controlling memristor array circuit |
EP3726372A1 (en) | 2019-04-19 | 2020-10-21 | Fujitsu Limited | Information processing device, information processing method, and information processing program |
Also Published As
Publication number | Publication date |
---|---|
US11635941B2 (en) | 2023-04-25 |
WO2019043990A1 (ja) | 2019-03-07 |
CN111052152A (zh) | 2020-04-21 |
US20200272891A1 (en) | 2020-08-27 |
JP2019046072A (ja) | 2019-03-22 |
CN111052152B (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6293963B1 (ja) | ニューロモルフィック素子を含むアレイの制御装置、離散化ステップサイズの演算方法およびプログラム | |
JP6569755B1 (ja) | ニューラルネットワーク装置、信号生成方法およびプログラム | |
CN108009640B (zh) | 基于忆阻器的神经网络的训练装置及其训练方法 | |
US11373092B2 (en) | Training of artificial neural networks | |
US20190122105A1 (en) | Training of artificial neural networks | |
JP7427030B2 (ja) | 人工ニューラル・ネットワークのトレーニング方法、装置、プログラム | |
US11386319B2 (en) | Training of artificial neural networks | |
EP3923201A1 (en) | Apparatus and method with neural network | |
US20210365765A1 (en) | Neuromorphic device and method | |
US11568217B2 (en) | Sparse modifiable bit length deterministic pulse generation for updating analog crossbar arrays | |
JP6881693B2 (ja) | ニューロモーフィック回路、ニューロモーフィックアレイの学習方法およびプログラム | |
US20220101142A1 (en) | Neural network accelerators resilient to conductance drift | |
JP2023530755A (ja) | 振動性ニューラル・ネットワークのトレーニング | |
US11443171B2 (en) | Pulse generation for updating crossbar arrays | |
US20210133556A1 (en) | Feature-separated neural network processing of tabular data | |
US20230229900A1 (en) | Controller of array including neuromorphic element, method of arithmetically operating discretization step size, and program | |
Lee et al. | Mitigating The Impact of ReRAM IV Nonlinearity and IR Drop via Fast Offline Network Training | |
de Moura et al. | Closing the Capacity Gap: A Transforming Technique for ReRAM-Friendly NNs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171013 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20171124 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20171128 |
|
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: 20180116 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6293963 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |