説明

学習装置及び学習方法、並びにコンピュータ・プログラム

【課題】 短時間で大域解への収束が保証されている連続値関数近似手法を用いて非マルコフ過程の時系列データの予測関数を学習する。
【解決手段】 非マルコフ過程の時系列を予測するために、関数Fはn次元の学習サンプル{xt}にm次元の文脈情報{ct}を加えた(n+m)次元の状態{zt}を時系列情報として扱う。学習対象が関数Fである一方、文脈情報{ct}が未知であるから、文脈情報{ct}の推定と関数Fの学習を交互に繰り返し行ない、理想的な解に漸近するようにする。学習した関数Fを用いて学習サンプルを予測し、予測値と実際に入力した学習サンプルとの誤差から学習の終了判定を行なう。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、過去から現在に至る状態値からなる時系列データを引数として次の時刻における状態値を出力するための関数を近似する処理を行なう学習装置及び学習方法、並びにコンピュータ・プログラムに係り、特に、与えられた学習サンプルからは直接知ることのできない情報を自動的に生成する学習装置及び学習方法、並びにコンピュータ・プログラムに関する。
【0002】
さらに詳しくは、本発明は、マルコフ過程に従わない時系列データを予測学習し次の時刻における状態値を出力するための関数を近似する処理を行なう学習装置及び学習方法、並びにコンピュータ・プログラムに係り、特に、リカレント・ニューラル・ネットワーク以外の手法により非マルコフ過程の時系列データの予測関数を学習する学習装置及び学習方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【0003】
例えば、人間は同じような出来事を重ねて経験したり、同じような事実を繰り返し観測したりすると、また似たようなことが起こるのではないかと予測したり、何かこれを支配している既存が存在するのではないかと推測する。このように、過去の経験の上に立って新しい知識や技術を習得することを「学習」と言う。
【0004】
情報技術(IT)が発展した昨今においては、このような学習のメカニズムをコンピュータ・システム上で実現する研究開発が広く行なわれている。例えば、現在時刻までの状態値を入力として学習を行ない、この学習結果を基に次の時刻における状態値を推測若しくは自動生成する。すなわち、学習器は、過去から現在に至る状態値からなる時系列データを引数として、次の時刻における状態値を出力する関数を近似する処理を行なっていることと等価である。
【0005】
学習器の多くは、過去の履歴とは関係なく、現在の状態のみから未来の確率法則が決定される、というマルコフ過程のモデルを作成して学習を行なう。ところが、学習対象すなわち近似すべき関数がマルコフ過程に従わない(若しくは、2次以上のマルコフ過程である)場合がある。例えば、正弦波は、現在の状態値が同じ値であっても、将来は増加傾向をとる場合と逆に減少傾向をとる場合の2通りがあり、現在の状態のみから未来の状態を自動生成することはできない。
【0006】
このような非マルコフ過程に関しては、予測学習を行なうより他ないと思料される。非マルコフ過程を予測学習する学習メカニズムの代表例として、リカレント・ニューラル・ネットワーク(Recurrent Neural Network:再帰的ニューラル・ネットワーク)を挙げることができる(例えば、非特許文献1を参照のこと)。
【0007】
例えば、学習機構としてリカレント・ニューラル・ネットワークを備えたロボットは、ロボット自身の持つ制御可能な部分によって外界の移動可能な対象物を動かし、知覚センサによって対象物の置かれている環境と、対象物の動きを知覚して、ロボットの各関節部の動かし方と対象物の動きとの関連を学習し、さらに対象物の動きを予測して、ノベルティ・リワーディングにより対象物を動かすモーションを自己学習することができる(例えば、特許文献1を参照のこと)。
【0008】
しかしながら、リカレント・ニューラル・ネットワークは誤差逆伝播法を用いていることから、学習に時間がかかるという問題がある。
【0009】
また、誤差逆伝播法を用いたリカレント・ニューラル・ネットワークでは、コンテキスト・ユニット(文脈情報)の次元数が本来必要と思われる数以上に非常に多く要する。このため、凡化特性に影響が生じる可能性がある。
【0010】
【特許文献1】特開2002−59384号公報
【非特許文献1】Elman,J.L.著“Finding structure in time”(Cognitive Science,vol.14,1990,pp.179−211)
【発明の開示】
【発明が解決しようとする課題】
【0011】
本発明の目的は、与えられた学習サンプルからは直接知ることのできない情報を自動的に生成することができる、優れた学習装置及び学習方法、並びにコンピュータ・プログラムを提供することにある。
【0012】
本発明のさらなる目的は、マルコフ過程に従わない時系列データを予測学習し、次の時刻における状態値を出力する関数を近似する処理を行なうことができる、優れた学習装置及び学習方法、並びにコンピュータ・プログラムを提供することにある。
【0013】
本発明のさらなる目的は、リカレント・ニューラル・ネットワーク以外の手法により非マルコフ過程の時系列データの予測関数を学習することができる、優れた学習装置及び学習方法、並びにコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【0014】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、ある時刻tに関する状態ztに基づいて次の時刻t+1に関する状態zt+1を予測するための時系列予測関数Fの近似を行なう学習装置であって、各時刻tの状態は当該時刻における学習対象の情報xt及び文脈情報ctからなり、
現在時刻Tに至る各時刻t(但し、t=1…T)の前記学習対象の時系列情報{xt}及び文脈情報の時系列{ct}を過去の状態{zt}として入力するデータ入力手段と、
該入力された過去の状態{zt}を用い、所定の学習アルゴリズムに従って時系列予測関数Fを学習する関数学習手段と、
該学習して得られた時系列予測関数Fと状態の初期値z1を用いて、現在時刻Tに至るまでの各時刻tの学習サンプル{xt}を予測する予測手段と、
前記データ入力手段で入力された各時刻tの学習サンプル{xt}と前記予測手段により生成された各時刻tの学習サンプルの予測値との誤差を算出する誤差計算手段と、
該誤差に基づいて前記関数学習手段による時系列予測関数Fの学習が終了したか否かを判定する判定手段と、
を具備することを特徴とする学習装置である。
【0015】
本発明は、非マルコフ過程の時系列予測関数Fを学習する学習装置に関する。非マルコフ過程の時系列情報の予測関数を学習するために、誤差逆伝播法に基づくリカレント・ニューラル・ネットワークを用いるのが一般的であるが、学習に時間がかかる、文脈情報の次元数が非常に多く凡化特性に影響が生じる可能性がある、といった問題が危惧される。そこで、本発明に係る学習装置では、時系列予測関数Fを学習する学習アルゴリズムとして、連続値関数近似手法を用いる。短時間で大域解へ収束することが保証される連続値関数近似手法の代表例として、Support Vector Regression(以下、SVRとする)を挙げることができる。
【0016】
本発明に係る学習装置は、現在時刻tに関する状態に基づいて次の時刻t+1に関する状態を予測若しくは自動生成するための時系列予測関数Fの近似を行なうものである。ここで、非マルコフ過程である時系列情報に関する時系列予測問題を解決するために、文脈情報を用いている。したがって、ある時刻における状態は、当該時刻における学習サンプルと、同時刻における文脈情報からなる。学習サンプルをn次元、文脈情報をm次元とすると、関数Fは、(n+m)次元入力(n+m)次元出力の時系列予測関数ということになる。
【0017】
このような場合、学習アルゴリズムにより学習する対象は時系列予測関数Fであるが、文脈情報{ct}が未知であるから、関数Fの学習に併せて文脈情報{ct}の推定を行なわなければならない。そこで、本発明では、文脈情報{ct}の推定と関数Fの学習を交互に繰り返し行なうことで、理想的な解に漸近するようにしている。
【0018】
まず、現在時刻Tに至る各時刻t(但し、t=1…T)の前記学習対象の時系列情報{xt}及び文脈情報の時系列{ct}を過去の状態{zt}として入力し、該入力された過去の状態{zt}からSVRの学習アルゴリズムに従って時系列予測関数Fを学習する。
【0019】
続いて、学習結果を評価するために、学習して得られた時系列予測関数Fと状態の初期値z1を用いて、現在時刻Tに至るまでの状態{zt}を予測してみる。そして、実際にデータ入力された各時刻tの学習サンプル{xt}と、学習した時系列予測関数Fを用いて予測される各時刻tの学習サンプルの予測値との誤差eを算出し、この誤差eが閾値以下に収まっているかどうかによって学習が終了したか否かを判定することができる。
【0020】
ここで、学習が終了されていないと判定されたときには、各時刻tの文脈情報{ct}を修正してから、時系列予測関数Fの再学習を行なう。算出された誤差eに基づいて各時刻tの文脈情報{ct}を修正することができる。具体的には、算出された誤差eを文脈情報{ct}で偏微分した結果得られる勾配ベクトルの方向に文脈情報{ct}を変化させて修正することができる。
【0021】
また、本発明の第2の側面は、ある時刻tに関する状態ztに基づいて次の時刻t+1に関する状態zt+1を予測するための時系列予測関数Fの近似を行なうための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、各時刻tの状態は当該時刻における学習対象の情報xt及び文脈情報ctからなり、前記コンピュータ・システムに対し、
現在時刻Tに至る各時刻t(但し、t=1…T)の前記学習対象の時系列情報{xt}及び文脈情報の時系列{ct}を過去の状態{zt}として入力するデータ入力手順と、
該入力された過去の状態を用い、連続値関数近似手法に基づく学習アルゴリズムに従って時系列予測関数Fを学習する関数学習手順と、
該学習して得られた時系列予測関数Fと状態の初期値z1を用いて、現在時刻Tに至るまでの各時刻tの学習サンプル{xt}を予測する予測手順と、
前記データ入力手順で入力された各時刻tの学習サンプル{xt}と前記予測手順において生成された各時刻tの学習サンプルの予測値との誤差を算出する誤差計算手順と、
該誤差に基づいて前記関数学習手順における時系列予測関数Fの学習が終了したか否かを判定する判定手順と、
前記誤差計算手順において算出された誤差に基づいて各時刻tの文脈情報{ct}を修正する文脈修正手順と、
前記判定手順において学習が終了されていないと判定されたときには、前記文脈修正手順において修正された文脈情報を含む各時刻tの状態{zt}を用いて前記関数学習手順における時系列予測関数Fの学習を再度行なわせる繰り返し学習手順と、
を実行させることを特徴とするコンピュータ・プログラムである。
【0022】
本発明の第2の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第2の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第1の側面に係る学習装置と同様の作用効果を得ることができる。
【発明の効果】
【0023】
本発明によれば、与えられた学習サンプルからは直接知ることのできない情報を自動的に生成することができる、優れた学習装置及び学習方法、並びにコンピュータ・プログラムを提供することができる。
【0024】
また、本発明によれば、リカレント・ニューラル・ネットワーク以外の手法により非マルコフ過程の時系列データの予測関数を学習することができる、優れた学習装置及び学習方法、並びにコンピュータ・プログラムを提供することができる。
【0025】
また、本発明によれば、文脈情報を用いて非マルコフ過程の時系列予測問題を解決することができる、優れた学習装置及び学習方法、並びにコンピュータ・プログラムを提供することができる。
【0026】
また、本発明によれば、短時間で大域解への収束が保証されている連続値関数近似手法を用いて非マルコフ過程の時系列データの予測関数を学習することができる、優れた学習装置及び学習方法、並びにコンピュータ・プログラムを提供することができる。
【0027】
本発明に係る学習方法によれば、誤差逆伝播法を用いたリカレント・ニューラル・ネットワークよりも高速に学習を完了させることができ、且つ、より少ない文脈情報の次元数mで学習を収束させることができる。
【0028】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【0029】
以下、図面を参照しながら本発明の実施形態について詳解する。
【0030】
本発明では、非マルコフ過程の時系列情報の予測関数を学習するために、誤差逆伝播法を用いたリカレント・ニューラル・ネットワークに代えて、連続値関数近似手法を用いる。短時間で大域解への収束が保証される連続値関数近似手法の代表例としてSVRを挙げることができる。
【0031】
SVRは、n次元入力1次元出力の実数値関数f:Rn→Rを、下式(1)に示す形で推定する。
【0032】
【数1】

