特開2020-201557(P2020-201557A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧
<>
  • 特開2020201557-演算システムおよび方法 図000014
  • 特開2020201557-演算システムおよび方法 図000015
  • 特開2020201557-演算システムおよび方法 図000016
  • 特開2020201557-演算システムおよび方法 図000017
  • 特開2020201557-演算システムおよび方法 図000018
  • 特開2020201557-演算システムおよび方法 図000019
  • 特開2020201557-演算システムおよび方法 図000020
  • 特開2020201557-演算システムおよび方法 図000021
  • 特開2020201557-演算システムおよび方法 図000022
  • 特開2020201557-演算システムおよび方法 図000023
  • 特開2020201557-演算システムおよび方法 図000024
  • 特開2020201557-演算システムおよび方法 図000025
  • 特開2020201557-演算システムおよび方法 図000026
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2020-201557(P2020-201557A)
(43)【公開日】2020年12月17日
(54)【発明の名称】演算システムおよび方法
(51)【国際特許分類】
   G06N 3/04 20060101AFI20201120BHJP
   G06N 3/08 20060101ALI20201120BHJP
   G06N 3/067 20060101ALI20201120BHJP
【FI】
   G06N3/04 190
   G06N3/08
   G06N3/067
【審査請求】未請求
【請求項の数】13
【出願形態】OL
【全頁数】24
(21)【出願番号】特願2019-106056(P2019-106056)
(22)【出願日】2019年6月6日
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002066
【氏名又は名称】特許業務法人筒井国際特許事務所
(72)【発明者】
【氏名】永田 真斗
(72)【発明者】
【氏名】奥村 忠嗣
(72)【発明者】
【氏名】安藤 正彦
(57)【要約】
【課題】リザバー・コンピューティング(RC)を用いた演算システムに関して、演算の性能を向上できる技術を提供する。
【解決手段】演算システムは、入力部201、リザバー部202、および出力部203を有する再帰型ニューラル・ネットワーク(RNN)を用いて演算を行う。リザバー部202は、複数のノード12が円環状に結合される。円環状の結合は、複数のノード12における各ノード12間の結合強度を決定する結合配列において、円環上で近くに配置されるノード12間の結合強度が、円環上で離れて配置されるノード12間の結合強度よりも大きいことである。複数のノード12には、円環上の方向で、各ノード12の活性化関数の非線形性を指定するパラメータであるg値が、周期的に変化するように設定されている。
【選択図】図2
【特許請求の範囲】
【請求項1】
入力部、リザバー部、および出力部を有する再帰型ニューラル・ネットワークを用いて演算を行う演算システムであって、
前記リザバー部は、複数のノードが円環状に結合され、
前記円環状の結合は、前記複数のノードにおける各ノード間の結合強度を決定する結合配列において、前記円環上で近くに配置されるノード間の結合強度が、前記円環上で離れて配置されるノード間の結合強度よりも大きいことであり、
前記複数のノードには、前記円環上の方向で、前記各ノードの活性化関数の非線形性を指定するパラメータであるg値が、周期的に変化するように設定されている、
演算システム。
【請求項2】
請求項1記載の演算システムにおいて、
前記複数のノードには、前記円環上の方向で、前記g値の対数が等間隔となるように設定されている、
演算システム。
【請求項3】
請求項1記載の演算システムにおいて、
前記結合配列は、前記円環上の方向で、前記各ノードについて、隣接するノード間の結合強度の絶対値の期待値が、1つのノードを介して配置されるノード間の結合強度の絶対値の期待値よりも大きい、
演算システム。
【請求項4】
請求項1記載の演算システムにおいて、
前記結合配列における結合強度は、ランダム関数を用いて決定されている、
演算システム。
【請求項5】
請求項1記載の演算システムにおいて、
前記結合配列における結合強度は、ランダム関数による配列と、ガウス関数による配列との演算によって決定されている、
演算システム。
【請求項6】
請求項1記載の演算システムにおいて、
前記結合配列は、前記複数のノードに付与した連続した番号に基づいて、前記番号の順に前記円環状の結合を作成し、前記番号が近いノード間ほど結合強度が大きくなるようにして作成されている、
演算システム。
【請求項7】
請求項1記載の演算システムにおいて、
前記リザバー部と前記出力部との結合強度を指定する出力結合配列は、学習データ入力時の前記複数のノードの出力値の線形和と、理想的な出力値との誤差の二乗和が最小となる最小二乗法によって決定されている、
演算システム。
【請求項8】
請求項1記載の演算システムにおいて、
前記リザバー部と前記出力部との結合強度を指定する出力結合配列は、学習データ入力時の前記複数のノードの出力値の線形和と、理想的な出力値との誤差に、正則化項を追加した、Lasso回帰手法によって決定されている、
演算システム。
【請求項9】
請求項1記載の演算システムにおいて、
計算機を備え、
前記計算機は、
前記演算を行う処理装置と、
前記演算に係わるデータを記憶する主記憶装置および補助記憶装置と、
前記入力部への入力データを入力する入力装置と、
前記出力部からの出力データを出力する出力装置と、
を有する、演算システム。
【請求項10】
請求項1記載の演算システムにおいて、
前記再帰型ニューラル・ネットワークは、時間遅延型リザバー・コンピューティングとして実装されている、
演算システム。
【請求項11】
請求項10記載の演算システムにおいて、
光回路を含むリザバーデバイスを備え、
前記リザバーデバイスは、前記演算の一部を、前記光回路を用いて行う、
演算システム。
【請求項12】
請求項11記載の演算システムにおいて、
前記光回路は、前記リザバーデバイスへの入力信号に対するマスク処理を行い、
前記マスク処理は、前記円環上における前記g値の設定に対応して、強度が周期的に変化するマスクパターンを用いる処理である、
演算システム。
【請求項13】
入力部、リザバー部、および出力部を有する再帰型ニューラル・ネットワークを用いて演算を行う演算システムにおける演算方法であって、
前記リザバー部を作成するステップを有し、
前記リザバー部は、複数のノードが円環状に結合され、
前記円環状の結合は、前記複数のノードにおける各ノード間の結合強度を決定する結合配列において、前記円環上で近くに配置されるノード間の結合強度が、前記円環上で離れて配置されるノード間の結合強度よりも大きいことであり、
前記複数のノードには、前記円環上の方向で、前記各ノードの活性化関数の非線形性を指定するパラメータであるg値が、周期的に変化するように設定されている、
演算方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、非線形演算、時系列信号処理、および機械学習等の情報処理を行う計算機等を含む演算システムの技術に関し、再帰型ニューラル・ネットワーク(Recurrent Neural Network:RNNと記載する場合がある)に係わる技術に関する。
【背景技術】
【0002】
機械学習による情報処理の中でも、人工ニューラル・ネットワーク(Artificial Neural Network:ANN)は、画像や音声等の情報処理において、高い識別性能を示している。ANNは、脳における神経細胞の機能や構造を模倣したニューラル・ネットワーク(NN)である。ANNの中でも、順伝搬型NN(Feedforward Neural Network)と再帰型NN(RNN)とがある。順伝搬型NNは、ネットワーク内を信号が一方向にのみ伝わるNNである。RNNは、ネットワーク内で信号が遡ることを許容するNNであり、双方向に信号が伝播するモデルである。特に、RNNは、入力信号の履歴に依存して出力信号が変化するため、順序の意味のある情報、例えば音声・文章・動画等の時系列信号処理に適したアルゴリズムである。RNNは、ノード間の結合が配列に沿った有向グラフを形成する。RNNは、つながりのある入力を扱うために内部状態、言い換えると記憶を用いる。RNNは、文字認識や音声認識等のタスクに有用である。
【0003】
一般的なRNNは、ネットワークを構成するノードと呼ばれる計算単位におけるすべてのノード間の結合強度を、学習によって決定する必要がある。これは、ノード数やデータ数の増加に対して指数的に計算コストが増加することを意味し、高速処理のためには大きな計算資源を要する。
【0004】
このような課題に対し、RNNの一種として、リザバー・コンピューティング(Reservoir Computing:RC)が注目されている。RCは、ネットワーク構造を、入力層、中間層、および出力層の三つに分け、中間層から出力層への結合強度のみを学習する。中間層は、リザバーとも呼ばれる。RCは、再帰的構造を持つ中間層の結合強度を固定しているため、一般的なRNNと比べて、学習時の変数が大幅に削減され、高速処理が容易であるという特徴を持つ。さらに、RCは、中間層のネットワーク構造の変調が不要であることから、中間層を、光回路、ソフトマテリアル、磁性体、分子等のような物理的性質を利用した素子に置き換えることができる。特に、光回路を利用して実装した光RCは、光伝搬の高速性による高速情報処理を実現する。
【0005】
RCでは、一般的に、ノードの演算処理に非線形変換が採用され、信号変換の非線形性は、過去の信号情報の記憶能力とトレードオフの関係にある。従来技術例のRCとして、非線形性と記憶能力を両立するために、非線形変換を行うノードと線形変換を行うノードとをランダムに結合する方法が提案されている。例えば、非特許文献1は、そのような方法を提案している。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Masanobu Inubushi and Kazuyuki Yoshimura, "Reservoir Computing Beyond Memory-Nonlinearity Trade-off", Scientific Reports 7, 10199 (2017).
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、従来技術例のRCを用いた演算システムは、演算の性能に関して改善余地がある。従来技術例のRCでは、例えば線形変換が望ましいタスクと非線形変換が望ましいタスクとの一方のタスクの場合にしか信号識別の精度が確保できず、他方のタスクの場合には信号識別の精度が悪化することがあった。
【0008】
本発明の目的は、上記RCを用いた演算システムに関して、演算の性能を向上できる技術を提供することである。本発明の他の目的は、線形変換が望ましいタスクと非線形変換が望ましいタスクとのどちらなのかが未知であるタスクの場合でも、言い換えると、タスクの望ましい信号変換特性に依らずに、高い精度で信号識別を可能とする技術を提供することである。上記以外の課題等については、発明を実施するための形態で説明される。
【課題を解決するための手段】
【0009】
本発明のうち代表的な実施の形態は、以下に示す構成を有する。一実施の形態の演算システムは、入力部、リザバー部、および出力部を有する再帰型ニューラル・ネットワークを用いて演算を行う演算システムであって、前記リザバー部は、複数のノードが円環状に結合され、前記円環状の結合は、前記複数のノードにおける各ノード間の結合強度を決定する結合配列において、前記円環上で近くに配置されるノード間の結合強度が、前記円環上で離れて配置されるノード間の結合強度よりも大きいことであり、前記複数のノードには、前記円環上の方向で、前記各ノードの活性化関数の非線形性を指定するパラメータであるg値が、周期的に変化するように設定されている。
【発明の効果】
【0010】
本発明のうち代表的な実施の形態によれば、上記RCを用いた演算システムに関して、演算の性能を向上できる。また、代表的な実施の形態によれば、タスクの望ましい信号変換特性に依らずに、高い精度で信号識別を可能とする。
【図面の簡単な説明】
【0011】
図1】本発明の実施の形態1の演算システムの構成を示す図である。
図2】実施の形態1で、RCの構造概念を示す図である。
図3】実施の形態1で、RCのリザバー部のノード間の結合配列に対応するヒートマップを示す図である。
図4】実施の形態1の演算システムにおける処理フローを示す図である。
図5】実施の形態1で、3種のセンサ応答値および3種の計測対象の個別応答値を示す図である。
図6】実施の形態1で、定量識別タスクにおける個別対象強度の平均予測誤差を示す図である。
図7】実施の形態1で、式9の定数Smaxsoの設定に関する表、および式6の係数の設定に関する表を示す図である。
図8】実施の形態1で、リザバー部のg値の設定に関する説明図である。
図9】実施の形態1で、リザバー部の結合配列の作成例を示す図である。
図10】比較例の演算システムにおけるRCの構造概念を示す図である。
図11】比較例の演算システムで、RCにおける結合配列に対応するヒートマップを示す。
図12】実施の形態2の演算システムにおけるリザバーデバイスの構成例を示す図である。
図13】実施の形態2で、マスク処理の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0013】
[課題等]
課題等について補足説明する。図10は、実施の形態に対する比較例として、従来技術例におけるRCの構造例を示す。このRC300のリザバー部302は、ランダムに結合された複数のノード32として、線形演算ノード32Aおよび非線形演算ノード32Bを混載して備えるという特徴を持つ。
【0014】
図10のRC300は、入力部301、リザバー部302、および出力部303を備える。入力部301は、入力信号の複数のデータに対応する複数のノード31を備える。出力部303は、出力信号の複数のデータに対応する複数のノード33を備える。リザバー部302は、複数のノード32を有し、各ノード32間がリンク305で結合されている。各ノード32間の結合は、結合配列で規定されている。入力部301のノード31とリザバー部302のいくつかのノード32とがリンク304で結合されている。リザバー部302のいくつかのノード32と出力部303のノード33とがリンク306で結合されている。リンク304,305,306は、ノード間結合である。
【0015】
リザバー部302のノード32は、線形演算ノード32Aと、非線形演算ノード32Bとを有する。各ノード32の演算は、活性化関数による演算である。線形演算ノード32Aでは、例えばy=axのような線形演算が行われる。非線形演算ノード32Bでは、例えばy=tanh(x)のような非線形演算が行われる。
【0016】
このように、従来技術例のRCは、リザバー部301のネットワーク構造において、ランダムに結合される線形演算ノード32Aと非線形演算ノード32Bとが混在している。しかしながら、このようなRCでも、信号処理のタスクとして、線形演算が適したタスクと、非線形演算が適したタスクとの一方でしか高精度が実現できない。
【0017】
図11は、図10のRC300に対応した、リザバー部301のネットワーク構造を規定する結合配列に相当するヒートマップを示す。このヒートマップは、ランダムに結合された各ノード32間の結合強度を濃淡によって表す。このヒートマップでは、図示のように、結合強度が大きいことを表す白や黒の値がランダムに分布している。この結合配列は、ランダムに選択された結合強度、言い換えると確率的に選択された結合強度を持つ。比較例のRC300におけるリザバー部301の複数のノード32は、この結合配列に従って、ノード32間がランダムな結合強度で結合されている。
【0018】
(実施の形態1)
図1図9を用いて、本発明の実施の形態1の演算システムについて説明する。実施の形態1の演算システムは、RCとしてRNNを用いて演算処理を行うシステムである。このRCにおけるRNNは、入力部、リザバー部、および出力部を備える。入力部、リザバー部、および出力部は、入力層、中間層、および出力層に対応する。演算処理は、識別対象のタスクの入力信号に関する、非線形演算、時系列信号処理、および機械学習等である。実施の形態1の演算システムは、RCのリザバー部において特有の構造を有する。実施の形態1の演算方法は、実施の形態1の演算システムにおいて計算機が実行するステップを有する方法である。
【0019】
実施の形態1の演算システムは、リザバー部のネットワークを構成する複数のノードにおいて、ノード同士が円環状に結合されており、円環上で、各ノードが持つg値が、周期的に設定されている(後述の図2)。ノード間の結合は、結合配列で決定されている。g値、言い換えると非線形性パラメータは、ノードの活性化関数の非線形性を指定する値である。この演算システムは、結合配列において、例えば、複数のノードに、連続した番号(ノード番号)を付与し、ノード番号の順に結合されるような円環状のネットワークを作成する。この演算システムは、その作成の際に、ノード番号が近いほど、すなわち円環上で近くに配置されるノード間ほど、結合強度が大きくなるように、結合配列を作成する。なお、ノード間の結合は、確率的なものであって、結合強度の大小がある。最初の番号のノードと最後の番号のノードとの間でも結合されることで、円環状のネットワークとなる。
【0020】
これにより、この演算システムは、RCにおいて、タスク(対応する入力信号)の望ましい信号変換特性に依らずに、高精度での信号識別(例えば文字認識や音声認識)が実現できる。これにより、演算システムの性能を従来技術例よりも向上することができる。
【0021】
[演算システム]
図1は、実施の形態1の演算システムの機能ブロック構成を示す。実施の形態1の演算システムは、計算機1で構成されている。計算機1は、一般的なPCやサーバ等が適用できる。計算機1は、処理装置101、主記憶装置102、補助記憶装置103、入力装置104、および出力装置105を備え、これらはバス等で相互に接続されている。ユーザは、計算機1を操作し、RCを用いた演算の機能、例えば文字認識や音声認識の機能を利用する。ユーザは、例えば入力装置104を用いて情報や指示を入力し、出力装置105を用いて情報等を確認する。
【0022】
処理装置101は、演算システム全体の制御、演算およびデータの記録や読み出し等を実行するCPU等の集積回路を含む部分である。処理装置101は、主記憶装置102等を用いて、例えば制御プログラムに従った処理を実行することにより、RCを用いた演算の機能を実現する。主記憶装置102は、処理装置101が実行する制御プログラム、処理するデータおよび処理結果情報等を、一時的に記憶する装置である。補助記憶装置103は、処理装置101が扱うそれらのデータを長期的に記憶する装置である。
【0023】
入力装置104は、演算で処理すべき信号またはデータをこの演算システム内に入力するための接続部でもある。入力部104には、センサ、通信装置、外部記憶媒体等が接続される、もしくは内蔵される。また、入力装置104は、ユーザによる、演算に必要なパラメータの設定や実行指示に用いる、マウスやキーボード等のヒューマン・マシン・インタフェースを含む。出力装置105は、入力信号および処理後の識別結果等の情報を、この演算システム外へ出力するための接続部でもある。出力装置105は、例えばモータ、通信装置、ディスプレイ、スピーカー等が接続される、もしくは内蔵される。
【0024】
主記憶装置102または補助記憶装置103の少なくとも一方には、制御プログラム、RCデータ、入力データ、出力データ、設定データ等が記憶されている。制御プログラムは、この演算システムの機能を実現するためのプログラムである。RCデータは、RCのモデルデータおよび学習データを含む。入力データは、RCへの入力信号等のデータである。出力データは、RCからの出力信号、認識結果情報等のデータである。設定データは、システム設定情報やユーザ設定情報等の設定ファイル等のデータである。
【0025】
[リザバー部]
図2は、実施の形態1におけるRCの構造概念図を示す。このRC200は、入力部201、リザバー部202、および出力部203を備える。リザバー部202は、複数のノード12として、円環状に結合された周期的非線形を持つノード12を備える。
【0026】
入力部201の複数のノード11の各ノード11は、一方向の矢印で示されるリンク204によって、リザバー部202のいくつかのノード12と結合されている。このリンク204の結合は、入力結合配列によって規定されている。リザバー部202の複数のノード12のいくつかのノード12は、一方向の矢印で示されるリンク206によって、出力部203の複数のノード13と結合されている。このリンク206の結合は、出力結合配列によって規定されている。リンク204,206,207は、ノード間結合である。ペア205は、説明のために、円環上で隣接する2つのノード12のペアの例を示す。一方向の矢印のリンク207は、ノード12間の結合を表す。リンク207の結合は、結合配列(リザバー部結合配列とも記載する)によって規定されている。
【0027】
リザバー部202の複数のノード12の各ノード12は、非線形演算ノードであり、ノード12毎の非線形性の程度は、ノード12毎のg値で設定されている。リザバー部202の複数のノード12は、概略的に円環状に結合されている。ノード12の個数をNとする。本例では、説明の便宜のために、リザバー部202は、複数のノード12として、N=10個のノード12を有し、識別のために番号#1〜#10を付与して示す。例えば、ペア205は、番号#1のノード12と番号#2のノード12とのペアである。リザバー部202のノード12の個数Nは、限定されるものではなく、32個、128個等、実際にはより多数であってもよい。ノード12への番号またはID等の付与は、情報処理上のものであって、他の態様でもいいし、省略してもよい。
【0028】
リザバー部202の複数のノード12における各ノード12間の結合は、結合配列で決定されている。演算システムは、この結合配列を設定する。この結合配列では、すべてのノード12のうちの各々の2つのノード12のペアについて、そのペアのノード12間の結合強度が規定されている。結合配列は、後述の図3のようにヒートマップで表せる。
【0029】
各ノード12は、そのノード12の活性化関数の非線形性の大きさを表すパラメータとして「g値」を有する。図2では、ノード12の非線形性に対応するg値を、白から黒までのグラデーションで表している。このg値は、白い方が非線形性が小さく、黒い方が非線形性が大きい。本例では、番号#1のノード12が、最も非線形性が小さく、番号#6のノード12が、最も非線形性が大きい。
【0030】
円環上において近くに配置されているノード12同士、例えば番号#1と番号#2のノード12のペア205は、結合強度が大きい。円環上において離れて配置されているノード12同士、例えば番号#1と番号#6のノード12のペアは、結合強度が小さい。あるノード12(例えば番号#1のノード12)をみた場合、円環上で両隣にある各ノード12(例えば番号#2と番号#10のノード12)との結合強度が大きい。なお、例えば番号#1のノード12と番号#3のノード12とが結合されているように、円環上で1つ以上のノード12を介して離れて配置されているノード12同士でも結合があり得る。また、例えば番号#10のノード12のように、自身から自身につながるリンクを持つ場合もある。
【0031】
[結合配列]
図3は、図2のRC200に関する、リザバー部202の結合配列に対応するヒートマップを示す。このヒートマップは、リザバー部202の円環状に結合された各ノード12間の結合強度を濃淡によって表す。このヒートマップにおいて、横軸および縦軸には、ノード12のノード番号(本例では1〜32)が並んでいる。結合強度を表す濃淡値は、本例では、グレーを0とし、白い方が正方向で大きく、黒い方が負方向で大きい。正方向は、例えば円環上の右回り(時計回り)とし、負方向は円環上の左回りとする。このヒートマップでは、左上から右下への斜めの領域、左下の領域、および右上の領域において、結合強度が大きい。
【0032】
[処理フロー]
図4は、実施の形態1の演算システムの処理フローを示す。図4は、ステップS1〜S13を有し、以下、ステップの順に説明する。計算機1は、入力装置104からの信号、具体的にはデータ入力の開始、またはマウス等の特定の操作をトリガーとして、処理を開始する。
【0033】
ステップS1で、処理装置101は、入力装置104からの信号、または補助記憶装置103に記録されている設定ファイルの特定の記述を読み出す。そして、それらに基づいて、処理装置101は、RCにおける新しい結合配列を生成するかどうかを確認する。言い換えると、処理装置101は、RCのネットワークにおける入力結合および内部結合の生成の有無を判定する。入力結合は、図2では、リンク204のような、入力部201のノード11とリザバー部202のノード12とを結合する部分であり、入力結合配列で規定される。内部結合は、図2では、リンク207のような、リザバー部202のノード12間を結合する部分であり、図3のような結合配列で規定される。出力結合は、リンク206のような、リザバー部202のノード12と出力部203のノード13とを結合する部分であり、出力結合配列で規定される。ステップS1で新規の生成を選択した場合(Y)には、ステップS2aに進み、新規の生成を選択しなかった場合(N)には、ステップS2bに進む。
【0034】
ステップS2aでは、処理装置101は、処理するデータと各ノードとの結合強度を表す入力結合配列を生成し、主記憶装置102および補助記憶装置103のRCデータに記憶する。ステップS3aでは、処理装置101は、ノード間の結合強度を表すリザバー部結合配列を生成し、主記憶装置102および補助記憶装置103のRCデータに記憶する。ステップS4aでは、処理装置101は、非線形性パラメータ配列を生成し、主記憶装置102および補助記憶装置103のRCデータに記録する。非線形性パラメータ配列は、リザバー部202の各ノード12のg値を規定する配列である。
【0035】
一方、ステップS2bでは、処理装置101は、補助記憶装置103に記録されている入力結合配列を読み出す。ステップS3bでは、処理装置101は、補助記憶装置103に記録されているリザバー部結合配列を読み出す。ステップS4bでは、処理装置101は、補助記憶装置103に記録されている非線形性パラメータ配列を読み出す。
【0036】
ステップS5では、処理装置101は、入力装置104からの信号、または補助記憶装置103に記録されている設定ファイルの特定の記述を読み出し、新規の学習を行うかどうかを確認する。新規の学習を行う場合(Y)にはステップS6へ進み、行わない場合(N)にはステップS9bへ進む。
【0037】
[入力結合配列]
入力結合配列は、リザバー部202のi番目のノード12と入力部201のk番目のデータ列(対応するノード11)との結合強度を、結合強度Winikとして表す。処理装置101は、この結合強度Winikの入力結合配列の各要素の値をランダムに決定する。実施の形態1の例では、この配列の各要素は、半数がゼロであり、残りの半数を、平均値がゼロ、標準偏差が0.33の正規分布から確率的に選択した。
【0038】
[リザバー部結合配列]
リザバー部結合配列は、i番目のノード12とj番目のノード12との結合強度を、結合強度Wresijとして表す。i,jは、1〜Nの範囲内の値である。処理装置101は、この結合強度Wresijのリザバー部結合配列の各要素の値を以下の手順で決定する。実施の形態1の例では、処理装置101は、列要素にランダムな値を持つ2次元配列Wrandijを生成する。2次元配列Wrandijの各要素は、半数がゼロであり、残りの半数を、平均値がゼロ、標準偏差が0.33の正規分布から確率的に選択した。リザバー部202のノード12の個数Nが例えばN=32である場合、2次元配列Wrandijは、図11に示すヒートマップと等しい。
【0039】
次に、処理装置101は、リザバー部202のノード12の個数Nと同数の要素を持つベクトルに、中央で最大値を取り、中央と比べて端の要素の値が小さくなるように、各要素値を決定した。中央とは、つまり、要素番号が要素数の半分である要素を指す。
【0040】
実施の形態1の例では、この際に、最大値が1を取るガウス関数を用いた。なお、この関数としては、他にも、三角波や矩形波等を用いることも可能である。
【0041】
処理装置101は、上記ベクトルを、ノード12の個数Nと同数となるまで、1要素ずつ循環シフトしながら複製し、シフト量の順に連結することで、2次元配列を生成した。さらに、処理装置101は、上記連結の方向に対し、上記2次元配列をノード12の個数Nの半数だけ循環シフトすることで、各行において対角要素が最大値を取る2次元配列を得た。この2次元配列を、2次元配列Wgaussijとする。
【0042】
最後に、処理装置101は、上記Wresijと上記Wgaussijの要素積を演算することで、リザバー部202の円環状のネットワークにおいて隣接するノード12ほど結合強度の絶対値の期待値が大きくなるように設計された2次元配列Wresijを生成した。
【0043】
ここで記述する期待値とは、ノード12間の結合をランダムに決定する操作を複数回行い、各操作の試行で決定された結合強度を平均した際に、収束する値のことを指す。
【0044】
図3のヒートマップは、このような処理によって生成された、N=32の場合のリザバー部結合配列を示す。このリザバー部結合配列において、隣接したノード12間の結合強度を示す対角要素(左上から右下の斜めの領域)、および、(i,j)=(1,32)と(32,1)の近傍(左下の領域および右上の領域)では、高い頻度で大きな絶対値を持つ結合強度が設定されていることがわかる。
【0045】
上記処理手順によって生成したリザバー部結合配列によって、図2に示すようにリザバー部202の複数のノード12を円環状に作成した。この場合、ノード番号が近いノード12のペアほど、結合強度の絶対値に対する期待値が大きくなるように、結合強度が決定されている。ただし、最初の番号#1のノード12は、次の番号#2のノード12に隣接して結合しているだけでなく、最後の番号#N=#10のノード12とも反対側で隣接して結合している。最後の番号#N=#10のノード12は、番号#N−1のノード12と番号#1のノード12とに隣接して結合している。これにより、円環が形成されている。一般化すると、ある番号#iのノード12は、番号#i+1のノード12と番号#i−1のノード12とのそれぞれに隣接し結合している(言い換えると強い結合を持つ)。処理装置101は、例えばノード番号の昇順に処理を行うが、最後の番号#Nのノード12と最初の番号#1のノード12との間も結合されることで、円環が形成される。
【0046】
ノード番号が近いノード12のペアとは、例えば、番号#1のノード12に対しては、番号#2のノード12とのペアと、番号#10のノード12とのペアがある。ノード番号の昇順(#1→#2→#3→……)に対応する正方向のペアと、ノード番号の降順(#1→#10→#9……)に対応する負方向のペアとがある。いずれの方向のペアでも、近くに配置されているノード12同士のペアの結合強度が、遠くに配置されているノード12同士の結合強度よりも大きい、すなわち相対的に大きいように、結合配列が決定されている。なお、相対的に結合強度が大きいものを強い結合、相対的に結合強度が小さいものを弱い結合と記載する場合がある。
【0047】
実施の形態1では、このようなリザバー部202のノード12の結合強度の設計によって、同一のネットワーク内に強い結合と弱い結合を形成し、ノード番号が大きく異なるノード12同士、言い換えると円環上で遠くに離れているノード12同士の直接的な影響を抑制した。
【0048】
また、実施の形態1では、リザバー部202のノード12群のg値の設計としては、円環状の結合において、ノード番号順に、言い換えると円周の方向で、g値が最小値から最大値までの範囲内で周期的に変化するように設計されている。例えば最初の番号#1のノード12のg値が最小であり、正方向で円環上の反対側の番号#6のノード12まで次第にg値が増加し、番号#6のノード12でg値が最大となる。そして、番号#6のノード12から最後の番号#N=#10のノード12および最初の番号#1のノード12まで次第にg値が減少する。
【0049】
上記非線形性パラメータ配列は、i番目のノード12に対する非負の要素gで表されるベクトルである。一般的に、RCは、活性化関数と呼ばれるノード演算関数にシグモイド関数を用いる。これと同様に、実施の形態1の例では、活性化関数に、シグモイド関数として、非線形性パラメータ配列を含むtanh関数を用いる。tanh関数を用いて、ある時刻tにおけるi番目のノード12の出力値を、下記の式1で演算する。
【0050】
【数1】
【0051】
ここで、x(t)は、時刻tにおけるi番目のノード12への入力値であり、下記の式2を用いた。
【0052】
【数2】
【0053】
式2のgは、i番目のノード12の非線形性を調整する非負のパラメータ(g値)であり、非線形性パラメータ配列とも記載する。入力結合配列Winikは、i番目のノード12と入力部201のk番目のデータとの結合強度の重みである。Iは、入力部201のk番目のデータの値である。実施の形態1の例における、非線形性パラメータ配列gは、式1および式2に示すように、入力部201からリザバー部202の各ノード12へ入力される信号の強度を調整するパラメータとして作用し、この値が大きいほど、信号変換の非線形性が増す。
【0054】
上記非線形性パラメータ配列gは、値が大きいほど、リザバー部202の演算における非線形効果が増大する。したがって、ノード12の番号(言い換えると円環上の位置)に対して周期的な値を取るg値(g)を設定することで、円環上で隣接するノード12同士(つまり強い結合を持つノード12のペア)が近い非線形性を備えるという構造を形成できる。実施の形態1の例では、gが取り得る最大値を10、最小値を10−1とし、非線形性パラメータ配列gを、下記の式3で規定した。
【0055】
【数3】
【0056】
式3の場合、リザバー部202の複数のノード12は、円環上で、g値の周期的な特性として、g値の対数(Log10)が等間隔となるように設定される。なお、これに限らず、上記非線形性パラメータ配列gを決定するノード番号iの関数は、タスクに合わせて自由に設計することができる。
【0057】
図4に戻る。ステップS1で新規の生成を選択した場合(Y)、またはステップS5で新規の学習を選択した場合(Y)には、ステップS6が行われる。ステップS6で、処理装置101は、学習データを、入力装置104または補助記憶装置103のRCデータから読み出し、上記の式1および式2を用いて、ノード出力値へと変換する。ノード出力値は、図2では、リザバー部202のノード12から出力部203のノード13(対応するデータ)へと出力される値である。
【0058】
ステップS7で、処理装置101は、ノード出力値を、主記憶装置102および補助記憶装置103の出力データへ記録する。
【0059】
ここで、学習データとは、式2における入力値Iと、入力に対応する理想的な出力値が存在するデータとを意味する。
【0060】
ステップS8で、処理装置101は、RCへの入力が終了かどうかを確認する。処理装置101は、学習データのすべてが入力された場合、または、補助記憶装置103に記録されている設定ファイルの特定の記述において指定されている学習に用いるデータのすべてが入力された場合、または、入力装置104からの信号によって学習の終了が指定された場合(Y)には、学習データの入力を終了し、ステップS9aへ進む。入力が終了ではない場合(N)、ステップS6に戻り、同様に繰り返しである。
【0061】
ステップS9aで、処理装置101は、ステップS7で記録されたノード出力値から、学習データに対応した理想的な出力値との誤差と正則化項との和が最小となる出力結合配列を生成する。処理装置101は、生成した出力結合配列を主記憶装置102および補助記憶装置103のRCデータへ記録する。
【0062】
一方、ステップS5で新規の学習を選択しなかった場合、ステップS9bで、処理装置101は、補助記憶装置103に記録されている出力結合配列を読み出す。
【0063】
[出力結合配列]
出力結合配列は、リザバー部202と出力部203との結合強度を指定する配列である。出力結合配列は、i番目のノードと出力部203のm番目のデータとの結合強度を、Woutimとして表し、ある時刻tにおける出力部203のm番目の出力値を、下記の式4で演算する際の係数である。
【0064】
【数4】
【0065】
出力結合配列を計算する方法としては、学習データ入力時のステップS7で記録したノード出力値に対して、最小二乗法を用いる方法がある。特定の非線形性が適したタスクの場合、一部のノード出力値のみを用いた係数を用いることが好ましい。他にも、一部のノード出力値のみを用いる学習が可能な方法として、一般にLasso回帰と呼ばれる手法がある。Lasso回帰手法は、最小二乗法の誤差に、さらに正規化項を加える手法である。Lasso回帰手法は、特定の非線形性が適した特定のタスクの場合に、最小二乗法よりも高精度が得られる。実施の形態1の例では、Lasso回帰手法を用い、出力結合配列は、下記の式5で求めることができる。
【0066】
【数5】
【0067】
式5で、λを持つ項は、Lasso回帰手法で追加される正規化項である。λは、非負の正則化パラメータである。ただし、Lasso回帰を解析的に解くことは困難であるため、解析解を求めることが適した条件の場合には、最小二乗法を用いることが好ましい。他の実施の形態として最小二乗法を用いてもよい。最小二乗法を用いる場合、式5においてλ=0とすればよい。
【0068】
式5の場合、出力結合配列は、学習データ入力時の複数のノード12の出力値の線形和と、理想的な出力値との誤差の二乗和が最小となる最小二乗法によって決定される。他の形態では、出力結合配列は、学習データ入力時の複数のノード12の出力値の線形和と理想的な出力値との誤差に正則化項を追加したLasso回帰手法によって決定される。
【0069】
ステップS9aまたはステップS9bの後、ステップS10へ進む。ステップS10で、処理装置101は、識別データを入力する。識別データは、RCによる識別の対象となるデータである。処理装置101は、識別データに対応する入力信号を、入力部201から上記入力結合配列を用いてリザバー部202の各ノード12に入力し、上記リザバー部結合配列および非線形性パラメータ配列を用いて、ノード出力値に変換する。さらに、ステップS11で、処理装置101は、上記出力結合配列を用いて、ノード出力値から識別値を出力する、言い換えると出力部203から認識結果のデータを出力する。また、ステップS12で、処理装置101は、その識別値を、主記憶装置102および補助記憶装置103の出力データへ記録する。
【0070】
ステップS13で、処理装置101は、識別データの入力を終了するかどうかを確認する。処理装置101は、上記識別データのすべてが入力された場合、または、補助記憶装置103に記録されている設定ファイルの特定の記述において指定された識別データのすべてが入力された場合、または入力装置104からの信号によって識別の終了が指定された場合(Y)には、識別データの入力を終了する。終了しない場合(N)、ステップS10に戻り、同様の繰り返しである。
【0071】
[特徴や効果等]
図5および図6等を用いて、実施の形態1における特徴や効果等についてより詳しく説明する。図5は、実施の形態1の演算システムにおける、RCを用いた識別の例として、3種のセンサのセンサ応答値、および3種の計測対象の個別応答値を示す。図5の(A)はセンサ応答値を示し、(B)は計測対象の個別応答値を示す。本例では、RCへの入力信号として、3種類のセンサの応答値を用いた。(A)で、横軸は時間、縦軸はセンサ応答値であり、3種類のセンサは、Sensor1,Sensor2,Sensor3で示される。これらのセンサ応答値は、計算機を用いて実際にシミュレートした値を示す。(B)で、縦軸は計測対象の応答値であり、3種類の計測対象は、Target1,Target4,Target7で示される。
【0072】
図6は、実施の形態1における、定量識別タスクにおける個別対象強度の平均予測誤差を示す。この定量識別タスクは、計測対象の強度を定量するタスクである。個別対象強度は、3種類の計測対象の強度である。
【0073】
実施の形態1における特徴の一つは、図2のように、リザバー部202の同一のネットワーク内に、異なる非線形性、特に周期的な非線形性を備える複数のノード12による信号処理を両立していることである。この特徴による効果について、上記複数のセンサ応答値から計測対象の強度を定量するタスクを用いて、評価する。
【0074】
計測対象は、センサ応答値から種類や強度を識別可能なものである。その計測対象について、例えば、画像、音、振動、におい、味等の計測信号、または、信号処理を加えた振幅等の特徴量を、センサ応答値として利用することができる。
【0075】
図5で、個別のセンサ応答値を表現する時間応答間関数としては、下記の式6のような二重指数波形を用いる。
【0076】
【数6】
【0077】
ここで、式6におけるs,oは、センサ(s)および計測対象(o)の種類を示す。α,βは、時間応答特性を決定する定数である。波形の最大値は、計測対象の種類とその強度によって決定されると仮定し、α,βに非依存となるように規格化した。このとき、tmaxは、波形が最大を取る時刻であり、下記の式7で表せる。
【0078】
【数7】
【0079】
さらに、センサ応答前の時刻(t<0)では、式6は負値を取る。そのため、刺激前の時刻では値がゼロを取るように、下記の式8のHeavisideステップ関数を用いた。
【0080】
【数8】
【0081】
また、計測対象の強度をcとし、強度cに対する応答強度を、下記の式9のシグモイド関数とした。
【0082】
【数9】
【0083】
ここで、式9におけるSmaxso,γ,cshiftは、関数の感度、閾値、およびダイナミックレンジを決定する定数である。γ,cshiftは、計測対象とセンサの組み合わせに依らずに一定(γ=1,cshift=1)とした。上記の式6、式8、および式9の積を取り、かつ複数の計測対象が同時に生じる場合には個々の応答の和を取るとする。そして、s番目のセンサの時間応答関数は、センサ応答開始時刻をt0として、下記の式10で表現した。
【0084】
【数10】
【0085】
式10で、Inoiseは、正規分布を持つ雑音項であり、計測時のノイズに対応する。
【0086】
実施の形態1の例では、各計測対象の強度cは、対数スケールで等間隔な3水準の強度(c=1,3.2,10)とした。式9の定数であるSmax soは、図7の(A)の表1に示すように設定した。表1は、3種のセンサ(sensor type (s))と7種の計測対象(target type (o))との組み合わせを示す。Smax soは、7種の計測対象(target type (o))に対し、2進法における3ビット表現に倣って0または1で表現した。Smax soは、3種の計測対象(o=1〜3)については単一のセンサが応答し、他の3種の計測対象(o=4〜6)については2種のセンサが応答し、残り1種の計測対象(o=7)については3種のセンサが応答するように設定した。
【0087】
また、式6で、時間応答特性に関わる係数(αso,βso)は、図7の(B)の表2に示すように設定した。表2は、係数(αso,βso)と7種の計測対象(Target type(o))との対応を示す。係数(αso,βso)は、各センサで共通に、応答するセンサ数が多い計測対象ほど、速い時間応答を示すように、すなわちαso,βsoともに大きな値を持つように、設定した。
【0088】
図5の(A)では、7種の計測対象(Target1〜Target7)のうち、3種の計測対象(o=1,4,7)に関する各センサ(s=1,2,3)の応答値を抽出して示している。このグラフで、中央の破線の時刻よりも左側の期間は単独入力、右側の期間は2種混合入力(例えばo=1,4の組み合わせ等)の応答データを示している。
【0089】
計算機1は、定量識別タスクでは、上記単独入力における応答データから、図5の(B)に示す各計測対象の応答への変換を学習する(図4のステップS6〜S8,S9aに対応する)。そして、計算機1は、定量識別タスクでは、上記2種混合入力における識別結果を出力し(ステップS10〜S13に対応する)、定量性を評価する。
【0090】
図6では、定量識別タスクにおける個別計測対象強度の平均予測誤差を示している。図6の(A)は、平均絶対誤差を示す。図6の(B)は、平均相対誤差を示す。横軸の識別数は、図7の表1における計測対象の種類を表す番号(o=1〜7)のうち、学習および識別に用いる最大数を表す。したがって、識別数が多くなるほど、タスクの難度が高まる。また、図6中で、リザバー部202のノード12毎に非線形性パラメータ配列g(g値)が周期的な値をとる場合、すなわち実施の形態1のRC200の構造例の場合601を、実線と丸でプロットしており、g=10−1〜10である。また、リザバー部202の全てのノード12で一定であり、g=10−1の場合602を、点線と四角でプロットしている。全てのノード12で一定であり、g=10−2の場合603を、一点鎖線と三角でプロットしている。
【0091】
実施の形態1の例における非線形性パラメータ配列gは、前述の通り、値が大きいほど信号変換の非線形性が増す。よって、g=10−1=0.1の場合602では、g=10=100の場合603と比べて、線形変換に近い。g=10−1の場合602において、識別数が3の識別で最も誤差が小さいのは、以下の理由からである。すなわち、図7の表1のように、o=1〜3の計測対象は、s=1〜3の各センサと一対一に対応しているため、各計測対象の強度の定量には、各センサの信号をそのまま使用することが好ましいためである。
【0092】
しかし、o=4〜7の計測対象については、複数のセンサの信号を複合的に解析する必要がある。そのため、g=10−1の場合602、つまり線形変換では、識別が困難である。
【0093】
一方、非線形変換の効果が大きいg=10の場合603では、g=10−1の場合602とは反対に、識別数が7である、7種の全ての計測対象を識別する際に、最も誤差が小さく、識別数が減少するほど誤差が増加している。これは、信号変換の強い非線形性が、線形変換が好ましい少数の識別数において、定量性に悪影響を及ぼすためである。
【0094】
上記のように、比較例(図10)によるRCでは、あるタスクに対し、線形性の変換と非線形性の変換とのいずれか一方でしか高精度を実現できない。識別数が3の場合には、g=10−1の場合602のように線形性が高い変換が適しており、識別数が7の場合には、g=10の場合603のように非線形性が高い変換が適している。比較例では、あるタスクについて、どのような線形性または非線形性を持つネットワークが適しているかが未知である場合には、対応ができない。
【0095】
[リザバー部の設計]
上記のように、本発明者は、定量識別タスクに関して、識別すべき対象とセンサ特性との関係に応じて、RCにおける適した非線形性パラメータが異なることを見出した。本発明者は、その知見に基づいて、好適なRCのリザバー部の構造を検討した。本発明者は、事前に識別対象や特性、つまり演算に適したパラメータが未知の場合でも、識別対象を高精度に識別可能となるRCのリザバー部の構造を検討した。その結果、前述の図2のような構造を設計した。このリザバー部202は、円環状に結合された、周期的な非線形性パラメータを持つノード12群を備える。このリザバー部202は、各ノード12間の結合強度を決定する結合配列において、円環上で近くに配置されるノード12間の結合強度が、円環上で離れて配置されるノード12間の結合強度よりも大きい。このリザバー部202は、複数のノード12の円環上において、各ノード12のg値が、最小値と最大値との間で周期的に変化するように設定されている。
【0096】
本発明者が検討した例では、識別対象における識別数が多い場合、非線形性が高いモデルの方が、高精度を実現できた。また、識別数が少ない場合、線形性が高いモデルの方が、高精度を実現できた。そこで、本発明者は、線形性と非線形性との両方に、言い換えると非線形性の程度が異なる各種のタスクに、柔軟に対応できるように、好適なリザバー部の構造を設計した。この結果、比較例(図10)のように、単に線形演算ノード32Aと非線形演算ノード32Bとの2種類のノード32を混載するモデルとするのではなく、図2のようなリザバー部202の構造とした。
【0097】
このリザバー部202は、円環状のネットワーク構造、および円環上のノード12に周期的な非線形性パラメータを持つ構造を備える。このリザバー部202は、g値で表される線形性から非線形性までの連続的で周期的な分布を持つ円環状の構造を持つモデルとした。このRC200は、リザバー部202の単一のネットワーク内に、連続的に変化する非線形性を備える信号変換を内包している。そのため、上記RC200の場合601では、図6の全ての識別数において、従来技術例のg=10−1の場合602、およびg=10の場合603よりも、同程度または低い誤差で、計測対象強度を定量することができた。このRC200の場合601では、識別数が3または7においては、従来の適した非線形性パラメータの場合と同等の誤差で定量ができた。さらに、識別数が4〜6の範囲においては、従来の場合(場合602,603)よりも低い誤差で定量ができた。この傾向は、図6の(A)のように計測対象強度の真値がゼロの場合も含めて算出した絶対誤差と、(B)のように計測対象強度の真値の差を補正して算出した相対誤差との両方の評価法で同様であった。
【0098】
こうして、実施の形態1の演算システムでは、信号処理のタスクにおいて好ましい非線形性の程度を事前に知る必要無く、図2のような特有のリザバー部202の単一のネットワークを用いて識別が可能となる。その結果、実施の形態1によれば、識別すべき要素の数や、各応答特性を事前に知ることが難しい場合でも、より高精度で識別が可能である。実施の形態1の演算システムによれば、線形変換が望ましいタスクと非線形変換が望ましいタスクとのどちらなのかが未知である場合でも、言い換えると、タスクの望ましい信号変換特性に依らずに、高精度での識別が可能となる。
【0099】
[リザバー部の構造(1)]
図8等を用いて、実施の形態1におけるリザバー部202の構造や特徴について補足する。前述の図2のように、リザバー部202の円環上の複数のノード12は、周期的なg値を持つ。このリザバー部202のネットワーク構造では、g値が近いノード12ほど、結合強度が大きい、言い換えると強い結合を持つという特性を有する。ノード12間の結合および結合配列に関する別の表現としては以下のようにも言える。円環上で正方向に隣接配置されるノード12を、例えばノード#i,#i+1,#i+2,……のように表すとする。結合配列において、隣接するノード#iとノード#i+1とのペアの結合強度の絶対値の期待値は、1つのノードを介して隣接するノード#iとノード#i+2とのペアの結合強度の絶対値の期待値よりも大きい、となるように決定される。負方向のノード#i,#i−1,#i−2等の関係についても同様に決定される。
【0100】
図8の(A)には、g値の分布の設計に関するグラフを示し、横軸がノード番号、縦軸がg値である。図示のように、g値のグラフは、周期的に変化する形状を持つ。このg値のグラフは、前述のガウス関数等の周期的な関数で規定されてもよい。このg値の特性は、周期的であれば任意であり、整った形状を持たなくてもよい。
【0101】
計算機1は、このようなリザバー部202のネットワークを作成する。作成例は、前述のように、円環状に結合するノード12群のネットワークを作成し、円環上のノード12に円周方向(例えば正方向)に沿って番号を付与し、円環上のノード12の番号の順に周期的なg値を設定することである。これは、最初の番号#1のノード12と最後の番号#Nのノード12との結合を含む。図6の(B)には、(A)に対応して、リザバー部202のネットワークにおけるg値の割り当てのイメージを示し、番号#1から番号#10まで正方向に順次に割り当てる例を示す。作成例は、これに限らず可能であり、図2のようなRC200の構造が実現できればよい。
【0102】
ノード12のg値の周期的な特性は、(A)のような1周期の構成に限らず可能である。(C)は変形例における特性を示し、g値が最小値と最大値との間で、2周期で変化する場合を示す。
【0103】
他の作成例としては以下が挙げられる。計算機1は、円環状に結合するノード12群のネットワークを作成し、ノード12の個数Nと等しい数の任意の非線形性パラメータ(g値)を用意する。この複数のg値の分布は任意であり限定しない。図6の(D)には、このg値の分布の設計に関するg値の集合を示す。そして、計算機1は、円環上で、ある任意のノード12、例えば選択した#iのノード12に、用意したg値のうちの最小のg値を設定する。計算機1は、その#iのノード12から、円環上で隣接するノード12(例えば#i+1,#i−1のノード12)に対し、他のg値を、g値の昇順に順次に割り当てるように設定する。図6の(E)に、この際の割り当てのイメージを示す。g値の降順とすることも可能である。このように、g値の大または小の順に、あるノード12を起点として隣接するノード12に順次に割り当ててゆくような方法でも、図6の(A),(B)の方法と同様に、所定の特性のネットワークが作成できる。
【0104】
[リザバー部の構造(2)]
また、図9は、前述のリザバー部202の結合配列(ノード12間の結合強度Wresij)に関する作成の具体例を示す。本例では、ノード12の個数Nを32(i=1〜32)とし、j=16の場合を示す。図9の各グラフの横軸はノード番号である。(A)は、ランダム値を持つ2次元配列Wrandijの例を示す。この2次元配列Wrandijの生成では、任意のランダム関数を用いればよい。(B)は、ガウス関数による2次元配列Wgaussijを示す。ガウス関数は、図示のように周期的な変化を与える関数である。本例では、円環状の結合を実現するために、ガウス関数を用いている。(C)は、(A)の2次元配列Wrandijと(B)の2次元配列Wgaussijとの演算(例えば積)によって得られる結合強度Wresijを示す。(C)の結合強度Wresijでは、番号が16のノード12と他の各ノード12との結合強度が示されている。ノード番号が16の付近では、結合強度が相対的に大きくなっている。
【0105】
[GUI]
実施の形態1の演算システムは、図1の入力装置104および出力装置105を用いて、ユーザに対するグラフィカル・ユーザ・インタフェース(GUI)となる画面等を提供する。このGUI画面には、図2のようなRC200の構成、少なくともリザバー部202のネットワークのモデルを含む情報を表示する。ユーザは、このGUI画面で、リザバー部202のモデルの設定や確認を行うことができる。ユーザは、例えば、リザバー部202のg値の詳細設定を行うこともできる。GUI画面には、例えば、前述の結合配列を表示してもよい。結合配列の表示は、ヒートマップに限らず、テーブル等での数値の表示としてもよい。GUI画面には、g値のグラフ等を表示してもよい。また、結合強度やg値の表示は、図2のモデルのノード12やリンク207の上に重ねるように情報を表示する等の態様でもよい。GUI画面では、例えばg値を規定する関数または特性、最小値や最大値等の設定値を設定できる。g値の特性、特に周期的な特性の設定は、線形、対数、sin関数、等のいくつかの種類から選択して設定ができる形態としてもよい。
【0106】
(実施の形態2)
図12図13を用いて、実施の形態2の演算システムについて説明する。以下では、実施の形態2における実施の形態1とは異なる構成部分について説明する。
【0107】
[演算システム]
図12は、実施の形態2の演算システムの構成として、リザバーデバイスの構成例を示す。実施の形態2の演算システムは、RCを行うリザバーデバイスとして実装されている。実施の形態2の演算システムは、実施の形態1(図1)と同様に、処理装置、主記憶装置、補助記憶装置、入力装置、および出力装置を備える。ただし、実施の形態2における処理装置は、一般的な大規模集積回路に加えて、時間遅延回路を備える。
【0108】
RCは、学習においてリザバー部の結合強度を変更しないという特徴を持つ。この特徴から、ノード間の信号伝達といった信号処理の一部を、物理現象によって代替することができる。これにより、高速処理、低消費電力、および低発熱といった好ましい性能が期待できる。物理現象を利用した物理RCにおいて、時間遅延を伴う非線形ノードおよび遅延ループから構成される時間遅延型RCは、構成がシンプルであるため、電子回路および光回路を含むデバイスとして実装することができる。特に、光回路は、通信の高速性、および伝搬損失が低いといった特性を有するため、高速かつ低消費電力な信号処理が期待できる。
【0109】
時間遅延型RCでは、遅延線内に複数の仮想ノードを設計する。この際、仮想ノードは、遅延線内に連続して存在するため、仮想ノード間の結合は、一般的に隣接しているものほど強くなる傾向がある。さらに、信号のフィードバック周期である遅延時間をTとし、N個の仮想ノードがあり、仮想ノード出力を、同一の遅延線内に入力する順番に1,2,……,N番目と番号付けするとする。すると、時刻tのN番目の仮想ノード出力の次に入力されるのは、時刻t+Tの1番目の仮想ノード出力となり、時刻が1ステップ(遅延時間T分)ずれるものの、円環状のネットワークを形成する。したがって、実施の形態に適用するRCとして、時間遅延型RCが適していると言える。
【0110】
そこで、実施の形態2の演算システムは、上記物理RCおよび時間遅延型RCを適用し、それらの信号処理の一部を、光回路を含むデバイスを用いて実装したものである。実施の形態2の演算システムは、光回路を含むリザバーデバイス2に実装された時間遅延型RCに基づいて、ノード12毎に周期的な値をとる非線形性パラメータ(g値)を備える。
【0111】
図12のリザバーデバイス2は、パワーデバイダ(power divider)21、増幅器22、光変調器23、遅延線24、受光器25、周波数フィルタ26、および増幅器27を備える。図12中の実線の矢印は電気信号を伝送する部分を示し、破線の矢印は光信号を伝送する部分を示す。光回路や光デバイスとしては、光変調器23および遅延線24が相当する。リザバーデバイス2の内部では、電気信号と光信号とを互いに変換しながら、遅延線24を含むフィードバックループを形成し、入力信号を出力信号へ変換する。この変換処理は、前述の図4のステップS6,S10に対応する。
【0112】
リザバーデバイス2は、識別対象の入力信号をパワーデバイダ21に入力する。パワーデバイダ21は、入力信号を、増幅器27からの信号に基づいて分割する。増幅器22は、パワーデバイダ21からの信号を増幅する。光変調器23は、増幅器22からの電気信号を、連続光に基づいて変調する。遅延線24は、光変調器23からの変調後の光信号を遅延させる。受光器25は、遅延線24からの光信号を受光して電気信号に変換する。周波数フィルタ26は、受光器25からの電気信号を所定の周波数でフィルタリングする。周波数フィルタ26からの電気信号は出力信号として出力される。また、増幅器27は、周波数フィルタ26からの電気信号を増幅し、増幅後の電気信号がパワーデバイダ21に入力される。
【0113】
[マスク処理]
図13は、リザバーデバイス2によるマスク処理の一例を示す。(A)は、横軸が時刻t、縦軸がI(t)である、時系列信号のグラフを示す。(B)は、(A)の時系列信号に関する変調後信号のグラフを示し、縦軸は光強度である。
【0114】
図12の入力信号は、式2における入力値Iをマスク処理によって変換したものである。リザバーデバイス2は、このマスク処理を行う機能を有する。以下、マスク処理の詳細を説明する。入力値Iは、図13の(A)に示すように、時刻tに従って変化する時系列信号(実線で示す)である。リザバーデバイス2は、始めに、入力値Iを遅延時間Tでサンプリングし、区間Tを持つ離散信号(破線で示す)に変換する。具体的には、リザバーデバイス2は、サンプルおよびホールド処理を実行する。次に、リザバーデバイス2は、図13の(B)に示すように、遅延時間Tを、ノード12(対応する仮想ノード)の個数N(本例ではN=9)に対応してN等分し、N個の各区間を変調する。変調は図12の光変調器23が行う。
【0115】
変調する値は、式2における非線形パラメータ配列gと入力結合配列Winikの要素積に相当する。図13の(B)では、仮想ノード番号iに対して、i=1で最小、i=5で最大を取るような周期的な非線形パラメータ配列gを用いている。非線形パラメータ配列g(g値)が、マスク処理のマスクパターンに対応する。
【0116】
上記マスク処理によって得られた変調後信号((B)の棒グラフ)が、リザバーデバイス2に入力される入力信号である。なお、実施の形態2の演算システムは、リザバーデバイス2の外部にマスク処理を行うデバイスを有してもよいし、リザバーデバイス2の内部にマスク処理を行う回路部分を有してもよい。
【0117】
上記入力信号は、パワーデバイダ21において、増幅器27より出力される信号と加算される。加算後信号は増幅器22によって増幅され、光変調器23において光信号に変換される。
【0118】
実施の形態2の例において、光変調器23は、マッハツェンダー干渉型の光変調器である。光変調器23は、光変調器23に入力される連続光の強度を、増幅器23から入力される電気信号に依存して変調する。この電気信号−光信号の変換は、入力される電気信号の電圧をV、光信号の振幅をPとして、下記の式11で表される。
【0119】
【数11】
【0120】
この際、式11中のωV+φの取り得る範囲をsin関数における半周期に制限し、かつ、電圧V=0の時に光信号振幅P=1となるように、増幅器23の増幅率ω、およびオフセット電圧φを調整する。この操作により、仮想ノードにおける信号変換は、対応する非線形パラメータ配列gが大きいほど非線形性が増大するように設計できる。
【0121】
光変調器23において変調された光信号は、遅延線24を経由して受光器25によって電気信号に再変換される。実施の形態2の例において、遅延線24は、光ファイバーを用いている。遅延線24の光ファイバーの長さによって、遅延時間Tを調整可能である。受光器25は、フォトダイオードを用いている。
【0122】
受光器25より出力される電気信号は、周波数フィルタ26の帯域をマスク信号の周波数より小さくすることにより歪められる。この歪みの効果は、1つ前の仮想ノード番号の出力信号の影響を受けるため、後段の増幅器27による増幅と合わせて、式2における右辺第二項の演算に相当する。
【0123】
周波数フィルタ26より出力される電気信号は、2つに分岐する。一方の信号は、増幅器27によって増幅され、パワーデバイダ21に入力されることで、遅延時間Tだけずれた、同一の仮想ノードへの入力信号と加算される。もう一方の信号は、出力信号として、次の処理へ渡される。具体的には、この出力信号は、ノード出力値として、主記憶装置102および補助記憶装置103の出力データに記録される(図4のステップS7に対応する)。あるいは、このノード出力値は、出力結合配列を用いて、識別値へ変換される(図4のステップS11に対応する)。
【0124】
上記のように、実施の形態2では、時間遅延型RCを用いることで、実施の形態1の図4の処理フロー中での、入力値をノード出力値へ変換するステップを、光回路として実装している。これにより、実施の形態2の演算システムでは、実施の形態1と同様に、信号処理のタスクにおいて好ましい非線形性の程度を事前に知る必要なく、リザバー部202の単一のネットワークを用いて識別が可能となる。さらに、実施の形態2によれば、光回路を用いるので、信号処理の高速化および低消費電力化等が可能である利点を有する。
【0125】
以上、本発明を実施の形態に基づいて具体的に説明したが、本発明は前述の実施の形態に限定されず、要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【0126】
1…計算機、11,12,13…ノード、200…RC、201…入力部、202…リザバー部、203…出力部、204,206,207…リンク(ノード間結合),205…ペア(ペアノード)。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13