JP2020046715A - 計算装置、計算プログラム、記録媒体及び計算方法 - Google Patents

計算装置、計算プログラム、記録媒体及び計算方法 Download PDF

Info

Publication number
JP2020046715A
JP2020046715A JP2018172354A JP2018172354A JP2020046715A JP 2020046715 A JP2020046715 A JP 2020046715A JP 2018172354 A JP2018172354 A JP 2018172354A JP 2018172354 A JP2018172354 A JP 2018172354A JP 2020046715 A JP2020046715 A JP 2020046715A
Authority
JP
Japan
Prior art keywords
variable
function
group
update
parameter
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.)
Granted
Application number
JP2018172354A
Other languages
English (en)
Other versions
JP6902006B2 (ja
Inventor
太郎 金尾
Taro Kanao
太郎 金尾
隼人 後藤
Hayato Goto
隼人 後藤
光介 辰村
Kosuke Tatsumura
光介 辰村
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 JP2018172354A priority Critical patent/JP6902006B2/ja
Priority to US16/299,625 priority patent/US11170069B2/en
Publication of JP2020046715A publication Critical patent/JP2020046715A/ja
Application granted granted Critical
Publication of JP6902006B2 publication Critical patent/JP6902006B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • 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/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/13Differential equations
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Operations Research (AREA)
  • Complex Calculations (AREA)

Abstract

【課題】計算能力を向上できる計算装置、計算プログラム、記録媒体及び計算方法を提供する。【解決手段】実施形態によれば、計算装置は、処理部を含む。処理部は、データ群{s}を入手し、処理手順を繰り返す。処理手順は、第1変数更新及び第2変数更新を含む。第1変数更新は、第1変数xiに第1関数を加えて第1変数xiを更新することを含む。第1関数の変数は、第2変数群{y}を含む。第2変数更新は、第2変数yiに第2関数及び第3関数を加えて第2変数yiを更新することを含む。第2関数の変数は、第1変数xi、及び、データ群{s}を含む。第3関数の変数は、第1変数群{x}、及び、第1パラメータ群{J}を含む。処理部は、第4関数を出力する。第4関数の変数は、処理手順を繰り返した後に得られる、第1変数群{x}、及び、第2変数群{y}の少なくとも一部を含む。【選択図】図1

Description

本発明の実施形態は、計算装置、計算プログラム、記録媒体及び計算方法に関する。
例えば、ニューラルネットワークモデルを用いた計算装置の人工知能への応用が研究されている。ニューラルネットワークとして、フィードフォワード型及び回帰型が知られている。高い計算能力を有する計算装置が望まれる。
H. Jaeger and H. Haas, Science 304, 78 (2004). W. Maass et al., Neural Comput. 14, 2531 (2002). H. Goto, Sci. Rep. 6, 21686 (2016). K. Fujii and K. Nakajima, Phys. Rev. Appl. 8, 024030 (2017).
本発明の実施形態は、計算能力を向上できる計算装置、計算プログラム、記録媒体及び計算方法を提供する。
本発明の実施形態によれば、計算装置は、処理部を含む。前記処理部は、データ群{s}を入手し、処理手順を繰り返す。前記処理手順は、第1変数更新及び第2変数更新を含む。前記第1変数更新は、前記第1変数更新前のi番目(iは1以上N以下の整数、前記Nは2以上の整数)の第1変数xに第1関数を加えて前記i番目の前記第1変数xを更新することを含む。前記i番目の前記第1変数xは、第1変数群{x}の1つである。前記第1関数の変数は、第2変数群{y}の少なくとも一部を含む。前記第2変数更新は、前記第2変数更新前のi番目の第2変数yに第2関数及び第3関数を加えて前記i番目の前記第2変数yを更新することを含む。前記i番目の前記第2変数yiは、前記第2変数群{y}の1つである。前記第2関数の変数は、前記i番目の第1変数x、及び、前記データ群{s}の少なくとも一部を含む。前記第3関数の変数は、前記第1変数群{x}の少なくとも一部、及び、第1パラメータ群{J}の少なくとも一部、を含む。前記処理部は、少なくとも第4関数を出力する。前記第4関数の変数は、前記処理手順を前記繰り返した後に得られる前記第1変数群{x}、及び、前記処理手順を前記繰り返した後に得られる前記第2変数群{y}の、少なくとも一部を含む。
図1は、実施形態に係る計算装置を例示する模式図である。 図2は、実施形態に係る計算装置の動作を例示するフローチャートである。 図3は、実施形態に係る計算装置の動作を例示するフローチャートである。 図4は、実施形態に係る計算装置の動作を例示するフローチャートである。 図5は、実施形態に係る計算装置の動作を例示するフローチャートである。 図6は、実施形態に係る計算装置の動作を例示するフローチャートである。 図7は、実施形態に係る計算装置の特性を例示するグラフ図ある。 図8は、実施形態に係る計算装置を例示する模式図である。 図9は、実施形態に係る計算装置の動作を例示するフローチャートである。 図10は、実施形態に係る計算装置の動作を例示するフローチャートである。 図11は、実施形態に係る計算装置の動作を例示するフローチャートである。 図12は、実施形態に係る計算装置の動作を例示するフローチャートである。 図13は、実施形態に係る計算装置の動作を例示するフローチャートである。 図14は、実施形態に係る計算装置の動作を例示するフローチャートである。 図15は、実施形態に係る計算装置の動作を例示するフローチャートである。
以下に、本発明の各実施の形態について図面を参照しつつ説明する。
本願明細書と各図において、既出の図に関して前述したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
(第1実施形態)
図1は、実施形態に係る計算装置を例示する模式図である。
図1に示すように、本実施形態に係る計算装置110は、例えば、処理部20を含む。計算装置110は、保持部10をさらに含んでも良い。処理部20は、例えば、CPU(Central Processing Unit)などを含む。処理部20は、例えば電子回路などを含む。保持部10は、種々のデータを保持可能である。保持部10は、例えば、記憶部である。保持部10は、ROM(Read Only Memory)及びRAM(Random Access Memory)の少なくともいずれかを含んでも良い。計算装置110は、計算システムでも良い。
この例では、計算装置110に、取得部31が設けられている。取得部31は、例えば、種々のデータを入手可能である。取得部31は、例えば、I/Oポートなどを含む。
この例では、計算装置110に、出力部32が設けられている。出力部32は、例えば、処理部20での処理結果を出力可能である。出力部32は、例えば、ディスプレイ、印刷装置及び通信装置の少なくともいずれかを含む。例えば、通信装置により、他の機器などに出力が行われても良い。
この例では、計算装置110に、操作受付部33が設けられている。操作受付部33は、例えば、使用者による操作を受け付ける。操作受付部33は、例えば、キーボート、マウス、タッチ式入力パネル、及び、音声認識入力装置などの少なくともいずれかを含んでも良い。
計算装置110に含まれる複数の要素において、無線及び有線の少なくともいずれかの方法により、互いに通信可能である。計算装置110に含まれる複数の要素が設けられる場所が、互いに異なっても良い。計算装置110として、例えば、汎用コンピュータ(例えばデジタル計算機)が用いられても良い。計算装置110として、例えば、互いに接続された複数のコンピュータが用いられても良い。計算装置110の少なくとも一部(例えば、処理部20及び保持部10など)として、専用の回路が用いられても良い。計算装置110として、例えば、互いに接続された複数の回路が用いられても良い。
計算装置110に含まれる複数の要素の例については、後述する。
1つの例において、計算装置110は、例えば、回帰型のニューラルネットワーク(NN:neural network)に対応する計算を行う。例えば、回帰型のNNに入力データが入力され、NNからの出力が出力される。回帰型のNNは、「リザーバ」に対応する。「リザーバ」を用いた計算において、学習が行われても良い。学習においては、例えば、「重み」が適正化される。計算装置110は、例えば、リザーバ計算機である。
以下、実施形態に係る計算装置110において、実施される動作の例について説明する。
計算装置110に、入力データ(例えばデータ群{s})が入力される。処理部20は、入力データを取得し、以下に説明する情報処理を行う。処理部20での処理結果が、出力される。
図2は、実施形態に係る計算装置の動作を例示するフローチャートである。
図2に示すように、処理部20は、入力データ(例えばデータ群{s})を取得する(ステップS201)。そして、変数の設定を行い(ステップS202)、変数の計算を行う(ステップS210)。変数の計算においては、後述するように、処理部20は、処理手順を繰り返す。
複数の変数が設けられる。複数の変数は、第1変数群{x}及び第2変数群{y}を含む。ステップS202において、第1パラメータ群{J}がさらに設定されても良い。ステップS202において、これらの変数及びパラメータ群は、適切な値に初期化される。初期化の例については、後述する。
例えば、データ群{s}、第1変数群{x}、第2変数群{y}、及び、第1パラメータ群{J}は、保持部10に保持(記憶)されても良い。例えば、入力されたデータ群{s}が保持部10に保持される。例えば、保持部10に保持された、データ群{s}、第1変数群{x}、第2変数群{y}、及び、第1パラメータ群{J}が、処理部20に供給される。処理部20で、第1変数群{x}及び第2変数群{y}などが処理される。例えば、第1変数群{x}及び第2変数群{y}が更新される。更新された、第1変数群{x}及び第2変数群{y}が保持部10に提供される。保持部10に保持された、更新後の第1変数群{x}及び第2変数群{y}が、処理部20に供給され、さらなる更新が行われても良い。
例えば、入力データ(データ群{s})の数は、S(Sは2以上の整数)である。例えば、データ群{s}は、k番目のデータs(kは1以上(S−1)以下の整数)などを含む。例えば、データ群{s}は、(k+1)番目のデータsk+1を含んでも良い。
例えば、第1変数群{x}の数Nは、2以上の整数である。第1変数群{x}は、例えば、i番目(iは1以上N以下の整数)の第1変数xを含む。
1つの例において、第2変数群{y}の数は、数Nと同じである。第2変数群{y}は、例えば、i番目の第2変数yを含む。
第1パラメータ群{J}は、例えば、ij番目の第1パラメータJijを含む。1つの例において、第1パラメータ群{J}は、N×Nの大きさの対称行列である。この対称行列において、対角成分は、0である。1つの例において、第1パラメータ群{J}の非対角成分は、例えば、複数の乱数である。複数の乱数は、−1以上1以下の区間の値(一様乱数)である。第1パラメータ群{J}の非対角成分は、例えば、−1と+1との2値の乱数でも良い。例えば、非対角成分のほとんどが0でも良い。
複数の変数の計算(例えば更新)(ステップS210)においては、例えば、複数の変数の時間発展が計算される。例えば、第1変数群{x}が更新され、第2変数群{y}が更新される。これらの計算は、所定の条件(後述する)が満たされるまで繰り返される。ステップS210は、例えば、サブルーチンである。
サブルーチン(変数の更新)の後に、例えば、処理部20は、関数を算出する(ステップS220)。例えば、更新後の第1変数群{x}、及び、更新後の第2変数群{y}の関数(関数の値)が算出される。後述するように、関数と重み係数との演算結果が算出されても良い。
処理部20は、算出された関数(または、関数と重み係数との演算結果)を出力する(ステップS230)。
上記のステップS210における計算(更新)の例について説明する。
ステップS210における計算(更新)においては、処理手順が繰り返される。1つの処理手順は、第1変数更新及び第2変数更新を含む。
第1変数更新は、第1変数更新前のi番目の第1変数xに第1関数を加えて、i番目の第1変数xを更新することを含む。i番目の第1変数xは、第1変数群{x}の1つである。第1関数の変数は、第2変数群{y}の少なくとも一部を含む。
第1関数は、例えば、関数fx({y})を含む。第1関数は、例えば、第2変数群{y}の関数である。
第2変数更新は、第2変数更新前のi番目の第2変数yに第2関数及び第3関数を加えてi番目の第2変数yを更新することを含む。i番目の第2変数yiは、第2変数群{y}の1つである。
第2関数の変数は、i番目の第1変数x、及び、データ群{s}の少なくとも一部を含む。第2関数の変数は、第2変数群{y}の一部を含んでもよい。
第2関数は、例えば、関数fy(x,{s})を含む。第2関数は、例えば、i番目の第1変数x、及び、データ群{s}の関数である。
第3関数の変数は、第1変数群{x}の少なくとも一部、及び、第1パラメータ群{J}の少なくとも一部、を含む。
第3関数は、例えば、関数g({x},{J})を含む。第3関数は、例えば、第1変数群{x}、及び、第1パラメータ群{J}の関数である。
上記の処理(ステップS210)の後に、処理部20は、少なくとも、第4関数を出力する。第4関数の変数は、処理手順を繰り返した後に得られる第1変数群{x}、及び、処理手順を繰り返した後に得られる第2変数群{y}の、少なくとも一部を含む。第4関数の出力は、ステップS230に対応する。
図2に例示する処理は、例えば、リザーバ計算に対応する。例えば、計算装置110においては、非線形発振器(例えば非線形振動子)の時間発展が計算される。非線形発振器が、例えば、リザーバに対応する。非線形発振器を物理モデルとして用いた計算が、例えば、デジタル計算機により行われる。
非線形発振器に関するモデルが、H. Goto, Sci. Rep. 6, 21686 (2016)により提案されている。実施形態においては、この非線形発振器に関するモデルが変更される。
実施形態において、非線形発振器に関する運動方程式として、以下の第1式及び第2式が採用される。
Figure 2020046715
Figure 2020046715
第1式及び第2式は、複数の非線形発振器に対応する。これらの非線形発振器は、互いに相互作用する。複数の非線形発振器の数は、「N」である。「N」は、2以上の整数である。
第2式において、「t」は、時間に対応する。上記の式により、第1変数x及び第2変数yの時間発展が計算される。
パラメータp(t)は、入力データ(データ{s})に対応して変化させられる。例えば、パラメータp(t)は、例えば、入力された時系列のデータsに対応する波形で、時間変化させられる。パラメータp(t)をデータsに応じて時間変化させることで、例えば、非線形発振器に複雑な時間発展を誘起することができる。これにより、例えば、リザーバ計算の性能を向上させることができる。
例えば、第1式及び第2式に基づいて、2N個の変数(第1変数群{x}及び第2変数群{y})が、例えば、並列計算される。並列計算により、例えば、短時間で計算結果が得られる。高い計算速度が得られる。計算能力を向上できる。
第1式及び第2式は、微分方程式である。これらの式を数値的に解く際に、第1変数x及び第2変数yが、交互に更新される。この方法により、計算途中で発散することが抑制できる。発散せずに、解が得易くなる。
非線形発振器を用いたリザーバ計算において、非線形系に対して、ある速度(1/Tin)で時系列のデータs(時系列信号)が入力される。例えば、この速度に対応したサンプリング時間間隔Tごとに、複数の非線形発振器の状態xkiが導出される。状態xkiは、例えば、以下の第3式で与えられる。
Figure 2020046715

複数の非線形発振器の状態xkiは、複数の非線形発振器が実際に設けられた場合における複数の非線形発振器の測定値に対応する。
リザーバ計算において、例えば、導出された複数の非線形発振器の状態xkiと、重みwと、の関数z(第4関数)が算出される。第4関数zは、例えば、以下の第4式で与えられる。
Figure 2020046715
第4関数zは、導出された複数の非線形発振器の状態xkiと、重みwと、の積に対応する。
既に説明したように、リザーバ計算において、学習が行われても良い。例えば、重みwが、学習により変更される。例えば、定数項xk0を導入する。定数項xk0は、例えば、1である。例えば、第4関数z(計算結果)が、あるデータs(入力信号列)における計算結果の値Z0(例えば、目標値)に近くなるように、重みwが変更される。この重みwの変更が、学習に対応する。
例えば、誤差Eは、以下の第5式で表される。
Figure 2020046715
誤差Eが最小となるように、重みwが定められる。重みwは、例えば、行列演算の第6式により得られる。
Figure 2020046715
第6式において、「W」は、重みwを成分とする列ベクトルである。「X」は、複数の非線形発振器の状態xkiを成分とする行列である。「Z0」は、値Z0を成分とする列ベクトルである。「X」は、行列「X」のMoore-Penrose疑似逆行列である。
実施形態において、「学習」は、計算装置110とは別の計算機で行われても良い。例えば、重みwの変更(または更新)の少なくとも一部が、計算装置110とは別の計算機で行われても良い。
実施形態に係る1つの例において、複数の非線形発振器の状態xkiとして、第1変数xiをサンプリングしたものが用いられる。
上記において、例えば、入力データ(データ群{s}、時系列信号)の入力速度と、サンプリング速度と、が同じである。このとき、時系列のデータs(時系列信号)の入力の速度(1/Tin)と、サンプリング時間間隔Tと、が同じである。
実施形態において、時系列のデータs(時系列信号)の入力の時間間隔(Tin)の間に、複数回のサンプリングが行われても良い。例えば、の時間間隔(Tin)の間に、V回のサンプリングが行われる場合、複数の非線形発振器の数が、N×V個であるとして、上記のリザーバ計算が行われても良い。Vは、1以上L以下の整数である。Vは、2以上L以下の整数でも良い。「L」の例については後述する。
以下、計算装置110(処理部20)で行われる処理の例について説明する。
図3は、実施形態に係る計算装置の動作を例示するフローチャートである。
図3は、リザーバ計算のフローチャートに対応する。
図3に示すように、入力データ(データ群{s})を設定する。この設定は、ステップS201に対応する。例えば、入力データ(データ群{s})を取得することで、入力データ(データ群{s})が設定される。
図3に示すように、第1変数群{x}及び第2変数群{y}の初期化が行われる。初期化は、例えば、ステップS202に対応する。1つの例において、初期化は、乱数により行われる。
図3に示すように、サブルーチンとして、第1変数群{x}及び(第2変数群{y}({x}及び{y})の時間発展が計算される。計算は、ステップS210に対応する。{x}及び{y}の時間発展においては、上記の第1変数更新及び第2変数更新が行われる。
図3に示すように、状態xkiが算出される(ステップS221)。例えば、上記の第3式に基づく演算が行われる。
図3に示すように、関数z(第4関数)が算出される(ステップS222)。例えば、上記の第4式に基づく演算が行われる。
図3に示すように、関数群{z}が出力される(ステップS230)。
1つの例において、図3に例示する処理は、例えば、処理部20により行われる。例えば、図3に例示する複数の処理の少なくとも一部は、計算装置110により行われる。例えば、図3に例示する複数の処理の一部は、計算装置110とは別の計算機で行われても良い。例えば、ステップS222の少なくとも一部は、計算装置110とは別の計算機で行われても良い。
入力データ{s}は、{x}及び{y}の計算が行われている間に供給されてもよい。これにより、リアルタイム処理を行うことができる。例えば、図3において、ステップS201の少なくとも一部は、ステップS210の少なくとも一部と同時に実行されても良い。後述する図5において、ステップS301の少なくとも一部は、ステップS310の少なくとも一部と同時に実行されても良い。
図4は、実施形態に係る計算装置の動作を例示するフローチャートである。
図4は、{x}及び{y}の時間発展の計算(サブルーチン)を例示している。図4は、図3に例示したステップS210の少なくとも一部に対応する。
図4に示すように、パラメータを初期化する(ステップS101)。例えば、第2式における時間tが0とされる。例えば、第2式におけるパラメータp(t)が生成される。パラメータp(t)は、例えば、時間tの関数である「波形」である。
図4に示すように、時間tが計算時間Tと比較される(ステップS105)。時間tが計算時間Tよりも小さいときに、次のステップS110に進む。例えば、「処理手順」は「i」に関するループ処理を含む(ステップS301a及びステップS301b)。
ステップS110では、更新前の第1変数xにdt*yを加えて、更新後の第1変数xとする(ステップS110)。すなわち、第1変数xの更新が行われる。記号「*」は、積に対応する。
更新前の第2変数yに、dt*{−[D−p(t)]*x−β*x*x*x−μ*y}を加えて、更新後の第2変数yiとする(ステップS121)。すなわち、第2変数yの更新が行われる。dt*{−[D−p(t)]*x−β*x*x*x−μ*y}は、第2関数の1つの例である。
計算時間T、時間ステップdt、パラメータD、パラメータp(t)、パラメータβ及びパラメータμは、例えば、適切に設定される。パラメータμが正のとき、「μ*y」の項は、発散を抑える方向に働く。解が安定して得易くなる。
第2変数yに、dt*cΣJij*xを加えて、更新後の第2変数yとする(ステップS122)。dt*cΣJij*xは、第3関数の1つの例である。このように、この例では、第3関数(関数g({x},{y},{J})は、第1変数群{x}と第1パラメータ群{J}と、の積和演算を含む。ステップS122は、「i」に関してループ処理される(ステップS302a及びステップS302b)。
ステップS122において、パラメータ「c」は、例えば、第1パラメータ{J}の非対角成分の標準偏差の推定値σに応じて定められても良い。例えば、パラメータ「c」は、=0.7*D/{σ*(N)1/2}とされる。
ステップS121及びステップS122は、ステップS120に含まれる。ステップS120は、例えば、第2変数更新に対応する。
この後、時間tが更新される(ステップS130)。例えば、更新前の時間tに時間ステップdtが加えられて、更新後の時間tとされる。
更新された時間tが、計算時間Tと比較される(ステップS106)。更新された時間tが、計算時間Tよりも小さい場合、ステップS105に戻る。そして、ステップS110、S120及びS130がさらに実施される。
更新された時間tが計算時間T以上のときに終了し、関数の出力(図2のステップS220、図3のステップS221及びステップS222)が行われる。
図4に例示する処理の少なくとも一部が、例えば、処理部20により行われる。
図5は、実施形態に係る計算装置の動作を例示するフローチャートである。
図5は、学習のフローチャートに対応する。
図5に示すように、時系列のデータs(時系列信号)、及び、値群{Z0}が設定される(ステップS301)。値群{Z0}は、入力されたあるデータs(入力信号列)で得られた計算結果である。値群{Z0}は、例えば、目標値である。
図5に示すように、第1変数群{x}及び(第2変数群{y}({x}及び{y})が初期化される(ステップS302)。
図5に示すように、第1変数群{x}及び第2変数群{y}({x}及び{y})の計算が行われる(ステップS302)。これらの変数群の更新が行われる。ステップS310は、図3に例示したステップS210に対応する。
図5に示すように、状態xkiが算出される(ステップS321)。ステップS321は、図3に例示したステップS221に対応する。
図5に示すように、重みwを成分とする列ベクトルである「W」が算出される(ステップS322)。例えば、上記の第6式により、「W」が算出される。重みに関する値群{w}が導出される。
図5に示すように、重みに関する値群{w}が出力される。
1つの例において、図5に例示する処理は、例えば、処理部20により行われる。例えば、図5に例示する複数の処理の少なくとも一部は、計算装置110により行われる。例えば、図5に例示する複数の処理の一部は、計算装置110とは別の計算機で行われても良い。
図6は、実施形態に係る計算装置の動作を例示するフローチャートである。
図6には、リザーバ計算と、学習と、が記載されている。
例えば、入力データ(例えばデータ群{s})が設定される(ステップS201)。この後、図3に関して既に説明したように、ステップS202、S210、S221、S222及びS230が実施される。
一方、値群{Z0}(例えば、目標値)が設定される(ステップS301)。値群{Z0}は、入力されたあるデータs(入力信号列)における計算結果に対応する。
この後、ステップS221で得られた、状態xkiの算出結果と、値群{Z0}と、を用いて、重みwを成分とする列ベクトル「W」が導出される(ステップS322)。そして、重みwが出力される(ステップS330)。
上記の処理(例えばアルゴリズムを含む)は、例えば、PCクラスタ、GPU、または、専用回路などの並列デジタル計算機などで実施されても良い。専用回路は、例えば、FPGA、ゲートアレイ、及び、ASICの少なくともいずれかを含んでも良い。
以下、計算結果の例について説明する。モデルとなる非線形発振器のパラメータとして、以下が採用される。
パラメータD及びパラメータβは、1である。第1パラメータ群{Jij}({J})の非対角成分は、−1以上1以下の乱数である。標準偏差の推定値σは、1/31/2である。時間ステップdtは、0.2である。
リザーバ計算は、PCクラスタにより行われる。リザーバ計算は、以下の手順により行われる。サンプリング時間間隔Tが与えられ、T*「総サンプリング数」の時間において、第1式及び第2式の運動方程式が解かれる。
入力データ(例えばデータ群{s})は、2値の乱数(0または1)である。データ群{s}の、k番目のデータsは、0または1である。サンプリング時間間隔Tごとに、データs(0または1の乱数)が与えられ、連続的な波形のパラメータp(t)に変換される。k番目の入力データに対応する波形(パラメータp(t))が、時刻T(k−1)から時刻Tkまでの間に適用される。
この例では、データsからパラメータp(t)への変換は、以下の第7式及び第8式による三角波により行われる。
Figure 2020046715
Figure 2020046715
k番目の状態xki(複数の非線形発振器の測定値に対応)は、時刻Tkのときにサンプリングされる。第7式及び第8式において、パラメータpACは、0.2である。パラメータpDC、サンプリング時間間隔T、数N、及び、パラメータμを変更して計算が行われる。
1つの例において、サンプリングの回数は、5000である。サンプリングの回数が1〜1000のときの結果は、初期条件の影響を除くために使われない。サンプリングの回数が1000〜3000のときに学習が行われる。サンプリングの回数が、4000〜5000のときの計算結果が、計算能力の評価に用いられる。サンプリングの回数は、数Nよりも大きい。
リザーバの計算性能を評価するためのタスクとして、短期記憶タスクと、パリティ検査タスクと、がある。短期記憶タスクにおいては、2値の入力データs(0または1)に対する、短期記憶に関するタスクである。短期記憶タスクにより、記憶能力が評価できる。パリティ検査タスクにより、非線形演算能力が評価できる。これらの2つの能力は、実時間情報処理を行うときの計算能力に対応すると考えられている。
短期記憶タスクの目標出力は、サンプリング時刻τの前の入力データである。例えば、第9式が用いられる。
Figure 2020046715
第9式のように、τ=0,1,2…に対して、Z0=sk−τである。
パリティ検査タスクの目標出力は、過去のサンプリング時刻τまでの入力データの和の偶奇である。例えば、第10式が用いられる。関数Q(e)は、eが偶数のときに0であり、eが奇数のときに1となる関数である。
Figure 2020046715
短期記憶タスク及びパリティ検査タスクにおける計算性能は、学習済みの重みwによる出力と、目標出力と、の比較により評価される。性能指標Cは、以下の第11式で表される。
Figure 2020046715
第11式において、「Cτ」は、複数のサンプリング時刻τのそれぞれにおける関数zと値Z0との相関係数の2乗である。性能指標Cは、「Cτ」のτに関する和である。この例では、τmaxは、100である。関数z(導出された複数の非線形発振器の状態xkiと、重みwと、の関数であり、第4関数である)と、値Z0(例えば、目標値)と、が一致したときに、「Cτ」は最大値の1となる。関数zと値Z0とが異なるときに、「Cτ」は1よりも小さくなる。
この例では、15の互いに異なるデータの組により評価が行われる。データの組は、入力データ(データ群{s}、データsなど)と、第1パラメータ群{J}(第1パラメータJijなど)と、を含む。得られた性能指標Cが平均される。
図7は、実施形態に係る計算装置の特性を例示するグラフ図ある。
図7の横軸は、短期記憶能力CSTMである。図7の縦軸は、パリティ検査能力CPCである。結果RS1では、パラメータpDCが5.5であり、パラメータμが0.001であり、サンプリング時間間隔Tは、50である。結果RS2では、パラメータpDCが3であり、パラメータμが0.0005であり、サンプリング時間間隔Tは、200である。結果RS3では、パラメータpDCが5.5であり、パラメータμが0.0005であり、サンプリング時間間隔Tは、100である。結果RS1〜RS3において、数Nが1、2、5、10、20、50、100、200、500または1000の時の結果が、例示されている。
図7には、参考例の結果RE1も示されている。結果RE1は、反響状態ネットワーク(echo-state networks、ESNs、非特許文献1参照)と呼ばれる回帰型NNによる計算の結果である。ESNsは、リザーバ計算の研究において、比較に用いられている(例えば、非特許文献4参照)。
図7に示すように、結果RS1〜RS3において、パラメータ(パラメータpDC、パラメータμ、及び、サンプリング時間間隔T)に応じて、能力指数(短期記憶能力CSTM及びパリティ検査能力CPC)は、数Nを大きくすると、単調に大きくなる。
短期記憶及びパリティ検査の一方が大きくなる条件がある。短期記憶能力CSTMの最大値は約100であり、パリティ検査能力CPCの最大値は、約100である。これらの値は、参考例のESNsにおける値よりも著しく大きい。
図7に示すように、結果RS2のように、短期記憶及びパリティ検査の両方が大きくなる条件もある。結果RS2の場合も、参考例のESNsにおける値よりも大きい短期記憶能力CSTM及びパリティ検査能力CPCが得られる。
図7に、曲線で示される範囲(CPC≦1000/CSTM)が示されている。この範囲は、短期記憶能力CSTM及びパリティ検査能力CPCが分布する範囲の目安を示している。
このように、実施形態に係る計算装置110により、計算能力を向上できる計算装置が提供できる。
上記のように、データsからパラメータp(t)への変換は、三角波(例えば、第7式及び第8式参照)により行われても良い。例えば、更新パラメータは、データsが基準値よりも大きいときに、L回の更新の間に増加した後に減少し、L回の更新後にL回の更新前の値となる。更新パラメータは、データsが基準値よりも小さいときに、L回の更新の間に減少した後に増加し、L回の更新後にL回の更新前の値となる。
または、例えば、更新パラメータは、データsが基準値よりも大きいときに、L回の更新の間に減少した後に増加し、L回の更新後にL回の更新前の値となる。更新パラメータは、データsが基準値よりも小さいときに、L回の更新の間に増加した後に減少し、L回の更新後にL回の更新前の値となる。
非線形な入出力関係をもつ要素のネットワークであるニューラルネットワーク(NN)は、情報処理の工学的モデルとして研究されている。NNは、信号が一方向に伝搬するフィードフォワード型と、ネットワークに自己回帰する閉路が設けられる回帰型と、に、大別される。フィードフォワード型NNは、学習に深層学習が有効であると考えられている。フィードフォワード型NNは、音声認識、画像認識、または、自然言語処理などの幅広い分野において活用される。
一方、回帰型NNにおいて、閉路により入力履歴が記憶可能である。回帰型NNは、例えば、時系列情報処理へ応用が期待されている。時系列情報処理は、例えば、会話認識、手書き文字認識、ロボット制御、金融予測、または、異常検知などを含む。時系列情報処理においては、例えば、前後関係、または、文脈などが、重要とされる。
回帰型NNの学習方法に関して、リザーバ計算がある。リザーバ計算においては、出力重みが学習される。この学習は、線形回帰により行われるため、計算量が少ない。リザーバ計算は、活性化関数を用いたNNのソフトウェアにおいて提案された。この後、同様な計算が、非線形で複雑な入出力関係をもつ物理系(ハードウェア)を用いて行うことが提案された。例えば、電子回路、半導体レーザ、または、磁性素子などを用いたリザーバ計算が知られている。しかしながら、実用化のためには、計算能力の向上が求められる。計算の信頼性の向上が求められる。
実施形態においては、例えば、デジタル計算機でリザーバ計算を行うことが可能である。高い計算能力が得られる。高い信頼性が得られる。時系列情報処理が効率的に実施できる。
既に説明したように、計算装置110は、保持部10(図1参照)を含んでも良い。保持部10は、データ群{s}、第1変数群{x}、第2変数群{y}、及び、第1パラメータ群{J}を保持しても良い。この場合、処理部20は、保持部10に保持された、データ群{s}、第1変数群{x}、第2変数群{y}、及び、第1パラメータ群{J}を入手する。例えば、処理部20は、第1変数更新において更新された後の第1変数xを、保持部10に提供する。処理部20は、第2変数更新において更新された後の第2変数yを保持部10に提供する。保持部10は、更新された第1変数x及び第2変数yを保持する。
既に説明したように、パラメータp(t)をデータ群{s}に応じて変化させる。これにより、例えば、非線形発振器に複雑な時間発展を誘起し、リザーバ計算の性能を向上させることができる。例えば、データ群{s}は、k番目のデータs(kは1以上(S−1)以下の整数、Sは2以上の整数)を含む。第2関数は、少なくとも1つの更新パラメータ(パラメータp(t))を含む。例えば、この更新パラメータは、データsに応じて変化する。処理部20が、この更新パラメータをデータsに応じて変化させても良い。
例えば、データ群{s}は、k番目のデータs(kは1以上(S−1)以下の整数)、及び、(k+1)番目のデータsk+1を含む。1つの例において、処理部20は、第2変数更新において、第1更新パラメータ(パラメータp(t)の1つ)を含む第2関数を用いて第2変数yをL回(Lは1以上LM以下の整数)更新した後、第2更新パラメータ(パラメータp(t)の別の1つ)を含む第2関数を用いて第2変数yをL回更新する。この第1更新パラメータは、データsに基づいている。第2更新パラメータは、データsk+1に基づいてる。このように、データ群{s}の異なるデータに基づいて、パラメータp(t)が変化する。
例えば、第2関数は、第2変数群{y}の少なくとも一部を含む項を含む。例えば、この項は、第2変数yが0のときに0となる。第2変数yの増加に伴って、第2関数の値は、単調に減少する。
実施形態において、データ群{s}に応じて変化させたパラメータp(t)ごとに、計算結果が出力されても良い。例えば、第1更新パラメータ(パラメータp(t)の1つ)を含む第2関数を用いたL回の更新後の第4関数(関数z)、及び、第2更新パラメータ(パラメータp(t)の別の1つ)を含む第2関数を用いたL回の更新後の第4関数(関数z)が出力されても良い。関数zは、導出された複数の非線形発振器の状態xkiと、重みwと、の関数である。
処理部20は、処理手順を繰り返すごとに、第4関数を出力しても良い。処理部20は、処理手順の繰り返しのうちの少なくとも1回の実施の後に、第4関数を出力しても良い。
既に説明したように、1つの例において、第1関数は、関数fx({x},{y})を含む。第2関数は、関数fy(x,{y},{s})を含む。第3関数は、関数g({x},{y},{J})を含む。
例えば、上記の関数fy(x,{y},{s})は、記第1変数xの非線形関数を含む。例えば、非線形発振器の動作に基づくNNに関する計算が、計算装置110により実施される。
例えば、関数g({x},{y},{J})は、第1変数群{x}と、第1パラメータ群{J}と、の積和演算を含む。
既に説明したように、学習が行われても良い。例えば、重みwが適切に導入される。例えば、図5または図6に示すように、処理部20は、更新後の第1変数群{x}(すなわち状態xki)と第2パラメータ群{w}(すなわち、重みw)との演算結果群{z}(すなわち、関数zであり第4関数)を出力可能でも良い。
図5及び図6に例示したように、処理部20は、第4関数(関数z)と、値群{Z0}と、に基づいて、第2パラメータ群{w}(すなわち、重みw)を導出し、出力しても良い。例えば、値群{Z0}は、入力されたあるデータ群{s}における計算結果である。
既に説明したように、第4関数z(計算結果)が、値群{Z0}(値Z0、例えば、目標値)に近くなるように、重みwが変更されることで学習が行われる。
保持部10は、第2パラメータ群{w}(すなわち、重みw)をさらに保持しても良い。処理部20は、保持部10に保持された第2パラメータ群{w}を読み出して、上記の処理を行う。処理した後の第2パラメータ群{w}が、保持部10に供給されても良い。
上記の処理の少なくとも一部が、異なる計算部(処理回路)で行われても良い。
図8は、実施形態に係る計算装置を例示する模式図である。
図8に示すように、実施形態に係る計算装置111は、複数の回路部(第1回路部15A、第2回路部15B及び第3回路部15Cなど)を含む。これらの複数の回路部のそれぞれは、例えば、1つのコンピュータでも良い。これらの複数の回路部のそれぞれは、例えば、1つの電子回路(例えば半導体回路)でも良い。これらの複数の回路部は、互いに通信(例えば、データの送受信)が可能である。計算装置111に、制御部15Xがさらに設けられている。制御部15Xにより、複数の回路部における動作(通信を含む)が制御される。
例えば、複数の回路部のそれぞれには、処理部(計算部)及び保持部(保持領域、記憶部)が設けられる。この他、制御部が設けられても良い。
複数の回路部(第1回路部15A、第2回路部15B及び第3回路部15Cなど)により、並列計算が行われる。複数の回路部の数は、任意である。
例えば、第1回路部15Aには、第1計算部20A及び第1保持領域10Aが設けられる。この例では、第1回路部15Aは、第1制御部16Aをさらに含む。第1制御部16Aにより、第1計算部20A及び第1保持領域10Aの動作が制御される。
例えば、第2回路部15Bには、第2計算部20B及び第2保持領域10Bが設けられる。この例では、第2回路部15Bは、第2制御部16Bをさらに含む。第2制御部16Bにより、第2計算部20B及び第2保持領域10Bの動作が制御される。
例えば、第3回路部15Cには、第3計算部20C及び第3保持領域10Cが設けられる。この例では、第3回路部15Cは、第3制御部16Cをさらに含む。第3制御部16Cにより、第3計算部20C及び第3保持領域10Cの動作が制御される。
この例では、複数の回路部(第1回路部15A、第2回路部15B及び第3回路部15Cなど)に、別の計算部20a、別の計算部20b及び別の計算部20cがそれぞれ設けられている。別の計算部20aにおいて、第1計算部20Aとは別に、計算が行われても良い。別の計算部20bにおいて、第2計算部20Bとは別に、計算が行われても良い。別の計算部20cにおいて、第3計算部20Cとは別に、計算が行われても良い。
このように、複数の回路部により、計算が別に行われても良い。さらに、複数の回路部の1つにおいて、異なる計算部で、別の計算が行われても良い。別の計算は、例えば、並列計算を含む。
このように、処理部20は、複数の計算部(例えば、第1〜第3計算部20A〜20C、及び、計算部20a〜20cなど)を含んでも良い。処理部20で行われる処理の一部が、複数の計算部の1つで行われ、処理部20で行われる処理の別の一部が、複数の計算部の別の1つで行われても良い。
既に説明したように、例えば、第1変数群{x}と第1パラメータ群{J}との積和演算が行われる。この積和演算の一部は、複数の計算部の1つで行われても良い。この積和演算の別の一部は、複数の計算部の別の1つで行われても良い。
例えば、第1変数更新の一部が、複数の計算部の1つで行われても良い。第1変数更新の別の一部が、複数の計算部の別の1つで行われても良い。
例えば、第2変数更新の一部が、複数の計算部の1つで行われても良い。第2変数更新の別の一部は、複数の計算部の別の1つで行われても良い。
異なる計算部で、別の計算(例えば並列計算)が行われることで、高速の計算が可能になる。
既に説明したように、実施形態は、計算システムを含んでも良い。計算システムにおいて、1または複数の処理部が設けられる。1または複数の処理部は、上記の処理手順を繰り返す。複数の処理部は、上記の複数の計算部に対応する。
図4に例示した処理においては、第1変数更新(ステップS110)の後に、第2変数更新(ステップS120)が行われる。実施形態において、第2変数更新(ステップS120)の後に、第1変数更新(ステップS110)が行われても良い。
図4に示すように、第2変数更新(ステップS120)は、ステップS121(第1サブ更新)と、ステップS122(第2サブ更新)と、を含む。第1サブ更新は、第1サブ更新前のi番目の第2変数yに第2関数を加えてi番目の前記第2変数yを更新することを含む。第2サブ更新は、第2サブ更新前のi番目の第2変数yに第3関数を加えてi番目の第2変数yを更新することを含む。
図4に例示した処理(サブルーチン)は、以下に説明するように、種々の変形が可能である。
図9〜図15は、実施形態に係る計算装置の動作を例示するフローチャートである。
これらの図は、第1変数群{x}及び第2変数群{y}({x}及び{y})の時間発展計算(サブルーチン)を例示している。
図9〜図15に示すように、第1変数更新(ステップS110)、第1サブ更新(ステップS121)、及び、第2サブ更新(ステップS122)は、種々の順序で、種々のループで実施されても良い。
図10及び図14に示すように、ステップS107a〜ステップS107bにおいて、M回の繰り返し処理が行われる。図11及び図15に示すように、ステップS107c〜ステップS107dにおいて、M回の繰り返し処理が行われる。
例えば、第1変数更新及び第1サブ更新を交互にM回(Mは1以上の整数)行った後に、第2サブ更新を行っても良い(図10参照)。第2サブ更新後、第1変数更新及び第1サブ更新を交互にM回行っても良い(図11参照)。
(第2実施形態)
第2実施形態は、第1実施形態に関して説明した計算が可能な回路を含む。回路は、例えば、専用回路などの並列デジタル計算機を含んでも良い。専用回路は、例えば、FPGA、ゲートアレイ、及び、ASICの少なくともいずれかを含んでも良い。
(第3実施形態)
第3実施形態は、計算プログラムに係る。この計算プログラムは、コンピュータに、データ群{s}を入手させ、処理手順を繰り返させ、第4関数を出力させる。この処理手順は上記の第1変数更新及び上記の第2変数更新を含む。上記の第4関数は、処理手順を繰り返した後に得られる、第1変数群{x}及び第2変数群{y}の関数である。本実施形態に係る計算プログラムには、第1実施形態に関して説明した処理が適用できる。
(第4実施形態)
第4実施形態は、コンピュータ読み取り可能な記録媒体である。この記録媒体は、計算プログラムが記録されている。計算プログラムは、コンピュータに、データ群{s}を入手させ、処理手順を繰り返させ、第4関数を出力させる。この処理手順は、上記の第1変数更新及び上記の第2変数更新を含む。上記の第4関数は、処理手順を繰り返した後に得られる、第1変数群{x}及び第2変数群{y}の関数である。本実施形態に係る記録媒体には、第1実施形態に関して説明した処理が適用できる。
(第5実施形態)
本実施形態は、計算方法に係る。計算方法は、データ群{s}を入手し、処理手順を繰り返し、第4関数を出力する。処理手順は、上記の第1変数更新及び上記の第2変数更新を含む。上記の第4関数は、処理手順を繰り返した後に得られる、第1変数群{x}及び第2変数群{y}の関数である。本実施形態に係る計算方法において、第1実施形態に関して説明した処理が実施される。
上記の種々の情報(データ)の処理(指示)は、例えば、プログラム(ソフトウェア)に基づいて実行される。例えば、コンピュータが、このプログラムを記憶し、このプログラムを読み出すことにより、上記の種々の情報の処理が行われる。
上記の種々の情報の処理は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク及びハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、または、他の記録媒体に記録されても良い。
例えば、記録媒体に記録された情報は、コンピュータ(または組み込みシステム)により読み出されることが可能である。記録媒体において、記録形式(記憶形式)は任意である。例えば、コンピュータは、記録媒体からプログラムを読み出し、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させる。コンピュータにおいて、プログラムの取得(または読み出し)は、ネットワークを通じて行われても良い。
記録媒体からコンピュータ(または組み込みシステム)にインストールされたプログラムに基づいてコンピュータ上で稼働している種々のソフトウェアにおいて、上記の情報の処理の少なくとも一部が実施されても良い。このソフトウェアは、例えば、OS(オペレーティングシステム)などを含む。このソフトウェアは、例えば、ネットワーク上で動作するミドルウェアなどを含んでも良い。
実施形態における記録媒体は、LANまたはインターネットなどにより得られたプログラムをダウンロードして記憶された記録媒体も含まれる。複数の記録媒体に基づいて、上記の処理が行われても良い。
実施形態に係るコンピュータは、1つまたは複数の装置(例えばパーソナルコンピュータなど)を含む。実施形態に係るコンピュータは、ネットワークにより接続された複数の装置を含んでも良い。
実施形態は、例えば、以下の構成(例えば技術案)を含んでも良い。
(構成1)
データ群{s}を入手し処理手順を繰り返す処理部を備え、
前記処理手順は第1変数更新及び第2変数更新を含み、
前記第1変数更新は、前記第1変数更新前のi番目(iは1以上N以下の整数、前記Nは2以上の整数)の第1変数xに第1関数を加えて前記i番目の前記第1変数xを更新することを含み、前記i番目の前記第1変数xは、第1変数群{x}の1つであり、前記第1関数の変数は、第2変数群{y}の少なくとも一部を含み、
前記第2変数更新は、前記第2変数更新前のi番目の第2変数yに第2関数及び第3関数を加えて前記i番目の前記第2変数yを更新することを含み、前記i番目の前記第2変数yiは、前記第2変数群{y}の1つであり、前記第2関数の変数は、前記i番目の第1変数x、及び、前記データ群{s}の少なくとも一部を含み、前記第3関数の変数は、前記第1変数群{x}の少なくとも一部、及び、第1パラメータ群{J}の少なくとも一部、を含み、
前記処理部は、少なくとも第4関数を出力し、前記第4関数の変数は、前記処理手順を前記繰り返した後に得られる前記第1変数群{x}、及び、前記処理手順を前記繰り返した後に得られる前記第2変数群{y}の、少なくとも一部を含む、計算装置。
(構成2)
保持部をさらに備え、
前記保持部は、前記データ群{s}、前記第1変数群{x}、前記第2変数群{y}、及び、前記第1パラメータ群{J}を保持し、
前記処理部は、前記保持部に保持された、前記データ群{s}、前記第1変数群{x}、前記第2変数群{y}、及び、前記第1パラメータ群{J}を入手し、
前記処理部は、前記第1変数更新において更新された後の前記第1変数xを前記保持部に提供し、
前記処理部は、前記第2変数更新において更新された後の前記第2変数yを前記保持部に提供する、構成1記載の計算装置。
(構成3)
前記データ群{s}は、k番目のデータs(kは1以上(S−1)以下の整数、前記Sは2以上の整数)を含み、
前記第2関数は、少なくとも1つの更新パラメータを含み、
前記更新パラメータを前記データsに応じて変化する、構成1または2に記載の計算装置。
(構成4)
前記データ群{s}は、k番目のデータs(kは1以上(S−1)以下の整数)、及び、(k+1)番目のデータsk+1を含み、
前記処理部は、前記第2変数更新において、第1更新パラメータを含む前記第2関数を用いて前記第2変数yをL回(Lは1以上の整数)更新した後、第2更新パラメータを含む前記第2関数を用いて前記第2変数yをL回更新し、
前記第1更新パラメータは、前記データsに基づき、
前記第2更新パラメータは、前記データsk+1に基づく、構成1または2に記載の計算装置。
(構成5)
前記更新パラメータは、前記データsが基準値よりも大きいときに、前記L回の更新の間に増加した後に減少し、前記L回の更新後に前記L回の更新前の値となり、
前記更新パラメータは、前記データsが基準値よりも小さいときに、前記L回の更新の間に減少した後に増加し、前記L回の更新後に前記L回の更新前の前記値となる、構成4記載の計算装置。
(構成6)
前記更新パラメータは、前記データsが基準値よりも大きいときに、前記L回の更新の間に減少した後に増加し、前記L回の更新後に前記L回の更新前の値となり、
前記更新パラメータは、前記データsが基準値よりも小さいときに、前記L回の更新の間に増加した後に減少し、前記L回の更新後に前記L回の更新前の前記値となる、構成4記載の計算装置。
(構成7)
前記処理部は、
前記第1更新パラメータを含む前記第2関数を用いた前記L回の更新後の前記第4関数、及び、前記第2更新パラメータを含む前記第2関数を用いた前記L回の更新後の前記第4関数を出力可能である、構成4記載の計算装置。
(構成8)
処理部は、前記更新パラメータによる前記L回の更新の間に、前記第4関数をV回(Vは、1以上L以下の整数)出力可能である、構成7記載の計算装置。
(構成9)
処理部は、
前記データsに基づいて設定された第1更新パラメータを用いた前記第2変数更新の少なくとも一部と、
l番目のデータs(lはkよりも大きく(S−1)以下の整数)の入力の少なくとも一部と、
を同時に実施する、構成3〜8に記載の計算装置。
(構成10)
前記処理部は、複数の計算部を含み、
前記第1変数更新の一部は、前記複数の計算部の1つで行われ、
前記第1変数更新の別の一部は、前記複数の計算部の別の1つで行われる、構成1〜9のいずれか1つに記載の計算装置。
(構成11)
前記第2変数更新は、第1サブ更新及び第2サブ更新を含み、
前記第1サブ更新は、前記第1サブ更新前の前記i番目の前記第2変数yに前記第2関数を加えて前記i番目の前記第2変数yを更新することを含み、
前記第2サブ更新は、前記第2サブ更新前の前記i番目の前記第2変数yに前記第3関数を加えて前記i番目の前記第2変数yを更新することを含み、
前記第1変数更新及び前記第1サブ更新を交互にM回(Mは1以上の整数)行った後、前記第2サブ更新を行う、または、前記第2サブ更新後、前記第1変数更新及び前記第1サブ更新を交互にM回行う、構成1〜10のいずれか1つに記載の計算装置。
(構成12)
前記処理部は、更新後の第1変数群{x}と第2パラメータ群{w}との演算結果群{z}を出力可能である、構成1〜11のいずれか1つに記載の計算装置。
(構成13)
前記第2関数は、前記第2変数群{y}の少なくとも一部を含む項を含み、
前記項は、前記第2変数yが0のときに0となり、
前記第2変数yの増加に伴って前記第2関数の値が単調に減少する、構成1〜12のいずれか1つに記載の計算装置。
(構成14)
コンピュータに、データ群{s}を入手させ、処理手順を繰り返させ、第4関数を出力させる計算プログラムであって、
前記処理手順は第1変数更新及び第2変数更新を含み、
前記第1変数更新は、前記第1変数更新前のi番目(iは1以上N以下の整数、前記Nは2以上の整数)の第1変数xに第1関数を加えて前記i番目の前記第1変数xを更新することを含み、前記i番目の前記第1変数xは、第1変数群{x}の1つであり、前記第1関数の変数は、第2変数群{y}の少なくとも一部を含み、
前記第2変数更新は、前記第2変数更新前のi番目の第2変数yに第2関数及び第3関数を加えて前記i番目の前記第2変数yを更新することを含み、前記i番目の前記第2変数yiは、前記第2変数群{y}の1つであり、前記第2関数の変数は、前記i番目の第1変数x、及び、前記データ群{s}の少なくとも一部を含み、前記第3関数の変数は、前記第1変数群{x}の少なくとも一部、及び、第1パラメータ群{J}の少なくとも一部、を含み、
前記第4関数の変数は、前記処理手順を前記繰り返した後に得られる前記第1変数群{x}、及び、前記処理手順を前記繰り返した後に得られる前記第2変数群{y}の、少なくとも一部を含む、計算プログラム。
(構成15)
コンピュータに、データ群{s}を入手させ、処理手順を繰り返させ、第4関数を出力させる計算プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記処理手順は第1変数更新及び第2変数更新を含み、
前記第1変数更新は、前記第1変数更新前のi番目(iは1以上N以下の整数、前記Nは2以上の整数)の第1変数xに第1関数を加えて前記i番目の前記第1変数xを更新することを含み、前記i番目の前記第1変数xは、第1変数群{x}の1つであり、前記第1関数の変数は、第2変数群{y}の少なくとも一部を含み、
前記第2変数更新は、前記第2変数更新前のi番目の第2変数yに第2関数及び第3関数を加えて前記i番目の前記第2変数yを更新することを含み、前記i番目の前記第2変数yiは、前記第2変数群{y}の1つであり、前記第2関数の変数は、前記i番目の第1変数x、及び、前記データ群{s}の少なくとも一部を含み、前記第3関数の変数は、前記第1変数群{x}の少なくとも一部、及び、第1パラメータ群{J}の少なくとも一部、を含み、
前記第4関数の変数は、前記処理手順を前記繰り返した後に得られる前記第1変数群{x}、及び、前記処理手順を前記繰り返した後に得られる前記第2変数群{y}の、少なくとも一部を含む、記録媒体。
(構成16)
データ群{s}を入手し、
処理手順を繰り返し、
第4関数を出力し、
前記処理手順は第1変数更新及び第2変数更新を含み、
前記第1変数更新は、前記第1変数更新前のi番目(iは1以上N以下の整数、前記Nは2以上の整数)の第1変数xに第1関数を加えて前記i番目の前記第1変数xを更新することを含み、前記i番目の前記第1変数xは、第1変数群{x}の1つであり、前記第1関数の変数は、第2変数群{y}の少なくとも一部を含み、
前記第2変数更新は、前記第2変数更新前のi番目の第2変数yに第2関数及び第3関数を加えて前記i番目の前記第2変数yを更新することを含み、前記i番目の前記第2変数yiは、前記第2変数群{y}の1つであり、前記第2関数の変数は、前記i番目の第1変数x、及び、前記データ群{s}の少なくとも一部を含み、前記第3関数の変数は、前記第1変数群{x}の少なくとも一部、及び、第1パラメータ群{J}の少なくとも一部、を含み、
前記第4関数の変数は、前記処理手順を前記繰り返した後に得られる前記第1変数群{x}、及び、前記処理手順を前記繰り返した後に得られる前記第2変数群{y}の、少なくとも一部を含む、計算方法。
実施形態によれば、計算能力を向上できる計算装置、計算プログラム、記録媒体及び計算方法が提供できる。
以上、例を参照しつつ、本発明の実施の形態について説明した。しかし、本発明は、これらの例に限定されるものではない。例えば、計算装置に含まれる処理部、取得部、出力部及び保持部などの各要素の具体的な構成に関しては、当業者が公知の範囲から適宜選択することにより本発明を同様に実施し、同様の効果を得ることができる限り、本発明の範囲に包含される。
各例のいずれか2つ以上の要素を技術的に可能な範囲で組み合わせたものも、本発明の要旨を包含する限り本発明の範囲に含まれる。
本発明の実施の形態として上述した計算装置、計算プログラム、記録媒体及び計算方法を基にして、当業者が適宜設計変更して実施し得る全ての計算装置、計算プログラム、記録媒体及び計算方法も、本発明の要旨を包含する限り、本発明の範囲に属する。
本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10…保持部、 10A〜10C…第1〜第3保持領域、 15A〜15C…第1〜第3回路部、 15X…制御部、 16A〜16C…第1〜第2制御部、 20…処理部、 20A〜20C…第1〜第3計算部、 20a〜20c…計算部、 31…取得部、 32…出力部、 33…操作受付部、 110、111…計算装置、 CPC…パリティ検査能力、 CSTM…短期記憶能力、 RE1、RS1〜RS3…結果

Claims (10)

  1. データ群{s}を入手し処理手順を繰り返す処理部を備え、
    前記処理手順は第1変数更新及び第2変数更新を含み、
    前記第1変数更新は、前記第1変数更新前のi番目(iは1以上N以下の整数、前記Nは2以上の整数)の第1変数xに第1関数を加えて前記i番目の前記第1変数xを更新することを含み、前記i番目の前記第1変数xは、第1変数群{x}の1つであり、前記第1関数の変数は、第2変数群{y}の少なくとも一部を含み、
    前記第2変数更新は、前記第2変数更新前のi番目の第2変数yに第2関数及び第3関数を加えて前記i番目の前記第2変数yを更新することを含み、前記i番目の前記第2変数yiは、前記第2変数群{y}の1つであり、前記第2関数の変数は、前記i番目の第1変数x、及び、前記データ群{s}の少なくとも一部を含み、前記第3関数の変数は、前記第1変数群{x}の少なくとも一部、及び、第1パラメータ群{J}の少なくとも一部、を含み、
    前記処理部は、少なくとも第4関数を出力し、前記第4関数の変数は、前記処理手順を前記繰り返した後に得られる前記第1変数群{x}、及び、前記処理手順を前記繰り返した後に得られる前記第2変数群{y}の、少なくとも一部を含む、計算装置。
  2. 保持部をさらに備え、
    前記保持部は、前記データ群{s}、前記第1変数群{x}、前記第2変数群{y}、及び、前記第1パラメータ群{J}を保持し、
    前記処理部は、前記保持部に保持された、前記データ群{s}、前記第1変数群{x}、前記第2変数群{y}、及び、前記第1パラメータ群{J}を入手し、
    前記処理部は、前記第1変数更新において更新された後の前記第1変数xを前記保持部に提供し、
    前記処理部は、前記第2変数更新において更新された後の前記第2変数yを前記保持部に提供する、請求項1記載の計算装置。
  3. 前記データ群{s}は、k番目のデータs(kは1以上(S−1)以下の整数、前記Sは2以上の整数)を含み、
    前記第2関数は、少なくとも1つの更新パラメータを含み、
    前記更新パラメータを前記データsに応じて変化する、請求項1または2に記載の計算装置。
  4. 前記データ群{s}は、k番目のデータs(kは1以上(S−1)以下の整数)、及び、(k+1)番目のデータsk+1を含み、
    前記処理部は、前記第2変数更新において、第1更新パラメータを含む前記第2関数を用いて前記第2変数yをL回(Lは1以上の整数)更新した後、第2更新パラメータを含む前記第2関数を用いて前記第2変数yをL回更新し、
    前記第1更新パラメータは、前記データsに基づき、
    前記第2更新パラメータは、前記データsk+1に基づく、請求項1または2に記載の計算装置。
  5. 前記処理部は、
    前記第1更新パラメータを含む前記第2関数を用いた前記L回の更新後の前記第4関数、及び、前記第2更新パラメータを含む前記第2関数を用いた前記L回の更新後の前記第4関数を出力可能であり、
    処理部は、前記更新パラメータによる前記L回の更新の間に、前記第4関数をV回(Vは、2以上L以下の整数)出力可能である、請求項4記載の計算装置。
  6. 前記処理部は、複数の計算部を含み、
    前記第1変数更新の一部は、前記複数の計算部の1つで行われ、
    前記第1変数更新の別の一部は、前記複数の計算部の別の1つで行われる、請求項1〜5のいずれか1つに記載の計算装置。
  7. 前記処理部は、更新後の第1変数群{x}と第2パラメータ群{w}との演算結果群{z}を出力可能である、請求項1〜6のいずれか1つに記載の計算装置。
  8. コンピュータに、データ群{s}を入手させ、処理手順を繰り返させ、第4関数を出力させる計算プログラムであって、
    前記処理手順は第1変数更新及び第2変数更新を含み、
    前記第1変数更新は、前記第1変数更新前のi番目(iは1以上N以下の整数、前記Nは2以上の整数)の第1変数xに第1関数を加えて前記i番目の前記第1変数xを更新することを含み、前記i番目の前記第1変数xは、第1変数群{x}の1つであり、前記第1関数の変数は、第2変数群{y}の少なくとも一部を含み、
    前記第2変数更新は、前記第2変数更新前のi番目の第2変数yに第2関数及び第3関数を加えて前記i番目の前記第2変数yを更新することを含み、前記i番目の前記第2変数yiは、前記第2変数群{y}の1つであり、前記第2関数の変数は、前記i番目の第1変数x、及び、前記データ群{s}の少なくとも一部を含み、前記第3関数の変数は、前記第1変数群{x}の少なくとも一部、及び、第1パラメータ群{J}の少なくとも一部、を含み、
    前記第4関数の変数は、前記処理手順を前記繰り返した後に得られる前記第1変数群{x}、及び、前記処理手順を前記繰り返した後に得られる前記第2変数群{y}の、少なくとも一部を含む、計算プログラム。
  9. コンピュータに、データ群{s}を入手させ、処理手順を繰り返させ、第4関数を出力させる計算プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    前記処理手順は第1変数更新及び第2変数更新を含み、
    前記第1変数更新は、前記第1変数更新前のi番目(iは1以上N以下の整数、前記Nは2以上の整数)の第1変数xに第1関数を加えて前記i番目の前記第1変数xを更新することを含み、前記i番目の前記第1変数xは、第1変数群{x}の1つであり、前記第1関数の変数は、第2変数群{y}の少なくとも一部を含み、
    前記第2変数更新は、前記第2変数更新前のi番目の第2変数yに第2関数及び第3関数を加えて前記i番目の前記第2変数yを更新することを含み、前記i番目の前記第2変数yiは、前記第2変数群{y}の1つであり、前記第2関数の変数は、前記i番目の第1変数x、及び、前記データ群{s}の少なくとも一部を含み、前記第3関数の変数は、前記第1変数群{x}の少なくとも一部、及び、第1パラメータ群{J}の少なくとも一部、を含み、
    前記第4関数の変数は、前記処理手順を前記繰り返した後に得られる前記第1変数群{x}、及び、前記処理手順を前記繰り返した後に得られる前記第2変数群{y}の、少なくとも一部を含む、記録媒体。
  10. データ群{s}を入手し、
    処理手順を繰り返し、
    第4関数を出力し、
    前記処理手順は第1変数更新及び第2変数更新を含み、
    前記第1変数更新は、前記第1変数更新前のi番目(iは1以上N以下の整数、前記Nは2以上の整数)の第1変数xに第1関数を加えて前記i番目の前記第1変数xを更新することを含み、前記i番目の前記第1変数xは、第1変数群{x}の1つであり、前記第1関数の変数は、第2変数群{y}の少なくとも一部を含み、
    前記第2変数更新は、前記第2変数更新前のi番目の第2変数yに第2関数及び第3関数を加えて前記i番目の前記第2変数yを更新することを含み、前記i番目の前記第2変数yiは、前記第2変数群{y}の1つであり、前記第2関数の変数は、前記i番目の第1変数x、及び、前記データ群{s}の少なくとも一部を含み、前記第3関数の変数は、前記第1変数群{x}の少なくとも一部、及び、第1パラメータ群{J}の少なくとも一部、を含み、
    前記第4関数の変数は、前記処理手順を前記繰り返した後に得られる前記第1変数群{x}、及び、前記処理手順を前記繰り返した後に得られる前記第2変数群{y}の、少なくとも一部を含む、計算方法。
JP2018172354A 2018-09-14 2018-09-14 計算装置、計算プログラム、記録媒体及び計算方法 Active JP6902006B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018172354A JP6902006B2 (ja) 2018-09-14 2018-09-14 計算装置、計算プログラム、記録媒体及び計算方法
US16/299,625 US11170069B2 (en) 2018-09-14 2019-03-12 Calculating device, calculation program, recording medium, and calculation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018172354A JP6902006B2 (ja) 2018-09-14 2018-09-14 計算装置、計算プログラム、記録媒体及び計算方法

Publications (2)

Publication Number Publication Date
JP2020046715A true JP2020046715A (ja) 2020-03-26
JP6902006B2 JP6902006B2 (ja) 2021-07-14

Family

ID=69774109

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018172354A Active JP6902006B2 (ja) 2018-09-14 2018-09-14 計算装置、計算プログラム、記録媒体及び計算方法

Country Status (2)

Country Link
US (1) US11170069B2 (ja)
JP (1) JP6902006B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022024308A1 (ja) * 2020-07-30 2022-02-03 Tdk株式会社 情報処理装置及び動作検出装置
EP3955175A1 (en) 2020-08-13 2022-02-16 Kabushiki Kaisha Toshiba Information processing system using an ising model

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022035829A1 (en) * 2020-08-14 2022-02-17 X Development Llc Processing satellite images using brain emulation neural networks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683791A (ja) * 1990-12-25 1994-03-25 Masayoshi Inoue カオス振動子結合系を素子としたニューラル・ネットワーク
JPH0844693A (ja) * 1994-08-03 1996-02-16 Nippon Telegr & Teleph Corp <Ntt> パターン分離・認識方法および装置
JP2017073106A (ja) * 2015-10-07 2017-04-13 株式会社東芝 量子計算装置、及び、方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4093858B2 (ja) 2000-10-13 2008-06-04 フラウンホーファー−ゲゼルシャフト・ツア・フォルデルング・デア・アンゲヴァンテン・フォルシュング・エー・ファウ リカレントニューラルネットワーク
JP6232686B2 (ja) 2015-06-09 2017-11-22 岡田装飾金物株式会社 開閉構造及びその形成方法
JP6836529B2 (ja) * 2018-02-23 2021-03-03 株式会社東芝 計算装置、計算プログラム、記録媒体及び計算方法
JP6895415B2 (ja) * 2018-09-14 2021-06-30 株式会社東芝 計算装置、計算プログラム、記録媒体及び計算方法
JP6901448B2 (ja) * 2018-09-14 2021-07-14 株式会社東芝 計算装置、計算プログラム、記録媒体及び計算方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683791A (ja) * 1990-12-25 1994-03-25 Masayoshi Inoue カオス振動子結合系を素子としたニューラル・ネットワーク
JPH0844693A (ja) * 1994-08-03 1996-02-16 Nippon Telegr & Teleph Corp <Ntt> パターン分離・認識方法および装置
JP2017073106A (ja) * 2015-10-07 2017-04-13 株式会社東芝 量子計算装置、及び、方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022024308A1 (ja) * 2020-07-30 2022-02-03 Tdk株式会社 情報処理装置及び動作検出装置
EP3955175A1 (en) 2020-08-13 2022-02-16 Kabushiki Kaisha Toshiba Information processing system using an ising model
US11816595B2 (en) 2020-08-13 2023-11-14 Kabushiki Kaisha Toshiba Information processing system

Also Published As

Publication number Publication date
US11170069B2 (en) 2021-11-09
US20200089727A1 (en) 2020-03-19
JP6902006B2 (ja) 2021-07-14

Similar Documents

Publication Publication Date Title
US20200065672A1 (en) Systems and Methods for Providing Reinforcement Learning in a Deep Learning System
JP6836529B2 (ja) 計算装置、計算プログラム、記録媒体及び計算方法
Tang et al. # exploration: A study of count-based exploration for deep reinforcement learning
Ziarati et al. On the performance of bee algorithms for resource-constrained project scheduling problem
US10755199B2 (en) Introspection network for training neural networks
Krakauer Darwinian demons, evolutionary complexity, and information maximization
JP6902006B2 (ja) 計算装置、計算プログラム、記録媒体及び計算方法
CN114616577A (zh) 识别最佳权重以改进机器学习技术中的预测准确度
Ramprasad et al. Online bootstrap inference for policy evaluation in reinforcement learning
Akiyama et al. Efficient exploration through active learning for value function approximation in reinforcement learning
Yeo Short note on the behavior of recurrent neural network for noisy dynamical system
Burlutskiy et al. An investigation on online versus batch learning in predicting user behaviour
Zhou et al. Online regularized and kernelized extreme learning machines with forgetting mechanism
Özalp et al. A review of deep reinforcement learning algorithms and comparative results on inverted pendulum system
JP2020046784A (ja) 計算装置、計算プログラム、記録媒体及び計算方法
Xin et al. Exploration entropy for reinforcement learning
WO2019106132A1 (en) Gated linear networks
JP6895415B2 (ja) 計算装置、計算プログラム、記録媒体及び計算方法
Bouzbita et al. Hidden Markov model classifier for the adaptive ACS-TSP Pheromone parameters
Lambrechts et al. Warming up recurrent neural networks to maximise reachable multistability greatly improves learning
Olesen et al. Evolutionary planning in latent space
US20170344883A1 (en) Systems and methods for control, analysis, and/or evaluation of dynamical systems
Han et al. Stochastic Dynamics of Discrete‐Time Fuzzy Random BAM Neural Networks with Time Delays
JP2021135683A (ja) 学習装置、推論装置、学習方法及び推論方法
JP7137648B2 (ja) 計算装置、計算プログラム、記録媒体及び計算方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210518

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210618

R151 Written notification of patent or utility model registration

Ref document number: 6902006

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151