【0033】
ここで、z∈Rnは入力ベクトル、si∈Rnはサポート・ベクタ、K(.)はカーネル関数、bはバイアス項と呼ばれるスカラ値である。
【0034】
SVRの学習アルゴリズムによれば、T個(すなわち、時刻t=1…T)の学習サンプル{(zk,yk)|k=1…T}とカーネル関数K(.)が与えられると、それらをうまく説明することができるsj、θj、及びbを一意に求めることができる。
【0035】
ここで、多次元の時系列情報の予測問題を考える。学習サンプルとして時系列{xt∈Rn|t=1…T}が与えられたとき、下式(2)のように、学習サンプルxをn次元のベクトルとおくことで、n次元入力n次元出力の時系列予測関数F:Rn→RをSVRにより構成することができる。
【0036】
【数2】

【0037】
しかしながら、関数Fはマルコフ過程の時系列情報を予測することはできるが、非マルコフ過程(若しくは2次以上のマルコフ過程)の時系列情報を予測することはできない、という問題がある。
【0038】
非マルコフ過程の時系列予測問題を解決するためによく採られる方法は2つある。1つは時間遅れ入力を用いる方法であり、もう1つは文脈情報を用いる方法である。本実施形態では、後者の文脈情報を用いている。以下、文脈情報を導入するための仕組みについて詳解する。
【0039】
上式(2)で定義される時系列予測関数Fは、現在時刻tにおけるn次元の学習サンプルxtを入力とし、これに基づいて予測される次の時刻t+1におけるn次元の学習サンプルxt+1を出力に持つ。ここでは文脈情報を導入するために、n次元の学習サンプル{xt}とm次元の文脈情報{ct}からなる(n+m)次元の状態{zt}を定義して、学習サンプルを拡張する。そして、関数Fは、現在時刻tに関する状態ztに基づいて次の時刻t+1に関する状態zt+1を予測することとする。したがって、SVRの学習アルゴリズムにより学習すべき関数Fは下式(3)のように表される。
【0040】
【数3】

