(57)【要約】【課題】  短時間で大域解への収束が保証されている連続値関数近似手法を用いて非マルコフ過程の時系列データの予測関数を学習する。【解決手段】  非マルコフ過程の時系列を予測するために、関数Ｆはｎ次元の学習サンプル｛ｘt｝にｍ次元の文脈情報｛ｃt｝を加えた（ｎ＋ｍ）次元の状態｛ｚt｝を時系列情報として扱う。学習対象が関数Ｆである一方、文脈情報｛ｃt｝が未知であるから、文脈情報｛ｃt｝の推定と関数Ｆの学習を交互に繰り返し行ない、理想的な解に漸近するようにする。学習した関数Ｆを用いて学習サンプルを予測し、予測値と実際に入力した学習サンプルとの誤差から学習の終了判定を行なう。【選択図】  図１
2006318319.tif 000002
【特許請求の範囲】
【請求項１】
ある時刻ｔに関する状態ｚtに基づいて次の時刻ｔ＋１に関する状態ｚt+1を予測するための時系列予測関数Ｆの近似を行なう学習装置であって、各時刻ｔの状態は当該時刻における学習対象の情報ｘt及び文脈情報ｃtからなり、
現在時刻Ｔに至る各時刻ｔ（但し、ｔ＝１…Ｔ）の前記学習対象の時系列情報｛ｘt｝及び文脈情報の時系列｛ｃt｝を過去の状態｛ｚt｝として入力するデータ入力手段と、
該入力された過去の状態｛ｚt｝を用い、所定の学習アルゴリズムに従って時系列予測関数Ｆを学習する関数学習手段と、
該学習して得られた時系列予測関数Ｆと状態の初期値ｚ1を用いて、現在時刻Ｔに至るまでの各時刻ｔの学習サンプル｛ｘt｝を予測する予測手段と、
前記データ入力手段で入力された各時刻ｔの学習サンプル｛ｘt｝と前記予測手段により生成された各時刻ｔの学習サンプルの予測値との誤差を算出する誤差計算手段と、
該誤差に基づいて前記関数学習手段による時系列予測関数Ｆの学習が終了したか否かを判定する判定手段と、
を具備することを特徴とする学習装置。
【請求項２】
前記関数学習手段は、非マルコフ過程の時系列情報を予測する時系列予測関数Ｆを学習する、
ことを特徴とする請求項１に記載の学習装置。
【請求項３】
前記関数学習手段は、連続値関数近似手法に基づく学習アルゴリズムに従って時系列予測関数Ｆを学習する、
ことを特徴とする請求項１に記載の学習装置。
【請求項４】
前記関数学習手段は、Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｒｅｇｒｅｓｓｉｏｎに基づく学習アルゴリズムに従って時系列予測関数Ｆを学習する、
ことを特徴とする請求項３に記載の学習装置。
【請求項５】
前記データ入力手段は、現在時刻Ｔに至るまでの文脈情報の時系列｛ｃt｝をランダムに生成し、又はランダムに生成された文脈情報の時系列｛ｃt｝を入力する、
ことを特徴とする請求項１に記載の学習装置。
【請求項６】
前記誤差計算手段により算出された誤差に基づいて各時刻ｔの文脈情報｛ｃt｝を修正する文脈修正手段をさらに備え、
前記判定手段により学習が終了されていないと判定されたときには、前記文脈修正手段により修正された文脈情報を含む各時刻ｔの状態｛ｚt｝を前記関数学習手段に与えて、時系列予測関数Ｆの再学習を行なう、
ことを特徴とする請求項１に記載の学習装置。
【請求項７】
前記文脈修正手段は、前記誤差計算手段により算出された誤差ｅを文脈情報｛ｃt｝で偏微分した結果得られる勾配ベクトルの方向に文脈情報｛ｃt｝を変化させて修正する、
ことを特徴とする請求項６に記載の学習装置。
【請求項８】
ある時刻ｔに関する状態ｚtに基づいて次の時刻ｔ＋１に関する状態ｚt+1を予測するための時系列予測関数Ｆの近似を行なう学習方法であって、各時刻ｔの状態は当該時刻における学習対象の情報ｘt及び文脈情報ｃtからなり、
現在時刻Ｔに至る各時刻ｔ（但し、ｔ＝１…Ｔ）の前記学習対象の時系列情報｛ｘt｝及び文脈情報の時系列｛ｃt｝を過去の状態｛ｚt｝として入力するデータ入力ステップと、
該入力された過去の状態｛ｚt｝を用い、連続値関数近似手法に基づく学習アルゴリズムに従って時系列予測関数Ｆを学習する関数学習ステップと、
該学習して得られた時系列予測関数Ｆと状態の初期値ｚ1を用いて、現在時刻Ｔに至るまでの各時刻ｔの学習サンプル｛ｘt｝を予測する予測ステップと、
前記データ入力ステップで入力された各時刻ｔの学習サンプル｛ｘt｝と前記予測ステップにおいて生成された各時刻ｔの学習サンプルの予測値との誤差を算出する誤差計算ステップと、
該誤差に基づいて前記関数学習ステップにおける時系列予測関数Ｆの学習が終了したか否かを判定する判定ステップと、
前記誤差計算ステップにおいて算出された誤差に基づいて各時刻ｔの文脈情報｛ｃt｝を修正する文脈修正ステップを備え、
前記判定ステップにおいて学習が終了されていないと判定されたときには、前記文脈修正ステップにおいて修正された文脈情報を含む各時刻ｔの状態｛ｚt｝を用いて前記関数学習ステップにおける時系列予測関数Ｆの学習を再度行なう、
ことを特徴とする学習方法。
【請求項９】
ある時刻ｔに関する状態ｚtに基づいて次の時刻ｔ＋１に関する状態ｚt+1を予測するための時系列予測関数Ｆの近似を行なうための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、各時刻ｔの状態は当該時刻における学習対象の情報ｘt及び文脈情報ｃtからなり、前記コンピュータ・システムに対し、
現在時刻Ｔに至る各時刻ｔ（但し、ｔ＝１…Ｔ）の前記学習対象の時系列情報｛ｘt｝及び文脈情報の時系列｛ｃt｝を過去の状態｛ｚt｝として入力するデータ入力手順と、
該入力された過去の状態を用い、連続値関数近似手法に基づく学習アルゴリズムに従って時系列予測関数Ｆを学習する関数学習手順と、
該学習して得られた時系列予測関数Ｆと状態の初期値ｚ1を用いて、現在時刻Ｔに至るまでの各時刻ｔの学習サンプル｛ｘt｝を予測する予測手順と、
前記データ入力手順で入力された各時刻ｔの学習サンプル｛ｘt｝と前記予測手順において生成された各時刻ｔの学習サンプルの予測値との誤差を算出する誤差計算手順と、
該誤差に基づいて前記関数学習手順における時系列予測関数Ｆの学習が終了したか否かを判定する判定手順と、
前記誤差計算手順において算出された誤差に基づいて各時刻ｔの文脈情報｛ｃt｝を修正する文脈修正手順と、
前記判定手順において学習が終了されていないと判定されたときには、前記文脈修正手順において修正された文脈情報を含む各時刻ｔの状態｛ｚt｝を用いて前記関数学習手順における時系列予測関数Ｆの学習を再度行なわせる繰り返し学習手順と、
を実行させることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、過去から現在に至る状態値からなる時系列データを引数として次の時刻における状態値を出力するための関数を近似する処理を行なう学習装置及び学習方法、並びにコンピュータ・プログラムに係り、特に、与えられた学習サンプルからは直接知ることのできない情報を自動的に生成する学習装置及び学習方法、並びにコンピュータ・プログラムに関する。
【０００２】
さらに詳しくは、本発明は、マルコフ過程に従わない時系列データを予測学習し次の時刻における状態値を出力するための関数を近似する処理を行なう学習装置及び学習方法、並びにコンピュータ・プログラムに係り、特に、リカレント・ニューラル・ネットワーク以外の手法により非マルコフ過程の時系列データの予測関数を学習する学習装置及び学習方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００３】
例えば、人間は同じような出来事を重ねて経験したり、同じような事実を繰り返し観測したりすると、また似たようなことが起こるのではないかと予測したり、何かこれを支配している既存が存在するのではないかと推測する。このように、過去の経験の上に立って新しい知識や技術を習得することを「学習」と言う。
【０００４】
情報技術（ＩＴ）が発展した昨今においては、このような学習のメカニズムをコンピュータ・システム上で実現する研究開発が広く行なわれている。例えば、現在時刻までの状態値を入力として学習を行ない、この学習結果を基に次の時刻における状態値を推測若しくは自動生成する。すなわち、学習器は、過去から現在に至る状態値からなる時系列データを引数として、次の時刻における状態値を出力する関数を近似する処理を行なっていることと等価である。
【０００５】
学習器の多くは、過去の履歴とは関係なく、現在の状態のみから未来の確率法則が決定される、というマルコフ過程のモデルを作成して学習を行なう。ところが、学習対象すなわち近似すべき関数がマルコフ過程に従わない（若しくは、２次以上のマルコフ過程である）場合がある。例えば、正弦波は、現在の状態値が同じ値であっても、将来は増加傾向をとる場合と逆に減少傾向をとる場合の２通りがあり、現在の状態のみから未来の状態を自動生成することはできない。
【０００６】
このような非マルコフ過程に関しては、予測学習を行なうより他ないと思料される。非マルコフ過程を予測学習する学習メカニズムの代表例として、リカレント・ニューラル・ネットワーク（Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ：再帰的ニューラル・ネットワーク）を挙げることができる（例えば、非特許文献１を参照のこと）。
【０００７】
例えば、学習機構としてリカレント・ニューラル・ネットワークを備えたロボットは、ロボット自身の持つ制御可能な部分によって外界の移動可能な対象物を動かし、知覚センサによって対象物の置かれている環境と、対象物の動きを知覚して、ロボットの各関節部の動かし方と対象物の動きとの関連を学習し、さらに対象物の動きを予測して、ノベルティ・リワーディングにより対象物を動かすモーションを自己学習することができる（例えば、特許文献１を参照のこと）。
【０００８】
しかしながら、リカレント・ニューラル・ネットワークは誤差逆伝播法を用いていることから、学習に時間がかかるという問題がある。
【０００９】
また、誤差逆伝播法を用いたリカレント・ニューラル・ネットワークでは、コンテキスト・ユニット（文脈情報）の次元数が本来必要と思われる数以上に非常に多く要する。このため、凡化特性に影響が生じる可能性がある。
【００１０】
【特許文献１】特開２００２−５９３８４号公報
【非特許文献１】Ｅｌｍａｎ，Ｊ．Ｌ．著“Ｆｉｎｄｉｎｇ  ｓｔｒｕｃｔｕｒｅ  ｉｎ  ｔｉｍｅ”（Ｃｏｇｎｉｔｉｖｅ  Ｓｃｉｅｎｃｅ，ｖｏｌ．１４，１９９０，ｐｐ．１７９−２１１）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明の目的は、与えられた学習サンプルからは直接知ることのできない情報を自動的に生成することができる、優れた学習装置及び学習方法、並びにコンピュータ・プログラムを提供することにある。
【００１２】
本発明のさらなる目的は、マルコフ過程に従わない時系列データを予測学習し、次の時刻における状態値を出力する関数を近似する処理を行なうことができる、優れた学習装置及び学習方法、並びにコンピュータ・プログラムを提供することにある。
【００１３】
本発明のさらなる目的は、リカレント・ニューラル・ネットワーク以外の手法により非マルコフ過程の時系列データの予測関数を学習することができる、優れた学習装置及び学習方法、並びにコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【００１４】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、ある時刻ｔに関する状態ｚtに基づいて次の時刻ｔ＋１に関する状態ｚt+1を予測するための時系列予測関数Ｆの近似を行なう学習装置であって、各時刻ｔの状態は当該時刻における学習対象の情報ｘt及び文脈情報ｃtからなり、
現在時刻Ｔに至る各時刻ｔ（但し、ｔ＝１…Ｔ）の前記学習対象の時系列情報｛ｘt｝及び文脈情報の時系列｛ｃt｝を過去の状態｛ｚt｝として入力するデータ入力手段と、
該入力された過去の状態｛ｚt｝を用い、所定の学習アルゴリズムに従って時系列予測関数Ｆを学習する関数学習手段と、
該学習して得られた時系列予測関数Ｆと状態の初期値ｚ1を用いて、現在時刻Ｔに至るまでの各時刻ｔの学習サンプル｛ｘt｝を予測する予測手段と、
前記データ入力手段で入力された各時刻ｔの学習サンプル｛ｘt｝と前記予測手段により生成された各時刻ｔの学習サンプルの予測値との誤差を算出する誤差計算手段と、
該誤差に基づいて前記関数学習手段による時系列予測関数Ｆの学習が終了したか否かを判定する判定手段と、
を具備することを特徴とする学習装置である。
【００１５】
本発明は、非マルコフ過程の時系列予測関数Ｆを学習する学習装置に関する。非マルコフ過程の時系列情報の予測関数を学習するために、誤差逆伝播法に基づくリカレント・ニューラル・ネットワークを用いるのが一般的であるが、学習に時間がかかる、文脈情報の次元数が非常に多く凡化特性に影響が生じる可能性がある、といった問題が危惧される。そこで、本発明に係る学習装置では、時系列予測関数Ｆを学習する学習アルゴリズムとして、連続値関数近似手法を用いる。短時間で大域解へ収束することが保証される連続値関数近似手法の代表例として、Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｒｅｇｒｅｓｓｉｏｎ（以下、ＳＶＲとする）を挙げることができる。
【００１６】
本発明に係る学習装置は、現在時刻ｔに関する状態に基づいて次の時刻ｔ＋１に関する状態を予測若しくは自動生成するための時系列予測関数Ｆの近似を行なうものである。ここで、非マルコフ過程である時系列情報に関する時系列予測問題を解決するために、文脈情報を用いている。したがって、ある時刻における状態は、当該時刻における学習サンプルと、同時刻における文脈情報からなる。学習サンプルをｎ次元、文脈情報をｍ次元とすると、関数Ｆは、（ｎ＋ｍ）次元入力（ｎ＋ｍ）次元出力の時系列予測関数ということになる。
【００１７】
このような場合、学習アルゴリズムにより学習する対象は時系列予測関数Ｆであるが、文脈情報｛ｃt｝が未知であるから、関数Ｆの学習に併せて文脈情報｛ｃt｝の推定を行なわなければならない。そこで、本発明では、文脈情報｛ｃt｝の推定と関数Ｆの学習を交互に繰り返し行なうことで、理想的な解に漸近するようにしている。
【００１８】
まず、現在時刻Ｔに至る各時刻ｔ（但し、ｔ＝１…Ｔ）の前記学習対象の時系列情報｛ｘt｝及び文脈情報の時系列｛ｃt｝を過去の状態｛ｚt｝として入力し、該入力された過去の状態｛ｚt｝からＳＶＲの学習アルゴリズムに従って時系列予測関数Ｆを学習する。
【００１９】
続いて、学習結果を評価するために、学習して得られた時系列予測関数Ｆと状態の初期値ｚ1を用いて、現在時刻Ｔに至るまでの状態｛ｚt｝を予測してみる。そして、実際にデータ入力された各時刻ｔの学習サンプル｛ｘt｝と、学習した時系列予測関数Ｆを用いて予測される各時刻ｔの学習サンプルの予測値との誤差ｅを算出し、この誤差ｅが閾値以下に収まっているかどうかによって学習が終了したか否かを判定することができる。
【００２０】
ここで、学習が終了されていないと判定されたときには、各時刻ｔの文脈情報｛ｃt｝を修正してから、時系列予測関数Ｆの再学習を行なう。算出された誤差ｅに基づいて各時刻ｔの文脈情報｛ｃt｝を修正することができる。具体的には、算出された誤差ｅを文脈情報｛ｃt｝で偏微分した結果得られる勾配ベクトルの方向に文脈情報｛ｃt｝を変化させて修正することができる。
【００２１】
また、本発明の第２の側面は、ある時刻ｔに関する状態ｚtに基づいて次の時刻ｔ＋１に関する状態ｚt+1を予測するための時系列予測関数Ｆの近似を行なうための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、各時刻ｔの状態は当該時刻における学習対象の情報ｘt及び文脈情報ｃtからなり、前記コンピュータ・システムに対し、
現在時刻Ｔに至る各時刻ｔ（但し、ｔ＝１…Ｔ）の前記学習対象の時系列情報｛ｘt｝及び文脈情報の時系列｛ｃt｝を過去の状態｛ｚt｝として入力するデータ入力手順と、
該入力された過去の状態を用い、連続値関数近似手法に基づく学習アルゴリズムに従って時系列予測関数Ｆを学習する関数学習手順と、
該学習して得られた時系列予測関数Ｆと状態の初期値ｚ1を用いて、現在時刻Ｔに至るまでの各時刻ｔの学習サンプル｛ｘt｝を予測する予測手順と、
前記データ入力手順で入力された各時刻ｔの学習サンプル｛ｘt｝と前記予測手順において生成された各時刻ｔの学習サンプルの予測値との誤差を算出する誤差計算手順と、
該誤差に基づいて前記関数学習手順における時系列予測関数Ｆの学習が終了したか否かを判定する判定手順と、
前記誤差計算手順において算出された誤差に基づいて各時刻ｔの文脈情報｛ｃt｝を修正する文脈修正手順と、
前記判定手順において学習が終了されていないと判定されたときには、前記文脈修正手順において修正された文脈情報を含む各時刻ｔの状態｛ｚt｝を用いて前記関数学習手順における時系列予測関数Ｆの学習を再度行なわせる繰り返し学習手順と、
を実行させることを特徴とするコンピュータ・プログラムである。
【００２２】
本発明の第２の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第２の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第１の側面に係る学習装置と同様の作用効果を得ることができる。
【発明の効果】
【００２３】
本発明によれば、与えられた学習サンプルからは直接知ることのできない情報を自動的に生成することができる、優れた学習装置及び学習方法、並びにコンピュータ・プログラムを提供することができる。
【００２４】
また、本発明によれば、リカレント・ニューラル・ネットワーク以外の手法により非マルコフ過程の時系列データの予測関数を学習することができる、優れた学習装置及び学習方法、並びにコンピュータ・プログラムを提供することができる。
【００２５】
また、本発明によれば、文脈情報を用いて非マルコフ過程の時系列予測問題を解決することができる、優れた学習装置及び学習方法、並びにコンピュータ・プログラムを提供することができる。
【００２６】
また、本発明によれば、短時間で大域解への収束が保証されている連続値関数近似手法を用いて非マルコフ過程の時系列データの予測関数を学習することができる、優れた学習装置及び学習方法、並びにコンピュータ・プログラムを提供することができる。
【００２７】
本発明に係る学習方法によれば、誤差逆伝播法を用いたリカレント・ニューラル・ネットワークよりも高速に学習を完了させることができ、且つ、より少ない文脈情報の次元数ｍで学習を収束させることができる。
【００２８】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００２９】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００３０】
本発明では、非マルコフ過程の時系列情報の予測関数を学習するために、誤差逆伝播法を用いたリカレント・ニューラル・ネットワークに代えて、連続値関数近似手法を用いる。短時間で大域解への収束が保証される連続値関数近似手法の代表例としてＳＶＲを挙げることができる。
【００３１】
ＳＶＲは、ｎ次元入力１次元出力の実数値関数ｆ：Ｒn→Ｒを、下式（１）に示す形で推定する。
【００３２】
【数１】
2006318319.tif 000003
【００３３】
ここで、ｚ∈Ｒnは入力ベクトル、ｓi∈Ｒnはサポート・ベクタ、Ｋ（．）はカーネル関数、ｂはバイアス項と呼ばれるスカラ値である。
【００３４】
ＳＶＲの学習アルゴリズムによれば、Ｔ個（すなわち、時刻ｔ＝１…Ｔ）の学習サンプル｛（ｚk，ｙk）｜ｋ＝１…Ｔ｝とカーネル関数Ｋ（．）が与えられると、それらをうまく説明することができるｓj、θj、及びｂを一意に求めることができる。
【００３５】
ここで、多次元の時系列情報の予測問題を考える。学習サンプルとして時系列｛ｘt∈Ｒn｜ｔ＝１…Ｔ｝が与えられたとき、下式（２）のように、学習サンプルｘをｎ次元のベクトルとおくことで、ｎ次元入力ｎ次元出力の時系列予測関数Ｆ：Ｒn→ＲをＳＶＲにより構成することができる。
【００３６】
【数２】
2006318319.tif 000004
【００３７】
しかしながら、関数Ｆはマルコフ過程の時系列情報を予測することはできるが、非マルコフ過程（若しくは２次以上のマルコフ過程）の時系列情報を予測することはできない、という問題がある。
【００３８】
非マルコフ過程の時系列予測問題を解決するためによく採られる方法は２つある。１つは時間遅れ入力を用いる方法であり、もう１つは文脈情報を用いる方法である。本実施形態では、後者の文脈情報を用いている。以下、文脈情報を導入するための仕組みについて詳解する。
【００３９】
上式（２）で定義される時系列予測関数Ｆは、現在時刻ｔにおけるｎ次元の学習サンプルｘtを入力とし、これに基づいて予測される次の時刻ｔ＋１におけるｎ次元の学習サンプルｘt+1を出力に持つ。ここでは文脈情報を導入するために、ｎ次元の学習サンプル｛ｘt｝とｍ次元の文脈情報｛ｃt｝からなる（ｎ＋ｍ）次元の状態｛ｚt｝を定義して、学習サンプルを拡張する。そして、関数Ｆは、現在時刻ｔに関する状態ｚtに基づいて次の時刻ｔ＋１に関する状態ｚt+1を予測することとする。したがって、ＳＶＲの学習アルゴリズムにより学習すべき関数Ｆは下式（３）のように表される。
【００４０】
【数３】
2006318319.tif 000005
【００４１】
このような場合、学習アルゴリズムにより学習する対象は時系列予測関数Ｆであるが、文脈情報｛ｃt｝が未知であるから、関数Ｆの学習に併せて文脈情報｛ｃt｝の推定を行なわなければならない。そこで、本実施形態では、文脈情報｛ｃt｝の推定と関数Ｆの学習を交互に繰り返し行なうことで、理想的な解に漸近するようにしている。この場合の関数学習並びに文脈情報修正のアルゴリズムは以下の通りとなる。
【００４２】
（１）学習対象の時系列情報と文脈情報の時系列を入力する。
ここで、学習対象の時系列情報｛ｘt｝はｎ次元であり、１つ前の学習サンプルのみからは予測できない非マルコフ過程である。また、文脈情報｛ｃt｝は未知であることから、初期値としてランダムに生成された値を用いる。後述するように、学習が終了するまで文脈情報の修正を繰り返し行なうが、ここではｉ番目に生成された文脈情報を｛ｃ(i)t｝と表記する。文脈情報｛ｃt｝はｍ次元とする（但し、ｍは任意）。
【００４３】
【数４】
2006318319.tif 000006
【００４４】
（２）ＳＶＲに基づくアルゴリズムに従って、学習対象の時系列情報｛ｘt｝と文脈情報の時系列｛ｃ(i)t｝からなる（ｎ＋ｍ）次元の状態｛ｚ(i)t｝を予測する時系列予測関数Ｆを学習する。
【００４５】
【数５】
2006318319.tif 000007
【００４６】
（３）学習した関数Ｆ：Ｒn+m→Ｒn+mと状態の初期値ｚ(i)1を用いて過去の状態｛ｚt｝を予測してみる。
【００４７】
【数６】
2006318319.tif 000008
【００４８】
（４）予測した学習対象の時系列情報と、実際に与えられた学習対象の時系列情報との誤差を算出する。例えば２乗誤差ｅを求め、ｅが閾値以下であれば、学習が終了したと判定する。
【００４９】
【数７】
2006318319.tif 000009
【００５０】
（５）予測した学習対象の時系列情報と、実際に与えられた学習対象の時系列情報との誤差ｅが閾値以内に収まらないときは、文脈情報を修正して関数Ｆの学習を再度行なう。文脈情報の修正は、算出された誤差ｅを用いて行なう。
【００５１】
【数８】
2006318319.tif 000010
【００５２】
そして、予測した学習対象の時系列情報の誤差が閾値以下に収まるまでは、ｉ←ｉ＋１として、文脈情報｛ｃt｝の修正と関数Ｆの学習を交互に繰り返し行なう。
【００５３】
上式（８）において、文脈情報｛ｃ(i)t｝を推定するために、誤差ｅをｉ回目の推定値｛ｃ(i)t｝で偏微分した結果得られる勾配ベクトルの方向に｛ｃ(i)t｝を変化させている。これは、最急降下法のアプローチと同じである。ｉ回目の繰り返しにおける勾配ベクトルは下式（９）のように表される。
【００５４】
【数９】
2006318319.tif 000011
【００５５】
この勾配ベクトルの求め方について、以下に述べる。但し、以後はｉ回目を仮定して、添え字（ｉ）を省略する（変数ｉは別の用途で再利用する）。
【００５６】
利用するカーネル関数Ｋ（．）をガウシアンＲＢＦ関数の場合を考える。定義は下式（１０）の通りである。
【００５７】
【数１０】
2006318319.tif 000012
【００５８】
まず、時刻ｔ＝Ｔ−１における文脈情報ｃT-1の勾配を考える。ｃT-1から誤差関数ｅTまでの順伝播は下式（１１）の通りである。
【００５９】
【数１１】
2006318319.tif 000013
【００６０】
上式において、Ｍkはｋ番目の関数ｆkにおけるサポート・ベクタの数である。さらに、利便性のため、下式（１２）のようにおく。
【００６１】
【数１２】
2006318319.tif 000014
【００６２】
以上より、誤差ｅTをｃT-1の各成分｛ｃT-1｜ｉ＝１…ｍ｝で偏微分すると、次式（１３）のようになる。
【００６３】
【数１３】
2006318319.tif 000015
【００６４】
参考までに、各偏微分は次式（１４）の通りである。
【００６５】
【数１４】
2006318319.tif 000016
【００６６】
以上から、ｃT-1＝｛ｃT-1,j｜ｉ＝１…ｍ｝の変更量ΔｃT-1,iは下式（１５）のようになる。但し、αは任意の学習係数である。
【００６７】
【数１５】
2006318319.tif 000017
【００６８】
ここまで、最後の時刻における誤差ｅTに直接影響を与える文脈情報ｃT-1の変更について考察してきた。｛ｃt｜ｔ＝１…Ｔ−２｝においても同様に誤差関数ｅをｃtで偏微分していけばよい。但し、時刻ｔにおける文脈情報ｃtは時刻ｔ＋１の誤差ｅt+1へのみ影響を与えるのではなく、ｔ＋１からＴにかけてのすべての未来へ影響を与える。このため、変更量Δｃt,iは下式（１６）の通りとなる。
【００６９】
【数１６】
2006318319.tif 000018
【００７０】
また、文脈情報を変更するアルゴリズムの変更例として、以下が挙げられる。
【００７１】
（１）アルゴリズム中のｃ(i+1)tを求める式を下式（１７）とする。
【００７２】
【数１７】
2006318319.tif 000019
【００７３】
（２）文脈情報｛ｃt｝に時間方向の低域通過フィルタをかけると、学習サンプル｛ｘt｝と比べて時間スケールの大きな文脈情報を抽出することが可能である。
【００７４】
（３）低域通過フィルタの通過周波数を変数毎に変化させて同居させることで、異なる時間スケールの現象を意図的に分離することができる。
【００７５】
図１には、本発明の一実施形態に係る学習装置１の機能的構成を示している。同図に示す学習装置１は、入力部１１と、初期化部１２と、関数近似部１３と、予測部１４と、誤差計算部１５と、判定部１６と、文脈修正部１７を備えている。学習装置１を専用のハードウェア装置としてデザインしてもよいが、各機能モジュールを実現するためのコンピュータ・プログラムを一般的なコンピュータ・システム上で起動するという形態で構成することも可能である。
【００７６】
入力部１１は、学習対象となるｎ次元の時系列情報｛ｘt｝を入力する。学習対象は、１つ前の学習サンプルのみからは予測できない非マルコフ過程の時系列情報である。また、初期化部１２は、ｍ次元の文脈情報｛ｃt｝の初期値をランダムに生成する。
【００７７】
入力部１１より入力されたｎ次元の学習データとｍ次元の文脈データは、（ｎ＋ｍ）次元の状態｛ｚt｝として関数近似部１３に入力される。関数近似部１３は、ＳＶＲの学習アルゴリズムにより、ある時刻ｔの状態ｚtから次の時刻ｔ＋１における状態ｚt+1を予測するための時系列予測関数Ｆの学習すなわち関数近似を行なう。
【００７８】
予測部１４は、関数近似された予測関数Ｆと状態の初期値ｚ(i)1を用いて各時刻ｔの状態｛ｚt｝を予測してみる。
【００７９】
誤差計算部１５は、予測部１４で予測された学習データと、入力部１１から実際に入力された学習データとの誤差ｅを算出する。
【００８０】
判定部１６は、誤差計算部１５で算出された誤差ｅを閾値と比較し、誤差ｅが閾値以下であれば学習が終了したと判定する。そして、終了判定時の予測関数Ｆを学習装置１による学習結果として出力する。
【００８１】
予測した学習対象の時系列情報と、実際に与えられた学習対象の時系列情報との誤差ｅが閾値以内に収まらないときは、文脈修正部１７により文脈情報｛ｃt｝を修正して、予測関数Ｆの学習を再度行なう。文脈修正部１７は、誤差計算部１５により算出された誤差ｅを用いて文脈情報の修正を行なう。具体的には、算出された誤差ｅを文脈情報｛ｃt｝で偏微分した結果得られる勾配ベクトルの方向に文脈情報｛ｃt｝を変化させて修正する（前述）。そして、予測した学習対象の時系列情報の誤差が閾値以下に収まるまでは、文脈情報｛ｃt｝の修正と関数Ｆの学習を交互に繰り返し行なう。
【００８２】
図２には、学習装置１が文脈情報の修正を行ないながら時系列予測関数Ｆの学習を行なうための処理手順をフローチャートの形式で示している。以下、同図を参照しながら処理手順について説明する。
【００８３】
まず、入力部１１から学習データを入力するとともに、初期化部１２により文脈データの初期値を生成する（ステップＳ１）。
【００８４】
次いで、関数近似部１３は、学習データと文脈データを参照して、予測関数Ｆを生成すなわち関数近似する（ステップＳ２）。
【００８５】
次いで、予測部１４は、学習データの初期値を用い、生成された予測関数Ｆに従って学習データの予測を行なってみる（ステップＳ３）。
【００８６】
次いで、誤差計算部１５は、予測関数Ｆを用いて予測された学習データと、実際に入力部１１から入力された学習データとの差分を計算し、予測誤差を算出する（ステップＳ４）。
【００８７】
この誤差計算結果は判定部１６に入力される。判定部１６では、算出された誤差に基づいて、関数近似部１３により生成された予測関数の近似が十分であるかどうかを判定する（ステップＳ５）。
【００８８】
ここで、判定部１６で終了判定を出せば、当該学習は終了する。
【００８９】
一方、終了判定を出さないときには、文脈修正部１７が誤差に従って文脈データを修正する（ステップＳ６）。そして、ステップＳ１に戻って、予測関数Ｆの学習を再度行なう。予測した学習対象の時系列情報の誤差が閾値以下に収まるまでは、文脈情報｛ｃt｝の修正と関数Ｆの学習を交互に繰り返し行なう。
【００９０】
最後に、本実施形態に係る学習メカニズムを正弦波の時系列予測に適用した実験例について説明する。
【００９１】
図３には、このときの学習サンプル｛ｘt∈Ｒ｜ｔ＝１…６０｝を示している。横軸が時間ｔであり、縦軸が値ｘtである。図示の学習サンプルは３周期分の正弦波で構成される。
【００９２】
図４には、学習前の初期状態を示している。同図の上段では、図３に示したと同様の３周期分の正弦波からなる学習サンプル｛ｘt∈Ｒ｜ｔ＝１…６０｝と、各時刻ｔにおいてランダムに生成された文脈情報の初期値｛ｃ(1)t∈Ｒ｜ｔ＝１…６０｝が示されている。また、同図の下段では、予測された学習サンプルの時系列値と、予測された文脈情報が示されている。
【００９３】
第１回目の文脈情報｛ｃt｝の推定と関数Ｆの学習では、文脈情報｛ｃ(1)t｝がランダムであるため、図示のように、予測された学習データの予測値は実際に入力された学習データとは異なったものとなっている。文脈情報｛ｃt｝の推定と関数Ｆの学習を交互に繰り返し行なう目的は、この２つの時系列値を同じようにすることにある。
【００９４】
図５には、文脈情報｛ｃt｝の推定と関数Ｆの学習を交互に繰り返し行なうことにより、予測関数Ｆの学習が収束していく様子を示している。同図に示すように、文脈情報｛ｃ(i)t｝は、学習サンプル｛ｘt｝と半位相だけずれた同一周期の波形となっている。
【００９５】
同図の上から２段目では、学習サンプルの予測値が実際の学習サンプル｛ｘt｝と同一の波形になっていることを示している。しかも、学習されていない時刻ｔ＝６１以降も、続けて正弦波を予測し続けていることが分かる。
【００９６】
また、同図の上から３段目では、学習サンプルの予測値にノイズを付加しながら関数Ｆを予測させた結果を示している。ノイズを付加しないと同じように、学習サンプルと同一の波形に引き込まれていることが分かる。
【００９７】
また、同図の上から４段目では、横軸にステップ数を、縦軸にＲＭＳＥ（Ｒｏｏｔ  Ｍｅａｎ  Ｓｑｕａｒｅｄ  Ｅｒｒｏｒ）をとった学習曲線を示している。同図では、１０回で学習が収束していることが分かる。
【００９８】
上述したように、本発明に係る学習方法は、短時間で大域解への収束が保証されている連続値関数近似手法に従い、文脈情報を用いて非マルコフ過程の時系列データの予測関数を学習することができる。その際、誤差逆伝播法を用いたリカレント・ニューラル・ネットワークよりも高速に学習を完了させることができ、且つ、より少ない文脈情報の次元数ｍで学習を収束させることができるという点を十分に理解されたい。
【産業上の利用可能性】
【００９９】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【０１００】
本明細書では、主にＳＶＲに従って予測関数Ｆの学習を行なう実施形態を中心に説明してきたが、本発明の要旨はこれに限定されるものではない。例えばＳＶＲ以外の連続値関数近似手法に基づく学習アルゴリズムや、それ以外の学習アルゴリズムを適用する学習装置に対しても、同様に本発明を適用することができる。
【０１０１】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【図面の簡単な説明】
【０１０２】
【図１】図１は、本発明の一実施形態に係る学習装置１の機能的構成を示した図である。
【図２】図２は、学習装置１が文脈情報の修正を行ないながら時系列予測関数Ｆの学習を行なうための処理手順示したフローチャートである。
【図３】図３は、本発明に係る学習メカニズムを正弦波の時系列予測に適用した実験例を説明するための図である。
【図４】図４は、本発明に係る学習メカニズムを正弦波の時系列予測に適用した実験例を説明するための図である。
【図５】図５は、本発明に係る学習メカニズムを正弦波の時系列予測に適用した実験例を説明するための図である。
【符号の説明】
【０１０３】
１…学習装置
１１…入力部
１２…初期化部
１３…関数近似部
１４…予測部
１５…誤差計算部
１６…判定部
１７…文脈修正部
【図１】
2006318319.tif 000020
【図２】
2006318319.tif 000021
【図３】
2006318319.tif 000022
【図４】
2006318319.tif 000023
【図５】
2006318319.tif 000024