説明

情報処理装置、情報処理方法、およびプログラム

【課題】複数の学習モデルのそれぞれに時系列パターンを学習させる場合に、各学習モデルにおける内部変数の意味を統一させることができるようにする。
【解決手段】各学習モジュールにおいては、隣接する学習モジュールの学習モデルとの間でコンテキストの値が連続的になるように、コンテキストの教師となる内部変数教師シーケンスが生成され、学習が行われる。内部変数教師シーケンスは、前段の学習モデルのコンテキストの最後のオーバラップ部分の値と、後段の学習モデルのコンテキストの最初のオーバラップ部分の値の線形和として計算される。本発明は、時系列信号に基づいてパターン学習を行う装置に適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、複数の学習モデルのそれぞれに時系列パターンを学習させる場合に、各学習モデルにおける内部変数の意味を統一させることができるようにした情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
ある時刻tにおいて観測される時系列信号が同じAとBという状況を表すものであっても、過去(時刻t-1,t-2,t-3,・・・)に観測された時系列信号を含めれば、AとBのうちのどちらの状況が目標とする正しい状態であるのかを特定することができる。時系列信号は、例えば実空間に存在するロボットにより観測されたセンサデータである。
【0003】
時系列信号を用いた学習装置においては、過去の状況を内部変数(内部状態)として記憶しておき、観測信号と内部変数とから、時刻t+n(n=1,2,・・・)の状態を予測できるようにモデルパラメータを決定することが行われる。
【0004】
時系列パターンを時間差分方程式の形で関数近似し、ダイナミクスとして学習(記憶)する学習モデルとしては、例えばRNN(Recurrent Neural Network)がある。RNNでは、コンテキストと呼ばれる内部変数を予測するノードを持ち、学習時にはその初期値をモデルパラメータの1つとして求めるようになされている。
【0005】
また、隠れマルコフモデルでは、時系列信号を生成する状態を状況AとBで別の状態として用意することで状況AとBを分離している。
【0006】
特許文献1には、連続する時系列信号を分割し、分割した時系列信号をそれぞれの学習モジュールに割り当てて学習を行わせ、複数の学習モジュール間でモデルパラメータを共有する技術が記載されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008−250856号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
学習によりモデルパラメータを決定する際、時系列パターンに対する各学習モジュールの持つ内部変数の初期値は、他のモジュールの持つ初期値を考慮せずに各モジュールにおいて決定される。
【0009】
従って、学習モジュールごとに内部変数の持つ意味が異なり、ある時刻に観測される信号が、隠れ状態を含めたどの状態を表しているのかを、学習モジュールに分担して記憶させている時系列パターン全体の中で特定できないことがある。
【0010】
本発明はこのような状況に鑑みてなされたものであり、複数の学習モデルのそれぞれに時系列パターンを学習させる場合に、各学習モデルにおける内部変数の意味を統一させることができるようにするものである。
【課題を解決するための手段】
【0011】
本発明の一側面の情報処理装置は、時系列信号を、一部の区間がオーバラップする複数の区分時系列信号に分割し、内部状態を有し、時系列パターンを学習する学習モデルの学習に用いる信号として、1つの前記区分時系列信号を1つの学習モデルに割り当てる分割手段と、複数の学習モデルの学習を、それぞれの学習モデルに割り当てられた前記区分時系列信号と、それぞれの学習モデルの内部状態を表す時系列の信号の教師となる内部状態教師信号を用いて行う学習手段と、所定の学習モデルの内部状態を表す時系列の信号と、前記所定の学習モデルに割り当てられた前記区分時系列信号とオーバラップする区間を有する前記区分時系列信号が割り当てられた他の学習モデルの内部状態を表す時系列の信号とに基づいて前記所定の学習モデルに与える前記内部状態教師信号を生成することを、前記複数の学習モデルのそれぞれを前記所定の学習モデルとして行う生成手段とを備える。
【0012】
前記生成手段には、割り当てられた前記区分時系列信号全体のうちの、オーバラップする区間の信号を用いた学習によって、前記所定の学習モデルにおいて得られた前記所定の学習モデルの内部状態を表す時系列の信号と、前記他の学習モデルにおいて得られた前記他の学習モデルの内部状態を表す時系列の信号との線形和によって、前記内部状態教師信号を生成させることができる。
【0013】
前記学習手段には、前記他の学習モデルに割り当てられた前記区分時系列信号とオーバラップする区間の前記区分時系列信号を用いた学習によって前記所定の学習モデルにおいて得られた、前記所定の学習モデルの内部状態を表す一部の区間の時系列の信号の、前記内部状態教師信号に対する誤差が所定値より小さくなるように、前記所定の学習モデルの学習を行わせることができる。
【0014】
前記複数の学習モデルのうちの2以上の学習モデルのそれぞれのモデルパラメータを共有させるモデルパラメータ共有手段をさらに設けることができる。
【0015】
前記モデルパラメータ共有手段には、それぞれの学習モデルのモデルパラメータを、前記2以上の学習モデルのモデルパラメータの重み付け平均値によって補正することにより、前記2以上の学習モデルのそれぞれのモデルパラメータを共有させることができる。
【0016】
本発明の一側面の情報処理方法は、時系列信号を、一部の区間がオーバラップする複数の区分時系列信号に分割し、内部状態を有し、時系列パターンを学習する学習モデルの学習に用いる信号として、1つの前記区分時系列信号を1つの学習モデルに割り当て、複数の学習モデルの学習を、それぞれの学習モデルに割り当てられた前記区分時系列信号と、それぞれの学習モデルの内部状態を表す時系列の信号の教師となる内部状態教師信号を用いて行い、所定の学習モデルの内部状態を表す時系列の信号と、前記所定の学習モデルに割り当てられた前記区分時系列信号とオーバラップする区間を有する前記区分時系列信号が割り当てられた他の学習モデルの内部状態を表す時系列の信号とに基づいて前記所定の学習モデルに与える前記内部状態教師信号を生成することを、前記複数の学習モデルのそれぞれを前記所定の学習モデルとして行うステップを含む。
【0017】
本発明の一側面のプログラムは、時系列信号を、一部の区間がオーバラップする複数の区分時系列信号に分割し、内部状態を有し、時系列パターンを学習する学習モデルの学習に用いる信号として、1つの前記区分時系列信号を1つの学習モデルに割り当て、複数の学習モデルの学習を、それぞれの学習モデルに割り当てられた前記区分時系列信号と、それぞれの学習モデルの内部状態を表す時系列の信号の教師となる内部状態教師信号を用いて行い、所定の学習モデルの内部状態を表す時系列の信号と、前記所定の学習モデルに割り当てられた前記区分時系列信号とオーバラップする区間を有する前記区分時系列信号が割り当てられた他の学習モデルの内部状態を表す時系列の信号とに基づいて前記所定の学習モデルに与える前記内部状態教師信号を生成することを、前記複数の学習モデルのそれぞれを前記所定の学習モデルとして行うステップを含む処理をコンピュータに実行させる。
【0018】
本発明の一側面においては、時系列信号が、一部の区間がオーバラップする複数の区分時系列信号に分割され、内部状態を有し、時系列パターンを学習する学習モデルの学習に用いる信号として、1つの前記区分時系列信号を1つの学習モデルに割り当てられる。また、複数の学習モデルの学習が、それぞれの学習モデルに割り当てられた前記区分時系列信号と、それぞれの学習モデルの内部状態を表す時系列の信号の教師となる内部状態教師信号を用いて行われる。所定の学習モデルの内部状態を表す時系列の信号と、前記所定の学習モデルに割り当てられた前記区分時系列信号とオーバラップする区間を有する前記区分時系列信号が割り当てられた他の学習モデルの内部状態を表す時系列の信号とに基づいて前記所定の学習モデルに与える前記内部状態教師信号を生成することが、前記複数の学習モデルのそれぞれを前記所定の学習モデルとして行われる。
【発明の効果】
【0019】
本発明の一側面によれば、複数の学習モデルのそれぞれに時系列パターンを学習させる場合に、各学習モデルにおける内部変数の意味を統一させることができる。
【図面の簡単な説明】
【0020】
【図1】本発明の一実施の形態に係る学習装置の構成例を示す図である。
【図2】RNNの構成例を示す図である。
【図3】時系列シーケンスの分割と区分時系列シーケンスを用いた学習モデルの学習について説明する図である。
【図4】内部変数教師シーケンスの生成について説明する図である。
【図5】モデルパラメータの共有について説明する図である。
【図6】学習装置の学習処理について説明するフローチャートである。
【図7】時系列シーケンスの波形を示す図である。
【図8】コンテキストの波形を示す図である。
【図9】時系列シーケンスとコンテキストの波形を示す図である。
【図10】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【0021】
[学習装置の構成例]
図1は、本発明の一実施の形態に係る学習装置の構成例を示す図である。
【0022】
学習装置1は、時系列パターンの学習のための教師データとして用意された時系列シーケンスを用い、内部変数を有する複数の学習モデルの学習を行う装置である。
【0023】
ここで、教師データとしては、複雑で、長時間の時系列シーケンスを採用することができる。非線形性が強い信号や多次元の信号が複雑な信号となる。
【0024】
例えば、学習結果の学習モデルを用いて現実のロボットを自律的に行動させるための時系列信号を生成する場合には、ロボットの行動環境下で、行動の教示を行うユーザがロボットを実際に移動させることで得られる時系列信号が教師データとして用いられる。
【0025】
すなわち、ユーザがロボットを移動させているときに、ロボットがセンシングすることができる物理量のデータや、移動のためにロボットアクチュエータに与えられるデータ等をコンポーネントとするベクトルの時系列の信号が教師データとして用いられる。
【0026】
図1に示すように、学習装置1は、時系列シーケンス入力部11、時系列シーケンス分割部12、学習モジュール131ないし13N、およびモデルパラメータ共有部14から構成される。
【0027】
時系列シーケンス入力部11は、教師データとして外部から入力された時系列シーケンスを受信し、時系列シーケンス分割部12に出力する。
【0028】
時系列シーケンス分割部12は、時系列シーケンス入力部11から供給された時系列シーケンスを、固定長のスライディング・ウィンドウによって複数の区分時系列シーケンスに分割する。
【0029】
後述するように、内部変数を表す時系列信号が前後で連続的になるように調整することが学習モデルの学習時に行われる。時系列シーケンスの分割は、時間軸上で隣接する区分時系列シーケンスどうしがオーバラップする区間を含むように、「ウィンドウ幅<スライディング幅」となるようにして行われる。
【0030】
学習モジュール13i(i=1,2,・・・,N)は、区分時系列シーケンス入力部21i、モデル学習部22i、モデル記憶部23i、および内部変数教師シーケンス生成部24iから構成される。学習モジュール13iは、入力された区分時系列シーケンスを用いて、学習モデルの複数のモデルパラメータを更新する更新学習を行う。
【0031】
区分時系列シーケンス入力部21iは、時系列シーケンス分割部12から供給された区分時系列シーケンスを、学習モデルの学習に適切な形のデータにする処理を行う。区分時系列シーケンス入力部21iは、そのような前処理を施した区分時系列シーケンスをモデル学習部22iに出力する。
【0032】
モデル学習部22iは、区分時系列シーケンス入力部21iから供給された区分時系列シーケンスと、内部変数教師シーケンス生成部24iから供給された内部変数教師シーケンスを用いて、モデル記憶部23iに記憶された学習モデルの学習を行う。
【0033】
モデル記憶部23iは、内部変数を有し、パターンを学習する学習モデルを記憶する。モデル記憶部23iには、学習モデルの複数のモデルパラメータが記憶される。
【0034】
ここで、学習モデルとしては、時系列パターンや、時間変化する力学系を表すダイナミクスを学習(獲得)(記憶)するモデル等を採用することができる。
【0035】
時系列パターンを学習するモデルとしてはHMM(Hidden Markov Model)等がある。ダイナミクスを学習するモデルとしては、RNN,FNN(Feed Forward Neural Network),RNNPB等のニューラルネットワークや、SVR(Support Vector Regression)等がある。
【0036】
HMMについては、HMMにおいて状態が遷移する確率を表す状態遷移確率や、状態が遷移するときに、HMMからある観測値が出力される確率を表す出力確率、又は確率密度を表す出力確率密度関数が、HMMのモデルパラメータである。
【0037】
また、ニューラルネットワークについては、ニューロンに相当するユニット(ノード)において、他のユニットからの入力に付されるウエイト(重み)が、ニューラルネットワークのモデルパラメータである。
【0038】
なお、HMMの状態遷移確率や、出力確率、又は出力確率密度関数、ニューラルネットワークのウエイトは、いずれも複数存在する。
【0039】
内部変数教師シーケンス生成部24iは、モデル記憶部23iに記憶されている学習モデルの内部変数と、隣接する学習モジュール13i-1,13i+1の学習モデルの内部変数を取得する。内部変数教師シーケンス生成部24iは、取得した内部変数に基づいて内部変数教師シーケンスを生成し、内部変数の教師としてモデル学習部22iに出力する。
【0040】
なお、内部変数教師シーケンス生成部241においては、モデル記憶部231に記憶されている学習モデルの内部変数と、学習モジュール132の学習モデルの内部変数が取得され、内部変数教師シーケンスが生成される。また、内部変数教師シーケンス生成部24Nにおいては、モデル記憶部23Nに記憶されている学習モデルの内部変数と、学習モジュール13N-1の学習モデルの内部変数が取得され、内部変数教師シーケンスが生成される。
【0041】
モデルパラメータ共有部14は、N個の学習モジュール131ないし13Nのうちの、2以上の学習モジュールに、モデルパラメータを共有させる共有処理を行う。モデルパラメータ共有部14が共有処理を行うことにより、N個の学習モジュール131ないし13Nのうちの2以上の学習モジュールはモデルパラメータを共有する。
【0042】
[学習モデルの説明]
学習装置1で学習される学習モデルについて説明する。
【0043】
学習モデルとしては、力学系を近似することができるモデル(力学系近似モデル)のうちの、内部変数を有する力学系近似モデルを採用することができる。内部変数を有する力学系近似モデルとしては、例えば、RNNがある。
【0044】
図2は、RNNの構成例を示す図である。
【0045】
ここで、あるシステム(系)にデータを入力したときに、そのデータに対して、システムから出力されるデータを出力データというとともに、システムに入力されるデータを入力データという。
【0046】
図2のRNNは、入力層、隠れ層(中間層)、及び出力層の3層で構成されている。入力層、隠れ層、及び出力層は、それぞれ任意の数の、ニューロンに相当するユニットにより構成される。
【0047】
RNNでは、入力層の一部のユニットである入力ユニットに、外部から入力データxtが入力される。ここで、入力データxtは、時刻tのサンプル(値)を表す。
【0048】
入力層の、入力データxtが入力される入力ユニット以外の、残りのユニットはコンテキストユニットである。コンテキストユニットには、出力層の一部のユニットの出力が、内部変数を表すコンテキストとしてフィードバックされる。
【0049】
ここで、時刻tの入力データxtが入力層の入力ユニットに入力されるときに入力層のコンテキストユニットに入力される時刻tのコンテキストをctと記載する。
【0050】
隠れ層のユニットは、入力層に入力される入力データxtとコンテキストctを対象として、所定のウエイト(重み)を用いた重み付け加算を行う。隠れ層のユニットは、その重み付け加算の結果を引数とする非線形関数の演算を行って、その演算結果を、出力層のユニットに出力する。
【0051】
出力層のユニットでは、隠れ層のユニットが出力するデータを対象として、隠れ層のユニットと同様の処理が行われる。そして、出力層の一部のユニットからは、上述したように、次の時刻t+1のコンテキストct+1が出力され、入力層にフィードバックされる。また、出力層の残りのユニットからは、例えば、入力データxtに対する出力データが出力される。
【0052】
すなわち、RNNの学習は、RNNに対して、ある時系列データの時刻tのサンプルを入力データとして与えるとともに、その時系列データの次の時刻t+1のサンプルを出力データの真値として与え、出力データの、真値に対する誤差を小さくするように行われる。
【0053】
また、後に詳述するように、RNNの学習は、時系列の信号として表されるコンテキストの、内部変数教師シーケンス生成部24iにより生成された内部変数教師シーケンスに対する誤差を小さくするようにもして行われる。
【0054】
このような学習が行われたRNNでは、入力データxtに対する出力データとして、その入力データxtの次の時刻t+1の入力データxt+1の予測値x*t+1が出力される。
【0055】
なお、上述したように、RNNでは、ユニットへの入力が重み付け加算されるが、この重み付け加算に用いられるウエイト(重み)が、RNNのモデルパラメータである。RNNのモデルパラメータとしてのウエイトには、入力ユニットから隠れ層のユニットへのウエイト、コンテキストユニットから隠れ層のユニットへウエイト、隠れ層のユニットから出力層のユニットへのウエイト等がある。
【0056】
以下では、学習モデルはRNNであるとする。
【0057】
[時系列シーケンスの分割と学習モデルの学習]
図3は、教師データとしての時系列シーケンスの分割と、その分割によって得られた区分時系列シーケンスを用いた学習モデルの学習について説明する図である。
【0058】
図3において、時系列シーケンスは、2つのコンポーネントを有するベクトルの時系列になっている。
【0059】
時系列シーケンス分割部12は、複数の学習モデルに時系列シーケンス全体を分担して学習させるために、時系列シーケンスを、Lサンプルがオーバラップする、S(>L)サンプルの区分時系列シーケンスに分割する。
【0060】
図3では、時系列シーケンスが4つの区分時系列シーケンス#1ないし#4に分割されている。
【0061】
ここで、区分時系列シーケンス全体のうちの、他の区分時系列シーケンスとオーバラップしているLサンプルを、以下、区分時系列シーケンスのオーバラップ部分ともいう。
【0062】
Sサンプルの時系列である区分時系列シーケンスでは、その最初のLサンプルと、最後のLサンプルが、オーバラップ部分となっている。但し、正確には、最初の区分時系列シーケンスでは、最後のLサンプルだけがオーバラップ部分となっており、最後の区分時系列シーケンスでは、最初のLサンプルだけがオーバラップ部分となっている。
【0063】
時系列シーケンス分割部12は、分割して得られた区分時系列シーケンス#1を学習モデル#1に割り当て、区分時系列シーケンス#2を学習モデル#2に割り当てる。また、時系列シーケンス分割部12は、区分時系列シーケンス#3を学習モデル#3に割り当て、区分時系列シーケンス#4を学習モデル#4に割り当てる。
【0064】
学習モデル#1ないし#4は、それぞれ、図1の学習モジュール131ないし134に記憶されている学習モデルである。
【0065】
学習モジュール13iは、学習モデル#iによる時系列パターンの学習を、その学習モデル#iに割り当てられた区分時系列シーケンス#iを用いて行う。これにより、学習モジュール13iは、区分時系列シーケンス#iのダイナミクスとしての時系列パターンを、学習モデル#nの学習則に従って、時間発展方程式の関数近似モデルとして獲得する。
【0066】
すなわち、学習モジュール13iは、区分時系列シーケンス#iを用いて、RNNのモデルパラメータであるウエイトを例えばBPTT法により求める。
【0067】
区分時系列シーケンス#i及び#i+1がそれぞれ割り当てられる2つの学習モデル#i及び#i+1に注目した場合を考える。
【0068】
この場合、学習モデル#i+1の学習は、最初のオーバラップ部分としてのLサンプルが、学習モデル#iの学習に用いられる区分時系列シーケンス#iの最後のオーバラップ部分としてのLサンプルに一致している区分時系列シーケンス#i+1を用いて行われる。
【0069】
また、学習モデル#iの学習は、最後のオーバラップ部分としてのLサンプルが、学習モデル#i+1の学習に用いられる区分時系列シーケンス#i+1の最初のオーバラップ部分としてのLサンプルに一致している区分時系列シーケンス#iを用いて行われる。
【0070】
[内部変数教師シーケンスの生成]
図4は、内部変数教師シーケンス生成部24iによる内部変数教師シーケンスの生成の例を示す図である。
【0071】
i≠1、かつi≠Nである場合について説明する。この場合、学習モジュール13iに入力される区分時系列シーケンスより時間的に前の区分時系列シーケンスが入力される学習モジュール13i-1が存在する。また、学習モジュール13iに入力される区分時系列シーケンスより時間的に後の区分時系列シーケンスが入力される学習モジュール13i+1が存在する。
【0072】
学習モデルの学習時、内部変数教師シーケンス生成部24iに対しては、学習モジュール13iが有する学習モデル#iのコンテキストと、学習モジュール13i-1が有する学習モデル#i-1のコンテキストと、学習モジュール13i+1が有する学習モデル#i+1のコンテキストとがそれぞれ供給される。
【0073】
時系列の信号である区分時系列シーケンスが入力される毎に出力されるから、RNNのコンテキストノードから出力されるコンテキストも、図4の上段に示すように時系列の信号として表される。横方向が時間方向である。
【0074】
破線の波形は、学習モジュール13i-1が有する学習モデル#i-1のコンテキストを示し、実線の波形は、学習モジュール13iが有する学習モデル#iのコンテキストを示す。また、一点鎖線の波形は、学習モジュール13i+1が有する学習モデル#i+1のコンテキストを示す。
【0075】
上述したように、区分時系列シーケンスには、隣接する学習モジュールに入力されるものどうしオーバラップ部分が存在する。学習モジュール13i-1に入力される区分時系列シーケンスの最後のLサンプルと、学習モジュール13iに入力される区分時系列シーケンスの最初のLサンプルは一致する。
【0076】
しかし、図4に示すように、t=1からt=Nの区間L1における学習モデル#i-1のコンテキストと学習モデル#iのコンテキストとは、それぞれの学習モデルのモデルパラメータに応じて異なる値をとることになる。
【0077】
図4上段の区間L1には、学習モジュール13i-1と学習モジュール13iに入力された区分時系列シーケンス全体のうちのオーバラップ部分が入力されたときにそれぞれの学習モデルにおいて観測されたコンテキストを示している。区間L1の学習モデル#i-1のコンテキストの値と、学習モデル#iのコンテキストの値とは大きく異なっている。
【0078】
同様に、学習モジュール13iに入力される区分時系列シーケンスの最後のLサンプルと、学習モジュール13i+1に入力される区分時系列シーケンスの最初のLサンプルは一致する。
【0079】
しかし、図4に示すように、t=T-N+1からt=Tの区間L2における学習モデル#iのコンテキストと学習モデル#i+1のコンテキストとは、それぞれの学習モデルのモデルパラメータに応じて異なる値をとることになる。
【0080】
図4上段の区間L2には、学習モジュール13iと学習モジュール13i+1に入力された区分時系列シーケンス全体のうちのオーバラップ部分が入力されたときにそれぞれの学習モデルにおいて観測されたコンテキストを示している。区間L2の学習モデル#iのコンテキストの値と、学習モデル#i+1のコンテキストの値とは大きく異なっている。
【0081】
以下、区分時系列シーケンス全体のうちのオーバラップ部分に対応して出力されたコンテキストの部分をコンテキストのオーバラップ部分という。例えば、図4上段の区間L1は、学習モデル#iのコンテキストと学習モデル#i-1のコンテキストのオーバラップ部分の区間である。
【0082】
各学習モジュールにおいては、隣接する学習モジュールの学習モデルとの間でコンテキストの値が連続的になるように、コンテキストの教師となる内部変数教師シーケンスが生成され、学習が行われる。内部変数教師シーケンスを用いた学習は、コンテキストの、内部変数教師シーケンスに対する誤差が小さくなるようにして行われる。
【0083】
内部変数教師シーケンスは、前段の学習モデルのコンテキストの最後のオーバラップ部分の値と、後段の学習モデルのコンテキストの最初のオーバラップ部分の値の線形和によって、内部変数教師シーケンス生成部24iにより計算される。
【0084】
区分時系列シーケンスのオーバラップ長をNサンプル、区分時系列シーケンス長をTサンプルとすると、学習モジュール13iの最初のオーバラップ部分である区間L1における内部変数教師シーケンスCti1...Nは、下式(1)により計算される。
【数1】