【0041】
このような場合、学習アルゴリズムにより学習する対象は時系列予測関数Fであるが、文脈情報{ct}が未知であるから、関数Fの学習に併せて文脈情報{ct}の推定を行なわなければならない。そこで、本実施形態では、文脈情報{ct}の推定と関数Fの学習を交互に繰り返し行なうことで、理想的な解に漸近するようにしている。この場合の関数学習並びに文脈情報修正のアルゴリズムは以下の通りとなる。
【0042】
(1)学習対象の時系列情報と文脈情報の時系列を入力する。
ここで、学習対象の時系列情報{xt}はn次元であり、1つ前の学習サンプルのみからは予測できない非マルコフ過程である。また、文脈情報{ct}は未知であることから、初期値としてランダムに生成された値を用いる。後述するように、学習が終了するまで文脈情報の修正を繰り返し行なうが、ここではi番目に生成された文脈情報を{c(i)t}と表記する。文脈情報{ct}はm次元とする(但し、mは任意)。
【0043】
【数4】

【0044】
(2)SVRに基づくアルゴリズムに従って、学習対象の時系列情報{xt}と文脈情報の時系列{c(i)t}からなる(n+m)次元の状態{z(i)t}を予測する時系列予測関数Fを学習する。
【0045】
【数5】

