趋近智
深度Q网络(DQN)将Q学习与深度神经网络,以及经验回放和目标网络等技术结合,使智能体能够在高维状态空间中高效学习。然而,DQN中使用的标准Q学习更新可能会遇到一个主要问题:Q值过高估计。
回顾标准DQN中,针对转移(St,At,Rt+1,St+1)的目标值(Yt)计算:
YtDQN=Rt+1+γa′maxQ(St+1,a′;θt−)这里,θt−代表目标网络的参数。在线网络参数θt的更新旨在最小化Q(St,At;θt)与此目标YtDQN之间的损失。
问题在于目标计算中的maxa′操作。目标网络估算的Q值(Q(St+1,a′;θt−))本身是对真实动作值的带有噪声的近似。当我们从这些带有噪声的估计中取最大值时,我们更有可能选择一个被高估的值,而不是一个被低估的值。设想有几个动作,它们的真实值相近;由于噪声,有些估计会高于其他估计。max操作符将持续选择这些较高、可能被高估的值。这种系统性的正偏差会在学习过程中传播,导致过于乐观的值估计、训练期间的不稳定性以及潜在的次优策略。
双重深度Q网络(DDQN),由Hado van Hasselt, Julià Ghesu, Matej Horgan, Maurice Wiering和David Silver提出,通过在计算目标时,将最优动作的选择与该动作值的评估分离开来,直接解决了这个过高估计问题。
DDQN不使用目标网络θt−同时进行最大化动作的选择和Q值的评估,而是使用在线网络θt来为下一个状态St+1选择最优动作,然后使用目标网络θt−来评估该特定所选动作的Q值。
DDQN中的目标值计算变为:
YtDDQN=Rt+1+γQ(St+1,arga′maxQ(St+1,a′;θt);θt−)让我们分解一下:
标准DQN和双重DQN(DDQN)中目标值计算流程的比较。DDQN使用在线网络进行动作选择(argmax),并使用目标网络评估所选动作的值。
在线网络(θt)和目标网络(θt−)是不同的参数集(目标网络通常是在线网络的定期更新副本)。虽然两个网络都可能对某些动作存在噪声和潜在的过高估计,但两个网络同时高估同一次优动作值的可能性较小。
如果在线网络选择动作a∗是因为其估计Q(St+1,a∗;θt)当前被高估,那么目标网络对该同一动作的估计Q(St+1,a∗;θt−)可能更接近真实值(或者至少,高估程度较轻)。通过使用目标网络对在线网络所选动作的值,DDQN减少了将最大可能过高估计传播到目标值Yt中的机会。这会带来更保守和更准确的值估计。
如果你已经有一个DQN实现,那么DDQN的实现非常直接。唯一需要的更改是修改训练循环中目标值Yt的计算方式。你仍然需要经验回放以及独立的在线网络和目标网络。
DDQN的主要优势是:
因为修改简单,并且优势在许多领域都显著且一致,DDQN被认为是原始DQN算法的一种标准改进,并常被用作默认选择或基线。它代表了完善基于值的方法在深度强化学习中的重要一步。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造