(57)【要約】【課題】時系列パターンの追加学習を、再学習なしに行う。【解決手段】  時系列パターンを学習するパターン学習モデルの学習を行う複数の学習モジュールを有する複数の学習手段としての時系列シーケンス学習部１１及び１３が階層構造を構成するように接続されている。上位階層の時系列シーケンス学習部１３が有する学習モジュールは、その上位階層の時系列シーケンス学習部１３の下位階層の時系列シーケンス学習部１１が有するパターン学習モデルを定義するモデルパラメータの系列を用いて、パターン学習モデルの学習を行う。【選択図】図１
2010282556.tif 000002
【特許請求の範囲】
【請求項１】
時系列パターンを学習するパターン学習モデルの学習を行う複数の学習モジュールを有する複数の学習手段が階層構造を構成するように接続されており、
上位階層の前記学習手段が有する前記学習モジュールは、その上位階層の前記学習手段の下位階層の前記学習手段が有する前記パターン学習モデルを定義するモデルパラメータの系列を用いて、前記パターン学習モデルの学習を行う
情報処理装置。
【請求項２】
前記学習手段は、
時系列データから、所定のウインドウ長のウインドウ内のデータを、前記パターン学習モデルの学習用のモデル学習用データとして抽出するデータ抽出手段と、
前記複数の学習モジュールのうちの２以上の学習モジュールに、前記モデルパラメータを共有させるモデルパラメータ共有手段と
を、さらに有し、
前記学習モジュールは、前記モデル学習用データを用い、前記パターン学習モデルを定義するモデルパラメータを更新する更新学習を行い、
前記データ抽出手段は、前記ウインドウの位置をずらすことで、前記時系列データから、複数の前記モデル学習用データを抽出し、１の前記モデル学習用データを、１の前記パターン学習モデルに割り当てるように、前記モデル学習用データを前記学習モジュールに分配する
請求項１に記載の情報処理装置。
【請求項３】
上位階層の前記学習手段が有する前記学習モジュールは、その上位階層の前記学習手段の下位階層の前記学習手段が有する前記複数の学習モジュールのすべての前記パターン学習モデルのモデルパラメータの系列を用いて、前記パターン学習モデルの学習を行う
請求項２に記載の情報処理装置。
【請求項４】
時系列パターンを学習するパターン学習モデルの学習を行う複数の学習モジュールを有する複数の学習手段が階層構造を構成するように接続されており、
上位階層の前記学習手段が有する前記学習モジュールが、その上位階層の前記学習手段の下位階層の前記学習手段が有する前記パターン学習モデルを定義するモデルパラメータの系列を用いて、前記パターン学習モデルの学習を行うステップを含む
情報処理方法。
【請求項５】
時系列パターンを学習するパターン学習モデルの学習を行う複数の学習モジュールを有する複数の学習手段として、コンピュータを機能させるためのプログラムであり、
前記複数の学習手段は、階層構造を構成するように接続されており、
上位階層の前記学習手段が有する前記学習モジュールは、その上位階層の前記学習手段の下位階層の前記学習手段が有する前記パターン学習モデルを定義するモデルパラメータの系列を用いて、前記パターン学習モデルの学習を行う
プログラム。
【請求項６】
時系列パターンを学習するパターン学習モデルを用いて、時系列データを予測する複数の予測モジュールを有する複数の予測手段が階層構造を構成するように接続されており、
上位階層の前記予測手段が有する前記予測モジュールは、その上位階層の前記予測手段の下位階層の前記予測手段が有する前記パターン学習モデルを定義するモデルパラメータの系列を用いて、前記モデルパラメータを予測する
情報処理装置。
【請求項７】
下位階層の前記予測手段は、
前記複数の予測モジュールのうちの、前記パターン学習モデルを用いて予測した時系列データの予測値の予測誤差が最小の予測値が得られる予測モジュールを、時系列データの予測を担当する担当モジュールに決定する担当モジュール決定手段と、
前記担当モジュールの前記パターン学習モデルのモデルパラメータを、外部に出力するモデルパラメータ出力手段と
を、さらに有する
請求項６に記載の情報処理装置。
【請求項８】
時系列パターンを学習するパターン学習モデルを用いて、時系列データを予測する複数の予測モジュールを有する複数の予測手段が階層構造を構成するように接続されており、
上位階層の前記予測手段が有する前記予測モジュールが、その上位階層の前記予測手段の下位階層の前記予測手段が有する前記パターン学習モデルを定義するモデルパラメータの系列を用いて、前記モデルパラメータを予測するステップを含む
情報処理方法。
【請求項９】
時系列パターンを学習するパターン学習モデルを用いて、時系列データを予測する複数の予測モジュールを有する複数の予測手段として、コンピュータを機能させるためのプログラムであり、
前記複数の予測手段は、階層構造を構成するように接続されており、
上位階層の前記予測手段が有する前記予測モジュールは、その上位階層の前記予測手段の下位階層の前記予測手段が有する前記パターン学習モデルを定義するモデルパラメータの系列を用いて、前記モデルパラメータを予測する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及び、プログラムに関し、特に、例えば、時系列パターンの追加学習を、容易に行うことができるようにする情報処理装置、情報処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
時系列パターンを学習するパターン学習モデルとしては、例えば、RNN(Recurrent Neural Network)等のNN(Neural Network)や、HMM(Hidden Marcov Model)等の状態遷移確率モデル等がある。
【０００３】
また、新たな時系列パターンの学習を行う規模拡張性に優れた学習方法として、パターン学習モデルをモジュール化した学習モジュールを複数用意し、複数の学習モジュールのそれぞれにおいて、個別の時系列パターンを学習するモジュール型学習がある。
【０００４】
モジュール型学習では、複数の学習モジュールの１つ１つが、１つの時系列パターンを学習し、これにより、１つの学習モジュールにおいて、１つのパターンが記憶（獲得）される。
【０００５】
モジュール型学習においては、ある学習モジュールと、他の学習モジュールとの間で、時系列パターンの記憶の干渉がなく、時系列パターンの記憶の安定性が高い。そして、モジュール型学習は、学習モジュールを追加することにより、新たな時系列パターンを学習する追加学習を、容易に行うことができるという規模拡張性に優れる。
【０００６】
モジュール型学習を利用した技術として、複数の学習モジュールを、階層構造を構成するように接続し、時系列パターンの階層的な記憶（階層記憶）を実現する階層化技術がある。
【０００７】
階層化技術では、下位階層の複数の学習モジュールそれぞれにおいて、学習後のパターン学習モデルと、時系列データとを用いた予測（時系列データの予測、又は、時系列データが属するカテゴリ（パターン学習モデル）の予測（認識））が行われることにより、予測の尤度を表すスコアが、例えば、各時刻において求められる。
【０００８】
すなわち、パターン学習モデルが、例えば、RNNである場合には、学習モジュールでは、RNNを用いて、時系列データの予測値が求められ、その予測値の予測誤差（に反比例するような値）が、スコアとして求められる。また、パターン学習モデルが、例えば、HMMである場合には、学習モジュールでは、時系列データがHMMから観測される確率が、スコアとして求められる。
【０００９】
そして、下位階層の複数の学習モジュールのパターン学習モデルのうちの、最も良いスコアが得られるパターン学習モデルを識別するモデルID(Identification)に対応するコンポーネントだけが1で、他のモデルIDに対応するコンポーネントが0のベクトル（モデルIDベクトル）の系列や、複数の学習モジュールそれぞれで得られたスコアに対応する値をコンポーネントとするベクトル（重み付けベクトル）の系列が、上位階層の学習モジュールに対して、入力として与えられる（例えば、特許文献１を参照）。
【００１０】
上位階層の学習モジュールでは、下位階層からの入力を用いて、下位階層の学習モジュールと同様の処理が行われる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開平11-126198号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
階層化技術において、新たな時系列パターンを学習するために、下位階層の学習モジュールを追加する場合、上位階層の学習モジュールに対する入力の次元を変更する必要があることがある。
【００１３】
すなわち、例えば、上述のモデルIDベクトルや、重み付けベクトルは、下位階層の学習モジュールの数に等しい次元のベクトルとなる。
【００１４】
したがって、モデルIDベクトルや、重み付けベクトルを、上位階層の学習モジュールに対する入力とする場合において、下位階層に学習モジュールを追加すると、上位階層の学習モジュールに対する入力となるベクトル（モデルIDベクトル、重み付けベクトル）の次元が変更される。
【００１５】
そして、上位階層の学習モジュールに対する入力となるベクトルの次元が変更されると、上位階層の学習モジュールのパターン学習モデルは、変更後の次元のベクトルを用いて、学習し直す必要がある。
【００１６】
さらに、上位階層の学習モジュールに対して入力として与える、変更後の次元のベクトルを求めるために、下位階層の学習モジュールでも、学習をし直す必要がある。
【００１７】
ここで、モデルIDベクトルを、上位階層の学習モジュールに対する入力とする場合には、上位階層の学習モジュールでは、下位階層の各学習モジュール（のパターン学習モデル）が獲得した時系列パターンどうしの距離構造を反映した学習を行うことが困難である。
【００１８】
すなわち、モデルIDは、下位階層の各学習モジュールが時系列パターンの学習に用いた時系列データの空間（入力空間）の距離構造、ひいては、各学習モジュールが獲得した時系列パターンどうしの距離構造とは無関係である。このため、そのようなモデルＩＤをコンポーネントとするモデルIDベクトルを、上位階層の学習モジュールに対する入力とする場合には、上位階層の学習モジュールの学習において、下位階層の各学習モジュールが獲得した時系列パターンどうしの距離構造は考慮されない（考慮することができない）。したがって、上位階層の学習モジュールのパターン学習モデルには、下位階層の各学習モジュールが獲得した時系列パターンどうしの距離構造は反映されない。
【００１９】
本発明は、このような状況に鑑みてなされたものであり、時系列パターンの追加学習を、学習をし直すことなく（再学習なしに）、容易に行うことができるようにするものである。
【課題を解決するための手段】
【００２０】
本発明の第１の側面の情報処理装置、又は、プログラムは、時系列パターンを学習するパターン学習モデルの学習を行う複数の学習モジュールを有する複数の学習手段が階層構造を構成するように接続されており、上位階層の前記学習手段が有する前記学習モジュールは、その上位階層の前記学習手段の下位階層の前記学習手段が有する前記パターン学習モデルを定義するモデルパラメータの系列を用いて、前記パターン学習モデルの学習を行う情報処理装置、又は、情報処理装置として、コンピュータを機能させるためのプログラムである。
【００２１】
本発明の第１の側面の情報処理方法は、時系列パターンを学習するパターン学習モデルの学習を行う複数の学習モジュールを有する複数の学習手段が階層構造を構成するように接続されており、上位階層の前記学習手段が有する前記学習モジュールが、その上位階層の前記学習手段の下位階層の前記学習手段が有する前記パターン学習モデルを定義するモデルパラメータの系列を用いて、前記パターン学習モデルの学習を行うステップを含む情報処理方法である。
【００２２】
以上のような第１の側面においては、時系列パターンを学習するパターン学習モデルの学習を行う複数の学習モジュールを有する複数の学習手段が、階層構造を構成するように接続されており、上位階層の前記学習手段が有する前記学習モジュールは、その上位階層の前記学習手段の下位階層の前記学習手段が有する前記パターン学習モデルを定義するモデルパラメータの系列を用いて、前記パターン学習モデルの学習を行う。
【００２３】
本発明の第２の側面の情報処理装置、又は、プログラムは、時系列パターンを学習するパターン学習モデルを用いて、時系列データを予測する複数の予測モジュールを有する複数の予測手段が階層構造を構成するように接続されており、上位階層の前記予測手段が有する前記予測モジュールは、その上位階層の前記予測手段の下位階層の前記予測手段が有する前記パターン学習モデルを定義するモデルパラメータの系列を用いて、前記モデルパラメータを予測する情報処理装置、又は、情報処理装置として、コンピュータを機能させるためのプログラムである。
【００２４】
本発明の第２の側面の情報処理方法は、時系列パターンを学習するパターン学習モデルを用いて、時系列データを予測する複数の予測モジュールを有する複数の予測手段が階層構造を構成するように接続されており、上位階層の前記予測手段が有する前記予測モジュールが、その上位階層の前記予測手段の下位階層の前記予測手段が有する前記パターン学習モデルを定義するモデルパラメータの系列を用いて、前記モデルパラメータを予測するステップを含む情報処理方法である。
【００２５】
以上のような第２の側面においては、時系列パターンを学習するパターン学習モデルを用いて、時系列データを予測する複数の予測モジュールを有する複数の予測手段が、階層構造を構成するように接続されており、上位階層の前記予測手段が有する前記予測モジュールは、その上位階層の前記予測手段の下位階層の前記予測手段が有する前記パターン学習モデルを定義するモデルパラメータの系列を用いて、前記モデルパラメータを予測する。
【００２６】
なお、情報処理装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。
【００２７】
また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
【発明の効果】
【００２８】
本発明の第１及び第２の側面によれば、時系列パターンの追加学習を、容易に行うことができる。
【図面の簡単な説明】
【００２９】
【図１】本発明を適用した学習装置の一実施の形態の構成例を示すブロック図である。
【図２】学習装置の処理を説明するフローチャートである。
【図３】時系列シーケンス学習部１１の第１の構成例を示すブロック図である。
【図４】時系列シーケンス学習部１３の第１の構成例を示すブロック図である。
【図５】学習処理を説明するフローチャートである。
【図６】時系列シーケンス学習部１１の第２の構成例を示すブロック図である。
【図７】時系列シーケンス学習部１３の第２の構成例を示すブロック図である。
【図８】モデル学習用データを抽出するときの、ウインドウのずらし方を説明する図である。
【図９】学習処理を説明するフローチャートである。
【図１０】パターン学習モデルとして、RNNを採用した場合の、時系列シーケンス学習部１１の構成例を示す図である。
【図１１】時系列シーケンス学習部１１及び１３で行われる分節学習を説明する図である。
【図１２】時系列シーケンス学習部１１及び１３で行われる追加学習を説明する図である。
【図１３】本発明を適用した学習装置の他の一実施の形態の構成例を示すブロック図である。
【図１４】学習装置の処理を説明するフローチャートである。
【図１５】本発明を適用した予測装置の一実施の形態の構成例を示すブロック図である。
【図１６】予測装置の処理を説明するフローチャートである。
【図１７】時系列シーケンス予測部２０１の構成例を示すブロック図である。
【図１８】時系列シーケンス予測部２０３の構成例を示すブロック図である。
【図１９】予測処理を説明するフローチャートである。
【図２０】本発明を適用した予測装置の他の一実施の形態の構成例を示すブロック図である。
【図２１】予測装置の処理を説明するフローチャートである。
【図２２】移動ロボットが移動する移動環境の概要を説明する図である。
【図２３】シミュレーションで採用した移動環境を示す平面図である。
【図２４】移動ロボットの、移動環境の移動の軌跡を示す図である。
【図２５】最下位階層の100個のRNNを、そのRNNのウエイトマトリクスを用い、k-means法によってクラスタリングした結果を示す図である。
【図２６】最下位階層のRNN、及び、最上位階層のRNNそれぞれの、勝者のRNNが学習した、移動環境中の軌跡を示す図である。
【図２７】最下位階層のRNN、及び、最上位階層のRNNそれぞれの、勝者のRNNが学習した、移動環境中の軌跡を示す図である。
【図２８】最下位階層のRNN、及び、最上位階層のRNNそれぞれの、勝者のRNNが学習した、移動環境中の軌跡を示す図である。
【図２９】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【００３０】
［学習装置の一実施の形態］
【００３１】
図１は、本発明の情報処理装置を適用した学習装置の一実施の形態の構成例を示すブロック図である。
【００３２】
図１において、学習装置は、時系列シーケンス学習部１１、モデルパラメータシーケンス生成部１２、及び、時系列シーケンス学習部１３から構成される。
【００３３】
図１の学習装置では、時系列パターンを学習するパターン学習モデルの学習を行う複数の学習モジュールを有する複数の学習手段としての２つの時系列シーケンス学習部１１及び１３が、２階層の階層構造を構成するように接続されている。
【００３４】
すなわち、図１では、最下位階層である第１階層の時系列シーケンス学習部１１と、最上位階層である第２階層の時系列シーケンス学習部１３とが、上位階層と下位階層との間のインタフェースとなるモデルパラメータシーケンス生成部１２を介して接続されている。
【００３５】
最下位階層である第１階層の時系列シーケンス学習部１１には、外部から、図１の学習装置での学習に用いられる時系列データが供給される。
【００３６】
時系列シーケンス学習部１１は、パターン学習モデルの学習を行う複数の学習モジュールを有し、学習モジュールは、外部からの時系列データを用いて、パターン学習モデルの学習を行う。
【００３７】
すなわち、時系列シーケンス学習部１１が有する学習モジュールは、外部からの時系列データを用いて、パターン学習モデルを定義するモデルパラメータを更新する更新学習を行い、そのモデルパラメータを、モデルパラメータシーケンス生成部１２に供給する。
【００３８】
ここで、外部から、最下位階層の時系列シーケンス学習部１１に与える時系列データとしては、例えば、ロボットに所定のアクションを行わせるために、各種のアクチュエータに与えるアクションデータや、ロボットが内蔵する各種のセンサが出力するセンサデータをコンポーネントとするベクトルを採用することができる。
【００３９】
また、外部から、最下位階層の時系列シーケンス学習部１１に与える時系列データとしては、例えば、テレビジョン放送その他の番組等のコンテンツを構成する画像や音声のAV(Audio Visual)データ（の各種の特徴量をコンポーネントとするベクトル）を採用することができる。
【００４０】
外部からの時系列データとして、アクションデータやセンサデータをコンポーネントとするベクトルを採用する場合には、学習後のパターン学習モデルを用いて、次の時刻のアクションデータやセンサデータを予測し、そのアクションデータの予測値をロボットに与えて、ロボットに、自律的なアクション（行動）を行わせることが可能となる。
【００４１】
また、外部からの時系列データとして、コンテンツのAVデータを採用する場合には、学習後のパターン学習モデルを用いて、コンテンツ（の全体、又は、部分ごと）のクラスタリング等を行うことが可能となる。
【００４２】
モデルパラメータシーケンス生成部１２は、最下位階層である第１階層の時系列シーケンス学習部１１から供給されるモデルパラメータから、上位階層である第２階層に時系列データとして与えるモデルパラメータの系列（時系列シーケンス学習部１１のリソースダイナミクス）を生成し、第２階層の時系列シーケンス学習部１３に供給する。
【００４３】
すなわち、モデルパラメータシーケンス生成部１２は、時系列シーケンス学習部１１から供給されるモデルパラメータを一時記憶する。そして、モデルパラメータシーケンス生成部１２は、外部からのある時系列データに対して、時系列シーケンス学習部１１から供給されるモデルパラメータのすべてを記憶すると、そのモデルパラメータの系列を、時系列シーケンス学習部１３に供給する。
【００４４】
最上位階層である第２階層の時系列シーケンス学習部１３は、時系列シーケンス学習部１１と同様に、パターン学習モデルの学習を行う複数の学習モジュールを有する。
【００４５】
そして、時系列シーケンス学習部１３の学習モジュールは、モデルパラメータシーケンス生成部１２からのモデルパラメータの系列、すなわち、下位階層（時系列シーケンス学習部１３の階層の直下の階層）の時系列シーケンス学習部１１が有するパターン学習モデルを定義するモデルパラメータの系列を用いて、時系列シーケンス学習部１３のパターン学習モデルの学習を行う。
【００４６】
図２は、図１の学習装置の処理を説明するフローチャートである。
【００４７】
第１階層の時系列シーケンス学習部１１は、外部から、時系列データが供給されるのを待って、ステップＳ１１において、外部からの時系列データを用いて、パターン学習モデルを学習する学習処理（第１階層の学習処理）を行う。
【００４８】
さらに、第１階層の時系列シーケンス学習部１１は、学習後のパターン学習モデルのモデルパラメータを、モデルパラメータシーケンス生成部１２に供給して、処理は、ステップＳ１１からステップＳ１２に進む。
【００４９】
ステップＳ１２では、モデルパラメータシーケンス生成部１２は、時系列シーケンス学習部１１からのモデルパラメータの系列を生成し、第２階層の時系列シーケンス学習部１３に供給して、処理は、ステップＳ１３に進む。
【００５０】
ステップＳ１３では、第２階層の時系列シーケンス学習部１３が、モデルパラメータシーケンス生成部１２からのモデルパラメータの系列、つまり、下位階層（図１では、第１階層）の時系列シーケンス学習部１１が有するパターン学習モデルのモデルパラメータの系列を用いて、パターン学習モデルを学習する学習処理（第２階層の学習処理）を行い、処理は終了する。
【００５１】
［時系列シーケンス学習部１１の第１の構成例］
【００５２】
図３は、図１の最下位階層である第１階層（最上位階層以外の階層）の時系列シーケンス学習部１１の第１の構成例を示すブロック図である。
【００５３】
図３の時系列シーケンス学習部１１は、競合学習によって、時系列パターンを獲得する。
【００５４】
すなわち、図３において、時系列シーケンス学習部１１は、時系列データ入力部２１、複数であるN個の学習モジュール３０1ないし３０N、担当モジュール決定部４１、及び、モデルパラメータ出力部４２から構成される。
【００５５】
時系列データ入力部２１には、外部からの時系列データが供給される。
【００５６】
時系列データ入力部２１は、外部からの時系列データを受信し、時系列シーケンス学習部１１での学習に用いる学習データとして、学習モジュール３０1ないし３０Nのすべてに供給する。
【００５７】
学習モジュール３０i(i=1,2,・・・,N)は、時系列データ入力部２１からの学習用データを用いて、パターン学習モデルを定義する複数のモデルパラメータを更新する更新学習を、競合学習によって行う。
【００５８】
すなわち、学習モジュール３０iは、学習データ入力部３１i、モデル学習部３２i、モデル記憶部３３i、予測部３４i、及び、予測誤差計算部３５iから構成される。
【００５９】
学習データ入力部３１iは、時系列データ入力部２１からの学習データを受信し、予測部３４iに供給する。また、学習データ入力部３１iは、担当モジュール決定部４１からの指示に従い、時系列データ入力部２１からの学習データを、モデル学習部３２iに供給する。
【００６０】
モデル学習部３２iは、学習データ入力部３１iからの学習データを用いて、モデル記憶部３３iに記憶されたパターン学習モデルの複数のモデルパラメータを更新する更新学習を行う。
【００６１】
モデル記憶部３３iは、複数のモデルパラメータによって定義され、時系列パターンを学習（獲得）するパターン学習モデルを記憶する。すなわち、モデル記憶部３３iは、パターン学習モデルを定義する複数のモデルパラメータを記憶する。
【００６２】
ここで、パターン学習モデルとしては、例えば、HMM(Hidden Markov Model)等の状態遷移確率モデル、RNN，FNN(Feed Forward Neural Network)，RNNPB(RNN with Parametric Bias)等のニューラルネットワーク、SVR(Support Vector Regression)等の関数近似器等を採用することができる。
【００６３】
例えば、HMMについては、HMMにおいて状態が遷移する確率を表す状態遷移確率や、状態が遷移するときに、HMMからある観測値が出力される確率を表す出力確率、又は確率密度を表す出力確率密度関数が、HMMのモデルパラメータである。
【００６４】
また、例えば、ニューラルネットワークについては、ニューロンに相当するユニット（ノード）において、他のユニットからの入力に付されるウエイト（重み）が、ニューラルネットワークのモデルパラメータである。
【００６５】
なお、HMMの状態遷移確率や、出力確率、又は出力確率密度関数、ニューラルネットワークのウエイトは、いずれも複数存在する。
【００６６】
予測部３４iは、学習データ入力部３１iからの学習データを入力データとして、モデル記憶部３３iに記憶されたパターン学習モデルに与えることで、その入力データの予測値である出力データを求め、予測誤差計算部３５iに供給する。
【００６７】
予測誤差計算部３５iは、予測部３４iからの予測値の予測誤差を求め、担当モジュール決定部４１に供給する。すなわち、予測誤差計算部３５iは、予測部３４iからの予測値と、学習データ入力部３１iが予測部３４iに供給する学習データとの差分をとることで、予測値の予測誤差を求めて、担当モジュール決定部４１に供給する。
【００６８】
担当モジュール決定部４１は、予測誤差計算部３５1ないし３５Nそれぞれからの予測誤差に基づき、学習データの学習を担当させる担当モジュールとなる学習モジュール３０iを決定する。
【００６９】
すなわち、担当モジュール決定部４１は、予測誤差計算部３５1ないし３５Nそれぞれからの予測誤差に基づき、学習モジュール３０1ないし３０Nのうちの、予測誤差が最小の予測値が得られる学習モジュール３０iを、担当モジュールに決定する。
【００７０】
そして、担当モジュール決定部４１は、担当モジュールを表す情報を、モデルパラメータ出力部４２に供給するとともに、担当モジュールとなった学習モジュール３０iに対して、学習の指示を供給する。
【００７１】
モデルパラメータ出力部４２は、担当モジュール決定部４１からの情報に基づき、担当モジュールとなった学習モジュール３０iを認識する。さらに、モデルパラメータ出力部４２は、担当モジュールとなった学習モジュール３０iのモデル記憶部３３iに記憶されたモデルパラメータを読み出し、モデルパラメータシーケンス生成部１２（図１）に供給する。
【００７２】
［時系列シーケンス学習部１３の第１の構成例］
【００７３】
図４は、図１の最上位階層である第２階層の時系列シーケンス学習部１３の第１の構成例を示すブロック図である。
【００７４】
図４の時系列シーケンス学習部１３は、図３の時系列シーケンス学習部１１と同様に構成され、競合学習によって、時系列パターンを獲得する。
【００７５】
すなわち、図４において、時系列シーケンス学習部１３は、時系列データ入力部５１、複数であるN個の学習モジュール６０1ないし６０N、及び、担当モジュール決定部７１から構成される。
【００７６】
ここで、時系列シーケンス学習部１３は、図３のモデルパラメータ出力部４２に相当するブロックが設けられていないことを除いて、図３の時系列シーケンス学習部１１と同様に構成される。
【００７７】
また、本実施の形態では、説明を簡単にするため、学習装置において、上位階層の時系列シーケンス学習部１３が有する学習モジュール６０iの数を、下位階層の時系列シーケンス学習部１１が有する学習モジュール３０iの数と同一の数とするようにしたが、上位階層の時系列シーケンス学習部１３が有する学習モジュール６０iの数は、下位階層の時系列シーケンス学習部１１が有する学習モジュール３０iの数よりも少ない１以上の数、又は複数とすることができる。予測装置においても同様である。
【００７８】
時系列データ入力部５１には、第１階層の時系列シーケンス学習部１１（図１）から、モデルパラメータシーケンス生成部１２を経由して、モデルパラメータの系列が、時系列データとして供給される。
【００７９】
時系列データ入力部５１は、第１階層の時系列シーケンス学習部１１から、モデルパラメータシーケンス生成部１２を経由して供給されるモデルパラメータの系列を受信し、図４の時系列シーケンス学習部１３での学習に用いる学習データとして、学習モジュール６０1ないし６０Nのすべてに供給する。
【００８０】
学習モジュール６０i(i=1,2,・・・,N)は、時系列データ入力部５１からの学習用データを用いて、パターン学習モデルを定義する複数のモデルパラメータを更新する更新学習を、競合学習によって行う。
【００８１】
すなわち、学習モジュール６０iは、学習データ入力部６１i、モデル学習部６２i、モデル記憶部６３i、予測部６４i、及び、予測誤差計算部６５iから構成される。
【００８２】
学習データ入力部６１iないし予測誤差計算部６５iは、それぞれ、図３の学習データ入力部３１iないし予測誤差計算部３５iと同様に構成される。
【００８３】
すなわち、学習データ入力部６１iは、時系列データ入力部５１からの学習データを受信し、予測部６４iに供給する。また、学習データ入力部６１iは、担当モジュール決定部７１からの指示に従い、時系列データ入力部５１からの学習データを、モデル学習部６２iに供給する。
【００８４】
モデル学習部６２iは、学習データ入力部６１iからの学習データを用いて、モデル記憶部６３iに記憶されたパターン学習モデルの複数のモデルパラメータを更新する更新学習を行う。
【００８５】
モデル記憶部６３iは、複数のモデルパラメータによって定義され、時系列パターンを学習するパターン学習モデル（を定義するモデルパラメータ）を記憶する。
【００８６】
予測部６４iは、学習データ入力部６１iからの学習データを入力データとして、モデル記憶部６３iに記憶されたパターン学習モデルに与えることで、その入力データの予測値である出力データを求め、予測誤差計算部６５iに供給する。
【００８７】
予測誤差計算部６５iは、予測部６４iからの予測値の予測誤差を求め、担当モジュール決定部７１に供給する。
【００８８】
担当モジュール決定部７１は、予測誤差計算部６５1ないし６５Nそれぞれからの予測誤差に基づき、学習データの学習を担当させる担当モジュールとなる学習モジュール６０iを決定する。
【００８９】
すなわち、担当モジュール決定部７１は、図３の担当モジュール決定部４１と同様に、予測誤差計算部６５1ないし６５Nそれぞれからの予測誤差に基づき、学習モジュール６０1ないし６０Nのうちの、予測誤差が最小の予測値が得られる学習モジュール６０iを、担当モジュールに決定する。
【００９０】
そして、担当モジュール決定部７１は、担当モジュールとなった学習モジュール６０iに対して、学習の指示を供給する。
【００９１】
［学習処理］
【００９２】
図５は、図３の時系列シーケンス学習部１１が、図２のステップＳ１１で行う第１階層の学習処理を説明するフローチャートである。
【００９３】
時系列データ入力部２１は、外部から、学習に用いるのに十分な数（複数）の時系列データが供給されるのを待って、ステップＳ２１において、その時系列データを受信し、処理は、ステップＳ２２に進む。
【００９４】
ステップＳ２２では、各学習モジュール３０iのモデル学習部３２iが、モデル記憶部３３iに記憶されたパターン学習モデルのモデルパラメータを、例えば、乱数等によって初期化して、処理は、ステップＳ２３に進む。
【００９５】
ステップＳ２３では、時系列データ入力部２１は、外部からの複数の時系列データのうちの、まだ、学習に用いていない１つの時系列データを、学習データとして、時系列シーケンス学習部１１を構成する学習モジュール３０1ないし３０Nに供給する。
【００９６】
さらに、ステップＳ２３では、各学習モジュール３０iの予測部３４iが、モデル記憶部３３iに記憶されたモデルパラメータを読み込み、処理は、ステップＳ２４に進む。
【００９７】
ステップＳ２４では、各学習モジュール３０iの予測部３４iが、ステップＳ２３でモデル記憶部３３iから読み込んだモデルパラメータによって定義されるパターン学習モデルを用い、時系列データ入力部２１からの学習データを、パターン学習モデルへの入力データとして、入力データの予測値である出力データを求め、予測誤差計算部３５iに供給する。
【００９８】
すなわち、各学習モジュール３０iでは、学習データ入力部３１iが、時系列データ入力部２１からの学習データを、予測部３４iに供給する。予測部３４iは、学習データ入力部３１iからの学習データを入力データとして、パターン学習モデルに与えることで、その入力データの予測値である出力データを求め、予測誤差計算部３５iに供給する。
【００９９】
そして、処理は、ステップＳ２４からステップＳ２５に進み、各学習モジュール３０iの予測誤差計算部３５iが、予測部３４iからの予測値の予測誤差を求める。さらに、予測誤差計算部３５iは、予測誤差を、担当モジュール決定部４１に供給して、処理は、ステップＳ２５からＳ２６に進む。
【０１００】
ステップＳ２６では、担当モジュール決定部４１が、予測誤差計算部３５1ないし３５Nそれぞれからの予測誤差に基づき、学習モジュール３０1ないし３０Nの中から、担当モジュールとなる（１つの）学習モジュール３０iを決定する。
【０１０１】
さらに、担当モジュール決定部４１は、担当モジュールを表す情報を、モデルパラメータ出力部４２に供給するとともに、担当モジュールとなった学習モジュール３０iの学習データ入力部３１iに対して、学習の指示を供給し、処理は、ステップＳ２６からステップＳ２７に進む。
【０１０２】
ステップＳ２７では、担当モジュール（担当学習モジュール）となった学習モジュール３０iが、担当モジュール決定部４１からの指示に従い、時系列データ入力部２１からの学習データを用いて、モデルパラメータを更新する更新学習を行う。
【０１０３】
すなわち、ステップＳ２７では、担当モジュールとなった学習モジュール３０iの学習データ入力部３１iは、担当モジュール決定部４１からの指示に従い、時系列データ入力部２１からの学習データを、モデル学習部３２iに供給する。
【０１０４】
さらに、ステップＳ２７では、モデル学習部３２iが、学習データ入力部３１iからの学習データを用いて、モデル記憶部３３iに記憶されたパターン学習モデルのモデルパラメータを更新する更新学習を行う。そして、モデル学習部３２iは、更新学習において、例えば、モデルパラメータが収束すると、その収束後の新たなモデルパラメータによって、モデル記憶部３３iの記憶内容を更新する（上書きする）。
【０１０５】
ステップＳ２７の後、処理は、ステップＳ２８に進み、モデルパラメータ出力部４２は、担当モジュール決定部４１からの情報に基づき、担当モジュールとなった学習モジュール３０iを認識する。さらに、モデルパラメータ出力部４２は、担当モジュールとなった学習モジュール３０iのモデル記憶部３３iに記憶されたモデルパラメータを読み出し、モデルパラメータシーケンス生成部１２（図１）に供給（出力）して、処理は、ステップＳ２８からステップＳ２９に進む。
【０１０６】
ここで、ステップＳ２８では、モデルパラメータ出力部４２において、担当モジュールとなった学習モジュール３０iのモデル記憶部３３iに記憶されたモデルパラメータだけではなく、モデル記憶部３３1ないし３３Nに記憶されたモデルパラメータすべてを出力することが可能である。
【０１０７】
ステップＳ２９では、時系列データ入力部２１は、外部からの複数の時系列データの中に、まだ、学習に用いていない時系列データがあるかどうかを判定する。
【０１０８】
ステップＳ２９において、外部からの複数の時系列データの中に、まだ、学習に用いていない時系列データがあると判定された場合、処理は、ステップＳ２３に戻り、以下、同様の処理が繰り返される。
【０１０９】
また、ステップＳ２９において、外部からの複数の時系列データの中に、学習に用いていない時系列データがないと判定された場合、学習処理は、終了する。
【０１１０】
なお、図４の時系列シーケンス学習部１３が、図２のステップＳ１３で行う第２階層の学習処理では、ステップＳ２１で、時系列データ入力部５１が受信するのが、時系列シーケンス学習部１１から、モデルパラメータシーケンス生成部１２を経由して供給されるモデルパラメータの系列である点と、ステップＳ２８で、モデルパラメータを出力することが行われない（ステップＳ２８の処理が行われない）点とを除けば、図５の学習処理と同様の処理が行われるため、説明を省略する。
【０１１１】
また、図３の時系列シーケンス学習部１１において、追加学習を行う場合には、例えば、追加学習に用いる時系列データの数等に対して適切な数の学習モジュールを、時系列シーケンス学習部１１に追加し、その追加した学習モジュールだけを対象として、学習処理を行えば良い。図４の時系列シーケンス学習部１３でも同様である。
【０１１２】
このように、既に学習に用いた時系列データを再度用いて再学習を行うことなく、容易に、追加学習を行うことができる。
【０１１３】
［時系列シーケンス学習部１１の第２の構成例］
【０１１４】
図６は、図１の最下位階層である第１階層の時系列シーケンス学習部１１の第２の構成例を示すブロック図である。
【０１１５】
なお、図中、図３の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【０１１６】
図６の時系列シーケンス学習部１１は、競合学習ではなく、分節学習によって、時系列パターンを獲得する。
【０１１７】
すなわち、図６において、時系列シーケンス学習部１１は、時系列データ入力部２１、複数であるN個の学習モジュール３０1ないし３０N、データ抽出部１０２、モデルパラメータ共有部１２１、及び、モデルパラメータ出力部１２２から構成される。
【０１１８】
時系列データ入力部２１は、図３で説明したように、外部から供給される時系列データを受信し、図１の学習装置での学習に用いる学習データとして、データ抽出部１０２に供給する。
【０１１９】
データ抽出部１０２は、時系列データ入力部２１からの学習データとしての時系列データから、所定のウインドウ長のウインドウ内のデータを、パターン学習モデルの学習用のモデル学習用データとして抽出し、学習モジュール３０1ないし３０Nに分配する。
【０１２０】
すなわち、データ抽出部１０２は、例えば、時系列データ入力部２１からの時系列データにかけるウインドウの位置をずらすことで、その時系列データから、複数であるN個のモデル学習用データを抽出する。さらに、データ抽出部１０２は、１個のモデル学習用データを、１つのパターン学習モデルに割り当てるように、N個のモデル学習用データを学習モジュール３０i(i=1,2,・・・,N)に供給(分配）する。
【０１２１】
具体的には、データ抽出部１０２は、ウインドウを、時系列データ入力部２１からの時系列データの先頭から終わりの方向に順次ずらし、ウインドウ内のデータ(列）を、モデル学習用データとして抽出することで、N個(シーケンス）のモデル学習用データを得る。
【０１２２】
そして、データ抽出部１０２は、N個のモデル学習用データのうちのi番目のモデル学習用データを、学習モジュール３０iに供給する。なお、データ抽出部１０２から学習モジュール３０iに対して供給するモデル学習用データは、N個のモデル学習用データのうちのいずれであってもよい。
【０１２３】
ここで、データ抽出部１０２は、時系列データ入力部２１からの時系列データの全体が網羅されるように、ウインドウの位置をずらす。したがって、N個のモデル学習用データの全体には、時系列データ入力部２１からの時系列データの全体が含まれる。
【０１２４】
学習モジュール３０i(i=1,2,・・・,N)は、学習データ入力部３１i、モデル学習部３２i、及びモデル記憶部３３iから構成され、予測部３４i、及び、予測誤差計算部３５iを有していない点で、図３の場合と異なる。
【０１２５】
また、図６では、担当モジュールとなった１つの学習モジュール３０iだけが、学習データの全体を学習する競合学習が行われるのではなく、各学習モジュール３０iが、学習データの一部分ずつを、モデル学習用データとして分け合って学習する分節学習が行われる。
【０１２６】
すなわち、学習データ入力部３１iには、データ抽出部１０２から、学習データとしての時系列データから抽出されたi番目のモデル学習用データが供給される。
【０１２７】
学習データ入力部３１iは、データ抽出部１０２からのモデル学習用データを受信し、モデル学習部３２iに供給する。
【０１２８】
モデル学習部３２iは、学習データ入力部３１iからのモデル学習用データを用いて、モデル記憶部３３iに記憶されたパターン学習モデルのモデルパラメータを更新する更新学習を行う。
【０１２９】
モデルパラメータ共有部１２１は、N個の学習モジュール３０1ないし３０Nのうちの、２以上の学習モジュールに、モデルパラメータを共有させる共有処理を行う。モデルパラメータ共有部１２１が共有処理を行うことにより、N個の学習モジュール３０1ないし３０Nのうちの、２以上の学習モジュールは、モデルパラメータを共有する。
【０１３０】
なお、以下では、説明を簡単にするため、モデルパラメータ共有部１２１は、N個の学習モジュール３０1ないし３０Nのすべてに、モデルパラメータを共有させる共有処理を行うこととする。
【０１３１】
モデルパラメータ出力部１２２は、各学習モジュール３０iのモデル記憶部３３iに記憶されたモデルパラメータを読み出し、モデルパラメータシーケンス生成部１２（図１）に供給（出力）する。
【０１３２】
ここで、モデル記憶部３３iに記憶されたモデルパラメータを、モデルパラメータ#iと表すこととすると、モデルパラメータシーケンス生成部１２（図１）は、例えば、モデルパラメータ#1,#2,・・・,#Nの並びを、モデルパラメータの系列として生成し、時系列シーケンス学習部１３に供給する。
【０１３３】
［時系列シーケンス学習部１３の第２の構成例］
【０１３４】
図７は、図１の最上位階層である第２階層の時系列シーケンス学習部１３の第２の構成例を示すブロック図である。
【０１３５】
なお、図中、図４の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【０１３６】
図７の時系列シーケンス学習部１３は、分節学習によって、時系列パターンを獲得する。
【０１３７】
すなわち、図７において、時系列シーケンス学習部１３は、時系列データ入力部５１、複数であるN個の学習モジュール６０1ないし６０N、データ抽出部１３２、及び、モデルパラメータ共有部１５１から構成される。
【０１３８】
ここで、時系列シーケンス学習部１３は、図６のモデルパラメータ出力部１２２に相当するブロックが設けられていないことを除いて、図６の時系列シーケンス学習部１１と同様に構成される。
【０１３９】
時系列データ入力部５１は、第１階層の時系列シーケンス学習部１１（図６）から、モデルパラメータシーケンス生成部１２（図１）を経由して供給されるモデルパラメータの系列を、時系列データとして受信する。さらに、時系列データ入力部５１は、モデルパラメータシーケンス生成部１２からのモデルパラメータの系列を、時系列シーケンス学習部１３での学習に用いる学習データとして、データ抽出部１３２に供給する。
【０１４０】
データ抽出部１３２は、図６のデータ抽出部１０２と同様に、時系列データ入力部５１からの学習データとしてのモデルパラメータの系列から、所定のウインドウ長のウインドウ内のデータを、パターン学習モデルの学習用のモデル学習用データとして抽出し、学習モジュール６０1ないし６０Nに分配する。
【０１４１】
なお、図６のデータ抽出部１０２で用いられるウインドウのウインドウ長と、図７のデータ抽出部１３２で用いられるウインドウのウインドウ長とは、同一であっても良いし、異なっていても良い。
【０１４２】
学習モジュール６０i(i=1,2,・・・,N)は、学習データ入力部６１i、モデル学習部６２i、及びモデル記憶部６３iから構成され、予測部６４i、及び、予測誤差計算部６５iを有していない点で、図４の場合と異なる。
【０１４３】
また、図７では、担当モジュールとなった１つの学習モジュール６０iだけが、学習データの全体を学習する競合学習が行われるのではなく、各学習モジュール６０iが、学習データの一部分ずつを、モデル学習用データとして分け合って学習する分節学習が行われる。
【０１４４】
すなわち、学習データ入力部６１iには、データ抽出部１３２から、学習データとしての時系列データから抽出されたi番目のモデル学習用データが供給される。
【０１４５】
学習データ入力部６１iは、データ抽出部１３２からのモデル学習用データを受信し、モデル学習部６２iに供給する。
【０１４６】
モデル学習部６２iは、学習データ入力部６１iからのモデル学習用データを用いて、モデル記憶部６３iに記憶されたパターン学習モデルのモデルパラメータを更新する更新学習を行う。
【０１４７】
モデルパラメータ共有部１５１は、図６のモデルパラメータ供給部１２１と同様に、N個の学習モジュール６０1ないし６０Nのうちの、２以上の学習モジュールに、モデルパラメータを共有させる共有処理を行う。モデルパラメータ共有部１５１が共有処理を行うことにより、N個の学習モジュール６０1ないし６０Nのうちの、２以上の学習モジュールは、モデルパラメータを共有する。
【０１４８】
なお、以下では、説明を簡単にするため、モデルパラメータ共有部１５１は、N個の学習モジュール６０1ないし６０Nのすべてに、モデルパラメータを共有させる共有処理を行うこととする。
【０１４９】
［モデル学習用データの抽出］
【０１５０】
図８は、図６のデータ抽出部１０２（及び、図７のデータ抽出部１３２）が、学習データとしての時系列データから、モデル学習用データを抽出するときの、ウインドウのずらし方（モデル学習用データの抽出の仕方）を説明する図である。
【０１５１】
データ抽出部１０２では、ウインドウの一部がオーバラップするように、又は、オーバラップしないように、ウインドウの位置をずらすことで、モデル学習用データを抽出することができる。
【０１５２】
また、データ抽出部１０２では、可変長、又は固定長のウインドウ長のウインドウを用いて、モデル学習用データを抽出することができる。
【０１５３】
すなわち、図８Ａは、固定長のウインドウ長のウインドウの一部がオーバラップするように、ウインドウの位置をずらしながら、モデル学習用データを抽出する様子を示している。
【０１５４】
図８Ｂは、固定長のウインドウ長のウインドウがオーバラップしないように、ウインドウの位置をずらしながら、モデル学習用データを抽出する様子を示している。
【０１５５】
図８Ｃは、可変長のウインドウ長のウインドウがオーバラップしないように、ウインドウの位置をずらしながら、モデル学習用データを抽出する様子を示している。
【０１５６】
なお、可変長のウインドウ長のウインドウを用いることは、ウインドウ長が異なる複数の固定長のウインドウを用意しておき、その複数のウインドウを適宜選択することによって代用することができる。
【０１５７】
また、ウインドウは、その一部ではなく、全部がオーバラップするようにずらすことができる。
【０１５８】
図８Ｄは、ウインドウの全部をオーバラップさせて、モデル学習用データを抽出する様子を示している。
【０１５９】
すなわち、図８Ｄでは、固定長の短いウインドウ長L1と長いウインドウ長L2との２つのウインドウを用い、ウインドウ長L1のウインドウの全部を、ウインドウ長L2のウインドウにオーバラップさせて、モデル学習用データが抽出されている。
【０１６０】
ここで、ウインドウ長は、学習データとしての時系列データを構成する構成要素となる時系列パターンの長さに無関係に、あらかじめ、適当な値に決めておくことができる。
【０１６１】
また、学習データとしての時系列データの時定数が、なんらかの方法によって分かる場合には、ウインドウ長は、その時定数に比例した長さ等とすることができる。
【０１６２】
さらに、ウインドウをオーバラップするか否かは、例えば、ウインドウ長に応じて決めることができる。
【０１６３】
すなわち、ウインドウ長が短い場合には、オーバラップをなしにすることができ、ウインドウ長が長い場合には、ある程度の長さのオーバラップを設けるようにすることができる。
【０１６４】
ここで、学習データとしての時系列データに、例えば、周期的な時系列パターンが、含まれる場合には、ウインドウ長が短いとは、時系列パターンの周期の1/8や、1/2，3/4程度以下のウインドウ長を意味し、ウインドウ長が長いとは、時系列パターンの周期の2倍程度以上のウインドウ長を意味する。
【０１６５】
なお、上述の場合には、データ抽出部１０２（図６）において、学習データとしての時系列データから、学習モジュール３０1ないし３０Nと同一の数のN個のモデル学習用データを抽出することとしたが、学習データとしての時系列データからは、N個以外の複数個のモデル学習用データを抽出することが可能である。
【０１６６】
学習データとしての時系列データから、N個未満の数であるN'個のモデル学習用データが抽出される場合、データ抽出部１０２は、N個の学習モジュール３０1ないし３０NのうちのN'個に対して、モデル学習用データを分配する。
【０１６７】
一方、学習データとしての時系列データから、N個を超える数であるN''個のモデル学習用データが抽出される場合、図６の時系列シーケンス学習部１１では、学習モジュール３０iと同様の学習モジュールが、N''-N個だけ追加され、学習モジュールが、全部で、N''個にされる。そして、そのN''個の学習モジュールに対して、モデル学習用データが分配される。
【０１６８】
ここで、図６の時系列シーケンス学習部１１を、コンピュータにプログラムを実行させることで（等価的に）実現するとすれば、学習モジュールの追加は、メモリに、学習モジュールとしての記憶領域を新たに確保すること（たとえば、オブジェクト指向プログラミングにおけるインスタンスの生成）によって行うことができる。
【０１６９】
また、学習モジュール３０1ないし３０Nの数Nを固定しておき、データ抽出部１０２において、学習データとしての時系列データから、N個のモデル学習用データを抽出することができるように、ウインドウのウインドウ長（及びオーバラップの長さ）を調整することができる。
【０１７０】
［学習処理］
【０１７１】
図９は、図６の時系列シーケンス学習部１１が、図２のステップＳ１１で行う第１階層の学習処理を説明するフローチャートである。
【０１７２】
時系列データ入力部２１は、外部から、時系列データが供給されるのを待って、ステップＳ４１において、その時系列データを受信し、学習データとして、データ抽出部１０２に供給して、処理は、ステップＳ４２に進む。
【０１７３】
ステップＳ４２では、データ抽出部１０２は、時系列データ入力部２１からの学習データとしての時系列データから、例えば、N個のモデル学習用データを抽出する。さらに、データ抽出部１０２は、例えば、時間順で、i番目のモデル学習用データを、モデル記憶部３３iに記憶されたパターン学習モデルに割り当てるように、モデル学習用データを、学習モジュール３０1ないし３０Nに分配して、処理は、ステップＳ４２からステップＳ４３に進む。
【０１７４】
ステップＳ４３では、学習モジュール３０iのモデル学習部３２iが、モデル記憶部３３iに記憶されたモデルパラメータを、例えば、乱数等によって初期化して、処理は、ステップＳ４４に進む。
【０１７５】
ステップＳ４４では、学習モジュール３０iが、データ抽出部１０２からのモデル学習用データを用いて、モデルパラメータを更新する更新学習を行う。
【０１７６】
すなわち、ステップＳ４４では、学習モジュール３０iにおいて、学習データ入力部３１iが、学習モジュール３０iに供給されたモデル学習用データを受信し、モデル学習部３２iに供給する。
【０１７７】
さらに、ステップＳ４４では、モデル学習部３２iが、学習データ入力部３１iからのモデル学習用データを用いて、モデル記憶部３３iに記憶されたパターン学習モデルの複数のモデルパラメータを更新する更新学習を行い、その更新学習によって得られた新たな複数のモデルパラメータによって、モデル記憶部３３iの記憶内容を更新する（上書きする）。
【０１７８】
ここで、ステップＳ４３及びＳ４４の処理は、データ抽出部１０２からモデル学習用データが分配された学習モジュール、すなわち、ここでは、N個の学習モジュール３０1ないし３０Nのすべてで行われる。
【０１７９】
ステップＳ４４の後、処理は、ステップＳ４５に進み、モデルパラメータ共有部１２１は、直前のステップＳ1４で、更新学習が行われた学習モジュール、すなわち、ここでは、N個の学習モジュール３０1ないし３０Nのすべてに、モデルパラメータを共有させる共有処理を行う。
【０１８０】
ここで、学習モジュール３０iが有する複数のモデルパラメータのうちの、例えば、m番目のモデルパラメータに注目すると、共有処理では、モデルパラメータ共有部１２１は、N個の学習モジュール３０1ないし３０Nそれぞれのm番目のモデルパラメータに基づいて、学習モジュール３０1のm番目のモデルパラメータを補正する。
【０１８１】
さらに、モデルパラメータ共有部１２１は、N個の学習モジュール３０1ないし３０Nそれぞれのm番目のモデルパラメータに基づいて、学習モジュール３０2のm番目のモデルパラメータを補正し、以下、同様にして、学習モジュール３０3ないし３０Nそれぞれのm番目のモデルパラメータを補正する。
【０１８２】
以上のように、モデルパラメータ共有部１２１が、学習モジュール３０iのm番目のモデルパラメータを、N個の学習モジュール３０1ないし３０Nそれぞれのm番目のモデルパラメータに基づいて補正することで、N個の学習モジュール３０1ないし３０Nのm番目のモデルパラメータのそれぞれは、N個の学習モジュール３０1ないし３０Nのm番目のモデルパラメータのすべての影響を受ける（N個の学習モジュール３０1ないし３０Nのm番目のモデルパラメータのそれぞれに、N個の学習モジュール３０1ないし３０Nのm番目のモデルパラメータのすべてを影響させる）。
【０１８３】
このように、複数の学習モジュールすべてのモデルパラメータを、その複数の学習モジュールのそれぞれのモデルパラメータに影響させること（複数の学習モジュールのそれぞれのモデルパラメータが、その複数の学習モジュールすべてのモデルパラメータの影響を受けること）が、複数の学習モジュールによるモデルパラメータの共有である。
【０１８４】
モデルパラメータ共有部１２１は、ステップＳ４５において、学習モジュール３０iのモデル記憶部３３iに記憶された複数のモデルパラメータのすべてを対象に、共有処理を行い、その共有処理によって得られたモデルパラメータによって、モデル記憶部３３1ないし１３Nの記憶内容を更新する。
【０１８５】
ステップＳ４５の後、処理は、ステップＳ４６に進み、図６の時系列シーケンス学習部１１は、学習の終了条件が満たされているかどうかを判定する。
【０１８６】
ここで、ステップＳ４６での学習の終了条件としては、例えば、学習の回数、つまり、ステップＳ４４及びＳ４５が繰り返された回数が、あらかじめ定められた所定の回数となったことや、あるいは、パターン学習モデルがモデル学習用データの予測値を生成することができる場合に、その予測値の予測誤差が所定値以下に収束したこと、モデルパラメータが収束したこと等を採用することができる。
【０１８７】
ステップＳ４６において、学習の終了条件が満たされていないと判定された場合、処理は、ステップＳ４４に戻り、以下、同様の処理が繰り返される。
【０１８８】
また、ステップＳ４６において、学習の終了条件が満たされていると判定された場合、処理は、ステップＳ４７に進み、モデルパラメータ出力部１２２は、モデル記憶部３３1ないし３３Nに記憶されたモデルパラメータ#1ないし#Nを、例えば、その順に並べたモデルパラメータの系列を、モデルパラメータシーケンス生成部１２（図１）に出力して、学習処理は終了する。
【０１８９】
なお、図７の時系列シーケンス学習部１３が、図２のステップＳ１３で行う第２階層の学習処理では、ステップＳ４１で、時系列データ入力部５１が受信するのが、時系列シーケンス学習部１１から、モデルパラメータシーケンス生成部１２を経由して供給されるモデルパラメータの系列である点と、ステップＳ４７で、モデルパラメータを出力することが行われない（ステップＳ４７の処理が行われない）点とを除けば、図９の学習処理と同様の処理が行われるため、説明を省略する。
【０１９０】
また、図６の時系列シーケンス学習部１１において、追加学習を行う場合には、例えば、追加学習に用いる時系列データの数等に対して適切な数の学習モジュールを、時系列シーケンス学習部１１に追加し、その追加した学習モジュールだけを対象として、学習処理を行えば良い。図７の時系列シーケンス学習部１３でも同様である。
【０１９１】
このように、既に学習に用いた時系列データを再度用いて再学習を行うことなく、容易に、追加学習を行うことができる。
【０１９２】
図１０は、パターン学習モデルとして、RNNを採用した場合の、図６の時系列シーケンス学習部１１（図７の時系列シーケンス学習部１３）の構成例を示す図である。
【０１９３】
なお、図１０においては、時系列データ入力部２１、学習モジュール３０iの学習データ入力部３１i及びモデル学習部３２i、データ抽出部１０２、並びに、モデルパラメータ出力部１２２の図示を省略してある。
【０１９４】
モデル記憶部３３iには、RNN（を定義するモデルパラメータ）が記憶されている。ここで、モデル記憶部３３iに記憶されたRNNを、以下、適宜、RNN#iとも記載する。
【０１９５】
図１０では、RNNは、入力層、隠れ層（中間層）、及び出力層の３つの層により構成されている。入力層、隠れ層、及び出力層は、それぞれ任意の数の、ニューロンに相当するユニットにより構成されている。
【０１９６】
RNNでは、入力層の一部のユニットである入力ユニットに、外部から入力データxtが入力（供給）される。ここで、入力データxtは、時刻tのデータを表す。
【０１９７】
入力層の、入力データxtが入力される入力ユニット以外の、残りのユニットは、コンテキストユニットであり、コンテキストユニットには、出力層の一部のユニットの出力が、内部状態を表すコンテキストとしてフィードバックされる。
【０１９８】
ここで、時刻tの入力データxtが入力層の入力ユニットに入力されるときに入力層のコンテキストユニットに入力される時刻tのコンテキストを、ctと記載する。
【０１９９】
隠れ層のユニットは、入力層に入力される入力データxtとコンテキストctを対象として、所定のウエイト（重み）を用いた重み付け加算を行い、その重み付け加算の結果を引数とする非線形関数の演算を行って、その演算結果を、出力層のユニットに出力する。
【０２００】
出力層のユニットでは、隠れ層のユニットが出力するデータを対象として、隠れ層のユニットと同様の処理が行われる。そして、出力層の一部のユニットからは、上述したように、次の時刻t+1のコンテキストct+1が出力され、入力層にフィードバックされる。また、出力層の残りのユニットからは、入力データxtに対する出力データとして、例えば、その入力データxtの次の時刻t+1の入力データxt+1の予測値x*t+1が出力される。
【０２０１】
ここで、RNNでは、ユニットへの入力が重み付け加算されるが、この重み付け加算に用いられるウエイト（重み）が、RNNのモデルパラメータである。RNNのモデルパラメータとしてのウエイトには、入力ユニットから隠れ層のユニットへのウエイト、コンテキストユニットから隠れ層のユニットへウエイト、隠れ層のユニットから出力層のユニットへのウエイト等がある。
【０２０２】
パターン学習モデルとして、以上のようなRNNを採用した場合、モデルパラメータ共有部１２１には、RNNのモデルパラメータとしてのウエイトを、学習モジュール３０1ないし３０Nに共有させるウエイトマトリクス共有部１９１が設けられる。
【０２０３】
ここで、RNNのモデルパラメータとしてのウエイトは、複数あるが、その複数のウエイトをコンポーネントとするマトリクスを、ウエイトマトリクスという。
【０２０４】
ウエイトマトリクス共有部１９１は、モデル記憶部３３1ないし３３Nに記憶されたRNN#1ないしRNN#Nのすべての複数のモデルパラメータとしてのウエイトマトリクスを、学習モジュール３０1ないし３０Nのそれぞれに共有させる。
【０２０５】
すなわち、RNN#iのウエイトマトリクスをwiと表すこととすると、ウエイトマトリクス共有部１９１は、ウエイトマトリクスwiを、N個の学習モジュール３０1ないし３０Nそれぞれのウエイトマトリクスw1ないしwNのすべてに基づいて補正することで、ウエイトマトリクスwiに、ウエイトマトリクスw1ないしwNのすべてを影響させる共有処理を行う。
【０２０６】
具体的には、ウエイトマトリクス共有部１９１は、例えば、次式（１）に従い、RNN#iのウエイトマトリクスwiを補正する。
【０２０７】
【数１】
2010282556.tif 000003
【０２０８】
ここで、式（１）において、△wiは、ウエイトマトリクスwiを補正する補正成分であり、例えば、式（２）に従って求められる。
【０２０９】
【数２】
2010282556.tif 000004
【０２１０】
式（２）において、βijは、RNN#iのウエイトマトリクスwiに、RNN#j(j=1,2,・・・,N)のウエイトマトリクスwjを影響させる度合いを表す係数である。
【０２１１】
したがって、式（２）の右辺のサメーションΣβij(wj-wi)は、係数βijを重みとした、RNN#iのウエイトマトリクスwjに対するRNN#1ないしRNN#Nのウエイトマトリクスw1ないしwNそれぞれの偏差（差分）の重み付け平均値を表し、αiは、その重み付け平均値Σβij(wj-wi)を、ウエイトマトリクスwiに影響させる度合いを表す係数である。
【０２１２】
係数αi及びβijとしては、例えば、0.0より大で1.0より小の値を採用することができる。
【０２１３】
式（２）によれば、係数αiが小であるほど、いわば共有が弱くなり（ウエイトマトリクスwiが受ける重み付け平均値Σβij(wj-wi)の影響が小さくなり）、係数αiが大であるほど、いわば共有が強まる。
【０２１４】
なお、ウエイトマトリクスwiの補正の方法は、式（１）に限定されるものではなく、例えば、式（３）に従って行うことが可能である。
【０２１５】
【数３】
2010282556.tif 000005
【０２１６】
ここで、式（３）において、βij'は、RNN#iのウエイトマトリクスwiに、RNN#j(j=1,2,・・・,N)のウエイトマトリクスwjを影響させる度合いを表す係数である。
【０２１７】
したがって、式（３）の右辺の第２項におけるサメーションΣβij'wjは、係数βij'を重みとした、RNN#1ないしRNN#Nのウエイトマトリクスw1ないしwNの重み付け平均値を表し、αi'は、その重み付け平均値Σβij'wjを、ウエイトマトリクスwiに影響させる度合いを表す係数である。
【０２１８】
係数αi'及びβij'としては、例えば、0.0より大で1.0より小の値を採用することができる。
【０２１９】
式（３）によれば、係数αi'が大であるほど、共有が弱くなり（ウエイトマトリクスwiが受ける重み付け平均値Σβij'wjの影響が小さくなり）、係数αi'が小であるほど、共有が強まる。
【０２２０】
なお、パターン学習モデルとして、RNNを採用する場合、RNNの学習は、例えば、BPTT(Back-Propagation Through Time)法に従って行われ、RNN#ｉが出力する出力データとしての入力データｘt+1の予測値の、真値である入力データｘt+1に対する予測誤差を小さくするウエイトマトリクスｗiが求められる。
【０２２１】
図６の時系列シーケンス学習部１１（及び、図７の時系列シーケンス学習部１３）は、１つの学習モジュール３０iが、１個のモデル学習データを学習するので、規模拡張性に優れる。そして、規模拡張性に優れた複数の学習モジュール３０1ないし３０Nそれぞれにおいて、モデルパラメータを共有しながら、その複数の学習モジュール３０1ないし３０Nそれぞれのモデルパラメータを更新する更新学習を行うことにより、１つの学習モジュール３０iだけで行われる学習で得られる汎化特性が、複数の学習モジュール３０1ないし３０Nの全体で得ることができ、その結果、規模拡張性があり、同時に、汎化特性を有するパターン学習モデルを得ることができる。
【０２２２】
すなわち、多くの時系列パターンを獲得（記憶）することができ、かつ、複数の時系列パターンの共通性を獲得することができる。さらに、複数の時系列パターンの共通性を獲得することで、その共通性に基づいて、未学習の時系列パターンの認識や生成を行うことが可能となる。
【０２２３】
また、図６の時系列シーケンス学習部１１（及び、図７の時系列シーケンス学習部１３）では、データ抽出部１０２が、ウインドウの位置をずらすことで、学習データとしての時系列データから、N個のモデル学習用データを抽出し、N個の学習モジュール３０1ないし３０Nに分配する。そして、学習モジュール３０1ないし３０Nそれぞれにおいて、データ抽出部１０２から分配されたモデル学習用データを用いて、モデルパラメータを更新する分節学習が行われる。
【０２２４】
その結果、N個のパターン学習モデルの全体において、学習データとしての時系列データに含まれる１以上の時系列パターンを獲得することができる。
【０２２５】
図１１は、時系列シーケンス学習部１１及び１３で行われる分節学習を説明する図である。
【０２２６】
図１１では、下位階層の時系列シーケンス学習部１１は、複数のパターン学習モデルとして、６個のRNN#1-1,#1-2,#1-3,#1-4,#1-5,#1-6を有している。また、上位階層の時系列シーケンス学習部１３は、複数のパターン学習モデルとして、３個のRNN#2-1,#2-2,#2-3を有している。
【０２２７】
そして、下位階層の時系列シーケンス学習部１１では、外部からの時系列データから、時系列に、６つのモデル学習用データxtが抽出され、i番目のモデル学習用データxtを用いて、i番目のRNN#1-iの学習が行われる。これにより、RNN#1-iのモデルパラメータとして、i番目のモデル学習用データxtについて、時刻tのサンプルxtから、次の時刻t+1のサンプルxt+1を予測する関数xt+1=f1(xt)の係数となる、RNN#1-iのウエイトマトリクスwiが求められる。
【０２２８】
その後、下位階層の時系列シーケンス学習部１１では、i番目のモデル学習用データxtを用いて学習が行われた、i番目のRNN#1-iのモデルパラメータとしてのウエイトマトリクスwiが、モデルパラメータシーケンス生成部１２（図１）に出力される。
【０２２９】
モデルパラメータシーケンス生成部１２は、例えば、時系列シーケンス学習部１１からのウエイトマトリクスwiを時系列（ウエイトマトリクスwiを求めるのに用いたモデル学習用データxtの時間順）に並べた、ウエイトマトリクスwiの系列w1,w2,w3,w4,w5,w6を、上位階層の時系列シーケンス学習部１３に供給する。
【０２３０】
上位階層の時系列シーケンス学習部１３では、モデルパラメータシーケンス生成部１２からのウエイトマトリクスwiの系列w1ないしw6から、時系列に、３つのモデル学習用データwが抽出され、i番目のモデル学習用データwを用いて、i番目のRNN#2-jの学習が行われる。これにより、RNN#2-jのモデルパラメータとして、i番目のモデル学習用データwの、時刻tのサンプルw(t)から、次の時刻t+1のサンプルw(t+1)を予測する関数w(t+1)=f2（w(t))の係数となる、RNN#2-jのウエイトマトリクスが求められる。
【０２３１】
以上のように、上位階層の時系列シーケンス学習部１３では、その上位階層の時系列シーケンス学習部１３の下位階層の時系列シーケンス学習部１１が有するRNN#1-iを定義するウエイトマトリクスwiの時系列（ウエイトダイナミクス）を用いて、RNN#2-jの学習を行う。
【０２３２】
このように、上位階層のRNN#2-jの学習が、下位階層のRNN#1-iのウエイトマトリクスwiの系列を用いて行われるので、上位階層の時系列シーケンス学習部１３では、ウエイトマトリクスwiによって表現される、下位階層のRNN#1-iが獲得した時系列パターンどうしの距離構造を反映した学習を行うことができる。
【０２３３】
さらに、上位階層のRNN#2-jの学習が、下位階層のRNN#1-iのウエイトマトリクスwiの系列を用いて行われるので、追加学習は、学習モジュール、つまり、パターン学習モデルとしてのRNNの追加によって、既に学習済みのRNNの再学習をせずに行うことができる。
【０２３４】
すなわち、図１２は、時系列シーケンス学習部１１及び１３で行われる追加学習を説明する図である。
【０２３５】
図１２では、下位階層の時系列シーケンス学習部１１は、図１１の６個のRNN#1-1ないし#1-6に、２個のRNN#1-7及び#1-8が新たに追加され、合計で、8個のRNN#1-1ないし1-8を有している。また、上位階層の時系列シーケンス学習部１３は、図１１の３個のRNN#2-1ないし#2-3に、1個のRNN#2-4が新たに追加され、合計で、４個のRNN#2-1ないし#2-4を有している。
【０２３６】
そして、下位階層の時系列シーケンス学習部１１では、外部から、新たな時系列データが与えられると、その新たな時系列データから、時系列に、２つのモデル学習用データxtが抽出され、i（ｉ＝１，２）番目のモデル学習用データxtを用いて、新たに追加された２個のRNN#1-7及び#1-8のうちの、i番目のRNN#1-(i+6)の学習（追加学習）が行われる。これにより、新たに追加されたRNN#1-(i+6)のモデルパラメータとして、新たな時系列データから抽出されたi番目のモデル学習用データxtの、時刻tのサンプルxtから、次の時刻t+1のサンプルxt+1を予測する関数xt+1=f1(xt)の係数となる、RNN#1-(i+6)のウエイトマトリクスwi+6が求められる。
【０２３７】
その後、新たに追加された２個のRNN#1-7及び#1-8のウエイトマトリクスの系列w7,w8が、下位階層の時系列シーケンス学習部１１から、モデルパラメータシーケンス生成部１２（図１）を経由して、上位階層の時系列シーケンス学習部１３に供給される。
【０２３８】
上位階層の時系列シーケンス学習部１３では、モデルパラメータシーケンス生成部１２からのウエイトマトリクスの系列w7,w8から、１つのモデル学習用データwが抽出され、その１つのモデル学習用データwを用いて、すなわち、ウエイトマトリクスの系列w7,w8を、そのまま、モデル学習用データwとして用いて、新たに追加された１個のRNN#2-4の学習が行われる。
【０２３９】
以上のように、上位階層のRNN#2-jの学習が、下位階層のRNN#1-iのウエイトマトリクスwiの系列を用いて行われ、この下位階層のRNN#1-iのウエイトマトリクスwiの系列の次元は、下位階層のRNNの数に依存せず、したがって、RNNが追加されても変化しないので、下位階層の時系列シーケンス学習部１１では、学習済みのRNN#1-1ないし#1-6の再学習をする必要はなく、上位階層の時系列シーケンス学習部１３でも、学習済みのRNN#2-1ないし#2-3の再学習をする必要はない。
【０２４０】
なお、上述の場合には、新たに追加された２個のRNN#1-7及び#1-8のウエイトマトリクスの系列w7,w8を、下位階層の時系列シーケンス学習部１１から、モデルパラメータシーケンス生成部１２（図１）を経由して、上位階層の時系列シーケンス学習部１３に供給し、上位階層の時系列シーケンス学習部１３において、モデルパラメータシーケンス生成部１２からのウエイトマトリクスの系列w7,w8から、モデル学習用データwを抽出し、そのモデル学習用データwを用いて、新たに追加された１個のRNN#2-4の学習を行うようにしたが、下位階層の時系列シーケンス学習部１１から上位階層の時系列シーケンス学習部１３に対しては、新たに追加された２個のRNN#1-7及び#1-8のウエイトマトリクスの系列w7,w8ではなく、すべてのRNN#1-1及び#1-8のウエイトマトリクスの系列w1ないしw8を、モデルパラメータシーケンス生成部１２（図１）を経由して供給することができる。
【０２４１】
この場合、上位階層の時系列シーケンス学習部１３では、学習済みの３個のRNN#2-1ないし#2-3を含むすべての４個のRNN#2-1ないし#2-4の学習を、モデルパラメータシーケンス生成部１２からのウエイトマトリクスの時系列w1ないしw8を用いて行うこと（４個のRNN#2-1ないし#2-4のうちの、学習済みの３個のRNN#2-1ないし#2-3については、再学習すること）ができる。
【０２４２】
［学習装置の他の実施の形態］
【０２４３】
図１では、学習装置の階層構造を、２階層の階層構造としたが、学習装置の階層構造は、３階層以上の階層構造とすることができる。
【０２４４】
すなわち、図１３は、本発明の情報処理装置を適用した学習装置の他の一実施の形態の構成例を示すブロック図である。
【０２４５】
なお、図中、図１の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【０２４６】
図１３の学習装置では、パターン学習モデルの学習を行う複数の学習モジュールを有する複数の学習手段としての３つの時系列シーケンス学習部１１，１３、及び１４が、３階層の階層構造を構成するように接続されている。
【０２４７】
すなわち、図１３では、最下位階層である第１階層の時系列シーケンス学習部１１と、最下位階層から２番目の階層である第２階層の時系列シーケンス学習部１４とが、上位階層と下位階層との間のインタフェースとなるモデルパラメータシーケンス生成部１２を介して接続されている。
【０２４８】
さらに、図１３では、第２階層の時系列シーケンス学習部１４と、最上位階層である第３階層の時系列シーケンス学習部１３とが、上位階層と下位階層との間のインタフェースとなるモデルパラメータシーケンス生成部１５を介して接続されている。
【０２４９】
第２階層の時系列シーケンス学習部１４は、最下位階層である第１階層の時系列シーケンス学習部１１と同様に構成される。
【０２５０】
そして、時系列シーケンス学習部１４は、モデルパラメータシーケンス生成部１２から供給されるモデルパラメータの系列を用いて、パターン学習モデルの学習を行い、学習後のパターン学習モデルのモデルパラメータを、モデルパラメータシーケンス生成部１５に供給する。
【０２５１】
モデルパラメータシーケンス生成部１５は、モデルパラメータシーケンス生成部１２と同様に構成される。モデルパラメータシーケンス生成部１５は、第２階層の時系列シーケンス学習部１４から供給されるモデルパラメータから、最上位階層である第３階層に与える時系列データとするモデルパラメータの系列（時系列シーケンス学習部１４のリソースダイナミクス）を生成し、第３階層の時系列シーケンス学習部１３に供給する。
【０２５２】
図１３は、図１２の学習装置の処理を説明するフローチャートである。
【０２５３】
第１階層の時系列シーケンス学習部１１は、外部から、時系列データが供給されるのを待って、ステップＳ６１において、外部からの時系列データを用いて、パターン学習モデルを学習する学習処理（第１階層の学習処理）を行う。
【０２５４】
さらに、第１階層の時系列シーケンス学習部１１は、学習後のパターン学習モデルのモデルパラメータを、モデルパラメータシーケンス生成部１２に供給して、処理は、ステップＳ６１からステップＳ６２に進む。
【０２５５】
ステップＳ６２では、モデルパラメータシーケンス生成部１２は、時系列シーケンス学習部１１からのモデルパラメータの系列を生成し、第２階層の時系列シーケンス学習部１４に供給して、処理は、ステップＳ６３に進む。
【０２５６】
ステップＳ６３では、第２階層の時系列シーケンス学習部１４が、モデルパラメータシーケンス生成部１２からのモデルパラメータの系列、つまり、下位階層（図１２では、第１階層）の時系列シーケンス学習部１１が有するパターン学習モデルのモデルパラメータの系列を用いて、パターン学習モデルを学習する学習処理（第２階層の学習処理）を行う。
【０２５７】
さらに、第２階層の時系列シーケンス学習部１４は、学習後のパターン学習モデルのモデルパラメータを、モデルパラメータシーケンス生成部１５に供給して、処理は、ステップＳ６３からステップＳ６４に進む。
【０２５８】
ステップＳ６４では、モデルパラメータシーケンス生成部１５は、時系列シーケンス学習部１４からのモデルパラメータの系列を生成し、最上位階層である第３階層の時系列シーケンス学習部１３に供給して、処理は、ステップＳ６５に進む。
【０２５９】
ステップＳ６５では、第３階層の時系列シーケンス学習部１３が、モデルパラメータシーケンス生成部１５からのモデルパラメータの系列、つまり、下位階層（図１２では、第２階層）の時系列シーケンス学習部１４が有するパターン学習モデルのモデルパラメータの系列を用いて、パターン学習モデルを学習する学習処理（第３階層の学習処理）を行い、処理は終了する。
【０２６０】
［予測装置の一実施の形態］
【０２６１】
図１５は、本発明の情報処理装置を適用した予測装置の一実施の形態の構成例を示すブロック図である。
【０２６２】
図１５において、予測装置は、時系列シーケンス予測部２０１、モデルパラメータシーケンス生成部２０２、及び、時系列シーケンス予測部２０３から構成される。
【０２６３】
図１５の予測装置では、時系列パターンを学習するパターン学習モデルを用いて、時系列データを予測する複数の予測モジュールを有する複数の予測手段としての２つの時系列シーケンス予測部２０１及び２０３が、２階層の階層構造を構成するように接続されている。
【０２６４】
すなわち、図１５では、最下位階層である第１階層の時系列シーケンス予測部２０１と、最上位階層である第２階層の時系列シーケンス予測部２０３とが、上位階層と下位階層との間のインタフェースとなるモデルパラメータシーケンス生成部２０２を介して接続されている。
【０２６５】
最下位階層である第１階層の時系列シーケンス予測部２０１には、外部から、図１５の予測装置での予測に用いられる時系列データが供給される。
【０２６６】
時系列シーケンス予測部２０１は、パターン学習モデルを用いた予測を行う複数の予測モジュールを有する。時系列シーケンス予測部２０１の予測モジュールは、外部からの時系列データを、パターン学習モデルに与えて、時系列データの予測（又は認識）を行う。
【０２６７】
そして、時系列シーケンス予測部２０１は、予測モジュールが予測に用いたパターン学習モデルを定義するモデルパラメータを、モデルパラメータシーケンス生成部２０２に供給する。
【０２６８】
モデルパラメータシーケンス生成部２０２は、第１階層の時系列シーケンス予測部２０１から供給されるモデルパラメータから、上位階層である第２階層に与えるモデルパラメータの系列（時系列シーケンス予測部２０１のリソースダイナミクス）を生成し、第２階層の時系列シーケンス予測部２０３に供給する。
【０２６９】
すなわち、モデルパラメータシーケンス生成部２０２は、時系列シーケンス予測部２０１から供給されるモデルパラメータを一時記憶する。そして、モデルパラメータシーケンス生成部２０２は、外部からの時系列データに対して、時系列シーケンス予測部２０１から供給されるモデルパラメータのすべてを記憶すると、そのモデルパラメータの系列を、時系列シーケンス予測部２０３に供給する。
【０２７０】
最上位階層である第２階層の時系列シーケンス予測部２０３は、時系列シーケンス予測部２０１と同様に、パターン学習モデルを用いて、時系列データを予測する複数の予測モジュールを有する。
【０２７１】
そして、時系列シーケンス予測部２０３の予測モジュールは、モデルパラメータシーケンス生成部２０２からのモデルパラメータの系列、すなわち、下位階層（時系列シーケンス予測部２０３の階層の直下の階層）の時系列シーケンス予測部２０１が有するパターン学習モデルを定義するモデルパラメータの系列を用いて、時系列データとしてのモデルパラメータの予測を行う。
【０２７２】
図１６は、図１５の予測装置の処理を説明するフローチャートである。
【０２７３】
第１階層の時系列シーケンス予測部２０１は、外部から、時系列データが供給されるのを待って、ステップＳ１０１において、外部からの時系列データを、パターン学習モデルに与えて、その時系列データを予測する予測処理（第１階層の予測処理）を行う。
【０２７４】
さらに、第１階層の時系列シーケンス予測部２０１は、予測に用いたパターン学習モデルのモデルパラメータを、モデルパラメータシーケンス生成部２０２に供給して、処理は、ステップＳ１０１からステップＳ１０２に進む。
【０２７５】
ステップＳ１０２では、モデルパラメータシーケンス生成部２０２は、時系列シーケンス予測部２０１からのモデルパラメータの系列を生成し、第２階層の時系列シーケンス予測部２０３に供給して、処理は、ステップＳ１０３に進む。
【０２７６】
ステップＳ１０３では、第２階層の時系列シーケンス予測部２０３が、モデルパラメータシーケンス生成部２０２からのモデルパラメータの系列、つまり、下位階層（図１５では、第１階層）の時系列シーケンス予測部２０１が予測に用いたパターン学習モデルのモデルパラメータの系列を用いて、そのモデルパラメータを予測する予測処理（第２階層の予測処理）を行い、処理は終了する。
【０２７７】
［時系列シーケンス予測部２０１の構成例］
【０２７８】
図１７は、図１５の最下位階層である第１階層（最上位階層以外の階層）の時系列シーケンス予測部２０１の構成例を示すブロック図である。
【０２７９】
図１７において、時系列シーケンス予測部２０１は、時系列データ入力部２１１、N個の予測モジュール２２０1ないし２２０N、担当モジュール決定部２３１、予測シーケンス出力部２３２、及び、モデルパラメータ出力部２３３から構成される。
【０２８０】
時系列データ入力部２１１には、外部から、時系列データが供給される。時系列データ入力部２１１は、外部からの時系列データを受信し、N個の予測モジュール２２０1ないし２２０Nに供給する。
【０２８１】
予測モジュール２２０iは、モデル記憶部２２１i、予測部２２２i、予測値出力部２２３i、及び、予測誤差計算部２２４iから構成され、時系列データ入力部２１１からの時系列データに対して、その時系列データの予測値と、その予測値の予測誤差とを求める。
【０２８２】
すなわち、モデル記憶部２２１iは、図３又は図６の時系列シーケンス学習部１１で学習が行われた後の、モデル記憶部３３iに記憶されたパターン学習モデルとしての、例えば、RNN#i（のウエイトマトリクス）を記憶している。
【０２８３】
予測部２２２iには、時系列データ入力部２１１からの時系列データが供給される。予測部２２２iは、時系列データ入力部２１１からの時系列データを入力データとして、モデル記憶部２２１iに記憶されたRNN#iに与えることで、その入力データの次の時刻の入力データの予測値である出力データを求め、予測値出力部２２３i、及び、予測誤差計算部２２４iに供給する。
【０２８４】
予測値出力部２２３iは、予測部２２２iからの予測値（以下、予測値#iともいう）を受信し、予測シーケンス出力部２３２に供給する。
【０２８５】
予測誤差計算部２２４iは、予測部２２２iからの予測値#iの予測誤差を求め、担当モジュール決定部２３１に供給する。すなわち、予測誤差計算部２２４iは、予測部２２２iからの予測値#iと、時系列データ入力部２１１からの時系列データ（のうちの、予測値#iの真値）との差分をとることで、予測値#iの予測誤差を求めて、担当モジュール決定部２３１に供給する。
【０２８６】
担当モジュール決定部２３１は、予測誤差計算部２２４1ないし２２４Nそれぞれからの予測誤差に基づき、時系列データ入力部２１１からの時系列データの認識結果となる、その時系列データの予測を担当させることが適切な担当モジュールとなる予測モジュール２２０iを決定する。
【０２８７】
すなわち、担当モジュール決定部２３１は、予測誤差計算部２２４1ないし２２４Nそれぞれからの予測誤差に基づき、予測モジュール２２０1ないし３０Nのうちの、予測誤差が最小の予測値が得られる予測モジュール２２０iを、担当モジュールに決定する。
【０２８８】
そして、担当モジュール決定部２３１は、担当モジュールを表す情報を、予測シーケンス出力部２３２と、モデルパラメータ出力部２３３とに供給する。
【０２８９】
ここで、担当モジュール決定部２３１では、例えば、１時刻ごと（時系列データ入力部２１１からの時系列データの１サンプルごと）に、担当モジュールを決定することができる。
【０２９０】
また、担当モジュール決定部２３１では、例えば、１時刻を越える所定の時間ごと（時系列データ入力部２１１からの時系列データの複数サンプルごと）に、担当モジュールを決定することができる。所定の時間ごとに、担当モジュールを決定する場合には、担当モジュール決定部２３１では、予測モジュール２２０1ないし２２０Nのうちの、例えば、予測誤差計算部２２４iからの、所定の時間分の予測誤差の総和が最小の予測モジュール２２０iが、担当モジュールに決定される。
【０２９１】
予測シーケンス出力部２３２は、担当モジュール決定部２３１からの情報に基づき、担当モジュールとなった予測モジュール２２０iを認識する。さらに、予測シーケンス出力部２３２は、担当モジュールとなった予測モジュール２２０iの予測値出力部２２３1から供給される予測値#iを、時系列データ入力部２１１からの時系列データの予測値として出力する。
【０２９２】
ここで、時系列データ入力部２１１からの時系列データが、例えば、上述したような、ロボットのアクションデータとセンサデータをコンポーネントとするベクトル（以下、センサアクションデータともいう）である場合には、予測シーケンス出力部２３２が出力する時系列データの予測値、すなわち、センサアクションデータの予測値は、ロボットに供給される。ロボットは、そのセンサアクションデータの予測値のうちの、アクションデータの予測値に従ったアクションを行う。
【０２９３】
モデルパラメータ出力部２３３は、担当モジュール決定部２３１からの情報に基づき、担当モジュールとなった予測モジュール２２０iを認識する。さらに、モデルパラメータ出力部２３３は、担当モジュールとなった予測モジュール２２０iのモデル記憶部２２１iに記憶されたモデルパラメータとしての、例えば、ウエイトマトリクスを読み出し、モデルパラメータシーケンス生成部２０２（図１５）に供給する。
【０２９４】
［時系列シーケンス予測部２０３の構成例］
【０２９５】
図１８は、図１５の最上位階層である第２階層の時系列シーケンス予測部２０３の構成例を示すブロック図である。
【０２９６】
図１８において、時系列シーケンス予測部２０３は、時系列データ入力部２４１、複数であるN個の予測モジュール２５０1ないし２５０N、及び、担当モジュール決定部２６１から構成される。
【０２９７】
ここで、時系列シーケンス予測部２０３は、図１７の予測シーケンス出力部２３２、及び、モデルパラメータ出力部２３３に相当するブロックが設けられていないことを除いて、図１７の時系列シーケンス予測部２０１と同様に構成される。
【０２９８】
時系列データ入力部２４１には、第１階層の時系列シーケンス予測部２０１（図１５）から、モデルパラメータシーケンス生成部２０２を経由して、モデルパラメータの系列が、時系列データとして供給される。
【０２９９】
時系列データ入力部２４１は、第１階層の時系列シーケンス予測部２０１から、モデルパラメータシーケンス生成部２０２を経由して供給されるモデルパラメータの系列を受信し、N個の予測モジュール２５０1ないし２５０Nに供給する。
【０３００】
予測モジュール２５０iは、モデル記憶部２５１i、予測部２５２i、及び、予測誤差計算部２５４iから構成され、時系列データ入力部２１１からの時系列データ（モデルパラメータの系列）に対して、その時系列データの予測値、さらには、その予測値の予測誤差とを求める。
【０３０１】
すなわち、モデル記憶部２５１iは、図４又は図７の時系列シーケンス学習部１３で学習が行われた後の、モデル記憶部３３iに記憶されたパターン学習モデルとしての、例えば、RNN#iを記憶している。
【０３０２】
予測部２５２iには、時系列データ入力部２４１からの時系列データが供給される。予測部２５２iは、時系列データ入力部２４１からの時系列データを入力データとして、モデル記憶部２５１iに記憶されたRNN#iに与えることで、その入力データの次の時刻の入力データの予測値#iである出力データを求め、予測誤差計算部２５４iに供給する。
【０３０３】
予測誤差計算部２５４iは、予測部２５２iからの予測値#iの予測誤差を求め、担当モジュール決定部２６１に供給する。すなわち、予測誤差計算部２５４iは、予測部２５２iからの予測値#iと、時系列データ入力部２４１からの時系列データ（のうちの、予測値#iの真値）との差分をとることで、予測値#iの予測誤差を求めて、担当モジュール決定部２６１に供給する。
【０３０４】
担当モジュール決定部２６１は、予測誤差計算部２５４1ないし２５４Nそれぞれからの予測誤差に基づき、時系列データ入力部２４１からの時系列データの認識結果となる、その時系列データの予測を担当させることが適切な担当モジュールとなる予測モジュール２５０iを決定する。
【０３０５】
すなわち、担当モジュール決定部２６１は、予測誤差計算部２５４1ないし２５４Nそれぞれからの予測誤差に基づき、予測モジュール２５０1ないし３０Nのうちの、予測誤差が最小の予測値が得られる予測モジュール２５０iを、担当モジュールに決定する。
【０３０６】
そして、担当モジュール決定部２６１は、担当モジュールを表す情報を、必要に応じて、時系列データ入力部２４１からの時系列データの認識結果として出力する。
【０３０７】
ここで、担当モジュール決定部２６１では、図１７の担当モジュール決定部２３１と同様に、例えば、１時刻ごとや、所定の時間ごとに、担当モジュールを決定することができる。
【０３０８】
［予測処理］
【０３０９】
図１９は、図１７の時系列シーケンス予測部２０１が、図１６のステップＳ１０１で行う第１階層の予測処理を説明するフローチャートである。
【０３１０】
時系列データ入力部２１１は、外部から時系列データが供給されるのを待って、ステップＳ１１１において、その時系列データを受信し、N個の予測モジュール２２０1ないし２２０Nに供給して、処理は、ステップＳ１１２に進む。
【０３１１】
ステップＳ１１２では、各予測モジュール２２０iにおいて、予測部２２２iが、モデル記憶部２２１iから、パターン学習モデルのモデルパラメータとしての、例えば、RNN#iのウエイトマトリクスを読み込み、処理は、ステップＳ１１３に進む。
【０３１２】
ステップＳ１１３では、各予測モジュール２２０iにおいて、予測部２２２iが、ステップＳ１１２で読み込んだウエイトマトリクスで定義されるRNN#iに対して、時系列データ入力部２１１から供給される時系列データを入力データとして与えることで、その入力データの次の時刻の入力データの予測値#iである出力データを求め、予測値出力部２２３i、及び、予測誤差計算部２２４iに供給する。
【０３１３】
そして、予測値出力部２２３iが、予測部２２２iからの予測値#iを受信し、予測シーケンス出力部２３２に供給して、処理は、ステップＳ１１３からステップＳ１１４に進む。
【０３１４】
ステップＳ１１４では、予測モジュール２２０1ないし２２０Nが、予測値#1ないし#Nの予測誤差を求め、担当モジュール決定部２３１に供給して、処理は、ステップＳ１１４からＳ１１５に進む。
【０３１５】
ステップＳ１１５では、担当モジュール決定部２３１が、予測誤差計算部２２４1ないし２２４Nそれぞれからの、予測値#1ないし#Nの予測誤差に基づき、例えば、１時刻ごとに、予測誤差が最小の予測値が得られた予測モジュール２２０iを担当モジュールに決定する。さらに、担当モジュール決定部２３１は、担当モジュールの情報を、予測シーケンス出力部２３２、及び、モデルパラメータ出力部２３３に供給して、処理は、ステップＳ１１５からステップＳ１１６に進む。
【０３１６】
ステップＳ１１６では、モデルパラメータ出力部２３３は、担当モジュール決定部２３１からの情報に基づき、各時刻に担当モジュールとなった予測モジュール２２０iのモデル記憶部２２１iに記憶されたモデルパラメータとしての、例えば、RNN#iのウエイトマトリクスを読み出し、モデルパラメータシーケンス生成部２０２（図１５）に供給する。
【０３１７】
そして、処理は、ステップＳ１１６からステップステップＳ１１７に進み、予測シーケンス出力部２３２が、担当モジュール決定部２３１からの情報に基づき、各時刻に担当モジュールとなった予測モジュール２２０iの予測値出力部２２３1から供給される予測値#iを、時系列データ入力部２１１からの時系列データの予測値として出力して、予測処理は終了する。
【０３１８】
なお、図１０の時系列シーケンス予測部２０３が、図６のステップＳ１０３で行う第２階層の予測処理では、ステップＳ１１１で、時系列データ入力部２４１が受信するのが、時系列シーケンス予測部２０１から、モデルパラメータシーケンス生成部２０２を経由して供給されるモデルパラメータの系列である点、ステップＳ１１６で、モデルパラメータを出力することが行われない（ステップＳ１１６の処理が行われない）点、及び、ステップＳ１１７で、予測値を出力することが行われない（ステップＳ１１７の処理が行われない）点を除けば、図１９の予測処理と同様の処理が行われるため、説明を省略する。
【０３１９】
［予測装置の他の実施の形態］
【０３２０】
図１５では、予測装置の階層構造を、２階層の階層構造としたが、予測装置の階層構造は、３階層以上の階層構造とすることができる。
【０３２１】
すなわち、図２０は、本発明の情報処理装置を適用した予測装置の他の一実施の形態の構成例を示すブロック図である。
【０３２２】
なお、図中、図１５の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【０３２３】
図２０の予測装置では、パターン学習モデルを用いた予測を行う複数の予測モジュールを有する複数の予測手段としての３つの時系列シーケンス予測部２０１，２０３、及び２０４が、３階層の階層構造を構成するように接続されている。
【０３２４】
すなわち、図２０では、最下位階層である第１階層の時系列シーケンス予測部２０１と、最下位階層から２番目の階層である第２階層の時系列シーケンス予測部２０４とが、上位階層と下位階層との間のインタフェースとなるモデルパラメータシーケンス生成部２０２を介して接続されている。
【０３２５】
さらに、図２０では、第２階層の時系列シーケンス予測部２０４と、最上位階層である第３階層の時系列シーケンス予測部２０３とが、上位階層と下位階層との間のインタフェースとなるモデルパラメータシーケンス生成部２０５を介して接続されている。
【０３２６】
第２階層の時系列シーケンス予測部２０４は、最下位階層である第１階層の時系列シーケンス予測部２０１と同様に構成される。
【０３２７】
そして、時系列シーケンス予測部２０４は、モデルパラメータシーケンス生成部２０２から供給されるモデルパラメータの系列を、時系列データとして、パターン学習モデルに与えて、そのモデルパラメータの予測を行い、その予測に用いたパターン学習モデル（担当モジュールとなっている予測モジュールが有するパターン学習モデル）のモデルパラメータを、モデルパラメータシーケンス生成部２０５に供給する。
【０３２８】
モデルパラメータシーケンス生成部２０５は、モデルパラメータシーケンス生成部２０２と同様に構成される。モデルパラメータシーケンス生成部２０５は、第２階層の時系列シーケンス予測部２０４から供給されるモデルパラメータから、最上位階層である第３階層に与えるモデルパラメータの系列（時系列シーケンス予測部２０４のリソースダイナミクス）を生成し、第３階層の時系列シーケンス予測部２０３に供給する。
【０３２９】
図２１は、図２０の予測装置の処理を説明するフローチャートである。
【０３３０】
第１階層の時系列シーケンス予測部２０１は、外部から、時系列データが供給されるのを待って、ステップＳ１３１において、外部からの時系列データを、パターン学習モデルに与えて、その時系列データを予測する予測処理（第１階層の予測処理）を行う。
【０３３１】
さらに、第１階層の時系列シーケンス予測部２０１は、予測に用いたパターン学習モデルのモデルパラメータを、モデルパラメータシーケンス生成部２０２に供給して、処理は、ステップＳ１３１からステップＳ１３２に進む。
【０３３２】
ステップＳ１３２では、モデルパラメータシーケンス生成部２０２は、時系列シーケンス予測部２０１からのモデルパラメータの系列を生成し、第２階層の時系列シーケンス予測部２０４に供給して、処理は、ステップＳ１３３に進む。
【０３３３】
ステップＳ１３３では、第２階層の時系列シーケンス予測部２０４が、モデルパラメータシーケンス生成部２０２からのモデルパラメータの系列、つまり、下位階層（図２０では、第１階層）の時系列シーケンス予測部２０１が予測に用いたパターン学習モデルのモデルパラメータの系列を用いて、そのモデルパラメータを予測する予測処理（第２階層の予測処理）を行う。
【０３３４】
さらに、第２階層の時系列シーケンス予測部２０４は、予測に用いたパターン学習モデルのモデルパラメータを、モデルパラメータシーケンス生成部２０５に供給して、処理は、ステップＳ１３３からステップＳ１３４に進む。
【０３３５】
ステップＳ１３４では、モデルパラメータシーケンス生成部２０５は、時系列シーケンス予測部２０４からのモデルパラメータの系列を生成し、最上位階層である第３階層の時系列シーケンス予測部２０３に供給して、処理は、ステップＳ１３５に進む。
【０３３６】
ステップＳ１３５では、第３階層の時系列シーケンス予測部２０３が、モデルパラメータシーケンス生成部２０５からのモデルパラメータの系列、つまり、下位階層（図２０では、第２階層）の時系列シーケンス予測部２０４が予測に用いたパターン学習モデルのモデルパラメータの系列を用いて、そのモデルパラメータを予測する予測処理（第３階層の予測処理）を行い、処理は終了する。
【０３３７】
［シミュレーション結果］
【０３３８】
次に、本件発明者が、図１の学習装置、及び、図１５の予測装置について行ったシミュレーションについて説明する。
【０３３９】
シミュレーションとしては、自律的に移動する移動ロボットを、所定の環境（移動環境）の中を移動させるシミュレーションを行った。
【０３４０】
図２２は、移動ロボットが移動する移動環境の概要を説明する図である。
【０３４１】
移動環境としては、光源が設置され、四方が壁で囲まれた２次元平面を採用した。移動ロボットは、移動環境を自由に移動することができるが、壁をすり抜けて移動することはできない。なお、移動環境には、四方を囲む壁の他に、移動環境の内部に、障害物となる壁が存在する。
【０３４２】
また、移動ロボットには、移動ロボットから周囲の８方向それぞれについて、壁（移動環境を囲む壁と、移動環境内の障害物としての壁との両方を含む）までの距離をセンシングする距離センサ、及び、光の強度をセンシングする光センサを搭載した。
【０３４３】
また、移動ロボットは、水平方向（x方向）の移動量mxと、垂直方向（y方向）の移動量myとを表すベクトルである移動ベクトル(mx,my)を、アクションデータとして与えると、その移動ベクトル(mx,my)だけ移動する。
【０３４４】
シミュレーションでは、以上のような移動ロボットを採用し、移動ロボットに与えるセンサアクションデータ、及び、移動ロボットから観測されるセンサアクションデータとして、アクションデータとしての移動ベクトル(mx,my)、並びに、センサデータとしての、距離センサが出力する、８方向それぞれについての距離d1,d2,d3,d4,d5,d6,d7,d8、及び、光センサが出力する、８方向それぞれについての光の強度l1,l2,l3,l4,l5,l6,l7,l8をコンポーネントとする１８次元のベクトル(mx,my,d1,d2,d3,d4,d5,d6,d7,d8,l1,l2,l3,l4,l5,l6,l7,l8)を採用した。
【０３４５】
なお、センサアクションデータは、移動ロボットが自律的に移動した場合も、人が手動で、移動ロボットを移動させた場合も、移動ロボットから観測することができる。
【０３４６】
図２３は、シミュレーションで採用した移動環境を示す平面図である。
【０３４７】
移動環境は、四方が壁で囲まれた長方形の２次元平面であり、移動環境内には、障害物としての２つの壁が存在する。２つの壁は、移動環境の下部に、移動ロボットの水平方向の移動を妨げるように設けられている。なお、２つの壁は、長方形の移動環境を２等分する垂直方向の直線に対して、線対称となるように、左側と右側とに設けられている。
【０３４８】
さらに、移動環境内には、移動環境の下部の、長方形の移動環境を２等分する垂直方向の直線（以下、単に、垂直方向直線ともいう）上に、１つの光源が設けられている。
【０３４９】
したがって、移動環境は、垂直方向直線に対して、線対称になっており、移動環境のある位置と、その位置と垂直方向直線に対して線対称の位置とでは、同一のセンサデータが得られる。
【０３５０】
図２４は、図１の学習装置に与える、学習データとなる時系列データとしての、移動ロボットの、移動環境の移動の軌跡（行動シーケンス）を示す図である。
【０３５１】
なお、図１の学習装置に与えられる学習データは、図２４の軌跡そのものではなく、図２４の軌跡に沿って移動ロボットを移動させた場合に、移動ロボットにおいて観測されるセンサアクションデータの時系列である。
【０３５２】
図２４の軌跡（行動シーケンス）は、移動環境内を、壁を避けながら、円を描くように移動する反射行動が行われる場合に、移動環境内に描かれる軌跡であり、学習装置では、そのような反射行動が学習される。
【０３５３】
シミュレーションでは、3000サンプル（ステップ）の学習データ（3000時刻分の学習データ）を用い、最下位階層である第１階層の複数のパターン学習モデルとしての100個のRNNの学習を、分節学習によって行った。
【０３５４】
図２５は、最下位階層である第１階層の100個のRNNを、そのRNNのウエイトマトリクスを用い、k-means法によって、10個のクラスタ（カテゴリ）にクラスタリングした、その10個のクラスタを示す図である。
【０３５５】
なお、図２５において、"C"と数字#kとでなる文字列C#kは、10個のクラスタのうちの、k番目のクラスタを表す。さらに、クラスタを表す文字列C#kの右側のかっこ内の数字は、クラスタC#kに属するRNNのウエイトマトリクスの分散に相当する値である。
【０３５６】
また、図２５では、クラスタC#kを、そのクラスタC#kに属するRNNが学習した、移動環境中の軌跡（上述したように、学習するのは、軌跡そのものではなく、その軌跡に沿って移動ロボットを移動させた場合に、移動ロボットにおいて観測されるセンサアクションデータの時系列）によって表している。
【０３５７】
さらに、図２５において、クラスタC#kとしての軌跡中に付してある３桁の数字は、その軌跡を学習（獲得）したRNNを識別するモデルIDである。
【０３５８】
図２５によれば、最下位階層である第１階層の100個のRNNは、基本的に、移動環境中の、ある特定の領域内の軌跡を学習したRNNごとにクラスタリングされることを確認することができる。
【０３５９】
したがって、移動ロボットで観測されるセンサアクションデータを学習後のRNNの入力として、最下位階層である第１階層の100個のRNNの中から、予測誤差が最小になる予測値が得られるRNN（以下、勝者(winner)ともいう）を特定することによって、移動ロボットが存在する移動環境内の位置を同定することができる。
【０３６０】
なお、図２５において、カテゴリC7には、移動環境中の左側の壁の左側の領域内の軌跡を学習したRNNと、右側の壁の右側の領域内の軌跡を学習したRNNとの両方がクラスタリングされている。これは、移動環境中の左側の壁の左側の領域と、右側の壁の右側の領域とでは、局所的には、同様のセンサアクションデータの時系列が観測されることが原因であると考えられる。
【０３６１】
したがって、最下位階層である第１階層の100個のRNNのうちの、カテゴリC7に属するRNNが勝者となる場合には、その、最下位階層である第１階層の勝者だけからでは、移動環境中の左側の壁の左側の領域と、右側の壁の右側の領域とのうちの、いずれの領域に、移動ロボットが存在するのかを同定することが困難となる。
【０３６２】
シミュレーションでは、最上位階層である第２階層の複数のパターン学習モデルとして、32個のRNNを用意し、その32個のRNNの分節学習を、最下位階層である第１階層の100個のRNNのウエイトマトリクスの時系列を用いて行った。
【０３６３】
図２６ないし図２８は、最下位階層である第１階層の100個のRNN、及び、最上位階層である第２階層の32個のRNNの学習後の予測処理において、勝者となるRNN（担当モジュールとなる予測モジュールが有するRNN）が学習した、移動環境中の軌跡（上述したように、学習するのは、軌跡そのものではなく、その軌跡に沿って移動ロボットを移動させた場合に、移動ロボットにおいて観測されるセンサアクションデータの時系列）を示す図である。
【０３６４】
すなわち、図２６は、移動ロボットが、移動環境内の光源の近くに位置する場合に勝者となるRNNが学習した軌跡を示している。
【０３６５】
図２６Ａは、移動ロボットが存在する移動環境中の位置を示している。図２６Ａでは、移動ロボットは、移動環境内の光源の近くに位置する。なお、図２６Ａにおいて（図２７及び図２８でも同様）、点線の円は、移動ロボットに搭載された距離センサと、光センサとがセンシングを行うことができる範囲を表す。
【０３６６】
図２６Ｂは、移動ロボットが、図２６Ａの位置を移動している場合に、最下位階層である第１階層の100個のRNNの中で、勝者となるRNNが学習した軌跡と、そのRNNと同一のクラスタにクラスタリングされるRNNが学習した軌跡とを示している。
【０３６７】
図２６Ｃは、移動ロボットが、図２６Ａの位置を移動している場合に、最上位階層である第２階層の32個のRNNの中で、勝者となるRNNが学習した軌跡を示している。
【０３６８】
ここで、最上位階層である第２階層のRNNは、移動環境中の軌跡を、いわば直接的に学習するのではなく、最下位階層である第１階層のRNNが学習した軌跡を、そのRNNのモデルパラメータの学習を通じて、いわば間接的に学習する。最上位階層である第２階層のRNNが学習した軌跡とは、そのような間接的に学習がされた軌跡である。
【０３６９】
図２６によれば、移動ロボットが、移動環境内の光源の近くに位置する場合に、その位置付近の軌跡を学習したRNNが、最下位階層である第１階層、及び、最上位階層である第２階層のいずれにおいても、勝者になっていることを確認することができる。
【０３７０】
図２７は、移動ロボットが、移動環境内の左側の壁の左側に位置する場合に勝者となるRNNが学習した軌跡を示している。
【０３７１】
図２７Ａは、移動ロボットが存在する移動環境中の位置を示している。図２７Ａでは、移動ロボットは、移動環境内の左側の壁の左側に位置する。
【０３７２】
図２７Ｂは、移動ロボットが、図２７Ａの位置を移動している場合に、最下位階層である第１階層の100個のRNNの中で、勝者となるRNNが学習した軌跡と、そのRNNと同一のクラスタにクラスタリングされるRNNが学習した軌跡とを示している。
【０３７３】
図２７Ｃは、移動ロボットが、図２７Ａの位置を移動している場合に、最上位階層である第２階層の32個のRNNの中で、勝者となるRNNが学習した軌跡を示している。
【０３７４】
図２７Ｂによれば、移動ロボットが、移動環境内の左側の壁の左側に位置する場合に、最下位階層である第１階層では、移動ロボットが存在する位置付近の軌跡を学習したRNNが勝者になることもあるし、移動ロボットが存在する位置ではない、移動環境内の右側の壁の右側に位置付近の軌跡を学習したRNNが勝者になることもあって、移動ロボットの位置の同定が誤りやすいことを確認することができる。
【０３７５】
一方、図２７Ｃによれば、移動ロボットが、移動環境内の左側の壁の左側に位置する場合に、最上位階層である第２階層では、移動ロボットが存在する位置付近の軌跡を学習したRNNが勝者になり、移動ロボットの位置を同定することができることを確認することができる。
【０３７６】
図２８は、移動ロボットが、移動環境内の右側の壁の右側に位置する場合に勝者となるRNNが学習した軌跡を示している。
【０３７７】
図２８Ａは、移動ロボットが存在する移動環境中の位置を示している。図２８Ａでは、移動ロボットは、移動環境内の右側の壁の右側に位置する。
【０３７８】
図２８Ｂは、移動ロボットが、図２８Ａの位置を移動している場合に、最下位階層である第１階層の100個のRNNの中で、勝者となるRNNが学習した軌跡と、そのRNNと同一のクラスタにクラスタリングされるRNNが学習した軌跡とを示している。
【０３７９】
図２８Ｃは、移動ロボットが、図２８Ａの位置を移動している場合に、最上位階層である第２階層の32個のRNNの中で、勝者となるRNNが学習した軌跡を示している。
【０３８０】
図２８Ｂによれば、移動ロボットが、移動環境内の右側の壁の右側に位置する場合に、最下位階層である第１階層では、移動ロボットが存在する位置付近の軌跡を学習したRNNが勝者になることもあるし、移動ロボットが存在する位置ではない、移動環境内の左側の壁の左側に位置付近の軌跡を学習したRNNが勝者になることもあって、移動ロボットの位置の同定が誤りやすいことを確認することができる。
【０３８１】
一方、図２８Ｃによれば、移動ロボットが、移動環境内の右側の壁の右側に位置する場合に、最上位階層である第２階層では、移動ロボットが存在する位置付近の軌跡を学習したRNNが勝者になり、移動ロボットの位置を同定することができることを確認することができる。
【０３８２】
以上のように、階層構造の下位階層と上位階層との間のインタフェースとして、下位階層のパターン学習モデルのモデルパラメータの系列を用いることにより、容易に（再学習なしで）、追加学習を行うことが可能となる。
【０３８３】
また、下位階層のパターン学習モデル（のモデルパラメータ（最下位階層については、外部からの時系列データ））どうしの距離構造が、上位階層のパターン学習モデルに伝播され、認識のロバスト性の向上が期待できる。
【０３８４】
なお、図１等の学習装置、及び、図１５等の予測装置に対して、外部から与える時系列データは、特に限定されるものではない。すなわち、外部から与える時系列データとしては、例えば、PC(Personal Computer)のUI(User Interface)をユーザが操作したときの、その操作の内容を表すデータの時系列や、センサ及びアクチュエータを有するロボットのセンサが出力する信号（センサデータ）と、アクチュエータに与えられる駆動信号（アクションデータ）とをコンポーネントとするベクトルの時系列等を採用することができる。また、外部から与える時系列データとしては、例えば、音楽や音声その他の音のデータの時系列や、画像のデータの時系列、言語処理の対象となる文字列としての音素や、単語、文のデータの時系列等を採用することができる。
【０３８５】
また、本実施の形態では、下位階層の複数のパターン学習モデルすべてのモデルパラメータを、上位階層のパターン学習モデルに与えて、学習処理や予測処理を行うこととしたが、上位階層のパターン学習モデルに与えるモデルパラメータは、下位階層の複数のパターン学習モデルの一部のモデルパラメータであっても良い。
【０３８６】
すなわち、分節学習では、下位階層の複数のパターン学習モデルのうちの、２以上のパターン学習モデルの学習が、同じような時系列パターンの時系列データを用いて行われることがあり、この場合、その２以上のパターン学習モデルのモデルパラメータは、類似したパラメータとなる。このような場合、モデルパラメータが類似する２以上のパターン学習モデルについては、その２以上のパターン学習モデルのうちの、例えば、１つのパターン学習モデルを代表として、その代表のパターン学習モデルのモデルパラメータだけを、上位階層に与えることができる。
【０３８７】
また、本実施の形態では、下位階層のパターン学習モデルのモデルパラメータのすべてを、上位階層のパターン学習モデルに与えて、学習処理や予測処理を行うこととしたが、上位階層のパターン学習モデルに与えるモデルパラメータは、下位階層のパターン学習モデルのモデルパラメータの一部であっても良い。
【０３８８】
さらに、本実施の形態では、図９で説明したように、分節学習において、共有処理を行うようにしたが、分節学習を行う場合に、共有処理は、必ずしも行わなくて良い。
【０３８９】
［本発明を適用したコンピュータの説明］
【０３９０】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０３９１】
そこで、図２９は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０３９２】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク３０５やROM３０３に予め記録しておくことができる。
【０３９３】
あるいはまた、プログラムは、リムーバブル記録媒体３１１に格納（記録）しておくことができる。このようなリムーバブル記録媒体３１１は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体３１１としては、例えば、フレキシブルディスク、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)やスピーカ等で構成される。
【０３９９】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含む。
【０４００】
また、プログラムは、１のコンピュータ（プロセッサ）により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０４０１】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０４０２】
１１  時系列シーケンス学習部，  １２  モデルパラメータシーケンス生成部，  １３，１４  時系列シーケンス学習部，  １５  モデルパラメータシーケンス生成部，  ２１  時系列データ入力部，  ３０1ないし３０N  学習モジュール，  ３１1ないし３１N  学習データ入力部，  ３２1ないし３２N  モデル学習部，  ３３1ないし３３N  モデル記憶部，  ３４1ないし３４N  予測部，  ３５1ないし３５N  予測誤差計算部，  ４１  担当モジュール決定部，  ４２  モデルパラメータ出力部，  ５１  時系列データ入力部，  ６０1ないし６０N  学習モジュール，  ６１1ないし６１N  学習データ入力部，  ６２1ないし６２N  モデル学習部，  ６３1ないし６３N  モデル記憶部，  ６４1ないし６４N  予測部，  ６５1ないし６５N  予測誤差計算部，  ７１  担当モジュール決定部，  １０２  データ抽出部，  １２１  モデルパラメータ共有部，  １２２  モデルパラメータ出力部，  １３２  データ抽出部，  １５１  モデルパラメータ共有部，  １９１  ウエイトマトリクス共有部，  ２０１  時系列シーケンス予測部，  ２０２  モデルパラメータシーケンス生成部，  ２０３，２０４  時系列シーケンス予測部，  ２０５  モデルパラメータシーケンス生成部，  ２１１  時系列データ入力部，  ２２０1ないし２２０N  予測モジュール，  ２２１1ないし２２１N  モデル記憶部，  ２２２1ないし２２２N  予測部，  ２２３1ないし２２３N  予測値出力部，  ２２４1ないし２２４N  予測誤差計算部，  ２３１  担当モジュール決定部，  ２３２  予測シーケンス出力部，  ２３３  モデルパラメータ出力部，  ２４１  時系列データ入力部，  ２５０1ないし２５０N  予測モジュール，  ２５１1ないし２５１N  モデル記憶部，  ２５２1ないし２５２N  予測部，  ２５４1ないし２５４N  予測誤差計算部，  ２６１  担当モジュール決定部，  ３０１  バス，  ３０２  CPU，  ３０３  ROM，  ３０４  RAM，  ３０５  ハードディスク，  ３０６  出力部，  ３０７  入力部，  ３０８  通信部，  ３０９  ドライブ，  ３１０  入出力インタフェース，  ３１１  リムーバブル記録媒体
【図１】
2010282556.tif 000006
【図２】
2010282556.tif 000007
【図３】
2010282556.tif 000008
【図４】
2010282556.tif 000009
【図５】
2010282556.tif 000010
【図６】
2010282556.tif 000011
【図７】
2010282556.tif 000012
【図８】
2010282556.tif 000013
【図９】
2010282556.tif 000014
【図１０】
2010282556.tif 000015
【図１１】
2010282556.tif 000016
【図１２】
2010282556.tif 000017
【図１３】
2010282556.tif 000018
【図１４】
2010282556.tif 000019
【図１５】
2010282556.tif 000020
【図１６】
2010282556.tif 000021
【図１７】
2010282556.tif 000022
【図１８】
2010282556.tif 000023
【図１９】
2010282556.tif 000024
【図２０】
2010282556.tif 000025
【図２１】
2010282556.tif 000026
【図２２】
2010282556.tif 000027
【図２３】
2010282556.tif 000028
【図２４】
2010282556.tif 000029
【図２５】
2010282556.tif 000030
【図２６】
2010282556.tif 000031
【図２７】
2010282556.tif 000032
【図２８】
2010282556.tif 000033
【図２９】
2010282556.tif 000034