強化學習入門筆記系列——DQN算法


本系列是針對於DataWhale學習小組的筆記,從一個對統計學和機器學習理論基礎薄弱的初學者角度出發,在小組學習資料的基礎上,由淺入深地對知識進行總結和整理,今后有了新的理解可能還會不斷完善。由於水平實在有限,不免產生謬誤,歡迎讀者多多批評指正。如需要轉載請與博主聯系,謝謝

DQN算法基本原理


什么是DQN?

DQN是早期最經典的深度強化學習算法,作為Q-Learning算法的拓展(Q-Learning的坑還沒填。。),其核心思想是利用神經網絡代替表格式方法來完成值函數近似,此外DQN算法還引入目標網絡(Target Network)經驗回放(Experience Replay)的概念,提升了訓練的穩定性和數據利用效率。

什么是值函數近似?

在Q-Learning算法中用於評估動作價值的函數被稱為Q函數(狀態-動作價值函數),它代表了在當前狀態s下選擇動作a后依據某個確定的策略π得到的預期累計獎勵。我們優化的目標就是尋找合適的策略π,使得執行該策略得到的任意狀態下的Q值最大化。對於Q-Learning中離散狀態空間的值函數,我們可以用Q表來記錄,但如果狀態空間維度過高或在連續空間中,想要准確求解每個狀態每個動作下的Q值就比較困難,通常需要對Q函數進行參數化的近似,在DRL中我們通常選擇利用神經網絡來擬合這個Q函數,這個過程就被稱為值函數近似。

什么是目標網絡?

在時間差分方法更新Q網絡的過程中,根據優化目標\(Q^\pi (s_t,a_t)=r_t + Q^\pi (s_{t+1},\pi (s_{t+1}))\),若左右兩部分均發生變化則會使得訓練過程不穩定,收斂困難。因此DQN中引入一個目標網絡來與正在被更新的網絡分開,目標網絡基本保持穩定,用於計算目標Q值(即公式中右半部分的預測Q值),然后每隔一段時間才將當前Q網絡的參數更新過來。

什么是經驗回放?

因為強化學習的采樣是一個連續的過程,前后數據關聯性很大,而神經網絡的訓練通常要求數據樣本是靜態的獨立同分布。因此我們在這里引入一個經驗池(Replay Buffer)的概念,即將強化學習直接利用當前Q網絡的策略采樣得到的數據以元組的形式\(<s_t,a_t,r_t,s_{t+1}>\)存儲下來,在訓練時,從經驗池中隨機采樣一些樣本作為一個batch,然后用這個打亂后的batch對Q網絡進行更新,而當Buffer裝滿后最早的數據樣本就會被刪除。

動態規划、蒙特卡洛與時序差分方法的異同

廣義的動態規划(Dynamic Programming)是指將復雜問題分解為許多較小的問題來求解,而這些小問題的解可以集合起來反推最初復雜問題的解。在這個過程中需要我們對整個環境(模型)有完整的認識,而且需要對過程中已求解部分問題的結果進行一個儲存。在MDP中我們利用值函數儲存子問題的解,而用貝爾曼方程進行當前狀態解與下一狀態解之間的遞歸。注意,由於模型已知,我們只需要狀態值函數V就可以確定策略,而在蒙特卡洛中則需要狀態-動作值函數Q來估計每個動作的價值。

廣義的蒙特卡洛方法(Monte Carlo Methods)是一種通過大量隨機采樣來近似構建系統模型的數值模擬方法。在處理MDP時,我們可以通過對序列的完整采樣獲得一個episode,如果有足夠多的episode,我們甚至可以遍歷MDP中可能出現的所有序列,即使做不到這一點,大量的采樣也可以近似地體現MDP的特性。與動態規划方法不同的是,蒙特卡洛方法無需對模型有充分了解(如了解狀態轉移概率或即時獎勵函數),而是相當於通過大量實驗來進行經驗總結,同時它對於值函數的估計也不是計算累積回報的期望,而是在充分采樣的基礎上,直接計算經驗平均回報。通俗的說,就是在每個采樣序列中記錄任意狀態s下的某動作a第一次出現后(因為一個狀態-動作對可能在序列中出現多次)得到的后續累積回報,記作first-visit,通過多次采樣,對(s,a)的first-visit累積回報求平均。由大數定理可知,當采樣足夠多,這個平均值就會接近價值函數在(s,a)處的取值\(Q_\pi (s,a)\)

(最近比較忙,還是先占坑,后面慢慢補。。)

參考資料:

  1. DataWhale組隊學習資料——《強化學習》 王琦 楊毅遠 江季 著
  2. https://www.cnblogs.com/yijuncheng/p/10138604.html 值函數近似——Deep Q-learning
  3. https://www.jianshu.com/p/1835317e5886 Reinforcement Learning筆記(2)--動態規划與蒙特卡洛方法
  4. https://zhuanlan.zhihu.com/p/114482584 強化學習基礎 Ⅱ: 動態規划,蒙特卡洛,時序差分


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM