JP6972057B2 - 演算装置 - Google Patents

演算装置 Download PDF

Info

Publication number
JP6972057B2
JP6972057B2 JP2019049035A JP2019049035A JP6972057B2 JP 6972057 B2 JP6972057 B2 JP 6972057B2 JP 2019049035 A JP2019049035 A JP 2019049035A JP 2019049035 A JP2019049035 A JP 2019049035A JP 6972057 B2 JP6972057 B2 JP 6972057B2
Authority
JP
Japan
Prior art keywords
neural network
values
output
layers
mode
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
JP2019049035A
Other languages
English (en)
Other versions
JP2020149625A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2019049035A priority Critical patent/JP6972057B2/ja
Priority to US16/555,430 priority patent/US11651193B2/en
Publication of JP2020149625A publication Critical patent/JP2020149625A/ja
Application granted granted Critical
Publication of JP6972057B2 publication Critical patent/JP6972057B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • 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
    • G06N3/045Combinations of networks
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)
  • Feedback Control In General (AREA)

Description

本発明の実施形態は、演算装置に関する。
近年、ハードウェア化したニューラルネットワークを用いて、脳型プロセッサを実現する技術が提案されている。脳型プロセッサでは、内部で学習器がニューラルネットワークに誤差データを与えて、ニューラルネットワークに設定されている重み係数等を最適化する。
従来のニューラルネットワークは、通常の演算処理を停止した状態で学習処理を実行し、重み係数を最適化する。このため、従来のニューラルネットワークは、外部のプロセッサにより学習処理を実行させることができた。
しかし、脳型プロセッサを実現する場合、ニューラルネットワークは、演算処理と学習処理とを並行して実行しなければならない。従って、この場合、ニューラルネットワークは、外部装置から受信した演算対象データを順方向に伝播させる処理と、学習用の誤差データを逆方向に伝播させる処理とを並行して実行しなければならない。
久保博隆、橋本周司、「BP学習アルゴリズムを模倣するニューラルネットワークの構築」、第66回情報処理学会 全国大会論文集、P2−229〜P2−230、2004年
S.R. Nandakumr et al., "Mixed-precision architecture based on computational memory for training deep neural networks", 2018 IEEE International Symposium on Circuits and Systems(ISCAS), 27-30 May 2018
本発明が解決しようとする課題は、演算処理と学習処理とを並行に実行することができる演算装置を提供することにある。
実施形態に係る演算装置は、第1ニューラルネットワークと、第2ニューラルネットワークと、評価部と、係数更新部と、制御部とを備える。前記第1ニューラルネットワークは、第1モードにおいて演算を実行する。前記第2ニューラルネットワークは、前記第1モードとは異なる第2モードにおいて演算を実行し、前記第1ニューラルネットワークと同一の層構造である。前記評価部は、前記第1モードにおいて前記第1ニューラルネットワークによる演算の誤差を評価し、前記第2モードにおいて前記第2ニューラルネットワークによる演算の誤差を評価する。前記係数更新部は、前記第1モードにおいて、前記第1ニューラルネットワークによる演算の誤差を評価した評価結果に基づき前記第2ニューラルネットワークに設定されている複数の係数を更新し、前記第2モードにおいて、前記第2ニューラルネットワークによる演算の誤差を評価した評価結果に基づき前記第1ニューラルネットワークに設定されている複数の係数を更新する。前記制御部は、前記第1モードおよび前記第2モードを交互に切り換え制御する。
実施形態に係る演算装置の構成図。 演算装置による処理の流れを示すフローチャート。 第1および第2のニューラルネットワークの構成図。 第1および第2のニューラルネットワークの第n層の入出力値を示す図。 評価部の構成図。 逆伝播ニューラルネットワークの第m層の入出力値を示す図。 第1モードにおける信号の入出力関係を示す図。 第2モードにおける信号の入出力関係を示す図。 第nの更新部の入出力値を示す図。 演算装置の変形例の構成図。
以下、図面を参照しながら実施形態に係る演算装置10について説明する。実施形態に係る演算装置10は、ニューラルネットワークにおける演算処理と学習処理とを並行に実行することができる。
図1は、実施形態に係る演算装置10の構成を示す図である。演算装置10は、半導体チップ等に実現されたハードウェアである。演算装置10は、基板上に形成された回路であってもよい。また、演算装置10は、複数の半導体チップまたは複数の基板に形成された回路であってもよい。
演算装置10は、第1ニューラルネットワーク21と、第2ニューラルネットワーク22と、入力部24と、出力部26と、評価部28と、係数更新部30と、制御部32とを備える。
第1ニューラルネットワーク21は、ハードウェア回路により実現される。第1ニューラルネットワーク21は、複数の層のそれぞれに設定される複数の係数が、例えば、ReRAM(resistive random access memory)等に用いられる可変抵抗素子であってもよいし、可変キャパシタ等であってもよい。
第2ニューラルネットワーク22は、ハードウェア回路により実現される。第2ニューラルネットワーク22は、第1ニューラルネットワーク21と同一の層構造である。第1ニューラルネットワーク21および第2ニューラルネットワーク22は、層の数、それぞれの層に入出力する値の数、それぞれの層の行列乗算回路、および、それぞれの層の活性化関数回路が同一である。ただし、第1ニューラルネットワーク21および第2ニューラルネットワーク22は、設定されている係数の値が異なってもよい。
また、第1ニューラルネットワーク21および第2ニューラルネットワーク22のそれぞれは、N個(Nは、2以上の整数)の層を有する。第1ニューラルネットワーク21および第2ニューラルネットワーク22のそれぞれは、N個の層のそれぞれから複数の中間出力値を出力する。
ここで、演算装置10は、第1モードと第2モードとで、動作が切り替わる。第1ニューラルネットワーク21は、第1モードにおいて演算を実行し、第2モードにおいて演算を実行しない。反対に、第2ニューラルネットワーク22は、第2モードにおいて演算を実行し、第1モードにおいて演算を実行しない。
また、第1ニューラルネットワーク21は、第2モードにおいて、内部に設定されている複数の係数が更新され、第1モードにおいて、内部に設定されている複数の係数が更新されない。反対に、第2ニューラルネットワーク22は、第1モードにおいて、内部に設定されている複数の係数が更新され、第2モードにおいて、内部に設定されている複数の係数が更新されない。
入力部24は、他の装置から演算対象となる複数の入力値を受け取る。入力部24は、第1モードにおいて、複数の入力値を第1ニューラルネットワーク21の最初の層(第1層)に与える。入力部24は、第2モードにおいて、複数の入力値を第2ニューラルネットワーク22の最初の層(第1層)に与える。
出力部26は、第1モードにおいて、第1ニューラルネットワーク21の最終層(第N層)から出力された複数の中間出力値を、複数の出力値として他の装置に出力する。また、出力部26は、第2モードにおいて、第2ニューラルネットワーク22の最終層(第N層)から出力された複数の中間出力値を、複数の出力値として他の装置に出力する。
評価部28は、第1モードにおいて、第1ニューラルネットワーク21による演算の誤差を評価する。また、評価部28は、第2モードにおいて、第2ニューラルネットワーク22による演算の誤差を評価する。
例えば、評価部28は、第1モードにおいて、第2ニューラルネットワーク22のN個の層のそれぞれに対応させて、第1ニューラルネットワーク21のN個の層のそれぞれから出力された複数の中間出力値の誤差を評価した複数の中間評価値を生成する。また、評価部28は、第2モードにおいて、第1ニューラルネットワーク21のN個の層のそれぞれに対応させて、第2ニューラルネットワーク22のN個の層のそれぞれから出力された複数の中間出力値の誤差を評価した複数の中間評価値を生成する。
なお、評価部28は、ハードウェア回路により実現されてもよいし、プロセッサがプログラムを実行することにより実現されてもよい。評価部28については、後述において詳細をさらに説明する。
係数更新部30は、第1モードにおいて、第1ニューラルネットワーク21による演算の誤差を評価した評価結果に基づき、第2ニューラルネットワーク22に設定されている複数の係数を更新する。また、係数更新部30は、第2モードにおいて、第2ニューラルネットワーク22による演算の誤差を評価した評価結果に基づき、第1ニューラルネットワーク21に設定されている複数の係数を更新する。
例えば、係数更新部30は、第1モードにおいて、第1ニューラルネットワーク21のN個の層のそれぞれに対応する複数の中間評価値に基づき、第2ニューラルネットワーク22のN個の層のそれぞれに設定されている複数の係数を更新する。
また、係数更新部30は、第2モードにおいて、第2ニューラルネットワーク22のN個の層のそれぞれに対応する複数の中間評価値に基づき、第1ニューラルネットワーク21のN個の層のそれぞれに設定されている複数の係数を更新する。
例えば、係数更新部30は、N個の層のそれぞれについて、設定されている複数の係数の誤差の勾配を算出する。そして、係数更新部30は、係数の誤差の勾配を0とする方向に、設定されている複数の係数を変更する。
係数更新部30は、ハードウェア回路により実現されてもよいし、プロセッサがプログラムを実行することにより実現されてもよい。なお、係数更新部30については、後述において詳細をさらに説明する。
制御部32は、第1モードと第2モードとを交互に切り換える。制御部32は、例えば、一定期間毎に、モードを切り換えてもよい。制御部32は、入力値を所定回受け取る毎に、モードを切り換えてもよい。
図2は、演算装置10による処理の流れを示すフローチャートである。まず、S11において、演算装置10は、第1モードに設定されているとする。
S11において、演算装置10は、モードの切り替えがされたか否かを判断する。すなわち、演算装置10は、第2モードに切り替えがされたか否かを判断する。
モードの切り替えがされていない場合(S11のNo)、S12において、演算装置10は、複数の入力値を取得したか否かを判断する。複数の入力値を取得していない場合(S12のNo)、演算装置10は、処理をS11に戻す。演算装置10は、複数の入力値を取得した場合(S12のYes)、処理をS13に進める。また、演算装置10は、モードの切り替えがされた場合(S11のYes)、処理をS16に進める。
S13において、演算装置10は、取得した複数の入力値に対して、第1ニューラルネットワーク21による演算を実行する。この結果、演算装置10は、複数の出力値を出力することができる。続いて、S14において、演算装置10は、第1ニューラルネットワーク21による演算の誤差を評価する。続いて、S15において、演算装置10は、第1ニューラルネットワーク21による演算の誤差を評価した評価結果に基づき、第2ニューラルネットワーク22に設定されている複数の係数を更新する。
演算装置10は、S15の後に、処理をS11に戻す。そして、演算装置10は、第1モードの期間中、S11からS15までの処理を繰り返す。
一方、S16に進んだ場合、演算装置10は、第2モードに設定された状態となる。S16において、演算装置10は、モードの切り替えがされたか否かを判断する。すなわち、演算装置10は、第1モードに切り替えがされたか否かを判断する。
モードの切り替えがされていない場合(S16のNo)、S17において、演算装置10は、複数の入力値を取得したか否かを判断する。複数の入力値を取得していない場合(S17のNo)、演算装置10は、処理をS16に戻す。演算装置10は、複数の入力値を取得した場合(S17のYes)、処理をS18に進める。また、演算装置10は、モードの切り替えがされた場合(S16のYes)、処理をS11に戻す。
S18において、演算装置10は、取得した複数の入力値に対して、第2ニューラルネットワーク22による演算を実行する。この結果、演算装置10は、複数の出力値を出力することができる。続いて、S19において、演算装置10は、第2ニューラルネットワーク22による演算の誤差を評価する。続いて、S20において、演算装置10は、第2ニューラルネットワーク22による演算の誤差を評価した評価結果に基づき、第1ニューラルネットワーク21に設定されている複数の係数を更新する。
演算装置10は、S20の後に、処理をS16に戻す。そして、演算装置10は、第2モードの期間中、S16からS20までの処理を繰り返す。
以上の処理により、演算装置10は、第1モードにおいて第1ニューラルネットワーク21により演算を実行し、第2モードにおいて第2ニューラルネットワーク22により演算を実行することができる。さらに、演算装置10は、第1モードにおいて、第2ニューラルネットワーク22に設定されている複数の係数を更新し、第2モードにおいて、第1ニューラルネットワーク21に設定されている複数の係数を更新することができる。従って、演算装置10によれば、ニューラルネットワークにおける演算処理と学習処理とを並行に実行することができる。
また、演算装置10は、第1モードと第2モードとが交互に切り換えられる。これにより、演算装置10は、第1ニューラルネットワーク21に設定されている複数の係数の更新、および、第2ニューラルネットワーク22に複数の係数の更新を交互に進めることができる。これにより、演算装置10は、第1ニューラルネットワーク21および第2ニューラルネットワーク22の両者を適応化させることができる。
図3は、第1ニューラルネットワーク21および第2ニューラルネットワーク22の構成を示す図である。第1ニューラルネットワーク21および第2ニューラルネットワーク22における、第1層から第N層までのN個の層のそれぞれは、次のような処理を行う。
第1層は、入力部24から複数の入力値を取得する。複数の入力値のうちのx番目(xは1以上の整数)の入力値を、y[0] と表す。
なお、yの上付きの中カッコ内の数値は、層番号を表す。[0]は、入力部24の番号を表す。また、yの下付きの数値は、層に入力または層から出力される複数の値の中での順番を表す。他の変数についても同様である。
N個の層のそれぞれは、複数の中間出力値を後段の層に出力する。N個の層のそれぞれから出力される中間出力値の数は、互いに異なってもよい。第n層から出力される複数の中間出力値のうちのx番目の中間出力値を、y[n] と表す。nは、1からNまでの任意の整数である。
第2層から第N層のそれぞれは、前段の層から、複数の中間出力値を取得する。なお、第2層から第N層のそれぞれが取得する中間出力値の数は、前段の層から出力される中間出力値の数と同一である。
また、N個の層のそれぞれは、前段の層から出力された複数の中間出力値と、設定されている複数の係数とを行列乗算することにより、複数の積和演算値を算出する。第n層において算出された複数の積和演算値のうち、x番目の積和演算値をv[n] と表す。
さらに、N個の層のそれぞれは、複数の積和演算値に対して、予め設定されている活性化関数演算を実行することにより、複数の中間出力値を算出する。そして、N個の層のそれぞれは、算出した複数の中間出力値を出力する。N個の層のそれぞれに設定されている活性化関数は、他の層と異なってもよい。
第N層は、複数の中間出力値を出力部26に出力する。出力部26は、第N層から出力された複数の中間出力値を、演算装置10から出力される複数の出力値として他の装置に与える。
また、N個の層のそれぞれは、算出した複数の積和演算値および複数の中間出力値を、複数の係数を更新するために、係数更新部30に出力する。N個の層のそれぞれから出力される積和演算値の数は、複数の中間出力値の数と同一である。
図4は、第1ニューラルネットワーク21および第2ニューラルネットワーク22の第n層の入出力値、および、設定されている複数の係数を示す図である。第1ニューラルネットワーク21および第2ニューラルネットワーク22の第n層は、次のような処理を行う。
第n層は、前段の第(n−1)層から出力されたI個の中間出力値を取得する。Iは、2以上の整数である。なお、n=1の場合、第n層(すなわち、第1層)は、入力部24から出力されたI個の入力値を、I個の中間出力値として取得する。第n層が取得するI個の中間出力値のうち、i番目(iは、1以上I以下の整数)の中間出力値を、y[n−1] と表す。
第n層は、J個の中間出力値を出力する。Jは、2以上の整数である。第n層が出力するJ個の中間出力値のうち、j番目(jは、1以上J以下の整数)の中間出力値を、y[n] と表す。
第n層は、I個の列およびJ個の行の行列に対応して配置された(I×J)個の係数が設定されている。第n層に設定された(I×J)個の係数のうち、第i列および第j行に配置された係数を、w[n] ijと表す。
第n層は、J個の積和演算値を算出する。第n層が算出するJ個の積和演算値のうち、j番目の積和演算値をv[n] と表す。
このような場合、第n層は、下記の式(1)に示す行列乗算により、j=1〜JのJ個の積和演算値を算出する。
Figure 0006972057
また、第n層には、活性化関数が設定されている。第n層に設定された活性化関数をf[n](・)と表す。
そして、第n層は、下記の式(2)に示す活性化関数演算により、j=1〜JのJ個の中間出力値を算出する。
[n] =f[n](v[n] )…(2)
第n層は、算出したJ個の中間出力値を(n+1)層に出力する。なお、n=Nである場合、第n層(すなわち、第N層)は、算出したJ個の中間出力値を出力部26に与える。
また、第n層は、算出したJ個の積和演算値およびJ個の中間出力値を、係数更新のために、係数更新部30に出力する。
図5は、評価部28の構成を示す図である。評価部28は、出力評価部36と、逆伝播ニューラルネットワーク40とを有する。
出力評価部36は、演算装置10から出力される複数の出力値の目標(教師)となる複数の目標値を、他の装置から取得する。複数の目標値のうち、x番目の目標値を、tと表す。
また、出力評価部36は、第1モードにおいて、第1ニューラルネットワーク21の第N層から出力された複数の中間出力値を取得する。そして、出力評価部36は、第1モードにおいて、第1ニューラルネットワーク21の第N層から出力された複数の中間出力値のそれぞれにおける複数の目標値のそれぞれに対する誤差を評価した複数の出力評価値を生成する。
また、出力評価部36は、第2モードにおいて、第2ニューラルネットワーク22の第N層から出力された複数の中間出力値を取得する。そして、出力評価部36は、第2モードにおいて、第2ニューラルネットワーク22の第N層から出力された複数の中間出力値のそれぞれにおける複数の目標値のそれぞれに対する誤差を評価した複数の出力評価値を生成する。
出力評価部36は、例えば、プロセッサ回路により実現される場合、予め設定された損失関数に対して、第1ニューラルネットワーク21または第2ニューラルネットワーク22の第N層から出力された複数の中間出力値および複数の目標値を代入して、複数の出力評価値を生成してもよい。なお、出力評価部36は、損失関数に相当する処理を実行可能なハードウェア回路を有してもよい。
出力評価部36は、複数の出力評価値を逆伝播ニューラルネットワーク40に与える。複数の出力評価値のうち、x番目の出力評価値を、e[N] と表す。
逆伝播ニューラルネットワーク40は、出力評価部36から出力された複数の出力評価値を伝播させて、N個の層のそれぞれに対応する複数の中間評価値を出力する。
逆伝播ニューラルネットワーク40は、ハードウェア回路により実現されたニューラルネットワークである。逆伝播ニューラルネットワーク40は、複数の層のそれぞれに設定される複数の係数が、例えば、ReRAM等に用いられる可変抵抗素子であってもよいし、可変キャパシタ等であってもよい。
逆伝播ニューラルネットワーク40は、第1ニューラルネットワーク21および第2ニューラルネットワーク22における第2層から第N層に対応する(N−1)個の層を有する。逆伝播ニューラルネットワーク40は、出力評価部36から受け取った複数の出力評価値を、第N層から第2層へ向かう方向に伝播する。
第N層は、出力評価部36から複数の出力評価値を取得する。複数の入力値のうちのx番目の出力評価値を、e[N] と表す。
第2層から第(N−1)層のそれぞれは、後段の層から、複数の中間評価値を取得する。第m層から出力される複数の中間評価値のうちのx番目の中間評価値を、e[m] と表す。mは、2からNまでの任意の整数である。
なお、(N−1)個の層のそれぞれが取得する中間評価値の数は、第1ニューラルネットワーク21および第2ニューラルネットワーク22における対応する層が出力する中間出力値の数と同一である。
(N−1)個の層のそれぞれは、後段の層から出力された複数の中間評価値と、設定されている複数の係数とを行列乗算することにより複数の演算値を算出する。
ここで、(N−1)個の層のそれぞれは、第1ニューラルネットワーク21および第2ニューラルネットワーク22における対応する層の行列乗算を転置させた行列乗算を実行することにより、複数の演算値を算出する。なお、(N−1)個の層のそれぞれは、設定されている複数の係数が、第1ニューラルネットワーク21および第2ニューラルネットワーク22における対応する層に設定されている複数の係数と関連が無くてもよい。例えば、逆伝播ニューラルネットワーク40における(N−1)個の層のそれぞれは、設定されている複数の係数が、ランダムな値であってもよい。
さらに、(N−1)個の層のそれぞれは、複数の演算値に対して、予め設定されている関数演算を実行することにより複数の中間評価値を算出する。なお、(N−1)個の層のそれぞれは、予め設定されている関数が、第1ニューラルネットワーク21および第2ニューラルネットワーク22における対応する層に設定されている活性化関数と関連が無くてもよい。
そして、逆伝播ニューラルネットワーク40は、(N−1)個の層のそれぞれにより算出した複数の中間評価値を、第1ニューラルネットワーク21および第2ニューラルネットワーク22における前段の層に対応する複数の中間評価値として係数更新部30に出力する。すなわち、逆伝播ニューラルネットワーク40は、第m層により算出した複数の中間評価値を、第1ニューラルネットワーク21および第2ニューラルネットワーク22における第(m−1)層に対応する複数の中間評価値として出力する。
さらに、逆伝播ニューラルネットワーク40は、第N層が取得した複数の出力評価値を、第1ニューラルネットワーク21および第2ニューラルネットワーク22における第N層に対応する中間評価値として出力する。
図6は、逆伝播ニューラルネットワーク40の第m層の入出力値、および、設定されている複数の係数を示す図である。逆伝播ニューラルネットワーク40の第m層は、次のような処理を行う。
第m層は、後段の第(m+1)層から出力されたJ個の出力評価値を取得する。なお、m=Nの場合、第m層(すなわち、第N層)は、出力評価部36から出力されたJ個の出力評価値を、J個の中間評価値として取得する。第m層が取得するJ個の中間評価値のうち、j番目の中間評価値を、e[m] と表す。
第m層は、I個の中間評価値を出力する。第m層が出力するI個の中間評価値のうち、i番目の中間評価値を、e[m−1] と表す。
第m層は、J個の列およびI個の行の行列に対応して配置された(J×I)個の係数が設定されている。第m層に設定された(J×I)個の係数のうち、第j列および第i行に配置された係数を、α[m] jiと表す。
第m層は、I個の演算値を算出する。第m層が算出するI個の演算値のうち、i番目の演算値をs[m−1] と表す。
このような場合、第m層は、下記の式(3)に示す行列乗算により、i=1〜IのI個の演算値を算出する。
Figure 0006972057
ここで、式(3)の行列乗算は、第1ニューラルネットワーク21および第2ニューラルネットワーク22における第m層の行列乗算を転置させた行列乗算である。
また、第m層には、関数が設定されている。第m層に設定された関数をg[m](・)と表す。このような場合、第m層は、下記の式(4)に示す関数演算により、i=1〜IのI個の中間評価値を算出する。
[m−1] =g[m](s[m−1] )…(4)
第m層は、算出したI個の中間評価値を、逆伝播ニューラルネットワーク40における(m−1)層に出力する。ただし、m=2の場合、第m層(すなわち、第2層)は、前段の層へI個の中間評価値を出力しない。
さらに、このような第m層は、算出したI個の中間評価値を、第1ニューラルネットワーク21および第2ニューラルネットワーク22における(m−1)層に対応する複数の中間評価値として、係数更新部30に出力する。
図7は、第1モードにおける演算装置10内での信号の入出力関係を示す図である。本実施形態において、係数更新部30は、第1から第NまでのN個の更新部44−1〜44−Nを有する。
第1モードにおいて、係数更新部30は、第1〜第NまでのN個の層のそれぞれに対応して、第1ニューラルネットワーク21の前段の層から出力された複数の中間出力値を取得する。例えば、第1モードにおいて、第nの更新部44−nは、第1ニューラルネットワーク21の第(n−1)層から出力された複数の中間出力値を取得する。
ただし、第1モードにおいて、係数更新部30は、第1層に対応する複数の中間出力値として、入力部24から出力された複数の入力値を取得する。例えば、第1モードにおいて、n=1の場合には、第nの更新部44−n(すなわち、第1の更新部44−1)は、入力部24から出力された複数の入力値を、複数の中間出力値として取得する。
また、第1モードにおいて、係数更新部30は、N個の層のそれぞれに対応して、第1ニューラルネットワーク21の対応する層で算出された複数の積和演算値を取得する。例えば、第1モードにおいて、第nの更新部44−nは、第1ニューラルネットワーク21の第n層により算出された複数の積和演算値を取得する。
また、第1モードにおいて、係数更新部30は、N個の層のそれぞれに対応して、対応する層について算出された複数の中間評価値を評価部28から取得する。例えば、第1モードにおいて、第nの更新部44−nは、逆伝播ニューラルネットワーク40における第(n−1)層から出力された複数の中間評価値を取得する。ただし、第1モードにおいて、n=Nの場合、第nの更新部44−n(すなわち、第Nの更新部44−N)は、出力評価部36から出力された複数の出力評価値を、複数の中間評価値として取得する。
そして、第1モードにおいて、係数更新部30は、N個の層のそれぞれに対応して取得した複数の中間出力値、複数の積和演算値および複数の中間評価値に基づき、第2ニューラルネットワーク22のN個の層のそれぞれに設定されている複数の係数を更新する。例えば、第nの更新部44−nは、第n層に対応して取得した複数の中間出力値、複数の積和演算値および複数の中間評価値に基づき、第2ニューラルネットワーク22の第n層に設定されている複数の係数を更新する。
図8は、第2モードにおける演算装置10内での信号の入出力関係を示す図である。
第2モードにおいて、係数更新部30は、第1〜第NまでのN個の層のそれぞれに対応して、第2ニューラルネットワーク22の前段の層から出力された複数の中間出力値を取得する。例えば、例えば、第2モードにおいて、第nの更新部44−nは、第2ニューラルネットワーク22の第(n−1)層から出力された複数の中間出力値を取得する。
ただし、第2モードにおいて、係数更新部30は、第1層に対応する複数の中間出力値として、入力部24から出力された複数の入力値を取得する。例えば、第2モードにおいて、n=1の場合には、第nの更新部44−n(すなわち、第1の更新部44−1)は、入力部24から出力された複数の入力値を、複数の中間出力値として取得する。
また、第2モードにおいて、係数更新部30は、N個の層のそれぞれに対応して、第2ニューラルネットワーク22の対応する層で算出された複数の積和演算値を取得する。例えば、第2モードにおいて、第nの更新部44−nは、第2ニューラルネットワーク22の第n層により算出された複数の積和演算値を取得する。
また、第2モードにおいて、係数更新部30は、N個の層のそれぞれに対応して、対応する層について算出された複数の中間評価値を評価部28から取得する。例えば、第2モードにおいて、第nの更新部44−nは、逆伝播ニューラルネットワーク40における第(n−1)層から出力された複数の中間評価値を取得する。ただし、第2モードにおいて、n=Nの場合、第nの更新部44−n(すなわち、第Nの更新部44−N)は、出力評価部36から出力された複数の出力評価値を、複数の中間評価値として取得する。
そして、第2モードにおいて、係数更新部30は、N個の層のそれぞれに対応して取得した複数の中間出力値、複数の積和演算値および複数の中間評価値に基づき、第1ニューラルネットワーク21のN個の層のそれぞれに設定されている複数の係数を更新する。例えば、第nの更新部44−nは、第n層に対応して取得した複数の中間出力値、複数の積和演算値および複数の中間評価値に基づき、第1ニューラルネットワーク21の第n層に設定されている複数の係数を更新する。
図9は、第nの更新部44−nの入出力値を示す図である。第nの更新部44−nは、次のような処理を行う。
第nの更新部44−nは、I個の中間出力値(y[n−1] ,…,y[n−1] ,…y[n−1] )を取得する。また、第nの更新部44−nは、J個の積和演算値(v[n] ,…,v[n] ,…y[n] )を取得する。また、第nの更新部44−nは、J個の中間評価値(e[n] ,…,e[n] ,…e[n] )を取得する。
そして、第nの更新部44−nは、第1ニューラルネットワーク21および第2ニューラルネットワーク22の第n層に設定された(I×J)個の係数(w[n] 11,…,w[n] ij,…w[n] IJ)を更新する。
本実施形態においては、第nの更新部44−nは、第n層に設定された(I×J)個の係数のそれぞれについて、係数の誤差を評価するための評価関数の勾配を算出する。そして、第nの更新部44−nは、勾配を小さくするように(例えば、0とするように)、第n層に設定された(I×J)個の係数のそれぞれを変更する。
例えば、第n層に設定された(I×J)個の係数のうち、i行j列の係数をw[n] ijとする。この場合、第nの更新部44−nは、i行j列の係数を下記の式(5)に示すように変更する。なお、Eは、評価関数を表す。∂E/∂w[n] ijは、i行j列の係数についての評価関数の勾配を表す。
[n] ij=w[n] ij−∂E/∂w[n] ij…(5)
また、第1ニューラルネットワーク21および第2ニューラルネットワーク22における第n層に設定された活性化関数の微分関数をf[n]´(・)とした場合、第nの更新部44−nは、勾配(∂E/∂w[n] ij)を、下記の式(6)により算出する。
∂E/∂w[n] ij=y[n−1] ×f[n]´(v[n] )×e[n] …(6)
このような第nの更新部44−nは、誤差逆伝播法に相当する演算を実行して、第1ニューラルネットワーク21および第2ニューラルネットワーク22における第n層に設定された複数の係数を更新することができる。
図10は、演算装置10の変形例の構成を示す図である。演算装置10は、評価部28および係数更新部30に代えて、第1モード用の評価部28−1と、第2モード用の評価部28−2と、第1モード用の係数更新部30−1と、第2モード用の係数更新部30−2とを備えてもよい。
第1モード用の評価部28−1および第1モード用の評価部28−2は、図1で示した評価部28と同一の構成である。第1モード用の係数更新部30−1および第1モード用の係数更新部30−2は、図1で示した係数更新部30と同一の構成である。
制御部32は、第1モードにおいて、第1モード用の評価部28−1および係数更新部30−1を動作させ、第2モード用の評価部28−2および係数更新部30−2の動作を停止させる。また、制御部32は、第2モードにおいて、第1モード用の評価部28−1および係数更新部30−1の動作を停止させ、第2モード用の評価部28−2および係数更新部30−2を動作させる。
このような構成により、演算装置10は、第1ニューラルネットワーク21の近傍に第2モード用の係数更新部30−2を配置することができる。また、演算装置10は、第2ニューラルネットワーク22の近傍に第1モード用の係数更新部30−1を配置することができる。これにより、演算装置10は、物理的なスイッチ等を無くすことができ、また、係数更新のための配線等を短くすることができる。
以上のように、演算装置10は、ニューラルネットワークによる演算処理と、ニューラルネットワークの学習処理とを並行に実行することができる。これにより、演算装置10によれば、演算処理を停止することなく、リアルタイムで学習処理を実行することができる。
さらに、演算装置10は、ニューラルネットワークにおける複数の層のそれぞれに設定された係数を学習するための複数の中間評価値を、逆伝播ニューラルネットワーク40を用いて生成する。演算装置10は、このような逆伝播ニューラルネットワーク40を用いることにより、下記のような効果が生じる。
ニューラルネットワークをハードウェアで実現する場合、例えば、係数は、抵抗値またはキャパシタの容量等により実現される。このため、ニューラルネットワークをハードウェアで実現する場合、学習装置は、係数を更新するために、比較的に長い時間を費やしてしまう。
従来の誤差逆伝播法により係数を更新する場合、学習装置は、ある層の係数を更新するために、1つ後ろの層の係数の更新を完了していなければならない。このため、ハードウェアで実現されたニューラルネットワークを、従来の誤差逆伝播法により係数を更新した場合、学習装置は、ニューラルネットワークの全ての層について係数を更新するために、非常に多くの時間を必要としてしまう。
これに対して、演算装置10は、複数の層のそれぞれについて複数の中間評価値を、逆伝播ニューラルネットワーク40を用いて算出する。このため、演算装置10は、対象のニューラルネットワークの係数を更新せずに、複数の層のそれぞれについての複数の中間評価値を算出することができる。従って、演算装置10によれば、高速に学習処理を実行することができる。なお、非特許文献1には、誤差逆伝播法を模倣するニューラルネットワークが学習に有効であることが記載されている。
本発明の実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
10 演算装置
21 第1ニューラルネットワーク
22 第2ニューラルネットワーク
24 入力部
26 出力部
28 評価部
30 係数更新部
32 制御部
36 出力評価部
40 逆伝播ニューラルネットワーク

