(57)【特許請求の範囲】
【請求項１】
コンピュータにニューラルネットワークを設計させるプログラムであって、
設計対象となるリカレントニューラルネットワーク（ＲＮＮ：Recurrent
Neural Network）回路の入力データbi(t)と出力データyi(t)が与えられたとき（iは１以上の自然数）、ｎ個の入力データとｎ個の出力データを並べることによって得られる入力ベクトルb (t)と出力ベクトルy (t)から行列A(t)を決定することで入出力の整合がとれる結線aij(t)の値を決定して記憶部に記憶する決定手順と、
前記決定手順は、ｎ個の出力ベクトルを並べた行列をY(t)、ｎ個の入力ベクトルb(t)を並べた行列をB(t)とすると、全ての時間ｔに対して行列Y(t)が０でない場合、前記行列Y(t)は逆行列を持つので以下の式に基づき前記行列A(t)を決定して前記ＲＮＮ回路の結線aij(t)の値を決定し、
【数３６】
0005817250.tif 000037
前記結線aij(t)が決定された前記ＲＮＮ回路を使用して互いに異なるサンプル点を通る複数の局所近似解を計算すると共に、前記複数の局所近似解を接続して大域近似解を計算して出力する出力手順と
を前記コンピュータに実行させることを特徴とする、プログラム。
【請求項２】
前記出力手順は、前記ＲＮＮ回路に入力される中心位置情報及び接続位置情報に基づいて、前記結線aij(t)が決定された前記ＲＮＮ回路を使用して前記中心位置情報が示す各サンプル点を通る局所近似解を計算すると共に、前記接続位置情報が示す時刻の接続位置において各局所近似解を接続して大域近似解を計算することを特徴とする、請求項１記載のプログラム。
【請求項３】
前記出力手順は、A(t), B(t)を用いて局所近似解を生成する際に、以下の式で表される初期値を設定し、
【数３７】
0005817250.tif 000038
ことを特徴とする、請求項２記載のプログラム。
【請求項４】
前記出力手順は、前記中心位置情報が示す各サンプル点を中心とした近傍で、ｍ次近似まで保障された局所近似解を算出することを特徴とする、請求項２又は３記載のプログラム。
【請求項５】
コンピュータによるニューラルネットワーク設計方法であって、
設計対象となるリカレントニューラルネットワーク（ＲＮＮ：Recurrent
Neural Network）回路の入力データbi(t)と出力データyi(t)が与えられたとき（iは１以上の自然数）、ｎ個の入力データとｎ個の出力データを並べることによって得られる入力ベクトルb (t)と出力ベクトルy (t)から行列A(t)を決定することで入出力の整合がとれる結線aij(t)の値を決定して記憶部に記憶する決定手順と、
前記決定手順は、ｎ個の出力ベクトルを並べた行列をY(t)、ｎ個の入力ベクトルb(t)を並べた行列をB(t)とすると、全ての時間ｔに対して行列Y(t)が０でない場合、前記行列Y(t)は逆行列を持つので以下の式に基づき前記行列A(t)を決定して前記ＲＮＮ回路の結線aij(t)の値を決定し、
【数３８】
0005817250.tif 000039
前記結線aij(t)が決定された前記ＲＮＮ回路を使用して互いに異なるサンプル点を通る複数の局所近似解を計算すると共に、前記複数の局所近似解を接続して大域近似解を計算して出力する出力手順と
を前記コンピュータに実行させることを特徴とする、ニューラルネットワーク設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理モデルに適用可能なニューラルネットワークを設計するニューラルネットワーク設計方法、及び、コンピュータにニューラルネットワークを設計させるプログラムに関する。本発明は、このようなプログラムを格納したコンピュータ読み取り可能な記憶媒体にも関する。
【背景技術】
【０００２】
リカレントニューラルネットワーク（ＲＮＮ：Recurrent Neural Network）は、ロボットの動作等に適用するために開発されたニューラルネットワークであるが、ロボットの動作のみならず、歩数計や音声解析装置等の様々な電子装置等の物理モデルに対して適用可能である。ＲＮＮ自体は、例えば非特許文献１等にて提案されている。
【０００３】
ＲＮＮは、ニューロンと結線からなるネットワークであり、ニューロンと入出力の結線との関係式は図１のように与えられる。図１において、εiは遅れパラメータ、yi, yjはニューロンの状態量、Cijは重み係数、tは時間を表し、ニューロンの状態量を表すyiをニューロンと同一視する場合もある。
【０００４】
図１の関係式の拡張として、図２のような関係式も考えられる。図２は、図１の構成に加え、値giがニューロンyiに入力されることを示し、値giはこのＲＮＮ回路のニューロン以外で求められた値である。
【０００５】
図３は、ＲＮＮ回路の一例を説明する図である。入力データbi(t)と出力データyi(t)，i=1,2,3が与えられたとき、入出力の整合がとれるように結線aij(t)の値を学習し決定することを考える。この例では、遅れのパラメータεi=1，i=1,2,3であるものとする。
【０００６】
図３に示すＲＮＮ回路のbi(t)、yi(t)、aij(t)の関係は、以下の式（１）で示すように行列を用いた方程式で表され、入力データbi(t)と出力データyi(t)から結線の値aij(t)を決定することは、入力ベクトルb (t)と出力ベクトルy (t)から行列A(t)を決定することと同じになる。
【０００７】
【数１】
0005817250.tif 000002
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第４４５９５９７号
【特許文献２】特表２００６−５０７６０５号公報
【特許文献３】特開２００４−１８５６２０号公報
【特許文献４】特表２００６−５０１５７９号公報
【特許文献５】特開平７−５６８８１号公報
【非特許文献】
【０００９】
【非特許文献１】永嶋史朗、「双線形時間遅れニューラルネットワークによるロボットソフトウェアシステム」、日本ロボット学会誌、Vol.24, No.6, pp.53-64, 2006
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、上記の方法では、全ての時間ｔに対し行列A(t)を計算する必要があるので、ＲＮＮ回路の結線の値を決定するための計算量が非常に多く計算時間が非常にかるため、現実的な方法ではないというという問題があった。
【００１１】
そこで、本発明は、ＲＮＮ回路の結線の値を決定するための計算量及び計算時間を削減可能なニューラルネットワーク設計方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の一観点によれば、コンピュータによるニューラルネットワーク設計方法であって、設計対象となるリカレントニューラルネットワーク（ＲＮＮ：Recurrent
Neural Network）回路の入力データbi(t)と出力データyi(t)が与えられたとき（iは１以上の自然数）、ｎ個の入力データとｎ個の出力データを並べることによって得られる入力ベクトルb (t)と出力ベクトルy (t)から行列A(t)を決定することで入出力の整合がとれる結線aij(t)の値を決定して記憶部に記憶する決定手順と、前記決定手順は、ｎ個の出力ベクトルを並べた行列をY(t)、ｎ個の入力ベクトルb(t)を並べた行列をB(t)とすると、全ての時間ｔに対して行列Y(t)が０でない場合、前記行列Y(t)は逆行列を持つので以下の式に基づき前記行列A(t)を決定して前記ＲＮＮ回路の結線aij(t)の値を決定し、
【数２】
0005817250.tif 000003
前記結線aij(t)が決定された前記ＲＮＮ回路を使用して互いに異なるサンプル点を通る複数の局所近似解を計算すると共に、前記複数の局所近似解を接続して大域近似解を計算して出力する出力手順とを前記コンピュータに実行させるニューラルネットワーク設計方法が提供される。
【００１３】
本発明の一観点によれば、コンピュータにニューラルネットワークを設計させるプログラムであって、設計対象となるリカレントニューラルネットワーク（ＲＮＮ：Recurrent
Neural Network）回路の入力データbi(t)と出力データyi(t)が与えられたとき（iは１以上の自然数）、ｎ個の入力データとｎ個の出力データを並べることによって得られる入力ベクトルb (t)と出力ベクトルy (t)から行列A(t)を決定することで入出力の整合がとれる結線aij(t)の値を決定して記憶部に記憶する決定手順と、前記決定手順は、ｎ個の出力ベクトルを並べた行列をY(t)、ｎ個の入力ベクトルb(t)を並べた行列をB(t)とすると、全ての時間ｔに対して行列Y(t)が０でない場合、前記行列Y(t)は逆行列を持つので以下の式に基づき前記行列A(t)を決定して前記ＲＮＮ回路の結線aij(t)の値を決定し、
【数３】
0005817250.tif 000004
前記結線aij(t)が決定された前記ＲＮＮ回路を使用して互いに異なるサンプル点を通る複数の局所近似解を計算すると共に、前記複数の局所近似解を接続して大域近似解を計算して出力する出力手順とを前記コンピュータに実行させるプログラムが提供される。
【発明の効果】
【００１４】
開示のニューラルネットワーク設計方法及びプログラムによれば、ＲＮＮ回路の結線の値を決定するための計算量及び計算時間を削減可能となる。
【図面の簡単な説明】
【００１５】
【図１】ニューロンと入出力の結線との関係式を説明する図である
【図２】図１の関係式の拡張を説明する図である。
【図３】ＲＮＮ回路の一例を説明する図である。
【図４】本発明の一実施例におけるニューラルネットワーク設計方法を、ＲＮＮ回路の結線を学習する場合について示すブロック図である。
【図５】本発明の一実施例におけるニューラルネットワーク設計方法を、結線が学習されたＲＮＮ回路に対して与えられた入力データに対する出力データを決定する場合について示すブロック図である。
【図６】式（７）で与えられた軌跡データを示す図である。
【図７】式（８）で与えられた軌跡データを示す図である。
【図８】局所近似型ＲＮＮ方式によりA(t)を計算する処理を説明するフローチャートである。
【図９】局所近似解を生成する処理を説明するフローチャートである。
【図１０】式（７）の2≦t≦4の軌跡を表す図である。
【図１１】式（２４）の局所近似解を表す図である。
【図１２】接続ＲＮＮ方式で用いる関数を説明する図である。
【図１３】接続ＲＮＮ方式で用いる関数を説明する図である。
【図１４】接続ＲＮＮ方式を用いた局所近似解の接続処理を説明するフローチャートである。
【図１５】大域近似解y(t)を表す図である。
【図１６】コンピュータシステムの一例をより詳細に示すブロック図である。
【発明を実施するための形態】
【００１６】
開示のニューラルネットワーク設計方法及びプログラムでは、ＲＮＮ回路の出力ベクトルそのものを出力するのではなく、簡略化して局所的な近似解を出力するように上記の式（１）の行列A(t)を学習（又は、記憶）する方式（以下、局所近似型ＲＮＮ方式と言う）を用いる。設計対象となるＲＮＮ回路の入力データbi(t)と出力データyi(t)が与えられたとき（iは１以上の自然数）、ｎ個の入力データとｎ個の出力データを並べることによって得られる入力ベクトルb (t)と出力ベクトルy (t)から行列A(t)を決定することで入出力の整合がとれる結線aij(t)の値を決定する。又、いくつかの領域で得られた局所近似解を接続し、大域近似解を得る方式（以下、接続ＲＮＮ方式と言う）を用いる。結線aij(t)が決定されたＲＮＮ回路を使用して互いに異なるサンプル点を通る複数の局所近似解を計算すると共に、複数の局所近似解を接続して大域近似解を計算して出力する。こらら２つの方式（局所近似型ＲＮＮ方式及び接続ＲＮＮ方式）を用いることで、大域的な近似解の出力ベクトルを生成する。
【００１７】
以下に、開示のニューラルネットワーク設計方法及びプログラムの各実施例を図面と共に説明する。
【実施例】
【００１８】
先ず、上記の式（１）とは異なる行列A(t)を決定方法について説明する。式（２）に示すように、ｎ個の出力ベクトルが与えられたとき、式（３）のような入力ベクトルb (t)とｎ個の出力ベクトルy (t) の整合性がとれるように、行列A(t)を決定することを考える。ここで、ｎは複数、即ち、２以上の自然数である。
【００１９】
【数４】
0005817250.tif 000005
【００２０】
【数５】
0005817250.tif 000006
【００２１】
以下の式（４）のようにｎ個の出力ベクトルを並べてできる行列をY(t)、ｎ個の入力ベクトルb(t)を並べてできる行列をB(t)とすると、上記の関係式（３）から方程式（５）が導き出せる。
【００２２】
【数６】
0005817250.tif 000007
【００２３】
【数７】
0005817250.tif 000008
【００２４】
この結果、全ての時間ｔに対して行列Y(t)が０でない場合（即ち、det(Y(t))≠０）、行列Y(t)は逆行列を持つので、式（６）に示すように、上記の関係式（５）からA(t)を決定することができ、元のＲＮＮ回路の結線aij(t)の値を決定することができる。
【００２５】
【数８】
0005817250.tif 000009
【００２６】
しかし、上記の方法では、全ての時間ｔに対し行列Y(t)が０でないこと（即ち、det(Y(t))≠０）を確認し、行列Y(t)の逆行列を計算する必要があるので、ＲＮＮ回路の結線の値を決定するための計算量が比較的多く、計算時間がかかる。
【００２７】
図４及び図５は、本発明の一実施例におけるニューラルネットワーク設計方法を説明するブロック図である。図４及び図５は、プログラムを実行することでニューラルネットワーク設計処理を行うコンピュータシステム（又は、情報処理装置）を示すブロック図である。この例では、コンピュータシステムは、パーソナルコンピュータ（ＰＣ：Personal Computer）等の汎用コンピュータで形成可能である。
【００２８】
図４は、ＰＣで入力データと出力データを記憶するために、設計対象となるＲＮＮ回路の結線を学習（又は、記憶）する場合を示し、図５は、ＰＣにおいて結線が学習されたＲＮＮ回路に対し、入力データが与えられたとき、その入力データに対する出力データを求めて決定する場合を示す。図４及び図５において、ＰＣはＣＰＵ（Central Processing Unit）１０１と、メモリ等で形成可能な記憶部１０２を有する。記憶部１０２は、入力データ（又は、入力データファイル）及び出力データ（又は、出力データファイル）を格納する。
【００２９】
例えば、ロボット（図示せず）の移動軌跡を計算する場合、ロボットに設置された加速度センサ（図示せず）から、３次元空間の軌跡データを  周知の方法で計算することができる。そこで、図４において、記憶部１０２は、時刻データ(t)が記録されている入力データファイルと、加速度センサ等からのデータに基づいて計算された３次元空間の軌跡データ又は軌跡のログ(x(t),y(t),z(t))が記録されている出力データファイルを格納している。又、図４の記憶部１０２は、局所近似型ＲＮＮ方式のプログラムを格納しており、ＣＰＵ１０１はこのプログラムと記憶部１０２に格納された入出力データファイルを使用してＲＮＮ回路の結線の値を計算する。
【００３０】
図５において、与えられる入力データは、時刻データ(t)、中心位置情報 (x(ti),y(ti),z(ti)) (i=1,...m)、及び接続位置情報(x(tj),y(tj),z(tj)) (j=1,...,n)が含まれる。中心位置情報とは、局所近似解の中心位置となる時刻と３次元空間の位置情報である。又、接続位置情報とは、局所近似解を接続する時刻と３次元空間の位置情報である。図４において結線の学習（又は、記憶）が行われたＲＮＮ回路を使用することで、図５のＣＰＵ１０１は各中心位置を通る局所近似解を計算する。又、図５において、ＣＰＵ１０１は、記憶部１０２に格納されている接続ＲＮＮ方式のプログラムを使用して、接続位置において各局所近似解を接続し、大域近似解を計算して出力する。このようにして図５のＣＰＵ１０１から出力される出力データ（即ち、大域近似解）は、例えば３次元空間の軌跡データを含み、この軌跡データをロボットに入力することにより、ロボットを軌跡データで表される軌跡上を走行するように制御することができる。
【００３１】
次に、１つの具体例について説明する。例えば、説明の便宜上、以下の式（７）及び式（８）に示すような、加速度センサの出力データから計算された２次元空間の軌跡データ(x(t),y(t))のファイルがあるものとする。
【００３２】
【数９】
0005817250.tif 000010
【００３３】
【数１０】
0005817250.tif 000011
【００３４】
加速度センサからの出力は、単位時間毎のデジタルデータであるため、上記の２次元空間の軌跡データ(x(t),y(t))は、このデジタルデータを連続時間のアナログデータに変換したものに相当する。上記の式（７）及び式（８）で与えられた軌跡データをグラフ化すると、夫々図６及び図７のようになる。図６は上記の式（７）で与えられた軌跡データを示す図であり、図７は上記の式（８）で与えられた軌跡データを示す図である。図６及び図７において、縦軸はｙ座標、横軸はｘ座標示す。
【００３５】
時刻ｔを入力データとし、図６及び図７の２つの軌跡データを出力するような学習方法を、先ず従来の手法を用いる比較例から説明する。この比較例の場合、入力行列B(t)は、式（９）のようになり、出力行列Y(t)は式（１０）のようになる。
【００３６】
【数１１】
0005817250.tif 000012
【００３７】
【数１２】
0005817250.tif 000013
【００３８】
Y(t)は、0≦t≦6の範囲（実際には全ての実数値）で無限回微分可能であるが、t=0でY(t)は逆行列をも持たないため、0＜t≦6の全てのｔに対し、上記の式（６）から（2×2行列の）A(t)を計算することができる。ここで、A(t)を求めるための上記の式（６）の計算量（掛け算の回数）を説明する。ｔの値を１つ固定するとき、Y(t)の逆行列を求めるときに７回、Y(t)の逆行列とdY(t)/dt-B(t)の掛け算のときに８回、合計で１５回の掛け算を必要とする。例えば、tの単位を秒とし、加速度センサの記録間隔を２０ｍｓとすると、６秒間で３００個のサンプル点を取ることができる。
【００３９】
全てのサンプル点に対し、上記の式（６）からA(t)を計算するときの計算量は、300×15=4500回となる。加速度センサの記録間隔が短く、軌跡の開始時刻と停止時刻の間隔が長い場合等には、より計算量が多くなる。
【００４０】
次に、上記の具体例に対し、局所近似型ＲＮＮ方式を適用して学習する方法を、図８と共に説明する。図８は、局所近似型ＲＮＮ方式によりA(t)を計算する処理を説明するフローチャートである。先ず、ステップＳＴ１で中心位置情報t0と保障する次数ｍを決定する。局所近似は、t0を中心とした近傍で生成され、ｍ次近似まで保障される。中心位置情報と次数の決め方は、学習させる入出力情報に応じて様々な方法が使用可能であるが、この具体例では、中心位置情報を等間隔にt0=1,3,5と３点選び、次数を３に設定する。一般に、中心位置情報を増やし、次数を上げると近似も良くなるが、計算量はその分多くなる。又、中心位置情報t0を決定するときに、Y(t0)が逆行列を持つことが必要な条件となる。
【００４１】
図８において、ステップＳＴ２で、Y(t0)の逆行列と以下の式（１１）のようなY(t)、B(t)のテイラー展開（Tailor Expansion）を次数ｍ＝３まで計算する。
【００４２】
【数１３】
0005817250.tif 000014
【００４３】
以下の式（１２）はt0=1,3,5を中心とするY(t)の次数ｍ＝３までのテイラー展開を表し、以下の式（１３）はt0=1, 3, 5を中心とするB(t)のテイラー展開を表す。
【００４４】
【数１４】
0005817250.tif 000015
【００４５】
【数１５】
0005817250.tif 000016
【００４６】
図８において、ステップＳＴ３で、Y(t0)の逆行列とY(t)、B(t)のテイラー展開を用いて以下の生成式（１４）よりAkを求め、A(t)を計算する。ここで、中心位置情報t0=1, 3, 5と次数ｍ＝３という今回の条件でのA(t)を求めるための式（１４）の計算量（掛け算の回数）を計算して上記比較例の場合と比較する。
【００４７】
【数１６】
0005817250.tif 000017
【００４８】
局所近似型ＲＮＮ方式によりA(t)を計算する処理の場合、t0の値を１つ固定するとき、Y(t0)の逆行列を求めるときに７回、A0を求めるときに８回、A1を求めるときに２０回、A2を求めるときに２８回、合計して６３回の掛け算を必要とする。この例では、中心位置情報はt0=1, 3, 5の３点あることから、全ての中心位置情報での計算量は63×3=189回となる。この結果、上記比較例の場合の計算量を比較すると、局所近似型ＲＮＮ方式は上記比較例に比べて0.042倍の計算量で済むことがわかる。このような計算量の減少は、上記比較例のサンプル点の個数に対し、中心位置情報の個数が大幅に減少していることに起因する。尚、上記の式（１４）の（☆）印で示す部分の計算量は考慮していない。これは、加速度センサの記録間隔がこの例のように２０ｍｓと等間隔である場合には、逐次的な更新が可能であるからである。
【００４９】
上記更新方法を、以下の式（１５）と共に説明する。Δt=20msとした場合、ｔの次のt+Δtに対するA(t+Δt)の値は、上記の式（１５）の更新方法で計算できる。
【００５０】
【数１７】
0005817250.tif 000018
【００５１】
上記の式（１５）中、太線の下線で示す項には、予め計算した値を保存しておき使用する。式（１５）の更新方法では、ｔの値での計算結果と太線の下線部分の値を足し合わせることにより、t+Δtの値での計算結果を得ることができる。又、この更新方法においては、掛け算が使用されていない。
【００５２】
次に、上記の如く、局所近似型ＲＮＮ方式を用いることでA(t)を求める際の計算量が減る理由を説明する。
【００５３】
上記比較例のようにA(t)を求める場合、ｔの値を１つ固定するとき、Y(t)の逆行列を求めるときに７回、Y(t)の逆行列とdY(t)/dt-B(t)の掛け算のときに８回、合計で１５回の掛け算を必要とする。例えば、tの単位を秒とし、加速度センサの記録間隔を２０ｍｓとすると、６秒間で３００個のサンプル点を取ることができる。全てのサンプル点に対し、上記の式（６）からA(t)を計算するときの計算量は、以下に示すように300×15=4500回となる。
【００５４】
【数１８】
0005817250.tif 000019
【００５５】
これに対し、局所近似型ＲＮＮ方式によりA(t)を求める場合、t0の値を１つ固定するとき、Y(t)の逆行列を求めるときに７回、A0を求めるときに８回、A1を求めるときに２０回、A2を求めるときに２８回、合計して６３回の掛け算を必要とする。この例では、中心位置情報はt0=1, 3, 5の３点あることから、以下に示すように全ての中心位置情報での計算量は63×3=189回となる。この結果、上記比較例の場合の計算量を比較すると、局所近似型ＲＮＮ方式は上記比較例に比べて0.042倍の計算量で済むことがわかる。
【００５６】
【数１９】
0005817250.tif 000020
【００５７】
次にA(t), B(t)を用いて局所近似解を生成する方法を、図９と共に説明する。図９は、局所近似解を生成する処理を説明するフローチャートである。先ず、ステップＳＴ１１では、以下の式（１７）のような初期値を設定する。
【００５８】
【数２０】
0005817250.tif 000021
【００５９】
ステップＳＴ１２では、以下の生成式（１８）を用いて上記の初期値を通るような局所近似解を作成する。
【００６０】
【数２１】
0005817250.tif 000022
求めるｍ次局所近似解を以下の式（１９）に示す。
【００６１】
【数２２】
0005817250.tif 000023
【００６２】
上記の具体例で計算したA(t), Y(t), B(t)を用いて、中心位置情報t0=1, 3, 5での式（２０）、式（２１）及び式（２２）の初期値を持つ近似解を、上記の生成式（１９）を用いて作成すると、以下の式（２３）、式（２４）及び式（２５）の局所近似解が得られる。
【００６３】
【数２３】
0005817250.tif 000024
【００６４】
【数２４】
0005817250.tif 000025
【００６５】
【数２５】
0005817250.tif 000026
【００６６】
【数２６】
0005817250.tif 000027
【００６７】
【数２７】
0005817250.tif 000028
【００６８】
【数２８】
0005817250.tif 000029
【００６９】
上記の式（２３）の局所近似解は上記の式（２０）の初期値を持ち、上記の式（２４）の局所近似解は上位式（２１）の初期値を持ち、上記の式（２５）の局所近似解は上記の式（２２）の初期値を持つ。又、式（２３）の局所近似解は、上記の式（７）の0≦t≦2の軌跡と一致し、式（２５）の局所近似解は上記の式（７）の4≦t≦6の軌跡と一致する。又、式（２４）の局所近似解は、上記の式（７）の2≦t≦4の軌跡の次数３までのテイラー展開となっている。
【００７０】
図１０は、上記の式（７）の2≦t≦4の軌跡を表す図であり、図１１は、上記の式（２４）の局所近似解を表す図である。図１０及び図１１において、縦軸はｙ座標、横軸はｘ座標を示す。図１０と図１１との比較からもわかるように、図１１の局所近似解は図１０の軌跡を良く近似していることが確認された。
【００７１】
次に、接続ＲＮＮ方式について説明する。接続ＲＮＮ方式は、上記の如く得られたいくつかの局所近似解を接続して大域近似解を作成する手法である。接続ＲＮＮ方式は、図１２に示す如き関数から図１３に示す如き関数を作成し、図１３の関数を用いて局所近似解を接続する。図１２及び図１３は、接続ＲＮＮ方式で用いる関数を説明する図であり、縦軸はｙ座標、横軸はｘ座標を示す。図１３の関数は、a1より小さい点、又は、a4より大きい点に対して０の値をとり、a2〜a3の間で１の値をとる。又、図１３の関数は、a1〜a2、a3〜a4の間は０〜１の値をとる。
【００７２】
上記の具体例の場合を例に取ると、局所近似型ＲＮＮ方式で求めた上記の式（２３）、式（２４）及び式（２５）の関数を、接続ＲＮＮ方式で接続する。図１４は、接続ＲＮＮ方式を用いた局所近似解の接続処理を説明するフローチャートである。先ず、ステップＳＴ２１で、接続位置情報を設定する。接続位置としてt=-0.4, 0, 1.8, 2.2, 3.8, 4.2, 6, 6.4とし、以下の式（２６）で表される関数を作成する。
【００７３】
【数２９】
0005817250.tif 000030
【００７４】
そして、ステップＳＴ２２で、上記の式（２６）で表される関数を用いて局所近似解を接続する。先ず、上記の式（２６）の関数を正規化することにより、以下の式（２７）で表される関数を求める。
【００７５】
【数３０】
0005817250.tif 000031
【００７６】
上記の式（２７）で表される関数を用いることで、以下の式（２８）のように上記の式（２３）、式（２４）及び式（２５）で表される関数を接続し、大域近似解y(t)を求める。
【００７７】
【数３１】
0005817250.tif 000032
【００７８】
図１５は、大域近似解y(t)を表す図である。図１５において、縦軸はｙ座標、横軸はｘ座標を夫々任意単位で示す。図１５に示す大域近似解y(t)は、図６に示す上記の式（７）で与えられた軌跡データと殆ど同じであり、求められた大域近似解y(t)が上記の式（７）の真の関数に近いことが確認された。
【００７９】
図１６は、コンピュータシステムの一例をより詳細に示すブロック図である。図１６に示すコンピュータシステム１００は、ＣＰＵ１０１、記憶部１０２、インタフェース（Ｉ／Ｆ）１０３、入力装置１０４、及び表示部１０５がバス１０６により接続された構成を有する。ＣＰＵ１０１は、記憶部１０２に格納されたプログラムを実行することによりコンピュータシステム１００全体を制御する。記憶部１０２は、半導体記憶装置、磁気記録媒体、光記録媒体、光磁気記録媒体等で形成可能であり、上記のプログラムや各種データを格納すると共に、ＣＰＵ１０１が実行する演算の中間結果や演算結果等を一時的に格納する一時メモリとしても機能する。Ｉ／Ｆ１０３は、記憶部１０２に格納するプログラムやデータをネットワーク（図示せず）から受信することができる。入力装置１０４は、キーボード等により形成可能である。表示部１０５は、ディスプレイ等により形成可能である。入力装置１０４及び表示部１０５は、タッチパネルのように入力装置と表示部の両方の機能を有する入出力装置で形成しても良い。
【００８０】
ＣＰＵ１０１は、記憶部１０２に格納されたプログラムを実行することにより、コンピュータシステム１００をニューラルネットワークを設計する装置として機能させる。プログラムは、ＣＰＵ１０１に少なくともニューラルネットワークの設計処理の手順を実行させるものであっても良く、記憶部１０２を含む適切なコンピュータ読み取り可能な記憶媒体に格納されていても良い。又、プログラムは、ＣＰＵ１０１に少なくとも上記局所近似型ＲＮＮ方式と上記接続ＲＮＮ方式を用いて大域的な近似解の出力ベクトルを生成する処理を実行させるものであっても良い。つまり、ＣＰＵ１０１にこのような大域的な近似解の出力ベクトルを生成する処理を実行させるプログラムは、ＣＰＵ１０１にニューラルネットワークの設計処理の手順を実行させるプログラムに対してプラグイン可能な構成としても良い。
【００８１】
尚、上記実施例では、ＲＮＮ回路が一例としてロボットに適用されているが、開示の方法で設計されるＲＮＮ回路はロボットの駆動回路等に限定されず、各種装置の制御回路や音声解析回路等を含む各種物理モデルに対して適用可能であることは言うまでもない。
【００８２】
上記の如く、局所近似型ＲＮＮ方式は全てのtに対しA(t)を求める必要がないので、計算量を大幅に減少できる。又、局所近似型ＲＮＮ方式に接続ＲＮＮ方式を組み合わせることにより、大域近似解を得ることが可能となる。
【００８３】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
コンピュータによるニューラルネットワーク設計方法であって、
設計対象となるリカレントニューラルネットワーク（ＲＮＮ：Recurrent Neural Network）回路の入力データbi(t)と出力データyi(t)が与えられたとき（iは１以上の自然数）、ｎ個の入力データとｎ個の出力データを並べることによって得られる入力ベクトルb (t)と出力ベクトルy (t)から行列A(t)を決定することで入出力の整合がとれる結線aij(t)の値を決定して記憶部に記憶する決定手順と、
前記決定手順は、ｎ個の出力ベクトルを並べた行列をY(t)、ｎ個の入力ベクトルb(t)を並べた行列をB(t)とすると、全ての時間ｔに対して行列Y(t)が０でない場合、前記行列Y(t)は逆行列を持つので前記行列A(t)を決定して前記ＲＮＮ回路の結線aij(t)の値を決定し、
【数３２】
0005817250.tif 000033
前記結線aij(t)が決定された前記ＲＮＮ回路を使用して互いに異なるサンプル点を通る複数の局所近似解を計算すると共に、前記複数の局所近似解を接続して大域近似解を計算して出力する出力手順と
を前記コンピュータに実行させることを特徴とする、ニューラルネットワーク設計方法。
（付記２）
前記出力手順は、前記ＲＮＮ回路に入力される中心位置情報及び接続位置情報に基づいて、前記結線aij(t)が決定された前記ＲＮＮ回路を使用して前記中心位置情報が示す各サンプル点を通る局所近似解を計算すると共に、前記接続位置情報が示す時刻の接続位置において各局所近似解を接続して大域近似解を計算することを特徴とする、付記１記載のニューラルネットワーク設計方法。
（付記３）
前記出力手順は、A(t), B(t)を用いて局所近似解を生成する際に、以下の式で表される初期値を設定し、
【数３３】
0005817250.tif 000034
ことを特徴とする、付記２記載のニューラルネットワーク設計方法。
（付記４）
前記出力手順は、前記中心位置情報が示す各サンプル点を中心とした近傍で、ｍ次近似まで保障された局所近似解を算出することを特徴とする、付記２又は３記載のニューラルネットワーク設計方法。
（付記５）
コンピュータによるニューラルネットワークを設計させるプログラムであって、
設計対象となるリカレントニューラルネットワーク（ＲＮＮ：Recurrent Neural Network）回路の入力データbi(t)と出力データyi(t)が与えられたとき（iは１以上の自然数）、ｎ個の入力データとｎ個の出力データを並べることによって得られる入力ベクトルb (t)と出力ベクトルy (t)から行列A(t)を決定することで入出力の整合がとれる結線aij(t)の値を決定して記憶部に記憶する決定手順と、
前記決定手順は、ｎ個の出力ベクトルを並べた行列をY(t)、ｎ個の入力ベクトルb(t)を並べた行列をB(t)とすると、全ての時間ｔに対して行列Y(t)が０でない場合、前記行列Y(t)は逆行列を持つので前記行列A(t)を決定して前記ＲＮＮ回路の結線aij(t)の値を決定し、
【数３４】
0005817250.tif 000035
前記結線aij(t)が決定された前記ＲＮＮ回路を使用して互いに異なるサンプル点を通る複数の局所近似解を計算すると共に、前記複数の局所近似解を接続して大域近似解を計算して出力する出力手順と
を前記コンピュータに実行させることを特徴とする、プログラム。
（付記６）
前記出力手順は、前記ＲＮＮ回路に入力される中心位置情報及び接続位置情報に基づいて、前記結線aij(t)が決定された前記ＲＮＮ回路を使用して前記中心位置情報が示す各サンプル点を通る局所近似解を計算すると共に、前記接続位置情報が示す時刻の接続位置において各局所近似解を接続して大域近似解を計算することを特徴とする、付記５記載のプログラム。
（付記７）
前記出力手順は、A(t), B(t)を用いて局所近似解を生成する際に、以下の式で表される初期値を設定し、
【数３５】
0005817250.tif 000036
ことを特徴とする、付記６記載のプログラム。
（付記８）
前記出力手順は、前記中心位置情報が示す各サンプル点を中心とした近傍で、ｍ次近似まで保障された局所近似解を算出することを特徴とする、付記６又は７記載のプログラム。
【００８４】
以上、開示のニューラルネットワーク設計方法及びプログラムを実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【符号の説明】
【００８５】
１００      コンピュータシステム
１０１      ＣＰＵ
１０２      記憶部
１０３      Ｉ／Ｆ
１０４      入力装置
１０５      表示部
【図１】
0005817250.tif 000040
【図２】
0005817250.tif 000041
【図３】
0005817250.tif 000042
【図４】
0005817250.tif 000043
【図５】
0005817250.tif 000044
【図６】
0005817250.tif 000045
【図７】
0005817250.tif 000046
【図８】
0005817250.tif 000047
【図９】
0005817250.tif 000048
【図１０】
0005817250.tif 000049
【図１１】
0005817250.tif 000050
【図１２】
0005817250.tif 000051
【図１３】
0005817250.tif 000052
【図１４】
0005817250.tif 000053
【図１５】
0005817250.tif 000054
【図１６】
0005817250.tif 000055