【0046】
(3)学習した関数F:Rn+m→Rn+mと状態の初期値z(i)1を用いて過去の状態{zt}を予測してみる。
【0047】
【数6】

【0048】
(4)予測した学習対象の時系列情報と、実際に与えられた学習対象の時系列情報との誤差を算出する。例えば2乗誤差eを求め、eが閾値以下であれば、学習が終了したと判定する。
【0049】
【数7】

【0050】
(5)予測した学習対象の時系列情報と、実際に与えられた学習対象の時系列情報との誤差eが閾値以内に収まらないときは、文脈情報を修正して関数Fの学習を再度行なう。文脈情報の修正は、算出された誤差eを用いて行なう。
【0051】
【数8】

【0052】
そして、予測した学習対象の時系列情報の誤差が閾値以下に収まるまでは、i←i+1として、文脈情報{ct}の修正と関数Fの学習を交互に繰り返し行なう。
【0053】
上式(8)において、文脈情報{c(i)t}を推定するために、誤差eをi回目の推定値{c(i)t}で偏微分した結果得られる勾配ベクトルの方向に{c(i)t}を変化させている。これは、最急降下法のアプローチと同じである。i回目の繰り返しにおける勾配ベクトルは下式(9)のように表される。
【0054】
【数9】

【0055】
この勾配ベクトルの求め方について、以下に述べる。但し、以後はi回目を仮定して、添え字(i)を省略する(変数iは別の用途で再利用する)。
【0056】
利用するカーネル関数K(.)をガウシアンRBF関数の場合を考える。定義は下式(10)の通りである。
【0057】
【数10】

