(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-23
(45)【発行日】2023-07-03
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
G06G 7/60 20060101AFI20230626BHJP
G06N 3/063 20230101ALI20230626BHJP
G06N 3/04 20230101ALI20230626BHJP
G06N 7/08 20060101ALI20230626BHJP
【FI】
G06G7/60
G06N3/063
G06N3/04
G06N7/08
(21)【出願番号】P 2019112070
(22)【出願日】2019-06-17
【審査請求日】2022-05-24
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成27年度 国立研究開発法人新エネルギー・産業技術総合開発機構「次世代人工知能・ロボット中核技術開発/次世代人工知能技術分野/人間と相互理解できる次世代人工知能技術の研究開発」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】504174135
【氏名又は名称】国立大学法人九州工業大学
(73)【特許権者】
【識別番号】508236240
【氏名又は名称】公立大学法人公立はこだて未来大学
(73)【特許権者】
【識別番号】301021533
【氏名又は名称】国立研究開発法人産業技術総合研究所
(74)【代理人】
【識別番号】100090697
【氏名又は名称】中前 富士男
(74)【代理人】
【識別番号】100176142
【氏名又は名称】清井 洋平
(74)【代理人】
【氏名又は名称】来田 義弘
(72)【発明者】
【氏名】森江 隆
(72)【発明者】
【氏名】香取 勇一
(72)【発明者】
【氏名】田向 権
(72)【発明者】
【氏名】山口 正登志
(72)【発明者】
【氏名】川島 一郎
【審査官】松浦 かおり
(56)【参考文献】
【文献】特開2018-180701(JP,A)
【文献】米国特許出願公開第2014/0214738(US,A1)
【文献】山口正登志他,カオスボルツマンマシンのアナログ集積回路実装,電子情報通信学会2017年総合大会公演論文集情報・システム講演論文集1,一般社団法人電子情報通信学会,2017年03月07日,S-21~S-22
【文献】田中秀他,部分更新指数減衰カオスタブーサーチハードウェアシステムに用いるSIカオスニューロン集積回路,電子情報通信学会技術研究報告 IEICE Technical Report,一般社団法人電子情報通信学会,2015年10月24日,Vol.115, No.284,p.69~73
(58)【調査した分野】(Int.Cl.,DB名)
G06G 1/00-99/00
G06N 3/00- 3/12
G06N 7/08-99/00
(57)【特許請求の範囲】
【請求項1】
入力層と、それぞれ内部状態値を有し該内部状態値に応じて出力値が変化する複数のユニットが結合され、前記入力層から入力値が与えられる中間層と、前記各ユニットの出力値を基に導出される値が与えられる出力層とを具備し、前記各ユニットは、前記内部状態値が、予め定められた上限値及び下限値の間で時間の経過によって増減するアナログ値であり、前記出力値が、自らの前記内部状態値が前記上限値又は前記下限値となる際に第1、第2の値の一方から他方に切り替わる情報処理装置において、
一定の周期で第3、第4の値の切り替えがなされる参照クロック信号を前記中間層に与える信号供給手段を備え、
前記各ユニットは、前記内部状態値の増減速度が、前記入力値、他の前記ユニットの出力値の重み付け総和及び自らの前記出力値に加え前記参照クロック信号の値を含む非線形変換結果で表現される増減速度演算式によって算出されて、前記自らの出力値が、時間の経過によって前記入力値に対応する特定の値に収束することを特徴とする情報処理装置。
【請求項2】
請求項1記載の情報処理装置において、前記他のユニットの出力値の重み付け総和は、指数関数として前記増減速度演算式に含まれ、該他のユニットの出力値の重み付け総和の指数関数は、前記自らの出力値が前記第
1の値である時間帯でのみ、前記内部状態値の増減速度の算出に寄与することを特徴とする情報処理装置。
【請求項3】
請求項1又は2記載の情報処理装置において、前記増減速度演算式は、多項式であり、αC
(s)(t)の項を有することを特徴とする情報処理装置。
但し、αは係数であり、C
(s)(t)は時刻tにおける参照クロック信号の値とする。
【請求項4】
請求項1記載の情報処理装置において、前記各ユニットは、前記参照クロック信号が前記第4の値から前記第3の値に切り替わる切替えタイミングで更新されて、該切替えタイミングの前記自らの出力値が適用される調整値を有し、前記増減速度演算式が、前記自らの出力値と前記参照クロック信号の値との差及び前記調整値の乗算値を含むことを特徴とする情報処理装置。
【請求項5】
請求項1~4のいずれか1項に記載の情報処理装置において、前記各ユニットの指数関数変換がMOSFETのサブスレッショルド領域の動作によって行われることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力値に対応する出力値を導出する情報処理装置に関する。
【背景技術】
【0002】
再帰結合を持つリカレントニューラルネットワークの中で、時系列予測などに高い性能を発揮するレザバー計算モデルが注目されている(非特許文献1、2参照)。レザバー計算モデルは、入力層と、入力層から入力される入力値に対応する出力値を出力する中間層(レザバー)と、中間層から出力値が与えられる出力層を備えている。中間層は、入力層から中間層に入力値が与えられて状態が変化する複数のユニット(ニューロン)を有し、各ユニットの状態に応じた出力値を決定する。レザバー計算モデルを低消費電力で高性能に実行するためには、汎用のデジタル計算機ではなく、専用のCMOS集積回路を具備する装置が必要である。
【先行技術文献】
【非特許文献】
【0003】
【文献】W. Maass, T. Natschl¨ager, and H. Markram, “Real-time computing without stable states: A new framework for neural computation based on perturbations,” Neural Computation, vol. 14, no. 11, pp. 2531-2560, 2002.
【文献】M. Lukosevicius and H. Jaeger, “Reservoir computing approaches to recurrent neural network training,” Computer Science Review, vol. 3, no. 3, pp. 127-149, 2009.
【文献】H. Suzuki, J. Imura, Y. Horio, and K. Aihara, “Chaotic Boltzmann machines,” Scientific Reports, vol. 3, p. 1610, 2013.
【文献】Hideyuki Suzuki, “Monte Carlo simulation of classical spin models with chaotic billiards,” Physical Review E, vol. 88, no. 5, pp. 052144, 2013.
【文献】M. Yamaguchi, T. Kato, Q. Wang, H. Suzuki, H. Tamukoh, and T. Morie, “A CMOS unit circuit using subthreshold operation of MOSFETs for chaotic Boltzmann machines,” in Proc. Int. Conf. on Neural Information Processing (ICONIP), 2016, pp. 248-255.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1に記載されたモデルは、神経科学の知見を反映した構成であり、半導体集積回路で実装するには複雑すぎる。一方、非特許文献2に記載されたモデルは、積和演算と非線形変換処理(シグモイド型関数等)の組み合わせからなり、公知のニューラルネットワークと同様であることから、集積回路実装は可能であるが、低消費電力化及び高性能化には課題があった。これは、デジタル回路実装では非線形変換処理が容易でない点、アナログ回路実装ではユニット間の信号の伝送をアナログ値で行う必要がある点が、低消費電力化及び高性能化の妨げとなることによる。
【0005】
ここで、レザバーは、各ユニットが以下の条件1、2を満たす必要がある。条件1:入力値に対し自由度の高い非線形な関係にある出力値を出力することができる。条件2:入力から一定時間後に出力値が特定の値に収束する。
【0006】
条件1を満たすためには強い非線形性が必要であるが、カオスを発生させるほどの強い非線形性では条件2を満たすことができない。条件1、2の双方をバランス良く満たすには、秩序相とカオス相の境界領域である、所謂、カオスの縁の環境をレザバーで実現することが求められる。
【0007】
ここで、カオスを発生させる情報処理モデルとして、相互に作用する複数のユニットを具備したカオスボルツマンマシンが知られており(非特許文献3、4参照)、また、そのCMOS集積回路実装の例も報告されている(非特許文献5参照)。カオスボルツマンマシンでは、各ユニットが有する内部状態値が、各ユニットの出力値に応じて変化するアナログ値であり、各ユニットの出力値が、自らの内部状態値が予め定められた上限値又は下限値となるタイミングで一方の値から他方の値に切り替わる2値(0又は1)である。i番目のユニットの内部状態値をxi、i番目のユニットの出力値をsi、温度パラメータをT、i番目のユニットとj番目のユニットの間の相互結合荷重値をWij、i番目のユニットのバイアス値をθiとし、ziを以下の式1で表わされる値として、以下の式2、式3が成立する。
【0008】
【0009】
【0010】
【0011】
カオスボルツマンマシンにおいてユニットの出力値のデューティ比(単位期間内で出力値が1となる期間の割合)の平均値は、ボルツマンマシンにおいてユニットが1を出力する確率と等しいことから、本来の確率動作をカオス動作により模擬することによってカオスボルツマンマシンをボルツマンマシンと同様の機能を発揮するモデルとして扱うことができる。ここで、式2以外の式でdxi/dtが表されるモデルであっても、デューティ比の平均値が、ボルツマンマシンのユニットが1を出力する確率に等しければ、該当のモデルはボルツマンマシンと同様の機能を発揮するモデルとして採用することができる(非特許文献4参照)。
【0012】
本発明は、かかる事情に鑑みてなされたもので、集積回路実装が可能なレザバー計算モデルを実行でき、低消費電力化及び高性能化が図られた情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0013】
前記目的に沿う本発明に係る情報処理装置は、入力層と、それぞれ内部状態値を有し該内部状態値に応じて出力値が変化する複数のユニットが結合され、前記入力層から入力値が与えられる中間層と、前記各ユニットの出力値を基に導出される値が与えられる出力層とを具備し、前記各ユニットは、前記内部状態値が、予め定められた上限値及び下限値の間で時間の経過によって増減するアナログ値であり、前記出力値が、自らの前記内部状態値が前記上限値又は前記下限値となる際に第1、第2の値の一方から他方に切り替わる情報処理装置において、一定の周期で第3、第4の値の切り替えがなされる参照クロック信号を前記中間層に与える信号供給手段を備え、前記各ユニットは、前記内部状態値の増減速度が、前記入力値、他の前記ユニットの前記出力値の重み付け総和及び自らの前記出力値に加え前記参照クロック信号の値を含む非線形変換結果で表現される増減速度演算式によって算出されて、前記自らの出力値が、時間の経過によって前記入力値に対応する特定の値に収束する。
【発明の効果】
【0014】
本発明に係る情報処理装置は、中間層のユニット内の内部状態をアナログ値で表現すると共に、ユニット間の信号伝達に2値信号を用いるので、アナログ値をそのまま伝送する方式に比べて大幅な低消費電力化が図れ、かつ、内部状態値の更新を行う増減速度の計算に非線形変換を含むことにより、カオスを生成できるネットワークを参照クロック信号で制御するので、「カオスの縁」の環境を実現でき、高性能化を図ることができる。即ち、既に集積回路化が実現されているカオスボルツマンマシンモデル(非特許文献5参照)を用いることで集積回路実装が可能なレザバー計算モデルを実行でき、低消費電力化及び高性能化を図ることが可能となる。
【図面の簡単な説明】
【0015】
【
図1】本発明の一実施の形態に係る情報処理装置の説明図である。
【
図2】離散時間連続値時系列から連続時間2値への変換を示す説明図である。
【
図3】中間層のユニットの内部状態値と出力値との関係を示す説明図である。
【
図4】(A)、(B)は式10の演算を行うための回路例を示す説明図である。
【
図5】参照クロック信号、中間層のユニットの出力値の位相差及びJ
i(t)の関係を示す説明図である。
【
図6】(A)、(B)はそれぞれ出力手段に与えられる離散時間連続値時系列の実際の値と教師データを比較したシミュレーション結果を示す説明図である。
【
図7】カオスボルツマンマシンの変形例におけるS
i、x
i、z
iの時間変化を示す説明図である。
【
図8】式12等及び式12適用の式13を実装したアナログCMOS集積回路の説明図である。
【
図9】同アナログCMOS集積回路の説明図である。
【
図10】同アナログCMOS集積回路について行ったシミュレーション結果を示す説明図である。
【
図11】中間層のユニットに与えられる入力を電流値として求めるアナログの結合回路を示す説明図である。
【
図12】同アナログの結合回路を示す説明図である。
【
図13】同アナログの結合回路について行ったシミュレーション結果を示す説明図である。
【
図14】エンコーダのデジタル回路例を示す説明図である。
【
図15】式10を実現するデジタル回路例を示す説明図である。
【
図16】デコーダのデジタル回路例を示す説明図である。
【発明を実施するための形態】
【0016】
続いて、添付した図面を参照しつつ、本発明を具体化した実施の形態につき説明し、本発明の理解に供する。
図1に示すように、本発明の一実施の形態に係る情報処理装置10は、入力層11と、それぞれ内部状態値を有し内部状態値に応じて出力値が変化する複数のユニット12が結合され、入力層11から入力値が与えられる中間層13と、各ユニット12の出力値を基に導出される値が与えられる出力層14とを具備し、各ユニット12は、内部状態値が、予め定められた上限値及び下限値の間で時間の経過によって増減するアナログ値であり、出力値が、自らの内部状態値が上限値又は下限値となる際に第1、第2の値の一方から他方に切り替わる装置である。以下、詳細に説明する。
【0017】
入力層11は、
図1に示すように、離散時間システムの連続値時系列(以下、「離散時間連続値時系列」とも言う)をそれぞれ出力する複数のユニット15が設けられた入力値付与手段16と、複数
のユニット15から離散時間連続値時系列がそれぞれ与えられる複数のユニット17が設けられたエンコーダ18とを具備している。各ユニット17は、ユニット15から与えられた離散時間連続値時系列を、中間層13のユニット12が扱える信号、本実施の形態では、連続時間システムの2値変数(以下、「連続時間2値」とも言う)の信号(連続時間システムの矩形波信号)に変換し、連続時間2値を中間層13のユニット12に入力値として与える。
【0018】
各ユニット15が出力する離散時間連続値時系列を、以下の式4で表現すると、ユニット17が離散時間連続値時系列を連続時間2値に変換する変換式は、以下の式5で表わされる。
【0019】
【0020】
【0021】
式5における連続時間tと離散時間nには以下の式6の関係がある。
【0022】
【0023】
離散時間連続値時系列から連続時間2値への変換例を
図2に示す。
図2において横軸は時間軸である。連続時間2値の位相は、
図2に示すように、離散時間連続値時系列の値が大きくなると早くなり、離散時間連続値時系列の値が小さくなると遅くなる。
【0024】
また、本実施の形態において、ユニット12の内部状態値は予め定められた上限値及び下限値の間で変化するアナログ値であり、ユニット12の出力値は連続時間2値である。本実施の形態では、i番目のユニット12の内部状態値ri
(x)(t)及び出力値ri
(s)(t)は以下の式7で表わされ、第1の値=0、第2の値=1、内部状態値の上限値=1、内部状態値の下限値=0である。
【0025】
【0026】
また、各ユニット12の内部状態値の増減速度は以下の式8の増減速度演算式によって算出される。
【0027】
【0028】
式8から、各ユニット12の増減速度演算式が、ユニット17から各ユニット12に与えられる入力値、他のユニット12の出力値の重み付け総和及び自らの出力値を含む非線形変換結果で表現されることが分かる。また、ユニット12の出力値r
i
(s)(t)とユニット12の内部状態値r
i
(x)(t)には以下の式9の関係があり、各ユニット12の出力値は、
図3に示すように、自らの内部状態値が0(下限値)になると0(第1の値)となり、自らの内部状態値が1(上限値)になると1(第2の値)となる。
【0029】
【0030】
そして、式8中のJi(式8ではJi(t)の(t)を省略して記載している)は、以下の式10で表わされる。
【0031】
【0032】
式10における参照クロック信号は、一定の周期で第3、第4の値が切り替えられる信号である。よって、式8で表わされる増減速度演算式は参照クロック信号の値を含んでいることとなる。なお、本実施の形態では第3の値=1、第4の値=0である。そして、情報処理装置10は、
図1に示すように、参照クロック信号を発生させる信号供給手段19を備えている。信号供給手段19は発生させた参照クロック信号を中間層13に与える。
【0033】
また、式10より、各ユニット12は、参照クロック信号が第4の値から第3の値に切り替わる切替えタイミングで更新されて、当該切替えタイミングの自らの出力値が適用される調整値を有していることが分かる。ここで、本実施の形態においては、各ユニット12の調整値が、時刻tで、tの整数値に当たる時刻における自らの出力値を参照している。実装上、各ユニット12の調整値を記憶するためにメモリ素子が利用される。そして、式8、式10より、増減速度演算式が、自らの出力値と参照クロック信号の値との差及び調整値の乗算値を含んでいることが分かる。
【0034】
増減速度演算式が式8、式10で表わされる形式で時刻tにおける参照クロック信号(C(s)(t))を含んでいるのは、参照クロック信号に対してユニット12の出力値(連続時間2値)の位相が進んでいる場合に出力値の位相が遅れるようにユニット12の内部状態を制御し、参照クロック信号に対してユニット12の出力値の位相が遅れている場合に出力値の位相が進むようにユニット12の内部状態を制御して、ユニット12の出力値と参照クロック信号との位相差を時間の経過と共に小さくするように調整するためである。この調整によって、各ユニット12の出力値は、時間の経過によって徐々に入力値に対応する特定の値(原則、各ユニット12によって特定の値は異なる)に収束する。
【0035】
ここで、中間層のユニットが内部状態値の変化に応じた振動をするものと仮定して、参照クロック信号が与える影響について説明する。中間層のユニットの振動が参照クロック信号によって制御されない場合、中間層では、各ユニットが、ユニット間の相互作用によって、カオス的に振動し、このカオス的な振動は時間の経過によっても収束しない。このような中間層は、各ユニットの初期状態が少しでも異なっていると、同一の入力値が中間層に与えられても、各ユニットの振動パターンが全く異なるものとなり、レザバー計算モデルとして機能しない。
【0036】
これに対し、本実施の形態のように、適度な強度の制御入力が中間層のユニットに加えられると、各ユニットはカオス的な振動(複雑な振動)状態から時間の経過と共に徐々に周期的な振動状態となる。このような中間層は、中間層への入力信号の入力が十分に長い期間なされると、各ユニットの初期状態がどのようなものであったとしても、同一の入力信号に対して、各ユニットの振動パターンが一定のものとなる。このような特性はエコステート特性と称され、レザバー計算モデルに必要な特性である。
【0037】
一方、中間層のユニットに加えられる制御入力の強度が強すぎる場合、中間層に入力される入力値が異なっても、各ユニットの振動パターンが常に一定のものとなる。従って、各ユニットの振動には入力値が反映されず、このような中間層もレザバー計算モデルとして機能しない。
【0038】
式10の演算は、
図4(A)、(B)に示すように、論理回路、スイッチ及びキャパシタを具備する集積回路25と、論理回路及びスイッチを具備する集積回路26とによって実装することができる。集積回路25は、参照クロック信号の位相及び中間層13のユニット12の出力値の位相のいずれが早いかを検出し、その検出結果をr
holdの信号として集積回路26に出力する。
【0039】
集積回路26は、参照クロック信号とユニット12の出力値の位相差に対応するパルス幅を有する電流パルスI
ref(J
i(t)に相当)を出力する。集積回路26から出力される電流パルスは、参照クロック信号の位相に対してユニット12の出力値の位相が早ければ正の電流となり、参照クロック信号の位相に対してユニット12の出力値の位相が遅ければ負の電流となる。参照クロック信号の位相、ユニット12の出力値の位相、r
holdの信号値、及び、集積回路26から出力される電流パルスI
ref=J
i(t)の関係を
図5に示す。
【0040】
また、出力層14は、
図1に示すように、各ユニット12の出力値を連続時間2値から離散時間連続値時系列にデコートするデコーダ20と、デコーダ20によるデコードによって得られた離散時間連続値時系列を基にして、外部に出力する値を算出する出力手段21とを備えている。
【0041】
デコーダ20は、各ユニット12に対応するユニット22を有し、各ユニット22は対応するユニット12の出力値を、以下に示す式11で、離散時間連続値時系列に変換する。ユニット22が変換した離散時間連続値時系列を、以下、「ユニット22の離散時間連続値時系列」とも言う。
【0042】
【0043】
出力手段21は各ユニット22と結合された複数のユニット23を有し、ユニット22、23間の各結合は重み付けがなされている。各ユニット23に対して与えられる離散時間連続値時系列(以下、「ユニット23の離散時間連続値時系列」とも言う)は、ユニット22、23間の各結合重みを含んだ演算式に、各ユニット22の離散時間連続値時系列を代入して算出される。
【0044】
ユニット22、23間の各結合重みは、リッジ回帰等の公知の学習法によって予め決定される。リッジ回帰を利用した学習法の場合、以下に示す処理1、2によって、該当の結合重みが決定される。なお、ユニット22、23間の結合重みをWoutとし、ユニット22の数(ユニット12の数も同じ)をNrとし、ユニット23の数をNyとする。
【0045】
(処理1)時間ステップn=0からn=T1まで情報処理装置10を動作させ、過渡状態となるn<T0<T1の時間帯を除く時間帯で、各ユニット22の離散時間連続値時系列を(T1-T0-1)×Nrの状態収集行列Mに設定し、各ユニット23の離散時間連続値時系列の教師データを(T1-T0-1)×Nyの状態収集行列Gに設定する。(処理2)(Wout)T=(MTM+λE)-1MTGとして、リッジ回帰を行い、Woutを求める。なお、λは係数パラメータであり、Eは単位行列である。
【0046】
入力値付与手段16の各ユニット15が、それぞれ三角関数の値(u
i)をエンコーダ18に与えた場合に、出力手段21の各ユニット23に与えられる離散時間連続値時系列の値(y
i)がどのようになるかをシミュレーションした結果を、
図6(A)、(B)に示す。異なるu
iについて行った2つのシミュレーション結果が、
図6(A)、(B)にそれぞれ示されている。
図6(A)、(B)において、y
iの値を記載したグラフでは、実際に得られた値が実線で記載され、教師データの値が破線で記載されている。なお、r
iは中間層13の各ユニット12の出力値を示している。
【0047】
また、式8は公知のカオスボルツマンマシン(式2、式3が成立する情報処理モデル)を基にした増減速度演算式であるが、増減速度演算式は、公知のカオスボルツマンマシンを基にしたものに限定されず、デューティ比の平均値が、ボルツマンマシンのユニットが1を出力する確率に等しい情報処理モデルで公知のカオスボルツマンマシンに該当しない情報処理モデル(以下、「カオスボルツマンマシンの変形例」と言う)を基にしたものであってもよい。カオスボルツマンマシンの変形例として、以下の式12及び式3が成立する情報処理モデルが挙げられる。
【0048】
【0049】
式12は、式2に比べて簡素であることが分かる。式12が成立するカオスボルツマンマシンの変形例は、S
i、x
i、z
iが、時間の経過と共に
図7に示すように変化する。
【0050】
また、参照クロック信号を含む増減速度演算式は、式8で表わされるものに限定されず、例えば、以下の式13をレザバー計算モデルに適用した増減速度演算式(以下、「式13ベースの増減速度演算式」とも言う)を採用することもできる。
【0051】
【0052】
式13において、αは係数であり、F(si、zi;T)には、式2の右辺や式12の右辺が適用される。式13(式13ベースの増減速度演算式)も、式8、式10と同様に、多項式であり、αC(s)(t)の項を有することとなる。
そして、式13において、式12の右辺をF(si、zi;T)に適用してなる数式をベースとした増減速度演算式を採用する場合、中間層の各ユニットは、当該増減速度演算式が、中間層の他のユニットの出力値の重み付け総和を指数関数として含み、自らの出力値が第1の値である時間帯(即ち、si=0の時間帯)でのみ、内部状態値の増減速度の算出に、中間層の他のユニット出力値の重み付け総和の指数関数が寄与する。
【0053】
また、式12と、式12の右辺をF(s
i、z
i;T)に適用してなる式13(以下、「式12適用の式13」とも言う)とは、
図8に示すアナログCMOS集積回路24によって実装することができる。式12の右辺は、s
i=0のとき、第2項が消えて第1項のみとなり、s
i=1のとき、第1項が消えて第2項のみとなる。これに対応すべく、アナログCMOS集積回路24は、
図8、
図9に示すように、s
i=0の状態に対応するDTG1回路ブロック27と、s
i=1の状態に対応するDTG2回路ブロック28を備えている。なお、
図8、
図9において、S
rstは状態をリセットする信号を意味し、S
refはc
(s)(t)、即ち、参照クロック信号を意味する(以下、同様)。
【0054】
式12の右辺の第1項と式12適用の式13の右辺の第2項の演算を担うことが可能なDTG1回路ブロック27は、
図9に示すように、中間層の他のユニットからの入力z
iが電流I
ziとして通電され、通電された電流I
ziを抵抗によって電圧V
ziに変換する。そして、電圧V
ziを対象とした、温度パラメータTを含む指数関数による変換を、電圧制御電流源I
expによって行い、その変換結果をキャパシタC
x+で保持する。電圧制御電流源I
expは、通常のMOSFETのサブスレッショルド領域の動作によって実現できる。そして、DTG1回路ブロック27は、S
refの反転信号及びS
iのNOR論理を取った信号で通電と非通電が切り替えられる電流源I
αによって、式12適用の式13の右辺の第2項に対応する参照クロック信号の加算を行う。キャパシタC
x+の電圧V
X+は、閾値V
LTHと比較され、制御信号SW
1としてDTG1回路ブロック27から出力される。
【0055】
式12の右辺の第2項と式12適用の式13の右辺の第2項の演算を担うことが可能なDTG2回路ブロック28は、係数(2-α)に相当する電流I2-αを信号Siでスイッチして、dxi/dtの更新分に相当するキャパシタCx-の電荷を更新する。DTG2回路ブロック28による式12適用の式13の右辺の第2項の演算は、DTG1回路ブロック27と同様の処理によって行われる。キャパシタCx-の電圧VX-は、閾値VLTHと比較され、制御信号SW0としてDTG2回路ブロック28から出力される。
【0056】
DTG1回路ブロック27及びDTG2回路ブロック28に接続されたBSM回路ブロック29は、
図8に示すように、S
iの値を電圧値として保持し、保持しているS
iの値を、デジタルバッファを通して出力する。BSM回路ブロック29は、式3の判定に相当するパルス信号であるSW
1又はSW
0が入力されることによって、S
iの値を更新する。アナログCMOS集積回路24について行ったシミュレーション結果を
図10に示す。
図10に示すシミュレーション結果より、S
iの変動が単一振動動作に準じるものとなることが分かる。
【0057】
また、中間層の各ユニットが他のユニットから与えられる入力z
iを電流I
ziとして求めることができるアナログの結合回路30を
図11、
図12に示す。結合回路30は、結合荷重W
ijが-1、0、1の3値であることを前提とした回路であり、複数のSY回路部31及び複数のSOD回路部31aを有している。各SY回路部31は2個の公知のSRAMセルを用いることでそれぞれ-1及び1の荷重を保持し、どちらのセルからも電流を流さないことで0荷重を表現することによって、3値荷重を保持し、各SOD回路部31aは+荷重及び-荷重の演算結果を統合する。結合回路30において複数のユニットそれぞれのS
iの変化をシミュレーションした結果を
図13に示す。
図13に示す結果より、各ユニットのS
iが時間の経過に伴って参照クロック信号S
refに同期するようになることが確認できる。
【0058】
次に、デジタルCMOS集積回路による実装例について説明する。なお、デジタル回路では、通常、回路全体の同期のためにシステムクロックが利用され、以下に示す回路においてもシステムクロックの入力がなされるが、以下、システムクロックの入力についての説明は省略する。また、レザバー計算モデルを構成するカオスボルツマンマシンのデジタル回路の実装例は公知となっており、指数関数がシフト演算によって実装化されている。この点は、本実施の形態においても有効である。
【0059】
エンコーダ18は、
図14に示すように、カウンタ32及びコンパレータ33を有して構成できる。カウンタ32によって以下の式14で表わされる時刻(以下、「カウンタ値」とも言う)が表現される。
【0060】
【0061】
カウンタ値は、参照クロック信号の立ち上がり時に-1にリセットされ、それ以外のタイミングでは、1までdt(時刻の刻み幅)ずつ、カウントアップを続ける。コンパレータ33は、カウンタ値と入力値付与手段16からエンコーダ18に入力される値(即ち、ui(n))を変換式に従って比較し、以下の式15で表わされる連続時間2値を出力する。
【0062】
【0063】
出力される連続時間2値の位相は、エンコーダ18に入力される値が小さくなるにつれて早くなり(
図14では左側にずれ)、エンコーダ18に入力される値が大きくなるにつれて遅くなり(
図14では右側にずれ)、エンコーダ18に入力される値が0のとき、参照クロック信号の位相と一致する。
【0064】
また、式10を実現する回路34は、
図15に示すように、コンパレータ35、ラッチ36及びセレクタ37、38を主として構成することができる。コンパレータ35で、参照クロック信号とユニット12の出力値を比較し、位相が異なっている際に、α又は-αを出力する。ラッチ36は参照クロック信号の立ち上がり時に、ユニット12の出力値を記憶し、ユニット12の出力値の位相が参照クロック信号の位相に対して遅れているか進んでいるかを判定する。
【0065】
そして、デコーダ20は、
図16に示すように、コンパレータ39、ラッチ40及びアップダウンカウンタ41を有し、参照クロック信号とユニット12の出力値の位相差を基に、連続時間2値を離散時間連続値時系列に変換する。変換式は以下の式16、式17によって表される。
【0066】
【0067】
【0068】
コンパレータ39及びラッチ40は、
図15に示す回路34のコンパレータ35及びラッチ36と同じ動作をするため、該当部分を、デコーダ20と回路34で兼用するように設計してもよい。アップダウンカウンタ41は、参照クロック信号とユニット12の位相差が反映された値を累積する。参照クロック信号が立ち上るタイミングで、アップダウンカウンタ41に累積されていた値は離散時間連続値時系列r
i(n)として出力され、アップダウンカウンタ41に累積されていた値が初期化される(0となる)。
【0069】
アップダウンカウンタ41は、コンパレータ39からの出力を基に、参照クロック信号の位相とユニット12の出力値の位相が異なっているか否かを検出し、ユニット12の出力値の位相が参照クロック信号の位相に対して進んでいる時間帯で、累積される値をデクリメントし、ユニット12の出力値の位相が参照クロック信号の位相に対して遅れている時間帯で、アップダウンカウンタ41に累積される値をインクリメントする。
【0070】
以上、本発明の実施の形態を説明したが、本発明は、上記した形態に限定されるものでなく、要旨を逸脱しない条件の変更等は全て本発明の適用範囲である。
【符号の説明】
【0071】
10:情報処理装置、11:入力層、12:ユニット、13:中間層、14:出力層、15:ユニット、16:入力値付与手段、17:ユニット、18:エンコーダ、19:信号供給手段、20:デコーダ、21:出力手段、22、23:ユニット、24:アナログCMOS集積回路、25、26:集積回路、27:DTG1回路ブロック、28:DTG2回路ブロック、29:BSM回路ブロック、30:結合回路、31:SY回路部、31a:SOD回路部、32:カウンタ、33:コンパレータ、34:回路、35:コンパレータ、36:ラッチ、37、38:セレクタ、39:コンパレータ、40:ラッチ、41:アップダウンカウンタ