説明

行動制御学習方法、行動制御学習装置、行動制御学習プログラム

【課題】本発明の目的は、タスクの状態遷移の仕方が様々であり、予め予想できないようなシステムに対する行動制御を行うことである。
【解決手段】本発明の行動制御学習装置は、人対人の行動を示すデータから得られる観測値、アクション及び評価値を記録する行動データ記憶部と、ダイナミックベイジアンネットワークを生成し、状態sでアクションを実行したときの報酬の確率、アクションによって状態がsからst+1へ変わる確率、アクションによって状態st+1において観測値ot+1が観測される確率を推定するDBN生成部と、アクションaによって状態がsからs’へ変わる確率、アクションaによって状態s’で観測値o’を出力する確率及び状態sでアクションaを実行したときの報酬を生成するDBN−POMDP変換部と、現在の状態の確率分布を引数としシステムがとるべきアクションを一つ出力する関数を生成する強化学習部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はシステムとユーザーが交互にやり取りをするようなシステム(対話システムなど)において、ユーザーの行動に対して、システムが次にどんな行動をとるかを決定する行動制御学習方法、行動制御学習装置、行動制御学習プログラムに関する。
【背景技術】
【0002】
部分観測マルコフ決定過程(Partially Observable Markov Decision Process、以下「POMDP」という)を用いた行動制御技術として,非特許文献1、2及び3が知られている。
【0003】
非特許文献1は、6都市間のチケットを買うタスクを対象としている。また、非特許文献2は、DSL(Digital Subscriber Line)のトラブルシューティングのタスクを対象としている。これらの行動制御技術は、タスクの種類(取りうる行動の種類)と、状態遷移の仕方(どの順序で行動するか)は既知である。また、非特許文献3は、大量のデータからシステムの行動を決定するが、POMDPを求める際には、他の非特許文献と同様にタスクが既知である。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】J.Williams, P. Poupart, S. Young、"Partially Observable Markov Decision Processes with Continuous Observations for Dialogue Management"、Recent Trends in Discourse and Dialogue、Springer Netherlands、2008、Volume 39、p.191-217
【非特許文献2】Jason D.Williams、" Applying POMDPs to Dialog Systems in the Troubleshooting Domain "、Bridging the Gap: Academic and Industrial Research in Dialog Technologies、2007.4、p.1-8
【非特許文献3】K. Kim, C. Lee, S. Jung, G. G. Lee、“A Frame-Based Probabilistic Framework for Spoken Dialog Management Using Dialog Examples”、 Proceedings of the 9th SIGdial Workshop on Discourse and Dialogue、2008.6、p.120-127
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、何れの従来技術もタスクの種類と、状態遷移の仕方が既知であるタスクを対象とするため、対話のようにタスクの種類(挨拶、握手、楽しい会話、雑談など)やタスクの状態遷移の仕方が様々であり、予めシステム設計者が予想できないようなシステムに対する行動制御を行うことはできないという問題がある。
【課題を解決するための手段】
【0006】
本発明の行動制御学習装置は、人対人の行動を人対システムで行うための学習データを生成する装置である。また、人対人の行動を示すデータにおいて、一方の人をユーザーとし、他方の人をシステムとして割り当て、ユーザーの行動を観測値とし、システムの行動をアクションとし、観測値とアクションからなる一連の行動系列が所望の行動系列であったか否かを評価したものを評価値とする。そして、本発明の行動制御学習装置は、観測値とアクションと評価値を記憶する行動データ記録部、DBN生成部、DBN−POMDP変換部、強化学習部を備える。DBN生成部は、観測値、アクション及び評価値を用いて、ダイナミックベイジアンネットワーク(以下「DBN」という)を生成し、状態sでアクションaを実行したときの報酬の確率P(r|s,a)、アクションaによって状態がsからst+1へ変わる確率P(st+1|s,a)、アクションaによって状態st+1において観測値ot+1が観測される確率P(ot+1|st+1,a)を推定する。DBN−POMDP変換部は、確率P(r|s,a)、P(st+1|s,a)、P(ot+1|st+1,a)を用いて、アクションaによって状態がsからs’へ変わる確率P(s’|s,a)、アクションaによって状態s’で観測値o’を出力する確率P(o’|s’,a)及び状態sでアクションaを実行したときの報酬r(s,a)を生成する。強化学習部は、確率P(s’|s,a)、P(o’|s’,a)と報酬r(s,a)を用いて、現在の状態の確率分布を引数としシステムがとるべきアクションを一つ出力する関数を生成する。
【0007】
また、本発明は、状態sを観測値の内部状態を表すsとアクションの内部状態を表すsの組s=(s,s)(なお、s,sの表記ではtを省略する)に分け、DBN生成部は、a=sのときに限り、P(a|s)=1として、DBNを生成し、DBN−POMDP変換部は、報酬^r((*,s),a)[ここで、*は任意のsを表す]をa=sのときに1をとり、それ以外のときには0をとるように報酬^r((*,s),a)を定め、所望の行動系列に対する報酬rと統計的な行動系列に対する報酬^rの線形和αr+β^rで置き換えた以下の式により最終的な目的関数Vを得る。
【0008】
【数1】

