強化學習系列之:Deep Q Network (DQN)


文章目錄 [隱藏]

      我們終於來到了深度強化學習。

reinforcement learning

1. 強化學習和深度學習結合

      機器學習=目標+表示+優化。目標層面的工作關心應該學習到什么樣的模型,強化學習應該學習到使得激勵函數最大的模型。表示方面的工作關心數據表示成什么樣有利於學習,深度學習是最近幾年興起的表示方法,在圖像和語音的表示方面有很好的效果。深度強化學習則是兩者結合在一起,深度學習負責表示馬爾科夫決策過程的狀態,強化學習負責把控學習方向。

      深度強化學習有三條線:分別是基於價值的深度強化學習,基於策略的深度強化學習和基於模型的深度強化學習。這三種不同類型的深度強化學習用深度神經網絡替代了強化學習的不同部件。基於價值的深度強化學習本質上是一個 Q Learning 算法,目標是估計最優策略的 Q 值。 不同的地方在於 Q Learning 中價值函數近似用了深度神經網絡。比如 DQN 在 Atari 游戲任務中,輸入是 Atari 的游戲畫面,因此使用適合圖像處理的卷積神經網絡(Convolutional Neural Network,CNN)。下圖就是 DQN 的框架圖。

dqn-atari

2. Deep Q Network (DQN) 算法

      當然了基於價值的深度強化學習不僅僅是把 Q Learning 中的價值函數用深度神經網絡近似,還做了其他改進。

      這個算法就是著名的 DQN 算法,由 DeepMind 在 2013 年在 NIPS 提出。DQN 算法的主要做法是 Experience Replay,其將系統探索環境得到的數據儲存起來,然后隨機采樣樣本更新深度神經網絡的參數。

experience_replay

      Experience Replay 的動機是:1)深度神經網絡作為有監督學習模型,要求數據滿足獨立同分布,2)但 Q Learning 算法得到的樣本前后是有關系的。為了打破數據之間的關聯性,Experience Replay 方法通過存儲-采樣的方法將這個關聯性打破了。

      DeepMind 在 2015 年初在 Nature 上發布了文章,引入了 Target Q 的概念,進一步打破數據關聯性。Target Q 的概念是用舊的深度神經網絡 w^{-} 去得到目標值,下面是帶有 Target Q 的 Q Learning 的優化目標。

J=min(r+γmaxaQ(s,a,w))Q(s,a,w))2

      下圖是 Nature 論文上的結果。可以看到,打破數據關聯性確實很大程度地提高了效果。

nature-result

3. 后續發展

      DQN 是第一個成功地將深度學習和強化學習結合起來的模型,啟發了后續一系列的工作。這些后續工作中比較有名的有 Double DQN, Prioritized Replay 和 Dueling Network。

3.1 Double DQN

      Thrun 和 Schwartz 在古老的 1993 年觀察到 Q-Learning 的過優化 (overoptimism) 現象 [1],並且指出過優化現象是由於 Q-Learning 算法中的 max 操作造成的。令 (Q^{target}(s,a)) 是目標 Q 值;我們用了價值函數近似,Q^{approx} 是近似 Q 值;令 Y 為近似值和目標之間的誤差,即

Qapprox(s,a)=Qtarget(s,a)+Ys,a

Q-learning 算法更新步驟將所有的 Q 值更新一遍,這個時候近似值和目標值之間的差值
Z==rs,a+γmaxa1Qapprox(s,a1)rs,a+γmaxa2Qtarget(s,a2)γmaxa1Qapprox(s,a1)γmaxa2Qtarget(s,a2)γQapprox(s,a)Qtarget(s,a)=γYs,a

其中  a’ = argmax_{a} Q^{target}(s’,a)。這時候我們發現,即使  E[Y] = 0  也就是一開始是無偏的近似, Q Learning 中的 max 操作也會導致 E[Z] > 0。這就是過優化現象。為了解決這個問題,Thrun 和 Schwartz 提出了 Double Q 的想法。

      Hasselt 等進一步分析了過優化的現象,並將 Double Q 的想法應用在 DQN 上,從而提出了 Double DQN。Double DQN 訓練兩個 Q 網絡,一個負責選擇動作,另一個負責計算。兩個 Q 網絡交替進行更新,具體算法如下所示。

