(57)【要約】【課題】時系列ベクトルのパターンが変化した場合でも、確実に元のパターンを予測できるようにする。【解決手段】モジュールを有する時系列予測演算部１２は、入力部１１より入力された時系列ベクトルから予測を行う。予測誤差演算部１３はモジュールの予測誤差を演算する。可塑性パラメータ演算部１７は、モジュールの学習の可塑性を表す可塑性パラメータを演算する。学習部１９は、モジュールのうち、可塑性パラメータが学習モジュールであることを表すモジュールを学習させ、可塑性パラメータが生成モジュールであることを表すモジュールの学習を禁止する。【選択図】図１
2008287626.tif 000002
【特許請求の範囲】
【請求項１】
時系列ベクトルを入力する入力手段と、
入力された前記時系列ベクトルから予測を行うモジュールを有する予測手段と、
前記モジュールの予測誤差を演算する予測誤差演算手段と、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算する可塑性パラメータ演算手段と、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する学習手段と
を備える学習制御装置。
【請求項２】
前記生成モジュールの最小の前記予測誤差が第１の予測誤差閾値以上である場合において、前記学習モジュールの最小の前記予測誤差が第２の予測誤差閾値以上であり、前記学習モジュールの最大の前記可塑性パラメータが追加閾値より小さい場合、新たな前記学習モジュールを追加する追加手段を
さらに備える請求項１に記載の学習制御装置。
【請求項３】
前記生成モジュールの最小の前記予測誤差が前記第１の予測誤差閾値より小さく、前記学習モジュールの前記可塑性パラメータが、消去閾値以上である場合、前記モジュールを消去する消去手段を
さらに備える請求項２に記載の学習制御装置。
【請求項４】
前記学習手段は、前記学習モジュールの最小の前記予測誤差が前記第２の予測誤差閾値以上であり、前記学習モジュールの最大の前記可塑性パラメータが前記追加閾値以上である場合、並びに、前記学習モジュールの最小の前記予測誤差が前記第２の予測誤差閾値より小さく、前記学習モジュールの最大の前記可塑性パラメータが前記追加閾値より小さい場合、前記学習モジュールに学習を行う  
請求項２に記載の学習制御装置。
【請求項５】
追加された前記学習モジュールに、前記予測誤差が最小の前記生成モジュールの学習結果をコピーするコピー手段を
さらに備える請求項２に記載の学習制御装置。
【請求項６】
前記可塑性パラメータ演算手段は、前記可塑性パラメータを不可逆に更新する
請求項１に記載の学習制御装置。
【請求項７】
前記可塑性パラメータ演算手段は、前記可塑性パラメータを、閾値以下である場合、０に設定する
請求項１に記載の学習制御装置。
【請求項８】
前記モジュールは、リカレントニューラルネットワークである
請求項１に記載の学習制御装置。
【請求項９】
時系列ベクトルを学習する学習制御装置の学習制御方法において、
前記時系列ベクトルを入力し、
入力された前記時系列ベクトルからモジュールにより予測を行い、
前記モジュールの予測誤差を演算し、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算し、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する
学習制御方法。
【請求項１０】
時系列ベクトルを学習するプログラムであって、
前記時系列ベクトルを入力し、
入力された前記時系列ベクトルからモジュールにより予測を行い、
前記モジュールの予測誤差を演算し、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算し、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は学習制御装置および方法、並びにプログラムに関し、特に、時系列データのパターンが変化した場合でも、確実に元のパターンを予測することができるようにした学習制御装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
時々刻々と変化する時系列データを入力し、学習結果に基づいてそれを処理し、制御するシステムが提案されている（例えば、特許文献１）。この特許文献１のシステムにおいては、学習専用のニューラルネットワークと予測専用のニューラルネットワークとが用意され、学習専用のニューラルネットワークにより学習が行われ、その結果得られたニューロン間の重み係数ｗが、予測専用のニューラルネットワークに設定される。その結果、時系列データが変化したとしても、それに追従して予測処理を行うことが可能となる。
【０００３】
【特許文献１】特許２９８６２９４号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このように、特許文献１のシステムにおいては、予測専用のニューラルネットワークのニューロン間の重み係数ｗを書き換えるため、時系列データの変化に追従して新たなパターンの予測処理を行うことができる反面、再び時系列データが元のパターンに戻った場合に、従来のパターンの予測処理が困難になってしまう。すなわち、このシステムでは、時系列データのパターンが変化する毎に、新たなパターン用にニューロン間の重み係数ｗが更新されてしまう。その結果、予測パターンが頻繁に変化するような場合、ニューロン間の重み係数ｗの更新にはある程度の時間が必要であるため、結局、変化したパターンのいずれをも正確に予測することが困難になる事態が発生するおそれがある。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、時系列データのパターンが変化した場合でも、確実に元のパターンを予測することができるようにするものである。
【課題を解決するための手段】
【０００６】
本発明の側面は、時系列ベクトルを入力する入力手段と、
入力された前記時系列ベクトルから予測を行うモジュールを有する予測手段と、
前記モジュールの予測誤差を演算する予測誤差演算手段と、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算する可塑性パラメータ演算手段と、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する学習手段と
を備える学習制御装置である。
【０００７】
前記生成モジュールの最小の前記予測誤差が第１の予測誤差閾値以上である場合において、前記学習モジュールの最小の前記予測誤差が第２の予測誤差閾値以上であり、前記学習モジュールの最大の前記可塑性パラメータが追加閾値より小さい場合、新たな前記学習モジュールを追加する追加手段をさらに備えることができる。
【０００８】
前記生成モジュールの最小の前記予測誤差が前記第１の予測誤差閾値より小さく、前記学習モジュールの前記可塑性パラメータが、消去閾値以上である場合、前記モジュールを消去する消去手段をさらに備えることができる。
【０００９】
前記学習手段は、前記学習モジュールの最小の前記予測誤差が前記第２の予測誤差閾値以上であり、前記学習モジュールの最大の前記可塑性パラメータが前記追加閾値以上である場合、並びに、前記学習モジュールの最小の前記予測誤差が前記第２の予測誤差閾値より小さく、前記学習モジュールの最大の前記可塑性パラメータが前記追加閾値より小さい場合、前記学習モジュールに学習を行うことができる。
【００１０】
追加された前記学習モジュールに、前記予測誤差が最小の前記生成モジュールの学習結果をコピーするコピー手段をさらに備えることができる。
【００１１】
前記可塑性パラメータ演算手段は、前記可塑性パラメータを不可逆に更新することができる。
【００１２】
前記可塑性パラメータ演算手段は、前記可塑性パラメータを、閾値以下である場合、０に設定することができる。
【００１３】
前記モジュールは、リカレントニューラルネットワークとすることができる。
【００１４】
本発明の側面はまた、時系列ベクトルを学習する学習制御装置の学習制御方法において、
前記時系列ベクトルを入力し、
入力された前記時系列ベクトルからモジュールにより予測を行い、
前記モジュールの予測誤差を演算し、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算し、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する
学習制御方法である。
【００１５】
さらに本発明の側面は、時系列ベクトルを学習するプログラムであって、
前記時系列ベクトルを入力し、
入力された前記時系列ベクトルからモジュールにより予測を行い、
前記モジュールの予測誤差を演算し、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算し、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する
処理をコンピュータに実行させるプログラムである。
【００１６】
本発明の側面においては、入力された時系列ベクトルからモジュールにより予測が行なわれ、モジュールの予測誤差が演算され、モジュールの学習の可塑性を表す可塑性パラメータが演算される。モジュールのうち、可塑性パラメータが学習モジュールであることを表わすモジュールが学習され、可塑性パラメータが生成モジュールであることを表わすモジュールの学習が禁止される。
【発明の効果】
【００１７】
以上のように、本発明の側面によれば、時系列ベクトルのパターンが変化した場合でも、確実に元のパターンを予測することができる。
【発明を実施するための最良の形態】
【００１８】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００１９】
本発明の側面は、時系列ベクトルを入力する入力手段（例えば、図１の入力部１１）と、
入力された前記時系列ベクトルから予測を行うモジュール（例えば、図２のモジュール５１）を有する予測手段（例えば、図１の時系列予測演算部１２）と、
前記モジュールの予測誤差を演算する予測誤差演算手段（例えば、図１の予測誤差演算部１３）と、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算する可塑性パラメータ演算手段（例えば、図１の可塑性パラメータ演算部１７）と、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する学習手段（例えば、図１の学習部１９）と
を備える学習制御装置（例えば、図１の学習制御装置１）である。
【００２０】
前記生成モジュールの最小の前記予測誤差が第１の予測誤差閾値（例えば、表１のElearn）以上である場合において、前記学習モジュールの最小の前記予測誤差が第２の予測誤差閾値（例えば、表１のEadd）以上であり、前記学習モジュールの最大の前記可塑性パラメータ（例えば、表１のPmax）が追加閾値（例えば、表１のPadd）より小さい場合、新たな前記学習モジュールを追加する追加手段（例えば、図１の追加部２４）を
さらに備えることができる。
【００２１】
前記生成モジュールの最小の前記予測誤差が前記第１の予測誤差閾値より小さく、前記学習モジュールの前記可塑性パラメータが、消去閾値（例えば、表１のPclear）以上である場合、前記モジュールを消去する消去手段（例えば、図１の消去部２１）を
さらに備えることができる。
【００２２】
前記学習手段は、前記学習モジュールの最小の前記予測誤差が前記第２の予測誤差閾値（例えば、表１のEadd）以上であり、前記学習モジュールの最大の前記可塑性パラメータ（例えば、表１のPmax）が前記追加閾値（例えば、表１のPadd）以上である場合、並びに、前記学習モジュールの最小の前記予測誤差が前記第２の予測誤差閾値（例えば、表１のEadd）より小さく、前記学習モジュールの最大の前記可塑性パラメータ（例えば、表１のPmax）が前記追加閾値（例えば、表１のPadd）より小さい場合、前記学習モジュールに学習を行うことができる。
【００２３】
追加された前記学習モジュールに、前記予測誤差が最小の前記生成モジュールの学習結果をコピーするコピー手段（例えば、図１のコピー部２５）を
さらに備えることができる。
【００２４】
前記可塑性パラメータ演算手段は、前記可塑性パラメータを不可逆に更新する（例えば、図８のステップＳ６６乃至S６８の処理）ことができる。
【００２５】
前記可塑性パラメータ演算手段は、前記可塑性パラメータを、閾値以下である場合、０に設定する（例えば、図８のステップＳ６３，S６４の処理）ことができる。
【００２６】
前記モジュールは、リカレントニューラルネットワーク（例えば、図４のリカレントニューラルネットワーク８１）とすることができる。
【００２７】
また本発明の側面は、時系列ベクトルを学習する学習制御装置の学習制御方法において、
前記時系列ベクトルを入力し（例えば、図５のステップＳ１）、
入力された前記時系列ベクトルからモジュールにより予測を行い（例えば、図５のステップＳ２）、
前記モジュールの予測誤差を演算し（例えば、図５のステップＳ３）、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算し（例えば、図５のステップＳ５）、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する（例えば、図７のステップＳ２０）
学習制御方法（例えば、図５乃至図７の処理方法）である。
【００２８】
以下、図を参照して本発明の実施の形態について説明する。
【００２９】
図１は本発明の学習制御装置の一実施の形態の構成を示すブロック図である。この学習制御装置１は、入力部１１、時系列予測演算部１２、予測誤差演算部１３、重み付けパラメータ演算部１４、生成モジュール選択部１５、生成部１６、可塑性パラメータ演算部１７、学習率演算部１８、学習部１９、可塑性消去閾値判定部２０、消去部２１、可塑性最大値演算部２２、可塑性最大値追加閾値判定部２３、追加部２４、コピー部２５、予測誤差追加閾値判定部２６、および新規学習条件判定部２７により構成されている。
【００３０】
入力部１１は、図示せぬセンサなどが検出した結果出力する時系列データ列などからなる時系列ベクトルを入力する。時系列予測演算部１２は、詳細は図２を参照して後述するが、内部に例えばリカレントニューラルネットワークよりなるモジュールを有し、入力部１１より入力された時系列ベクトルの予測演算を行い、予測ベクトルfを出力する。予測誤差演算部１３は、時系列予測演算部１２により演算された予測結果の予測誤差Ｅを演算する。
【００３１】
重み付けパラメータ演算部１４は、後述する式（２）に従って、予測誤差演算部１３により演算された予測誤差Ｅに基づいて、各モジュールの出力を重み付けする重み付けパラメータλを演算する。生成モジュール選択部１５は、既に学習を完了しているので学習は行わず、予測処理のみを行うモジュール（すなわち、後述する可塑性パラメータＰが０であるモジュール）のうちの、勝者モジュールを選択する。ここで勝者モジュールとは、重み付けパラメータ演算部１４により演算された重み付けパラメータλが最も大きいモジュールである。以下、生成モジュールのうちの勝者モジュールを勝者生成モジュールといい、学習モジュールのうちの勝者モジュールを勝者学習モジュールという。なお、後述する式（２）から明らかなように、重み付けパラメータλが最も大きいとは、予測誤差Ｅが最も小さいことと等価である。
【００３２】
生成部１６は、後述する式（５）に従って、時系列予測演算部１２により予測演算された予測ベクトルｆを、重み付けパラメータ演算部１４により演算された重み付けパラメータλにより重み付けして合成し、最終的な予測結果としての統合予測ベクトルＦを生成し、出力する。
【００３３】
可塑性パラメータ演算部１７は、後述する式（３）に従って、予測誤差演算部１３により演算された予測誤差Ｅに基づいて、可塑性パラメータＰを演算する。学習率演算部１８は、後述する式（４）に従って、可塑性パラメータ演算部１７により演算された可塑性パラメータＰと、重み付けパラメータ演算部１４により演算された重み付けパラメータλに基づいて学習率ηを演算する。学習率演算部１８はまた、学習モジュールのうちの重み付けパラメータλが最大の勝者学習モジュールの選択も行う。
【００３４】
学習部１９は、学習率演算部１８により演算された学習率ηに基づいて、時系列予測演算部１２を制御し、学習モジュールに学習処理を行わせる。詳細には、新規学習条件判定部２７により勝者生成モジュールの予測誤差genwinが新規学習条件閾値Ｅlearn以上であると判定された場合、予測誤差追加閾値判定部２６により勝者学習モジュールの予測誤差Ｅlearnwinがモジュール追加閾値Ｅadd以上である判定され、かつ、可塑性最大値追加閾値判定部２３により可塑性最大値Ｐmaxがモジュール追加閾値Ｐadd以上であると判定されたとき、並びに、予測誤差追加閾値判定部２６により勝者学習モジュールの予測誤差Ｅlearnwinがモジュール追加閾値Ｅadd未満であると判定され、かつ、可塑性最大値追加閾値判定部２３により可塑性最大値Ｐmaxがモジュール追加閾値Ｐadd未満であると判定されたとき、学習が行われる。
【００３５】
学習部１９が行う学習方法としては、連続した時系列データに対して一定時間にわたってバックプロパゲーション法を実行し、ニューロン間の結合重みｗの更新量を算出し、時間方向に累積した値で更新を行うバックプロパゲーションスルータイム法を用いることができる。このバックプロパゲーションスルータイム法については、例えば、Ｒｕｍｅｌｈａｒｔ，  Ｄ．，  Ｈｉｎｔｏｎ，  Ｇ．，  ａｎｄ  Ｗｉｌｌｉａｍｓ，  Ｒ．（１９８６）．Ｌｅａｒｎｉｎｇ  ｉｎｔｅｒｎａｌ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ  ｂｙ  ｅｒｒｏｒ  ｐｒｏｐａｇａｔｉｏｎ．  Ｉｎ  Ｐａｒａｌｌｅｌ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｐｒｏｃｅｓｓｉｎｇ，  ｃｈａｐｔｅｒ  ８．  ＭＩＴ  Ｐｒｅｓｓ，  Ｃａｍｂｒｉｄｇｅ，  ＭＡ．に開示されている。
【００３６】
可塑性消去閾値判定部２０は、可塑性パラメータ演算部１７により演算された可塑性パラメータＰと、予め設定されている消去閾値Ｐclearとの大きさを比較し、その大小関係を判定する。消去部２１は、可塑性消去閾値判定部２０により、可塑性パラメータＰが消去閾値Ｐclear以上の大きさであると判定され、かつ、後述する新規学習条件判定部２７により、勝者生成モジュールの予測誤差Ｅgenwinが、予測誤差学習閾値Ｅlearnより小さいと判定された場合、時系列予測演算部１２を制御し、そこに含まれるモジュールを消去させる。
【００３７】
可塑性最大値演算部２２は、予測誤差追加閾値判定部２６により勝者学習モジュールの予測誤差Ｅlearnwinがモジュール追加閾値Ｅadd以上であると判定された場合、可塑性パラメータ演算部１７により演算された全学習モジュールの可塑性パラメータＰの最大値Ｐmaxを演算する。可塑性最大値追加閾値判定部２３は、可塑性最大値演算部２２により演算された可塑性パラメータＰの最大値Ｐmaxと、予め設定されている追加閾値Ｐaddの大きさを比較、判定する。
【００３８】
追加部２４は、新規学習条件判定部２７により勝者生成モジュールの予測誤差genwinが新規学習条件閾値Ｅlearn以上であると判定された場合において、可塑性最大値追加閾値判定部２３により可塑性パラメータＰの最大値Ｐmaxが予追加閾値Ｐaddより小さいと判定され、かつ、予測誤差追加閾値判定部２６により、勝者学習モジュールの予測誤差Ｅlearnwinが、予測誤差追加閾値Ｅadd以上であると判定されたとき、時系列予測演算部１２を制御し、そこに新たなモジュールを追加させる。
【００３９】
コピー部２５は、追加部２４により時系列予測演算部１２に学習モジュールが追加された場合、その追加された学習モジュールに、生成モジュール選択部１５により選択された勝者生成モジュールの学習結果を学習部１９から読み出し、コピーさせる。
【００４０】
予測誤差追加閾値判定部２６は、新規学習条件判定部２７により、勝者生成モジュールの予測誤差Ｅgenwinが予測誤差学習閾値Ｅlearn以上であると判定された場合、予測誤差演算部１３により演算された予測誤差Ｅのうちの学習率演算部１８により選択された勝者学習モジュールの予測誤差Ｅlearnwinと、予め設定されている予測誤差追加閾値Ｅaddとの大きさを比較し、勝者学習モジュールの予測誤差Ｅlearnwinが予測誤差追加閾値Ｅadd以上であるとき、追加部２４を制御し、学習モジュールを追加させる。このため、予測誤差追加閾値判定部２６には、学習率演算部１８から、勝者学習モジュールを特定する情報が供給される。
【００４１】
新規学習条件判定部２７は、可塑性パラメータ演算部１７の出力する可塑性パラメータPに基づいて、学習モジュールが存在すると判定した場合、予測誤差演算部１３により演算された予測誤差のうちの勝者生成モジュールの予測誤差Ｅgenwinと、予め設定されている予測誤差学習閾値Ｅlearnとの大きさを比較し、比較結果を学習部１９、可塑性消去閾値判定部２０、消去部２１、追加部２４、および予測誤差追加閾値判定部２６に供給する。このため、新規学習条件判定部２７には、生成モジュール選択部１５から、勝者生成モジュールを特定する情報が供給される。
【００４２】
図２は、時系列予測演算部１２と生成部１６の一実施の形態の詳細な構成を表している。時系列予測演算部１２は、複数（この実施の形態の場合、３個）のモジュール５１−１乃至５１−３を有している。各モジュール５１−１乃至５１−３は、入力部１１から供給される同一の時系列ベクトルに基づいて、予測演算を行い、異なる予測結果ｆ1（ｔ）乃至ｆ3（ｔ）をそれぞれ出力する。生成部１６は、各モジュール５１−１乃至５１−３の出力ｆ1（ｔ）乃至ｆ3（ｔ）に、重み付けパラメータ演算部１４で演算された重み付けパラメータλ1乃至λ3を乗算する乗算部６１−１乃至６１−３と、各乗算部６１−１乃至６１−３の出力を加算し、最終的な予測結果としての統合予測ベクトルＦ（ｔ）を出力する合成部６２を有している。
【００４３】
なお、モジュール５１−１乃至５１−３、乗算部６１−１乃至６１−３、予測結果ｆ1（ｔ）乃至ｆ3（ｔ）、重み付けパラメータλ1乃至λ3などを個々に区別する必要がない場合、単に、モジュール５１、乗算部６１、予測結果ｆ（ｔ）、または重み付けパラメータλと記述される。他の部分についても同様とする。
【００４４】
また、図２には、便宜上、モジュール５１が３個示されているが、本実施の形態においては、初期状態において少なくとも１個のモジュールが学習モジュールとして存在し、学習が行われる。入力される時系列パターンに新たなパターンが発生すると、新たな学習モジュールが必要に応じて自動的に追加される。また、学習モジュールは、一旦生成されたとしても、その後、入力される時系列パターンの変化によって不必要と判断された場合には、自動的に消去される。
【００４５】
図３はモジュール５１の一実施の形態の構成を表している。モジュール５１は、学習器７１を有し、この学習器７１は、例えば図４に示されるように、リカレントニューラルネットワーク８１により構成され、内部にニューロン間の結合重みｗが学習により記憶されている。
【００４６】
リカレントニューラルネットワーク８１は、入力層９１、中間層９２、および出力層９３により構成され、出力層９３の出力の一部は、コンテキストループ９４により入力層９１に帰還されている。なお、中間層９２は、この実施の形態では１層とされているが、任意の数の層で構成することができる。リカレントニューラルネットワーク８１は、入力部１１から入力された時系列ベクトルに基づき予測処理を行い、予測結果としての予測ベクトルｆ（ｔ）を出力する。
【００４７】
次に図５乃至図８のフローチャートを参照して、学習制御装置１の学習制御処理動作について説明する。
【００４８】
ステップＳ１において、入力部１１は時系列ベクトルを入力する。この時系列ベクトルは、例えば、図示せぬセンサが所定の観測対象を観測することで検出した、時々刻々と変化する時系列データであり、センサの数に対応する時限のベクトルで構成される。ステップＳ２において、時系列予測演算部１２は全モジュールで予測ベクトルを演算する。例えば、図２に示されるように、モジュール５１が３個存在する場合、各モジュール５１を構成するリカレントニューラルネットワーク８１のそれぞれにより、入力部１１より入力された時系列ベクトルに対応する予測ベクトルｆ（ｔ）が演算される。
【００４９】
ステップＳ３において、予測誤差演算部１３は、全モジュールの予測誤差を演算する。具体的には、次式に従って、時系列予測演算部１２の各モジュール５１が演算した予測ベクトルｆ（ｔ）の予測誤差Ｅ（ｔ）が演算される。
【００５０】
【数１】
2008287626.tif 000003
【００５１】
上記式において、Ｅi（ｔ）はｉ番目のモジュール５１の予測誤差、ｆid（ｔ）は、ｉ番目のモジュール５１の予測ベクトルのｄ次元目の値、ｙd（ｔ）は、入力ベクトルのｄ次元目の値を、それぞれ表す。
【００５２】
ステップＳ４において重み付けパラメータ演算部１４は、全モジュールの重み付けパラメータを演算する。すなわち、その時点において時系列予測演算部１２に存在するモジュール５１の全ての重み付けパラメータλが、次の式に従って演算される。
【００５３】
【数２】
2008287626.tif 000004
【００５４】
上記式においてλi（ｔ）は、ｉ番目のモジュール５１の重み付けパラメータを表し、σは、重み付けパラメータλi（ｔ）の予測誤差に対する敏感性を決定するパラメータである。この式から明らかなように、重み付けパラメータλi（ｔ）は、予測誤差Ｅi（ｔ）が小さいほど大きくなる。その結果、後述する式（５）で演算されるシステム全体の予測ベクトルＦ（ｔ）における各モジュール５１が出力する予測ベクトルｆi（ｔ）が占める割合は、重み付けパラメータλi（ｔ）が大きいほど（すなわち、予測誤差Ｅi（ｔ）が小さいほど）大きくなる。
【００５５】
ステップＳ５において可塑性パラメータ演算部１７は、全モジュールの可塑性パラメータの演算処理を行う。その処理の詳細は、図８に示されている。
【００５６】
図８のステップＳ６１において、可塑性パラメータ演算部１７は、全可塑性パラメータが０かを判定する。可塑性パラメータＰの値が閾値０に等しい場合、そのモジュール５１は可塑性がないこと、すなわち、もはや学習は行わず、予測処理（すなわち、生成処理）のみを行う生成モジュールであることを意味する。全てのモジュール５１の可塑性パラメータＰが０ではない場合、すなわち、可塑性パラメータＰの値が閾値０より大きく、学習を行う学習モジュールが存在する場合、ステップＳ６２において、可塑性パラメータ演算部１７は、可塑性パラメータが０ではないモジュールの可塑性パラメータを演算する。この演算は、次の式に従って行われる。
【００５７】
【数３】
2008287626.tif 000005
【００５８】
式（３）におけるＰi（ｔ）は、ｉ番目のモジュール５１の可塑性パラメータを表し、ζは、予測誤差減少に伴う可塑性パラメータの減少度合いを決定するパラメータであり、Ｅthは、可塑性をなくす予測誤差の境界の基準を決定するパラメータである。すなわち、式（３）で表される可塑性パラメータＰi（ｔ）は、シグモイド関数となっており、図９に示されるように、ζはステップ状に変化する部分の曲線の傾きに対応しており、その値の大きい方が（図９Ａに示される場合の方が）、小さい場合（図９Ｂに示される場合）より、傾きが小さくなる（水平に近くなる）。なお、図９において、横軸は予測誤差Ｅを表し、縦軸は可塑性パラメータＰを表す。Ｅthは、ステップ状に変化する部分の変曲点（すなわち最大の傾きとなる点）の予測誤差の値を表しているので、その値が大きくなるほど、関数は図中右方向にシフトする。従って、Ｅthは、可塑性をなくす境界（後述するステップＳ６４で可塑性パラメータＰの値が強制的に０に設定される基準となる閾値Ｐmin）にどの程度近い位置にあるかを表す目安になる。
【００５９】
ステップＳ６３において、可塑性パラメータ演算部１７は、演算した可塑性パラメータが境界閾値以下かを判定する。すなわち、ステップＳ６２で演算された可塑性パラメータＰの値が、図９に示される境界閾値Ｐmin以下であるかが判定される。演算された可塑性パラメータＰの値が予め設定されている境界閾値Ｐmin以下である場合、ステップＳ６４において、可塑性パラメータ演算部１７は、可塑性パラメータを０に設定する。演算された可塑性パラメータＰの値が境界閾値Ｐminより大きい場合には、この処理はスキップされる。このように可塑性パラメータＰの値が境界閾値Ｐmin以下になった場合には、可塑性パラメータＰの値を強制的に０に設定することで、既に十分学習が行われたモジュール５１について、いつまでも必要以上に学習が繰り返し行われることが防止され、迅速な処理が可能となる。
【００６０】
ステップＳ６５において、可塑性パラメータ演算部１７は可塑性パラメータを記憶する。すなわち、ステップＳ６３で可塑性パラメータＰの値が境界閾値Ｐminより大きいと判定された場合には、その演算された可塑性パラメータＰの値がそのモジュール５１の可塑性パラメータとして記憶され、ステップＳ６４で０に設定された場合には、その値０がそのモジュール５１の可塑性パラメータとして記憶される。
【００６１】
ステップＳ６６において、可塑性パラメータ演算部１７は、新しい可塑性パラメータの方が前の可塑性パラメータより小さいかを判定する。すなわち、ステップＳ６２でいま演算された可塑性パラメータＰの値が、前回の処理時にステップＳ６５で記憶された可塑性パラメータＰの値より小さいかが判定される。いま演算された可塑性パラメータＰの値が、前回の処理時に記憶された可塑性パラメータＰの値より小さい場合には、ステップＳ６７において、可塑性パラメータ演算部１７は、可塑性パラメータを新しい可塑性パラメータで更新する。すなわち、いまステップＳ６２で演算された可塑性パラメータＰの値が、そのモジュール５１の可塑性パラメータＰとされる。
【００６２】
一方、いま演算された可塑性パラメータＰの値が、前回の処理時に記憶された可塑性パラメータＰの値より大きい場合には、ステップＳ６８において、可塑性パラメータ演算部１７は、記憶している可塑性パラメータＰをそのまま可塑性パラメータＰとする。このように、ステップＳ６６乃至Ｓ６８の処理を行うことで、可塑性パラメータＰの値は常により小さい値に設定される。すなわち、可塑性パラメータＰの値が不可逆に小さい値に設定される。その結果、後述するように、学習は学習率ｙに基づいて行なわれるところ、この学習率ｙは後述する式（４）で表わされるように、可塑性パラメータＰに正比例して決定されるのである程度行われた学習が元に戻ってしまうようなことが防止され、迅速な学習が可能となる。
【００６３】
ステップＳ６１において、すべてのモジュール５１の可塑性パラメータが０であると判定された場合には、学習モジュールは存在しないことになり、可塑性パラメータＰをさらに演算する意味がない。そこで、この場合には、ステップＳ６２乃至Ｓ６８の処理は実行されない。
【００６４】
以上のようにして可塑性パラメータＰの演算処理が行われた後、図５のステップＳ６において、生成モジュール選択部１５は、生成モジュール内の勝者モジュールを選択する。すなわち、可塑性パラメータＰの値が０である生成モジュール５１のうち、ステップＳ４で演算された重み付けパラメータλの値が最も大きいモジュール５１が（すなわち、予測誤差Ｅが最小のモジュール５１が）、勝者生成モジュールとして選択される。この勝者生成モジュールを特定する情報は、新規学習条件判定部２７に供給され、後述するステップＳ９，Ｓ１２の判定処理に用いられるとともに、コピー部２５に供給され、後述するステップＳ１８の処理で用いられる。
【００６５】
ステップＳ７において、学習率演算部１８は、学習モジュールのうちの勝者モジュールを選択する。すなわち、可塑性パラメータＰの値が０ではない学習モジュール５１のうち、ステップＳ４で演算された重み付けパラメータλの値が最も大きいモジュール５１が（すなわち、予測誤差Ｅが最小のモジュール５１が）、勝者学習モジュールとして選択される。この勝者学習モジュールを特定する情報は予測誤差追加閾値判定部２６に供給され、後述するステップＳ１４の判定処理に用いられる。
【００６６】
ステップＳ８において、新規学習条件判定部２７は、可塑性パラメータ演算部１７により演算された可塑性パラメータＰに基づいて、可塑性パラメータＰが０であるモジュールである学習モジュールはあるかを判定する。時系列予測演算部１２に学習モジュールが存在する場合、ステップＳ９において、新規学習条件判定部２７は勝者生成モジュールの予測誤差は新規学習条件閾値未満かを判定する。すなわち、新規学習条件判定部２７は、生成モジュール選択部１５からの勝者生成モジュール特定情報と、予測誤差演算部１３から供給される予測誤差に基づいて、勝者生成モジュールの予測誤差Ｅgenwinが、予め設定されている新規学習条件閾値Ｅlearn未満かを判定する。
【００６７】
新規学習条件判定部２７から、勝者生成モジュールの予測誤差genwinが新規学習条件閾値Ｅlearn未満であるとの判定結果を受けた場合、ステップＳ１０において、可塑性消去閾値判定部２０は、時系列予測演算部１２内に、学習モジュール消去閾値以上の可塑性を有する学習モジュールはあるかを判定する。すなわち、時系列予測演算部１２内において、可塑性パラメータ演算部１７により演算された可塑性パラメータＰの値が、予め設定されている学習モジュール消去閾値Ｐclear以上である学習モジュールが検索される。
【００６８】
可塑性パラメータＰの値が、学習モジュール消去閾値Ｐclear以上である学習モジュールが存在すると可塑性消去閾値判定部２０により判定された場合、ステップＳ１１において消去部２１は、その学習モジュールを消去する。すなわち、いま、勝者生成モジュールの予測誤差genwinが学習モジュール消去閾値Ｅlearn未満であることが、新規学習条件判定部２７からの出力により確認され、かつ、可塑性パラメータＰの値が学習モジュール消去閾値Ｐclear以上であることが可塑性消去閾値判定部２０からの出力により確認されたのであるから、その学習モジュール５１は存在しなくても、他のモジュール５１により十分な学習と予測が可能と考えられる。そこで、時系列予測演算部１２内のその学習モジュール５１は自動的に消去される。これにより、時系列予測演算部１２内に、必要以上のモジュール５１が存在することが防止され、無駄にメモリなどの資源が使用されることが抑制される。
【００６９】
ステップＳ１１の処理の後、処理はステップＳ１０に戻り、可塑性パラメータＰの値が、学習モジュール消去閾値Ｐclear以上である学習モジュールが存在しないと判定されるまで、ステップＳ１０の処理が繰り返される。ステップＳ１０で、可塑性パラメータＰの値が、学習モジュール消去閾値Ｐclear以上である学習モジュールが存在しないと判定された場合、処理はステップＳ１２に進む。
【００７０】
ステップＳ８で学習モジュールが存在しないと判定された場合、並びに、ステップＳ９で、勝者生成モジュールの予測誤差Ｅgenwinが新規学習条件閾値Ｅlearn以上であると判定された場合、学習モジュールを消去する必要はない。そこでこれらの場合にも、処理はステップＳ１２に進む。
【００７１】
ステップＳ１２において、新規学習条件判定部２７は、勝者生成モジュールの予測誤差は新規学習条件閾値以上かを判定する。勝者生成モジュールの予測誤差Ｅgenwinが新規学習条件閾値Ｅlearn以上である場合、ステップＳ１３において、新規学習条件判定部２７は可塑性パラメータ演算部１７の出力する可塑性パラメータＰに基づいて、学習モジュールはあるかを判定する。
【００７２】
ステップＳ１２の処理は、ステップＳ９における判定処理と実質的に同様の処理である。またステップＳ１３の処理は、ステップＳ８における判定処理と実質的に同様の処理である。ステップＳ８，Ｓ９の処理は、学習モジュールを消去する条件が充足されているかを判定するために行われたが、ステップＳ１２，Ｓ１３の判定は、学習モジュールを追加または学習する条件が充足されているかを判定するために行われる。
【００７３】
ステップＳ１３で学習モジュールが存在すると判定された場合、ステップＳ１４において、予測誤差追加閾値判定部２６は、勝者生成モジュールの予測誤差はモジュール追加閾値以上かを判定する。すなわち、予測誤差追加閾値判定部２６は、学習率演算部１８の出力する勝者学習モジュールの特定情報に基づき、予測誤差演算部１３が出力する予測誤差Ｅのうちの勝者学習モジュールの予測誤差Ｅlearnwinが、予め設定されているモジュール追加閾値Ｅadd以上かを判定する。
【００７４】
予測誤差追加閾値判定部２６において勝者学習モジュールの予測誤差Ｅlearnwinがモジュール追加閾値Ｅadd以上であると判定された場合、ステップＳ１５において、可塑性最大値演算部２２は、全学習モジュールの中の可塑性最大値を求める。すなわち、可塑性パラメータ演算部１７が出力する全モジュールの可塑性パラメータＰのうちの最大値が、可塑性最大値Ｐmaxとして求められる。
【００７５】
ステップＳ１６において、可塑性最大値追加閾値判定部２３は、全学習モジュール中の可塑性最大値はモジュール追加閾値未満かを判定する。すなわち、可塑性最大値演算部２２で演算された可塑性最大値Ｐmaxが、予め設定されているモジュール追加閾値Ｐadd未満であるかが判定される。
【００７６】
可塑性最大値Ｐmaxがモジュール追加閾値Ｐadd未満である場合、ステップＳ１７において、追加部２４は学習モジュールを追加する。すなわち、ステップＳ１２で、新規学習条件判定部２７の出力から勝者生成モジュールの予測誤差Ｅgenwinが新規学習条件閾値Ｅlearn以上であることが確認され、ステップＳ１４で、予測誤差追加閾値判定部２６の出力から勝者学習モジュールの予測誤差Ｅlearnwinがモジュール追加閾値Ｅadd以上であることが確認され、さらにステップＳ１６で、可塑性最大値追加閾値判定部２３の出力から可塑性最大値Ｐmaxがモジュール追加閾値Ｐadd未満であることが確認された場合、追加部２４は、時系列予測演算部１２に自動的に学習モジュールを追加する。
【００７７】
なお、学習モジュールの追加とは、具体的には、メモリの時系列予測演算部１２を構成する領域に、新たなリカレントニューラルネットワークの演算を行う領域を形成することを意味する。逆にステップＳ１１で行われる消去とは、既に形成されているリカレントニューラルネットワークの演算を行う領域を消去することを意味する。従って、メモリの領域の範囲内で、任意にモジュールは追加、消去することができる。
【００７８】
なお、ステップＳ１２において、勝者生成モジュールの予測誤差Ｅgenwinが新規学習条件閾値Ｅlearn以上であると判定されたにも拘わらず、ステップＳ１３において、学習モジュールが存在しないと判定された場合には、直ちにステップＳ１７の学習モジュール追加の処理が行われる。
【００７９】
ステップＳ１７の処理の後、ステップＳ１８において、コピー部２５は、追加した学習モジュールに勝者生成モジュールの学習結果をコピーする。すなわち、コピー部２５は、生成モジュール選択部１５からの勝者生成モジュールの特定情報に基づいて、勝者生成モジュールを特定し、そこに記憶されている係数重みｗをステップＳ１７の処理で追加された学習モジュールにコピーする。その結果、コピーされたニューロン間の結合重みｗを初期値として、後述するステップＳ２０で学習が行われるので、係数重みｗはより速く、所定の値に収束し、迅速な学習が可能となる。
【００８０】
このように、モジュール５１を追加すると、時系列ベクトルに新たなパターンが追加された場合において、その追加されたパターンを学習し、予測することができる。また後述するように、ステップＳ２０で学習率ｙに基づいて学習が行なわれるので、それまでのパターンを既に学習した生成モジュールのニューロン間の結合重みｗを他のパターンを予測するための係数重みに変更することなく、従って、それまでのパターンを予測しつつ、加えて、新たなパターンを迅速に学習し、予測することが可能になる。
【００８１】
ステップＳ１８の処理の後、処理はステップＳ１９に進む。ステップＳ１２において、勝者生成モジュールの予測誤差Ｅgenwinが新規学習条件閾値Ｅlearn未満であると判定された場合、ステップＳ１４において、勝者学習モジュールの予測誤差Ｅlearnwinがモジュール追加閾値Ｅadd未満であると判定された場合、並びにステップＳ１６において、可塑性最大値Ｐmaxがモジュール追加閾値Ｐadd以上であると判定された場合、学習モジュールを追加する必要がない。そこで、これらの場合においても、処理はステップＳ１９に進む。
【００８２】
ステップＳ１９において、学習率演算部１８は全モジュールの学習率を演算する。具体的には次の式に基づいて学習率が演算される。
【００８３】
【数４】
2008287626.tif 000006
【００８４】
上記式においてηiは、ｉ番目のモジュール５１の学習率を表し、ηdefaultは予め設定されている学習率の基準値を表す。
【００８５】
ステップS２０において、学習部１９は時系列予測演算部１２を制御し、学習率に基づく学習を実行する。すなわち、リカレントニューラルネットワーク８１のニューロン間の結合重みｗの修正量が学習率ηiに正比例して決定される。式（４）より明らかなように、学習率ηiは、重み付けパラメータλiと可塑性パラメータPiに正比例する。従って、リカレントニューラルネットワーク８１は、重み付けパラメータλiが大きい程（すなわち、予測誤差Eiが小さい程）、また可塑性パラメータPiが大きい程、優先的に学習が行われる。可塑性パラメータPiが０の場合には、すなわち、そのモジュール５１が生成モジュールである場合には、学習は禁止されることになる。従って、時系列ベクトルの中に新たなパターンが入力したとしても、既に所定のパターンを学習した生成モジュールのニューロン間の結合重みｗが更新されることはない。
【００８６】
ステップS２１において、生成部１６は重み付けパラメータで予測ベクトルの線形和を演算する。すなわち、次の式に従って、ｉ番目の乗算部６１がｉ番目のモジュールが出力する予測ベクトルｆi（ｔ）に重み付けパラメータλiを乗算し、合成部６２が各乗算部６１により重み付けされた予測ベクトルλiｆi（ｔ）を加算して、系全体の結合予測ベクトルＦ（ｔ）が演算される。
【００８７】
【数５】
2008287626.tif 000007
【００８８】
ステップS２２において、生成部１６は演算された予測ベクトルを出力する。
【００８９】
ステップS２３において、入力部１１はユーザからの指示に基づいて、処理を終了するかを判定する。まだ処理の終了が指示されていない場合には処理はステップS１に戻り、それ以降の処理が繰り返される。終了が指示された場合、処理は終了される。
【００９０】
以上の処理をまとめると、表１に示すようになる。
【００９１】
【表１】
2008287626.tif 000008
【００９２】
すなわち、以上の処理により、勝者生成モジュールの予測誤差genwinが新規学習条件閾値Ｅlearn未満である場合、可塑性パラメータPが学習モジュール消去閾値Ｐclear以上である学習モジュールが存在するときは、その学習モジュールは消去され、学習モジュール消去閾値Ｐclear未満である学習モジュールは消去されず、そのままとされる。
【００９３】
勝者生成モジュールの予測誤差genwinが新規学習条件閾値Ｅlearn以上である場合、勝者学習モジュールの予測誤差Ｅlearnwinがモジュール追加閾値Ｅadd以上であるかが判定される。勝者学習モジュールの予測誤差Ｅlearnwinがモジュール追加閾値Ｅadd以上である場合、可塑性最大値Ｐmaxがモジュール追加閾値Ｐadd未満であれば、学習モジュールが追加される。なお、勝者生成モジュールの予測誤差genwinが新規学習条件閾値Ｅlearn以上である場合において、学習モジュールが存在しない場合にも、学習モジュールが追加される。勝者学習モジュールの予測誤差Ｅlearnwinがモジュール追加閾値Ｅadd以上であり、可塑性最大値Ｐmaxがモジュール追加閾値Ｐadd以上である場合には既存の学習モジュールで学習が行われる。
【００９４】
勝者生成モジュールの予測誤差genwinが新規学習条件閾値Ｅlearn以上であり、勝者学習モジュールの予測誤差Ｅlearnwinがモジュール追加閾値Ｅadd未満である場合には、可塑性最大値Ｐmaxがモジュール追加閾値Ｐadd未満であれば既存の学習モジュールで学習が行われる。勝者学習モジュールの予測誤差Ｅlearnwinがモジュール追加閾値Ｅadd未満であり、かつ、可塑性最大値Ｐmaxがモジュール追加閾値Ｐadd以上である状態は、理論的に存在しない。
【００９５】
以上のようにして、本実施の形態においては、図１０に示されるように、時系列パターンが学習制御装置１に入力されると、各モジュールで予測ベクトルfの演算が行われる。そして、式（１）に基づいて予測誤差Eが演算され、その予測誤差Eに基づいて、式（２）に従って重み付けパラメータλが演算される。さらに予測ベクトルfは、式（５）に従って、重み付けパラメータλに基づいて重み付けされ、加算されて、統合予測ベクトルFが生成される。
【００９６】
新たな時系列パターンが入力されると、必要に応じて学習モジュール１０１が自動的に生成される。従って、学習器の規模（すなわちモジュールの数）に関するパラメータを設定しておく必要がなく、必要最小限の計算規模で学習予測を行うことができる。学習対象の時系列パターンの複雑さの程度に拘わらず、同じ構成のシステムを利用することができる。
【００９７】
学習モジュール１０１は式（４）で表される学習率ηに基づいて学習を行い、新たなパターンを学習する。生成モジュール１０２は式（３）で表される可塑性パラメータPが０とされているので、式（４）で表される学習率ηが０となり、学習を行わない。従って、リアルタイムに学習と予測処理を行う場合において、既に所定のパターンを学習済みの生成モジュール１０２のニューロン間の結合重みｗが、新たな時系列パターンに反応して上書きされるようなことはない。ニューロン間の結合重みｗが上書きされてしまうと、元のパターンを再び予測させるためには、その学習のための時系列パターンを保持してかなければならないが、本実施の形態では過去の学習のための時系列パターンを保持しておく必要はない。
【００９８】
また、リアルタイムに学習と予測処理を行う場合に、予測パターンが頻繁に変化したとしても、既に学習したパターンを確実に予測することができる。さらに、元のパターンと新たなパターンの両方を含む時系列パターンが入力された場合においても、新たなパターンは新たに追加された学習モジュール１０１により学習される。このとき生成モジュール１０２は学習を行わないから、システム内の全てのモジュールが学習を行う場合に較べて、学習を行うモジュールの数がそれだけ少なくなり、迅速かつ、確実な学習が可能となる。
【００９９】
例えば、図１０の実施の形態の場合、３個の生成モジュール１０２が存在するが、それぞれに学習されていない時系列パターンが入力された場合、その新たなパターンを学習するために、新たな学習モジュール１０１が追加される。そして新たなパターンは追加された学習モジュール１０１により学習され、既に他のパターンを学習済みの生成モジュール１０２のニューロン間の結合重みｗは新たなパターンのために更新されることはない。その結果、生成パターン１０２が既に記憶したパターンを予測できなくなるような状態になることはない。
【０１００】
さらにこの実施の形態においては、学習プロセスが予測、生成プロセスと並行して実行されるので、学習モードと認識生成モードの区別がなく、時々刻々と変化する時系列データを入力して、オンラインで処理を行うことが可能となる。その結果、予測ベクトルを用いて、ロボットなど、リアルタイム性のある制御を実現することができる。
【０１０１】
この学習制御装置１はロボットに応用することができる。図１１は学習制御装置１が応用されたロボット２０１の外観の構成を表している。このロボット２１０は、その底面に、図１２に示されるように、８個のセンサ２０２−１乃至２０２−８を有している。これらのセンサ２０２−１乃至２０２−８は、距離センサと光センサを内蔵する。距離センサは割り当てられた方向に存在する物体までの距離を検出し、光センサは割り当てられた方向から発生される光を検出する。
【０１０２】
またロボット２０１は、左右に、車輪２０３Ｌ，２０３Ｒを有し、図示せぬモータにより駆動され、任意の方向に移動することができる。
【０１０３】
図１３は、ロボット２０１を自律的に移動させる実験を行った環境を表している。壁３０１により略T字状に通路３０２が形成されており、通路３０２内の所定の位置に光を発生するライト３０３が配置されている。
【０１０４】
発明者等は、図１４に示されるように、ロボット２０１が、壁３０１に衝突しないようにして通路３０２を移動し、ライト３０３を見つけて元の位置に戻ってくる動作を繰り返すように学習制御する実験を行った。すなわち、ロボット２０１は、スタートの位置P１から角の位置P２に移動し、そこを右折して、ライト３０３の方向に移動し、ライト３０３の後方の位置P３を左にUターンして戻り、角の位置P４（位置P２と同じ位置）を左折して、スタートの位置P５（位置P１と同じ位置）に戻り、そこを右にUターンして角の位置P６（位置P２と同じ位置）に進むといった動作を行う。
【０１０５】
学習のために必要な教師時系列データは、人間がジョイスティックなどの入力デバイスを用いてロボット２０１のモータコマンドを入力することで作成することができる。あるいは、センサ入力に対してリアクティブにモータコマンドを出力するような基本的な反射行動（例えば、壁３０１を避ける。光に近づくなどの行動）を作り、自律的に環境中を活動させることで作成することもできる。
【０１０６】
ロボット２０１に基本的な反射行動を埋め込んで作成したセンサパターンとモータコマンドパターンが、図１５に示されている。図１５において、横軸は時間を、縦軸は、各センサの出力を、それぞれ表わしている。ロボット２０１が位置P１乃至位置P６を移動するとき、８個のセンサ２０２−１乃至２０２−８の距離センサの出力は、図１５Aの系列１乃至系列８の時系列データに示されるように変化し、８個のセンサ２０２−１乃至２０２−８の光センサの出力は、図１５Bの系列１乃至系列８の時系列データに示されるように変化する。図１５Cの系列１と系列２は、車輪２０３Rと車輪２０３Lを回転するモータを駆動するモータコマンドの時系列データを表している。
【０１０７】
距離センサの出力は、その値が小さいほど壁３０１までの距離が短いことを表している。同様に、光センサの出力は、その値が小さいほどライト３０３までの距離が短いことを表している。モータコマンドは、その値が大きいほど回転が速いことを意味する。従って、５０秒乃至１００秒の区間の位置P２では、系列２（左の車輪２０３L）の方が、系列１（右の車輪２０３Ｒ）より大きいので、ロボット２０１が右折していることが判る。１７５秒乃至２００秒の区間の位置P３では、系列１（右の車輪２０３Ｒ）の方が、系列２（左の車輪２０３L）より大きいので、ロボット２０１が左にUターンしていることが判る。
【０１０８】
２６０秒乃至３００秒の区間の位置P４では、系列１（右の車輪２０３Ｒ）の方が、系列２（左の車輪２０３L）より大きいので、ロボット２０１が左折していることが判る。３８０秒乃至４１０秒の区間の位置P５では、系列２（左の車輪２０３L）の方が、系列１（右の車輪２０３Ｒ）より大きいので、ロボット２０１が右にUターンしていることが判る。４６０秒乃至５００秒の区間の位置P６では、系列２（左の車輪２０３L）の方が、系列１（右の車輪２０３Ｒ）より大きいので、ロボット２０１が右折していることが判る。その他の区間では、系列１（右の車輪２０３Ｒ）と系列２（左の車輪２０３L）の出力がほぼ等しいので、ロボット２０１がほぼ直進していることが判る。
【０１０９】
以上においては、時系列予測演算部１２のモジュール５１をリカレントニューラルネットワーク８１で構成するようにしたが、入力ベクトルｘと出力ベクトルｙとの写像関係ｙ＝ｆ（ｘ）を、ｎ個の入出力対応関係である教師データ（ｘi，ｙi）（ｉ＝１，２，…，ｎ）に基づいて学習する学習器であれば何でもよい。例えば、ルックアップテーブルや関数近似器を用いることができる。
【０１１０】
関数近似には、最小二乗法や直交多項式を利用したルジャンドル近似、チェビシェフ近似、エルミート近似、区間多項式を利用したスプライン近似などを用いることができる。
【０１１１】
このうちの最小二乗法は、次のようなものである。すなわち、いま離散的なデータを（ｘi，ｙi）（ｉ＝１，２，…，ｎ）とする。それに対して近似間数ｆ（ｘ）を、次式で示されるように、ｍ個の独立した関数φk（ｘ）（ｋ＝１，２，…，ｍ）で表すことにする。
【０１１２】
【数６】
2008287626.tif 000009
【０１１３】
このとき各離散データを近似関数との誤差の２乗したものの総和をSとすると、Sは次式で表される。
【０１１４】
【数７】
2008287626.tif 000010
【０１１５】
最小二乗法では、この総和Sが最小になるように次の式（８）に基づいて、各係数ａkが決定される。
∂Ｓ／∂ａk＝０      （８）
ｋ＝１，２，…，ｍ
【０１１６】
以上の議論を多項式近似の場合に適用すると、近似関数は、次のようになる。
ｆ（ｘ）＝ａ1ｘm＋ａ2ｘm-1＋ … ＋ａjｘm-j+1＋ … ＋ａmｘ＋ａm+1  （９）
【０１１７】
式（８）によりａkに関する以下の連立方程式が導出される。
（Aij）（ａi）＝（Ｆij）              （１０）
ｉ＝ｉ，ｉ＋１，…，ｍ＋１
ｊ＝１，２，…，ｍ＋１
【０１１８】
式（１０）のマトリックスの係数Aij，Ｆijは、次式で表される。
【０１１９】
【数８】
2008287626.tif 000011
【０１２０】
ｎは離散データ（教師データ）の総数を表す。
【０１２１】
以上のようにして、最小二乗法により図１６に示されるような関数近似を実現することができる。
【０１２２】
一方、スプライン近似は、図１７に示されるように、離散データを区間多項式で近似する方法であり、各データの間を異なる関数で近似する。接点で２次までの微分値が一致する関数を例にあげる。ｘiとｘi+1の近似関数を次のように設定する。
ｙ（ｘ）＝ｙi＋ａ1i（ｘ−ｘi）＋ａ2i（ｘ−ｘi）2＋ａ3i（ｘ−ｘi）3  （１３）
【０１２３】
このとき次式が得られる。
ｄｙ／ｄｘ＝ａ1i＋２ａ2i（ｘ−ｘi）2＋３ａ3i（ｘ−ｘi）2  （１４）
ｄ2ｙ／ｄｘ2＝２ａ2i＋６ａ3i（ｘ−ｘi）  （１５）
【０１２４】
ｘ＝ｘi+1での接続条件により、次式が得られる。
ｙi＋ａ1iｈi＋ａ2iｈi2＋ａ3iｈi3＝ｙi+1      （１６）
ａ1iｈi＋２ａ2iｈi＋３ａ3iｈi2＝ａ1(i+1)    （１７）
２ａ2iｈi＋６ａ3iｈi2＝２ａ2(i+1)    （１８）
ただし、ｈi＝ｘi+1−ｘiである。
【０１２５】
その結果、ａ1i，ａ2i，ａ3i（ｉ＝１，２，…，ｎ−１）に関する連立方程式が導かれるので、これを解き、係数ａkを求めることができる。
【０１２６】
以上のようにして、スプライン近似により図１８に示されるような関数近似を実現することができる。
【０１２７】
時系列予測計算が応用される対象は、ロボットのセンサパターンやモータパターンの時系列予測学習に限られず、過去起きた事象に基づく記憶から、これから起こる未来の事象を予測し、その予測に基づいて実行すべきコマンドを決定するものであれば、何でもよい。
【０１２８】
例えば、ユーザの行動を先読みしてコマンドを実行してくれるようなユーザインターフェースへの応用が考えられる。ユーザの入力に基づいてコマンドを決定するような機器としては、パーソナルコンピュータのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）におけるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）や、テレビジョン受像機の操作などが考えられる。
【０１２９】
ＧＵＩの例としては、例えば図１９に示されるように、モニタ４０１、コンピュータ本体４０２、マウス４０３、およびキーボード４０４からなるパーソナルコンピュータにおいて、通常は、マウス４０３の操作を通じたカーソル４０５によってアイコンを選択してアプリケーションを実行したり、ウェブブラウズを行ったりするが、モニタ４０１上のマウスカーソル４０５の軌跡４０６を入力とし、アプリケーションを実行したり、ウェブページを送ったり、戻ったりする操作をコマンドとすると、ユーザの操作を先読みしてコマンドを実行してくれるユーザインターフェースを実現できる。
【０１３０】
使い始めのうちは、あるカーソル４０５の軌跡４０６と、その後に実行すべきコマンドとの対応が学習されていないので、何回かユーザが通常のＧＵＩを使用する方法で操作を行うが、何度か同じ操作をしていくうちに、その操作に関する記憶が形成され、予測がうまくできるようになる。その結果、最後まで操作を行わなくとも、それまでの記憶から予測に基づいてコマンドを実行することができるようになる。
【０１３１】
一方、テレビジョン受像機のインターフェースに関しては、例えば、図２０に示されるように、テレビジョン受像機５０１の親画面５１１と子画面５１２の複数画面表示で番組を鑑賞している際のユーザの視線の移り変わりを検出し、それによって、親画面表示と子画面表示の切り替えを予測に基づいて行なう応用が考えられる。この場合も、ユーザは、始めのうちは、ある一定の視線の動きをした後に、リモートコントローラ５０２などを用いて明示的に画面を切り替える操作を行うのだが、何度か操作をおこなううちに、視線の動きと実際に実行すべきコマンドとの対応が学習され、ユーザは視線を動かすだけで意図した画面切り替え等のコマンドを実行できるようになる。
【０１３２】
本実施の形態は、オンライン追加学習の機能を有するので、以上述べたようなアプリケーションでは、ユーザが使い込むうちにユーザの癖にあわせた予測機能が向上する。
【０１３３】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１３４】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスクを含む）、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア、または、プログラムが一時的もしくは永続的に格納されるROMやハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１３５】
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１３６】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１３７】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１３８】
【図１】本発明の学習制御装置の一実施の形態の構成を示すブロック図である。
【図２】時系列予測演算部と生成部の構成を示すブロック図である。
【図３】モジュールの構成を示すブロック図である。
【図４】リカレントニューラルネットワークの構成を示すブロック図である。
【図５】学習制御処理を説明するフローチャートである。
【図６】学習制御処理を説明するフローチャートである。
【図７】学習制御処理を説明するフローチャートである。
【図８】全モジュールの可塑性パラメータ演算処理を説明するフローチャートである。
【図９】シグモイド関数を説明する図である。
【図１０】本発明の学習制御装置の一実施の形態の動作を説明する図である。
【図１１】本発明の学習制御装置を適用したロボットの一実施の形態の構成を示す図である。
【図１２】ロボットの底面の構成を示す底面図である。
【図１３】ロボットの実験環境を説明する図である。
【図１４】ロボットの移動を説明する図である。
【図１５】ロボットのセンサとモータコマンドの時系列データを示す図である。
【図１６】最小二乗法の例を示す図である。
【図１７】スプライン近似を説明する図である。
【図１８】スプライン近似の例を示す図である。
【図１９】パーソナルコンピュータのＧＵＩへの応用を説明する図である。
【図２０】テレビジョン受像機への応用を説明する図である。
【符号の説明】
【０１３９】
１  学習制御装置，１１  入力部，  １２  時系列予測演算部，  １３  予測誤差演算部，  １４  重み付けパラメータ演算部，  １５  生成モジュール選択部，  １６  生成部，  １７  可塑性パラメータ演算部，  １８  学習率演算部，  ２０  可塑性消去閾値判定部，  ２１  消去部，  ２２  可塑性最大値演算部，  ２３  可塑性最大値追加閾値判定部，  ２４  追加部，  ２５  コピー部，  ２６  予測誤差追加閾値判定部，  ２７  新規学習条件判定部
【図１】
2008287626.tif 000012
【図２】
2008287626.tif 000013
【図３】
2008287626.tif 000014
【図４】
2008287626.tif 000015
【図５】
2008287626.tif 000016
【図６】
2008287626.tif 000017
【図７】
2008287626.tif 000018
【図８】
2008287626.tif 000019
【図９】
2008287626.tif 000020
【図１０】
2008287626.tif 000021
【図１１】
2008287626.tif 000022
【図１２】
2008287626.tif 000023
【図１３】
2008287626.tif 000024
【図１４】
2008287626.tif 000025
【図１５】
2008287626.tif 000026
【図１６】
2008287626.tif 000027
【図１７】
2008287626.tif 000028
【図１８】
2008287626.tif 000029
【図１９】
2008287626.tif 000030
【図２０】
2008287626.tif 000031