论文题目 :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
公众号介绍 :主要研究分享深度学习、机器博弈、强化学习等相关内容!期待您的关注,欢迎一起学习交流进步!