double-q-algorithm

下圖是 Hasselt 在論文中報告的實驗結果。從實驗結果來看,Double DQN 擁有比 DQN 好的效果。

double_dqn

3.2 Prioritized Replay

      DQN 用了 Experience Replay 算法,將系統探索環境獲得的樣本保存起來,然后從中采樣出樣本以更新模型參數。對於采樣,一個常見的改進是改變采樣的概率。Prioritized Replay [3] 便是采取了這個策略,采用 TD-err 作為評判標准進行采樣。

TDerr=|rs,a+γmaxaQ(s,a)Q(s,a)|

      下圖是論文中采用的例子。例子中有 n 個狀態,在每個狀態系統一半概率采取 “正確” 或者一半概率 “錯誤”,圖中紅色虛線是錯誤動作。一旦系統采取錯誤動作,游戲結束。只有第 n 個狀態 “正確” 朝向第 1 個狀態,系統獲得獎勵 1。在這個例子訓練過程中,系統產生無效樣本,導致訓練效率底下。如果采用 TD-err 作為評判標准進行采樣,能夠緩解這個問題。

priorized-example

      論文報告了 Prioritized Replay 算法效果。從下圖來看,Prioritized Replay 效果很好。

prioritized

3.3 Dueling Network

      Baird 在 1993 年提出將 Q 值分解為價值 (Value) 和優勢 (Advantage) [4]。

Q(s,a)=V(s)+A(s,a)

這個想法可以用下面的例子說明 [5]。上面兩張圖表示,前方無車時,選擇什么動作並不會太影響行車狀態。這個時候系統關注狀態的價值,而對影響動作優勢不是很關心。下面兩張圖表示,前方有車時,選擇動作至關重要。這個時候系統需要關心優勢了。這個例子說明,Q 值分解為價值和優勢更能刻畫強化學習的過程。

value-advantage

      Wang Z 將這個 idea 應用在深度強化學習中,提出了下面的網絡結構 [5]。

dueling-structure

這種網絡結構很簡單,但獲得了很好的效果。

dueling

       Dueling Network 是一個深度學習的網絡結構。它可以結合之前介紹的 Experience Replay、 Double DQN 和 Prioritized Replay 等方法。 作者在論文中報告 Dueling Network 和 Prioritized Replay 結合的效果最好。

4. 總結

      上次本來想把基於價值的深度強化學習的 Double DQN, Prioritized Replay 和 Dueling Network 也寫了的,寫到晚上 2 點。現在補上這部分內容。

      從上面介紹來看,DQN、 Double DQN、Prioritized Replay 和 Dueling Network 都能在深度學習出現之前的工作找到一些淵源。深度學習的出現,將這些方法的效果提高了前所未有的高度。

      文章結尾歡迎關注我的公眾號 AlgorithmDog,每次更新就會有提醒哦~


      

[1] S. Thrun and A. Schwartz. Issues in using function approximation for reinforcement learning. In M. Mozer, P. Smolensky, D. Touretzky, J. Elman, and A. Weigend, editors, Proceedings of the 1993 Connectionist Models Summer School, Hillsdale, NJ, 1993. Lawrence Erlbaum.
[2] Van Hasselt, Hado, Arthur Guez, and David Silver. “Deep reinforcement learning with double Q-learning.” CoRR, abs/1509.06461 (2015).
[3] Schaul T, Quan J, Antonoglou I, et al. Prioritized experience replay[J]. arXiv preprint arXiv:1511.05952, 2015.
[4] Baird, L.C. Advantage updating. Technical Report WLTR-93-1146,
Wright-Patterson Air Force Base, 1993.
[5] Wang Z, de Freitas N, Lanctot M. Dueling network architectures for deep reinforcement learning[J]. arXiv preprint arXiv:1511.06581, 2015.







免責聲明!

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



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