Deep Q Network(DQN)原理解析

1. 前言

在前面的章節中咱們介紹了時序差分算法(TD)和Q-Learning,當狀態和動做空間是離散且維數不高時可以使用Q-Table儲存每一個狀態動做對的Q值,而當狀態和動做空間是高維連續時,使用Q-Table不動做空間和狀態太大十分困難。因此論文Human-level control through deep reinforcement learning提出了用Deep Q Network(DQN)來擬合Q-Table,使得Q-Table的更新操做包在一個黑盒裏面,使強化學習的過程更加的通用化,自動化。算法

2. DQN的結構

咱們能夠把DQN理解爲在Q-Learning的總體框架大致不改的狀況下,對於\((S,A)->R\)獎勵的獲取方式的一種改進。緩存

DQN有兩個大的創新點:網絡

  1. Replay Buffer樣本回放緩衝區或者叫作(Experience replay)
  2. Target Network目標網絡

2.1 Replay Buffer

使用DQN模型代替Q-Table會遇到兩個問題框架

  1. 交互獲得的序列存在必定的相關性:交互序列中的狀態行動存在着必定的相關性,而對於基於最大似然法的機器學習模型來講,咱們有一個很重要的假設:訓練樣本是獨立且來自相同分佈的,一旦這個假設不成立,模型的效果就會大打折扣。而上面提到的相關性剛好打破了獨立同分布的假設,那麼學習獲得的值函數模型可能存在很大的波動。
  2. 交互數據的使用效率:採用梯度降低法進行模型更新時,模型訓練每每須要通過多輪迭代才能收斂,每一次迭代,須要使用必定數量的樣本計算梯度,若是每次計算的樣本在計算一次梯度後就被丟棄,那麼咱們就須要花費更多的時間與環境交互並收集樣本。

Replay Buffer結構圖:機器學習

image

總的來講,Replay Buffer含了收集樣本和採樣樣本兩個過程。函數

  1. 收集樣本:按照時間前後順序存入結構中,若是Replay Buffer經存滿樣本,那麼新的樣本會將時間上最久遠的樣本覆蓋。
  2. 採樣樣本:若是每次都取最新的樣本,那麼算法就和在線習相差很少;般來講,Replay Buffer會從緩存中均勻地隨機採樣一批樣本進行學習。

均勻採樣的好處是什麼呢?前面提到咱們交互獲得的序列在時間維度上存在必定的相關性。咱們但願學習獲得的值函數可以表示在當前狀態行動下的長期收益的指望,然而每一次交互獲得的序列,只能表明當前狀態一行動下的一次採樣軌跡,並不能表明全部可能的軌跡。這樣估計的結果就和指望的結果存在必定的差距。隨着交互時間不斷拉長,這個差距的累積會愈來愈大。若是徹底使用序列的估計值進行訓練, 某一輪訓練時模型會朝着一個序列的估計訓練,另外一輪訓練又會朝着另外一個序列的估計訓練,那麼模型很容易產生較大波動採用均勻採樣後,每次訓練的樣本一般來自屢次交互序列,這樣單一序列的波動就被減輕不少,訓練效果也就穩定了不少。同時,一份樣本也能夠被屢次訓練,提升了樣本的利用。學習

2.2 Target Network

模型不穩定的另一個緣由來自算法自己,Q-Learning的計算公式能夠看出,算法能夠分紅以下兩個步驟:spa

  1. 計算當前的狀態行動下的價值目標值:\(\nabla{q(s,a)}=\gamma(s^{'})+max_{a^{'}}q^{T-1}(s^{'},a^{'})\)
  2. 網絡模型的更新:\(q^T(s,a)=q^{T-1}(s,a)+\frac{1}{N}[\nabla{q(s,a)}-q^{T-1}(s,a)]\)

能夠看出模型經過當前時刻的回報和下一時刻的價值估計進行更新,這裏存在一些隱患,前面提到數據樣本差別可能形成必定的波動,因爲數據自己存在着不穩定性 每一輪輪迭代均可能產生一些波動,若是按照上面的計算公式,這些波動會馬上反映到下一個迭代的計算中,這樣咱們就很可貴到一個平穩的模型。爲了減輕相關問題帶來的影響,咱們要儘量地將兩個部分解耦。因此引入了Target Network,而本來的模型被稱爲Behavior Network。blog

  1. 在訓練開始時,兩個模型使用徹底相同的參數。
  2. 在訓練過程當中, Behavior Network負責與環境交互,獲得交互樣本。
  3. 在學習過程當中,由Q-Learning獲得的目標價值由Target Network算獲得;而後用它和Behavior Network的估計值進行比較得出目標值並更新Behavior Network。
  4. 每當訓練完成必定輪數的迭代,Behavior Network模型的參數就會同步給Target Network,這樣就能夠進行下一個階段的學習了。
  5. 經過使用 Target Network,計算目標價值的模型在一段時間內將被固定,這樣模型能夠減輕模型的波動性。

2.3 DQN的算法過程

image

(歡迎轉載,轉載請註明出處。歡迎溝通交流: 339408769@qq.com)get

相關文章
相關標籤/搜索