論文題目 :Deep Reinforcement Learning with Double Q-learning
所解決的問題?
Q-Learning
算法中存在動作值函數過估計(overestimate action values )的問題(因爲其更新方程中包含一個maximization
動作值函數的一項),那這樣的過估計問題是否會對其算法性能有所影響呢?能不能去避免這樣的一種過估計問題呢?
背景
如果所有的動作值函數都被均勻地加上一個常數,似乎這不會對策略有什麼影響。問題就在於當你有一個動作值函數過估計之後在加上探索和利用技術之後,那可能就會偏向於之前就過估計的動作值函數,而導致有些動作根本就沒選到,那就會影響策略學習的好壞了。那麼得到的就是一個次優解。
所採用的方法?
DQN
中就是使用相同的值函數來選擇和評估動作,因此作者這裏是將其拆開,具體公式如下:
假設你有兩個網絡θ \theta θ 和θ ′ \theta^{'} θ ′ 。一個用來選擇動作,決定greedy policy
的,另一個用來決定動作值函數的。爲了方便與DQN
算法對比,這裏先寫DQN
的公式:
Y t Q = R t + 1 + γ Q ( S t + 1 , argmax a Q ( S t + 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)
Y t Q = R t + 1 + γ Q ( S t + 1 , a argmax Q ( S t + 1 , a ; θ t ) ; θ t )
Double Q-Learning
的公式如下:
Y t DoubleQ ≡ R t + 1 + γ Q ( S t + 1 , argmax a Q ( S t + 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)
Y t DoubleQ ≡ R t + 1 + γ Q ( S t + 1 , a a r g m a x Q ( S t + 1 , a ; θ t ) ; θ t ′ )
兩者主要的不同就是這個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 ) = s i n ( s ) Q_{*}(s,a)=sin(s) Q ∗ ( s , a ) = s i n ( s ) ,中間和下面的那條線被設計爲Q ∗ ( s , a ) = 2 e x p ( − s 2 ) Q_{*}(s,a)=2 exp(-s^{2}) Q ∗ ( s , a ) = 2 e x p ( − s 2 ) 。左邊那幅圖中展示的是對狀態動作值函數的近似,綠色的點是做實驗過程中的採樣點。
在採樣點上的擬合效果還是很好的,但整個值函數方程的逼近效果還不是很理想。尤其是採樣點左側的誤差較大。
作者之後就開始跟最大的作比較,最右邊的圖最能說明Double DQN
能減緩過估計問題了。細節描述如下圖所示:
上面這個實驗還說了了一個問題,就是近似函數的擬合能力增強往往對已知數據點擬合效果較好,對未知數據點擬合誤差較大。
上面說明了過估計是會存在的,那過估計會不會影響學習最優策略呢 ?
實際上也是會的。其實驗結果如下:
從上圖中的下方這兩幅圖可以看出,隨着過估計值函數增加,其得分性能下降,所以過估計其實是會損害算法的得分性能。
所出版信息?作者信息?
2016
年DeepMind
團隊發表在ational conference on artificial intelligence
上的一篇文章,作者Hado van Hasselt
,谷歌DeepMind
研究科學家,Rich Sutton
同事。
個人主頁:https://hadovanhasselt.com/about/
定理證明
Theorem1
定理1 描述 :給定一個狀態s s s ,它真實的最優動作值函數與值函數滿足等式:Q ∗ ( s , a ) = V ∗ ( s ) Q_{*}(s,a)=V_{*}(s) Q ∗ ( s , a ) = V ∗ ( s ) 。假設Q t Q_{t} Q t 爲當前狀態下任意動作值函數,其無偏估計表示爲:∑ a ( Q t ( s , a ) − V ∗ ( s ) ) = 0 \sum_{a}(Q_{t}(s,a)-V_{*}(s))=0 ∑ a ( Q t ( s , a ) − V ∗ ( s ) ) = 0 。但是這個描述並不完全正確,例如:1 m ∑ a ( Q t ( s , a ) − V ∗ ( s ) ) 2 = C \frac{1}{m}\sum_{a}(Q_{t}(s,a)-V_{*}(s))^{2}=C m 1 ∑ a ( Q t ( s , a ) − V ∗ ( s ) ) 2 = C 。其中C > 0 C > 0 C > 0 ,m ≥ 2 m \geq 2 m ≥ 2 表示的是當前狀態下可選擇的動作數目。在滿足上述條件下具有如下不等式:
m a x a Q t ( s , a ) ≥ V ∗ ( s ) + C m − 1
max_{a}Q_{t}(s,a) \geq V_{*}(s) + \sqrt{\frac{C}{m-1}}
m a x a Q t ( s , a ) ≥ V ∗ ( s ) + m − 1 C
上面這個定理其實就說明了,即使你的動作值函數估值平均是正確的,即∑ a ( Q t ( s , a ) − V ∗ ( s ) ) = 0 \sum_{a}(Q_{t}(s,a)-V_{*}(s))=0 ∑ a ( Q t ( s , a ) − V ∗ ( s ) ) = 0 ,受到一點擾動依然會過估計,使其偏離真實的最優值函數。
下圖展示了,過估計的最低下界會隨着動作空間維度增加而減少。
定理1 證明 :
定義對每個動作的誤差ϵ a = Q t ( s , a ) − V ∗ ( s ) \epsilon_{a}=Q_{t}(s,a)-V_{*}(s) ϵ a = Q t ( s , a ) − V ∗ ( s ) 。假設存在m a x a ϵ a < C m − 1 max_{a} \epsilon_{a} < \sqrt{\frac{C}{m-1}} m a x a ϵ a < m − 1 C 這樣的一個集合{ ϵ a } \{\epsilon_{a} \} { ϵ a } ,其中具有n n n 個正數構成集合{ ϵ a + } \{\epsilon_{a}^{+} \} { ϵ a + } ,m − n m-n m − n 個負數構成集合{ ϵ a − } \{\epsilon_{a}^{-} \} { ϵ a − } ({ ϵ a } = { ϵ a + } ∪ { ϵ a − } \{\epsilon_{a} \}=\{\epsilon_{a}^{+} \} \cup \{\epsilon_{a}^{-} \} { ϵ a } = { ϵ a + } ∪ { ϵ a − } )。如果n = m n=m n = m ,由∑ a ϵ a = 0 \sum_{a} \epsilon_{a}=0 ∑ a ϵ a = 0 可以推出ϵ a = 0 \epsilon_{a}=0 ϵ a = 0 ,這與∨ a \vee a ∨ a 滿足∑ a ϵ a 2 = m C \sum_{a} \epsilon_{a}^{2}=mC ∑ a ϵ a 2 = m C 矛盾,因此必有n < m − 1 n < m-1 n < m − 1 。由此可以推出:∑ i = 1 n ϵ i + ≤ n max i ϵ i + < n C m − 1 \sum_{i=1}^{n} \epsilon_{i}^{+} \leq n \max _{i} \epsilon_{i}^{+}<n \sqrt{\frac{C}{m-1}} ∑ i = 1 n ϵ i + ≤ n max i ϵ i + < n m − 1 C ,利用∑ a ϵ a = 0 \sum_{a} \epsilon_{a}=0 ∑ a ϵ a = 0 可以得到∑ j = 1 m − n ∣ ϵ j − ∣ < n C m − 1 \sum_{j=1}^{m-n}\left|\epsilon_{j}^{-}\right|<n \sqrt{\frac{C}{m-1}} ∑ j = 1 m − n ∣ ∣ ϵ j − ∣ ∣ < n m − 1 C ,這意味着max j ∣ ϵ j − ∣ < n C m − 1 \max _{j}\left|\epsilon_{j}^{-}\right|<n \sqrt{\frac{C}{m-1}} max j ∣ ∣ ϵ j − ∣ ∣ < n m − 1 C 。由此可得下式:
∑ j = 1 m − n ( ϵ j − ) 2 ≤ ∑ j = 1 m − n ∣ ϵ j − ∣ ⋅ max j ∣ ϵ j − ∣ < n C m − 1 n C m − 1
\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}
j = 1 ∑ m − n ( ϵ j − ) 2 ≤ j = 1 ∑ m − n ∣ ∣ ϵ j − ∣ ∣ ⋅ j max ∣ ∣ ϵ j − ∣ ∣ < n m − 1 C n m − 1 C
現在我們可以結合這些關係來計算所有ϵ a \epsilon_{a} ϵ a 平方和的上限 。
∑ a = 1 m ( ϵ a ) 2 = ∑ i = 1 n ( ϵ i + ) 2 + ∑ j = 1 m − n ( ϵ j − ) 2 < n C m − 1 + n C m − 1 n C m − 1 = C n ( n + 1 ) m − 1 ≤ m C
\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 = 1 ∑ m ( ϵ a ) 2 = i = 1 ∑ n ( ϵ i + ) 2 + j = 1 ∑ m − n ( ϵ j − ) 2 < n m − 1 C + n m − 1 C n m − 1 C = C m − 1 n ( n + 1 ) ≤ m C
這與假定的∑ a = 1 m ϵ a 2 = m C \sum_{a=1}^{m} \epsilon_{a}^{2}=mC ∑ a = 1 m ϵ a 2 = m C 矛盾,因此對集合ϵ \epsilon ϵ 中元素滿足約束m a x a ϵ a ≥ C m − 1 max_{a} \epsilon_{a} \geq \sqrt{\frac{C}{m-1}} m a x a ϵ a ≥ m − 1 C 。我們可以設置ϵ a = C m − 1 \epsilon_{a}=\sqrt{\frac{C}{m-1}} ϵ a = m − 1 C ,對a = 1 , ⋯ , m − 1 a=1,\cdots,m-1 a = 1 , ⋯ , m − 1 ,和ϵ m = − ( m − 1 ) C \epsilon_{m}=-\sqrt{(m-1)C} ϵ m = − ( m − 1 ) C 來檢查一下這個最低的下界 是正確的。可以驗證得到∑ a ϵ a 2 = m C \sum_{a}\epsilon_{a}^{2}=mC ∑ a ϵ a 2 = m C 並且∑ a ϵ a = 0 \sum_{a}\epsilon_{a}=0 ∑ a ϵ a = 0 。
Theorem2
定理2 描述 :
給定狀態s s s ,對於所有的真實最優動作值函數具有Q ∗ ( s , a ) = V ∗ Q_{*}(s,a)=V_{*} Q ∗ ( s , a ) = V ∗ 等式。假設評估器誤差Q t ( s , a ) − Q ∗ ( s , a ) Q_{t}(s,a)-Q_{*}(s,a) Q t ( s , a ) − Q ∗ ( s , a ) 在[ − 1 , 1 ] [-1,1] [ − 1 , 1 ] 上滿足獨立均勻隨機分佈。有:
E [ max a Q t ( s , a ) − V ∗ ( s ) ] = m − 1 m + 1
\mathbb{E}\left[\max _{a} Q_{t}(s, a)-V_{*}(s)\right]=\frac{m-1}{m+1}
E [ a max Q t ( s , a ) − V ∗ ( s ) ] = m + 1 m − 1
定理2 證明 :
定義ϵ a = Q t ( s , a ) − Q ∗ ( s , a ) \epsilon_{a} = Q_{t}(s,a)-Q_{*}(s,a) ϵ a = Q t ( s , a ) − Q ∗ ( s , a ) ;這是一個在[ − 1 , 1 ] [-1,1] [ − 1 , 1 ] 空間上的均勻隨機變量。m a x a ϵ a ≤ x max_{a} \epsilon_{a} \leq x m a x a ϵ a ≤ x 的概率等同於同時對所有的a a a ,ϵ a ≤ x \epsilon_{a} \leq x ϵ a ≤ x 的概率。因爲評估器的誤差是獨立的,所以我們可以推導出:
P ( max a ϵ a ≤ x ) = P ( X 1 ≤ x ∧ X 2 ≤ x ∧ … ∧ X m ≤ x ) = ∏ a = 1 m P ( ϵ a ≤ x )
\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 ( a max ϵ a ≤ x ) = P ( X 1 ≤ x ∧ X 2 ≤ x ∧ … ∧ X m ≤ x ) = a = 1 ∏ m P ( ϵ a ≤ x )
函數P ( ϵ a ≤ x ) P(\epsilon_{a} \leq x) P ( ϵ a ≤ x ) 是ϵ a \epsilon_{a} ϵ a 的累計分佈函數( cumulative distribution function (CDF)),簡單定義爲:
P ( ϵ a ≤ x ) = { 0 if x ≤ − 1 1 + x 2 if x ∈ ( − 1 , 1 ) 1 if x ≥ 1
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 ( ϵ a ≤ x ) = ⎩ ⎨ ⎧ 0 2 1 + x 1 if x ≤ − 1 if x ∈ ( − 1 , 1 ) if x ≥ 1
這意味着:
P ( max ϵ a ≤ x ) = ∏ a = 1 m P ( ϵ a ≤ x ) = { 0 if x ≤ − 1 ( 1 + x 2 ) m if x ∈ ( − 1 , 1 ) 1 if x ≥ 1
\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}
P ( max ϵ a ≤ x ) = a = 1 ∏ m P ( ϵ a ≤ x ) = ⎩ ⎨ ⎧ 0 ( 2 1 + x ) m 1 if x ≤ − 1 if x ∈ ( − 1 , 1 ) if x ≥ 1
給定一個隨機變量m a x a ϵ a max_{a} \epsilon_{a} m a x a ϵ a ,她的期望可以寫成如下積分形式:
E [ max a ϵ a ] = ∫ − 1 1 x f max ( x ) d x
\mathbb{E}\left[\max _{a} \epsilon_{a}\right]=\int_{-1}^{1} x f_{\max }(x) \mathrm{d} x
E [ a max ϵ a ] = ∫ − 1 1 x f max ( x ) d x
其中f m a x f_{max} f m a x 是這個變量的概率密度函數,定義爲CDF
的導數:f m a x ( x ) = d d x P ( m a x a ϵ a ≤ x ) f_{max}(x)=\frac{d}{dx}P(max_{a} \epsilon_{a} \leq x) f m a x ( x ) = d x d P ( m a x a ϵ a ≤ x ) 。因此對x ∈ [ − 1 , 1 ] x \in [-1,1] x ∈ [ − 1 , 1 ] ,我們有f m a x ( x ) = m 2 ( 1 + x 2 ) m − 1 f_{max}(x)=\frac{m}{2}(\frac{1+x}{2})^{m-1} f m a x ( x ) = 2 m ( 2 1 + x ) m − 1 ,再對其積分計算如下:
E [ max a ϵ a ] = ∫ − 1 1 x f max ( x ) d x = [ ( x + 1 2 ) m m x − 1 m + 1 ] − 1 1 = m − 1 m + 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}
E [ a max ϵ a ] = ∫ − 1 1 x f max ( x ) d x = [ ( 2 x + 1 ) m m + 1 m x − 1 ] − 1 1 = m + 1 m − 1
參考鏈接
以前解決過估計的問題是不充分地做值函數近似
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
公衆號介紹 :主要研究分享深度學習、機器博弈、強化學習等相關內容!期待您的關注,歡迎一起學習交流進步!