Paper Reading 2:Human-level control through deep reinforcement learning

來源:Nature 2015

作者:Deepmind

理解基礎:

  • 深度學習基礎
  • 增強學習基礎

創新點:構建一個全新的Agent,基於Deep Q-network,能夠直接從高維的原始輸入數據中通過End-to-End的增強學習訓練來學習策略

成果:將算法應用到Atari 2600 遊戲中,其中49個遊戲水平超過人類。第一個連接了高維的感知輸入到動作,能夠通用地學習多種不同的task

詳細分析

研究目標

General Aritficial Intelligence 通用人工智能!這絕對是人工智能當前最振奮人心的問題!創造一個單一的算法能夠學習掌握執行多種任務。從而全面解放人類的重複性勞動。

Deep Q-network是本文提出的核心算法。

核心思想

使用深度卷積神經網絡(deep convolutional neural network)來擬合最優的動作估值函數(optimal action-value function).

面臨的困難

增強學習的困難在於在使用nonlinear function approximator非線性函數擬合時很容易不穩定unstable甚至發散diverge。
不穩定有很多原因,主要是數據的相關性太強導致小的權值更新會導致policy策略大的變化。

解決辦法

  • experience replay
  • fixed θ 目標Q值僅週期性更新,目的是減少目標和q值的相關性。第二個辦法在NIPS 2013的文章中沒有

算法基本流程

這裏寫圖片描述

1)初始化replay memory D,容量是N 用於存儲 訓練的樣本
2)初始化action-value function 的Q 卷積神經網絡 ,初始的參數θ 隨機
3)初始化 target action-value function的卷積神經網絡,結構和Q的一樣,參數θ 初始等於Q的參數

For episode = 1,M do
初始化狀態系列s1,並對其進行預處理得到4 * 84 * 84的視頻幀
for t=1,T do // 每個episode篇章訓練一定的時間
根據概率e(很小)選擇一個隨機的動作
或者根據當前的狀態輸入到當前的網絡中 (用了一次CNN)計算出每個動作的Q值,選擇Q值最大的一個動作(最優動作)
執行上面的動作a就可以得到reward(得分)以及下一個圖像
那麼下一個狀態就往前移動一幀,依然是4幀的圖像,再次處理得到新的網絡輸入
存儲(上一個狀態,使用的動作,得到reward,下一個狀態)數據 到replay memory來做訓練
接下來從D中隨機選取一個存儲的數據來訓練網絡
計算當前狀態的目標action-value,根據bellman公式得到:
如果episode結束,那麼就是得到的reward,如果沒有結束,那麼就將下一個處理好的狀態輸入到網絡,使用target網絡 參數(上面的3)),得到最大的Q值,然後按下面公式計算: (用第二次CNN)

接下來就是計算當前狀態和動作下的Q值,將當前處理好的狀態輸入到網絡,選擇對應的動作的Q值。(用第三次CNN)
根據loss function通過SGD來更新參數
每C次迭代後更新target action-value 網絡的參數爲當前的參數
end
end

具體Atari 2600 實驗成果

比NIPS2013的版本改進不少,主要是Fixed target Q-network的貢獻

DQN的突出表現

使用t-SNE算法來可視化高維數據,相似的state會放在接近的位置。有時候可能state不相似,但期望的reward相近。結論是

  • 這個網絡能夠從高維的原始輸入中學習支持可適應規則的表徵。

疑問點: The representations learned by DQN are able to generalize to data generated from policies other than its own

  • 能夠發現相對長的策略,雖然依然無法應對很長策略的遊戲

和腦科學對比

Reward signals during perceptual learning may influence the characteristics of representations within primate visual cortex.
The hippocampus may support the physical realization of such a process in the mammalian brain,with time-compressed reactivation of recently experienced trajectories during offline periods

未來使用優先的經驗進行訓練必然會改進性能!

小結

Nature的文章結構和NIPS這種會議的文章結構是完全不一樣的。Nature更重要的是告訴不瞭解的人們他們取得的成果,而具體的技術實現則全部放在附錄。

Method 技術方法再分析

這裏只分析和NIPS2013不一樣的地方

Preprocess預處理

Nature版本:使用Y通道圖像(luminance亮度分量)
NIPS版本:使用灰度圖像

Model Architecture 模型結構

和NIPS一樣

Training 訓練

比NIPS多訓練了其他遊戲。
使用RMSProp 更新參數(看來有必要再次學習一下Hinton的課程了)

Procedure Evaluation 過程評估

只是介紹訓練完之後如何評估訓練效果,比如每個遊戲玩30次至多5分鐘。

Algorithm 算法

這裏等同於NIPS的背景介紹

總結

總的來說Nature文章對DQN進行了改進,添加了Fixed Target Q-network,提升了性能,並且對更多的遊戲做了效果評估,以及進一步發現了DQN算法的優點及類人特性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章