【発明の効果】
【0009】
本発明の行動制御学習装置によれば、所望の行動系列以外もモデル化し、アクションを決定する関数を生成している。したがって、本発明の行動制御学習装置が生成した関数を用いたシステムであれば、所望の行動系列以外のユーザーの行動に対しても、統計的に自然なふるまいを行うようすることができる。
【図面の簡単な説明】
【0010】
【図1】実施例1の行動制御学習装置100の構成例を示す図。
【図2】行動データ記憶部に記憶されるデータ例を示す図。
【図3】sとaとP(a|s)の関係を示す図。
【図4】POMDPの構造と変数を示す図。
【図5】シミュレーション結果を示す図。
【図6】行動制御学習装置100のハードウェア構成を例示したブロック図。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について、詳細に説明する。
【実施例1】
【0012】
[行動制御学習装置100]
行動制御学習装置100は人対人の行動を人対システムで行うための学習データを生成する。図1は実施例1の行動制御学習装置100の構成例を示す。図1を用いて実施例1に係る行動制御学習装置100を説明する。
【0013】
行動制御学習装置100は、行動データ記憶部101と、ダイナミックベイジアンネットワーク(以下「DBN」という)生成部103と、DBN確率テーブル記憶部105と、DBN−POMDP変換部107と、POMDP確率・報酬テーブル記憶部109と、強化学習部111と、POMDPポリシー記憶部113と、状態分布更新部115と、状態確率テーブル記憶部117と、アクション決定部119を備える。
【0014】
[行動データ記憶部101]
人対人の行動を示すデータ(例えば、対話を記録した音声データや画像データ等)において、一方の人をユーザーとし、他方の人をシステムとして割り当て、ユーザーの行動を観測値oとし、システムの行動をアクションaとし、観測値とアクションからなる一連の行動系列が所望の行動系列であったか否かを評価したものを評価値rとする。
行動データ記録部101は観測値oとアクションaと評価値rを記憶する。図2は行動データ記憶部に記憶されるデータ例を示す。
【0015】
例えば、握手、挨拶、笑い、移動、おしゃべり、うなずき、首ふり、無行動の8種類の行動ラベルを用意し、各ラベルに0〜7の数値を対応させ、観測値及びアクションとして、それぞれの行動に対応する数値を、行動データとして行動データ記憶部101に記憶する。本実施例では、観測値とアクションを一対のペアとして記憶する。さらに、一連の行動系列(1以上のユーザーとシステムの行動のペア)が、所望の行動系列であったか否か評価し、評価値として所望の行動系列である場合には1とし、そうでない場合には0として記憶する。
【0016】
なお、所望の行動系列としては、例えばユーザーが楽しんだか?典型的な行動系列であるか?ユーザーの役に立ったか?等である。典型的な行動系列としては、「お互いに握手をし、お互いに挨拶をし、その後、笑いとおしゃべりとうなずきを数回ランダムにお互い繰り返し、最後に挨拶をし合い、握手をし合う」等である。
【0017】
この評価は行動系列一つにつき、一つ付与される。ここでは、この値を統計的に学習するために、この値を各時刻に分配する。この分配する手法としては以下の何れかを用いる。
(分配手段1)観測された行動系列の評価が1であれば全ての値を1に設定する。評価が0であれば、全ての値を0に設定する。
(分配手段2)観測された行動系列の一部分だけに対して評価をつける。その部分の評価が1であれば、その部分の始端と終端の間だけを1にする。その他の部分は全て0とする。
(分配手段3)(分配手段2)のように始端と終端がわかっているときに、その部分の最後のデータに対してのみ1を付与する他の値は0とする。
【0018】
なお、この評価値は、0と1の2値でなく多値をとっても良く、連続値としてもよい。また、ここでは一人の人の評価で話を進めるが、多人数の平均をとったものを評価としてもよい。また、所望の行動系列は複数用意してもよく、各所望の行動系列に対して、行動系列ラベルを設けてもよい。各行動系列に対して評価を与え、行動系列ラベルとその評価を組合せて記憶してもよい。また、人対人の行動データは一対一のデータでなく複数の人のデータに基づいて収集してもよい。この場合、ユーザー、システムともに複数となる。
【0019】
なお、行動ラベルの付与は、人手により行ってもよいし、音声認識ソフトや画像認識ソフトを用いて、何れの行為に該当するかを認識し、自動的に付与してもよい。また、評価は、評価対象により人手、自動を適宜選択すればよい。例えば、適宜ユーザーの役に立ったか?等の判断は、音声認識ソフトや画像認識ソフトを用いて、認識するのが困難であるため、人手により付与する。典型的な行動系列が行われたか否かは自動で付与する構成としてもよい。行動制御学習装置100は、認識部及びラベル付与部を設け、会話データや映像データそのものを入力値として内部で観測値、アクション、評価値を生成する構成としてもよい。
【0020】
[DBN生成部103及びDBN確率テーブル記憶部105]
DBN生成部103は、観測値o、アクションa及び評価値rを用いて、DBNを生成し、状態sでアクションaを実行したときの報酬の確率P(r|s,a)、アクションaによって状態がsからst+1へ変わる確率P(st+1|s,a)、アクションaによって状態st+1において観測値ot+1が観測される確率P(ot+1|st+1,a)を推定する。なお、sはユーザー・システム間の隠れ状態(以下、「状態」という)とし、状態sは、ユーザー・システムの隠れ状態sと行動生成のための隠れ状態sとの組からなり、tは時刻を表すものとし、評価値rを確率変数である報酬rとして扱う。ここで、tは変数の相対的な時刻の関係を明確にするために用いた記号であり、特定の時刻を想定しているものではない。すなわち、ここで示す確率及びそれを使った演算は、時刻に依存しない。
【0021】
例えば、DBN生成部103は、観測値o、アクションa、評価値rの時系列を用いて、EMアルゴリズム、ジャンクションツリーアルゴリズム、サンプリング手法などにより、尤度最大化を行い、行動生成モデルのためのDBNを学習、生成する。また、システムとユーザーの内部状態をs=(s,s)のようにシステムの内部状態と、アクションに対応する状態とに分離する。sとaを一対一に対応させるため、a=sの時に限り,P(a|s)=1として、DBNを作成する。図3はsとaとP(a|s)の関係を示す。
【0022】
DBN生成部103で推定された確率は、DBN確率テーブル記憶部105に記憶される。
[DBN−POMDP変換部107及びPOMDP確率・報酬テーブル記憶部109]
DBN−POMDP変換部107は、確率P(r|s,a)、P(st+1|s,a)、P(ot+1|st+1,a)を用いて、アクションaによって状態がsからs’へ変わる確率(状態遷移確率)P(s’|s,a)、アクションaによって状態s’で観測値o’を出力する確率(出力確率)P(o’|s’,a)及び状態sでアクションaを実行したときの報酬r(s,a)を生成する。
【0023】
ここで、POMDPという確率モデルについて説明する。行動生成はこのPOMDPによって実現する。図4は、POMDPの構造と変数を示す。このモデルではシステムの状態やユーザーの心理な状態を記述する状態sが定義される。sはs=(s,s,s,…,s)というように、複数の状態の組み合わせで表現される。oは観測される観測値を、aはシステム側からユーザーに働きかけるアクションを表す。このとき、これらの変数の間に確率P(s’|s,a)、確率P(o’|s’,a)及び報酬r(s,a)が設定されている。
【0024】
DBN−POMDP変換部107は、DBN生成部103で推定された確率を以下の式により、POMDPの確率・報酬に変換する。なお、観測値及びアクションとして同じ定義のシンボルが使われると仮定する。
【0025】
【数2】

