double dqn report

1 篇文章 0 订阅
1 篇文章 0 订阅
本文深入探讨了Double DQN算法,旨在解决Q-learning中的过度估计问题。通过将选择动作和评估动作的过程分离,使用两个不同的Q网络,Double DQN能够减少过度估计,从而提高学习性能。尽管如此,该方法也可能导致低估问题,引发了对无偏Q-learning的思考。
摘要由CSDN通过智能技术生成

double dqn report

@(paper reading)

Double DQN (https://arxiv.org/abs/1509.06461)


Thrun & Schwartz (1993) 在那个古老的年代就已经指出Q-learning中存在过度估计 (overestimation)问题。因为DQN本质上是基于Q-learning的,那么DQN中也一定存在过度估计的问题,并且一定程度上会影响DQN的性能。

由此,作者提出了Double DQN。由下表可以看到,相比Nature DQN,Double DQN的性能得到了进一步提升。
这里写图片描述


什么是overestimation?

这种现象是由Q-learning中的max操作带来的。

可以通过假设的一个例子来理解这个问题:

假设当前状态下,对于所有动作,它们实际的return value都应当是0。但是因为估计必定存在误差,所以一些动作可能返回正值,而另一些动作可能返回负值 (这里不妨假设为+0.5及-0.5)。Q-learning中用Q function返回估计值,为当前状态下的所有动作计算估计值,并选择拥有最大Q值的动作。那么问题就来了,这个最大值是+0.5,而不是0,并且每一步(在每个状态下)都会出现这个问题。这也就是Q-learning中的overestimation。随着迭代的进行,这种overestimation可能会导致策略逐渐变为一个次优解。


Double DQN

结合double q-learning的目的在于减少overestimation。

其基本思想为:将target Q中选择和评估动作分离,让它们使用不同的Q网络。

nature dqn中 YQtRt+1+γmaxaQ(St+1,a;θt)
double dqn中 YDoubleQtRt+1+γQ(St+1,argmaxaQ(St+1,a;θt);θt)
其中 Yt 为target,注意这两者的不同,double dqn中计算target使用了两个不同的 θ ,分别来自current q-network 以及 target q-network。current q-network负责选择动作,而带有delayed θ 的target q-network来计算target Q值。
Alt text

因为nature dqn引入了单独的target q-network,等于已经是double q了,所以double dqn在原有的架构上,基本不需要做什么改动。
至于 θ 的更新,文中说 This second set of weights can be updated symmetrically by switching the roles of θ and θ . 这里应该仍旧指每D步从current Q更新一次。

为什么将selection和evaluation分离可以减少overestimation?

这块感觉文章自己也没讲清楚。

接着上面的例子,把现在需要计算的Q function叫做Q1。如果用另一个同样有噪声问题的Q2来选择动作,带入到Q1中去,留意上面的等式,这里的Q1并没有取max的操作,所以得到的结果可正可负,平均下来就会接近于0,得到一个相对无偏的结果。


存在问题

overestimation是个老问题,但是显然之前都没有意识到它是这么common and severe,故而double dqn是一次比较大的提升。

然而,虽然这篇文章里没有提到,但作者在他10年的double q-learning一文里表示,double q-learning虽然能有有效降低overestimation的问题,但是有时也会导致underestimation。

double DQN会不会反而导致underestimation的出现?有没有可能实现一种unbiased q-learning?


ps: 为什么编辑的公式后面会有个竖线??

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值