相关论文
TD3:TD3
Double DQN:Double DQN
DDPG:DDPG
TD3论文结构
- 摘要:提出Actor-Critic面对的问题,概括了TD3算法和效果
- 引言:提出当前对于Actor-Critic的理解不足,回顾了离散action空间中的一个问题overestimation及其解决方案
- 相关工作:回顾之前讨论bias和varianve问题的工作
- 背景:介绍强化学习的基础以及DDPG算法
- Overestimation Bias:讨论Actor-Critic中的overestimation bias和解决方案
- Variance:讨论Actor-Critic中的variance来源及解决方案,综合解决方案提出TD3算法
- 实验:对比各种算法并验证提出的方案的效果
- 结论:总结这篇论文的创新和贡献
在这里我们只是简单梳理了一下论文中最重要的两个核心部分的思路并对比了TD3和DDPG算法。
Overestimation
Overestimation是TD3主要关注的问题之一,关于overestimation在强化学习中的影响大家可以在Double DQN中得到比较详细的解答。下面我对overestimation进行一些简述。
从上图中可以看到在第一列中,作者利用不同阶数的多项式对真实的Q(浅紫色曲线)进行拟合。拟合后的曲线在取样密集处都能够比较好的和真实的Q进行拟合,但是在取样稀疏的地方并不能很好的拟合,从而产生一定的误差;不仅如此,对于阶数高的多项式在取样密集的地方虽然可以学到更多的特征,但是在取样稀疏的地方却会产生更大的偏差。
第二列中,作者分别利用不同的取样点得到了不同的拟合曲线,其中黑白相间的曲线代表的是max Q值后的曲线,而绿色的曲线则是没有被选择的曲线。
为了从理论层面说明第二列的效果将两个公式列出对比,DQN采用就是上面公式对Q值进行估计的,而Double DQN则采用下面公式先通过对action进行取最优,然后通过最优的action对Q值进行估计,这时候估计的Q值在目标网络中并不一定是最大的,从而减弱了一些overestimation。
第三列则是Double DQN和DQN误差的对比。
下面给出overestimation在DDPG存在的证明。
如上述论文的推导,在DDPG中当前网络和目标网络都存在一个域分别使得公式5和6成立,这是引文两个网络更新的参数不同,而各自的参数在自己的网络处是梯度更新最快的。然后在公式5和6 的基础上作出假设,某个阶段出现了overestimation(偏差总是存在的),即
从而我们可以推导出公式7。其次是这些overestimation会产生一个循环,导致overestimation累积传播,这样的结果是次优action会得到次优Critor的高度评价,从而在下一次的策略中强化次优action。
由于Double DQN在处理overestimation上是优于DDPG的,于是TD3作者尝试将Double DQN融入DDPG中来抑制overestimation,最终效果有一丝的好转,但是还是存在很高的overestimation。
尝试失败的原因是因为在原始的Double DQN中两个Q函数较为独立,但在DDPG仍然紧密相关。于是作者提出了进一步的改进方案。
初始方案中,作者借鉴Double DQN的思想,在DDPG的基础上引入一个新的Q值,即一个新的Critic网络,但是由于两个Q值网络参数紧密相连,如上图公式所示,两个策略的评估更新都需要对方网络的参数,因此这个方案达到的效果不是作者的预期。
在新的一个方案中,采用min方式来更新策略评估函数,这种方式使得overestimation得到了极好的处理。
这段话论证了min操作对于处理overestimation的有效性。
Variance
从上图可以看出variance的变化与目标网络的更新频率有关。
因此在参数更新时为了使variance变化更小,可以使T以更小的值对参数进行更新,这可以使得Critic目标网络更加的稳定。
由于Overestimation在Critic目标网络不稳定,即variance波动比较大时会引导agent往错误的方向学习
,因此作者建议在critic稳定前不更新其他参数。
除此之外,在更新Actor的时候,加入regularization,即加入一个额外的噪声,可以使得Actor不会在一个点寻找Q值,而是在这个点周围的域寻找Q值。
TD3和DDPG对比
从上面两个算法的伪代码可以看出,TD3比DDPG多加了一个Critic目标网络,之后对得到的两个Q值函数进行min操作。除此之外,TD3还多了一个regulation的操作,即在进行动作决策时加入一个额外的噪声。