JP2013058120A - 情報処理装置、情報処理方法、及び、プログラム - Google Patents

情報処理装置、情報処理方法、及び、プログラム Download PDF

Info

Publication number
JP2013058120A
JP2013058120A JP2011196773A JP2011196773A JP2013058120A JP 2013058120 A JP2013058120 A JP 2013058120A JP 2011196773 A JP2011196773 A JP 2011196773A JP 2011196773 A JP2011196773 A JP 2011196773A JP 2013058120 A JP2013058120 A JP 2013058120A
Authority
JP
Japan
Prior art keywords
state
hmm
factor
causal
transition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2011196773A
Other languages
English (en)
Inventor
Kenta Kawamoto
献太 河本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2011196773A priority Critical patent/JP2013058120A/ja
Priority to US13/589,559 priority patent/US8924317B2/en
Priority to CN2012103204891A priority patent/CN103177294A/zh
Publication of JP2013058120A publication Critical patent/JP2013058120A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】因果関係を学習するのに用いるデータを、効率的に収集する。
【解決手段】情報量ゲイン算出部は、状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、因子と状態遷移との因果関係について、因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインを求める。そして、評価値算出部は、因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値を、情報量ゲインに基づいて求め、決定部は、その評価値に基づいて、生起する因子を決定する。本技術は、例えば、自律的に行動するエージェント等に適用できる。
【選択図】図8

Description