【0026】
DBNとPOMDPの構造はほぼ同じなので、状態遷移確率P(s’|s,a)、出力確率P(o’|s’,a)に関しては、対応する確率に値を代入すればよい。報酬は、DBNにおいて確率変数として扱われるため、DBNで得られた確率変数を平均化することによって、実数に変換する。例えば、rの確率分布から式(1)によって求める。なお、この設定は、従来技術にはない本発明独自の手法である。
【0027】
POMDP確率・報酬テーブル記憶部109は、DBN−POMDP変換部107で変換及び求められた確率P(s’|s,a)、P(o’|s’,a)及び報酬r(s,a)を記憶する。
【0028】
[強化学習部111及びPOMDPポリシー記憶部113]
強化学習部111は、確率P(s’|s,a)、P(o’|s’,a)と報酬r(s,a)を用いて、強化学習により、現在の状態の確率分布を引数としシステムがとるべきアクションを一つ出力する関数(以下、「ポリシー」という)を生成する。
【0029】
POMDPポリシー記憶部113は、強化学習部111で生成されたポリシーを記憶する。
【0030】
次にポリシーの計算方法について説明する。まず、式(4)はアクション系列aτ+tが分かっているときに将来獲得できる報酬を示す。
【0031】
【数3】

【0032】
ここで、bτ+t(s)は、時刻τ+tの状態の分布である。また、正定数γ(<1)により未来の報酬の寄与は小さくなる。ポリシーは、式(4)を最大にする現在のアクションaを、現在の状態分布b(s)から計算する関数である。
[データ中に出現する統計情報に従って行動を選択する手法]
まず、現在の状態の確率分布b(s)は、その定義から次式が得られる。
【0033】
【数4】

