由于我们的目标是需要一个QQQ函数,因此可以使用神经网络来作为QQQ函数,比如超级玛丽游戏中,他的行为可以有:

  • up
  • right
  • left

那么此时我们的神经网络可以设计为:输入是某个时刻的图像(假定当时游戏的图像就是状态),该图像可以使用CNN直接提取特征,然后后续添加网络,使得输出为3个值,分别为每个行为的概率。
这样我们就实现了一个DQN,在这个过程中,TD Learning是我们在DQN中常用的优化算法


DQN 中的时序差分学习(TD Learning)

时序差分学习(TD Learning)是 深度 Q 网络(DQN)算法的核心驱动力。它为 DQN 提供了训练信号(Loss Function),使神经网络能够在没有传统标签数据的情况下自我学习,逼近最优的**动作价值函数 Q∗(s,a)Q^*(s, a)Q(s,a)

1. 从 Q-Learning 到 DQN

传统的 Q-Learning 使用一个 Q 表(Q-Table)来存储每个状态-动作对的价值。当状态空间过大或连续时,DQN 引入了深度神经网络来代替这个表格。

  • Q 网络:DQN 使用一个神经网络 Q(s,a;θ)\mathbf{Q}(s, a; \theta)Q(s,a;θ)估计 Q 值,其中 θ\thetaθ 是网络的权重(参数)。

2. TD 误差与损失函数

TD 学习的目标是最小化 时序差分误差(Temporal Difference Loss)。这个误差衡量了当前 Q 值的预测与通过贝尔曼方程得到的新 Q 值(TD 目标)之间的差距。

DQN 使用 TD 误差的平方作为其损失函数(类似于监督学习中的均方误差 MSE),并通过梯度下降来优化网络权重 θ\thetaθ

Loss(θ)=E[(Rt+γmax⁡a′Q(St+1,a′;θ−)⏟TD目标(TargetQ)−Q(St,At;θ)⏟预测Q值(CurrentQ))2]Loss(\theta) = \mathbb{E} \left[ \left( \underbrace{R_{t} + \gamma \max_{a'} Q(S_{t+1}, a'; \theta^{-})}_{{TD 目标(Target Q)}} - \underbrace{Q(S_t, A_t; \theta)}_{{预测 Q 值(Current Q)}} \right)^2 \right]Loss(θ)=E TD目标(TargetQ Rt+γamaxQ(St+1,a;θ)预测Q值(CurrentQ Q(St,At;θ) 2

3. 核心机制:TD 目标(TD Target)

TD 目标是 Q-Learning 的精髓,它利用了当前学习到的价值函数来估计一个更准确的未来价值。

对于TD Target的公式可以很容易得出,就是ttt时刻的价值函数GGG
G=Rt+γ⋅Rt+1+γ2⋅Rt+2+... G=R_t+\gamma · R_{t+1} + \gamma ^ 2 · R_{t+2} + ... G=Rt+γRt+1+γ2Rt+2+...
将后面的γ\gammaγ进行抽取,然后整理会发现后面的表达式为t+1t+1t+1时刻的价值函数,那么就有:
G=Rt+γ⋅Gt+1 G = R_t+\gamma · G_{t+1} G=Rt+γGt+1
然后为了消除后续随机性,我们对其进行求期望,就得到了上面的表达式(上面的表达式中有权重θ\thetaθ我在推导时候进行简化了而已)

TD 目标=即时奖励+γ×下一状态的最大 Q 值估计\text{TD 目标} = \text{即时奖励} + \gamma \times \text{下一状态的最大 Q 值估计}TD 目标=即时奖励+γ×下一状态的最大 Q 值估计

组成部分 符号 作用
即时奖励 Rt+1R_{t+1}Rt+1 智能体在当前步获得的实际奖励。
折扣因子 γ\gammaγ 衡量未来奖励的重要性。
最大未来 Q 值 max⁡a′Q(St+1,a′;θ−)\max_{a'} Q(S_{t+1}, a'; \theta^{-})maxaQ(St+1,a;θ) 估计下一状态 St+1S_{t+1}St+1 下,遵循最优策略能获得的最佳回报。

4. 关键的稳定化技术:固定 Q 目标(Fixed Q-Targets)

如果 TD 目标中的 Q(St+1,a′)Q(S_{t+1}, a')Q(St+1,a) 也使用正在训练的网络 θ\thetaθ 来计算,就会出现“追逐移动目标”的问题:

  • 网络 θ\thetaθ 在不断变化。
  • 目标值(Target Q)也随着 θ\thetaθ 变化。
  • 这导致训练不稳定,可能出现震荡或发散。

DQN 的解决方案是引入一个目标网络(Target Network),记为 Q−(s,a;θ−)\mathbf{Q}^{-}(s, a; \theta^{-})Q(s,a;θ),来计算 TD 目标。

  1. 目标网络 θ−\theta^{-}θ 的权重与在线网络 θ\thetaθ 相同,但它不参与梯度计算,其权重是固定的。
  2. 每隔 CCC 个训练步,才将在线网络 θ\thetaθ 的权重复制给目标网络 θ−\theta^{-}θ

通过使用稳定的 θ−\theta^{-}θ 计算 TD 目标,DQN 极大地提高了训练的稳定性和收敛性


总结来说: TD Learning 使得 DQN 能够利用当前经验Rt+1,St+1R_{t+1}, S_{t+1}Rt+1,St+1)和自身的估计max⁡Q\max QmaxQ)来生成一个虚拟的“标签”(TD 目标),然后像监督学习一样训练神经网络,不断减小预测值和目标值之间的时序差分误差。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