JP2004227208A - ユーザ適応型行動決定装置および行動決定方法 - Google Patents
ユーザ適応型行動決定装置および行動決定方法 Download PDFInfo
- Publication number
- JP2004227208A JP2004227208A JP2003013009A JP2003013009A JP2004227208A JP 2004227208 A JP2004227208 A JP 2004227208A JP 2003013009 A JP2003013009 A JP 2003013009A JP 2003013009 A JP2003013009 A JP 2003013009A JP 2004227208 A JP2004227208 A JP 2004227208A
- Authority
- JP
- Japan
- Prior art keywords
- user
- behavior
- user model
- action
- model
- 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.)
- Pending
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】複数のユーザが利用する場合であっても、これに適応して適切な行動を決定可能なユーザ適応型行動決定装置を提供する。
【解決手段】ユーザ行動予測部14は、環境11の状態値SDに基づき、ユーザモデル記憶部13に格納された複数のユーザモデルを参照して、各候補ユーザの行動aiを予測する。ユーザモデル選択部16は予測された行動aiと環境11内のユーザの行動値ADとに基づいて、各ユーザモデルの予測性能を評価し、環境内に存在すると推定されるユーザに係るユーザモデルを選択する。行動決定部18は推定ユーザの次の予測行動と、状態値SDとに基づき、状態価値記憶部17を参照して、次の行動を決定する。
【選択図】 図2
【解決手段】ユーザ行動予測部14は、環境11の状態値SDに基づき、ユーザモデル記憶部13に格納された複数のユーザモデルを参照して、各候補ユーザの行動aiを予測する。ユーザモデル選択部16は予測された行動aiと環境11内のユーザの行動値ADとに基づいて、各ユーザモデルの予測性能を評価し、環境内に存在すると推定されるユーザに係るユーザモデルを選択する。行動決定部18は推定ユーザの次の予測行動と、状態値SDとに基づき、状態価値記憶部17を参照して、次の行動を決定する。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、外部から入力を受け、その入力から当該機器を使用しているユーザを識別し、識別したユーザに適した様式で外部への出力を決定する行動決定に関する技術に属する。
【0002】
【従来の技術】
近年、家庭用ロボットや情報端末など、ユーザに対して複雑な情報処理やサービスを提供可能な機器が求められており、実用化が進められている。これらの機器においては、提供可能な情報やサービスは多岐に渡るため、ユーザの好みに合わせて動作できる機能を有することが求められる。この場合、いかにユーザに適した行動を行い得るかが機器の性能を決める重要な指標となる。本願明細書では、ユーザに合った情報やサービスを提供できる装置を総称して、「ユーザ適応型行動決定装置」と呼ぶ。具体的には、ユーザに応じた応答をする必要がある家庭用ロボットや情報端末、家電機器などが、このユーザ適応型行動決定装置に該当する。
【0003】
ユーザの特性に応じて出力を変更する従来技術として、特許文献1および特許文献2に開示されたものがある。特許文献1では、筋電位を図る電極によってユーザ固有の筋肉の活動を測定し、その測定結果によって、機器の出力を変更する技術が示されている。これにより、各ユーザ固有の操作時の力の強さに適した、力のフィードバックがかけられる。また、特許文献2では、音声認識において話者の特定を行う技術が示されており、具体的には、話者を識別するための複数のテンプレートを予め準備し、話者から得られた特徴量を各テンプレートと比較して、最も適合したテンプレートに係る話者を実際の話者として特定する。
【0004】
また、ユーザに適応しながら学習を行う従来技術としては、非特許文献1に開示されたものがある。非特許文献1では、強化学習(非特許文献2を参照)を拡張した手法が示されている。強化学習とは、環境からの報酬信号を用いて試行錯誤によって学習を行う手法であり、報酬の最大化を目的として行動決定を行う学習アルゴリズムである。すなわち、非特許文献1では、相手の行動を予測するモジュールを内部状態として持ち、相手の行動を予測した上で、システムの行動を決定する。これにより、現時点の相手の行動から、将来の相手の行動を考慮でき、行動の質を向上させることができる。特に、相手との協調行動などをタスクとした場合には、この従来技術は有効である。
【0005】
【特許文献1】
特開2001−51726号公報
【特許文献2】
特開2001−5487号公報
【非特許文献1】
ナガユキ(Y.Nagayuki),イシイ(S.Ishii),ドウヤ(K.Doya),“マルチエージェントの強化学習:他のエージェントの内部モデルに基づくアプローチ(Multi−agent reinforcement learning: an approach based on the other agent’s internal model)”,(米国),マルチエージェントに関する第4回国際会議(Fourth International Conference on MultiAgent System (ICMAS2000)),Los Alamitos: IEEE Computer Society,2000年8月,p.215−221
【非特許文献2】
サットン(R. S. Sutton),バート(A.Barto)著,「強化学習入門(Reinforcement Learning: An Introduction)」,(米国),A Bradford Book,The MITPress,1998年3月
【0006】
【発明が解決しようとする課題】
ところで、家庭用ロボットや、デジタルテレビ等の家電機器、カーナビ等の情報端末は、携帯電話等の個人向けの端末と対比すると、同じ機器が複数のユーザに利用される、という点に1つの特徴がある。このため、ユーザ適応型行動決定装置でも、複数のユーザによる利用を想定しておき、現在利用しているユーザを識別し、そのユーザに応じた行動決定を行う必要がある。
【0007】
ところが、上述した従来技術では、複数のユーザの利用は想定されておらず、複数のユーザに適応・学習できる手法は示されていない。
【0008】
また、複数のユーザに適応させるためには、全てのユーザを想定しておいて、各ユーザに適した行動を予めプログラムすることも考えられる。ところが、実際には、ユーザの種類をいくつかに限定できる場合はこのようなプログラムは可能であるものの、ユーザの種類が多かったり、またはユーザの多様性が高い場合は、プログラムの作成は事実上極めて困難になる。
【0009】
前記の問題に鑑み、本発明は、ユーザ適応型行動決定装置において、複数のユーザが利用する場合であっても、これに適応して、適切な行動を容易に決定可能にすることを課題とする。
【0010】
【課題を解決するための手段】
本発明は、ユーザに適応した行動を決定するために、ユーザの行動を予測するためのモデル、すなわちユーザモデルを用いる。そして、このユーザモデルを用いて、単に行動を決定するだけではなく、複数のユーザの識別を行う。これにより、複数のユーザに適応した行動決定が可能になる。また、現在のユーザの状態だけでなく、現在の状態から予測したユーザの次の行動にも適応して、行動を決定する。これにより、ユーザへの適応度がより一層向上する。
【0011】
具体的には、本発明は、ユーザ適応型行動決定装置として、所定の環境について状態を観察し、状態値を取得する状態観察部と、前記環境内のユーザについて行動を観察し、行動値を取得する行動観察部と、 複数の候補ユーザについて、各状態値における当該ユーザの行動傾向を表したユーザモデルをそれぞれ記憶するユーザモデル記憶部と、前記状態観察部によって取得した状態値に基づき、前記ユーザモデル記憶部に格納されたユーザモデルをそれぞれ参照して、前記複数の候補ユーザについて行動を予測するユーザ行動予測部と、前記ユーザ行動予測部によって予測された各候補ユーザの行動と、前記行動観察部によって取得された行動値とに基づいて、各ユーザモデルの予測性能を評価し、この評価結果から、前記環境内に存在すると推定されるユーザに係るユーザモデルを選択するユーザモデル選択部とを備え、前記ユーザモデル選択部によって選択されたユーザモデルを参照して予測したユーザの行動に基づいて、自己の行動を決定するものである。
【0012】
また、本発明は、ユーザ適応型行動決定装置において、自己の行動を決定する方法として、所定の環境について状態を観察し、状態値を取得し、前記環境内のユーザについて行動を観察し、行動値を取得し、複数の候補ユーザについて、前記状態値に基づき、各状態値における当該ユーザの行動傾向を表したユーザモデルをそれぞれ参照して、行動を予測し、予測した各候補ユーザの行動と、前記行動値とに基づいて、各ユーザモデルの予測性能を評価し、この評価結果から、前記環境内に存在すると推定されるユーザに係るユーザモデルを選択し、選択したユーザモデルを参照して予測したユーザの行動に基づいて、自己の行動を決定するものである。
【0013】
本発明によると、ユーザ適応型行動決定装置において、環境の状態値に基づき、複数のユーザモデルをそれぞれ参照して、複数の候補ユーザの行動が予測される。そして、予測された各候補ユーザの行動と、環境内のユーザの行動値とに基づいて、各ユーザモデルの予測性能が評価され、環境内に存在すると推定されるユーザに係るユーザモデルが選択される。そして、選択したユーザモデルを参照して予測したユーザの行動に基づいて、次の行動が決定される。すなわち、複数のユーザモデルを用いて、ユーザの識別がなされるとともに行動の決定が行われるので、複数のユーザへの適応が容易に実現可能になり、また、ユーザ識別のために特別のセンサ等を準備する必要がない。
【0014】
【発明の実施の形態】
まず、本願発明に係る、相手の意図を考慮した行動決定のモデルについて、概念的に説明する。すなわち、本願発明では、人間は、自身の行動決定の際に相手の行動を評価していると考え、この評価のために、自身の内部に相手の行動を予測するための複数のモデルを持ち、その中で最も予測が合っている(言い換えると、その人の行動らしい)モデルを用いて行動決定を行う、という仮定に基づいている。
【0015】
例えば長い机を2人で運ぶなど、相手と協力して作業を行うような場合には、コミュニケーションや行動の観察から相手の意図を推定して、自分の行動を決定することが重要である。相手が一方の端を持つために動き出したら、その行動を観察し、自分は反対側の端を持つために移動する。すなわち、自分はどちらの端を持っても目的は達成できるので、相手の行動から「どちらの端を持とうとしているのか」を読み取り、自身の行動を決定しなければならない。また、混雑した道を人にぶつからないように歩く場合でも、相手の行動に注意を払いつつ自分の行動を決定することによって、人にぶつからずにスムーズな歩行を実現している。このように、相手の意図を推定することによって、相手からの明確な意思表示がなくても協調作業を行うことが可能である。
【0016】
相手の意図を考慮した行動決定のモデルについて、図1を用いて概念的に説明する。図1において、自分(self)1はその内部に、相手(other)2がいかなる行動を取ろうとしているかを予測する複数のモデル5を有している。自分1と相手2との関係において、まず相手2はなんらかの行動を企てようとする意図3を内部に持つものと仮定して、その意図3に基づいて行動4が外界に対して表出されるものとする。自分1は相手2の行動4を観察し、複数のモデル5のうちどのモデルが現在の相手2に最も適しているかを判定して、最適モデル6を選択する。そして、選択した最適モデル6を用いて、相手2が次に取る行動を予測し(7)、予測結果を用いて、相手2の意図3に基づく自分1の行動決定を行う(8)。このように、自分1は、内部に持つ相手モデル5を切り換えながら、自己の行動を決定する。
【0017】
以下、本発明の実施の形態について、図面を参照して説明する。なお、本発明に係るユーザ適応型行動決定装置は、図1の概念図における自分1に該当するものであり、装置を利用する各ユーザが、相手2に該当する。また、本願明細書では、図1におけるモデル5のことを、ユーザの行動を予測するためのモデルという意味で、「ユーザモデル」と呼ぶ。
【0018】
(第1の実施形態)
図2は本発明の第1の実施形態に係るユーザ適応型行動決定装置10の構成を示すブロック図である。図2の装置10は、所定の環境11を観察して、その状態を表す状態値SDと、環境11内のユーザの行動を表す行動値ADとを取得し、これら取得した状態値SDおよび行動値ADに基づいて、自己の行動を決定する。具体的には例えば、ユーザのために様々な作業を行う家庭内ロボットや、ユーザの操作に応じて情報提供を行う車載情報端末等が、装置10に該当する。
【0019】
本実施形態では、図3に示すような追跡問題(pursuit problem )を課題の例として用いて、装置10の動作の詳細を説明する。この追跡問題は、上述の非特許文献1に記述されており、解決には協調が必要とされている。
【0020】
図3において、世界51(7×7の枡目)に、1個の獲物(Prey)P(三角形で示す)と2個のハンターHA,HB(丸で示す)がいる。獲物PおよびハンターHA,HBは時間ステップ毎に、上下若しくは左右に桝目1個だけ移動する。ハンターHA(自分:self)は本装置10によって行動が決定されるものとし、ハンターHB(相手:other)は所定の行動基準に従って行動するものとする。また、獲物PはハンターHA,HBからランダムに逃げ回るものとする。そして、この課題では、ハンターHA,HBが獲物Pを挟み撃ちにする位置に到達した場合に報酬が得られるものとする。具体的には、ハンターHA,HBがそれぞれ獲物Pの上下または左右に到達し、獲物Pを挟んだ状態になったときにのみ、正の報酬が得られる。
【0021】
この追跡問題では、ハンターHBの動きを考慮しないと報酬が得られない状況にあり、このような状況下で、ハンターHAの行動決定をハンターHBに適応させながら行うことが必要である。またハンターHBも、報酬を得るために、例えば、獲物Pの上を目指すのか、あるいは右を目指すのかといった戦略に基づいて行動を決定する。ハンターHAは、こういったハンターHBの戦略の違いも考慮しなければならない。
【0022】
以下、図2の装置10の各ブロックの機能と動作について、図3の追跡問題を例にとって説明する。
【0023】
状態観察部12は、所定の環境11について、その状態を観察し、状態値SDを取得する。ここでは、図3の追跡問題において、ハンターHAと獲物Pとの相対座標とハンターHBと獲物Pとの相対座標とを並べたものを、状態値SDとする。図3の例では、ハンターHAと獲物Pとの相対座標は[3,1]であり、ハンターHBと獲物Pとの相対座標は[−1,−2]であるので、状態値SD=([3,1],[−1,−2])のように表現される。
【0024】
ユーザモデル記憶部13は、所定の環境11にいる可能性があると想定される複数の候補ユーザについて、それぞれ、ユーザモデルを記憶している。「ユーザモデル」とは、状態観察部12によって観察されたある状態に対して、そのユーザであれば次のステップにおいてどのような行動をするかを予測するモデルのことをいい、すなわち、各状態値SDにおける当該ユーザの行動傾向を表したものである。この意味で、「ユーザモデル」は「ユーザ行動予測モデル」とも呼ぶことができる。
【0025】
図4はユーザモデルの一例である。説明を簡単にするために、図4では5×5の桝目で表現している。図4では、獲物Pを中心にした座標にそれぞれ矢印が記されている。各座標の矢印は、ハンターHB(相手)がその位置に来たとき、次に取る確率が最も高い行動を示している。
【0026】
ここで、相対するユーザの戦略が異なると、これに応じたユーザモデルがそれぞれ必要になる。図3の追跡問題の例では、相手側のハンターHBの戦略としては、獲物Pの上から挟み撃ちを狙うものや、逆に下から挟み撃ちを狙うもの等、様々なものが考えられる。このとき、各状態におけるハンターHA(自分)の最適な行動も、相手側の戦略に応じて異なったものになる。図4において、(a)はハンターHBが上から挟む戦略を持つ場合のユーザモデルの例、(b)はハンターHBが下から挟み撃ちを狙う戦略を持つ場合のユーザモデルの例である。
【0027】
なお実際には、各座標において、円A内に示すように、上下左右への各移動について確率が付された形式で、行動が表現されている。これを、本実施形態では、
In(s,a)(n=ユーザの番号)
と表現する。sは状態であり、ここでは獲物PとハンターHBとの相対座標で表される。またaは行動であり、ここでは上下左右への各移動をそれぞれ表す。例えば、図4のAに示す状態をs1とし、上への移動をa1としたとき、
I1(s1,a1)=0.7
と表現される。また、ある状態sにおける各行動aの確率の総和ΣIn(s,a)は1に正規化されている。このような表現の集合によって、各ユーザのユーザモデルが表わされる。本実施形態では、このユーザモデルは事前に与えられるものとする。
【0028】
ユーザ行動予測部14は、状態観察部12からの状態値SDを基に、ユーザモデル記憶部13に蓄えられた複数のユーザモデルを用いて、各候補ユーザについて、それぞれ行動を予測する。その結果は、複数のユーザ行動予測結果ai(i=1〜N:iはユーザモデル番号)として、ユーザモデル選択部15に送られる。
【0029】
図5のフローチャートを参照して、ユーザ行動予測部14の動作を説明する。ユーザ行動予測部14は、まず、状態観察部12から状態値SDを受ける(S11)。ここでは状態値SDは、ハンターHAと獲物Pとの相対座標、およびハンターHBと獲物Pとの相対座標を表現しており、4個の変数からなっている。そして、複数のモデルに対して同様の処理を行うためのループカウンタとしてiを定義し、まずiの初期値として1を与える(S12)。その後、iをインクリメントしながら、全てのユーザモデルについて、次のステップS13,S14を実行する(S15,S16)。
【0030】
ステップS13において、第iのユーザモデルを用いて行動予測を行う。ここでは、上述した行動確率Ii(s,a)を用いて、状態値SDにおいて、確率Iが最も高くなる行動aiを求める。そして、ステップS14において、求めた行動aiを、第iのユーザモデルを用いて予測した行動として蓄積する。
【0031】
全てのユーザモデルに対して予測結果が得られたとき(S15でYES)、得られた行動予測結果ai(i=1〜N)をユーザモデル選択部16に出力し(S17)、動作を終了する。
【0032】
行動観察部15は、所定の環境11におけるユーザの行動を観察し、行動値ADを取得する。ここでは、図3の追跡問題において、ハンターHBの行動(上下左右への移動)を、行動値ADとして抽出する。
【0033】
ユーザモデル選択部16は、ユーザ行動予測部14から送られた複数ユーザの行動予測結果ai(i=1〜N)を、行動観察部15によって取得された行動値ADと照合して、各ユーザモデルの予測性能を評価し、この評価結果から、現在、環境11内にいると推定されるユーザに係るユーザモデルを選択し、そのユーザモデル番号xを行動決定部18に送る。
【0034】
図6のフローチャートを参照して、ユーザモデル選択部16の動作を説明する。ユーザモデル選択部16はまず、ユーザ行動予測部14から複数ユーザの行動予測結果ai(i=1〜N)を受け、これらをメモリに蓄積する(S21)。蓄積した予測結果ai(i=1〜N)は、当たっているか否かはこの時点では不明である。そして、行動観察部15から、現在のユーザの行動を示す行動値ADを入力する(S22)。そして、それぞれの行動予測結果に対して同様の検証処理を行うためのループカウンタとしてiを定義し、まずiの初期値として1を与える(S23)。その後、iをインクリメントしながら、全ての行動予測結果について、次のステップS24〜S26を実行する(S27,S28)。
【0035】
ステップS24において、第iのユーザモデルについて、1ステップ前の予測行動と、行動観察部15から得られた行動値ADとを比較する。そして、一致しているときは「0」を、異なっているときは「1」を、誤差として求める。そして、求めた誤差をメモリに蓄積する(S25)。
【0036】
そしてステップS26において、第iのユーザモデルについて、過去所定数のステップにおける誤差を積算する。ここでは、過去5ステップにおける誤差を積算するものとする。積算するステップ数は、行動や環境の複雑さに応じて設定すればよい。
【0037】
全てのユーザモデルに対して誤差の積算計算が終了したとき(S27でYES)、誤差の和が最も少ないユーザモデルを、環境11内にいると推定されるユーザを表すモデルとして選択し(S29)、この選択したユーザモデルの番号xと、その行動予測結果axを行動決定部18に出力する(S2A)。
【0038】
状態価値記憶部17は、行動決定のために用いる状態価値を記憶している。「状態価値」とは、状態と、自分の行動と、相手の予測された行動とによって決定される価値である。
【0039】
図7は状態価値の一例である。図7では、ハンターHA(自分)と獲物Pとの相対位置、およびハンターHB(相手)と獲物Pとの相対位置が図示されたようになっており(すなわち、状態値SD=([2,2],[−2,−2]))、かつ、ハンターHBの行動として左への移動axが予測されているという条件を表している。そして、この条件下において、ハンターHAが各行動をとったときに期待される価値が円B内に示されている。
【0040】
本実施形態では、この状態価値を、
Q(s,aself,auser)
と表現する。sは状態であり、ここではハンターHAと獲物Pとの相対座標、およびハンターHBと獲物Pとの相対座標で表される。またaselfはハンターHAの行動であり、auserはハンターHBの予測された行動である。例えば、図7に示された相対位置関係を状態s2とし、aself=上への移動,auser=ax(左への移動)とすると、
Q(s2,aself,auser)=1.5
のように表現される。このような表現の集合によって、状態価値は表されている。本実施形態では、この状態価値は事前に与えられるものとする。
【0041】
行動決定部18は、状態価値記憶部17を参照して、状態観察部12から得た状態値SDと、ユーザモデル選択部16から得た、環境11に現在いると推定したユーザの行動予測結果axを基にして、自身の取る行動を決定する。例えば図7の場合、上下左右への移動のうち、上への移動について、最も大きい価値(1.5)が期待されるので、ハンターHAの行動として上への移動が選択される。
【0042】
以上のように本実施形態によると、複数のユーザモデルを用いたユーザ行動予測によって、現在のユーザを特定し、特定したユーザの予測行動に対して、行動決定が行われる。したがって、ユーザ識別のためにセンサやボタン等の特定の手段を設けなくても、複数のユーザに適応させることができる。
【0043】
なお、本実施形態では、状態価値は、状態と、自分の行動と、相手の予測された行動によって決定される価値とした。追跡問題では、相手が「誰か」ということに関係なく、行動を決定することができる。しかしながら、適応すべきタスクによっては、相手(ユーザ)の区別も必要になる。
【0044】
例えば、家庭内ロボットに本発明を適用した場合を考えると、冷蔵庫の前に誰かが来ることを予測したとき、それだけでは最適な行動を決定することは必ずしもできない。冷蔵庫の前に来たのが父親のときはビールを提供し、子供のときはジュースを提供する、といったように、ロボットが取るべき行動はその相手に応じて異なる。このような場合は、状態価値を決める要素として、状態、自分の行動、相手の予測された行動に加え、相手(ユーザ)の種類userも加える必要がある。すなわち、状態価値は、
Q(s,aself,auser,user)
などと表現すればよい。
【0045】
なお、本実施形態では、ユーザモデル選択のための予測性能の評価に、誤差を用いたが、この代わりに例えば尤度を用いてもよい。尤度の計算式を、次のように与えられる。
【数1】
【0046】
上式において、Ixは第xのユーザモデルの尤度を表し、stはtステップ前の状態、atはtステップ前の行動を示す。なお、この式では、過去5ステップ分の尤度を積算しているが、さかのぼるステップ数は、問題に応じて設定すればよい。
【0047】
また、本実施形態では、追跡問題を例にとって説明を行ったが、適用できる課題はこれに限られるものではない。複数のユーザに対応する必要があり、ユーザの行動を予測することによって適応能力が高まる機器において、本発明は有効となる。このような機器としては、ユーザに様々な作業を提供したり、ユーザと協調して作業をしたり、ユーザの代わりに作業をしたりするロボット、ユーザに対して情報提供を行う情報機器、ユーザの好みに合わせて走行特性を変化させる車などが考えられる。
【0048】
例えば、家庭内でユーザに様々な作業を提供するロボットを例にとると、そのユーザは、家族の構成員であり複数人の場合が多い。ロボットへの入力手段としては、画像センサ、マイク、距離センサ等のロボットに搭載されたセンサのみではなく、家に取り付けられたセンサ等も利用できる。
【0049】
<本発明が応用される具体例>
(その1)リモコン操作から家族を識別
家族が共通で使用するテレビやオーディオ等のリモコン操作の情報を、本発明に係るユーザ適応型行動決定装置の入力として用いる。そして、本装置は、ユーザモデルを切り換えながら、次の操作を予測する。これにより、システムは、次の操作を代行したり、次の操作に関連する行動を行うことができる。すなわち、リモコンの操作から家族の違いを自動的に識別し、その予測行動に適した情報やサービスを提供できる。
【0050】
例えば、ユーザが次に選択するチャンネルが予測できた場合、その番組に関連する情報をインターネット等から予め取得して表示しておくことができる。また例えば、ユーザが次にHDDやDVDによるビデオデッキを操作することが予測できた場合、すでに録画された番組のうち、そのユーザの指示によって録画した番組のみの一覧表を事前に作成しておくことができる。このように、インターネットからの情報取得や動画再編成画面の作成といった,若干時間を要する動作の準備が前もってなされることによって、ユーザはストレスを感じることなく機器を使用することができる。
【0051】
(その2)家族の移動に応じたサービス提供
将来的には、家庭の各部屋に取り付けられ、ネットワークでつながったカメラや人間感知センサなどから、家族の移動に係る情報を取得することが可能になる。このような移動情報を、本発明に係るユーザ適応型行動決定装置の入力として用いることによって、家族の構成員の識別が可能になり、構成員の個性も考慮した精度の高い行動予測が実現される。これによって、家族の移動に即した情報やサービスの提供が可能になる。
【0052】
例えば、冷蔵庫に内部の物を移動させる機能が備わっているとすると、これまでの行動系列からそのユーザが父親であり、次に冷蔵庫の前に行くことがわかっている場合、冷蔵庫に対して、ビールを取りやすい場所に移動するように指示する。もしそのユーザが子供のときは、ジュースを取りやすい場所に移動するように指示する。これにより、家族の誰が冷蔵庫の前に来ても、自分が欲しいものが取りやすい場所に来ていることになる。
【0053】
(その3)GPSと連動した情報サービス
GPSによる位置情報の時系列情報を、本発明に係るユーザ適応型行動決定装置の入力とする。これにより、システムは、そのユーザの次時刻の位置を予測できるとともに、それまでの位置情報からユーザを特定できるので、特定したユーザに応じた情報サービスを提供することができる。例えば、予測される移動位置に面したディスプレイに、特定されたユーザに合った情報、例えば、好みに合った近所のレストランの広告や特定のイベントの案内などを表示させることが可能になる。
【0054】
(その4)家庭用ロボットとの協調作業
本発明に係るユーザ適応型行動決定装置が家庭用ロボットとして実装された場合、ユーザの挙動が予測の対象となる。すなわち、何らかのセンサによってユーザの行動の時系列データが取得できれば、システムは、すでに有している複数のユーザモデルの中から最も近いユーザモデルを基にして、ユーザの次の行動を予測し、この予測した行動に対応した行動を行うことができる。
【0055】
例えば、ユーザがコップを差し出したとき、ロボットはその差し出す行動から自分もコップを受け取る行動を開始し、これによりスムーズな受渡しを行うことができる。またユーザ毎に異なるコップの形状やコップを渡すときの高さに応じて、ロボットから手を差し伸べる動作の制御も変更できるし、受け取った後の動作、例えばおじいちゃんならお茶のお代わりをするのでもう一度お茶を入れる、お母さんなら紅茶を飲んだ後はお代わりなしですぐに片付ける、等の動作を次に行わせることができる。このように、ユーザがコップを片付けて欲しいと音声やボタンによって明示的に意思表示をしなくても、ユーザの動作の予測から行動を開始できるので、時間遅れが少なくなる。また、共同で机を運ぶ場合でも、人間の行動から人間がどちらの端を持つかを予測した上で、その反対側に移動するように行動ができる。このように、ユーザが次の行動を起こす前に、その行動を予測して事前に行動を起こすことによって、協調行動が容易になったり、ユーザに時間遅れによるストレスを感じさせないなどの効果が得られる。
【0056】
(第2の実施形態)
第1の実施形態では、ユーザモデル記憶部13内部に記憶されているユーザモデルは予め与えられるものとしたが、本発明の第2の実施形態では、ユーザモデルを学習によって更新するものとする。
【0057】
図8は本実施形態に係るユーザ適応型行動決定装置10Aの構成を示すブロック図である。図8において、図2と共通の構成要素については図2と同一の符号を付しており、ここではその詳細な説明を省略する。図8の構成では、ユーザモデル記憶部13に格納されたユーザモデルを更新するユーザモデル更新部21が設けられている。
【0058】
ユーザモデル更新部21は、状態観察部12から状態値SDを受けるとともに、行動観察部15から行動値ADを受けて、ユーザモデル記憶部13に格納されたユーザモデルを、より実際のユーザに近くなるように、学習によって更新する。ここで、ユーザモデルは、第1の実施形態で説明したように、ある状態sにおけるある行動aの確率、すなわち、
In(s,a)(n=ユーザの番号)
の集合によって、表現されているものとする。
【0059】
図9のフローチャートを参照して、ユーザモデル更新部21の動作を説明する。なお、学習の開始前には、確率In(s,a)の値は初期化されているものとする。初期化の際には、例えば、すべて同じ値、またはランダムな値が割り付けられる。また、ある状態sにおけるIn(s,a)のaに関する総和は、1に正規化されるものとする。
【0060】
まず、ユーザモデル選択部16から、現在、環境11内にいると推定されるユーザのユーザモデル番号xを受ける(S31)。この結果、第xのユーザモデルが以下の更新動作の対象となる。
【0061】
次に、行動観察部15から現在のユーザの行動を示す行動値ADを受けるとともに、状態観察部12から現在の環境11の状態を示す状態値SDを受ける(S32)。そして、第xのユーザモデルの状態値SDにおける全ての行動に対して同様の更新処理を行うためのループカウンタとしてuを定義し、まずuの初期値として1を与える(S33)。その後、uをインクリメントしながら、全ての行動について、次のステップS34〜S37を実行する(S38,S39)。
【0062】
ステップS34において、行動値ADと、第xのユーザモデルの状態値SDにおける行動auとを比較する。そして、一致したとき(S35でYES)は、ユーザモデルの行動は現在観察された行動と一致したことになるので、その確率Ix(SD,au)を上げる(S36)。例えば次式によって、Ix(SD,au)を更新する。
Ix(SD,au)←(1−θ)Ix(SD,au)+θ
【0063】
一方、行動値ADと行動auとが一致しなかったとき(S35でNO)は、ユーザモデルの行動は現在観察された行動と一致しなかったことになるので、その確率Ix(SD,au)を下げる(S37)。例えば次式によって、Ix(SD,au)を更新する。
Ix(SD,au)←(1−θ)Ix(SD,au)
ここで、θは更新の程度を定めるパラメータであり、0<θ<1の範囲の値をとる。
【0064】
全ての行動について更新が完了したとき(S38でYES)、ユーザモデル更新部21はその動作を終了する。ここでは、行動の種類は、上下左右への移動の4種類であるので、uの値が4になったとき、処理を終了する。
【0065】
このように本実施形態によると、ユーザモデルは、観察されたユーザの行動を教師信号として、実際のユーザにより近くなるように更新される。したがって、ユーザの行動予測を常に正確に行うことができる。また、更新機能を設けたことによって、正確なユーザモデルを予め準備する必要がなくなり、システムの初期設定が容易になる。
【0066】
(第2の実施形態の変形例)
また、第2の実施形態について、次のような変形例も考えられる。
【0067】
図10は本変形例に係るユーザ適応型行動決定装置10Bの構成を示すブロック図であり、図8の構成にさらにユーザモデル追加部22が付加されている。
【0068】
ユーザモデル追加部22は、ユーザモデル選択部16aから最も適したユーザモデルの番号xを受け、第xのユーザモデルについてその妥当性を判断する。そして、最適な第xのユーザモデルであっても妥当でない場合、言い換えると、最適な第xのユーザモデルを用いた場合でも行動予測の精度が十分ではない場合に、ユーザモデル追加部22は新しいユーザモデルをユーザモデル記憶部13に追加する。
【0069】
図11のフローチャートを参照して、ユーザモデル追加部22の動作を説明する。ユーザモデル追加部22はまず、ユーザモデル選択部16aから、現在、環境11内にいると推定されるユーザのユーザモデル番号xを受ける(S41)。次に、ユーザモデル記憶部13から第xのユーザモデルを取得する(S42)。
【0070】
そして、ステップS43,S44において、第xのユーザモデルについてその妥当性を判断する。ここでは、妥当性を判断するために、ユーザモデルにおける行動確率Ix(s,a)の平均値を用いる。この値は、ユーザモデルに対する信頼度を示しており、所定の値よりも小さい場合は、最も適したユーザモデルを用いた場合でも十分な予測精度が得られない、ということになる。すなわち、最もよいユーザモデルを用いても、予測される行動の確率が低すぎるので、これまでにないユーザと接している、と判断して、新しいユーザモデルを生成する。
【0071】
まず、過去所定のステップ数のIx(s,a)の平均値を求める(S43)。ここでは、ステップ数を5にする。なお、ユーザモデル追加部22には過去の行動値ADおよび状態値SDが蓄積されているものとし、Ix(s,a)の合計演算には、これら蓄積された過去の行動値ADおよび状態値SDを用いるものとする。そして、ステップS43で計算した行動確率Ix(s,a)の平均値を所定の閾値と比較し(S44)、閾値以下のときはステップS45にすすむ一方、そうでないときは処理を終了する。
【0072】
ステップS45では、新しいユーザモデルを生成し、これをユーザモデル記憶部13に格納する。新しいユーザモデルの作成には、全くランダムに作成する、または、最も良かったユーザモデルをコピーして用いる、等の手法を用いればよい。
【0073】
このように本変形例によると、既存のユーザモデルでは行動予測の精度が不十分な場合に、新たにユーザモデルを追加して、別のユーザモデルを作成することができる。これにより、精度の高い行動予測を保証することができる。また、生成された新しいユーザモデルは、学習によって更新されるので、新しいユーザに容易に適応させることができる。
【0074】
例えば、車や端末の操作というユーザの行動からユーザを識別して、ユーザに適した情報提示を行う車載情報端末に本実施形態を適用すると、ユーザの操作パターンが嗜好の変化等に起因して変化した場合であっても、これに応じてユーザモデルが更新されるので、適切な行動予測を常に行うことができる。また、新たなユーザが運転をするようになった場合でも、これに応じて新たなユーザモデルが追加されるので、そのユーザについて適切な行動予測を行うことができる。
【0075】
(第3の実施形態)
第1および第2の実施形態では、状態価値記憶部17内部に記憶される状態価値は予め与えられるものとしたが、本発明の第3の実施形態では、状態価値を学習によって更新するものとする。
【0076】
本実施形態では、強化学習を状態価値の更新に適用する。強化学習とは、環境からの報酬信号を用いて試行錯誤によって学習を行う手法であり、報酬の最大化を目的として行動決定を行う学習アルゴリズムである(非特許文献2を参照)。すなわち、状態をs、報酬がどのくらいもらえそうかという見積もりを示す価値をV、環境に対する行動をaとし、ある状態sにおける状態価値をV(s)、ある時刻tにおける状態をs(t)としたとき、s(t)から、V(s(t)),V(s(t+1))等を参照しながら行動aを決定する、という手法である。
【0077】
図12は本実施形態に係るユーザ適応型行動決定装置10Cの構成を示すブロック図である。図12において、図10と共通の構成要素には図10と同一の符号を付しており、ここではその詳細な説明を省略する。
【0078】
報酬観察部30は、外部のユーザや環境11から報酬に相当する情報を抽出し、報酬信号rとして出力する。例えば図3の追跡問題の例では、獲物Pを挟み撃ちにできたとき、環境11から報酬が与えられるようにする。
【0079】
なお、報酬信号は、人間や環境から得られる様々な情報から抽出可能であり、報酬観察部30も、具体的には様々な構成が考えられる。例えば、○×ボタンのような人間が直接操作する手段を設けて、これによってユーザの意思を報酬として抽出したり、音声認識手段を設けてユーザの言葉による評価を報酬として抽出してもよい。または、ユーザの行動や表情等の反応から行動結果に対する評価を読み取り、これを報酬として抽出してもよい。例えば、ユーザが特定の場所を行ったり来たりしたら「イライラしている」と解釈したり、声の韻律情報の解析から快不快の状態を読み取ったり、カメラによる表情の画像認識からユーザの状態を読み取ったり、ユーザの発話内容から状態を読み取ったりすればよい。あるいは、環境から解釈してもよい。例えば、ロボットがユーザと衝突したので負の報酬と解釈したり、エネルギーが少なく移動できたので正の報酬として解釈したりしてもよい。
【0080】
状態価値更新部31は、基本的には強化学習のアルゴリズムに従って状態価値の更新を行う。状態価値の更新式を次に示す。
【数2】
【0081】
ここで、a*userは観察によって得られるユーザの行動、aselfは装置10cの出力する行動、αは学習の速度を制御するパラメータ、rは外部からの報酬、γは0<γ<1の範囲で値をとり、将来の報酬をどの程度重視するかを示す値である。また、s’は行動aselfによって状態sから遷移した後の状態、a’selfおよびa’userは状態s’において想定される自分および相手の行動である。
【0082】
行動決定部32は、状態価値記憶部17内部の状態価値とユーザ行動予測部14aによって予測されたユーザの行動とを参照して、装置10C自身の行動を決定し、外部の環境11に出力する。ユーザの行動は、次式により算出される条件付確率πに基づいて算出される。
【数3】
【0083】
πはある状態sにおいてi番目の行動aiが選択される確率を記述しており、その確率πに基づいて状態sにおける行動aselfが決定される。これはソフトマックスと呼ばれる行動決定方法である。なお、τは行動決定のランダム性を決定する値である。
【0084】
このように本実施形態によると、行動決定のために参照する状態価値が、外部からの報酬信号rを用いて強化学習によって更新されるので、行動決定に柔軟性が増し、装置の適応能力が向上する。また、システムの初期設定の際に、状態価値の設定をさほど精度良く行う必要がなくなるので、初期設定が容易になる。
【0085】
<シミュレーション結果>
(その1)
図13は本発明のシミュレーション結果を示すグラフである。図13のグラフでは、シミュレーションを開始してから獲物を捕まえて報酬が得られるまでの動作を1回の試行とし、この試行に要したステップ数をプロットしている。すなわち、ステップ数が少ないほど性能は高いということになる。横軸は試行回数、縦軸は報酬獲得までの平均ステップ数である。シミュレーションの条件は、図3の追跡問題において、ハンターHBが獲物Pを上から挟むか下から挟むかの2通りの戦略を持ち、これを100試行回数ごとに切り替える、ものとしている。これは、ユーザが切り替わった場合の適応能力を評価するためである。
【0086】
図13において、D1が本発明すなわち複数のユーザモデルを持った場合、D2は比較例として、ユーザモデルを持たず、従来の強化学習による場合、そしてD3はユーザモデルを1種類だけ用いた場合である。また、M1は本発明のシミュレーションの際に、ユーザモデル数がどの程度増加したかを示している。グラフから、ユーザモデルの導入によって、報酬がより早く獲得できること、また、ユーザモデルを複数導入したことによって、1個の場合よりもさらに報酬獲得が早くなることが分かる。すなわち、このシミュレーションによって、本発明による行動決定性能の向上が確認された。また、M1を見ると、ユーザモデルの数は、計算開始後から増加を始め、予め規定された最大値である9に収束している。したがって、ユーザモデルの追加によって、性能の向上が実現された、と理解できる。
【0087】
(その2)
ここでは、4種類のユーザがそれぞれ異なった戦略を持って登場するものとしてシミュレーションを行った。すなわち、試行回数1〜3000回はユーザ1が、3001〜8000回はユーザ2が、8001〜13000回はユーザ3が、そして13001〜18000回はユーザ4が相手をすることとした。また、システムにはユーザの交代は知らされないものとし、システムが自身で相手モデルの予測性能の違いから交代を判定することにした。また、システムが新しいモデルを作成した後に設けるモデル修正期間は3000回試行とした。また、予測誤差の計算には、74ステップ前までの予測結果と実際の行動との差の積算を用いた。
【0088】
図14はこのようなシミュレーションの結果を示すグラフであり、横軸が試行回数、縦軸が獲物を捕えるまでの平均ステップ数である。図14において、S1が本発明すなわち複数のユーザモデルを持った場合、S2は比較例として、ユーザモデルを持たず、従来の強化学習による場合、そしてS3はユーザモデルを1種類だけ用いた場合である。また、M2は本発明のシミュレーションの際に、ユーザモデル数がどの程度増加したかを示している。グラフから分かるように、ユーザモデルを分化させることができる本発明S1の場合は、獲物を捕らえるまでに15〜20ステップを必要としている。これに対して、ユーザモデルを持たないS2の場合は、獲物を捕らえるまでに30ステップ前後を一貫して必要としている。一方、ユーザモデルを1個だけ持つS3の場合は、最初のユーザに対しては適応することができ、本発明S2と同じ程度の性能が出ているが、3000回試行後にユーザが切り替わった後は、新たなユーザに適応しきれず、獲物を捕らえるまでのステップ数が増加している。
【0089】
図15〜図17はそれぞれユーザが交代したときのモデルの関数分化を示すグラフであり、図15は3000回試行の前後、図16は8000回試行の前後、図17は13000回試行の前後における尤度変化をそれぞれ示している。
【0090】
図15に示すように、3000回試行後において、モデル1の尤度が下がってきた(すなわち、予測の誤差が大きくなってきた)ために、新しいモデル2が生成され、その学習が進められている。生成された直後はモデル修正期間となり、モデル2の修正のみが行われ、モデル1の方は分化後も尤度が下がっているのが分かる。
【0091】
また図16に示すように、8000回試行後において、それまで適応していたモデル2も尤度が低下したため、新しいモデル3が生成され、モデル3の学習が進められることによって、尤度が高いモデルが維持されている。
【0092】
また図17に示すように、13000回試行後において、それまで適応していたモデル3も尤度が低下したため、新しいモデル4が生成され、モデル4の学習が進められることによって、尤度が高いモデルが維持されている。
【0093】
【発明の効果】
以上のように本発明によると、ユーザ適応型行動決定装置において、複数のユーザモデルを用いて、ユーザの識別がなされるとともに、行動の決定が行われるので、複数のユーザへの適応が容易に実現可能になる。
【図面の簡単な説明】
【図1】本発明に係る,相手の意図を考慮した行動決定モデルを概念的に説明するための図である。
【図2】本発明の第1の実施形態に係るユーザ適応型行動決定装置の構成を示すブロック図である。
【図3】各実施形態の説明のために用いる追跡問題を示す図である。
【図4】ユーザモデルの一例である。
【図5】図2の構成におけるユーザ行動予測部の動作を示すフローチャートである。
【図6】図2の構成におけるユーザモデル選択部の動作を示すフローチャートである。
【図7】状態価値の一例である。
【図8】本発明の第2の実施形態に係るユーザ適応型行動決定装置の構成を示すブロック図である。
【図9】図8の構成におけるユーザモデル更新部の動作を示すフローチャートである。
【図10】本発明の第2の実施形態の変形例に係るユーザ適応型行動決定装置の構成を示すブロック図である。
【図11】図10の構成におけるユーザモデル追加部の動作を示すフローチャートである。
【図12】本発明の第3の実施形態に係るユーザ適応型行動決定装置の構成を示すブロック図である。
【図13】本発明のシミュレーション結果の一例を示すグラフである。
【図14】本発明のシミュレーション結果の一例を示すグラフである。
【図15】図14のシミュレーションにおいて、ユーザが交代したときのモデルの関数分化を示すグラフである。
【図16】図14のシミュレーションにおいて、ユーザが交代したときのモデルの関数分化を示すグラフである。
【図17】図14のシミュレーションにおいて、ユーザが交代したときのモデルの関数分化を示すグラフである。
【符号の説明】
10,10A,10B,10C ユーザ適応型行動決定装置
11 環境
12 状態観察部
13 ユーザモデル記憶部
14,14a ユーザ行動予測部
15 行動観察部
16,16a ユーザモデル選択部
17 状態価値記憶部
18 行動決定部
21 ユーザモデル更新部
22 ユーザモデル追加部
30 報酬観察部
31 状態価値更新部
SD 状態値
AD 行動値
r 報酬信号
【発明の属する技術分野】
本発明は、外部から入力を受け、その入力から当該機器を使用しているユーザを識別し、識別したユーザに適した様式で外部への出力を決定する行動決定に関する技術に属する。
【0002】
【従来の技術】
近年、家庭用ロボットや情報端末など、ユーザに対して複雑な情報処理やサービスを提供可能な機器が求められており、実用化が進められている。これらの機器においては、提供可能な情報やサービスは多岐に渡るため、ユーザの好みに合わせて動作できる機能を有することが求められる。この場合、いかにユーザに適した行動を行い得るかが機器の性能を決める重要な指標となる。本願明細書では、ユーザに合った情報やサービスを提供できる装置を総称して、「ユーザ適応型行動決定装置」と呼ぶ。具体的には、ユーザに応じた応答をする必要がある家庭用ロボットや情報端末、家電機器などが、このユーザ適応型行動決定装置に該当する。
【0003】
ユーザの特性に応じて出力を変更する従来技術として、特許文献1および特許文献2に開示されたものがある。特許文献1では、筋電位を図る電極によってユーザ固有の筋肉の活動を測定し、その測定結果によって、機器の出力を変更する技術が示されている。これにより、各ユーザ固有の操作時の力の強さに適した、力のフィードバックがかけられる。また、特許文献2では、音声認識において話者の特定を行う技術が示されており、具体的には、話者を識別するための複数のテンプレートを予め準備し、話者から得られた特徴量を各テンプレートと比較して、最も適合したテンプレートに係る話者を実際の話者として特定する。
【0004】
また、ユーザに適応しながら学習を行う従来技術としては、非特許文献1に開示されたものがある。非特許文献1では、強化学習(非特許文献2を参照)を拡張した手法が示されている。強化学習とは、環境からの報酬信号を用いて試行錯誤によって学習を行う手法であり、報酬の最大化を目的として行動決定を行う学習アルゴリズムである。すなわち、非特許文献1では、相手の行動を予測するモジュールを内部状態として持ち、相手の行動を予測した上で、システムの行動を決定する。これにより、現時点の相手の行動から、将来の相手の行動を考慮でき、行動の質を向上させることができる。特に、相手との協調行動などをタスクとした場合には、この従来技術は有効である。
【0005】
【特許文献1】
特開2001−51726号公報
【特許文献2】
特開2001−5487号公報
【非特許文献1】
ナガユキ(Y.Nagayuki),イシイ(S.Ishii),ドウヤ(K.Doya),“マルチエージェントの強化学習:他のエージェントの内部モデルに基づくアプローチ(Multi−agent reinforcement learning: an approach based on the other agent’s internal model)”,(米国),マルチエージェントに関する第4回国際会議(Fourth International Conference on MultiAgent System (ICMAS2000)),Los Alamitos: IEEE Computer Society,2000年8月,p.215−221
【非特許文献2】
サットン(R. S. Sutton),バート(A.Barto)著,「強化学習入門(Reinforcement Learning: An Introduction)」,(米国),A Bradford Book,The MITPress,1998年3月
【0006】
【発明が解決しようとする課題】
ところで、家庭用ロボットや、デジタルテレビ等の家電機器、カーナビ等の情報端末は、携帯電話等の個人向けの端末と対比すると、同じ機器が複数のユーザに利用される、という点に1つの特徴がある。このため、ユーザ適応型行動決定装置でも、複数のユーザによる利用を想定しておき、現在利用しているユーザを識別し、そのユーザに応じた行動決定を行う必要がある。
【0007】
ところが、上述した従来技術では、複数のユーザの利用は想定されておらず、複数のユーザに適応・学習できる手法は示されていない。
【0008】
また、複数のユーザに適応させるためには、全てのユーザを想定しておいて、各ユーザに適した行動を予めプログラムすることも考えられる。ところが、実際には、ユーザの種類をいくつかに限定できる場合はこのようなプログラムは可能であるものの、ユーザの種類が多かったり、またはユーザの多様性が高い場合は、プログラムの作成は事実上極めて困難になる。
【0009】
前記の問題に鑑み、本発明は、ユーザ適応型行動決定装置において、複数のユーザが利用する場合であっても、これに適応して、適切な行動を容易に決定可能にすることを課題とする。
【0010】
【課題を解決するための手段】
本発明は、ユーザに適応した行動を決定するために、ユーザの行動を予測するためのモデル、すなわちユーザモデルを用いる。そして、このユーザモデルを用いて、単に行動を決定するだけではなく、複数のユーザの識別を行う。これにより、複数のユーザに適応した行動決定が可能になる。また、現在のユーザの状態だけでなく、現在の状態から予測したユーザの次の行動にも適応して、行動を決定する。これにより、ユーザへの適応度がより一層向上する。
【0011】
具体的には、本発明は、ユーザ適応型行動決定装置として、所定の環境について状態を観察し、状態値を取得する状態観察部と、前記環境内のユーザについて行動を観察し、行動値を取得する行動観察部と、 複数の候補ユーザについて、各状態値における当該ユーザの行動傾向を表したユーザモデルをそれぞれ記憶するユーザモデル記憶部と、前記状態観察部によって取得した状態値に基づき、前記ユーザモデル記憶部に格納されたユーザモデルをそれぞれ参照して、前記複数の候補ユーザについて行動を予測するユーザ行動予測部と、前記ユーザ行動予測部によって予測された各候補ユーザの行動と、前記行動観察部によって取得された行動値とに基づいて、各ユーザモデルの予測性能を評価し、この評価結果から、前記環境内に存在すると推定されるユーザに係るユーザモデルを選択するユーザモデル選択部とを備え、前記ユーザモデル選択部によって選択されたユーザモデルを参照して予測したユーザの行動に基づいて、自己の行動を決定するものである。
【0012】
また、本発明は、ユーザ適応型行動決定装置において、自己の行動を決定する方法として、所定の環境について状態を観察し、状態値を取得し、前記環境内のユーザについて行動を観察し、行動値を取得し、複数の候補ユーザについて、前記状態値に基づき、各状態値における当該ユーザの行動傾向を表したユーザモデルをそれぞれ参照して、行動を予測し、予測した各候補ユーザの行動と、前記行動値とに基づいて、各ユーザモデルの予測性能を評価し、この評価結果から、前記環境内に存在すると推定されるユーザに係るユーザモデルを選択し、選択したユーザモデルを参照して予測したユーザの行動に基づいて、自己の行動を決定するものである。
【0013】
本発明によると、ユーザ適応型行動決定装置において、環境の状態値に基づき、複数のユーザモデルをそれぞれ参照して、複数の候補ユーザの行動が予測される。そして、予測された各候補ユーザの行動と、環境内のユーザの行動値とに基づいて、各ユーザモデルの予測性能が評価され、環境内に存在すると推定されるユーザに係るユーザモデルが選択される。そして、選択したユーザモデルを参照して予測したユーザの行動に基づいて、次の行動が決定される。すなわち、複数のユーザモデルを用いて、ユーザの識別がなされるとともに行動の決定が行われるので、複数のユーザへの適応が容易に実現可能になり、また、ユーザ識別のために特別のセンサ等を準備する必要がない。
【0014】
【発明の実施の形態】
まず、本願発明に係る、相手の意図を考慮した行動決定のモデルについて、概念的に説明する。すなわち、本願発明では、人間は、自身の行動決定の際に相手の行動を評価していると考え、この評価のために、自身の内部に相手の行動を予測するための複数のモデルを持ち、その中で最も予測が合っている(言い換えると、その人の行動らしい)モデルを用いて行動決定を行う、という仮定に基づいている。
【0015】
例えば長い机を2人で運ぶなど、相手と協力して作業を行うような場合には、コミュニケーションや行動の観察から相手の意図を推定して、自分の行動を決定することが重要である。相手が一方の端を持つために動き出したら、その行動を観察し、自分は反対側の端を持つために移動する。すなわち、自分はどちらの端を持っても目的は達成できるので、相手の行動から「どちらの端を持とうとしているのか」を読み取り、自身の行動を決定しなければならない。また、混雑した道を人にぶつからないように歩く場合でも、相手の行動に注意を払いつつ自分の行動を決定することによって、人にぶつからずにスムーズな歩行を実現している。このように、相手の意図を推定することによって、相手からの明確な意思表示がなくても協調作業を行うことが可能である。
【0016】
相手の意図を考慮した行動決定のモデルについて、図1を用いて概念的に説明する。図1において、自分(self)1はその内部に、相手(other)2がいかなる行動を取ろうとしているかを予測する複数のモデル5を有している。自分1と相手2との関係において、まず相手2はなんらかの行動を企てようとする意図3を内部に持つものと仮定して、その意図3に基づいて行動4が外界に対して表出されるものとする。自分1は相手2の行動4を観察し、複数のモデル5のうちどのモデルが現在の相手2に最も適しているかを判定して、最適モデル6を選択する。そして、選択した最適モデル6を用いて、相手2が次に取る行動を予測し(7)、予測結果を用いて、相手2の意図3に基づく自分1の行動決定を行う(8)。このように、自分1は、内部に持つ相手モデル5を切り換えながら、自己の行動を決定する。
【0017】
以下、本発明の実施の形態について、図面を参照して説明する。なお、本発明に係るユーザ適応型行動決定装置は、図1の概念図における自分1に該当するものであり、装置を利用する各ユーザが、相手2に該当する。また、本願明細書では、図1におけるモデル5のことを、ユーザの行動を予測するためのモデルという意味で、「ユーザモデル」と呼ぶ。
【0018】
(第1の実施形態)
図2は本発明の第1の実施形態に係るユーザ適応型行動決定装置10の構成を示すブロック図である。図2の装置10は、所定の環境11を観察して、その状態を表す状態値SDと、環境11内のユーザの行動を表す行動値ADとを取得し、これら取得した状態値SDおよび行動値ADに基づいて、自己の行動を決定する。具体的には例えば、ユーザのために様々な作業を行う家庭内ロボットや、ユーザの操作に応じて情報提供を行う車載情報端末等が、装置10に該当する。
【0019】
本実施形態では、図3に示すような追跡問題(pursuit problem )を課題の例として用いて、装置10の動作の詳細を説明する。この追跡問題は、上述の非特許文献1に記述されており、解決には協調が必要とされている。
【0020】
図3において、世界51(7×7の枡目)に、1個の獲物(Prey)P(三角形で示す)と2個のハンターHA,HB(丸で示す)がいる。獲物PおよびハンターHA,HBは時間ステップ毎に、上下若しくは左右に桝目1個だけ移動する。ハンターHA(自分:self)は本装置10によって行動が決定されるものとし、ハンターHB(相手:other)は所定の行動基準に従って行動するものとする。また、獲物PはハンターHA,HBからランダムに逃げ回るものとする。そして、この課題では、ハンターHA,HBが獲物Pを挟み撃ちにする位置に到達した場合に報酬が得られるものとする。具体的には、ハンターHA,HBがそれぞれ獲物Pの上下または左右に到達し、獲物Pを挟んだ状態になったときにのみ、正の報酬が得られる。
【0021】
この追跡問題では、ハンターHBの動きを考慮しないと報酬が得られない状況にあり、このような状況下で、ハンターHAの行動決定をハンターHBに適応させながら行うことが必要である。またハンターHBも、報酬を得るために、例えば、獲物Pの上を目指すのか、あるいは右を目指すのかといった戦略に基づいて行動を決定する。ハンターHAは、こういったハンターHBの戦略の違いも考慮しなければならない。
【0022】
以下、図2の装置10の各ブロックの機能と動作について、図3の追跡問題を例にとって説明する。
【0023】
状態観察部12は、所定の環境11について、その状態を観察し、状態値SDを取得する。ここでは、図3の追跡問題において、ハンターHAと獲物Pとの相対座標とハンターHBと獲物Pとの相対座標とを並べたものを、状態値SDとする。図3の例では、ハンターHAと獲物Pとの相対座標は[3,1]であり、ハンターHBと獲物Pとの相対座標は[−1,−2]であるので、状態値SD=([3,1],[−1,−2])のように表現される。
【0024】
ユーザモデル記憶部13は、所定の環境11にいる可能性があると想定される複数の候補ユーザについて、それぞれ、ユーザモデルを記憶している。「ユーザモデル」とは、状態観察部12によって観察されたある状態に対して、そのユーザであれば次のステップにおいてどのような行動をするかを予測するモデルのことをいい、すなわち、各状態値SDにおける当該ユーザの行動傾向を表したものである。この意味で、「ユーザモデル」は「ユーザ行動予測モデル」とも呼ぶことができる。
【0025】
図4はユーザモデルの一例である。説明を簡単にするために、図4では5×5の桝目で表現している。図4では、獲物Pを中心にした座標にそれぞれ矢印が記されている。各座標の矢印は、ハンターHB(相手)がその位置に来たとき、次に取る確率が最も高い行動を示している。
【0026】
ここで、相対するユーザの戦略が異なると、これに応じたユーザモデルがそれぞれ必要になる。図3の追跡問題の例では、相手側のハンターHBの戦略としては、獲物Pの上から挟み撃ちを狙うものや、逆に下から挟み撃ちを狙うもの等、様々なものが考えられる。このとき、各状態におけるハンターHA(自分)の最適な行動も、相手側の戦略に応じて異なったものになる。図4において、(a)はハンターHBが上から挟む戦略を持つ場合のユーザモデルの例、(b)はハンターHBが下から挟み撃ちを狙う戦略を持つ場合のユーザモデルの例である。
【0027】
なお実際には、各座標において、円A内に示すように、上下左右への各移動について確率が付された形式で、行動が表現されている。これを、本実施形態では、
In(s,a)(n=ユーザの番号)
と表現する。sは状態であり、ここでは獲物PとハンターHBとの相対座標で表される。またaは行動であり、ここでは上下左右への各移動をそれぞれ表す。例えば、図4のAに示す状態をs1とし、上への移動をa1としたとき、
I1(s1,a1)=0.7
と表現される。また、ある状態sにおける各行動aの確率の総和ΣIn(s,a)は1に正規化されている。このような表現の集合によって、各ユーザのユーザモデルが表わされる。本実施形態では、このユーザモデルは事前に与えられるものとする。
【0028】
ユーザ行動予測部14は、状態観察部12からの状態値SDを基に、ユーザモデル記憶部13に蓄えられた複数のユーザモデルを用いて、各候補ユーザについて、それぞれ行動を予測する。その結果は、複数のユーザ行動予測結果ai(i=1〜N:iはユーザモデル番号)として、ユーザモデル選択部15に送られる。
【0029】
図5のフローチャートを参照して、ユーザ行動予測部14の動作を説明する。ユーザ行動予測部14は、まず、状態観察部12から状態値SDを受ける(S11)。ここでは状態値SDは、ハンターHAと獲物Pとの相対座標、およびハンターHBと獲物Pとの相対座標を表現しており、4個の変数からなっている。そして、複数のモデルに対して同様の処理を行うためのループカウンタとしてiを定義し、まずiの初期値として1を与える(S12)。その後、iをインクリメントしながら、全てのユーザモデルについて、次のステップS13,S14を実行する(S15,S16)。
【0030】
ステップS13において、第iのユーザモデルを用いて行動予測を行う。ここでは、上述した行動確率Ii(s,a)を用いて、状態値SDにおいて、確率Iが最も高くなる行動aiを求める。そして、ステップS14において、求めた行動aiを、第iのユーザモデルを用いて予測した行動として蓄積する。
【0031】
全てのユーザモデルに対して予測結果が得られたとき(S15でYES)、得られた行動予測結果ai(i=1〜N)をユーザモデル選択部16に出力し(S17)、動作を終了する。
【0032】
行動観察部15は、所定の環境11におけるユーザの行動を観察し、行動値ADを取得する。ここでは、図3の追跡問題において、ハンターHBの行動(上下左右への移動)を、行動値ADとして抽出する。
【0033】
ユーザモデル選択部16は、ユーザ行動予測部14から送られた複数ユーザの行動予測結果ai(i=1〜N)を、行動観察部15によって取得された行動値ADと照合して、各ユーザモデルの予測性能を評価し、この評価結果から、現在、環境11内にいると推定されるユーザに係るユーザモデルを選択し、そのユーザモデル番号xを行動決定部18に送る。
【0034】
図6のフローチャートを参照して、ユーザモデル選択部16の動作を説明する。ユーザモデル選択部16はまず、ユーザ行動予測部14から複数ユーザの行動予測結果ai(i=1〜N)を受け、これらをメモリに蓄積する(S21)。蓄積した予測結果ai(i=1〜N)は、当たっているか否かはこの時点では不明である。そして、行動観察部15から、現在のユーザの行動を示す行動値ADを入力する(S22)。そして、それぞれの行動予測結果に対して同様の検証処理を行うためのループカウンタとしてiを定義し、まずiの初期値として1を与える(S23)。その後、iをインクリメントしながら、全ての行動予測結果について、次のステップS24〜S26を実行する(S27,S28)。
【0035】
ステップS24において、第iのユーザモデルについて、1ステップ前の予測行動と、行動観察部15から得られた行動値ADとを比較する。そして、一致しているときは「0」を、異なっているときは「1」を、誤差として求める。そして、求めた誤差をメモリに蓄積する(S25)。
【0036】
そしてステップS26において、第iのユーザモデルについて、過去所定数のステップにおける誤差を積算する。ここでは、過去5ステップにおける誤差を積算するものとする。積算するステップ数は、行動や環境の複雑さに応じて設定すればよい。
【0037】
全てのユーザモデルに対して誤差の積算計算が終了したとき(S27でYES)、誤差の和が最も少ないユーザモデルを、環境11内にいると推定されるユーザを表すモデルとして選択し(S29)、この選択したユーザモデルの番号xと、その行動予測結果axを行動決定部18に出力する(S2A)。
【0038】
状態価値記憶部17は、行動決定のために用いる状態価値を記憶している。「状態価値」とは、状態と、自分の行動と、相手の予測された行動とによって決定される価値である。
【0039】
図7は状態価値の一例である。図7では、ハンターHA(自分)と獲物Pとの相対位置、およびハンターHB(相手)と獲物Pとの相対位置が図示されたようになっており(すなわち、状態値SD=([2,2],[−2,−2]))、かつ、ハンターHBの行動として左への移動axが予測されているという条件を表している。そして、この条件下において、ハンターHAが各行動をとったときに期待される価値が円B内に示されている。
【0040】
本実施形態では、この状態価値を、
Q(s,aself,auser)
と表現する。sは状態であり、ここではハンターHAと獲物Pとの相対座標、およびハンターHBと獲物Pとの相対座標で表される。またaselfはハンターHAの行動であり、auserはハンターHBの予測された行動である。例えば、図7に示された相対位置関係を状態s2とし、aself=上への移動,auser=ax(左への移動)とすると、
Q(s2,aself,auser)=1.5
のように表現される。このような表現の集合によって、状態価値は表されている。本実施形態では、この状態価値は事前に与えられるものとする。
【0041】
行動決定部18は、状態価値記憶部17を参照して、状態観察部12から得た状態値SDと、ユーザモデル選択部16から得た、環境11に現在いると推定したユーザの行動予測結果axを基にして、自身の取る行動を決定する。例えば図7の場合、上下左右への移動のうち、上への移動について、最も大きい価値(1.5)が期待されるので、ハンターHAの行動として上への移動が選択される。
【0042】
以上のように本実施形態によると、複数のユーザモデルを用いたユーザ行動予測によって、現在のユーザを特定し、特定したユーザの予測行動に対して、行動決定が行われる。したがって、ユーザ識別のためにセンサやボタン等の特定の手段を設けなくても、複数のユーザに適応させることができる。
【0043】
なお、本実施形態では、状態価値は、状態と、自分の行動と、相手の予測された行動によって決定される価値とした。追跡問題では、相手が「誰か」ということに関係なく、行動を決定することができる。しかしながら、適応すべきタスクによっては、相手(ユーザ)の区別も必要になる。
【0044】
例えば、家庭内ロボットに本発明を適用した場合を考えると、冷蔵庫の前に誰かが来ることを予測したとき、それだけでは最適な行動を決定することは必ずしもできない。冷蔵庫の前に来たのが父親のときはビールを提供し、子供のときはジュースを提供する、といったように、ロボットが取るべき行動はその相手に応じて異なる。このような場合は、状態価値を決める要素として、状態、自分の行動、相手の予測された行動に加え、相手(ユーザ)の種類userも加える必要がある。すなわち、状態価値は、
Q(s,aself,auser,user)
などと表現すればよい。
【0045】
なお、本実施形態では、ユーザモデル選択のための予測性能の評価に、誤差を用いたが、この代わりに例えば尤度を用いてもよい。尤度の計算式を、次のように与えられる。
【数1】
【0046】
上式において、Ixは第xのユーザモデルの尤度を表し、stはtステップ前の状態、atはtステップ前の行動を示す。なお、この式では、過去5ステップ分の尤度を積算しているが、さかのぼるステップ数は、問題に応じて設定すればよい。
【0047】
また、本実施形態では、追跡問題を例にとって説明を行ったが、適用できる課題はこれに限られるものではない。複数のユーザに対応する必要があり、ユーザの行動を予測することによって適応能力が高まる機器において、本発明は有効となる。このような機器としては、ユーザに様々な作業を提供したり、ユーザと協調して作業をしたり、ユーザの代わりに作業をしたりするロボット、ユーザに対して情報提供を行う情報機器、ユーザの好みに合わせて走行特性を変化させる車などが考えられる。
【0048】
例えば、家庭内でユーザに様々な作業を提供するロボットを例にとると、そのユーザは、家族の構成員であり複数人の場合が多い。ロボットへの入力手段としては、画像センサ、マイク、距離センサ等のロボットに搭載されたセンサのみではなく、家に取り付けられたセンサ等も利用できる。
【0049】
<本発明が応用される具体例>
(その1)リモコン操作から家族を識別
家族が共通で使用するテレビやオーディオ等のリモコン操作の情報を、本発明に係るユーザ適応型行動決定装置の入力として用いる。そして、本装置は、ユーザモデルを切り換えながら、次の操作を予測する。これにより、システムは、次の操作を代行したり、次の操作に関連する行動を行うことができる。すなわち、リモコンの操作から家族の違いを自動的に識別し、その予測行動に適した情報やサービスを提供できる。
【0050】
例えば、ユーザが次に選択するチャンネルが予測できた場合、その番組に関連する情報をインターネット等から予め取得して表示しておくことができる。また例えば、ユーザが次にHDDやDVDによるビデオデッキを操作することが予測できた場合、すでに録画された番組のうち、そのユーザの指示によって録画した番組のみの一覧表を事前に作成しておくことができる。このように、インターネットからの情報取得や動画再編成画面の作成といった,若干時間を要する動作の準備が前もってなされることによって、ユーザはストレスを感じることなく機器を使用することができる。
【0051】
(その2)家族の移動に応じたサービス提供
将来的には、家庭の各部屋に取り付けられ、ネットワークでつながったカメラや人間感知センサなどから、家族の移動に係る情報を取得することが可能になる。このような移動情報を、本発明に係るユーザ適応型行動決定装置の入力として用いることによって、家族の構成員の識別が可能になり、構成員の個性も考慮した精度の高い行動予測が実現される。これによって、家族の移動に即した情報やサービスの提供が可能になる。
【0052】
例えば、冷蔵庫に内部の物を移動させる機能が備わっているとすると、これまでの行動系列からそのユーザが父親であり、次に冷蔵庫の前に行くことがわかっている場合、冷蔵庫に対して、ビールを取りやすい場所に移動するように指示する。もしそのユーザが子供のときは、ジュースを取りやすい場所に移動するように指示する。これにより、家族の誰が冷蔵庫の前に来ても、自分が欲しいものが取りやすい場所に来ていることになる。
【0053】
(その3)GPSと連動した情報サービス
GPSによる位置情報の時系列情報を、本発明に係るユーザ適応型行動決定装置の入力とする。これにより、システムは、そのユーザの次時刻の位置を予測できるとともに、それまでの位置情報からユーザを特定できるので、特定したユーザに応じた情報サービスを提供することができる。例えば、予測される移動位置に面したディスプレイに、特定されたユーザに合った情報、例えば、好みに合った近所のレストランの広告や特定のイベントの案内などを表示させることが可能になる。
【0054】
(その4)家庭用ロボットとの協調作業
本発明に係るユーザ適応型行動決定装置が家庭用ロボットとして実装された場合、ユーザの挙動が予測の対象となる。すなわち、何らかのセンサによってユーザの行動の時系列データが取得できれば、システムは、すでに有している複数のユーザモデルの中から最も近いユーザモデルを基にして、ユーザの次の行動を予測し、この予測した行動に対応した行動を行うことができる。
【0055】
例えば、ユーザがコップを差し出したとき、ロボットはその差し出す行動から自分もコップを受け取る行動を開始し、これによりスムーズな受渡しを行うことができる。またユーザ毎に異なるコップの形状やコップを渡すときの高さに応じて、ロボットから手を差し伸べる動作の制御も変更できるし、受け取った後の動作、例えばおじいちゃんならお茶のお代わりをするのでもう一度お茶を入れる、お母さんなら紅茶を飲んだ後はお代わりなしですぐに片付ける、等の動作を次に行わせることができる。このように、ユーザがコップを片付けて欲しいと音声やボタンによって明示的に意思表示をしなくても、ユーザの動作の予測から行動を開始できるので、時間遅れが少なくなる。また、共同で机を運ぶ場合でも、人間の行動から人間がどちらの端を持つかを予測した上で、その反対側に移動するように行動ができる。このように、ユーザが次の行動を起こす前に、その行動を予測して事前に行動を起こすことによって、協調行動が容易になったり、ユーザに時間遅れによるストレスを感じさせないなどの効果が得られる。
【0056】
(第2の実施形態)
第1の実施形態では、ユーザモデル記憶部13内部に記憶されているユーザモデルは予め与えられるものとしたが、本発明の第2の実施形態では、ユーザモデルを学習によって更新するものとする。
【0057】
図8は本実施形態に係るユーザ適応型行動決定装置10Aの構成を示すブロック図である。図8において、図2と共通の構成要素については図2と同一の符号を付しており、ここではその詳細な説明を省略する。図8の構成では、ユーザモデル記憶部13に格納されたユーザモデルを更新するユーザモデル更新部21が設けられている。
【0058】
ユーザモデル更新部21は、状態観察部12から状態値SDを受けるとともに、行動観察部15から行動値ADを受けて、ユーザモデル記憶部13に格納されたユーザモデルを、より実際のユーザに近くなるように、学習によって更新する。ここで、ユーザモデルは、第1の実施形態で説明したように、ある状態sにおけるある行動aの確率、すなわち、
In(s,a)(n=ユーザの番号)
の集合によって、表現されているものとする。
【0059】
図9のフローチャートを参照して、ユーザモデル更新部21の動作を説明する。なお、学習の開始前には、確率In(s,a)の値は初期化されているものとする。初期化の際には、例えば、すべて同じ値、またはランダムな値が割り付けられる。また、ある状態sにおけるIn(s,a)のaに関する総和は、1に正規化されるものとする。
【0060】
まず、ユーザモデル選択部16から、現在、環境11内にいると推定されるユーザのユーザモデル番号xを受ける(S31)。この結果、第xのユーザモデルが以下の更新動作の対象となる。
【0061】
次に、行動観察部15から現在のユーザの行動を示す行動値ADを受けるとともに、状態観察部12から現在の環境11の状態を示す状態値SDを受ける(S32)。そして、第xのユーザモデルの状態値SDにおける全ての行動に対して同様の更新処理を行うためのループカウンタとしてuを定義し、まずuの初期値として1を与える(S33)。その後、uをインクリメントしながら、全ての行動について、次のステップS34〜S37を実行する(S38,S39)。
【0062】
ステップS34において、行動値ADと、第xのユーザモデルの状態値SDにおける行動auとを比較する。そして、一致したとき(S35でYES)は、ユーザモデルの行動は現在観察された行動と一致したことになるので、その確率Ix(SD,au)を上げる(S36)。例えば次式によって、Ix(SD,au)を更新する。
Ix(SD,au)←(1−θ)Ix(SD,au)+θ
【0063】
一方、行動値ADと行動auとが一致しなかったとき(S35でNO)は、ユーザモデルの行動は現在観察された行動と一致しなかったことになるので、その確率Ix(SD,au)を下げる(S37)。例えば次式によって、Ix(SD,au)を更新する。
Ix(SD,au)←(1−θ)Ix(SD,au)
ここで、θは更新の程度を定めるパラメータであり、0<θ<1の範囲の値をとる。
【0064】
全ての行動について更新が完了したとき(S38でYES)、ユーザモデル更新部21はその動作を終了する。ここでは、行動の種類は、上下左右への移動の4種類であるので、uの値が4になったとき、処理を終了する。
【0065】
このように本実施形態によると、ユーザモデルは、観察されたユーザの行動を教師信号として、実際のユーザにより近くなるように更新される。したがって、ユーザの行動予測を常に正確に行うことができる。また、更新機能を設けたことによって、正確なユーザモデルを予め準備する必要がなくなり、システムの初期設定が容易になる。
【0066】
(第2の実施形態の変形例)
また、第2の実施形態について、次のような変形例も考えられる。
【0067】
図10は本変形例に係るユーザ適応型行動決定装置10Bの構成を示すブロック図であり、図8の構成にさらにユーザモデル追加部22が付加されている。
【0068】
ユーザモデル追加部22は、ユーザモデル選択部16aから最も適したユーザモデルの番号xを受け、第xのユーザモデルについてその妥当性を判断する。そして、最適な第xのユーザモデルであっても妥当でない場合、言い換えると、最適な第xのユーザモデルを用いた場合でも行動予測の精度が十分ではない場合に、ユーザモデル追加部22は新しいユーザモデルをユーザモデル記憶部13に追加する。
【0069】
図11のフローチャートを参照して、ユーザモデル追加部22の動作を説明する。ユーザモデル追加部22はまず、ユーザモデル選択部16aから、現在、環境11内にいると推定されるユーザのユーザモデル番号xを受ける(S41)。次に、ユーザモデル記憶部13から第xのユーザモデルを取得する(S42)。
【0070】
そして、ステップS43,S44において、第xのユーザモデルについてその妥当性を判断する。ここでは、妥当性を判断するために、ユーザモデルにおける行動確率Ix(s,a)の平均値を用いる。この値は、ユーザモデルに対する信頼度を示しており、所定の値よりも小さい場合は、最も適したユーザモデルを用いた場合でも十分な予測精度が得られない、ということになる。すなわち、最もよいユーザモデルを用いても、予測される行動の確率が低すぎるので、これまでにないユーザと接している、と判断して、新しいユーザモデルを生成する。
【0071】
まず、過去所定のステップ数のIx(s,a)の平均値を求める(S43)。ここでは、ステップ数を5にする。なお、ユーザモデル追加部22には過去の行動値ADおよび状態値SDが蓄積されているものとし、Ix(s,a)の合計演算には、これら蓄積された過去の行動値ADおよび状態値SDを用いるものとする。そして、ステップS43で計算した行動確率Ix(s,a)の平均値を所定の閾値と比較し(S44)、閾値以下のときはステップS45にすすむ一方、そうでないときは処理を終了する。
【0072】
ステップS45では、新しいユーザモデルを生成し、これをユーザモデル記憶部13に格納する。新しいユーザモデルの作成には、全くランダムに作成する、または、最も良かったユーザモデルをコピーして用いる、等の手法を用いればよい。
【0073】
このように本変形例によると、既存のユーザモデルでは行動予測の精度が不十分な場合に、新たにユーザモデルを追加して、別のユーザモデルを作成することができる。これにより、精度の高い行動予測を保証することができる。また、生成された新しいユーザモデルは、学習によって更新されるので、新しいユーザに容易に適応させることができる。
【0074】
例えば、車や端末の操作というユーザの行動からユーザを識別して、ユーザに適した情報提示を行う車載情報端末に本実施形態を適用すると、ユーザの操作パターンが嗜好の変化等に起因して変化した場合であっても、これに応じてユーザモデルが更新されるので、適切な行動予測を常に行うことができる。また、新たなユーザが運転をするようになった場合でも、これに応じて新たなユーザモデルが追加されるので、そのユーザについて適切な行動予測を行うことができる。
【0075】
(第3の実施形態)
第1および第2の実施形態では、状態価値記憶部17内部に記憶される状態価値は予め与えられるものとしたが、本発明の第3の実施形態では、状態価値を学習によって更新するものとする。
【0076】
本実施形態では、強化学習を状態価値の更新に適用する。強化学習とは、環境からの報酬信号を用いて試行錯誤によって学習を行う手法であり、報酬の最大化を目的として行動決定を行う学習アルゴリズムである(非特許文献2を参照)。すなわち、状態をs、報酬がどのくらいもらえそうかという見積もりを示す価値をV、環境に対する行動をaとし、ある状態sにおける状態価値をV(s)、ある時刻tにおける状態をs(t)としたとき、s(t)から、V(s(t)),V(s(t+1))等を参照しながら行動aを決定する、という手法である。
【0077】
図12は本実施形態に係るユーザ適応型行動決定装置10Cの構成を示すブロック図である。図12において、図10と共通の構成要素には図10と同一の符号を付しており、ここではその詳細な説明を省略する。
【0078】
報酬観察部30は、外部のユーザや環境11から報酬に相当する情報を抽出し、報酬信号rとして出力する。例えば図3の追跡問題の例では、獲物Pを挟み撃ちにできたとき、環境11から報酬が与えられるようにする。
【0079】
なお、報酬信号は、人間や環境から得られる様々な情報から抽出可能であり、報酬観察部30も、具体的には様々な構成が考えられる。例えば、○×ボタンのような人間が直接操作する手段を設けて、これによってユーザの意思を報酬として抽出したり、音声認識手段を設けてユーザの言葉による評価を報酬として抽出してもよい。または、ユーザの行動や表情等の反応から行動結果に対する評価を読み取り、これを報酬として抽出してもよい。例えば、ユーザが特定の場所を行ったり来たりしたら「イライラしている」と解釈したり、声の韻律情報の解析から快不快の状態を読み取ったり、カメラによる表情の画像認識からユーザの状態を読み取ったり、ユーザの発話内容から状態を読み取ったりすればよい。あるいは、環境から解釈してもよい。例えば、ロボットがユーザと衝突したので負の報酬と解釈したり、エネルギーが少なく移動できたので正の報酬として解釈したりしてもよい。
【0080】
状態価値更新部31は、基本的には強化学習のアルゴリズムに従って状態価値の更新を行う。状態価値の更新式を次に示す。
【数2】
【0081】
ここで、a*userは観察によって得られるユーザの行動、aselfは装置10cの出力する行動、αは学習の速度を制御するパラメータ、rは外部からの報酬、γは0<γ<1の範囲で値をとり、将来の報酬をどの程度重視するかを示す値である。また、s’は行動aselfによって状態sから遷移した後の状態、a’selfおよびa’userは状態s’において想定される自分および相手の行動である。
【0082】
行動決定部32は、状態価値記憶部17内部の状態価値とユーザ行動予測部14aによって予測されたユーザの行動とを参照して、装置10C自身の行動を決定し、外部の環境11に出力する。ユーザの行動は、次式により算出される条件付確率πに基づいて算出される。
【数3】
【0083】
πはある状態sにおいてi番目の行動aiが選択される確率を記述しており、その確率πに基づいて状態sにおける行動aselfが決定される。これはソフトマックスと呼ばれる行動決定方法である。なお、τは行動決定のランダム性を決定する値である。
【0084】
このように本実施形態によると、行動決定のために参照する状態価値が、外部からの報酬信号rを用いて強化学習によって更新されるので、行動決定に柔軟性が増し、装置の適応能力が向上する。また、システムの初期設定の際に、状態価値の設定をさほど精度良く行う必要がなくなるので、初期設定が容易になる。
【0085】
<シミュレーション結果>
(その1)
図13は本発明のシミュレーション結果を示すグラフである。図13のグラフでは、シミュレーションを開始してから獲物を捕まえて報酬が得られるまでの動作を1回の試行とし、この試行に要したステップ数をプロットしている。すなわち、ステップ数が少ないほど性能は高いということになる。横軸は試行回数、縦軸は報酬獲得までの平均ステップ数である。シミュレーションの条件は、図3の追跡問題において、ハンターHBが獲物Pを上から挟むか下から挟むかの2通りの戦略を持ち、これを100試行回数ごとに切り替える、ものとしている。これは、ユーザが切り替わった場合の適応能力を評価するためである。
【0086】
図13において、D1が本発明すなわち複数のユーザモデルを持った場合、D2は比較例として、ユーザモデルを持たず、従来の強化学習による場合、そしてD3はユーザモデルを1種類だけ用いた場合である。また、M1は本発明のシミュレーションの際に、ユーザモデル数がどの程度増加したかを示している。グラフから、ユーザモデルの導入によって、報酬がより早く獲得できること、また、ユーザモデルを複数導入したことによって、1個の場合よりもさらに報酬獲得が早くなることが分かる。すなわち、このシミュレーションによって、本発明による行動決定性能の向上が確認された。また、M1を見ると、ユーザモデルの数は、計算開始後から増加を始め、予め規定された最大値である9に収束している。したがって、ユーザモデルの追加によって、性能の向上が実現された、と理解できる。
【0087】
(その2)
ここでは、4種類のユーザがそれぞれ異なった戦略を持って登場するものとしてシミュレーションを行った。すなわち、試行回数1〜3000回はユーザ1が、3001〜8000回はユーザ2が、8001〜13000回はユーザ3が、そして13001〜18000回はユーザ4が相手をすることとした。また、システムにはユーザの交代は知らされないものとし、システムが自身で相手モデルの予測性能の違いから交代を判定することにした。また、システムが新しいモデルを作成した後に設けるモデル修正期間は3000回試行とした。また、予測誤差の計算には、74ステップ前までの予測結果と実際の行動との差の積算を用いた。
【0088】
図14はこのようなシミュレーションの結果を示すグラフであり、横軸が試行回数、縦軸が獲物を捕えるまでの平均ステップ数である。図14において、S1が本発明すなわち複数のユーザモデルを持った場合、S2は比較例として、ユーザモデルを持たず、従来の強化学習による場合、そしてS3はユーザモデルを1種類だけ用いた場合である。また、M2は本発明のシミュレーションの際に、ユーザモデル数がどの程度増加したかを示している。グラフから分かるように、ユーザモデルを分化させることができる本発明S1の場合は、獲物を捕らえるまでに15〜20ステップを必要としている。これに対して、ユーザモデルを持たないS2の場合は、獲物を捕らえるまでに30ステップ前後を一貫して必要としている。一方、ユーザモデルを1個だけ持つS3の場合は、最初のユーザに対しては適応することができ、本発明S2と同じ程度の性能が出ているが、3000回試行後にユーザが切り替わった後は、新たなユーザに適応しきれず、獲物を捕らえるまでのステップ数が増加している。
【0089】
図15〜図17はそれぞれユーザが交代したときのモデルの関数分化を示すグラフであり、図15は3000回試行の前後、図16は8000回試行の前後、図17は13000回試行の前後における尤度変化をそれぞれ示している。
【0090】
図15に示すように、3000回試行後において、モデル1の尤度が下がってきた(すなわち、予測の誤差が大きくなってきた)ために、新しいモデル2が生成され、その学習が進められている。生成された直後はモデル修正期間となり、モデル2の修正のみが行われ、モデル1の方は分化後も尤度が下がっているのが分かる。
【0091】
また図16に示すように、8000回試行後において、それまで適応していたモデル2も尤度が低下したため、新しいモデル3が生成され、モデル3の学習が進められることによって、尤度が高いモデルが維持されている。
【0092】
また図17に示すように、13000回試行後において、それまで適応していたモデル3も尤度が低下したため、新しいモデル4が生成され、モデル4の学習が進められることによって、尤度が高いモデルが維持されている。
【0093】
【発明の効果】
以上のように本発明によると、ユーザ適応型行動決定装置において、複数のユーザモデルを用いて、ユーザの識別がなされるとともに、行動の決定が行われるので、複数のユーザへの適応が容易に実現可能になる。
【図面の簡単な説明】
【図1】本発明に係る,相手の意図を考慮した行動決定モデルを概念的に説明するための図である。
【図2】本発明の第1の実施形態に係るユーザ適応型行動決定装置の構成を示すブロック図である。
【図3】各実施形態の説明のために用いる追跡問題を示す図である。
【図4】ユーザモデルの一例である。
【図5】図2の構成におけるユーザ行動予測部の動作を示すフローチャートである。
【図6】図2の構成におけるユーザモデル選択部の動作を示すフローチャートである。
【図7】状態価値の一例である。
【図8】本発明の第2の実施形態に係るユーザ適応型行動決定装置の構成を示すブロック図である。
【図9】図8の構成におけるユーザモデル更新部の動作を示すフローチャートである。
【図10】本発明の第2の実施形態の変形例に係るユーザ適応型行動決定装置の構成を示すブロック図である。
【図11】図10の構成におけるユーザモデル追加部の動作を示すフローチャートである。
【図12】本発明の第3の実施形態に係るユーザ適応型行動決定装置の構成を示すブロック図である。
【図13】本発明のシミュレーション結果の一例を示すグラフである。
【図14】本発明のシミュレーション結果の一例を示すグラフである。
【図15】図14のシミュレーションにおいて、ユーザが交代したときのモデルの関数分化を示すグラフである。
【図16】図14のシミュレーションにおいて、ユーザが交代したときのモデルの関数分化を示すグラフである。
【図17】図14のシミュレーションにおいて、ユーザが交代したときのモデルの関数分化を示すグラフである。
【符号の説明】
10,10A,10B,10C ユーザ適応型行動決定装置
11 環境
12 状態観察部
13 ユーザモデル記憶部
14,14a ユーザ行動予測部
15 行動観察部
16,16a ユーザモデル選択部
17 状態価値記憶部
18 行動決定部
21 ユーザモデル更新部
22 ユーザモデル追加部
30 報酬観察部
31 状態価値更新部
SD 状態値
AD 行動値
r 報酬信号
Claims (8)
- 所定の環境について状態を観察し、状態値を取得する状態観察部と、
前記環境内のユーザについて行動を観察し、行動値を取得する行動観察部と、
複数の候補ユーザについて、各状態値における当該ユーザの行動傾向を表したユーザモデルをそれぞれ記憶するユーザモデル記憶部と、
前記状態観察部によって取得した状態値に基づき、前記ユーザモデル記憶部に格納されたユーザモデルをそれぞれ参照して、前記複数の候補ユーザについて行動を予測するユーザ行動予測部と、
前記ユーザ行動予測部によって予測された各候補ユーザの行動と、前記行動観察部によって取得された行動値とに基づいて、各ユーザモデルの予測性能を評価し、この評価結果から、前記環境内に存在すると推定されるユーザに係るユーザモデルを選択するユーザモデル選択部とを備え、
前記ユーザモデル選択部によって選択されたユーザモデルを参照して予測したユーザの行動に基づいて、自己の行動を決定する
ことを特徴とするユーザ適応型行動決定装置。 - 請求項1において、
前記ユーザモデル記憶部内の、前記ユーザモデル選択部によって選択されたユーザモデルを、前記状態値および前記行動値を用いて、更新するユーザモデル更新部を備えた
ことを特徴とするユーザ適応型行動決定装置。 - 請求項1において、
前記ユーザモデル記憶部内の、前記ユーザモデル選択部によって選択されたユーザモデルについて、その妥当性を評価し、妥当性が不十分であると判断したとき、新たなユーザモデルを前記ユーザモデル記憶部に追加するユーザモデル追加部を備えた
ことを特徴とするユーザ適応型行動決定装置。 - 請求項1において、
状態価値を記憶する状態価値記憶部と、
前記ユーザモデル選択部によって選択されたユーザモデルを参照して予測したユーザの行動と、前記状態値とに基づき、前記状態価値記憶部に格納された状態価値を参照して、次の行動を決定する行動決定部とを備えた
ことを特徴とするユーザ適応型行動決定装置。 - 請求項4において、
前記環境から、報酬信号を取得する報酬観察部と、
前記報酬観察部によって取得された報酬信号と、前記ユーザ行動予測部によって予測された行動と、前記状態値とを用いて、前記状態価値記憶部に格納された状態価値を更新する状態価値更新部とを備えた
ことを特徴とするユーザ適応型行動決定装置。 - 請求項1において、
前記ユーザモデル記憶部に記憶されたユーザモデルは、前記候補ユーザの、各状態における行動確率によって、表現されたものである
ことを特徴とするユーザ適応型行動決定装置。 - 請求項1において、
前記ユーザモデル選択部は、予測性能の評価に、誤差または尤度を用いる
ことを特徴とするユーザ適応型行動決定装置。 - ユーザ適応型行動決定装置において、自己の行動を決定する方法であって、
所定の環境について状態を観察し、状態値を取得し、
前記環境内のユーザについて行動を観察し、行動値を取得し、
複数の候補ユーザについて、前記状態値に基づき、各状態値における当該ユーザの行動傾向を表したユーザモデルをそれぞれ参照して、行動を予測し、
予測した各候補ユーザの行動と、前記行動値とに基づいて、各ユーザモデルの予測性能を評価し、この評価結果から、前記環境内に存在すると推定されるユーザに係るユーザモデルを選択し、
選択したユーザモデルを参照して予測したユーザの行動に基づいて、自己の行動を決定する
ことを特徴とする行動決定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003013009A JP2004227208A (ja) | 2003-01-22 | 2003-01-22 | ユーザ適応型行動決定装置および行動決定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003013009A JP2004227208A (ja) | 2003-01-22 | 2003-01-22 | ユーザ適応型行動決定装置および行動決定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004227208A true JP2004227208A (ja) | 2004-08-12 |
Family
ID=32901454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003013009A Pending JP2004227208A (ja) | 2003-01-22 | 2003-01-22 | ユーザ適応型行動決定装置および行動決定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004227208A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006215842A (ja) * | 2005-02-04 | 2006-08-17 | Hitachi Omron Terminal Solutions Corp | 人物動線追跡システム及び広告表示制御システム |
JP2006268607A (ja) * | 2005-03-25 | 2006-10-05 | Advanced Telecommunication Research Institute International | コミュニケーションロボットおよびそれを用いた動作識別システム |
US8200517B2 (en) | 2005-08-04 | 2012-06-12 | Ntt Docomo, Inc. | User activity estimation system and a user activity estimating method |
JP2016224512A (ja) * | 2015-05-27 | 2016-12-28 | 株式会社日立製作所 | 意思決定支援システム及び意思決定支援方法 |
JP2017168029A (ja) * | 2016-03-18 | 2017-09-21 | Kddi株式会社 | 行動価値によって調査対象の位置を予測する装置、プログラム及び方法 |
WO2020045341A1 (ja) * | 2018-08-27 | 2020-03-05 | 日本電信電話株式会社 | 選定装置、学習装置、選定方法、学習方法、及びプログラム |
JP2023157091A (ja) * | 2022-04-14 | 2023-10-26 | ソフトバンク株式会社 | システム |
WO2024069975A1 (ja) * | 2022-09-30 | 2024-04-04 | 日本電信電話株式会社 | 学習装置、推定装置、学習方法、推定方法及びプログラム |
-
2003
- 2003-01-22 JP JP2003013009A patent/JP2004227208A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006215842A (ja) * | 2005-02-04 | 2006-08-17 | Hitachi Omron Terminal Solutions Corp | 人物動線追跡システム及び広告表示制御システム |
JP2006268607A (ja) * | 2005-03-25 | 2006-10-05 | Advanced Telecommunication Research Institute International | コミュニケーションロボットおよびそれを用いた動作識別システム |
JP4613284B2 (ja) * | 2005-03-25 | 2011-01-12 | 株式会社国際電気通信基礎技術研究所 | コミュニケーションロボットおよびそれを用いた動作識別システム |
US8200517B2 (en) | 2005-08-04 | 2012-06-12 | Ntt Docomo, Inc. | User activity estimation system and a user activity estimating method |
JP2016224512A (ja) * | 2015-05-27 | 2016-12-28 | 株式会社日立製作所 | 意思決定支援システム及び意思決定支援方法 |
JP2017168029A (ja) * | 2016-03-18 | 2017-09-21 | Kddi株式会社 | 行動価値によって調査対象の位置を予測する装置、プログラム及び方法 |
WO2020045341A1 (ja) * | 2018-08-27 | 2020-03-05 | 日本電信電話株式会社 | 選定装置、学習装置、選定方法、学習方法、及びプログラム |
JP2023157091A (ja) * | 2022-04-14 | 2023-10-26 | ソフトバンク株式会社 | システム |
JP7392027B2 (ja) | 2022-04-14 | 2023-12-05 | ソフトバンク株式会社 | システム |
WO2024069975A1 (ja) * | 2022-09-30 | 2024-04-04 | 日本電信電話株式会社 | 学習装置、推定装置、学習方法、推定方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9691382B2 (en) | Voice control device and method for deciding response of voice control according to recognized speech command and detection output derived from processing sensor data | |
US10928903B2 (en) | Method and apparatus for display control using eye tracking | |
CN104812092B (zh) | 一种智能设备的连网方法及装置 | |
JP4741500B2 (ja) | 機器制御装置、機器、機器制御装置の制御方法、プログラムおよび機器制御システム | |
JP6249919B2 (ja) | 操作入力装置 | |
JP4561914B2 (ja) | 操作入力装置、操作入力方法、プログラム | |
US20120232891A1 (en) | Speech communication system and method, and robot apparatus | |
US6980889B2 (en) | Information processing apparatus and method, program storage medium, and program | |
JPWO2019087484A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
KR20120018337A (ko) | 모바일 디바이스에서 상황 인식 | |
KR101979650B1 (ko) | 서버 및 그것의 동작 방법 | |
WO2003096171A1 (en) | Dialog control for an electric apparatus | |
JP6400871B1 (ja) | 発話制御装置、発話制御方法、および発話制御プログラム | |
JP2004227208A (ja) | ユーザ適応型行動決定装置および行動決定方法 | |
CN111002303A (zh) | 识别装置、机器人、识别方法和存储介质 | |
US20200371525A1 (en) | Information processing apparatus, information processing method, and program | |
CN106203306A (zh) | 年龄的预测方法、装置及终端 | |
JP7416295B2 (ja) | ロボット、対話システム、情報処理方法及びプログラム | |
CN105912944A (zh) | 设置应用程序访问权限的方法及装置 | |
CN111540383A (zh) | 语音会话装置及其控制装置、控制程序以及控制方法 | |
WO2020054361A1 (ja) | 情報処理システム、情報処理方法、および記録媒体 | |
JP6887035B1 (ja) | 制御システム、制御装置、制御方法及びコンピュータプログラム | |
JP2019164709A (ja) | 出力制御装置、出力制御方法、および出力制御プログラム | |
CN114840761A (zh) | 推送模型的训练方法、装置、设备、存储介质及程序产品 | |
JP2003205179A (ja) | ペット型ロボット |