【0085】
式(1)のCi-1T-N+1...Tは、学習モデル#i-1のコンテキスト全体のうちの、最後のオーバラップ部分、すなわち、学習モデル#iのコンテキストとのオーバラップ部分の値を表す。Ci1...Tは、学習モデル#iのコンテキスト全体のうちの、最初のオーバラップ部分、すなわち、学習モデル#i-1のコンテキストとのオーバラップ部分の値を表す。
【0086】
εは、他の学習モデルのコンテキストとの線形和を取るときの重みとなる所定の値である。
【0087】
同様に、学習モジュール13iの最後のオーバラップ部分である区間L2における内部変数教師シーケンスCtiT-N+1は、下式(2)により計算される。
【数2】

【0088】
式(2)のCi+11...Tは、学習モデル#i+1のコンテキスト全体のうちの、最初のオーバラップ部分、すなわち、学習モデル#iのコンテキストとのオーバラップ部分の値を表す。CiT-N+1は、学習モデル#i+1のコンテキスト全体のうちの、最後のオーバラップ部分、すなわち、学習モデル#iのコンテキストとのオーバラップ部分の値を表す。
【0089】
以上のようにして計算された内部変数教師データCti1...Nと内部変数教師データCtiT-N+1を含む、学習モジュール13iの内部変数教師データ全体を図4の下段に示す。
【0090】
なお、各学習モジュール13iにおいて、初期コンテキストに与える内部変数教師データは、学習順で前段の学習モジュール13iで得られたコンテキストの値が引き継がれる(そのまま用いられる)。
【0091】
内部変数教師データとコンテキストの誤差を小さくするようにして順伝播での学習と逆伝播での学習が繰り返されることによって、モデルパラメータが調整される。
【0092】
そのような学習が繰り返されることにより、学習モデル#iのコンテキスト全体のうちの最初のオーバラップ部分の値は、学習モデル#i-1のコンテキストの最後のオーバラップ部分の値に近いものになる。
【0093】
学習モジュール13i-1においても同様にして学習が行われるから、学習モデル#i-1のコンテキスト全体のうちの最後のオーバラップ部分の値は、学習モデル#iのコンテキストの最初のオーバラップ部分の値に近いものになる。
【0094】
すなわち、学習モデル#iのコンテキストと学習モデル#i-1のコンテキストとは、より連続的なものになる。
【0095】
また、学習モデル#iのコンテキスト全体のうちの最後のオーバラップ部分の値は、学習モデル#i+1のコンテキストの最初のオーバラップ部分の値に近いものになる。
【0096】
学習モジュール13i+1においても同様にして学習が行われるから、学習モデル#i+1のコンテキスト全体のうちの最初のオーバラップ部分の値は、学習モデル#iのコンテキストの最後のオーバラップ部分の値に近いものになる。
【0097】
すなわち、学習モデル#iのコンテキストと学習モデル#i+1のコンテキストとは、より連続的なものになる。
【0098】
このように、学習モデル#iのコンテキストと学習モデル#i-1のコンテキストとが連続的なものになり、学習モデル#iのコンテキストと学習モデル#i+1のコンテキストとが連続的なものになる。従って、学習モジュール13iないし13Nの学習モデルのコンテキスト全体が連続的なものになる。
【0099】
全体のコンテキストが連続的なものになることにより、各学習モジュール13iにおいて、その学習モデル#iのコンテキストの意味を統一させることが可能になる。
【0100】
[モデルパラメータの共有]
図5は、モデルパラメータの共有の例を示す図である。
【0101】
N個の学習モジュール131ないし13Nのすべてに、モデルパラメータを共有させる場合について説明する。
【0102】
図5においては、モデル記憶部23iとモデルパラメータ共有部14以外の図示を省略している。図5に示すように、モデルパラメータ共有部14にはウエイトマトリクス共有部31が設けられる。RNNのモデルパラメータとしてのウエイトは複数あるが、その複数のウエイトをコンポーネントとするマトリクスをウエイトマトリクスという。
【0103】
ウエイトマトリクス共有部31は、モデル記憶部231ないし23Nに記憶された学習モデル#1ないし#Nの複数のモデルパラメータとしてのウエイトマトリクスすべてを、学習モジュール131ないし13Nのそれぞれに共有させる。
【0104】
すなわち、学習モデル#iのウエイトマトリクスをwiと表すと、ウエイトマトリクス共有部31は、ウエイトマトリクスwiを、ウエイトマトリクスw1ないしwNのすべてに基づいて補正する。これにより、ウエイトマトリクス共有部31は、ウエイトマトリクスwiに、ウエイトマトリクスw1ないしwNのすべてを影響させる。
【0105】
具体的には、ウエイトマトリクス共有部31は、例えば、次式(3)に従い、学習モデル#iのウエイトマトリクスwiを補正する。
【数3】

