數學軟體應⽤ 521
要實例: AI 玩電動
為題的論⽂, 基本上就是教電腦玩
Atari 的遊戲。
DeepMind
Deep Q-
Learning
”
“ Human-level Control Through
Deep Reinforcement learning
2015 年 Nature 出現⼀篇
數學軟體應⽤ 551
訓練資料的 Q 值
認真想想, 訓練資
料的 Q 值不太好
算...
Q(S
t
, a
t
) = r
t
+ r
t+1
+ ⋯ + r
T
常常寫成 G
t
缺點是要完整的 episode
(完整玩⼀次的過程)
蒙地卡羅 Monte-Carlo (MC) 法
Slide 35
Slide 35 text
數學軟體應⽤ 552
訓練資料的 Q 值
我們常常會乘上⼀
個 discount 。
γ
Q(S
t
, a
t
) = r
t
+ γ ⋅ r
t+1
+ ⋯ + γT−t ⋅ r
T
這樣不管在級數的收斂啦, 對
未來比較沒有那麼確定的狀況
啦等等, 都考 進去。
蒙地卡羅 Monte-Carlo (MC) 法
Slide 36
Slide 36 text
數學軟體應⽤ 553
訓練資料的 Q 值
這裡假設我們後
⾯都⽤「最佳
的」玩。
Q(S
t
, a
t
) = r
t
+ γ ⋅ max
a∈
{Q(S
t+1
, a)}
認真想想, 這個時間點的
值, 基本上就是立即得到的 ,
加上下⼀次的 值。
t Q
r
t
Q
Temporal-Difference (TD) 法
Slide 37
Slide 37 text
數學軟體應⽤ 554
訓練資料的 Q 值
(S
t
, a
t
, r
t
, S
t+1
)
於是我們可以做
Exprience Replay。
Q(S
t
, a
t
) = r
t
+ γ ⋅ max
a∈
{Q(S
t+1
, a)}
有⼀次我們玩到 的狀態, 做
了 的動作, 只需要再知道當
下的 reward , 還有下⼀次的
狀態 是什麼, 就可以更新
值!
S
t
a
t
r
t
S
t+1
Q
Slide 38
Slide 38 text
數學軟體應⽤ 555
訓練資料的 Q 值
(S
t
, a
t
, r
t
, S
t+1
)
因此就是讓電腦⼀
直玩⼀直玩!
Q(S
t
, a
t
) = r
t
+ γ ⋅ max
a∈
{Q(S
t+1
, a)}
我們只要每步都收集到這⼩⼩
片段, 就可以準備訓練 的資
料。
Q
數學軟體應⽤ 557
仔細想想, 這是「⾃⼰學⾃⼰」的過程
有了⼀筆經驗 , 我
們會有⼀筆訓練資料是這樣...
(S
t
, a
t
, r
t
, S
t+1
)
Q
θ−
(S
t
, a
t
) r
t
+ γ max
a∈
(S
t+1
, a)
再⼀次, 值是我們⾃⼰定的 discount, 通常是 0 到 1 間的⼀個數。
γ
數學軟體應⽤ 566
Gradient Policy
J(θ) = V
πθ
簡單啦, 就是最⼤
化我們的 state
value!
Slide 50
Slide 50 text
數學軟體應⽤ 567
Gradient Policy
我不會算啊...
J(θ) = V
πθ
問題是...
Slide 51
Slide 51 text
數學軟體應⽤ 568
Gradient Policy
如果說我們有個遊戲的過程片段 trajectory (常常就是⼀個
episode, 但 epsode ⼀般是要完整從頭到尾)。
τ = {S
1
, a
1
, r
1
, S
2
, a
2
, r
2
, …, S
T
, a
T
, r
T
}
Slide 52
Slide 52 text
數學軟體應⽤ 569
Gradient Policy
R(τ) =
T
∑
t=1
r
t
可是, 這和我們
的 π 無關啊!
我們好像就會算這系列動作的得
分, ⽬標是要最⼤化...
Slide 53
Slide 53 text
數學軟體應⽤ 570
Gradient Policy
⼀個想法是, 我們神經網路做得
和真的⼀樣, 那會得這麼多分。
所以得分⾼就越像越好...
R(τ) ⋅
T
∑
t=1
− log π
θ
(a
t
|S
t
)
然後就可以做
gradient descent!
Slide 54
Slide 54 text
數學軟體應⽤ 571
Gradient Policy
最後我們好幾個實際的
trajectory 就加總。另外就是我
們可以考慮計分更細膩。
R(τ) ⋅
T
∑
t=1
− log π
θ
(a
t
|S
t
)
Slide 55
Slide 55 text
數學軟體應⽤ 572
Actor-Critic
甚⾄再訓練個 value function!
T
∑
t=1
− Q
θ′
(S
t
, a
t
)log π
θ
(a
t
|S
t
)