【0034】
これは、過去のo,a,…,at−1,oという系列、すなわちユーザーとシステムの観測値とアクションの履歴が実行された後に、状態がsとなる確率を表している。
=sのときにP(a|s)=1としているため、a=sのときに以下の式を得る。
【0035】
【数5】

【0036】
これは、過去のo,a,…,at−1,oが観測されたときの次にアクションaが起こる確率を表す。すなわち、今までのデータからaがどれだけ自然かを表す確率となっている。すなわち、式(7)を最大化するようにPOMDPの報酬を決めれば、ポリシーにより、自然なアクションを生成するようになる。これを実現するためには、報酬を
【0037】
【数6】

【0038】
として設定すればよい。但し、a=sを満たす必要がある。このように報酬を決定するため、ここでは、a=sのときに1をとり、それ以外のときには0をとるように報酬^r((*,s),a)を定める。
【0039】
【数7】

【0040】
ここで、*は任意のsを指す。この値を用いて、rを^rに置き換えれば、自然な対話を実現できる。ここでは、従来型の所望の行動系列も実現するために従来手法の報酬の線形和をとる。これを行うために、式(4)のrをαr+β^rで置き換えた下記式(10)により最終的な目的関数Vを得る。
【0041】
【数8】

【0042】
ここで、α、βは任意の実数である。このα、βを変化させることにより、所望の行動を実現する(αが大きい場合)のか統計的な行動を優先する(βが大きい場合)のか、その優先度合いの重みづけを行うことができる。なお、α、βを0とすることも可能である。
【0043】
通常、対象となる所望の行動系列に対してPOMDPによる行動生成の学習を行うと、所望の行動系列だけをシステムは実現しようとする。このため、人と人の行動の記録には、所望の行動系列だけではなく、様々な系列が含まれているのにもかかわらず、所望の行動系列以外の行動を選択しなくなる。よって、人と人との間のやり取りを再現しつつ、かつ。所望の行動系列にユーザーを引き込むようなシステムを作る場合には、所望の行動系列だけを学習するだけでは不十分である。本発明によれば、システムを構成する際にはこれらの行動系列の統計情報も含めて、システムの行動制御を学習するため、所望の行動系列へ引き込みつつも、自然な行動制御を行うことができる。
【0044】
[ポリシーを用いた行動制御]
以下、ポリシーを用いて、行動を制御する方法について説明する
[状態分布更新部115及び状態確率テーブル記憶部117]
状態確率テーブル記憶部117には、一つ前の状態の確率分布bt−1が記憶されている。状態分布更新部115は、観測値o’が入力されると、一つ前に行ったシステムのアクションaからPOMDP確率・報酬テーブル記憶部109に問合せ、格納された統計量より状態遷移確率P(s’|s,a)を求める。また、観測値o’からPOMDP確率・報酬テーブル記憶部109に問合せ、格納された統計量より出力確率P(o’|s’,a)を求める。また、状態確率テーブル記憶部117に問合せ、一つ前の状態の確率分布bt−1を受け取り、以下の式により、現在の状態の確率分布bを求める。
【0045】
【数9】