本技術は、情報処理装置、情報処理方法、及び、プログラムに関し、特に、例えば、アクションを行うエージェントが、因果関係を学習するのに用いるデータを、効率的に収集することができるようにする情報処理装置、情報処理方法、及び、プログラムに関する。
例えば、工場等のように、事前に定められた環境ではなく、家庭のような、いわゆるオープンな環境で行動するロボットや知能機械等のエージェントを実現するには、事前知識のない環境で、エージェント自ら行動して必要なデータを収集し、そのデータを用いて環境を学習するという自律発達的な知能が必要である。
通常の機械学習では、エージェントが収集したデータを用いていかに学習を行うかという点が問題となるが、オープンな環境で行動するエージェントについては、さらに、学習に用いるデータそれ自体をどのように獲得(収集)するのか、が大きな問題となる。
すなわち、学習に用いるデータの収集にあたっては、単にデータを収集すればよいのではなく、重要な範囲を網羅するように、データを収集する必要がある。
また、データを収集しながら学習を行うオンライン学習では、学習自体が効率的に進むような順序で適切なデータを、学習に用いる工夫が必要になる。
そこで、特許文献1には、エージェントがおかれた環境等の構造を獲得する構造学習に用いるデータを効率良く収集するエージェントが提案されている。
特開2010-287028号公報
ところで、事前知識のない環境において、状態遷移等の事象と、その事象が生じる原因となる要素である因子との間の因果関係を獲得する因果学習に用いるデータを効率良く収集する方法については、まだ提案されていない。
本技術は、このような状況に鑑みてなされたものであり、因果関係を学習するのに用いるデータを、効率的に収集することができるようにするものである。
本技術の一側面の情報処理装置、又は、プログラムは、状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、前記因子と状態遷移との因果関係について、前記因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインを求める情報量ゲイン算出部と、因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値を、前記情報量ゲインに基づいて求める評価値算出部と、前記評価値に基づいて、生起する因子を決定する決定部とを備える情報処理装置、又は、そのような情報処理装置として、コンピュータを機能させるためのプログラムである。
本技術の一側面の情報処理方法は、状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、前記因子と状態遷移との因果関係について、前記因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインを求め、因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値を、前記情報量ゲインに基づいて求め、前記評価値に基づいて、生起する因子を決定するステップを含む情報処理方法である。
以上のような一側面においては、状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、前記因子と状態遷移との因果関係について、前記因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインが求められる。そして、因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値が、前記情報量ゲインに基づいて求められ、前記評価値に基づいて、生起する因子が決定される。
なお、情報処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
本技術の一側面によれば、因果関係を学習するのに用いるデータを、効率的に収集することができる。
自律的に行動するエージェントの構成例を示すブロック図である。 エージェントが行う処理を説明するフローチャートである。 自律的に行動するエージェントの他の構成例を示すブロック図である。 因果処理部42の構成例を示すブロック図である。 因果処理部42が行う処理(因果処理)を説明するフローチャートである。 学習認識部121ないし12Mに記憶されるHMMの例を示す図である。 本技術を適用したエージェントの一実施の形態の構成例を示すブロック図である。 因果処理部60の構成を示すブロック図である。 エージェントが行うタスクの例である物体移動タスクを説明する図である。 物体移動タスクにおいて、エージェントが観測する観測値を模式的に示す図である。 因果処理部60が行う因果獲得プラン生成処理を説明するフローチャートである。 ステップS32の情報量ゲイン算出処理を説明するフローチャートである。 ベータ分布で表される確率分布を示す図である。 ステップS33の評価値算出処理を説明するフローチャートである。 ステップS34の決定処理を説明する図である。 ステップS34の決定処理を説明するフローチャートである。 物体移動タスクのシミュレーションの結果を示す図である。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
以下、本技術の実施の形態について説明するが、その前段階の準備として、自律的に行動するエージェントについて説明する。
[自律的に行動するエージェントの構成例]
図1は、自律的に行動するエージェントの構成例を示すブロック図である。
図1において、エージェントは、センサ部11、学習認識部12、アクション制御部13、及び、アクション部14を有する。
センサ部11は、例えば、被写体を撮影して、その被写体が映った画像を出力するカメラや、アクション部14の、回転する可動部分(図示せず)の角度を検出する検出器等の、物理量をセンシングするセンサで構成される。
センサ部11は、センシングの結果得られる、被写体が映った画像や、その画像を処理することにより得られる情報、アクション部14の可動部分の角度等を、観測可能な観測値として、時系列に出力する。
センサ部11が出力する観測値(の時系列)は、学習認識部12に供給される。
学習認識部12は、バッファ21、モデル学習部22、認識部23、及び、モデル記憶部24を有し、センサ部11からの観測値の時系列である時系列データを用いての状態遷移モデルの学習と、その学習後の状態遷移モデルを用いての、時系列データの認識とを行う。
すなわち、バッファ21には、センサ部11からの観測値が供給される。
バッファ21は、センサ部11からの観測値を、順次記憶する。
モデル学習部22は、バッファ21に記憶された観測値の時系列を、モデル記憶部24に記憶された状態遷移モデルの学習に用いるモデル学習用データとして読み出し、そのモデル学習用データを用いて、モデル記憶部24に記憶された状態遷移モデルの学習を行う。
認識部23は、バッファ21に記憶された観測値の時系列を、その時系列が観測される状態遷移モデルの状態(の系列)の認識に用いる認識用データとして読み出し、モデル記憶部24に記憶された状態遷移モデルを用いて、認識用データが観測される状態を認識する。
モデル記憶部24は、状態遷移モデルを記憶する。
モデル記憶部24に記憶される状態遷移モデルとしては、内部状態を有し、内部状態の遷移モデル、及び、内部状態から観測値が観測(生成)される観測モデルを持つ学習モデルを採用することができる。
すなわち、状態遷移モデルとしては、例えば、観測値が観測される内部状態どうしの間の状態遷移の遷移確率(遷移モデル)と、内部状態から観測値が観測される観測尤度(観測モデル)とを有する、例えば、HMM(Hidden Markov Model)を採用することができる。
ここで、モデル学習部22は、モデル記憶部24に記憶された状態遷移モデルを自己組織化(Self-organization)する学習(状態遷移モデルのモデルパラメータがモデル学習用データのみを用いて決定され、モデルパラメータを、外部から強制的に制御することをしない学習)を、バッファ21に記憶される観測値の時系列をモデル学習用データとして用いて行う。
また、認識部23は、モデル記憶部24に記憶された状態遷移モデルを用いて、認識用データが観測される状態を認識するときに、状態遷移モデルの各状態(内部状態)にいる状態確率を求めるとともに、状態遷移モデルにおいて、認識用データが観測される尤度が最大の状態遷移が生じる、状態(内部状態)の系列である最尤系列(最尤状態系列)を求める。
そして、認識部23は、認識用データの認識時に求めた最尤系列、認識用データの最後のサンプル値となっている観測値(最新の観測値)、及び、認識用データが観測される最尤系列において、認識用データのサンプル値のうちの最新の観測値が観測される状態である現在状態(最尤系列の最後の状態)を、必要に応じて、アクション制御部13に供給する。
アクション制御部13は、モデル記憶部24に記憶された状態遷移モデルや、認識部23から供給される最尤系列(現在状態が含まれる)、最新の観測値等を用いて、エージェントのアクションを制御する。
すなわち、アクション制御部13は、プランニング部31、アクション信号生成部32、アクション学習部33、アクション生成情報記憶部34、及び、生得コントローラ35を有する。
プランニング部31には、認識部23からの現在状態(最尤系列の最後の状態)が供給されるとともに、エージェントの外部、又は、内部から、状態遷移モデルの状態のうちの、目標とすべき状態を表す目標情報が供給される。
いま、状態遷移モデルの1つの状態Ssから、他の1つの状態Seに辿り着く状態系列(状態遷移モデルの状態の系列)を、プランということとし、プランの最初の状態(状態Ss)を、スタート状態というとともに、プランの最後の状態(状態Se)を、目標状態ということとする。
プランニング部31は、モデル記憶部24に記憶された状態遷移モデルを参照して、例えば、認識部23からの現在状態を、スタート状態とするとともに、目標情報が表す状態を、目標状態として、スタート状態から目標状態までの状態遷移の尤度が最大の状態系列を、プランとして求めるプランニングを行い、プランニングによって得られるプランを、アクション信号生成部32に供給する。
アクション信号生成部32には、プランニング部31からのプランが供給される他、認識部23からの観測値、及び、現在状態が供給される。
アクション信号生成部32は、モデル記憶部24に記憶された状態遷移モデル、アクション生成情報記憶部34に記憶されたアクション生成情報、並びに、認識部23からの観測値、及び、現在状態に基づき、エージェントに、プランニング部31からのプランに従ったアクション等の所定のアクションを行わせるためのアクション信号(コマンド)を求め(生成し)、アクション部14に供給する。
アクション学習部33には、認識部23からの現在状態、及び、最新の観測値が供給される。さらに、アクション学習部33には、生得コントローラ35が生成するアクション信号が供給される。
アクション学習部33は、認識部23からの現在状態、及び、最新の観測値、並びに、生得コントローラ35からのアクション信号を用いて、エージェントに所定のアクションを行わせるためのアクション信号と、そのアクション信号に従ったアクションが行われることにより生じる状態遷移モデルの状態遷移との関係を学習するアクション学習を行う。
アクション学習部33は、アクション学習によって、状態遷移モデルの所定の状態遷移を生じさせるアクション信号を生成するのに用いられるアクション生成情報を得て、アクション生成情報記憶部34に供給する。
アクション生成情報記憶部34は、アクション学習部33から供給される、アクション学習の結果得られるアクション生成情報を記憶する。
ここで、図1では、アクション生成情報は、コントローラテーブルとコントローラとから構成される。
状態遷移モデルのある状態Siから、ある状態Sjへの状態遷移を、Tijと表すこととすると、コントローラは、例えば、観測値oを入力として、アクション信号を出力する関数Fij(o)であり、状態遷移Tijごとに存在する。
コントローラとしての関数Fij(o)には、そのコントローラに固有のコントローラID(Identification)が対応付けられ、コントローラテーブルには、状態遷移Tijと、その状態遷移Tijを生じさせるアクションを行うためのアクション信号の生成に使用すべきコントローラ(関数Fij(o))のコントローラIDとが対応付けられる。
したがって、アクション信号生成部32は、ある状態遷移Tijを生じさせるアクションを行うためのアクション信号を生成する場合、まず、コントローラテーブルを参照して、その状態遷移Tijに対応付けられているコントローラIDを認識する。そして、アクション信号生成部32は、コントローラテーブルから認識したコントローラIDに対応付けられているコントローラ(関数Fij(o))を用いて、アクション信号を生成する。
生得コントローラ35は、エージェントに、各種のアクションを行わせるためのアクション信号を、ランダムに生成する。
あるいは、生得コントローラ35は、エージェントの設計者等によってあらかじめ決められたパターンの信号に、適度な摂動を加えた信号を、エージェントが生得的に可能なアクションを行うためのアクション信号として生成する。
生得コントローラ35が生成するアクション信号は、アクション部14と、アクション学習部33とに供給される。
アクション部14は、エージェントの身体のアーム(腕)や足等の可動部分(図示せず)と、その可動部分を駆動するアクチュエータ等を含む。
アクション部14では、アクション信号生成部32や、生得コントローラ35からのアクション信号に従って、アクチュエータが、可動部分を駆動し、これにより、エージェントは、所定のアクションを行う。
図2は、図1のエージェントが行う処理を説明するフローチャートである。
エージェントでは、ステップS11,S12,S13,S14、及び、S15の処理が、必要に応じて行われる。
図2のステップS11では、モデル学習処理が行われる。モデル学習処理では、モデル学習部22が、モデル記憶部24に記憶された状態遷移モデルであるHMMの学習であるモデル学習を行う。
すなわち、エージェントは、生得コントローラ35において、エージェントが生得的に可能なアクションを行うためのアクション信号を生成し、アクション部14と、アクション学習部33とに供給する。
アクション部14は、生得コントローラ35からのアクション信号に従って、可動部分を駆動し、これにより、エージェントは、アクション信号に従ったアクションを行う。
センサ部11は、エージェントがアクションを行った後に観測される観測値を観測し、バッファ21に供給して記憶させる。
バッファ21に、ある程度のサンプル数の観測値の時系列(時系列データ)が記憶されると、モデル学習部22は、バッファ21に記憶された時系列データを、モデル学習用データとして用いて、モデル記憶部24に(モデルパラメータが)記憶されたHMMの学習を行い、その結果得られるHMMのモデルパラメータを、モデル記憶部24に上書きの形で記憶する。
ここで、HMMの学習は、例えば、EMアルゴリズムを利用したBaum-Welchアルゴリズム(Baum-Welchの再推定法)に従って行うことができる。また、HMMの学習では、モデルパラメータとして、初期状態確率πi、遷移確率aij、及び、観測尤度bj(o)が求められる。
なお、HMMが、N個の状態を有し、そのN個の状態のうちのi番目の状態をSiと表すこととすると、初期状態確率πiは、最初の時刻に、状態Siにいる確率を、遷移確率aijは、状態Siから状態Sjに遷移する確率を、観測尤度bj(o)は、状態Sjにおいて、観測値oが観測される確率、又は、確率分布を、それぞれ表す。
モデル学習処理では、以上のように、センサ部11で得られる観測値(の時系列データ)を用いて、モデル記憶部24に記憶されたHMMの学習(構造学習)が行われる。
例えば、いま、エージェントの1回のアクションとして、エージェントのアームが、アクション信号に従って、2次元平面であるテーブル上を、所定の方向に所定の距離だけ移動することが行われることとする。さらに、HMMの学習が、テーブル上のアームの画像から認識される(2次元平面であるテーブル上の)アームの位置を表す位置情報を観測値として用いて行われることとする。
この場合、HMMでは、エージェントのアームの動きが獲得(学習)される。
なお、HMMの状態Siの観測確率bi(o)は、その状態Siにおいて、アームの位置情報である各観測値oが観測される確率であるから、状態Siは、その状態Siの観測確率bi(o)で各観測値oが観測されるテーブル上のアームの位置に対応させることができる(対応すると考えることができる)。
エージェントでは、モデル記憶部24に記憶されたHMMの学習が行われていない場合、ステップS21のモデル学習処理が、最初に行われる。そして、モデル学習処理によって、HMMが、エージェントのアームの動きをある程度獲得(学習)すると、そのHMMを用いて、ステップS12ないしS15の処理を行うことが可能となる。
なお、ここでは、エージェントが、生得コントローラ35において生成されるアクション信号に従ってアクションを行っているときにだけ観測される観測値を用いて、モデル記憶部24に記憶されたHMMの学習を行うこととしたが、HMMの学習は、その後、エージェントが、アクション信号生成部32において生成されるアクション信号に従ってアクションを行っているときに観測される観測値を用いて、いわゆる追加学習の形で行うことができる。
図2のステップS12では、認識処理が行われる。認識処理では、認識部23が、バッファ21に記憶された観測値の時系列を、認識用データとして用いて、モデル記憶部24に記憶されたHMMにおいて、その認識用データが観測される状態(の系列)を認識する。
すなわち、認識部23は、モデル学習がある程度進行したHMM(モデル学習が終了したHMMモデルを含む)を用い、例えば、ビタビアルゴリズム(Viterbi Algorithm)に従って、HMMにおいて、認識用データが観測される尤度が最大の状態の系列(最尤系列)、つまり、認識用データの各サンプル値が時系列に観測され、最新のサンプル値が観測されたときの状態確率を最大にする状態系列を求める。
そして、認識部23は、最尤系列において、認識用データの最新(現在)のサンプル値(観測値)が観測される状態、つまり、最尤系列の最後の状態を、エージェントのアームの現在の状況に対応する現在状態として求める(認識する)。
図2のステップS13では、アクション学習処理が行われる。アクション学習処理では、アクション学習部33が、エージェントに所定のアクションを行わせるためのアクション信号と、そのアクション信号に従ったアクションが行われることにより生じるHMMの状態遷移との関係の学習であるアクション学習を行う。
すなわち、エージェントにおいて、アクション部14は、アクション信号に従って駆動し、これにより、エージェントのアームが移動するアクションが行われるが、アクション学習前のエージェントは、どのようなアクション信号によって、どのようにアームが動くのか(どのようなアクションが行われるのか)の知識を有していない。
アクション学習では、アクション信号と、そのアクション信号に従って行われるアクションとしてのアームの移動との関係(どのようなアクション信号によって、どのようにアームが動くのかの知識)の学習が行われる。
なお、モデル学習によってアームの動きを獲得したHMMでは、各状態Siは、上述したように、テーブル上のアームの位置に対応させることができ、アームの移動によって、移動前のアームの位置に対応する状態から、移動後のアームの位置に対応する状態への状態遷移が生じる。
アクション学習では、アクション信号と、そのアクション信号に従って行われるアクションとしてのアームの移動との関係として、アクション信号と、そのアクション信号に従ったアクションが行われることにより生じるHMMの状態遷移との関係が獲得される。
具体的には、アクション学習部33は、HMMの学習がある程度進行した後に、生得コントローラ35から供給されるアクション信号を収集するとともに、そのアクション信号に従ったアクションが行われたとき(後)に観測される観測値と、その観測値が観測されるHMMの現在状態とを、認識部23から収集する。
そして、アクション学習部33は、各時刻tにおいて、1時刻前の時刻t-1の観測値ot-1と、1時刻前の時刻t-1のアクション信号mt-1とのセットを、アクション学習に用いるアクション学習用データとして、時刻t-1の現在状態st-1から、最新の時刻tの現在状態stへの状態遷移Tijに対応付けて記憶する。
アクション学習部33は、HMMの各状態遷移Tijについて、十分な数のアクション学習用データが得られると、各状態遷移Tijについて、アクション学習用データとしてセットになっている観測値oとアクション信号mとを用い、観測値oを入力として、アクション信号mを出力する関数m=Fij(o)であるコントローラを求める。
ここで、関数Fij()としては、例えば、ニューラルネットワーク等を採用することができる。また、コントローラとしては、観測値oを入力として、アクション信号mを出力する関数m=Fij(o)の他、例えば、状態遷移Tijについてのアクション学習用データになっているアクション信号mの平均値等の一定値を、観測値oに関係なく出力する関数を採用することができる。
各状態遷移Tijについて、関数m=Fij(o)であるコントローラが求められると、アクション学習部33は、各状態遷移Tijについて求められたコントローラとしての関数m=Fij(o)に、コントローラを識別するユニークなコントローラIDを対応付ける。
さらに、アクション学習部33は、各状態遷移Tijと、その状態遷移Tijについて求められたコントローラとしての関数m=Fij(o)に対応付けられたコントローラIDとを対応付けたコントローラテーブルを生成する。
そして、アクション学習部33は、コントローラIDを対応付けたコントローラとしての関数m=Fij(o)、及び、コントローラテーブルを、アクション生成情報として、アクション生成情報記憶部34に供給して記憶させる。
図2のステップS14では、プランニング処理が行われる。プランニング処理では、プランニング部31が、モデル記憶部24に記憶されたHMMの1つの状態Ssをスタート状態ととするとともに、他の1つの状態Seを目標状態として、スタート状態から目標状態に辿り着く状態系列であるプランを求めるプランニングを行う。
プランニングによってプランが得られると、エージェントは、そのプランを構成する状態に、順次、状態遷移をして、最終的に、目標状態に辿り着くアクションを行うことができる。
プラニング処理において、プランを求める方法としては、スタート状態と目標状態が与えられた場合に、例えば、スタート状態を遷移元の状態とする状態遷移の遷移確率が所定の閾値以上の状態遷移を、1つだけランダムに選択し、その状態遷移の遷移先の状態を遷移元の状態とする状態遷移の遷移確率が所定の閾値以上の状態遷移を、再び、1つだけランダムに選択することを、状態遷移の遷移先の状態が、目標状態となるまで繰り返す方法がある。
しかしながら、この方法では、多くの場合、スタート状態から目標状態に辿り着くのに時間を要するプラン(状態遷移(及び状態)の数が多いプラン)が求められる。
そこで、短時間で、スタート状態から目標状態に辿り着くプランを求める方法として、例えば、ビタビアルゴリズムを応用した方法がある。
ビタビアルゴリズムを応用した方法では、プランニング部31は、認識部23からの現在状態を、プランのスタート状態として、そのスタート状態(になっている状態)の時刻t=1の状態確率を、初期値としての1.0に設定するとともに、スタート状態以外の他の状態の時刻tの状態確率を、0.0に設定する。
また、プランニング部31は、HMMの遷移確率aijのうちの、所定の閾値(例えば、0.01等)以上の遷移確率aijを、プランニング処理で用いるのに限って、大きな値(例えば、0.9等)に設定するとともに、他の遷移確率aijを、プランニング処理で用いるのに限って、小さな値(例えば、0.0等)に設定する。
さらに、プランニング部31は、時刻t+1のHMMの各状態Sjについて、時刻tの各状態Siの状態確率に、状態Sjへの遷移確率aijを乗算し、その結果得られる、HMMの状態数であるN個の乗算値のうちの最大値を、時刻t+1の状態Sjの状態確率として求めることを、時刻tをインクリメントしながら、目標状態の状態確率が0.0より大になるまで繰り返す。
そして、プランニング部31は、目標状態の状態確率が0.0より大になると、すなわち、遷移確率aijが大きな値に設定された状態遷移のみによって、スタート状態から目標状態に辿り着くことができる状態系列が得られると、その状態系列を、プランとして出力する。
図2のステップS15では、アクション信号生成処理が行われる。アクション信号生成処理は、ステップS11のモデル学習処理、及び、ステップS13のアクション学習処理の後、プランニング部31において、プランが得られると、行うことができる。
アクション信号生成処理では、アクション信号生成部32は、プランニング部31からのプラン上の状態に、順次、状態遷移をして、最終的に、目標状態に辿り着くアクションを行うためのアクション信号を生成し、アクション部14に供給する。
すなわち、アクション信号生成部32は、プランニング部31からのプランとしての状態系列から、認識部23からの現在状態を検出し、状態系列における、現在状態から次の状態への状態遷移を、次に生じさせるべき状態遷移として認識する。
さらに、アクション信号生成部32は、アクション生成情報記憶部34のアクション生成情報を参照し、次に生じさせるべき状態遷移Tijに対応付けられた関数m=Fij(o)であるコントローラに対して、認識部23からの観測値(現在状態において観測される観測値)を入力として与えることで、プランに従った状態遷移(次に生じさせるべき状態遷移)を生じさせるアクションを行うためのアクション信号mを生成し(求め)、アクション部14に供給する。
アクション部14は、アクション信号生成部32からのアクション信号mに従って、可動部分を駆動し、これにより、エージェントは、アクション信号mに従って、テーブル上のアームを移動する等アクションを行う。
その後、アクション信号生成部32は、エージェントのアクション後に、認識部23から新たな現在状態と観測値が供給されるのを待って、再び、プランニング部31からのプランとしての状態系列から、認識部23からの現在状態を検出し、以下、認識部23からの現在状態が、プランニング部31からのプランの最後の状態である目標状態に一致するまで、同様の処理を繰り返す。
[因果関係を利用して、自律的に行動するエージェントの構成例]
図3は、自律的に行動するエージェントの他の構成例を示すブロック図である。
なお、図中、図1の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図3において、エージェントは、センサ部11、複数であるM個の学習認識部121ないし12M、アクション部14、アクション制御部41、及び、因果処理部42を有する。
したがって、図3のエージェントは、センサ部11及びアクション部14を有する点で、図1のエージェントと共通する。また、図3のエージェントは、1個の学習認識部12に代えて、M個の学習認識部121ないし12Mが設けられているとともに、アクション制御部13に代えて、アクション制御部41が設けられ、因果処理部42が新たに設けられている点で、図1の場合と相違する。
図3のエージェントでは、センサ部11は、複数であるM個の観測値を観測し(センシングし)、そのうちのm番目(m=1,2,・・・,M)の観測値を、M個の学習認識部121ないし12Mのうちのm番目の学習認識部12mに供給する。
ここで、図1のエージェントでは、アーム(の動き)をモデル化対象とし、そのアームを観測することにより得られるアームの位置情報を用いて、HMMの学習、すなわち、HMMにより、アームの動きを獲得する学習を行ったが、HMMの学習は、その他、例えば、1つのモデル化対象から観測される様々なモーダルの観測値(例えば、モデル化対象としてのアームから観測されるアームの位置や速度等)や、複数のモデル化対象それぞれから観測される1つのモーダル(種類)の観測値等の、複数の(時系列となる)観測値を用いて行うことができる。
図3のエージェントでは、複数の観測値それぞれに、1つのHMMを割り当て、各HMMの学習が、そのHMMに対応付けられた観測値を用いて行われる。
ここで、図3では、例えば、エージェントが、移動するアクションが可能なロボットであり、そのようなエージェントが、光源が設置された迷路内に置かれ、その迷路内を移動する移動タスクを行うこととする。したがって、図3のエージェントにおいて、アクション部14は、エージェントの足を構成し、アクション制御部13に代えて設けられているアクション制御部41から供給されるアクション信号に従って駆動することにより、エージェントを、アクション信号に従った方向に、所定の移動量だけ移動させる。
また、エージェントは、エージェントを中心とする4方向や8方向等の複数の方向それぞれの、迷路内の壁までの距離、エージェントを中心とする複数の方向それぞれで受光される光の光量、及び、その光量に比例して増加し、かつ、エージェントの移動量に比例して減少するエネルギの、3つのモーダルの観測値を観測することができることとする。
この場合、エージェントに設けられる学習認識部121ないし12Mの個数Mは、3(以上)となる。
また、センサ部11では、エージェントから壁までの距離、エージェントで受光される光の光量、及び、エージェントのエネルギの3つのモーダルの観測値が観測される。そして、センサ部11は、距離のモーダルの観測値としての、エージェントから壁までの距離を、学習認識部121に、光のモーダルの観測値としての、エージェントで受光される光の光量を、学習認識部122に、エネルギのモーダルの観測値としての、エージェントのエネルギを、学習認識部123に、それぞれ供給する。
学習認識部121ないし123では、そこに供給される観測値を用いて、図1の学習認識部12と同様の処理が行われる。その結果、学習認識部121では、距離のモーダルの観測値を用いて学習が行われたHMM(以下、距離HMMともいう)が、学習認識部122では、光のモーダルの観測値を用いて学習が行われたHMM(以下、光HMMともいう)が、学習認識部123では、エネルギのモーダルの観測値を用いて学習が行われたHMM(以下、エネルギHMMともいう)が、それぞれ獲得される。
なお、学習認識部121ないし123において、距離HMM、光HMM、及び、エネルギHMMや、その距離HMM、光HMM、及び、エネルギHMMを用いた認識処理により得られる最尤系列(現在状態)、並びに、認識処理に用いられる観測値は、図1の学習認識部12の場合と同様に、アクション制御部13に対応するアクション制御部41に供給される。
また、距離HMM、光HMM、及び、エネルギHMM、並びに、認識処理により得られる最尤系列は、学習認識部121ないし123から因果処理部42にも供給される。
アクション制御部41は、プランニング部31、アクション信号生成部32、アクション学習部33、アクション生成情報記憶部34、生得コントローラ35、及び、プラン制御部36を有する。
したがって、アクション制御部41は、プランニング部31ないし生得コントローラ35を有する点で、図1のアクション制御部13と共通し、プラン制御部36が新たに設けられている点で、図1のアクション制御部13と相違する。
アクション制御部41では、図1のアクション制御部13と同様の処理が行われる。
したがって、アクション制御部41では、図1のアクション制御部13と同様に、アクション信号が、アクション部14に供給される他、アクション学習部33が、学習認識部12mから供給される現在状態、及び、最新の観測値と、生得コントローラ35が生成するアクション信号とを用いて、状態遷移Tijごとのコントローラである関数Fij(o)等のアクション生成情報を求めるアクション学習を行う。
但し、ここでは、説明を簡単にするため、アクション学習部33では、学習認識部121ないし123のうちの、学習認識部121から供給される距離HMMの現在状態、及び、最新の観測値と、生得コントローラ35が生成するアクション信号とを用いて、距離HMMの状態遷移Tijごとのコントローラである関数Fij(o)等のアクション生成情報を求めるアクション学習が行われることとする。
したがって、図3では、アクション信号生成部32は、距離HMM、光HMM、及び、エネルギHMMのうちの、距離HMMの状態遷移Tijを生じさせるアクションを行うためのアクション信号だけを生成することができ、光HMMやエネルギHMMの状態遷移を生じさせるアクションを行うためのアクション信号については、いわば直接に生成することはできない。
また、プランニング部31には、学習認識部121ないし123から、距離HMM、光HMM、及び、エネルギHMMそれぞれの現在状態(最尤系列の最後の状態)が供給されるとともに、プラン制御部36から、距離HMM、光HMM、又は、エネルギHMMの状態のうちの、目標とすべき状態を表す目標情報が供給される。
プランニング部31は、プラン制御部36から目標状態が供給されると、距離HMM、光HMM、及び、エネルギHMMのうちの、目標状態を有するHMMを注目HMMとする。
そして、プランニング部31は、学習認識部121ないし123からの距離HMM、光HMM、及び、エネルギHMMそれぞれの現在状態のうちの、注目HMMの現在状態を、スタート状態とするとともに、目標情報が表す注目HMMの状態を、目標状態として、スタート状態から目標状態までの状態遷移の尤度が最大の状態系列を、プランとして求めるプランニングを行う。
プランニング部31において、プランを求めるのに用いた注目HMMが、状態遷移を生じさせるアクションを行うためのアクション信号を生成することができるHMMではない場合(注目HMMが、アクション学習において、アクション信号と、そのアクション信号に従ったアクションが行われることにより生じる状態遷移Tijとの関係が関数Fij(o)として獲得されているHMMではない場合)、すなわち、ここでは、注目HMMが、距離HMM以外の光HMM、又は、エネルギHMMである場合、距離HMMの状態遷移Tijごとに求められたコントローラである関数Fij(o)等のアクション生成情報では、距離HMM以外の光HMM、又は、エネルギHMMを用いて求められたプランに従った状態遷移を生じさせるアクションを行うためのアクション信号を、直接に生成することができないため、プランニング部31は、プランを、アクション信号生成部32に供給せずに、プラン制御部36に供給する。
プラン制御部36は、プランニング部31からプランが供給されると、そのプランに従った注目HMMの状態遷移を認識し、因果処理部42に供給する。
因果処理部42は、プラン制御部36から、注目HMMの状態遷移が供給されると、その注目HMMの状態遷移と因果関係がある、注目HMM以外の1以上のHMMの状態、すなわち、注目HMMの状態遷移が生じる原因となる、注目以外のHMM(以下、原因HMMともいう)の状態(を要素とする状態ベクトル)を戻すようになっており、プラン制御部36は、そのようにして、因果処理部42から、注目HMMの状態遷移に対して戻ってくる原因HMMの状態を受信する。
そして、プラン制御部36は、因果処理部42からの原因HMMの状態(状態ベクトルの要素になっている状態の任意の1つ)を、目標状態として、プランニング部31に供給する。
プランニング部31は、プラン制御部36から目標状態が供給されると、距離HMM、光HMM、及び、エネルギHMMのうちの、目標状態を有するHMMを、新たに、注目HMMとし、以下、同様の処理が再帰的に繰り返される。
そして、プランニング部31において、プランを求めるのに用いた注目HMMが、状態遷移を生じさせるアクションを行うためのアクション信号を生成することができるHMMである場合(注目HMMが、アクション学習において、アクション信号と、そのアクション信号に従ったアクションが行われることにより生じる状態遷移Tijとの関係が関数Fij(o)として獲得されているHMMである場合)、すなわち、ここでは、注目HMMが、距離HMMである場合、距離HMMの状態遷移Tijごとに求められたコントローラである関数Fij(o)等のアクション生成情報によって、注目HMMである距離HMMを用いて求められたプランに従った状態遷移を生じさせるアクションを行うためのアクション信号を、直接に生成することができるため、プランニング部31は、プランを、アクション信号生成部32に供給する。
ここで、アクション学習において、アクション信号と、そのアクション信号に従ったアクションが行われることにより生じる状態遷移Tijとの関係が関数Fij(o)として獲得されているHMMを、アクション可能HMMともいう。
因果処理部42は、学習認識部121ないし123からの距離HMM、光HMM、及び、エネルギHMMの現在状態から、距離HMM、光HMM、及び、エネルギHMMのうちの1つのHMMである第1のHMMの状態遷移と、他の1つ以上のHMMである第2のHMMの状態との間の因果関係を獲得する学習である因果学習に用いる因果学習用データを取得し、その因果学習用データを用いて、因果学習を行う。
また、因果処理部42は、プラン制御部36から、注目HMMの状態遷移が供給されると、その注目HMMの状態遷移と因果関係があるHMM(原因HMM)の状態を、因果学習の結果に基づいて推定する因果推定を行い、原因HMMの状態(を要素とする状態ベクトル)を、プラン制御部36に供給する。
[因果処理部42の構成例]
図4は、図3の因果処理部42の構成例を示すブロック図である。
ここで、例えば、図3で説明した距離HMM、光HMM、及び、エネルギHMM等のような、複数の観測値それぞれを用いて学習が行われた複数のHMMについては、そのうちの1つのHMMである第1のHMMで生じる状態遷移という事象は、他の1つ以上のHMMである第2のHMMにおいて、ある状態にいること(第2のHMMの現在状態が、ある状態であること)を因子(原因)として生じることがあり、この場合、第2のHMMにおいて、ある状態にいることと、第1のHMMにおいて、状態遷移が生じることとの間には、因果(関係)がある。
因果処理部42では、第1のHMMの状態遷移と、その状態遷移が生じる原因となり得る因子の生起としての、第2のHMMにおいて、ある状態にいることとの間の因果関係の学習(因果学習)が行われる。
そして、因果処理部42では、プラン制御部36(図3)から、第1のHMMとしての注目HMM(プランの生成に用いられたHMM)の状態遷移が供給されると、その注目HMMの状態遷移と因果関係がある第2のHMMとしての原因HMMの状態(因子)を、因果学習の結果に基づいて推定する因果推定が行われ、原因HMMの状態(を要素とする状態ベクトル)が、プラン制御部36に供給される(戻される)。
すなわち、図4において、因果処理部42は、因果学習用データ取得部51、因果学習部52、因子候補リスト記憶部53、マージ部54、及び、因果推定部55を有する。
因果学習用データ取得部51は、学習認識部121ないし12Mからの距離HMM、光HMM、及び、エネルギHMM等の現在状態から、因果学習に用いる因果学習用データを取得し、因果学習部52に供給する。
因果学習部52は、因果学習用データ取得部51から供給される因果学習用データを用いて、因果学習を行う。因果学習部52は、因果学習を行うことによって得られる、第1のHMMの状態遷移と、その状態遷移が生じる原因となり得る因子としての第2のHMMの状態との因果関係を表すリストである因子候補リストを、因子候補リスト記憶部53に供給する。
因子候補リスト記憶部53は、因果学習部52からの因子候補リストを記憶する。
マージ部54は、因子候補リスト記憶部53に記憶されている因子候補リストの項目をマージすることで、因子候補リストを整理する。
因果推定部55には、プラン制御部36(図3)から、第1のHMMとしての注目HMM(プランの生成に用いられたHMM)の状態遷移が供給される。
因果推定部55は、プラン制御部36からの注目HMMの状態遷移と因果関係がある第2のHMMとしての原因HMMの状態(因子)を、因果学習の結果である、因子候補リスト記憶部53に記憶された因子候補リストに基づいて推定する因果推定を行い、その原因HMMの状態(を要素とする状態ベクトル)を、プラン制御部36に供給する(戻す)。
図5は、図4の因果処理部42が行う処理(因果処理)を説明するフローチャートである。
因果処理部42では、ステップS21,S22,S23、及び、S24の処理が、必要に応じて行われる。
ステップS21では、因果学習用データ取得処理が行われる。因果学習用データ取得処理では、因果学習用データ取得部51が、因果学習用データを取得し、データを因果学習部52に供給する。
ステップS22では、因果学習処理が行われる。因果学習処理では、因果学習部52が、因果学習用データ取得部51からの因果学習用データを用いて、因果学習を行い、その結果得られる因子候補リストを、因子候補リスト記憶部53に供給して記憶させる。
ステップS23では、マージ処理が行われる。マージ処理では、マージ部54が、因子候補リスト記憶部53に記憶された因子候補リストを整理し、その整理後の因子候補リストを、因子候補リスト記憶部53に記憶させる。
ステップS24では、因果推定処理が行われる。因果推定処理は、プラン制御部36(図3)から因果推定部55(図4)に対して、第1のHMMとしての注目HMMの状態遷移が供給されると、開始される。
因果推定処理では、因果推定部55が、プラン制御部36からの注目HMMの状態遷移と因果関係がある第2のHMMとしての原因HMMの状態を、因子候補リスト記憶部53に記憶された(整理後の)因子候補リストに基づいて推定し、その原因HMMの状態を要素とする状態ベクトルを、プラン制御部36に供給する。
以下、図5のステップS21ないし24の各処理について、さらに説明する。
なお、図3の学習認識部12mに記憶されたHMMを、m番目のHMM#mともいい、そのHMM#mの状態数を、N(m)と表すこととする。
また、以下、適宜、m番目のHMM#mのi番目の状態Si(i=1,2,・・・,N(m))を、Sm iと表すこととする。例えば、状態S2 5は2番目のHMM#2の状態S5を表す。
さらに、1ないしN(m)の範囲の任意の整数を、i(m)と表すこととすると、M個のHMM#1ないしHMM#Mのそれぞれにおいて、ある状態Sm i(m)にいることは、状態Sm i(m)を要素とするM次元のベクトルである状態ベクトル[S1 i(1),S2 i(2),・・・,SM i(M)]で表される。
ここで、状態ベクトルの各次元の要素がどのHMMの状態を表すのかが明らかな場合、記述を簡単にするため、状態ベクトルの要素になっているHMMの状態を、何番目の状態であるかを示す数字で表す。
例えば、HMM#1,#2、及び、#3において、それぞれ、状態S1 5,S2 7、及び、S3 11にいることは、状態ベクトル[S1 5,S2 7,S3 11]=[5,7,11]で表される。また、例えば、HMM#1,#2、及び、#3のうちの、HMM#2及び#3に注目している場合、状態ベクトルは、注目しているHMM#2及び#3の状態のみを要素とするベクトル[S2 7,S3 11]=[7,11]で表される。
ステップS21の因果学習用データ取得処理(図5)では、まず、状態カウンタと遷移カウンタのカウント値が、0にリセットされる。
すなわち、因果学習用データ取得部51(図5)は、状態カウンタと遷移カウンタを内蔵しており、因果学習用データ取得処理の開始時に、状態カウンタと遷移カウンタのカウント値を、0にリセットする。
なお、因果学習用データ取得部51は、因果学習用データ取得処理の開始時に、状態カウンタと遷移カウンタをリセットする他、状態カウンタと遷移カウンタの時刻(を表す変数)tを0にリセットする。
状態カウンタと遷移カウンタのカウント値は、時刻tの経過とともに、γ=0.999等のあらかじめ定められた減衰率γに従って減衰させることができる。
因果学習用データ取得部51は、学習認識部121ないし12M(図3)それぞれからの時刻tのHMM#1ないし#Mそれぞれの状態(現在状態)と、1時刻前の時刻t-1のHMM#1ないし#Mそれぞれの状態(現在状態)とを比較し、時刻tとt-1とで状態が異なるHMMをリストアップする。
そして、因果学習用データ取得部51は、M個のHMM#1ないし#Mから選択するHMMの数を表す変数Lを、1,2,・・・,M-1に順次変えて、各値のLについて、以下の処理を行う。
ここで、M個のHMM#1ないし#Mの中からL+1個のHMMを選択したときのD=MCL+1通りのHMMの組み合わせのうちの、d番目(d=1,2,・・・,D)のHMMの組み合わせを、cM(L+1;)(d)と表す。
また、D=MCL+1通りのHMMの組み合わせのうちの、d番目のHMMの組み合わせcM(L+1;)(d)であるL+1個のHMMのうちの、c番目(c=1,2,・・・,L+1)のHMMの1つの状態S(d,c)を、c番目の要素とするL+1次元のベクトルである状態ベクトルを、V(cM(L+1;)(d))=[S(d,1),S(d,2),・・・,S(d,L+1)]と表す。
状態カウンタは、L+1次元の状態ベクトルV(cM(L+1;)(d))に対応して設けられており、以下、適宜、状態ベクトルV(cM(L+1;)(d))に対応する状態カウンタ、及び、そのカウント値を、NS(V(cM(L+1;)(d)))と表す。
いま、d番目のHMMの組み合わせcM(L+1;)(d)であるL+1個のHMMのそれぞれの時刻tの現在状態を要素とするL+1次元の状態ベクトルV(cM(L+1;)(d))を、vS(t)と表すこととする。
因果学習用データ取得部51(図4)は、時刻tにおいて、1時刻前の時刻t-1のL+1次元の状態ベクトルvS(t-1)に対応する状態カウンタNS(vS(t-1))を、1だけインクリメントする。
したがって、状態カウンタNS(V(cM(L+1;)(d)))によれば、対応する状態ベクトルV(cM(L+1;)(d))の要素になっているL+1個のHMMの状態S(d,1),S(d,2),・・・,S(d,L+1)が、同時に、現在状態になった回数(状態S(d,1),S(d,2),・・・,S(d,L+1)に、同時にいた回数)がカウントされる。
また、M個のHMMのうちの、時刻tにおいて、現在状態が(時刻t-1の現在状態から)変化(遷移)したHMMを、遷移有りHMMということとすると、因果学習用データ取得部51は、遷移有りHMMを、順次、注目HMMとして注目し、注目HMMについて、以下の処理を行う。
すなわち、注目HMMが、M個のHMMのうちの、m'番目のHMM#m'であるとすると、因果学習用データ取得部51は、M個のHMMからHMM#m'を除いたM-1個のHMMの中から、L個のHMMを選択したときのD=M-1CL通りのHMMの組み合わせのうちの、d番目(d=1,2,・・・,D)のHMMの組み合わせを、cM(L;m')(d)と表す。
また、D=M-1CL通りのHMMの組み合わせのうちの、d番目のHMMの組み合わせcM(L;m')(d)であるL個のHMMのうちの、c番目(c=1,2,・・・,L)のHMMの1つの状態S(d,c)を、c番目の要素とするL次元のベクトルである状態ベクトルを、V(cM(L;m')(d))=[S(d,1),S(d,2),・・・,S(d,L)]と表す。
遷移カウンタは、L次元の状態ベクトルV(cM(L;m')(d))と、HMM#m'で生じる状態遷移Tij(以下、T(m')ijとも表す)とのセットに対応して設けられており、以下、適宜、状態ベクトルV(cM(L;m')(d))と状態遷移T(m')ijとのセットに対応する遷移カウンタ、及び、そのカウント値を、NT(T(m')ij,V(cM(L;m')(d)))と表す。
いま、d番目のHMMの組み合わせcM(L;m')(d)であるL個のHMMそれぞれの時刻tの現在状態を要素とするL次元の状態ベクトルV(cM(L;m')(d))を、vT(t)と表すこととする。
また、状態ベクトルvT(t)の要素になっているL個のHMMの状態が現在状態になっているとき(直後)に、HMM#m'において生じた状態遷移を、T(t)と表すこととする。
因果学習用データ取得部51(図4)は、時刻tにおいて、1時刻前の時刻t-1のL次元の状態ベクトルvT(t-1)と状態遷移T(t-1)に対応する遷移カウンタNT(T(t-1),vT(t-1))を、1だけインクリメントする。
したがって、遷移カウンタNT(T(m')ij,V(cM(L;m')(d)))によれば、HMM#m'において、対応する状態遷移T(m')ijが生じたときに、対応する状態ベクトルV(cM(L;m')(d))の要素になっているL個のHMMの状態S(d,1),S(d,2),・・・,S(d,L)が、同時に、現在状態になっていた回数(状態S(d,1),S(d,2),・・・,S(d,L)に、同時にいた回数)がカウントされる。
因果学習用データ取得部51は、状態カウンタNS(V(cM(L+1;)(d)))、及び、遷移カウンタNT(T(m')ij,V(cM(L;m')(d)))のカウントを、因果学習用データ取得処理として行い、その状態カウンタのカウント値NS(V(cM(L+1;)(d)))、及び、遷移カウンタのカウント値NT(T(m')ij,V(cM(L;m')(d)))を、因果学習用データとして取得する。
状態カウンタNS(V(cM(L+1;)(d)))、及び、遷移カウンタNT(T(m')ij,V(cM(L;m')(d)))のカウントの具体例について説明する。
図6は、学習認識部121ないし12Mに記憶されるHMMの例を示す図である。
図6では、M=3であり、3個のHMM#1,#2,#3が存在する。
また、図6において、HMM#1の状態数N(1)は、状態S1 1,S1 2の2個に、HMM#2の状態数N(2)は、状態S2 1,S2 2,S2 3,S2 4の4個に、HMM#3の状態数N(3)は、状態S3 1,S3 2,S3 3の3個に、それぞれなっている。
さらに、HMM#1ないし#3それぞれの現在状態S1 now,S2 now、及び、S3 nowを要素とする状態ベクトルを、[S1 now,S2 now,S3 now]と表すこととすると、時刻t=0ないしt=5において、ある観測値の時系列が観測されたときの状態ベクトル[S1 now,S2 now,S3 now]が、例えば、以下のようになったとする。
t=0:[1,1,1]
t=1:[1,2,1]
t=2:[1,2,1]
t=3:[2,2,1]
t=4:[2,4,3]
t=5:[3,4,5]
・・・(1)
式(1)において、例えば、時刻t=0の状態ベクトル[1,1,1]は、HMM#1ないし#3それぞれの現在状態S1 now,S2 now、及び、S3 nowが、いずれも状態S1(以下、状態#1とも記載する)であることを表す。また、時刻t=1の状態ベクトル[1,2,1]は、HMM#1の現在状態S1 nowが状態#1であり、HMM#2の現在状態S2 nowが状態#2であり、HMM#3の現在状態S3 nowが状態#1であることを表す。
Lは、値1,2,・・・,M-1をとるため、M=3である場合には、Lは、値1,2をとる。M=3個のHMM#1ないし#3の中からL+1個のHMMを選択したときのD=MCL+1通りのHMMの組み合わせは、{1,2},{1,3},{2,3},{1,2,3}になる。
ここで、例えば、{1,2}は、HMM#1及び#2の組み合わせを表す。
HMMの組み合わせ{1,2}、{1,3},{2,3},{1,2,3}のうちの、d番目(d=1,2,・・・,D)のHMMの組み合わせが、上述のcM(L+1;)(d)で表される。
あるHMMの組み合わせに関して、HMMの状態を要素とする状態ベクトルは、その組み合わせに含まれるHMMの状態の数を乗算した数になる。
したがって、HMMの組み合わせ{1,2}(HMM#1及び#2の組み合わせ)に注目したとき、その組み合わせ{1,2}に含まれるHMM#1の状態の数N(1)とHMM#2の状態の数N(2)は、それぞれ、2と4であるから、HMMの組み合わせ{1,2}の状態(HMMの組み合わせ{1,2}のHMM#1及び#2の状態)を要素とする状態ベクトルとしては、8(=2×4)通りのベクトルが存在する。
すなわち、注目するHMMの組み合わせ{1,2}に含まれないHMM#3の状態に対応する要素を「-」で表すこととすると、HMMの組み合わせ{1,2}のHMM#1及び#2それぞれの状態を要素とする状態ベクトルとしては、[1,1,-]、[1,2,-],[1,3,-],[1,4,-],[2,1,-],[2,2,-],[2,3,-],[2,4,-]の8通りのベクトルが存在する。
同様に、HMMの組み合わせ{1,3}のHMM#1及び#3それぞれの状態を要素とする状態ベクトルとしては、HMM#1の状態の数N(1)が2で、HMM#3の状態の数N(3)が3であるから、6(=2×3)通りのベクトルが存在する。また、HMMの組み合わせ{2,3}のHMM#2及び#3それぞれの状態を要素とする状態ベクトルとしては、HMM#2の状態の数N(2)が4で、HMM#3の状態の数N(3)が3であるから、12(=4×3)通りのベクトルが存在する。さらに、HMMの組み合わせ{1,2,3}のHMM#1ないし#3それぞれの状態を要素とする状態ベクトルとしては、HMM#1の状態の数N(1)が2で、HMM#2の状態の数N(1)が4で、HMM#3の状態の数N(3)が3であるから、24(=2×4×3)通りのベクトルが存在する。
状態カウンタNS(V(cM(L+1;)(d)))は、L+1次元の状態ベクトルV(cM(L+1;)(d))に対応して設けられるので、図6の3個のHMM#1ないし#3については、50(=8+6+12+24)個の状態カウンタNS(V(cM(L+1;)(d)))が設けられる。
上述したように、Lが、値1,2をとる場合において、M=3個のHMM#1ないし#3から、例えば、m'=1に対応するHMM#1を除いたM-1=2個のHMM#2及び#3の中から、L個のHMMを選択したときのD=M-1CL通りのHMMの組み合わせは、{2},{3},{2,3}になる。
また、HMMの組み合わせ{2},{3},{2,3}のうちの、d番目(d=1,2,・・・,D)のHMMの組み合わせが、上述のcM(L;1)(d)で表される。
上述したように、あるHMMの組み合わせの状態を要素とする状態ベクトルは、その組み合わせに含まれるHMMの状態の数を乗算した数になるので、HMMの組み合わせ{2},{3},{2,3}のうちの、例えば、HMMの組み合わせ{2}(HMM#2のみの組み合わせ)に注目したとき、その組み合わせ{2}に含まれるHMM#2の状態の数N(2)は、4であるから、HMMの組み合わせ{2}の状態を要素とする状態ベクトルとしては、4通りのベクトルが存在する。
すなわち、注目するHMMの組み合わせ{2}を得るときの選択の対象から除かれるHMM#1の状態に対応する要素を、「*」で、注目するHMMの組み合わせ{2}に含まれないHMM#3の状態に対応する要素を「-」で、それぞれ表すこととすると、HMMの組み合わせ{2}のHMM#2の状態を要素とする状態ベクトルとしては、[*,1,-],[*,2,-],[*,3,-],[*,4,-]の4通りのベクトルが存在する。
同様に、HMMの組み合わせ{3}のHMM#3の状態を要素とする状態ベクトルとしては、HMM#3の状態の数N(3)が3であるから、3通りのベクトルが存在する。また、HMMの組み合わせ{2,3}のHMM#2及び#3それぞれの状態を要素とする状態ベクトルとしては、HMM#2の状態の数N(2)が4で、HMM#3の状態の数N(3)が3であるから、12(=4×3)通りのベクトルが存在する。
したがって、m'=1については、L次元の状態ベクトルV(cM(L;1)(d))として、19(=4+3+12)通りのベクトルが存在する。
上述したように、遷移カウンタは、L次元の状態ベクトルV(cM(L;m')(d))と、HMM#m'で生じる状態遷移T(m')ijとのセットに対応して設けられる。
図6において、HMM#1の状態遷移T(m')ijとしては、状態#1から#2への状態遷移T(1)12と、状態#2から#1への状態遷移T(1)21との2通りが存在する。
したがって、m'=1については、19(=4+3+12)通りの状態ベクトルV(cM(L;1)(d))と、2通りの状態遷移T(1)ijとのセットに対応して、19×2個の遷移カウンタNT(V(cM(L;1)(d)))が設けられる。
次に、M=3個のHMM#1ないし#3から、例えば、m'=2に対応するHMM#2を除いたM-1=2個のHMM#1及び#3の中から、L個のHMMを選択したときのD=M-1CL通りのHMMの組み合わせは、{1},{3},{1,3}になる。
また、HMMの組み合わせ{1},{3},{1,3}のうちの、d番目(d=1,2,・・・,D)のHMMの組み合わせが、上述のcM(L;2)(d)で表される。
上述したように、あるHMMの組み合わせの状態を要素とする状態ベクトルは、その組み合わせに含まれるHMMの状態の数を乗算した数になるので、HMMの組み合わせ{1},{3},{1,3}のうちの、例えば、HMMの組み合わせ{1}に注目したとき、その組み合わせ{1}に含まれるHMM#1の状態の数N(1)は、2であるから、HMMの組み合わせ{1}の状態を要素とする状態ベクトルとしては、2通りのベクトルが存在する。
すなわち、注目するHMMの組み合わせ{1}を得るときの選択の対象から除かれるHMM#2の状態に対応する要素を、「*」で、注目するHMMの組み合わせ{1}に含まれないHMM#3の状態に対応する要素を「-」で、それぞれ表すこととすると、HMMの組み合わせ{1}のHMM#1の状態を要素とする状態ベクトルとしては、[1,*,-],[2,*,-]の2通りのベクトルが存在する。
同様に、HMMの組み合わせ{3}のHMM#3の状態を要素とする状態ベクトルとしては、HMM#3の状態の数N(3)が3であるから、3通りのベクトルが存在する。また、HMMの組み合わせ{1,3}のHMM#1及び#3それぞれの状態を要素とする状態ベクトルとしては、HMM#1の状態の数N(1)が2で、HMM#3の状態の数N(3)が3であるから、6(=2×3)通りのベクトルが存在する。
したがって、m'=2については、L次元の状態ベクトルV(cM(L;2)(d))として、11(=2+3+6)通りのベクトルが存在する。
一方、図6において、HMM#2の状態遷移T(m')ijとしては、状態#1から#2への状態遷移T(2)12、状態#2から#1への状態遷移T(2)21、状態#1から#3への状態遷移T(2)13、状態#3から#1への状態遷移T(2)31、状態#1から#4への状態遷移T(2)14、状態#4から#1への状態遷移T(2)41、状態#2から#3への状態遷移T(2)23、状態#3から#2への状態遷移T(2)32、状態#2から#4への状態遷移T(2)24、状態#4から#2への状態遷移T(2)42、状態#3から#4への状態遷移T(2)34、及び、状態#4から#3への状態遷移T(2)43の12通りが存在する。
遷移カウンタNT(V(cM(L;m')(d)))は、L次元の状態ベクトルV(cM(L;m')(d))と、HMM#m'の状態遷移T(m')ijとのセットに対応して設けられるので、m'=2については、11通りの状態ベクトルV(cM(L;2)(d))と、12通りの状態遷移T(2)ijとのセットに対応して、11×12個の遷移カウンタNT(V(cM(L;2)(d)))が設けられる。
次に、M=3個のHMM#1ないし#3から、例えば、m'=3に対応するHMM#3を除いたM-1=2個のHMM#1及び#2の中から、L個のHMMを選択したときのD=M-1CL通りのHMMの組み合わせは、{1},{2}、{1,2}になる。
また、HMMの組み合わせ{1},{2}、{1,2}のうちの、d番目(d=1,2,・・・,D)のHMMの組み合わせが、上述のcM(L;3)(d)で表される。
上述したように、あるHMMの組み合わせの状態を要素とする状態ベクトルは、その組み合わせに含まれるHMMの状態の数を乗算した数になるので、HMMの組み合わせ{1},{2}、{1,2}のうちの、例えば、HMMの組み合わせ{1}に注目したとき、その組み合わせ{1}に含まれるHMM#1の状態の数N(1)は、2であるから、HMMの組み合わせ{1}の状態を要素とする状態ベクトルとしては、2通りのベクトルが存在する。
すなわち、注目するHMMの組み合わせ{1}を得るときの選択の対象から除かれるHMM#3の状態に対応する要素を、「*」で、注目するHMMの組み合わせ{1}に含まれないHMM#2の状態に対応する要素を「-」で、それぞれ表すこととすると、HMMの組み合わせ{1}のHMM#1の状態を要素とする状態ベクトルとしては、[1,-,*],[2,-,*]の2通りのベクトルが存在する。
同様に、HMMの組み合わせ{2}のHMM#2の状態を要素とする状態ベクトルとしては、HMM#2の状態の数N(2)が4であるから、4通りのベクトルが存在する。また、HMMの組み合わせ{1,2}のHMM#1及び#2それぞれの状態を要素とする状態ベクトルとしては、HMM#1の状態の数N(1)が2で、HMM#2の状態の数N(2)が4であるから、8(=2×4)通りのベクトルが存在する。
したがって、m'=3については、L次元の状態ベクトルV(cM(L;3)(d))として、14(=2+4+8)通りのベクトルが存在する。
一方、図6において、HMM#3の状態遷移T(m')ijとしては、状態#1から#2への状態遷移T(3)12、状態#2から#1への状態遷移T(3)21、状態#1から#3への状態遷移T(3)13、状態#3から#1への状態遷移T(3)31、状態#2から#3への状態遷移T(3)23、及び、状態#3から#2への状態遷移T(3)32、の6通りが存在する。
遷移カウンタNT(V(cM(L;m')(d)))は、L次元の状態ベクトルV(cM(L;m')(d))と、HMM#m'の状態遷移T(m')ijとのセットに対応して設けられるので、m'=3については、14通りの状態ベクトルV(cM(L;3)(d))と、6通りの状態遷移T(3)ijとのセットに対応して、14×6個の遷移カウンタNT(V(cM(L;3)(d)))が設けられる。
因果学習用データ取得部51は、学習認識部121ないし12Mそれぞれから、各時刻tの現在状態が供給されると、時刻tの現在状態と、その1時刻前の時刻t-1の現在状態とに基づき、状態カウンタNS(V(cM(L+1;)(d)))、及び、遷移カウンタNT(T(m')ij,V(cM(L;m')(d)))をインクリメントする。
すなわち、例えば、時刻t=1では、因果学習用データ取得部51には、式(1)に示したように、HMM#1ないし#3それぞれの現在状態を要素とする状態ベクトル(以下、現在状態ベクトルともいう)[1,2,1]が供給される。
因果学習用データ取得部51は、時刻t=1において、その時刻t=1の現在状態ベクトル[1,2,1]と、その1時刻前の時刻t=0の現在状態ベクトル[1,1,1]とを比較し、HMM#1ないし#3の中から、状態遷移(状態の変化)があったHMMを、遷移有りHMMとしてリストアップする。
時刻t=1では、HMM#2が、遷移有りHMMとしてリストアップされる。
また、因果学習用データ取得部51は、L=1,2の各値のLについてのD=MCL+1通りのHMMの組み合わせ{1,2}、{1,3},{2,3},{1,2,3}に、順次、注目する。
そして、因果学習用データ取得部51は、注目するHMMの組み合わせのHMMの状態を要素とするL+1次元の状態ベクトルV(cM(L+1;)(d))のうちの、1時刻前の時刻t=0の現在状態ベクトル[1,1,1]の要素である時刻t=0のHMM#1ないし#3の現在状態に一致する状態を要素とする状態ベクトルV(cM(L+1;)(d))=vS(0)に対応する状態カウンタNS(V(cM(L+1;)(d)))を1だけインクリメントする。
すなわち、HMMの組み合わせ{1,2}に注目したとき、HMMの組み合わせ{1,2}のHMM#1及び#2それぞれの状態を要素とする状態ベクトルとしては、上述したように、[1,1,-]、[1,2,-],[1,3,-],[1,4,-],[2,1,-],[2,2,-],[2,3,-],[2,4,-]の8通りのベクトルが存在する。
HMMの組み合わせ{1,2}については、8通りの状態ベクトル[1,1,-]、[1,2,-],[1,3,-],[1,4,-],[2,1,-],[2,2,-],[2,3,-],[2,4,-]のうちの、1時刻前の時刻t=0におけるHMMの組み合わせ{1,2}であるHMM#1及び#2の現在状態S1 1及びS2 1を要素とする状態ベクトル[1,1,-]に対応する状態カウンタが1だけインクリメントされる。
HMMの組み合わせ{1,3}に注目したとき、HMMの組み合わせ{1,3}のHMM#1及び#3それぞれの状態を要素とする状態ベクトルとしては、上述したように、6通りのベクトルが存在する。
HMMの組み合わせ{1,3}については、6通りの状態ベクトルのうちの、1時刻前のt=0におけるHMMの組み合わせ{1,3}であるHMM#1及び#3の現在状態S1 1及びS3 1を要素とする状態ベクトル[1,-,1]に対応する状態カウンタが1だけインクリメントされる。
HMMの組み合わせ{2,3}に注目したとき、HMMの組み合わせ{2,3}のHMM#2及び#3それぞれの状態を要素とする状態ベクトルとしては、上述したように、12通りのベクトルが存在する。
HMMの組み合わせ{2,3}については、12通りの状態ベクトルのうちの、1時刻前のt=0におけるHMMの組み合わせ{2,3}であるHMM#2及び#3の現在状態S2 1及びS3 1を要素とする状態ベクトル[-,1,1]に対応する状態カウンタが1だけインクリメントされる。
HMMの組み合わせ{1,2,3}に注目したとき、HMMの組み合わせのHMM#1ないし#3それぞれの状態を要素とする状態ベクトルとしては、上述したように、24通りのベクトルが存在する。
HMMの組み合わせ{1,2,3}については、24通りの状態ベクトルのうちの、1時刻前のt=0におけるHMMの組み合わせ{1,2,3}であるHMM#1ないし#3の現在状態S1 1,S2 1、及び、S3 1を要素とする状態ベクトル[1,1,1]に対応する状態カウンタが1だけインクリメントされる。
以上のように、時刻t=1では、4個の状態ベクトル[1,1,-]、[1,-,1],[-,1,1],[1,1,1]それぞれに対応する状態カウンタが1だけインクリメントされる。
また、因果学習用データ取得部51は、遷移有りHMMに、順次、注目し、さらに、注目する遷移有りHMM#m'以外のHMMの中からL個のHMMを選択したときの、L=1,2の各値のLについてのD=M-1CL通りのHMMの組み合わせに、順次、注目する。
そして、因果学習用データ取得部51は、注目するHMMの組み合わせのHMMの状態を要素とするL次元の状態ベクトルV(cM(L;m')(d))のうちの、1時刻前の時刻t=0の現在状態ベクトル[1,1,1]の要素である時刻t=0の現在状態に一致する状態を要素とする状態ベクトルV(cM(L;m')(d))=vT(0)と、注目する遷移有りHMM#m'において生じた状態遷移T(m')ij=T(0)に対応する遷移カウンタNT(T(m')ij,V(cM(L;m')(d)))を1だけインクリメントする。
すなわち、式(1)において、時刻t=1では、遷移有りHMMは、HMM#2のみであり、そのHMM#2に生じている状態遷移は、状態#1から状態#2への状態遷移T(2)12である。
さらに、時刻t=1において、遷移有りHMMであるHMM#2に注目した場合に、その遷移有りHMM#2以外のHMMの中からL個のHMMを選択したときのD=M-1CL通りのHMMの組み合わせとしては、組み合わせ{1},{3},{1,3}がある。
そして、HMMの組み合わせ{1}に注目したとき、HMMの組み合わせ{1}のHMM#1の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t=0におけるHMMの組み合わせ{1}であるHMM#1の現在状態S1 1を要素とする状態ベクトル[1,*,-]と、遷移有りHMMであるHMM#2の状態遷移T(2)12とのセットに対応する遷移カウンタが1だけインクリメントされる。
HMMの組み合わせ{3}に注目したとき、HMMの組み合わせ{3}のHMM#3の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t=0におけるHMMの組み合わせ{3}であるHMM#3の現在状態S3 1を要素とする状態ベクトル[-,*,1]と、遷移有りHMMであるHMM#2の状態遷移T(2)12とのセットに対応する遷移カウンタが1だけインクリメントされる。
HMMの組み合わせ{1,3}に注目したとき、HMMの組み合わせ{1,3}のHMM#1及び#3の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t=0におけるHMMの組み合わせ{1,3}であるHMM#1及び#3の現在状態S1 1及びS3 1を要素とする状態ベクトル[1,*,1]と、遷移有りHMMであるHMM#2の状態遷移T(2)12とのセットに対応する遷移カウンタが1だけインクリメントされる。
以上のように、現在状態ベクトルが、[1,1,1]から[1,2,1]に遷移(変化)した時刻t=1では、状態ベクトル[1,*,-],[-,*,1]、及び、[1,*,1]それぞれと、状態遷移T(2)12とのセットそれぞれに対応する遷移カウンタが1だけインクリメントされる。
時刻t=2では、因果学習用データ取得部51には、式(1)に示したように、現在状態ベクトル[1,2,1]が供給される。
時刻t=2では、現在状態ベクトル[1,2,1]が、1時刻前の時刻t=1の現在状態ベクトル[1,2,1]と一致しているため、因果学習用データ取得部51では、遷移有りHMMは、リストアップされない。
遷移有りHMMがリストアップされない場合、因果学習用データ取得部51では、状態カウンタのインクリメントが行われるが、遷移カウンタのインクリメントは行われない。
すなわち、因果学習用データ取得部51は、L=1,2の各値のLについての、D=MCL+1通りのHMMの組み合わせ{1,2}、{1,3},{2,3},{1,2,3}に、順次、注目する。
そして、因果学習用データ取得部51は、注目するHMMの組み合わせのHMMの状態を要素とするL+1次元の状態ベクトルV(cM(L+1;)(d))のうちの、1時刻前の時刻t=1の現在状態ベクトル[1,2,1]の要素である時刻t=1の現在状態に一致する状態を要素とする状態ベクトルV(cM(L+1;)(d))=vS(1)に対応する状態カウンタNS(V(cM(L+1;)(d)))を1だけインクリメントする。
具体的には、HMMの組み合わせ{1,2}に注目したとき、HMMの組み合わせ{1,2}のHMM#1及び#2それぞれの状態を要素とする状態ベクトルのうちの、1時刻前の時刻t=1におけるHMM#1及び#2の現在状態S1 1及びS2 2を要素とする状態ベクトル[1,2,-]に対応する状態カウンタが1だけインクリメントされる。
HMMの組み合わせ{1,3}に注目したとき、HMMの組み合わせ{1,3}のHMM#1及び#3それぞれの状態を要素とする状態ベクトルのうちの、1時刻前のt=1におけるHMM#1及び#3の現在状態S1 1及びS3 1を要素とする状態ベクトル[1,-,1]に対応する状態カウンタが1だけインクリメントされる。
HMMの組み合わせ{2,3}に注目したとき、HMMの組み合わせ{2,3}のHMM#2及び#3それぞれの状態を要素とする状態ベクトルのうちの、1時刻前のt=1におけるHMM#2及び#3の現在状態S2 2及びS3 1を要素とする状態ベクトル[-,2,1]に対応する状態カウンタが1だけインクリメントされる。
HMMの組み合わせ{1,2,3}に注目したとき、HMMの組み合わせのHMM#1ないし#3それぞれの状態を要素とする状態ベクトルのうちの、1時刻前のt=1におけるHMM#1ないし#3の現在状態S1 1,S2 2、及び、S3 1を要素とする状態ベクトル[1,2,1]に対応する状態カウンタが1だけインクリメントされる。
以上のように、時刻t=2では、4個の状態ベクトル[1,2,-]、[1,-,1],[-,2,1],[1,2,1]それぞれに対応する状態カウンタが1だけインクリメントされる。
時刻t=3では、因果学習用データ取得部51には、式(1)に示したように、現在状態ベクトル[2,2,1]が供給される。
因果学習用データ取得部51は、時刻t=3において、その時刻t=3の現在状態ベクトル[2,2,1]と、その1時刻前の時刻t=2の現在状態ベクトル[1,2,1]とを比較し、HMM#1ないしH#の中から、状態遷移(状態の変化)があったHMMであるHMM#1を、遷移有りHMMとしてリストアップする。
また、因果学習用データ取得部51は、各値のLについての、D=MCL+1通りのHMMの組み合わせ{1,2}、{1,3},{2,3},{1,2,3}に、順次、注目する。
そして、因果学習用データ取得部51は、注目するHMMの組み合わせのHMMの状態を要素とするL+1次元の状態ベクトルV(cM(L+1;)(d))のうちの、1時刻前の時刻t=2の現在状態ベクトル[1,2,1]の要素である時刻t=2の現在状態に一致する状態を要素とする状態ベクトルV(cM(L+1;)(d))=vS(2)に対応する状態カウンタNS(V(cM(L+1;)(d)))を1だけインクリメントする。
具体的には、HMMの組み合わせ{1,2}に注目したとき、HMMの組み合わせ{1,2}のHMM#1及び#2それぞれの状態を要素とする状態ベクトルのうちの、1時刻前の時刻t=2におけるHMM#1及び#2の現在状態S1 1及びS2 2を要素とする状態ベクトル[1,2,-]に対応する状態カウンタが1だけインクリメントされる。
HMMの組み合わせ{1,3}に注目したとき、HMMの組み合わせ{1,3}のHMM#1及び#3それぞれの状態を要素とする状態ベクトルのうちの、1時刻前のt=2におけるHMM#1及び#3の現在状態S1 1及びS3 1を要素とする状態ベクトル[1,-,1]に対応する状態カウンタが1だけインクリメントされる。
HMMの組み合わせ{2,3}に注目したとき、HMMの組み合わせ{2,3}のHMM#2及び#3それぞれの状態を要素とする状態ベクトルのうちの、1時刻前のt=2におけるHMM#2及び#3の現在状態S2 2及びS3 1を要素とする状態ベクトル[-,2,1]に対応する状態カウンタが1だけインクリメントされる。
HMMの組み合わせ{1,2,3}に注目したとき、HMMの組み合わせのHMM#1ないし#3それぞれの状態を要素とする状態ベクトルのうちの、1時刻前のt=2におけるHMM#1ないし#3の現在状態S1 1,S2 2、及び、S3 1を要素とする状態ベクトル[1,2,1]に対応する状態カウンタが1だけインクリメントされる。
以上のように、時刻t=3では、4個の状態ベクトル[1,2,-]、[1,-,1],[-,2,1],[1,2,1]それぞれに対応する状態カウンタが1だけインクリメントされる。
また、因果学習用データ取得部51は、遷移有りHMMに、順次、注目し、さらに、注目する遷移有りHMM#m'以外のHMMの中からL個のHMMを選択したときの、各値のLについてのD=M-1CL通りのHMMの組み合わせに、順次、注目する。
そして、因果学習用データ取得部51は、注目するHMMの組み合わせのHMMの状態を要素とするL次元の状態ベクトルV(cM(L;m')(d))のうちの、1時刻前の時刻t=2の現在状態ベクトル[1,2,1]の要素である時刻t=2の現在状態に一致する状態を要素とする状態ベクトルV(cM(L;m')(d))=vT(2)と、注目する遷移有りHMM#m'において生じた状態遷移T(m')ij=T(2)に対応する遷移カウンタNT(T(m')ij,V(cM(L;m')(d)))を1だけインクリメントする。
すなわち、式(1)において、時刻t=3では、遷移有りHMMは、HMM#1のみであり、そのHMM#1に生じている状態遷移は、状態#1から状態#2への状態遷移T(1)12である。
さらに、時刻t=3において、遷移有りHMMであるHMM#1に注目した場合に、その遷移有りHMM#1以外のHMMの中からL個のHMMを選択したときの、各値のLについてのD=M-1CL通りのHMMの組み合わせとしては、組み合わせ{2},{3},{2,3}がある。
そして、HMMの組み合わせ{2}に注目したとき、HMMの組み合わせ{2}のHMM#2の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t=2におけるHMM#2の現在状態S2 2を要素とする状態ベクトル[*,2,-]と、遷移有りHMMであるHMM#1の状態遷移T(1)12とのセットに対応する遷移カウンタが1だけインクリメントされる。
HMMの組み合わせ{3}に注目したとき、HMMの組み合わせ{3}のHMM#3の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t=2におけるHMM#3の現在状態S3 1を要素とする状態ベクトル[*,-,1]と、遷移有りHMMであるHMM#1の状態遷移T(1)12とのセットに対応する遷移カウンタが1だけインクリメントされる。
HMMの組み合わせ{2,3}に注目したとき、HMMの組み合わせ{2,3}のHMM#2及び#3の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t=2におけるHMM#2及び#3の現在状態S2 2及びS3 1を要素とする状態ベクトル[*,2,1]と、遷移有りHMMであるHMM#1の状態遷移T(1)12とのセットに対応する遷移カウンタが1だけインクリメントされる。
以上のように、現在状態ベクトルが、[1,2,1]から[2,2,1]に遷移(変化)した時刻t=3では、状態ベクトル[*,2,-],[*,-,1],[*,2,1]それぞれと、状態遷移T(1)12とのセットそれぞれに対応する遷移カウンタが1だけインクリメントされる。
時刻t=4では、因果学習用データ取得部51には、式(1)に示したように、現在状態ベクトル[2,4,3]が供給される。
因果学習用データ取得部51は、時刻t=4において、その時刻t=4の現在状態ベクトル[2,4,3]と、その1時刻前の時刻t=2の現在状態ベクトル[2,2,1]とを比較し、HMM#1ないしH#の中から、状態遷移(状態の変化)があったHMMであるHMM#2及び#3を、遷移有りHMMとしてリストアップする。
また、因果学習用データ取得部51は、各値のLについてのD=MCL+1通りのHMMの組み合わせ{1,2}、{1,3},{2,3},{1,2,3}に、順次、注目する。
そして、因果学習用データ取得部51は、注目するHMMの組み合わせのHMMの状態を要素とするL+1次元の状態ベクトルV(cM(L+1;)(d))のうちの、1時刻前の時刻t=3の現在状態ベクトル[2,2,1]の要素である時刻t=3の現在状態に一致する状態を要素とする状態ベクトルV(cM(L+1;)(d))=vS(3)に対応する状態カウンタNS(V(cM(L+1;)(d)))を1だけインクリメントする。
具体的には、HMMの組み合わせ{1,2}に注目したとき、HMMの組み合わせ{1,2}のHMM#1及び#2それぞれの状態を要素とする状態ベクトルのうちの、1時刻前の時刻t=3におけるHMM#1及び#2の現在状態S1 2及びS2 2を要素とする状態ベクトル[2,2,-]に対応する状態カウンタが1だけインクリメントされる。
HMMの組み合わせ{1,3}に注目したとき、HMMの組み合わせ{1,3}のHMM#1及び#3それぞれの状態を要素とする状態ベクトルのうちの、1時刻前のt=3におけるHMM#1及び#3の現在状態S1 2及びS3 1を要素とする状態ベクトル[2,-,1]に対応する状態カウンタが1だけインクリメントされる。
HMMの組み合わせ{2,3}に注目したとき、HMMの組み合わせ{2,3}のHMM#2及び#3それぞれの状態を要素とする状態ベクトルのうちの、1時刻前のt=3におけるHMM#2及び#3の現在状態S2 2及びS3 1を要素とする状態ベクトル[-,2,1]に対応する状態カウンタが1だけインクリメントされる。
HMMの組み合わせ{1,2,3}に注目したとき、HMMの組み合わせのHMM#1ないし#3それぞれの状態を要素とする状態ベクトルのうちの、1時刻前のt=3におけるHMM#1ないし#3の現在状態S1 2,S2 2、及び、S3 1を要素とする状態ベクトル[2,2,1]に対応する状態カウンタが1だけインクリメントされる。
以上のように、時刻t=3では、4個の状態ベクトル[2,2,-]、[2,-,1],[-,2,1],[2,2,1]それぞれに対応する状態カウンタが1だけインクリメントされる。
また、因果学習用データ取得部51は、遷移有りHMMに、順次、注目し、さらに、注目する遷移有りHMM#m'以外のHMMの中からL個のHMMを選択したときの、各値のLについてのD=M-1CL通りのHMMの組み合わせに、順次、注目する。
そして、因果学習用データ取得部51は、注目するHMMの組み合わせのHMMの状態を要素とするL次元の状態ベクトルV(cM(L;m')(d))のうちの、1時刻前の時刻t=3の現在状態ベクトル[2,2,1]の要素である時刻t=3の現在状態に一致する状態を要素とする状態ベクトルV(cM(L;m')(d))=vT(3)と、注目する遷移有りHMM#m'において生じた状態遷移T(m')ij=T(3)に対応する遷移カウンタNT(T(m')ij,V(cM(L;m')(d)))を1だけインクリメントする。
すなわち、式(1)において、時刻t=4では、遷移有りHMMは、HMM#2及び#3であり、HMM#2に生じている状態遷移は、状態#2から状態#4への状態遷移T(2)24であり、HMM#3に生じている状態遷移は、状態#1から状態#3への状態遷移T(3)13である。
因果学習用データ取得部51は、遷移有りHMMであるHMM#2及び#3のうちの、例えば、HMM#2に注目する。
時刻t=4において、遷移有りHMMの1つであるHMM#2に注目した場合に、その遷移有りHMM#2以外のHMMの中からL個のHMMを選択したときの、各値のLについてのD=M-1CL通りのHMMの組み合わせとしては、組み合わせ{1},{3},{1,3}がある。
HMMの組み合わせ{1}に注目したとき、HMMの組み合わせ{1}のHMM#1の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t=3におけるHMM#1の現在状態S1 2を要素とする状態ベクトル[2,*,-]と、注目している遷移有りHMMであるHMM#2の状態遷移T(2)24とのセットに対応する遷移カウンタが1だけインクリメントされる。
HMMの組み合わせ{3}に注目したとき、HMMの組み合わせ{3}のHMM#3の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t=3におけるHMM#3の現在状態S3 1を要素とする状態ベクトル[-,*,1]と、遷移有りHMMであるHMM#2の状態遷移T(2)24とのセットに対応する遷移カウンタが1だけインクリメントされる。
HMMの組み合わせ{1,3}に注目したとき、HMMの組み合わせ{1,3}のHMM#1及び#3の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t=3におけるHMM#1及び#3の現在状態S1 2及びS3 1を要素とする状態ベクトル[2,*,1]と、遷移有りHMMであるHMM#2の状態遷移T(2)24とのセットに対応する遷移カウンタが1だけインクリメントされる。
その後、因果学習用データ取得部51は、遷移有りHMMであるHMM#2及び#3のうちの、残りのHMM#3に注目する。
時刻t=4において、遷移有りHMMの1つであるHMM#3に注目した場合に、その遷移有りHMM#3以外のHMMの中からL個のHMMを選択したときの、各値のLについてのD=M-1CL通りのHMMの組み合わせとしては、組み合わせ{1},{2},{1,2}がある。
HMMの組み合わせ{1}に注目したとき、HMMの組み合わせ{1}のHMM#1の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t=3におけるHMM#1の現在状態S1 2を要素とする状態ベクトル[2,-,*]と、注目している遷移有りHMMであるHMM#3の状態遷移T(3)13とのセットに対応する遷移カウンタが1だけインクリメントされる。
HMMの組み合わせ{2}に注目したとき、HMMの組み合わせ{2}のHMM#2の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t=3におけるHMM#2の現在状態S2 2を要素とする状態ベクトル[-,2,*]と、遷移有りHMMであるHMM#3の状態遷移T(3)13とのセットに対応する遷移カウンタが1だけインクリメントされる。
HMMの組み合わせ{1,2}に注目したとき、HMMの組み合わせ{1,2}のHMM#1及び#2の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t=3におけるHMM#1及び#2の現在状態S1 2及びS2 2を要素とする状態ベクトル[2,2,*]と、遷移有りHMMであるHMM#3の状態遷移T(3)13とのセットに対応する遷移カウンタが1だけインクリメントされる。
以上のように、現在状態ベクトルが、[2,2,1]から[2,4,3]に遷移(変化)した時刻t=4では、状態ベクトル[2,*,-],[-,*,1],[2,*,1]それぞれと、状態遷移T(2)34とのセットそれぞれに対応する遷移カウンタが1だけインクリメントされるとともに、状態ベクトル[2,-,*],[-,2,*},[2,2,*]それぞれと、状態遷移T(3)13とのセットそれぞれに対応する遷移カウンタが1だけインクリメントされる
以下、同様に、因果学習用データ取得部51は、時刻の経過に従って、学習認識部121ないし12Mから現在状態が供給されるごとに、状態カウンタ及び遷移カウンタのインクリメントを行う。
因果学習用データ取得部51は、状態カウンタのカウント値NS(V(cM(L+1;)(d)))、及び、遷移カウンタのカウント値NT(T(m')ij,V(cM(L;m')(d)))を、因果学習用データとして、因果学習部52に供給する。
次に、ステップS22の因果学習処理(図5)について説明する。
因果学習処理では、因果学習部52は、因果学習用データ取得部51からの因果学習用データとしての状態カウンタのカウント値NS(V(cM(L+1;)(d)))、及び、遷移カウンタのカウント値NT(T(m')ij,V(cM(L;m')(d)))を用いて、M個のHMMのうちの1つのHMMである第1のHMM#m'の状態遷移T(m')ijと、他の1つ以上のHMMである第2のHMMの状態としての状態ベクトルV(cM(L;m')(d))(状態ベクトルV(cM(L;m')(d))の要素となっている状態が現在状態になること)との間の因果関係を獲得する因果学習を行う。
HMM#m'の状態遷移T(m')ijの因果関係の学習(獲得)では、因果学習部52は、Lを、1,2,・・・,M-1に順次変えて、各値のLについて、以下の処理を行う。
すなわち、因果学習部52は、L次元の状態ベクトルV(cM(L;m')(d))=[S(d,1),S(d,2),・・・,S(d,L)]について、その状態ベクトルV(cM(L;m')(d))の要素となっている状態が現在状態になっているときに、状態遷移T(m')ijが生じる条件付き確率p(T(m')ij|V(cM(L;m')(d)))を求める。
条件付き確率p(T(m')ij|V(cM(L;m')(d)))は、因果学習用データとしての状態カウンタのカウント値NS(V(cM(L+1;)(d)))、及び、遷移カウンタのカウント値NT(T(m')ij,V(cM(L;m')(d)))を用いて求められる。
すなわち、因果学習部52は、L次元の状態ベクトルV(cM(L;m')(d))に、HMM#m'の状態遷移T(m')ijの遷移元の状態Sm' iを補って、HMM#m'の遷移元の状態Sm' iを要素として必ず含むL+1次元の状態ベクトル[Sm' i,V(cM(L;m')(d))]を生成し、その状態ベクトル[Sm' i,V(cM(L;m')(d))]に対応する状態カウンタのカウント値NS([Sm' i,V(cM(L;m')(d))])を取得する。
ここで、L+1次元の状態ベクトル[Sm' i,V(cM(L;m')(d))]は、L+1次元の状態ベクトルV(cM(L+1;)(d))に含まれるベクトルである。
状態ベクトル[Sm' i,V(cM(L;m')(d))]に対応する状態カウンタのカウント値NS([Sm' i,V(cM(L;m')(d))])が、0である場合、すなわち、いままで、HMM#m'を含むL+1個のHMMの組み合わせにおいて、状態ベクトル[Sm' i,V(cM(L;m')(d))]の要素になっている状態が、同時に、現在状態になったことがない場合、因果学習部52は、条件付き確率p(T(m')ij|V(cM(L;m')(d)))に、所定の値σ0を設定する。
ここで、所定の値σ0は、条件付き確率p(T(m')ij|V(cM(L;m')(d)))の最低確率を与える、0以上1以下の固定値である。
一方、状態ベクトル[Sm' i,V(cM(L;m')(d))]に対応する状態カウンタのカウント値NS([Sm' i,V(cM(L;m')(d))])が、1以上である場合、因果学習部52は、状態ベクトルV(cM(L;m')(d))と状態遷移T(m')ijとのセットに対応する遷移カウンタのカウント値NT(T(m')ij,V(cM(L;m')(d)))、すなわち、HMM#m'を含むL+1個のHMMの組み合わせにおいて、状態ベクトル[Sm' i,V(cM(L;m')(d))]の要素になっている状態が、同時に、現在状態になったときに、HMM#m'において状態遷移T(m')ijが生じた回数を取得する。
そして、因果学習部52は、遷移カウンタのカウント値NT(T(m')ij,V(cM(L;m')(d)))を、状態カウンタのカウント値NS([Sm' i,V(cM(L;m')(d))])で除算することにより、条件付き確率p(T(m')ij|V(cM(L;m')(d)))の期待値NT(T(m')ij,V(cM(L;m')(d)))/NS([Sm' i,V(cM(L;m')(d))])を、条件付き確率p(T(m')ij|V(cM(L;m')(d)))の暫定確率値p0として求める。
そして、因果学習部52は、例えば、式(2)にしたがい、暫定確率値p0を用いて、条件付き確率p(T(m')ij|V(cM(L;m')(d)))を求める。
p(T(m')ij|V(cM(L;m')(d)))=min{1,p0+σ}
・・・(2)
なお、式(2)において、min{1,p0+σ}は、1とp0+σのうちの小さい方の値を表す。
また、式(2)において、値σは、次式で表される。
σ=√((p0(1-p0)+σ0 2)/NS([Sm' i,V(cM(L;m')(d))]))
・・・(3)
因果学習部52は、条件付き確率p(T(m')ij|V(cM(L;m')(d)))が、あらかじめ決められた閾値(例えば、所定の値σ0より大の閾値)以上であるかどうかを判定し、条件付き確率p(T(m')ij|V(cM(L;m')(d)))が閾値以上である場合には、その条件付き確率p(T(m')ij|V(cM(L;m')(d)))を、状態ベクトルV(cM(L;m')(d))とともに、状態遷移T(m')ijに対応付けて、因子候補リストに登録する。
すなわち、因子候補リストには、状態遷移T(m')ijごとに、条件付き確率p(T(m')ij|V(cM(L;m')(d)))の高い順に状態ベクトルV(cM(L;m')(d))が登録される。
したがって、因子候補リストは、HMM#m'(第1のHMM)の状態遷移T(m')ijが生じる原因となる因子としての、HMMの組み合わせcM(L;m')(d)のHMMの状態(第2のHMMの状態)(状態ベクトルV(cM(L;m')(d))の要素になっている状態)のリスト、つまり、状態遷移T(m')ijと因果関係のある状態ベクトルV(cM(L;m')(d))のリストになる。
因子候補リストにおいて、状態遷移T(m')ijに対応付けて登録されている状態ベクトルV(cM(L;m')(d))(の要素になっている状態)が、その状態遷移T(m')ijが生じる原因となる因子の候補(因子候補)になる。
因果学習部52では、状態遷移T(m')ijと、状態ベクトルV(cM(L;m')(d))との間の因果関係が、因子候補リストにおいて、その状態遷移T(m')ijに、状態ベクトルV(cM(L;m')(d))を、条件付き確率p(T(m')ij|V(cM(L;m')(d)))とともに対応付けて登録するという形で獲得される。
学習認識部121ないし12M(図3)に記憶されるHMMが、図6に示したように、3個のHMM#1,#2,#3である場合(M=3)の、因果学習部52で行われる因果学習処理の具体例について説明する。
例えば、HMM#2の状態#1から状態#2への状態遷移T(2)12については(m'=2)、Lの値を1と2とした場合に、HMM#1ないし#3からHMM#2を除いたHMM#1及び#3の中からL個のHMMを選択したときの、各値のLについてのD=M-1CL通りのHMMの組み合わせcM(L;2)(d)として(d=1,2,・・・,D)、HMMの組み合わせ{1},{3},{1,3}が得られる。
上述したように、HMMの組み合わせ{1}については、その組み合わせ{1}に含まれるHMM#1の状態の数N(1)は、2であるから、HMMの組み合わせ{1}のHMM#1の状態を要素とする状態ベクトルとしては、2通りのベクトルが存在する。
また、HMMの組み合わせ{3}については、その組み合わせ{3}に含まれるHMM#3の状態の数N(3)が3であるから、HMMの組み合わせ{3}のHMM#3の状態を要素とする状態ベクトルとしては、3通りのベクトルが存在する。さらに、HMMの組み合わせ{1,3}については、その組み合わせ{1,3}に含まれるHMM#1の状態の数N(1)が2であり、HMM#3の状態の数N(3)が3であるから、HMMの組み合わせ{1,3}のHMM#1及び#3の状態を要素とする状態ベクトルとしては、6(=2×3)通りのベクトルが存在する。
したがって、HMM#2の状態遷移T(2)12については、因子となり得るL次元の状態ベクトルV(cM(L;2)(d))として、11(=2+3+6)通りのベクトルが存在する。
ここで、例えば、HMMの組み合わせ{1}のHMM#1の状態を要素とする2通りの状態ベクトルの1つとしては、例えば、ベクトル[1,*,-]がある。また、例えば、HMMの組み合わせ{1,3}のHMM#1及び#3の状態を要素とする6通りの状態ベクトルの1つとしては、例えば、ベクトル[1,*,1]がある。
以下、これらの状態ベクトル[1,*,-]及び[1,*,1]を例として、状態ベクトルV(cM(L;2)(d))の要素となっている状態が現在状態になっているときに、状態遷移T(2)12が生じる条件付き確率p(T(2)12|V(cM(L;2)(d)))を求める方法について説明する。
状態ベクトル[1,*,-]については、因果学習部52は、L次元の状態ベクトルV(cM(L;2)(d))としての状態ベクトル[1,*,-]に、HMM#2の状態遷移T(2)12の遷移元の状態S2 1を補って、HMM#2の遷移元の状態S2 1を要素として必ず含むL+1次元の状態ベクトル[S2 1,V(cM(L;2)(d))]=[S2 1,[1,*,-]]としての状態ベクトル[1,1,-]を生成する。
そして、因果学習部52は、状態ベクトル[S2 1,V(cM(L;2)(d))]=[S2 1,[1,*,-]]としての状態ベクトル[1,1,-]に対応する状態カウンタのカウント値NS([Sm' i,V(cM(L;m')(d))])=NS([1,1,-])を取得する。
状態カウンタのカウント値NS([1,1,-])が0である場合には、因果学習部52は、条件付き確率p(T(2)12|[1,*,-])に、所定の値σ0を設定する。
一方、状態カウンタのカウント値NS([1,1,-])が1以上である場合には、因果学習部52は、状態ベクトルV(cM(L;2)(d))=[1,*,-]と状態遷移T(2)12とのセットに対応する遷移カウンタのカウント値NT(T(m')ij,V(cM(L;m')(d)))=NT(T(2)12,[1,*,-])を取得する。
そして、因果学習部52は、カウント値NS([1,1,-])及びNT(T(2)12,[1,*,-])を用いて、式(2)にしたがい、条件付き確率p(T(m')ij|V(cM(L;m')(d)))=p(T(2)12|[1,*,-])を求める。
条件付き確率p(T(m')ij|V(cM(L;m')(d)))=p(T(2)12|[1,*,-])が閾値以上である場合には、因果学習部52は、その条件付き確率p(T(2)12|[1,*,-])を、状態ベクトルV(cM(L;m')(d))=[1,*,-]とともに、状態遷移T(2)12に対応付けて、因子候補リストに登録する。
次に、状態ベクトル[1,*,1]については、因果学習部52は、L次元の状態ベクトルV(cM(L;2)(d))としての状態ベクトル[1,*,1]に、HMM#2の状態遷移T(2)12の遷移元の状態S2 1を補って、HMM#2の遷移元の状態S2 1を要素として必ず含むL+1次元の状態ベクトル[S2 1,V(cM(L;2)(d))]=[S2 1,[1,*,1]]としての状態ベクトル[1,1,1]を生成する。
そして、因果学習部52は、状態ベクトル[S2 1,V(cM(L;2)(d))]=[S2 1,[1,*,1]]としての状態ベクトル[1,1,1]に対応する状態カウンタのカウント値NS([Sm' i,V(cM(L;m')(d))])=NS([1,1,1])を取得する。
状態カウンタのカウント値NS([1,1,1])が0である場合には、因果学習部52は、条件付き確率p(T(2)12|[1,*,1])に、所定の値σ0を設定する。
一方、状態カウンタのカウント値NS([1,1,1])が1以上である場合には、因果学習部52は、状態ベクトルV(cM(L;2)(d))=[1,*,1]と状態遷移T(2)12とのセットに対応する遷移カウンタのカウント値NT(T(m')ij,V(cM(L;m')(d)))=NT(T(2)12,[1,*,1])を取得する。
そして、因果学習部52は、カウント値NS([1,1,1])及びNT(T(2)12,[1,*,1])を用いて、式(2)にしたがい、条件付き確率p(T(m')ij|V(cM(L;m')(d)))=p(T(2)12|[1,*,1])を求める。
条件付き確率p(T(m')ij|V(cM(L;m')(d)))=p(T(2)12|[1,*,1])が閾値以上である場合には、因果学習部52は、その条件付き確率p(T(2)12|[1,*,1])を、状態ベクトルV(cM(L;m')(d))=[1,*,1]とともに、状態遷移T(2)12に対応付けて、因子候補リストに登録する。
以上のように、条件付き確率p(T(m')ij|V(cM(L;m')(d)))が、状態ベクトルV(cM(L;m')(d))とともに、状態遷移T(m')ijに対応付けて登録された因子候補リストは、因果学習部52から因子候補リスト記憶部53に供給されて記憶される。
次に、ステップS23のマージ処理(図5)について説明する。
マージ処理では、マージ部54は、因子候補リスト記憶部53に記憶された因子候補リストに登録された状態ベクトルを必要に応じてマージし、不要な状態ベクトルをなくすことで、因子候補リストを整理する。
マージ部54は、因子候補リストにおいて、同一の状態遷移T(m')ijに対応付けて登録された2つの状態ベクトルを、マージ対象として、そのマージ対象としての2つの状態ベクトルのマージの可否を判定する。
ここで、マージ対象となる2つの状態ベクトルは、因子候補リストにおいて、同一の状態遷移T(m')ijに対応付けて登録されたL次元の状態ベクトルV(cM(L;m')(d))と、その状態ベクトルV(cM(L;m')(d))に、あるHMM#m''の状態Sm'' iを補って得られる、そのHMM#m''の状態Sm'' iを要素に含むL+1次元の状態ベクトル[Sm'' i,V(cM(L;m')(d))]との2つの状態ベクトルである。
なお、状態ベクトルV(cM(L;m')(d))に状態Sm'' iを補うHMM#m''は、状態遷移T(m')ijが生じるHMM#m'でもなく、状態ベクトルV(cM(L;m')(d))の要素になっている状態のHMMでもないHMMである。
状態ベクトルV(cM(L;m')(d))に、HMM#m''の状態Sm'' iを補って得られるL+1次元の状態ベクトル[Sm'' i,V(cM(L;m')(d))]としては、HMM#m''の状態の数N(m'')だけのベクトル、すなわち、ベクトル[Sm'' 1,V(cM(L;m')(d))],[Sm'' 2,V(cM(L;m')(d))],・・・,[Sm'' N(m''),V(cM(L;m')(d))]が存在する。
L+1次元の状態ベクトル[Sm'' i,V(cM(L;m')(d))]は、L次元の状態ベクトルV(cM(L;m')(d))に、HMM#m''の状態Sm'' iを補ったベクトルであるから、概念的には、L次元の状態ベクトルV(cM(L;m')(d))は、L+1次元の状態ベクトル[Sm'' i,V(cM(L;m')(d))]の上位の状態ベクトルである(状態ベクトル[Sm'' i,V(cM(L;m')(d))]は、状態ベクトルV(cM(L;m')(d))の下位の状態ベクトルである)ということができる。
状態ベクトル[Sm'' i,V(cM(L;m')(d))]と、状態ベクトルV(cM(L;m')(d))とのマージの可否は、下位の状態ベクトルとしての状態ベクトル[Sm'' i,V(cM(L;m')(d))]を、上位の状態ベクトルとしての状態ベクトルV(cM(L;m')(d))に含めて同じ状態ベクトルとして扱うことができるかどかによって判定される。
すなわち、上位の状態ベクトルV(cM(L;m')(d))の暫定確率値p0と、式(3)に従って求められる値σを、それぞれ、pUとσUと表すとともに、下位の状態ベクトル[Sm'' i,V(cM(L;m')(d))]の暫定確率値p0と、式(3)に従って求められる値σを、それぞれ、pDとσDと表すこととする。
マージ部54は、例えば、式(4)が満たされるかどうかによって、マージの可否を判定する。
|pU-pD|>α(σUD)
・・・(4)
ここで、式(4)において、αは、閾値α(σUD)を調整する係数である。
式(4)が満たされる場合、すなわち、上位の状態ベクトルV(cM(L;m')(d))の暫定確率値pUと、下位の状態ベクトル[Sm'' i,V(cM(L;m')(d))]の暫定確率値pDとが、大きく異なる場合、マージ部54は、上位の状態ベクトルV(cM(L;m')(d))と、下位の状態ベクトル[Sm'' i,V(cM(L;m')(d))]とのマージができない(マージ不可)と判定する。
また、式(4)が満たされない場合、すなわち、上位の状態ベクトルV(cM(L;m')(d))の暫定確率値pUと、下位の状態ベクトル[Sm'' i,V(cM(L;m')(d))]の暫定確率値pDとが、それほど異ならない場合、マージ部54は、上位の状態ベクトルV(cM(L;m')(d))と、下位の状態ベクトル[Sm'' i,V(cM(L;m')(d))]とのマージができる(マージ可能)と判定する。
マージの可否の判定は、上位の状態ベクトルV(cM(L;m')(d))と、その上位の状態ベクトルV(cM(L;m')(d))に、HMM#m''の各状態Sm'' iを補って得られるN(m'')個の下位の状態ベクトル[Sm'' i,V(cM(L;m')(d))]であるベクトル[Sm'' 1,V(cM(L;m')(d))],[Sm'' 2,V(cM(L;m')(d))],・・・,[Sm'' N(m''),V(cM(L;m')(d))]それぞれとを対象に行われる。
上位の状態ベクトルV(cM(L;m')(d))と、N(m'')個の下位の状態ベクトル[Sm'' i,V(cM(L;m')(d))]それぞれとマージの可否の判定において、N(m'')個の下位の状態ベクトル[Sm'' i,V(cM(L;m')(d))]のうちの1以上がマージ不可であると判定された場合、マージ部54は、上位の状態ベクトルV(cM(L;m')(d))を、因子候補リストから削除し、N(m'')個の下位の状態ベクトル[Sm'' i,V(cM(L;m')(d))]を、そのまま残す。
一方、上位の状態ベクトルV(cM(L;m')(d))と、N(m'')個の下位の状態ベクトル[Sm'' i,V(cM(L;m')(d))]それぞれとマージの可否の判定において、N(m'')個の下位の状態ベクトル[Sm'' i,V(cM(L;m')(d))]のすべてがマージ可能であると判定された場合、マージ部54は、N(m'')個の下位の状態ベクトル[Sm'' i,V(cM(L;m')(d))]を、因子候補リストから削除することにより、そのN(m'')個の下位の状態ベクトル[Sm'' i,V(cM(L;m')(d))]を、上位の状態ベクトルV(cM(L;m')(d))にマージする。
さらに、マージ部54は、上位の状態ベクトルV(cM(L;m')(d))とともに、状態遷移T(m')ijに対応付けられている状態ベクトルの中で、N(m'')個の下位の状態ベクトル[Sm'' i,V(cM(L;m')(d))]のうちのいずれかを一部に含む状態ベクトル(下位の状態ベクトル[Sm'' i,V(cM(L;m')(d))]のさらに下位の状態ベクトル)を、因子候補リストから削除することにより、上位の状態ベクトルV(cM(L;m')(d))にマージする。
以上のように、マージ部54では、同一の状態遷移に対応付けられた上位の状態ベクトルと、下位の状態ベクトルとの暫定確率値p0の差が、それほどない場合には、下位の状態ベクトルが、上位の状態ベクトルにマージされ、いわば、上位の状態ベクトルによって、下位の状態ベクトルがまとめて扱われることになる。
なお、マージ処理は、より上位のベクトルを、優先的にマージ対象に選択して行うことができる。
学習認識部121ないし12M(図3)に記憶されるHMMが、図6に示したように、3個のHMM#1,#2,#3である場合(M=3)の、マージ部54で行われるマージ処理の具体例について説明する。
例えば、因子候補リストにおいて、m'=2のHMMであるHMM#2のある状態遷移T(2)ijに対応付けて、状態ベクトル[1,*,-],[1,*,1],[1,*,2],[1,*,3]が登録されていることとする。
ここで、状態ベクトル[1,*,-],[1,*,1],[1,*,2],[1,*,3]のうちの、例えば、HMM#1の状態のみが要素になっている状態ベクトル[1,*,-]を、上位の状態ベクトルとすると、状態遷移T(2)ijが生じるHMM#2でもなく、上位の状態ベクトル[1,*,-]の要素になっている状態のHMM#1でもないHMMであるHMM#3(m''=3のHMM)の状態Sm'' i=S3 iを、上位の状態ベクトル[1,*,-]に補って得られるL+1次元の状態ベクトル[S3 i,[1,*,-]]としては、HMM#3の状態の数N(3)に等しい3個の状態ベクトルが存在し、その状態ベクトル[S3 i,[1,*,-]]は、状態ベクトル[1,*,1],[1,*,2],[1,*,3]である。
すなわち、上位の状態ベクトル[1,*,-]については、状態ベクトル[1,*,1],[1,*,2],[1,*,3]が、下位の状態ベクトルとなる。
マージ部54は、上位の状態ベクトル[1,*,-]、並びに、下位の状態ベクトル[1,*,1],[1,*,2]、及び、[1,*,3]それぞれの暫定確率値p0を計算し、その暫定確率値p0が式(4)を満たすかどうかによって、上位の状態ベクトル[1,*,-]と、下位の状態ベクトル[1,*,1],[1,*,2]、及び、[1,*,3]それぞれとのマージの可否を判定する。
そして、下位の状態ベクトル[1,*,1],[1,*,2]、及び、[1,*,3]のすべてがマージ可能であると判定された場合、マージ部54は、その下位の状態ベクトル[1,*,1],[1,*,2],[1,*,3]を、因子候補リストから削除することにより、上位の状態ベクトル[1,*,-]にマージする。
一方、下位の状態ベクトル[1,*,1],[1,*,2]、及び、[1,*,3]のうちの1以上がマージ不可であると判定された場合、マージ部54は、上位の状態ベクトル[1,*,-]を、因子候補リストから削除し、下位の状態ベクトル[1,*,1],[1,*,2],[1,*,3]を、因子候補リストに、そのまま残す。
以上のようなマージ処理によれば、ある状態遷移との因果関係を表すという点で必要性のある状態ベクトルだけを、因子候補リストに残すことができる。
次に、ステップS24の因果推定処理(図5)について説明する。
因果推定処理では、因果推定部55は、因子候補リスト記憶部53に記憶された因子候補リスト(マージ処理後の因子候補リスト)において、プラン制御部36(図3)からの注目HMMの状態遷移に対応付けられている状態ベクトルを、注目HMMの状態遷移と因果関係がある原因HMMの状態(因子)の推定結果として読み出し、プラン制御部36に供給する(戻す)。
なお、因子候補リストにおいて、注目HMMの状態遷移に対応付けられている状態ベクトルとして、複数の状態ベクトルが存在する場合には、因果推定部55は、注目HMMの状態遷移に対応付けられている状態ベクトルのうちの、例えば、条件付き確率が最大の1つの状態ベクトルや、条件付き確率が所定値以上の状態ベクトルからランダムに選択した1つの状態ベクトル等を、注目HMMの状態遷移と因果関係がある原因HMMの状態(因子)の推定結果として読み出す。
[本技術を適用したエージェントの一実施の形態]
図7は、本技術を適用したエージェントの一実施の形態の構成例を示すブロック図である。
なお、図中、図3の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図7において、エージェントは、センサ部11、複数であるM個の学習認識部121ないし12M、アクション部14、アクション制御部41、及び、因果処理部60を有する。
したがって、図7のエージェントは、センサ部11、M個の学習認識部121ないし12M、アクション部14、及び、アクション制御部41を有する点で、図3のエージェントと共通する。但し、図7のエージェントは、因果処理部42に代えて、因果処理部60が設けられている点で、図3の場合と相違する。
因果処理部60は、図3の因果処理部42と同様に、因果学習を行い、プラン制御部36から、注目HMM(プランの生成に用いられたHMM)の状態遷移が供給されると、その注目HMMの状態遷移と因果関係がある原因HMMの状態(因子)としての状態ベクトルを、因果学習の結果に基づいて推定する因果推定を行う。
さらに、因果処理部60は、エージェントが、因果学習に用いる因果学習用データを効率的に収集するためのプラン(以下、因果獲得プランともいう)を生成する因果獲得プラン生成処理を行い、その結果得られる因果獲得プランを、アクション制御部41のアクション信号生成部32に供給する。
アクション信号生成部32は、因果処理部60から因果獲得プランが供給されると、その因果獲得プランとしてのスタート状態から目標状態までの状態遷移を生じさせるアクション信号を求め、アクション部14に供給する。
アクション部14は、アクション信号生成部32からのアクション信号に従って駆動し、これにより、エージェントは、因果学習用データを効率的に収集するアクションを行う。
[因果処理部60の構成例]
図8は、図7の因果処理部60の構成を示すブロック図である。
なお、図中、図4の因果処理部42の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図8において、因果処理部60は、因果学習用データ取得部51ないし因果推定部55、並びに、情報量ゲイン算出部61、評価値算出部62、及び、決定部63を有する。
したがって、因果処理部60は、因果学習用データ取得部51ないし因果推定部55を有する点で、図4の因果処理部42と共通し、情報量ゲイン算出部61ないし決定部63が新たに設けられている点で、図4の因果処理部42と相違する。
情報量ゲイン算出部61、評価値算出部62、及び、決定部63では、因果学習用データを効率的に収集するための因果獲得プランを生成する因果獲得プラン生成処理が行われる。
すなわち、情報量ゲイン算出部61は、学習認識部121ないし12Mから供給されるHMM#1ないし#Mの現在状態に基づき、HMM#1ないし#Mのうちのある1個のHMMを、状態遷移を生じさせるHMM#m'として、そのHMM#m'において状態遷移T(m')ijが生じる原因となり得る因子としての状態ベクトルV(cM(L;m')(d))が生起し(HMM#m'以外の1以上のHMMの状態が現在状態になり)、その因子としての状態ベクトルV(cM(L;m')(d))の生起を原因として、状態遷移T(m')ijが生じると仮定して、因子としての状態ベクトルV(cM(L;m')(d))と状態遷移T(m')ijとの因果関係について、因子としての状態ベクトルV(cM(L;m')(d))を生起し、その結果を観察することによって得られる情報量である情報量ゲインを求める。
情報量ゲイン算出部61は、HMM#m'の状態遷移T(m')ijについて、情報量ゲインを求めると、その情報量ゲインを、評価値算出部62に供給する。
評価値算出部62は、因子としての状態ベクトルV(cM(L;m')(d))(の生起)と状態遷移T(m')ijとの因果関係を獲得するにあたって、各因子としての各状態ベクトルV(cM(L;m')(d))を生起することの有効性を評価する評価値を、情報量ゲイン算出部61からの情報量ゲインに基づいて求め、決定部63に供給する。
決定部63は、評価値算出部62からの評価値に基づいて、生起する因子としての状態ベクトルV(cM(L;m')(d))の系列としての因果獲得プランを決定し、アクション信号生成部32(図7)に供給する。
[エージェントが行うタスクの例]
図9は、図7のエージェントが行うタスクの例である物体移動タスクを説明する図である。
エージェントは、アクション部14として、アームを有し、アクションとして、アームを動かす(移動する)ことができる。
図9では、2次元平面のテーブル上に1つの物体が置かれており、物体は、エージェントのアームが接触することによって、テーブル上を移動する。
なお、テーブルの周囲には、枠(壁)があり、物体が、テーブルの端まで移動し、枠と接触した場合には、物体は、枠と接触している側には、それ以上移動せず、したがって、テーブルから落下しない。
物体移動タスクでは、エージェントは、所定の位置に置かれた物体を、アームを動かすことによって、他の所定の位置まで移動させる。
以下では、説明を簡単にするために、物体移動タスクを例に、図7のエージェントの処理を説明する。
図10は、物体移動タスクにおいて、エージェントが観測する観測値を模式的に示す図である。
エージェントでは、センサ部11において、図10に示すような、テーブル上のアームと物体の画像が撮影され、その画像が、観測値として、学習認識部121ないし12Mに供給される。
ここで、物体移動タスクを行うために必要なHMMは、例えば、アームが接触することによって移動する物体(移動物体)の動きを学習するHMMと、エージェントのアームの動きを学習するHMMとの2個のHMMであるため、M=2とし、学習認識部121に記憶されているHMM#1が、物体の動きを学習し、学習認識部122に記憶されているHMM#2が、アームの動きを学習することとする。
以下、物体の動きを学習するHMM#1を、物体HMMともいい、アームの動きを学習するHMM#2をアームHMMともいう。
また、説明を簡単にするため、エージェントでは、アームの観測値としてのアームの画像と、物体の観測値としての物体の画像とを、区別して(別々に)観測することができることとする。
さらに、学習認識部121では、物体HMMのモデル学習処理、及び、物体HMMの現在状態(最尤系列)を認識する認識処理は、物体の観測値を用いて行われ、学習認識部122では、アームHMMのモデル学習処理、及び、アームHMMの現在状態(最尤系列)を認識する認識処理は、アームの観測値を用いて行われることとする。
また、アクション学習部33(図7)では、アクション信号と、そのアクション信号に従ったアクションとしてのアームの動きを学習するアームHMMの状態遷移との関係の学習が、アクション学習として行われることとする。
この場合、アクション学習によれば、アームHMMの各状態遷移Tijに、コントローラとしての関数m=Fij(o)を対応付けたアクション生成情報が生成される。
したがって、アクション信号生成部32は、そのようなアクション生成情報に基づき、アームHMMの、ある状態遷移を生じさせるアクション信号を生成する。
また、ここでは、エージェントが、生得コントローラ35において生成されるアクション信号に従ってアクションを行っているときに観測されるアーム及び物体の観測値を用いて、アームHMM及び物体HMMの学習(モデル学習処理)が、既に終了していることとする。
したがって、エージェントでは、物体HMMを記憶している学習認識部121において、物体の観測値を用いて、物体(物体HMM)の現在状態を認識することができ、アームHMMを記憶している学習認識部122において、アームの観測値を用いて、アーム(アームHMM)の現在状態を認識することができる。
さらに、エージェントでは、プランニング部31において、アームHMMの任意の状態を目標状態とするプランをプランニングし、アクション信号生成部32において、そのプランに従って、アクション信号を生成することで、アームを、現在状態(に対応するテーブル上の位置)から目標状態(に対応するテーブル上の位置)に移動することができる。
但し、エージェントでは、因果学習部52(図8)において、まだ、因果学習が行われていない。このため、エージェントは、アームHMMのどの状態と、物体HMMのどの状態とが、テーブル上の同一の位置に対応するのか、つまり、アームHMMの現在状態を、どの状態にすると、アームが、物体と接触し、物体が移動するのかは、分からない(認識できない)。
テーブル上の物体は、アームが接触することによって移動する。すなわち、物体の移動は、アームが物体の位置に移動したことを原因として生じる。
したがって、テーブル上の所定の位置に置かれた物体を、他の所定の位置まで移動させるには、物体の移動が、アームがどの位置にあるときに生じるのかの情報、つまり、物体HMMの状態遷移と、その状態遷移が生じる原因となる得る因子としてのアームHMMの状態の生起(物体HMMの状態遷移が生じたときにアームHMMにおいて現在状態になっている状態)との因果関係を獲得する因果学習を行う必要がある。
因果学習部52(図8)では、因果学習用データ取得部51において収集された因果学習用データを用いて、因果学習が行われるため、因果学習を行うには、因果学習用データ取得部51において、因果学習用データを収集する必要がある。
因果学習用データ取得部51による因果学習用データの収集には、アームHMM及び物体HMMの現在状態が必要であり、したがって、エージェントは、アームを動かし、その後、アーム及び物体の観測値を観測して、アームHMM及び物体HMMの現在状態を認識することを繰り返す必要がある。
物体HMMの状態遷移と、その状態遷移が生じる原因となり得るアームHMMの状態との因果関係を獲得するには、アームHMM及び物体HMMの状態の中でも、エージェントが動かしたアームが物体に接触したとき(物体の接触に成功したとき)のアームHMM及び物体HMMの状態が、現在状態として、特に必要であると予想される。
すなわち、エージェントが、物体に接触しないような位置でアームを動かし続け、物体がまったく移動しないケースだけのアーム及び物体を観測しても、物体HMMの状態遷移と、アームHMMの状態との因果関係を獲得することができる因果学習用データ(以下、有効な因果学習用データともいう)を収集することは、困難である。
しかしながら、エージェントでは、因果学習を行う前においては、アームHMMの現在状態を、どの状態にすると、アームが、物体と接触して、物体が移動するのかが不明であるため、物体に接触するように、アームを動かすことは、困難である。
アームHMM及び物体HMMの学習(モデル学習処理)の終了後、因果学習の前に、エージェントが、因果学習用データを収集するために、アームを動かす方法としては、例えば、アームを、ランダムに動かす方法や、あらかじめ、アームの動かし方を作り込んでおく方法、すなわち、生得的な動きを行うための知識である生得ルールをエージェントに与えておき、その生得ルールに従って、アームを動かす方法がある。
しかしながら、アームを、ランダムに動かす方法では、例えば、マウスポインタが不可視に設定された状態で、任意の位置にあるウィンドウを所定位置に移動しようとする場合に、やみくもにマウスをクリックして動かしても、ウィンドウが移動しないことがほとんどであるのと同様に、アームが物体の接触しない(物体の接触に失敗する)ことがほとんどであり、有効な因果学習用データを収集するのに、膨大な時間を要する。
また、生得ルールに従って、アームを動かす方法では、アームを、ランダムに動かす方法に比較して、物体の接触に成功しやすくなると予想されるが、それでも、有効な因果学習用データを収集するのに、相応の時間を要する。
そこで、図7のエージェントでは、因果処理部60において、因果学習用データを効率的に収集するための因果獲得プランを生成する因果獲得プラン生成処理が行われる。そして、エージェントは、因果獲得プランに従って、アクションを行う(アームを動かす)ことにより、有効な因果学習用データを、効率的に収集する。
なお、因果処理部60(図8)は、因果獲得プラン生成処理の他、図4の因果処理部42と同様に、因果学習用データ取得処理、因果学習処理、マージ処理、及び、因果推定処理(図5)も行う。
[因果獲得プラン生成処理]
図11は、図8の因果処理部60が行う因果獲得プラン生成処理を説明するフローチャートである。
ステップS31では、情報量ゲイン算出部61(図8)が、学習認識部121から、物体HMMの現在状態si[now]が供給されるとともに、学習認識部122から、現在生起している因子である現在因子としてのアームHMMの現在状態ck[now]が供給されるのを待って、その物体HMMの現在状態si[now]、及び、アームHMMの現在状態ck[now]を取得して、処理は、ステップS32に進む。
ステップS32では、情報量ゲイン算出部61が、情報量ゲイン算出処理を行って、処理は、ステップS33に進む。
すなわち、情報量ゲイン算出処理では、情報量ゲイン算出部61は、物体HMMの現在状態si[now]において、因子ckとしてのアームHMMの状態ckの生起(現在状態ck[now]が状態ckであること)を原因として、物体HMMの現在状態si[now]から他の状態siへの状態遷移Ti[now]jが生じると仮定して、状態ckが生起し、その結果を観察することによって得られる情報量ゲインGi[now]j;k、つまり、状態ckが生起し、その結果を観察したならば得られるであろう情報量ゲインGi[now]j;kを、各因子ckとしてのアームHMMの状態c1,c2,・・・,cKのそれぞれについて算出する。
そして、情報量ゲイン算出部61は、情報量ゲインGi[now]j;kを、評価値算出部62(図8)に供給する。
ここで、上述のM個のHMMのうちのHMM#m'の状態遷移T(m')ijについては、状態ベクトルV(cM(L;m')(d))の要素になるHMMの状態、つまり、M個のHMMからHMM#m'を除いたM-1個のHMMの中から選択されたL個のHMMの組み合わせの各HMMの状態が、状態遷移T(m')ijを生じさせる因子ckであり、したがって、因子c1,c2,・・・,cKの数Kは、Lのパターン(L=1,2,・・・,M-1)、M-1個のHMMの中から選択することができるL個のHMMの組み合わせのパターン、及び、M-1個のHMMの中から選択されたL個のHMMの組み合わせの各HMMの現在状態のパターンの数の乗算値となる。
なお、ここでは、説明を簡単にするため、因子ckを、1個のHMMであるアームHMMの状態(1次元の状態ベクトル)にしており、したがって、因子ckの数(総数)Kは、アームHMMの状態の数に等しい。
ステップS33では、評価値算出部62(図8)が、評価値算出処理を行って、処理は、ステップS34に進む。
すなわち、評価値算出処理では、評価値算出部62は、物体HMMの状態遷移とアームHMMの状態との間の因果関係を獲得するにあたって、物体HMMの現在状態si[now]において、因子としてのアームHMMの状態c1,c2,・・・,cKのそれぞれが生起することの有効性を評価する評価値Vi[now];1,Vi[now];2,・・・,Vi[now];Kを、情報量ゲイン算出部61からの情報量ゲインGi[now]j;kに基づいて算出する。
そして、評価値算出部62は、評価値Vi[now];1,Vi[now];2,・・・,Vi[now];Kを、決定部63(図8)に供給する。
ステップS34では、決定部63が、決定処理を行って、処理は、ステップS35に進む。
すなわち、決定処理では、決定部63は、評価値算出部62からの評価値Vi[now];1,Vi[now];2,・・・,Vi[now];Kに基づいて、生起する因子としてのアームHMMの状態が1個以上だけ並ぶ系列を、因果獲得プランに決定し、アクション信号生成部32(図7)に供給する。
アクション信号生成部32は、決定部63からの(最新の)因果獲得プランに従い、その因果獲得プランとしての状態の系列のうちの、アームHMMの現在状態ck[now]から次の状態への状態遷移を生じさせるアクション信号を生成し、アクション部14に供給する。
アクション部14は、アクション信号生成部32からのアクション信号に従って、アームを動かす。なお、このとき、アームが、物体に接触すれば、その接触によって、物体も動く。
以上のように、アームが動いた後、センサ部11において、アーム及び物体の観測値が観測され、学習認識部121において、物体の観測値を用いて、物体HMMの現在状態si[now]が認識されるとともに、学習認識部122において、アームの観測値を用いて、アームHMMの現在状態ck[now]が認識される。
そして、情報量ゲイン算出部61は、学習認識部121から、物体HMMの現在状態si[now]が供給されるとともに、学習認識部122から、アームHMMの現在状態ck[now]が供給されるのを待って、ステップS35において、学習認識部121及び122それぞれからの物体HMMの現在状態si[now]、及び、アームHMMの現在状態ck[now]を取得して、処理は、ステップS36に進む。
ステップS36では、情報量ゲイン算出部61は、物体HMMの今回の現在状態si[now]が、前回(1時刻前)の現在状態から変化したかどうかと、因子としてのアームHMMの現在状態ck[now]が、決定部63で得られた最新の因果獲得プランの最後の状態であるかどうかとを判定する。
ステップS36において、物体HMMの今回の現在状態si[now]が、前回の現在状態から変化していないと判定され、かつ、因子としてのアームHMMの現在状態ck[now]が、最新の因果獲得プランの最後の状態でないと判定された場合、アクション信号生成部32において、最新の因果獲得プランに従い、その因果獲得プランとしての状態の系列のうちの、アームHMMの現在状態ck[now]から次の状態への状態遷移を生じさせるアクション信号が生成され、そのアクション信号に従って、アームが動いた後のアーム及び物体の観測値を用いて認識される物体HMMの現在状態si[now]及びアームHMMの現在状態ck[now]が、学習認識部121及び122から情報量ゲイン算出部61に、それぞれ供給されるのを待って、処理は、ステップS35に戻る。
ステップS35では、情報量ゲイン算出部61において、上述したように、学習認識部121及び122それぞれからの物体HMMの現在状態si[now]、及び、アームHMMの現在状態ck[now]が取得され、以下、同様の処理が繰り返される。
一方、ステップS36において、物体HMMの今回の現在状態si[now]が、前回の現在状態から変化したと判定されるか、又は、アームHMMの現在状態ck[now]が、最新の因果獲得プランの最後の状態であると判定された場合、すなわち、直前に行われたアームの動きにおいて、アームが物体に接触し、物体が動いた場合、又は、アームが、因果獲得プランに従って動き、因果獲得プランの最後の状態に対応する位置にまで移動した場合、処理は、ステップS37に進み、情報量ゲイン算出部61は、因果獲得プラン生成処理の終了条件が満たされるかどうかを判定する。
ステップS37において、因果獲得プラン生成処理の終了条件が満たされていないと判定された場合、処理は、ステップS32に戻り、以下、ステップS32ないしS37の処理が繰り返される。
また、ステップS37において、因果獲得プラン生成処理の終了条件が満たされていると判定された場合、因果獲得プラン生成処理は終了する。
なお、因果獲得プラン生成処理の終了条件としては、例えば、ステップS32ないしS37のループ処理が、あらかじめ決められた回数だけ行われたことや、因果獲得プラン生成処理が開始されてからのアクションの数(アームを動かした回数)が、あらかじめ決められた数に到達したことを採用することができる。
また、因果獲得プラン生成処理の終了条件としては、例えば、ステップS33の評価値算出処理で求められる評価値Vi[now];1,Vi[now];2,・・・,Vi[now];Kの中の最大値が、あらかじめ決められた閾値以下であること等を採用することができる。
ここで、評価値Vi[now];1,Vi[now];2,・・・,Vi[now];Kの中の最大値が、あらかじめ決められた閾値以下である場合とは、物体HMMの状態遷移とアームHMMの状態との間の因果関係を獲得するのに有効なアームHMMの状態がない場合、つまり、物体HMMの状態遷移とアームHMMとの間の因果関係を獲得するのに有効なアームHMMの状態が、最初からない(アームHMMの状態が、物体HMMの状態遷移に影響しない)場合や、物体HMMの状態遷移とアームHMMとの間の因果関係を獲得するのに有効なアームHMMの状態を現在状態とすることが何度も行われ、物体HMMの状態遷移とアームHMMとの間の因果関係を獲得するのに十分な因果学習用データの収集が完了している場合である。
[情報量ゲイン算出処理]
図12は、図11のステップS32の情報量ゲイン算出処理を説明するフローチャートである。
ここで、物体HMMの状態siにおいて(物体が状態siに対応する位置にあったときに)、物体HMMの状態遷移Tijが生じる(物体が状態siに対応する位置から状態sjに対応する位置に移動する)確率を、ベース確率ともいい、p(Tij|si)で表す。さらに、ベース確率p(Tij|si)の確率分布を、P(Tij|si)と表すこととする。
また、物体HMMの状態siにおいて、因子としてのアームHMMの状態ckが生起し(アームHMMの現在状態が状態ckであり)、物体HMMの状態遷移Tijが生じる確率を、因子条件付き確率ともいい、p(Tij|si,ck)で表す。さらに、因子条件付き確率p(Tij|si,ck)の確率分布を、P(Tij|si,ck)と表すこととする。
情報量ゲイン算出処理では、ステップS41において、情報量ゲイン算出部61は、物体HMMの現在状態si[now]において、状態遷移Ti[now]jが生じるベース確率p(Ti[now]j|si[now])の確率分布P(Ti[now]j|si[now])と、因子としてのアームHMMの状態ckが生起し、物体HMMの現在状態si[now]において、状態遷移Ti[now]jが生じる因子条件付き確率p(Ti[now]j|si[now],ck)の確率分布P(Ti[now]j|si[now],ck)との間の距離である分布間距離Di[now]j;kを、物体HMMの状態遷移Ti[now]jとアームHMMの状態ckとの間にある因果関係の程度を表す因果関係量として求め、処理は、ステップS42に進む。
ここで、物体HMMにおいて、状態siにいた回数を、BSと表すとともに、その状態siからの他の状態sjへの状態遷移Tijが生じた回数を、BTと表すこととすると、ベース確率p(Tij|si)の期待値p~(Tij|si)は、BT/BSで表される。
また、BS回だけいた物体HMMの状態siにおいて、因子としてのアームHMMの状態ckが生起した回数を、NSと表すとともに、そのアームHMMの状態ckが生起した場合に、物体HMMにおいて、状態siから他の状態sjへの状態遷移Tijが生じた回数を、NTと表すこととすると、因子条件付き確率p(Tij|si,ck)の期待値p~(Tij|si,ck)は、NT/NSで表される。
回数BS,BT,NS、及び、NTは、情報量ゲイン算出部61において、学習認識部12、及び122から供給される物体HMMの現在状態、及び、アームHMMの現在状態に基づいてカウントされる。
アームHMMの状態ckと物体HMMの状態遷移Tijとの間に因果関係があるほど、すなわち、アームHMMの現在状態が状態ckであることが、物体HMMの状態遷移Tijが生じることに大きく影響するほど、因子条件付き確率の期待値(平均値)p~(Tij|si,ck)=NT/NSは、ベース確率の期待値p~(Tij|si)=BT/BSに比較して大きくなるので、ベース確率の確率分布P(Tij|si)と、因子条件付き確率の確率分布P(Tij|si,ck)との違いは、アームHMMの状態ckと物体HMMの状態遷移Tijとの間にある因果関係の程度である因果関係量を表す。
そこで、情報量ゲイン算出処理では、因子としてのアームHMMの状態ckの、物体HMMの状態遷移Tijに対する因果関係量として、確率分布P(Tij|si)とP(Tij|si,ck)との違いとしての確率分布P(Tij|si)とP(Tij|si,ck)との間の分布間距離Dij;kを採用し、その分布間距離Dij;kが、アームHMMの状態ckの、物体HMMの状態遷移Tijに対する因果関係量として求められる。
なお、情報量ゲイン算出処理では、アームHMMの状態ckが生起したことを原因として、物体HMMの状態遷移Tijが生じる場合、つまり、因子条件付き確率の期待値p~(Tij|si,ck)=NT/NSが、ベース確率の期待値p~(Tij|si)=BT/BSより大きい場合(NT/NS>BT/BS)のアームHMMの状態ckと物体HMMの状態遷移Tijだけを、処理の対象(因果関係量、ひいては、情報量ゲインを求める対象)とする。
アームHMMの状態ckが生起したことを原因として、物体HMMの状態遷移Tijが抑制されるという因果関係については、アームHMMの状態ckが生起したことを原因として、物体HMMの状態遷移Tijが生じないことが生じると考えることで、アームHMMの状態ckが生起したことを原因として、物体HMMの状態遷移Tijが生じる場合と同様に扱うことができる。
ここで、ベース確率p(Tij|si)、及び、因子条件付き確率p(Tij|si,ck)は、ベータ分布に従うこととする。
この場合、期待値p~(Tij|si)が、BT/BSで表されるベース確率p(Tij|si)は、ベータ関数B(BT+1,BS-BT+1)のベータ分布に従い、期待値p~(Tij|si,ck)がNT/NSで表される因子条件付き確率p(Tij|si,ck)は、ベータ関数B(NT+1,NS-NT+1)のベータ分布に従う。
また、確率分布P(Tij|si)とP(Tij|si,ck)との間の分布間距離Dij;kとしては、確率分布どうしの任意の距離を採用することができるが、ここでは、例えば、KL(KullbackLeibler)ダイバージェンスを採用する。
確率分布P(Tij|si)とP(Tij|si,ck)とのKLダイバージェンスを、DKL(P(Tij|si)||P(Tij|si,ck))と表すこととする。
ステップS42では、情報量ゲイン算出部61は、物体HMMの現在状態si[now]において、因子としてのアームHMMの状態ckの生起を原因として、物体HMMの状態遷移Ti[now]jが生じると仮定して、アームHMMの状態ckの生起後のベース確率の確率分布P(Ti[now]j|si[now])及び因子条件付き確率の確率分布P(Ti[now]j|si[now],ck)を参照して、アームHMMの状態ckの生起後の因果関係量としての分布間距離D'i[now]j;kを求め、処理は、ステップS43に進む。
なお、ステップS42では、あくまで、因子としてのアームHMMの状態ckの生起を原因として、物体HMMの状態遷移Ti[now]jが生じると仮定するだけであり、したがって、実際に、アームHMMの状態ckを生起すること、つまり、アームHMMの現在状態が状態ckになるように、アームを動かすことは、行われない。
すなわち、情報量ゲイン算出部61は、アームHMMの状態ckが生起し、かつ、物体HMMの状態遷移Ti[now]jが生じたと仮定して、物体HMMにおいて、状態si[now]にいた回数を1だけインクリメントして、BS+1回に更新するとともに、状態遷移Ti[now]jが生じた回数を1だけインクリメントして、BT+1回に更新する。
さらに、情報量ゲイン算出部61は、物体HMMの状態si[now]において、アームHMMの状態ckが生起した回数を1だけインクリメントして、NS+1に更新するとともに、アームHMMの状態ckが生起した場合に、物体HMMにおいて、状態遷移Ti[now]jが生じた回数を1だけインクリメントして、NT+1に更新する。
その後、情報量ゲイン算出部61は、更新後の回数BS+1回及びBT+1回を用いて、ベース確率の確率分布P(Ti[now]j|si[now])を、ベータ関数B(BT+2,BS-BT+1)のベータ分布に更新する。さらに、情報量ゲイン算出部61は、更新後の回数NS+1回及びNT+1回を用いて、因子条件付き確率の確率分布P(Ti[now]j|si[now],ck)を、ベータ関数B(NT+2,NS-NT+1)のベータ分布に更新する。
そして、情報量ゲイン算出部61は、更新後のベータ分布で表されるベース確率の確率分布P'(Ti[now]j|si[now])及び因子条件付き確率の確率分布P'(Ti[now]j|si[now],ck)のKLダイバージェンスDKL(P'(Tii[now]j|sii[now])||P'(Tii[now]j|sii[now],ck))を、アームHMMの状態ckの生起後の因果関係量D'i[now]j;kとして求める。
ここで、ステップS42での回数BS,BT,NS、及び、NTの更新は、因果関係量D'i[now]j;kを求めることに関してのみ行われる。
ステップS43では、情報量ゲイン算出部61は、因子としてのアームHMMの状態ckの(仮の)生起後の因果関係量D'i[now]j;kから、生起前の因果関係量Di[now]j;kを減算した減算値D'i[now]j;k-Di[now]j;kを、因子としてのアームHMMの状態ckの情報量ゲインGi[now]j;kとして求め、評価値算出部62に供給して、処理はリターンする。
ここで、因子としてのアームHMMの状態ckが生起し、さらに、物体HMMの状態遷移Tijが生じた場合に、アームHMMの状態ckが生起することによって得られる情報量(アームHMMの状態ck(の生起)の情報量ゲイン)Gij;kは、アームHMMの状態ckと物体HMMの状態遷移Tijとの間の因果関係量が、アームHMMの状態ckが生起する前と後とで、どれだけ増加したかに相当する。
すなわち、アームHMMの状態ckが生起し、さらに、物体HMMの状態遷移Tijが生じた場合に、アームHMMの状態ckが生起することによって得られる情報量(アームHMMの状態ckの情報量ゲイン)Gij;kは、物体HMMの状態遷移Tijとの間に因果関係があることをより明らかにするアームHMMの状態ckほど多い。
以上のように、因子としてのアームHMMの状態ckが生起することによって得られる情報量(情報量ゲイン)Gij;kは、アームHMMの状態ckと物体HMMの状態遷移Tijとの間の因果関係量が、アームHMMの状態ckが生起する前と後とで、どれだけ増加したかに相当するので、アームHMMの状態ckが生起した後の因果関係量(分布間距離)D'ij;kが、アームHMMの状態ckが生起する前の因果関係量距離Dij;kから、どれだけ増加しているかによって表すことができる。
すなわち、アームHMMの状態ckが生起し、さらに、物体HMMにおいて、状態遷移Tijが生じた場合に、アームHMMの状態ckが生起することによって得られる情報量(アームHMMの状態ckの情報量ゲイン)Gij;kは、アームHMMの状態ckが生起した後の因果関係量D'ij;kから、アームHMMの状態ckが生起する前の因果関係量Dij;kを減算した減算値D'ij;k−Dij;kで表すことができる。
そこで、情報量ゲイン算出処理では、アームHMMの状態ckが生起した後の因果関係量D'ij;kから、アームHMMの状態ckが生起する前の因果関係量Dij;kを減算した減算値D'ij;k−Dij;kが、アームHMMの状態ckの情報量ゲインGij;kとして求められる。
なお、ステップS41ないしS43の処理は、すべてのj=1,2,・・・,N(Nは物体HMMの状態の数)と、すべてのk=1,2,・・・,K(Kは因子の総数で、ここでは、アームHMMの状態の数)との組み(i,k)のすべてについて行われ、物体HMMの現在状態si[now]について、物体HMMの状態sj(現在状態si[now]を除く)とアームHMMの状態ckとの組み合わせごとの情報量ゲインGi[now]j;kが求められる。
図13は、ベータ分布で表される確率分布を示す図である。
図13において、確率分布P(T|c1)は、8回の試行において5回だけ成功した場合の確率分布であり、ベータ関数B(5+1,8-5+1)=B(6,4)のベータ分布である。
確率分布P(T|c2)は、43回の試行において24回だけ成功した場合の確率分布であり、ベータ関数B(24+1,43-24+1)=B(25,20)のベータ分布である。
確率分布P(T|c3)は、20回の試行において1回だけ成功した場合の確率分布であり、ベータ関数B(1+1,20-1+1)=B(2,20)のベータ分布である。
確率分布P(T)は、48回の試行において9回だけ成功した場合の確率分布であり、ベータ関数B(9+1,48-9+1)=B(10,40)のベータ分布である。
また、図13において、確率分布P(T)と、確率分布P(T|c1),P(T|c2)、及び、P(T|c3)それぞれとのKLダイバージェンスDKLは、それぞれ、14.0,4.2、及び、1.4になっている。
さらに、図13において、確率分布P(T|c1),P(T|c2)、及び、P(T|c3)のうちの、確率分布P(T|c3)(に従う確率)の期待値は、確率分布P(T)(に従うベース確率)の期待値より小さく、確率分布P(T|c1)及びP(T|c2)の期待値は、いずれも、確率分布P(T)の期待値より大きい。
いま、確率分布P(T)が、ベース確率の確率分布P(Ti[now]j|si[now])であり、確率分布P(T|c1),P(T|c2)、及び、P(T|c3)が、それぞれ、因子c1,c2、及び、c3が生起した場合の因子条件付き確率の確率分布P(Ti[now]j|si[now],c1),P(Ti[now]j|si[now],c2)、及び、P(Ti[now]j|si[now],c2)であるとする。
この場合、図12で説明したように、情報量ゲイン算出部61は、期待値が、ベース確率の期待値より大きい因子条件付き確率の因子だけを対象として、因果関係量、ひいては、情報量ゲインを求める。
図13では、因子条件付き確率の確率分布P(T|c1),P(T|c2)、及び、P(T|c3)のうちの、確率分布P(T|c3)(に従う因子条件付き確率)の期待値は、ベース確率の確率分布P(T)(に従うベース確率)の期待値より小さく、確率分布P(T|c1)及びP(T|c2)の期待値は、ベース確率の確率分布P(T)より大きい。
したがって、情報量ゲイン算出部61では、因子c1及びc2については、情報量ゲインが求められ、因子c3については、情報量ゲインは、求められない(例えば、0とされる)。
[評価値算出処理]
図14は、図11のステップS33の評価値算出処理を説明するフローチャートである。
評価値算出処理では、ステップS51において、評価値算出部62は、情報量ゲイン算出部61からの情報量ゲインGi[now]j;kの期待値G~i[now]j;kを求めて、処理は、ステップS52に進む。
ここで、情報量ゲインGi[now]j;kの期待値G~i[now]j;kは、因子としてのアームHMMの状態ckが生起した場合に、物体HMMの現在状態si[now]において、状態遷移Ti[now]jが生じる因子条件付き確率p(Ti[now]j|si[now],ck)の期待値p~(Ti[now]j|si[now],ck)=NT/NSを用い、式G~i[now]j;k=p~(Ti[now]j|si[now],ck)×Gi[now]j;kに従って求めることができる。
ステップS52では、評価値算出部62は、物体HMMの状態遷移Ti[now]jの遷移確率ai[now]jを重みとして、情報量ゲインGi[now]j;kの期待値G~i[now]j;kを、物体HMMの現在状態si[now]からの状態遷移Ti[now]jの遷移先となる状態sjのすべてに関して重み付け加算を行い、その結果得られる重み付け加算値Σ(ai[now]j×G~i[now]j;k)を、因子としてのアームのHMMの状態ck(の生起)と物体HMMの状態遷移Ti[now]jとの因果関係を獲得するにあたって、因子としてのアームHMMの状態ckが生起することの有効性を評価する評価値Vi[now];kとして求めて、決定部63に供給し、処理はリターンする。
ここで、評価値Vi[now];kは、式Vi[now];k=Σ(ai[now]j×G~i[now]j;k)に従って求められる。式Vi[now];k=Σ(ai[now]j×G~i[now]j;k)のΣは、変数jを、1から、物体HMMの状態の数Nまでの範囲の整数に変えてのサメーションを表す。
なお、ステップS51及びS52の処理は、すべてのk=1,2,・・・,K(Kは因子の総数で、ここでは、アームHMMの状態の数)について行われ、物体HMMの現在状態si[now]について、アームHMMの状態ckごとの評価値Vi[now];kが、アームHMMの状態ckを生起することの有効性を表す値として求められる。
また、評価値Vi[now];kは、式Vi[now];k=Σ(ai[now]j×G~i[now]j;k)に従って求める他、例えば、物体HMMの状態遷移Tijに対し、何らかの方法で、重要度wijが割り当てられている場合には、評価値Vi[now];kは、重要度wijを用いた式Vi[now];k=Σ(wi[now]jai[now]j×G~i[now]j;k)に従って求めることができる。
[決定処理]
図15は、図11のステップS34の決定処理を説明する図である。
決定処理では、決定部63は、評価値算出部62からの評価値Vi[now];kに基づいて、生起する因子としてのアームHMMの状態が1個以上だけ並ぶ系列を、因果獲得プランに決定する。
ここで、評価値Vi[now];kは、アームHMMの状態ck(の生起)と物体HMMの状態遷移Ti[now]jとの因果関係を獲得するにあたって、アームHMMの各状態c1,2,・・・,cKを生起することの有効性を評価する値であり、したがって、評価値Vi[now];kが大きいアームHMMの状態ckを生起することによって、有効な情報、すなわち、アームHMMの状態ckと物体HMMの状態遷移Ti[now]jとの間に因果関係があることをより明らかにする情報を得ることができる。
評価値Vi[now];kが大きいアームHMMの状態ckを即座に生起することができる場合、すなわち、アームHMMにおいて、現在状態ck[now]から評価値Vi[now];kが大きいアームHMMの状態ckへの(直接の)状態遷移が可能であり(アームHMMにおいて、現在状態ck[now]から評価値Vi[now];kが大きいアームHMMの状態ckに状態遷移するように、アームを動かすことができ)、したがって、アームHMMの状態遷移に制限がない場合、決定部63では、アームHMMの現在状態ck[now]と、評価値Vi[now];kが最大のアームHMMの状態ckとの2個の状態の系列が、因果獲得プランに決定される。
一方、評価値Vi[now];kが大きいアームHMMの状態ckを即座に生起することができないことがある場合、すなわち、アームHMMにおいて、現在状態ck[now]を、評価値Vi[now];kが大きいアームHMMの状態ckにするには、複数回の状態遷移が必要であることがあり(アームHMMにおいて、現在状態ck[now]から評価値Vi[now];kが大きいアームHMMの状態ckに直接状態遷移するように、アームを動かすことができないことがあり)、したがって、アームHMMの状態遷移に制限がある場合、決定部63では、アームHMMの現在状態ck[now]を最初の状態として、状態遷移をしていくことが可能な因子としての状態ckの系列である因子経路のうちの、その因子経路を構成する因子としての状態ckの評価値Vi[now];kの積算値の平均値(重み付け平均値を含む)が最大の因子経路が、因果獲得プランに決定される。
すなわち、図15は、因子経路の例を示している。
因子経路は、アームがテーブル上を動く軌道に対応し(対応させることができ)、したがって、アームHMMの現在状態ck[now]を最初の状態とする因子経路としては、図15に示すように、多数の状態系列が存在する。
決定部63では、そのような多数の因子経路の中から、因子経路を構成する因子としての状態ckの評価値Vi[now];kの積算値の平均値が最大の因子経路が、因果獲得プランに決定される。
なお、図15において、斜線を付してある部分は、評価値Vi[now];kが大きいアームHMMの状態ckに対応するテーブル上の位置を表しており、決定部63では、観念的には、そのような位置を多く通るようなアームの軌道に対応する因子経路が、因果獲得プランに決定される。
図16は、図11のステップS34の決定処理を説明するフローチャートである。
決定処理では、ステップS61において、決定部63は、アームHMMの現在状態ck[now]から、アームHMMの各状態ckまでの因子としての状態の系列である因子経路PS1,PS2,・・・,PSQを、因果獲得プランの候補(プラン候補)として求め、処理は、ステップS62に進む。
ここで、決定部63は、例えば、アームHMMの1個の状態ckに対して、その状態ckまでの因子経路として、1個以上の系列を求める。
したがって、因子経路PSq(q=1,2,・・・,Q)の数Qは、アームHMMの状態ckの数K以上の数となる(Q≧K)。
なお、アームHMMの現在状態ck[now]からアームHMMのある状態ckまでの因子経路としては、アームHMMの2個以上の状態をループするような状態遷移を許せば、無限の数の因子経路が存在することになるので、決定部63は、所定の制限(条件)の下で、因子経路を求めることにより、プラン候補として求められる因子経路(の数)を制限する。
すなわち、アームHMMの状態遷移に制限がない場合(例えば、エージェントが、ビデオゲームのキャラクタであり、瞬時に、任意の位置に、アームを移動することができる場合等)、決定部63は、アームHMMの各状態ckについて、アームHMMの現在状態ck[now]と、アームHMMの状態ckとの2個の状態の系列を、因子経路PSkとして求める。
したがって、アームHMMの状態遷移に制限がない場合、因子経路PSq(q=1,2,・・・,Q)の数Qは、アームHMMの状態ckの数Kに一致する。
また、アームHMMの状態遷移に制限がある場合、決定部63は、アームHMMの各状態ckについて、アームHMMの現在状態ck[now]を最初の状態として、アームHMMの状態ckまで状態遷移をしていくことが可能なアームHMMの状態の系列である因子経路の中から、プラン候補となる因子経路を、所定の探索方法で探索する。
すなわち、決定部63は、アームHMMの状態c1,c2,・・・,cKのそれぞれについて、アームHMMの現在状態ck[now]を、注目する注目状態に選択し、注目状態から(直接に)状態遷移が可能なアームHMMの状態を、新たな注目状態に選択することを繰り返すことで、アームHMMの現在状態ck[now]から状態ckに到達する状態の系列を、因子経路として探索する。
なお、決定部63は、アームHMMの1個の状態ckについて、1個以上の因子経路を探索する。
決定部63では、因子経路の探索において、例えば、因子経路を構成するアームHMMの状態の数(探索深さ)を所定数に制限することができる。
また、決定部63では、因子経路の探索において、例えば、新たな注目状態に選択するアームHMMの状態の数を所定数に制限する幅優先探索を行うことができる。
さらに、決定部63では、因子経路の探索において、例えば、因子経路に、ループが含まれることを禁止することにより、ループを含まない状態の系列を、因子経路として探索することができる。なお、この場合、因子経路の系列長(経路長)(因子経路を構成するアームHMMの状態の数)が有限長になることが保証される。
その他、決定部63では、例えば、動的計画法(例えば、ダイクストラ法等)によって、アームHMMの現在状態ck[now]から状態ckに到達する最短の状態系列(系列長が最小の状態系列)を、因子経路として探索することができる。
ステップS62では、決定部63は、各因子経路PSqについて、因子経路PSqを構成する因子としてのアームHMMの状態ckの評価値Vi[now];kを積算し、その結果得られる評価値Vi[now];kの積算値の平均値(以下、平均評価値ともいう)AVqを、アームHMMの状態と物体HMMの状態遷移との因果関係を獲得するにあたって、因子経路PSqに従ったアクションを行うことの有効性(以下、因子経路PSqの有効性ともいう)を表す値として求めて、処理は、ステップS63に進む。
ここで、上述の場合には、因子経路PSqを構成するアームHMMの状態ckの評価値Vi[now];kの積算値の平均値である平均評価値AVqを、因子経路PSqの有効性を表す値として求めることとしたが、因子経路PSqの探索において、系列長が一定値の因子経路が探索される場合には、因子経路PSqを構成するアームHMMの状態ckの評価値Vi[now];kの積算値を、因子経路PSqの有効性を表す値として求めることができる。
なお、因子経路PS1,PS2,・・・,PSQそれぞれの系列長が一定値であるという条件の下では、因子経路PSqを構成するアームHMMの状態ckの評価値Vi[now];kの積算値は、その積算値の平均値AVqと等価であり、したがって、因子経路PSqを構成するアームHMMの状態ckの評価値Vi[now];kの積算値を求めることは、その積算値の平均値AVqを求めることと等価である。
ステップS63では、決定部63は、因子経路PS1,PS2,・・・,PSQそれぞれの平均評価値AV1,AV2,・・・,AVQの中から、最大値(以下、最大平均評価値ともいう)AVq[MAX]を検出し、その最大平均評価値AVq[MAX]が得られる因子経路PSq[MAX]を、因果獲得プランに決定する。
そして、決定部63は、因果獲得プランを、アクション信号生成部32に供給して、処理はリターンする。
アクション信号生成部32は、決定部63からの因果獲得プランに従って、アクション信号を生成し、アクション部14に供給する。
アクション部14は、アクション信号生成部32からのアクション信号に従って、エージェントのアームを駆動する。これにより、エージェントは、因果獲得プランを構成するアームHMMの状態が、順次、アームHMMの現在状態になっていくように、アームを動かしていく。
以上のように、因果処理部60(図8)では、情報量ゲイン算出部61において、アームHMMの状態の生起を原因として、物体HMMの状態遷移が生じると仮定して、アームHMMの状態(の生起)と物体HMMの状態遷移との因果関係について、アームHMMの状態を生起し、その結果を観察することによって得られる(得られるであろう)情報量ゲインが求められる。そして、評価値算出部62において、アームHMMの状態と物体HMMの状態遷移との因果関係を獲得するにあたって、アームHMMの各状態を生起することの有効性を評価する評価値が、情報量ゲインに基づいて求められ、決定部63において、その評価値に基づいて、評価値の積算値の平均値が最大のアームHMMの状態の系列である因子経路が、生起するアームHMMの状態の系列である因果獲得プランに決定される。
したがって、エージェントは、因果獲得プランに従ってアクションを行うことにより、アームHMMの状態と物体HMMの状態遷移との因果関係を獲得するにあたって、情報量の多い因果学習用データを収集すること、すなわち、有効な因果学習用データを、効率的に収集することができ、因果関係を獲得するのに要する時間を短縮することができる。
[シミュレーション]
図17は、因果学習用データを収集して、因果学習を行い、その因果学習の結果(因子候補リスト)を用いた因果推定を実行しながら行った物体移動タスクのシミュレーションの結果を示す図である。
シミュレーションでは、生得コントローラ35が出力するアクション信号に従って、エージェントが1万回のアクションを行う間に観測される観測値を用いて、アームHMM及び物体HMMの学習を行い、その後、エージェントに、因果学習用データの収集のためのアクションを行わせ、因果学習用データを収集した。
ここで、因果学習用データの収集のために、エージェントが行ったアクションを因果収集アクションともいう。
シミュレーションでは、エージェントが、因果収集アクションによって収集した因果学習用データを用いて因果学習を行い、その因果学習の結果(因子候補リスト)を用いた因果推定を行いながら、物体移動タスクを行った。
物体移動タスクでは、エージェントは、アームを動かして、物体を、スタート位置からゴール位置まで移動させるが、シミュレーションでは、100組の2カ所の位置の組みをランダムに決定し、その100組それぞれについて、2カ所の位置のうちの一方をスタート位置とするとともに、他方をゴール位置として、物体移動タスクを行った。
図17は、エージェントが学習のために行ったアクションの回数(Exploration step)と、物体移動タスクの成功率(Success rate)との関係を示している。
図17において、横軸は、エージェントが学習のために行ったアクションの回数を、ログスケールで示している。
上述したように、シミュレーションでは、エージェントは、アームHMM及び物体HMMの学習に用いるデータ(観測値)を収集するのに、1万回のアクションを行った後、因果学習用データの収集のための因果収集アクションを行うので、1万回を超えるアクションの回数が、因果収集アクションが行われた回数となる。
図17において、縦軸は、横軸の回数のアクション(因果収集アクション)が行われた後、その因果収集アクションによって収集された因果学習用データを用いた因果学習を行い、その因果学習の結果(因子候補リスト)を用いた因果推定を行いながら、物体移動タスクを行ったときの成功率を示している。
シミュレーションでは、所定の時間内に、物体を、ゴール位置に移動することができなかった場合等の一定の場合を、物体移動タスクを中止する中止条件として設定し、中止条件に該当せずに、物体を、ゴール位置に移動することができた場合を、物体移動タスクの成功としてカウントするとともに、物体をゴール位置に移動する前に中止条件に該当した場合を、物体移動タスクの失敗としてカウントすることによって、物体移動タスクの成功率を求めた。
また、シミュレーションでは、因果処理部60で得られる因果獲得プランに従ったアクションを、因果収集アクションとして行った場合(以下、「因果獲得プラン」とも記載する)、いわゆる作り込みのルール(例えば、「物体を動かすには物体を押せばよい」や「物体を壁に押し付けると動かなくなってしまうので、そういう時は反対側に回り込んで押せばよい」というような、人が持つ知識をフルに使って実装されたルール)に従ったアクションを、因果収集アクションとして行った場合(以下、「作り込み」とも記載する)、及び、ランダムなアクションを、因果収集アクションとして行った場合(以下、「ランダム」とも記載する)のそれぞれについて、物体移動タスクの成功率を求めた。
なお、シミュレーションにおいて、「因果獲得プラン」、「作り込み」、及び、「ランダム」では、因果収集アクション以外の条件、すなわち、例えば、因果収集アクションによって収集した因果学習用データを用いての因果学習や、その因果学習の結果を用いての因果推定を行うモジュール等は、すべて共通化した。
図17は、「因果獲得プラン」、「作り込み」、及び、「ランダム」それぞれの場合の物体移動タスクの成功率を示している。
図17によれば、成功率が100%の物体移動タスクを実行するには、「作り込み」では、「因果獲得プラン」の場合の5倍の回数の因果収集アクションを行うことが必要であり、「ランダム」では、「作り込み」の場合の10倍の回数の因果収集アクションを行うことが必要であることを確認することができる。
したがって、「因果獲得プラン」によれば、「作り込み」と比較した場合には、1/5の時間で、有効な因果学習用データを収集することができ、「ランダム」と比較した場合には、1/50の時間で、有効な因果学習用データを収集することができる。
[本技術を適用したコンピュータの説明]
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
そこで、図18は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
あるいはまた、プログラムは、リムーバブル記録媒体111に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
コンピュータは、CPU(Central Processing Unit)102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。
CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムを、RAM(Random Access Memory)104にロードして実行する。
これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
また、本実施の形態では、本技術を、物体移動タスクに適用した場合について説明したが、本技術は、物体移動タスク以外の任意のタスクに適用可能である。
さらに、本実施の形態では、1個のHMMであるアームHMMの状態(の生起)を、因子ckとして採用したが、因子ckとしては、複数のHMMそれぞれの状態(を要素とする状態ベクトル)を採用することができる。
なお、本技術は、以下の構成をとることができる。
[1]
状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、前記因子と状態遷移との因果関係について、前記因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインを求める情報量ゲイン算出部と、
因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値を、前記情報量ゲインに基づいて求める評価値算出部と、
前記評価値に基づいて、生起する因子を決定する決定部と
を備える情報処理装置。
[2]
前記情報量ゲイン算出部は、
所定の状態において、状態遷移が生じる確率であるベース確率の確率分布と、所定の因子が生起し、前記所定の状態において、前記状態遷移が生じる確率である因子条件付き確率の確率分布との間の違いを表す分布間距離を、前記所定の因子と前記所定の状態からの前記状態遷移との間にある因果関係の程度を表す因果関係量として求め、
前記所定の因子を生起し、その結果を観察した後の前記因果関係量と、所定の因子が生起する前の前記因果関係量との差分を、前記情報量ゲインとして求める
[1]に記載の情報処理装置。
[3]
前記分布間距離は、前記ベース確率の確率分布、及び、前記因子条件付き確率の確率分布のKL(KullbackLeibler)ダイバージェンスである
[2]に記載の情報処理装置。
[4]
前記状態遷移が生じる確率は、ベータ分布に従う
[2]又は[3]に記載の情報処理装置。
[5]
所定の状態において、他の所定の状態への状態遷移が生じる確率であるベース確率の期待値が、所定の状態にいた回数BSと、前記所定の状態からの前記他の所定の状態への状態遷移が生じた回数BTとを用いて、BT/BSで表され、
所定の因子が生起し、所定の状態において、他の所定の状態への状態遷移が生じる確率である因子条件付き確率の期待値が、前記BS回だけいた前記所定の状態において、前記所定の因子が生起した回数NS回と、前記所定の因子が生起した場合に、前記所定の状態から前記他の所定の状態への状態遷移が生じた回数NTとを用いて、NT/NSで表され、
前記ベース確率は、ベータ関数B(BT+1,BS-BT+1)のベータ分布に従い、
前記因子条件付き確率は、ベータ関数B(NT+1,NS-NT+1)のベータ分布に従う
[4]に記載の情報処理装置。
[6]
前記評価値算出部は、前記状態遷移モデルの状態遷移の遷移確率を重みとして、前記情報量ゲインの期待値の重み付け加算を行うことにより得られる重み付け加算値を、前記所定の因子と前記所定の状態からの状態遷移との因果関係を獲得するのに、前記所定の因子を生起することの有効性を評価する前記評価値として求める
[1]ないし[5]のいずれかに記載の情報処理装置。
[7]
前記決定部は、
現在生起している因子である現在因子から、各因子が生起するまでの因子の系列である因子経路を求め、
前記因子の評価値の積算値の平均値が最大の前記因子経路を、因果関係を獲得するために生起する因子の系列である因果獲得プランに決定する
[1]ないし[6]のいずれかに記載の情報処理装置。
[8]
前記決定部は、前記因子経路を構成する因子の数を制限して、前記因子経路を求める
[7]に記載の情報処理装置。
[9]
前記決定部は、ループを含まない因子の系列を、前記因子経路として求める
[7]に記載の情報処理装置。
[10]
前記決定部は、前記現在因子から各因子までの最短経路を、前記因子経路として求める
[7]に記載の情報処理装置。
[11]
前記状態遷移モデルは、HMM(Hidden Markov Model)であり、
エージェントにおいて観測される観測値を用いて学習が行われた複数のHMMのうちの1つのHMMである第1のHMMの現在状態と、他の1つ以上のHMMである第2のHMMの現在状態とが、前記観測値を用いて認識される場合において、
前記情報量ゲイン算出部は、
前記第2のHMMの各状態にいることを各因子とし、前記第2のHMMの各状態にいることが原因となって、前記第1のHMMの現在状態からの状態遷移が生じると仮定して、前記第2のHMMの各状態と前記第1のHMMの状態遷移との因果関係について、前記第2のHMMの各状態にいることによって得られる前記情報量ゲインを求め、
前記評価値算出部は、
前記第1のHMMの状態遷移の遷移確率を重みとして、前記情報量ゲインの期待値を重み付け加算することにより得られる重み付け加算値を、前記第2のHMMの状態と前記第1のHMMの状態遷移との因果関係を獲得するのに、前記第2のHMMの各状態にいることの有効性を評価する評価値として求め、
前記決定部は、
前記第2のHMMの現在状態から、前記第2のHMMの各状態に到達するまでの状態の系列を、前記因子経路として求め、
前記評価値の積算値の平均値が最大の因子経路である前記第2のHMMの状態の系列を、前記因果獲得プランに決定する
[7]に記載の情報処理装置。
[12]
前記第2のHMMの状態遷移に制限がない場合、前記第2のHMMの現在状態と、前記第2のHMMの各状態との系列を、前記因子経路として求める
[11]に記載の情報処理装置。
[13]
前記第2のHMMは、アームを動かすアクションが可能なエージェントの前記アームの動きを学習したHMMであり、
前記第1のHMMは、前記アームが接触することによって移動する移動物体の動きを学習したHMMであり、
前記エージェントは、前記因果獲得プランとしての系列を構成する前記第2のHMMの状態が、順次、現在状態になっていくように、前記アームを動かす
[11]又は[12]に記載の情報処理装置。
[14]
状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、前記因子と状態遷移との因果関係について、前記因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインを求め、
因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値を、前記情報量ゲインに基づいて求め、
前記評価値に基づいて、生起する因子を決定する
ステップを含む情報処理方法。
[15]
状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、前記因子と状態遷移との因果関係について、前記因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインを求める情報量ゲイン算出部と、
因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値を、前記情報量ゲインに基づいて求める評価値算出部と、
前記評価値に基づいて、生起する因子を決定する決定部と
して、コンピュータを機能させるためのプログラム。
11 センサ部, 12,121ないし12M 学習認識部, 13 アクション制御部, 14 アクション部, 21 バッファ, 22 モデル学習部, 23 認識部, 24 モデル記憶部, 31 プランニング部, 32 アクション信号生成部, 33 アクション学習部, 34 アクション生成情報記憶部, 35 生得コントローラ, 36 プラン制御部, 41 アクション制御部, 42 因果処理部, 51 因果学習用データ取得部, 52 因果学習部, 53 因子候補リスト記憶部, 54 マージ部, 55 因果推定部, 60 因果処理部, 61 情報量ゲイン算出部, 62 評価値算出部, 63 決定部, 101 バス, 102 CPU, 103 ROM, 104 RAM, 105 ハードディスク, 106 出力部, 107 入力部, 108 通信部, 109 ドライブ, 110 入出力インタフェース, 111 リムーバブル記録媒体

Claims (15)

  1. 状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、前記因子と状態遷移との因果関係について、前記因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインを求める情報量ゲイン算出部と、
    因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値を、前記情報量ゲインに基づいて求める評価値算出部と、
    前記評価値に基づいて、生起する因子を決定する決定部と
    を備える情報処理装置。
  2. 前記情報量ゲイン算出部は、
    所定の状態において、状態遷移が生じる確率であるベース確率の確率分布と、所定の因子が生起し、前記所定の状態において、前記状態遷移が生じる確率である因子条件付き確率の確率分布との間の違いを表す分布間距離を、前記所定の因子と前記所定の状態からの前記状態遷移との間にある因果関係の程度を表す因果関係量として求め、
    前記所定の因子を生起し、その結果を観察した後の前記因果関係量と、所定の因子が生起する前の前記因果関係量との差分を、前記情報量ゲインとして求める
    請求項1に記載の情報処理装置。
  3. 前記分布間距離は、前記ベース確率の確率分布、及び、前記因子条件付き確率の確率分布のKL(KullbackLeibler)ダイバージェンスである
    請求項2に記載の情報処理装置。
  4. 前記状態遷移が生じる確率は、ベータ分布に従う
    請求項3に記載の情報処理装置。
  5. 所定の状態において、他の所定の状態への状態遷移が生じる確率であるベース確率の期待値が、所定の状態にいた回数BSと、前記所定の状態からの前記他の所定の状態への状態遷移が生じた回数BTとを用いて、BT/BSで表され、
    所定の因子が生起し、所定の状態において、他の所定の状態への状態遷移が生じる確率である因子条件付き確率の期待値が、前記BS回だけいた前記所定の状態において、前記所定の因子が生起した回数NS回と、前記所定の因子が生起した場合に、前記所定の状態から前記他の所定の状態への状態遷移が生じた回数NTとを用いて、NT/NSで表され、
    前記ベース確率は、ベータ関数B(BT+1,BS-BT+1)のベータ分布に従い、
    前記因子条件付き確率は、ベータ関数B(NT+1,NS-NT+1)のベータ分布に従う
    請求項4に記載の情報処理装置。
  6. 前記評価値算出部は、前記状態遷移モデルの状態遷移の遷移確率を重みとして、前記情報量ゲインの期待値の重み付け加算を行うことにより得られる重み付け加算値を、前記所定の因子と前記所定の状態からの状態遷移との因果関係を獲得するのに、前記所定の因子を生起することの有効性を評価する前記評価値として求める
    請求項5に記載の情報処理装置。
  7. 前記決定部は、
    現在生起している因子である現在因子から、各因子が生起するまでの因子の系列である因子経路を求め、
    前記因子の評価値の積算値の平均値が最大の前記因子経路を、因果関係を獲得するために生起する因子の系列である因果獲得プランに決定する
    請求項6に記載の情報処理装置。
  8. 前記決定部は、前記因子経路を構成する因子の数を制限して、前記因子経路を求める
    請求項7に記載の情報処理装置。
  9. 前記決定部は、ループを含まない因子の系列を、前記因子経路として求める
    請求項7に記載の情報処理装置。
  10. 前記決定部は、前記現在因子から各因子までの最短経路を、前記因子経路として求める
    請求項7に記載の情報処理装置。
  11. 前記状態遷移モデルは、HMM(Hidden Markov Model)であり、
    エージェントにおいて観測される観測値を用いて学習が行われた複数のHMMのうちの1つのHMMである第1のHMMの現在状態と、他の1つ以上のHMMである第2のHMMの現在状態とが、前記観測値を用いて認識される場合において、
    前記情報量ゲイン算出部は、
    前記第2のHMMの各状態にいることを各因子とし、前記第2のHMMの各状態にいることが原因となって、前記第1のHMMの現在状態からの状態遷移が生じると仮定して、前記第2のHMMの各状態と前記第1のHMMの状態遷移との因果関係について、前記第2のHMMの各状態にいることによって得られる前記情報量ゲインを求め、
    前記評価値算出部は、
    前記第1のHMMの状態遷移の遷移確率を重みとして、前記情報量ゲインの期待値を重み付け加算することにより得られる重み付け加算値を、前記第2のHMMの状態と前記第1のHMMの状態遷移との因果関係を獲得するのに、前記第2のHMMの各状態にいることの有効性を評価する評価値として求め、
    前記決定部は、
    前記第2のHMMの現在状態から、前記第2のHMMの各状態に到達するまでの状態の系列を、前記因子経路として求め、
    前記評価値の積算値の平均値が最大の因子経路である前記第2のHMMの状態の系列を、前記因果獲得プランに決定する
    請求項7に記載の情報処理装置。
  12. 前記第2のHMMの状態遷移に制限がない場合、前記第2のHMMの現在状態と、前記第2のHMMの各状態との系列を、前記因子経路として求める
    請求項11に記載の情報処理装置。
  13. 前記第2のHMMは、アームを動かすアクションが可能なエージェントの前記アームの動きを学習したHMMであり、
    前記第1のHMMは、前記アームが接触することによって移動する移動物体の動きを学習したHMMであり、
    前記エージェントは、前記因果獲得プランとしての系列を構成する前記第2のHMMの状態が、順次、現在状態になっていくように、前記アームを動かす
    請求項11に記載の情報処理装置。
  14. 状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、前記因子と状態遷移との因果関係について、前記因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインを求め、
    因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値を、前記情報量ゲインに基づいて求め、
    前記評価値に基づいて、生起する因子を決定する
    ステップを含む情報処理方法。
  15. 状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、前記因子と状態遷移との因果関係について、前記因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインを求める情報量ゲイン算出部と、
    因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値を、前記情報量ゲインに基づいて求める評価値算出部と、
    前記評価値に基づいて、生起する因子を決定する決定部と
    して、コンピュータを機能させるためのプログラム。
JP2011196773A 2011-09-09 2011-09-09 情報処理装置、情報処理方法、及び、プログラム Withdrawn JP2013058120A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011196773A JP2013058120A (ja) 2011-09-09 2011-09-09 情報処理装置、情報処理方法、及び、プログラム
US13/589,559 US8924317B2 (en) 2011-09-09 2012-08-20 Information processing apparatus, information processing method and program
CN2012103204891A CN103177294A (zh) 2011-09-09 2012-08-31 信息处理设备、信息处理方法以及程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011196773A JP2013058120A (ja) 2011-09-09 2011-09-09 情報処理装置、情報処理方法、及び、プログラム

Publications (1)

Publication Number Publication Date
JP2013058120A true JP2013058120A (ja) 2013-03-28

Family

ID=47830724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011196773A Withdrawn JP2013058120A (ja) 2011-09-09 2011-09-09 情報処理装置、情報処理方法、及び、プログラム

Country Status (3)

Country Link
US (1) US8924317B2 (ja)
JP (1) JP2013058120A (ja)
CN (1) CN103177294A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104376324A (zh) * 2013-08-12 2015-02-25 索尼公司 基于信号处理的状态检测方法和装置
WO2015178742A1 (ko) * 2014-05-22 2015-11-26 주식회사 엘지화학 폴리에틸렌테레프탈레이트 필름을 보호 필름으로 구비한 편광판 및 그 제조 방법
CN104809148B (zh) * 2015-02-27 2018-05-25 百度在线网络技术(北京)有限公司 一种用于确定标杆对象的方法和装置
EP3672496A4 (en) * 2017-08-23 2021-04-28 The General Hospital Corporation SUPPORT OF A SURGICAL DECISION USING A THEORETICAL DECISION MODEL
CN108211363B (zh) * 2018-02-08 2021-05-04 腾讯科技(深圳)有限公司 一种信息处理方法及装置
US11288509B2 (en) * 2019-11-12 2022-03-29 Toyota Research Institute, Inc. Fall detection and assistance
CN111967195B (zh) * 2020-08-26 2023-07-07 江苏徐工工程机械研究院有限公司 知识推送方法和系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2648254B2 (fr) * 1988-09-23 1991-08-30 Thomson Csf Procede et dispositif d'estimation de mouvement dans une sequence d'images animees
WO2003090147A2 (en) * 2002-04-19 2003-10-30 Computer Associates Think, Inc. Method and apparatus for discovering evolutionary changes within a system
JP3996601B2 (ja) * 2002-12-27 2007-10-24 松下電器産業株式会社 信号処理装置及び信号処理方法
CN100399721C (zh) * 2005-01-11 2008-07-02 中国人民解放军理工大学 基于发送辅助选择用户反馈的正交预波束成形传输方法
US7991722B1 (en) * 2006-04-14 2011-08-02 George Mason Intellectual Properties, Inc. Information request generator
EP2249292A1 (en) * 2009-04-03 2010-11-10 Siemens Aktiengesellschaft Decision making mechanism, method, module, and robot configured to decide on at least one prospective action of the robot
JP2010287028A (ja) 2009-06-11 2010-12-24 Sony Corp 情報処理装置、情報処理方法、及び、プログラム

Also Published As

Publication number Publication date
CN103177294A (zh) 2013-06-26
US8924317B2 (en) 2014-12-30
US20130066817A1 (en) 2013-03-14

Similar Documents

Publication Publication Date Title
Lee et al. Context-aware dynamics model for generalization in model-based reinforcement learning
Nair et al. Hierarchical foresight: Self-supervised learning of long-horizon tasks via visual subgoal generation
Amin et al. A survey of exploration methods in reinforcement learning
Aubret et al. A survey on intrinsic motivation in reinforcement learning
Jiang et al. Path planning for intelligent robots based on deep Q-learning with experience replay and heuristic knowledge
JP2013058120A (ja) 情報処理装置、情報処理方法、及び、プログラム
CN112232478B (zh) 一种基于分层注意力机制的多智能体强化学习方法及系统
JP5440840B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP2010287028A (ja) 情報処理装置、情報処理方法、及び、プログラム
Co-Reyes et al. Ecological reinforcement learning
Chouikhi et al. Single-and multi-objective particle swarm optimization of reservoir structure in echo state network
Pasukonis et al. Evaluating long-term memory in 3d mazes
Shao et al. Visual navigation with actor-critic deep reinforcement learning
Hansen et al. Entropic desired dynamics for intrinsic control
Derner et al. Symbolic regression for constructing analytic models in reinforcement learning
Comanici et al. Knowledge representation for reinforcement learning using general value functions
Dockhorn Prediction-based search for autonomous game-playing
KR20230079804A (ko) 상태 전이를 선형화하는 강화 학습에 기반한 전자 장치 및 그 방법
Zhang et al. A meta reinforcement learning-based approach for self-adaptive system
Hu et al. Accelerating reinforcement learning with prioritized experience replay for maze game
Bucher et al. Adversarial curiosity
KR102617418B1 (ko) 센서 구성과 로봇 형태에 적응 가능한 강화학습 기반 자율주행 방법, 컴퓨터 시스템, 및 컴퓨터 프로그램
US11816186B2 (en) Architecture for dynamic ML model drift evaluation and visualization on a GUI
Kangin et al. Combination of Supervised and Reinforcement Learning For Vision-Based Autonomous Control
Beigi et al. A simple interaction model for learner agents: An evolutionary approach

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141202