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) + \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的差別

  1. 將table去掉,改用神經網路預測
  2. ​將經歷過的遊戲過程記錄
  3. 使用兩個同樣架構的神經網路(Q,target)

 

loss = MSE (Q(s,a) , (r + \alpha * max_{a'}Q'(s',a')) )

實作經驗分享

  1. 先試試簡單的遊戲環境,驗證你的演算法
  2. 當train的成果不好,試著看看你的AI是怎麼玩的
  3. 可以根據遊戲特性更改reward、演算法
  4. 在這裡loss並不是很重要,你要看的是得分高不高

ViZDoom經驗談

原因

遊戲環境、reward設計

解法

  1. 藉由資訊調整reward
  2. 兩階段式模型

 

一些資源

RL_share

By tim54100

RL_share

  • 1,116