【0046】
なお、ηは全体の和を1にするための正規化定数である。求めた現在の状態の確率分布bは、状態確率テーブル記憶部117に記憶し、アクション決定部119へ出力される。
【0047】
[アクション決定部119]
アクション決定部119は、行動制御に先立ちPOMDPポリシー記憶部113からポリシーを取得し、記憶しておく。さらに、現在の状態の確率分布bを受け取ると、これをポリシーf()の引数として、システムがとるべきアクションaを決定し出力する。
このような構成とすることによって、所望の行動系列以外もモデル化し、アクションを決定する関数を生成することができ、本発明の行動制御学習装置が生成した関数を用いたシステムであれば、所望の行動系列以外のユーザーの行動に対しても、統計的に自然なふるまいを行うようすることができる。
【0048】
なお、行動制御学習装置100は、状態分布更新部115、状態確率テーブル117及びアクション決定部を備えているが、これらの構成を別装置として構成し、この別装置からの問合せに応じて状態遷移確率、出力確率及びポリシーを出力する構成としても良い。
【0049】
[シミュレーション結果]
一対一の行動記録のデータを想定し行動制御のシミュレーションによる実験を行った。図5はシミュレーション結果を示す。アクションには、握手、挨拶、笑い、移動、おしゃべり、うなずき、首ふり、無行動の8種類を用意した。観測値も同様に、以上の8種類とした。一般的に、観測値には誤認識があると仮定するが、ここでは、確定値とした。但し、隠れ状態はユーザーの意図を表しており、この部分は観測できないとしている。この部分を隠れ状態とした。この隠れ状態sの数は16である。これとは別にシステムのアクションに一対一に対応する隠れ状態sを設定し、その状態の数を8とした。ラベル付けを行う所望の行動系列として2種類の系列を用意した。これらの系列に対して計算機で自動的にラベル付けを行い、所望の行動系列であると判断したものには1をつけた。このうちの1つは、お互いに握手をし、お互いに挨拶をし、その後、笑いとおしゃべりとうなずきを数回ランダムにお互い繰り返し、最後に挨拶をし合い、握手をし合うという行動系列である。もう一つは、片方が移動し、片方が無行動でその後、挨拶をし合い、笑いとおしゃべりとうなずきを数回ランダムに繰り返し、挨拶をし合い、最後に片方が何もしないで、片方が移動するという行動系列である。この行動系列の報酬の与え方として、(分配手段2)を用いた。すなわち、この行動系列の開始時刻から終了時刻までが分かっているものとし、その開始時刻から終了時刻までの各時刻に報酬として1を付加した。これらの行動系列は全体の学習データの数に対して10分の1とした。残りのデータでは、ユーザーの観測値とシステム行動のペアが握手−握手、挨拶−挨拶、笑い−笑い、移動−移動、おしゃべり−おしゃべり、うなずき−おしゃべり、首ふり−おしゃべり、無行動―無行動の出現確率が統計的に多くなるようにサンプルを作成した。もしユーザーが所望の行動系列を望んでいる場合には、この所望の系列に近づくようにシステムが動作するように系を学習する。しかし、もしユーザーにその意思がなければ、残りのサンプルの統計的なふるまいを示す行動するように学習する。学習データとして、全部で10000サンプルのデータを作成した。このデータから提案手法を使ってダイナミックベイジアンネットワークを作成し、それをPOMDPの確率・報酬テーブルに変換し、強化学習により行動を選択手法であるポリシーを求めた。比較には、POMDPにおいて、所望の系列だけに報酬を与える手法を用いた。評価には、2000サンプルのデータを用いた。所望の系列の学習データを生成した手法、及び、その他の系列の学習データを生成した手法に従ってユーザーの観測値だけを生成した。実験では、ユーザーが所望の系列を希望しているときには所望の系列の行動を行い、それ以外のデータに対しては、データの統計量に従って行動を選択するかどうかを調べた。
【0050】
所望の系列だけに報酬を与える手法は、所望の系列200サンプルに対して全て正しくアクションを生成した。提案手法も所望の系列に対しては全て正しい行動を示した。これにより、どちらの手法も所望の系列に対しては正しいアクションを生成することが確認された。
【0051】
所望の行動系列だけに報酬を当てる手法による観測及び生成された観測値・アクションペア、提案手法による観測及び生成された観測値・アクションのペア、学習データ中に存在する観測値とアクションのペアの主な頻度を図5に示す。この図のように、所望の行動系列だけに報酬を与えるPOMDPでは、学習された所望の系列に含まれる観測値・アクションのペアに対しては高頻度でアクションを選択しているのが分かる。しかし、一番右に示す学習データの観測値・アクションのペアの統計パターンとは程遠いことが分かる。これは、所望の行動系列に対してだけ報酬を与える手法は、どんな観測値が観測されても、所望の系列になるように、行動を決定しているからである。これに対して、今回提案する行動の生起確率を報酬に導入する手法は、9倍ある所望の系列以外の学習データの統計量にも近づいていることが分かる。
【0052】
所望の行動系列だけに報酬を当てる手法では、ユーザー側が所望の行動を実行しない場合でも、所望の行動系列のためのアクションを生成する。これは、所望の行動だけをシステムが学習したからである。タスクがはじめから決まっているようなシステムでは、このようなふるまいは自然である。しかし、人と人との間のやり取りを再現しつつ、かつ。所望の行動系列にユーザーを引き込むようなシステムを作る場合には、所望の行動系列だけを学習するだけでは不十分である。そこで、本発明は、ユーザーが所望の行動を実行しない場合には、システムは学習データ中の統計的量に従って動作するようにし、ユーザー側が所望の行動を実行しない場合でも、自然な行動をできるように制御することができるという効果を奏する。
【0053】
<ハードウェア構成>
図6は、本実施例における行動制御学習装置100のハードウェア構成を例示したブロック図である。図6に例示するように、この例の行動制御学習装置100は、それぞれCPU(Central Processing Unit)11、入力部12、出力部13、補助記憶装置14、ROM(Read Only Memory)15、RAM(Random Access Memory)16及びバス17を有している。
【0054】
この例のCPU11は、制御部11a、演算部11b及びレジスタ11cを有し、レジスタ11cに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、入力部12は、データが入力される入力インターフェース、キーボード、マウス等であり、出力部13は、データが出力される出力インターフェース等である。補助記憶装置14は、例えば、ハードディスク、半導体メモリ等であり、行動制御学習装置100としてコンピュータを機能させるためのプログラムや各種データが格納される。また、RAM16には、上記のプログラムや各種データが展開され、CUP11等から利用される。また、バス17は、CPU11、入力部12、出力部13、補助記憶装置14、ROM15及びRAM16を通信可能に接続する。なお、このようなハードウェアの具体例としては、例えば、パーソナルコンピュータの他、サーバ装置やワークステーション等を例示できる。
【0055】
<プログラム構成>
上述のように、補助記憶装置14には、本実施例の行動制御学習装置100の各処理を実行するための各プログラムが格納される。ライセンス管理プログラムを構成する各プログラムは、単一のプログラム列として記載されていてもよく、また、少なくとも一部のプログラムが別個のモジュールとしてライブラリに格納されていてもよい。
<ハードウェアとプログラムとの協働>
CPU11は、読み込まれたOSプログラムに従い、補助記憶装置14に格納されている上述のプログラムや各種データをRAM16に展開する。そして、このプログラムやデータが書き込まれたRAM16上のアドレスがCPU11のレジスタ11cに格納される。CPU11の制御部11aは、レジスタ11cに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM16上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部11bに順次実行させ、その演算結果をレジスタ11cに格納していく。
【0056】
図1は、このようにCPU11に上述のプログラムが読み込まれて実行されることにより構成される行動制御学習装置100の機能構成を例示したブロック図である。
【0057】
ここで、行動データ記憶部101、DBN確率テーブル記憶部105、POMDP確率・報酬テーブル記憶部109、POMDPポリシー記憶部113及び状態確率テーブル記憶部117は、補助記憶装置14、RAM16、レジスタ11c、その他のバッファメモリやキャッシュメモリ等の何れか、あるいはこれらを併用した記憶領域に相当する。また、DBN生成部103、DBN−POMD変換部P107、強化学習部111、状態分布更新部115及びアクション決定部119は、CPU11にライセンス管理プログラムを実行させることにより構成されるものである。
【符号の説明】
【0058】
100 行動制御学習装置
101 行動データ記憶部
103 DBN生成部
105 DBN確率テーブル記憶部
107 DBN−POMDP変換部
109 POMDP確率・報酬テーブル記憶部
111 強化学習部
113 POMDPポリシー記憶部
115 状態分布更新部
117 状態確率テーブル記憶部
119 アクション決定部

