More Related Content More from Shunta Saito (12) 強化学習入門31. 強化学習の目的
E
" 1X
t=0
t
R(st, at, st+1)
#
, 8s0 2 S, 8a0 2 A目的関数
⇡⇤
(a|s) ⌘ arg max
⇡
E
" 1X
t=0
t
R(st, at, st+1)|s0 = s, a0 = a
#
を最大にする政策関数が最適政策関数
つまり…
どうやって求めるか?
13年5月3日金曜日
32. 強化学習の目的
E
" 1X
t=0
t
R(st, at, st+1)
#
, 8s0 2 S, 8a0 2 A目的関数
⇡⇤
(a|s) ⌘ arg max
⇡
E
" 1X
t=0
t
R(st, at, st+1)|s0 = s, a0 = a
#
を最大にする政策関数が最適政策関数
つまり…
どうやって求めるか?
Q(s, a) とおく
13年5月3日金曜日
33. 強化学習の目的
E
" 1X
t=0
t
R(st, at, st+1)
#
, 8s0 2 S, 8a0 2 A目的関数
⇡⇤
(a|s) ⌘ arg max
⇡
E
" 1X
t=0
t
R(st, at, st+1)|s0 = s, a0 = a
#
を最大にする政策関数が最適政策関数
つまり…
どうやって求めるか?
Q(s, a) とおく
Q(s, a) = E
" 1X
t=0
t
R(st, at, st+1)|s0 = s, a0 = a
#
行動価値関数
13年5月3日金曜日
34. 行動価値関数
⇡(a0|s0)PT (s0, a0, s1)
s0 s1
状態 で行動 をとる確率s0 a0
状態 で行動 をとったとき
状態 に遷移する確率
s0 a0
s1
R(s0, a0, s1)
報酬発生
この連鎖で得られる報酬の合計値=収益
収益の期待値が行動価値
13年5月3日金曜日
35. 行動価値関数
Q(s, a) = E
" 1X
t=0
t
R(st, at, st+1)|s0 = s, a0 = a
#
行動価値関数
⇡(a0|s0)PT (s0, a0, s1)
s0 s1
状態 で行動 をとる確率s0 a0
状態 で行動 をとったとき
状態 に遷移する確率
s0 a0
s1
R(s0, a0, s1)
報酬発生
この連鎖で得られる報酬の合計値=収益
収益の期待値が行動価値
13年5月3日金曜日
36. 行動価値関数と政策関数
⇡⇤
(a|s) ⌘ arg max
⇡
Q⇤
(s, a)
行動価値関数を最大にするような政策を知りたい強化学習の目的
1. 政策関数を適当に初期化(一様分布など)
2. 現在の政策に従って行動を起こし,報酬を観察
3. 現れた状態行動対 の価値を推定
4. 推定した を使って政策を改善
5. 1.に戻る
(s, a)
Q(s, a)
これを繰り返すことにより最適政策を近似する
13年5月3日金曜日
37. 行動価値関数と政策関数
⇡⇤
(a|s) ⌘ arg max
⇡
Q⇤
(s, a)
行動価値関数を最大にするような政策を知りたい強化学習の目的
1. 政策関数を適当に初期化(一様分布など)
2. 現在の政策に従って行動を起こし,報酬を観察
3. 現れた状態行動対 の価値を推定
4. 推定した を使って政策を改善
5. 1.に戻る
(s, a)
Q(s, a)
これを繰り返すことにより最適政策を近似する
疑問 3.の「状態行動対 の価値を推定」ってどうやる?(s, a)
4.の「推定した を使って政策を改善」ってどうやる?Q(s, a)
13年5月3日金曜日
38. 状態行動対の価値
Q(s, a) = E
" 1X
t=0
t
R(st, at, st+1)|s0 = s, a0 = a
#
例えば,状態 (s0, a0)
の価値が知りたい
13年5月3日金曜日
39. 状態行動対の価値
Q(s, a) = E
" 1X
t=0
t
R(st, at, st+1)|s0 = s, a0 = a
#
例えば,状態 (s0, a0)
の価値が知りたい
13年5月3日金曜日
40. 状態行動対の価値
Q(s, a) = E
" 1X
t=0
t
R(st, at, st+1)|s0 = s, a0 = a
#
例えば,状態 (s0, a0)
の価値が知りたい
13年5月3日金曜日
41. 状態行動対の価値
Q(s, a) = E
" 1X
t=0
t
R(st, at, st+1)|s0 = s, a0 = a
#
例えば,状態 (s0, a0)
の価値が知りたい
色々なパスがあるが,
それらを全て考慮して
得られる報酬の期待値
を計算する必要がある
13年5月3日金曜日
42. 状態行動対の価値
a1
s3
a4
s5
報酬の期待値(収益)は
左のようなパスを通った場合,
⇡(a0|s0)P(s0, a0, s1)R(s0, a0, s1)
+ ⇡(a1|s1)P(s1, a1, s3)R(s1, a1, s3)
+ 2
⇡(a4|s3)P(s3, a4, s5)R(s3, a4, s5)
Q⇡
(s, a) = E
" 1X
t=0
t
R(st, at, st+1)|s0 = s, a0 = a
#
これを 以降の全ての場合における
状態→行動選択確率(政策)と状態行動対
→次状態への遷移確率についての期待値を
計算すると がわかる
s0 ! a0
Q⇡(s0, a0)
さらにそれを全ての について計算す
る必要がある
(s, a)
13年5月3日金曜日
50. 学習の流れ
⇡⇤
(a|s) ⌘ arg max
⇡
Q⇤
(s, a)
行動価値関数を最大にするような政策を知りたい強化学習の目的
1. 政策関数を適当に初期化(一様分布など)
2. 現在の政策に従って行動を起こし,報酬を観察
3. 現れた状態行動対 の価値を推定
4. 推定した を使って政策を改善
5. 1.に戻る
(s, a)
Q(s, a)
これを繰り返すことにより最適政策を近似する
疑問 3.の「状態行動対 の価値を推定」ってどうやる?(s, a)
4.の「推定した を使って政策を改善」ってどうやる?Q(s, a)
13年5月3日金曜日
52. 準備
0 1 2
3 4 5
6 7 8
• 9マスある
• それぞれに ○ , , 空 の3状態
• 盤面ごとに状態番号をふると,3^9状態
13年5月3日金曜日
53. 準備
0 1 2
3 4 5
6 7 8
• 9マスある
• それぞれに ○ , , 空 の3状態
• 盤面ごとに状態番号をふると,3^9状態
_人人人人_
> 多い <
 ̄Y^Y^Y ̄
13年5月3日金曜日
54. 準備
0 1 2
3 4 5
6 7 8
• 9マスある
• それぞれに ○ , , 空 の3状態
• 盤面ごとに状態番号をふると,3^9状態
_人人人人_
> 多い <
 ̄Y^Y^Y ̄
0 1 2
3 4 5
6 7 8
左のように,45度回転の組み合わ
せで同じ状態に持っていけるものは
ひとつの状態として扱う
13年5月3日金曜日
55. 状態の圧縮
o x
x o
o
一つの状態を9ケタの3進数で表現する
0 ... 空
1 ... o
2 ... x
左の盤面は 120021100
ある状態が入力されてきたら,回転変換を施したものも含めた8状態
の3進数表現を計算する
8種類の3進数を10進数に変換する
8種類の10進数の値のうち一番小さいものを状態番号とする
1.
2.
3.
13年5月3日金曜日