RL分享
講者: 劉冠閎
Reinforcement Learning
ViZDoom
一個強化學習的競賽
比什麼呢?





強化學習怎麼學??
state, reward, action and next_state
input = state, output = Q值 or 動作的機率

來源:https://arxiv.org/pdf/1808.10442.pdf
每日開盤價、最高低價、收盤
價、K-pattern、鎚頭、十字線、交易量、外資
mnist dataset(手寫數字辨識)
將其改成遊戲的方式
Q-Learning
Q(s,a)=為查表結果, s = state, a = action
Q(s,a)=Q(s,a)+α[r+maxa′Q(s′,a′)−Q(s,a)]
Q(s,a) = Q(s,a) + \alpha[ r + max_{a}'Q(s',a') - Q(s,a)]
state\action | 不動 | 往左走 |
---|---|---|
開始 | 0 | 0 |
往左走一格後 | 0 | 0 |
state\action | 不動 | 往左走 |
---|---|---|
開始 | α*(α*10) | α*10 |
往左走一格後 | 0 | 0 |
state\action | 不動 | 往左走 |
---|---|---|
開始 | α^2*10 + α^2*10(2- α) | 2*α*10 |
往左走一格後 | α*(α*10) | α*10 |
r-> reward,當下事情的即時回饋
Q(s,a)->現在的state做a這件事的短期回饋(根據alpha的大小決定長短)
Deep Q Network
與Q-Learning的差別
-
將table去掉,改用神經網路預測
-
將經歷過的遊戲過程記錄
- 使用兩個同樣架構的神經網路(Q,target)
loss=MSE(Q(s,a),(r+α∗maxa′Q′(s′,a′)))
loss = MSE (Q(s,a) , (r + \alpha * max_{a'}Q'(s',a')) )
實作經驗分享
- 先試試簡單的遊戲環境,驗證你的演算法
- 當train的成果不好,試著看看你的AI是怎麼玩的
- 可以根據遊戲特性更改reward、演算法
- 在這裡loss並不是很重要,你要看的是得分高不高
ViZDoom經驗談

原因
遊戲環境、reward設計
解法
- 藉由資訊調整reward
- 兩階段式模型
一些資源
RL分享 講者: 劉冠閎 Reinforcement Learning
RL_share
By tim54100
RL_share
- 1,171