(57)【特許請求の範囲】
【請求項１】
単一の非線形素子と複数の遅延素子から構成されるリング型のリザボアを有するリザボア素子であって、
前記非線形素子は非線形変調機能を備え、前記非線形素子は前記非線形変調機能を動的に変更可能な時変パラメータにより制御可能であり、
前記時変パラメータは、前記非線形素子の状態変数を変調すること、あるいは、前記リング型において前記非線形素子よりも１つ前の前記遅延素子の状態変数を変調すること、を行い、
前記非線形素子および前記遅延素子の段数に対応した周期を持つ時系列にしたがって前記時変パラメータを制御する制御部を備える、
リザボア素子。
【請求項２】
前記時変パラメータは、単位時間ごとに可変な値である前記時系列によって設定される、
請求項１に記載のリザボア素子。
【請求項３】
前記時変パラメータは、ＩＰ学習によって決定される前記時系列によって設定される、
請求項１または請求項２に記載のリザボア素子。
【請求項４】
前記時変パラメータは、対数正規分布によって決定される前記時系列によって設定される、
請求項１から請求項３のいずれか１項に記載のリザボア素子。
【請求項５】
前記非線形変調機能は、非線形関数としてシグモイドを用いた変調を行う、
請求項１から請求項４のいずれか１項に記載のリザボア素子。
【請求項６】
前記非線形変調機能は、非線形関数としてｔａｎｈを用いた変調を行う、
請求項１から請求項４のいずれか１項に記載のリザボア素子。
【請求項７】
前記非線形変調機能は、非線形関数としてＲｅＬｕを用いた変調を行う、
請求項１から請求項４のいずれか１項に記載のリザボア素子。
【請求項８】
前記非線形変調機能は、前記非線形関数を組み合わせた任意の関数を用いた変調を行う、
請求項５から請求項７のいずれか１項に記載のリザボア素子。
【請求項９】
前記非線形素子は、ＭＥＭＳ素子から構成される、
請求項１から請求項８のいずれか１項に記載のリザボア素子。
【請求項１０】
前記非線形素子は、光変調素子から構成される、
請求項１から請求項９のいずれか１項に記載のリザボア素子。
【請求項１１】
前記非線形素子は、スピン素子から構成される、
請求項１から請求項１０のいずれか１項に記載のリザボア素子。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リザボア素子に関する。
【背景技術】
【０００２】
ニューロモルフィックデバイスは、ニューラルネットワークにより人間の脳を模倣した素子である。ニューロモルフィックデバイスは、人間の脳におけるニューロンとシナプスとの関係を人工的に模倣している。【０００３】
ニューロモルフィックデバイスは、例えば、階層状に配置されたチップ（脳におけるニューロン）と、これらの間を繋ぐ伝達手段（脳におけるシナプス）と、を有する。ニューロモルフィックデバイスは、伝達手段（シナプス）が学習することで、問題の正答率を高める。学習は将来使えそうな知識を情報から見つけることであり、ニューロモルフィックデバイスでは入力されたデータに重み付けをする。【０００４】
ニューラルネットワークの一つとして、リカレントニューラルネットワークが知られている。リカレントニューラルネットワークは、非線形な時系列のデータを扱うことができる。非線形な時系列のデータは、時間の経過とともに値が変化するデータであり、株価等はその一例である。リカレントニューラルネットワークは、後段の階層のニューロンでの処理結果を前段の階層のニューロンに戻すことで、時系列のデータを処理することができる。【０００５】
リザボアコンピューティングは、リカレントニューラルネットワークを実現する一つの手段である。リザボアコンピューティングは、信号を相互作用させることで、再帰的な処理を行う。リザボアコンピューティングは、例えば、小脳の動作を模倣しており、再帰的なデータの処理やデータの変換（例えば、座標の変換）等を行う。【０００６】
上述のように、時系列信号のための機械学習として、リザボアコンピューティングが提案されている。そして、この機械学習による、エッジ学習への応用も期待されている。
時系列信号は時々刻々と変化するストリームデータであり、たとえば工場で稼働する設備やプロセスの状況を示すセンサデータやウェアラブルデバイスから得られた生体信号を計測し分析することで、機械の故障や生体の疾患の予兆を得ることができる。【０００７】
リザボアコンピューティングの概念を実際の素子に物理的に実装する試みが行われている。工学的な物理実装を行うリザボアコンピューティングとして、様々なデバイス構造が提案されている。
リザボアコンピューティングの概念を実際の素子として実装したものを、以下、リザボア素子と称する。
具体例として、スピントルク発振（ＳＴＯ）素子をチップ（ニューロン）として用いたニューロモルフィック素子が開発されている。【０００８】
非特許文献１および非特許文献２では、遅延帰還型の１次元リングトポロジーのリザボアコンピューティングとその実装手法について提案されている（非特許文献１および非特許文献２参照。）。
また、非特許文献３では、リザボアコンピューティングにおいて、パラメータを統計的にランダムに分布させるヒューリスティックな手法が提案されている（非特許文献３参照。）。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】H. Jaeger and H. Haas, Science, vol. 304, no. 5667, pp. 78-80, 2004
【非特許文献２】L. Appeltant, Reservoir computing based on delay-dynamical systems, 2012
【非特許文献３】G. Tanaka et al, Exploiting Heterogeneous Units for Reservoir Computing with Simple Architecture. 187-194, (2016) doi:10.1007/978-3-319-46687-3_20
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述のように、リザボアを物理的なデバイスとして実装したものが多岐にわたり提案されつつある。
しかしながら、リザボアの予測性能を向上するネットワーク構造はスモールワールドになることが示唆されているものの、電子デバイスとしては実現し難いという課題があった。例えば、リザボアを集積電子デバイスとして実装する場合には、配線の複雑さ、および、素子のフットプリントの課題があり、実用には至っていない。【００１１】
本発明は上記事情に鑑みてなされたものであり、リザボアの非線形変換性能を向上し、効果的に機能させることができるリザボア素子を提供する。
【課題を解決するための手段】
【００１２】
一構成例として、単一の非線形素子と複数の遅延素子から構成されるリング型のリザボアを有するリザボア素子であって、前記非線形素子は非線形変調機能を備え、前記非線形素子は前記非線形変調機能を動的に変更可能な時変パラメータにより制御可能であり、前記非線形素子および前記遅延素子の段数に対応した周期を持つ時系列にしたがって前記時変パラメータを制御する制御部を備える、リザボア素子である。
【発明の効果】
【００１３】
本発明に係るリザボア素子によると、リザボアの非線形変換性能を向上し、効果的に機能させることができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係るリザボア素子の構成を示す図である。
【図２】非線形素子の時変パラメータの値の時間的変化を示す図である。
【図３】第１態様例に係るノードの構成を示す図である。
【図４】第２態様例に係るノードの構成を示す図である。
【発明を実施するための形態】
【００１５】
以下、本実施形態について、図を適宜参照しながら詳細に説明する。
【００１６】
図１は、実施形態に係るリザボア素子１の構成を示す図である。
本実施形態に係るリザボア素子１は、リザボアコンピューティングにおける処理をデバイス化したものである。リザボアコンピューティングは、リカレントニューラルネットワークの一例である。
【００１７】
本実施形態では、リザボア素子１がアナログ回路で構成される場合について説明する。
なお、リザボア素子１がデジタル回路で構成される場合、アナログ回路と同様な機能がデジタル方式で実現される。
【００１８】
リザボア素子１は、リザボア１１と、読出部１２と、を含む。
ここで、リザボア素子１は、読出部１２を含まなくてもよい。
また、リザボア素子１は、他の構成部を含んでもよい。
【００１９】
リザボア１１は、入力部１５１と接続される。
入力部１５１は、リザボア素子１による処理対象となる信号を外部からリザボア１１に入力する部分であり、例えば、信号線であってもよい。
読出部１２は、出力部１５２と接続される。
出力部１５２は、リザボア素子１による処理結果の信号を読出部１２から外部に出力する部分であり、例えば、信号線であってもよい。
【００２０】
なお、例えば、入力部１５１はニューラルネットワークの入力層を構成してもよく、また、読出部１２および出力部１５２は当該ニューラルネットワークの出力層を構成してもよい。この場合、入力層および出力層の一方または両方がリザボア素子１に含まれてもよい。
【００２１】
リザボア１１は、機能的に、１個のリアルノードであるノードＡ１と、（Ｎ−１）個のバーチャルノードであるノードＡ２〜ＡＮと、を有する。本実施形態では、これらのノードをまとめてＮ個の実効ノードＡ１〜ＡＮとして説明する場合がある。
Ｎは、２以上の整数である。
また、リザボア１１は、制御部１１１を備える。
【００２２】
単一（１個）のリアルノードであるノードＡ１は、非線形素子から構成される。当該非線形素子は、非線形変調を行う機能（非線形変調機能）を備える。
（Ｎ−１）個のバーチャルノードであるノードＡ２〜ＡＮは、遅延素子から構成される。本実施形態では、当該遅延素子が仮想的な非線形素子として振る舞う。
【００２３】
ノードＡ１は、制御部１１１により制御されるパラメータ（本実施形態では、時変パラメータと称する。）に応じて、入力部１５１から入力される時系列信号を非線形変換し、その結果の信号を出力する。
このとき、ノードＡ１から出力される信号には、既にノードＡ１から出力された信号が遅延して多重化される。このため、このような多重化の結果の信号が、リザボア１１から出力される信号となる。
【００２４】
ここで、ノードＡ２〜ＡＮは、このようなリザボア１１の動作状態の様子を表している。
ノードＡ１から出力される信号が次のノードＡ２に入力され、ノードＡ２から出力される信号が次のノードＡ３に出力されるというように、ノードＡｉから出力される信号が次のノードＡｉに入力されることが繰り返される。Ｎ個の実効ノードＡ１〜ＡＮはループしており（リング型になっており）、最後のノードＡＮの次のノードは最初のノードＡ１となる。
このようなノードＡ２〜ＡＮは、シングルディレイ（Ｓｉｎｇｌｅ  Ｄｅｌａｙ）の構成となっている。
ここで、ｉは１〜Ｎを表し、Ｎを超えた場合にはＮで割ったときの余りと同等となり、例えば、ｉ＝Ｎ＋１はｉ＝１と同等となる。
【００２５】
制御部１１１は、ノードＡ１を構成する非線形素子の時変パラメータを制御する。
本実施形態では、制御部１１１は、ノードＡ１を構成する非線形素子の時変パラメータを動的に制御する。この制御は、バーチャルノードであるノードＡ２〜ＡＮの時変パラメータを個別に制御することに相当する。これにより、制御部１１１は、ノードＡ１を構成する非線形素子の時変パラメータを時分割方式で制御することで、実行的な素子バラツキを与えることができる。
【００２６】
ここで、非線形素子の時変パラメータとしては、非線形素子からの出力を変化させる任意のパラメータが用いられてもよく、例えば、非線形素子からの出力に影響を与える可変抵抗、可変容量、光ファイバまたは光導波路の伝送遅延量、アンプのゲイン、あるいは、ミラーなどの光学系素子の角度等、などのうちの１以上が用いられてもよい。
また、非線形素子の時変パラメータとしては、例えば、１個の時変パラメータが用いられてもよく、あるいは、２個以上の時変パラメータが用いられてもよい。
非線形素子としては、一例として、光変調素子などが用いられてもよく、例えば、光学レーザー、ＭＥＭＳ（Ｍｉｃｒｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｍｅｃｈａｎｉｃａｌ  Ｓｙｓｔｅｍ）素子、マッハツェンダー、スピンリザボア素子（例えば、スピントルクを利用するリザボア素子）などのようなスピン素子、などが用いられてもよい。
【００２７】
読出部１２は、加算部１３１と、接続部１７１と、を含む。
加算部１３１は、リザボア１１からの出力信号を加算する。
接続部１７１は、リザボア１１と加算部１３１とを接続する部分であり、例えば、信号線であってもよい。
【００２８】
図２は、非線形素子の時変パラメータの値の時間的変化を示す図である。
図２に示されるグラフでは、横軸は時間を表しており、縦軸はノードＡ１を構成する非線形素子の時変パラメータの値を表している。
本実施形態では、制御部１１１は、非線形素子の時変パラメータが当該グラフに示される制御波形１０１１となるように制御を行う。
【００２９】
ここで、図２には、１個の時変パラメータについて制御波形１０１１が示されているが、２個以上の時変パラメータが用いられる場合には、それぞれの時変パラメータの制御波形は、異なってもよく、任意に設定されてもよい。
【００３０】
図２の例では、単位時間θごとの時間の進みを時刻ｔ０、ｔ１、ｔ２、・・・と表している。
図２に示される制御波形１０１１は、Ｎ個の単位時間θを１周期としており、１周期ごとに同じ波形を繰り返している。図２の例では、Ｎ＝６である。
１周期の時間τは、τ＝Ｎθと表される。
また、制御波形１０１１は、単位時間θごとに時変パラメータの値が変化し得るが、隣り合う２以上の時刻で時変パラメータの値が同じ個所があってもよい。
【００３１】
本実施形態では、制御部１１１は、時変パラメータの値が段数Ｎの周期（時間τ＝Ｎθ）ごとに繰り返して同じ値となるように、当該時変パラメータを時分割で制御する。
非線形素子による変換を表す非線形関数は、実効ノードＡ１〜ＡＮについて共通である。
【００３２】
加算部１３１には、単位時間θごとに、１個のノード（Ｎ個の実効ノードＡ１〜ＡＮのうちの１個）からの出力信号が入力される。当該ノードは、単位時間θごとに、Ｎ個の実効ノードＡ１〜ＡＮの順にしたがって切り替わっていく。Ｎ個のノード実効Ａ１〜ＡＮはループしており、最後のノードＡＮの次のノードは最初のノードＡ１となる。そして、加算部１３１は、単位時間θごとに入力される信号を加算していき、実効ノードＡ１〜ＡＮの１周期分について、その加算結果（つまり、総和の結果）を出力する。
一例として、加算部１３１は、メモリを有しており、単位時間θごとに入力される信号の値を記憶しておき、Ｎ個の値の総和を演算して出力してもよい。
【００３３】
ここで、図２の例では、デジタル的な制御波形１０１１を示したが、アナログ的な制御波形が用いられてもよく、例えば、正弦波などの制御波形が用いられてもよい。
制御波形１０１１は、様々な波形であってもよい。
【００３４】
（第１態様例）
図３は、第１態様例に係るノード２１１の構成を示す図である。
ノード２１１は、図１に示されるそれぞれの実効ノードＡ１〜ＡＮの構成例である。
【００３５】
ノード２１１は、乗算部２３１と、非線形関数部２３２と、加算部２３３と、を有する。
また、ノード２１１は、入力部２５１と、重み入力部２５２と、制御入力部２５３と、前ノード入力部２５４と、セルフフィードバック部２５５と、出力部２５６と、を有する。
【００３６】
ノード２１１がノードＡｉであるとして説明する。
ノードＡｉの状態変数をｘｉ［ｋ］と表す。当該状態変数は、動作方程式によって表され、本実施形態では、当該ノードＡｉからの出力信号に相当する。
それぞれのノードＡｉの状態変数は、時分割で、１周期τごとに決まる。
ｋは、時間の進みを表すとし、実効ノードＡ１〜ＡＮを１周するごとにインクリメント（１つ増加）する。ｋは、図２の例における時刻ｔに対して、１周期τごとにインクリメントする。
【００３７】
入力部２５１は、リザボア１１への入力信号ｕ［ｋ］を乗算部２３１に入力する。
重み入力部２５２は、入力信号ｕ［ｋ］に対する重みｗｉｎ，ｉを入力する。重みｗｉｎ，ｉは、例えば、リザボア１１の回路特性によって与えられてもよく、あるいは、制御部１１１によって与えられてもよい。なお、重みｗｉｎ，ｉは、一定値であってもよく、あるいは、可変値であってもよい。また、重みｗｉｎ，ｉは１であってもよく、０であってもよく、つまり、実質的に重みｗｉｎ，ｉがなくてもよい。
なお、重みは、結合係数などと呼ばれてもよい。
【００３８】
制御入力部２５３は、時変パラメータαｉ［ｋ］、βｉ［ｋ］を非線形関数部２３２に入力する。時変パラメータαｉ［ｋ］、βｉ［ｋ］は、制御部１１１によって与えられる。
前ノード入力部２５４は、１個前のノードＡｉ−１からの出力信号ｘｉ−１［ｋ−１］を加算部２３３に入力する。
セルフフィードバック部２５５は、加算部２３３からの出力信号を非線形関数部２３２に戻すように入力する。この入力信号は信号ｘｉ［ｋ−１］となり、時間遅延のフィードバックである。
出力部２５６は、加算部２３３からの出力信号ｘｉ［ｋ］を１個次のノードＡｉ＋１に出力する。
【００３９】
乗算部２３１は、入力信号ｕ［ｋ］と重みｗｉｎ，ｉとを乗算し、その乗算結果Ｊｉ［ｋ］を非線形関数部２３２に出力する。
非線形関数部２３２は、乗算部２３１からの入力信号Ｊｉ［ｋ］と時変パラメータαｉ［ｋ］、βｉ［ｋ］と加算部２３３からのフィードバック信号信号ｘｉ［ｋ−１］によって結果が決まる非線形関数ＦＮＬ（ｘｉ［ｋ−１］，Ｊｉ［ｋ］）の結果に相当する信号を加算部２３３に出力する。
このように、非線形関数部２３２は、非線形関数ＦＮＬ（ｘｉ［ｋ−１］，Ｊｉ［ｋ］）を用いて非線形変調を行う非線形変調機能を備える。
【００４０】
加算部２３３は、非線形関数部２３２からの入力信号ＦＮＬ（ｘｉ［ｋ−１］，Ｊｉ［ｋ］）と、前ノード入力部２５４からの入力信号ｘｉ−１［ｋ−１］とを、重み付けして加算し、その加算結果の信号ｘｉ［ｋ］を出力する。
ここで、信号ｘｉ−１［ｋ−１］に与えられる重みを重みεと表し、信号ＦＮＬ（ｘｉ［ｋ−１］，Ｊｉ［ｋ］）に与えられる重みを重み（１−ε）と表す。εは、０以上１以下の任意の値であってもよい。
【００４１】
ノードＡｉからの出力信号ｘｉ［ｋ］は、式（１）によって表される。
乗算部２３１からの出力信号Ｊｉ［ｋ］は、式（２）によって表される。
【００４２】
【数１】
0006973692.tif 000002
【００４３】
【数２】
0006973692.tif 000003
【００４４】
本実施形態では、時変パラメータαｉ［ｋ］はゲインを表し、時変パラメータβｉ［ｋ］はオフセットを表す。
【００４５】
非線形関数ＦＮＬ（ｘｉ［ｋ−１］，Ｊｉ［ｋ］）として、例えば、式（３）に示されるように、ｔａｎｈを用いた非線形活性化関数が用いられてもよい。
【００４６】
【数３】
0006973692.tif 000004
【００４７】
非線形関数ＦＮＬ（ｘｉ［ｋ−１］，Ｊｉ［ｋ］）として、例えば、式（４）に示されるように、ＲｅＬｕを用いた非線形活性化関数が用いられてもよい。
【００４８】
【数４】
0006973692.tif 000005
【００４９】
非線形関数ＦＮＬ（ｘｉ［ｋ−１］，Ｊｉ［ｋ］）として、例えば、式（５）に示されるように、Ｓｗｉｓｈを用いた非線形活性化関数が用いられてもよい。
ここで、Ｓｗｉｓｈの関数は、シグモイドの関数（標準シグモイド関数）を用いて表される。
【００５０】
【数５】
0006973692.tif 000006
【００５１】
非線形関数ＦＮＬ（ｘｉ［ｋ−１］，Ｊｉ［ｋ］）として、例えば、式（６）に示されるように、ｔａｎｈを用いた非線形活性化関数が用いられてもよい。
【００５２】
【数６】
0006973692.tif 000007
【００５３】
非線形関数ＦＮＬ（ｘｉ［ｋ−１］，Ｊｉ［ｋ］）として、例えば、式（７）に示されるように、ＲｅＬｕを用いた非線形活性化関数が用いられてもよい。
【００５４】
【数７】
0006973692.tif 000008
【００５５】
非線形関数ＦＮＬ（ｘｉ［ｋ−１］，Ｊｉ［ｋ］）として、例えば、式（８）に示されるように、Ｓｗｉｓｈを用いた非線形活性化関数が用いられてもよい。
【００５６】
【数８】
0006973692.tif 000009
【００５７】
式（９）には時変パラメータαｉ［ｋ］の関係式を示してある。
なお、時変パラメータβｉ［ｋ］についても同様である。
【００５８】
【数９】
0006973692.tif 000010
【００５９】
（第２態様例）
図４は、第２態様例に係るノード３１１の構成を示す図である。
ノード３１１は、図１に示されるそれぞれの実効ノードＡ１〜ＡＮの構成例である。
【００６０】
ノード３１１は、乗算部３３１と、非線形関数部３３２と、加算部３３３と、を有する。
また、ノード３１１は、入力部３５１と、重み入力部３５２と、制御入力部３５３と、前ノード入力部３５４と、セルフフィードバック部３５５と、を有する。
【００６１】
ノード３１１がノードＡｉであるとして説明する。
ノードＡｉの状態変数をｘｉ［ｋ］と表す。当該状態変数は、出力信号に相当する。
ｋは、時間の進みを表すとし、実効ノードＡ１〜ＡＮを１周するごとにインクリメント（１つ増加）する。ｋは、図２の例における時刻ｔに対して、１周期τごとにインクリメントする。
【００６２】
入力部３５１、重み入力部３５２、および、乗算部３３１の機能については、図３に示される入力部２５１、重み入力部２５２、および、乗算部２３１の機能と同様である。
【００６３】
制御入力部３５３の機能については、図３に示される制御入力部２５３の機能と同様である。
前ノード入力部３５４は、１個前のノードＡｉ−１からの出力信号ｘｉ−１［ｋ−１］を非線形関数部３３２に入力する。
セルフフィードバック部３５５は、加算部３３３からの出力信号を加算部３３３に戻すように入力する。この入力信号は信号ｘｉ［ｋ−１］となり、時間遅延のフィードバックである。
出力部３５６の機能は、図３に示される出力部２５６の機能と同様である。
【００６４】
非線形関数部３３２は、乗算部３３１からの入力信号Ｊｉ［ｋ］と時変パラメータαｉ［ｋ］、βｉ［ｋ］と前ノード入力部３５４からの入力信号ｘｉ−１［ｋ−１］によって結果が決まる非線形関数ＦＮＬ（ｘｉ−１［ｋ−１］，Ｊｉ［ｋ］）の結果に相当する信号を加算部３３３に出力する。
このように、非線形関数部３３２は、非線形関数ＦＮＬ（ｘｉ−１［ｋ−１］，Ｊｉ［ｋ］）を用いて非線形変調を行う非線形変調機能を備える。
【００６５】
加算部３３３は、非線形関数部３３２からの入力信号ＦＮＬ（ｘｉ−１［ｋ−１］，Ｊｉ［ｋ］）と、自己（加算部３３３）からのフィードバック信号信号ｘｉ［ｋ−１］とを、重み付けして加算し、その加算結果の信号ｘｉ［ｋ］を出力する。
ここで、信号ｘｉ［ｋ−１］に与えられる重みを重みεと表し、信号ＦＮＬ（ｘｉ−１［ｋ−１］，Ｊｉ［ｋ］）に与えられる重みを重み（１−ε）と表す。εは、０以上１以下の任意の値であってもよい。
【００６６】
ノードＡｉからの出力信号ｘｉ［ｋ］は、式（１０）によって表される。
【００６７】
【数１０】
0006973692.tif 000011
【００６８】
本実施形態では、時変パラメータαｉ［ｋ］はゲインを表し、時変パラメータβｉ［ｋ］はオフセットを表す。
【００６９】
非線形関数ＦＮＬ（ｘｉ−１［ｋ−１］，Ｊｉ［ｋ］）として、例えば、式（１１）に示されるように、ｔａｎｈを用いた非線形活性化関数が用いられてもよい。
【００７０】
【数１１】
0006973692.tif 000012
【００７１】
非線形関数ＦＮＬ（ｘｉ−１［ｋ−１］，Ｊｉ［ｋ］）として、例えば、式（１２）に示されるように、ＲｅＬｕを用いた非線形活性化関数が用いられてもよい。
【００７２】
【数１２】
0006973692.tif 000013
【００７３】
非線形関数ＦＮＬ（ｘｉ−１［ｋ−１］，Ｊｉ［ｋ］）として、例えば、式（１３）に示されるように、Ｓｗｉｓｈを用いた非線形活性化関数が用いられてもよい。
【００７４】
【数１３】
0006973692.tif 000014
【００７５】
非線形関数ＦＮＬ（ｘｉ−１［ｋ−１］，Ｊｉ［ｋ］）として、例えば、式（１４）に示されるように、ｔａｎｈを用いた非線形活性化関数が用いられてもよい。
【００７６】
【数１４】
0006973692.tif 000015
【００７７】
非線形関数ＦＮＬ（ｘｉ−１［ｋ−１］，Ｊｉ［ｋ］）として、例えば、式（１５）に示されるように、ＲｅＬｕを用いた非線形活性化関数が用いられてもよい。
【００７８】
【数１５】
0006973692.tif 000016
【００７９】
非線形関数ＦＮＬ（ｘｉ−１［ｋ−１］，Ｊｉ［ｋ］）として、例えば、式（１６）に示されるように、Ｓｗｉｓｈを用いた非線形活性化関数が用いられてもよい。
【００８０】
【数１６】
0006973692.tif 000017
【００８１】
（時変パラメータの設定方法）
以下、本実施形態に係る時変パラメータの設定方法として利用することが可能なパラメータの設定方法について説明する。
本実施形態に係るパラメータの設定方法は、リザボア１１に該当する部分のパラメータを体系的に設定する。
【００８２】
［理想の確率分布の設定工程］
リザボア素子１の出力の理想の確率分布を設定する。出力の理想の確率分布は、リザボアコンピューティングで解きたいタスクに応じて任意に設定される。また、出力の理想の確率分布は、例えば、デバイスモデルから導き出される。デバイスモデルの特性に応じて出力の理想の確率分布は決定する。出力の理想の確率分布は、例えば、正規分布である。例えば、タスクとして、リザボアコンピューティングによって任意のフーリエ合成波を近似する回帰問題を考える。このとき、リザボア素子１の出力の周波数分布は、教師信号となるフーリエ合成波に含まれる周波数分布（パワースペクトルに相当）と同様の形状となることが望ましい。もし、教師信号となるフーリエ合成波に含まれる周波数分布が単峰性の場合には、リザボア素子１の出力の理想の確率分布も単峰性となることが望ましい。また教師信号となるフーリエ合成波に含まれる周波数分布が双峰性の周波数分布の場合には、双峰性の確率分布を近似するために、リザボア素子１の出力の理想の確率分布を混合正規分布とする。
【００８３】
［学習工程］
ばらつきを規定するパラメータをａ、ｂとすると、例えば、ｙ＝ｆｇｅｎ（ｘ）＝ｔａｎｈ（ａｘ＋ｂ）が、それぞれの素子において、ばらつきに該当するパラメータを含んだ式となる。以下、ｙ＝ｆｇｅｎ（ｘ）＝ｔａｎｈ（ａｘ＋ｂ）を第１関数と称する場合がある。
【００８４】
第１関数を用いて、事前学習を行う。
事前学習は、例えば、シミュレーションにより行う。第１関数ｙ＝ｆｇｅｎ（ｘ）＝ｔａｎｈ（ａｘ＋ｂ）は、リザボア素子１の非線形性を生じる作用を抽出したものであり、第１関数を用いて事前学習を行えば、リザボア素子１の出力の精度を高めることができる。
【００８５】
事前学習は、出力の理想の確率分布と、リザボア素子１（第１関数を有するリザボア素子１）の出力の確率分布と、の相互情報量が大きくなるように行う。事前学習の初期値は、任意に設定でき、例えば、［０：１］の一様乱数に設定する。事前学習の初期値が何であっても、パラメータａおよびｂの分布は、事前学習により所定の分布に漸近する。相互情報量は、２つの確率変数の相互依存の尺度を表す量である。出力の理想の確率分布と、リザボア素子１の出力の確率分布と、の相互情報量が大きくなると、リザボア素子１の出力の確率分布が、出力の理想の確率分布に近づく。
【００８６】
相互情報量としては、様々なものを用いてもよく、例えば、カルバック・ライブラー情報量を用いることができる。カルバック・ライブラー情報量は、式（１７）のように定義される。
【００８７】
【数１７】
0006973692.tif 000018
【００８８】
ここで、ｐ〜（ｙ）はリザボア素子の出力の確率分布であり、ｐ（ｙ）は出力の理想の確率分布である。ｐ（ｙ）は、例えば、正規分布であり、式（１８）で表される。正規分布は、平均σと分散μの関数で表記される。
【００８９】
【数１８】
0006973692.tif 000019
【００９０】
上記のカルバック・ライブラー情報量をパラメータａおよびｂで微分するとそれぞれ式（１９）および式（２０）が得られる。
【００９１】
【数１９】
0006973692.tif 000020
【００９２】
【数２０】
0006973692.tif 000021
【００９３】
相互情報量を大きくする学習は、例えば、勾配学習法を用いて行う。勾配学習法は、機械学習において最適値を求める手段の一つである。上記の微分値がゼロになる点は、パラメータａまたはパラメータｂに対するカルバック・ライブラー情報量の傾きがゼロになる部分に対応する。上記の傾きがゼロとなる部分では、エントロピーが最小化し、相互情報量が最大化する。そのため、上記の微分値がゼロとなるように式変形を行うと、式（２１）および式（２２）の関係式が得られる。
【００９４】
【数２１】
0006973692.tif 000022
【００９５】
【数２２】
0006973692.tif 000023
【００９６】
（リザボア素子の制御方法）
本実施形態に係るリザボア素子１の制御方法は、上記のパラメータ分布を設定する工程と、パラメータ分布を素子の特性分布に変換する変換工程と、特性分布に基づいてそれぞれの素子の特性を設定する工程と、を有する。
【００９７】
本実施形態に係るリザボア素子１の制御方法によれば、それぞれの素子のパラメータを体系的に設定できる。パラメータを事前学習に基づいて体系的に設定することで、リザボア素子１の出力が非線形になり、教師データへの一致の精度が高まる。
【００９８】
ここで、リザボア素子１の出力の教師データに対するフィッテイング精度は、リザボア素子１のパラメータ設定に応じて変動する。本実施形態では、リザボア素子１を構成する複数の素子の素子ばらつきを規定するパラメータの体系的な設計方法を実現することができる。
【００９９】
一例として、本実施形態に係るパラメータの設定方法は、リザボア素子１を構成する複数の素子の特性に基づくデバイスモデルから導き出されるリザボア素子１の出力の理想の確率分布と、リザボア素子１の出力の確率分布と、の相互情報量が大きくなるように、事前学習を行い、当該デバイスモデルにおいて、複数の素子のそれぞれのばらつきを規定するパラメータのパラメータ分布を設定する。
【０１００】
一例として、本実施形態に係るパラメータの設定方法は、デバイスモデルが、バネ振動に基づくモデルであってもよい。
【０１０１】
一例として、本実施形態に係るパラメータの設定方法は、デバイスモデルが、一般化された非線形振動子モデルに基づくモデルであってもよい。
【０１０２】
一例として、本実施形態に係るリザボア素子１の制御方法は、上記のようなパラメータの設定方法に基づき、パラメータ分布を設定し、パラメータ分布を、リザボア素子１の特性分布に変換し、特性分布に基づき、複数の素子のそれぞれの特性を設定する。
【０１０３】
一例として、本実施形態に係るリザボア素子１の制御方法において、リザボア素子１は、複数のＭＥＭＳマイクロフォンを有するＭＥＭＳマイクロフォンアレイを含み、上記のようなパラメータの設定方法に基づき、パラメータ分布を設定し、パラメータ分布をＭＥＭＳマイクロフォンアレイの感度特性の分布に変換し、感度特性の分布に基づき、それぞれのＭＥＭＳマイクロフォンの感度特性を設定してもよい。
【０１０４】
一例として、本実施形態に係るリザボア素子１の制御方法において、リザボア素子１は、複数のスピントルク発振素子を有するスピントルク発振素子アレイを含み、上記のようなパラメータの設定方法に基づき、パラメータ分布を設定し、パラメータ分布をスピントルク発振素子アレイの共振特性の分布に変換し、共振特性の分布に基づき、それぞれのスピントルク発振素子の周波数特性を設定してもよい。
【０１０５】
（本実施形態について）
以上のように、本実施形態に係るリザボア素子１では、リザボア１１の非線形変換性能を向上し、効果的に機能させることができる。
本実施形態に係るリザボア素子１では、非線形素子の時変パラメータを時分割で制御することで、リザボアデバイスの実効的なネットワーク構造を調整することができる。これにより、本実施形態に係るリザボア素子１では、リング型のリザボア１１を実装可能とする制御方式を提供することができ、当該リザボア１１のネットワーク構造を実行的に再構成することができる。
【０１０６】
本実施形態に係るリザボア素子１では、非線形素子の時変パラメータを動的に制御する機構を導入することで、実効的なトポロジー構造を最適化する制御方式を提供している。
例えば、非特許文献３のように時変パラメータをランダムにばらつかせるだけではリザボアコンピューティングの予測精度の向上は保証されていないが、本実施形態では、時変パラメータの理論的な制御方法を実現している。
【０１０７】
本実施形態に係るリザボア素子１では、例えば、集積電子デバイスあるいは光変調素子などとして実装が困難である結合トポロジーを動的な時変パラメータ制御により実効的に実現することができる。
通常、集積電子デバイスなどでは、実装の上で、配線がボトルネックとなるが、本実施形態に係るリザボア素子１では、そのような問題が解消する。
また、本実施形態に係るリザボア素子１では、遅延素子数が増加した場合においても、それに伴う動作速度の律速を防止することができる。
【０１０８】
本実施形態に係るリザボア素子１では、時変パラメータの取る値（パラメータシークエンス）は、例えば、相互情報量基準のＩＰ（Ｉｎｔｒｉｎｓｉｃ  Ｐｌａｓｔｉｃｉｔｙ）学習によって得られた時変パラメータ分布から生成することができる。つまり、本実施形態に係るリザボア素子１では、相互情報量基準のＩＰ学習によって得られた結果から、理論的に遅延帰還型のリザボアコンピューティングのバーチャルノードの時変パラメータを決定することができる。
【０１０９】
他の例として、本実施形態に係るリザボア素子１では、時変パラメータ分布が、正規分布、対数正規分布、あるいは、ガンマ分布などにしたがうと仮定して、決め打ちでパラメータシークエンスを設定することもできる。
【０１１０】
本実施形態に係るリザボア素子１では、非線形素子は、アナログ素子として実装されてもよく、あるいは、デジタル回路として実装されてもよい。
【０１１１】
ここで、本実施形態では、非線形素子の時変パラメータを単位時間θごとに変化させる場合を示したが、他の構成例として、非線形素子の時変パラメータを単位時間θの整数倍（例えば、２θ、３θ、など）ごとに変化させる構成が用いられてもよい。
また、本実施形態では、すべての実効ノードＡ１〜ＡＮについて、単位時間θが一定である場合を示したが、他の構成例として、それぞれの実効ノードＡ１〜ＡＮごとに単位時間θが異なり得る構成が用いられてもよい。
【０１１２】
パラメータを時間的に変化させる態様としては、様々な態様が用いられてもよく、例えば、疑似乱数列でパラメータを時間的に変化させる態様が用いられてもよい。
疑似乱数列は、例えば、ＩＰ学習によって決定されてもよい。
疑似乱数列は、例えば、対数正規分布によって決定されてもよい。
例えば、ＩＰ学習により、リザボアデバイスの実効的なネットワーク構造をスモールワールド構造とすることが行われてもよい。
例えば、時間的に変化するパラメータをパラメトリックな確率分布から自動的に生成することが行われてもよい。
【０１１３】
＜構成例＞
一構成例として、単一の非線形素子（ノードＡ１）と複数の遅延素子（ノードＡ２〜ＡＮ）から構成されるリング型のリザボア１１を有するリザボア素子１であって、非線形素子は非線形変調機能を備え、非線形素子は非線形変調機能を動的に変更可能な時変パラメータ（例えば、時変パラメータαｉ［ｋ］、βｉ［ｋ］）により制御可能であり、非線形素子および遅延素子の段数（Ｎ）に対応した周期（τ）を持つ時系列（例えば、制御波形１０１１）にしたがって時変パラメータを制御する制御部１１１を備える。
【０１１４】
一構成例として、リザボア素子１において、時変パラメータは、単位時間（θ）ごとに可変な値である時系列によって設定される。
一構成例として、リザボア素子１において、時変パラメータは、ＩＰ学習によって決定される時系列によって設定される。
一構成例として、リザボア素子１において、時変パラメータは、対数正規分布によって決定される前記時系列によって設定される。
一構成例として、リザボア素子１において、非線形変調機能は、非線形関数としてシグモイドを用いた変調を行う。
一構成例として、リザボア素子１において、非線形変調機能は、非線形関数としてｔａｎｈを用いた変調を行う。
一構成例として、リザボア素子１において、非線形変調機能は、非線形関数としてＲｅＬｕを用いた変調を行う。
一構成例として、リザボア素子１において、非線形変調機能は、上記のような非線形関数を組み合わせた任意の関数を用いた変調を行う。当該関数は、例えば、Ｓｗｉｓｈ関数、あるいは、Ｍｉｓｈ関数であってもよい。
一構成例として、リザボア素子１において、非線形素子は、ＭＥＭＳ素子から構成される。
一構成例として、リザボア素子１において、非線形素子は、光変調素子から構成される。
一構成例として、リザボア素子１において、非線形素子は、スピン素子から構成される。
【０１１５】
なお、以上に説明したような任意の装置における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、オペレーティングシステムあるいは周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークあるいは電話回線等の通信回線を介してプログラムが送信された場合のサーバーあるいはクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含むものとする。当該揮発性メモリーは、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であってもよい。記録媒体は、例えば、非一時的記録媒体であってもよい。
【０１１６】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワークあるいは電話回線等の通信回線のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイルであってもよい。差分ファイルは、差分プログラムと呼ばれてもよい。
【０１１７】
また、以上に説明したような任意の装置における任意の構成部の機能は、プロセッサーにより実現されてもよい。例えば、実施形態における各処理は、プログラム等の情報に基づき動作するプロセッサーと、プログラム等の情報を記憶するコンピューター読み取り可能な記録媒体により実現されてもよい。ここで、プロセッサーは、例えば、各部の機能が個別のハードウェアで実現されてもよく、あるいは、各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサーはハードウェアを含み、当該ハードウェアは、デジタル信号を処理する回路およびアナログ信号を処理する回路のうちの少なくとも一方を含んでもよい。例えば、プロセッサーは、回路基板に実装された１または複数の回路装置、あるいは、１または複数の回路素子のうちの一方または両方を用いて、構成されてもよい。回路装置としてはＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などが用いられてもよく、回路素子としては抵抗あるいはキャパシターなどが用いられてもよい。
【０１１８】
ここで、プロセッサーは、例えば、ＣＰＵであってもよい。ただし、プロセッサーは、ＣＰＵに限定されるものではなく、例えば、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、あるいは、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等のような、各種のプロセッサーが用いられてもよい。また、プロセッサーは、例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）によるハードウェア回路であってもよい。また、プロセッサーは、例えば、複数のＣＰＵにより構成されていてもよく、あるいは、複数のＡＳＩＣによるハードウェア回路により構成されていてもよい。また、プロセッサーは、例えば、複数のＣＰＵと、複数のＡＳＩＣによるハードウェア回路と、の組み合わせにより構成されていてもよい。また、プロセッサーは、例えば、アナログ信号を処理するアンプ回路あるいはフィルター回路等のうちの１以上を含んでもよい。
【０１１９】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１２０】
１  リザボア素子
１１  リザボア
１２  読出部
１１１  制御部
１３１  加算部
１５１  ２５１  ３５１  入力部
１５２  ２５６、３５６  出力部
１７１  接続部
２１１  ３１１  ノード
２３１  ３３１  乗算部
２３２  ３３２  非線形関数部
２３３  ３３３  加算部
２５２  ３５２重み入力部
２５３  ３５３  制御入力部
２５４  ３５４  前ノード入力部
２５５  ３５５  セルフフィードバック部
１０１１  制御波形
Ａ１  ノード（リアルノード）
Ａ２〜ＡＮ  ノード（バーチャルノード）
【要約】
実施形態にかかるリザボア素子は、単一の非線形素子と複数の遅延素子から構成されるリング型のリザボアを有するリザボア素子であって、前記非線形素子は非線形変調機能を備え、前記非線形素子は前記非線形変調機能を動的に変更可能な時変パラメータにより制御可能であり、前記非線形素子および前記遅延素子の段数に対応した周期を持つ時系列にしたがって前記時変パラメータを制御する制御部を備える。【図１】
0006973692.tif 000024
【図２】
0006973692.tif 000025
【図３】
0006973692.tif 000026
【図４】
0006973692.tif 000027