JP7132196B2 - 処理装置および推論システム - Google Patents

処理装置および推論システム Download PDF

Info

Publication number
JP7132196B2
JP7132196B2 JP2019168604A JP2019168604A JP7132196B2 JP 7132196 B2 JP7132196 B2 JP 7132196B2 JP 2019168604 A JP2019168604 A JP 2019168604A JP 2019168604 A JP2019168604 A JP 2019168604A JP 7132196 B2 JP7132196 B2 JP 7132196B2
Authority
JP
Japan
Prior art keywords
circuit
signals
neural network
coefficient
output
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
JP2019168604A
Other languages
English (en)
Other versions
JP2021047530A (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 JP2019168604A priority Critical patent/JP7132196B2/ja
Priority to US16/801,275 priority patent/US11526738B2/en
Publication of JP2021047530A publication Critical patent/JP2021047530A/ja
Application granted granted Critical
Publication of JP7132196B2 publication Critical patent/JP7132196B2/ja
Priority to US18/052,086 priority patent/US11893476B2/en
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/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
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Logic Circuits (AREA)
  • Image Analysis (AREA)
  • Feedback Control In General (AREA)

Description

本発明の実施形態は、処理装置および推論システムに関する。
近年、入力信号をリザーバ(Reservoir)により変換した信号に対して、時系列データ認識やパターン認識等の推論処理を行うリザーバコンピューティングが注目されている。リザーバは、リカレントニューラルネットワークの一種として実現される。このようなリザーバは、入力信号を非線形変換により高次元かつ時間の情報を伴った特徴空間に射影した信号を出力することができる。従って、リザーバコンピューティングは、簡易なアルゴリズムで高速な学習を可能とすることができる。
ところで、リザーバは、取り扱うタスクおよびデータの種類等によって特性が異なる。このため、リザーバは、精度良く推論ができるように、取り扱うタスクおよびデータの種類等に応じて適切に調整されることが望ましい。
米国特許第10175947号公報 特開2019-053563号公報
田中剛平、「リザバーコンピューティングの概念と最近の動向」、電子情報通信学会誌 Vol.102 No.2 pp.108-113、電子情報通信学会、2019年2月
本発明が解決しようとする課題は、入力された信号を、精度良く推論可能な信号に変換する処理装置および推論システムを提供することにある。
実施形態に係る処理装置は、リカレントニューラルネットワーク回路と、制御回路とを備える。前記リカレントニューラルネットワーク回路は、M個(Mは、2以上の整数)の第1信号を受け取り、N個(Nは、2以上の整数)の第2信号を出力する。前記制御回路は、前記M個の第1信号の印加タイミングから前記N個の第2信号の発火タイミングまでの第1遅延時間に応じて、前記リカレントニューラルネットワーク回路に設定されている複数の係数を調整する。前記M個の第1信号のそれぞれは、2値を表す。前記N個の第2信号のそれぞれは、2値を表す。前記リカレントニューラルネットワーク回路は、前記N個の第2信号に対応するN個の積和演算回路を有する。前記N個の積和演算回路のそれぞれは、前記M個の第1信号に対応するM個の係数が設定される。前記リカレントニューラルネットワーク回路に、前記M個の第1信号のうちのi番目(iは、1以上M以下の整数)の第1信号が印加され、前記リカレントニューラルネットワーク回路が、前記N個の第2信号のうちのj番目(jは、1以上N以下の整数)の第2信号を発火させた場合、前記制御回路は、前記第1遅延時間に応じて、前記リカレントニューラルネットワーク回路に設定されている複数の係数のうちの対象係数と、前記リカレントニューラルネットワーク回路に設定されている複数の係数のうちの前記対象係数以外の係数群との相対関係を調整する。前記対象係数は、前記リカレントニューラルネットワーク回路が有する前記N個の積和演算回路のうちの前記j番目の第2信号を出力する積和演算回路に設定されている前記M個の係数のうちの、前記i番目の第1信号に乗算される係数である。
推論システムの構成を示す図。 第1演算回路および第2演算回路の構成を示す図。 積和演算回路による積和演算を説明する図。 積和演算回路の回路構成を示す図。 正側電流源、負側電流源およびコンパレータの動作を説明するための図。 コンパレータの出力の遅延を説明するための図。 制御回路の機能構成をリザーバ回路等とともに示す図。 切換回路の処理の流れを示すフローチャート。 リザーバ回路から出力されるN個の中間信号の発火タイミングを示す図。 推論システムの学習時の処理の流れを示すフローチャート。 第1遅延調整処理の流れを示すフローチャート。 第1遅延調整処理における係数の調整を説明するための図。 教師有り学習処理の流れを示すフローチャート。 パターン学習処理の流れを示す図。 遅延量学習処理の流れを示す図。 遅延量学習処理を説明するための図。 第2遅延調整処理の流れを示すフローチャート。 リザーバ回路の第2遅延調整処理を説明するための図。 制御回路のハードウェア構成を説明するための図。
以下、図面を参照しながら実施形態に係る推論システム10について説明する。
図1は、実施形態に係る推論システム10の構成を示す図である。推論システム10は、入力データを受け取り、受け取った入力データに応じた出力データを出力する。例えば、推論システム10は、時系列の入力データを受け取り、受け取った時系列の入力データに対してパターン認識をした結果を表す時系列の出力データを出力する。
なお、2値を表す信号とは、第1論理値(例えばL論理、0、-1)または第2論理値(例えばH論理、1、+1)の何れかを表す信号である。ここでLとHの組み合わせは、Lが0とHが1、あるいは、Lが-1とHが+1である。また、回路に信号が印加されるとは、回路に入力される信号が第1論理値から第2論理値に変化すること、または、第2論理値から第1論理値に変化することをいう。また、回路が信号を発火させるとは、回路から出力される信号が第1論理値から第2論理値に変化すること、または、第2論理値から第1論理値に変化することをいう。
推論システム10は、リザーバ回路12と、推論回路14と、制御回路16と、係数メモリ18とを備える。
リザーバ回路12は、アナログ回路により積和演算を行うリカレントニューラルネットワーク回路である。リザーバ回路12は、複数の係数が設定されている。リザーバ回路12は、設定されている複数の係数を、可変抵抗またはキャパシタ等のアナログ素子により保持する。
リザーバ回路12は、前段のデータ処理装置から、入力データに応じたM個の入力信号(x~x)を受け取る。M個の入力信号のそれぞれは、2値を表す。例えば、M個の入力信号は、リザーバ回路12は、Mビットの入力データにおけるそれぞれのビットの値をを、M個の入力信号として受け取る。
リザーバ回路12は、受け取ったM個の入力信号に応じたN個(Nは、2以上の整数)の中間信号(y~y)を出力する。N個の中間信号のそれぞれは、2値を表す。
例えば、リザーバ回路12は、第1演算回路22と、切換回路24とを含む。第1演算回路22は、M個の入力信号を受け取り、N個の中間信号を出力するニューラルネットワーク演算を実行する。例えば、第1演算回路22は、アナログ回路により積和演算を行うことにより、再帰的ではないニューラルネットワーク演算を実行する。
切換回路24は、前段のデータ処理装置から入力データを受け取った場合、入力データに応じたM個の入力信号を第1演算回路22に供給する。切換回路24は、入力データに応じたM個の入力信号を第1演算回路22に供給した後、第1演算回路22から出力されたN個の中間信号をフィードバックして、N個の中間信号をM個の入力信号として第1演算回路22に供給する。切換回路24は、前段のデータ処理装置から次の入力データを受け取るまで、N個の中間信号をフィードバックして、N個の中間信号をM個の入力信号として第1演算回路22に供給する。そして、切換回路24は、前段のデータ処理装置から次の入力データを受けとった場合、次の入力データに応じたM個の入力信号を第1演算回路22に供給する。
本実施形態において、M=Nであり、M個の入力信号とN個の中間信号とは一対一に対応する。従って、本実施形態において、切換回路24は、N個の中間信号のそれぞれを、M個の入力信号のうちの対応する入力信号として、第1演算回路22に供給する。なお、M=Nでなくてもよい。この場合、切換回路24は、2個以上の中間信号を合成して1個の入力信号を生成してもよいし、1個の中間信号を分割して2個以上の入力信号を生成してもよい。
推論回路14は、ニューラルネットワーク回路(推論ニューラルネットワーク回路)である。推論回路14は、どのようなニューラルネットワークであってもよい。本実施形態においては、推論回路14は、アナログ回路により積和演算を行うニューラルネットワーク回路である。推論回路14は、複数の係数が設定されている。本実施形態において、推論回路14は、設定されている複数の係数を、可変抵抗またはキャパシタ等のアナログ素子により保持する。
推論回路14は、リザーバ回路12から、N個の中間信号(y~y)を受け取る。推論回路14は、受け取ったN個の中間信号に応じたL個(Lは、2以上の整数)の出力信号(z~z)を出力する。L個の出力信号のそれぞれは、2値を表す。
例えば、推論回路14は、第2演算回路26と、出力回路28とを含む。第2演算回路26は、N個の中間信号を受け取り、L個の信号を出力するニューラルネットワーク演算を実行する。例えば、第2演算回路26は、アナログ回路により積和演算を行うことにより、再帰的ではないニューラルネットワーク演算を実行する。
出力回路28は、第2演算回路26から出力されたL個の信号に対応するL個の出力信号を生成して出力する。リザーバ回路12がリカレントニューラルネットワーク回路であるので、N個の中間信号のうちの1または複数の中間信号は、繰り返して発火する可能性がある。このようなN個の中間信号が印加された場合、第2演算回路26は、L個の信号のうちの1または複数の信号を、繰り返して発火させる可能性がある。そこで、出力回路28は、L個の出力信号のそれぞれを、第2演算回路26から出力されたL個の信号のうちの対応する信号の発火パターンに応じて、発火させる。
例えば、出力回路28は、第2演算回路26から出力されたL個の信号のうちの1個の信号の発火パターンが、予め定められたパターンに一致した場合に、L個の出力信号のうちの対応する出力信号を発火させる。また、例えば、出力回路28は、第2演算回路26から出力されたL個の信号のそれぞれの発火量を積分し、L個の出力信号のうちの積分値が所定値を超えた信号に対応する出力信号を発火させる。また、例えば、出力回路28は、第2演算回路26から出力されたL個の信号のそれぞれの発火量の時間割合を検出し、L個の出力信号のうちの発火量の時間割合が所定値を超えた信号に対応する出力信号を発火させてもよい。
制御回路16は、学習処理において、リザーバ回路12に設定されている複数の係数を調整する。また、制御回路16は、学習処理において、リザーバ回路12に設定されている複数の係数を調整する。なお、制御回路16は、推論処理に先だって学習処理を実行してもよいし、推論処理と並行してリアルタイムで学習処理を実行してもよい。
係数メモリ18は、リザーバ回路12に設定されている複数の係数に一対一に対応する複数のデジタル係数値を記憶する。係数メモリ18は、推論回路14に設定されている複数の係数に一対一に対応する複数のデジタル係数値を記憶する。制御回路16は、学習処理において、係数メモリ18に記憶されている複数のデジタル係数値を調整する。そして、制御回路16は、調整された複数のデジタル係数値に基づき、リザーバ回路12に設定されている複数の係数、および、推論回路14に設定されている複数の係数を変更する。
なお、リザーバ回路12および推論回路14に設定されている複数の係数のそれぞれと、係数メモリ18に記憶されている複数のデジタル係数値のそれぞれとは、階調数が異なってもよい。例えば、本実施形態において、リザーバ回路12および推論回路14に設定されている複数の係数のそれぞれは、2値(第1階調数)により表される。また、係数メモリ18に記憶されている複数のデジタル係数値のそれぞれは、第1階調数より多い8ビット(第2階調数)により表される。制御回路16は、係数メモリ18に記憶されている複数のデジタル係数値のそれぞれを第1階調数に変換し、第1階調数で表された複数のデジタル係数値に基づき、リザーバ回路12または推論回路14に設定されている複数の係数を変更する。
図2は、リザーバ回路12が有する第1演算回路22の構成を示す図である。リザーバ回路12が有する第1演算回路22は、N個の中間信号(y~y)に対応するN個の積和演算回路30(30-1~30-N)を有する。N個の積和演算回路30のうちのj番目の積和演算回路30-jは、j番目の中間信号(y)に対応する。また、N個の積和演算回路30のそれぞれは、M個の入力信号(x~x)を受け取る。
なお、図2において、カッコ内の符号は、推論回路14が有する第2演算回路26の構成要素を示す。推論回路14が有する第2演算回路26は、L個の出力信号(z~z)に対応するL個の積和演算回路30(30-1~30-L)を有する。L個の積和演算回路30のうちk番目の積和演算回路30-kは、k番目の出力信号(z)に対応する。また、L個の積和演算回路30のそれぞれは、N個の中間信号(y~y)を受け取る。
図3は、積和演算回路30による積和演算を説明する図である。リザーバ回路12の第1演算回路22が有するN個の積和演算回路30のそれぞれは、M個の入力信号に対応するM個の係数(w1j,w2j,…,wij,…,wMj)が設定されている。
N個の積和演算回路30のそれぞれは、M個の入力信号と、設定されているM個の係数とを積和演算した値を2値化した中間信号を出力する。例えば、j番目の中間信号に対応する積和演算回路30-jは、下記式(1)の演算をアナログ的に実行する。
Figure 0007132196000001
式(1)において、yは、j番目の中間信号を表す。xは、i番目(iは、1以上、M以下の整数)の入力信号を表す。wijは、M個の係数のうちのi番目の入力信号に乗算される係数を表す。式(1)において、f(X)は、カッコ内の値Xを所定の閾値で二値化する関数を表す。
なお、図3において、カッコ内の符号は、推論回路14の構成要素を示す。推論回路14の第2演算回路26が有するL個の積和演算回路30のそれぞれは、N個の中間信号に対応するN個の係数(w1k,w2k,…,wjk,…,wNk)が設定されている。
L個の積和演算回路30のそれぞれは、N個の中間信号と、設定されているN個の係数とを積和演算した値を2値化した出力信号を出力する。例えば、k番目の出力信号に対応する積和演算回路30-kは、下記式(2)の演算をアナログ的に実行する。
Figure 0007132196000002
式(2)において、zは、k番目(kは、1以上、L以下の整数)の出力信号を表す。yは、j番目(jは、1以上、N以下の整数)の中間信号を表す。wjkは、N個の係数のうちのj番目の中間信号に乗算される係数を表す。式(2)において、f(X)は、カッコ内の値Xを所定の閾値で二値化する関数を表す。
図4は、積和演算回路30の回路構成を示す図である。本実施形態において、リザーバ回路12および推論回路14が有する積和演算回路30は、特許文献1に示された回路により実現可能である。
例えば、リザーバ回路12が有する積和演算回路30は、正側電流源32と、負側電流源34と、コンパレータ36と、M個のクロススイッチ38と、クランプ回路40と、係数記憶部42とを備える。
正側電流源32は、正側端子46を有する。正側電流源32は、正側端子46から電流を出力する。さらに、正側電流源32は、正側端子46から出力した電流の1/D(Dは、2以上の整数)の値に応じた第1電圧を出力する。例えば、正側電流源32は、正側端子46から出力した電流の1/Dの値に比例した第1電圧を出力する。本実施形態においてはD=Mである。しかし、Dは、Mと同一でなくてもよい。なお、図4には、複数の正側端子46が記載されている。しかし、図4に記載された複数の正側端子46は、電気的に接続されている。
例えば、正側電流源32は、D個の第1FET48を有する。D個の第1FET48のそれぞれは、同一の特性を有する電界効果トランジスタである。本実施形態においては、D個の第1FET48のそれぞれは、同一の特性を有するpMOSトランジスタである。
D個の第1FET48は、ゲートが共通に接続され、ソースが第2基準電位に接続され、ドレインがゲートおよび正側端子46に接続される。第2基準電位は、例えば、正側の電源電圧(VDD)である。すなわち、D個の第1FET48のそれぞれは、ダイオード接続され、ソースが第2基準電位(例えばVDD)に接続され、ゲートおよびドレインが正側端子46に接続される。そして、正側電流源32は、正側端子46の電圧(第1FET48のゲートの電圧)を、第1電圧として出力する。
負側電流源34は、負側端子50を有する。負側電流源34は、負側端子50から電流を出力する。さらに、負側電流源34は、負側端子50から出力した電流の1/Dの値に応じた第2電圧を出力する。例えば、負側電流源34は、負側端子50から出力した電流の1/Dの値に比例した第2電圧を出力する。なお、図4には、複数の負側端子50が記載されている。しかし、図4に記載された複数の負側端子50は、電気的に接続されている。
例えば、負側電流源34は、D個の第2FET52を有する。D個の第2FET52のそれぞれは、第1FET48と同一の特性を有する電界効果トランジスタである。本実施形態においては、D個の第2FET52のそれぞれは、第1FET48と同一の特性を有するpMOSトランジスタである。
D個の第2FET52は、ゲートが共通に接続され、ソースが第2基準電位に接続され、ドレインがゲートおよび負側端子50に接続される。すなわち、D個の第2FET52のそれぞれは、ダイオード接続され、ソースが第2基準電位(例えばVDD)に接続され、ゲートおよびドレインが負側端子50に接続される。そして、負側電流源34は、負側端子50の電圧(第2FET52のゲートの電圧)を、第2電圧として出力する。
コンパレータ36は、正側電流源32から出力された第1電圧と、負側電流源34から出力された第2電圧との大小を比較する。そして、コンパレータ36は、第1電圧と第2電圧との比較結果に応じた値の中間信号(y)を出力する。コンパレータ36は、第1電圧が第2電圧より小さい場合、第1論理値(例えば、-1)の中間信号を出力し、第1電圧が第2電圧以上の場合、第2論理値(例えば、+1)の中間信号を出力する。なお、コンパレータ36は、第1電圧が第2電圧より小さい場合、第2論理値(例えば、+1)の中間信号を出力し、第1電圧が第2電圧以上の場合、第1論理値(例えば、-1)の中間信号を出力してもよい。
M個のクロススイッチ38のそれぞれは、M個の入力信号のそれぞれに対応して設けられる。本実施形態においては、積和演算回路30は、M個のクロススイッチ38として、第1クロススイッチ38-1~第Mクロススイッチ38-Mを備える。例えば、第1クロススイッチ38-1は、第1の入力信号(x)に対応し、第2クロススイッチ38-2は、第2の入力信号(x)に対応し、第Mクロススイッチ38-Mは、第Mの入力信号(x)に対応する。
M個のクロススイッチ38のそれぞれは、正側流入端子56と、負側流入端子58と、第1端子60と、第2端子62とを有する。
M個のクロススイッチ38のそれぞれは、第1端子60を、正側流入端子56および負側流入端子58のうち何れか一方に接続する。また、M個のクロススイッチ38のそれぞれは、第2端子62を、正側流入端子56および負側流入端子58のうち第1端子60が接続されていないもう一方に接続する。M個のクロススイッチ38のそれぞれは、対応する入力信号の値に応じて、第1端子60および第2端子62を、正側流入端子56または負側流入端子58の何れに接続するかを切り換える。
クランプ回路40は、M個のクロススイッチ38のそれぞれに対応するM個の正側FETスイッチ66を有する。本実施形態においては、クランプ回路40は、M個の正側FETスイッチ66として、第1正側FETスイッチ66-1~第M正側FETスイッチ66-Mを有する。例えば、第1正側FETスイッチ66-1は、第1クロススイッチ38-1に対応し、第2正側FETスイッチ66-2は、第2クロススイッチ38-2に対応し、第M正側FETスイッチ66-Mは、第Mクロススイッチ38-Mに対応する。
M個の正側FETスイッチ66のそれぞれは、ゲートがクランプ電位(Vclmp)に接続され、ソースが正側端子46に接続され、ドレインが対応するクロススイッチ38の正側流入端子56に接続される。M個の正側FETスイッチ66のそれぞれは、積和演算回路30の動作中において、ソース-ドレイン間がオンとなる。従って、M個のクロススイッチ38のそれぞれの正側流入端子56は、積和演算回路30の動作中において、正側電流源32の正側端子46に接続され、電圧がクランプ電位(Vclmp)に固定される。
さらに、クランプ回路40は、M個のクロススイッチ38のそれぞれに対応するM個の負側FETスイッチ68を有する。本実施形態においては、クランプ回路40は、M個の負側FETスイッチ68として、第1負側FETスイッチ68-1~第M負側FETスイッチ68-Mを有する。例えば、第1負側FETスイッチ68-1は、第1クロススイッチ38-1に対応し、第2負側FETスイッチ68-2は、第2クロススイッチ38-2に対応し、第M負側FETスイッチ68-Mは、第Mクロススイッチ38-Mに対応する。
M個の負側FETスイッチ68のそれぞれは、ゲートがクランプ電位(Vclmp)に接続され、ソースが負側端子50に接続され、ドレインが対応するクロススイッチ38の負側流入端子58に接続される。M個の負側FETスイッチ68のそれぞれは、積和演算回路30の動作中において、ソース-ドレイン間がオンとなる。従って、M個のクロススイッチ38のそれぞれの負側流入端子58は、積和演算回路30の動作中において、負側電流源34の負側端子50に接続され、電圧がクランプ電位(Vclmp)に固定される。
係数記憶部42は、M個の係数のそれぞれに対応するM個のセル72を有する。本実施形態においては、係数記憶部42は、M個のセル72として、第1セル72-1~第Mセル72-Mを有する。例えば、第1セル72-1は、第1の係数(w)に対応し、第2セル72-2は、第2の係数(w)に対応し、第Mセル72-Mは、第Mの係数(w)に対応する。なお、第1の係数(w)は、第1の入力信号(x)に対応し、第2の係数(w)は、第2の入力信号(x)に対応し、第Mの係数(w)は、第Mの入力信号(x)に対応する。従って、例えば、第1セル72-1は、第1クロススイッチ38-1に対応し、第2セル72-2は、第2クロススイッチ38-2に対応し、第Mセル72-Mは、第Mクロススイッチ38-Mに対応する。
M個のセル72のそれぞれは、第1抵抗74と、第2抵抗76とを含む。第1抵抗74は、一方の端が対応するクロススイッチ38の第1端子60に接続され、他方の端が第1基準電位に接続される。第1基準電位は、例えば、グランドである。第2抵抗76は、一方の端が対応するクロススイッチ38の第2端子62に接続され、他方の端が第1基準電位に接続される。
第1抵抗74および第2抵抗76の少なくとも一方は、例えば、抵抗変化型メモリ等の可変抵抗である。第1抵抗74および第2抵抗76は、対応する係数の値に応じて、抵抗値の大小関係が切り替えられる。例えば、制御回路16は、M個の入力信号の受け取りに先だって、M個の係数のそれぞれに応じて、対応するセル72に含まれる第1抵抗74および第2抵抗76の抵抗値の大小関係を設定する。
例えば、複数のセル72のそれぞれは、対応する係数が+1である場合、第1抵抗74が第1抵抗値に設定され、第2抵抗76が、第1抵抗値とは異なる第2抵抗値に設定される。また、複数のセル72のそれぞれは、対応する係数が-1である場合、第1抵抗74が第2抵抗値に設定され、第2抵抗76が第1抵抗値に設定される。
また、複数のセル72のそれぞれは、第1抵抗74または第2抵抗76の一方が固定抵抗であり、他方が可変抵抗であってもよい。この場合、複数のセル72のそれぞれは、対応する係数が+1である場合と、-1である場合とで、第1抵抗74と第2抵抗76との抵抗差の正負が反転するように、可変抵抗の抵抗値が変更される。
そして、M個のクロススイッチ38のそれぞれは、対応する入力信号の値に応じて、第1端子60および第2端子62を、正側端子46(正側流入端子56)および負側端子50(負側流入端子58)に対して、ストレート接続するかリバース接続するかを切り換える。
例えば、M個のクロススイッチ38のそれぞれは、ストレート接続する場合、第1端子60と正側端子46(正側流入端子56)とを接続し、且つ、第2端子62と負側端子50(負側流入端子58)とを接続する。また、M個のクロススイッチ38のそれぞれは、リバース接続する場合、第1端子60と負側端子50(負側流入端子58)とを接続し、且つ、第2端子62と正側端子46(正側流入端子56)とを接続する。
例えば、M個のクロススイッチ38のそれぞれは、対応する入力信号の値が+1である場合、ストレート接続し、対応する入力信号の値が-1である場合、リバース接続する。これに代えて、M個のクロススイッチ38のそれぞれは、対応する入力信号の値が+1である場合、リバース接続し、対応する入力信号の値が-1である場合、ストレート接続してもよい。
図5は、正側電流源32、負側電流源34およびコンパレータ36の動作を説明するための図である。
正側電流源32は、第1セル72-1に対して、IP_1の電流を出力する。また、正側電流源32は、第2セル72-2に対して、IP_2の電流を出力する。そして、正側電流源32は、第Mセル72-Mに対して、IP_Mの電流を出力する。従って、正側電流源32は、正側端子46から、IP_1+IP_2+…+IP_Mの電流を出力する。
また、正側電流源32は、D個の第1FET48を有する。D個の第1FET48は、同一の特性を有し、同一の接続関係となっている。従って、D個の第1FET48は、同一のドレイン電流(Id)を流す。
また、D個の第1FET48のドレイン電流(Id)の合計は、D×Idである。D個の第1FET48のドレイン電流(Id)は、全て正側端子46に供給される。従って、D×Id=(IP_1+IP_2+…+IP_M)となる。つまり、D個の第1FET48のそれぞれのドレイン電流(Id)は、(IP_1+IP_2+…+IP_M)/Dとなる。
負側電流源34は、第1セル72-1に対して、IN_1の電流を出力する。また、負側電流源34は、第2セル72-2に対して、IN_2の電流を出力する。そして、負側電流源34は、第Mセル72-Mに対して、IN_Mの電流を出力する。従って、負側電流源34は、負側端子50から、IN_1+IN_2+…+IN_Mの電流を出力する。
負側電流源34は、D個の第2FET52を有する。D個の第2FET52は、同一の特性を有し、同一の接続関係となっている。従って、D個の第2FET52は、同一のドレイン電流(Id)を流す。
また、D個の第2FET52のドレイン電流(Id)の合計は、D×Idである。D個の第2FET52のドレイン電流(Id)は、全て負側端子50に供給される。従って、D×Id=(IN_1+IN_2+…+IN_M)となる。つまり、D個の第2FET52のそれぞれのドレイン電流(Id)は、(IN_1+IN_2+…+IN_M)/Dとなる。
正側電流源32は、第1電圧として、正側端子46に発生する電圧を出力する。正側端子46に発生する電圧は、第2基準電位(例えば、VDD)から、第1FET48のゲート-ソース間電圧(VGS1)を減じた電位である。
また、負側電流源34は、第2電圧として、負側端子50に発生する電圧を出力する。負側端子50に発生する電圧は、第2基準電位(例えば、VDD)から、第2FET52のゲート-ソース間電圧(VGS2)を減じた電位である。
コンパレータ36は、第1電圧と第2電圧との差(Vd)が0より小さいか、0以上であるかを判定する。例えば、コンパレータ36は、第1電圧と第2電圧との差(Vd)が0より小さい場合、第1論理値(例えば-1)を出力し、0以上である場合、第2論理値(例えば+1)を出力する。
ここで、第1電圧と第2電圧との差(Vd)は、第1FET48のゲート-ソース間電圧(VGS1)から、第2FET52のゲート-ソース間電圧(VGS2)を減じた電圧に等しい。
第1FET48のゲート-ソース間電圧(VGS1)は、第1FET48のドレイン電流(Id)に比例した値である。また、第2FET52のゲート-ソース間電圧(VGS2)は、第2FET52のドレイン電流(Id)に比例した値である。また、第1FET48と第2FET52とは、同一の特性である。従って、第1電圧と第2電圧との差(Vd)は、第1FET48のドレイン電流((IP_1+IP_2+…+IP_M)/D)から、第2FET52のドレイン電流((IN_1+IN_2+…+IN_M)/D)を減じた電流に比例する。
以上から、中間信号(y)は、第1FET48のドレイン電流((IP_1+IP_2+…+IP_M)/D)から、第2FET52のドレイン電流((IN_1+IN_2+…+IN_M)/D)を減じた電流が、0より小さいか、または、0以上であるか否かを表す。
ここで、正側電流源32が有する第1FET48の個数(D)と、負側電流源34が有する第2FET52の個数(D)は、同一である。また、コンパレータ36は、0を閾値として、値を反転させている。第1FET48のドレイン電流((IP_1+IP_2+…+IP_M)/D)から、第2FET52のドレイン電流((IN_1+IN_2+…+IN_M)/D)を減じた電流の0クロス点と、正側端子46から出力される合計の電流(IP_1+IP_2+…+IP_M)から、負側端子50から出力される合計の電流(IN_1+IN_2+…+IN_M)を減じた電流の0クロス点とは、同一である。従って、中間信号(y)は、正側端子46から出力される合計の電流(IP_1+IP_2+…+IP_M)から、負側端子50から出力される合計の電流(IN_1+IN_2+…+IN_M)を減じた電流が、0より小さいか、0以上であるか否かを表す。
正側端子46から第iセル72-iへと出力される電流(IP_i)と、負側端子50から第iセル72-iへと出力される電流(IN_i)との差(IP_i-IN_i)は、第iの係数(w)と第iの入力信号(x)との乗算値(w・x)を表す。そして、正側端子46から出力される合計の電流(IP_1+IP_2+…+IP_M)から、負側端子50から出力される合計の電流(IN_1+IN_2+…+IN_M)を減じた電流は、M個の入力信号とM個の係数との積和演算(乗累算)値を表す。
従って、中間信号(y)は、M個の入力信号とM個の係数との積和演算値(乗累算値)が、0より小さいか、または、0以上であるか否かを表す。
このように、積和演算回路30は、M個の係数との積和演算(乗累算)をアナログ処理により実行することができる。そして、積和演算回路30は、積和演算値に対応する信号に対して符号関数処理をして、中間信号を生成することができる。
なお、図4および図5には、リザーバ回路12が有する積和演算回路30の符号を示したが、推論回路14が有する積和演算回路30も、略同一構成を有する。
ただし、推論回路14が有する積和演算回路30は、N個の中間信号(y)を受け取る。コンパレータ36は、中間信号(y)に代えて、出力信号(z)を出力する。推論回路14が有する積和演算回路30は、M個のクロススイッチ38に代えて、N個のクロススイッチ38を有する。N個のクロススイッチ38のそれぞれは、N個の中間信号のそれぞれに対応して設けられる。係数記憶部42は、M個のセル72に代えて、N個の係数のそれぞれに対応するN個のセル72を有する。
図6は、コンパレータ36の出力の遅延を説明するための図である。
リザーバ回路12が有するN個の積和演算回路30のそれぞれは、M個の入力信号と、設定されているM個の係数とを積和演算した値に応じた電圧を受け取り、受け取った電圧を2値化し、2値化した信号をN個の中間信号のうちの対応する中間信号として出力するコンパレータ36を含む。また、推論回路14が有するL個の積和演算回路30のそれぞれは、N個の中間信号と、設定されているN個の係数とを積和演算した値に応じた電圧を受け取り、受け取った電圧を2値化し、2値化した信号をL個の出力信号のうちの対応する出力信号として出力するコンパレータ36を含む。
ここで、コンパレータ36は、出力を第1論理値(例えば、-1)から第2論理値(例えば、+1)へと反転させる場合、印加される電圧(第1電圧と第2電圧との差(Vd))が大きい程、高速に動作する。すなわち、コンパレータ36は、印加される電圧が大きい場合(Vd=大)における応答遅延量(td)より、印加される電圧が小さい場合(Vd=小)における応答遅延量(td)の方が大きい。
コンパレータ36に印加される電圧(Vd)は、設定されている係数の値の合計値が大きい程、大きくなる。従って、積和演算回路30は、設定されている係数の値の合計値が大きい程、応答遅延量が小さい。つまり、積和演算回路30は、設定されている係数の値の合計値が大きい程、信号を発火させるまでの遅延量が小さい。
反対に、積和演算回路30は、設定されている係数の値の合計値が小さい程、応答遅延量が大きい。つまり、積和演算回路30は、設定されている係数の値の合計値が小さい程、信号を発火させるまでの遅延量が大きい。
従って、制御回路16は、リザーバ回路12が有する複数の積和演算回路30に設定されている複数の係数を調整することにより、N個の中間信号が発火するまでの遅延量を調整することができる。同様に、制御回路16は、推論回路14が有する複数の積和演算回路30に設定されている複数の係数を調整することにより、L個の出力信号が発火するまでの遅延量を調整することができる。
図7は、制御回路16の機能構成を、リザーバ回路12、推論回路14および係数メモリ18とともに示す図である。
係数メモリ18は、第1記憶部112と、第2記憶部114とを有する。制御回路16は、第1設定部122と、第2設定部124と、第1遅延検出部132と、第1更新部134と、パターン調整部136と、第2遅延検出部138と、第2更新部140と、第3遅延検出部142と、第3更新部144とを有する。
第1記憶部112は、リザーバ回路12に設定されている複数の係数に一対一に対応する複数のデジタル係数値を記憶する。第1設定部122は、第1記憶部112に記憶されている複数のデジタル係数値に基づき、リザーバ回路12に設定されている複数の係数を変更する。
第2記憶部114は、推論回路14に設定されている複数の係数に一対一に対応する複数のデジタル係数値を記憶する。第2設定部124は、第2記憶部114に記憶されている複数のデジタル係数値に基づき、推論回路14に設定されている複数の係数を変更する。
リザーバ回路12および推論回路14に設定されている複数の係数のそれぞれは、第1階調数により表される。本実施形態において、リザーバ回路12および推論回路14に設定されている複数の係数のそれぞれは、2値により表される。また、第1記憶部112および第2記憶部114に記憶された複数のデジタル係数値のそれぞれは、第1階調数より多い第2階調数により表される。例えば、第1記憶部112および第2記憶部114に記憶された複数のデジタル係数値のそれぞれは、8ビットで表される。第1設定部122は、第1記憶部112に記憶されている複数のデジタル係数値のそれぞれを第1階調数に変換し、第1階調数で表された複数のデジタル係数値に基づき、リザーバ回路12に設定されている複数の係数を変更する。第2設定部124は、第2記憶部114に記憶されている複数のデジタル係数値のそれぞれを第1階調数に変換し、第1階調数で表された複数のデジタル係数値に基づき、推論回路14に設定されている複数の係数を変更する。
第1遅延検出部132は、学習時において、第1遅延時間を検出する。第1遅延時間は、リザーバ回路12に対するM個の入力信号の印加タイミングから、N個の中間信号の発火タイミングまでの時間である。例えば、リザーバ回路12に、M個の入力信号のうちのi番目(iは、1以上、M以下の整数)の入力信号が印加され、リザーバ回路12がN個の中間信号のうちのj番目(jは、1以上N以下の整数)の中間信号を発火させたとする。この場合、印加タイミングは、M個の入力信号のうちのi番目の入力信号がリザーバ回路12に印加されたタイミングである。また、この場合、発火タイミングは、印加タイミングの後、N個の中間信号のうちのj番目の中間信号が最初に発火したタイミングである。すなわち、この場合、第1遅延時間は、i番目の入力信号の印加タイミングから、j番目の中間信号の最初の発火タイミングまでの時間である。
第1更新部134は、学習時において、第1遅延時間に応じて、リザーバ回路12に設定されている複数の係数を調整する。より具体的には、第1更新部134は、第1遅延時間が長くなるように、リザーバ回路12に設定されている複数の係数を調整する。
例えば、リザーバ回路12に、M個の入力信号のうちのi番目の入力信号が印加され、リザーバ回路12が、N個の中間信号のうちのj番目の中間信号を発火させた場合、第1更新部134は、第1遅延時間に応じて、リザーバ回路12に設定されている複数の係数のうちの対象係数と、リザーバ回路12に設定されている複数の係数のうちの対象係数以外の係数群との相対関係を調整する。対象係数は、リザーバ回路12が有するN個の積和演算回路30のうちのj番目の中間信号を出力する積和演算回路30に設定されているM個の係数のうちの、i番目の入力信号に乗算される係数である。
例えば、第1更新部134は、第1遅延時間が予め設定された閾値より短い場合、対象係数を相対的に減少させ、対象係数以外の係数群を相対的に増加させてもよい。また、例えば、第1更新部134は、第1遅延時間が短い程、対象係数の相対的な減少量を大きくし、対象係数以外の係数群の相対的な増加量を大きくしてもよい。これにより、第1更新部134は、第1遅延時間が長くなるように、リザーバ回路12に設定されている複数の係数を調整することができる。
なお、リザーバ回路12に設定されている複数の係数を調整する場合、第1更新部134は、第1記憶部112に記憶されている複数のデジタル係数値を調整する。第1更新部134により複数のデジタル係数値が調整された場合、第1設定部122は、調整後の複数のデジタル係数値に基づき、リザーバ回路12に設定されている複数の係数を変更する。
パターン調整部136は、教師有り学習時において、訓練データに応じたM個の入力信号をリザーバ回路12に供給する。パターン調整部136は、教師有り学習時において、訓練データに応じたM個の入力信号がリザーバ回路12に供給された場合に、L個の出力信号の発火パターンを取得する。そして、パターン調整部136は、訓練データに応じたM個の入力信号がリザーバ回路12に供給された場合に、L個の出力信号のうち訓練データに対応する教師データに示された出力信号が発火するように、推論回路14に設定されている複数の係数を調整する。
なお、推論回路14に設定されている複数の係数を調整する場合、パターン調整部136は、第2記憶部114に記憶されている複数のデジタル係数値を調整する。パターン調整部136により複数のデジタル係数値が調整された場合、第2設定部124は、調整後の複数のデジタル係数値に基づき、推論回路14に設定されている複数の係数を変更する。
第2遅延検出部138は、教師有り学習時において、第2遅延時間を検出する。第2遅延時間は、リザーバ回路12に対する教師有り学習時における訓練データに応じたM個の入力信号の印加タイミングから、L個の出力信号のうちの訓練データに対応する教師データに示されたk番目(kは、1以上、L以下の整数)の出力信号の発火タイミングまでの時間である。また、第2遅延時間は、訓練データに応じたM個の入力信号がリザーバ回路12に印加された場合における、推論回路14に対するN個の中間信号の印加タイミングから、L個の出力信号のうちの訓練データに対応する教師データに示されたk番目の出力信号の発火タイミングまでの時間であってもよい。
第2更新部140は、第2遅延時間に応じて、推論回路14に設定されている複数の係数を調整する。より具体的には、第2更新部140は、第2遅延時間が短くなるように、推論回路14に設定されている複数の係数を調整する。
例えば、リザーバ回路12に、訓練データに応じたM個の入力信号が印加され、推論回路14が、L個の出力信号のうちの教師データに示されたk番目の出力信号を発火させた場合、第2更新部140は、第2遅延時間に応じて、推論回路14に設定されている複数の係数のうちの出力係数群と、推論回路14に設定されている複数の係数のうちの出力係数群以外の係数群との相対関係を調整する。出力係数群は、推論回路14に含まれるL個の積和演算回路30のうちのk番目の出力信号を出力する積和演算回路30に設定されているN個の係数である。
例えば、第2更新部140は、第2遅延時間が予め設定された閾値より長い場合、出力係数群を相対的に増加させ、出力係数群以外の係数群を相対的に減少させてもよい。また、第2更新部140は、第2遅延時間が長い程、出力係数群の相対的な増加量を大きくし、出力係数群以外の係数群の相対的な減少量を大きくしてもよい。これにより、第2更新部140は、第2遅延時間が短くなるように、推論回路14に設定されている複数の係数を調整することができる。
なお、推論回路14に設定されている複数の係数を調整する場合、第2更新部140は、第2記憶部114に記憶されている複数のデジタル係数値を調整する。第2更新部140により複数のデジタル係数値が調整された場合、第2設定部124は、調整後の複数のデジタル係数値に基づき、推論回路14に設定されている複数の係数を変更する。
第3遅延検出部142は、学習時において、トータル遅延時間を検出する。トータル遅延時間は、リザーバ回路12に対するM個の入力信号の印加タイミングから、L個の出力信号の発火タイミングまでの時間である。例えば、リザーバ回路12に、M個の入力信号のうちのi番目の入力信号が印加され、推論回路14がL個の出力信号のうちの何れかの出力信号を発火させたとする。この場合、トータル遅延時間は、M個の入力信号のうちのi番目の入力信号の印加タイミングから、L個の出力信号のうちの何れかの出力信号の発火タイミングまでの時間である。
第3更新部144は、学習時において、トータル遅延時間に応じて、リザーバ回路12に設定されている複数の係数を調整する。より具体的には、第3更新部144は、トータル遅延時間が短くなるように、リザーバ回路12に設定されている複数の係数を調整する。
例えば、リザーバ回路12に、M個の入力信号のうちのi番目の入力信号が印加され、推論回路14が、L個の出力信号のうちの何れかの出力信号を発火させた場合、第3更新部144は、トータル遅延時間に応じて、リザーバ回路12に設定されている複数の係数のうちの入力係数群と、リザーバ回路12に設定されている複数の係数のうちの入力係数群以外の係数群との相対関係を調整する。入力係数群は、リザーバ回路12に設定されている複数の係数のうちのi番目の入力信号に乗算される係数群である。
例えば、第3更新部144は、トータル遅延時間が予め設定された閾値より長い場合、入力係数群を相対的に増加させ、入力係数群以外の係数群を相対的に減少させてもよい。また、第3更新部144は、トータル遅延時間が長い程、入力係数群の相対的な増加量を大きくし、入力係数群以外の係数群の相対的な減少量を大きくしてもよい。これにより、第3更新部144は、トータル遅延時間が短くなるように、リザーバ回路12に設定されている複数の係数を調整することができる。
なお、リザーバ回路12に設定されている複数の係数を調整する場合、第3更新部144は、第1記憶部112に記憶されている複数のデジタル係数値を調整する。第3更新部144により複数のデジタル係数値が調整された場合、第1設定部122は、調整後の複数のデジタル係数値に基づき、リザーバ回路12に設定されている複数の係数を変更する。
図8は、切換回路24の処理の流れを示すフローチャートである。リザーバ回路12が有する切換回路24は、図8に示すような流れで処理を実行する。
まず、S11において、切換回路24は、前段のデータ処理装置から入力データを受け取った場合、入力データに応じたM個の入力信号を第1演算回路22に供給する。続いて、S12において、切換回路24は、第1演算回路22から出力されたN個の中間信号をフィードバックして、N個の中間信号をM個の入力信号として第1演算回路22に供給する。
続いて、S13において、切換回路24は、前段のデータ処理装置から次の入力データを受け取ったか否かを判断する。前段のデータ処理装置から次の入力データを受け取っていない場合(S13のNo)、切換回路24は、処理をS12に戻し、N個の中間信号をM個の入力信号として第1演算回路22に供給する。
前段のデータ処理装置から次の入力データを受け取った場合(S13のYes)、切換回路24は、処理をS11に戻し、次の入力データに応じたM個の入力信号を第1演算回路22に供給する。そして、切換回路24は、S11からS13までの処理を繰り返す。
図9は、リザーバ回路12から出力されるN個の中間信号の発火タイミングを示す図である。図9は、縦軸が32個の中間信号の識別番号を示し、横軸が時間を示す。図9は、ドットで示された位置が、中間信号が発火したタイミングを示す。
切換回路24が図8に示すような処理をした結果、リザーバ回路12は、1または複数の中間信号が繰り返して発火するようなN個の中間信号を出力することができる。これにより、リザーバ回路12は、M個の入力信号を非線形変換により高次元の特徴空間に射影したN個の中間信号を出力することができる。
図10は、推論システム10の学習時の処理の流れを示すフローチャートである。推論システム10は、図10に示す流れで学習処理を実行する。推論システム10は、推論処理に先だって学習処理を実行してもよいし、推論処理と並行してリアルタイム学習処理を実行してもよい。
まず、S21において、制御回路16は、第1遅延調整処理を実行する。これにより、制御回路16は、取り扱うタスクおよびデータの種類等に応じた適切な中間信号が出力されるように、リザーバ回路12に設定されている複数の係数を調整することができる。なお、第1遅延調整処理のさらなる詳細については、図11および図12を参照して後述する。
続いて、S22において、制御回路16は、教師有り学習処理を実行する。これにより、制御回路16は、早期に適切な推論結果が得られるように、推論回路14に設定されている複数の係数を調整することができる。なお、教師有り学習処理のさらなる詳細については、図13、図14、図15および図16を参照して後述する。
続いて、S23において、制御回路16は、第2遅延調整処理を実行する。これにより、制御回路16は、推論結果が早期に出力されるように、リザーバ回路12に設定されている複数の係数を調整することができる。なお、第2遅延調整処理のさらなる詳細については、図17および図18を参照して後述する。
推論システム10は、以上の処理を実行することにより、リザーバ回路12に設定されている複数の係数を、取り扱うタスクおよびデータの種類等に応じて適切に調整することができる。そして、推論システム10は、高速に、精度良く推論処理を実行することができる。
図11は、第1遅延調整処理(S21)の流れを示すフローチャートである。制御回路16は、S21の第1遅延調整処理において、図11に示す処理を実行する。
まず、S31において、制御回路16は、リザーバ回路12にi番目の入力信号を印加する。例えば、制御回路16は、M個の入力信号のうちのi番目の入力信号を第1論理値から第2論理値に変化させる。ここで、リザーバ回路12は、i番目の入力信号が印加された場合、N個の中間信号のうちのj番目の中間信号が最初に発火する。
続いて、S32において、制御回路16は、中間信号の発火タイミングを検出する。この場合において、制御回路16は、i番目の入力信号を印加した印加タイミングの後、j番目の中間信号が最初に発火したタイミングを検出する。
続いて、S33において、制御回路16は、第1遅延時間を検出する。第1遅延時間は、i番目の入力信号の印加タイミングから、j番目の中間信号の最初の発火タイミングまでの時間である。
続いて、S34において、制御回路16は、第1遅延時間が予め設定された第1閾値より短いか否かを判断する。制御回路16は、第1遅延時間が第1閾値以上である場合(S34のNo)、制御回路16は、本フローの処理を終了する。第1遅延時間が第1閾値より短い場合(S34のYes)、制御回路16は、処理をS35に進める。
S35において、制御回路16は、係数メモリ18に記憶された、リザーバ回路12に設定されている複数の係数に対応する複数のデジタル係数値を更新する。より具体的には、制御回路16は、対象係数に対応するデジタル係数値を相対的に減少させ、対象係数以外の係数群に対応する複数のデジタル係数値を相対的に増加させる。対象係数は、リザーバ回路12が有するN個の積和演算回路30のうちのj番目の中間信号を出力する積和演算回路30に設定されているM個の係数のうちの、i番目の入力信号に乗算される係数である。
例えば、制御回路16は、対象係数に対応するデジタル係数値を減少させ、対象係数以外の係数群に対応する複数のデジタル係数値を変化させなくてもよい。例えば、制御回路16は、対象係数に対応するデジタル係数値を変化させず、対象係数以外の係数群に対応する複数のデジタル係数値を増加させてもよい。例えば、制御回路16は、対象係数に対応するデジタル係数値を減少させ、対象係数以外の係数群の一部に対応する複数のデジタル係数値を増加させてもよい。また、制御回路16は、第1遅延時間が短い程、対象係数に対応するデジタル係数値の相対的な減少量を大きくし、対象係数以外の係数群に対応する複数のデジタル係数値の相対的な増加量を大きくしてもよい。
続いて、S36において、制御回路16は、係数メモリ18に記憶された複数のデジタル係数値に基づき、リザーバ回路12に設定されている複数の係数を更新する。
制御回路16は、S36を終えると、処理をS31に戻し、S31から処理を繰り返す。制御回路16は、第1遅延時間が第1閾値以上となるまで、または、予め定められた時間または予め定められた回数分のループ処理を実行するまで、S31からS36までの処理を繰り返す。
制御回路16は、本フローを終了した後、印加する入力信号を変えて、再度、本フローを繰り返してもよい。例えば、制御回路16は、N個の入力信号の全てについて、本フローを実行してもよい。
図12は、第1遅延調整処理における係数の調整を説明するための図である。例えば、i番目の入力信号を供給した場合、リザーバ回路12は、N個の中間信号のうち、j番目の中間信号を最初に発火させる。そして、第1遅延時間は、第1閾値より短いとする。
この場合、制御回路16は、j番目の中間信号を出力する積和演算回路30に設定されているN個の係数のうち、i番目の入力信号に乗算される対象係数を減少させる。また、制御回路16は、リザーバ回路12に設定されている対象係数以外の複数の係数を増加させてもよい。
これにより、制御回路16は、第1遅延時間を長くするように、リザーバ回路12に設定されている複数の係数を調整することができる。リザーバ回路12は、第1遅延時間が長くなることにより、時系列に入力されるM個の入力信号の特徴を表すN個の中間信号を発生することができる。従って、制御回路16は、第1遅延時間を長くすることにより、推論回路14に精度良く推論をさせることができる。
図13は、教師有り学習処理(S22)の流れを示すフローチャートである。制御回路16は、S22の教師有り学習処理において、以下のS41およびS42の処理を実行する。
まず、S41において、制御回路16は、パターン学習処理を実行する。より具体的には、制御回路16は、訓練データに応じたM個の入力信号がリザーバ回路12に供給された場合に、L個の出力信号のうちの訓練データに対応する教師データに示された出力信号が発火するように、推論回路14に設定されている複数の係数を調整する。例えば、制御回路16は、複数の訓練データを用いて、パターン学習処理を実行してもよい。なお、パターン学習処理の一例については、図14を参照して後述する。
続いて、S42において、制御回路16は、遅延量学習処理を実行する。より具体的には、制御回路16は、訓練データに応じたM個の入力信号がリザーバ回路12に供給された場合に、L個の出力信号のうちの訓練データに対応する教師データに示された出力信号が、より早く発火するように、推論回路14に設定されている複数の係数を調整する。例えば、制御回路16は、複数の訓練データを用いて、遅延量学習処理を実行してもよい。なお、遅延量学習処理のさらなる詳細については、図15および図16を参照して後述する。
図14は、パターン学習処理(S41)の流れを示すフローチャートである。制御回路16は、S41のパターン学習処理において、一例として、図14に示す処理を実行する。
まず、S51において、制御回路16は、リザーバ回路12に、訓練データに応じたM個の入力信号を印加する。続いて、S52において、制御回路16は、L個の出力信号の発火パターンを取得する。
続いて、S53において、制御回路16は、取得した発火パターンと、訓練データに対応する教師データに示された発火パターンとを比較して、一致するか否かを判断する。一致する場合(S53のYes)、制御回路16は、本フローの処理を終了する。一致しない場合(S53のNo)、制御回路16は、処理をS54に進める。
S54において、制御回路16は、係数メモリ18に記憶された、推論回路14に設定された複数の係数に対応する複数のデジタル係数値を更新する。より具体的には、制御回路16は、L個の出力信号のうちの教師データに示された出力信号が発火するように、推論回路14に設定されている複数の係数に対応する複数のデジタル係数値を調整する。
続いて、S55において、制御回路16は、係数メモリ18に記憶された複数のデジタル係数値に基づき、推論回路14に設定されている複数の係数を更新する。
制御回路16は、S55を終えると、処理をS51に戻し、S51から処理を繰り返す。制御回路16は、発火パターンが一致するまで、S51からS55までの処理を繰り返す。制御回路16は、本フローを終了した後、訓練データを変えて、再度、本フローを繰り返してもよい。
図15は、遅延量学習処理(S42)の流れを示すフローチャートである。制御回路16は、S42の遅延量学習処理において、図15に示す処理を実行する。
まず、S61において、制御回路16は、リザーバ回路12に、訓練データに応じたM個の入力信号を印加する。続いて、S62において、制御回路16は、L個の出力信号のうちの、訓練データに対応する教師データに示されたk番目の出力信号の発火タイミングを検出する。
続いて、S63において、制御回路16は、第2遅延時間を検出する。第2遅延時間は、M個の入力信号の印加タイミングから、教師データに示されたk番目の出力信号の発火タイミングまでの時間である。または、第2遅延時間は、N個の中間信号の印加タイミング(N個の中間信号のうちの最初に発火した中間信号が推論回路14に供給されたタイミング)から、教師データに示されたk番目の出力信号の発火タイミングまでの時間であってもよい。
続いて、S64において、制御回路16は、第2遅延時間が予め設定された第2閾値より長いか否かを判断する。制御回路16は、第2遅延時間が第2閾値以下である場合(S64のNo)、制御回路16は、本フローの処理を終了する。第2遅延時間が第2閾値より長い場合(S64のYes)、制御回路16は、処理をS65に進める。
S65において、制御回路16は、係数メモリ18に記憶された、推論回路14に設定されている複数の係数に対応する複数のデジタル係数値を更新する。より具体的には、制御回路16は、出力係数群に対応する複数のデジタル係数値を相対的に増加させ、出力係数群以外の係数群に対応する複数のデジタル係数値を相対的に減少させる。出力係数群は、推論回路14に含まれるL個の積和演算回路30のうちのk番目の出力信号を出力する積和演算回路30に設定されているN個の係数である。
例えば、制御回路16は、出力係数群に対応する複数のデジタル係数値を増加させ、出力係数群以外の係数群に対応する複数のデジタル係数値を変化させなくてもよい。例えば、制御回路16は、出力係数群に対応する複数のデジタル係数値を変化させず、出力係数群以外の係数群に対応する複数のデジタル係数値を減少させてもよい。例えば、制御回路16は、出力係数群の一部に対応する複数のデジタル係数値を増加させ、出力係数群以外の係数群の一部に対応する複数のデジタル係数値を減少させてもよい。また、制御回路16は、第2遅延時間が長い程、出力係数群に対応する複数のデジタル係数値の相対的な増加量を大きくし、出力係数群以外の係数群に対応する複数のデジタル係数値の相対的な減少量を大きくしてもよい。
続いて、S66において、制御回路16は、係数メモリ18に記憶された複数のデジタル係数値に基づき、推論回路14に設定されている複数の係数を更新する。
制御回路16は、S66を終えると、処理をS61に戻し、S61から処理を繰り返す。制御回路16は、第2遅延時間が第2閾値以下となるまで、または、予め定められた時間または予め定められた回数分のループ処理を実行するまで、S61からS66までの処理を繰り返す。制御回路16は、本フローを終了した後、訓練データを変えて、再度、本フローを繰り返してもよい。
図16は、遅延量学習処理における係数の調整を説明するための図である。例えば、訓練データに応じたM個の入力信号をリザーバ回路12に供給した場合、推論回路14は、L個の出力信号のうち、教師データに示されたk番目の出力信号を発火させたとする。そして、第2遅延時間は、第2閾値より長いとする。
この場合、制御回路16は、推論回路14が有するL個の積和演算回路30のうちのk番目の出力信号を出力する積和演算回路30に設定されているN個の係数である出力係数群を増加させる。また、制御回路16は、推論回路14が有するL個の積和演算回路30のうちの、k番目の出力信号を出力する積和演算回路30以外の積和演算回路30に設定されている複数の係数を減少させてもよい。
これにより、制御回路16は、第2遅延時間を短くするように、推論回路14に設定されている複数の係数を調整することができる。推論回路14は、第2遅延時間が短くなると、推論結果を早く出力することができる。従って、制御回路16は、第2遅延時間を短くすることにより、推論回路14に早期に推論をさせることができる。
図17は、第2遅延調整処理(S23)の流れを示すフローチャートである。制御回路16は、S23の第2遅延調整処理において、図17に示す処理を実行する。
まず、S71において、制御回路16は、リザーバ回路12にi番目の入力信号を印加する。例えば、制御回路16は、M個の入力信号のうちのi番目の入力信号を第1論理値から第2論理値に変化させる。
続いて、S72において、制御回路16は、出力信号の発火タイミングを検出する。
続いて、S73において、制御回路16は、トータル遅延時間を検出する。トータル遅延時間は、M個の入力信号の印加タイミング(i番目の入力信号の印加タイミング)から、L個の出力信号のうちの何れかの出力信号の発火タイミングまでの時間である。
続いて、S74において、制御回路16は、トータル遅延時間が予め設定された第3閾値より長いか否かを判断する。制御回路16は、トータル遅延時間が第3閾値以下である場合(S74のNo)、制御回路16は、本フローの処理を終了する。トータル遅延時間が第3閾値より長い場合(S74のYes)、制御回路16は、処理をS75に進める。
S75において、制御回路16は、係数メモリ18に記憶された、リザーバ回路12に設定されている複数の係数に対応する複数のデジタル係数値を更新する。より具体的には、制御回路16は、入力係数群に対応する複数のデジタル係数値を相対的に増加させ、入力係数群以外の係数群に対応する複数のデジタル係数値を相対的に減少させる。入力係数群は、リザーバ回路12に設定されている複数の係数のうちのi番目の入力信号に印加される係数群である。
例えば、制御回路16は、入力係数群に対応する複数のデジタル係数値を増加させ、入力係数群以外の係数群に対応する複数のデジタル係数値を変化させなくてもよい。例えば、制御回路16は、入力係数群に対応する複数のデジタル係数値を変化させず、入力係数群以外の係数群に対応する複数のデジタル係数値を減少させてもよい。例えば、制御回路16は、入力係数群の一部に対応する複数のデジタル係数値を増加させ、入力係数群以外の係数群の一部に対応する複数のデジタル係数値を減少させてもよい。また、制御回路16は、トータル遅延時間が長い程、入力係数群に対応する複数のデジタル係数値の相対的な増加量を大きくし、入力係数群以外の係数群に対応する複数のデジタル係数値の相対的な減少量を大きくしてもよい。
続いて、S76において、制御回路16は、係数メモリ18に記憶された複数のデジタル係数値に基づき、リザーバ回路12に設定されている複数の係数を更新する。
制御回路16は、S76を終えると、処理をS71に戻し、S71から処理を繰り返す。制御回路16は、トータル遅延時間が第2閾値以下となるまで、または、予め定められた時間または予め定められた回数分のループ処理を実行するまで、S71からS76までの処理を繰り返す。
制御回路16は、本フローを終了した後、印加する入力信号を変えて、再度、本フローを繰り返してもよい。例えば、制御回路16は、N個の入力信号の全てについて、本フローを実行してもよい。
図18は、遅延量学習処理における係数の調整を説明するための図である。例えば、i番目の入力信号を供給した場合、推論回路14は、L個の出力信号のうちの何れかの出力信号を発火させたとする。そして、トータル遅延時間は、第3閾値より長いとする。
この場合、制御回路16は、リザーバ回路12が有するN個の積和演算回路30のそれぞれに設定されている、i番目の入力信号に乗算される係数を増加させる。また、制御回路16は、i番目の入力信号に乗算される係数以外の複数の係数を減少させてもよい。
これにより、制御回路16は、トータル遅延時間を短くするように、リザーバ回路12に設定されている複数の係数を調整することができる。推論回路14は、トータル遅延時間が短くなると、推論結果を早く出力することができる。従って、制御回路16は、トータル遅延時間を短くすることにより、推論回路14に早期に推論をさせることができる。
図19は、制御回路16のハードウェア構成を示す図である。制御回路16は、例えば、図19に示すようなハードウェア構成のプロセッシング回路により実現される。
制御回路16は、ハードウェアプロセッサ210と、ROM(Read Only Memory)212と、RAM(Random Access Memory)214と、アナログ入出力回路216と、を有する。ハードウェアプロセッサ210、ROM212、RAM214およびアナログ入出力回路216は、バスにより接続されている。
ハードウェアプロセッサ210は、プログラムをRAM214に展開して実行し、各部を制御して入出力を行ったり、データの加工を行ったりする。ROM212は、プログラムを記憶している。RAM214は、ハードウェアプロセッサ210の作業領域として機能する。アナログ入出力回路216は、M個の入力信号、N個の中間信号およびL個の出力信号を取得して、それぞれの信号の印加タイミングおよび発火タイミングを検出する。
制御回路16により実行させるプログラムは、第1設定モジュールと、第2設定モジュールと、第1遅延検出モジュールと、第1更新モジュールと、パターン調整モジュールと、第2遅延検出モジュールと、第2更新モジュールと、第3遅延検出モジュールと、第3更新モジュールとを有する。制御回路16は、ハードウェアプロセッサ210がプログラムを実行することにより、各モジュールが主記憶装置(RAM214)上にロードされる。これにより、プロセッサ(ハードウェアプロセッサ210)は、第1設定部122、第2設定部124、第1遅延検出部132、第1更新部134、パターン調整部136、第2遅延検出部138、第2更新部140、第3遅延検出部142および第3更新部144として機能する。なお、第1設定部122、第2設定部124、第1遅延検出部132、第1更新部134、パターン調整部136、第2遅延検出部138、第2更新部140、第3遅延検出部142および第3更新部144の一部は、制御回路16以外のハードウェアにより実現されてもよい。
以上のように、本実施形態に係る推論システム10によれば、取り扱うタスクおよびデータの種類等に関わらず、精度良く推論をすることができる。また、推論システム10によれば、高速に、推論をすることができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
10 推論システム
12 リザーバ回路
14 推論回路
16 制御回路
18 係数メモリ
22 第1演算回路
24 切換回路
26 第2演算回路
28 出力回路
30 積和演算回路
36 コンパレータ
112 第1記憶部
114 第2記憶部
122 第1設定部
124 第2設定部
132 第1遅延検出部
134 第1更新部
136 パターン調整部
138 第2遅延検出部
140 第2更新部
142 第3遅延検出部
144 第3更新部

Claims (19)

  1. M個(Mは、2以上の整数)の第1信号を受け取り、N個(Nは、2以上の整数)の第2信号を出力するリカレントニューラルネットワーク回路と、
    前記M個の第1信号の印加タイミングから前記N個の第2信号の発火タイミングまでの第1遅延時間に応じて、前記リカレントニューラルネットワーク回路に設定されている複数の係数を調整する制御回路と、
    を備え
    前記M個の第1信号のそれぞれは、2値を表し、
    前記N個の第2信号のそれぞれは、2値を表し、
    前記リカレントニューラルネットワーク回路は、前記N個の第2信号に対応するN個の積和演算回路を有し、
    前記N個の積和演算回路のそれぞれは、前記M個の第1信号に対応するM個の係数が設定され、
    前記リカレントニューラルネットワーク回路に、前記M個の第1信号のうちのi番目(iは、1以上M以下の整数)の第1信号が印加され、前記リカレントニューラルネットワーク回路が、前記N個の第2信号のうちのj番目(jは、1以上N以下の整数)の第2信号を発火させた場合、
    前記制御回路は、前記第1遅延時間に応じて、前記リカレントニューラルネットワーク回路に設定されている複数の係数のうちの対象係数と、前記リカレントニューラルネットワーク回路に設定されている複数の係数のうちの前記対象係数以外の係数群との相対関係を調整し、
    前記対象係数は、前記リカレントニューラルネットワーク回路が有する前記N個の積和演算回路のうちの前記j番目の第2信号を出力する積和演算回路に設定されている前記M個の係数のうちの、前記i番目の第1信号に乗算される係数である
    処理装置。
  2. 前記印加タイミングは、前記M個の第1信号のうちの前記i番目の第1信号が前記リカレントニューラルネットワーク回路に印加されたタイミングであり、
    前記発火タイミングは、前記印加タイミングの後、前記N個の第2信号のうちの前記j番目の第2信号が最初に発火したタイミングである
    請求項に記載の処理装置。
  3. 前記N個の積和演算回路のそれぞれは、前記M個の第1信号と、設定されている前記M個の係数とを積和演算した値に応じた電圧を受け取り、受け取った前記電圧を2値化し、2値化した信号を前記N個の第2信号のうちの対応する第2信号として出力するコンパレータを含む
    請求項またはに記載の処理装置。
  4. 前記制御回路は、前記第1遅延時間が予め設定された閾値より短い場合、前記対象係数を相対的に減少させ、前記対象係数以外の係数群を相対的に増加させる
    請求項に記載の処理装置。
  5. 前記制御回路は、前記第1遅延時間が短い程、前記対象係数の相対的な減少量を大きくし、前記対象係数以外の係数群の相対的な増加量を大きくする
    請求項に記載の処理装置。
  6. M個(Mは、2以上の整数)の第1信号を受け取り、N個(Nは、2以上の整数)の第2信号を出力するリカレントニューラルネットワーク回路と、
    前記M個の第1信号の印加タイミングから前記N個の第2信号の発火タイミングまでの第1遅延時間に応じて、前記リカレントニューラルネットワーク回路に設定されている複数の係数を調整する制御回路と、
    を備え、
    前記リカレントニューラルネットワーク回路は、
    前記M個の第1信号を受け取り、前記N個の第2信号を出力するニューラルネットワーク演算を実行する第1演算回路と、
    切換回路と、
    を有し、
    前記切換回路は、
    入力データを受け取った場合、前記入力データに応じた前記M個の第1信号を前記第1演算回路に供給し、
    前記入力データに応じた前記M個の第1信号を前記第1演算回路に供給した後、前記N個の第2信号を前記M個の第1信号として前記第1演算回路に供給する
    理装置。
  7. M=Nである
    請求項に記載の処理装置。
  8. 前記リカレントニューラルネットワーク回路に設定されている複数の係数に対応する複数のデジタル係数値を記憶する係数メモリをさらに備え、
    前記制御回路は、
    前記第1遅延時間に応じて、前記係数メモリに記憶されている前記複数のデジタル係数値を調整し、
    前記係数メモリに記憶されている前記複数のデジタル係数値に基づき、前記リカレントニューラルネットワーク回路に設定されている複数の係数を変更する
    請求項1からの何れか1項に記載の処理装置。
  9. 前記リカレントニューラルネットワーク回路に設定されている複数の係数のそれぞれは、第1階調数により表され、
    前記複数のデジタル係数値のそれぞれは、前記第1階調数より多い第2階調数により表され、
    前記制御回路は、前記複数のデジタル係数値のそれぞれを前記第1階調数に変換し、前記第1階調数で表された前記複数のデジタル係数値に基づき、前記リカレントニューラルネットワーク回路に設定されている複数の係数を変更する
    請求項に記載の処理装置。
  10. M個(Mは、2以上の整数)の入力信号を受け取り、N個(Nは、2以上の整数)の中間信号を出力するリカレントニューラルネットワーク回路と、
    前記N個の中間信号を受け取り、L個(Lは、2以上の整数)の出力信号を出力する推論ニューラルネットワーク回路と、
    前記リカレントニューラルネットワーク回路に設定されている複数の係数および前記推論ニューラルネットワーク回路に設定されている複数の係数を調整する制御回路と、
    を備え、
    前記制御回路は、前記M個の入力信号の印加タイミングから前記L個の出力信号の発火タイミングまでのトータル遅延時間に応じて、前記リカレントニューラルネットワーク回路に設定されている複数の係数を調整する
    推論システム。
  11. 前記M個の入力信号のそれぞれは、2値を表し、
    前記N個の中間信号のそれぞれは、2値を表し、
    前記L個の出力信号のそれぞれは、2値を表し、
    前記リカレントニューラルネットワーク回路は、前記N個の中間信号に対応するN個の積和演算回路を有し、
    前記N個の積和演算回路のそれぞれは、前記M個の入力信号に対応するM個の係数が設定され、
    前記リカレントニューラルネットワーク回路に、前記M個の入力信号のうちのi番目(iは、1以上M以下の整数)の入力信号が印加された場合、
    前記制御回路は、前記トータル遅延時間に応じて、前記リカレントニューラルネットワーク回路に設定されている入力係数群と、前記リカレントニューラルネットワーク回路に設定されている前記入力係数群以外の係数群との相対関係を調整し、
    前記入力係数群は、前記リカレントニューラルネットワーク回路に設定されている複数の係数のうちの前記i番目の入力信号に乗算される係数群である
    請求項10に記載の推論システム。
  12. 前記N個の積和演算回路のそれぞれは、前記M個の入力信号と、設定されている前記M個の係数とを積和演算した値に応じた電圧を受け取り、受け取った前記電圧を2値化し、2値化した信号を前記N個の中間信号のうちの対応する中間信号として出力するコンパレータを有する
    請求項11に記載の推論システム。
  13. 前記制御回路は、前記トータル遅延時間が予め設定された閾値より長い場合、前記入力係数群を相対的に増加させ、前記入力係数群以外の係数群を相対的に減少させる
    請求項12に記載の推論システム。
  14. 前記制御回路は、前記トータル遅延時間が長い程、前記入力係数群の相対的な増加量を大きくし、前記入力係数群以外の係数群の相対的な減少量を大きくする
    請求項13に記載の推論システム。
  15. 前記リカレントニューラルネットワーク回路に、前記i番目の入力信号が印加され、前記リカレントニューラルネットワーク回路が、前記N個の中間信号のうちのj番目(jは、1以上N以下の整数)の中間信号を発火させた場合、
    前記制御回路は、前記M個の入力信号の印加タイミングから前記N個の中間信号の発火タイミングまでの第1遅延時間に応じて、前記リカレントニューラルネットワーク回路に設定されている複数の係数のうちの対象係数と、前記対象係数以外の係数群との相対関係を調整し、
    前記対象係数は、前記リカレントニューラルネットワーク回路に含まれる前記N個の積和演算回路のうちの前記j番目の出力信号を出力する積和演算回路に設定されている前記M個の係数のうちの、前記i番目の入力信号に乗算される係数である
    請求項11から14の何れか1項に記載の推論システム。
  16. 前記推論ニューラルネットワーク回路は、前記L個の出力信号に対応するL個の積和演算回路を有し、
    前記L個の積和演算回路のそれぞれは、前記N個の中間信号に対応するN個の係数が設定され、
    前記リカレントニューラルネットワーク回路に、訓練データに応じた前記M個の入力信号が印加され、前記推論ニューラルネットワーク回路が、前記L個の出力信号のうちの教師データに示されたk番目(kは、1以上L以下の整数)の出力信号を発火させた場合、
    前記制御回路は、前記M個の入力信号の印加タイミングまたは前記N個の中間信号の印加タイミングから、前記L個の出力信号の発火タイミングまでの第2遅延時間に応じて、前記推論ニューラルネットワーク回路に設定されている複数の係数のうちの出力係数群と、前記推論ニューラルネットワーク回路に設定されている複数の係数のうちの前記出力係数群以外の係数群との相対関係を調整し、
    前記出力係数群は、前記推論ニューラルネットワーク回路に含まれる前記L個の積和演算回路のうちの前記k番目の出力信号を出力する積和演算回路に設定されている前記N個の係数である
    請求項11から15の何れか1項に記載の推論システム。
  17. 前記制御回路は、
    前記第2遅延時間が予め設定された閾値より長い場合、前記出力係数群を相対的に増加させ、前記出力係数群以外の係数群を相対的に減少させ、
    前記第2遅延時間が長い程、前記出力係数群の相対的な増加量を大きくし、前記出力係数群以外の係数群の相対的な減少量を大きくする
    請求項16に記載の推論システム。
  18. 前記制御回路は、前記訓練データに応じた前記M個の入力信号が前記リカレントニューラルネットワーク回路に供給された場合に、前記L個の出力信号のうちの前記教師データに示された出力信号が発火するように、前記推論ニューラルネットワーク回路に設定されている複数の係数を調整する
    請求項16または17に記載の推論システム。
  19. 前記推論ニューラルネットワーク回路は、
    前記N個の中間信号を受け取り、L個の信号を出力するニューラルネットワーク演算を実行する第2演算回路と、
    前記第2演算回路から出力された前記L個の信号に対応する前記L個の出力信号を生成する出力回路と、
    を有し、
    前記出力回路は、前記L個の出力信号のそれぞれを、前記L個の信号のうちの対応する信号の発火パターンに応じて、発火させる
    請求項10から18の何れか1項に記載の推論システム。
JP2019168604A 2019-09-17 2019-09-17 処理装置および推論システム Active JP7132196B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019168604A JP7132196B2 (ja) 2019-09-17 2019-09-17 処理装置および推論システム
US16/801,275 US11526738B2 (en) 2019-09-17 2020-02-26 Processing apparatus and inference system
US18/052,086 US11893476B2 (en) 2019-09-17 2022-11-02 Processing apparatus and inference system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019168604A JP7132196B2 (ja) 2019-09-17 2019-09-17 処理装置および推論システム

Publications (2)

Publication Number Publication Date
JP2021047530A JP2021047530A (ja) 2021-03-25
JP7132196B2 true JP7132196B2 (ja) 2022-09-06

Family

ID=74869666

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019168604A Active JP7132196B2 (ja) 2019-09-17 2019-09-17 処理装置および推論システム

Country Status (2)

Country Link
US (2) US11526738B2 (ja)
JP (1) JP7132196B2 (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 株式会社日立製作所 リザーバー計算機
JP2022129104A (ja) 2021-02-24 2022-09-05 株式会社東芝 不揮発性メモリデバイス
WO2022248963A1 (ja) * 2021-05-27 2022-12-01 株式会社半導体エネルギー研究所 半導体装置
WO2024069720A1 (ja) * 2022-09-26 2024-04-04 日本電信電話株式会社 ノードアッセンブリ、概念シーケンサ、ノードアッセンブリ生成プログラム、及びノードアッセンブリ生成方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07109609B2 (ja) * 1993-12-21 1995-11-22 工業技術院長 神経回路の時系列学習方法
US5748847A (en) * 1995-12-21 1998-05-05 Maryland Technology Corporation Nonadaptively trained adaptive neural systems
JP2006293442A (ja) * 2005-04-05 2006-10-26 Sony Corp 情報処理装置および方法、並びにプログラム
US9165246B2 (en) 2013-01-29 2015-10-20 Hewlett-Packard Development Company, L.P. Neuristor-based reservoir computing devices
JP6846297B2 (ja) 2016-06-20 2021-03-24 キオクシア株式会社 演算装置
US20210295668A1 (en) * 2016-10-05 2021-09-23 My Medic Watch Pty Ltd Alert system
JP6556768B2 (ja) 2017-01-25 2019-08-07 株式会社東芝 積和演算器、ネットワークユニットおよびネットワーク装置
US10783452B2 (en) * 2017-04-28 2020-09-22 International Business Machines Corporation Learning apparatus and method for learning a model corresponding to a function changing in time series
JP6773621B2 (ja) 2017-09-15 2020-10-21 株式会社東芝 演算装置
GB2570433A (en) * 2017-09-25 2019-07-31 Nissan Motor Mfg Uk Ltd Machine vision system
JP6786466B2 (ja) 2017-11-17 2020-11-18 株式会社東芝 ニューラルネットワーク装置および演算装置
US10325223B1 (en) * 2018-02-06 2019-06-18 Apprente, Inc. Recurrent machine learning system for lifelong learning
JP6970058B2 (ja) 2018-07-19 2021-11-24 株式会社東芝 演算装置
JP6926037B2 (ja) 2018-07-26 2021-08-25 株式会社東芝 シナプス回路、演算装置およびニューラルネットワーク装置
JP6972057B2 (ja) 2019-03-15 2021-11-24 株式会社東芝 演算装置
US20200380335A1 (en) * 2019-05-30 2020-12-03 AVAST Software s.r.o. Anomaly detection in business intelligence time series
JP7034984B2 (ja) 2019-05-30 2022-03-14 株式会社東芝 演算装置
JP7027371B2 (ja) 2019-06-03 2022-03-01 株式会社東芝 ニューラルネットワークの演算装置、ニューラルネットワーク、ニューラルネットワークの制御方法
WO2020261549A1 (ja) * 2019-06-28 2020-12-30 Tdk株式会社 機械学習装置、機械学習プログラム、及び機械学習方法
JP7231144B2 (ja) * 2019-07-17 2023-03-01 株式会社トランストロン エンジン制御装置及びそれが有するニューラルネットワークプログラム
JP7118930B2 (ja) 2019-08-19 2022-08-16 株式会社東芝 スパイキングニューラルネットワーク装置およびその学習方法
JP6795721B1 (ja) * 2019-08-29 2020-12-02 楽天株式会社 学習システム、学習方法、及びプログラム
JP7132196B2 (ja) * 2019-09-17 2022-09-06 株式会社東芝 処理装置および推論システム

Also Published As

Publication number Publication date
US20210081771A1 (en) 2021-03-18
JP2021047530A (ja) 2021-03-25
US11526738B2 (en) 2022-12-13
US20230289581A1 (en) 2023-09-14
US11893476B2 (en) 2024-02-06

Similar Documents

Publication Publication Date Title
JP7132196B2 (ja) 処理装置および推論システム
KR102230784B1 (ko) Stdp 동작을 위한 시냅스 회로 및 시냅스 회로를 포함하는 뉴로모픽 시스템
KR102578124B1 (ko) 신경망 장치의 정규화 장치 및 방법
JP6773621B2 (ja) 演算装置
US10671911B2 (en) Current mirror scheme for an integrating neuron circuit
TWI762719B (zh) 用於混和訊號運算的系統及方法
US20190279079A1 (en) Neuromorphic system with transposable memory and virtual look-up table
US11055612B2 (en) Voltage controlled highly linear resistive elements
WO2016190928A2 (en) Spike domain convolution circuit
KR20190114212A (ko) 이진값 기반 신경회로망을 위한 단일 컬럼 멤리스터 크로스바 및 cmos 활성화 함수 회로
TW202236172A (zh) 分佈式多組件突觸計算結構
US6041321A (en) Electronic device for performing convolution operations
US6876989B2 (en) Back-propagation neural network with enhanced neuron characteristics
KR20180070187A (ko) 신경망 장치의 정규화 장치 및 방법
JP2020154412A (ja) ニューラルネットワーク装置
US20170004398A1 (en) Boltzmann machine circuit and method for controlling circuit
Kohno et al. A qualitative-modeling-based low-power silicon nerve membrane
US20190392291A1 (en) Electronic circuit for implementing generative adversarial network using spike neural network
JP7346373B2 (ja) 演算装置およびニューラルネットワーク装置
US20180174045A1 (en) Apparatus and method for recognizing information of neuromorphic device
US20210279558A1 (en) Synaptic circuit and neural network apparatus
Napp-Zinn et al. Recognition and tracking of impulse patterns with delay adaptation in biology-inspired pulse processing neural net (BPN) hardware
Lo et al. Expandable Neuron Cell with Current-Steering DAC for Deep-Learning
JP7447034B2 (ja) シナプス回路およびニューラルネットワーク装置
KR20220169869A (ko) 전하 연산 오류를 방지하기 위한 시냅스 회로 및 그것을 포함하는 스파이크 뉴럴 네트워크 회로

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220422

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220825

R151 Written notification of patent or utility model registration

Ref document number: 7132196

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151