【0106】
式(3)のΔwiは、ウエイトマトリクスwiを補正する補正成分であり、例えば、式(4)に従って求められる。
【数4】

【0107】
式(4)のβijは、学習モデル#iのウエイトマトリクスwiに、学習モデル#j(j=1,2,・・・,N)のウエイトマトリクスwjを影響させる度合いを表す係数である。
【0108】
式(4)の右辺のサメーションΣβij(wj-wi)は、係数βijを重みとした、学習モデル#iのウエイトマトリクスwjに対する学習モデル#1ないし#Nのウエイトマトリクスw1ないしwNそれぞれの偏差(差分)の重み付け平均値を表す。αiは、その重み付け平均値Σβij(wj-wi)を、ウエイトマトリクスwiに影響させる度合いを表す係数である。
【0109】
係数αi及びβijとしては、例えば、0.0より大で1.0より小の値を採用することができる。
【0110】
式(4)によれば、係数αiが小であるほど、いわば共有が弱くなり(ウエイトマトリクスwiが受ける重み付け平均値Σβij(wj-wi)の影響が小さくなり)、係数αiが大であるほど、いわば共有が強まる。
【0111】
なお、ウエイトマトリクスwiの補正の方法は、式(3)に限定されるものではなく、例えば、式(5)に従って行うことが可能である。
【数5】