Claims (15)

  1. 第1モードにおいて演算を実行する第1ニューラルネットワークと、
    前記第1モードとは異なる第2モードにおいて演算を実行し、前記第1ニューラルネットワークと同一の層構造の第2ニューラルネットワークと、
    前記第1モードにおいて前記第1ニューラルネットワークによる演算の誤差を評価し、前記第2モードにおいて前記第2ニューラルネットワークによる演算の誤差を評価する評価部と、
    前記第1モードにおいて、前記第1ニューラルネットワークによる演算の誤差を評価した評価結果に基づき前記第2ニューラルネットワークに設定されている複数の係数を更新し、前記第2モードにおいて、前記第2ニューラルネットワークによる演算の誤差を評価した評価結果に基づき前記第1ニューラルネットワークに設定されている複数の係数を更新する係数更新部と、
    を備える演算装置。
  2. 前記第1モードおよび前記第2モードを交互に切り換え制御する制御部
    をさらに請求項1に記載の演算装置。
  3. 前記第1ニューラルネットワークおよび前記第2ニューラルネットワークのそれぞれは、N個(Nは、2以上の整数)の層を有し、
    前記第1ニューラルネットワークおよび前記第2ニューラルネットワークのそれぞれは、前記N個の層のそれぞれから複数の中間出力値を出力し、
    前記評価部は、
    前記第1モードにおいて、前記第2ニューラルネットワークの前記N個の層のそれぞれに対応させて、前記第1ニューラルネットワークの前記N個の層のそれぞれから出力された前記複数の中間出力値の誤差を評価した複数の中間評価値を生成し、
    前記第2モードにおいて、前記第1ニューラルネットワークの前記N個の層のそれぞれに対応させて、前記第2ニューラルネットワークの前記N個の層のそれぞれから出力された前記複数の中間出力値の誤差を評価した前記複数の中間評価値を生成する
    請求項2に記載の演算装置。
  4. 前記係数更新部は、
    前記第1モードにおいて、前記第1ニューラルネットワークの前記N個の層のそれぞれに対応する前記複数の中間評価値に基づき、前記第2ニューラルネットワークの前記N個の層のそれぞれに設定されている複数の係数を更新し、
    前記第2モードにおいて、前記第2ニューラルネットワークの前記N個の層のそれぞれに対応する前記複数の中間評価値に基づき、前記第1ニューラルネットワークの前記N個の層のそれぞれに設定されている複数の係数を更新する
    請求項3に記載の演算装置。
  5. 前記第1ニューラルネットワークおよび前記第2ニューラルネットワークにおける前記N個の層のそれぞれは、前段の層から出力された前記複数の中間出力値と、設定されている複数の係数とを行列乗算することにより複数の積和演算値を算出し、前記複数の積和演算値に対して、予め設定されている活性化関数演算を実行することにより前記複数の中間出力値を算出する
    請求項3または4に記載の演算装置。
  6. 前記評価部は、
    前記第1モードにおいて、前記第1ニューラルネットワークの第N層から出力された前記複数の中間出力値のそれぞれにおける複数の目標値のそれぞれに対する誤差を評価した複数の出力評価値を生成し、前記第2モードにおいて、前記第2ニューラルネットワークの第N層から出力された前記複数の中間出力値のそれぞれにおける前記複数の目標値のそれぞれに対する誤差を評価した前記複数の出力評価値を生成する出力評価部と、
    前記複数の出力評価値を伝播させて、前記N個の層のそれぞれに対応する前記複数の中間評価値を出力する逆伝播ニューラルネットワークと、
    を有する
    請求項5に記載の演算装置。
  7. 前記逆伝播ニューラルネットワークは、
    前記第1ニューラルネットワークおよび前記第2ニューラルネットワークにおける第2層から第N層に対応する(N−1)個の層を有し、
    前記複数の出力評価値を、第N層から第2層へ向かう方向に伝播し、
    前記(N−1)個の層のそれぞれにおいて、前記第1ニューラルネットワークおよび前記第2ニューラルネットワークにおける対応する層の行列乗算を転置させた行列乗算を実行して、前記複数の中間評価値を算出する
    請求項6に記載の演算装置。
  8. 前記逆伝播ニューラルネットワークは、
    前記(N−1)個の層のそれぞれにより算出した前記複数の中間評価値を、前記第1ニューラルネットワークおよび前記第2ニューラルネットワークにおける前段の層に対応する前記複数の中間評価値として出力し、
    第N層が取得した前記複数の出力評価値を、前記第1ニューラルネットワークおよび前記第2ニューラルネットワークにおける第N層に対応する前記複数の中間評価値として出力する
    請求項7に記載の演算装置。
  9. 前記係数更新部は、
    前記第1モードにおいて、
    前記N個の層のそれぞれに対応して、前記第1ニューラルネットワークの前段の層から出力された前記複数の中間出力値、前記第1ニューラルネットワークの対応する層で算出された前記複数の積和演算値、および、前記評価部により生成された対応する層についての前記複数の中間評価値を取得し、
    前記N個の層のそれぞれに対応して取得した前記複数の中間出力値、前記複数の積和演算値および前記複数の中間評価値に基づき、前記第2ニューラルネットワークの前記N個の層のそれぞれに設定されている複数の係数を更新し、
    前記第2モードにおいて、
    前記N個の層のそれぞれに対応して、前記第2ニューラルネットワークの前段の層から出力された前記複数の中間出力値、前記第2ニューラルネットワークの対応する層で算出された前記複数の積和演算値、および、前記評価部により生成された対応する層についての前記複数の中間評価値を取得し、
    前記N個の層のそれぞれに対応して取得した前記複数の中間出力値、前記複数の積和演算値および前記複数の中間評価値に基づき、前記第1ニューラルネットワークの前記N個の層のそれぞれに設定されている複数の係数を更新する
    請求項から8の何れか1項に記載の演算装置。
  10. 前記第1ニューラルネットワークおよび前記第2ニューラルネットワークにおいて、
    第n層(nは、1以上N以下の整数)は、第(n−1)層から出力されたI個(Iは、2以上の整数)の中間出力値を取得し、
    第n層は、J個(Jは、2以上の整数)の中間出力値を出力し、
    第n層は、I個の列およびJ個の行の行列に対応して配置された(I×J)個の係数が設定されている
    請求項9に記載の演算装置。
  11. 前記第1ニューラルネットワークおよび前記第2ニューラルネットワークにおける第n層が取得するi番目(iは、1以上I以下の整数)の中間出力値をy[n−1] と表し、
    前記第1ニューラルネットワークおよび前記第2ニューラルネットワークにおける第n層が算出するj番目(jは、1以上J以下の整数)の積和演算値をv[n] と表し、
    前記第1ニューラルネットワークおよび前記第2ニューラルネットワークにおける第n層に設定された第i列および第j行の係数をw[n] ijと表した場合、
    前記第1ニューラルネットワークおよび前記第2ニューラルネットワークの第n層は、下記の式(1)の行列乗算により、j=1〜JまでのJ個の積和演算値を算出する
    Figure 0006972057
    請求項10に記載の演算装置。
  12. 前記第1ニューラルネットワークおよび前記第2ニューラルネットワークにおける第n層が出力するj番目の中間出力値をy[n] と表し、
    前記第1ニューラルネットワークおよび前記第2ニューラルネットワークにおける第n層に設定された活性化関数をf[n](・)と表した場合、
    前記第1ニューラルネットワークおよび前記第2ニューラルネットワークの第n層は、下記の式(2)の活性化関数演算により、j=1〜JまでのJ個の中間出力値を算出する
    [n] =f[n](v[n] )…(2)
    請求項11に記載の演算装置。
  13. 前記逆伝播ニューラルネットワークにおける第n層が取得するj番目の中間評価値をe[n] と表し、
    前記第1ニューラルネットワークおよび前記第2ニューラルネットワークにおける第n層に設定された活性化関数の微分関数をf[n]´(・)と表し、
    係数の誤差を評価するための評価関数をEと表し、
    前記第1ニューラルネットワークおよび前記第2ニューラルネットワークの第n層に設定された第i行および第j列の係数の誤差を評価するための前記評価関数の勾配を、∂E/∂w[n] ijと表した場合、
    前記係数更新部は、前記第1ニューラルネットワークおよび前記第2ニューラルネットワークの第n層に設定された第i行および第j列の係数を、式(3)により算出した∂E/∂w[n] ijに基づき更新する
    ∂E/∂w[n] ij=y[n−1] ×f[n]´(v[n] )×e[n] …(3)
    請求項12に記載の演算装置。
  14. 前記第1モードにおいて、複数の入力値を前記第1ニューラルネットワークの第1層に与え、前記第2モードにおいて、前記複数の入力値を前記第2ニューラルネットワークの第1層に与える入力部と、
    前記第1モードにおいて、前記第1ニューラルネットワークの最終層から出力された複数の値を、複数の出力値として出力し、前記第2モードにおいて、前記第2ニューラルネットワークの最終層から出力された複数の値を、前記複数の出力値として出力する出力部と、
    をさらに備える請求項1から13の何れか1項に記載の演算装置。
  15. 前記第1ニューラルネットワークは、ハードウェア回路により実現され、
    前記第2ニューラルネットワークは、ハードウェア回路により実現される
    請求項1から14の何れか1項に記載の演算装置。