【0058】
まず、時刻t=T−1における文脈情報cT-1の勾配を考える。cT-1から誤差関数eTまでの順伝播は下式(11)の通りである。
【0059】
【数11】

【0060】
上式において、Mkはk番目の関数fkにおけるサポート・ベクタの数である。さらに、利便性のため、下式(12)のようにおく。
【0061】
【数12】

【0062】
以上より、誤差eTをcT-1の各成分{cT-1|i=1…m}で偏微分すると、次式(13)のようになる。
【0063】
【数13】

【0064】
参考までに、各偏微分は次式(14)の通りである。
【0065】
【数14】

【0066】
以上から、cT-1={cT-1,j|i=1…m}の変更量ΔcT-1,iは下式(15)のようになる。但し、αは任意の学習係数である。
【0067】
【数15】

【0068】
ここまで、最後の時刻における誤差eTに直接影響を与える文脈情報cT-1の変更について考察してきた。{ct|t=1…T−2}においても同様に誤差関数eをctで偏微分していけばよい。但し、時刻tにおける文脈情報ctは時刻t+1の誤差et+1へのみ影響を与えるのではなく、t+1からTにかけてのすべての未来へ影響を与える。このため、変更量Δct,iは下式(16)の通りとなる。
【0069】
【数16】

【0070】
また、文脈情報を変更するアルゴリズムの変更例として、以下が挙げられる。
【0071】
(1)アルゴリズム中のc(i+1)tを求める式を下式(17)とする。
【0072】
【数17】

