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