(57)【要約】【課題】複数の学習モデルのそれぞれに時系列パターンを学習させる場合に、各学習モデルにおける内部変数の意味を統一させることができるようにする。【解決手段】各学習モジュールにおいては、隣接する学習モジュールの学習モデルとの間でコンテキストの値が連続的になるように、コンテキストの教師となる内部変数教師シーケンスが生成され、学習が行われる。内部変数教師シーケンスは、前段の学習モデルのコンテキストの最後のオーバラップ部分の値と、後段の学習モデルのコンテキストの最初のオーバラップ部分の値の線形和として計算される。本発明は、時系列信号に基づいてパターン学習を行う装置に適用することができる。【選択図】図４
2010266974.tif 000002
【特許請求の範囲】
【請求項１】
時系列信号を、一部の区間がオーバラップする複数の区分時系列信号に分割し、内部状態を有し、時系列パターンを学習する学習モデルの学習に用いる信号として、１つの前記区分時系列信号を１つの学習モデルに割り当てる分割手段と、
複数の学習モデルの学習を、それぞれの学習モデルに割り当てられた前記区分時系列信号と、それぞれの学習モデルの内部状態を表す時系列の信号の教師となる内部状態教師信号を用いて行う学習手段と、
所定の学習モデルの内部状態を表す時系列の信号と、前記所定の学習モデルに割り当てられた前記区分時系列信号とオーバラップする区間を有する前記区分時系列信号が割り当てられた他の学習モデルの内部状態を表す時系列の信号とに基づいて前記所定の学習モデルに与える前記内部状態教師信号を生成することを、前記複数の学習モデルのそれぞれを前記所定の学習モデルとして行う生成手段と
を備える情報処理装置。
【請求項２】
前記生成手段は、割り当てられた前記区分時系列信号全体のうちの、オーバラップする区間の信号を用いた学習によって、前記所定の学習モデルにおいて得られた前記所定の学習モデルの内部状態を表す時系列の信号と、前記他の学習モデルにおいて得られた前記他の学習モデルの内部状態を表す時系列の信号との線形和によって、前記内部状態教師信号を生成する
請求項１に記載の情報処理装置。
【請求項３】
前記学習手段は、前記他の学習モデルに割り当てられた前記区分時系列信号とオーバラップする区間の前記区分時系列信号を用いた学習によって前記所定の学習モデルにおいて得られた、前記所定の学習モデルの内部状態を表す一部の区間の時系列の信号の、前記内部状態教師信号に対する誤差が所定値より小さくなるように、前記所定の学習モデルの学習を行う
請求項２に記載の情報処理装置。
【請求項４】
前記複数の学習モデルのうちの２以上の学習モデルのそれぞれのモデルパラメータを共有させるモデルパラメータ共有手段をさらに備える
請求項１に記載の情報処理装置。
【請求項５】
前記モデルパラメータ共有手段は、それぞれの学習モデルのモデルパラメータを、前記２以上の学習モデルのモデルパラメータの重み付け平均値によって補正することにより、前記２以上の学習モデルのそれぞれのモデルパラメータを共有させる
請求項４に記載の情報処理装置。
【請求項６】
時系列信号を、一部の区間がオーバラップする複数の区分時系列信号に分割し、内部状態を有し、時系列パターンを学習する学習モデルの学習に用いる信号として、１つの前記区分時系列信号を１つの学習モデルに割り当て、
複数の学習モデルの学習を、それぞれの学習モデルに割り当てられた前記区分時系列信号と、それぞれの学習モデルの内部状態を表す時系列の信号の教師となる内部状態教師信号を用いて行い、
所定の学習モデルの内部状態を表す時系列の信号と、前記所定の学習モデルに割り当てられた前記区分時系列信号とオーバラップする区間を有する前記区分時系列信号が割り当てられた他の学習モデルの内部状態を表す時系列の信号とに基づいて前記所定の学習モデルに与える前記内部状態教師信号を生成することを、前記複数の学習モデルのそれぞれを前記所定の学習モデルとして行う
ステップを含む情報処理方法。
【請求項７】
時系列信号を、一部の区間がオーバラップする複数の区分時系列信号に分割し、内部状態を有し、時系列パターンを学習する学習モデルの学習に用いる信号として、１つの前記区分時系列信号を１つの学習モデルに割り当て、
複数の学習モデルの学習を、それぞれの学習モデルに割り当てられた前記区分時系列信号と、それぞれの学習モデルの内部状態を表す時系列の信号の教師となる内部状態教師信号を用いて行い、
所定の学習モデルの内部状態を表す時系列の信号と、前記所定の学習モデルに割り当てられた前記区分時系列信号とオーバラップする区間を有する前記区分時系列信号が割り当てられた他の学習モデルの内部状態を表す時系列の信号とに基づいて前記所定の学習モデルに与える前記内部状態教師信号を生成することを、前記複数の学習モデルのそれぞれを前記所定の学習モデルとして行う
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、複数の学習モデルのそれぞれに時系列パターンを学習させる場合に、各学習モデルにおける内部変数の意味を統一させることができるようにした情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
ある時刻tにおいて観測される時系列信号が同じAとBという状況を表すものであっても、過去（時刻t-1,t-2,t-3，・・・）に観測された時系列信号を含めれば、AとBのうちのどちらの状況が目標とする正しい状態であるのかを特定することができる。時系列信号は、例えば実空間に存在するロボットにより観測されたセンサデータである。
【０００３】
時系列信号を用いた学習装置においては、過去の状況を内部変数（内部状態）として記憶しておき、観測信号と内部変数とから、時刻t+n(n=1,2,・・・)の状態を予測できるようにモデルパラメータを決定することが行われる。
【０００４】
時系列パターンを時間差分方程式の形で関数近似し、ダイナミクスとして学習（記憶）する学習モデルとしては、例えばRNN(Recurrent Neural Network)がある。RNNでは、コンテキストと呼ばれる内部変数を予測するノードを持ち、学習時にはその初期値をモデルパラメータの１つとして求めるようになされている。
【０００５】
また、隠れマルコフモデルでは、時系列信号を生成する状態を状況AとBで別の状態として用意することで状況AとBを分離している。
【０００６】
特許文献１には、連続する時系列信号を分割し、分割した時系列信号をそれぞれの学習モジュールに割り当てて学習を行わせ、複数の学習モジュール間でモデルパラメータを共有する技術が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２５０８５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
学習によりモデルパラメータを決定する際、時系列パターンに対する各学習モジュールの持つ内部変数の初期値は、他のモジュールの持つ初期値を考慮せずに各モジュールにおいて決定される。
【０００９】
従って、学習モジュールごとに内部変数の持つ意味が異なり、ある時刻に観測される信号が、隠れ状態を含めたどの状態を表しているのかを、学習モジュールに分担して記憶させている時系列パターン全体の中で特定できないことがある。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、複数の学習モデルのそれぞれに時系列パターンを学習させる場合に、各学習モデルにおける内部変数の意味を統一させることができるようにするものである。
【課題を解決するための手段】
【００１１】
本発明の一側面の情報処理装置は、時系列信号を、一部の区間がオーバラップする複数の区分時系列信号に分割し、内部状態を有し、時系列パターンを学習する学習モデルの学習に用いる信号として、１つの前記区分時系列信号を１つの学習モデルに割り当てる分割手段と、複数の学習モデルの学習を、それぞれの学習モデルに割り当てられた前記区分時系列信号と、それぞれの学習モデルの内部状態を表す時系列の信号の教師となる内部状態教師信号を用いて行う学習手段と、所定の学習モデルの内部状態を表す時系列の信号と、前記所定の学習モデルに割り当てられた前記区分時系列信号とオーバラップする区間を有する前記区分時系列信号が割り当てられた他の学習モデルの内部状態を表す時系列の信号とに基づいて前記所定の学習モデルに与える前記内部状態教師信号を生成することを、前記複数の学習モデルのそれぞれを前記所定の学習モデルとして行う生成手段とを備える。
【００１２】
前記生成手段には、割り当てられた前記区分時系列信号全体のうちの、オーバラップする区間の信号を用いた学習によって、前記所定の学習モデルにおいて得られた前記所定の学習モデルの内部状態を表す時系列の信号と、前記他の学習モデルにおいて得られた前記他の学習モデルの内部状態を表す時系列の信号との線形和によって、前記内部状態教師信号を生成させることができる。
【００１３】
前記学習手段には、前記他の学習モデルに割り当てられた前記区分時系列信号とオーバラップする区間の前記区分時系列信号を用いた学習によって前記所定の学習モデルにおいて得られた、前記所定の学習モデルの内部状態を表す一部の区間の時系列の信号の、前記内部状態教師信号に対する誤差が所定値より小さくなるように、前記所定の学習モデルの学習を行わせることができる。
【００１４】
前記複数の学習モデルのうちの２以上の学習モデルのそれぞれのモデルパラメータを共有させるモデルパラメータ共有手段をさらに設けることができる。
【００１５】
前記モデルパラメータ共有手段には、それぞれの学習モデルのモデルパラメータを、前記２以上の学習モデルのモデルパラメータの重み付け平均値によって補正することにより、前記２以上の学習モデルのそれぞれのモデルパラメータを共有させることができる。
【００１６】
本発明の一側面の情報処理方法は、時系列信号を、一部の区間がオーバラップする複数の区分時系列信号に分割し、内部状態を有し、時系列パターンを学習する学習モデルの学習に用いる信号として、１つの前記区分時系列信号を１つの学習モデルに割り当て、複数の学習モデルの学習を、それぞれの学習モデルに割り当てられた前記区分時系列信号と、それぞれの学習モデルの内部状態を表す時系列の信号の教師となる内部状態教師信号を用いて行い、所定の学習モデルの内部状態を表す時系列の信号と、前記所定の学習モデルに割り当てられた前記区分時系列信号とオーバラップする区間を有する前記区分時系列信号が割り当てられた他の学習モデルの内部状態を表す時系列の信号とに基づいて前記所定の学習モデルに与える前記内部状態教師信号を生成することを、前記複数の学習モデルのそれぞれを前記所定の学習モデルとして行うステップを含む。
【００１７】
本発明の一側面のプログラムは、時系列信号を、一部の区間がオーバラップする複数の区分時系列信号に分割し、内部状態を有し、時系列パターンを学習する学習モデルの学習に用いる信号として、１つの前記区分時系列信号を１つの学習モデルに割り当て、複数の学習モデルの学習を、それぞれの学習モデルに割り当てられた前記区分時系列信号と、それぞれの学習モデルの内部状態を表す時系列の信号の教師となる内部状態教師信号を用いて行い、所定の学習モデルの内部状態を表す時系列の信号と、前記所定の学習モデルに割り当てられた前記区分時系列信号とオーバラップする区間を有する前記区分時系列信号が割り当てられた他の学習モデルの内部状態を表す時系列の信号とに基づいて前記所定の学習モデルに与える前記内部状態教師信号を生成することを、前記複数の学習モデルのそれぞれを前記所定の学習モデルとして行うステップを含む処理をコンピュータに実行させる。
【００１８】
本発明の一側面においては、時系列信号が、一部の区間がオーバラップする複数の区分時系列信号に分割され、内部状態を有し、時系列パターンを学習する学習モデルの学習に用いる信号として、１つの前記区分時系列信号を１つの学習モデルに割り当てられる。また、複数の学習モデルの学習が、それぞれの学習モデルに割り当てられた前記区分時系列信号と、それぞれの学習モデルの内部状態を表す時系列の信号の教師となる内部状態教師信号を用いて行われる。所定の学習モデルの内部状態を表す時系列の信号と、前記所定の学習モデルに割り当てられた前記区分時系列信号とオーバラップする区間を有する前記区分時系列信号が割り当てられた他の学習モデルの内部状態を表す時系列の信号とに基づいて前記所定の学習モデルに与える前記内部状態教師信号を生成することが、前記複数の学習モデルのそれぞれを前記所定の学習モデルとして行われる。
【発明の効果】
【００１９】
本発明の一側面によれば、複数の学習モデルのそれぞれに時系列パターンを学習させる場合に、各学習モデルにおける内部変数の意味を統一させることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施の形態に係る学習装置の構成例を示す図である。
【図２】RNNの構成例を示す図である。
【図３】時系列シーケンスの分割と区分時系列シーケンスを用いた学習モデルの学習について説明する図である。
【図４】内部変数教師シーケンスの生成について説明する図である。
【図５】モデルパラメータの共有について説明する図である。
【図６】学習装置の学習処理について説明するフローチャートである。
【図７】時系列シーケンスの波形を示す図である。
【図８】コンテキストの波形を示す図である。
【図９】時系列シーケンスとコンテキストの波形を示す図である。
【図１０】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００２１】
［学習装置の構成例］
図１は、本発明の一実施の形態に係る学習装置の構成例を示す図である。
【００２２】
学習装置１は、時系列パターンの学習のための教師データとして用意された時系列シーケンスを用い、内部変数を有する複数の学習モデルの学習を行う装置である。
【００２３】
ここで、教師データとしては、複雑で、長時間の時系列シーケンスを採用することができる。非線形性が強い信号や多次元の信号が複雑な信号となる。
【００２４】
例えば、学習結果の学習モデルを用いて現実のロボットを自律的に行動させるための時系列信号を生成する場合には、ロボットの行動環境下で、行動の教示を行うユーザがロボットを実際に移動させることで得られる時系列信号が教師データとして用いられる。
【００２５】
すなわち、ユーザがロボットを移動させているときに、ロボットがセンシングすることができる物理量のデータや、移動のためにロボットアクチュエータに与えられるデータ等をコンポーネントとするベクトルの時系列の信号が教師データとして用いられる。
【００２６】
図１に示すように、学習装置１は、時系列シーケンス入力部１１、時系列シーケンス分割部１２、学習モジュール１３1ないし１３N、およびモデルパラメータ共有部１４から構成される。
【００２７】
時系列シーケンス入力部１１は、教師データとして外部から入力された時系列シーケンスを受信し、時系列シーケンス分割部１２に出力する。
【００２８】
時系列シーケンス分割部１２は、時系列シーケンス入力部１１から供給された時系列シーケンスを、固定長のスライディング・ウィンドウによって複数の区分時系列シーケンスに分割する。
【００２９】
後述するように、内部変数を表す時系列信号が前後で連続的になるように調整することが学習モデルの学習時に行われる。時系列シーケンスの分割は、時間軸上で隣接する区分時系列シーケンスどうしがオーバラップする区間を含むように、「ウィンドウ幅＜スライディング幅」となるようにして行われる。
【００３０】
学習モジュール１３i(i=1,2,・・・,N)は、区分時系列シーケンス入力部２１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等のニューラルネットワークや、SVR(Support Vector Regression)等がある。
【００３６】
HMMについては、HMMにおいて状態が遷移する確率を表す状態遷移確率や、状態が遷移するときに、HMMからある観測値が出力される確率を表す出力確率、又は確率密度を表す出力確率密度関数が、HMMのモデルパラメータである。
【００３７】
また、ニューラルネットワークについては、ニューロンに相当するユニット（ノード）において、他のユニットからの入力に付されるウエイト（重み）が、ニューラルネットワークのモデルパラメータである。
【００３８】
なお、HMMの状態遷移確率や、出力確率、又は出力確率密度関数、ニューラルネットワークのウエイトは、いずれも複数存在する。
【００３９】
内部変数教師シーケンス生成部２４iは、モデル記憶部２３iに記憶されている学習モデルの内部変数と、隣接する学習モジュール１３i-1,１３i+1の学習モデルの内部変数を取得する。内部変数教師シーケンス生成部２４iは、取得した内部変数に基づいて内部変数教師シーケンスを生成し、内部変数の教師としてモデル学習部２２iに出力する。
【００４０】
なお、内部変数教師シーケンス生成部２４1においては、モデル記憶部２３1に記憶されている学習モデルの内部変数と、学習モジュール１３2の学習モデルの内部変数が取得され、内部変数教師シーケンスが生成される。また、内部変数教師シーケンス生成部２４Nにおいては、モデル記憶部２３Nに記憶されている学習モデルの内部変数と、学習モジュール１３N-1の学習モデルの内部変数が取得され、内部変数教師シーケンスが生成される。
【００４１】
モデルパラメータ共有部１４は、N個の学習モジュール１３1ないし１３Nのうちの、２以上の学習モジュールに、モデルパラメータを共有させる共有処理を行う。モデルパラメータ共有部１４が共有処理を行うことにより、N個の学習モジュール１３1ないし１３Nのうちの２以上の学習モジュールはモデルパラメータを共有する。
【００４２】
［学習モデルの説明］
学習装置１で学習される学習モデルについて説明する。
【００４３】
学習モデルとしては、力学系を近似することができるモデル（力学系近似モデル）のうちの、内部変数を有する力学系近似モデルを採用することができる。内部変数を有する力学系近似モデルとしては、例えば、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の学習は、時系列の信号として表されるコンテキストの、内部変数教師シーケンス生成部２４iにより生成された内部変数教師シーケンスに対する誤差を小さくするようにもして行われる。
【００５４】
このような学習が行われたRNNでは、入力データxtに対する出力データとして、その入力データxtの次の時刻t+1の入力データxt+1の予測値x*t+1が出力される。
【００５５】
なお、上述したように、RNNでは、ユニットへの入力が重み付け加算されるが、この重み付け加算に用いられるウエイト（重み）が、RNNのモデルパラメータである。RNNのモデルパラメータとしてのウエイトには、入力ユニットから隠れ層のユニットへのウエイト、コンテキストユニットから隠れ層のユニットへウエイト、隠れ層のユニットから出力層のユニットへのウエイト等がある。
【００５６】
以下では、学習モデルはRNNであるとする。
【００５７】
［時系列シーケンスの分割と学習モデルの学習］
図３は、教師データとしての時系列シーケンスの分割と、その分割によって得られた区分時系列シーケンスを用いた学習モデルの学習について説明する図である。
【００５８】
図３において、時系列シーケンスは、２つのコンポーネントを有するベクトルの時系列になっている。
【００５９】
時系列シーケンス分割部１２は、複数の学習モデルに時系列シーケンス全体を分担して学習させるために、時系列シーケンスを、Lサンプルがオーバラップする、S(>L)サンプルの区分時系列シーケンスに分割する。
【００６０】
図３では、時系列シーケンスが４つの区分時系列シーケンス#1ないし#4に分割されている。
【００６１】
ここで、区分時系列シーケンス全体のうちの、他の区分時系列シーケンスとオーバラップしているLサンプルを、以下、区分時系列シーケンスのオーバラップ部分ともいう。
【００６２】
Sサンプルの時系列である区分時系列シーケンスでは、その最初のLサンプルと、最後のLサンプルが、オーバラップ部分となっている。但し、正確には、最初の区分時系列シーケンスでは、最後のLサンプルだけがオーバラップ部分となっており、最後の区分時系列シーケンスでは、最初のLサンプルだけがオーバラップ部分となっている。
【００６３】
時系列シーケンス分割部１２は、分割して得られた区分時系列シーケンス#1を学習モデル#1に割り当て、区分時系列シーケンス#2を学習モデル#2に割り当てる。また、時系列シーケンス分割部１２は、区分時系列シーケンス#3を学習モデル#3に割り当て、区分時系列シーケンス#4を学習モデル#4に割り当てる。
【００６４】
学習モデル#1ないし#4は、それぞれ、図１の学習モジュール１３1ないし１３4に記憶されている学習モデルである。
【００６５】
学習モジュール１３iは、学習モデル#iによる時系列パターンの学習を、その学習モデル#iに割り当てられた区分時系列シーケンス#iを用いて行う。これにより、学習モジュール１３iは、区分時系列シーケンス#iのダイナミクスとしての時系列パターンを、学習モデル#nの学習則に従って、時間発展方程式の関数近似モデルとして獲得する。
【００６６】
すなわち、学習モジュール１３iは、区分時系列シーケンス#iを用いて、RNNのモデルパラメータであるウエイトを例えばBPTT法により求める。
【００６７】
区分時系列シーケンス#i及び#i+1がそれぞれ割り当てられる２つの学習モデル#i及び#i+1に注目した場合を考える。
【００６８】
この場合、学習モデル#i+1の学習は、最初のオーバラップ部分としてのLサンプルが、学習モデル#iの学習に用いられる区分時系列シーケンス#iの最後のオーバラップ部分としてのLサンプルに一致している区分時系列シーケンス#i+1を用いて行われる。
【００６９】
また、学習モデル#iの学習は、最後のオーバラップ部分としてのLサンプルが、学習モデル#i+1の学習に用いられる区分時系列シーケンス#i+1の最初のオーバラップ部分としてのLサンプルに一致している区分時系列シーケンス#iを用いて行われる。
【００７０】
［内部変数教師シーケンスの生成］
図４は、内部変数教師シーケンス生成部２４iによる内部変数教師シーケンスの生成の例を示す図である。
【００７１】
i≠１、かつi≠Nである場合について説明する。この場合、学習モジュール１３iに入力される区分時系列シーケンスより時間的に前の区分時系列シーケンスが入力される学習モジュール１３i-1が存在する。また、学習モジュール１３iに入力される区分時系列シーケンスより時間的に後の区分時系列シーケンスが入力される学習モジュール１３i+1が存在する。
【００７２】
学習モデルの学習時、内部変数教師シーケンス生成部２４iに対しては、学習モジュール１３iが有する学習モデル#iのコンテキストと、学習モジュール１３i-1が有する学習モデル#i-1のコンテキストと、学習モジュール１３i+1が有する学習モデル#i+1のコンテキストとがそれぞれ供給される。
【００７３】
時系列の信号である区分時系列シーケンスが入力される毎に出力されるから、RNNのコンテキストノードから出力されるコンテキストも、図４の上段に示すように時系列の信号として表される。横方向が時間方向である。
【００７４】
破線の波形は、学習モジュール１３i-1が有する学習モデル#i-1のコンテキストを示し、実線の波形は、学習モジュール１３iが有する学習モデル#iのコンテキストを示す。また、一点鎖線の波形は、学習モジュール１３i+1が有する学習モデル#i+1のコンテキストを示す。
【００７５】
上述したように、区分時系列シーケンスには、隣接する学習モジュールに入力されるものどうしオーバラップ部分が存在する。学習モジュール１３i-1に入力される区分時系列シーケンスの最後のLサンプルと、学習モジュール１３iに入力される区分時系列シーケンスの最初のLサンプルは一致する。
【００７６】
しかし、図４に示すように、t=1からt=Nの区間L1における学習モデル#i-1のコンテキストと学習モデル#iのコンテキストとは、それぞれの学習モデルのモデルパラメータに応じて異なる値をとることになる。
【００７７】
図４上段の区間L1には、学習モジュール１３i-1と学習モジュール１３iに入力された区分時系列シーケンス全体のうちのオーバラップ部分が入力されたときにそれぞれの学習モデルにおいて観測されたコンテキストを示している。区間L1の学習モデル#i-1のコンテキストの値と、学習モデル#iのコンテキストの値とは大きく異なっている。
【００７８】
同様に、学習モジュール１３iに入力される区分時系列シーケンスの最後のLサンプルと、学習モジュール１３i+1に入力される区分時系列シーケンスの最初のLサンプルは一致する。
【００７９】
しかし、図４に示すように、t=T-N+1からt=Tの区間L2における学習モデル#iのコンテキストと学習モデル#i+1のコンテキストとは、それぞれの学習モデルのモデルパラメータに応じて異なる値をとることになる。
【００８０】
図４上段の区間L2には、学習モジュール１３iと学習モジュール１３i+1に入力された区分時系列シーケンス全体のうちのオーバラップ部分が入力されたときにそれぞれの学習モデルにおいて観測されたコンテキストを示している。区間L2の学習モデル#iのコンテキストの値と、学習モデル#i+1のコンテキストの値とは大きく異なっている。
【００８１】
以下、区分時系列シーケンス全体のうちのオーバラップ部分に対応して出力されたコンテキストの部分をコンテキストのオーバラップ部分という。例えば、図４上段の区間L1は、学習モデル#iのコンテキストと学習モデル#i-1のコンテキストのオーバラップ部分の区間である。
【００８２】
各学習モジュールにおいては、隣接する学習モジュールの学習モデルとの間でコンテキストの値が連続的になるように、コンテキストの教師となる内部変数教師シーケンスが生成され、学習が行われる。内部変数教師シーケンスを用いた学習は、コンテキストの、内部変数教師シーケンスに対する誤差が小さくなるようにして行われる。
【００８３】
内部変数教師シーケンスは、前段の学習モデルのコンテキストの最後のオーバラップ部分の値と、後段の学習モデルのコンテキストの最初のオーバラップ部分の値の線形和によって、内部変数教師シーケンス生成部２４iにより計算される。
【００８４】
区分時系列シーケンスのオーバラップ長をNサンプル、区分時系列シーケンス長をTサンプルとすると、学習モジュール１３iの最初のオーバラップ部分である区間L1における内部変数教師シーケンスCti1...Nは、下式（１）により計算される。
【数１】
2010266974.tif 000003
【００８５】
式（１）のCi-1T-N+1...Tは、学習モデル#i-1のコンテキスト全体のうちの、最後のオーバラップ部分、すなわち、学習モデル#iのコンテキストとのオーバラップ部分の値を表す。Ci1...Tは、学習モデル#iのコンテキスト全体のうちの、最初のオーバラップ部分、すなわち、学習モデル#i-1のコンテキストとのオーバラップ部分の値を表す。
【００８６】
εは、他の学習モデルのコンテキストとの線形和を取るときの重みとなる所定の値である。
【００８７】
同様に、学習モジュール１３iの最後のオーバラップ部分である区間L2における内部変数教師シーケンスCtiT-N+1は、下式（２）により計算される。
【数２】
2010266974.tif 000004
【００８８】
式（２）のCi+11...Tは、学習モデル#i+1のコンテキスト全体のうちの、最初のオーバラップ部分、すなわち、学習モデル#iのコンテキストとのオーバラップ部分の値を表す。CiT-N+1は、学習モデル#i+1のコンテキスト全体のうちの、最後のオーバラップ部分、すなわち、学習モデル#iのコンテキストとのオーバラップ部分の値を表す。
【００８９】
以上のようにして計算された内部変数教師データCti1...Nと内部変数教師データCtiT-N+1を含む、学習モジュール１３iの内部変数教師データ全体を図４の下段に示す。
【００９０】
なお、各学習モジュール１３iにおいて、初期コンテキストに与える内部変数教師データは、学習順で前段の学習モジュール１３iで得られたコンテキストの値が引き継がれる（そのまま用いられる）。
【００９１】
内部変数教師データとコンテキストの誤差を小さくするようにして順伝播での学習と逆伝播での学習が繰り返されることによって、モデルパラメータが調整される。
【００９２】
そのような学習が繰り返されることにより、学習モデル#iのコンテキスト全体のうちの最初のオーバラップ部分の値は、学習モデル#i-1のコンテキストの最後のオーバラップ部分の値に近いものになる。
【００９３】
学習モジュール１３i-1においても同様にして学習が行われるから、学習モデル#i-1のコンテキスト全体のうちの最後のオーバラップ部分の値は、学習モデル#iのコンテキストの最初のオーバラップ部分の値に近いものになる。
【００９４】
すなわち、学習モデル#iのコンテキストと学習モデル#i-1のコンテキストとは、より連続的なものになる。
【００９５】
また、学習モデル#iのコンテキスト全体のうちの最後のオーバラップ部分の値は、学習モデル#i+1のコンテキストの最初のオーバラップ部分の値に近いものになる。
【００９６】
学習モジュール１３i+1においても同様にして学習が行われるから、学習モデル#i+1のコンテキスト全体のうちの最初のオーバラップ部分の値は、学習モデル#iのコンテキストの最後のオーバラップ部分の値に近いものになる。
【００９７】
すなわち、学習モデル#iのコンテキストと学習モデル#i+1のコンテキストとは、より連続的なものになる。
【００９８】
このように、学習モデル#iのコンテキストと学習モデル#i-1のコンテキストとが連続的なものになり、学習モデル#iのコンテキストと学習モデル#i+1のコンテキストとが連続的なものになる。従って、学習モジュール１３iないし１３Nの学習モデルのコンテキスト全体が連続的なものになる。
【００９９】
全体のコンテキストが連続的なものになることにより、各学習モジュール１３iにおいて、その学習モデル#iのコンテキストの意味を統一させることが可能になる。
【０１００】
［モデルパラメータの共有］
図５は、モデルパラメータの共有の例を示す図である。
【０１０１】
N個の学習モジュール１３1ないし１３Nのすべてに、モデルパラメータを共有させる場合について説明する。
【０１０２】
図５においては、モデル記憶部２３iとモデルパラメータ共有部１４以外の図示を省略している。図５に示すように、モデルパラメータ共有部１４にはウエイトマトリクス共有部３１が設けられる。RNNのモデルパラメータとしてのウエイトは複数あるが、その複数のウエイトをコンポーネントとするマトリクスをウエイトマトリクスという。
【０１０３】
ウエイトマトリクス共有部３１は、モデル記憶部２３1ないし２３Nに記憶された学習モデル#1ないし#Nの複数のモデルパラメータとしてのウエイトマトリクスすべてを、学習モジュール１３1ないし１３Nのそれぞれに共有させる。
【０１０４】
すなわち、学習モデル#iのウエイトマトリクスをwiと表すと、ウエイトマトリクス共有部３１は、ウエイトマトリクスwiを、ウエイトマトリクスw1ないしwNのすべてに基づいて補正する。これにより、ウエイトマトリクス共有部３１は、ウエイトマトリクスwiに、ウエイトマトリクスw1ないしwNのすべてを影響させる。
【０１０５】
具体的には、ウエイトマトリクス共有部３１は、例えば、次式（３）に従い、学習モデル#iのウエイトマトリクスwiを補正する。
【数３】
2010266974.tif 000005
【０１０６】
式（３）のΔwiは、ウエイトマトリクスwiを補正する補正成分であり、例えば、式（４）に従って求められる。
【数４】
2010266974.tif 000006
【０１０７】
式（４）のβijは、学習モデル#iのウエイトマトリクスwiに、学習モデル#j(j=1,2,・・・,N)のウエイトマトリクスwjを影響させる度合いを表す係数である。
【０１０８】
式（４）の右辺のサメーションΣβij(wj-wi)は、係数βijを重みとした、学習モデル#iのウエイトマトリクスwjに対する学習モデル#1ないし#Nのウエイトマトリクスw1ないしwNそれぞれの偏差（差分）の重み付け平均値を表す。αiは、その重み付け平均値Σβij(wj-wi)を、ウエイトマトリクスwiに影響させる度合いを表す係数である。
【０１０９】
係数αi及びβijとしては、例えば、0.0より大で1.0より小の値を採用することができる。
【０１１０】
式（４）によれば、係数αiが小であるほど、いわば共有が弱くなり（ウエイトマトリクスwiが受ける重み付け平均値Σβij(wj-wi)の影響が小さくなり）、係数αiが大であるほど、いわば共有が強まる。
【０１１１】
なお、ウエイトマトリクスwiの補正の方法は、式（３）に限定されるものではなく、例えば、式（５）に従って行うことが可能である。
【数５】
2010266974.tif 000007
【０１１２】
ここで、式（５）において、βij'は、学習モデル#iのウエイトマトリクスwiに、学習モデル#j(j=1,2,・・・,N)のウエイトマトリクスwjを影響させる度合いを表す係数である。
【０１１３】
式（５）の右辺の第２項におけるサメーションΣβij'wjは、係数βij'を重みとした、学習モデル#1ないし#Nのウエイトマトリクスw1ないしwNの重み付け平均値を表す。αi'は、その重み付け平均値Σβij'wjを、ウエイトマトリクスwiに影響させる度合いを表す係数である。
【０１１４】
係数αi'及びβij'としては、例えば、0.0より大で1.0より小の値を採用することができる。
【０１１５】
式（５）によれば、係数αi'が大であるほど、共有が弱くなり（ウエイトマトリクスwiが受ける重み付け平均値Σβij'wjの影響が小さくなり）、係数αi'が小であるほど、共有が強まる。
【０１１６】
［学習装置１の動作］
図６のフローチャートを参照して、学習装置１の学習処理について説明する。
【０１１７】
ステップＳ１において、時系列シーケンス入力部１１は、外部から入力された教師データである時系列シーケンスを受信し、時系列シーケンス分割部１２に出力する。
【０１１８】
ステップＳ２において、時系列シーケンス分割部１２は、図３を参照して説明したように、オーバラップ部分を持たせた形で、時系列シーケンスを複数の区分時系列シーケンスに分割する。
【０１１９】
ステップＳ３において、学習モジュール１３iのモデル学習部２２iは、モデル記憶部２３iに記憶された学習モデル#iのモデルパラメータであるウエイトマトリクスwiを、例えば、乱数等によって初期化する。
【０１２０】
ステップＳ４において、学習モジュール１３iは、区分時系列シーケンスを用いて、モデルパラメータを更新する更新学習を行う。内部変数教師シーケンスが生成されている場合、学習モジュール１３iは、内部変数教師シーケンスをも用いて更新学習を行う。
【０１２１】
すなわち、学習モジュール１３iの区分時系列シーケンス入力部２１iは、時系列シーケンス分割部１２から供給された区分時系列シーケンスをモデル学習部２２iに供給する。
【０１２２】
また、モデル学習部２２iは、区分時系列シーケンス入力部２１iからの区分時系列シーケンスと、内部変数教師シーケンス生成部２４iから適宜供給される内部変数教師シーケンスを用いて、学習モデル#iのウエイトマトリクスwiを更新する更新学習を行う。更新学習は、例えば、BPTT(Back-Propagation Through Time)法により行われる。BPTT法については特開2002-236904号公報等に記載されている。
【０１２３】
モデル学習部２２iは、更新学習によって得られた新たなモデルパラメータとしてのウエイトマトリクスwiによって、モデル記憶部２３iの記憶内容を更新する。
【０１２４】
ステップＳ５において、内部変数教師シーケンス生成部２４iは、図４を参照して説明したようにして内部変数教師シーケンスを生成する。
【０１２５】
ステップＳ６において、モデルパラメータ共有部１４のウエイトマトリクス共有部３１は、N個の学習モジュール１３1ないし１３Nのすべてに、ウエイトマトリクスw1ないしwNのすべてを共有させる共有処理を行う。
【０１２６】
ステップＳ７において、学習装置１は、学習の終了条件が満たされているかどうかを判定する。
【０１２７】
学習の終了条件が満たされていないとステップＳ７において判定された場合、ステップＳ４に戻り、同様の処理、すなわち、ウエイトマトリクスwiの更新学習と、内部変数教師シーケンスの生成と、モデルパラメータの共有とが繰り返される。
【０１２８】
一方、ステップＳ７において、学習の終了条件が満たされていると判定された場合、処理は終了される。
【０１２９】
例えば、ステップＳ４乃至Ｓ６の処理の繰り返された回数があらかじめ定められた所定の回数になった場合、ある入力データに対して学習モデル#iが出力する出力データの、入力データに対する誤差が所定値以下になった場合、学習処理は終了される。
【０１３０】
ステップＳ４乃至Ｓ６の処理が繰り返されることにより、ウエイトマトリクスは各学習モジュール１３i間で共有され、また、学習モジュール１３iのコンテキストの値は前後で連続的に繋がるように学習が行われることになる。
【０１３１】
これにより、長時間の時系列パターンを記憶しているシステム全体として、内部変数の役割（意味）を共有することが可能となり、より長期の因果をモデル記憶部２３iに記憶させておくことが可能になる。
【０１３２】
［実験結果］
図７は、学習装置１に学習を行わせるために本件発明者が作成した時系列シーケンスの波形を示す図である。
【０１３３】
図７ａ乃至ｇのそれぞれに示すｘ1乃至ｘ4の各次元の因果関係は下式（６）で表現される。式（６）にはa〜eとして所定の値が設定される。
【数６】
2010266974.tif 000008
【０１３４】
太線で示す３次元目のｘ3がスイッチの役割を有する。このｘ3の信号が立ち上がってから80ステップ（サンプル）の間は、細線で示すｘ1と破線で示すｘ2の最大値が、一点鎖線で示すｘ4の値と同じ値になる。
【０１３５】
ｘ3の信号が立ち上がってから80ステップ後にｘ4は0となる。ｘ3を基準として各次元についての長期の因果を学習するためには、80ステップ前にｘ3が立ち上がったということを内部変数で記憶しておく必要がある。
【０１３６】
式（６）のa〜eのパラメータを変えて作成した図７の7種類の時系列シーケンスの長さはそれぞれ370ステップである。本件発明者は、この各時系列シーケンスを対象として本手法により学習を行わせた。時系列シーケンスの分割は、ウィンドウ幅を40ステップ、スライディング幅を30ステップとした。オーバラップ長は10ステップとなる。
【０１３７】
各時系列シーケンスを12の区分時系列シーケンスに分割し、12の学習モジュールに割り当てた。計84の学習モジュールによって、7種類の時系列シーケンスの学習を行った。各学習モジュールのRNNの隠れ層の数は15、コンテキストノードの数は8とした。
【０１３８】
図８は、学習後の時系列シーケンスaの内部変数(コンテキスト)の値を示す図である。
【０１３９】
図８の上段は、本手法によって、連続的になるようにして学習を行った場合のコンテキストの波形を示す。
【０１４０】
図８の下段は、内部変数教師シーケンスを用いずに、連続的になるような学習を行わない場合のコンテキストの波形を示す。この学習については、本出願人による特願2008-178807号に記載されている。特願2008-178807号に記載されている学習は、内部変数教師シーケンスを用いずに、モデルパラメータの更新と、モデルパラメータの共有を繰り返すことによって行われる。
【０１４１】
なお、コンテキストノードは8個用意したが、図８には、そのうちの1つのコンテキストの時系列変化のみを示す。本手法を用いることで、学習モジュールごとに異なる値を持つのではなく、コンテキストが連続的な値を持っていることがわかる。
【０１４２】
さらに、周期的なシーケンスとなっている時系列シーケンスc（図７）を用いた学習後のコンテキストの波形を図９に示す。
【０１４３】
図９のコンテキストを見ると、時系列シーケンスに現れる繰り返しの場面で、ほぼ同じコンテキストの値をとっていることがわかる。これは、学習モジュールを超えて、同じ意味のコンテキストを生成していることを示している。
【０１４４】
［コンピュータの構成例］
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１４５】
図１０は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０１４６】
CPU(Central Processing Unit)５１、ROM(Read Only Memory)５２、RAM(Random Access Memory)５３は、バス５４により相互に接続されている。
【０１４７】
バス５４には、さらに、入出力インタフェース５５が接続されている。入出力インタフェース５５には、キーボード、マウスなどよりなる入力部５６、ディスプレイ、スピーカなどよりなる出力部５７が接続される。また、バス５４には、ハードディスクや不揮発性のメモリなどよりなる記憶部５８、ネットワークインタフェースなどよりなる通信部５９、リムーバブルメディア６１を駆動するドライブ６０が接続される。
【０１４８】
以上のように構成されるコンピュータでは、CPU５１が、例えば、記憶部５８に記憶されているプログラムを入出力インタフェース５５及びバス５４を介してRAM５３にロードして実行することにより、上述した一連の処理が行われる。
【０１４９】
CPU５１が実行するプログラムは、例えばリムーバブルメディア１１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部５８にインストールされる。
【０１５０】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１５１】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１５２】
１  学習装置，  １１  時系列シーケンス入力部，  １２  時系列シーケンス分割部，  １３1ないし１３N  学習モジュール，  １４  モデルパラメータ共有部，  ２１1ないし２１N  パターン入力部，  ２２1ないし２２N  モデル学習部，  ２３1ないし２３N  モデル記憶部，  ３１  ウエイトマトリクス共有部
【図１】
2010266974.tif 000009
【図２】
2010266974.tif 000010
【図３】
2010266974.tif 000011
【図４】
2010266974.tif 000012
【図５】
2010266974.tif 000013
【図６】
2010266974.tif 000014
【図７】
2010266974.tif 000015
【図８】
2010266974.tif 000016
【図９】
2010266974.tif 000017
【図１０】
2010266974.tif 000018