情報処理装置および方法、並びにプログラム
【課題】ローカルモジュールアーキテクチャにおいて、複数の学習器の予測処理が共同して行われることができるようにする。
【解決手段】図7Aに示す教師データとして学習した予測部に、教師データと同じデータを入力させた場合、混合部の各RNNの混合係数が、図7Bに示すように、予測誤差が減少する方向に変化し、その結果図7Cに示すような予測信号が出力される。なお図7Bは、混合部における5個のRNNに対応する混合係数α1、α2、α3、α4、およびα5の大きさの変化を、グレースケール諧調であらわしており、白色が1を示し、色が濃くなるほど小さい値を示し、黒色が0を示している。本発明は、ロボットの制御装置に適用できる。
【解決手段】図7Aに示す教師データとして学習した予測部に、教師データと同じデータを入力させた場合、混合部の各RNNの混合係数が、図7Bに示すように、予測誤差が減少する方向に変化し、その結果図7Cに示すような予測信号が出力される。なお図7Bは、混合部における5個のRNNに対応する混合係数α1、α2、α3、α4、およびα5の大きさの変化を、グレースケール諧調であらわしており、白色が1を示し、色が濃くなるほど小さい値を示し、黒色が0を示している。本発明は、ロボットの制御装置に適用できる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置および方法、並びにプログラムに関し、特に、ローカルモジュールアーキテクチャでの予測処理において、混合係数を勾配法を用いて更新することにより、1つの入力に対して複数のローカルモジュールの予測処理が共同して行われることができるようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
教師データを予め学習し、その学習結果に基づいて、次の事象を予測する装置が開発されている。例えば図1に示すように、時刻tにおいて、x(t-T),・・・・x(t-1),x(t)の時系列データの入力があったとき、それを元に次の時刻t+1のデータx*(t+1)を予測して出力する学習器などが存在する。
【0003】
時系列予測問題を含めた教師あり学習一般では、学習器が扱える複雑度が高ければ高いほど、複雑な時系列データを正しく学習して予測することができる。しかしながら複雑度の高いものを扱える学習器は、凡化能力が落ちることが知られている(非特許文献1,2)。
【0004】
この問題を解決する方法として、学習対象を複数の事象に分け、分けられた事象のそれぞれを比較的簡単な学習器を用いて学習する方法が考えられている。
【0005】
このように各々の学習器を簡単に保てば、それぞれの凡化性を高く保つことができる。また簡単な学習器を組み合わせて用いれば、複雑なデータに対しても対応することも可能となる。なおここでは、このように学習対象から分割された各事象を学習(または予測)する簡単な学習器を、ローカルモジュールと称し、このような学習器を複数個組み合わせて用いる構成をローカルモジュールアーキテクチャと称する。
【0006】
ローカルモジュールアーキテクチャは特に、非定常なデータや、隠れ変数などの未観測な変数を持つデータに有効である。ローカルモジュールアーキテクチャの代表的な例としては、Mixture of Expert(非特許文献3,4参照)や MOSAIC(非特許文献5,6参照)がある。
【0007】
ところでローカルモジュールアーキテクチャを用いる場合、図2に示すように、ローカルモジュールとしての複数の学習器の出力を混合し、最終的な予測値を出力することが必要となるが、この混合方法としては、一般には、Winner Take AllやSoftMax選択といった手法が用いられる。
【0008】
Winner Take Allは、与えられた評価基準で最大の評価を得た1個の学習器を利用する方法で、各時刻で学習器の選択が行われ、各時刻において利用する学習器が切り換えられる。すなわちシステム全体の出力qWTAは、式(1)に示すように、変数iで特定される所定の学習器iの出力qiとなる。
【0009】
【数1】
【0010】
この学習器iは、式(2)に示すように、式(3)に示す予測誤差eiが最小となる学習器jとなる。
【0011】
【数2】
【0012】
【数3】
【0013】
SoftMax選択では、Winner Take Allのように選択した1個の学習器の出力をシステムの出力とするのではなく、各学習器の出力qiの重み付け線形和でシステム全体の出力が求められる。各学習器の混合係数αiは、その総和が常に1となる条件の下、式(4)で与えられ、システム全体の出力qSoftMaxは、式(5)で求められる。
【0014】
【数4】
【0015】
【数5】
【0016】
ローカルモジュールアーキテクチャの代表的な例としてのMixture of Expertは、各学習器(Expert Network)と同一の入力を持つゲートモジュール(Gating Network)が存在し、それがSoftMax選択により各学習器の混合係数を決定し出力し、その混合係数により各学習器の出力が混合される。
【0017】
他の例としてのMOSAICは、各学習器の混合係数(responsibility)を、各学習器の予測誤差により求めるが、これもSoftMax選択が利用される。
【0018】
【非特許文献1】下平, 伊藤, 久保川, 竹内. モデル選択. 岩波書店, 2004.
【非特許文献2】麻生, 津田, 村田. パターン認識と学習の統計学. 岩波書店, 2003.
【非特許文献3】Robert A. Jacobs and Michael I. Jordan. Adaptive mixtures of local experts. Neural Computation, 3(1):7987, 1991.
【非特許文献4】Michael I. Jordan and Robert A. Jacobs. Hierarchical mixtures of experts and the EM algorithm. Neural Computation, 6(2):181214, March 1994.
【非特許文献5】Wolpert D, Kawato M: Multiple paired forward and inverse models for motor control.Neural Networks,11, 1317-1329 (1998). (c) Elsevier Science Ltd.
【非特許文献6】Haruno M, Wolpert DM, Kawato M (2001) Mosaic model for sensorimotor learning and control. Neural Comput 13: 2201-222
【発明の開示】
【発明が解決しようとする課題】
【0019】
ところで上述したWinner Take Allによる混合方法では、1個の学習器が選択されることから、学習対象から分割された各事象は、1個の学習器によって予測されることが前提となっている。
【0020】
またSoftMax選択による混合方法では、1つの事象に対して複数の学習器が動作するが、混合係数の総和が常に1となることから、複数の混合係数が同時に1となることはなく、実質的に、複数の学習器の予測処理が同時に共同して行われることはない。
【0021】
しかしながら実際には、事象の予測の複雑度により、1個の事象に対して、2個以上の学習器の予測処理が同時に共同して行われる方がよい場合がある。特に、事象の難易度が高ければ高いほどそのような予測が必要とされる。
【0022】
本発明はこのような状況に鑑みてなされたものであり、1個の事象に対して複数の学習器の予測処理が同時に共同して行なわれるようにするものである。
【課題を解決するための手段】
【0023】
本発明の第1の側面の情報処理装置は、時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第1の予測手段と、前記複数の第1の予測手段による予測結果を、所定の混合係数を用いて混合する予測処理を実行する第2の予測手段と、前記第2の予測手段による予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新手段とを備える。
【0024】
本発明の第1の側面の情報処理方法は、時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第1の予測ステップと、前記複数の第1の予測ステップの処理での予測結果を、所定の混合係数を用いて混合する予測処理を実行する第2の予測ステップと、前記第2の予測ステップの処理での予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新ステップとを含む。
【0025】
本発明の第1の側面のプログラムは、時系列データに対する予測処理をコンピュータに実行させるプログラムにおいて、時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第1の予測ステップと、前記複数の第1の予測ステップの処理での予測結果を、所定の混合係数を用いて混合する予測処理を実行する第2の予測ステップと、前記第2の予測ステップの処理での予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新ステップとを含む。
【0026】
本発明の第1の側面の情報処理装置、情報処理方法、またはプログラムにおいては、時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理が複数実行され、その予測結果が、所定の混合係数を用いて混合され、その混合による予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数が更新される。
【0027】
本発明の第2の側面の情報処理装置は、時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理装置において、前記教師データの学習を行う複数の学習手段と、前記複数の学習手段による学習結果を、所定の混合係数を用いて混合する混合手段と、前記混合手段による混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更手段とを備える。
【0028】
本発明の第2の側面の情報処理方法は、時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理方法おいて、前記教師データの学習を行う複数の学習ステップと、前記複数の学習ステップの処理での学習結果を、所定の混合係数を用いて混合する混合ステップと、前記混合ステップの処理での混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更ステップとを含む。
【0029】
本発明の第2の側面のプログラムは、時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理をコンピュータに実行させるプログラムおいて、前記教師データの学習を行う複数の学習ステップと、前記複数の学習ステップの処理での学習結果を、所定の混合係数を用いて混合する混合ステップと、前記混合ステップの処理での混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更ステップとを含む。
【0030】
本発明の第2の側面の情報処理装置、情報処理方法、またはプログラムにおいては、時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う場合において、前記教師データの学習が行われ、その学習の結果が、所定の混合係数を用いて混合され、その混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数が変更される。
【発明の効果】
【0031】
本発明の第1および第2の側面によれば、例えば1個の事象に対して複数の学習器の予測処理が同時に共同して行なわれるようにすることができる。
【発明を実施するための最良の形態】
【0032】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【0033】
本発明の第1の側面の情報処理装置は、
時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第1の予測手段(例えば、図4のRNN21)と、
前記複数の第1の予測手段による予測結果を、所定の混合係数を用いて混合する予測処理を実行する第2の予測手段(例えば、図4の混合部22)と、
前記第2の予測手段による予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新手段(例えば、図4の演算部25)と
を備える。
【0034】
本発明の第1の側面の情報処理方法またはプログラムは、
時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第1の予測ステップ(例えば、図4のRNN21の式(11)の演算)と、
前記複数の第1の予測ステップによる予測結果を、所定の混合係数を用いて混合する予測処理を実行する第2の予測ステップ(例えば、図4の混合部22の式(6)の演算)と、
前記第2の予測ステップによる予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新ステップ(例えば、図4の演算部25の式(8)の演算)と
を含む。
【0035】
本発明の第2の側面の情報処理装置は、
時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理装置において、
前記教師データの学習を行う複数の学習手段(例えば、図6のRNN21)と、
前記複数の学習手段による学習結果を、所定の混合係数を用いて混合する混合手段(例えば、図6の混合部22)と、
前記混合手段による混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更手段(例えば、図6の演算部25)と
を備える。
【0036】
本発明の第2の側面の情報処理方法、またはプログラムは、
時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理方法おいて、または 時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理をコンピュータに実行させるプログラムおいて、
前記教師データの学習を行う複数の学習ステップ(例えば、図6のRNN21の式(11)の演算)と、
前記複数の学習ステップの処理での学習結果を、所定の混合係数を用いて混合する混合ステップ(例えば、図6の混合部22の式(6)の演算)と、
前記混合ステップの処理での混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更ステップ(例えば、図6の演算部25の式(8)の演算)と
を含む。
【0037】
図3は、本発明を適用した情報処理装置1の構成例を示している。この情報処理装置1は、例えばロボットにおける腕等の各部を制御する制御装置として用いられる。
【0038】
信号入力部11は、例えばロボットの腕等に設けられたセンサ(図示せぬ)等により検出された各種の情報を入力し、制御部13に供給する。
【0039】
予測部12は、制御部13から供給された、信号入力部11からの情報を元に、次の事象を予測する予測処理を行うが、予測部12は、ローカルモジュールアーキテクチャで構成され、比較的簡単な複数のローカルモジュールとしての学習器での予測結果を所定の混合係数を用いて混合することで最終的な予測を行う。予測部12は、予測結果を制御部13に供給する。
【0040】
制御部13は、予測部12から供給された予測結果を基づいて、処理部14を制御して、所定の処理を実行させる。
【0041】
処理部14は、制御部13の制御に従って、例えばモータを起動する処理を行う。
【0042】
図4は、予測部12の予測時の構成例を示している。
【0043】
この予測部12には、ローカルモジュールとしての学習器として、N個のリカレント型ニューラルネットワーク(RNN)21−1乃至21−Nが設けられている(以下、個々に区別する必要がない場合、RNN21と称する)。
【0044】
各RNN21は、予めなされた学習結果得られた所定の係数を保持している。各RNN21は、制御部13から供給されたx(t-T),・・・・,x(t-1),x(t)の時系列データを元に、保持している係数を利用して時刻t+1の予測値x*(t+1)を演算し、混合部22に供給する。
【0045】
混合部22は、演算部25により設定される混合係数αを、RNN21毎有しており、式(6)に示すように、RNN21−i(i=1,2,・・・N)から供給された予測値xi*(t+1)に対して、時刻tにおいて保持している混合係数αi(t)を乗算し、その乗算結果の総和を算出する。この算出結果が、予測部12の予測値x**(t+1)として制御部13に供給される。
【0046】
【数6】
【0047】
混合部22から出力された予測値x**(t+1)は、遅延部23にも供給される。
【0048】
遅延部23は、混合部22から出力された予測値x**(t+1)を1単位時間分遅延して減算器24に供給する。減算器24には、制御部13から、RNN21にも供給されている時系列データが入力されるので、減算器24は、混合部22から出力された1単位時間分遅延された予測値x**(t+1)と、制御部13からの入力x(t+1)との差分を算出し、演算部25に供給する。
【0049】
演算部25は、式(7)に示すように、減算器24から供給された差分を1/2にして時刻t+1での予測誤差e(t+1)を求めるとともに、式(8)に示すように、勾配法を用いて、予測誤差e(t+1)が減少する方向に各RNN21の混合係数α(t+1)を求める。演算部25は、算出した各RNN21の混合係数α(t+1)を、混合部22にいま保持されている混合係数α(t)に変えて設定して、更新する。
【0050】
【数7】
【0051】
【数8】
【0052】
式(8)中、ηは、学習係数であり、式(9)の値は、式(6)および式(7)より、式(10)に示すように求められる。
【0053】
【数9】
【0054】
【数10】
【0055】
すなわち本発明によれば、学習器としてのRNN21での予測結果を混合するための混合係数αを、勾配法を利用して最終的な予測の予測誤差が減少する方向に更新するようにしたので、例えばSoftmaxのように混合係数αの総和が1となるような制限なく混合係数αを設定することができ、1つの事象に対して複数の学習器の予測処理が同時に共同して行なわれるようにすることができる。
【0056】
次にRNN21について説明する。RNN21は、例えば図5に示す構成を有している。
【0057】
RNN21は、入力層41、中間層42、および出力層43により構成されている。入力層41の各ニューロンには、制御部13から供給された、各種のセンサの状態に対応する信号(以下、単にセンサとも称する)x(t)が入力される。入力層41に入力されたデータは、所定の数のニューロンからなる中間層42を介して、所定の数のニューロンからなる出力層43から、センサx*(t+1)として出力される。なおセンサx(t)およびセンサx* (t+1)は、複数の要素からなるベクトルである。
【0058】
各ニューロンは、所定の学習を行うことにより、所定の結合重みを記憶しており、入力に対して結合重みを乗算して、他のニューロンに出力する。また出力層43の所定のニューロンの出力の一部としてのコンテキストc(t+1)は、入力層41のニューロンにフィードバックされる。
【0059】
すなわちRNN21は、現在の時刻(ステップ)tでのセンサx(t)に対して、式(11)を演算して、次の時刻(ステップ)t+1におけるセンサx*(t+1)を出力する。式(11)中、W1、W2は、学習によって得られた結合重みであり、fはシグモイド関数などの非線形写像である。
【0060】
【数11】
【0061】
RNN21は、行動学習を行うことにより、現在時刻と次の時刻の関係を結合重みを序所に変えることによって記憶する。すなわち、現時点におけるセンサx(t)の入力に対して次の時刻においては、どのようなセンサx* (t+1)が得られるかを予測できるように学習する。
【0062】
なおRNN21は、内部にコンテキストc(t)が存在するため、過去の履歴に応じてセンサx*(t+1)は異なるようになるが、本発明では、コンテキストの次元数を0にした特殊な場合(通常のフィードフォワードネットワーク)を、学習器として用いることもできる。また教師あり学習を行う学習器であれば、ニューラルネットワークによらず他のものを利用することができる。
【0063】
図6は、予測部12の学習時の構成例を示している。
【0064】
各RNN21には、予測部12に供給された教師データがそれぞれ供給される。
【0065】
各RNN21は、入力された時刻tの教師データ(以下、教師入力x(t)とも称する)に対して式(11)を演算して、予測値x*(t+1)を算出し、混合部22に供給する。
【0066】
混合部22は、混合係数αの初期値または演習部25により更新された、各RNN21用の混合係数αと各RNN21から供給されたx*(t+1)を用いて、式(6)を演算して、予測値x**(t+1)を算出し、遅延部23に供給する。
【0067】
遅延部23は、混合部22から供給された予測値x**(t+1)を1単位時間分遅延し、減算部24に供給する。
【0068】
減算部24には、各RNN21にも供給された教師データが供給されるので、減算部24は、予測値x**(t+1)と教師入力(t+1)との差分を算出し、演算部25および各RNN21に供給する。
【0069】
演算部25は、式(7)および式(8)を演算して、勾配法を用いた予測誤差e(t+1)が減少する方向の各RNN21の混合係数α(t+1)を算出し、混合部22に設定する。
【0070】
各RNN21は、減算器24から供給された予測値x**(t+1)と教師入力(t+1)との差分に基づいて結合重みを算出して更新する。
【0071】
上述した処理が学習が終了するまで繰り返し行われる。
【0072】
ここでRNN21での結合重みの算出方法(更新方法)について説明する。この結合重みの更新は、勾配法による学習であるバックプロバゲーションにより行われる。
【0073】
なおここでは、式(11)の結合重みW2を、式(12)に示すように2つの行列に分解し、式(11)を式(13)に示すように分解して用いる。
【0074】
【数12】
【0075】
【数13】
【0076】
また教師データ{x(t)|t=0,・・・T-1}が与えられ、学習率λには、任意の実数が設定される。
【0077】
はじめに、式(13)に示す各パラメータが、式(14)に示すように初期化される。
【0078】
【数14】
【0079】
そして時刻tが0乃至T-1までの順伝播で式(15)に示す処理が繰り返される。
【0080】
【数15】
【0081】
次に、時刻tが時刻T-1乃至1までの降順で式(16)の処理が繰り返される。
【0082】
【数16】
【0083】
そしてその後、式(17)に示すように結合重みW1,W2x,W2cが更新される。結合重みW2は、この結合重みW2xとW2cから式(12)により求められる。
【0084】
【数17】
【0085】
以上のようにして結合重みが更新される。なお式(16)のδx(t)の式を、式(18)に示すようにすると、ローカルモジュールアーキテクチャではない1個のRNN21のバックプロバゲーションとなる。
【0086】
【数18】
【0087】
上述した予測処理および学習処理の具体例を、図7に示す。
【0088】
この例の場合、予測部12には、5個のRNN21が設けられ、各RNN21において、図7Aに示す5個の信号(例えば、ロボットがボールを転がす動作を行うときのセンサ入力、ベルを鳴らす動作を行うときのセンサ入力等)を教師データとする学習がそれぞれ行われ、その学習結果として、RNN21には、所定の結合重みWが設定され、混合部22には、所定の混合係数αが設定されているものとする。
【0089】
このように図7Aに示す教師データで学習させた予測部12に、教師データと同じデータを入力させた場合、混合部22の各RNN21の混合係数αは、図7Bに示すように、予測誤差が減少する方向に変化し、その結果図7Cに示すような入力信号に対応する予測信号が出力される。なお図7Bは、5個のRNN21−1乃至21−5に対応する混合係数α1、α2、α3、α4、およびα5の大きさの変化を、グレースケール諧調であらわしており、白色が1を示し、色が濃くなるほど小さい値を示し、黒色が0を示している。
【0090】
図7の最上段の例では、図7Bに示すように、例えば混合係数α3とα5が共に1となっておりRNN21−3とRNN21−5による予測処理が同時に共同して行われている。
【0091】
このように学習器としてのRNN21での予測結果を混合するための混合係数αを、勾配法を利用して最終的な予測誤差が減少する方向に更新するようにしたので、例えば複数の混合係数αを1とし、1つの入力に対して複数の学習器の予測処理を同時に共同して行われるようにすることができる。
【0092】
またこのことより、事象の数をP個とし、学習器の数をQ個としたとき、従来のWinner Take AllまたはSoftMax選択による混合方法では、P≦Qとなるが、本発明によれば、P≦2Qまで学習器の数を少なくすることができる。これは、事象の数Pが大きければ大きいほどこの差が大きくなる。
【0093】
なお以上においては、式(8)を用いて混合係数αを更新したが、脳モデルで利用されるSparse Codingを利用して式(8)を式(19)のように展開し、その式(19)を用いて混合係数αを更新することもできる。式(19)中、εは小さい値の定数である。
【0094】
【数19】
【0095】
式(19)を用いて混合係数αを更新する場合において、図7Aと同様の図8Aに示す信号を教師データとして学習した予測部12のRNN21に、教師データと同じデータを入力させたとき、混合部22の各RNN21の混合係数αは、図8Bに示すように、予測誤差が減少する方向に変化し、その結果図8Cに示すような予測信号が出力される。この場合、図7の例の場合と比較べ、図8Bに示すように、混合係数αが黒色で表されている部分が多い、すなわち混合係数αが0となっているRNN21が多いので、個々のタスクにおいて、利用されるRNN21の数を少なくすることができる。
【0096】
またWinner Take Allを利用して、誤差の少ない1つのRNN21の混合係数αが高い値になるようにして、他のRNN21の影響が抑制されるようにするため、式(8)を式(20)のように展開し、その式(20)を用いて混合係数αを更新することもできる。式(20)中、υは小さな値の定数である。
【0097】
【数20】
【0098】
式(20)を用いて混合係数αを更新する場合において、図7Aと同様の図9Aに示す信号を教師データとして学習した予測部12のRNN21に、教師データと同じ信号を入力させるとき、混合部22の各RNN21の混合係数αは、図9Bに示すように、予測誤差が減少する方向に変化し、その結果図9Cに示すような予測信号が出力される。この場合、図9Bから、上から第2段目と第3段目の2個の入力信号に対して、1個のRNN21−2での予測結果が予測部12の予測とされていることがわかる。
【0099】
また式(8)に代えて、式(21)に示すような幅Lの誤差を考慮する更新則も考えられる。式(21)によれば、短い時間間隔Lでのノイズ的な予測誤差に影響されずに、安定した混合係数αを求めることが可能となる。
【0100】
【数21】
【0101】
式(19)乃至式(21)を利用した例のように、更新則(式(8))に制限を加えることで、Sparse CodingやWinner Take Allなどの混合器を容易に構成することができる。
【0102】
また以上においてRNN21は、式(11)によって定式化され、そのRNN21の出力が式(6)に示すように混合されたが、式(6)および式(11)から式(22)を導き、その式(22)で定式化されるRNN21を利用することもできる。この例は、RNN21の中に混合係数αが埋め込まれていると見ることができる。この場合、式(8)で混合係数αを更新することができるが、式(8)中の式(9)の値は、式(23)により求められる。式(23)中、o(t)は、式(24)に示す値である。
【0103】
【数22】
【0104】
【数23】
【0105】
【数24】
【0106】
このように、混合係数αは決められた形態以外にも、学習器の特性に合わせて変化させることが可能である。
【0107】
また以上においては、学習時において、混合係数αが適宜更新されるものとしたが、ユーザが混合係数αを所定の値に固定することもできる。
【0108】
例えば3個のRNN21−1乃至21−3が設けられ、図10Aに示す最上段の教師データを学習するとき、RNN21−1の混合係数α1を1とし、他のRNN21−2および21−3の混合係数α2とα3を0として学習させ、図10Aに示す中段の教師データを学習するとき、RNN21−2の混合係数α2を1とし、他のRNN21−1および21−3の混合係数α1とα3を0として学習させ、そして図10Aに示す最下段の教師データを学習するとき、RNN21−3の混合係数α3を1とし、他のRNN21−1および21−2の混合係数α1とα2を0として学習させ、そしてこの教師データと同じデータをそれぞれ入力させた場合、混合部22の各RNN21の混合係数αは、図10Bに示すようになり、その結果図10Cに示すような予測信号が出力される。
【0109】
またこのような学習が行われた場合において、図11Aに示す3個のデータをそれぞれ入力させた場合、混合部22の各RNN21の混合係数αは、図11Bに示すように更新され、その結果図11Cに示すような予測信号が出力される。
【0110】
すなわち、例えば図11Aの最上段の信号が入力されるとき、時間T1には、図10Aの最上段の教師データと同じデータの一部が入力されるので、図11Bの最上段に示すように、時間T1において、α1は1となり、α2とα3は、0となる。また時間T2には、図10Aの中段の教師データと同じデータの一部が入力されるので、図11Bの最上段に示すように、時間T2において、α2が1となり、α1とα3が0となるように混合係数αが変更される。
【0111】
なお図11Bの最上段の時間T11の部分から、このように混合係数αが変更される際、入力信号が切り替わってから混合係数αが揺れはじめ、時間T11かけて、α2が1に、α1とα3が0に落ち着いていることがわかる
【0112】
また時間T3には、図10Aの最下段の教師データと同じデータの一部が入力されるので、図11Bの最上段に示すように、時間T3においてはα3が1となり、α1とα2が0となるように混合係数αが変更される。
【0113】
なお11Bの最上段の時間T12の部分から、このように混合係数が変更される際、入力信号が切り替わってから各混合係数αが揺れはじめ、時間T12かけて、α3が1に、α1とα2が0に落ち着いていることがわかる。
【0114】
上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0115】
そこで、図12は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【0116】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク205やROM203に予め記録しておくことができる。
【0117】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体211に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体211は、いわゆるパッケージソフトウエアとして提供することができる。
【0118】
なお、プログラムは、上述したようなリムーバブル記録媒体211からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部208で受信し、内蔵するハードディスク205にインストールすることができる。
【0119】
コンピュータは、CPU(Central Processing Unit)202を内蔵している。CPU202には、バス201を介して、入出力インタフェース210が接続されており、CPU202は、入出力インタフェース210を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部207が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)203に格納されているプログラムを実行する。あるいは、また、CPU202は、ハードディスク205に格納されているプログラム、衛星若しくはネットワークから転送され、通信部208で受信されてハードディスク205にインストールされたプログラム、またはドライブ209に装着されたリムーバブル記録媒体211から読み出されてハードディスク205にインストールされたプログラムを、RAM(Random Access Memory)204にロードして実行する。これにより、CPU202は、上述したブロック図の構成により行われる処理を行う。そして、CPU202は、その処理結果を、必要に応じて、例えば、入出力インタフェース210を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部206から出力、あるいは、通信部208から送信、さらには、ハードディスク205に記録等させる。
【0120】
ここで、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0121】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【0122】
【図1】従来の教師あり学習を説明する図である。
【図2】従来のローカルモジュールアーキテクチャを説明する図である。
【図3】本発明を適用した情報処理装置1の構成例を示すブロック図である。
【図4】図3の予測部12の構成例を示すブロック図である。
【図5】図4のRNN21の予測時の構成例を示すブロック図である。
【図6】図4のRNN21の学習時の構成例を示すブロック図である。
【図7】RNN21の混合係数の変化の例を示す図である。
【図8】RNN21の混合係数の変化の他の例を示す図である。
【図9】RNN21の混合係数の変化の他の例を示す図である。
【図10】RNN21の混合係数の変化の他の例を示す図である。
【図11】RNN21の混合係数の変化の他の例を示す図である。
【図12】パーソナルコンピュータの構成例を示す図である。
【符号の説明】
【0123】
1 情報処理装置, 11 信号入力部, 12 予測部, 13 制御部, 14 処理部, 21 RNN, 22 混合部22 遅延部, 24 減算器, 25 演算部
【技術分野】
【0001】
本発明は情報処理装置および方法、並びにプログラムに関し、特に、ローカルモジュールアーキテクチャでの予測処理において、混合係数を勾配法を用いて更新することにより、1つの入力に対して複数のローカルモジュールの予測処理が共同して行われることができるようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
教師データを予め学習し、その学習結果に基づいて、次の事象を予測する装置が開発されている。例えば図1に示すように、時刻tにおいて、x(t-T),・・・・x(t-1),x(t)の時系列データの入力があったとき、それを元に次の時刻t+1のデータx*(t+1)を予測して出力する学習器などが存在する。
【0003】
時系列予測問題を含めた教師あり学習一般では、学習器が扱える複雑度が高ければ高いほど、複雑な時系列データを正しく学習して予測することができる。しかしながら複雑度の高いものを扱える学習器は、凡化能力が落ちることが知られている(非特許文献1,2)。
【0004】
この問題を解決する方法として、学習対象を複数の事象に分け、分けられた事象のそれぞれを比較的簡単な学習器を用いて学習する方法が考えられている。
【0005】
このように各々の学習器を簡単に保てば、それぞれの凡化性を高く保つことができる。また簡単な学習器を組み合わせて用いれば、複雑なデータに対しても対応することも可能となる。なおここでは、このように学習対象から分割された各事象を学習(または予測)する簡単な学習器を、ローカルモジュールと称し、このような学習器を複数個組み合わせて用いる構成をローカルモジュールアーキテクチャと称する。
【0006】
ローカルモジュールアーキテクチャは特に、非定常なデータや、隠れ変数などの未観測な変数を持つデータに有効である。ローカルモジュールアーキテクチャの代表的な例としては、Mixture of Expert(非特許文献3,4参照)や MOSAIC(非特許文献5,6参照)がある。
【0007】
ところでローカルモジュールアーキテクチャを用いる場合、図2に示すように、ローカルモジュールとしての複数の学習器の出力を混合し、最終的な予測値を出力することが必要となるが、この混合方法としては、一般には、Winner Take AllやSoftMax選択といった手法が用いられる。
【0008】
Winner Take Allは、与えられた評価基準で最大の評価を得た1個の学習器を利用する方法で、各時刻で学習器の選択が行われ、各時刻において利用する学習器が切り換えられる。すなわちシステム全体の出力qWTAは、式(1)に示すように、変数iで特定される所定の学習器iの出力qiとなる。
【0009】
【数1】
【0010】
この学習器iは、式(2)に示すように、式(3)に示す予測誤差eiが最小となる学習器jとなる。
【0011】
【数2】
【0012】
【数3】
【0013】
SoftMax選択では、Winner Take Allのように選択した1個の学習器の出力をシステムの出力とするのではなく、各学習器の出力qiの重み付け線形和でシステム全体の出力が求められる。各学習器の混合係数αiは、その総和が常に1となる条件の下、式(4)で与えられ、システム全体の出力qSoftMaxは、式(5)で求められる。
【0014】
【数4】
【0015】
【数5】
【0016】
ローカルモジュールアーキテクチャの代表的な例としてのMixture of Expertは、各学習器(Expert Network)と同一の入力を持つゲートモジュール(Gating Network)が存在し、それがSoftMax選択により各学習器の混合係数を決定し出力し、その混合係数により各学習器の出力が混合される。
【0017】
他の例としてのMOSAICは、各学習器の混合係数(responsibility)を、各学習器の予測誤差により求めるが、これもSoftMax選択が利用される。
【0018】
【非特許文献1】下平, 伊藤, 久保川, 竹内. モデル選択. 岩波書店, 2004.
【非特許文献2】麻生, 津田, 村田. パターン認識と学習の統計学. 岩波書店, 2003.
【非特許文献3】Robert A. Jacobs and Michael I. Jordan. Adaptive mixtures of local experts. Neural Computation, 3(1):7987, 1991.
【非特許文献4】Michael I. Jordan and Robert A. Jacobs. Hierarchical mixtures of experts and the EM algorithm. Neural Computation, 6(2):181214, March 1994.
【非特許文献5】Wolpert D, Kawato M: Multiple paired forward and inverse models for motor control.Neural Networks,11, 1317-1329 (1998). (c) Elsevier Science Ltd.
【非特許文献6】Haruno M, Wolpert DM, Kawato M (2001) Mosaic model for sensorimotor learning and control. Neural Comput 13: 2201-222
【発明の開示】
【発明が解決しようとする課題】
【0019】
ところで上述したWinner Take Allによる混合方法では、1個の学習器が選択されることから、学習対象から分割された各事象は、1個の学習器によって予測されることが前提となっている。
【0020】
またSoftMax選択による混合方法では、1つの事象に対して複数の学習器が動作するが、混合係数の総和が常に1となることから、複数の混合係数が同時に1となることはなく、実質的に、複数の学習器の予測処理が同時に共同して行われることはない。
【0021】
しかしながら実際には、事象の予測の複雑度により、1個の事象に対して、2個以上の学習器の予測処理が同時に共同して行われる方がよい場合がある。特に、事象の難易度が高ければ高いほどそのような予測が必要とされる。
【0022】
本発明はこのような状況に鑑みてなされたものであり、1個の事象に対して複数の学習器の予測処理が同時に共同して行なわれるようにするものである。
【課題を解決するための手段】
【0023】
本発明の第1の側面の情報処理装置は、時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第1の予測手段と、前記複数の第1の予測手段による予測結果を、所定の混合係数を用いて混合する予測処理を実行する第2の予測手段と、前記第2の予測手段による予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新手段とを備える。
【0024】
本発明の第1の側面の情報処理方法は、時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第1の予測ステップと、前記複数の第1の予測ステップの処理での予測結果を、所定の混合係数を用いて混合する予測処理を実行する第2の予測ステップと、前記第2の予測ステップの処理での予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新ステップとを含む。
【0025】
本発明の第1の側面のプログラムは、時系列データに対する予測処理をコンピュータに実行させるプログラムにおいて、時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第1の予測ステップと、前記複数の第1の予測ステップの処理での予測結果を、所定の混合係数を用いて混合する予測処理を実行する第2の予測ステップと、前記第2の予測ステップの処理での予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新ステップとを含む。
【0026】
本発明の第1の側面の情報処理装置、情報処理方法、またはプログラムにおいては、時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理が複数実行され、その予測結果が、所定の混合係数を用いて混合され、その混合による予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数が更新される。
【0027】
本発明の第2の側面の情報処理装置は、時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理装置において、前記教師データの学習を行う複数の学習手段と、前記複数の学習手段による学習結果を、所定の混合係数を用いて混合する混合手段と、前記混合手段による混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更手段とを備える。
【0028】
本発明の第2の側面の情報処理方法は、時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理方法おいて、前記教師データの学習を行う複数の学習ステップと、前記複数の学習ステップの処理での学習結果を、所定の混合係数を用いて混合する混合ステップと、前記混合ステップの処理での混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更ステップとを含む。
【0029】
本発明の第2の側面のプログラムは、時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理をコンピュータに実行させるプログラムおいて、前記教師データの学習を行う複数の学習ステップと、前記複数の学習ステップの処理での学習結果を、所定の混合係数を用いて混合する混合ステップと、前記混合ステップの処理での混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更ステップとを含む。
【0030】
本発明の第2の側面の情報処理装置、情報処理方法、またはプログラムにおいては、時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う場合において、前記教師データの学習が行われ、その学習の結果が、所定の混合係数を用いて混合され、その混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数が変更される。
【発明の効果】
【0031】
本発明の第1および第2の側面によれば、例えば1個の事象に対して複数の学習器の予測処理が同時に共同して行なわれるようにすることができる。
【発明を実施するための最良の形態】
【0032】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【0033】
本発明の第1の側面の情報処理装置は、
時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第1の予測手段(例えば、図4のRNN21)と、
前記複数の第1の予測手段による予測結果を、所定の混合係数を用いて混合する予測処理を実行する第2の予測手段(例えば、図4の混合部22)と、
前記第2の予測手段による予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新手段(例えば、図4の演算部25)と
を備える。
【0034】
本発明の第1の側面の情報処理方法またはプログラムは、
時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第1の予測ステップ(例えば、図4のRNN21の式(11)の演算)と、
前記複数の第1の予測ステップによる予測結果を、所定の混合係数を用いて混合する予測処理を実行する第2の予測ステップ(例えば、図4の混合部22の式(6)の演算)と、
前記第2の予測ステップによる予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新ステップ(例えば、図4の演算部25の式(8)の演算)と
を含む。
【0035】
本発明の第2の側面の情報処理装置は、
時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理装置において、
前記教師データの学習を行う複数の学習手段(例えば、図6のRNN21)と、
前記複数の学習手段による学習結果を、所定の混合係数を用いて混合する混合手段(例えば、図6の混合部22)と、
前記混合手段による混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更手段(例えば、図6の演算部25)と
を備える。
【0036】
本発明の第2の側面の情報処理方法、またはプログラムは、
時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理方法おいて、または 時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理をコンピュータに実行させるプログラムおいて、
前記教師データの学習を行う複数の学習ステップ(例えば、図6のRNN21の式(11)の演算)と、
前記複数の学習ステップの処理での学習結果を、所定の混合係数を用いて混合する混合ステップ(例えば、図6の混合部22の式(6)の演算)と、
前記混合ステップの処理での混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更ステップ(例えば、図6の演算部25の式(8)の演算)と
を含む。
【0037】
図3は、本発明を適用した情報処理装置1の構成例を示している。この情報処理装置1は、例えばロボットにおける腕等の各部を制御する制御装置として用いられる。
【0038】
信号入力部11は、例えばロボットの腕等に設けられたセンサ(図示せぬ)等により検出された各種の情報を入力し、制御部13に供給する。
【0039】
予測部12は、制御部13から供給された、信号入力部11からの情報を元に、次の事象を予測する予測処理を行うが、予測部12は、ローカルモジュールアーキテクチャで構成され、比較的簡単な複数のローカルモジュールとしての学習器での予測結果を所定の混合係数を用いて混合することで最終的な予測を行う。予測部12は、予測結果を制御部13に供給する。
【0040】
制御部13は、予測部12から供給された予測結果を基づいて、処理部14を制御して、所定の処理を実行させる。
【0041】
処理部14は、制御部13の制御に従って、例えばモータを起動する処理を行う。
【0042】
図4は、予測部12の予測時の構成例を示している。
【0043】
この予測部12には、ローカルモジュールとしての学習器として、N個のリカレント型ニューラルネットワーク(RNN)21−1乃至21−Nが設けられている(以下、個々に区別する必要がない場合、RNN21と称する)。
【0044】
各RNN21は、予めなされた学習結果得られた所定の係数を保持している。各RNN21は、制御部13から供給されたx(t-T),・・・・,x(t-1),x(t)の時系列データを元に、保持している係数を利用して時刻t+1の予測値x*(t+1)を演算し、混合部22に供給する。
【0045】
混合部22は、演算部25により設定される混合係数αを、RNN21毎有しており、式(6)に示すように、RNN21−i(i=1,2,・・・N)から供給された予測値xi*(t+1)に対して、時刻tにおいて保持している混合係数αi(t)を乗算し、その乗算結果の総和を算出する。この算出結果が、予測部12の予測値x**(t+1)として制御部13に供給される。
【0046】
【数6】
【0047】
混合部22から出力された予測値x**(t+1)は、遅延部23にも供給される。
【0048】
遅延部23は、混合部22から出力された予測値x**(t+1)を1単位時間分遅延して減算器24に供給する。減算器24には、制御部13から、RNN21にも供給されている時系列データが入力されるので、減算器24は、混合部22から出力された1単位時間分遅延された予測値x**(t+1)と、制御部13からの入力x(t+1)との差分を算出し、演算部25に供給する。
【0049】
演算部25は、式(7)に示すように、減算器24から供給された差分を1/2にして時刻t+1での予測誤差e(t+1)を求めるとともに、式(8)に示すように、勾配法を用いて、予測誤差e(t+1)が減少する方向に各RNN21の混合係数α(t+1)を求める。演算部25は、算出した各RNN21の混合係数α(t+1)を、混合部22にいま保持されている混合係数α(t)に変えて設定して、更新する。
【0050】
【数7】
【0051】
【数8】
【0052】
式(8)中、ηは、学習係数であり、式(9)の値は、式(6)および式(7)より、式(10)に示すように求められる。
【0053】
【数9】
【0054】
【数10】
【0055】
すなわち本発明によれば、学習器としてのRNN21での予測結果を混合するための混合係数αを、勾配法を利用して最終的な予測の予測誤差が減少する方向に更新するようにしたので、例えばSoftmaxのように混合係数αの総和が1となるような制限なく混合係数αを設定することができ、1つの事象に対して複数の学習器の予測処理が同時に共同して行なわれるようにすることができる。
【0056】
次にRNN21について説明する。RNN21は、例えば図5に示す構成を有している。
【0057】
RNN21は、入力層41、中間層42、および出力層43により構成されている。入力層41の各ニューロンには、制御部13から供給された、各種のセンサの状態に対応する信号(以下、単にセンサとも称する)x(t)が入力される。入力層41に入力されたデータは、所定の数のニューロンからなる中間層42を介して、所定の数のニューロンからなる出力層43から、センサx*(t+1)として出力される。なおセンサx(t)およびセンサx* (t+1)は、複数の要素からなるベクトルである。
【0058】
各ニューロンは、所定の学習を行うことにより、所定の結合重みを記憶しており、入力に対して結合重みを乗算して、他のニューロンに出力する。また出力層43の所定のニューロンの出力の一部としてのコンテキストc(t+1)は、入力層41のニューロンにフィードバックされる。
【0059】
すなわちRNN21は、現在の時刻(ステップ)tでのセンサx(t)に対して、式(11)を演算して、次の時刻(ステップ)t+1におけるセンサx*(t+1)を出力する。式(11)中、W1、W2は、学習によって得られた結合重みであり、fはシグモイド関数などの非線形写像である。
【0060】
【数11】
【0061】
RNN21は、行動学習を行うことにより、現在時刻と次の時刻の関係を結合重みを序所に変えることによって記憶する。すなわち、現時点におけるセンサx(t)の入力に対して次の時刻においては、どのようなセンサx* (t+1)が得られるかを予測できるように学習する。
【0062】
なおRNN21は、内部にコンテキストc(t)が存在するため、過去の履歴に応じてセンサx*(t+1)は異なるようになるが、本発明では、コンテキストの次元数を0にした特殊な場合(通常のフィードフォワードネットワーク)を、学習器として用いることもできる。また教師あり学習を行う学習器であれば、ニューラルネットワークによらず他のものを利用することができる。
【0063】
図6は、予測部12の学習時の構成例を示している。
【0064】
各RNN21には、予測部12に供給された教師データがそれぞれ供給される。
【0065】
各RNN21は、入力された時刻tの教師データ(以下、教師入力x(t)とも称する)に対して式(11)を演算して、予測値x*(t+1)を算出し、混合部22に供給する。
【0066】
混合部22は、混合係数αの初期値または演習部25により更新された、各RNN21用の混合係数αと各RNN21から供給されたx*(t+1)を用いて、式(6)を演算して、予測値x**(t+1)を算出し、遅延部23に供給する。
【0067】
遅延部23は、混合部22から供給された予測値x**(t+1)を1単位時間分遅延し、減算部24に供給する。
【0068】
減算部24には、各RNN21にも供給された教師データが供給されるので、減算部24は、予測値x**(t+1)と教師入力(t+1)との差分を算出し、演算部25および各RNN21に供給する。
【0069】
演算部25は、式(7)および式(8)を演算して、勾配法を用いた予測誤差e(t+1)が減少する方向の各RNN21の混合係数α(t+1)を算出し、混合部22に設定する。
【0070】
各RNN21は、減算器24から供給された予測値x**(t+1)と教師入力(t+1)との差分に基づいて結合重みを算出して更新する。
【0071】
上述した処理が学習が終了するまで繰り返し行われる。
【0072】
ここでRNN21での結合重みの算出方法(更新方法)について説明する。この結合重みの更新は、勾配法による学習であるバックプロバゲーションにより行われる。
【0073】
なおここでは、式(11)の結合重みW2を、式(12)に示すように2つの行列に分解し、式(11)を式(13)に示すように分解して用いる。
【0074】
【数12】
【0075】
【数13】
【0076】
また教師データ{x(t)|t=0,・・・T-1}が与えられ、学習率λには、任意の実数が設定される。
【0077】
はじめに、式(13)に示す各パラメータが、式(14)に示すように初期化される。
【0078】
【数14】
【0079】
そして時刻tが0乃至T-1までの順伝播で式(15)に示す処理が繰り返される。
【0080】
【数15】
【0081】
次に、時刻tが時刻T-1乃至1までの降順で式(16)の処理が繰り返される。
【0082】
【数16】
【0083】
そしてその後、式(17)に示すように結合重みW1,W2x,W2cが更新される。結合重みW2は、この結合重みW2xとW2cから式(12)により求められる。
【0084】
【数17】
【0085】
以上のようにして結合重みが更新される。なお式(16)のδx(t)の式を、式(18)に示すようにすると、ローカルモジュールアーキテクチャではない1個のRNN21のバックプロバゲーションとなる。
【0086】
【数18】
【0087】
上述した予測処理および学習処理の具体例を、図7に示す。
【0088】
この例の場合、予測部12には、5個のRNN21が設けられ、各RNN21において、図7Aに示す5個の信号(例えば、ロボットがボールを転がす動作を行うときのセンサ入力、ベルを鳴らす動作を行うときのセンサ入力等)を教師データとする学習がそれぞれ行われ、その学習結果として、RNN21には、所定の結合重みWが設定され、混合部22には、所定の混合係数αが設定されているものとする。
【0089】
このように図7Aに示す教師データで学習させた予測部12に、教師データと同じデータを入力させた場合、混合部22の各RNN21の混合係数αは、図7Bに示すように、予測誤差が減少する方向に変化し、その結果図7Cに示すような入力信号に対応する予測信号が出力される。なお図7Bは、5個のRNN21−1乃至21−5に対応する混合係数α1、α2、α3、α4、およびα5の大きさの変化を、グレースケール諧調であらわしており、白色が1を示し、色が濃くなるほど小さい値を示し、黒色が0を示している。
【0090】
図7の最上段の例では、図7Bに示すように、例えば混合係数α3とα5が共に1となっておりRNN21−3とRNN21−5による予測処理が同時に共同して行われている。
【0091】
このように学習器としてのRNN21での予測結果を混合するための混合係数αを、勾配法を利用して最終的な予測誤差が減少する方向に更新するようにしたので、例えば複数の混合係数αを1とし、1つの入力に対して複数の学習器の予測処理を同時に共同して行われるようにすることができる。
【0092】
またこのことより、事象の数をP個とし、学習器の数をQ個としたとき、従来のWinner Take AllまたはSoftMax選択による混合方法では、P≦Qとなるが、本発明によれば、P≦2Qまで学習器の数を少なくすることができる。これは、事象の数Pが大きければ大きいほどこの差が大きくなる。
【0093】
なお以上においては、式(8)を用いて混合係数αを更新したが、脳モデルで利用されるSparse Codingを利用して式(8)を式(19)のように展開し、その式(19)を用いて混合係数αを更新することもできる。式(19)中、εは小さい値の定数である。
【0094】
【数19】
【0095】
式(19)を用いて混合係数αを更新する場合において、図7Aと同様の図8Aに示す信号を教師データとして学習した予測部12のRNN21に、教師データと同じデータを入力させたとき、混合部22の各RNN21の混合係数αは、図8Bに示すように、予測誤差が減少する方向に変化し、その結果図8Cに示すような予測信号が出力される。この場合、図7の例の場合と比較べ、図8Bに示すように、混合係数αが黒色で表されている部分が多い、すなわち混合係数αが0となっているRNN21が多いので、個々のタスクにおいて、利用されるRNN21の数を少なくすることができる。
【0096】
またWinner Take Allを利用して、誤差の少ない1つのRNN21の混合係数αが高い値になるようにして、他のRNN21の影響が抑制されるようにするため、式(8)を式(20)のように展開し、その式(20)を用いて混合係数αを更新することもできる。式(20)中、υは小さな値の定数である。
【0097】
【数20】
【0098】
式(20)を用いて混合係数αを更新する場合において、図7Aと同様の図9Aに示す信号を教師データとして学習した予測部12のRNN21に、教師データと同じ信号を入力させるとき、混合部22の各RNN21の混合係数αは、図9Bに示すように、予測誤差が減少する方向に変化し、その結果図9Cに示すような予測信号が出力される。この場合、図9Bから、上から第2段目と第3段目の2個の入力信号に対して、1個のRNN21−2での予測結果が予測部12の予測とされていることがわかる。
【0099】
また式(8)に代えて、式(21)に示すような幅Lの誤差を考慮する更新則も考えられる。式(21)によれば、短い時間間隔Lでのノイズ的な予測誤差に影響されずに、安定した混合係数αを求めることが可能となる。
【0100】
【数21】
【0101】
式(19)乃至式(21)を利用した例のように、更新則(式(8))に制限を加えることで、Sparse CodingやWinner Take Allなどの混合器を容易に構成することができる。
【0102】
また以上においてRNN21は、式(11)によって定式化され、そのRNN21の出力が式(6)に示すように混合されたが、式(6)および式(11)から式(22)を導き、その式(22)で定式化されるRNN21を利用することもできる。この例は、RNN21の中に混合係数αが埋め込まれていると見ることができる。この場合、式(8)で混合係数αを更新することができるが、式(8)中の式(9)の値は、式(23)により求められる。式(23)中、o(t)は、式(24)に示す値である。
【0103】
【数22】
【0104】
【数23】
【0105】
【数24】
【0106】
このように、混合係数αは決められた形態以外にも、学習器の特性に合わせて変化させることが可能である。
【0107】
また以上においては、学習時において、混合係数αが適宜更新されるものとしたが、ユーザが混合係数αを所定の値に固定することもできる。
【0108】
例えば3個のRNN21−1乃至21−3が設けられ、図10Aに示す最上段の教師データを学習するとき、RNN21−1の混合係数α1を1とし、他のRNN21−2および21−3の混合係数α2とα3を0として学習させ、図10Aに示す中段の教師データを学習するとき、RNN21−2の混合係数α2を1とし、他のRNN21−1および21−3の混合係数α1とα3を0として学習させ、そして図10Aに示す最下段の教師データを学習するとき、RNN21−3の混合係数α3を1とし、他のRNN21−1および21−2の混合係数α1とα2を0として学習させ、そしてこの教師データと同じデータをそれぞれ入力させた場合、混合部22の各RNN21の混合係数αは、図10Bに示すようになり、その結果図10Cに示すような予測信号が出力される。
【0109】
またこのような学習が行われた場合において、図11Aに示す3個のデータをそれぞれ入力させた場合、混合部22の各RNN21の混合係数αは、図11Bに示すように更新され、その結果図11Cに示すような予測信号が出力される。
【0110】
すなわち、例えば図11Aの最上段の信号が入力されるとき、時間T1には、図10Aの最上段の教師データと同じデータの一部が入力されるので、図11Bの最上段に示すように、時間T1において、α1は1となり、α2とα3は、0となる。また時間T2には、図10Aの中段の教師データと同じデータの一部が入力されるので、図11Bの最上段に示すように、時間T2において、α2が1となり、α1とα3が0となるように混合係数αが変更される。
【0111】
なお図11Bの最上段の時間T11の部分から、このように混合係数αが変更される際、入力信号が切り替わってから混合係数αが揺れはじめ、時間T11かけて、α2が1に、α1とα3が0に落ち着いていることがわかる
【0112】
また時間T3には、図10Aの最下段の教師データと同じデータの一部が入力されるので、図11Bの最上段に示すように、時間T3においてはα3が1となり、α1とα2が0となるように混合係数αが変更される。
【0113】
なお11Bの最上段の時間T12の部分から、このように混合係数が変更される際、入力信号が切り替わってから各混合係数αが揺れはじめ、時間T12かけて、α3が1に、α1とα2が0に落ち着いていることがわかる。
【0114】
上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0115】
そこで、図12は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【0116】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク205やROM203に予め記録しておくことができる。
【0117】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体211に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体211は、いわゆるパッケージソフトウエアとして提供することができる。
【0118】
なお、プログラムは、上述したようなリムーバブル記録媒体211からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部208で受信し、内蔵するハードディスク205にインストールすることができる。
【0119】
コンピュータは、CPU(Central Processing Unit)202を内蔵している。CPU202には、バス201を介して、入出力インタフェース210が接続されており、CPU202は、入出力インタフェース210を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部207が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)203に格納されているプログラムを実行する。あるいは、また、CPU202は、ハードディスク205に格納されているプログラム、衛星若しくはネットワークから転送され、通信部208で受信されてハードディスク205にインストールされたプログラム、またはドライブ209に装着されたリムーバブル記録媒体211から読み出されてハードディスク205にインストールされたプログラムを、RAM(Random Access Memory)204にロードして実行する。これにより、CPU202は、上述したブロック図の構成により行われる処理を行う。そして、CPU202は、その処理結果を、必要に応じて、例えば、入出力インタフェース210を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部206から出力、あるいは、通信部208から送信、さらには、ハードディスク205に記録等させる。
【0120】
ここで、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0121】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【0122】
【図1】従来の教師あり学習を説明する図である。
【図2】従来のローカルモジュールアーキテクチャを説明する図である。
【図3】本発明を適用した情報処理装置1の構成例を示すブロック図である。
【図4】図3の予測部12の構成例を示すブロック図である。
【図5】図4のRNN21の予測時の構成例を示すブロック図である。
【図6】図4のRNN21の学習時の構成例を示すブロック図である。
【図7】RNN21の混合係数の変化の例を示す図である。
【図8】RNN21の混合係数の変化の他の例を示す図である。
【図9】RNN21の混合係数の変化の他の例を示す図である。
【図10】RNN21の混合係数の変化の他の例を示す図である。
【図11】RNN21の混合係数の変化の他の例を示す図である。
【図12】パーソナルコンピュータの構成例を示す図である。
【符号の説明】
【0123】
1 情報処理装置, 11 信号入力部, 12 予測部, 13 制御部, 14 処理部, 21 RNN, 22 混合部22 遅延部, 24 減算器, 25 演算部
【特許請求の範囲】
【請求項1】
時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第1の予測手段と、
前記複数の第1の予測手段による予測結果を、所定の混合係数を用いて混合する予測処理を実行する第2の予測手段と、
前記第2の予測手段による予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新手段と
を備える情報処理装置。
【請求項2】
時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第1の予測ステップと、
前記複数の第1の予測ステップの処理での予測結果を、所定の混合係数を用いて混合する予測処理を実行する第2の予測ステップと、
前記第2の予測ステップの処理での予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新ステップと
を含む情報処理方法。
【請求項3】
時系列データに対する予測処理をコンピュータに実行させるプログラムにおいて、
時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第1の予測ステップと、
前記複数の第1の予測ステップの処理での予測結果を、所定の混合係数を用いて混合する予測処理を実行する第2の予測ステップと、
前記第2の予測ステップの処理での予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新ステップと
を含むプログラム。
【請求項4】
時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理装置において、
前記教師データの学習を行う複数の学習手段と、
前記複数の学習手段による学習結果を、所定の混合係数を用いて混合する混合手段と、
前記混合手段による混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更手段と
を備える情報処理装置。
【請求項5】
時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理方法おいて、
前記教師データの学習を行う複数の学習ステップと、
前記複数の学習ステップの処理での学習結果を、所定の混合係数を用いて混合する混合ステップと、
前記混合ステップの処理での混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更ステップと
を含む情報処理方法。
【請求項6】
時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理をコンピュータに実行させるプログラムおいて、
前記教師データの学習を行う複数の学習ステップと、
前記複数の学習ステップの処理での学習結果を、所定の混合係数を用いて混合する混合ステップと、
前記混合ステップの処理での混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更ステップと
を含むプログラム。
【請求項1】
時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第1の予測手段と、
前記複数の第1の予測手段による予測結果を、所定の混合係数を用いて混合する予測処理を実行する第2の予測手段と、
前記第2の予測手段による予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新手段と
を備える情報処理装置。
【請求項2】
時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第1の予測ステップと、
前記複数の第1の予測ステップの処理での予測結果を、所定の混合係数を用いて混合する予測処理を実行する第2の予測ステップと、
前記第2の予測ステップの処理での予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新ステップと
を含む情報処理方法。
【請求項3】
時系列データに対する予測処理をコンピュータに実行させるプログラムにおいて、
時系列データに対して、予めなされた教師データによる学習結果に基づく予測処理を実行する複数の第1の予測ステップと、
前記複数の第1の予測ステップの処理での予測結果を、所定の混合係数を用いて混合する予測処理を実行する第2の予測ステップと、
前記第2の予測ステップの処理での予測結果の予測誤差が小さくなるように、勾配法を用いて前記混合係数を更新する更新ステップと
を含むプログラム。
【請求項4】
時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理装置において、
前記教師データの学習を行う複数の学習手段と、
前記複数の学習手段による学習結果を、所定の混合係数を用いて混合する混合手段と、
前記混合手段による混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更手段と
を備える情報処理装置。
【請求項5】
時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理方法おいて、
前記教師データの学習を行う複数の学習ステップと、
前記複数の学習ステップの処理での学習結果を、所定の混合係数を用いて混合する混合ステップと、
前記混合ステップの処理での混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更ステップと
を含む情報処理方法。
【請求項6】
時系列データに対して、予めなされた教師データによる学習の結果に基づく予測処理を実行し、その予測結果を、所定の混合係数を用いて混合する予測処理を実行する情報処理を行うのに用いられる前記混合係数の決定を行う情報処理をコンピュータに実行させるプログラムおいて、
前記教師データの学習を行う複数の学習ステップと、
前記複数の学習ステップの処理での学習結果を、所定の混合係数を用いて混合する混合ステップと、
前記混合ステップの処理での混合結果と前記教師データとの誤差が小さくなるように、勾配法を用いて前記混合係数を変更する変更ステップと
を含むプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2007−280031(P2007−280031A)
【公開日】平成19年10月25日(2007.10.25)
【国際特許分類】
【出願番号】特願2006−105390(P2006−105390)
【出願日】平成18年4月6日(2006.4.6)
【出願人】(000002185)ソニー株式会社 (34,172)
【公開日】平成19年10月25日(2007.10.25)
【国際特許分類】
【出願日】平成18年4月6日(2006.4.6)
【出願人】(000002185)ソニー株式会社 (34,172)
[ Back to top ]