(57)【要約】【課題】複雑で、長時間の時系列データを、容易に学習し、滑らかな時系列データを生成する。【解決手段】教師データ分割部１２は、時系列データである教師データを、一部がオーバラップする複数のモデル学習用データに分割する。学習部１４は、１つのモデル学習用データを、１つの学習モデルに割り当て、学習モデルの学習を、その学習モデルに割り当てられたモデル学習用データを用いて行う。コネクティビティ算出部１６は、１つの学習モデルが生成する時系列データの最後の一部分と、他の１つの学習モデルが生成する時系列データの最初の一部分との誤差を、１つの学習モデルの後に、他の１つの学習モデルが接続する適切さを表すコネクティビティとして算出する。本発明は、例えば、時系列データの学習、及び生成に適用できる。【選択図】図１
2010067033.tif 000002
【特許請求の範囲】
【請求項１】
時系列データを、一部がオーバラップする複数のデータに分割し、時系列パターンを学習する学習モデルであって、内部状態を有する学習モデルの学習に用いるモデル学習用データとして出力し、
１つの前記モデル学習用データを、１つの前記学習モデルに割り当てるように、前記時系列データを分割することにより得られる複数の前記モデル学習用データを、複数の前記学習モデルに割り当て、前記学習モデルによる時系列パターンの学習を、その学習モデルに割り当てられた前記モデル学習用データを用いて行う
ことにより得られる、学習後の複数の前記学習モデルのうちの、１つの前記学習モデルを、時系列データの生成に用いる前記学習モデルのシーケンスである生成用モデルシーケンスの始点となる始点モデルとして選択する始点モデル選択手段と、
複数の前記学習モデルのうちの、他の１つの前記学習モデルを、前記生成用モデルシーケンスの終点となる終点モデルとして選択する終点モデル選択手段と、
複数の前記学習モデルすべてについて、１つの前記学習モデルが生成する時系列データの最後の一部分のデータ列と、他の１つの前記学習モデルが生成する時系列データの最初の一部分のデータ列との誤差を表す値を、１つの前記学習モデルが学習した前記時系列パターンの後に、他の１つの前記学習モデルが学習した前記時系列パターンが接続する適切さを表すコネクティビティとして算出する
ことにより得られる前記コネクティビティに対応する値を、１つの前記学習モデルの後に、他の１つの前記学習モデルを接続する接続コストとして、前記接続コストの累積値を最小にする、前記始点モデルから前記終点モデルまでの前記学習モデルの並びを、前記生成用モデルシーケンスとして求める生成用モデルシーケンス算出手段と、
前記生成用モデルシーケンスを構成する前記学習モデルについて、前記学習モデルが生成する時系列データの最後の一部分のデータ列と、後に接続される前記学習モデルが生成する時系列データの最初の一部分のデータ列との誤差を小さくするように、前記学習モデルの前記内部状態の初期値を決定し、その初期値を、前記学習モデルに与えて、時系列データを生成する時系列データ生成手段と
を備えるデータ処理装置。
【請求項２】
前記学習モデルは、RNN(Recurrent Neural Network)である
請求項１に記載のデータ処理装置。
【請求項３】
データ処理装置が、
時系列データを、一部がオーバラップする複数のデータに分割し、時系列パターンを学習する学習モデルであって、内部状態を有する学習モデルの学習に用いるモデル学習用データとして出力し、
１つの前記モデル学習用データを、１つの前記学習モデルに割り当てるように、前記時系列データを分割することにより得られる複数の前記モデル学習用データを、複数の前記学習モデルに割り当て、前記学習モデルによる時系列パターンの学習を、その学習モデルに割り当てられた前記モデル学習用データを用いて行う
ことにより得られる、学習後の複数の前記学習モデルのうちの、１つの前記学習モデルを、時系列データの生成に用いる前記学習モデルのシーケンスである生成用モデルシーケンスの始点となる始点モデルとして選択し、
複数の前記学習モデルのうちの、他の１つの前記学習モデルを、前記生成用モデルシーケンスの終点となる終点モデルとして選択し、
複数の前記学習モデルすべてについて、１つの前記学習モデルが生成する時系列データの最後の一部分のデータ列と、他の１つの前記学習モデルが生成する時系列データの最初の一部分のデータ列との誤差を表す値を、１つの前記学習モデルが学習した前記時系列パターンの後に、他の１つの前記学習モデルが学習した前記時系列パターンが接続する適切さを表すコネクティビティとして算出する
ことにより得られる前記コネクティビティに対応する値を、１つの前記学習モデルの後に、他の１つの前記学習モデルを接続する接続コストとして、前記接続コストの累積値を最小にする、前記始点モデルから前記終点モデルまでの前記学習モデルの並びを、前記生成用モデルシーケンスとして求め、
前記生成用モデルシーケンスを構成する前記学習モデルについて、前記学習モデルが生成する時系列データの最後の一部分のデータ列と、後に接続される前記学習モデルが生成する時系列データの最初の一部分のデータ列との誤差を小さくするように、前記学習モデルの前記内部状態の初期値を決定し、その初期値を、前記学習モデルに与えて、時系列データを生成する
ステップを含むデータ処理方法。
【請求項４】
時系列データを、一部がオーバラップする複数のデータに分割し、時系列パターンを学習する学習モデルであって、内部状態を有する学習モデルの学習に用いるモデル学習用データとして出力し、
１つの前記モデル学習用データを、１つの前記学習モデルに割り当てるように、前記時系列データを分割することにより得られる複数の前記モデル学習用データを、複数の前記学習モデルに割り当て、前記学習モデルによる時系列パターンの学習を、その学習モデルに割り当てられた前記モデル学習用データを用いて行う
ことにより得られる、学習後の複数の前記学習モデルのうちの、１つの前記学習モデルを、時系列データの生成に用いる前記学習モデルのシーケンスである生成用モデルシーケンスの始点となる始点モデルとして選択する始点モデル選択手段と、
複数の前記学習モデルのうちの、他の１つの前記学習モデルを、前記生成用モデルシーケンスの終点となる終点モデルとして選択する終点モデル選択手段と、
複数の前記学習モデルすべてについて、１つの前記学習モデルが生成する時系列データの最後の一部分のデータ列と、他の１つの前記学習モデルが生成する時系列データの最初の一部分のデータ列との誤差を表す値を、１つの前記学習モデルが学習した前記時系列パターンの後に、他の１つの前記学習モデルが学習した前記時系列パターンが接続する適切さを表すコネクティビティとして算出する
ことにより得られる前記コネクティビティに対応する値を、１つの前記学習モデルの後に、他の１つの前記学習モデルを接続する接続コストとして、前記接続コストの累積値を最小にする、前記始点モデルから前記終点モデルまでの前記学習モデルの並びを、前記生成用モデルシーケンスとして求める生成用モデルシーケンス算出手段と、
前記生成用モデルシーケンスを構成する前記学習モデルについて、前記学習モデルが生成する時系列データの最後の一部分のデータ列と、後に接続される前記学習モデルが生成する時系列データの最初の一部分のデータ列との誤差を小さくするように、前記学習モデルの前記内部状態の初期値を決定し、その初期値を、前記学習モデルに与えて、時系列データを生成する時系列データ生成手段と
して、コンピュータを機能させるためのプログラム。
【請求項５】
時系列データを、一部がオーバラップする複数のデータに分割し、時系列パターンを学習する学習モデルであって、内部状態を有する学習モデルの学習に用いるモデル学習用データとして出力する分割手段と、
１つの前記モデル学習用データを、１つの前記学習モデルに割り当てるように、前記時系列データを分割することにより得られる複数の前記モデル学習用データを、複数の前記学習モデルに割り当て、前記学習モデルによる時系列パターンの学習を、その学習モデルに割り当てられた前記モデル学習用データを用いて行う学習手段と、
複数の前記学習モデルすべてについて、１つの前記学習モデルが生成する時系列データの最後の一部分のデータ列と、他の１つの前記学習モデルが生成する時系列データの最初の一部分のデータ列との誤差を、１つの前記学習モデルが学習した前記時系列パターンの後に、他の１つの前記学習モデルが学習した前記時系列パターンが接続する適切さを表すコネクティビティとして算出するコネクティビティ算出手段と
を備えるデータ処理装置。
【請求項６】
前記学習モデルは、RNN(Recurrent Neural Network)である
請求項５に記載のデータ処理装置。
【請求項７】
データ処理装置が、
時系列データを、一部がオーバラップする複数のデータに分割し、時系列パターンを学習する学習モデルであって、内部状態を有する学習モデルの学習に用いるモデル学習用データとして出力し、
１つの前記モデル学習用データを、１つの前記学習モデルに割り当てるように、前記時系列データを分割することにより得られる複数の前記モデル学習用データを、複数の前記学習モデルに割り当て、前記学習モデルによる時系列パターンの学習を、その学習モデルに割り当てられた前記モデル学習用データを用いて行い、
複数の前記学習モデルすべてについて、１つの前記学習モデルが生成する時系列データの最後の一部分のデータ列と、他の１つの前記学習モデルが生成する時系列データの最初の一部分のデータ列との誤差を、１つの前記学習モデルが学習した前記時系列パターンの後に、他の１つの前記学習モデルが学習した前記時系列パターンが接続する適切さを表すコネクティビティとして算出する
ステップを含むデータ処理方法。
【請求項８】
時系列データを、一部がオーバラップする複数のデータに分割し、時系列パターンを学習する学習モデルであって、内部状態を有する学習モデルの学習に用いるモデル学習用データとして出力する分割手段と、
１つの前記モデル学習用データを、１つの前記学習モデルに割り当てるように、前記時系列データを分割することにより得られる複数の前記モデル学習用データを、複数の前記学習モデルに割り当て、前記学習モデルによる時系列パターンの学習を、その学習モデルに割り当てられた前記モデル学習用データを用いて行う学習手段と、
複数の前記学習モデルすべてについて、１つの前記学習モデルが生成する時系列データの最後の一部分のデータ列と、他の１つの前記学習モデルが生成する時系列データの最初の一部分のデータ列との誤差を、１つの前記学習モデルが学習した前記時系列パターンの後に、他の１つの前記学習モデルが学習した前記時系列パターンが接続する適切さを表すコネクティビティとして算出するコネクティビティ算出手段と
して、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理方法、及び、プログラムに関し、特に、例えば、複雑で、長時間の時系列データを、容易に学習すること、及び、学習結果に基づき、滑らかな時系列データを、精度良く生成することができるようにするデータ処理装置、データ処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
例えば、時系列パターンを、時間差分方程式の形で関数近似し、ダイナミクスとして学習（記憶）する学習モデルしては、例えば、RNN(Recurrent Neural Network)や、SVR(Support Vector Regression)等がある（例えば、特許文献１や２を参照）。
【０００３】
例えば、RNNの学習を、時系列データを用いて行うことで、RNNは、学習に用いられた時系列データの時系列パターンを獲得（記憶）（学習）する。
【０００４】
時系列パターンを学習したRNNによれば、その時系列パターンの時系列データを生成することができる。
【０００５】
また、RNNをSOM(Self-Organizing Maps)のノードとし、勝者ノード(winner)が有するRNNから時系列データを生成するデータ生成の技術が、先に提案されている（例えば、特許文献３や４を参照）。
【０００６】
【特許文献１】特開2007-265345号公報
【特許文献２】特開2006-318319号公報
【特許文献３】特開2007-280066号公報
【特許文献４】特開2007-280067号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、RNN等では、時系列パターンの記憶のメカニズムに、記憶容量の限界がある。そのため、ある程度の規模のRNNによって、複雑で（非線形性が強い）（多次元で）、かつ長時間の時系列パターンを記憶し、そのような時系列パターンの時系列データを、精度良く再構成（生成）することは、困難である。
【０００８】
すなわち、複雑で、かつ長時間の時系列パターンを記憶し、そのような時系列パターンの時系列データを、精度良く生成するには、大規模なRNNが必要となる。しかしながら、大規模なRNNの学習には、膨大な演算量と時間が必要となる。
【０００９】
一方、上述したデータ生成の技術によれば、勝者ノードを順次決定し、勝者ノードが有するRNNから時系列データを生成して、順次出力することで、長時間の時系列データを出力することができる。
【００１０】
しかしながら、この場合、勝者ノードとなるノードが切り替わると、その切り替わりの前後で、時系列データが不連続となる。
【００１１】
そこで、滑らかな時系列データを出力する方法として、勝者ノードとなるノードの切り替わりを抑制する方法（特許文献３）や、時系列データが不連続になっている部分（不連続部分）をスムージングする方法（特許文献４）がある。
【００１２】
しかしながら、勝者ノードとなるノードの切り替わりを抑制する方法では、不連続部分の数が減少するだけで、勝者ノードとなるノードが切り替われば、不連続部分が生じる。
【００１３】
また、不連続部分をスムージングするのでは、勝者ノードとなったノードが有するRNNが記憶している時系列パターンとは異なる時系列パターンの時系列データ（RNNが記憶していない時系列パターンの時系列データ）が得られることがある。
【００１４】
本発明は、このような状況に鑑みてなされたものであり、複雑で、長時間の時系列データを、容易に学習し、また、学習結果に基づき、滑らかな時系列データを、精度良く生成することができるようにするものである。
【課題を解決するための手段】
【００１５】
本発明の第１の側面のデータ処理装置、又は、プログラムは、時系列データを、一部がオーバラップする複数のデータに分割し、時系列パターンを学習する学習モデルであって、内部状態を有する学習モデルの学習に用いるモデル学習用データとして出力し、１つの前記モデル学習用データを、１つの前記学習モデルに割り当てるように、前記時系列データを分割することにより得られる複数の前記モデル学習用データを、複数の前記学習モデルに割り当て、前記学習モデルによる時系列パターンの学習を、その学習モデルに割り当てられた前記モデル学習用データを用いて行うことにより得られる、学習後の複数の前記学習モデルのうちの、１つの前記学習モデルを、時系列データの生成に用いる前記学習モデルのシーケンスである生成用モデルシーケンスの始点となる始点モデルとして選択する始点モデル選択手段と、複数の前記学習モデルのうちの、他の１つの前記学習モデルを、前記生成用モデルシーケンスの終点となる終点モデルとして選択する終点モデル選択手段と、複数の前記学習モデルすべてについて、１つの前記学習モデルが生成する時系列データの最後の一部分のデータ列と、他の１つの前記学習モデルが生成する時系列データの最初の一部分のデータ列との誤差を表す値を、１つの前記学習モデルが学習した前記時系列パターンの後に、他の１つの前記学習モデルが学習した前記時系列パターンが接続する適切さを表すコネクティビティとして算出することにより得られる前記コネクティビティに対応する値を、１つの前記学習モデルの後に、他の１つの前記学習モデルを接続する接続コストとして、前記接続コストの累積値を最小にする、前記始点モデルから前記終点モデルまでの前記学習モデルの並びを、前記生成用モデルシーケンスとして求める生成用モデルシーケンス算出手段と、前記生成用モデルシーケンスを構成する前記学習モデルについて、前記学習モデルが生成する時系列データの最後の一部分のデータ列と、後に接続される前記学習モデルが生成する時系列データの最初の一部分のデータ列との誤差を小さくするように、前記学習モデルの前記内部状態の初期値を決定し、その初期値を、前記学習モデルに与えて、時系列データを生成する時系列データ生成手段とを備えるデータ処理装置、又は、データ処理装置として、コンピュータを機能させるためのプログラムである。
【００１６】
本発明の第１の側面のデータ処理方法は、データ処理装置が、時系列データを、一部がオーバラップする複数のデータに分割し、時系列パターンを学習する学習モデルであって、内部状態を有する学習モデルの学習に用いるモデル学習用データとして出力し、１つの前記モデル学習用データを、１つの前記学習モデルに割り当てるように、前記時系列データを分割することにより得られる複数の前記モデル学習用データを、複数の前記学習モデルに割り当て、前記学習モデルによる時系列パターンの学習を、その学習モデルに割り当てられた前記モデル学習用データを用いて行うことにより得られる、学習後の複数の前記学習モデルのうちの、１つの前記学習モデルを、時系列データの生成に用いる前記学習モデルのシーケンスである生成用モデルシーケンスの始点となる始点モデルとして選択し、複数の前記学習モデルのうちの、他の１つの前記学習モデルを、前記生成用モデルシーケンスの終点となる終点モデルとして選択し、複数の前記学習モデルすべてについて、１つの前記学習モデルが生成する時系列データの最後の一部分のデータ列と、他の１つの前記学習モデルが生成する時系列データの最初の一部分のデータ列との誤差を表す値を、１つの前記学習モデルが学習した前記時系列パターンの後に、他の１つの前記学習モデルが学習した前記時系列パターンが接続する適切さを表すコネクティビティとして算出することにより得られる前記コネクティビティに対応する値を、１つの前記学習モデルの後に、他の１つの前記学習モデルを接続する接続コストとして、前記接続コストの累積値を最小にする、前記始点モデルから前記終点モデルまでの前記学習モデルの並びを、前記生成用モデルシーケンスとして求め、前記生成用モデルシーケンスを構成する前記学習モデルについて、前記学習モデルが生成する時系列データの最後の一部分のデータ列と、後に接続される前記学習モデルが生成する時系列データの最初の一部分のデータ列との誤差を小さくするように、前記学習モデルの前記内部状態の初期値を決定し、その初期値を、前記学習モデルに与えて、時系列データを生成するステップを含むデータ処理方法である。
【００１７】
以上のような第１の側面においては、学習後の複数の前記学習モデルのうちの、１つの前記学習モデルが、始点モデルとして選択されるとともに、他の１つの前記学習モデルが、終点モデルとして選択される。さらに、前記コネクティビティに対応する値を、１つの前記学習モデルの後に、他の１つの前記学習モデルを接続する接続コストとして、前記接続コストの累積値を最小にする、前記始点モデルから前記終点モデルまでの前記学習モデルの並びが、前記生成用モデルシーケンスとして求められる。そして、前記生成用モデルシーケンスを構成する前記学習モデルについて、前記学習モデルが生成する時系列データの最後の一部分のデータ列と、後に接続される前記学習モデルが生成する時系列データの最初の一部分のデータ列との誤差を小さくするように、前記学習モデルの前記内部状態の初期値が決定され、その初期値を、前記学習モデルに与えて、時系列データが生成される。
【００１８】
本発明の第２の側面のデータ処理装置、又は、プログラムは、時系列データを、一部がオーバラップする複数のデータに分割し、時系列パターンを学習する学習モデルであって、内部状態を有する学習モデルの学習に用いるモデル学習用データとして出力する分割手段と、１つの前記モデル学習用データを、１つの前記学習モデルに割り当てるように、前記時系列データを分割することにより得られる複数の前記モデル学習用データを、複数の前記学習モデルに割り当て、前記学習モデルによる時系列パターンの学習を、その学習モデルに割り当てられた前記モデル学習用データを用いて行う学習手段と、複数の前記学習モデルすべてについて、１つの前記学習モデルが生成する時系列データの最後の一部分のデータ列と、他の１つの前記学習モデルが生成する時系列データの最初の一部分のデータ列との誤差を、１つの前記学習モデルが学習した前記時系列パターンの後に、他の１つの前記学習モデルが学習した前記時系列パターンが接続する適切さを表すコネクティビティとして算出するコネクティビティ算出手段とを備えるデータ処理装置、又は、データ処理装置として、コンピュータを機能させるためのプログラムである。
【００１９】
本発明の第２の側面のデータ処理方法は、データ処理装置が、時系列データを、一部がオーバラップする複数のデータに分割し、時系列パターンを学習する学習モデルであって、内部状態を有する学習モデルの学習に用いるモデル学習用データとして出力し、１つの前記モデル学習用データを、１つの前記学習モデルに割り当てるように、前記時系列データを分割することにより得られる複数の前記モデル学習用データを、複数の前記学習モデルに割り当て、前記学習モデルによる時系列パターンの学習を、その学習モデルに割り当てられた前記モデル学習用データを用いて行い、複数の前記学習モデルすべてについて、１つの前記学習モデルが生成する時系列データの最後の一部分のデータ列と、他の１つの前記学習モデルが生成する時系列データの最初の一部分のデータ列との誤差を、１つの前記学習モデルが学習した前記時系列パターンの後に、他の１つの前記学習モデルが学習した前記時系列パターンが接続する適切さを表すコネクティビティとして算出するステップを含むデータ処理方法である。
【００２０】
以上のような第２の側面においては、時系列データが、一部がオーバラップする複数のデータに分割され、時系列パターンを学習する学習モデルであって、内部状態を有する学習モデルの学習に用いるモデル学習用データとして出力される。さらに、１つの前記モデル学習用データを、１つの前記学習モデルに割り当てるように、前記時系列データを分割することにより得られる複数の前記モデル学習用データが、複数の前記学習モデルに割り当てられ、前記学習モデルによる時系列パターンの学習が、その学習モデルに割り当てられた前記モデル学習用データを用いて行われる。また、複数の前記学習モデルすべてについて、１つの前記学習モデルが生成する時系列データの最後の一部分のデータ列と、他の１つの前記学習モデルが生成する時系列データの最初の一部分のデータ列との誤差が、１つの前記学習モデルが学習した前記時系列パターンの後に、他の１つの前記学習モデルが学習した前記時系列パターンが接続する適切さを表すコネクティビティとして算出される。
【００２１】
なお、データ処理装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。
【００２２】
また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
【発明の効果】
【００２３】
本発明の第１及び第２の側面によれば、複雑で、長時間の時系列データを、容易に学習し、また、学習結果に基づき、滑らかな時系列データを、精度良く生成することができる。
【発明を実施するための最良の形態】
【００２４】
［本発明を適用したデータ処理装置の全体構成］
図１は、本発明を適用したデータ処理装置の一実施の形態の構成例を示すブロック図である。
【００２５】
データ処理装置は、例えば、現実のロボット等を行動させるための時系列データ（例えば、アクチュエータを駆動するデータ等）や、ディスプレイに表示される仮想的なキャラクタ等を行動させるための時系列データを学習する。さらに、データ処理装置は、その学習結果に基づき、現実のロボットや仮想的なキャラクタを、自律的に行動させるための時系列データを生成し、ロボット等に供給することで、そのロボット等（の行動）を制御する。
【００２６】
すなわち、図１において、データ処理装置は、学習装置１０とデータ生成装置２０等から構成される。
【００２７】
ここで、データ処理装置は、学習装置１０、又は、データ生成装置２０だけから構成することができる。
【００２８】
なお、データ生成装置２０では、学習装置１０が、後述する学習処理を行うことにより得られる情報（データ）を用いて、後述するデータ生成処理を行う。したがって、データ処理装置を、データ生成装置２０だけから構成する場合には、データ生成処理に必要な情報を、外部からデータ生成装置２０に供給するか、又は、データ生成装置２０の内部に記憶しておく必要がある。
【００２９】
学習装置１０は、時系列パターンの学習のために用意された時系列データ（以下、教師データともいう）を用い、時系列パターンを学習する学習モデルであって、内部状態を有する複数の学習モデルの学習を行い、学習後の複数の学習モデルすべてについて、任意の２つの学習モデルそれぞれが学習（記憶）した時系列パターンどうしが接続する適切さを表すコネクティビティを求める学習処理を行う。
【００３０】
すなわち、学習装置１０は、学習処理として、例えば、複雑で、長時間の時系列データ等である教師データを、複数の学習モデルで分担して学習し、その複数の学習モデルのそれぞれに、ダイナミクスである時系列パターンを獲得（記憶）させる処理を行う。
【００３１】
さらに、学習装置１０は、学習処理として、複数の学習モデルのそれぞれが獲得したダイナミクスとしての時系列パターンどうしが接続する適切さ（自然さ）（接続性）を表すコネクティビティを求める処理を行う。
【００３２】
ここで、ダイナミクスは、時間変化する力学系を表すもので、例えば、具体的な関数によって表現することができる。学習モデルでは、時系列データの時間変化の特徴、つまり、時系列パターンが、ダイナミクスとして記憶される。
【００３３】
学習装置１０は、教師データ保存部１１、教師データ分割部１２、モデル学習用データ保存部１３、学習部１４、モデルパラメータ保存部１５、コネクティビティ算出部１６、及び、コネクティビティ保存部１７等から構成される。
【００３４】
教師データ保存部１１には、外部から教師データが供給される。教師データ保存部１１は、そこに供給される教師データを記憶（保存）する。
【００３５】
ここで、教師データとしては、複雑で、長時間の時系列データを採用することができる。なお、教師データは、その他、例えば、単純で、短時間の時系列データであっても良いし、複雑であるが、それほど長時間ではない時系列データ等であっても良い。
【００３６】
また、データ処理装置において、例えば、現実のロボットを、ある環境下で、自律的に行動させるための時系列データを生成する場合には、例えば、ロボットを行動させる環境下で、行動の教示を行うユーザがロボットを実際に移動させることで得られる時系列データが、教師データとして用いられる。
【００３７】
すなわち、ユーザがロボットを移動させているときに、ロボットがセンシングすることができる物理量のデータ（以下、センサデータともいう）や、移動のために、ロボットのアクチュエータに与えられるデータ（信号）（以下、アクションデータともいう）等をコンポーネントとするベクトルの時系列が、教師データとして用いられる。
【００３８】
ここで、以上のようなセンサデータとアクションデータとをコンポーネントとするベクトルの時系列を、以下、センサモータデータともいう。
【００３９】
教師データ分割部１２は、教師データ保存部１１に記憶された教師データとしての時系列データを、一部がオーバラップする複数のデータ（これも、時系列データである）に分割し、学習モデルの学習に用いるモデル学習用データとして、モデル学習用データ保存部１３に供給する。
【００４０】
ここで、教師データ分割部１２において、教師データを分割して得られる複数のモデル学習用データの長さ（サンプル数）は、同一であっても良いし、異なっていても良い。オーバラップの長さも同様である。
【００４１】
但し、以下では、説明を簡単にするため、教師データを分割して得られる複数のモデル学習用データは、すべて同一の固定長であることとし、また、オーバラップの長さも、固定長であることとする。
【００４２】
モデル学習用データ保存部１３は、教師データ分割部１２からの複数のモデル学習用データを記憶する。
【００４３】
学習部１４は、１つのモデル学習用データを、１つの学習モデルに割り当てるように、モデル学習用データ保存部１３に記憶された複数のモデル学習用データを、複数の学習モデルに割り当てる。さらに、学習部１４は、学習モデルによる時系列パターンの学習を、その学習モデルに割り当てられたモデル学習用データを用いて行うことで、学習モデルを定義するモデルパラメータを求める。そして、学習部１４は、複数の学習モデルそれぞれのモデルパラメータを、モデルパラメータ保存部１５に供給する。
【００４４】
ここで、学習部１４が学習の対象とする複数の学習モデルの数Nは、教師データ分割部１２で得られる複数の学習用モデルデータの数Nに一致する。
【００４５】
したがって、例えば、教師データ分割部１２では、教師データが、あらかじめ用意された学習モデルの数以下の数のモデル学習用データに分割される。あるいは、学習部１４において、教師データ分割部１２で得られた複数のモデル学習用データの数と同一の数の学習モデルが生成される。なお、学習モデルの実体は、メモリ等の記憶領域（例えば、オブジェクト指向プログラミングにおけるインスタンス）である。
【００４６】
モデルパラメータ保存部１５は、学習部１４から供給されるモデルパラメータを記憶する。
【００４７】
コネクティビティ算出部１６は、モデル学習用データ保存部１３に記憶されたモデル学習用データと、モデルパラメータ保存部１５に記憶されたモデルパラメータとを用い、学習部１４で学習が行われた複数の学習モデルすべてについて、コネクティビティを算出し、コネクティビティ保存部１７に供給する。
【００４８】
なお、コネクティビティとは、１つの学習モデルが学習した時系列パターンの後に、他の１つの学習モデルが学習した時系列パターンが接続する適切さを表す。コネクティビティ算出部１６は、１つの学習モデルが生成する時系列データの最後の一部分のデータ列と、他の１つの学習モデルが生成する時系列データの最初の一部分のデータ列との誤差を、コネクティビティとして算出する。
【００４９】
コネクティビティ保存部１７は、コネクティビティ算出部１６から供給されるコネクティビティを記憶する。
【００５０】
データ生成装置２０は、学習装置１０で得られた学習後の複数の学習モデル（モデルパラメータ）と、その複数の学習モデルについて算出されたコネクティビティとに基づき、教師データに相当するような、複雑で、長時間の、滑らかな時系列データを生成するデータ生成処理を行う。
【００５１】
すなわち、データ生成装置２０は、データ生成処理として、学習後の複数の学習モデルのうちの、１つの学習モデルを、時系列データの生成に用いる学習モデルのシーケンスである生成用モデルシーケンスの始点となる始点モデルとして選択する処理を行う。さらに、データ生成装置２０は、データ生成処理として、複数の学習モデルのうちの、他の１つの学習モデルを、生成用モデルシーケンスの終点となる終点モデルとして選択する処理を行う。
【００５２】
また、データ生成装置２０は、データ生成処理として、コネクティビティに基づき、始点モデルから終点モデルまでの、ある学習モデルの並びを、生成用モデルシーケンスとして求める処理を行う。
【００５３】
さらに、データ生成装置２０は、データ生成処理として、生成用モデルシーケンスに基づき、教師データに相当するような、複雑で、長時間の、滑らかな時系列データを生成する処理を行う。
【００５４】
データ生成装置２０は、現在データ供給部２１、目標データ供給部２２、始点モデル選択部２３、終点モデル選択部２４、生成用モデルシーケンス算出部２５、時系列データ生成部２６、及び、時系列データ出力部２７等から構成される。
【００５５】
現在データ供給部２１は、時系列データである現在データを、始点モデル選択部２３、及び、時系列データ生成部２６に供給する。
【００５６】
ここで、データ処理装置が制御するロボット等は、教師データを構成するのと同様のベクトルの時系列を、観測可能なデータとして、データ処理装置に提供するようになっている。現在データとは、例えば、データ処理装置が制御するロボット等が提供する観測可能なセンサモータデータのうちの、現在時刻のサンプル（ベクトル）を含む、連続する複数のサンプルである。
【００５７】
なお、現在データを構成するサンプルの数は、例えば、モデル学習用データを構成するサンプルの数よりも少ないこととする。
【００５８】
現在データ供給部２１は、例えば、データ処理装置が制御するロボット等が提供する観測可能なセンサモータデータから、現在データを抽出し、始点モデル選択部２３、及び、時系列データ生成部２６に供給する。
【００５９】
目標データ供給部２１は、時系列データである目標データを、終点モデル選択部２４に供給する。
【００６０】
ここで、目標データは、現在データと同様（同一次元）のデータであり、例えば、ユーザ等の外部から、目標データ供給部２１に提供される。
【００６１】
例えば、データ生成装置２０において、データ処理装置が制御するロボットがいる現在位置から、ユーザ等の外部から指定された位置（以下、目標位置ともいう）まで、ロボットを移動させるための時系列データであるセンサモータデータを生成する場合には、ロボットが、現在位置で得るセンサモータデータ（数サンプルのセンサモータデータ）が、現在データとなり、目標位置で得られるであろうセンサモータデータが、目標データとなる。
【００６２】
始点モデル選択部２３は、現在データ供給部２１からの現在データに基づき、モデルパラメータ保存部１５にモデルパラメータが記憶された複数の学習モデル、すなわち、学習後の複数の学習モデルのうちの、１つの学習モデルを、始点モデルとして選択する。さらに、始点モデル選択部２３は、始点モデルを特定する始点モデルID(Identification)を、生成用モデルシーケンス算出部２５に供給する。
【００６３】
終点モデル選択部２４は、目標データ供給部２２からの目標データに基づき、モデルパラメータ保存部１５にモデルパラメータが記憶された複数の学習モデル、すなわち、学習後の複数の学習モデルのうちの、１つの学習モデルを、終点モデルとして選択する。さらに、終点モデル選択部２４は、終点モデルを特定する終点モデルIDを、生成用モデルシーケンス算出部２５に供給する。
【００６４】
ここで、始点モデルとは、時系列データの生成に用いる学習モデルのシーケンスである生成用モデルシーケンスの始点となる学習モデルであり、終点モデルとは、生成用モデルシーケンスの終点となる学習モデルである。
【００６５】
始点モデルは、時系列データ生成部２６で生成される（長時間の）時系列データ（以下、生成時系列データともいう）の最初の部分を生成するのに用いられ、終点モデルは、生成時系列データの最後の部分を生成するのに用いられる。
【００６６】
生成用モデルシーケンス算出部２５は、始点モデル選択部２３からの始点モデルIDによって特定される始点モデルから、終点モデル選択部２４からの終点モデルIDによって特定される終点モデルまでの、複数の学習モデルの、ある並びを、生成用モデルシーケンスとして求める。
【００６７】
すなわち、生成用モデルシーケンス算出部２５は、コネクティビティ保存部１７に記憶されたコネクティビティに対応する値を、１つの学習モデルの後に、他の１つの学習モデルを接続する接続コストとして、接続コストの累積値を最小にする、始点モデルから終点モデルまでの学習モデルの並びを、生成用モデルシーケンスとして求める。
【００６８】
生成用モデルシーケンス算出部２５は、生成用モデルシーケンスを、時系列データ生成部２６に供給する。
【００６９】
時系列データ生成部２６は、生成用モデルシーケンス算出部２５からの生成用モデルシーケンスを構成する学習モデル（始点モデル）に、現在データ供給部２１からの現在データを与えることで、生成用モデルシーケンスを構成する各学習モデルに、時系列データを生成させる。
【００７０】
さらに、時系列データ生成部２６は、生成用モデルシーケンスを構成する各学習モデルが生成した時系列データ（以下、モデル生成データともいう）を、生成用モデルシーケンスとしての学習モデルの並びの順に接続した生成時系列データを、時系列データ出力部２７に供給する。
【００７１】
なお、時系列データ生成部２６は、生成用モデルシーケンス算出部２５からの生成用モデルシーケンスを構成する学習モデルに、現在データ供給部２１からの現在データを与えて、モデル生成データを生成する前に、生成用モデルシーケンスを構成する学習モデルについて、学習モデルが生成する時系列データ（モデル生成データ）の最後の一部分のデータ列と、後（直後）に接続される学習モデルが生成する時系列データの最初の一部分のデータ列との誤差を小さくするように、学習モデルの内部状態の初期値を決定する。
【００７２】
そして、時系列データ生成部２６は、その初期値を、学習モデルに与えて、時系列データ（モデル生成データ）を生成する。その結果、生成用モデルシーケンスを構成する各学習モデルが生成したモデル生成データを、生成用モデルシーケンスとしての学習モデルの並びの順に接続した生成時系列データは、滑らかな時系列データとなる。
【００７３】
［学習装置１０の詳細構成例］
図２は、図１の学習装置１０のより詳細な構成例を示している。
【００７４】
なお、図２では、教師データ分割部１２において、教師データが、複数であるN個のモデル学習用データに分割されることとする。
【００７５】
ここで、N個のモデル学習用データの、時系列順で、n番目を、以下、モデル学習用データ#nとも記載する。
【００７６】
上述のように、教師データ分割部１２において、教師データが、N個のモデル学習用データ#1,#2,・・・,#Nに分割される場合、モデル学習用データ保存部１３では、そのN個のモデル学習用データ#1ないし#Nが記憶される。
【００７７】
学習部１４は、データ割り当て部４１と、モデル学習用データ#1ないし#Nの数に等しいN個の演算部４２1，４２2，・・・４２N等から構成される。
【００７８】
データ割り当て部４１は、モデル学習用データ保存部１３に記憶されたN個のモデル学習用データ#1ないし#Nを読み出す。さらに、データ割り当て部４１は、１つのモデル学習用データ#nを、１つの学習モデル#nに割り当てるように、N個のモデル学習用データ#1ないし#Nを、N個の学習モデル#1ないし#Nに割り当てる。
【００７９】
そして、データ割り当て部４１は、モデル学習用データ#nを、学習モデル#nのモデルパラメータを演算する演算部４２nに供給する。
【００８０】
演算部４２nは、学習モデル#nによる時系列パターンの学習を、その学習モデル#nに割り当てられたモデル学習用データ#nを用いて行うことで、学習モデル#nを定義するモデルパラメータ#nを求め（演算し）、モデルパラメータ保存部１５に供給する。
【００８１】
モデルパラメータ保存部１５は、学習部１４の演算部４２1ないし４２Nから供給される、学習モデル#1ないし#Nそれぞれを定義するモデルパラメータ#1ないし#Nを記憶する。
【００８２】
コネクティビティ算出部１６は、モデルペア選択部５１、モデルパラメータ供給部５２、２個の認識生成部５３及び５４、並びに、コネクティビティ演算部５５等から構成される。
【００８３】
モデルペア選択部５１は、N個の学習モデル#1ないし#Nから、任意の２つの学習モデルの並び（順列）を、モデルペアとして選択し、モデルパラメータ供給部５２に供給する。
【００８４】
すなわち、モデルペア選択部５１は、N個の学習モデル#1ないし#Nのうちの１つの学習モデルを、順次、注目モデルとして選択する。さらに、モデルペア選択部５１は、注目モデルに対して、N個の学習モデル#1ないし#Nのうちの、注目モデルの他の１つの学習モデルを、注目モデルの後に接続される後モデルとして選択する。そして、モデルペア選択部５１は、注目モデルと、後モデルとの並び（順列）を、モデルペアとして、モデルパラメータ供給部５２に供給する。
【００８５】
モデルパラメータ供給部５２は、モデルペ選択部５１からのモデルペアを構成する２つの学習モデルのモデルパラメータを、モデルパラメータ保存部１５から読み出す。さらに、モデルパラメータ供給部５２は、モデルパラメータ保存部１５から読み出したモデルパラメータのうちの、モデルペアを構成する２つの学習モデルの並びのうちの１番目の学習モデル（以下、前モデルともいう）のモデルパラメータを、認識生成部５３に供給する。
【００８６】
また、モデルパラメータ供給部５２は、モデルパラメータ保存部１５から読み出したモデルパラメータのうちの、後モデル（モデルペアを構成する２つの学習モデルの並びのうちの２番目の学習モデル）のモデルパラメータを、認識生成部５４に供給する。
【００８７】
認識生成部５３は、モデルパラメータ供給部５２からの、前モデルのモデルパラメータを、学習モデルに設定することで、前モデルを生成する（例えば、オブジェクト指向プログラミングにおける、前モデルとしての学習モデルのインスタンスを生成する）。
【００８８】
また、認識生成部５３は、前モデルに割り当てられたモデル学習用データを、モデル学習用データ保存部１３から読み込み、前モデルに与えることで、前モデルから、時系列データであるモデル生成データを生成する。
【００８９】
ここで、本実施の形態では、学習モデルは、内部状態を有し、時系列データ（モデル生成データ）の生成時には、内部状態の初期値が、学習モデルに与えられる。学習モデルから生成されるモデル生成データは、内部状態の初期値によって異なり、認識生成部５３は、前モデルが生成するモデル生成データの最後の一部分のデータ列（複数サンプル）と、認識生成部５４が後モデルから生成するモデル生成データの最初の一部分のデータ列との誤差（以下、接続誤差ともいう）が小さくなるように、前モデルに与える内部状態の初期値を決定する（更新する）。
【００９０】
そして、認識生成部５３は、接続誤差が小さくなったときの内部状態の初期値を、前モデルに与えて、その前モデルから、モデル生成データを生成し、コネクティビティ演算部５５に供給する。
【００９１】
認識生成部５４は、モデルパラメータ供給部５２からの、後モデルのモデルパラメータを、学習モデルに設定することで、後モデルを生成する（例えば、オブジェクト指向プログラミングにおける、後モデルとしての学習モデルのインスタンスを生成する）。
【００９２】
また、認識生成部５４は、後モデルに割り当てられたモデル学習用データを、モデル学習用データ保存部１３から読み込み、後モデルに与えることで、後モデルから、時系列データであるモデル生成データを生成する。
【００９３】
ここで、認識生成部５４も、認識生成部５３と同様に、後モデルが生成するモデル生成データの最初の一部分のデータ列と、認識生成部５３が前モデルから生成するモデル生成データの最後の一部分のデータ列との誤差（接続誤差）が小さくなるように、後モデルに与える内部状態の初期値を決定する（更新する）。
【００９４】
そして、認識生成部５４は、接続誤差が小さくなったときの内部状態の初期値を、後モデルに与えて、その後モデルから、モデル生成データを生成し、コネクティビティ演算部５５に供給する。
【００９５】
コネクティビティ演算部５５は、認識生成部５３からの、前モデルから生成されたモデル生成データの最後の一部分のデータ列と、認識生成部５４からの、後モデルから生成されたモデル生成データの最初の一部分のデータ列との接続誤差を求める。そして、コネクティビティ演算部５５は、その接続誤差を、前モデルに対する後モデルのコネクティビティとして、コネクティビティ保存部１７に供給する。
【００９６】
ここで、学習モデル#iに対する学習モデル#jのコネクティビティを、cijと表す（i=1,2,・・・,N：j=1,2,・・・,N：i≠j）。
【００９７】
コネクティビティ保存部１７は、コネクティビティ算出部１６（のコネクティビティ演算部５５）から供給される、N個の学習モデルについての、N×N−N個のコネクティビティcijを記憶する。
【００９８】
［学習モデルの説明］
次に、図１の学習装置１０で学習に用いられる学習モデルについて説明する。
【００９９】
学習モデルとしては、力学系を近似することができるモデル（力学系近似モデル）のうちの、内部状態を有する力学系近似モデルを採用することができる。
【０１００】
内部状態を有する力学系近似モデルとしては、例えば、RNNがある。
【０１０１】
図３は、RNNの構成例を示している。
【０１０２】
ここで、あるシステム（系）にデータを入力したときに、そのデータに対して、システムから出力されるデータを、出力データというとともに、システムに入力されるデータを、入力データという。
【０１０３】
図３では、RNNは、入力層、隠れ層（中間層）、及び出力層の３層で構成されている。入力層、隠れ層、及び出力層は、それぞれ任意の数の、ニューロンに相当するユニットにより構成される。
【０１０４】
RNNでは、入力層の一部のユニットである入力ユニットに、外部から入力データxtが入力（供給）される。ここで、入力データxtは、時刻tのサンプル（値）を表す。
【０１０５】
入力層の、入力データxtが入力される入力ユニット以外の、残りのユニットは、コンテキストユニットであり、コンテキストユニットには、出力層の一部のユニットの出力が、内部状態を表すコンテキストとしてフィードバックされる。
【０１０６】
ここで、時刻tの入力データxtが入力層の入力ユニットに入力されるときに入力層のコンテキストユニットに入力される時刻tのコンテキストを、ctと記載する。
【０１０７】
隠れ層のユニットは、入力層に入力される入力データxtとコンテキストctを対象として、所定のウエイト（重み）を用いた重み付け加算を行い、その重み付け加算の結果を引数とする非線形関数の演算を行って、その演算結果を、出力層のユニットに出力する。
【０１０８】
出力層のユニットでは、隠れ層のユニットが出力するデータを対象として、隠れ層のユニットと同様の処理が行われる。そして、出力層の一部のユニットからは、上述したように、次の時刻t+1のコンテキストct+1が出力され、入力層にフィードバックされる。また、出力層の残りのユニットからは、例えば、入力データxtに対する出力データが出力される。
【０１０９】
すなわち、RNNの学習は、例えば、RNNに対して、ある時系列データの時刻tのサンプルを、入力データとして与えるとともに、その時系列データの、次の時刻t+1のサンプルを、出力データの真値として与え、出力データの、真値に対する誤差を小さくするように行われる。
【０１１０】
このような学習が行われたRNNでは、入力データxtに対する出力データとして、その入力データxtの次の時刻t+1の入力データxt+1の予測値x*t+1が出力される。
【０１１１】
なお、上述したように、RNNでは、ユニットへの入力が重み付け加算されるが、この重み付け加算に用いられるウエイト（重み）が、RNNのモデルパラメータである。RNNのモデルパラメータとしてのウエイトには、入力ユニットから隠れ層のユニットへのウエイト、コンテキストユニットから隠れ層のユニットへウエイト、隠れ層のユニットから出力層のユニットへのウエイト等がある。
【０１１２】
以上のようなRNNを、学習モデルとして採用する場合には、そのRNNの学習時には、入力データ及び出力データの真値として、時系列データであるモデル学習用データ（学習モデルに割り当てられたモデル学習用データ）が与えられる。
【０１１３】
そして、RNNの学習では、モデル学習用データ#nの時刻tのサンプル（先頭からt番目のサンプル）を入力データとして、RNNに与えたときに、RNNが出力する出力データとしての時刻t+1のサンプルの予測値の予測誤差を小さくするウエイトが、例えば、BPTT(Back-Propagation Through Time)法により求められる。
【０１１４】
また、RNNの学習時において、コンテキストの初期値（以下、初期コンテキストともいう）は、例えば、入力データに対する出力データ（入力データに対してRNNが出力する出力データ）の、出力データの真値に対する誤差が小さくなるように、自己組織的に決定（更新）される。
【０１１５】
ここで、自己組織的に決定されるとは、外部からの制御なしに、いわば自発的に決定されることを意味する。
【０１１６】
なお、RNNからの時系列データ（モデル生成データ）の生成は、外部から与えられるデータを、入力データとして、RNNに与えることや、RNNが出力する出力データを、入力データとして、RNNに与えることによって行われる。
【０１１７】
以下では、学習モデルは、RNNであるとする。
【０１１８】
［教師データの分割と、学習モデルの学習の説明］
図４を参照して、教師データ分割部１２（図１）による教師データの分割と、その分割によって得られるモデル学習用データを用いた学習モデルの学習について説明する。
【０１１９】
図４は、教師データと、その教師データを分割して得られるモデル学習用データの、学習モデルへの割り当てとを示している。
【０１２０】
図４において、教師データは、２つのコンポーネントを有するベクトルの時系列になっている。
【０１２１】
教師データ分割部１２（図１）は、複数の学習モデルに、教師データを分担して学習させるために、教師データを、Lサンプルがオーバラップする、S(>L)サンプルのモデル学習用データに分割する。
【０１２２】
図４では、教師データは、４つのモデル学習用データ#1ないし#4に分割されている。
【０１２３】
ここで、モデル学習用データにおいて、そのモデル学習用データと隣接するモデル学習用データとオーバラップしているLサンプルを、以下、モデル学習用データのオーバラップ部分ともいう。
【０１２４】
Sサンプルの時系列であるモデル学習用データでは、その最初のLサンプルと、最後のLサンプルが、オーバラップ部分となっている（但し、正確には、教師データから分割された最初のモデル学習用データでは、最後のLサンプルだけがオーバラップ部分となっており、最後のモデル学習用データでは、最初のLサンプルだけがオーバラップ部分となっている）。
【０１２５】
学習部１４（図１）は、モデル学習用データ#1を、学習モデル#1に、モデル学習用データ#2を、学習モデル#2に、モデル学習用データ#3を、学習モデル#3に、モデル学習用データ#4を、学習モデル#4に、それぞれ割り当てる。
【０１２６】
そして、学習部１４は、学習モデル#nによる時系列パターンの学習を、その学習モデル#nに割り当てられたモデル学習用データ#nを用いて行うことで、モデル学習用データ#nのダイナミクスとしての時系列パターンを、学習モデル#nの学習則に従って、時間発展方程式の関数近似モデルとして獲得する。
【０１２７】
すなわち、学習モデル#nが、RNNである場合には、学習部１４は、モデル学習用データ#nを用いて、RNNのモデルパラメータであるウエイト（例えば、モデル学習用データ#nの時刻tのサンプルを入力データとして、RNNに与えたときに、RNNが出力する出力データとしての時刻t+1のサンプルの予測値の予測誤差を小さくするウエイト）が、例えば、BPTT法により求められる。
【０１２８】
したがって、学習部１４では、隣接（連続）するモデル学習用データ#n及び#n+1がそれぞれ割り当てられる２つの学習モデル#n及び#n+1に注目した場合、学習モデル#n+1の学習は、最初のオーバラップ部分としてのLサンプルが、学習モデル#nの学習に用いられるモデル学習用データ#nの最後のオーバラップ部分としてのLサンプルに一致しているモデル学習用データ#n+1を用いて行われる。
【０１２９】
［コネクティビティの算出の方法］
図５を参照して、コネクティビティ算出部１６（図１）によるコネクティビティの算出の方法について説明する。
【０１３０】
コネクティビティ算出部１６は、学習部１４による学習によって複数の学習モデル#1ないし#Nのそれぞれに記憶されたダイナミクスとしての時系列パターンどうしが接続する接続性（適切さ）を表すコネクティビティを求める。
【０１３１】
すなわち、コネクティビティ算出部１６は、複数の学習モデル#1ないし#Nから、２つの学習モデル#iと#j（i≠j）の並び（順列）を、モデルペアとして選択する。
【０１３２】
さらに、コネクティビティ算出部１６は、モデルペアを構成する学習モデル#iと#jが生成するモデル生成データ#iと#jそれぞれの一部分のデータ列（複数サンプル）であるオーバラップ部分の、いわば順伝播と逆伝播（順伝搬と逆伝搬）を繰り返す。これにより、コネクティビティ算出部１６は、学習モデル#iと#jそれぞれが生成するモデル生成データ#iと#jどうしを、なるべく繋がりやすくする、学習モデル#iと#jの初期コンテキスト（以下、最適初期コンテキストともいう）を求める。
【０１３３】
ここで、モデル生成データのオーバラップ部分とは、学習モデルの学習に用いられたモデル学習用データのオーバラップ部分に相当する部分である。
【０１３４】
すなわち、図４で説明したように、学習モデルの学習は、オーバラップ部分を有するＳサンプルのモデル学習用データを用いて行われる。したがって、学習モデルから、Sサンプルの時系列を、モデル生成データとして生成させた場合、そのモデル生成データは、学習に用いられたモデル学習用データのオーバラップ部分に相当する部分を有する。この、モデル生成データが有する、モデル学習用データのオーバラップ部分に相当する部分が、モデル生成データのオーバラップ部分である。
【０１３５】
コネクティビティ算出部１６は、最適初期コンテキストを求めた後、学習モデル#iと#jに、それぞれの最適初期コンテキストを与えて、モデル生成データ#iと#jを生成する。
【０１３６】
そして、コネクティビティ算出部１６は、モデルペアを構成する前モデル、つまり、モデルペアの１番目の学習モデル#iが生成したモデル生成データ#iの最後のオーバラップ部分（最後のLサンプル）と、後モデル、つまり、モデルペアの２番目の学習モデル#jが生成したモデル生成データ#jの最初のオーバラップ部分（最初のLサンプル）との誤差（接続誤差）を、前モデルとしての学習モデル#iに対する、後モデルとしての学習モデル#jのコネクティビティcijとして求める。
【０１３７】
ここで、学習モデルの学習では、図４で説明したように、２つの学習モデル#n及び#n+1に注目した場合、学習モデル#n+1の学習は、最初のオーバラップ部分としてのLサンプルが、学習モデル#nの学習に用いられるモデル学習用データ#nの最後のオーバラップ部分としてのLサンプルに一致しているモデル学習用データ#nを用いて行われる。
【０１３８】
この場合、学習モデル#nが生成するモデル生成データ#nの最後のオーバラップ部分としてのLサンプルと、学習モデル#n+1が生成するモデル生成データ#n+1の最初のオーバラップ部分としてのLサンプルとは、理想的には、一致し、誤差（接続誤差）は0となる。
【０１３９】
一方、最初のオーバラップ部分が、学習モデル#nの学習に用いられるモデル学習用データ#nの最後のオーバラップ部分に一致していないモデル学習用データ#n'（n'≠n,n'≠n-1,n'≠n+1）を用いて学習が行われた学習モデル#n'が生成するモデル生成データ#n'の最初のオーバラップ部分は、学習モデル#nが生成するモデル生成データ#nの最後のオーバラップ部分とは一致しない。そして、その一致しない度合い（程度）は、学習モデル#n'の学習に用いられたモデル学習用データ#n'の最初のオーバラップ部分と、学習モデル#nの学習に用いられるモデル学習用データ#nの最後のオーバラップ部分とが一致しない程度に相当する。
【０１４０】
以上から、モデルペアを構成する学習モデル#i及び#jについては、学習モデル#iが生成したモデル生成データ#iの最後のオーバラップ部分と、学習モデル#jが生成したモデル生成データ#jの最初のオーバラップ部分とが一致する（一致しない）度合いは、学習モデル#iの学習に用いられたモデル学習用データ#iの最後のオーバラップ部分と、学習モデル#jの学習に用いられたモデル学習用データ#jの最初のオーバラップ部分とが一致する（一致しない）程度に相当する。
【０１４１】
ここで、学習モデル#iが生成したモデル生成データ#iの最後のオーバラップ部分と、学習モデル#jが生成したモデル生成データ#jの最初のオーバラップ部分とが一致しない度合いとしての誤差（接続誤差）を、学習モデル#iが学習した時系列パターンの時系列データの直後に、学習モデル#jが学習した時系列パターンの時系列データが接続する接続性を表すコネクティビティとして採用するために、教師データ分割部１２（図１）では、教師データが、オーバラップ部分を有するモデル学習用データに分割される。
【０１４２】
すなわち、教師データ分割部１２において、教師データを、オーバラップ部分を有するモデル学習用データに分割するのは、コネクティビティを算出するためである。
【０１４３】
図５を参照して、コネクティビティ算出部１６（図１）によるコネクティビティの算出について、さらに説明する。
【０１４４】
コネクティビティ算出部１６は、N個の学習モデル#1ないし#Nのうちの１つの学習モデルから、前モデルとなる学習モデル#iを選択するとともに、その学習モデル#i以外の学習モデル#jを、後モデルとして選択する。
【０１４５】
そして、コネクティビティ算出部１６は、前モデルである学習モデル#iの入力データの最初の１サンプルとして、学習モデル#iに割り当てられたモデル学習用データ#iの最初の１サンプルを設定する。
【０１４６】
さらに、コネクティビティ算出部１６は、後モデルである学習モデル#jの出力データの最後の１サンプルの真値として、学習モデル#jに割り当てられたモデル学習用データ#jの最後の１サンプルを設定する。
【０１４７】
また、コネクティビティ算出部１６は、前モデルである学習モデル#iと、後モデルである学習モデル#jのそれぞれの初期コンテキストとして、ランダムな値を設定する。
【０１４８】
そして、コネクティビティ算出部１６は、前モデルである学習モデル#iに、入力データと初期コンテキストを与えて、例えば、モデル学習用データ#iと同一の長さのSサンプルのモデル生成データ#iを生成する。
【０１４９】
前モデルである学習モデル#iから、Sサンプルのモデル生成データ#iを生成した後、コネクティビティ算出部１６は、そのモデル生成データ#iの最後のオーバラップ部分であるLサンプルを、後モデルである学習モデル#jの入力データの最初のLサンプルとして設定する。
【０１５０】
そして、コネクティビティ算出部１６は、後モデルである学習モデル#jに、入力データと初期コンテキストを与えて、例えば、モデル学習用データ#jと同一の長さのSサンプルのモデル生成データ#jを生成する。
【０１５１】
ここで、以上のように、前モデルである学習モデル#iから生成されたモデル生成データ#iの最後のオーバラップ部分であるLサンプルを、後モデルである学習モデル#jの入力データの最初のLサンプルとして設定し、後モデルである学習モデル#jから、モデル生成データ#jを生成することが、上述した、オーバラップ部分の順伝播である。
【０１５２】
後モデルである学習モデル#jから、Sサンプルのモデル生成データ#jを生成した後、コネクティビティ算出部１６は、そのモデル生成データ#jの最後のサンプルの、後モデルの出力データの最後の１サンプルの真値（上述したように、学習モデル#jに割り当てられたモデル学習用データ#jの最後の１サンプル）に対する予測誤差を求める。
【０１５３】
そして、コネクティビティ算出部１６は、モデル生成データ#jの最後の１サンプルの予測誤差を、例えば、BPTT法に基づき、モデル生成データ#jの最初の１サンプルまで逆伝播（誤差の逆伝播）することで、その予測誤差を小さくするように、後モデルである学習モデル#jの初期コンテキストを更新する。
【０１５４】
学習モデル#jの初期コンテキストの更新後、コネクティビティ算出部１６は、学習モデル#jに、入力データ（上述したように、前モデルである学習モデル#iから生成されたモデル生成データ#iの最後のオーバラップ部分であるLサンプル）と、更新後の初期コンテキストを与えて、Sサンプルのモデル生成データ#jを生成する。
【０１５５】
さらに、コネクティビティ算出部１６は、後モデルである学習モデル#jから生成されたモデル生成データ#jの最初のオーバラップ部分であるLサンプルを、前モデルである学習モデル#iの最後のLサンプルの真値として設定する。
【０１５６】
その後、コネクティビティ算出部１６は、前モデルである学習モデル#iから生成されたモデル生成データ#iの最後のLサンプルの、前モデルの出力データの最後のLサンプルの真値（上述したように、初期コンテキストの更新後の学習モデル#jから生成されたモデル生成データ#jの最初のオーバラップ部分であるLサンプル）に対する予測誤差を求める。
【０１５７】
そして、コネクティビティ算出部１６は、モデル生成データ#iの最後のLサンプルの予測誤差を、例えば、BPTT法に基づき、モデル生成データ#iの最初の１サンプルまで逆伝播（誤差の逆伝播）することで、その予測誤差を小さくするように、前モデルである学習モデル#iの初期コンテキストを更新する。
【０１５８】
学習モデル#iの初期コンテキストの更新後、コネクティビティ算出部１６は、学習モデル#iに、入力データ（上述したように、前モデルである学習モデル#iに割り当てられたモデル学習用データ#iの最初の１サンプル）と、更新後の初期コンテキストを与えて、Sサンプルのモデル生成データ#iを生成する。
【０１５９】
ここで、以上のように、後モデルである学習モデル#jから生成されたモデル生成データ#jの最初のオーバラップ部分であるLサンプルを、前モデルである学習モデル#iの出力データの最後のLサンプルの真値として設定し、その真値に対する、モデル生成データ#iの最後のLサンプルの予測誤差が小さくなるように、学習モデル#iの初期コンテキストを更新して、モデル生成データ#iを生成することが、上述した、オーバラップ部分の逆伝播である。
【０１６０】
コネクティビティ算出部１６は、前モデルである学習モデル#iから、Sサンプルのモデル生成データ#iを生成した後、そのモデル生成データ#iの最後のオーバラップ部分であるLサンプルを、後モデルである学習モデル#jの入力データの最初のLサンプルとして設定し、以下、同様の処理を繰り返す。
【０１６１】
そして、コネクティビティ算出部１６は、学習モデル#iから生成されるモデル生成データ#iの最後のLサンプルの予測誤差と、学習モデル#jから生成されるモデル生成データ#jの最後の１サンプルの予測誤差とが、例えば、収束すると、そのとき得られている初期コンテキストを、最適初期コンテキストとする。
【０１６２】
さらに、コネクティビティ算出部１６は、学習モデル#iと#jのそれぞれに最適初期コンテキストを与えて、モデル生成データ#iと#jを生成する。
【０１６３】
そして、コネクティビティ算出部１６は、モデル生成データ#iの最後のLサンプルと、モデル生成データ#jの最初のLサンプルとの誤差（接続誤差）を、学習モデル#iに対する学習モデル#jのコネクティビティcijとして求める。
【０１６４】
以上のように、コネクティビティ算出部１６では、モデル生成データ#iの最後のLサンプルと、モデル生成データ#jの最初のLサンプルとの接続誤差を小さくするように、学習モデル#iと#jそれぞれの初期コンテキストが決定される。そして、その初期コンテキスト（最適初期コンテキスト）を、学習モデル#iと#jに与えて生成されるモデル生成データ#iと#jとの接続誤差が、学習モデル#iに対する学習モデル#jのコネクティビティcijとして求められる。
【０１６５】
なお、コネクティビティcij、すなわち、学習モデル#iが生成したモデル生成データ#iの最後のオーバラップ部分のLサンプルと、学習モデル#jが生成したモデル生成データ#jの最初のオーバラップ部分のLサンプルとの接続誤差は、例えば、式（１）に従って計算される。
【０１６６】
cij＝Σ｜yj(t)-yi(t+T)｜
・・・（１）
【０１６７】
ここで、式（１）において、Σは、変数tを、1ないしLの整数に変えての総和を表す。また、yj(t)は、学習モデル#jから生成されるモデル生成データ#jの時刻tのサンプル（モデル生成データ#jの先頭からtサンプル目）を表し、yi(t+T)は、学習モデル#iから生成されるモデル生成データ#iの時刻t+Tのサンプルを表す。
【０１６８】
なお、式（１）において、Tは、式S-T=Lを満たす値である。この場合、モデル生成データ#iの最後のオーバラップ部分のLサンプルは、yi(1+T),yi(2+T),・・・,yi(L+T)(=yi(s))で表される。
【０１６９】
また、式（１）のコネクティビティcijは、値が小さいほど、学習モデル#iから生成されるモデル生成データ#iの直後に、学習モデル#jから生成されたモデル生成データ#jが続く（接続する）ことが、より適切である（自然である）ことを表す。
【０１７０】
［学習装置１０の動作］
図６を参照して、学習装置１０（図１）の処理(学習処理）について説明する。
【０１７１】
学習処理では、ステップＳ１１において、教師データ保存部１１が、教師データを、教師データ分割部１２に供給して、処理は、ステップＳ１２に進む。
【０１７２】
ステップＳ１２では、教師データ分割部１２は、教師データ保存部１１からの時系列データを、例えば、図４で説明したように、Lサンプルのオーバラップ部分を有するN個のモデル学習用データ#1ないし#Nに分割する。さらに、教師データ分割部１２は、N個のモデル学習用データ#1ないし#Nを、モデル学習用データ保存部１３に供給して記憶させ、処理は、ステップＳ１２からステップＳ１３に進む。
【０１７３】
ステップＳ１３では、学習部１４が、モデル学習用データを用いて、学習モデルの学習を行う。
【０１７４】
すなわち、学習部１４は、１つのモデル学習用データ#nを、１つの学習モデル#nに割り当てるように、モデル学習用データ保存部１３に記憶されたモデル学習用データ#1ないし#Nを、学習モデル#1ないし#Nに割り当てる。さらに、学習部１４は、学習モデル#nによる時系列パターンの学習を、その学習モデル#nに割り当てられたモデル学習用データ#nを用いて行うことで、学習モデル#nを定義するモデルパラメータ#nを求める。そして、学習部１４は、学習モデル#1ないし#Nそれぞれのモデルパラメータ#1ないし#Nを、モデルパラメータ保存部１５に供給する。
【０１７５】
その後、処理は、ステップＳ１３からステップＳ１４に進み、モデルパラメータ保存部１５は、学習部１４から供給されるモデルパラメータ#1ないし#Nを記憶して、処理は、ステップＳ１５に進む。
【０１７６】
ステップＳ１５では、コネクティビティ算出部１６が、モデル学習用データ保存部１３に記憶されたモデル学習用データ#1ないし#Nと、モデルパラメータ保存部１５に記憶されたモデルパラメータ#1ないし#Nとを用い、学習部１４で学習が行われた学習モデル#1ないし#Nすべてについて、コネクティビティcijを算出するコネクティビティ算出処理を行い、学習処理は、終了する。
【０１７７】
［コネクティビティ算出処理の説明］
図７ないし図９を参照して、図６のステップＳ１５で行われるコネクティビティ算出処理について説明する。
【０１７８】
図７は、コネクティビティ算出処理を説明するフローチャートである。
【０１７９】
コネクティビティ算出処理では、ステップＳ２１において、コネクティビティ算出部１６（図１）が、N個の学習モデル#1ないし#Nから、まだ、モデルペアとして選択していない順列となる２つの学習モデル#iと#jの並びを選択して、処理は、ステップＳ２２に進む。
【０１８０】
すなわち、コネクティビティ算出部１６は、N個の学習モデル#1ないし#Nのうちの１つの学習モデルから、モデルペアの前モデルとなる学習モデル#iを選択するとともに、その学習モデル#i以外の学習モデル#jを、モデルペアの後モデルとして選択する。
【０１８１】
ステップＳ２２では、コネクティビティ算出部１６は、モデル学習用データ保存部１３（図１）から、モデルペアを構成する２つの学習モデルである前モデルと後モデルのそれぞれに割り当てられたモデル学習用データを読み込み、処理は、ステップＳ２３に進む。
【０１８２】
ステップＳ２３では、コネクティビティ算出部１６は、モデルペアを構成する前モデルと後モデルそれぞれのモデルパラメータを、モデルパラメータ保存部１５（図１）から読み出し、処理は、ステップＳ２４に進む。
【０１８３】
ステップＳ２４では、コネクティビティ算出部１６は、前モデルの入力データの最初の１サンプルとして、前モデルに割り当てられたモデル学習用データの最初の１サンプルを設定して、処理は、ステップＳ２５に進む。
【０１８４】
ステップＳ２５では、コネクティビティ算出部１６は、前モデルのモデルパラメータを、学習モデルに設定することで、前モデルを生成し（例えば、オブジェクト指向プログラミングにおける、前モデルとしての学習モデルのインスタンスを生成し）、処理は、ステップＳ２６に進む。
【０１８５】
ステップＳ２６では、コネクティビティ算出部１６は、後モデルの出力データの最後の１サンプルの真値として、後モデルに割り当てられたモデル学習用データの最後の１サンプルを設定し、処理は、ステップＳ２７に進む。
【０１８６】
ステップＳ２７では、コネクティビティ算出部１６は、後モデルのモデルパラメータを、学習モデルに設定することで、後モデルを生成し（例えば、オブジェクト指向プログラミングにおける、後モデルとしての学習モデルのインスタンスを生成し）、処理は、ステップＳ２８に進む。
【０１８７】
ステップＳ２８では、コネクティビティ算出部１６は、前モデルと後モデルのそれぞれの初期コンテキストとして、ランダムな値を設定して、処理は、図８のステップＳ３１に進む。
【０１８８】
すなわち、図８は、図７に続くフローチャートである。
【０１８９】
ステップＳ３１では、コネクティビティ算出部１６は、前モデルに、ステップＳ２４（図７）で設定された入力データと、初期コンテキスト（いまの場合、ステップＳ２８で設定された初期コンテキスト）を与えて、モデル生成データを生成し、処理は、ステップＳ３２に進む。
【０１９０】
ステップＳ３２では、コネクティビティ算出部１６は、前モデルから生成されたモデル生成データの最後のオーバラップ部分であるLサンプルを、後モデルの入力データの最初のLサンプルとして設定し、処理は、ステップＳ３３に進む。
【０１９１】
ステップＳ３３では、コネクティビティ算出部１６は、後モデルに、ステップＳ３２で設定された入力データ（前モデルから生成されたモデル生成データの最後のオーバラップ部分であるLサンプル）と、初期コンテキストを与えて、モデル生成データを生成し、処理は、ステップＳ３４に進む。
【０１９２】
なお、ステップＳ３３において、後モデルに与えられる初期コンテキストは、モデルペアについて、後述するステップＳ３５の処理が既に行われている場合には、そのステップＳ３５での更新後の初期コンテキストであり、ステップＳ３５の処理が、まだ行われていない場合には、ステップＳ２８（図７）で設定された初期コンテキストである。
【０１９３】
ステップＳ３４では、コネクティビティ算出部１６は、後モデルから生成されたモデル生成データの最後の１サンプルの、ステップＳ２６（図７）で設定された真値に対する予測誤差を求め、処理は、ステップＳ３５に進む。
【０１９４】
ステップＳ３５では、コネクティビティ算出部１６は、ステップＳ３４で求められた予測誤差を、BPTT法に基づき、後モデルから生成されたモデル生成データの最初の１サンプルまで逆伝播することで、その予測誤差を小さくするように、後モデルの初期コンテキストを更新し、処理は、ステップＳ３６に進む。
【０１９５】
ステップＳ３６では、コネクティビティ算出部１６は、後モデルに、ステップＳ３２で設定された入力データと、ステップＳ３５での更新後の初期コンテキストを与えて、モデル生成データを生成して、処理は、ステップＳ３７に進む。
【０１９６】
ステップＳ３７では、コネクティビティ算出部１６は、後モデルから生成されたモデル生成データの最初のオーバラップ部分のLサンプルを、前モデルの最後のLサンプルの真値として設定し、処理は、ステップＳ３８に進む。
【０１９７】
ステップＳ３８では、コネクティビティ算出部１６は、前モデルから生成されたモデル生成データの最後のLサンプルの、ステップＳ３７で設定された真値（初期コンテキストの更新後の後モデルから生成されたモデル生成データの最初のオーバラップ部分のLサンプル）に対する予測誤差を求め、処理は、ステップＳ３９に進む。
【０１９８】
ステップＳ３９では、コネクティビティ算出部１６は、ステップＳ３８で求められた予測誤差を、例えば、BPTT法に基づき、前モデルから生成されたモデル生成データの最初の１サンプルまで逆伝播することで、その予測誤差を小さくするように、前モデルの初期コンテキストを更新し、処理は、図９のステップＳ４１に進む。
【０１９９】
すなわち、図９は、図８に続くフローチャートである。
【０２００】
ステップＳ４１では、コネクティビティ算出部１６は、前モデル及び後モデルの初期コンテキストの更新を終了する条件（以下、更新終了条件ともいう）が満たされているかどうかを判定する。
【０２０１】
ここで、更新終了条件としては、ステップＳ３４及びＳ３８（図８）で求められる予測誤差が、ある程度収束している状態にあることを採用することができる。具体的には、更新終了条件としては、所定の繰り返し回数だけ、モデルペアを構成する前モデル及び後モデルの初期コンテキストの更新が行われたことや、ステップＳ３４及びＳ３８で求められる予測誤差が、前回と今回とで、ほとんど変化しないこと、等を採用することができる。
【０２０２】
ステップＳ４１において、更新終了条件が満たされていないと判定された場合、処理は、図８のステップＳ３１に戻り、コネクティビティ算出部１６は、前モデルに、ステップＳ２４（図７）で設定された入力データと、初期コンテキスト（いまの場合、ステップＳ３９（図８）での更新後の初期コンテキスト）を与えて、モデル生成データを生成し、以下、同様の処理が繰り返される。
【０２０３】
また、ステップＳ４１において、更新終了条件が満たされていると判定された場合、コネクティビティ算出部１６は、前モデルの現在の初期コンテキストを、前モデルの最適初期コンテキストとするとともに、後モデルの現在の初期コンテキストを、後モデルの最適初期コンテキストとして、処理は、ステップＳ４２に進む。
【０２０４】
ステップＳ４２では、コネクティビティ算出部１６は、前モデルに、ステップＳ２４（図７）で設定された入力データと、前モデルの最適初期コンテキスト（最後に行われたステップＳ３９（図８）で更新された初期コンテキスト）を与えて、モデル生成データを生成し、処理は、ステップＳ４３に進む。
【０２０５】
ステップＳ４３では、コネクティビティ算出部１６は、前モデルから生成されたモデル生成データの最後のオーバラップ部分であるLサンプルを、後モデルの入力データの最初のLサンプルとして設定し、処理は、ステップＳ４４に進む。
【０２０６】
ステップＳ４４では、コネクティビティ算出部１６は、後モデルに、ステップＳ４３で設定された入力データ（前モデルから生成されたモデル生成データの最後のオーバラップ部分であるLサンプル）と、後モデルの最適初期コンテキスト（最後に行われたステップＳ３５で更新された初期コンテキスト）を与えて、モデル生成データを生成し、処理は、ステップＳ４５に進む。
【０２０７】
ステップＳ４５では、コネクティビティ算出部１６は、ステップＳ４２で前モデルから生成されたモデル生成データの最後のLサンプルと、ステップＳ４４で後モデルから生成されたモデル生成データの最初のLサンプルとの接続誤差を、式（１）に従って求める。
【０２０８】
そして、コネクティビティ算出部１６は、その接続誤差を、前モデルに対する後モデルのコネクティビティcijとして、処理は、ステップＳ４５からステップＳ４６に進む。
【０２０９】
ステップＳ４６では、コネクティビティ算出部１６は、ステップＳ４５で求めたコネクティビティcijを、コネクティビティ保存部１７に供給して記憶させ、処理は、ステップＳ４７に進む。
【０２１０】
ステップＳ４７では、コネクティビティ算出部１６は、N個の学習モデル#1ないし#Nが取り得る、２つの学習モデルの順列のすべてを、モデルペアとして、コネクティビティを求めたかどうかがを判定する。
【０２１１】
ステップＳ４７において、まだ、モデルペアとしていない２つの学習モデルの順列があると判定された場合、処理は、図７のステップＳ２１に戻り、以下、同様の処理が繰り返される。
【０２１２】
また、ステップＳ４７において、モデルペアとしていない２つの学習モデルの順列がないと判定された場合、処理はリターンする。
【０２１３】
［データ生成装置２０の詳細構成例］
図１０は、図１のデータ生成装置２０のより詳細な構成例を示している。
【０２１４】
なお、図１０では、教師データが、複数であるN個のモデル学習用データ#1ないし#Nに分割され、そのN個のモデル学習用データ#1ないし#Nを用いての、N個の学習モデル#1ないし#Nの学習が、コネクティビティの算出も含めて、既に済んでいることとする。
【０２１５】
始点モデル選択部２３は、現在データ分配部６１、モデルパラメータ供給部６２、N個の認識生成部６３1ないし６３N、及び、始点モデル決定部６４等から構成される。
【０２１６】
現在データ分配部６１は、現在データ供給部２１から始点モデル選択部２３に供給される現在データを、N個の認識生成部６３1ないし６３Nすべてに供給(分配）する。
【０２１７】
モデルパラメータ供給部６２は、N個の学習モデル#1ないし#Nのモデルパラメータ#1ないし#Nを、モデルパラメータ保存部１５から読み出す。さらに、モデルパラメータ供給部６２は、モデルパラメータ保存部１５から読み出したモデルパラメータ#nを、認識生成部６３nに供給する。
【０２１８】
認識生成部６３nは、モデルパラメータ供給部６２からのモデルパラメータ#nを、学習モデルに設定することで、学習モデル#nを生成する（例えば、モデル学習用データ#nを用いた学習が済んだ学習モデル#nの、オブジェクト指向プログラミングにおけるインスタンスを生成する）。
【０２１９】
そして、認識生成部６３nは、現在データ分配部６１から供給される現在データを、学習モデル#nに与えることで、学習モデル#nから、現在データの予測値#nを生成する。
【０２２０】
なお、学習モデル#nからの、現在データの予測値#nの生成において、学習モデル#nに与える初期コンテキストとしては、例えば、ランダムな値を採用することができる。また、学習モデル#nに与える初期コンテキストとしては、その他、例えば、現在データの予測値#nを小さくする初期コンテキスト（最適初期コンテキスト）を求め、その最適初期コンテキストを採用することができる。
【０２２１】
認識生成部６３nは、学習モデル#nから、現在データの予測値#nを生成すると、その予測値#nの予測誤差を求め、始点モデル決定部６４に供給する。
【０２２２】
始点モデル決定部６４は、認識生成部６３1ないし６３Nからそれぞれ供給される、現在データの予測値#1ないし#Nの予測誤差が小さい上位１個以上の学習モデルを、始点モデルとして選択し、その始点モデルの始点モデルIDを、生成用モデルシーケンス算出部２５に供給する。
【０２２３】
終点モデル選択部２４は、目標データ分配部７１、モデルパラメータ供給部７２、N個の認識生成部７３1ないし７３N、及び、終点モデル決定部７４等から構成される。
【０２２４】
目標データ分配部７１は、目標データ供給部２２から終点モデル選択部２４に供給される目標データを、N個の認識生成部７３1ないし７３Nすべてに供給(分配）する。
【０２２５】
モデルパラメータ供給部７２は、N個の学習モデル#1ないし#Nのモデルパラメータ#1ないし#Nを、モデルパラメータ保存部１５から読み出す。さらに、モデルパラメータ供給部７２は、モデルパラメータ保存部１５から読み出したモデルパラメータ#nを、認識生成部７３nに供給する。
【０２２６】
認識生成部７３nは、モデルパラメータ供給部７２からのモデルパラメータ#nを、学習モデルに設定することで、学習モデル#nを生成する。
【０２２７】
そして、認識生成部７３nは、目標データ分配部７１から供給される目標データを、学習モデル#nに与えることで、学習モデル#nから、目標データの予測値#nを生成する。
【０２２８】
なお、学習モデル#nからの、目標データの予測値#nの生成において、学習モデル#nに与える初期コンテキストとしては、現在データの予測値#nの生成の場合と同様に、ランダムな値や、最適初期コンテキストを採用することができる。
【０２２９】
認識生成部７３nは、学習モデル#nから、目標データの予測値#nを生成すると、その予測値#nの予測誤差を求め、終点モデル決定部７４に供給する。
【０２３０】
終点モデル決定部７４は、認識生成部７３1ないし７３Nからそれぞれ供給される、目標データの予測値#1ないし#Nの予測誤差が小さい上位１個以上の学習モデルを、終点モデルとして選択し、その終点モデルの終点モデルIDを、生成用モデルシーケンス算出部２５に供給する。
【０２３１】
生成用モデルシーケンス算出部２５は、始点モデルID供給部８１、終点モデルID供給部８２、及び、シーケンス算出部８３等から構成される。
【０２３２】
始点モデルID供給部８１は、始点モデル選択部２３（の始点モデル決定部６４）から生成用モデルシーケンス算出部２５に供給される始点モデルIDを受信し、シーケンス算出部８３に供給する。
【０２３３】
終点モデルID供給部８２は、終点モデル選択部２４（の終点モデル決定部７４）から生成用モデルシーケンス算出部２５に供給される終点モデルIDを受信し、シーケンス算出部８３に供給する。
【０２３４】
シーケンス算出部８３は、始点モデルID供給部８１からの始点モデルIDによって特定される始点モデルから、終点モデルID供給部８２からの終点モデルIDによって特定される終点モデルまでの、複数の学習モデルの、ある並びを、生成用モデルシーケンスとして求める。
【０２３５】
すなわち、シーケンス算出部８３は、コネクティビティ保存部１７に記憶されたコネクティビティcijに対応する値を、学習モデル#iの後に、学習モデル#jを接続するのに要するコスト（以下、接続コストともいう）として、接続コストの累積値を最小にする、始点モデルから終点モデルまでの学習モデルの並びを、生成用モデルシーケンスとして求める。
【０２３６】
そして、シーケンス算出部８３は、生成用モデルシーケンスを、時系列データ生成部２６に供給する。
【０２３７】
ここで、シーケンス算出部８３では、上述のように、学習モデル#iの後に、学習モデル#jを接続するのに要する接続コストとして、コネクティビティcijに対応する値を採用し、その接続コストを、ノード（学習モデル）どうしの距離とみなすことで、接続コストの累積値を最小にする、始点モデルから終点モデルまでの学習モデルの並びである生成用モデルシーケンスを、一般的な経路探索アルゴリズムによって求める。
【０２３８】
生成用モデルシーケンスを求めるための経路探索アルゴリズムとしては、例えば、ダイクストラ法や、ビタビアルゴリズムを採用することができる。
【０２３９】
なお、生成用モデルシーケンス算出部２５は、始点モデル選択部２３から、複数の始点モデルIDが供給される場合や、終点モデル選択部２４から、複数の終点モデルIDが供給される場合、つまり、複数の学習モデルが、始点モデルや終点モデルとして選択された場合、その複数の始点と終点の組み合わせすべてについて、生成用モデルシーケンスを算出する。
【０２４０】
すなわち、始点モデルとして選択された学習モデルの数をAと表すとともに、終点モデルとして選択された学習モデルの数をBと表すこととすると、生成用モデルシーケンス算出部２５は、A×B個の生成用モデルシーケンスを算出する。
【０２４１】
そして、生成用モデルシーケンス算出部２５は、A×B個の生成用モデルシーケンスのうちの、接続コストの累積値が最小の生成用モデルシーケンスを、時系列データの生成に用いる生成用モデルシーケンスに決定し、時系列データ生成部２６に供給する。
【０２４２】
時系列データ生成部２６は、シーケンス供給部９１、モデルパラメータ供給部９２、N個の認識生成部９３1ないし９３N、及び、統合生成部９４等から構成される。
【０２４３】
シーケンス供給部９１は、生成用モデルシーケンス算出部２５（のシーケンス算出部８３）から供給される生成用モデルシーケンスを受信し、モデルパラメータ供給部９２に供給する。
【０２４４】
モデルパラメータ供給部９２は、シーケンス供給部９１からの生成用モデルシーケンスを構成する学習モデル（以下、構成モデルともいう）のモデルパラメータを、モデルパラメータ保存部１５から読み出し、認識生成部９３1ないし９３Nのうちの必要なブロックに供給する。
【０２４５】
すなわち、生成用モデルシーケンスが、K（≦N）個の構成モデル#1ないし#Kの並びで構成されることとすると、モデルパラメータ供給部９２は、構成モデル#1ないし#Kのモデルパラメータ#1ないし#Kを、モデルパラメータ保存部１５から読み出す。
【０２４６】
さらに、モデルパラメータ供給部９２は、構成モデル#k（k=1,2,・・・,K）のモデルパラメータ#kを、認識生成部９３1ないし９３Nのうちの認識生成部９３kに供給する。
【０２４７】
認識生成部９３kは、モデルパラメータ供給部９２からのモデルパラメータ#kを、学習モデルに設定することで、構成モデル#kを生成する（例えば、モデル学習用データ#kを用いた学習が済んだ学習モデル#kの、オブジェクト指向プログラミングにおけるインスタンスを生成する）。
【０２４８】
さらに、認識生成部９３kは、構成モデル#kから、モデル生成データ#kを生成し、そのモデル生成データ#kの最後のオーバラップ部分と、認識生成部９３k+1が構成モデル#k+1から生成するモデル生成データ#k+1、すなわち、モデル生成データ#kに接続されるモデル生成データ#k+1の最初のオーバラップ部分との誤差を小さくするように、構成モデル#kの初期コンテキストを更新することで、コネクティビティ算出処理（図７ないし図９）の場合と同様にして、最適初期コンテキストを求める。
【０２４９】
そして、認識生成部９３1は、構成モデル#1に、その構成モデル#1の最適初期コンテキストを与えるとともに、現在データ供給部２１から供給される現在データを入力データとして与えることで、モデル生成データ#1を生成して、統合生成部９４に供給する。
【０２５０】
認識生成部９３1ないし９３Kのうちの、認識生成部９３1以外の認識生成部９３kは、構成モデル#kに、その構成モデル#kの最適初期コンテキストを与えるとともに、前段の認識生成部９３k-1が構成モデル#k-1から生成したモデル生成データ#k-1の最後のオーバラップ部分を入力データの最初のLサンプルとして与えることで、モデル生成データ#kを生成して、統合生成部９４に供給する。
【０２５１】
統合生成部９４は、認識生成部９３1ないし９３Kから供給されるモデル生成データ#1ないし#Kを、オーバラップ部分を考慮して接続することにより、滑らかな生成時系列データを構成(生成）し、時系列データ出力部２７に供給する。
【０２５２】
［生成用モデルシーケンスの算出］
次に、生成用モデルシーケンス算出部２５（図１）において、生成用モデルシーケンスを、例えば、ビタビアルゴリズムに基づいて求める方法について説明する。
【０２５３】
ここで、ビタビアルゴリズムは、観測結果について、１つの最も尤もらしい説明を与える動的計画法のアルゴリズムであり、ビタビアルゴリズムで扱う事象（状態）の系列について、時刻tでの事象の計算は、直前の時刻t-1での事象の系列のみに依存していることを前提とする。すなわち、ビタビアルゴリズムで扱う事象は、未来の挙動が現在の値だけで決定され、過去の挙動と無関係であるという性質を持つマルコフ性を前提とする確率過程である。
【０２５４】
また、ビタビアルゴリズムは状態機械を仮定して動作する。すなわち、モデルとしたシステムは任意の時刻で何らかの状態を持つ。状態数は膨大であっても有限であり、リストアップ可能である。各状態はノードとして表される。与えられた状態に対応する状態の複数の系列（経路）が複数考えられるとしても、最も尤もらしい状態経路が１つある。ビタビアルゴリズムでは、ある状態に到達するあらゆる経路を調べ、最も尤もらしい経路を選ぶ。これを状態の並びに対して順次適用するため、あらゆる経路を保持しておく必要はなく、１つの状態につき１つの経路だけを保持すれば足りる。
【０２５５】
さらに、ビタビアルゴリズムでは、ある状態から別の状態への遷移について増分（通常、数）を付与する。この遷移は事象から求められる。また、ビタビアルゴリズムでは、事象は一般に加算的な意味で経路上で累積するとされる。ビタビアルゴリズムでは、各状態についての数を保持するとともに、ある事象が起きたとき、これまでの状態経路の持つ値と新たな遷移における増分を考慮し、最も良い状態を選択する。事象に対応した増分は、ある状態から別の状態への遷移確率に依存して決定される。
【０２５６】
生成用モデルシーケンスを、ビタビアルゴリズムに基づいて求める場合、学習後の学習モデル#1ないし#Nのそれぞれが、ビタビアルゴリズムにおける状態機械の状態（ノード）に相当する。したがって、学習後の学習モデル#1ないし#Nの数Nが、ビタビアルゴリズムの全状態数になる。
【０２５７】
また、ある状態から別の状態に遷移する際の事象に対応した増分、すなわち、ビタビアルゴリズムにおける遷移確率としては、接続コスト、すなわち、コネクティビティcijを用いることができる。但し、遷移確率と接続コスト（コネクティビティcij）とは、値の増減が逆の関係にある。すなわち、遷移確率は、値が大きいほど、状態遷移が生じやすいが、接続コストは、値が小さいほど、状態遷移に相当する、学習モデル#iと#jの接続が生じやすい（力学的接続可能性が高い）。
【０２５８】
ビタビアルゴリズムでは、ある始点となる状態から目標とする状態への全経路のうちの、遷移確率の総和が最大となる経路を最も尤もらしい経路（ビタビパス(Vitarbi path)）として採用する。これと同様に、生成用モデルシーケンスの算出では、接続コストの累積値、つまり、コネクティビティcijの総和が最小となる経路をコストが最小の経路として採用し、その経路上の状態に相当する学習モデルの並びを、生成用モデルシーケンスとする。
【０２５９】
すなわち、生成用モデルシーケンス算出部２５は、始点モデルから終点モデルまでの接続コストの累積値が最小になる、学習モデルの並びを、生成用モデルシーケンスとして求める。
【０２６０】
いま、最初の時刻t=1（始点モデルに相当する状態の時刻）から、ある時刻t=τまでの、状態#nごとの接続コストの累積値δn(τ)をコンポーネントとするベクトルを、累積値ベクトルd(τ)＝（δ1(τ)，δ2(τ)，・・・，δN(τ)）ということとする。生成用モデルシーケンス算出部２５は、累積値ベクトルd(τ)＝（δ1(τ)，δ2(τ)，・・・，δN(τ)）を保持する。
【０２６１】
また、状態#iから状態#jへの状態遷移のコスト、すなわち、状態#iに相当する学習モデル#i（が生成するモデル生成データ#i）の直後に、状態#jに相当する学習モデル#j（が生成するモデル生成データ#j）が接続する接続コストを、bijで表す。接続コストbijの集合は、接続コストbijを、第i行第j列のコンポーネントとするマトリクスで表すことができる。
【０２６２】
ここで、接続コストbijを、第i行第j列のコンポーネントとするマトリクスを、接続コストマトリクスともいう。
【０２６３】
いま、学習モデル#iの直後に学習モデル#jが接続するのが不自然でないとみなすことができるコネクティビティcijの最大値を、cmaxと表し、その最大値cmaxを、コネクティビティcijの閾値とする。コネクティビティcijが、閾値cmax以下である場合には、接続コストbijとして、コネクティビティcijが採用される。また、コネクティビティcijが、閾値cmaxを超える場合には、接続コストbijとして、閾値cmaxより十分大きな値である接続不可能値cinfが採用される。
【０２６４】
ここで、閾値cmaxや接続不可能値cinfは、シミュレーション等によって求められる。
【０２６５】
すなわち、例えば、多数の教師データを用いて、学習モデル#iから生成されるモデル生成データの最後のオーバラップ部分と、学習モデル#jから生成されるモデル生成データの最初のオーバラップ部分とが似ていない場合（学習モデル#iから生成されるモデル生成データの直後に、学習モデル#jから生成されるモデル生成データが繋がることが不自然である場合）のコネクティビティcijの平均値等が、シミュレーションによって求められ、閾値cmaxとして採用される。
【０２６６】
また、例えば、多数の教師データを用いて、複数の学習モデルのすべてを接続した場合のコネクティビティの総和の最大値が求められ、その最大値よりも大きい値（生成用モデルシーケンスを構成する学習モデルのコネクティビティcijの総和として取り得ない大きな値）が、接続不可能値cinfとして採用される。
【０２６７】
以上のように、コネクティビティcijが、閾値cmax以下である場合には、接続コストbijとして、コネクティビティcijを採用し、コネクティビティcijが、閾値cmaxを超える場合には、接続コストbijとして、接続不可能値cinfを採用することで、生成用モデルシーケンスにおいて、ある学習モデルの直後に接続され得る学習モデルと、接続されることがない学習モデルとを明確に区別することができる。
【０２６８】
生成用モデルシーケンス算出部２５は、生成用モデルシーケンスを求めるにあたり、まず、上述したような接続コストマトリクスを生成するとともに、累積値ベクトルd(t)を初期化する。
【０２６９】
ここで、累積値ベクトルd(t)の初期化とは、時刻t=1のときの、累積値ベクトルd(1)のコンポーネントδ1(1)，δ2(1)，・・・，δN(1)の値を設定（セット）することである。累積値ベクトルd(t)の初期化では、コンポーネントδ1(1)ないしδN(1)のうちの、始点モデルとなっている学習モデルに対応するコンポーネントが、0とされ、その他のコンポーネントは、接続不可能値cinfとされる。
【０２７０】
接続コストマトリクスの生成と、累積値ベクトルd(t)の初期化が終了すると、生成用モデルシーケンス算出部２５は、前向き計算（前向き方向（未来方向）の計算）を行うことで、各時刻tの累積値ベクトルd(t)を求める。
【０２７１】
図１１は、生成用モデルシーケンス算出部２５による前向き計算を説明する図である。
【０２７２】
図１１において、横軸は、時刻tを表し、縦軸は、状態に相当する学習モデルを表す。
【０２７３】
生成用モデルシーケンス算出部２５は、累積値ベクトルd(t)のコンポーネントδj(t)を、式（２）に従って、コンポーネントδj(t+1)に更新することで、時刻tの累積値ベクトルd(t)を、時刻t+1の累積値ベクトルd(t+1)に更新する。
【０２７４】
δj(t+1)＝mini(δi(t)＋bij)
・・・（２）
【０２７５】
ここで、式（２）において、mini()は、変数iを、1ないしNの整数に変えたときのかっこ内の値の最小値を表す。
【０２７６】
式（２）によれば、時刻t+1の、学習モデル#jまでの接続コストの累積値δj(t+1)は、時刻tの、学習モデル#iまでの接続コストの累積値δi(t)と、学習モデル#iに対する学習モデル#jの接続コストbijとを用いて求められる。
【０２７７】
すなわち、式（２）によれば、時刻t+1において、学習モデル#jに至る、時刻tのすべての学習モデル#1ないし#Nからの接続（状態遷移に相当する）のうちの、時刻t+1の、学習モデル#jまでの接続コストの累積値が最小になる接続（以下、最小接続ともいう）が選択される。そして、その最小接続を介して、時刻t+1に、学習モデル#jに至るまでの接続コストの累積値が、時刻t+1の、学習モデル#jまでの接続コストの累積値δj(t+1)として用いられる。
【０２７８】
これにより、生成用モデルシーケンス算出部２５では、時刻t+1に、学習モデル#jに至る全経路を保持することなく、最小接続だけを選択することによって、時刻t+1の、学習モデル#jまでの接続コストの累積値δj(t+1)を求めることができる。
【０２７９】
なお、生成用モデルシーケンス算出部２５は、式（２）によって、接続コストの累積値δj(t+1)を求めた学習モデル#1ないし#Nそれぞれに至るまでの学習モデルの系列（並び）の情報（以下、系列情報ともいう）を保持する。
【０２８０】
すなわち、生成用モデルシーケンス算出部２５は、学習モデル#1ないし#Nそれぞれについて、時刻t+1の学習モデル#jへの最小接続となる、時刻tの学習モデル#iの情報（以下、最小接続元情報ともいう）を、時刻ごとに記憶する。
【０２８１】
以上のような前向き計算の開始後、生成用モデルシーケンス算出部２５は、前向き計算を終了するための条件（以下、計算終了条件ともいう）の判定を開始し、計算終了条件が満たされたときに、前向き計算を終了する。
【０２８２】
ここで、生成用モデルシーケンス算出部２５では、始点モデルから終点モデルまでの学習モデルの並びが、生成用モデルシーケンスとして求められるが、始点モデルから、何時刻後に、終点モデルに到達するかは、未知である。したがって、前向き計算を行うべき回数を、あらかじめ知ることは困難であり、そのため、前向き計算を終了するのに、計算終了条件が必要となる。
【０２８３】
計算終了条件としては、学習モデル#1ないし#Nのうちの、終点モデルに至るまでの接続コストの累積値δgoal(t)が、閾値δth以下になったこと（式δgoal(t)≦δthが満たされること）が採用される。
【０２８４】
ここで、累積値ベクトルd(t)の初期化では、接続コストの累積値δ1(1)ないしδN(1)のうちの、始点モデルの接続コストの累積値が、0とされ、始点モデル以外の学習モデルの接続コストの累積値は、接続不可能値cinfとされる。
【０２８５】
したがって、例えば、終点モデルに至るまでの系列情報が表す学習モデルの系列（並び）のうちの最初の学習モデル（時刻t=1の状態に対応する学習モデル）が、始点モデルになっていない場合には、終点モデルに至るまでの接続コストの累積値は、接続不可能値cinf以上の値となる。
【０２８６】
一方、終点モデルに至るまでの系列情報が表す学習モデルの系列のうちの最初の学習モデルが、始点モデルになった場合、すなわち、始点モデルから終点モデルまでの学習モデルの並びとして、接続コストの累積値を小にする適切な学習モデルの並びが得られた場合、終点モデルに至るまでの接続コストの累積値は、接続不可能値cinfよりも十分小さいコネクティビティcijの累積値となって、接続不可能値cinfより小さな値となる。
【０２８７】
したがって、終点モデルに至るまでの系列情報が表す学習モデルの系列のうちの最初の学習モデルが、始点モデルになる場合の、終点モデルに至るまでの接続コストの累積値の一般的な値（例えば、平均値等）より大で、かつ、接続不可能値cinfより小さい値を、閾値δthとして採用し、式δgoal(t)≦δthで表される計算終了条件を判定することにより、始点モデルから終点モデルまでの、適切な学習モデルの並び、すなわち、生成用モデルシーケンスを得ることができる。
【０２８８】
なお、閾値δthは、シミュレーション等によって求められる。また、閾値δthとしては、固定の値を採用することもできるし、可変の値を採用することもできる。可変な値の閾値δthとしては、接続コストの累積回数（式（２）による前向き計算時の時刻t）に応じて増加する値等を採用することができる。
【０２８９】
生成用モデルシーケンス算出部２５は、前向き計算の開始後、計算終了条件が満たされると、前向き計算を終了し、バックトラック処理を行うことで、生成用モデルシーケンスを求める。
【０２９０】
すなわち、生成用モデルシーケンス算出部２５は、上述したように、前向き計算において、学習モデル#1ないし#Nそれぞれについて、時刻ごとに最小接続元情報を記憶する。
【０２９１】
バックトラック処理では、生成用モデルシーケンス算出部２５は、終点モデルから、時刻を遡る方向に、最小接続元情報を、１時刻ずつ、始点モデルまで辿っていく。そして、生成用モデルシーケンス算出部２５は、最小接続元情報を、辿った順の逆の順番に並び替えることで、時刻順の並びとし、その時刻順の並びの最小接続元情報が表す、始点モデルから終点モデルまでの学習モデルの並びを、生成用モデルシーケンスとして求める。
【０２９２】
なお、生成用モデルシーケンスは、時系列データ生成部２６で時系列データの生成に用いられる学習モデルの順番を表す。したがって、生成用モデルシーケンスは、時系列データの生成に用いる学習モデルの順番のプランということができる。
【０２９３】
［生成用モデルシーケンスを用いた時系列データの生成］
図１２を参照して、時系列データ生成部２６による、生成用モデルシーケンスを用いた時系列データ（生成時系列データ）の生成について説明する。
【０２９４】
図１２は、生成用モデルシーケンスが、４つの構成モデル（学習モデル）#1ないし#4の並びである場合に、その生成用モデルシーケンスを用いて生成される生成時系列データを示している。
【０２９５】
時系列データ生成部２６は、生成用モデルシーケンスを構成する構成モデル#1ないし#4について、コネクティビティを算出する場合と同様の、モデル生成データのオーバラップ部分の順伝播と逆伝播を繰り返す。これにより、時系列データ生成部２６は、隣接する構成モデル#kと#k+1それぞれが生成するモデル生成データ#kと#k+1どうしを、なるべく繋がりやすくする、構成モデル#1ないし#4それぞれの初期コンテキスト（最適初期コンテキスト）を求める。
【０２９６】
そして、時系列データ生成部２６は、最適初期コンテキストを、構成モデル#1ないし#4に与えて、構成モデル#1ないし#4からモデル生成データ#1ないし#4を生成し、そのモデル生成データ#1ないし#4を接続することで、生成時系列データを生成する。
【０２９７】
すなわち、時系列データ生成部２６は、まず、生成用モデルシーケンスを構成する始点モデルである構成モデル#1の入力データの最初の１サンプルとして、構成モデル#1に割り当てられたモデル学習用データ#iの最初の１サンプルを設定する。
【０２９８】
さらに、時系列データ生成部２６は、生成用モデルシーケンスを構成する終点モデルである構成モデル#4の出力データの最後の１サンプルの真値として、構成モデル#4に割り当てられたモデル学習用データ#4の最後の１サンプルを設定する。
【０２９９】
また、時系列データ生成部２６は、生成用モデルシーケンスを構成する構成モデル#1ないし#4のそれぞれの初期コンテキストとして、ランダムな値を設定する。
【０３００】
そして、時系列データ生成部２６は、始点モデルである構成モデル#1に、入力データと初期コンテキストを与えて、Sサンプルのモデル生成データ#1を生成する。
【０３０１】
始点モデルである構成モデル#1から、Sサンプルのモデル生成データ#1を生成した後、時系列データ生成部２６は、そのモデル生成データ#1の最後のオーバラップ部分であるLサンプルを、直後の構成モデル#2の入力データの最初のLサンプルとして設定する。
【０３０２】
そして、時系列データ生成部２６は、構成モデル#2に、入力データと初期コンテキストを与えて、Sサンプルのモデル生成データ#2を生成する。
【０３０３】
その後、時系列データ生成部２６は、構成モデル#2から生成されたモデル生成データ#2の最後のオーバラップ部分であるLサンプルを、直後の構成モデル#3の入力データの最初のLサンプルとして設定する。
【０３０４】
そして、時系列データ生成部２６は、構成モデル#3に、入力データと初期コンテキストを与えて、Sサンプルのモデル生成データ#3を生成する。
【０３０５】
さらに、構成モデル#3から生成されたモデル生成データ#3の最後のオーバラップ部分であるLサンプルを、直後の構成モデル#4の入力データの最初のLサンプルとして設定する。
【０３０６】
そして、時系列データ生成部２６は、構成モデル#4に、入力データと初期コンテキストを与えて、Sサンプルのモデル生成データ#4を生成する。
【０３０７】
以上のように、時系列データ生成部２６は、終点モデルである構成モデル#4から、モデル生成データ#4を生成すると、そのモデル生成データ#4の最後のサンプルの、構成モデル#4の出力データの最後の１サンプルの真値（上述したように、構成モデル#4に割り当てられたモデル学習用データ#4の最後の１サンプル）に対する予測誤差を求める。
【０３０８】
そして、時系列データ生成部２６は、モデル生成データ#4の最後の１サンプルの予測誤差を、例えば、BPTT法に基づき、モデル生成データ#4の最初の１サンプルまで逆伝播（誤差の逆伝播）することで、その予測誤差を小さくするように、終点モデルである構成モデル#4の初期コンテキストを更新する。
【０３０９】
構成モデル#4の初期コンテキストの更新後、時系列データ生成部２６は、構成モデル#4に、入力データ（上述したように、直前の構成モデル#3から生成されたモデル生成データ#3の最後のオーバラップ部分であるLサンプル）と、更新後の初期コンテキストを与えて、Sサンプルのモデル生成データ#4を生成する。
【０３１０】
さらに、時系列データ生成部２６は、構成モデル#4から生成されたモデル生成データ#4の最初のオーバラップ部分であるLサンプルを、直前の構成モデル#3の最後のLサンプルの真値として設定する。
【０３１１】
その後、時系列データ生成部２６は、構成モデル#3から生成されたモデル生成データ#3の最後のLサンプルの、構成モデル#3の出力データの最後のLサンプルの真値（上述したように、初期コンテキストの更新後の学習モデル#4から生成されたモデル生成データ#4の最初のオーバラップ部分であるLサンプル）に対する予測誤差を求める。
【０３１２】
そして、時系列データ生成部２６は、モデル生成データ#3の最後のLサンプルの予測誤差を、例えば、BPTT法に基づき、モデル生成データ#3の最初の１サンプルまで逆伝播（誤差の逆伝播）することで、その予測誤差を小さくするように、構成モデル#3の初期コンテキストを更新する。
【０３１３】
その後、時系列データ生成部２６は、構成モデル#3から生成されたモデル生成データ#3の最初のオーバラップ部分であるLサンプルを、直前の構成モデル#2の最後のLサンプルの真値として設定する。
【０３１４】
さらに、時系列データ生成部２６は、構成モデル#2から生成されたモデル生成データ#2の最後のLサンプルの、構成モデル#2の出力データの最後のLサンプルの真値（上述したように、初期コンテキストの更新後の学習モデル#3から生成されたモデル生成データ#3の最初のオーバラップ部分であるLサンプル）に対する予測誤差を求める。
【０３１５】
そして、時系列データ生成部２６は、モデル生成データ#2の最後のLサンプルの予測誤差を、例えば、BPTT法に基づき、モデル生成データ#2の最初の１サンプルまで逆伝播することで、その予測誤差を小さくするように、構成モデル#2の初期コンテキストを更新する。
【０３１６】
その後、時系列データ生成部２６は、構成モデル#2から生成されたモデル生成データ#2の最初のオーバラップ部分であるLサンプルを、直前の構成モデル#1の最後のLサンプルの真値として設定する。
【０３１７】
さらに、時系列データ生成部２６は、構成モデル#1から生成されたモデル生成データ#1の最後のLサンプルの、構成モデル#1の出力データの最後のLサンプルの真値（上述したように、初期コンテキストの更新後の学習モデル#2から生成されたモデル生成データ#2の最初のオーバラップ部分であるLサンプル）に対する予測誤差を求める。
【０３１８】
そして、時系列データ生成部２６は、モデル生成データ#1の最後のLサンプルの予測誤差を、例えば、BPTT法に基づき、モデル生成データ#1の最初の１サンプルまで逆伝播することで、その予測誤差を小さくするように、構成モデル#1の初期コンテキストを更新する。
【０３１９】
以上のように、終点モデルである構成モデル#4から、始点モデルである構成モデル#1までの初期コンテキストの更新が終了すると、時系列データ生成部２６は、構成モデル#1に、入力データ（上述したように、始点モデルである構成モデル#1に割り当てられたモデル学習用データ#1の最初の１サンプル）と、更新後の初期コンテキストを与えて、Sサンプルのモデル生成データ#1を生成する。
【０３２０】
さらに、時系列データ生成部２６は、始点モデルである構成モデル#1から生成されたモデル生成データ#1の最後のオーバラップ部分であるLサンプルを、直後の構成モデル#2の入力データの最初のLサンプルとして設定し、以下、同様の処理を繰り返す。
【０３２１】
そして、時系列データ生成部２６は、例えば、生成用モデルシーケンスを構成する構成モデル#1ないし#4それぞれで得られる予測誤差が収束すると、そのとき得られている初期コンテキストを、構成モデル#1ないし#4それぞれの最適初期コンテキストとする。
【０３２２】
その後、時系列データ生成部２６は、始点モデルである構成モデル#1に、入力データとして、現在データを支えるとともに、最適初期コンテキストを与えて、モデル生成データ#1を生成する。
【０３２３】
そして、時系列データ生成部２６は、構成モデル#1から生成されたモデル生成データ#1の最後のオーバラップ部分であるLサンプルを、直後の構成モデル#2の入力データの最初のLサンプルとして設定する。
【０３２４】
さらに、時系列データ生成部２６は、構成モデル#2に、入力データと、最適初期コンテキストとを与えて、モデル生成データ#2を生成する。
【０３２５】
そして、時系列データ生成部２６は、構成モデル#2から生成されたモデル生成データ#2の最後のオーバラップ部分であるLサンプルを、直後の構成モデル#3の入力データの最初のLサンプルとして設定する。
【０３２６】
さらに、時系列データ生成部２６は、構成モデル#3に、入力データと、最適初期コンテキストとを与えて、モデル生成データ#3を生成する。
【０３２７】
そして、時系列データ生成部２６は、構成モデル#3から生成されたモデル生成データ#3の最後のオーバラップ部分であるLサンプルを、直後の構成モデル#4の入力データの最初のLサンプルとして設定する。
【０３２８】
さらに、時系列データ生成部２６は、構成モデル#4に、入力データと、最適初期コンテキストとを与えて、モデル生成データ#4を生成する。
【０３２９】
以上のように、生成用モデルシーケンスを構成する構成モデル#1ないし#4のそれぞれに、最適初期コンテキストを与えて、モデル生成データ#1ないし#4が生成されると、時系列データ生成部２６は、そのモデル生成データ#1ないし#4を接続して、生成時系列データを生成する。
【０３３０】
すなわち、時系列データ生成部２６は、例えば、構成モデル#kから生成されたモデル生成データ#kの後に、直後の構成モデル#k+1から生成されたモデル生成データ#k+1の最初のオーバラップ部分より後のサンプル（モデル生成データ#k+1の先頭からL+1サンプル以降のサンプル）を接続することで、生成時系列データを生成する。
【０３３１】
［データ生成装置２０の動作］
図１３を参照して、データ生成装置２０の処理（データ生成処理）について説明する。
【０３３２】
データ生成装置２０では、ステップＳ６１において、現在データ供給部２１、目標データ供給部２２、始点モデル選択部２３、終点モデル選択部２４、及び、生成用モデルシーケンス算出部２５が、生成用モデルシーケンスを算出する算出処理を行う。
【０３３３】
さらに、ステップＳ６１では、生成用モデルシーケンス算出部２５が、生成用モデルシーケンスの算出処理において得られる生成用モデルシーケンスを、時系列データ生成部２６に供給して、処理は、ステップＳ６２に進む。
【０３３４】
ステップＳ６２では、時系列データ生成部２６が、生成用モデルシーケンス算出部２５からの生成用モデルシーケンスを用いて、生成時系列データを生成し、時系列データ出力部２７に供給する時系列データ生成処理を行い、処理は、ステップＳ６３に進む。
【０３３５】
ステップＳ６３では、時系列データ出力部２７が、時系列データ生成部２６からの生成時系列データを、図１のデータ処理装置が制御するロボットに出力して、データ生成処理は終了する。
【０３３６】
図１のデータ処理装置が制御するロボットは、時系列データ出力部２７からの生成時系列データ（センサモータデータ）のコンポーネントのうちのアクションデータに従って駆動する。これにより、ロボットは、所定の行動、すなわち、ロボットでセンシングされるセンサデータとして、現在データが得られている状態から、目標データが得られる状態となるのに適切な行動をとる。
【０３３７】
［生成用モデルシーケンスの算出処理］
図１４を参照して、図１３のステップＳ６１で行われる、生成用モデルシーケンスの算出処理について説明する。
【０３３８】
ステップＳ７１において、現在データ供給部２１は、現在データを、始点モデル選択部２３、及び、時系列データ生成部２６に供給して、処理は、ステップＳ７２に進む。
【０３３９】
ステップＳ７２では、始点モデル選択部２３は、現在データ供給部２１からの現在データを入力データとし、モデルパラメータ保存部１５にモデルパラメータが記憶されたN個の学習モデル#1ないし#Nのそれぞれから、現在データの予測値であるモデル生成データ#1ないし#Nを生成（認識生成）する。
【０３４０】
そして、処理は、ステップＳ７２からステップＳ７３に進み、始点モデル選択部２３は、モデル生成データ#1ないし#Nそれぞれの、現在データの予測値の予測誤差を求める。さらに、始点モデル選択部２３は、N個の学習モデル#1ないし#Nのうちの、予測誤差が小さい、例えば、上位１個の学習モデルを始点モデルとして選択し、処理は、ステップＳ７３からステップＳ７４に進む。
【０３４１】
ステップＳ７４では、目標データ供給部２２は、目標データを、終点モデル選択部２４に供給して、処理は、ステップＳ７５に進む。
【０３４２】
ステップＳ７５では、終点モデル選択部２４は、目標データ供給部２２からの目標データを入力データとし、モデルパラメータ保存部１５にモデルパラメータが記憶されたN個の学習モデル#1ないし#Nのそれぞれから、目標データの予測値であるモデル生成データ#1ないし#Nを生成（認識生成）する。
【０３４３】
そして、処理は、ステップＳ７５からステップＳ７６に進み、終点モデル選択部２４は、モデル生成データ#1ないし#Nそれぞれの、目標データの予測値の予測誤差を求める。さらに、終点モデル選択部２４は、N個の学習モデル#1ないし#Nのうちの、予測誤差が小さい、例えば、上位１個の学習モデルを終点モデルとして選択し、処理は、ステップＳ７６からステップＳ７７に進む。
【０３４４】
ステップＳ７７では、始点モデル選択部２３が、始点モデルの始点モデルIDを、生成用モデルシーケンス算出部２５に供給する。さらに、ステップＳ７７では、終点モデル選択部２４が、終点モデルの終点モデルIDを、生成用モデルシーケンス算出部２５に供給して、処理は、ステップＳ７７からステップＳ７８に進む。
【０３４５】
ステップＳ７８では、生成用モデルシーケンス算出部２５が、始点モデル選択部２３からの始点モデルIDによって始点モデルを特定するとともに、終点モデル選択部２４からの終点モデルIDによって終点モデルを特定する。
【０３４６】
さらに、生成用モデルシーケンス算出部２５は、始点モデルから終点モデルまでの、複数の学習モデルの、ある並びを、生成用モデルシーケンスとして求める。
【０３４７】
すなわち、生成用モデルシーケンス算出部２５は、上述したように、コネクティビティ保存部１７に記憶されたコネクティビティに対応する値を、１つの学習モデルの後に、他の１つの学習モデルを接続する接続コストとして、接続コストの累積値を最小にする、始点モデルから終点モデルまでの学習モデルの並びを、生成用モデルシーケンスとして求める。
【０３４８】
そして、生成用モデルシーケンス算出部２５は、生成用モデルシーケンスを、時系列データ生成部２６に供給して、処理はリターンする。
【０３４９】
［時系列データ生成処理］
図１５ないし図１８を参照して、図１３のステップＳ６２で行われる時系列データ生成処理について説明する。
【０３５０】
図１５は、時系列データ生成処理を説明するフローチャートである。
【０３５１】
時系列データ生成処理では、ステップＳ８１において、時系列データ生成部２６が、生成用モデルシーケンス算出部２５から供給される生成用モデルシーケンスを受信し、処理は、ステップＳ８２に進む。
【０３５２】
ステップＳ８２では、時系列データ生成部２６は、生成用モデルシーケンスを構成する構成モデルのうちの、始点モデルと終点モデルのそれぞれに割り当てられたモデル学習用データを、モデル学習用データ保存部１３（図１）から読み込み、処理は、ステップＳ８３に進む。
【０３５３】
ステップＳ８３では、時系列データ生成部２６は、生成用モデルシーケンスを構成する構成モデルそれぞれのモデルパラメータを、モデルパラメータ保存部１５（図１）から読み出し、処理は、ステップＳ８４に進む。
【０３５４】
ステップＳ８４では、時系列データ生成部２６は、始点モデルの入力データの最初の１サンプルとして、始点モデルに割り当てられたモデル学習用データの最初の１サンプルを設定して、処理は、ステップＳ８５に進む。
【０３５５】
ステップＳ８５では、時系列データ生成部２６は、終点モデルの出力データの最後の１サンプルの真値として、終点モデルに割り当てられたモデル学習用データの最後の１サンプルを設定して、処理は、ステップＳ８６に進む。
【０３５６】
ステップＳ８６では、時系列データ生成部２６は、生成用モデルシーケンスを構成する構成モデルのモデルパラメータを、学習モデルに設定することで、生成用モデルシーケンスを構成する構成モデルを生成し（例えば、オブジェクト指向プログラミングにおける、構成モデルとしての学習モデルのインスタンスを生成し）、処理は、ステップＳ８７に進む。
【０３５７】
ステップＳ８８では、時系列データ生成部２６は、生成用モデルシーケンスを構成する構成モデルのそれぞれの初期コンテキストとして、ランダムな値を設定して、処理は、図１６のステップＳ９１に進む。
【０３５８】
すなわち、図１６は、図１５に続くフローチャートである。
【０３５９】
ステップＳ９１では、時系列データ生成部２６は、生成用モデルシーケンスを構成する構成モデルのうちの、始点モデルを、注目する注目モデルに選択する。さらに、ステップＳ９１では、注目モデルである始点モデルに、ステップＳ８４（図１５）で設定された入力データと、初期コンテキスト（いまの場合、ステップＳ８７で設定された初期コンテキスト）を与えて、モデル生成データを生成し、処理は、ステップＳ９２に進む。
【０３６０】
ステップＳ９２では、時系列データ生成部２６は、生成用モデルシーケンスを構成する構成モデルのうちの、現在の注目モデルの直後の構成モデル（以下、直後モデルともいう）を、新たに、注目モデルに選択する。
【０３６１】
さらに、時系列データ生成部２６は、注目モデルの入力データの最初のLサンプルとして、生成用モデルシーケンスを構成する構成モデルのうちの、現在の注目モデルの直前の構成モデル（以下、直前モデルともいう）から生成されたモデル生成データの最後のオーバラップ部分であるLサンプルを設定し、処理は、ステップＳ９２からステップＳ９３に進む。
【０３６２】
ステップＳ９３では、時系列データ生成部２６は、注目モデルに、ステップＳ９２で設定された入力データ（直前モデルから生成されたモデル生成データの最後のオーバラップ部分であるLサンプル）と、初期コンテキストを与えて、モデル生成データを生成し、処理は、ステップＳ９４に進む。
【０３６３】
なお、ステップＳ９１及びＳ９３において、注目モデルに与えられる初期コンテキストは、後述するステップＳ１０２とＳ１０６（図１７）の処理が既に行われている場合には、そのステップＳ１０２とＳ１０６での更新後の初期コンテキストであり、ステップＳ１０２とＳ１０６の処理が、まだ行われていない場合には、ステップＳ８７（図１５）で設定された初期コンテキストである。
【０３６４】
ステップＳ９４では、時系列データ生成部２６が、注目モデルが、終点モデルであるかどうかを判定する。ステップＳ９４において、注目モデルが、終点モデルでないと判定された場合、処理は、ステップＳ９２に戻り、以下、同様の処理が繰り返される。
【０３６５】
また、ステップＳ９４において、注目モデルが、終点モデルであると判定された場合、つまり、生成用モデルシーケンスを構成する構成モデルのすべてから、モデル生成用データを生成した場合、処理は、図１７のステップＳ１０１に進む。
【０３６６】
すなわち、図１７は、図１６に続くフローチャートである。
【０３６７】
ステップＳ１０１では、時系列データ生成部２６は、終点モデルから生成されたモデル生成データの最後の１サンプルの、ステップＳ８５（図１５）で設定された真値に対する予測誤差を求め、処理は、ステップＳ１０２に進む。
【０３６８】
ステップＳ１０２では、時系列データ生成部２６は、ステップＳ１０２で求められた予測誤差を、BPTT法に基づき、終点モデルから生成されたモデル生成データの最初の１サンプルまで逆伝播することで、その予測誤差を小さくするように、終点モデルの初期コンテキストを更新し、処理は、ステップＳ１０３に進む。
【０３６９】
ステップＳ１０３では、時系列データ生成部２６は、終点モデルを、注目モデルに選択する。さらに、ステップＳ１０３では、時系列データ生成部２６は、注目モデルである終点モデルに、ステップＳ９２（図１６）で設定された入力データと、ステップＳ１０２での更新後の初期コンテキストを与えて、モデル生成データを生成する。
【０３７０】
そして、処理は、ステップＳ１０３からステップＳ１０４に進み、時系列データ生成部２６は、注目モデルの直前モデルを、新たに、注目モデルに選択する。さらに、ステップＳ１０４では、時系列データ生成部２６は、直前モデルから生成されたモデル生成データの最初のオーバラップ部分のLサンプルを、注目モデルの最後のLサンプルの真値として設定し、処理は、ステップＳ１０５に進む。
【０３７１】
ステップＳ１０５では、時系列データ生成部２６は、注目モデルから生成されたモデル生成データの最後のLサンプルの、ステップＳ１０４で設定された真値（初期コンテキストの更新後の直後モデルから生成されたモデル生成データの最初のオーバラップ部分のLサンプル）に対する予測誤差を求め、処理は、ステップＳ１０６に進む。
【０３７２】
ステップＳ１０６では、時系列データ生成部２６は、ステップＳ１０５で求められた予測誤差を、例えば、BPTT法に基づき、注目モデルから生成されたモデル生成データの最初の１サンプルまで逆伝播することで、その予測誤差を小さくするように、注目モデルの初期コンテキストを更新し、処理は、ステップＳ１０７に進む。
【０３７３】
ステップＳ１０７では、時系列データ生成部２６が、注目モデルが、始点モデルであるかどうかを判定する。ステップＳ１０７において、注目モデルが、始点モデルでないと判定された場合、処理は、ステップＳ１０４に戻り、以下、同様の処理が繰り返される。
【０３７４】
また、ステップＳ１０７において、注目モデルが、始点モデルであると判定された場合、すなわち、ステップＳ１０１ないしＳ１０６において、終点モデルから、始点モデルに向かって、生成用モデルシーケンスを構成する構成モデルのすべての初期コンテキストを更新した場合、処理は、ステップＳ１０８に進み、時系列データ生成部２６は、生成用モデルシーケンスを構成する構成モデルの初期コンテキストの更新を終了する条件（更新終了条件）が満たされているかどうかを判定する。
【０３７５】
ここで、ステップＳ１０８での更新終了条件としては、ステップＳ１０１及びＳ１０５で求められる予測誤差が、ある程度収束している状態にあることを採用することができる。具体的には、更新終了条件としては、所定の繰り返し回数だけ、生成用モデルシーケンスを構成する構成モデルの初期コンテキストの更新が行われたことや、ステップＳ１０１及びＳ１０５で求められる予測誤差が、前回と今回とで、ほとんど変化しないこと、等を採用することができる。
【０３７６】
ステップＳ１０８において、更新終了条件が満たされていないと判定された場合、処理は、図１６のステップＳ９１に戻り、時系列データ生成部２６は、始点モデルに、ステップＳ８４（図１５）で設定された入力データと、初期コンテキスト（いまの場合、ステップＳ１０６での更新後の初期コンテキスト）を与えて、モデル生成データを生成し、以下、同様の処理が繰り返される。
【０３７７】
また、ステップＳ１０８において、更新終了条件が満たされていると判定された場合、時系列データ生成部２６は、構成モデルの現在の初期コンテキストを、その構成モデルの最適初期コンテキストとして、処理は、図１８のステップＳ１１１に進む。
【０３７８】
すなわち、図１８は、図１７に続く図である。
【０３７９】
ステップＳ１１１において、時系列データ生成部２６は、現在データ供給部２１（図１）から供給される現在データを、始点モデルの入力データの最初の複数サンプル（現在データと同一のサンプル数だけのサンプル）として設定して、処理は、ステップＳ１１２に進む。
【０３８０】
ステップＳ１１２では、時系列データ生成部２６は、始点モデルを、注目モデルに選択する。
【０３８１】
さらに、ステップＳ１１２では、時系列データ生成部２６は、注目モデルである始点モデルに、ステップＳ１１１で設定された入力データと、始点モデルの最適初期コンテキストを与えて、Sサンプルのモデル生成データを生成し、処理は、ステップＳ１１３に進む。
【０３８２】
ステップＳ１１３では、時系列データ生成部２６は、ステップＳ１１２で生成したSサンプルのモデル生成データを、生成時系列データ（の一部）として、時系列データ出力部２７（図１）に出力して、処理は、ステップＳ１１４に進む。
【０３８３】
ステップＳ１１４では、時系列データ生成部２６は、注目モデルの直後モデルを、新たに、注目モデルに選択する。
【０３８４】
さらに、ステップＳ１１４では、時系列データ生成部２６は、注目モデルの直前モデルから生成されたモデル生成データの最後のオーバラップ部分であるLサンプルを、注目モデルの入力データの最初のLサンプルとして設定し、処理は、ステップＳ１１５に進む。
【０３８５】
ステップＳ１１５では、時系列データ生成部２６は、注目モデルに、ステップＳ１１４で設定された入力データ（直前モデルから生成されたモデル生成データの最後のオーバラップ部分であるLサンプル）と、注目モデルの最適初期コンテキストを与えて、モデル生成データを生成し、処理は、ステップＳ１１６に進む。
【０３８６】
ステップＳ１１６では、時系列データ生成部２６は、ステップＳ１１５で注目モデルから生成されたモデル生成データのうちの、L+1サンプル以降のサンプルを、直前に出力された生成時系列データに続く生成時系列データとして、時系列データ出力部２７（図１）に出力して、処理は、ステップＳ１１７に進む。
【０３８７】
ステップＳ１１７では、時系列データ生成部２６は、注目モデルが、終点モデルであるかどうかを判定する。ステップＳ１１７において、注目モデルが、終点モデルでないと判定された場合、処理は、ステップＳ１１４に戻り、以下、同様の処理が繰り返される。
【０３８８】
また、ステップＳ１１７において、注目モデルが、終点モデルであると判定された場合、すなわち、生成用モデルシーケンスを構成する構成モデルのすべてから、モデル生成用データを生成した場合、処理はリターンする。
【０３８９】
以上のように、データ処理装置１０（図１）では、教師データ分割部１２が、時系列データである教師データを、一部がオーバラップする複数のデータに分割し、内部状態を有する学習モデルの学習に用いるモデル学習用データとして出力する。さらに、学習部１４が、１つのモデル学習用データを、１つの学習モデルに割り当てるように、複数のモデル学習用データを、複数の学習モデルに割り当て、学習モデルによる時系列パターンの学習を、その学習モデルに割り当てられたモデル学習用データを用いて行う。そして、コネクティビティ算出部１６が、複数の学習モデルすべてについて、１つの学習モデルが生成する時系列データの最後の一部分のデータ列であるオーバラップ部分と、他の１つの学習モデルが生成する時系列データの最初のオーバラップ部分との誤差を、１つの学習モデルが学習した時系列パターンの後に、他の１つの学習モデルが学習した時系列パターンが接続する適切さを表すコネクティビティとして算出する。
【０３９０】
一方、データ生成装置２０（図１）では、始点モデル選択部２３が、学習後の複数の学習モデルのうちの、１つの学習モデルを、始点モデルとして選択するとともに、終点モデル選択部２４が、他の１つの学習モデルを、終点モデルとして選択する。さらに、生成用モデルシーケンス算出部２５が、コネクティビティに対応する値を、１つの学習モデルの後に、他の１つの学習モデルを接続する接続コストとして、接続コストの累積値を最小にする、始点モデルから終点モデルまでの学習モデルの並びを、生成用モデルシーケンスとして求める。そして、時系列データ生成部２６が、生成用モデルシーケンスを構成する学習モデル（構成モデル）について、学習モデルが生成する時系列データの最後のオーバラップ部分と、後に接続される学習モデルが生成する時系列データの最初のオーバラップ部分との誤差を小さくするように、学習モデルの内部状態の初期値を決定し、その初期値を、学習モデルに与えて、時系列データを生成する。
【０３９１】
したがって、複雑で、長時間の時系列データを、容易に学習し、また、学習結果に基づき、滑らかな時系列データを、精度良く生成することができる。
【０３９２】
すなわち、学習装置１０では、１つの学習モデルでは記憶しきれない複雑（非線形、多次元）かつ長時間のダイナミクスを、複数の学習モデルで時間方向に分担して記憶する学習を行い、データ生成装置２０では、そのような学習後の学習モデルの並びである生成用モデルシーケンスを算出し、その生成用モデルシーケンスを構成する学習モデルを用いて、生成時系列データを生成する。
【０３９３】
そして、生成用モデルシーケンスの算出では、学習モデルどうしの接続性に関する、いわば評価値であるコネクティビティに基づき、各学習モデルが記憶しているダイナミクスをなるべくスムーズに、かつ、始点から終点までより短いパスで接続するように、未経験のプラン（教師データの全部又は一部に相当する生成時系列データを生成する学習モデルの並び以外の学習モデルの並び）をも含む、学習モデルの並びが求められる。
【０３９４】
さらに、生成時系列データの生成では、直前モデルから生成されたモデル生成データの最後のオーバラップ部分を、注目モデルの入力データの最初の部分として引き継ぐ順方向の伝播によって、順方向にモデル生成データを生成する一方、順方向に生成したモデル生成データをもとに、終点モデルで計算された予測誤差を、逆方向、つまり、始点モデル側の学習モデルに伝播することで、生成用モデルシーケンスを構成する学習モデルの初期コンテキストが修正（更新）される。そして、この順方向、及び逆方向の伝播を繰り返すことにより、生成用モデルシーケンスが、教師データの全部又は一部に相当する生成時系列データを生成する学習モデルの並び以外の学習モデルの並びであっても、生成用モデルシーケンスを構成する学習モデルから生成されるモデル生成データを滑らかに接続するように、初期コンテキストが修正され、滑らかな生成時系列データが生成（再構成）される。
【０３９５】
より具体的には、データ学習装置１０では、時系列データである教師データが、一部がオーバラップする複数のモデル学習用データに分割される。そして、１つのモデル学習用データを、１つの学習モデルに割り当てるように、複数のモデル学習用データが、複数の学習モデルに割り当てられ、学習モデルによる時系列パターンの学習が、その学習モデルに割り当てられたモデル学習用データを用いて行われる。
【０３９６】
したがって、時系列データが、複数の学習モデルによって、いわば分担して学習（関数近似学習）されるので、時系列パターンの記憶容量の限界をなくし、複雑で、長時間の時系列パターンを、短時間の（短い）時系列パターンに分けて記憶することができる。さらに、そのような短時間の時系列パターンを記憶した学習モデルを用いて、複雑で、長時間の時系列パターンの時系列データを、精度良く生成（再構成）することができる。
【０３９７】
すなわち、１つの学習モデルが学習を担当する時系列パターンの長さが制限されるので、学習モデルが規模の小さいRNN等であっても、時系列パターンを精度良く学習（記憶）することができる。さらに、学習モデルを増加することで、複数の学習モデルの全体の記憶容量を増加することができるので、１つの学習モデルの記憶容量に左右されずに、複雑で長時間の時系列パターンを記憶することができる。
【０３９８】
また、学習装置１０において、コネクティビティを求め、データ生成装置２０において、コネクティビティに基づき、生成用モデルシーケンスを算出するので、学習モデルが学習を担当したモデル学習用データが、教師データのどの位置のデータであるのかに依存することなく、時系列データの生成に用いる学習モデルの並びとしての生成用モデルシーケンスを算出することができる。
【０３９９】
すなわち、例えば、ある環境において移動する移動ロボットが、現在位置から、ゴールとなるゴール位置まで移動するタスク（ナビゲーションタスク）を実行するには、教師データとして与えられた経験から、現在位置からゴール位置まで移動する経路のプラン（計画）をたてる必要がある。
【０４００】
例えば、移動ロボットが移動する環境（以下、移動環境ともいう）内の任意の２点の間を、移動ロボットが移動するときに、その移動の経路の各位置で、移動ロボットが獲得することができるセンサモータデータを、教師データとして与えて、学習を行うことにより、移動ロボットは、学習時の経験、つまり、教師データとしてのセンサモータデータを観測することができる経路に沿って、自律的に移動することができる。
【０４０１】
すなわち、移動を開始するスタート位置として、学習時の経路上のある位置が与えられ、かつ、移動を終了するゴール位置として、学習時の経路上の、スタート位置よりも、移動方向が後の位置が与えられた場合、移動ロボットは、スタート位置からゴール位置まで移動する経路のプランをたてることができる。
【０４０２】
しかしながら、移動環境では、学習時の経路上の位置が、スタート位置及びゴール位置として与えられるとは限らず、また、ゴール位置として、学習時の経路上の、スタート位置よりも後の位置が与えられるとも限らない。
【０４０３】
すなわち、移動ロボットが自律的に移動する場合には、現在位置がスタート位置となるが、現在位置が、学習時の経路上の位置であるとは限らない。
【０４０４】
さらに、スタート位置、及びゴール位置が、学習時の経路上の位置であったとしても、学習時に通ったスタート位置よりも前に通った位置が、ゴール位置として与えられることがある。
【０４０５】
また、学習時の経路に沿って、スタート位置からゴール位置まで移動する経路が冗長で、スタート位置からゴール位置まで移動するのに、不必要に遠回りをする場合には、そのような遠回りをしない経路のプランをたてることが望ましい。
【０４０６】
従来の経路のプランをたてる方法としては、例えば、移動環境の地図上で移動可能な領域を求め、その領域を通過する線分をアークとしてグラフを生成し、そのグラフ上での経路の探索問題に帰着させる方法がある。
【０４０７】
グラフ上での経路の探索をする方法としては、各アークにコストを設定し、スタート位置からゴール位置までの経路のうちの、経路を構成するアークのコストの総和が最小となる経路を求める方法がある。アークのコストとしては、アークに対応する地図上の距離（アークの両端の間の距離）が用いられる。
【０４０８】
しかしながら、アークに対応する地図上の距離を求めるには、移動環境の地図（ひいては、その地図上での、アークの両端の位置の座標）が必要であり、地図が与えられていない場合には、地図上の距離を求めることが困難となる。
【０４０９】
したがって、地図が与えられない場合に備え、アークのコストとしては、アークに対応する地図上の距離に代わる指標を採用することが望ましい。
【０４１０】
そこで、学習装置１０では、１つの学習モデルが学習した時系列パターンの後に、他の１つの学習モデルが学習した時系列パターンが接続する適切さを表すコネクティビティが求められる。
【０４１１】
そして、データ生成装置２０では、コネクティビティが、アークのコストとして採用され、ビタビアルゴリズムやダイクストラ法等の、グラフの経路探索アルゴリズムで、コスト（接続コスト）の累積値を最小にする経路（最短経路）としての生成用モデルシーケンスが探索される。
【０４１２】
すなわち、データ生成装置２０では、コネクティビティに対応する値を接続コストとして、接続コストの累積値を最小にする、始点モデルから終点モデルまでの学習モデルの並びが、生成用モデルシーケンスとして算出される。
【０４１３】
生成用モデルシーケンスの算出に用いられるコネクティビティは、一部がオーバラップするように教師データを分割して得られるモデル学習用データを用いて学習がされた２つの学習モデルのうちの一方の学習モデルが生成する時系列データの最後のオーバラップ部分と、他方の学習モデルが生成する時系列データの最初のオーバラップ部分との誤差であり、一方の学習モデルの学習に用いられたモデル学習用データと、他方の学習モデルの学習に用いられたモデル学習用データとが、教師データにおいて連続していたかどうかに依存しない（但し、教師データにおいて、他方の学習モデルの学習に用いられたモデル学習用データが、一方の学習モデルの学習に用いられたモデル学習用データに続くデータであれば、一方の学習モデルを前モデルとするとともに、他方の学習モデルを後モデルとするモデルペアのコネクティビティは、小になる）。
【０４１４】
すなわち、教師データにおいて、他方の学習モデルの学習に用いられたモデル学習用データが、一方の学習モデルの学習に用いられたモデル学習用データに続くデータでなくても、一方の学習モデルが生成する時系列データ（の時系列パターン）の最後のオーバラップ部分と、他方の学習モデルが生成する時系列データの最初のオーバラップ部分とが類似していれば、一方の学習モデルを前モデルとするとともに、他方の学習モデルを後モデルとするモデルペアのコネクティビティは、前モデルに後モデルを接続することが適切であることを表す小さな値となる。
【０４１５】
その結果、コネクティビティに基づいて算出される生成用モデルシーケンスとしての学習モデルの並びは、学習モデルの学習に用いられたモデル学習用データの、教師データ上の順番に依存しない。
【０４１６】
そして、学習モデルが記憶するのは、教師データの時系列パターンの、いわば断片である、モデル学習用データの時系列パターンであるが、データ生成装置２０では、その断片を使い回して、接続コストの累積値が小さい生成用モデルシーケンスを算出することができる。
【０４１７】
すなわち、学習時には経験していない、例えば、スタート位置からゴール位置まで移動するのに、不必要に遠回りをしない経路に相当する生成用モデルシーケンスを算出することができる。また、例えば、学習時に経験した経路とは逆方向に移動する経路が、接続コストの累積値を小さくする経路であるのであれば、そのような経路に相当する生成用モデルシーケンスを算出することができる。
【０４１８】
さらに、データ処理装置２０では、生成用モデルシーケンスとしての学習モデルの並びが、コネクティビティに基づいて算出されるため、生成用モデルシーケンスを構成するある構成モデル#kが生成するモデル生成データの後に、その直後の構成モデル#k+1が生成するモデル生成データを接続することが適切であること（接続部分の波形が似ていること）が保証される。
【０４１９】
但し、生成用モデルシーケンスを、コネクティビティに基づいて算出することによっては、構成モデル#kが生成するモデル生成データの後に、構成モデル#k+1が生成するモデル生成データを接続したときに、その接続部分が滑らかになることまでは、保証されない。
【０４２０】
すなわち、コネクティビティに基づいて算出される生成用モデルシーケンスの構成モデルの並びが、構成モデルの学習に用いられたモデル学習用データの、教師データ上の順番に一致している場合には、構成モデル#kが生成するモデル生成データの後に、構成モデル#k+1が生成するモデル生成データを接続したときに、その接続部分は滑らかになる。
【０４２１】
しかしながら、コネクティビティに基づいて算出される生成用モデルシーケンスの構成モデル（学習モデル）の並びが、構成モデルの学習に用いられたモデル学習用データの、教師データ上の順番に一致していない場合には、構成モデル#kが生成するモデル生成データの後に、構成モデル#k+1が生成するモデル生成データを接続したときに、その接続部分は滑らかになるとは限らない。
【０４２２】
ここで、学習モデルが、モデル学習用データを、そのままテンプレートとして記憶する場合や、調節可能な内部状態を持たずに、関数近似で記憶する場合には、その記憶しているままの時系列データ（モデル生成データ）しか生成することができない。
【０４２３】
そのため、そのような学習モデルの複数から生成されたモデル生成データを接続したときに、その接続部分が滑らかになるとは限らない。
【０４２４】
一方、データ生成装置２０では、学習モデルとして、時間発展するダイナミクスを関数近似の形で記憶することが可能で、内部状態としてのコンテキストを有するRNNを採用する。さらに、データ生成装置２０では、構成モデル#kが生成するモデル生成データの最後のオーバラップ部分と、後に接続される構成モデル#k+1が生成するモデル生成データの最初のオーバラップ部分との誤差を小さくするように、構成モデルとしてのRNNの初期コンテキストを決定し、その初期コンテキスト（最適初期コンテキスト）を、構成モデルに与えて、時系列データを生成する。
【０４２５】
したがって、構成モデル#kが生成するモデル生成データの後に、構成モデル#k+1が生成するモデル生成データを接続したときに、その接続部分を滑らかにすることができ、その結果、滑らかな生成時系列データを生成することができる。
【０４２６】
［データ生成装置２０が生成する生成時系列データ］
図１９は、教師データとしての時系列データと、その時系列データを用いた学習を行った学習モデルを用いて生成される生成時系列データとを示している。
【０４２７】
図１９Ａは、教師データとしての経路（以下、教示経路ともいう）を模式的に示している。
【０４２８】
教示経路は、位置P1からP2までの経路の１つで、図１９Ａでは、７つの経路Q1,Q2,Q3,Q4,Q5,Q6、及びQ7としてのモデル学習用データに分割されている。学習時には、経路Qnが、学習モデル#nで学習される。
【０４２９】
なお、図１９では、オーバラップ部分の図示は省略してある。
【０４３０】
RNNである学習モデル#nは、パラメータa付きの時間発展方程式F(x,a)を近似する関数近似器とみなすことができる。そこで、経路Qnを学習した学習モデル#nを、以下、Fn(x,an)とも表す。
【０４３１】
ここで、時間発展方程式F(x,a)の引数xは、入力データを表し、パラメータaは、内部状態の初期値（初期コンテキスト）を表す。
【０４３２】
また、図１９Ａにおいて、学習モデルFn(x,an)のパラメータanは、例えば、その学習モデルFn(x,an)が学習した経路Qnになるべく一致するモデル生成データを生成することができるときの内部状態の初期値を表す。
【０４３３】
図１９Ｂは、データ生成装置２０のデータ生成処理によって、学習モデルF1(x,a)ないしF7(x,a)を用いて生成される生成時系列データとしての経路（以下、生成経路ともいう）を模式的に示している。
【０４３４】
図１９Ｂにおいて、生成経路は、位置P1からP2までの経路ではあるが、図１９Ａの教示経路とは異なる経路になっている。
【０４３５】
すなわち、生成経路は、５つの経路Q'1,Q'2,Q'3,Q'6、及びQ'7としてのモデル生成データが、その順番で接続されて構成されている。
【０４３６】
図１９Ｂでは、データ生成装置２０において、７つの学習モデルF1(x,a)ないしF7(x,a)から、冗長な経路を生成する学習モデルF4(x,a),及びF5(x,a)を除外した学習モデルF1(x,a),F2(x,a),F3(x,a),F6(x,a),F7(x,a)の並びが、生成用モデルシーケンスとして求められている。
【０４３７】
さらに、データ生成装置２０では、生成経路の生成にあたって、図１２等で説明した、モデル生成データのオーバラップ部分の順伝播と逆伝播を繰り返すことで、生成用モデルシーケンスを構成する学習モデルF1(x,a),F2(x,a),F3(x,a),F6(x,a),F7(x,a)それぞれから生成されるモデル生成データのオーバラップ部分を滑らかに接続するパラメータaが求められる。
【０４３８】
図１９Ｂでは、オーバラップ部分が滑らかに接続するパラメータaとして、学習モデルF1(x,a)については、値a1が、学習モデルF2(x,a)については、値a2が、学習モデルF3(x,a)については、値a'3が、学習モデルF6(x,a)については、値a'6が、学習モデルF7(x,a)については、値a7がそれぞれ求められている。
【０４３９】
そして、学習モデルF1(x,a1)からは、経路Q'1が、学習モデルF2(x,a2)からは、経路Q'2が、については、学習モデルF3(x,a'3)からは、経路Q'3が、学習モデルF6(x,a'6)からは、経路Q'6が、学習モデルF7(x,a7)からは、経路Q'7が、それぞれ、モデル生成データとして生成されている。
【０４４０】
図１９Ｂにおいて、パラメータaが図１９Ａの場合と一致している学習モデルF1(x,a1)，F2(x,a2)、及びF7(x,a7)から生成される経路Q'1,Q'2、及びQ'7は、それぞれ、図１９Ａの、対応する経路Q1,Q2、及びQ7と一致している。
【０４４１】
一方、図１９Ｂにおいて、パラメータaが図１９Ａの場合と異なる学習モデルF3(x,a'3)から生成される経路Q'3は、図１９Ａの、対応する経路Q3と異なっている。
【０４４２】
すなわち、図１９Ａの経路Q3は、その始点側（位置P1に近い側）が、経路Q2に滑らかに接続するようになっているとともに、終点側（位置P2に近い側）が、経路Q4に滑らかに接続するようになっている。
【０４４３】
これに対して、図１９Ｂの経路Q'3は、始点側が、経路Q2と同一のQ'2に滑らかに接続するようになっている点は、経路Q3と一致するが、終点側が、経路Q'6に滑らかに接続するようになっている点で、経路Q3と異なる。
【０４４４】
さらに、図１９Ｂにおいて、パラメータaが図１９Ａの場合と異なる学習モデルF6(x,a'6)から生成される経路Q'6は、図１９Ａの、対応する経路Q6と異なっている。
【０４４５】
すなわち、図１９Ａの経路Q6は、その始点側が、経路Q5に滑らかに接続するようになっているとともに、終点側が、経路Q7に滑らかに接続するようになっている。
【０４４６】
これに対して、図１９Ｂの経路Q'6は、終点側が、経路Q7と同一のQ'7に滑らかに接続するようになっている点は、経路Q6と一致するが、始点側が、経路Q'3に滑らかに接続するようになっている点で、経路Q6と異なる。
【０４４７】
以上のようにして、データ生成装置２０では、冗長な経路が除外され、かつ滑らかに接続する生成経路が生成される。
【０４４８】
［シミュレーション結果］
次に、本件発明者が、図１のデータ処理装置について行ったシミュレーションについて説明する。
【０４４９】
シミュレーションでは、移動ロボットに、ナビゲーションタスクを行わせた。
【０４５０】
図２０は、移動ロボットがナビゲーションタスクを行う移動環境の概要を示している。
【０４５１】
移動環境としては、光源が設置され、四方が壁で囲まれた２次元平面を採用した。移動ロボットは、移動環境を自由に移動することができるが、壁をすり抜けて移動することはできない。なお、移動環境には、四方を囲む壁の他にも、障害物となる壁が存在する。
【０４５２】
また、移動ロボットには、移動ロボットから周囲の８方向それぞれについて、壁（移動環境を囲む壁と、移動環境中の障害物としての壁との両方を含む）までの距離をセンシングする距離センサ、及び、光の強度をセンシングする光センサと、エネルギをセンシングするエネルギセンサとを搭載した。なお、エネルギとは、ここでは、光センサが出力する、８方向それぞれについての光の強度のうちの最大値に比例する物理量である。
【０４５３】
また、移動ロボットは、水平方向（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、及び、エネルギセンサが出力するエネルギEをコンポーネントとする１９次元のベクトル(mx,my,d1,d2,d3,d4,d5,d6,d7,d8,l1,l2,l3,l4,l5,l6,l7,l8,E)を採用した。
【０４５５】
なお、センサモータデータは、人が手動で、移動ロボットを移動させた場合を含め、移動ロボットから観測される。
【０４５６】
図２１は、シミュレーションで採用した移動環境を示す平面図である。
【０４５７】
移動環境は、四方が壁で囲まれた２次元平面であり、移動環境内には、幾つかの光源と、幾つかの障害物としての壁が存在する。
【０４５８】
学習処理においては、移動環境内において、移動ロボットを、15010回だけ移動させることで得られる15010サンプルのセンサモータデータの時系列を教師データとした。
【０４５９】
教師データは、前後の10サンプルがオーバラップする、40サンプルのモデル学習用データに分割し、その結果得られる500個のモデル学習用データを、それぞれ、500個の学習モデルとしてのRNNに学習させた。
【０４６０】
図２１において、３桁の数字は、500個の学習モデルを特定するためのモデルIDである。また、モデルIDが付されている線（実線や、点線、太線、細線等）は、そのモデルIDの学習モデルが学習したモデル学習用データが観測されたときの、移動ロボットの移動軌跡を表している。
【０４６１】
ここで、あるモデル学習用データが観測されたときの、移動ロボットの移動軌跡を、モデル学習用データに対応する移動軌跡ともいう。また、モデルIDが３桁の数字nの学習モデルを、学習モデル#nとも記載する。
【０４６２】
図２１では、個々の学習モデルが学習したモデル学習用データを分かりやすくするために、モデル学習用データを学習する学習モデルが切り替わるごとに、モデル学習用データに対応する移動軌跡を、その移動軌跡を表す線の種類（実線や、点線、太線、細線等）を変えて図示してある。
【０４６３】
また、図２１では、図が煩雑になるのを避けるため、500個の学習モデル#001ないし#500のうちの、最初の80個の学習モデル#001ないし#080が学習したモデル学習用データに対応する移動軌跡だけを図示してある。
【０４６４】
図２２は、学習処理により得られたコネクティビティを表した移動環境を示している。
【０４６５】
図２２において、丸印（○印）は、学習モデルが学習したモデル学習用データに対応する移動軌跡上のある位置を表し、そのモデル学習用データを学習した学習モデルに対応する。
【０４６６】
図２２では、500個の学習モデル#001ないし#500から得られる500×499個のモデルペアについて求められたコネクティビティを閾値処理することによって、接続性が高いコネクティビティ（値が閾値以下のコネクティビティ）だけを抽出し、その接続性が高いコネクティビティを有するモデルペアを構成する２つの学習モデルどうしを、点線で結んである。
【０４６７】
移動ロボットは、壁の配置等の、移動環境の状況を知らないが、コネクティビティとしては、移動ロボットに壁を跨ぐ移動をさせる、学習モデルどうしの接続を生じさせるような値は、存在しない。
【０４６８】
また、接続性が高いコネクティビティを有するモデルペアを構成する２つの学習モデルどうしを、点線で結んだグラフには、移動環境の状況（構造）が表現されている（埋め込まれている）。
【０４６９】
図２３は、ビタビアルゴリズムに基づき、コネクティビティを用いて算出された生成用モデルシーケンスを表した移動環境を示している。
【０４７０】
図２３において、丸印（○印）は、図２２と同様に、学習モデルが学習したモデル学習用データに対応する移動軌跡上のある位置を表し、そのモデル学習用データを学習した学習モデルに対応する。
【０４７１】
図２３では、生成用モデルシーケンスを構成する学習モデル（構成モデル）が、線分で結ばれている。
【０４７２】
図２４は、生成用モデルシーケンスを構成する学習モデルが学習したモデル学習用データに対応する移動軌跡を表した移動環境を示している。
【０４７３】
図２４において、１桁の数字c、コロン(:)、及び、３桁の数字nからなる記号列c:nは、生成用モデルシーケンスを構成する学習モデルの順番と、その学習モデルのモデルIDを表す。
【０４７４】
すなわち、記号列c:nにおいて、１桁の数字cは、学習モデルが、生成用モデルシーケンスの先頭からc番目の学習モデルであることを表し、その後のコロンに続く３桁の数字nは、生成用モデルシーケンスの先頭からc番目の学習モデルが、学習モデル#nであることを表す。
【０４７５】
また、記号列c:nが付されている線は、学習モデル#nが学習したモデル学習用データに対応する移動軌跡を表している。
【０４７６】
なお、図２４でも、図２１と同様に、個々の学習モデルが学習したモデル学習用データを分かりやすくするために、モデル学習用データを学習する学習モデルが切り替わるごとに、モデル学習用データに対応する移動軌跡を、その移動軌跡を表す線の種類を変えて図示してある。
【０４７７】
シミュレーションでは、学習モデル#049を始点モデルとするとともに、学習モデル#277を終点モデルとして、生成用モデルシーケンスの算出を行い、学習モデル#049,#236,#209,#274,#275,#276,#277の並びが、生成用モデルシーケンスとして得られた。
【０４７８】
始点モデルである学習モデル#049から、終点モデルである学習モデル#277に到達するためには、教師データによる経験によれば、227個の学習モデル#050ないし#276を経由することが必要である。
【０４７９】
しかしながら、コネクティビティを用いて生成用モデルシーケンスが算出される場合には、オーバラップ部分が類似している、接続性が高いコネクティビティの学習モデルどうしが、接続コストの累積値を小さくするように接続される結果、教師データによる経験がない接続（２つの学習モデルの並び）を含む生成用モデルシーケンスを得ることができる。
【０４８０】
すなわち、移動ロボットは、学習モデル#049,#236の並び、学習モデル#236,#209の並び、及び、学習モデル#209,#274の並びについては、教師データによる経験をしていないが、図２４では、そのような並びを含む生成用モデルシーケンスが得られている。
【０４８１】
ここで、教師データによる経験がない学習モデル#049,#236の並び、学習モデル#236,#209の並び、及び、学習モデル#209,#274並びのうちの、学習モデル#049,#236の並びと、学習モデル#209,#274の並びとしてのモデルペアについては、そのモデルペアを構成する前モデルと後モデルがそれぞれ学習したモデル学習用データの、教師データ上の位置が、時系列順になっている。これに対して、学習モデル#236,#209の並びとしてのモデルペアについては、そのモデルペアを構成する前モデルと後モデルがそれぞれ学習したモデル学習用データの、教師データ上の位置が、時系列順の逆順になっている。
【０４８２】
以上のように、生成用モデルシーケンスの算出では、学習モデルが、接続コストの累積値を小さくするように接続されるので、学習に用いられたモデル学習用データの、教師データ上の位置が、時系列順の逆順になっている学習モデルの並び等を含む、教師データによる経験がない学習モデルの並びで構成される生成用モデルシーケンスが得られる。
【０４８３】
その結果、生成用モデルシーケンスは、始点モデルである学習モデル#049に対応する位置（現在データが観測される位置）から、終点モデルである学習モデル#277に対応する位置（目標データが観測される位置）に効率良く到達する経路として、教師データが観測される経路よりも短い経路が得られる学習モデルの並びとなる。
【０４８４】
図２５は、生成用モデルシーケンスから生成された生成時系列データが観測されるように、移動ロボットを移動した移動軌跡を表した移動環境を示している。
【０４８５】
図２５において、１桁の数字c、コロン(:)、及び、３桁の数字nからなる記号列c:nは、図２４と同様に、生成用モデルシーケンスを構成する学習モデルの順番と、その学習モデルのモデルIDを表す。
【０４８６】
また、図２５において、○印は、移動ロボットが移動を開始したスタート位置を表す。
【０４８７】
図２４で説明したように、生成用モデルシーケンスにおける学習モデル#049,#236の並び、学習モデル#236,#209の並び、及び、学習モデル#209,#274の並びについては、教師データによる経験をしていないが、学習モデル#049から学習モデル#236への切り替わり、学習モデル#236から学習モデル#209への切り替わり、及び、学習モデル#209から学習モデル#274への切り替わりにおいて、滑らかに接続する移動軌跡が描かれており、したがって、滑らかな生成時系列データが生成されることを確認することができる。
【０４８８】
［モデルパラメータの共有］
上述の実施の形態では、教師データを分割して得られる複数のモデル学習用データを、複数の学習モデルでそれぞれ学習し、学習モデルごとに、独立のモデルパラメータを求めたが、複数の学習モデルのモデルパラメータについては、モデルパラメータの共有を行うことができる。
【０４８９】
以下、モデルパラメータの共有について説明する。
【０４９０】
図２６は、モデルパラメータの共有を行う学習装置の一実施の形態の構成例を示している。
【０４９１】
図２６において、学習装置は、複数であるN個の学習モジュール２１０1ないし２１０Nと、モデルパラメータ共有部２２０とから構成される。
【０４９２】
学習モジュール２１０i(i=1,2,・・・,N)は、パターン入力部２１１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が、その学習モジュール２１０iで学習すべきモデル学習用データが供給（入力）されるのを待って、そのモデル学習用データを用いて、学習モデルの学習、すなわち、モデル記憶部２１３iに記憶されたモデルパラメータを初期値として、学習モデルのモデルパラメータを更新する。
【０５０３】
すなわち、ステップＳ２１２では、学習モジュール２１０iにおいて、パターン入力部２１１iが、学習モジュール２１０iに供給されたモデル学習用データを、モデル学習部２１２iに供給する。
【０５０４】
さらに、ステップＳ２１２では、モデル学習部２１２iが、パターン入力部２１１iからのモデル学習用データを用いて、モデル記憶部２１３iに記憶された学習モデルのモデルパラメータを更新し、その更新によって得られた新たなモデルパラメータによって、モデル記憶部２１３iの記憶内容を更新する（上書きする）。
【０５０５】
ここで、ステップＳ２１１及びＳ２１２の処理は、N個の学習モジュール２１０1ないし２１０Nのすべてで行われる。
【０５０６】
ステップＳ２１２の後、処理は、ステップＳ２１３に進み、モデルパラメータ共有部２２０は、N個の学習モジュール２１０1ないし２１０Nのすべてに、モデルパラメータを共有させる共有処理を行う。
【０５０７】
すなわち、学習モジュール２１０iは、複数のモデルパラメータを有する（複数のモデルパラメータによって定義される）。学習モジュール２１０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の記憶内容を更新する。
【０５１２】
ステップＳ２１３の後、処理は、ステップＳ２１４に進み、図２６の学習装置は、学習の終了条件が満たされているかどうかを判定する。
【０５１３】
ここで、ステップＳ２１４での学習の終了条件としては、例えば、学習の回数、つまり、ステップＳ２１２及びＳ２１３が繰り返された回数が、あらかじめ定められた所定の回数となったことを採用することができる。また、学習の終了条件としては、モデル学習用データに対して出力されるべき出力データ（モデル学習用データを入力データとしたときの、その入力データに対する出力データ）の真値が分かっている場合に、そのモデル学習用データに対して学習モデルから出力される出力データの、真値に対する誤差が所定値以下であること、等を採用することができる。
【０５１４】
ステップＳ２１４において、学習の終了条件が満たされていないと判定された場合、処理は、ステップＳ２１２に戻り、以下、同様の処理が繰り返される。
【０５１５】
また、ステップＳ２１４において、学習の終了条件が満たされていると判定された場合、処理は終了する。
【０５１６】
次に、図２８は、学習モデルとして、RNNPB(RNN with Parametric Bias)を採用した場合の、図２６の学習装置の構成例を示している。
【０５１７】
なお、図２８においては、学習モジュール２１０iのパターン入力部２１１i及びモデル学習部２１２iの図示を省略してある。
【０５１８】
モデル記憶部２１３iには、RNNPB（を定義する複数のモデルパラメータ）が記憶されている。ここで、モデル記憶部２１３iに記憶されたRNNPBを、以下、適宜、RNNPB#iとも記載する。
【０５１９】
図２８では、RNNPBは、入力層、隠れ層（中間層）、及び出力層の３層で構成されている。入力層、隠れ層、及び出力層は、それぞれ任意の数の、ニューロンに相当するユニットにより構成されている。
【０５２０】
RNNPBでは、入力層の一部のユニットである入力ユニットに、モデル学習用データxtが入力データとして入力（供給）される。
【０５２１】
また、入力層の、モデル学習用データxtが入力される入力ユニット以外のユニットの一部であるPBユニットには、PB(Parametric Bias)が入力される。PBによれば、同一の状態のRNNPBに対して、同一のモデル学習用データxtが入力されても、PBを変更することにより、異なる出力データx*t+1を得ることができる。
【０５２２】
入力層の、モデル学習用データxtが入力される入力ユニット以外のユニットの残りであるコンテキストユニットには、出力層の一部のユニットより出力される出力データが、内部状態を表すコンテキストとしてフィードバックされる。
【０５２３】
ここで、時刻tのモデル学習用データxtが入力層の入力ユニットに入力されるときに入力層のPBユニットとコンテキストユニットに入力される時刻tのPBとコンテキストを、それぞれ、PBtとctと記載する。
【０５２４】
隠れ層のユニットは、入力層に入力されるモデル学習用データxt，PBt，コンテキストctを対象として、所定のウエイト（重み）を用いた重み付け加算を行い、その重み付け加算の結果を引数とする非線形関数の演算を行って、その演算結果を、出力層のユニットに出力する。
【０５２５】
出力層の一部のユニットからは、上述したように、次の時刻t+1のコンテキストct+1となる出力データが出力され、入力層にフィードバックされる。また、出力層の残りのユニットからは、例えば、入力データとしてのモデル学習用データxtに対する出力データとして、そのモデル学習用データxtの次の時刻t+1のモデル学習用データxt+1の予測値x*t+1が出力される。
【０５２６】
ここで、RNNPBでは、ユニットへの入力が重み付け加算されるが、この重み付け加算に用いられるウエイト（重み）が、RNNPBのモデルパラメータである。RNNPBのモデルパラメータとしてのウエイトには、例えば、入力ユニットから隠れ層のユニットへのウエイト、PBユニットから隠れ層のユニットへのウエイト、コンテキストユニットから隠れ層のユニットへウエイト、隠れ層のユニットから出力層のユニットへのウエイト、及び、隠れ層のユニットからコンテキストユニットへのウエイトがある。
【０５２７】
学習モデルとして、以上のようなRNNPBを採用した場合、モデルパラメータ共有部２２０には、RNNPBのモデルパラメータとしてのウエイトを、学習モジュール２１０1ないし２１０Nに共有させるウエイトマトリクス共有部２１が設けられる。
【０５２８】
ここで、RNNPBのモデルパラメータとしてのウエイトは、複数あるが、その複数のウエイトをコンポーネントとするマトリクスを、ウエイトマトリクスという。
【０５２９】
ウエイトマトリクス共有部２１は、モデル記憶部２１３1ないし２１３Nに記憶されたRNNPB#1ないしRNNPB#Nの複数のモデルパラメータとしてのウエイトマトリクスすべてを、学習モジュール２１０1ないし２１０Nのそれぞれに共有させる。
【０５３０】
すなわち、RNNPB#iのウエイトマトリクスをwiと表すこととすると、ウエイトマトリクス共有部２１は、ウエイトマトリクスwiを、N個の学習モジュール２１０1ないし２１０Nそれぞれのウエイトマトリクスw1ないしwNのすべてに基づいて補正することで、ウエイトマトリクスwiに、ウエイトマトリクスw1ないしwNのすべてを影響させる共有処理を行う。
【０５３１】
具体的には、ウエイトマトリクス共有部２１は、例えば、次式（３）に従い、RNNPB#iのウエイトマトリクスwiを補正する。
【０５３２】
wi＝wi＋Δwi
・・・（３）
【０５３３】
ここで、式（３）において、△wiは、ウエイトマトリクスwiを補正する補正成分であり、例えば、式（４）に従って求められる。
【０５３４】
Δwi＝αiΣβij(wj-wi)
・・・（４）
【０５３５】
式（４）において、Σは、変数jを、1からNの範囲の整数に変えての総和を表す。
【０５３６】
また、式（４）において、βijは、RNNPB#iのウエイトマトリクスwiに、RNNPB#j(j=1,2,・・・,N)のウエイトマトリクスwjを影響させる度合いを表す係数である。
【０５３７】
したがって、式（４）の右辺のサメーションΣβij(wj-wi)は、係数βijを重みとした、RNNPB#iのウエイトマトリクスwjに対するRNNPB#1ないしRNNPB#Nのウエイトマトリクスw1ないしwNそれぞれの偏差（差分）の重み付け平均値を表し、αiは、その重み付け平均値Σβij(wj-wi)を、ウエイトマトリクスwiに影響させる度合いを表す係数である。
【０５３８】
係数αi及びβijとしては、例えば、0.0より大で1.0より小の値を採用することができる。
【０５３９】
式（４）によれば、係数αiが小であるほど、いわば共有が弱くなり（ウエイトマトリクスwiが受ける重み付け平均値Σβij(wj-wi)の影響が小さくなり）、係数αiが大であるほど、いわば共有が強まる。
【０５４０】
なお、ウエイトマトリクスwiの補正の方法は、式（３）に限定されるものではなく、例えば、式（５）に従って行うことが可能である。
【０５４１】
wi＝α'iwi＋(1-α'i)Σβ'ijwj
・・・（５）
【０５４２】
式（５）において、Σは、変数jを、1からNの範囲の整数に変えての総和を表す。
【０５４３】
また、式（５）において、β'ijは、RNNPB#iのウエイトマトリクスwiに、RNNPB#j(j=1,2,・・・,N)のウエイトマトリクスwjを影響させる度合いを表す係数である。
【０５４４】
したがって、式（５）の右辺の第２項におけるサメーションΣβ'ijwjは、係数β'ijを重みとした、RNNPB#1ないしRNNPB#Nのウエイトマトリクスw1ないしwNの重み付け平均値を表し、α'iは、その重み付け平均値Σβ'ijwjを、ウエイトマトリクスwiに影響させる度合いを表す係数である。
【０５４５】
係数α'i及びβ'ijとしては、例えば、0.0より大で1.0より小の値を採用することができる。
【０５４６】
式（５）によれば、係数α'iが大であるほど、共有が弱くなり（ウエイトマトリクスwiが受ける重み付け平均値Σβ'ijwjの影響が小さくなり）、係数α'iが小であるほど、共有が強まる。
【０５４７】
複数の学習モジュール２１０1ないし２１０Nは、全体として、新たなパターンを学習することを容易に行うことができるという規模拡張性に優れる。
【０５４８】
そして、全体として規模拡張性に優れた複数の学習モジュール２１０1ないし２１０Nそれぞれにおいて、モデルパラメータを共有しながら、その複数の学習モジュール２１０1ないし２１０Nそれぞれのモデルパラメータを更新すること（学習モデルの学習）により、１つの学習モジュールだけで行われる学習で得られる汎化特性が、複数の学習モジュール２１０1ないし２１０Nの全体で得ることができ、その結果、全体として、規模拡張性があり、同時に、汎化特性を有する学習モデルを得ることができる。
【０５４９】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０５５０】
そこで、図２９は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０５５１】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク１０５や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)やスピーカ等で構成される出力部１０６から出力、あるいは、通信部１０８から送信、さらには、ハードディスク１０５に記録等させる。
【０５５５】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０５５６】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０５５７】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【０５５８】
すなわち、例えば、コネクティビティの算出や、生成時系列データの生成において、モデル生成データのオーバラップ部分としては、モデル学習用データのオーバラップ部分に等しいLサンプルを採用する他、そのLサンプル未満の複数サンプルを採用することが可能である。
【図面の簡単な説明】
【０５５９】
【図１】本発明を適用したデータ処理装置の一実施の形態の構成例を示すブロック図である。
【図２】学習装置１０のより詳細な構成例を示すブロック図である。
【図３】学習モデルとしてのRNNの構成例を示す図である。
【図４】教師データの分割と、その分割によって得られるモデル学習用データを用いた学習モデルの学習とを説明する図である。
【図５】コネクティビティの算出の方法を説明する図である。
【図６】学習処理を説明するフローチャートである。
【図７】コネクティビティ算出処理を説明するフローチャートである。
【図８】コネクティビティ算出処理を説明するフローチャートである。
【図９】コネクティビティ算出処理を説明するフローチャートである。
【図１０】データ生成装置２０のより詳細な構成例を示すブロック図である。
【図１１】生成用モデルシーケンスの算出のために行われる前向き計算を説明する図である。
【図１２】生成用モデルシーケンスを用いた生成時系列データの生成を説明する図である。
【図１３】データ生成処理を説明するフローチャートである。
【図１４】生成用モデルシーケンスの算出処理を説明するフローチャートである。
【図１５】時系列データ生成処理を説明するフローチャートである。
【図１６】時系列データ生成処理を説明するフローチャートである。
【図１７】時系列データ生成処理を説明するフローチャートである。
【図１８】時系列データ生成処理を説明するフローチャートである。
【図１９】教師データとしての時系列データと、その時系列データを用いた学習を行った学習モデルを用いて生成される生成時系列データとを示す図である。
【図２０】移動ロボットがナビゲーションタスクを行う移動環境の概要を示す図である。
【図２１】シミュレーションで採用した移動環境を示す平面図である。
【図２２】学習処理により得られたコネクティビティを表した移動環境を示す図である。
【図２３】コネクティビティを用いて算出された生成用モデルシーケンスを表した移動環境を示す図である。
【図２４】生成用モデルシーケンスを構成する学習モデルが学習したモデル学習用データに対応する移動軌跡を表した移動環境を示す図である。
【図２５】生成用モデルシーケンスから生成された生成時系列データが観測されるように、移動ロボットを移動した移動軌跡を表した移動環境を示す図である。
【図２６】モデルパラメータの共有を行う学習装置の一実施の形態の構成例を示すブロック図である。
【図２７】学習装置による学習を説明するフローチャートである。
【図２８】学習モデルとして、RNNPBを採用した場合の学習装置の構成例を示すブロック図である。
【図２９】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０５６０】
１０  学習装置，  １１  教師データ保存部，  １２  教師データ分割部，  １３  モデル学習用データ保存部，  １４  学習部，  １５  モデルパラメータ保存部，  １６  コネクティビティ算出部，  １７  コネクティビティ保存部，  ２０  データ生成装置，  ２１  現在データ供給部，  ２２  目標データ供給部，  ２３  始点モデル選択部，  ２４  終点モデル選択部，  ２５  生成用モデルシーケンス算出部，  ２６  時系列データ生成部，  ２７  時系列データ出力部，  ４１  データ割り当て部，  ４２1ないし４２N  演算部，  ５１  モデルペア選択部，  ５２  モデルパラメータ供給部，  ５３，５４  認識生成部7，  ５５  コネクティビティ演算部，  ６１  現在データ分配部，  ６２  モデルパラメータ供給部，  ６３1ないし６３N  認識生成部，  ６４  始点モデル決定部，  ７１  目標データ分配部，  ７２  モデルパラメータ供給部，  ７３1ないし７３N  認識生成部，  ７４  終点モデル決定部，  ８１  始点モデルID供給部，  ８２  終点モデルID供給部，  ８３  シーケンス算出部，  ９１  シーケンス供給部，  ９２  モデルパラメータ供給部，  ９３1ないし９３N  認識生成部，  ９４  統合生成部，    １０１  バス，  １０２  CPU，  １０３  ROM，  １０４  RAM，  １０５  ハードディスク，  １０６  出力部，  １０７  入力部，  １０８  通信部，  １０９  ドライブ，  １１０  入出力インタフェース，  １１１  リムーバブル記録媒体，  ２１０1ないし２１０N  学習モジュール，  ２１１1ないし２１１N  パターン入力部，  ２１２1ないし２１２N  モデル学習部，  ２１３1ないし２１３N  モデル記憶部，  ２２０  モデルパラメータ共有部，  ２２１  ウエイトマトリクス共有部
【図１】
2010067033.tif 000003
【図２】
2010067033.tif 000004
【図３】
2010067033.tif 000005
【図４】
2010067033.tif 000006
【図５】
2010067033.tif 000007
【図６】
2010067033.tif 000008
【図７】
2010067033.tif 000009
【図８】
2010067033.tif 000010
【図９】
2010067033.tif 000011
【図１０】
2010067033.tif 000012
【図１１】
2010067033.tif 000013
【図１２】
2010067033.tif 000014
【図１３】
2010067033.tif 000015
【図１４】
2010067033.tif 000016
【図１５】
2010067033.tif 000017
【図１６】
2010067033.tif 000018
【図１７】
2010067033.tif 000019
【図１８】
2010067033.tif 000020
【図１９】
2010067033.tif 000021
【図２０】
2010067033.tif 000022
【図２１】
2010067033.tif 000023
【図２２】
2010067033.tif 000024
【図２３】
2010067033.tif 000025
【図２４】
2010067033.tif 000026
【図２５】
2010067033.tif 000027
【図２６】
2010067033.tif 000028
【図２７】
2010067033.tif 000029
【図２８】
2010067033.tif 000030
【図２９】
2010067033.tif 000031