JP2019049035A 2019-03-15 2019-03-15 演算装置 Active JP6972057B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019049035A JP6972057B2 (ja) 2019-03-15 2019-03-15 演算装置
US16/555,430 US11651193B2 (en) 2019-03-15 2019-08-29 Operation apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019049035A JP6972057B2 (ja) 2019-03-15 2019-03-15 演算装置

Publications (2)

Publication Number Publication Date
JP2020149625A JP2020149625A (ja) 2020-09-17
JP6972057B2 true JP6972057B2 (ja) 2021-11-24

Family

ID=72424721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019049035A Active JP6972057B2 (ja) 2019-03-15 2019-03-15 演算装置

Country Status (2)

Country Link
US (1) US11651193B2 (ja)
JP (1) JP6972057B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7132196B2 (ja) 2019-09-17 2022-09-06 株式会社東芝 処理装置および推論システム
JP2021111142A (ja) 2020-01-10 2021-08-02 株式会社東芝 演算装置
JP7289802B2 (ja) * 2020-02-17 2023-06-12 株式会社日立製作所 リザーバー計算機
JP7358312B2 (ja) 2020-08-25 2023-10-10 株式会社東芝 記憶装置およびニューラルネットワーク装置
JP2022129104A (ja) 2021-02-24 2022-09-05 株式会社東芝 不揮発性メモリデバイス
CN116757511A (zh) 2022-03-04 2023-09-15 株式会社日立制作所 供应方自动评级方法、供应方自动评级装置及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3026656B2 (ja) * 1991-09-30 2000-03-27 株式会社デンソー 薄膜抵抗体の製造方法
JPH05197707A (ja) * 1992-08-05 1993-08-06 Hitachi Ltd 情報処理システム
JP4356716B2 (ja) * 2006-08-03 2009-11-04 パナソニック電工株式会社 異常監視装置
KR20150034900A (ko) 2013-09-26 2015-04-06 삼성전자주식회사 뉴런 회로들을 연결하는 시냅스 회로, 뉴로모픽 회로를 구성하는 단위 셀 및 뉴로모픽 회로
JP2017111658A (ja) * 2015-12-17 2017-06-22 株式会社日立製作所 設計支援装置
KR20180027887A (ko) * 2016-09-07 2018-03-15 삼성전자주식회사 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 트레이닝 방법
US10382917B2 (en) * 2016-12-30 2019-08-13 Riseio, Inc. System and method for a building-integrated predictive service communications platform
US10819718B2 (en) * 2017-07-05 2020-10-27 Deep Instinct Ltd. Methods and systems for detecting malicious webpages
JP6773621B2 (ja) 2017-09-15 2020-10-21 株式会社東芝 演算装置
KR102593438B1 (ko) * 2017-11-17 2023-10-24 삼성전자주식회사 뉴럴 네트워크 학습 방법 및 디바이스

