階層的強化学習を適用したPOMDPに よるカーナビゲーションシステムの 音声対話制御 神戸大学大学院 工学研究科 情報知能学専攻 CS17 有木研究室 091T517T 岸本康秀
研究背景・目的 カーナビの音声認識システムが普及していない ユーザの自由な発話に対しても頑健 誤認識からの回復が可能 特定のコマンドを話さなければならない ○コンビニ検索 ×検索コンビニ 誤認識を避けられない ユーザの自由な発話に対しても頑健 誤認識からの回復が可能 自由な発話に対して頑健なのはどこで?? 色々な発話を想定している。 一般的な音声対話システムにおいても同じ
従来の音声対話システム マルコフ決定過程(MDP)を用いた音声対話システム MDPの利点 確率モデルで表現することにより、方策を自動で学習 オートマトン的に手作業で設定を行う必要がない 明確な基準で評価を行うことが出来る 報酬の設定により定量的な評価を行える
MDPの欠点 状態を完全観測出来ると仮定している 誤認識からの回復が難しい 音声対話においては、雑音環境下や発話誤りなどによって観測誤りが起こりやすい ユーザの状態を確実に決定するのは難しい 誤認識からの回復が難しい s2 a1 s3 s1 FMを聞きたい
部分観測マルコフ決定過程(POMDP) MDPのモデルを拡張し、状態観測に不確実性を付加したモデル 状態を確率分布(信念)で推測する。
s s’ a o’ ベイジアンネットワーク ? Bayesian Network old belief new belief action b(s) s b’(s’) s Bayesian Network ? s s’ old belief new belief a action o’ data POMDPの大事な部分を説明すると ベイジアンネットワークの概説がほしい ユーザの状態を完全観測できないので、ユーザの状態を確率分布として表す。 複数の仮説を持つことにより誤認識からの回復が可能となる
ダイナミックベイジアンネットワーク S’ RL RL POMDPの環境をこのように設定する! 行動を最適化するのがPOMDP問題 報酬の説明! 例えば正しいユーザのゴールを求めることが出来れば、大きな正の報酬。間違えれば負の報酬。 その他、ターン数がかかればちいさな負の報酬 記号説明 Aはシステムの行動を表しており、将来得られる累積報酬を最大にするような方策に従い、行動を選択する。 Oはユーザからの観測値を表しており、この場合は音声認識結果 報酬の設定 ユーザの観測からユーザの状態を推測(ベイジアンネットワーク) その推測された状態に基づいて最適な行動とる ベイジアンネットによって信念を更新する 目的関数の累積報酬を最大にするよう行動を選ぶ ユーザの状態は確率分布によって推測する RL RL
学習 ある状態における信念×報酬で期待報酬が計算できる tターン後に得られる利得 上式を最大にするような方策を求める 方策は、将来獲得出来る報酬を最大にするアクションaを信念分布bのみから選択できる 未来の報酬を割引く理由は以下による. 実環境では,時間の経過とともに環境が変化したり, エージェントが故障等で停止する可能性があるため, 時系列上の全ての報酬を同じ重みで考慮するのは妥当ではない. いわばリスクを考慮する必要がある. 無限期間時系列の利得を有限の値として扱うため.
Value Iteration 動的計画法 全ての状態と行動の遷移を考慮 方策評価と方策改善を繰り返す ・・・ ・・・ ・・・ ・・・・ ・・・・・・・ ・・・・ ・・・ ・・・ ・・・
状態 A,B 行動 (-1,-1)、 (+5,-10)、 (-10,+5) b value 10 5 -5 -10 -15 s=A 行動 (-1,-1)、 (+5,-10)、 (-10,+5) value 10 5 -5 -10 -15 b s=A b=(1,0) s=B b=(0,1)
value 10 5 -5 -10 -15 -20 -25 s=A b=(1,0) s=B b=(0,1)
問題点 大量のベクトルが列挙される 計算量が膨大になる 状態空間または行動空間が大きい場合には、計算不可能
Point-based Value Iteration 状態空間のいくつかの代表点でのみ最適な方策を探索 任意の状態に対して、定数個の方策の中から最も良いものを選ぶ 全ての到達しうる状態に対して最適なポリシーを構築する代わりに,状態空間のいくつかの代表点でのみ最適なポリシーを探索し,そのポリシー に応じて状態空間全体を覆うベクトル(® ベクトル) を作成する. これらのベクトルを用いることで,状態空間上における任意の状態に対して近似解となるポリシーを構築している.
10 5 -5 -10 -15 再帰的に計算するときにPBVIの方が計算量が少ない 状態数の組み合わせ爆発の回避 5 -5 -10 -15 再帰的に計算するときにPBVIの方が計算量が少ない 状態数の組み合わせ爆発の回避 VIでは、毎回全て列挙してからその中から最適価値関数を選ぶ 下位の階層で組み合わせ爆発が生じる PBVIでは、ある信念における最適価値関数を列挙してから、全体で最適な価値関数を選択する
階層的強化学習 状態空間が巨大で複雑な時、大域的な方策を一度に求めるのは困難 状態数が多いと信念更新が煩雑になる タスクを階層的に分解し、各部分問題に対して、局所的な方策を学習。 それらを統合することによって、大きなタスクの実現が可能。
階層的強化学習 サブタスクを選択する層 ユーザのゴールを求めるサブタスクを実行する層 ルートはサブタスクをゴールに設定し、PBVIで最適化を行う ルート オーディオ エアコン 店舗検索
対話例1 従来システム POMDP 初期状態 navi:{ goal:<empty> } navi:{ ホテル 学校 銀行 病院 コンビニ navi:{ goal:<empty> } U:銀行に行きたい。 [銀行]~0.4 ホテル 学校 銀行 病院 コンビニ 信頼度の低い発話を繰り返すことによってユーザのゴールを求めることが出来る。 ターン数はかかるが S:すみません、 どこですか? U:銀行です。 [銀行]~0.42 navi:{ goal:<empty> } ホテル 学校 銀行 病院 コンビニ
対話例2 従来システム POMDP 初期状態 navi:{ goal:<empty> } navi:{ ホテル 学校 銀行 病院 コンビニ navi:{ goal:<empty> } U:病院に行きたい。 [銀行]~0.4 ホテル 学校 銀行 病院 コンビニ S:すみません、 どこですか? U:病院です。 [病院]~0.9 navi:{ goal:<病院> } ホテル 学校 銀行 病院 コンビニ
実験 POMDPの方策とユーザシミュレーションの対話を1000回繰り返して平均利得、平均ターン数、正答率を計算する。 手動で作ったHC1、HC2と比較 HC1:従来のカーナビを想定 HC2:ユーザの発話に毎回確認をとる コンセプト誤り率を変えて実験 コンセプト、意図理解を行った結果 HCを作って、同じようにユーザシミュレーションとの対話を行う HCはオートマトン的に手動で設定を行った方策である
報酬の設定 Corret answer Uncorrect answer ask -2 confirm -0.5 -3 submit +7 -10
実験結果
実験結果2
実験結果3
まとめ カーナビにPOMDPを適用 階層的強化学習を適用 シミュレーション実験により頑健性を確認 不確実性に対処 従来よりも大きなタスクの実現が可能 シミュレーション実験により頑健性を確認
Future Work 構音障害者のための環境制御装置 シーンごとにタスクを階層化して最適化を行う 発話が曖昧 信頼度が低い ルート オーディオ操作 照明操作 テレビ操作 現在単語認識で行っている チャンネル操作 メニュー操作 番組表操作
ご清聴ありがとうございました
強化学習、利点 目標までの行動を人間が知らなくて良い。 タスク遂行のためのプログラミング強化学習で自動化することにより、設計者の負担の軽減が期待できる。 人間以上の行動を見つけ出す可能性がある。 Agent Environment (POMDP) アクションa 報酬r 観測値o
強化学習 Bellman方程式 強化学習 Reward= + … Policy s1 s2 sT-1 sT a1 a2 aT-1 aT o1 oT-1 oT b1 b2 bT-1 bT システムの方策を最適化 状態行動対の報酬を設定 方策を自動で作成することが出来る 方策改善と方策評価を繰り返すことにより最適な価値関数を求めることが出来る。 ある状態における行動すべてに対して報酬を設定 長期的な報酬を最大にするよう方策を作る Value-iterationを用いて方策改善と方策評価を繰り返す Policy 強化学習
対話システムの構造 user Control module Input module Dialog model Dialog manager Speech recognition & Language understanding Dialog model user Dialog manager Language generation Output module
問題点?? なぜタスク変更するか PBVIの収束条件 ユーザシミュレーション 平均利得が収束していく 確認したい 1000回の対話 平均利得が収束していく 確認したい ユーザシミュレーション 1000回の対話 信頼度の付与 コンセプト誤りが生じた時は、0.6以下のランダムの信頼度を付与