AtPoint's Blog
Hero Image
Blur image

时序差分 (TD) 学习概述#

动机: 结合动态规划 (DP) 与蒙特卡洛 (MC) 的优点

  • DP: 利用 自举 (Bootstrapping),即基于其他状态的 估计值 来更新当前状态的估计值 (例如,V(St)E[Rt+1+γV(St+1)]V(S_t) \leftarrow \mathbb{E}[R_{t+1} + \gamma V(S_{t+1})])。但它需要知道环境的 完整模型
  • MC: 无模型,直接从 完整经验片段 的最终 实际回报 GtG_t 中学习 (例如,V(St)V(St)+α[GtV(St)]V(S_t) \leftarrow V(S_t) + \alpha[G_t-V(S_t)])。它不使用自举,必须等待片段结束。
  • TD 学习: 旨在融合两者的长处
    • 无模型 (Model-Free): 像 MC 一样,直接从经验中学习,无需环境模型 P,R\mathcal{P}, \mathcal{R}
    • 自举 (Bootstrapping): 像 DP 一样,更新当前状态 StS_t 的价值时,会使用 后续状态 St+1S_{t+1} 的当前价值估计 V(St+1)V(S_{t+1}),而 不需要等到片段结束

核心思想: TD 学习在智能体与环境交互的每一步之后,利用观测到的 即时奖励 Rt+1R_{t+1}下一状态 St+1S_{t+1} 的当前价值估计 V(St+1)V(S_{t+1}) 来构建一个 目标值 (TD Target)。然后,用这个目标值来更新当前状态 StS_t 的价值估计 V(St)V(S_t)

TD(0) 更新规则 (最简单的 TD 算法):

V(St)V(St)+α[Rt+1+γV(St+1)TD 目标 (TD Target)V(St)]TD 误差 (TD Error) δtV(S_t) \leftarrow V(S_t) + \alpha \underbrace{\Big[ \overbrace{R_{t+1} + \gamma V(S_{t+1})}^{\text{TD 目标 (TD Target)}} - V(S_t) \Big]}_{\text{TD 误差 (TD Error) } \delta_t}
  • TD 目标 (TD Target): Rt+1+γV(St+1)R_{t+1} + \gamma V(S_{t+1})。这是对未来总回报 GtG_t 的一个估计,它仅使用了一步的真实奖励 Rt+1R_{t+1} 和一步之后状态的价值估计 V(St+1)V(S_{t+1})
  • TD 误差 (TD Error) δt\delta_t: δt=Rt+1+γV(St+1)V(St)\delta_t = R_{t+1} + \gamma V(S_{t+1}) - V(S_t)。它衡量了当前价值估计 V(St)V(S_t) 与基于下一步信息的“更好”的估计 (TD 目标) 之间的差异,可以看作是对当前价值的一个调整信号。

TD 学习的特点: 自举与采样 (Bootstrapping and Sampling)

  • 采样 (Sampling): 更新是基于智能体实际经历的转移 (St,At,Rt+1,St+1S_t, A_t, R_{t+1}, S_{t+1}),而不是像 DP 那样考虑有可能的后续状态和奖励。
  • 自举 (Bootstrapping): 更新的目标值中包含了 当前的价值估计 V(St+1)V(S_{t+1}),而不是像 MC 那样依赖最终观测到的完整回报 GtG_t

学习内容: 接下来我们将介绍 TD 如何用于策略评估 (TD 预测) 和策略改进 (TD 控制)。

TD 预测 (TD Prediction)#

目标: 在给定策略 π\pi 的情况下,估计其状态价值函数 vπv_\pi

TD(0) 算法 (用于估计 vπv_\pi):

输入: 需要评估的策略 π
算法参数: 步长 α ∈ (0, 1]
初始化:
  对于所有状态 s ∈ S⁺ (S⁺ 是包含终止状态的状态集):
    V(s) ← 任意值 (例如 V(s)=0)
  V(终止状态) ← 0

循环 对每个 episode:
  初始化 S (该 episode 的第一个状态)
  循环 对 episode 中的每一步:
    A ← 根据策略 π 在状态 S 选择的动作
    执行动作 A, 观察得到奖励 R 和下一状态 S'
    // TD 更新
    V(S) ← V(S) + α * [R + γ * V(S') - V(S)]
    S ← S' // 转移到下一状态
  直到 S 是终止状态
plaintext

主要特点: TD(0) 算法在 每一步 交互后都进行价值更新,无需等待一个 episode 结束。这使得 TD 学习非常适合 在线 (Online) 学习场景。

TD 与 MC 的比较: 性质与权衡#

TD 和 MC 作为无模型学习方法,各有优势:

  • 更新时机与数据需求:
    • TD可 在线学习,每步更新;MC 需等待 episode 结束才能更新 (离散更新)。
    • TD 能从 不完整 的 episode 中学习;MC 必须基于完整的 episode。
    • TD 天然适用于 连续性任务 (无终止状态);MC 主要用于 分幕式任务
  • 偏差与方差 (Bias vs Variance): 这是两者最核心的区别之一。
    • MC 目标 (GtG_t): 是 vπ(St)v_\pi(S_t)无偏 (Unbiased) 估计。因为 GtG_t 是从 tt 时刻开始实际获得的总回报,其期望就是 vπ(St)v_\pi(S_t)。但 GtG_t方差较高,因为它受到从 tt 到片段结束所有的随机因素 (动作选择、状态转移、奖励) 的影响。
    • TD(0) 目标 (Rt+1+γV(St+1)R_{t+1} + \gamma V(S_{t+1})): 是 vpi(St)v_pi(S_t)有偏 (Biased) 估计。因为目标中使用的 V(St+1)V(S_{t+1}) 本身就是当前的估计值,可能并不准确。然而,这个目标的 方差较低,因为它只依赖下一个时间步的随机性 (Rt+1,St+1)R_{t+1}, S_{t+1}))。
  • 总结:
    • MC: 高方差,零偏差。对初始值不敏感。
    • TD: 低方差,有偏差。通常比 MC 学习效率更高 (收敛更快),但对初始值比较敏感。
  • 对马尔可夫性质的利用:
    • TD 隐式地利用了马尔可夫性质,它假设状态 St+1S_{t+1} 的价值 V(St+1)V(S_{t+1}) 足够概括未来信息。在满足马尔可夫性的环境中,这种假设有助于提高概率。
    • MC 不做此假设,它直接使用实际发生的完整回报序列。这使得 MC 在 非马尔可夫环境 下可能比 TD(0) 更稳健。
  • 批量学习 (Batch Learning) 下的行为差异:
    • 当使用一个固定的、有限的经验数据集进行学习时:
      • 批量 MC 收敛到的价值函数,能最小化训练数据中
RL学习笔记(6): 时序差分学习
https://atpoint.top/blog/rl-notes/6
Author 安汀
Published at May 24, 2026