【0073】
(2)文脈情報{ct}に時間方向の低域通過フィルタをかけると、学習サンプル{xt}と比べて時間スケールの大きな文脈情報を抽出することが可能である。
【0074】
(3)低域通過フィルタの通過周波数を変数毎に変化させて同居させることで、異なる時間スケールの現象を意図的に分離することができる。
【0075】
図1には、本発明の一実施形態に係る学習装置1の機能的構成を示している。同図に示す学習装置1は、入力部11と、初期化部12と、関数近似部13と、予測部14と、誤差計算部15と、判定部16と、文脈修正部17を備えている。学習装置1を専用のハードウェア装置としてデザインしてもよいが、各機能モジュールを実現するためのコンピュータ・プログラムを一般的なコンピュータ・システム上で起動するという形態で構成することも可能である。
【0076】
入力部11は、学習対象となるn次元の時系列情報{xt}を入力する。学習対象は、1つ前の学習サンプルのみからは予測できない非マルコフ過程の時系列情報である。また、初期化部12は、m次元の文脈情報{ct}の初期値をランダムに生成する。
【0077】
入力部11より入力されたn次元の学習データとm次元の文脈データは、(n+m)次元の状態{zt}として関数近似部13に入力される。関数近似部13は、SVRの学習アルゴリズムにより、ある時刻tの状態ztから次の時刻t+1における状態zt+1を予測するための時系列予測関数Fの学習すなわち関数近似を行なう。
【0078】
予測部14は、関数近似された予測関数Fと状態の初期値z(i)1を用いて各時刻tの状態{zt}を予測してみる。
【0079】
誤差計算部15は、予測部14で予測された学習データと、入力部11から実際に入力された学習データとの誤差eを算出する。
【0080】
判定部16は、誤差計算部15で算出された誤差eを閾値と比較し、誤差eが閾値以下であれば学習が終了したと判定する。そして、終了判定時の予測関数Fを学習装置1による学習結果として出力する。
【0081】
予測した学習対象の時系列情報と、実際に与えられた学習対象の時系列情報との誤差eが閾値以内に収まらないときは、文脈修正部17により文脈情報{ct}を修正して、予測関数Fの学習を再度行なう。文脈修正部17は、誤差計算部15により算出された誤差eを用いて文脈情報の修正を行なう。具体的には、算出された誤差eを文脈情報{ct}で偏微分した結果得られる勾配ベクトルの方向に文脈情報{ct}を変化させて修正する(前述)。そして、予測した学習対象の時系列情報の誤差が閾値以下に収まるまでは、文脈情報{ct}の修正と関数Fの学習を交互に繰り返し行なう。
【0082】
図2には、学習装置1が文脈情報の修正を行ないながら時系列予測関数Fの学習を行なうための処理手順をフローチャートの形式で示している。以下、同図を参照しながら処理手順について説明する。
【0083】
まず、入力部11から学習データを入力するとともに、初期化部12により文脈データの初期値を生成する(ステップS1)。
【0084】
次いで、関数近似部13は、学習データと文脈データを参照して、予測関数Fを生成すなわち関数近似する(ステップS2)。
【0085】
次いで、予測部14は、学習データの初期値を用い、生成された予測関数Fに従って学習データの予測を行なってみる(ステップS3)。
【0086】
次いで、誤差計算部15は、予測関数Fを用いて予測された学習データと、実際に入力部11から入力された学習データとの差分を計算し、予測誤差を算出する(ステップS4)。
【0087】
この誤差計算結果は判定部16に入力される。判定部16では、算出された誤差に基づいて、関数近似部13により生成された予測関数の近似が十分であるかどうかを判定する(ステップS5)。
【0088】
ここで、判定部16で終了判定を出せば、当該学習は終了する。
【0089】
一方、終了判定を出さないときには、文脈修正部17が誤差に従って文脈データを修正する(ステップS6)。そして、ステップS1に戻って、予測関数Fの学習を再度行なう。予測した学習対象の時系列情報の誤差が閾値以下に収まるまでは、文脈情報{ct}の修正と関数Fの学習を交互に繰り返し行なう。
【0090】
最後に、本実施形態に係る学習メカニズムを正弦波の時系列予測に適用した実験例について説明する。
【0091】
図3には、このときの学習サンプル{xt∈R|t=1…60}を示している。横軸が時間tであり、縦軸が値xtである。図示の学習サンプルは3周期分の正弦波で構成される。
【0092】
図4には、学習前の初期状態を示している。同図の上段では、図3に示したと同様の3周期分の正弦波からなる学習サンプル{xt∈R|t=1…60}と、各時刻tにおいてランダムに生成された文脈情報の初期値{c(1)t∈R|t=1…60}が示されている。また、同図の下段では、予測された学習サンプルの時系列値と、予測された文脈情報が示されている。
【0093】
第1回目の文脈情報{ct}の推定と関数Fの学習では、文脈情報{c(1)t}がランダムであるため、図示のように、予測された学習データの予測値は実際に入力された学習データとは異なったものとなっている。文脈情報{ct}の推定と関数Fの学習を交互に繰り返し行なう目的は、この2つの時系列値を同じようにすることにある。
【0094】
図5には、文脈情報{ct}の推定と関数Fの学習を交互に繰り返し行なうことにより、予測関数Fの学習が収束していく様子を示している。同図に示すように、文脈情報{c(i)t}は、学習サンプル{xt}と半位相だけずれた同一周期の波形となっている。
【0095】
同図の上から2段目では、学習サンプルの予測値が実際の学習サンプル{xt}と同一の波形になっていることを示している。しかも、学習されていない時刻t=61以降も、続けて正弦波を予測し続けていることが分かる。
【0096】
また、同図の上から3段目では、学習サンプルの予測値にノイズを付加しながら関数Fを予測させた結果を示している。ノイズを付加しないと同じように、学習サンプルと同一の波形に引き込まれていることが分かる。
【0097】
また、同図の上から4段目では、横軸にステップ数を、縦軸にRMSE(Root Mean Squared Error)をとった学習曲線を示している。同図では、10回で学習が収束していることが分かる。
【0098】
上述したように、本発明に係る学習方法は、短時間で大域解への収束が保証されている連続値関数近似手法に従い、文脈情報を用いて非マルコフ過程の時系列データの予測関数を学習することができる。その際、誤差逆伝播法を用いたリカレント・ニューラル・ネットワークよりも高速に学習を完了させることができ、且つ、より少ない文脈情報の次元数mで学習を収束させることができるという点を十分に理解されたい。
【産業上の利用可能性】
【0099】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【0100】
本明細書では、主にSVRに従って予測関数Fの学習を行なう実施形態を中心に説明してきたが、本発明の要旨はこれに限定されるものではない。例えばSVR以外の連続値関数近似手法に基づく学習アルゴリズムや、それ以外の学習アルゴリズムを適用する学習装置に対しても、同様に本発明を適用することができる。
【0101】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【図面の簡単な説明】
【0102】
【図1】図1は、本発明の一実施形態に係る学習装置1の機能的構成を示した図である。
【図2】図2は、学習装置1が文脈情報の修正を行ないながら時系列予測関数Fの学習を行なうための処理手順示したフローチャートである。
【図3】図3は、本発明に係る学習メカニズムを正弦波の時系列予測に適用した実験例を説明するための図である。
【図4】図4は、本発明に係る学習メカニズムを正弦波の時系列予測に適用した実験例を説明するための図である。
【図5】図5は、本発明に係る学習メカニズムを正弦波の時系列予測に適用した実験例を説明するための図である。
【符号の説明】
【0103】
1…学習装置
11…入力部
12…初期化部
13…関数近似部
14…予測部
15…誤差計算部
16…判定部
17…文脈修正部