【0112】
ここで、式(5)において、βij'は、学習モデル#iのウエイトマトリクスwiに、学習モデル#j(j=1,2,・・・,N)のウエイトマトリクスwjを影響させる度合いを表す係数である。
【0113】
式(5)の右辺の第2項におけるサメーションΣβij'wjは、係数βij'を重みとした、学習モデル#1ないし#Nのウエイトマトリクスw1ないしwNの重み付け平均値を表す。αi'は、その重み付け平均値Σβij'wjを、ウエイトマトリクスwiに影響させる度合いを表す係数である。
【0114】
係数αi'及びβij'としては、例えば、0.0より大で1.0より小の値を採用することができる。
【0115】
式(5)によれば、係数αi'が大であるほど、共有が弱くなり(ウエイトマトリクスwiが受ける重み付け平均値Σβij'wjの影響が小さくなり)、係数αi'が小であるほど、共有が強まる。
【0116】
[学習装置1の動作]
図6のフローチャートを参照して、学習装置1の学習処理について説明する。
【0117】
ステップS1において、時系列シーケンス入力部11は、外部から入力された教師データである時系列シーケンスを受信し、時系列シーケンス分割部12に出力する。
【0118】
ステップS2において、時系列シーケンス分割部12は、図3を参照して説明したように、オーバラップ部分を持たせた形で、時系列シーケンスを複数の区分時系列シーケンスに分割する。
【0119】
ステップS3において、学習モジュール13iのモデル学習部22iは、モデル記憶部23iに記憶された学習モデル#iのモデルパラメータであるウエイトマトリクスwiを、例えば、乱数等によって初期化する。
【0120】
ステップS4において、学習モジュール13iは、区分時系列シーケンスを用いて、モデルパラメータを更新する更新学習を行う。内部変数教師シーケンスが生成されている場合、学習モジュール13iは、内部変数教師シーケンスをも用いて更新学習を行う。
【0121】
すなわち、学習モジュール13iの区分時系列シーケンス入力部21iは、時系列シーケンス分割部12から供給された区分時系列シーケンスをモデル学習部22iに供給する。
【0122】
また、モデル学習部22iは、区分時系列シーケンス入力部21iからの区分時系列シーケンスと、内部変数教師シーケンス生成部24iから適宜供給される内部変数教師シーケンスを用いて、学習モデル#iのウエイトマトリクスwiを更新する更新学習を行う。更新学習は、例えば、BPTT(Back-Propagation Through Time)法により行われる。BPTT法については特開2002-236904号公報等に記載されている。
【0123】
モデル学習部22iは、更新学習によって得られた新たなモデルパラメータとしてのウエイトマトリクスwiによって、モデル記憶部23iの記憶内容を更新する。
【0124】
ステップS5において、内部変数教師シーケンス生成部24iは、図4を参照して説明したようにして内部変数教師シーケンスを生成する。
【0125】
ステップS6において、モデルパラメータ共有部14のウエイトマトリクス共有部31は、N個の学習モジュール131ないし13Nのすべてに、ウエイトマトリクスw1ないしwNのすべてを共有させる共有処理を行う。
【0126】
ステップS7において、学習装置1は、学習の終了条件が満たされているかどうかを判定する。
【0127】
学習の終了条件が満たされていないとステップS7において判定された場合、ステップS4に戻り、同様の処理、すなわち、ウエイトマトリクスwiの更新学習と、内部変数教師シーケンスの生成と、モデルパラメータの共有とが繰り返される。
【0128】
一方、ステップS7において、学習の終了条件が満たされていると判定された場合、処理は終了される。
【0129】
例えば、ステップS4乃至S6の処理の繰り返された回数があらかじめ定められた所定の回数になった場合、ある入力データに対して学習モデル#iが出力する出力データの、入力データに対する誤差が所定値以下になった場合、学習処理は終了される。
【0130】
ステップS4乃至S6の処理が繰り返されることにより、ウエイトマトリクスは各学習モジュール13i間で共有され、また、学習モジュール13iのコンテキストの値は前後で連続的に繋がるように学習が行われることになる。
【0131】
これにより、長時間の時系列パターンを記憶しているシステム全体として、内部変数の役割(意味)を共有することが可能となり、より長期の因果をモデル記憶部23iに記憶させておくことが可能になる。
【0132】
[実験結果]
図7は、学習装置1に学習を行わせるために本件発明者が作成した時系列シーケンスの波形を示す図である。
【0133】
図7a乃至gのそれぞれに示すx1乃至x4の各次元の因果関係は下式(6)で表現される。式(6)にはa〜eとして所定の値が設定される。
【数6】