【特許請求の範囲】
【請求項1】
人対人の行動を人対システムで行うための学習データを生成する行動制御学習装置であって、
人対人の行動を示すデータにおいて、一方の人をユーザーとし、他方の人をシステムとして割り当て、ユーザーの行動を観測値とし、システムの行動をアクションとし、観測値とアクションからなる一連の行動系列が所望の行動系列であったか否かを評価したものを評価値とし、
前記観測値とアクションと評価値を記憶する行動データ記録部と、
前記観測値、アクション及び評価値を用いて、ダイナミックベイジアンネットワーク(以下「DBN」という)を生成し、状態sでアクションaを実行したときの報酬の確率P(r|s,a)、アクションaによって状態がsからst+1へ変わる確率P(st+1|s,a)、アクションaによって状態st+1において観測値ot+1が観測される確率P(ot+1|st+1,a)を推定するDBN生成部と、
前記確率P(r|s,a)、P(st+1|s,a)、P(ot+1|st+1,a)を用いて、アクションaによって状態がsからs’へ変わる確率P(s’|s,a)、アクションaによって状態s’で観測値o’を出力する確率P(o’|s’,a)及び状態sでアクションaを実行したときの報酬r(s,a)を生成するDBN−POMDP変換部と、
前記確率P(s’|s,a)、P(o’|s’,a)と報酬r(s,a)を用いて、現在の状態の確率分布を引数としシステムがとるべきアクションを一つ出力する関数を生成する強化学習部と、を備える、
ことを特徴とする行動制御学習装置。
【請求項2】
請求項1記載の行動制御学習装置であって、
前記状態sを観測値の内部状態を表すsとアクションの内部状態を表すsの組s=(s,s)とし、
前記DBN生成部は、a=sのときに限り、P(a|s)=1として、DBNを生成し、
前記DBN−POMDP変換部は、報酬^r((*,s),a)[ここで、*は任意のsを表す]を
【数10】


