趋近智
当我们训练一个神经网络来估算Q值时,更新过程中存在一个潜在的不稳定性问题。Q学习中更新的基本设想,正是它激发了DQN的损失函数,其目标是迭代地调整Q值使其更接近某个目标值。我们希望由权重 θ 参数化的Q网络能够预测一个值 Q(St,At;θ),使其更接近目标值,目标值通常这样计算:
yt≈Rt+1+γa′maxQ(St+1,a′;θ)这里请注意一个重要之处:权重 θ 出现在这个隐式方程的两边。我们正在调整 θ,以便使 Q(St,At;θ) 与一个也依赖于 θ 的目标匹配。
试想您正尝试学习到一个特定点的距离,但每当您进行一次测量并调整您的估计时,该点本身就会根据您的调整而略微移动。这使得收敛变得困难。类似地,在带有神经网络的标准Q学习中,每个梯度更新步骤都会改变权重 θ。这反过来又会改变下一个状态 St+1 的Q值,从而在网络收敛到先前目标之前,有效地转移了目标 yt。
这种“移动目标”问题可能在训练过程中导致振荡和发散。网络可能难以确定准确的Q值,因为它试图预测的值会因学习过程本身而持续变化。这种不稳定性是早期将深度学习与强化学习结合时的一个重要障碍。
为解决这种不稳定性,DQN算法引入了一种巧妙的方法:使用一个单独的目标网络。主要思想是使用一组固定的参数来计算目标值 yt,这些参数不会立即更新。
它的工作方式如下:
我们维护两个神经网络:
当计算损失函数的TD目标时,我们使用目标网络:
yt=Rt+1+γa′maxQ(St+1,a′;θ−)重要的是,这里使用的权重 θ− 在一段时间内是保持不变的。
然后使用在线网络的预测和这个稳定的目标来计算损失函数:
L(θ)=E(St,At,Rt+1,St+1)∼D[(yt−Q(St,At;θ))2] L(θ)=E(St,At,Rt+1,St+1)∼D[((Rt+1+γa′maxQ(St+1,a′;θ−))−Q(St,At;θ))2]只有在线网络的权重 θ 会根据损失 L(θ) 的梯度进行更新。目标网络的权重 θ− 不会被这个梯度步骤修改。
这使得目标计算与正在积极更新的权重分离,从而提供一个更稳定的学习信号。
此图显示了使用在线网络和目标网络的DQN训练过程。目标网络(θ−)为损失计算提供稳定的目标,而在线网络(θ)通过优化进行更新。权重会定期从在线网络复制到目标网络。
如果目标网络的权重 θ− 从未改变,在线网络 θ 将会追逐一个越来越过时的目标。因此,我们需要定期更新 θ−,以反映在线网络所取得的进展。
一种常用且有效的策略是执行硬更新: 每隔 C 个训练步骤(其中 C 是一个超参数,通常为数百或数千步),将权重从在线网络复制到目标网络:
θ−←θ在这些更新之间,θ− 保持固定。这种定期更新确保目标网络缓慢跟踪已学习的策略,提供稳定性,而不会完全静止。C 的选择涉及一种权衡:较小的 C 使目标更快地跟踪在线网络(可能重新引入一些不稳定性),而较大的 C 提供更高的稳定性,但如果目标变得过于过时,可能会减慢学习速度。
注:另一种方法是“软更新”或波利亚克平均,其中目标权重在每一步都轻微更新:θ−←τθ+(1−τ)θ−,其中 τ≪1。这提供了更平滑的更新,但增加了一个额外的超参数 τ。为求简单,我们通常从硬更新开始。
使用目标网络提供以下几点益处:
目标网络与经验回放配合使用效果良好。经验回放打破了从环境中抽取到的连续样本之间的时间关联,而目标网络则打破了网络当前估计 Q(St,At;θ) 与目标值 yt 之间的关联。这两种方法(经验回放和目标网络)共同对原始DQN算法的成功起到了非常重要的作用,并且在许多深度强化学习实现中仍然是标准实践。它们为深度神经网络有效学习强化信号提供了所需的稳定性。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造