強化学習その41. 強化学習 その4
部分観測マルコフ決定過程
2017-02-02 @ 機械学習勉強会
サイボウズ・ラボ 西尾泰和
その1: http://www.slideshare.net/nishio/1-70974083
その3: http://www.slideshare.net/nishio/3-71708970
その2: http://www.slideshare.net/nishio/2-71708934
6. 今後の予定
第8回 2.3 逆強化学習
第9回 2.4 経験強化型学習
2.5 群強化学習(飛ばします)
第10回 2.6 リスク考慮型強化学習
2.7 複利型強化学習(飛ばします)
第11回
3 強化学習の工学応用
3.3 対話処理における強化学習
6
12. 信念状態の遷移
ある信念状態b(s)で、行動aをして、観測oが得られ
たときの新しい信念状態b(s’)は
𝑏 𝑎,𝑜
𝑠′
≝ 𝑃 𝑠′
𝑏, 𝑎, 𝑜 =
𝑃 𝑠′
, 𝑏, 𝑎, 𝑜
𝑃 𝑏, 𝑎, 𝑜
=
𝑃 𝑜 𝑠′
, 𝑏, 𝑎 𝑃 𝑠′
, 𝑏, 𝑎
𝑃 𝑜 𝑏, 𝑎 𝑃(𝑏, 𝑎)
=
𝑃 𝑜 𝑠′
, 𝑏, 𝑎 𝑃 𝑠 𝑏, 𝑎
𝑃 𝑜 𝑏, 𝑎
=
𝑃 𝑜 𝑠′
, 𝑎 𝑃 𝑠 𝑏, 𝑎
𝑃 𝑜 𝑏, 𝑎
=
𝑃 𝑜 𝑎, 𝑠′ σ 𝑠 𝑃 𝑠′
𝑠, 𝑎 𝑏 𝑠
𝑃 𝑜 𝑏, 𝑎
12
条件付確率の定義
P(x | y)=P(x, y)/P(y)
P(x, y)=P(x | y)P(y)
𝑃 𝑜 𝑠′
, 𝑏, 𝑎 はs’がgivenだから
bには依存しない
13. 修正
[こ]の式1.5.2 (p.59)では
𝑃 𝑜 𝑏, 𝑎 =
𝑠
𝑏 𝑠
𝑠′
𝑃 𝑠′
𝑠, 𝑎 𝑃(𝑎, 𝑜, 𝑠′)
となっているけど[22]の式15(下囲み)を参考にす
ると[こ]の記法ではO(s’, a, o)=P(o | a, s’)だから
𝑃 𝑜 𝑏, 𝑎 =
𝑠
𝑏 𝑠
𝑠′
𝑃 𝑠′
𝑠, 𝑎 𝑃(𝑜|𝑎, 𝑠′)
13
[22] = [Shani+ 2012] A survey of point-based POMDP solvers
14. 状態遷移関数
信念bの空間B上の状態遷移関数を求める
𝜏 𝑏, 𝑎, 𝑏′
= 𝑃 𝑏′
𝑎, 𝑏
=
𝑃 𝑏, 𝑎, 𝑏′
𝑃 𝑏, 𝑎
=
σ 𝑜 𝑃 𝑏, 𝑎, 𝑜, 𝑏′
𝑃(𝑏, 𝑎)
𝑏 𝑎,𝑜
𝑠′
= 𝑃(𝑠′
|𝑏, 𝑎, 𝑜)だから
𝑃 𝑏, 𝑎, 𝑜, 𝑠′ = 𝑏 𝑎,𝑜
𝑠′
𝑃 𝑏, 𝑎, 𝑜
= 𝑏 𝑎,𝑜 𝑠′ 𝑃 𝑜 𝑏, 𝑎 𝑃(𝑏, 𝑎)
𝑃 𝑏, 𝑎, 𝑜, 𝑏′ は𝑃 𝑏, 𝑎, 𝑜, 𝑠′ のs’がb’に一致した場合だけを取
り出したものだから
σ 𝑜 𝑃 𝑏, 𝑎, 𝑜, 𝑏′
𝑃(𝑏, 𝑎)
=
𝑜
𝕀[𝑏 𝑎,𝑜
𝑠′
= 𝑏′(𝑠)]𝑃 𝑜 𝑏, 𝑎
14
18. 区分線形で下に凸
n>0の時VnはVn-1を用いてこう書ける
𝑉𝑛 𝑏 = max
𝑎
𝑖
𝑏𝑖 𝑞𝑖
𝑎
+
𝑖𝑗𝑜
𝑏𝑖 𝑝𝑖𝑗
𝑎
𝑟𝑗𝑜
𝑎
𝑉𝑛−1(𝑏′
)
ストーリーに影響しないけど一応書いておくと
𝑝𝑖𝑗
𝑎
= 𝑇 𝑠 = 𝑠𝑖, 𝑎, 𝑠′ = 𝑠𝑗 = 𝑃 𝑠′ 𝑠, 𝑎 ,
𝑟𝑗𝑜
𝑎
= 𝑂 𝑠′ = 𝑠𝑗, 𝑎, 𝑜 = 𝑃 𝑜 𝑠′, 𝑎 ,
𝑞𝑖
𝑎
=
𝑗𝑜
𝑝𝑖𝑗
𝑎
𝑟𝑗𝑜
𝑎
𝑤𝑖𝑗𝑜
𝑎
, 𝑏𝑗
′
=
σ𝑖 𝑏𝑖 𝑝𝑖𝑗
𝑎
𝑟𝑗𝑜
𝑎
σ𝑖𝑗 𝑏𝑖 𝑝𝑖𝑗
𝑎
𝑟𝑗𝑜
𝑎
𝑤𝑖𝑗𝑜
𝑎
= 𝑅(𝑠 = 𝑠𝑖, 𝑎, 𝑠′ = 𝑠𝑗, 𝑜)
18
[Smallwood and Sondik 1971]がまあだいぶ前の論文なので記法の差が激しいんですよ
24. exact value backupの実装
まず一時的に以下の集合を作る
Γ 𝑎,∗
← 𝛼 𝑎,∗
𝑠 = 𝑅 𝑠, 𝑎
Γ 𝑎,𝑜
← 𝛼𝑖
𝑎,𝑜
𝑠 𝛼𝑖
′
∈ 𝑉′
𝑤ℎ𝑒𝑟𝑒 𝛼𝑖
𝑎,𝑜
= 𝛾
𝑠′
𝑇 𝑠, 𝑎, 𝑠′
𝑂 𝑜, 𝑠′
, 𝑎 𝛼𝑖
′
𝑠
ここまではPBVIも同じ。
24
32. 小問の答え
(4)
𝑅 𝑠, 𝑎 = {
𝑠𝑙𝑒𝑓𝑡 ∶ +10, −100, −1 ,
𝑠 𝑟𝑖𝑔ℎ𝑡: [−100, +10, −1]
}
(5)
𝑇 𝑠, 𝑎, 𝑠′
= {
𝑠𝑙𝑒𝑓𝑡 ∶ 0.5, 0.5 , 0.5, 0.5 , [1.0, 0.0] ,
𝑠 𝑟𝑖𝑔ℎ𝑡: 0.5, 0.5 , 0.5, 0.5 , 0.0, 1.0
}
32
見やすさのために連想行列風に書いたけど最終的に行列に落とします
33. 小問の答え
(6) 観測(listen)していない時の観測結果を表現す
るために何も聞こえないo_nothingを追加する手
も考えられたが、今回は左右均等に音が聞こえる
ことにした。
𝑂 𝑠′
, 𝑎, 𝑜 = {
𝑠𝑙𝑒𝑓𝑡 ∶ 0.5, 0.5 , 0.5, 0.5 , [0.85, 0.15] ,
𝑠 𝑟𝑖𝑔ℎ𝑡: 0.5, 0.5 , 0.5, 0.5 , 0.15, 0.85
}
33
36. 小問の答え
Γ 𝑎,𝑜
は |A| * |O| * |V0| * |S| で、V0の中身がゼロな
ので計算すると全部ゼロになる。
[[[[ 0. 0.]] [[ 0. 0.]]]
[[[ 0. 0.]] [[ 0. 0.]]]
[[[ 0. 0.]] [[ 0. 0.]]]]
36
37. 小問の答え
Γ 𝑎
はクロス和をするので |A| * (|V0| ** |O|) * |S| と
指数的サイズだが、今回 |V0| = 1なのでサイズ3
ゼロのクロス和もゼロなので結局、各行動・状態
ごとの報酬であるところの Γ 𝑎,∗
になる。
[[[ 10. -100.]]
[[-100. 10.]]
[[ -1. -1.]]]
V1はこの3つの|S|次元ベクトルの集合になる。
37
40. V2
V2は|A| * (|V1| ** |O|)なので
3 * 3 ** 2の27になる。
40
[[ -35. -145. ]
[ -35. -145. ]
[ -13. -123. ]
[ -35. -145. ]
[ -35. -145. ]
[ -13. -123. ]
[ -13. -123. ]
[ -13. -123. ]
[ 9. -101. ]
[-145. -35. ]
[-145. -35. ]
[-123. -13. ]
[-145. -35. ]
[-145. -35. ]
[-123. -13. ]
[-123. -13. ]
[-123. -13. ]
[-101. 9. ]
[ 9. -101. ]
[ -7.5 -7.5 ]
[ 7.35 -16.85]
[ -84.5 -84.5 ]
[-101. 9. ]
[ -86.15 -0.35]
[ -0.35 -86.15]
[ -16.85 7.35]
[ -2. -2. ]]
45. 掛かる時間
pruneが効くとはいえ、一度大きな集合を作って
それを刈り込む作業には割と時間がかかる。
45
V1, 3->3, 0s 160ms
V2, 27->5, 0s 540ms
V3, 75->9, 1s 444ms
V4, 243->5, 4s 645ms
V5, 75->9, 1s 450ms
V6, 243->13, 4s 523ms
V7, 507->15, 9s 117ms
V8, 675->21, 12s 426ms
V9, 1323->25, 25s 98ms
V10, 1875->25, 39s 991ms
注: pruneの実装はまじめにやると結構面倒なので今回は1万点のグリッドサーチをして
いる。もっと人間時間を使って線形計画法で実装しなおせばCPU時間は節約できるけど
PBVIならそもそもpruneしなくても数が抑えられるんで頑張らない。
46. Point-based Value Iteration
元々決まった個数しか作らないので
刈り込みの時間もかからない。
46
V1, 11->3, 0s 362ms
V2, 11->5, 0s 182ms
V3, 11->7, 0s 178ms
V4, 11->7, 0s 207ms
V5, 11->8, 0s 202ms
V6, 11->9, 0s 205ms
V7, 11->11, 0s 199ms
V8, 11->11, 0s 180ms
V9, 11->10, 0s 195ms
V10, 11->11, 0s 183ms
Bは論文通りの方法ではなく、手抜きをして11点均等にばらまいた
48. Belief point set expansion
この実験ではBelief point setを適当に
均等割りで11個決めたが、
論文通りに初期状態から探索して決めたら
どうなるか?
48
51. 参考文献
[22] = [Shani+ 2012] A survey of point-based POMDP solvers
https://pdfs.semanticscholar.org/2027/b108fbefdb8aef1b6db8806
f98fceaa341a9.pdf
[Smallwood and Sondik 1971] The Optinal Control of Partially
Observable Markov Process over a Finite Horizon
http://www.cs.ubc.ca/~nando/550-
2006/handouts/sondikPOMDP.pdf
[Pineau+ 2003]
Point-based value iteration: An anytime algorithm for POMDPs
http://www.cs.mcgill.ca/~jpineau/files/jpineau-ijcai03.pdf
51