趋近智
标准Q学习及其深度学习扩展DQN,存在高估动作价值的倾向。这是因为其更新规则涉及对可能存在噪声或不准确的Q值估计进行最大化操作。标准DQN的目标值计算如下:
ytDQN=rt+γa′maxQθ′(st+1,a′)在这里,目标网络 θ′ 用于两个目的:首先,选择在下一状态 st+1 中被认为能产生最高Q值的动作 a′;其次,评估所选动作的Q值。如果目标网络恰好高估了任何动作 a′ 的价值,则 max 操作符很可能会选择那个被高估的值,从而导致目标值 ytDQN 出现正向偏差。这种持续的高估会通过学习过程传播,可能导致次优策略收敛和不稳定。
双重DQN(DDQN),由Hado van Hasselt、Arthur Guez和David Silver于2015年提出,提供了一种巧妙的方法来缓解这种高估偏差。它的核心思想是将最佳下一动作的选择与其价值的评估分离。DDQN不使用同一个网络(目标网络)来完成这两项任务,而是使用两个不同的网络。
具体而言,DDQN如下修改了目标值的计算:
将此与标准DQN目标值仔细比较。在DQN中,argmax 和价值估计都完全依赖于目标网络 Qθ′。在DDQN中,argmax 使用在线网络 Qθ,而价值估计则使用目标网络 Qθ′。
在线网络 θ 和目标网络 θ′ 表示不同的参数集合(回想一下,θ′ 通常是 θ 的延迟副本)。尽管两个网络都可能产生估计误差,但两个网络同时高估同一动作价值的可能性较小。
通过使用在线网络选择动作 (a∗=argmaxa′Qθ(st+1,a′)),我们仍然选取当前策略认为最佳的动作。然而,随后使用目标网络评估该特定动作的价值 (Qθ′(st+1,a∗)),我们得到了一个偏差可能更小的估计。如果在线网络错误地选择了一个被 Qθ 高估但未被 Qθ′ 明显高估的动作,那么产生的目标值 ytDDQN 将比 ytDQN 的膨胀程度更小。这有助于打破高估的正向反馈循环。
下面的图表说明了DQN与DDQN在目标值计算方式上的差异。
目标值计算流程的比较。DQN仅使用目标网络来选择最大价值动作并评估其价值。DDQN使用在线网络选择动作,并使用目标网络评估所选动作。
实现DDQN仅需对标准DQN的实现进行少量修改。您无需计算下一状态的 max(target_q_values),而是需要:
argmax 找出使这些在线Q值最大的动作 a∗。DQN的其余机制,包括经验回放和目标网络的定期更新,保持不变。DDQN增加的计算开销通常可以忽略不计,因为它主要是在目标值计算步骤中额外进行一次在线网络的前向传播,这通常比梯度更新的反向传播成本低得多。
通过降低高估偏差,DDQN通常能带来更稳定的训练,并且与原始DQN算法相比,可以收敛到更好的策略,使其成为深度强化学习中一项重要且被广泛使用的改进。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造