來源: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的一樣,參數
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算法的優點及類人特性。