(57)【要約】【課題】サンプル数が大きくなってもＲＮＮ回路に必要となるニューロンの個数が増加しないようにする。【解決手段】ＣＰＵは、定数係数の連立微分方程式によって処理が表されるＲＮＮ回路を形成する処理を行う。そして、ＣＰＵが、このＲＮＮ回路を構成しているニューロン間の結線により伝送されるニューロンの状態量に与える重み係数を算出して当該ＲＮＮ回路に与える処理を行う。この重み係数は、対角化可能であって離散時間線形システムを表現しているｎ次正方行列（ｎは２以上の自然数）の要素から算出される。【選択図】図８
2014013555.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによるニューラルネットワーク設計方法であって、
定数係数の連立微分方程式によって処理が表されるリカレントニューラルネットワーク（ＲＮＮ：Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）回路を形成し、
前記ＲＮＮ回路を構成しているニューロン間の結線により伝送されるニューロンの状態量に与える重み係数を、対角化可能であって離散時間線形システムを表現しているｎ次正方行列（ｎは２以上の自然数）の要素から算出して前記ＲＮＮ回路に与える、
ことを前記コンピュータが行うことを特徴とするニューラルネットワーク設計方法。
【請求項２】
前記離散時間線形システムが外力を含む場合はさらに、前記ＲＮＮ回路を構成しているニューロンの各々に加えられる加え値を、前記外力の値と前記ｎ次正方行列（ｎは２以上の自然数）の要素を用いて算出して前記ＲＮＮ回路に与えることを前記コンピュータが行うことを特徴とする請求項１に記載のニューラルネットワーク設計方法。
【請求項３】
前記ｎ次正方行列についての固有ベクトルの行列と、前記ｎ次正方行列についての固有値の対数値を対角成分とする対角行列と、該固有ベクトルの逆行列との乗算を行うことによって前記重み係数を算出することを特徴とする請求項１または２に記載のニューラルネットワーク設計方法。
【請求項４】
前記ｎ次正方行列についての固有値のうち、値がゼロであるものについては、該固有値の対数値をゼロとすることを特徴とする請求項２または３に記載のニューラルネットワーク設計方法。
【請求項５】
前記離散時間線形システムの前記外力に関わる前記加え値を算出する際に、
（Ｃ１）ｔ≦ｉに対して、ｃｉ(ｔ)＝０、
（Ｃ２）ｉ＋１≦ｔに対して、ｃｉ(ｔ)＝１、
（Ｃ３）ｉ≦ｔ≦ｉ＋１に対して、連続かつ少なくとも１回微分可能、
なる条件を満たす曲線の表現を用いることを特徴とする請求項１から４のうちのいずれか一項に記載のニューラルネットワーク設計方法。
【請求項６】
コンピュータにニューラルネットワークの設計を行わせるプログラムであって、
定数係数の連立微分方程式によって処理が表されるリカレントニューラルネットワーク（ＲＮＮ：Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）回路を形成し、
前記ＲＮＮ回路を構成しているニューロン間の結線により伝送されるニューロンの状態量に与える重み係数を、対角化可能であって離散時間線形システムを表現しているｎ次正方行列（ｎは２以上の自然数）の要素から算出して前記ＲＮＮ回路に与える、
処理を前記コンピュータに実行させることを特徴とするプログラム。
【請求項７】
離散時間線形システムの出力のフィッティング曲線を求めるフィッティング方法であって、
定数係数の連立微分方程式によって処理が表されるリカレントニューラルネットワーク（ＲＮＮ：Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）回路を形成し、
前記ＲＮＮ回路を構成しているニューロン間の結線により伝送されるニューロンの状態量に与える重み係数を、対角化可能であって離散時間線形システムを表現しているｎ次正方行列（ｎは２以上の自然数）の要素から算出して前記ＲＮＮ回路に与え、
前記重み係数が与えられたＲＮＮ回路に前記離散時間線形システムの初期値を与えて前記フィッティング曲線を出力させる、
ことをコンピュータが行うことを特徴とするフィッティング方法。
【請求項８】
離散時間線形システムの出力のフィッティング曲線をコンピュータに求めさせるプログラムであって、
定数係数の連立微分方程式によって処理が表されるリカレントニューラルネットワーク（ＲＮＮ：Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）回路を形成し、
前記ＲＮＮ回路を構成しているニューロン間の結線により伝送されるニューロンの状態量に与える重み係数を、対角化可能であって離散時間線形システムを表現しているｎ次正方行列（ｎは２以上の自然数）の要素から算出して前記ＲＮＮ回路に与え、
前記重み係数が与えられたＲＮＮ回路に前記離散時間線形システムの初期値を与えて前記フィッティング曲線を出力させる、
処理を前記コンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理モデルに適用可能なニューラルネットワークの技術に関するものである。
【背景技術】
【０００２】
リカレントニューラルネットワーク（ＲＮＮ：Recurrent Neural Network）はロボットの動作用として開発されたニューラルネットワークである。（例えば非特許文献１及び特許文献１参照）。このＲＮＮは、ロボットの動作のみならず、歩数計や音声解析などの他の物理モデルに対しても有効である。
【０００３】
ＲＮＮはニューロンと結線とからなるネットワークであり、図１に図解したＲＮＮ回路においては、ニューロンと入出力の結線との関係式は図１のように与えられる。
図１において、εi は遅れパラメータ、ｙi 及びｙj はニューロンの状態量、Ｃijは重み係数、ｔは時間をそれぞれ表しているが、このうちのｙi をニューロンそのものと同一視する場合もある。
【０００４】
また、図１の関係式の拡張として、図２のような関係式も考えられる。図２は、図１の構成に加え、加え値ｇi がニューロンｙi に入力されることを示している。なお、ｇi は、このＲＮＮ回路のニューロン以外で求められた値である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２００７／１３５７２３号
【非特許文献】
【０００６】
【非特許文献１】永嶋史朗、「双線形時間遅れニューラルネットワークによるロボットソフトウェアシステム」、日本ロボット学会誌、２００６年９月、第２４巻、第６号、ｐ．５３−６４
【発明の概要】
【発明が解決しようとする課題】
【０００７】
図３について説明する。図３は離散時間の線形システムを表している。広く知られているように、線形システムは、例えば、物体の運動の解析やその制御、あるいは、信号処理、画像処理などといった物理的分野・工学的分野を含む広範な分野において、システムの表現に用いられている。
【０００８】
図３においてＡはｎ次の正方行列を表している。この図３は、時刻ｉのときｎ次元ベクトルｙ（ｉ）をシステム入力するとｙ（ｉ＋１）＝Ａｙ（ｉ）が出力され、この出力が次の時刻ｉ＋１のときにシステムに入力されるベクトルとなることを表している。
【０００９】
例えば、行列Ａの各要素が下記の［数１］式で表されるものとする。
【数１】
2014013555.tif 000003
【００１０】
このとき、システムの出力ｙ（ｉ＋１）＝Ａｙ（ｉ）は下記の［数２］式で表されるものとなる。
【数２】
2014013555.tif 000004
【００１１】
上記の［数２］式における文字ｍに値『４』を代入した場合に、この線形システムから得られる出力をグラフで表すと、図４のグラフのようになる。図４のグラフから分かるように、この離散時間の線形システムは、時刻ｉを、ｉ＝０から１、２、…と進めていくと、２次元ベクトルｙ（ｉ）が左回りにπ／４ずつ回転していく。つまり、行列Ａの各要素が［数１］式で表されている場合における図３の線形システムの出力は、対象物が回転しているシステムを表現している。
【００１２】
また、図１０に示されているように、離散時間の線形システムが、各離散時間に外場ｆ（ｉ）を受けることがある。
図１０において、Ａは図３と同様、ｎ次の正方行列を表している。この図１０は、時刻ｉのときｎ次元ベクトルｙ（ｉ）に加え、外力ｆ（ｉ）をシステム入力とし、ｙ（ｉ＋１）＝Ａ（ｙ（ｉ）＋ｆ（ｉ））が出力され、この出力が次の時刻ｉ＋１のときにシステムに入力されるベクトルとなることを表している。
【００１３】
このような離散時間の線形システムの出力をＲＮＮ回路で解析するためには、離散点にフィッティングする曲線を求め、求められたフィッティング曲線についてＲＮＮ回路で解析を行えばよい。
【００１４】
ところで、本願出願人は、特願２０１２−０５２３２８号を本願に先行して出願している。この出願の明細書には、離散値データの入力に基づいて当該離散値データにフィッティングするフィッティング曲線を出力するＲＮＮ回路を実現するニューラルネットワーク設計方法についての発明が記載されている。このニューラルネットワーク設計方法は、まず、設計対象のＲＮＮ回路を、固有振動を出力する複数の振動系ＲＮＮ回路と、当該複数の振動系ＲＮＮ回路の出力の和を求める加算回路とを含むように構成する。そして、当該複数の振動系ＲＮＮ回路に当該離散値データを入力したときの当該加算回路からの出力を、当該離散値データに対してのフィッティング曲線の出力とするというものである。
【００１５】
このニューラルネットワーク設計方法を用いて設計したＲＮＮ回路を用いることで、前述のような離散時間の線形システムの出力を解析することは可能である。しかしながら、このようにして設計されたＲＮＮ回路を用いて時刻ｉ＝０、１…、ｋに対するｎ次元ベクトルｙ（ｉ）の各成分のフィッティング曲線を求めるには、少なくともｋ＋１個ものニューロンが必要となる。従って、サンプル数ｋが大きくなるにつれて、必要となるニューロン数が増加してしまう。
【００１６】
上述した問題に鑑み、本発明は、サンプル数が大きくなってもＲＮＮ回路に必要となるニューロンの個数が増加しないようにする。
【課題を解決するための手段】
【００１７】
本明細書で後述するニューラルネットワーク設計方法のひとつは、コンピュータが、まず、定数係数の連立微分方程式によって処理が表されるＲＮＮ回路を形成する。そして、当該コンピュータが、このＲＮＮ回路を構成しているニューロン間の結線により伝送されるニューロンの状態量に与える重み係数を算出して当該ＲＮＮ回路に与える。この重み係数は、対角化可能であって離散時間線形システムを表現しているｎ次正方行列（ｎは２以上の自然数）の要素から算出される。
【００１８】
また、本明細書で後述するフィッティング方法のひとつは、離散時間線形システムの出力のフィッティング曲線を求めるためのものである。この方法は、まず、定数係数の連立微分方程式によって処理が表されるＲＮＮ回路をコンピュータが形成する。当該コンピュータは、次に、このＲＮＮ回路を構成しているニューロン間の結線により伝送されるニューロンの状態量に与える重み係数を算出して当該ＲＮＮ回路に与える。この重み係数は、対角化可能であって離散時間線形システムを表現しているｎ次正方行列（ｎは２以上の自然数）の要素から算出される。そして、当該コンピュータは、この重み係数が与えられたＲＮＮ回路に当該離散時間線形システムの初期値を与えてフィッティング曲線を出力させる。
【発明の効果】
【００１９】
本明細書で後述するニューラルネットワーク設計方法、フィッティング方法、及びプログラムによれば、サンプル数が大きくなってもＲＮＮ回路に必要となるニューロンの個数が増加しないので、ＲＮＮ回路の実行の際の計算量が削減されるという効果を奏する。
【図面の簡単な説明】
【００２０】
【図１】ＲＮＮ回路の一例と、このＲＮＮ回路におけるニューロンと入出力の結線との関係式を説明する図である。
【図２】図１の関係式の拡張を説明する図である。
【図３】第１の実施形態に関わる離散時間の線形システムを説明する図である。
【図４】第１の実施形態に関わる離散時間の線形システムの出力例を図解したグラフである。
【図５】第１の実施形態に関わる離散時間線形システムの出力のフィッティング曲線を求めるフィッティング方法の一実施例を図解した図である。
【図６】図５におけるＰＣのハードウェア構成例を表した図である。
【図７】第１の実施形態に関わる定数係数の連立同次微分方程式によって処理が表されるＲＮＮ回路の一例である。
【図８】第１の実施形態に関わるフィッティング曲線算出処理の処理内容を図解したフローチャートである。
【図９】第１の実施形態に関わる定数係数の連立同次微分方程式によって処理が表されるＲＮＮ回路の別の例である。
【図１０】第１の実施形態に関わる離散時間線形システムの出力のフィッティング曲線を求めるフィッティング方法の一実施例を図解した図である。
【図１１】第２の実施形態に関わる離散時間の線形システムを説明する図である。
【図１２】第２の実施形態で用いられる曲線ｃｉ（ｔ）の例を示す図である。
【図１３】第２の実施形態に関わる、離散時間線形システムの出力のフィッティング曲線を求めるフィッティング方法の一実施例を図解した図である。
【図１４】第２の実施形態に関わるフィッティング曲線算出処理の処理内容を図解したフローチャートである。
【発明を実施するための形態】
【００２１】
＜第１の実施形態＞
図５〜９を参照して、第１の実施形態に関わるニューラルネットワーク設計方法、フィッティング方法について説明する。
【００２２】
本実施形態では、離散時間線形システムの出力のフィッティング曲線を求める装置および方法が提供される。また、その一環として、離散時間線形システムの出力のフィッティング曲線を求めるリカレントニューラルネットワーク（ＲＮＮ：Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）回路の設計方法が提供される。
【００２３】
本実施形態では、線形システムの出力のフィッティング曲線を与える連立同次微分方程式を導き、その連立同次微分方程式を実現するＲＮＮ回路を設計する。そして、ＲＮＮ回路を初期値、外力の値などの所定の条件の下で動作させ、フィッティング曲線を求める。
【００２４】
まず図５について説明する。図５は、第１の実施形態に関わる離散時間線形システムの出力のフィッティング曲線を求めるフィッティング方法の一実施例を図解したものである。
【００２５】
図５において、ＰＣ１０は、パーソナルコンピュータ（Personal Computer ）であり、汎用のコンピュータの一例である。このＰＣ１０に、入力データ１として、離散時間線形システムを表している行列Ａと、この離散時間線形システムへの入力ベクトルの初期値ｙ（０）とを入力してＰＣ１０内のメモリ１２に記憶させる。ここで、ＰＣ１０に対して所定の実行指示を与えると、ＰＣ１０のＣＰＵ（中央演算装置：Central Processing Unit ）１１は、この離散時間線形システムの出力のフィッティング曲線を算出するための制御処理を実行する。ＣＰＵ１１は、この制御処理の実行結果として得られる、離散時間線形システムの出力のフィッティング曲線を表しているデータを、メモリ１２に記憶させる。このメモリ１２に記憶されたデータは、その後、出力データ２としてＰＣ１０から出力される。
【００２６】
ここで図６について説明する。図６は、図５におけるＰＣ１０のハードウェア構成の一例を表している。
本構成例において、ＰＣ１０は、ＣＰＵ１１、ＲＯＭ２１、ＲＡＭ２２、ハードディスク装置２３、入力装置２４、表示装置２５、インタフェース装置２６、及び記録媒体駆動装置２７を備えている。なお、これらの構成要素はバスライン２８を介して接続されており、ＣＰＵ１１の管理の下で各種のデータを相互に授受することができる。
【００２７】
ＣＰＵ１１は、ＰＣ１０全体の動作を制御する演算処理装置である。
ＲＯＭ（Read Only Memory）２１は、所定の基本制御プログラムが予め記録されている読み出し専用半導体メモリである。ＣＰＵ１１は、この基本制御プログラムをＰＣ１０の起動時に読み出して実行することにより、ＰＣ１０の各構成要素の動作制御が可能になる。なお、ＲＯＭ２１として、フラッシュメモリ等の、記憶データが不揮発性であるメモリを使用してもよい。
【００２８】
ＲＡＭ（Random Access Memory）２２は、ＣＰＵ１１が各種の制御プログラムを実行する際に、必要に応じて作業用記憶領域として使用する、随時書き込み読み出し可能な半導体メモリである。このＲＡＭ２２は、図５の構成におけるメモリ１２としての機能も提供する。
【００２９】
ハードディスク装置２３は、ＣＰＵ１１によって実行される各種の制御プログラムや各種のデータを記憶しておく記憶装置である。ＣＰＵ１１は、ハードディスク装置２３に記憶されている所定の制御プログラムを読み出して実行することにより、後述の制御処理を行えるようになる。なお、図６における入力データ１を、予めハードディスク装置２３に記憶させておくようにしてもよく、また、図６における出力データ２を、ハードディスク装置２３に記憶さるようにしてもよい。
【００３０】
入力装置２４は、例えばキーボード装置やマウス装置であり、例えばＰＣ１０の使用者により操作されると、その操作内容に対応付けられている使用者からの各種情報の入力を取得し、取得した入力情報をＣＰＵ１１に送付する。図６における入力データ１は、例えば、この入力装置２４よりＰＣ１０に入力される。
【００３１】
表示装置２５は例えば液晶ディスプレイであり、ＣＰＵ１１から送付される出力データ２に応じ、各種のテキスト・画像の表示を行う。より具体的には、表示装置２５は、例えば、ＣＰＵ１１によって算出されたフィッティング曲線の表示や、その算出の途中で設計された、このフィッティング曲線を出力するＲＮＮ回路の表示を行う。
【００３２】
インタフェース装置２６は、このＰＣ１０に接続される各種機器との間での各種情報の授受の管理を行う。ＰＣ１０は、図６における入力データ１や出力データ２を、インタフェース装置２６を介して他の機器との間で授受するようにしてもよい。
【００３３】
記録媒体駆動装置２７は、可搬型記録媒体２９に記録されている各種の制御プログラムやデータの読み出しを行う装置である。ＣＰＵ１１は、可搬型記録媒体２９に記録されている所定の制御プログラムを、記録媒体駆動装置２７を介して読み出して実行することによって、後述の制御処理を行うようにしてもよい。なお、可搬型記録媒体２９としては、例えばＣＤ−ＲＯＭ（Compact Disc Read Only Memory）やＤＶＤ−ＲＯＭ（Digital Versatile Disc Read Only Memory）、ＵＳＢ（Universal Serial Bus）規格のコネクタが備えられているフラッシュメモリなどがある。
【００３４】
離散時間線形システムの出力のフィッティング曲線の算出をこのようなＰＣ１０に行わせるには、例えば、後述する図８に図解した制御処理をＣＰＵ１１に行わせるための制御プログラムを作成する。作成された制御プログラムはハードディスク装置２３若しくは可搬型記録媒体２９に予め格納しておく。そして、ＣＰＵ１１に所定の指示を与えてこの制御プログラムを読み出させて実行させる。こうすることで、離散時間線形システムの出力のフィッティング曲線の算出をＰＣ１０が行えるようになる。
【００３５】
次に、ＰＣ１０によって行われる、離散時間線形システムの出力のフィッティング曲線の算出のための制御処理について説明する。ここでは、図３のように行列Ａによって表される離散時間線形システムについての離散時間線形システムの出力のフィッティング曲線の算出を行うものとする。
【００３６】
なお、本実施例においては、行列Ａは対角化が可能な行列であるとする。すなわち、行列Ａが固有値λ１、…、λｎを有しているものとし、行列Ａについてのｎ個の一時独立な固有ベクトルを縦ベクトルとして並べた行列Ｘとの間で、下記の［数３］式の関係を行列Ａが有しているものとする。
【数３】
2014013555.tif 000005
【００３７】
この［数３］式の関係を、線形システムの関係式ｙ（ｉ＋１）＝Ａｙ（ｉ）に代入すると、下記の［数４］式が得られる。
【数４】
2014013555.tif 000006
【００３８】
この［数４］式における第３行目は、時刻ｉ＋１のときのｎ次元ベクトルｙ（ｉ＋１）と初期値ｙ（０）との関係を表している。この［数４］式におけるｉ＋１をｔに置き換えると、下記の［数５］式が得られる。
【数５】
2014013555.tif 000007
【００３９】
前掲した［数４］式は、離散時間である時刻ｉに関する式であるのに対し、上記の［数５］式を、連続している時間ｔに関する式と見れば、ｙ（ｔ）は連続曲線となる。しかも、［数５］式に対してｔ＝ｉ＋１を代入すれば［数４］式が得られる。つまり、［数５］式は［数４］式を連続時間に拡張したものとなっており、連続曲線ｙ（ｔ）はｙ（ｉ＋１）のフィッティング曲線となっている。
【００４０】
図５のＰＣ１０は、この［数５］式におけるｙ（ｔ）を出力するＲＮＮ回路を形成する処理を行うことによって、このフィッティング曲線を求めるようにする。
【００４１】
まず、［数５］式を時間ｔで微分すると下記の［数６］式が得られる。
【数６】
2014013555.tif 000008
【００４２】
［数６］式の第１行目に表されている行列において、『（ｌｏｇλ）λt 又は０』と表現されている要素は、固有値λが０でない場合には値が「（ｌｏｇλ）λt 」となり、固有値λが０の場合には値が「０」となることを表している。
【００４３】
この［数６］式の第１行目の式は第２行目の式に変形され、この第２行目の式に［数５］式を代入することで、第３行目の式が得られる。この第３行目の式は定数係数の連立同次微分方程式であり、これはＲＮＮ回路によって実現が可能である。図７のシステムはこのＲＮＮ回路を出力すると共に、このＲＮＮ回路に初期値を与えて動作させることで、離散時間線形システムの出力のフィッティング曲線を算出して出力する。
【００４４】
ここで、離散時間線形システムの出力のフィッティング曲線を求める具体例として、行列Ａが前掲した［数１］式で与えられる、図３に図解した、対象物が回転している離散時間線形システムについてのフィッティング曲線を求めてみる。
【００４５】
このシステムは前掲した［数２］式によって表されることは既に説明した。なお、ここで、この線形システムの初期状態を表している初期値は、（ｙ１（０）、ｙ２（０））であるとする。
【００４６】
［数１］式で表されている行列Ａは対角化可能な行列である。ここで、行列Ａについての一時独立な固有ベクトルを縦ベクトルとして並べた行列Ｘは、下記の［数７］式で表される。
【数７】
2014013555.tif 000009
【００４７】
また、行列Ａは、行列Ｘとの間で下記の［数８］式の関係を有している。
【数８】
2014013555.tif 000010
【００４８】
この［数８］式に［数１］式を代入すると共に、［数１］式から得られる行列Ａの固有値λ1 及びλ2 の具体的な値を代入すると、下記の［数９］式が得られる。
【数９】
2014013555.tif 000011
【００４９】
また、この行列Ａの固有値λ1 及びλ2 の具体的な値を［数５］式に代入すると、下記の［数１０］式が得られる。
【数１０】
2014013555.tif 000012
【００５０】
［数１０］式は、図３の線形システムの出力についてのフィッティング曲線を表している。この［数１０］式をｔで微分すると、下記の［数１１］式が得られる。
【数１１】
2014013555.tif 000013
【００５１】
［数１１］式は定数係数の連立同次微分方程式であり、図１に表したＲＮＮ回路と関係式との関係を用いることで、この連立同次微分方程式をＲＮＮ回路によって実現することができる。
【００５２】
図７に図解したＲＮＮ回路３０の構成は、この連立同次微分方程式を実現するものである。このＲＮＮ回路３０は、２次正方行列である行列Ａの次数に応じ、２個のニューロンを組み合わせて構成されており、サンプル数が大きくなっても、このニューロンの個数は増加しない。
【００５３】
このＲＮＮ回路３０に初期値（ｙ１（０）、ｙ２（０））を与えて動作させると、行列Ａが前掲した［数１］式で与えられる線形システムについてのフィッティング曲線が得られる。
【００５４】
次に図８について説明する。図８は、第１の実施形態に関わるフィッティング曲線算出処理の処理内容を図解したフローチャートである。このフィッティング曲線算出処理は、図５のＰＣ１０におけるＣＰＵ１１によって行われる、離散時間線形システムの出力のフィッティング曲線の算出のための制御処理である。
【００５５】
図８の処理が開始されると、まず、Ｓ１０１において、ＣＰＵ１１は、離散時間線形システムを表している、ｎ次正方行列（ｎは２以上の自然数）である前述の行列Ａと、この線形システムの初期状態を表している初期値との入力を取得する処理を行う。このとき、ＣＰＵ１１は、取得した行列Ａ及び初期値を、メモリ１２（図６の構成では、ＲＡＭ２２）に記憶させておく処理を行う。
【００５６】
次に、Ｓ１０２において、ＣＰＵ１１は、行列Ａについての固有値と固有ベクトルとを算出する処理を行う。行列Ａについての固有値と固有ベクトルとを算出する数値計算法は様々なものが知られており、そのいずれの手法を採用してもよい。
【００５７】
次に、Ｓ１０３において、ＣＰＵ１１は、Ｓ１０２の処理により算出された行列Ａの固有値の対数値を算出する処理を行う。なお、ＣＰＵ１１は、Ｓ１０２の処理により算出された行列Ａの固有値のうちで値がゼロであるものについては、その固有値についての対数値の算出結果をゼロとする処理を行う。
【００５８】
次に、Ｓ１０４では、ＣＰＵ１１は、定数係数の連立同次微分方程式によって処理が表されるＲＮＮ回路を形成する処理を行う。なお、ＣＰＵ１１は、行列Ａの次数に応じたＲＮＮ回路を形成する。例えば、行列Ａが２次の正方行列である場合には、ＣＰＵ１１は、２個のニューロンを組み合わせて構成されている、図７に図解した構成のＲＮＮ回路３０を構成する。また、例えば、行列Ａが３次の正方行列である場合には、ＣＰＵ１１は、３個のニューロンを組み合わせて構成されている、図９に図解した構成のＲＮＮ回路３１を構成する。
【００５９】
次に、Ｓ１０５において、ＣＰＵ１１は、Ｓ１０４の処理により形成されたＲＮＮ回路における各ニューロンの状態に与える重み係数を算出して、当該ＲＮＮ回路に設定する処理を行う。なお、この重み係数は、Ｓ１０２の処理により算出された固有ベクトルを縦ベクトルとして並べた行列と、Ｓ１０３の処理により算出された固有値の対数値を対角成分とする対角行列と、当該固有ベクトルの逆行列との乗算を行うことによって算出される。つまり、この処理は、前掲した［数６］式の第３行目の式、すなわち、定数係数の連立同次微分方程式における定数係数の値を算出する処理である。
【００６０】
以上のＳ１０１からＳ１０５までの処理によって、離散時間線形システムの出力のフィッティング曲線を出力することができるＲＮＮ回路の設計が完了する。
【００６１】
次に、Ｓ１０６において、ＣＰＵ１１は、Ｓ１０５までの処理によって設計されたＲＮＮ回路に、Ｓ１０１の処理により取得した線形システムの初期値を与えて、ＲＮＮ回路を動作させる処理を行う。このようにしてＲＮＮ回路を動作させることにより、行列Ａによって表されている離散時間線形システムの出力についてのフィッティング曲線が、ＲＮＮ回路の出力として得られる。
【００６２】
次に、Ｓ１０７において、ＣＰＵ１１は、動作させたＲＮＮ回路からの出力を、フィッティング曲線の算出結果として出力する処理を行い、その後はこのフィッティング曲線算出処理が終了する。この出力処理では、例えば、ＲＮＮ回路から出力されるデータをプロットすることによって形成されるグラフを、図６の表示装置２５で表示させることによって、フィッティング曲線の出力が行われる。
【００６３】
以上までの処理をＣＰＵ１１が行うことで、離散時間線形システムの出力のフィッティング曲線を出力することができるＲＮＮ回路の設計がＰＣ１０により行われ、また、そのフィッティング曲線がＰＣ１０により求められる。
【００６４】
＜第２の実施形態＞
図１０〜１４を参照して、第２の実施形態に関わるニューラルネットワーク設計方法、フィッティング方法について説明する。
【００６５】
本実施形態では、外力を含む離散時間線形システムの出力のフィッティング曲線を求める装置および方法が提供される。また、その一環として、外力を含む離散時間線形システムの出力のフィッティング曲線を求めるリカレントニューラルネットワーク（ＲＮＮ：Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）回路の設計方法が提供される。
【００６６】
本実施形態では、有限回だけ外力ｆを受ける線形システムの出力のフィッティング曲線を与える連立非同次微分方程式を導き、その連立非同次微分方程式を実現するＲＮＮ回路を設計する。そして、ＲＮＮ回路を初期値、外力の値などの所定の条件の下で動作させ、フィッティング曲線を求める。また、本実施形態では、外力ｆ（ｉ）は有限回のみ入力されるものとする。すなわち線形システムは、ｆ（０）、…、ｆ（ｍ）の有限回のみ、外力の入力を受けるものとする。
【００６７】
図１０について説明する。図１０は、第２の実施形態に関わる離散時間線形システムの出力のフィッティング曲線を求めるフィッティング方法の一実施例を図解したものである。
【００６８】
図１０において、ＰＣ５０は、パーソナルコンピュータ（Personal Computer）であり、汎用のコンピュータの一例である。このＰＣ５０に、入力データ１として、離散時間線形システムを表している行列Ａと、この離散時間線形システムへの入力ベクトルの初期値ｙ（０）と、有限個の離散時間ｉ＝０、…、ｍにシステムに入力される外力ｆ（０）、…、ｆ（ｍ）を入力してＰＣ５０内のメモリ５２に記憶させる。ここで、ＰＣ５０に対して所定の実行指示を与えると、ＰＣ５０のＣＰＵ（中央演算装置：Central Processing Unit）５１は、この離散時間線形システムの出力のフィッティング曲線を算出するための制御処理を実行する。ＣＰＵ５１は、この制御処理の実行結果として得られる、離散時間線形システムの出力のフィッティング曲線を表しているデータを、メモリ２２に記憶させる。このメモリ５２に記憶されたデータは、その後、出力データ２としてＰＣ２０から出力される。
【００６９】
図１０におけるＰＣ５０のハードウェア構成の例は、図６に示されているハードウェア構成において、ＰＣ１０をＰＣ５０と、データ入力１をデータ入力１１と、データ出力２をデータ出力１２と読み替えたものによって与えられ得る。ＣＰＵ５１およびメモリ５２はそれぞれ、図５のＣＰＵ１１およびメモリ１２と同一または類似の構成および／または機能を有する。すなわち、本構成例において、ＰＣ５０は、ＣＰＵ５１、メモリ５２を構成するＲＯＭ２１およびＲＡＭ２２、ハードディスク装置２３、入力装置２４、表示装置２５、インタフェース装置２６、及び記録媒体駆動装置２７を備えている。なお、これらの構成要素はバスライン２８を介して接続されており、ＣＰＵ５１の管理の下で各種のデータを相互に授受することができる。ＣＰＵ５１は、ＰＣ５０全体の動作を制御する演算処理装置である。これらの構成要素に関する説明は、先の実施形態と同一または類似であるので、繰り返さない。
【００７０】
また、本構成例では、入力データとして図１２に示される曲線ｃｉ(ｔ)に関する情報が入力される。
【００７１】
上記では、ＰＣ５０は汎用コンピュータとして構成されるとしたが、専用のＣＰＵ５１を用いた専用回路として構成されても良い。
【００７２】
離散時間線形システムの出力のフィッティング曲線の算出をこのようなＰＣ５０に行わせるには、例えば、後述する図１４に図解した制御処理をＣＰＵ５１に行わせるための制御プログラムを作成する。作成された制御プログラムはハードディスク装置２３若しくは可搬型記録媒体２９に予め格納しておく。そして、ＣＰＵ５１に所定の指示を与え、入力データ１１を参照させつつ、この制御プログラムを読み出させて、実行させる。こうすることで、離散時間線形システムの出力のフィッティング曲線の算出をＰＣ５０が行えるようになる。
【００７３】
次に、ＰＣ５０によって行われる、離散時間線形システムの出力のフィッティング曲線の算出のための制御処理について説明する。ここでは、図１１のように行列Ａによって表される離散時間線形システムについての離散時間線形システムの出力のフィッティング曲線の算出を行うものとする。
【００７４】
図１１について説明する。図１１は第２の実施形態に関わる離散時間の外力入力付きの線形システムを表している。
【００７５】
図１１において、Ａはｎ次の正方行列を表している。時刻ｉのときｎ次元ベクトルｙ（ｉ）とｎ次元ベクトルである外力ｆ（ｉ）をシステム入力するとｙ（ｉ＋１）＝Ａｙ（ｉ）＋ｆ（ｉ）が出力され、この出力が次の時刻ｉ＋１のときにシステムに入力されるベクトルとなることを表している。ｎ次元ベクトルｙ（ｉ）の要素をｙｊ（ｉ）（ｊ＝１、…、ｎ）、ｎ次元ベクトルｆ（ｉ）の要素をｆｊ（ｉ）とすると、図１０の離散時間の外力入力付きの線形システムの出力ｙｊ（ｉ＋１）は、
【数１２】
2014013555.tif 000014
と表される。
【００７６】
本実施形態では、行列Ａの固有値をλ1、…、λnはゼロではないと仮定する。しかしながら、固有値にゼロが含まれる場合であっても、当業者には自明な修正を加えることによって、本実施形態の方法を適用することができる。たとえば、行列Ａの固有値としてゼロを許容し、固有値の対数を取るときに、値がゼロであるものについては、固有値の対数値をゼロとしてもよい。また、固有値は複素数であっても良い。
【００７７】
上記の行列Ａは、対角化可能であるとする、行列Ａの固有値をλ1、…、λnとし、固有ベクトルを並べて得られる行列をＸとする。このとき、［数３］の関係式を用いると、［数１２］は、
【数１３】
2014013555.tif 000015
と書くことができる。
【００７８】
ここで、ｎ次元ベクトルｙ（ｉ）と行列Ａの固有ベクトルから得られ行列Ｘを用いて、ｎ次元ベクトルｚ（ｉ）を定義する。ｎ次元ベクトルｚ（ｉ）は、要素としてｚｊ（ｉ）（ｊ＝１、…、ｎ）を有するとすれば、次のように表される。
【数１４】
2014013555.tif 000016
さらに、外力を表すｎ次元ベクトルｆ（ｉ）と行列Ａの固有ベクトルから得られる行列Ｘを用いて、ｎ次元ベクトルｇ（ｉ）を定義する。ｎ次元ベクトルｇ（ｉ）は、要素としてｇｊ（ｉ）（ｊ＝１、…、ｎ）を有するとすれば、次のように表される。
【数１５】
2014013555.tif 000017
これら、ｎ次元ベクトルｙ（ｉ）とｇ（ｉ）を用いると、［数１３］は、
【数１６】
2014013555.tif 000018
のように書くことができる。［数１６］を要素別に書くと、ｊ＝１、２、…、ｎに対して
【数１７】
2014013555.tif 000019
となる。［数１７］の関係式を繰り返し用いることによって、ｚｊ（ｉ＋１）を、ｚｊ（０）とｇｊ（０）、…、ｇｊ（ｉ）を用いて、次の［数１８］のように書くことができる。
【数１８】
2014013555.tif 000020
【００７９】
本実施形態では、外力が存在するので、ｚｊ（０）とｚｊ（ｉ＋１）の関係は単純な比例関係とはならず、非斉次項が存在する。また、本実施形態では線形システムへの外力ｆ（ｉ）の入力は有限回であるので、［数１８］の右辺はλｊに関して有限の次数である。［数１８］は、ｎ次元ベクトルｙ（ｉ）の初期値がｙ（０）＝（ｙ１（０）、ｙ２（０）、…、ｙｎ（０））であり、過去に有限回の外力ｆ（０）、…、ｆ（ｉ）が入力される離散時間線形システムの出力を表している。
【００８０】
以下では、［数１８］で表される離散時間線形システムの出力のフィッティング曲線を求めるために、図１２に示されるような曲線ｃｉ(ｔ)を導入する。図１２の曲線は、次の条件を満たす曲線として特徴付けられる。
（Ｃ１）ｔ≦ｉに対して、ｃｉ(ｔ)＝０、
（Ｃ２）ｉ＋１≦ｔに対して、ｃｉ(ｔ)＝１、
（Ｃ３）ｉ≦ｔ≦ｉ＋１に対して、連続かつ少なくとも１回微分可能。
もちろん、上記（３）の条件は、ｉ≦ｔ≦ｉ＋１に対して、連続かつ無限回微分可能であるとしても良い。
【００８１】
この曲線ｃｉ(ｔ)を用いると、ｔを連続変数として、
【数１９】
2014013555.tif 000021
と表され、かつ、離散時間ｉ＝０、１、…、ｍ＋１に対して、
【数２０】
2014013555.tif 000022
を満たす曲線ｘｊ（ｔ）は［数１８］のｚｊ（ｉ）のフィッティング曲線となる。
【００８２】
［数１８］から［数１９］〜［数２０］に移行する際に、離散時間を表す離散変数（ｉ＋１）（ｉは整数）を、連続変数ｔに形式的に置き換えている。前掲した［数１８］式は、離散時間である時刻ｉに関する式であるのに対し、上記の［数１９］式を、連続している時間ｔに関する式と見れば、ｘ（ｔ）は連続曲線となる。しかも、［数１９］式に対してｔ＝ｉ＋１を代入すれば［数１８］式が得られる。つまり、［数１９］式は［数１８］式を連続時間に拡張したものとなっており、連続曲線ｙ（ｔ）はｙ（ｉ＋１）のフィッティング曲線となっている。
【００８３】
［数１９］と［数２０］によって定義される曲線ｘｊ（ｔ）が満たす微分方程式を求める。［数１９］を連続変数ｔで微分すると、次の［数２１］となる。
【数２１】
2014013555.tif 000023
ここで、
【数２２】
2014013555.tif 000024
であり、ｈｊ（ｔ）は、外力ｆ（ｉ）とと行列Ａの固有値から得られる行列Ｘを用いて定義されるｇ（ｉ）を含むので、離散時間線形システムの外力に対応する項であることが分かる。
【００８４】
［数２１］の連立線形の微分方程式に対応するリカレントニューラルネットワーク（ＲＮＮ）回路を得るには、［数２１］を行列形式に書き直すと便利である。
次のように、ｎ次元ベクトルＹ（ｔ）＝（Ｙ１（ｔ）、…、Ｙｎ（ｔ））とＨ（ｔ）＝（Ｈ１（ｔ）、…、Ｈｎ（ｔ））を導入する。
【数２３】
2014013555.tif 000025
ここで、［数１３］のように、Ｘは行列Ａの固有値をλ1、…、λnとし、固有ベクトルを並べて得られる、行列Ａを対角化する行列である。これらを用いると、［数２１］は、
【数２４】
2014013555.tif 000026
と書くことができる。
【００８５】
ここで、行列Ｂを、
【数２５】
2014013555.tif 000027
によって導入すると、［数２４］は、行列Ｂの行列要素ｂｉｊを用いて、
【数２６】
2014013555.tif 000028
と書ける。［数２６］は、定数係数の連立非同次微分方程式であり、図２に表したＲＮＮ回路と関係式との関係を用いることで、この連立非同次微分方程式をＲＮＮ回路によって実現することができる。つまり、行列Ｂの行列要素ｂｉｊはＲＮＮ回路の重み係数となり、Ｈ（ｔ）は加え値となる。
【００８６】
図１３に図解したＲＮＮ回路４０の構成は、ｎ＝３の場合の上記連立非同次微分方程式を実現するものである。より詳細には、
【数２７】
2014013555.tif 000029
で表される連立非同次微分方程式に対応するＲＮＮ回路である。
【００８７】
たとえば。［数２６］で表される連立非同次微分方程式に対応するＲＮＮ回路は次のような規則によって設計され得る。すなわち、
（Ｒ１）行列Ｂの次数に等しい数のニューロンを用意し、その状態がＹｉ（ｔ）を与えるニューロンをｉ番目のニューロンとする、
（Ｒ２）整数ｉとｊが等しくなく、行列Ｂの要素ｂｉｊが非零である場合、ｉ番目のニューロンとｊ番目のニューロンを結線で接続する、
（Ｒ３）ｉ番目のニューロンとｉ番目のニューロンをループ状の結線で接続する、
（Ｒ４）整数ｉとｊが等しくないとき、ｉ番目のニューロンとｊ番目のニューロンを接続する結線上に、重み係数ｂｉｊを付与する、
（Ｒ５）各ニューロンが積分器として機能するときの倍数は、（ｄＹ／ｄｔ）の係数である「１」を与える、
（Ｒ６）ｉ番目のニューロンとｉ番目のニューロンを接続するループ状の結線上に、重み係数（ｂｉｉ＋１）を付与する、
（Ｒ７）ｉ番目のニューロンに加え値Ｈｉが印加されるようにする、
という規則である。上記の規則は、（Ｒ７）を除けば、［数２７］の連立非同次微分方程式で非同次項、すなわち右辺のＨ（ｔ）の項がない連立同次微分方程式に対応するＲＮＮ回路の設計に対しても適用することができる。
【００８８】
上記規則（Ｒ５）は、次のような理由から得られる。図２に示されているニューロンの入出力結線に対応する微分方程式：
【数２８】
2014013555.tif 000030
と、［数２７］の出力Ｙ１に対する方程式：
【数２９】
2014013555.tif 000031
を比較すると、［数２８］の左辺の第２項（＋ｙｉ）が存在することに気が付く。この項を消すためには、右辺に（＋ｙｉ）を追加すればよい。これは、図２では、ループ状の結線の接続を追加することに相当する。このように、図１３のｉ番目のニューロンに接続されるループ状の結線に対する重み係数は（ｂｉｉ＋１）となっている。この事情は、図７においても同様である。
【００８９】
また、［数２９］では、［数２８］の１階微分の項の係数εｉは、ｉ番目のニューロンが積分器として機能するときの倍数に相当する。今の場合、εｉ＝１であるので、図１３のｉ番目のニューロンは１倍の積分器として機能する。
【００９０】
図１３に示されているＲＮＮ回路４０は、正方行列である行列Ａの次数に応じ、３個のニューロンを組み合わせて構成されており、サンプル数が大きくなっても、このニューロンの個数は増加しない。
【００９１】
このＲＮＮ回路４０に初期値（ｙ１（０）、ｙ２（０）、ｙ３（０））を与えて動作させると、［数１２］で表される線形システムについてのフィッティング曲線が得られる。
【００９２】
次に図１４について説明する。図１４は、図１０のＰＣ２０のＣＰＵ５１によって行われる、フィッティング曲線算出のための制御処理である。
【００９３】
図１４の処理が開始されると、まず、Ｓ２０１において、ＣＰＵ５１は、離散時間線形システムを表している、ｎを２以上の整数として、ｎ次元正方行列である行列Ａと、この線形システムの初期状態を表している初期値（ｙ１（０）、…、ｙｎ（０））と、ｍ個の異なる時刻においてシステムに加えられる外力の値ｆ（１）、…、ｆ（ｍ）と、図２３に示されている曲線ｃｉ(ｔ)に関する情報との入力を取得する。ｎ次元正方行列である行列Ａ、線形システムの初期値、外力の値、および曲線ｃｉ(ｔ)に関する情報は入力データ１１と参照される。ＣＰＵ１１は、取得したこれらのデータをメモリ２２（図６の構成では、ＲＡＭ２２）に記憶させておく処理を行う。
【００９４】
次に、Ｓ２０２において、ＣＰＵ１１は、行列Ａについて固有値λ1、…、λnと固有ベクトルとを算出する処理を行う。ここで、行列Ａは、対角化可能であると仮定されている。この仮定の下、行列Ａの固有値と固有ベクトルとを算出する手法は様々なものが知られており、そのいずれの手法を採用してもよい。
【００９５】
また、本ステップで算出された固有値λ1、…、λnは、固有値の対数値ｌｏｇλ1、…、ｌｏｇλnを得るために用いられる。なお、本実施形態では、行列Ａの固有値はゼロでないと仮定されているが、行列Ａの固有値に値がゼロが」含まれている場合にＣＰＵ１１は、その固有値についての対数値の算出結果をゼロとする処理を行てもよい。
【００９６】
さらに、本ステップで算出された固有ベクトルは、固有ベクトルを並べて得られる行列Ｘを定義するために用いられる。行列Ｘは、本ステップで算出されてもよい。その場合、ＣＰＵ５１は、得られた行列Ｘを、メモリ２２（図６の構成では、ＲＡＭ２２）に記憶させておく処理を行う。
【００９７】
次に、Ｓ２０３において、ＣＰＵ５１は、Ｓ２０２において得られた行列Ａの固有値の対数値ｌｏｇλ1、…、ｌｏｇλnと、固有ベクトルから得られる行列Ｘとを用いて、各ニューロンの状態量に与える重み係数ｂｉｊを算出する。重み係数ｂｉｊは、上の［数２５］に従って算出され得る。さらにＣＰＵ５１は本ステップにおいて、行列Ａの固有値λ1、…、λnと、外力ｆ（１）、…、ｆ（ｍ）と固有ベクトルから得られる行列Ｘとを用いて得られるｎ次元ベクトルｇと、曲線ｃｉ(ｔ)（の微分）を用いて、加え値Ｈｉを算出する。加え値Ｈｉは、上の［数２２］と［数２３］に従って算出され得る。
【００９８】
次に、Ｓ２０４において、ＣＰＵ１１は、定数係数の連立非同次微分方程式によって処理が表されるＲＮＮ回路のトポロジーを形成する処理を行う。「トポロジー」とは、行列Ａの次数に応じたニューロンの数と、それらのニューロン間の結線の仕方を意味してもよい。たとえば、行列Ａがｎ次元正方行列であれば、ニューロンの数はｎ個であり得る。ここでは、［数２６］の定数係数の連立非同次微分方程式において、出力Ｙｉ（ｔ）に対応するニューロンをｉ番目のニューロンとする。また、Ｓ２０３の処理で算出された重み係数ｂｉｊが非零であれば、ｉ番目のニューロンとｊ番目のニューロン間には結線が存在し得る。ここで、重み係数ｂｉｉのように、同一のニューロンを参照するような重み係数も許容される。この場合、ｉ番目のニューロンから出てｉ番目のニューロンに入るような結線が存在する。このように、ニューロンとニューロン間の結線によってＲＮＮ回路のトポロジーが形成される。このように、上記規則（Ｒ１）〜（Ｒ３）に従ってＲＮＮ回路のトポロジーを形成する。
【００９９】
次に、Ｓ２０５のおいて、ＣＰＵ５１は、Ｓ２０４の処理により形成されたトポロジーを有する回路に、上記規則（Ｒ４）〜（Ｒ５）に従って、各ニューロンが積分器として機能するときの倍数、ｉ番目のニューロンとｊ番目のニューロンを結ぶ結線に付与される重み係数、ｉ番目のニューロンに印加される加え値を与え、ＲＮＮ回路を形成する。例えば、［数２７］の微分方程式に対するＲＮＮ回路として図１３に示されているＲＮＮ回路４０が形成される。
【０１００】
以上、Ｓ２０１からＳ２０５までの処理によって、離散時間線形システムの出力のフィッティング曲線を出力することができるＲＮＮ回路の設計が完了する。
【０１０１】
次に、Ｓ２０６において、ＣＰＵ５１は、Ｓ２０１からＳ２０５までの処理によって設計されたＲＮＮ回路に、Ｓ２０１において取得した線形システムの初期状態を表している初期値（ｙ１（０）、…、ｙｎ（０））を与えて、ＲＮＮ回路を動作させる処理を行う。このようにしてＲＮＮ回路を動作させることにより、行列Ａによって表されている離散時間線形システムの出力についてのフィッティング曲線が、ＲＮＮ回路の出力として得られる。
【０１０２】
次に、Ｓ２０７において、ＣＰＵ５１は、動作させたＲＮＮ回路からの出力を、フィッティング曲線の算出結果として出力する処理を行い、その後はこのフィッティング曲線算出処理が終了する。この出力処理では、例えば、ＲＮＮ回路から出力されるデータをプロットすることによって形成されるグラフを、図６の表示装置２５で表示させることによって、フィッティング曲線の出力が行われる。
【０１０３】
以上までの処理をＣＰＵ５１が行うことで、離散時間線形システムの出力のフィッティング曲線を出力することができるＲＮＮ回路の設計がＰＣ２０により行われ、また、そのフィッティング曲線がＰＣ２０により求められる。
【０１０４】
以上の実施形態に関し、さらに以下の付記を開示する。
（付記１）
コンピュータによるニューラルネットワーク設計方法であって、
定数係数の連立微分方程式によって処理が表されるリカレントニューラルネットワーク（ＲＮＮ：Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）回路を形成し、
前記ＲＮＮ回路を構成しているニューロン間の結線により伝送されるニューロンの状態量に与える重み係数を、対角化可能であって離散時間線形システムを表現しているｎ次正方行列（ｎは２以上の自然数）の要素から算出して前記ＲＮＮ回路に与える、
ことを前記コンピュータが行うことを特徴とするニューラルネットワーク設計方法。
（付記２）
前記離散時間線形システムが外力を含む場合はさらに、前記ＲＮＮ回路を構成しているニューロンの各々に加えられる加え値を、前記外力の値と前記ｎ次正方行列（ｎは２以上の自然数）の要素を用いて算出して前記ＲＮＮ回路に与えることを前記コンピュータが行うことを特徴とする付記１に記載のニューラルネットワーク設計方法。
（付記３）
前記ｎ次正方行列についての固有ベクトルの行列と、前記ｎ次正方行列についての固有値の対数値を対角成分とする対角行列と、該固有ベクトルの逆行列との乗算を行うことによって前記重み係数を算出することを特徴とする付記１または２に記載のニューラルネットワーク設計方法。
（付記４）
前記ｎ次正方行列についての固有値のうち、値がゼロであるものについては、該固有値の対数値をゼロとすることを特徴とする付記２または３に記載のニューラルネットワーク設計方法。
(付記５）
前記離散時間線形システムの前記外力に関わる前記加え値を算出する際に、
（Ｃ１）ｔ≦ｉに対して、ｃｉ(ｔ)＝０、
（Ｃ２）ｉ＋１≦ｔに対して、ｃｉ(ｔ)＝１、
（Ｃ３）ｉ≦ｔ≦ｉ＋１に対して、連続かつ少なくとも１回微分可能、
なる条件を満たす曲線の表現を用いることを特徴とする付記１から４のうちのいずれか一項に記載のニューラルネットワーク設計方法。
（付記６）
コンピュータにニューラルネットワークの設計を行わせるプログラムであって、
定数係数の連立微分方程式によって処理が表されるリカレントニューラルネットワーク（ＲＮＮ：Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）回路を形成し、
前記ＲＮＮ回路を構成しているニューロン間の結線により伝送されるニューロンの状態量に与える重み係数を、対角化可能であって離散時間線形システムを表現しているｎ次正方行列（ｎは２以上の自然数）の要素から算出して前記ＲＮＮ回路に与える、
処理を前記コンピュータに実行させることを特徴とするプログラム。
（付記７）
前記離散時間線形システムが外力を含む場合はさらに、前記ＲＮＮ回路を構成しているニューロンの各々に加えられる加え値を、前記外力の値と前記ｎ次正方行列（ｎは２以上の自然数）の要素を用いて算出して前記ＲＮＮ回路に与える処理を前記コンピュータに実行させることを特徴とする付記６に記載のプログラム。
（付記８）
前記ｎ次正方行列についての固有ベクトルの行列と、前記ｎ次正方行列についての固有値の対数値を対角成分とする対角行列と、該固有ベクトルの逆行列との乗算を行うことによって前記重み係数を算出することを特徴とする付記６または７に記載のプログラム。
（付記９）
前記ｎ次正方行列についての固有値のうち、値がゼロであるものについては、該固有値の対数値をゼロとすることを特徴とする付記６または７に記載のプログラム。
（付記１０）
前記離散時間線形システムの前記外力に関わる前記加え値を算出する際に、
（Ｃ１）ｔ≦ｉに対して、ｃｉ(ｔ)＝０、
（Ｃ２）ｉ＋１≦ｔに対して、ｃｉ(ｔ)＝１、
（Ｃ３）ｉ≦ｔ≦ｉ＋１に対して、連続かつ少なくとも１回微分可能、
なる条件を満たす曲線の表現を用いることを特徴とする付記６から９のうちのいずれか一項に記載のプログラム。
（付記１１）
離散時間線形システムの出力のフィッティング曲線を求めるフィッティング方法であって、
定数係数の連立微分方程式によって処理が表されるリカレントニューラルネットワーク（ＲＮＮ：Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）回路を形成し、
前記ＲＮＮ回路を構成しているニューロン間の結線により伝送されるニューロンの状態量に与える重み係数を、対角化可能であって離散時間線形システムを表現しているｎ次正方行列（ｎは２以上の自然数）の要素から算出して前記ＲＮＮ回路に与え、
前記重み係数が与えられたＲＮＮ回路に前記離散時間線形システムの初期値を与えて前記フィッティング曲線を出力させる、
ことをコンピュータが行うことを特徴とするフィッティング方法。
(付記１２）
離散時間線形システムの出力のフィッティング曲線をコンピュータに求めさせるプログラムであって、
定数係数の連立微分方程式によって処理が表されるリカレントニューラルネットワーク（ＲＮＮ：Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）回路を形成し、
前記ＲＮＮ回路を構成しているニューロン間の結線により伝送されるニューロンの状態量に与える重み係数を、対角化可能であって離散時間線形システムを表現しているｎ次正方行列（ｎは２以上の自然数）の要素から算出して前記ＲＮＮ回路に与え、
前記重み係数が与えられたＲＮＮ回路に前記離散時間線形システムの初期値を与えて前記フィッティング曲線を出力させる、
処理を前記コンピュータに実行させることを特徴とするプログラム。
【符号の説明】
【０１０５】
１、１１  入力データ
２、１２  出力データ
１０、５０  ＰＣ
１１、５１  ＣＰＵ
１２、５２  メモリ
２１  ＲＯＭ
２２  ＲＡＭ
２３  ハードディスク装置
２４  入力装置
２５  表示装置
２６  インタフェース装置
２７  記録媒体駆動装置
２８  バスライン
２９  可搬型記録媒体
３０、３１、４０  ＲＮＮ回路
【図１】
2014013555.tif 000032
【図２】
2014013555.tif 000033
【図３】
2014013555.tif 000034
【図４】
2014013555.tif 000035
【図５】
2014013555.tif 000036
【図６】
2014013555.tif 000037
【図７】
2014013555.tif 000038
【図８】
2014013555.tif 000039
【図９】
2014013555.tif 000040
【図１０】
2014013555.tif 000041
【図１１】
2014013555.tif 000042
【図１２】
2014013555.tif 000043
【図１３】
2014013555.tif 000044
【図１４】
2014013555.tif 000045