Also Published As

Publication number Publication date
JP2020149625A (ja) 2020-09-17
US11651193B2 (en) 2023-05-16
US20200293861A1 (en) 2020-09-17

Similar Documents

Publication Publication Date Title
JP6972057B2 (ja) 演算装置
CN111587440B (zh) 用于更新精确突触权重值的神经形态芯片
US11468283B2 (en) Neural array having multiple layers stacked therein for deep belief network and method for operating neural array
JPH04293151A (ja) 並列データ処理方式
JP2000511307A (ja) 同時学習およびパフォーマンス情報処理システム
JPH04290155A (ja) 並列データ処理方式
US5592589A (en) Tree-like perceptron and a method for parallel distributed training of such perceptrons
US20200293855A1 (en) Training of artificial neural networks
CN114819093A (zh) 利用基于忆阻器阵列的环境模型的策略优化方法和装置
JP7361192B2 (ja) ハードウェア・アクセラレータとインターフェースするための方法
JPH076146A (ja) 並列データ処理システム
Krishnaiah et al. Modelling and control of chaotic processes through their Bifurcation Diagrams generated with the help of Recurrent Neural Network models: Part 1—simulation studies
RU2168713C2 (ru) Способы обучения в двоичных системах
JP2024514063A (ja) ディープ・ニューラル・ネットワーク・トレーニング
WO2020262587A1 (ja) 機械学習装置、機械学習プログラム、及び機械学習方法
Merabti et al. Hardware implementation of a real-time genetic algorithm for adaptive filtering applications
JPH04237388A (ja) ニューロプロセッサ
JP2825133B2 (ja) 並列データ処理方式
EP4134882A1 (en) Information processing system, information processing device, information processing method, and information processing program
JPWO2021029034A5 (ja)
JPH04233657A (ja) 回帰ニューラルネットワークの教示方法
US11487990B2 (en) Resistive crossbar arrays with reduced numbers of elements
JPH06301663A (ja) 直列結合型リカレントニューラルネットワークの学習方式
MacDonald Connecting to the past
Tosini et al. NNGen: a powerful tool for the implementation of Artificial Neural Networks on a chip

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200821

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210903

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211102

R151 Written notification of patent or utility model registration

Ref document number: 6972057

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151