(57)【要約】【課題】リザバー・コンピューティング（ＲＣ）を用いた演算システムに関して、演算の性能を向上できる技術を提供する。【解決手段】演算システムは、入力部２０１、リザバー部２０２、および出力部２０３を有する再帰型ニューラル・ネットワーク（ＲＮＮ）を用いて演算を行う。リザバー部２０２は、複数のノード１２が円環状に結合される。円環状の結合は、複数のノード１２における各ノード１２間の結合強度を決定する結合配列において、円環上で近くに配置されるノード１２間の結合強度が、円環上で離れて配置されるノード１２間の結合強度よりも大きいことである。複数のノード１２には、円環上の方向で、各ノード１２の活性化関数の非線形性を指定するパラメータであるｇ値が、周期的に変化するように設定されている。【選択図】図２
2020201557.tif 000002
【特許請求の範囲】
【請求項１】
入力部、リザバー部、および出力部を有する再帰型ニューラル・ネットワークを用いて演算を行う演算システムであって、
前記リザバー部は、複数のノードが円環状に結合され、
前記円環状の結合は、前記複数のノードにおける各ノード間の結合強度を決定する結合配列において、前記円環上で近くに配置されるノード間の結合強度が、前記円環上で離れて配置されるノード間の結合強度よりも大きいことであり、
前記複数のノードには、前記円環上の方向で、前記各ノードの活性化関数の非線形性を指定するパラメータであるｇ値が、周期的に変化するように設定されている、
演算システム。
【請求項２】
請求項１記載の演算システムにおいて、
前記複数のノードには、前記円環上の方向で、前記ｇ値の対数が等間隔となるように設定されている、
演算システム。
【請求項３】
請求項１記載の演算システムにおいて、
前記結合配列は、前記円環上の方向で、前記各ノードについて、隣接するノード間の結合強度の絶対値の期待値が、１つのノードを介して配置されるノード間の結合強度の絶対値の期待値よりも大きい、
演算システム。
【請求項４】
請求項１記載の演算システムにおいて、
前記結合配列における結合強度は、ランダム関数を用いて決定されている、
演算システム。
【請求項５】
請求項１記載の演算システムにおいて、
前記結合配列における結合強度は、ランダム関数による配列と、ガウス関数による配列との演算によって決定されている、
演算システム。
【請求項６】
請求項１記載の演算システムにおいて、
前記結合配列は、前記複数のノードに付与した連続した番号に基づいて、前記番号の順に前記円環状の結合を作成し、前記番号が近いノード間ほど結合強度が大きくなるようにして作成されている、
演算システム。
【請求項７】
請求項１記載の演算システムにおいて、
前記リザバー部と前記出力部との結合強度を指定する出力結合配列は、学習データ入力時の前記複数のノードの出力値の線形和と、理想的な出力値との誤差の二乗和が最小となる最小二乗法によって決定されている、
演算システム。
【請求項８】
請求項１記載の演算システムにおいて、
前記リザバー部と前記出力部との結合強度を指定する出力結合配列は、学習データ入力時の前記複数のノードの出力値の線形和と、理想的な出力値との誤差に、正則化項を追加した、Ｌａｓｓｏ回帰手法によって決定されている、
演算システム。
【請求項９】
請求項１記載の演算システムにおいて、
計算機を備え、
前記計算機は、
前記演算を行う処理装置と、
前記演算に係わるデータを記憶する主記憶装置および補助記憶装置と、
前記入力部への入力データを入力する入力装置と、
前記出力部からの出力データを出力する出力装置と、
を有する、演算システム。
【請求項１０】
請求項１記載の演算システムにおいて、
前記再帰型ニューラル・ネットワークは、時間遅延型リザバー・コンピューティングとして実装されている、
演算システム。
【請求項１１】
請求項１０記載の演算システムにおいて、
光回路を含むリザバーデバイスを備え、
前記リザバーデバイスは、前記演算の一部を、前記光回路を用いて行う、
演算システム。
【請求項１２】
請求項１１記載の演算システムにおいて、
前記光回路は、前記リザバーデバイスへの入力信号に対するマスク処理を行い、
前記マスク処理は、前記円環上における前記ｇ値の設定に対応して、強度が周期的に変化するマスクパターンを用いる処理である、
演算システム。
【請求項１３】
入力部、リザバー部、および出力部を有する再帰型ニューラル・ネットワークを用いて演算を行う演算システムにおける演算方法であって、
前記リザバー部を作成するステップを有し、
前記リザバー部は、複数のノードが円環状に結合され、
前記円環状の結合は、前記複数のノードにおける各ノード間の結合強度を決定する結合配列において、前記円環上で近くに配置されるノード間の結合強度が、前記円環上で離れて配置されるノード間の結合強度よりも大きいことであり、
前記複数のノードには、前記円環上の方向で、前記各ノードの活性化関数の非線形性を指定するパラメータであるｇ値が、周期的に変化するように設定されている、
演算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非線形演算、時系列信号処理、および機械学習等の情報処理を行う計算機等を含む演算システムの技術に関し、再帰型ニューラル・ネットワーク（Recurrent Neural Network：ＲＮＮと記載する場合がある）に係わる技術に関する。
【背景技術】
【０００２】
機械学習による情報処理の中でも、人工ニューラル・ネットワーク（Artificial Neural Network：ＡＮＮ）は、画像や音声等の情報処理において、高い識別性能を示している。ＡＮＮは、脳における神経細胞の機能や構造を模倣したニューラル・ネットワーク（ＮＮ）である。ＡＮＮの中でも、順伝搬型ＮＮ（Feedforward Neural Network）と再帰型ＮＮ（ＲＮＮ）とがある。順伝搬型ＮＮは、ネットワーク内を信号が一方向にのみ伝わるＮＮである。ＲＮＮは、ネットワーク内で信号が遡ることを許容するＮＮであり、双方向に信号が伝播するモデルである。特に、ＲＮＮは、入力信号の履歴に依存して出力信号が変化するため、順序の意味のある情報、例えば音声・文章・動画等の時系列信号処理に適したアルゴリズムである。ＲＮＮは、ノード間の結合が配列に沿った有向グラフを形成する。ＲＮＮは、つながりのある入力を扱うために内部状態、言い換えると記憶を用いる。ＲＮＮは、文字認識や音声認識等のタスクに有用である。
【０００３】
一般的なＲＮＮは、ネットワークを構成するノードと呼ばれる計算単位におけるすべてのノード間の結合強度を、学習によって決定する必要がある。これは、ノード数やデータ数の増加に対して指数的に計算コストが増加することを意味し、高速処理のためには大きな計算資源を要する。
【０００４】
このような課題に対し、ＲＮＮの一種として、リザバー・コンピューティング（Reservoir Computing：ＲＣ）が注目されている。ＲＣは、ネットワーク構造を、入力層、中間層、および出力層の三つに分け、中間層から出力層への結合強度のみを学習する。中間層は、リザバーとも呼ばれる。ＲＣは、再帰的構造を持つ中間層の結合強度を固定しているため、一般的なＲＮＮと比べて、学習時の変数が大幅に削減され、高速処理が容易であるという特徴を持つ。さらに、ＲＣは、中間層のネットワーク構造の変調が不要であることから、中間層を、光回路、ソフトマテリアル、磁性体、分子等のような物理的性質を利用した素子に置き換えることができる。特に、光回路を利用して実装した光ＲＣは、光伝搬の高速性による高速情報処理を実現する。
【０００５】
ＲＣでは、一般的に、ノードの演算処理に非線形変換が採用され、信号変換の非線形性は、過去の信号情報の記憶能力とトレードオフの関係にある。従来技術例のＲＣとして、非線形性と記憶能力を両立するために、非線形変換を行うノードと線形変換を行うノードとをランダムに結合する方法が提案されている。例えば、非特許文献１は、そのような方法を提案している。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Masanobu Inubushi and Kazuyuki Yoshimura, "Reservoir Computing Beyond Memory-Nonlinearity Trade-off", Scientific Reports 7, 10199 (2017).
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来技術例のＲＣを用いた演算システムは、演算の性能に関して改善余地がある。従来技術例のＲＣでは、例えば線形変換が望ましいタスクと非線形変換が望ましいタスクとの一方のタスクの場合にしか信号識別の精度が確保できず、他方のタスクの場合には信号識別の精度が悪化することがあった。
【０００８】
本発明の目的は、上記ＲＣを用いた演算システムに関して、演算の性能を向上できる技術を提供することである。本発明の他の目的は、線形変換が望ましいタスクと非線形変換が望ましいタスクとのどちらなのかが未知であるタスクの場合でも、言い換えると、タスクの望ましい信号変換特性に依らずに、高い精度で信号識別を可能とする技術を提供することである。上記以外の課題等については、発明を実施するための形態で説明される。
【課題を解決するための手段】
【０００９】
本発明のうち代表的な実施の形態は、以下に示す構成を有する。一実施の形態の演算システムは、入力部、リザバー部、および出力部を有する再帰型ニューラル・ネットワークを用いて演算を行う演算システムであって、前記リザバー部は、複数のノードが円環状に結合され、前記円環状の結合は、前記複数のノードにおける各ノード間の結合強度を決定する結合配列において、前記円環上で近くに配置されるノード間の結合強度が、前記円環上で離れて配置されるノード間の結合強度よりも大きいことであり、前記複数のノードには、前記円環上の方向で、前記各ノードの活性化関数の非線形性を指定するパラメータであるｇ値が、周期的に変化するように設定されている。
【発明の効果】
【００１０】
本発明のうち代表的な実施の形態によれば、上記ＲＣを用いた演算システムに関して、演算の性能を向上できる。また、代表的な実施の形態によれば、タスクの望ましい信号変換特性に依らずに、高い精度で信号識別を可能とする。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態１の演算システムの構成を示す図である。
【図２】実施の形態１で、ＲＣの構造概念を示す図である。
【図３】実施の形態１で、ＲＣのリザバー部のノード間の結合配列に対応するヒートマップを示す図である。
【図４】実施の形態１の演算システムにおける処理フローを示す図である。
【図５】実施の形態１で、３種のセンサ応答値および３種の計測対象の個別応答値を示す図である。
【図６】実施の形態１で、定量識別タスクにおける個別対象強度の平均予測誤差を示す図である。
【図７】実施の形態１で、式９の定数Ｓmaxｓｏの設定に関する表、および式６の係数の設定に関する表を示す図である。
【図８】実施の形態１で、リザバー部のｇ値の設定に関する説明図である。
【図９】実施の形態１で、リザバー部の結合配列の作成例を示す図である。
【図１０】比較例の演算システムにおけるＲＣの構造概念を示す図である。
【図１１】比較例の演算システムで、ＲＣにおける結合配列に対応するヒートマップを示す。
【図１２】実施の形態２の演算システムにおけるリザバーデバイスの構成例を示す図である。
【図１３】実施の形態２で、マスク処理の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１３】
［課題等］
課題等について補足説明する。図１０は、実施の形態に対する比較例として、従来技術例におけるＲＣの構造例を示す。このＲＣ３００のリザバー部３０２は、ランダムに結合された複数のノード３２として、線形演算ノード３２Ａおよび非線形演算ノード３２Ｂを混載して備えるという特徴を持つ。
【００１４】
図１０のＲＣ３００は、入力部３０１、リザバー部３０２、および出力部３０３を備える。入力部３０１は、入力信号の複数のデータに対応する複数のノード３１を備える。出力部３０３は、出力信号の複数のデータに対応する複数のノード３３を備える。リザバー部３０２は、複数のノード３２を有し、各ノード３２間がリンク３０５で結合されている。各ノード３２間の結合は、結合配列で規定されている。入力部３０１のノード３１とリザバー部３０２のいくつかのノード３２とがリンク３０４で結合されている。リザバー部３０２のいくつかのノード３２と出力部３０３のノード３３とがリンク３０６で結合されている。リンク３０４，３０５，３０６は、ノード間結合である。
【００１５】
リザバー部３０２のノード３２は、線形演算ノード３２Ａと、非線形演算ノード３２Ｂとを有する。各ノード３２の演算は、活性化関数による演算である。線形演算ノード３２Ａでは、例えばｙ＝ａｘのような線形演算が行われる。非線形演算ノード３２Ｂでは、例えばｙ＝tanh（ｘ）のような非線形演算が行われる。
【００１６】
このように、従来技術例のＲＣは、リザバー部３０１のネットワーク構造において、ランダムに結合される線形演算ノード３２Ａと非線形演算ノード３２Ｂとが混在している。しかしながら、このようなＲＣでも、信号処理のタスクとして、線形演算が適したタスクと、非線形演算が適したタスクとの一方でしか高精度が実現できない。
【００１７】
図１１は、図１０のＲＣ３００に対応した、リザバー部３０１のネットワーク構造を規定する結合配列に相当するヒートマップを示す。このヒートマップは、ランダムに結合された各ノード３２間の結合強度を濃淡によって表す。このヒートマップでは、図示のように、結合強度が大きいことを表す白や黒の値がランダムに分布している。この結合配列は、ランダムに選択された結合強度、言い換えると確率的に選択された結合強度を持つ。比較例のＲＣ３００におけるリザバー部３０１の複数のノード３２は、この結合配列に従って、ノード３２間がランダムな結合強度で結合されている。
【００１８】
（実施の形態１）
図１〜図９を用いて、本発明の実施の形態１の演算システムについて説明する。実施の形態１の演算システムは、ＲＣとしてＲＮＮを用いて演算処理を行うシステムである。このＲＣにおけるＲＮＮは、入力部、リザバー部、および出力部を備える。入力部、リザバー部、および出力部は、入力層、中間層、および出力層に対応する。演算処理は、識別対象のタスクの入力信号に関する、非線形演算、時系列信号処理、および機械学習等である。実施の形態１の演算システムは、ＲＣのリザバー部において特有の構造を有する。実施の形態１の演算方法は、実施の形態１の演算システムにおいて計算機が実行するステップを有する方法である。
【００１９】
実施の形態１の演算システムは、リザバー部のネットワークを構成する複数のノードにおいて、ノード同士が円環状に結合されており、円環上で、各ノードが持つｇ値が、周期的に設定されている（後述の図２）。ノード間の結合は、結合配列で決定されている。ｇ値、言い換えると非線形性パラメータは、ノードの活性化関数の非線形性を指定する値である。この演算システムは、結合配列において、例えば、複数のノードに、連続した番号（ノード番号）を付与し、ノード番号の順に結合されるような円環状のネットワークを作成する。この演算システムは、その作成の際に、ノード番号が近いほど、すなわち円環上で近くに配置されるノード間ほど、結合強度が大きくなるように、結合配列を作成する。なお、ノード間の結合は、確率的なものであって、結合強度の大小がある。最初の番号のノードと最後の番号のノードとの間でも結合されることで、円環状のネットワークとなる。
【００２０】
これにより、この演算システムは、ＲＣにおいて、タスク（対応する入力信号）の望ましい信号変換特性に依らずに、高精度での信号識別（例えば文字認識や音声認識）が実現できる。これにより、演算システムの性能を従来技術例よりも向上することができる。
【００２１】
［演算システム］
図１は、実施の形態１の演算システムの機能ブロック構成を示す。実施の形態１の演算システムは、計算機１で構成されている。計算機１は、一般的なＰＣやサーバ等が適用できる。計算機１は、処理装置１０１、主記憶装置１０２、補助記憶装置１０３、入力装置１０４、および出力装置１０５を備え、これらはバス等で相互に接続されている。ユーザは、計算機１を操作し、ＲＣを用いた演算の機能、例えば文字認識や音声認識の機能を利用する。ユーザは、例えば入力装置１０４を用いて情報や指示を入力し、出力装置１０５を用いて情報等を確認する。
【００２２】
処理装置１０１は、演算システム全体の制御、演算およびデータの記録や読み出し等を実行するＣＰＵ等の集積回路を含む部分である。処理装置１０１は、主記憶装置１０２等を用いて、例えば制御プログラムに従った処理を実行することにより、ＲＣを用いた演算の機能を実現する。主記憶装置１０２は、処理装置１０１が実行する制御プログラム、処理するデータおよび処理結果情報等を、一時的に記憶する装置である。補助記憶装置１０３は、処理装置１０１が扱うそれらのデータを長期的に記憶する装置である。
【００２３】
入力装置１０４は、演算で処理すべき信号またはデータをこの演算システム内に入力するための接続部でもある。入力部１０４には、センサ、通信装置、外部記憶媒体等が接続される、もしくは内蔵される。また、入力装置１０４は、ユーザによる、演算に必要なパラメータの設定や実行指示に用いる、マウスやキーボード等のヒューマン・マシン・インタフェースを含む。出力装置１０５は、入力信号および処理後の識別結果等の情報を、この演算システム外へ出力するための接続部でもある。出力装置１０５は、例えばモータ、通信装置、ディスプレイ、スピーカー等が接続される、もしくは内蔵される。
【００２４】
主記憶装置１０２または補助記憶装置１０３の少なくとも一方には、制御プログラム、ＲＣデータ、入力データ、出力データ、設定データ等が記憶されている。制御プログラムは、この演算システムの機能を実現するためのプログラムである。ＲＣデータは、ＲＣのモデルデータおよび学習データを含む。入力データは、ＲＣへの入力信号等のデータである。出力データは、ＲＣからの出力信号、認識結果情報等のデータである。設定データは、システム設定情報やユーザ設定情報等の設定ファイル等のデータである。
【００２５】
［リザバー部］
図２は、実施の形態１におけるＲＣの構造概念図を示す。このＲＣ２００は、入力部２０１、リザバー部２０２、および出力部２０３を備える。リザバー部２０２は、複数のノード１２として、円環状に結合された周期的非線形を持つノード１２を備える。
【００２６】
入力部２０１の複数のノード１１の各ノード１１は、一方向の矢印で示されるリンク２０４によって、リザバー部２０２のいくつかのノード１２と結合されている。このリンク２０４の結合は、入力結合配列によって規定されている。リザバー部２０２の複数のノード１２のいくつかのノード１２は、一方向の矢印で示されるリンク２０６によって、出力部２０３の複数のノード１３と結合されている。このリンク２０６の結合は、出力結合配列によって規定されている。リンク２０４，２０６，２０７は、ノード間結合である。ペア２０５は、説明のために、円環上で隣接する２つのノード１２のペアの例を示す。一方向の矢印のリンク２０７は、ノード１２間の結合を表す。リンク２０７の結合は、結合配列（リザバー部結合配列とも記載する）によって規定されている。
【００２７】
リザバー部２０２の複数のノード１２の各ノード１２は、非線形演算ノードであり、ノード１２毎の非線形性の程度は、ノード１２毎のｇ値で設定されている。リザバー部２０２の複数のノード１２は、概略的に円環状に結合されている。ノード１２の個数をＮとする。本例では、説明の便宜のために、リザバー部２０２は、複数のノード１２として、Ｎ＝１０個のノード１２を有し、識別のために番号＃１〜＃１０を付与して示す。例えば、ペア２０５は、番号＃１のノード１２と番号＃２のノード１２とのペアである。リザバー部２０２のノード１２の個数Ｎは、限定されるものではなく、３２個、１２８個等、実際にはより多数であってもよい。ノード１２への番号またはＩＤ等の付与は、情報処理上のものであって、他の態様でもいいし、省略してもよい。
【００２８】
リザバー部２０２の複数のノード１２における各ノード１２間の結合は、結合配列で決定されている。演算システムは、この結合配列を設定する。この結合配列では、すべてのノード１２のうちの各々の２つのノード１２のペアについて、そのペアのノード１２間の結合強度が規定されている。結合配列は、後述の図３のようにヒートマップで表せる。
【００２９】
各ノード１２は、そのノード１２の活性化関数の非線形性の大きさを表すパラメータとして「ｇ値」を有する。図２では、ノード１２の非線形性に対応するｇ値を、白から黒までのグラデーションで表している。このｇ値は、白い方が非線形性が小さく、黒い方が非線形性が大きい。本例では、番号＃１のノード１２が、最も非線形性が小さく、番号＃６のノード１２が、最も非線形性が大きい。
【００３０】
円環上において近くに配置されているノード１２同士、例えば番号＃１と番号＃２のノード１２のペア２０５は、結合強度が大きい。円環上において離れて配置されているノード１２同士、例えば番号＃１と番号＃６のノード１２のペアは、結合強度が小さい。あるノード１２（例えば番号＃１のノード１２）をみた場合、円環上で両隣にある各ノード１２（例えば番号＃２と番号＃１０のノード１２）との結合強度が大きい。なお、例えば番号＃１のノード１２と番号＃３のノード１２とが結合されているように、円環上で１つ以上のノード１２を介して離れて配置されているノード１２同士でも結合があり得る。また、例えば番号＃１０のノード１２のように、自身から自身につながるリンクを持つ場合もある。
【００３１】
［結合配列］
図３は、図２のＲＣ２００に関する、リザバー部２０２の結合配列に対応するヒートマップを示す。このヒートマップは、リザバー部２０２の円環状に結合された各ノード１２間の結合強度を濃淡によって表す。このヒートマップにおいて、横軸および縦軸には、ノード１２のノード番号（本例では１〜３２）が並んでいる。結合強度を表す濃淡値は、本例では、グレーを０とし、白い方が正方向で大きく、黒い方が負方向で大きい。正方向は、例えば円環上の右回り（時計回り）とし、負方向は円環上の左回りとする。このヒートマップでは、左上から右下への斜めの領域、左下の領域、および右上の領域において、結合強度が大きい。
【００３２】
［処理フロー］
図４は、実施の形態１の演算システムの処理フローを示す。図４は、ステップＳ１〜Ｓ１３を有し、以下、ステップの順に説明する。計算機１は、入力装置１０４からの信号、具体的にはデータ入力の開始、またはマウス等の特定の操作をトリガーとして、処理を開始する。
【００３３】
ステップＳ１で、処理装置１０１は、入力装置１０４からの信号、または補助記憶装置１０３に記録されている設定ファイルの特定の記述を読み出す。そして、それらに基づいて、処理装置１０１は、ＲＣにおける新しい結合配列を生成するかどうかを確認する。言い換えると、処理装置１０１は、ＲＣのネットワークにおける入力結合および内部結合の生成の有無を判定する。入力結合は、図２では、リンク２０４のような、入力部２０１のノード１１とリザバー部２０２のノード１２とを結合する部分であり、入力結合配列で規定される。内部結合は、図２では、リンク２０７のような、リザバー部２０２のノード１２間を結合する部分であり、図３のような結合配列で規定される。出力結合は、リンク２０６のような、リザバー部２０２のノード１２と出力部２０３のノード１３とを結合する部分であり、出力結合配列で規定される。ステップＳ１で新規の生成を選択した場合（Ｙ）には、ステップＳ２ａに進み、新規の生成を選択しなかった場合（Ｎ）には、ステップＳ２ｂに進む。
【００３４】
ステップＳ２ａでは、処理装置１０１は、処理するデータと各ノードとの結合強度を表す入力結合配列を生成し、主記憶装置１０２および補助記憶装置１０３のＲＣデータに記憶する。ステップＳ３ａでは、処理装置１０１は、ノード間の結合強度を表すリザバー部結合配列を生成し、主記憶装置１０２および補助記憶装置１０３のＲＣデータに記憶する。ステップＳ４ａでは、処理装置１０１は、非線形性パラメータ配列を生成し、主記憶装置１０２および補助記憶装置１０３のＲＣデータに記録する。非線形性パラメータ配列は、リザバー部２０２の各ノード１２のｇ値を規定する配列である。
【００３５】
一方、ステップＳ２ｂでは、処理装置１０１は、補助記憶装置１０３に記録されている入力結合配列を読み出す。ステップＳ３ｂでは、処理装置１０１は、補助記憶装置１０３に記録されているリザバー部結合配列を読み出す。ステップＳ４ｂでは、処理装置１０１は、補助記憶装置１０３に記録されている非線形性パラメータ配列を読み出す。
【００３６】
ステップＳ５では、処理装置１０１は、入力装置１０４からの信号、または補助記憶装置１０３に記録されている設定ファイルの特定の記述を読み出し、新規の学習を行うかどうかを確認する。新規の学習を行う場合（Ｙ）にはステップＳ６へ進み、行わない場合（Ｎ）にはステップＳ９ｂへ進む。
【００３７】
［入力結合配列］
入力結合配列は、リザバー部２０２のｉ番目のノード１２と入力部２０１のｋ番目のデータ列（対応するノード１１）との結合強度を、結合強度Ｗinｉｋとして表す。処理装置１０１は、この結合強度Ｗinｉｋの入力結合配列の各要素の値をランダムに決定する。実施の形態１の例では、この配列の各要素は、半数がゼロであり、残りの半数を、平均値がゼロ、標準偏差が０．３３の正規分布から確率的に選択した。
【００３８】
［リザバー部結合配列］
リザバー部結合配列は、ｉ番目のノード１２とｊ番目のノード１２との結合強度を、結合強度Ｗresｉｊとして表す。ｉ，ｊは、１〜Ｎの範囲内の値である。処理装置１０１は、この結合強度Ｗresｉｊのリザバー部結合配列の各要素の値を以下の手順で決定する。実施の形態１の例では、処理装置１０１は、列要素にランダムな値を持つ２次元配列Ｗrandｉｊを生成する。２次元配列Ｗrandｉｊの各要素は、半数がゼロであり、残りの半数を、平均値がゼロ、標準偏差が０．３３の正規分布から確率的に選択した。リザバー部２０２のノード１２の個数Ｎが例えばＮ＝３２である場合、２次元配列Ｗrandｉｊは、図１１に示すヒートマップと等しい。
【００３９】
次に、処理装置１０１は、リザバー部２０２のノード１２の個数Ｎと同数の要素を持つベクトルに、中央で最大値を取り、中央と比べて端の要素の値が小さくなるように、各要素値を決定した。中央とは、つまり、要素番号が要素数の半分である要素を指す。
【００４０】
実施の形態１の例では、この際に、最大値が１を取るガウス関数を用いた。なお、この関数としては、他にも、三角波や矩形波等を用いることも可能である。
【００４１】
処理装置１０１は、上記ベクトルを、ノード１２の個数Ｎと同数となるまで、１要素ずつ循環シフトしながら複製し、シフト量の順に連結することで、２次元配列を生成した。さらに、処理装置１０１は、上記連結の方向に対し、上記２次元配列をノード１２の個数Ｎの半数だけ循環シフトすることで、各行において対角要素が最大値を取る２次元配列を得た。この２次元配列を、２次元配列Ｗgaussｉｊとする。
【００４２】
最後に、処理装置１０１は、上記Ｗresｉｊと上記Ｗgaussｉｊの要素積を演算することで、リザバー部２０２の円環状のネットワークにおいて隣接するノード１２ほど結合強度の絶対値の期待値が大きくなるように設計された２次元配列Ｗresｉｊを生成した。
【００４３】
ここで記述する期待値とは、ノード１２間の結合をランダムに決定する操作を複数回行い、各操作の試行で決定された結合強度を平均した際に、収束する値のことを指す。
【００４４】
図３のヒートマップは、このような処理によって生成された、Ｎ＝３２の場合のリザバー部結合配列を示す。このリザバー部結合配列において、隣接したノード１２間の結合強度を示す対角要素（左上から右下の斜めの領域）、および、（ｉ，ｊ）＝（１，３２）と（３２，１）の近傍（左下の領域および右上の領域）では、高い頻度で大きな絶対値を持つ結合強度が設定されていることがわかる。
【００４５】
上記処理手順によって生成したリザバー部結合配列によって、図２に示すようにリザバー部２０２の複数のノード１２を円環状に作成した。この場合、ノード番号が近いノード１２のペアほど、結合強度の絶対値に対する期待値が大きくなるように、結合強度が決定されている。ただし、最初の番号＃１のノード１２は、次の番号＃２のノード１２に隣接して結合しているだけでなく、最後の番号＃Ｎ＝＃１０のノード１２とも反対側で隣接して結合している。最後の番号＃Ｎ＝＃１０のノード１２は、番号＃Ｎ−１のノード１２と番号＃１のノード１２とに隣接して結合している。これにより、円環が形成されている。一般化すると、ある番号＃ｉのノード１２は、番号＃ｉ＋１のノード１２と番号＃ｉ−１のノード１２とのそれぞれに隣接し結合している（言い換えると強い結合を持つ）。処理装置１０１は、例えばノード番号の昇順に処理を行うが、最後の番号＃Ｎのノード１２と最初の番号＃１のノード１２との間も結合されることで、円環が形成される。
【００４６】
ノード番号が近いノード１２のペアとは、例えば、番号＃１のノード１２に対しては、番号＃２のノード１２とのペアと、番号＃１０のノード１２とのペアがある。ノード番号の昇順（＃１→＃２→＃３→……）に対応する正方向のペアと、ノード番号の降順（＃１→＃１０→＃９……）に対応する負方向のペアとがある。いずれの方向のペアでも、近くに配置されているノード１２同士のペアの結合強度が、遠くに配置されているノード１２同士の結合強度よりも大きい、すなわち相対的に大きいように、結合配列が決定されている。なお、相対的に結合強度が大きいものを強い結合、相対的に結合強度が小さいものを弱い結合と記載する場合がある。
【００４７】
実施の形態１では、このようなリザバー部２０２のノード１２の結合強度の設計によって、同一のネットワーク内に強い結合と弱い結合を形成し、ノード番号が大きく異なるノード１２同士、言い換えると円環上で遠くに離れているノード１２同士の直接的な影響を抑制した。
【００４８】
また、実施の形態１では、リザバー部２０２のノード１２群のｇ値の設計としては、円環状の結合において、ノード番号順に、言い換えると円周の方向で、ｇ値が最小値から最大値までの範囲内で周期的に変化するように設計されている。例えば最初の番号＃１のノード１２のｇ値が最小であり、正方向で円環上の反対側の番号＃６のノード１２まで次第にｇ値が増加し、番号＃６のノード１２でｇ値が最大となる。そして、番号＃６のノード１２から最後の番号＃Ｎ＝＃１０のノード１２および最初の番号＃１のノード１２まで次第にｇ値が減少する。
【００４９】
上記非線形性パラメータ配列は、ｉ番目のノード１２に対する非負の要素ｇｉで表されるベクトルである。一般的に、ＲＣは、活性化関数と呼ばれるノード演算関数にシグモイド関数を用いる。これと同様に、実施の形態１の例では、活性化関数に、シグモイド関数として、非線形性パラメータ配列を含むtanh関数を用いる。tanh関数を用いて、ある時刻ｔにおけるｉ番目のノード１２の出力値を、下記の式１で演算する。
【００５０】
【数１】
2020201557.tif 000003
【００５１】
ここで、ｘｉ（ｔ）は、時刻ｔにおけるｉ番目のノード１２への入力値であり、下記の式２を用いた。
【００５２】
【数２】
2020201557.tif 000004
【００５３】
式２のｇｉは、ｉ番目のノード１２の非線形性を調整する非負のパラメータ（ｇ値）であり、非線形性パラメータ配列とも記載する。入力結合配列Ｗinｉｋは、ｉ番目のノード１２と入力部２０１のｋ番目のデータとの結合強度の重みである。Ｉｋは、入力部２０１のｋ番目のデータの値である。実施の形態１の例における、非線形性パラメータ配列ｇｉは、式１および式２に示すように、入力部２０１からリザバー部２０２の各ノード１２へ入力される信号の強度を調整するパラメータとして作用し、この値が大きいほど、信号変換の非線形性が増す。
【００５４】
上記非線形性パラメータ配列ｇｉは、値が大きいほど、リザバー部２０２の演算における非線形効果が増大する。したがって、ノード１２の番号（言い換えると円環上の位置）に対して周期的な値を取るｇ値（ｇｉ）を設定することで、円環上で隣接するノード１２同士（つまり強い結合を持つノード１２のペア）が近い非線形性を備えるという構造を形成できる。実施の形態１の例では、ｇｉが取り得る最大値を１０２、最小値を１０−１とし、非線形性パラメータ配列ｇｉを、下記の式３で規定した。
【００５５】
【数３】
2020201557.tif 000005
【００５６】
式３の場合、リザバー部２０２の複数のノード１２は、円環上で、ｇ値の周期的な特性として、ｇ値の対数（Log10）が等間隔となるように設定される。なお、これに限らず、上記非線形性パラメータ配列ｇｉを決定するノード番号ｉの関数は、タスクに合わせて自由に設計することができる。
【００５７】
図４に戻る。ステップＳ１で新規の生成を選択した場合（Ｙ）、またはステップＳ５で新規の学習を選択した場合（Ｙ）には、ステップＳ６が行われる。ステップＳ６で、処理装置１０１は、学習データを、入力装置１０４または補助記憶装置１０３のＲＣデータから読み出し、上記の式１および式２を用いて、ノード出力値へと変換する。ノード出力値は、図２では、リザバー部２０２のノード１２から出力部２０３のノード１３（対応するデータ）へと出力される値である。
【００５８】
ステップＳ７で、処理装置１０１は、ノード出力値を、主記憶装置１０２および補助記憶装置１０３の出力データへ記録する。
【００５９】
ここで、学習データとは、式２における入力値Ｉｋと、入力に対応する理想的な出力値が存在するデータとを意味する。
【００６０】
ステップＳ８で、処理装置１０１は、ＲＣへの入力が終了かどうかを確認する。処理装置１０１は、学習データのすべてが入力された場合、または、補助記憶装置１０３に記録されている設定ファイルの特定の記述において指定されている学習に用いるデータのすべてが入力された場合、または、入力装置１０４からの信号によって学習の終了が指定された場合（Ｙ）には、学習データの入力を終了し、ステップＳ９ａへ進む。入力が終了ではない場合（Ｎ）、ステップＳ６に戻り、同様に繰り返しである。
【００６１】
ステップＳ９ａで、処理装置１０１は、ステップＳ７で記録されたノード出力値から、学習データに対応した理想的な出力値との誤差と正則化項との和が最小となる出力結合配列を生成する。処理装置１０１は、生成した出力結合配列を主記憶装置１０２および補助記憶装置１０３のＲＣデータへ記録する。
【００６２】
一方、ステップＳ５で新規の学習を選択しなかった場合、ステップＳ９ｂで、処理装置１０１は、補助記憶装置１０３に記録されている出力結合配列を読み出す。
【００６３】
［出力結合配列］
出力結合配列は、リザバー部２０２と出力部２０３との結合強度を指定する配列である。出力結合配列は、ｉ番目のノードと出力部２０３のｍ番目のデータとの結合強度を、Ｗoutｉｍとして表し、ある時刻ｔにおける出力部２０３のｍ番目の出力値を、下記の式４で演算する際の係数である。
【００６４】
【数４】
2020201557.tif 000006
【００６５】
出力結合配列を計算する方法としては、学習データ入力時のステップＳ７で記録したノード出力値に対して、最小二乗法を用いる方法がある。特定の非線形性が適したタスクの場合、一部のノード出力値のみを用いた係数を用いることが好ましい。他にも、一部のノード出力値のみを用いる学習が可能な方法として、一般にＬａｓｓｏ回帰と呼ばれる手法がある。Ｌａｓｓｏ回帰手法は、最小二乗法の誤差に、さらに正規化項を加える手法である。Ｌａｓｓｏ回帰手法は、特定の非線形性が適した特定のタスクの場合に、最小二乗法よりも高精度が得られる。実施の形態１の例では、Ｌａｓｓｏ回帰手法を用い、出力結合配列は、下記の式５で求めることができる。
【００６６】
【数５】
2020201557.tif 000007
【００６７】
式５で、λを持つ項は、Ｌａｓｓｏ回帰手法で追加される正規化項である。λは、非負の正則化パラメータである。ただし、Ｌａｓｓｏ回帰を解析的に解くことは困難であるため、解析解を求めることが適した条件の場合には、最小二乗法を用いることが好ましい。他の実施の形態として最小二乗法を用いてもよい。最小二乗法を用いる場合、式５においてλ＝０とすればよい。
【００６８】
式５の場合、出力結合配列は、学習データ入力時の複数のノード１２の出力値の線形和と、理想的な出力値との誤差の二乗和が最小となる最小二乗法によって決定される。他の形態では、出力結合配列は、学習データ入力時の複数のノード１２の出力値の線形和と理想的な出力値との誤差に正則化項を追加したＬａｓｓｏ回帰手法によって決定される。
【００６９】
ステップＳ９ａまたはステップＳ９ｂの後、ステップＳ１０へ進む。ステップＳ１０で、処理装置１０１は、識別データを入力する。識別データは、ＲＣによる識別の対象となるデータである。処理装置１０１は、識別データに対応する入力信号を、入力部２０１から上記入力結合配列を用いてリザバー部２０２の各ノード１２に入力し、上記リザバー部結合配列および非線形性パラメータ配列を用いて、ノード出力値に変換する。さらに、ステップＳ１１で、処理装置１０１は、上記出力結合配列を用いて、ノード出力値から識別値を出力する、言い換えると出力部２０３から認識結果のデータを出力する。また、ステップＳ１２で、処理装置１０１は、その識別値を、主記憶装置１０２および補助記憶装置１０３の出力データへ記録する。
【００７０】
ステップＳ１３で、処理装置１０１は、識別データの入力を終了するかどうかを確認する。処理装置１０１は、上記識別データのすべてが入力された場合、または、補助記憶装置１０３に記録されている設定ファイルの特定の記述において指定された識別データのすべてが入力された場合、または入力装置１０４からの信号によって識別の終了が指定された場合（Ｙ）には、識別データの入力を終了する。終了しない場合（Ｎ）、ステップＳ１０に戻り、同様の繰り返しである。
【００７１】
［特徴や効果等］
図５および図６等を用いて、実施の形態１における特徴や効果等についてより詳しく説明する。図５は、実施の形態１の演算システムにおける、ＲＣを用いた識別の例として、３種のセンサのセンサ応答値、および３種の計測対象の個別応答値を示す。図５の（Ａ）はセンサ応答値を示し、（Ｂ）は計測対象の個別応答値を示す。本例では、ＲＣへの入力信号として、３種類のセンサの応答値を用いた。（Ａ）で、横軸は時間、縦軸はセンサ応答値であり、３種類のセンサは、Sensor1，Sensor2，Sensor3で示される。これらのセンサ応答値は、計算機を用いて実際にシミュレートした値を示す。（Ｂ）で、縦軸は計測対象の応答値であり、３種類の計測対象は、Target1，Target4，Target7で示される。
【００７２】
図６は、実施の形態１における、定量識別タスクにおける個別対象強度の平均予測誤差を示す。この定量識別タスクは、計測対象の強度を定量するタスクである。個別対象強度は、３種類の計測対象の強度である。
【００７３】
実施の形態１における特徴の一つは、図２のように、リザバー部２０２の同一のネットワーク内に、異なる非線形性、特に周期的な非線形性を備える複数のノード１２による信号処理を両立していることである。この特徴による効果について、上記複数のセンサ応答値から計測対象の強度を定量するタスクを用いて、評価する。
【００７４】
計測対象は、センサ応答値から種類や強度を識別可能なものである。その計測対象について、例えば、画像、音、振動、におい、味等の計測信号、または、信号処理を加えた振幅等の特徴量を、センサ応答値として利用することができる。
【００７５】
図５で、個別のセンサ応答値を表現する時間応答間関数としては、下記の式６のような二重指数波形を用いる。
【００７６】
【数６】
2020201557.tif 000008
【００７７】
ここで、式６におけるｓ，ｏは、センサ（ｓ）および計測対象（ｏ）の種類を示す。α，βは、時間応答特性を決定する定数である。波形の最大値は、計測対象の種類とその強度によって決定されると仮定し、α，βに非依存となるように規格化した。このとき、ｔmaxは、波形が最大を取る時刻であり、下記の式７で表せる。
【００７８】
【数７】
2020201557.tif 000009
【００７９】
さらに、センサ応答前の時刻（ｔ＜０）では、式６は負値を取る。そのため、刺激前の時刻では値がゼロを取るように、下記の式８のHeavisideステップ関数を用いた。
【００８０】
【数８】
2020201557.tif 000010
【００８１】
また、計測対象の強度をｃｏとし、強度ｃｏに対する応答強度を、下記の式９のシグモイド関数とした。
【００８２】
【数９】
2020201557.tif 000011
【００８３】
ここで、式９におけるＳmaxｓｏ，γ，ｃshiftは、関数の感度、閾値、およびダイナミックレンジを決定する定数である。γ，ｃshiftは、計測対象とセンサの組み合わせに依らずに一定（γ＝1，ｃshift＝1）とした。上記の式６、式８、および式９の積を取り、かつ複数の計測対象が同時に生じる場合には個々の応答の和を取るとする。そして、ｓ番目のセンサの時間応答関数は、センサ応答開始時刻をｔ０として、下記の式１０で表現した。
【００８４】
【数１０】
2020201557.tif 000012
【００８５】
式１０で、Ｉnoiseは、正規分布を持つ雑音項であり、計測時のノイズに対応する。
【００８６】
実施の形態１の例では、各計測対象の強度ｃｏは、対数スケールで等間隔な３水準の強度（ｃｏ＝1，3.2，10）とした。式９の定数であるＳmax ｓｏは、図７の（Ａ）の表１に示すように設定した。表１は、３種のセンサ（sensor type (ｓ)）と７種の計測対象（target type (ｏ)）との組み合わせを示す。Ｓmax ｓｏは、７種の計測対象（target type (ｏ)）に対し、２進法における３ビット表現に倣って０または１で表現した。Ｓmax ｓｏは、３種の計測対象（ｏ＝1〜3）については単一のセンサが応答し、他の３種の計測対象（ｏ＝4〜6）については２種のセンサが応答し、残り１種の計測対象（ｏ＝7）については３種のセンサが応答するように設定した。
【００８７】
また、式６で、時間応答特性に関わる係数（αｓｏ，βｓｏ）は、図７の（Ｂ）の表２に示すように設定した。表２は、係数（αｓｏ，βｓｏ）と７種の計測対象（Target type(o)）との対応を示す。係数（αｓｏ，βｓｏ）は、各センサで共通に、応答するセンサ数が多い計測対象ほど、速い時間応答を示すように、すなわちαｓｏ，βｓｏともに大きな値を持つように、設定した。
【００８８】
図５の（Ａ）では、７種の計測対象（Target1〜Target7）のうち、３種の計測対象（ｏ＝1,4,7）に関する各センサ（ｓ＝1,2,3）の応答値を抽出して示している。このグラフで、中央の破線の時刻よりも左側の期間は単独入力、右側の期間は２種混合入力（例えばｏ＝1,4の組み合わせ等）の応答データを示している。
【００８９】
計算機１は、定量識別タスクでは、上記単独入力における応答データから、図５の（Ｂ）に示す各計測対象の応答への変換を学習する（図４のステップＳ６〜Ｓ８，Ｓ９ａに対応する）。そして、計算機１は、定量識別タスクでは、上記２種混合入力における識別結果を出力し（ステップＳ１０〜Ｓ１３に対応する）、定量性を評価する。
【００９０】
図６では、定量識別タスクにおける個別計測対象強度の平均予測誤差を示している。図６の（Ａ）は、平均絶対誤差を示す。図６の（Ｂ）は、平均相対誤差を示す。横軸の識別数は、図７の表１における計測対象の種類を表す番号（ｏ＝1〜7）のうち、学習および識別に用いる最大数を表す。したがって、識別数が多くなるほど、タスクの難度が高まる。また、図６中で、リザバー部２０２のノード１２毎に非線形性パラメータ配列ｇｉ（ｇ値）が周期的な値をとる場合、すなわち実施の形態１のＲＣ２００の構造例の場合６０１を、実線と丸でプロットしており、ｇ＝１０−１〜１０２である。また、リザバー部２０２の全てのノード１２で一定であり、ｇ＝１０−１の場合６０２を、点線と四角でプロットしている。全てのノード１２で一定であり、ｇ＝１０−２の場合６０３を、一点鎖線と三角でプロットしている。
【００９１】
実施の形態１の例における非線形性パラメータ配列ｇｉは、前述の通り、値が大きいほど信号変換の非線形性が増す。よって、ｇ＝１０−１＝0.1の場合６０２では、ｇ＝１０２＝100の場合６０３と比べて、線形変換に近い。ｇ＝１０−１の場合６０２において、識別数が３の識別で最も誤差が小さいのは、以下の理由からである。すなわち、図７の表１のように、ｏ＝1〜3の計測対象は、ｓ＝1〜3の各センサと一対一に対応しているため、各計測対象の強度の定量には、各センサの信号をそのまま使用することが好ましいためである。
【００９２】
しかし、ｏ＝4〜7の計測対象については、複数のセンサの信号を複合的に解析する必要がある。そのため、ｇ＝１０−１の場合６０２、つまり線形変換では、識別が困難である。
【００９３】
一方、非線形変換の効果が大きいｇ＝１０２の場合６０３では、ｇ＝１０−１の場合６０２とは反対に、識別数が７である、７種の全ての計測対象を識別する際に、最も誤差が小さく、識別数が減少するほど誤差が増加している。これは、信号変換の強い非線形性が、線形変換が好ましい少数の識別数において、定量性に悪影響を及ぼすためである。
【００９４】
上記のように、比較例（図１０）によるＲＣでは、あるタスクに対し、線形性の変換と非線形性の変換とのいずれか一方でしか高精度を実現できない。識別数が３の場合には、ｇ＝１０−１の場合６０２のように線形性が高い変換が適しており、識別数が７の場合には、ｇ＝１０２の場合６０３のように非線形性が高い変換が適している。比較例では、あるタスクについて、どのような線形性または非線形性を持つネットワークが適しているかが未知である場合には、対応ができない。
【００９５】
［リザバー部の設計］
上記のように、本発明者は、定量識別タスクに関して、識別すべき対象とセンサ特性との関係に応じて、ＲＣにおける適した非線形性パラメータが異なることを見出した。本発明者は、その知見に基づいて、好適なＲＣのリザバー部の構造を検討した。本発明者は、事前に識別対象や特性、つまり演算に適したパラメータが未知の場合でも、識別対象を高精度に識別可能となるＲＣのリザバー部の構造を検討した。その結果、前述の図２のような構造を設計した。このリザバー部２０２は、円環状に結合された、周期的な非線形性パラメータを持つノード１２群を備える。このリザバー部２０２は、各ノード１２間の結合強度を決定する結合配列において、円環上で近くに配置されるノード１２間の結合強度が、円環上で離れて配置されるノード１２間の結合強度よりも大きい。このリザバー部２０２は、複数のノード１２の円環上において、各ノード１２のｇ値が、最小値と最大値との間で周期的に変化するように設定されている。
【００９６】
本発明者が検討した例では、識別対象における識別数が多い場合、非線形性が高いモデルの方が、高精度を実現できた。また、識別数が少ない場合、線形性が高いモデルの方が、高精度を実現できた。そこで、本発明者は、線形性と非線形性との両方に、言い換えると非線形性の程度が異なる各種のタスクに、柔軟に対応できるように、好適なリザバー部の構造を設計した。この結果、比較例（図１０）のように、単に線形演算ノード３２Ａと非線形演算ノード３２Ｂとの２種類のノード３２を混載するモデルとするのではなく、図２のようなリザバー部２０２の構造とした。
【００９７】
このリザバー部２０２は、円環状のネットワーク構造、および円環上のノード１２に周期的な非線形性パラメータを持つ構造を備える。このリザバー部２０２は、ｇ値で表される線形性から非線形性までの連続的で周期的な分布を持つ円環状の構造を持つモデルとした。このＲＣ２００は、リザバー部２０２の単一のネットワーク内に、連続的に変化する非線形性を備える信号変換を内包している。そのため、上記ＲＣ２００の場合６０１では、図６の全ての識別数において、従来技術例のｇ＝１０−１の場合６０２、およびｇ＝１０２の場合６０３よりも、同程度または低い誤差で、計測対象強度を定量することができた。このＲＣ２００の場合６０１では、識別数が３または７においては、従来の適した非線形性パラメータの場合と同等の誤差で定量ができた。さらに、識別数が４〜６の範囲においては、従来の場合（場合６０２，６０３）よりも低い誤差で定量ができた。この傾向は、図６の（Ａ）のように計測対象強度の真値がゼロの場合も含めて算出した絶対誤差と、（Ｂ）のように計測対象強度の真値の差を補正して算出した相対誤差との両方の評価法で同様であった。
【００９８】
こうして、実施の形態１の演算システムでは、信号処理のタスクにおいて好ましい非線形性の程度を事前に知る必要無く、図２のような特有のリザバー部２０２の単一のネットワークを用いて識別が可能となる。その結果、実施の形態１によれば、識別すべき要素の数や、各応答特性を事前に知ることが難しい場合でも、より高精度で識別が可能である。実施の形態１の演算システムによれば、線形変換が望ましいタスクと非線形変換が望ましいタスクとのどちらなのかが未知である場合でも、言い換えると、タスクの望ましい信号変換特性に依らずに、高精度での識別が可能となる。
【００９９】
［リザバー部の構造（１）］
図８等を用いて、実施の形態１におけるリザバー部２０２の構造や特徴について補足する。前述の図２のように、リザバー部２０２の円環上の複数のノード１２は、周期的なｇ値を持つ。このリザバー部２０２のネットワーク構造では、ｇ値が近いノード１２ほど、結合強度が大きい、言い換えると強い結合を持つという特性を有する。ノード１２間の結合および結合配列に関する別の表現としては以下のようにも言える。円環上で正方向に隣接配置されるノード１２を、例えばノード＃ｉ，＃ｉ＋１，＃ｉ＋２，……のように表すとする。結合配列において、隣接するノード＃ｉとノード＃ｉ＋１とのペアの結合強度の絶対値の期待値は、１つのノードを介して隣接するノード＃ｉとノード＃ｉ＋２とのペアの結合強度の絶対値の期待値よりも大きい、となるように決定される。負方向のノード＃ｉ，＃ｉ−１，＃ｉ−２等の関係についても同様に決定される。
【０１００】
図８の（Ａ）には、ｇ値の分布の設計に関するグラフを示し、横軸がノード番号、縦軸がｇ値である。図示のように、ｇ値のグラフは、周期的に変化する形状を持つ。このｇ値のグラフは、前述のガウス関数等の周期的な関数で規定されてもよい。このｇ値の特性は、周期的であれば任意であり、整った形状を持たなくてもよい。
【０１０１】
計算機１は、このようなリザバー部２０２のネットワークを作成する。作成例は、前述のように、円環状に結合するノード１２群のネットワークを作成し、円環上のノード１２に円周方向（例えば正方向）に沿って番号を付与し、円環上のノード１２の番号の順に周期的なｇ値を設定することである。これは、最初の番号＃１のノード１２と最後の番号＃Ｎのノード１２との結合を含む。図６の（Ｂ）には、（Ａ）に対応して、リザバー部２０２のネットワークにおけるｇ値の割り当てのイメージを示し、番号＃１から番号＃１０まで正方向に順次に割り当てる例を示す。作成例は、これに限らず可能であり、図２のようなＲＣ２００の構造が実現できればよい。
【０１０２】
ノード１２のｇ値の周期的な特性は、（Ａ）のような１周期の構成に限らず可能である。（Ｃ）は変形例における特性を示し、ｇ値が最小値と最大値との間で、２周期で変化する場合を示す。
【０１０３】
他の作成例としては以下が挙げられる。計算機１は、円環状に結合するノード１２群のネットワークを作成し、ノード１２の個数Ｎと等しい数の任意の非線形性パラメータ（ｇ値）を用意する。この複数のｇ値の分布は任意であり限定しない。図６の（Ｄ）には、このｇ値の分布の設計に関するｇ値の集合を示す。そして、計算機１は、円環上で、ある任意のノード１２、例えば選択した＃ｉのノード１２に、用意したｇ値のうちの最小のｇ値を設定する。計算機１は、その＃ｉのノード１２から、円環上で隣接するノード１２（例えば＃ｉ＋１，＃ｉ−１のノード１２）に対し、他のｇ値を、ｇ値の昇順に順次に割り当てるように設定する。図６の（Ｅ）に、この際の割り当てのイメージを示す。ｇ値の降順とすることも可能である。このように、ｇ値の大または小の順に、あるノード１２を起点として隣接するノード１２に順次に割り当ててゆくような方法でも、図６の（Ａ），（Ｂ）の方法と同様に、所定の特性のネットワークが作成できる。
【０１０４】
［リザバー部の構造（２）］
また、図９は、前述のリザバー部２０２の結合配列（ノード１２間の結合強度Ｗresｉｊ）に関する作成の具体例を示す。本例では、ノード１２の個数Ｎを３２（ｉ＝１〜３２）とし、ｊ＝１６の場合を示す。図９の各グラフの横軸はノード番号である。（Ａ）は、ランダム値を持つ２次元配列Ｗrandｉｊの例を示す。この２次元配列Ｗrandｉｊの生成では、任意のランダム関数を用いればよい。（Ｂ）は、ガウス関数による２次元配列Ｗgaussｉｊを示す。ガウス関数は、図示のように周期的な変化を与える関数である。本例では、円環状の結合を実現するために、ガウス関数を用いている。（Ｃ）は、（Ａ）の２次元配列Ｗrandｉｊと（Ｂ）の２次元配列Ｗgaussｉｊとの演算（例えば積）によって得られる結合強度Ｗresｉｊを示す。（Ｃ）の結合強度Ｗresｉｊでは、番号が１６のノード１２と他の各ノード１２との結合強度が示されている。ノード番号が１６の付近では、結合強度が相対的に大きくなっている。
【０１０５】
［ＧＵＩ］
実施の形態１の演算システムは、図１の入力装置１０４および出力装置１０５を用いて、ユーザに対するグラフィカル・ユーザ・インタフェース（ＧＵＩ）となる画面等を提供する。このＧＵＩ画面には、図２のようなＲＣ２００の構成、少なくともリザバー部２０２のネットワークのモデルを含む情報を表示する。ユーザは、このＧＵＩ画面で、リザバー部２０２のモデルの設定や確認を行うことができる。ユーザは、例えば、リザバー部２０２のｇ値の詳細設定を行うこともできる。ＧＵＩ画面には、例えば、前述の結合配列を表示してもよい。結合配列の表示は、ヒートマップに限らず、テーブル等での数値の表示としてもよい。ＧＵＩ画面には、ｇ値のグラフ等を表示してもよい。また、結合強度やｇ値の表示は、図２のモデルのノード１２やリンク２０７の上に重ねるように情報を表示する等の態様でもよい。ＧＵＩ画面では、例えばｇ値を規定する関数または特性、最小値や最大値等の設定値を設定できる。ｇ値の特性、特に周期的な特性の設定は、線形、対数、sin関数、等のいくつかの種類から選択して設定ができる形態としてもよい。
【０１０６】
（実施の形態２）
図１２、図１３を用いて、実施の形態２の演算システムについて説明する。以下では、実施の形態２における実施の形態１とは異なる構成部分について説明する。
【０１０７】
［演算システム］
図１２は、実施の形態２の演算システムの構成として、リザバーデバイスの構成例を示す。実施の形態２の演算システムは、ＲＣを行うリザバーデバイスとして実装されている。実施の形態２の演算システムは、実施の形態１（図１）と同様に、処理装置、主記憶装置、補助記憶装置、入力装置、および出力装置を備える。ただし、実施の形態２における処理装置は、一般的な大規模集積回路に加えて、時間遅延回路を備える。
【０１０８】
ＲＣは、学習においてリザバー部の結合強度を変更しないという特徴を持つ。この特徴から、ノード間の信号伝達といった信号処理の一部を、物理現象によって代替することができる。これにより、高速処理、低消費電力、および低発熱といった好ましい性能が期待できる。物理現象を利用した物理ＲＣにおいて、時間遅延を伴う非線形ノードおよび遅延ループから構成される時間遅延型ＲＣは、構成がシンプルであるため、電子回路および光回路を含むデバイスとして実装することができる。特に、光回路は、通信の高速性、および伝搬損失が低いといった特性を有するため、高速かつ低消費電力な信号処理が期待できる。
【０１０９】
時間遅延型ＲＣでは、遅延線内に複数の仮想ノードを設計する。この際、仮想ノードは、遅延線内に連続して存在するため、仮想ノード間の結合は、一般的に隣接しているものほど強くなる傾向がある。さらに、信号のフィードバック周期である遅延時間をＴとし、Ｎ個の仮想ノードがあり、仮想ノード出力を、同一の遅延線内に入力する順番に１，２，……，Ｎ番目と番号付けするとする。すると、時刻ｔのＮ番目の仮想ノード出力の次に入力されるのは、時刻ｔ＋Ｔの１番目の仮想ノード出力となり、時刻が１ステップ（遅延時間Ｔ分）ずれるものの、円環状のネットワークを形成する。したがって、実施の形態に適用するＲＣとして、時間遅延型ＲＣが適していると言える。
【０１１０】
そこで、実施の形態２の演算システムは、上記物理ＲＣおよび時間遅延型ＲＣを適用し、それらの信号処理の一部を、光回路を含むデバイスを用いて実装したものである。実施の形態２の演算システムは、光回路を含むリザバーデバイス２に実装された時間遅延型ＲＣに基づいて、ノード１２毎に周期的な値をとる非線形性パラメータ（ｇ値）を備える。
【０１１１】
図１２のリザバーデバイス２は、パワーデバイダ（power divider）２１、増幅器２２、光変調器２３、遅延線２４、受光器２５、周波数フィルタ２６、および増幅器２７を備える。図１２中の実線の矢印は電気信号を伝送する部分を示し、破線の矢印は光信号を伝送する部分を示す。光回路や光デバイスとしては、光変調器２３および遅延線２４が相当する。リザバーデバイス２の内部では、電気信号と光信号とを互いに変換しながら、遅延線２４を含むフィードバックループを形成し、入力信号を出力信号へ変換する。この変換処理は、前述の図４のステップＳ６，Ｓ１０に対応する。
【０１１２】
リザバーデバイス２は、識別対象の入力信号をパワーデバイダ２１に入力する。パワーデバイダ２１は、入力信号を、増幅器２７からの信号に基づいて分割する。増幅器２２は、パワーデバイダ２１からの信号を増幅する。光変調器２３は、増幅器２２からの電気信号を、連続光に基づいて変調する。遅延線２４は、光変調器２３からの変調後の光信号を遅延させる。受光器２５は、遅延線２４からの光信号を受光して電気信号に変換する。周波数フィルタ２６は、受光器２５からの電気信号を所定の周波数でフィルタリングする。周波数フィルタ２６からの電気信号は出力信号として出力される。また、増幅器２７は、周波数フィルタ２６からの電気信号を増幅し、増幅後の電気信号がパワーデバイダ２１に入力される。
【０１１３】
［マスク処理］
図１３は、リザバーデバイス２によるマスク処理の一例を示す。（Ａ）は、横軸が時刻ｔ、縦軸がＩ（ｔ）である、時系列信号のグラフを示す。（Ｂ）は、（Ａ）の時系列信号に関する変調後信号のグラフを示し、縦軸は光強度である。
【０１１４】
図１２の入力信号は、式２における入力値Ｉｋをマスク処理によって変換したものである。リザバーデバイス２は、このマスク処理を行う機能を有する。以下、マスク処理の詳細を説明する。入力値Ｉｋは、図１３の（Ａ）に示すように、時刻ｔに従って変化する時系列信号（実線で示す）である。リザバーデバイス２は、始めに、入力値Ｉｋを遅延時間Ｔでサンプリングし、区間Ｔを持つ離散信号（破線で示す）に変換する。具体的には、リザバーデバイス２は、サンプルおよびホールド処理を実行する。次に、リザバーデバイス２は、図１３の（Ｂ）に示すように、遅延時間Ｔを、ノード１２（対応する仮想ノード）の個数Ｎ（本例ではＮ＝９）に対応してＮ等分し、Ｎ個の各区間を変調する。変調は図１２の光変調器２３が行う。
【０１１５】
変調する値は、式２における非線形パラメータ配列ｇｉと入力結合配列Ｗinｉｋの要素積に相当する。図１３の（Ｂ）では、仮想ノード番号ｉに対して、ｉ＝１で最小、ｉ＝５で最大を取るような周期的な非線形パラメータ配列ｇｉを用いている。非線形パラメータ配列ｇｉ（ｇ値）が、マスク処理のマスクパターンに対応する。
【０１１６】
上記マスク処理によって得られた変調後信号（（Ｂ）の棒グラフ）が、リザバーデバイス２に入力される入力信号である。なお、実施の形態２の演算システムは、リザバーデバイス２の外部にマスク処理を行うデバイスを有してもよいし、リザバーデバイス２の内部にマスク処理を行う回路部分を有してもよい。
【０１１７】
上記入力信号は、パワーデバイダ２１において、増幅器２７より出力される信号と加算される。加算後信号は増幅器２２によって増幅され、光変調器２３において光信号に変換される。
【０１１８】
実施の形態２の例において、光変調器２３は、マッハツェンダー干渉型の光変調器である。光変調器２３は、光変調器２３に入力される連続光の強度を、増幅器２３から入力される電気信号に依存して変調する。この電気信号−光信号の変換は、入力される電気信号の電圧をＶ、光信号の振幅をＰとして、下記の式１１で表される。
【０１１９】
【数１１】
2020201557.tif 000013
【０１２０】
この際、式１１中のωＶ＋φの取り得る範囲をsin関数における半周期に制限し、かつ、電圧Ｖ＝０の時に光信号振幅Ｐ＝１となるように、増幅器２３の増幅率ω、およびオフセット電圧φを調整する。この操作により、仮想ノードにおける信号変換は、対応する非線形パラメータ配列ｇｉが大きいほど非線形性が増大するように設計できる。
【０１２１】
光変調器２３において変調された光信号は、遅延線２４を経由して受光器２５によって電気信号に再変換される。実施の形態２の例において、遅延線２４は、光ファイバーを用いている。遅延線２４の光ファイバーの長さによって、遅延時間Ｔを調整可能である。受光器２５は、フォトダイオードを用いている。
【０１２２】
受光器２５より出力される電気信号は、周波数フィルタ２６の帯域をマスク信号の周波数より小さくすることにより歪められる。この歪みの効果は、１つ前の仮想ノード番号の出力信号の影響を受けるため、後段の増幅器２７による増幅と合わせて、式２における右辺第二項の演算に相当する。
【０１２３】
周波数フィルタ２６より出力される電気信号は、２つに分岐する。一方の信号は、増幅器２７によって増幅され、パワーデバイダ２１に入力されることで、遅延時間Ｔだけずれた、同一の仮想ノードへの入力信号と加算される。もう一方の信号は、出力信号として、次の処理へ渡される。具体的には、この出力信号は、ノード出力値として、主記憶装置１０２および補助記憶装置１０３の出力データに記録される（図４のステップＳ７に対応する）。あるいは、このノード出力値は、出力結合配列を用いて、識別値へ変換される（図４のステップＳ１１に対応する）。
【０１２４】
上記のように、実施の形態２では、時間遅延型ＲＣを用いることで、実施の形態１の図４の処理フロー中での、入力値をノード出力値へ変換するステップを、光回路として実装している。これにより、実施の形態２の演算システムでは、実施の形態１と同様に、信号処理のタスクにおいて好ましい非線形性の程度を事前に知る必要なく、リザバー部２０２の単一のネットワークを用いて識別が可能となる。さらに、実施の形態２によれば、光回路を用いるので、信号処理の高速化および低消費電力化等が可能である利点を有する。
【０１２５】
以上、本発明を実施の形態に基づいて具体的に説明したが、本発明は前述の実施の形態に限定されず、要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【０１２６】
１…計算機、１１，１２，１３…ノード、２００…ＲＣ、２０１…入力部、２０２…リザバー部、２０３…出力部、２０４，２０６，２０７…リンク（ノード間結合），２０５…ペア（ペアノード）。
【図１】
2020201557.tif 000014
【図２】
2020201557.tif 000015
【図３】
2020201557.tif 000016
【図４】
2020201557.tif 000017
【図５】
2020201557.tif 000018
【図６】
2020201557.tif 000019
【図７】
2020201557.tif 000020
【図８】
2020201557.tif 000021
【図９】
2020201557.tif 000022
【図１０】
2020201557.tif 000023
【図１１】
2020201557.tif 000024
【図１２】
2020201557.tif 000025
【図１３】
2020201557.tif 000026