"?two branches ?for Deep Reinforcement Learning: based on Value or Policy.
based on Value: DQN(Deep Q Network, google) ?= NN + Q learning
Q learning : (State , action ) -->Q value, for each state choose the action which lead to the largest Q;是一種策略時間差分方法,核心是異策略,時間差分。
異策略:行動策略(產生數據的策略)和要評估改進的策略是分開的,行動策略是5行的thegma-貪婪,評估和改進的是6行的貪婪(選擇對每個狀態來說,取值最大的動作)
時間差分:更新行為值函數時是依據時間差分目標。時間差分目標如下
DQN benefits from: CNN, Experience replay and Fixed Q-targets
Experience replay makes DQN a off-policy "offline learning" which is able to learn from the experience and others' experience。經驗回放對強化學習的學習過程進行訓練。Why,因為RL負責收集數據,但上下文數據的關聯性很強 V.S. 神經網絡訓練時要求數據是獨立同分布的。所以用經驗回放來打破數據的關聯性。
解釋二:DeepMind創始人Hassabis是倫敦大學神經科學博士:人在睡覺時,海馬體會把一天的記憶重放給大腦皮層。
如上圖,強化學習時,會把數據存到一個DB,then均勻隨機采樣抽取數據,來訓練神經網絡。2013NIPS就指出了。
2015nature提出目標網絡來進一步減小數據間的關聯性。DQN用目標網絡Q-targets來單獨處理時間差分算法中的TD偏差。
Fixed Q-targets makes DQN owns 2 networks with same structures but different parameters: one for predicting Q real with experience parameters and the other predict Q estimate with the latest parameters.
與表格型傳統Qlearning不同,用NN進行值函數逼進時,每一步更新的是網絡權值參數,而不是圖2第6行的Q值了,換成了梯度下降更新:
7是TD目標,用網絡參數theta來計算8。
以往神經網絡逼近值函數時,【計算TD目標的動作值函數】用的是網絡參數theta,與梯度計算【要逼近的動作值函數】,所用的網絡參數一樣,這樣就容易導致數據關聯性,訓練不穩定,事實上,這兩個操作的更新頻率等是不完全一樣的。所以單獨弄一個TD目標網絡來【計算TD目標】,theta-;【逼近值函數】的網絡用theta;【計算TD目標的動作函數】每個固定的步數更新一次,【用于逼近的動作值函數網絡】每一步都更新。所以值函數的更新變成:
DQN偽代碼:
第[1]行,初始化回放記憶D,可容納的數據條數為N
第[2]行,利用隨機權值theta來初始化動作行為值函數Q
第[3]行,令theta- = theta來計算TD目標的動作行為值Q
第[4]行,循環每次事件
第[5]行,初始化每次事件的第一個狀態s1 ,預處理得到狀態對應的特征輸入
第[6]行,循環每個事件的每一步
第[7]行,利用概率thegma選一個隨機動作at
第[8]行,若小概率事件沒發生,則用貪婪策略選擇當前值函數最大的那個動作,注意,這里選最大動作時用到的值函數網絡與逼近值函數所用的網絡是一個網絡,都對應著theta。
注意:第[7]行和第[8]行是行動策略,即thegma-greedy策略。
第[9]行,在仿真器中執行動作at,觀測回報rt與圖像xt+1
第[10]行,設置st+1 = st, at, xt+1, 預處理
第[11]行,將轉換(,,,)儲存在回放記憶D中
第[12]行,從回放記憶D中均勻隨機采樣一個轉換樣本數據
第[13]行,判斷是否是一個事件的終止狀態,若是終止狀態則TD目標為rj,否則利用TD目標網絡theata- 來計算TD目標
第[14]行,執行一次梯度下降算法
第[15]行,更新動作值函數逼近的網絡參數theta
第[16]行,每隔C步更新一次TD目標網絡權值即令theta- ?= theta
第[17]行,結束每次事件內循環
第[18]行,結束事件間的循環
我們可以看到,在第[12]行,利用了經驗回放;在[13]行利用了獨立的目標網絡theta-。第[15]行,更新動作值函數逼近網絡參數;第[17]行更新目標網絡參數.