【0134】
太線で示す3次元目のx3がスイッチの役割を有する。このx3の信号が立ち上がってから80ステップ(サンプル)の間は、細線で示すx1と破線で示すx2の最大値が、一点鎖線で示すx4の値と同じ値になる。
【0135】
3の信号が立ち上がってから80ステップ後にx4は0となる。x3を基準として各次元についての長期の因果を学習するためには、80ステップ前にx3が立ち上がったということを内部変数で記憶しておく必要がある。
【0136】
式(6)のa〜eのパラメータを変えて作成した図7の7種類の時系列シーケンスの長さはそれぞれ370ステップである。本件発明者は、この各時系列シーケンスを対象として本手法により学習を行わせた。時系列シーケンスの分割は、ウィンドウ幅を40ステップ、スライディング幅を30ステップとした。オーバラップ長は10ステップとなる。
【0137】
各時系列シーケンスを12の区分時系列シーケンスに分割し、12の学習モジュールに割り当てた。計84の学習モジュールによって、7種類の時系列シーケンスの学習を行った。各学習モジュールのRNNの隠れ層の数は15、コンテキストノードの数は8とした。
【0138】
図8は、学習後の時系列シーケンスaの内部変数(コンテキスト)の値を示す図である。
【0139】
図8の上段は、本手法によって、連続的になるようにして学習を行った場合のコンテキストの波形を示す。
【0140】
図8の下段は、内部変数教師シーケンスを用いずに、連続的になるような学習を行わない場合のコンテキストの波形を示す。この学習については、本出願人による特願2008-178807号に記載されている。特願2008-178807号に記載されている学習は、内部変数教師シーケンスを用いずに、モデルパラメータの更新と、モデルパラメータの共有を繰り返すことによって行われる。
【0141】
なお、コンテキストノードは8個用意したが、図8には、そのうちの1つのコンテキストの時系列変化のみを示す。本手法を用いることで、学習モジュールごとに異なる値を持つのではなく、コンテキストが連続的な値を持っていることがわかる。
【0142】
さらに、周期的なシーケンスとなっている時系列シーケンスc(図7)を用いた学習後のコンテキストの波形を図9に示す。
【0143】
図9のコンテキストを見ると、時系列シーケンスに現れる繰り返しの場面で、ほぼ同じコンテキストの値をとっていることがわかる。これは、学習モジュールを超えて、同じ意味のコンテキストを生成していることを示している。
【0144】
[コンピュータの構成例]
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0145】
図10は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0146】
CPU(Central Processing Unit)51、ROM(Read Only Memory)52、RAM(Random Access Memory)53は、バス54により相互に接続されている。
【0147】
バス54には、さらに、入出力インタフェース55が接続されている。入出力インタフェース55には、キーボード、マウスなどよりなる入力部56、ディスプレイ、スピーカなどよりなる出力部57が接続される。また、バス54には、ハードディスクや不揮発性のメモリなどよりなる記憶部58、ネットワークインタフェースなどよりなる通信部59、リムーバブルメディア61を駆動するドライブ60が接続される。
【0148】
以上のように構成されるコンピュータでは、CPU51が、例えば、記憶部58に記憶されているプログラムを入出力インタフェース55及びバス54を介してRAM53にロードして実行することにより、上述した一連の処理が行われる。
【0149】
CPU51が実行するプログラムは、例えばリムーバブルメディア111に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部58にインストールされる。
【0150】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0151】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0152】
1 学習装置, 11 時系列シーケンス入力部, 12 時系列シーケンス分割部, 131ないし13N 学習モジュール, 14 モデルパラメータ共有部, 211ないし21N パターン入力部, 221ないし22N モデル学習部, 231ないし23N モデル記憶部, 31 ウエイトマトリクス共有部

