RL-03-05-算法-时序差分

← 上级:RL-03.算法分类与选型 · 前置:RL-03-04-算法-蒙特卡洛 · 前置:RL-03-02-算法-Q-Learning

时序差分(Temporal Difference,TD)用一步(或多步)Bootstrap 目标更新价值估计:无需等 episode 结束,可每步在线学习。Q-Learning、SARSA、DQN、PPO 中的 GAE 等均建立在 TD 思想之上。

段末注释:时序差分(Temporal Difference,TD)指用当前价值估计构造目标、逐步修正的 RL 更新范式;后文沿用 TD


一、TD 核心:Bootstrap

蒙特卡洛目标:完整回报 $G_t$(无偏、高方差)。
TD 目标:$R_{t+1} + \gamma V(S_{t+1})$(有偏、低方差)。

$$
V(S_t) \leftarrow V(S_t) + \alpha \left[ \underbrace{R_{t+1} + \gamma V(S_{t+1})}_{\text{TD 目标}} - V(S_t) \right]
$$

TD 误差

$$
\delta_t = R_{t+1} + \gamma V(S_{t+1}) - V(S_t)
$$

「差分」即预测 $V(S_t)$ 与一步后继目标之差。


二、TD(0) 预测

在固定策略 $\pi$ 下估计 $V^\pi$:

步骤 操作
1 在 $S_t$ 按 $\pi$ 执行 $A_t$,观测 $R_{t+1}, S_{t+1}$
2 $\delta_t = R_{t+1} + \gamma V(S_{t+1}) - V(S_t)$
3 $V(S_t) \leftarrow V(S_t) + \alpha \delta_t$

收敛(表格、适当 $\alpha$):$V \to V^\pi$。


三、TD 控制:SARSA 与 Q-Learning

对 $Q(s,a)$ 的 TD(0) 更新:

SARSA(On-Policy):

$$
Q(S_t,A_t) \leftarrow Q + \alpha \left[ R_{t+1} + \gamma Q(S_{t+1}, A_{t+1}) - Q(S_t,A_t) \right]
$$

Q-Learning(Off-Policy):

$$
Q(S_t,A_t) \leftarrow Q + \alpha \left[ R_{t+1} + \gamma \max_{a’} Q(S_{t+1},a’) - Q(S_t,A_t) \right]
$$

详见 SARSAQ-Learning。二者是 TD 控制在 Q 函数上的两种策略绑定方式


四、n-step TD

$n$ 步回报 + Bootstrap:

$$
G_t^{(n)} = R_{t+1} + \gamma R_{t+2} + \cdots + \gamma^{n-1} R_{t+n} + \gamma^n V(S_{t+n})
$$

$$
V(S_t) \leftarrow V(S_t) + \alpha \left( G_t^{(n)} - V(S_t) \right)
$$

$n$ 行为
$n=1$ TD(0)
$n$ 中等 偏差–方差折中
$n \to \infty$ 接近 MC

Rainbow DQN 使用 multi-step return;PPO 的 GAE 可看作在优势估计上的 $\lambda$-return 推广。


五、TD($\lambda$) 与资格迹

多步信用分配的紧凑实现:资格迹 $e(s,a)$ 标记近期访问:

$$
e(s,a) \leftarrow \gamma \lambda , e(s,a) + \mathbf{1}(S_t=s, A_t=a)
$$

$$
Q(s,a) \leftarrow Q(s,a) + \alpha , \delta_t , e(s,a)
$$

$\lambda$ 含义
$\lambda = 0$ TD(0)
$\lambda = 1$ 接近 MC(配合迹衰减)
$0 < \lambda < 1$ 在步数上插值

数据结构见 RL-05-06-结构-资格迹


六、TD vs MC vs DP

DP MC TD
需模型 $P$
更新时机 批量 episode 末 每步
Bootstrap 用 $P$ 不用 用 $V/Q$ 估计
偏差 无(精确模型) 无偏 有偏
方差 较低

七、深度 RL 中的 TD

算法 TD 形态
DQN $y = r + \gamma \max_{a’} Q_{\bar{\phi}}(s’,a’)$
Double DQN 解耦选动作与评估
SARSA / Expected SARSA 用下一动作 Q 或期望 Q
Actor-Critic $\delta_t = r + \gamma V(s’) - V(s)$
PPO GAE($\lambda$) 多步优势

TD 误差 $\delta_t$ 是「预测错多少」的统一信号。


八、算法关系图

1
2
3
4
5
6
7
8
9
动态规划(已知 P)

TD(0) ←── n-step TD ←── MC(G_t 目标)

TD(λ) + 资格迹

SARSA(On) / Q-Learning(Off)

DQN(函数逼近 + Replay + 目标网络)

九、小结

  • TD = Bootstrap + TD 误差 $\delta_t$,可每步更新。
  • Q-Learning / SARSA 是 TD(0) 在 $Q$ 上的控制实例。
  • n-stepTD($\lambda$) 在 MC 与 TD(0) 之间插值。
  • 上一篇:蒙特卡洛 · 下一篇:DQN
-------------本文结束感谢您的阅读-------------