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

1,689 阅读5分钟
  • 论文题目:Deep Reinforcement Learning with Double Q-learning

论文标题及作者信息

所解决的问题?

  Q-Learning算法中存在动作值函数过估计(overestimate action values)的问题(因为其更新方程中包含一个maximization动作值函数的一项),那这样的过估计问题是否会对其算法性能有所影响呢?能不能去避免这样的一种过估计问题呢?

背景

  如果所有的动作值函数都被均匀地加上一个常数,似乎这不会对策略有什么影响。问题就在于当你有一个动作值函数过估计之后在加上探索和利用技术之后,那可能就会偏向于之前就过估计的动作值函数,而导致有些动作根本就没选到,那就会影响策略学习的好坏了。那么得到的就是一个次优解。

所采用的方法?

  DQN中就是使用相同的值函数来选择和评估动作,因此作者这里是将其拆开,具体公式如下:

  假设你有两个网络\theta\theta^{'}。一个用来选择动作,决定greedy policy的,另一个用来决定动作值函数的。为了方便与DQN算法对比,这里先写DQN的公式:

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的公式如下:

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)=2 exp(-s^{2})。左边那幅图中展示的是对状态动作值函数的近似,绿色的点是做实验过程中的采样点。

  在采样点上的拟合效果还是很好的,但整个值函数方程的逼近效果还不是很理想。尤其是采样点左侧的误差较大。

  作者之后就开始跟最大的作比较,最右边的图最能说明Double DQN能减缓过估计问题了。细节描述如下图所示:

学习过程中的过估计插图

  上面这个实验还说了了一个问题,就是近似函数的拟合能力增强往往对已知数据点拟合效果较好,对未知数据点拟合误差较大。

  上面说明了过估计是会存在的,那过估计会不会影响学习最优策略呢

  实际上也是会的。其实验结果如下:

Double DQN 与 DQN 实验对比

  从上图中的下方这两幅图可以看出,随着过估计值函数增加,其得分性能下降,所以过估计其实是会损害算法的得分性能。

所出版信息?作者信息?

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

Hado van Hasselt

定理证明

Theorem1

  定理1 描述:给定一个状态s,它真实的最优动作值函数与值函数满足等式:Q_{*}(s,a)=V_{*}(s)。假设Q_{t}为当前状态下任意动作值函数,其无偏估计表示为:\sum_{a}(Q_{t}(s,a)-V_{*}(s))=0。但是这个描述并不完全正确,例如:\frac{1}{m}\sum_{a}(Q_{t}(s,a)-V_{*}(s))^{2}=C。其中C > 0m \geq 2表示的是当前状态下可选择的动作数目。在满足上述条件下具有如下不等式:

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

  上面这个定理其实就说明了,即使你的动作值函数估值平均是正确的,即\sum_{a}(Q_{t}(s,a)-V_{*}(s))=0,受到一点扰动依然会过估计,使其偏离真实的最优值函数。

  下图展示了,过估计的最低下界会随着动作空间维度增加而减少。

定理的补充说明

  定理1 证明

  定义对每个动作的误差\epsilon_{a}=Q_{t}(s,a)-V_{*}(s)。假设存在max_{a} \epsilon_{a} < \sqrt{\frac{C}{m-1}}这样的一个集合\{\epsilon_{a} \},其中具有n个正数构成集合\{\epsilon_{a}^{+} \}m-n个负数构成集合\{\epsilon_{a}^{-} \}(\{\epsilon_{a} \}=\{\epsilon_{a}^{+} \} \cup \{\epsilon_{a}^{-} \})。如果n=m,由\sum_{a} \epsilon_{a}=0可以推出\epsilon_{a}=0,这与\vee a满足\sum_{a} \epsilon_{a}^{2}=mC矛盾,因此必有n < m-1。由此可以推出:\sum_{i=1}^{n} \epsilon_{i}^{+} \leq n \max _{i} \epsilon_{i}^{+}<n \sqrt{\frac{C}{m-1}},利用\sum_{a} \epsilon_{a}=0可以得到\sum_{j=1}^{m-n}\left|\epsilon_{j}^{-}\right|<n \sqrt{\frac{C}{m-1}},这意味着\max _{j}\left|\epsilon_{j}^{-}\right|<n \sqrt{\frac{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}

  现在我们可以结合这些关系来计算所有\epsilon_{a}平方和的上限

\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}

  这与假定的\sum_{a=1}^{m} \epsilon_{a}^{2}=mC矛盾,因此对集合\epsilon中元素满足约束max_{a} \epsilon_{a} \geq \sqrt{\frac{C}{m-1}}。我们可以设置\epsilon_{a}=\sqrt{\frac{C}{m-1}},对a=1,\cdots,m-1,和\epsilon_{m}=-\sqrt{(m-1)C}来检查一下这个最低的下界是正确的。可以验证得到\sum_{a}\epsilon_{a}^{2}=mC并且\sum_{a}\epsilon_{a}=0

Theorem2

  定理2 描述

  给定状态s,对于所有的真实最优动作值函数具有Q_{*}(s,a)=V_{*}等式。假设评估器误差Q_{t}(s,a)-Q_{*}(s,a)[-1,1]上满足独立均匀随机分布。有:

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

  定理2 证明

  定义\epsilon_{a} = Q_{t}(s,a)-Q_{*}(s,a);这是一个在[-1,1]空间上的均匀随机变量。max_{a} \epsilon_{a} \leq x的概率等同于同时对所有的a\epsilon_{a} \leq 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(\epsilon_{a} \leq x)\epsilon_{a}的累计分布函数( cumulative distribution function (CDF)),简单定义为:

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.

  这意味着:

\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}

  给定一个随机变量max_{a} \epsilon_{a},她的期望可以写成如下积分形式:

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

  其中f_{max}是这个变量的概率密度函数,定义为CDF的导数:f_{max}(x)=\frac{d}{dx}P(max_{a} \epsilon_{a} \leq x)。因此对x \in [-1,1],我们有f_{max}(x)=\frac{m}{2}(\frac{1+x}{2})^{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}

参考链接

  以前解决过估计的问题是不充分地做值函数近似

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