【特許請求の範囲】
【請求項1】
時系列信号を、一部の区間がオーバラップする複数の区分時系列信号に分割し、内部状態を有し、時系列パターンを学習する学習モデルの学習に用いる信号として、1つの前記区分時系列信号を1つの学習モデルに割り当てる分割手段と、
複数の学習モデルの学習を、それぞれの学習モデルに割り当てられた前記区分時系列信号と、それぞれの学習モデルの内部状態を表す時系列の信号の教師となる内部状態教師信号を用いて行う学習手段と、
所定の学習モデルの内部状態を表す時系列の信号と、前記所定の学習モデルに割り当てられた前記区分時系列信号とオーバラップする区間を有する前記区分時系列信号が割り当てられた他の学習モデルの内部状態を表す時系列の信号とに基づいて前記所定の学習モデルに与える前記内部状態教師信号を生成することを、前記複数の学習モデルのそれぞれを前記所定の学習モデルとして行う生成手段と
を備える情報処理装置。
【請求項2】
前記生成手段は、割り当てられた前記区分時系列信号全体のうちの、オーバラップする区間の信号を用いた学習によって、前記所定の学習モデルにおいて得られた前記所定の学習モデルの内部状態を表す時系列の信号と、前記他の学習モデルにおいて得られた前記他の学習モデルの内部状態を表す時系列の信号との線形和によって、前記内部状態教師信号を生成する
請求項1に記載の情報処理装置。
【請求項3】
前記学習手段は、前記他の学習モデルに割り当てられた前記区分時系列信号とオーバラップする区間の前記区分時系列信号を用いた学習によって前記所定の学習モデルにおいて得られた、前記所定の学習モデルの内部状態を表す一部の区間の時系列の信号の、前記内部状態教師信号に対する誤差が所定値より小さくなるように、前記所定の学習モデルの学習を行う
請求項2に記載の情報処理装置。
【請求項4】
前記複数の学習モデルのうちの2以上の学習モデルのそれぞれのモデルパラメータを共有させるモデルパラメータ共有手段をさらに備える
請求項1に記載の情報処理装置。
【請求項5】
前記モデルパラメータ共有手段は、それぞれの学習モデルのモデルパラメータを、前記2以上の学習モデルのモデルパラメータの重み付け平均値によって補正することにより、前記2以上の学習モデルのそれぞれのモデルパラメータを共有させる
請求項4に記載の情報処理装置。
【請求項6】
時系列信号を、一部の区間がオーバラップする複数の区分時系列信号に分割し、内部状態を有し、時系列パターンを学習する学習モデルの学習に用いる信号として、1つの前記区分時系列信号を1つの学習モデルに割り当て、
複数の学習モデルの学習を、それぞれの学習モデルに割り当てられた前記区分時系列信号と、それぞれの学習モデルの内部状態を表す時系列の信号の教師となる内部状態教師信号を用いて行い、
所定の学習モデルの内部状態を表す時系列の信号と、前記所定の学習モデルに割り当てられた前記区分時系列信号とオーバラップする区間を有する前記区分時系列信号が割り当てられた他の学習モデルの内部状態を表す時系列の信号とに基づいて前記所定の学習モデルに与える前記内部状態教師信号を生成することを、前記複数の学習モデルのそれぞれを前記所定の学習モデルとして行う
ステップを含む情報処理方法。
【請求項7】
時系列信号を、一部の区間がオーバラップする複数の区分時系列信号に分割し、内部状態を有し、時系列パターンを学習する学習モデルの学習に用いる信号として、1つの前記区分時系列信号を1つの学習モデルに割り当て、
複数の学習モデルの学習を、それぞれの学習モデルに割り当てられた前記区分時系列信号と、それぞれの学習モデルの内部状態を表す時系列の信号の教師となる内部状態教師信号を用いて行い、
所定の学習モデルの内部状態を表す時系列の信号と、前記所定の学習モデルに割り当てられた前記区分時系列信号とオーバラップする区間を有する前記区分時系列信号が割り当てられた他の学習モデルの内部状態を表す時系列の信号とに基づいて前記所定の学習モデルに与える前記内部状態教師信号を生成することを、前記複数の学習モデルのそれぞれを前記所定の学習モデルとして行う
ステップを含む処理をコンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−266974(P2010−266974A)
【公開日】平成22年11月25日(2010.11.25)
【国際特許分類】
【出願番号】特願2009−116054(P2009−116054)
【出願日】平成21年5月13日(2009.5.13)
【出願人】(000002185)ソニー株式会社 (34,172)