iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 8
0
AI & Data

人工智慧(RL系列) 完爆遊戲30天系列 第 8

Day_8 Q-learning Natural

  • 分享至 

  • xImage
  •  

Q-learning運作跟算法講差不多了,接下來補充幾個後面重要的改進,改進後面還有更多演化變種,不過我們這30天不會講得太深入,但面臨哪些問題挑戰一定要知道~

採樣

OpenAI建構了穩定的Atari遊戲環境,用Q-learning算法完爆了Atari很多種遊戲(附註1),其中很多遊戲的本質都是連續畫面(state),所以輸入的input也不會僅有單禎的,例如OpenAI很多時候在決定輸入採用4禎(當下的畫面加前三禎畫面),讓4禎影像做一次決策。

採樣與更新問題

主要遇到兩個問題讓模型收斂不太好:

  1. 連續採樣讓樣本讓模型收斂不穩定。
  2. 損失函數的相關性過高。
    第一個非常容易理解,當一個episode結束,從開始到最後的動作皆有連貫性,這樣連續訓練會讓數據跟數據間有關聯。強的關聯性會導致網絡在一段時間內僅往一個方向進行更新,然後再換一個方向,這樣方差很大。
    第二個跟Q-learning有關,記得我們前面說過的Q估計跟Q現實嗎?
    https://ithelp.ithome.com.tw/upload/images/20190923/20121110JQb2MvIodp.png
    Q估計跟Q現實的值來自同一個網路,首先我們假定γ=1,假著來假設:
  3. Q估計=12
  4. Q-max(state',action')=10
  5. reward=5
    Q現實-Q估計=3,差值為3。理論上如果參數向最佳解收斂,Q估計下次會輸出15,使Q現實-Q-估計=0。但如果Q-max(state',action')也跟著增加3,那結果始終會是Q現實-Q估計=3,造成收斂的不穩定性。可以解析成是Q-max被高估了,也就是後面的reward被高估了,而當下的reward沒有真正預測成功。

experience replay

方法很簡單,搜集一定數量的樣本後,從中隨機採樣,看batch_size大小。隨機選取可以打破這相關性,讓數據分佈得更均勻,就減小了更新的方差,防止了發散或振盪,

Natural Q-learning

在這裡我們可以設定一個新的model給Q現實,Q估計的model照樣訓練,但迭代到一個指定數量回合,才把參數複製給Q現實。論文表明利用這種時間的延遲,可有效降低相關性,讓模型收斂的更加穩定。
https://ithelp.ithome.com.tw/upload/images/20190923/20121110VQiIHR7fTF.png
用更簡單說法,雖然reward不會做微分的話,但收斂仍有Q-max跟Q估計。用暫時的網路參數替代Q-max,這樣模型就能集中優化Q估計。雖然paper沒提及,但這想法挺直覺。

Q-table vs DQN

我們看到Q-table縱軸都有對照的state對嘛?但例如128x128x3的遊戲怎辦?這裡就只好交給類神經網路來做了XD 讓DQN等同於真正的Q-function。原本明確定義的state,現在改成用類神經去解析畫面,接著輸出控制。有別以往Q-table,DQN還要處理對state的解析,DQN收斂沒Q-table好,但因使用了非常多的參數去擬合,很多狀態都可以很好地泛化了!

結語

接下來有會搭配自搭環境跟算法的章節,順便介紹DQN的結構是什麼,以及一些詳解是怎麼去設計的,不過在這之前,我們先來認識OpenAI-gym一些有趣,已經做好的環境跟算法套件吧!我們明天見囉~
附註1 Playing Atari with Deep Reinforcement Learning :https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf


上一篇
Day_7 Q-learning 更新
下一篇
Day_9 baselines 算法集合
系列文
人工智慧(RL系列) 完爆遊戲30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言