【特許請求の範囲】
【請求項1】
ある時刻tに関する状態ztに基づいて次の時刻t+1に関する状態zt+1を予測するための時系列予測関数Fの近似を行なう学習装置であって、各時刻tの状態は当該時刻における学習対象の情報xt及び文脈情報ctからなり、
現在時刻Tに至る各時刻t(但し、t=1…T)の前記学習対象の時系列情報{xt}及び文脈情報の時系列{ct}を過去の状態{zt}として入力するデータ入力手段と、
該入力された過去の状態{zt}を用い、所定の学習アルゴリズムに従って時系列予測関数Fを学習する関数学習手段と、
該学習して得られた時系列予測関数Fと状態の初期値z1を用いて、現在時刻Tに至るまでの各時刻tの学習サンプル{xt}を予測する予測手段と、
前記データ入力手段で入力された各時刻tの学習サンプル{xt}と前記予測手段により生成された各時刻tの学習サンプルの予測値との誤差を算出する誤差計算手段と、
該誤差に基づいて前記関数学習手段による時系列予測関数Fの学習が終了したか否かを判定する判定手段と、
を具備することを特徴とする学習装置。
【請求項2】
前記関数学習手段は、非マルコフ過程の時系列情報を予測する時系列予測関数Fを学習する、
ことを特徴とする請求項1に記載の学習装置。
【請求項3】
前記関数学習手段は、連続値関数近似手法に基づく学習アルゴリズムに従って時系列予測関数Fを学習する、
ことを特徴とする請求項1に記載の学習装置。
【請求項4】
前記関数学習手段は、Support Vector Regressionに基づく学習アルゴリズムに従って時系列予測関数Fを学習する、
ことを特徴とする請求項3に記載の学習装置。
【請求項5】
前記データ入力手段は、現在時刻Tに至るまでの文脈情報の時系列{ct}をランダムに生成し、又はランダムに生成された文脈情報の時系列{ct}を入力する、
ことを特徴とする請求項1に記載の学習装置。
【請求項6】
前記誤差計算手段により算出された誤差に基づいて各時刻tの文脈情報{ct}を修正する文脈修正手段をさらに備え、
前記判定手段により学習が終了されていないと判定されたときには、前記文脈修正手段により修正された文脈情報を含む各時刻tの状態{zt}を前記関数学習手段に与えて、時系列予測関数Fの再学習を行なう、
ことを特徴とする請求項1に記載の学習装置。
【請求項7】
前記文脈修正手段は、前記誤差計算手段により算出された誤差eを文脈情報{ct}で偏微分した結果得られる勾配ベクトルの方向に文脈情報{ct}を変化させて修正する、
ことを特徴とする請求項6に記載の学習装置。
【請求項8】
ある時刻tに関する状態ztに基づいて次の時刻t+1に関する状態zt+1を予測するための時系列予測関数Fの近似を行なう学習方法であって、各時刻tの状態は当該時刻における学習対象の情報xt及び文脈情報ctからなり、
現在時刻Tに至る各時刻t(但し、t=1…T)の前記学習対象の時系列情報{xt}及び文脈情報の時系列{ct}を過去の状態{zt}として入力するデータ入力ステップと、
該入力された過去の状態{zt}を用い、連続値関数近似手法に基づく学習アルゴリズムに従って時系列予測関数Fを学習する関数学習ステップと、
該学習して得られた時系列予測関数Fと状態の初期値z1を用いて、現在時刻Tに至るまでの各時刻tの学習サンプル{xt}を予測する予測ステップと、
前記データ入力ステップで入力された各時刻tの学習サンプル{xt}と前記予測ステップにおいて生成された各時刻tの学習サンプルの予測値との誤差を算出する誤差計算ステップと、
該誤差に基づいて前記関数学習ステップにおける時系列予測関数Fの学習が終了したか否かを判定する判定ステップと、
前記誤差計算ステップにおいて算出された誤差に基づいて各時刻tの文脈情報{ct}を修正する文脈修正ステップを備え、
前記判定ステップにおいて学習が終了されていないと判定されたときには、前記文脈修正ステップにおいて修正された文脈情報を含む各時刻tの状態{zt}を用いて前記関数学習ステップにおける時系列予測関数Fの学習を再度行なう、
ことを特徴とする学習方法。
【請求項9】
ある時刻tに関する状態ztに基づいて次の時刻t+1に関する状態zt+1を予測するための時系列予測関数Fの近似を行なうための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、各時刻tの状態は当該時刻における学習対象の情報xt及び文脈情報ctからなり、前記コンピュータ・システムに対し、
現在時刻Tに至る各時刻t(但し、t=1…T)の前記学習対象の時系列情報{xt}及び文脈情報の時系列{ct}を過去の状態{zt}として入力するデータ入力手順と、
該入力された過去の状態を用い、連続値関数近似手法に基づく学習アルゴリズムに従って時系列予測関数Fを学習する関数学習手順と、
該学習して得られた時系列予測関数Fと状態の初期値z1を用いて、現在時刻Tに至るまでの各時刻tの学習サンプル{xt}を予測する予測手順と、
前記データ入力手順で入力された各時刻tの学習サンプル{xt}と前記予測手順において生成された各時刻tの学習サンプルの予測値との誤差を算出する誤差計算手順と、
該誤差に基づいて前記関数学習手順における時系列予測関数Fの学習が終了したか否かを判定する判定手順と、
前記誤差計算手順において算出された誤差に基づいて各時刻tの文脈情報{ct}を修正する文脈修正手順と、
前記判定手順において学習が終了されていないと判定されたときには、前記文脈修正手順において修正された文脈情報を含む各時刻tの状態{zt}を用いて前記関数学習手順における時系列予測関数Fの学習を再度行なわせる繰り返し学習手順と、
を実行させることを特徴とするコンピュータ・プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2006−318319(P2006−318319A)
【公開日】平成18年11月24日(2006.11.24)
【国際特許分類】
【出願番号】特願2005−141957(P2005−141957)
【出願日】平成17年5月13日(2005.5.13)
【出願人】(000002185)ソニー株式会社 (34,172)