として求め、
前記強化学習部は、前記報酬r(s,a)の代わりに、αr(s,a)+β^r((*,s),a)[ここで、αとβは任意の実数]を用いて、現在の状態の確率分布を引数としシステムがとるべきアクションを一つ出力する関数を生成する、
ことを特徴とする行動制御学習装置。
【請求項3】
人対人の行動を人対システムで行うための学習データを生成する行動制御学習方法であって、
人対人の行動を示すデータにおいて、一方の人をユーザーとし、他方の人をシステムとして割り当て、ユーザーの行動を観測値とし、システムの行動をアクションとし、観測値とアクションからなる一連の行動系列が所望の行動系列であったか否かを評価したものを評価値とし、
前記観測値、アクション及び評価値を用いて、ダイナミックベイジアンネットワーク(以下「DBN」という)を生成し、状態sでアクションaを実行したときの報酬の確率P(r|s,a)、アクションaによって状態がsからst+1へ変わる確率P(st+1|s,a)、アクションaによって状態st+1において観測値ot+1が観測される確率P(ot+1|st+1,a)を推定するDBN生成ステップと、
前記確率P(r|s,a)、P(st+1|s,a)、P(ot+1|st+1,a)を用いて、アクションaによって状態がsからs’へ変わる確率P(s’|s,a)、アクションaによって状態s’で観測値o’を出力する確率P(o’|s’,a)及び状態sでアクションaを実行したときの報酬r(s,a)を生成するDBN−POMDP変換ステップと、
前記確率P(s’|s,a)、P(o’|s’,a)と報酬r(s,a)を用いて、現在の状態の確率分布を引数としシステムがとるべきアクションを一つ出力する関数を生成する強化学習ステップと、を備える、
ことを特徴とする行動制御学習方法。
【請求項4】
請求項3記載の行動制御学習方法であって、
前記状態sを観測値の内部状態を表すsとアクションの内部状態を表すsの組s=(s,s)とし、
前記DBN生成ステップは、a=sのときに限り、P(a|s)=1として、DBNを生成し、
前記DBN−POMDP変換ステップは、報酬^r((*,s),a)[ここで、*は任意のsを表す]を
【数11】


として求め、
前記強化学習ステップは、前記報酬r(s,a)の代わりに、αr(s,a)+β^r((*,s),a)[ここで、αとβは任意の実数]を用いて、現在の状態の確率分布を引数としシステムがとるべきアクションを一つ出力する関数を生成する、
ことを特徴とする行動制御学習方法。
【請求項5】
コンピュータを請求項1または2記載の行動制御学習装置として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate