DQN起源《Human-level control through deep reinforcement learning》論文筆記

研究領域model-free & off-policy DQN

研究成果和意義: 只使用少量的先驗知識:比如視覺圖像、遊戲所得的分數、動作的總數量,完成從高維度視覺輸入的端到端的玩遊戲,旨在建立一個可以用於一系列任務的 一個演算法(通用人工智慧)。

背景知識:之前,用神經網路等非線性逼近器去逼近動作值函數通常是不穩定的。原因:(1)觀察結果(observations)序列的相關性;(2)對於Q函數的一個很小的更新都會很明顯的影響策略,從而影響數據分布;(3)動作值函數Q和目標值函數(target values) r + y*Q(s』,a』)的相關性。

創新點:

1.解決非線性函數逼近值函數的不穩定性:

使用一種新型的Q學習變形體,主要包括兩方面的思想:(1)經驗回放(2)調整Q更新方式---調整為定期的由Q向target Q,這樣就減少了action-value 和target value的相關性。英語原文:

Second,we used an iterative update that adjusts the action-values (Q) towards target values that are only periodically updated,thereby reducing correlations with the target.

即:

(1)使用深度卷積神經網路 逼近 最優值函數Q*,建立逼近值函數Q(s,a;theta_i)。其中,theta_i是第i次的迭代的參數。

(2)經驗回放:每個時間步將 et = (st, at, rt, st+1)存入數據集D,然後訓練時隨機取樣minibatch

(3)使用Q-學習的迭代方式:r + y*max Q(s』,a』)。

theta_i^-是target network在時間步i的參數,只在C個時間步後和Q network參數theta_i一起更新。

2.神經網路的每個輸出對應每個動作的預測值函數Q

之前的方法大多將歷史信息動作一起作為神經網路的輸入,但這種架構的缺點是:需要一個獨立的前向傳遞去針對每個動作的動作值函數Q進行計算。

這裡方案:針對每一個動作計算一個值函數Q,每個輸出對應一個動作。這樣神經網路的輸入就只有狀態的表徵(state representation)。這樣每個輸出就是針對 輸入狀態 輸出的對應於每個動作的 預測的值函數。

一些研究細節:

1.預處理: 將210*160的遊戲圖像轉化為 84*84 的圖像等操作, 得到演算法結構中的phi _i

2.卷積神經網路結構: 五層的卷積神經網路。不包含池化層,因為需要知道位置信息,不能使用具有平移不變性的池化層。

3.訓練細節:

(1)維持遊戲原樣,僅在reward上做了一處修改:所有積極回報設為1,所有消極回報設為-1,其t余為0。這樣調整可以限制錯誤量級,並便於使用一個架構玩多種遊戲。

(2)使用 RMSProp演算法(SGD演算法基礎上發展的),策略探索上採用epsilon -greedy,epsilon 設置為1到0.1的遞變。

(3)訓練的時候並不是每一幀圖像都選擇策略,而是每隔k幀進行一次策略的評估和選擇,跳過的幀維t持策略不變。(DeepMind 將k設置為4)

4.對傳統的 在線Q學習演算法進行兩處改進以便於穩定的訓練大型神經網路:

(1)就是experience replay。將每一步的經驗e_t 存入D,儲存多步以後一起調用。

好處:①每一步的經驗都有可能在多次更新中調用,提高數據的利用效率;②減少連續序列間的相關性以減小更新的方差;③使用經驗回放可以使策略學習是之前狀態平均學習的結果,策略更加平滑從而避免震蕩或者發散。

(2)為了更長遠的提高穩定性,使用一個獨立的神經Q網路去得到target y,即建立另一個獨立的神經網路target network。每經過c次更新後,複製 network Q得到target network Q』,然後使用Q』去生成target y應用與接下來的c次更新。

好處:比起online Q-learning演算法更穩定。因為online Q-learning每次更新在增加Q(st,at)的同時也增加了針對每個a的Q(st+1,a),從而增加了 target y,這又可能會引起策略的震蕩甚至發散。Generating the targets using an older set of parameters adds a delay between the time an update to Q is made and the time the update affects the targets yj, making divergence or oscillations much more unlikely

5. error term clip:將 r + gamma  *  max Q(s,a;theta _i^-)- Q(s,a;theta _i)修剪到-1到1之間的範圍

演算法:

參考資料:

DeepMind《Human-level control through deep reinforcement learning》


推薦閱讀:

既然機器學習可以在某專業上超越人類,那人類的這個專業技能還有用嗎?
支持向量機(SVM)是什麼意思?
13萬人都在看的東京機器人展,你覺得能打幾分?
商湯IPO指日可待,管理140位博士的工程VP談AI落地

TAG:人工智能 | 强化学习ReinforcementLearning |