【5分鐘 Paper】Deep Reinforcement Learning with Double Q-learning

  • 論文題目:Deep Reinforcement Learning with Double Q-learning

論文標題及作者信息

所解決的問題?

  Q-Learning算法中存在動作值函數過估計(overestimate action values)的問題(因爲其更新方程中包含一個maximization動作值函數的一項),那這樣的過估計問題是否會對其算法性能有所影響呢?能不能去避免這樣的一種過估計問題呢?

背景

  如果所有的動作值函數都被均勻地加上一個常數,似乎這不會對策略有什麼影響。問題就在於當你有一個動作值函數過估計之後在加上探索和利用技術之後,那可能就會偏向於之前就過估計的動作值函數,而導致有些動作根本就沒選到,那就會影響策略學習的好壞了。那麼得到的就是一個次優解。

所採用的方法?

  DQN中就是使用相同的值函數來選擇和評估動作,因此作者這裏是將其拆開,具體公式如下:

  假設你有兩個網絡θ\thetaθ\theta^{'}。一個用來選擇動作,決定greedy policy的,另一個用來決定動作值函數的。爲了方便與DQN算法對比,這裏先寫DQN的公式:

YtQ=Rt+1+γQ(St+1, argmax aQ(St+1,a;θt);θt) Y_{t}^{\mathrm{Q}}=R_{t+1}+\gamma Q\left(S_{t+1}, \underset{a}{ \text { argmax }} Q\left(S_{t+1}, a ; \boldsymbol{\theta}_{t}\right) ; \boldsymbol{\theta}_{t}\right)

  Double Q-Learning的公式如下:

YtDoubleQ Rt+1+γQ(St+1,argmaxaQ(St+1,a;θt);θt) Y_{t}^{\text {DoubleQ }} \equiv R_{t+1}+\gamma Q\left(S_{t+1}, \underset{a}{\operatorname{argmax}} Q\left(S_{t+1}, a ; \boldsymbol{\theta}_{t}\right) ; \boldsymbol{\theta}_{t}^{\prime}\right)

  兩者主要的不同就是這個Target中的策略選擇和策略評估是否是用的同一個網絡。

取得的效果?

  實驗作者是用多項式通過採樣點擬合曲線。原文如下: The estimate is a d-degree polynomial that is fit to the true values at sampled states, where d = 6 (top and middle rows) or d = 9 (bottom row)。下圖中:第一行與第二行的實驗對比是爲了分析過估計問題的普遍性、第二行跟第三行的實驗是爲了分析過估計問題與近似函數擬合能力的關係。

  作者設計這個環境,最優動作值函數只與當前狀態有關。最上面的最優動作值函數被設計爲:Q(s,a)=sin(s)Q_{*}(s,a)=sin(s),中間和下面的那條線被設計爲Q(s,a)=2exp(s2)Q_{*}(s,a)=2 exp(-s^{2})。左邊那幅圖中展示的是對狀態動作值函數的近似,綠色的點是做實驗過程中的採樣點。

  在採樣點上的擬合效果還是很好的,但整個值函數方程的逼近效果還不是很理想。尤其是採樣點左側的誤差較大。

  作者之後就開始跟最大的作比較,最右邊的圖最能說明Double DQN能減緩過估計問題了。細節描述如下圖所示:

學習過程中的過估計插圖

  上面這個實驗還說了了一個問題,就是近似函數的擬合能力增強往往對已知數據點擬合效果較好,對未知數據點擬合誤差較大。

  上面說明了過估計是會存在的,那過估計會不會影響學習最優策略呢

  實際上也是會的。其實驗結果如下:

Double DQN 與 DQN 實驗對比

  從上圖中的下方這兩幅圖可以看出,隨着過估計值函數增加,其得分性能下降,所以過估計其實是會損害算法的得分性能。

所出版信息?作者信息?

  2016DeepMind團隊發表在ational conference on artificial intelligence上的一篇文章,作者Hado van Hasselt,谷歌DeepMind研究科學家,Rich Sutton同事。

  • 個人主頁:https://hadovanhasselt.com/about/

Hado van Hasselt

定理證明

Theorem1

  定理1 描述:給定一個狀態ss,它真實的最優動作值函數與值函數滿足等式:Q(s,a)=V(s)Q_{*}(s,a)=V_{*}(s)。假設QtQ_{t}爲當前狀態下任意動作值函數,其無偏估計表示爲:a(Qt(s,a)V(s))=0\sum_{a}(Q_{t}(s,a)-V_{*}(s))=0。但是這個描述並不完全正確,例如:1ma(Qt(s,a)V(s))2=C\frac{1}{m}\sum_{a}(Q_{t}(s,a)-V_{*}(s))^{2}=C。其中C>0C > 0m2m \geq 2表示的是當前狀態下可選擇的動作數目。在滿足上述條件下具有如下不等式:

maxaQt(s,a)V(s)+Cm1 max_{a}Q_{t}(s,a) \geq V_{*}(s) + \sqrt{\frac{C}{m-1}}

  上面這個定理其實就說明了,即使你的動作值函數估值平均是正確的,即a(Qt(s,a)V(s))=0\sum_{a}(Q_{t}(s,a)-V_{*}(s))=0,受到一點擾動依然會過估計,使其偏離真實的最優值函數。

  下圖展示了,過估計的最低下界會隨着動作空間維度增加而減少。

定理的補充說明

  定理1 證明

  定義對每個動作的誤差ϵa=Qt(s,a)V(s)\epsilon_{a}=Q_{t}(s,a)-V_{*}(s)。假設存在maxaϵa<Cm1max_{a} \epsilon_{a} < \sqrt{\frac{C}{m-1}}這樣的一個集合{ϵa}\{\epsilon_{a} \},其中具有nn個正數構成集合{ϵa+}\{\epsilon_{a}^{+} \}mnm-n個負數構成集合{ϵa}\{\epsilon_{a}^{-} \}({ϵa}={ϵa+}{ϵa}\{\epsilon_{a} \}=\{\epsilon_{a}^{+} \} \cup \{\epsilon_{a}^{-} \})。如果n=mn=m,由aϵa=0\sum_{a} \epsilon_{a}=0可以推出ϵa=0\epsilon_{a}=0,這與a\vee a滿足aϵa2=mC\sum_{a} \epsilon_{a}^{2}=mC矛盾,因此必有n<m1n < m-1。由此可以推出:i=1nϵi+nmaxiϵi+<nCm1\sum_{i=1}^{n} \epsilon_{i}^{+} \leq n \max _{i} \epsilon_{i}^{+}<n \sqrt{\frac{C}{m-1}},利用aϵa=0\sum_{a} \epsilon_{a}=0可以得到j=1mnϵj<nCm1\sum_{j=1}^{m-n}\left|\epsilon_{j}^{-}\right|<n \sqrt{\frac{C}{m-1}},這意味着maxjϵj<nCm1\max _{j}\left|\epsilon_{j}^{-}\right|<n \sqrt{\frac{C}{m-1}}。由此可得下式:

j=1mn(ϵj)2j=1mnϵjmaxjϵj<nCm1nCm1 \begin{aligned} \sum_{j=1}^{m-n}\left(\epsilon_{j}^{-}\right)^{2} & \leq \sum_{j=1}^{m-n}\left|\epsilon_{j}^{-}\right| \cdot \max _{j}\left|\epsilon_{j}^{-}\right| \\ &<n \sqrt{\frac{C}{m-1}} n \sqrt{\frac{C}{m-1}} \end{aligned}

  現在我們可以結合這些關係來計算所有ϵa\epsilon_{a}平方和的上限

a=1m(ϵa)2=i=1n(ϵi+)2+j=1mn(ϵj)2<nCm1+nCm1nCm1=Cn(n+1)m1mC \begin{aligned} \sum_{a=1}^{m}\left(\epsilon_{a}\right)^{2} &=\sum_{i=1}^{n}\left(\epsilon_{i}^{+}\right)^{2}+\sum_{j=1}^{m-n}\left(\epsilon_{j}^{-}\right)^{2} \\ &<n \frac{C}{m-1}+n \sqrt{\frac{C}{m-1}} n \sqrt{\frac{C}{m-1}} \\ &=C \frac{n(n+1)}{m-1} \\ & \leq m C \end{aligned}

  這與假定的a=1mϵa2=mC\sum_{a=1}^{m} \epsilon_{a}^{2}=mC矛盾,因此對集合ϵ\epsilon中元素滿足約束maxaϵaCm1max_{a} \epsilon_{a} \geq \sqrt{\frac{C}{m-1}}。我們可以設置ϵa=Cm1\epsilon_{a}=\sqrt{\frac{C}{m-1}},對a=1,,m1a=1,\cdots,m-1,和ϵm=(m1)C\epsilon_{m}=-\sqrt{(m-1)C}來檢查一下這個最低的下界是正確的。可以驗證得到aϵa2=mC\sum_{a}\epsilon_{a}^{2}=mC並且aϵa=0\sum_{a}\epsilon_{a}=0

Theorem2

  定理2 描述

  給定狀態ss,對於所有的真實最優動作值函數具有Q(s,a)=VQ_{*}(s,a)=V_{*}等式。假設評估器誤差Qt(s,a)Q(s,a)Q_{t}(s,a)-Q_{*}(s,a)[1,1][-1,1]上滿足獨立均勻隨機分佈。有:

E[maxaQt(s,a)V(s)]=m1m+1 \mathbb{E}\left[\max _{a} Q_{t}(s, a)-V_{*}(s)\right]=\frac{m-1}{m+1}

  定理2 證明

  定義ϵa=Qt(s,a)Q(s,a)\epsilon_{a} = Q_{t}(s,a)-Q_{*}(s,a);這是一個在[1,1][-1,1]空間上的均勻隨機變量。maxaϵaxmax_{a} \epsilon_{a} \leq x的概率等同於同時對所有的aaϵax\epsilon_{a} \leq x的概率。因爲評估器的誤差是獨立的,所以我們可以推導出:

P(maxaϵax)=P(X1xX2xXmx)=a=1mP(ϵax) \begin{aligned} P\left(\max _{a} \epsilon_{a} \leq x\right) &=P\left(X_{1} \leq x \wedge X_{2} \leq x \wedge \ldots \wedge X_{m} \leq x\right) \\ &=\prod_{a=1}^{m} P\left(\epsilon_{a} \leq x\right) \end{aligned}

  函數P(ϵax)P(\epsilon_{a} \leq x)ϵa\epsilon_{a}的累計分佈函數( cumulative distribution function (CDF)),簡單定義爲:

P(ϵax)={0 if x11+x2 if x(1,1)1 if x1 P\left(\epsilon_{a} \leq x\right)=\left\{\begin{array}{ll} {0} & {\text { if } x \leq-1} \\ {\frac{1+x}{2}} & {\text { if } x \in(-1,1)} \\ {1} & {\text { if } x \geq 1} \end{array}\right.

  這意味着:

P(maxϵax)=a=1mP(ϵax)={0 if x1(1+x2)m if x(1,1)1 if x1 \begin{aligned} P\left(\max \epsilon_{a} \leq x\right) &=\prod_{a=1}^{m} P\left(\epsilon_{a} \leq x\right) \\ &=\left\{\begin{array}{ll} {0} & {\text { if } x \leq-1} \\ {\left(\frac{1+x}{2}\right)^{m}} & {\text { if } x \in(-1,1)} \\ {1} & {\text { if } x \geq 1} \end{array}\right. \end{aligned}

  給定一個隨機變量maxaϵamax_{a} \epsilon_{a},她的期望可以寫成如下積分形式:

E[maxaϵa]=11xfmax(x)dx \mathbb{E}\left[\max _{a} \epsilon_{a}\right]=\int_{-1}^{1} x f_{\max }(x) \mathrm{d} x

  其中fmaxf_{max}是這個變量的概率密度函數,定義爲CDF的導數:fmax(x)=ddxP(maxaϵax)f_{max}(x)=\frac{d}{dx}P(max_{a} \epsilon_{a} \leq x)。因此對x[1,1]x \in [-1,1],我們有fmax(x)=m2(1+x2)m1f_{max}(x)=\frac{m}{2}(\frac{1+x}{2})^{m-1},再對其積分計算如下:

E[maxaϵa]=11xfmax(x)dx=[(x+12)mmx1m+1]11=m1m+1 \begin{aligned} \mathbb{E}\left[\max _{a} \epsilon_{a}\right] &=\int_{-1}^{1} x f_{\max }(x) \mathrm{d} x \\ &=\left[\left(\frac{x+1}{2}\right)^{m} \frac{m x-1}{m+1}\right]_{-1}^{1} \\ &=\frac{m-1}{m+1} \end{aligned}

參考鏈接

  以前解決過估計的問題是不充分地做值函數近似

  • 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.

  或者加一點噪聲

  • van Hasselt. Double Q-learning. Advances in Neural Information Processing Systems, 23:2613–2621, 2010.
  • van Hasselt. Insights in Reinforcement Learning. PhD thesis, Utrecht University, 2011.

我的微信公衆號名稱:深度學習與先進智能決策
微信公衆號ID:MultiAgent1024
公衆號介紹:主要研究分享深度學習、機器博弈、強化學習等相關內容!期待您的關注,歡迎一起學習交流進步!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章