(57)【要約】【課題】ローカルモジュールアーキテクチャにおいて、複数の学習器の予測処理が共同して行われることができるようにする。【解決手段】図７Ａに示す教師データとして学習した予測部に、教師データと同じデータを入力させた場合、混合部の各RNNの混合係数が、図７Ｂに示すように、予測誤差が減少する方向に変化し、その結果図７Ｃに示すような予測信号が出力される。なお図７Ｂは、混合部における５個のRNNに対応する混合係数α1、α2、α3、α4、およびα5の大きさの変化を、グレースケール諧調であらわしており、白色が１を示し、色が濃くなるほど小さい値を示し、黒色が０を示している。本発明は、ロボットの制御装置に適用できる。【選択図】図７
2007280031.tif 000002
【特許請求の範囲】
【請求項１】
時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第１の予測手段と、
前記複数の第1の予測手段による予測結果を、所定の混合係数を用いて混合する予測処理を実行する第２の予測手段と、
前記第２の予測手段による予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新手段と
を備える情報処理装置。
【請求項２】
時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第１の予測ステップと、
前記複数の第1の予測ステップの処理での予測結果を、所定の混合係数を用いて混合する予測処理を実行する第２の予測ステップと、
前記第２の予測ステップの処理での予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新ステップと
を含む情報処理方法。
【請求項３】
時系列データに対する予測処理をコンピュータに実行させるプログラムにおいて、
時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第１の予測ステップと、
前記複数の第1の予測ステップの処理での予測結果を、所定の混合係数を用いて混合する予測処理を実行する第２の予測ステップと、
前記第２の予測ステップの処理での予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新ステップと
を含むプログラム。
【請求項４】
時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理装置において、
前記教師データの学習を行う複数の学習手段と、
前記複数の学習手段による学習結果を、所定の混合係数を用いて混合する混合手段と、
前記混合手段による混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更手段と
を備える情報処理装置。
【請求項５】
時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理方法おいて、
前記教師データの学習を行う複数の学習ステップと、
前記複数の学習ステップの処理での学習結果を、所定の混合係数を用いて混合する混合ステップと、
前記混合ステップの処理での混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更ステップと
を含む情報処理方法。
【請求項６】
時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理をコンピュータに実行させるプログラムおいて、
前記教師データの学習を行う複数の学習ステップと、
前記複数の学習ステップの処理での学習結果を、所定の混合係数を用いて混合する混合ステップと、
前記混合ステップの処理での混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更ステップと
を含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置および方法、並びにプログラムに関し、特に、ローカルモジュールアーキテクチャでの予測処理において、混合係数を勾配法を用いて更新することにより、１つの入力に対して複数のローカルモジュールの予測処理が共同して行われることができるようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
教師データを予め学習し、その学習結果に基づいて、次の事象を予測する装置が開発されている。例えば図１に示すように、時刻ｔにおいて、ｘ(t-T)，・・・・ｘ(t-1),ｘ(t)の時系列データの入力があったとき、それを元に次の時刻t+1のデータｘ*(t+1)を予測して出力する学習器などが存在する。
【０００３】
時系列予測問題を含めた教師あり学習一般では、学習器が扱える複雑度が高ければ高いほど、複雑な時系列データを正しく学習して予測することができる。しかしながら複雑度の高いものを扱える学習器は、凡化能力が落ちることが知られている（非特許文献１，２）。
【０００４】
この問題を解決する方法として、学習対象を複数の事象に分け、分けられた事象のそれぞれを比較的簡単な学習器を用いて学習する方法が考えられている。
【０００５】
このように各々の学習器を簡単に保てば、それぞれの凡化性を高く保つことができる。また簡単な学習器を組み合わせて用いれば、複雑なデータに対しても対応することも可能となる。なおここでは、このように学習対象から分割された各事象を学習（または予測）する簡単な学習器を、ローカルモジュールと称し、このような学習器を複数個組み合わせて用いる構成をローカルモジュールアーキテクチャと称する。
【０００６】
ローカルモジュールアーキテクチャは特に、非定常なデータや、隠れ変数などの未観測な変数を持つデータに有効である。ローカルモジュールアーキテクチャの代表的な例としては、Mixture of Expert（非特許文献３，４参照）や MOSAIC（非特許文献５，６参照）がある。
【０００７】
ところでローカルモジュールアーキテクチャを用いる場合、図２に示すように、ローカルモジュールとしての複数の学習器の出力を混合し、最終的な予測値を出力することが必要となるが、この混合方法としては、一般には、Winner Take AllやSoftMax選択といった手法が用いられる。
【０００８】
Winner Take Allは、与えられた評価基準で最大の評価を得た１個の学習器を利用する方法で、各時刻で学習器の選択が行われ、各時刻において利用する学習器が切り換えられる。すなわちシステム全体の出力qWTAは、式（１）に示すように、変数ｉで特定される所定の学習器ｉの出力ｑiとなる。
【０００９】
【数１】
2007280031.tif 000003
【００１０】
この学習器ｉは、式（２）に示すように、式（３）に示す予測誤差ｅiが最小となる学習器ｊとなる。
【００１１】
【数２】
2007280031.tif 000004
【００１２】
【数３】
2007280031.tif 000005
【００１３】
SoftMax選択では、Winner Take Allのように選択した１個の学習器の出力をシステムの出力とするのではなく、各学習器の出力ｑiの重み付け線形和でシステム全体の出力が求められる。各学習器の混合係数αiは、その総和が常に１となる条件の下、式（４）で与えられ、システム全体の出力qSoftMaxは、式（５）で求められる。
【００１４】
【数４】
2007280031.tif 000006
【００１５】
【数５】
2007280031.tif 000007
【００１６】
ローカルモジュールアーキテクチャの代表的な例としてのMixture of Expertは、各学習器（Expert Network）と同一の入力を持つゲートモジュール（Gating Network）が存在し、それがSoftMax選択により各学習器の混合係数を決定し出力し、その混合係数により各学習器の出力が混合される。
【００１７】
他の例としてのMOSAICは、各学習器の混合係数（responsibility）を、各学習器の予測誤差により求めるが、これもSoftMax選択が利用される。
【００１８】
【非特許文献１】下平, 伊藤, 久保川, 竹内. モデル選択. 岩波書店, 2004.
【非特許文献２】麻生, 津田, 村田. パターン認識と学習の統計学. 岩波書店, 2003.
【非特許文献３】Robert A. Jacobs and Michael I. Jordan. Adaptive mixtures of local experts. Neural Computation, 3(1):7987, 1991.
【非特許文献４】Michael I. Jordan and Robert A. Jacobs. Hierarchical mixtures of experts and the EM algorithm. Neural Computation, 6(2):181214, March 1994.
【非特許文献５】Wolpert D, Kawato M: Multiple paired forward and inverse models for motor control.Neural Networks,11, 1317-1329 (1998). (c) Elsevier Science Ltd.
【非特許文献６】Haruno M, Wolpert DM, Kawato M (2001) Mosaic model for sensorimotor learning and control. Neural Comput 13: 2201-222
【発明の開示】
【発明が解決しようとする課題】
【００１９】
ところで上述したWinner Take Allによる混合方法では、１個の学習器が選択されることから、学習対象から分割された各事象は、１個の学習器によって予測されることが前提となっている。
【００２０】
またSoftMax選択による混合方法では、１つの事象に対して複数の学習器が動作するが、混合係数の総和が常に１となることから、複数の混合係数が同時に１となることはなく、実質的に、複数の学習器の予測処理が同時に共同して行われることはない。
【００２１】
しかしながら実際には、事象の予測の複雑度により、１個の事象に対して、２個以上の学習器の予測処理が同時に共同して行われる方がよい場合がある。特に、事象の難易度が高ければ高いほどそのような予測が必要とされる。
【００２２】
本発明はこのような状況に鑑みてなされたものであり、１個の事象に対して複数の学習器の予測処理が同時に共同して行なわれるようにするものである。
【課題を解決するための手段】
【００２３】
本発明の第１の側面の情報処理装置は、時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第１の予測手段と、前記複数の第1の予測手段による予測結果を、所定の混合係数を用いて混合する予測処理を実行する第２の予測手段と、前記第２の予測手段による予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新手段とを備える。
【００２４】
本発明の第１の側面の情報処理方法は、時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第１の予測ステップと、前記複数の第1の予測ステップの処理での予測結果を、所定の混合係数を用いて混合する予測処理を実行する第２の予測ステップと、前記第２の予測ステップの処理での予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新ステップとを含む。
【００２５】
本発明の第１の側面のプログラムは、時系列データに対する予測処理をコンピュータに実行させるプログラムにおいて、時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第１の予測ステップと、前記複数の第1の予測ステップの処理での予測結果を、所定の混合係数を用いて混合する予測処理を実行する第２の予測ステップと、前記第２の予測ステップの処理での予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新ステップとを含む。
【００２６】
本発明の第１の側面の情報処理装置、情報処理方法、またはプログラムにおいては、時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理が複数実行され、その予測結果が、所定の混合係数を用いて混合され、その混合による予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数が更新される。
【００２７】
本発明の第２の側面の情報処理装置は、時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理装置において、前記教師データの学習を行う複数の学習手段と、前記複数の学習手段による学習結果を、所定の混合係数を用いて混合する混合手段と、前記混合手段による混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更手段とを備える。
【００２８】
本発明の第２の側面の情報処理方法は、時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理方法おいて、前記教師データの学習を行う複数の学習ステップと、前記複数の学習ステップの処理での学習結果を、所定の混合係数を用いて混合する混合ステップと、前記混合ステップの処理での混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更ステップとを含む。
【００２９】
本発明の第２の側面のプログラムは、時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理をコンピュータに実行させるプログラムおいて、前記教師データの学習を行う複数の学習ステップと、前記複数の学習ステップの処理での学習結果を、所定の混合係数を用いて混合する混合ステップと、前記混合ステップの処理での混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更ステップとを含む。
【００３０】
本発明の第２の側面の情報処理装置、情報処理方法、またはプログラムにおいては、時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う場合において、前記教師データの学習が行われ、その学習の結果が、所定の混合係数を用いて混合され、その混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数が変更される。
【発明の効果】
【００３１】
本発明の第１および第２の側面によれば、例えば１個の事象に対して複数の学習器の予測処理が同時に共同して行なわれるようにすることができる。
【発明を実施するための最良の形態】
【００３２】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００３３】
本発明の第１の側面の情報処理装置は、
時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第１の予測手段（例えば、図４のRNN２１）と、
前記複数の第1の予測手段による予測結果を、所定の混合係数を用いて混合する予測処理を実行する第２の予測手段（例えば、図４の混合部２２）と、
前記第２の予測手段による予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新手段（例えば、図４の演算部２５）と
を備える。
【００３４】
本発明の第１の側面の情報処理方法またはプログラムは、
時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第１の予測ステップ（例えば、図４のRNN２１の式（１１）の演算）と、
前記複数の第1の予測ステップによる予測結果を、所定の混合係数を用いて混合する予測処理を実行する第２の予測ステップ(例えば、図４の混合部２２の式（６）の演算)と、
前記第２の予測ステップによる予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新ステップ（例えば、図４の演算部２５の式（８）の演算）と
を含む。
【００３５】
本発明の第２の側面の情報処理装置は、
時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理装置において、
前記教師データの学習を行う複数の学習手段（例えば、図６のRNN２１）と、
前記複数の学習手段による学習結果を、所定の混合係数を用いて混合する混合手段（例えば、図６の混合部２２）と、
前記混合手段による混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更手段（例えば、図６の演算部２５）と
を備える。
【００３６】
本発明の第２の側面の情報処理方法、またはプログラムは、
時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理方法おいて、または  時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理をコンピュータに実行させるプログラムおいて、
前記教師データの学習を行う複数の学習ステップ（例えば、図６のRNN２１の式（１１）の演算）と、
前記複数の学習ステップの処理での学習結果を、所定の混合係数を用いて混合する混合ステップ（例えば、図６の混合部２２の式（６）の演算）と、
前記混合ステップの処理での混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更ステップ（例えば、図６の演算部２５の式（８）の演算）と
を含む。
【００３７】
図３は、本発明を適用した情報処理装置１の構成例を示している。この情報処理装置１は、例えばロボットにおける腕等の各部を制御する制御装置として用いられる。
【００３８】
信号入力部１１は、例えばロボットの腕等に設けられたセンサ（図示せぬ）等により検出された各種の情報を入力し、制御部１３に供給する。
【００３９】
予測部１２は、制御部１３から供給された、信号入力部１１からの情報を元に、次の事象を予測する予測処理を行うが、予測部１２は、ローカルモジュールアーキテクチャで構成され、比較的簡単な複数のローカルモジュールとしての学習器での予測結果を所定の混合係数を用いて混合することで最終的な予測を行う。予測部１２は、予測結果を制御部１３に供給する。
【００４０】
制御部１３は、予測部１２から供給された予測結果を基づいて、処理部１４を制御して、所定の処理を実行させる。
【００４１】
処理部１４は、制御部１３の制御に従って、例えばモータを起動する処理を行う。
【００４２】
図４は、予測部１２の予測時の構成例を示している。
【００４３】
この予測部１２には、ローカルモジュールとしての学習器として、Ｎ個のリカレント型ニューラルネットワーク（RNN）２１−１乃至２１−Ｎが設けられている（以下、個々に区別する必要がない場合、RNN２１と称する）。
【００４４】
各RNN２１は、予めなされた学習結果得られた所定の係数を保持している。各RNN２１は、制御部１３から供給されたｘ（t-T），・・・・，ｘ(t-1),ｘ(t)の時系列データを元に、保持している係数を利用して時刻ｔ＋１の予測値ｘ*（t+1）を演算し、混合部２２に供給する。
【００４５】
混合部２２は、演算部２５により設定される混合係数αを、RNN２１毎有しており、式（６）に示すように、RNN２１−ｉ（i=1,2,・・・N）から供給された予測値ｘi*（t+1）に対して、時刻ｔにおいて保持している混合係数αi(t)を乗算し、その乗算結果の総和を算出する。この算出結果が、予測部１２の予測値ｘ**(t+1)として制御部１３に供給される。
【００４６】
【数６】
2007280031.tif 000008
【００４７】
混合部２２から出力された予測値ｘ**(t+1)は、遅延部２３にも供給される。
【００４８】
遅延部２３は、混合部２２から出力された予測値ｘ**(t+1)を１単位時間分遅延して減算器２４に供給する。減算器２４には、制御部１３から、RNN２１にも供給されている時系列データが入力されるので、減算器２４は、混合部２２から出力された１単位時間分遅延された予測値ｘ**(t+1)と、制御部１３からの入力ｘ（t+1）との差分を算出し、演算部２５に供給する。
【００４９】
演算部２５は、式（７）に示すように、減算器２４から供給された差分を１／２にして時刻ｔ＋１での予測誤差e(t+1）を求めるとともに、式（８）に示すように、勾配法を用いて、予測誤差ｅ(t+1)が減少する方向に各RNN２１の混合係数α(t+1)を求める。演算部２５は、算出した各RNN２１の混合係数α(t+1)を、混合部２２にいま保持されている混合係数α(t)に変えて設定して、更新する。
【００５０】
【数７】
2007280031.tif 000009
【００５１】
【数８】
2007280031.tif 000010
【００５２】
式（８）中、ηは、学習係数であり、式（９）の値は、式（６）および式（７）より、式（１０）に示すように求められる。
【００５３】
【数９】
2007280031.tif 000011
【００５４】
【数１０】
2007280031.tif 000012
【００５５】
すなわち本発明によれば、学習器としてのRNN２１での予測結果を混合するための混合係数αを、勾配法を利用して最終的な予測の予測誤差が減少する方向に更新するようにしたので、例えばSoftmaxのように混合係数αの総和が１となるような制限なく混合係数αを設定することができ、１つの事象に対して複数の学習器の予測処理が同時に共同して行なわれるようにすることができる。
【００５６】
次にRNN２１について説明する。RNN２１は、例えば図５に示す構成を有している。
【００５７】
RNN２１は、入力層４１、中間層４２、および出力層４３により構成されている。入力層４１の各ニューロンには、制御部１３から供給された、各種のセンサの状態に対応する信号（以下、単にセンサとも称する）ｘ(t)が入力される。入力層４１に入力されたデータは、所定の数のニューロンからなる中間層４２を介して、所定の数のニューロンからなる出力層４３から、センサｘ*(t+1)として出力される。なおセンサｘ(t)およびセンサｘ* (t+1)は、複数の要素からなるベクトルである。
【００５８】
各ニューロンは、所定の学習を行うことにより、所定の結合重みを記憶しており、入力に対して結合重みを乗算して、他のニューロンに出力する。また出力層４３の所定のニューロンの出力の一部としてのコンテキストｃ(t+1)は、入力層４１のニューロンにフィードバックされる。
【００５９】
すなわちRNN２１は、現在の時刻（ステップ）ｔでのセンサｘ(t)に対して、式（１１）を演算して、次の時刻（ステップ）t+1におけるセンサｘ*(t+1)を出力する。式（１１）中、Ｗ1、Ｗ2は、学習によって得られた結合重みであり、ｆはシグモイド関数などの非線形写像である。
【００６０】
【数１１】
2007280031.tif 000013
【００６１】
RNN２１は、行動学習を行うことにより、現在時刻と次の時刻の関係を結合重みを序所に変えることによって記憶する。すなわち、現時点におけるセンサｘ(t)の入力に対して次の時刻においては、どのようなセンサｘ* (t+1)が得られるかを予測できるように学習する。
【００６２】
なおRNN２１は、内部にコンテキストｃ(t)が存在するため、過去の履歴に応じてセンサｘ*(t+1)は異なるようになるが、本発明では、コンテキストの次元数を０にした特殊な場合（通常のフィードフォワードネットワーク）を、学習器として用いることもできる。また教師あり学習を行う学習器であれば、ニューラルネットワークによらず他のものを利用することができる。
【００６３】
図６は、予測部１２の学習時の構成例を示している。
【００６４】
各RNN２１には、予測部１２に供給された教師データがそれぞれ供給される。
【００６５】
各RNN２１は、入力された時刻ｔの教師データ（以下、教師入力ｘ(t)とも称する）に対して式（１１）を演算して、予測値ｘ*(t+1)を算出し、混合部２２に供給する。
【００６６】
混合部２２は、混合係数αの初期値または演習部２５により更新された、各RNN２１用の混合係数αと各RNN２１から供給されたｘ*(t+1)を用いて、式（６）を演算して、予測値ｘ**(t+1)を算出し、遅延部２３に供給する。
【００６７】
遅延部２３は、混合部２２から供給された予測値ｘ**(t+1)を１単位時間分遅延し、減算部２４に供給する。
【００６８】
減算部２４には、各RNN２１にも供給された教師データが供給されるので、減算部２４は、予測値ｘ**(t+1)と教師入力(t+1)との差分を算出し、演算部２５および各RNN２１に供給する。
【００６９】
演算部２５は、式（７）および式（８）を演算して、勾配法を用いた予測誤差ｅ(t+1)が減少する方向の各RNN２１の混合係数α(t+1)を算出し、混合部２２に設定する。
【００７０】
各RNN２１は、減算器２４から供給された予測値ｘ**(t+1)と教師入力(t+1)との差分に基づいて結合重みを算出して更新する。
【００７１】
上述した処理が学習が終了するまで繰り返し行われる。
【００７２】
ここでRNN２１での結合重みの算出方法（更新方法）について説明する。この結合重みの更新は、勾配法による学習であるバックプロバゲーションにより行われる。
【００７３】
なおここでは、式（１１）の結合重みＷ2を、式（１２）に示すように２つの行列に分解し、式（１１）を式（１３）に示すように分解して用いる。
【００７４】
【数１２】
2007280031.tif 000014
【００７５】
【数１３】
2007280031.tif 000015
【００７６】
また教師データ｛ｘ(t)｜t=0,・・・T-1｝が与えられ、学習率λには、任意の実数が設定される。
【００７７】
はじめに、式（１３）に示す各パラメータが、式（１４）に示すように初期化される。
【００７８】
【数１４】
2007280031.tif 000016
【００７９】
そして時刻ｔが０乃至T-1までの順伝播で式（１５）に示す処理が繰り返される。
【００８０】
【数１５】
2007280031.tif 000017
【００８１】
次に、時刻ｔが時刻T-1乃至１までの降順で式（１６）の処理が繰り返される。
【００８２】
【数１６】
2007280031.tif 000018
【００８３】
そしてその後、式（１７）に示すように結合重みＷ1，Ｗ2x，Ｗ2cが更新される。結合重みＷ2は、この結合重みＷ2xとＷ2cから式（１２）により求められる。
【００８４】
【数１７】
2007280031.tif 000019
【００８５】
以上のようにして結合重みが更新される。なお式（１６）のδx(t)の式を、式（１８）に示すようにすると、ローカルモジュールアーキテクチャではない１個のRNN２１のバックプロバゲーションとなる。
【００８６】
【数１８】
2007280031.tif 000020
【００８７】
上述した予測処理および学習処理の具体例を、図７に示す。
【００８８】
この例の場合、予測部１２には、５個のRNN２１が設けられ、各RNN２１において、図７Ａに示す５個の信号（例えば、ロボットがボールを転がす動作を行うときのセンサ入力、ベルを鳴らす動作を行うときのセンサ入力等）を教師データとする学習がそれぞれ行われ、その学習結果として、RNN２１には、所定の結合重みＷが設定され、混合部２２には、所定の混合係数αが設定されているものとする。
【００８９】
このように図７Ａに示す教師データで学習させた予測部１２に、教師データと同じデータを入力させた場合、混合部２２の各RNN２１の混合係数αは、図７Ｂに示すように、予測誤差が減少する方向に変化し、その結果図７Ｃに示すような入力信号に対応する予測信号が出力される。なお図７Ｂは、５個のRNN２１−１乃至２１−５に対応する混合係数α1、α2、α3、α4、およびα5の大きさの変化を、グレースケール諧調であらわしており、白色が１を示し、色が濃くなるほど小さい値を示し、黒色が０を示している。
【００９０】
図７の最上段の例では、図７Ｂに示すように、例えば混合係数α3とα5が共に１となっておりRNN２１−３とRNN２１−５による予測処理が同時に共同して行われている。
【００９１】
このように学習器としてのRNN２１での予測結果を混合するための混合係数αを、勾配法を利用して最終的な予測誤差が減少する方向に更新するようにしたので、例えば複数の混合係数αを１とし、１つの入力に対して複数の学習器の予測処理を同時に共同して行われるようにすることができる。
【００９２】
またこのことより、事象の数をＰ個とし、学習器の数をＱ個としたとき、従来のWinner Take AllまたはSoftMax選択による混合方法では、Ｐ≦Ｑとなるが、本発明によれば、Ｐ≦２Qまで学習器の数を少なくすることができる。これは、事象の数Ｐが大きければ大きいほどこの差が大きくなる。
【００９３】
なお以上においては、式（８）を用いて混合係数αを更新したが、脳モデルで利用されるSparse Codingを利用して式（８）を式（１９）のように展開し、その式（１９）を用いて混合係数αを更新することもできる。式（１９）中、εは小さい値の定数である。
【００９４】
【数１９】
2007280031.tif 000021
【００９５】
式（１９）を用いて混合係数αを更新する場合において、図７Ａと同様の図８Ａに示す信号を教師データとして学習した予測部１２のRNN２１に、教師データと同じデータを入力させたとき、混合部２２の各RNN２１の混合係数αは、図８Ｂに示すように、予測誤差が減少する方向に変化し、その結果図８Ｃに示すような予測信号が出力される。この場合、図７の例の場合と比較べ、図８Ｂに示すように、混合係数αが黒色で表されている部分が多い、すなわち混合係数αが０となっているRNN２１が多いので、個々のタスクにおいて、利用されるRNN２１の数を少なくすることができる。
【００９６】
またWinner Take Allを利用して、誤差の少ない１つのRNN２１の混合係数αが高い値になるようにして、他のRNN２１の影響が抑制されるようにするため、式（８）を式（２０）のように展開し、その式（２０）を用いて混合係数αを更新することもできる。式（２０）中、υは小さな値の定数である。
【００９７】
【数２０】
2007280031.tif 000022
【００９８】
式（２０）を用いて混合係数αを更新する場合において、図７Ａと同様の図９Ａに示す信号を教師データとして学習した予測部１２のRNN２１に、教師データと同じ信号を入力させるとき、混合部２２の各RNN２１の混合係数αは、図９Ｂに示すように、予測誤差が減少する方向に変化し、その結果図９Ｃに示すような予測信号が出力される。この場合、図９Ｂから、上から第２段目と第３段目の２個の入力信号に対して、１個のRNN２１−２での予測結果が予測部１２の予測とされていることがわかる。
【００９９】
また式（８）に代えて、式（２１）に示すような幅Ｌの誤差を考慮する更新則も考えられる。式（２１）によれば、短い時間間隔Ｌでのノイズ的な予測誤差に影響されずに、安定した混合係数αを求めることが可能となる。
【０１００】
【数２１】
2007280031.tif 000023
【０１０１】
式（１９）乃至式（２１）を利用した例のように、更新則（式（８））に制限を加えることで、Sparse CodingやWinner Take Allなどの混合器を容易に構成することができる。
【０１０２】
また以上においてRNN２１は、式（１１）によって定式化され、そのRNN２１の出力が式（６）に示すように混合されたが、式（６）および式（１１）から式（２２）を導き、その式（２２）で定式化されるRNN２１を利用することもできる。この例は、RNN２１の中に混合係数αが埋め込まれていると見ることができる。この場合、式（８）で混合係数αを更新することができるが、式（８）中の式（９）の値は、式（２３）により求められる。式（２３）中、ｏ(t)は、式（２４）に示す値である。
【０１０３】
【数２２】
2007280031.tif 000024
【０１０４】
【数２３】
2007280031.tif 000025
【０１０５】
【数２４】
2007280031.tif 000026
【０１０６】
このように、混合係数αは決められた形態以外にも、学習器の特性に合わせて変化させることが可能である。
【０１０７】
また以上においては、学習時において、混合係数αが適宜更新されるものとしたが、ユーザが混合係数αを所定の値に固定することもできる。
【０１０８】
例えば３個のRNN２１−１乃至２１−３が設けられ、図１０Ａに示す最上段の教師データを学習するとき、RNN２１−１の混合係数α1を１とし、他のRNN２１−２および２１−３の混合係数α2とα3を０として学習させ、図１０Ａに示す中段の教師データを学習するとき、RNN２１−２の混合係数α2を１とし、他のRNN２１−１および２１−３の混合係数α1とα3を０として学習させ、そして図１０Ａに示す最下段の教師データを学習するとき、RNN２１−３の混合係数α3を１とし、他のRNN２１−１および２１−２の混合係数α1とα2を０として学習させ、そしてこの教師データと同じデータをそれぞれ入力させた場合、混合部２２の各RNN２１の混合係数αは、図１０Ｂに示すようになり、その結果図１０Ｃに示すような予測信号が出力される。
【０１０９】
またこのような学習が行われた場合において、図１１Ａに示す３個のデータをそれぞれ入力させた場合、混合部２２の各RNN２１の混合係数αは、図１１Ｂに示すように更新され、その結果図１１Ｃに示すような予測信号が出力される。
【０１１０】
すなわち、例えば図１１Ａの最上段の信号が入力されるとき、時間Ｔ1には、図１０Ａの最上段の教師データと同じデータの一部が入力されるので、図１１Ｂの最上段に示すように、時間Ｔ1において、α1は１となり、α2とα3は、０となる。また時間Ｔ2には、図１０Ａの中段の教師データと同じデータの一部が入力されるので、図１１Ｂの最上段に示すように、時間Ｔ2において、α2が１となり、α1とα3が０となるように混合係数αが変更される。
【０１１１】
なお図１１Ｂの最上段の時間Ｔ11の部分から、このように混合係数αが変更される際、入力信号が切り替わってから混合係数αが揺れはじめ、時間Ｔ11かけて、α2が１に、α1とα3が０に落ち着いていることがわかる
【０１１２】
また時間Ｔ3には、図１０Ａの最下段の教師データと同じデータの一部が入力されるので、図１１Ｂの最上段に示すように、時間Ｔ3においてはα3が１となり、α1とα2が０となるように混合係数αが変更される。
【０１１３】
なお１１Ｂの最上段の時間Ｔ12の部分から、このように混合係数が変更される際、入力信号が切り替わってから各混合係数αが揺れはじめ、時間Ｔ12かけて、α3が１に、α1とα2が０に落ち着いていることがわかる。
【０１１４】
上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０１１５】
そこで、図１２は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０１１６】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク２０５やＲＯＭ２０３に予め記録しておくことができる。
【０１１７】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体２１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体２１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０１１８】
なお、プログラムは、上述したようなリムーバブル記録媒体２１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部２０８で受信し、内蔵するハードディスク２０５にインストールすることができる。
【０１１９】
コンピュータは、CPU(Central Processing Unit)２０２を内蔵している。CPU２０２には、バス２０１を介して、入出力インタフェース２１０が接続されており、CPU２０２は、入出力インタフェース２１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部２０７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)２０３に格納されているプログラムを実行する。あるいは、また、CPU２０２は、ハードディスク２０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部２０８で受信されてハードディスク２０５にインストールされたプログラム、またはドライブ２０９に装着されたリムーバブル記録媒体２１１から読み出されてハードディスク２０５にインストールされたプログラムを、RAM(Random Access Memory)２０４にロードして実行する。これにより、CPU２０２は、上述したブロック図の構成により行われる処理を行う。そして、CPU２０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース２１０を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部２０６から出力、あるいは、通信部２０８から送信、さらには、ハードディスク２０５に記録等させる。
【０１２０】
ここで、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０１２１】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１２２】
【図１】従来の教師あり学習を説明する図である。
【図２】従来のローカルモジュールアーキテクチャを説明する図である。
【図３】本発明を適用した情報処理装置１の構成例を示すブロック図である。
【図４】図３の予測部１２の構成例を示すブロック図である。
【図５】図４のRNN２１の予測時の構成例を示すブロック図である。
【図６】図４のRNN２１の学習時の構成例を示すブロック図である。
【図７】RNN２１の混合係数の変化の例を示す図である。
【図８】RNN２１の混合係数の変化の他の例を示す図である。
【図９】RNN２１の混合係数の変化の他の例を示す図である。
【図１０】RNN２１の混合係数の変化の他の例を示す図である。
【図１１】RNN２１の混合係数の変化の他の例を示す図である。
【図１２】パーソナルコンピュータの構成例を示す図である。
【符号の説明】
【０１２３】
１  情報処理装置，  １１  信号入力部，  １２  予測部，  １３  制御部，  １４  処理部，  ２１  RNN，  ２２  混合部２２  遅延部，  ２４  減算器，  ２５  演算部
【図１】
2007280031.tif 000027
【図２】
2007280031.tif 000028
【図３】
2007280031.tif 000029
【図４】
2007280031.tif 000030
【図５】
2007280031.tif 000031
【図６】
2007280031.tif 000032
【図７】
2007280031.tif 000033
【図８】
2007280031.tif 000034
【図９】
2007280031.tif 000035
【図１０】
2007280031.tif 000036
【図１１】
2007280031.tif 000037
【図１２】
2007280031.tif 000038