时序差分:TD(0)、SARSA 与 Q-learning
TD 用 作为目标,结合了 DP 的自举与 MC 的采样。SARSA 是 on-policy 控制,Q-learning 是 off-policy 控制。本章比较两者的行为差异(悬崖行走),并介绍 TD(λ) 与资格迹。
TD(0):自举的采样更新
Section titled “TD(0):自举的采样更新”时序差分(TD)学习对 MC 的两个痛点(必须等回合结束、方差大)做了一处改动:不等真实回报,用当前估计构造目标。每走一步就更新:
括号里的差叫 TD 误差。目标 中的 是估计值而非真实值——这叫自举(bootstrapping)。TD 因此结合了两大传统:像 MC 一样用采样(不需模型),像 DP 一样自举(用估计更新估计)。
偏差换方差:目标依赖 的准确度,所以 TD 有偏;但目标只包含一步随机性,方差远小于累积整条轨迹的 MC 回报。TD 可以在线更新(每步都学),且对无终止的持续任务天然适用。三个方法同框对比:
| 需要模型 | 自举 | 需要回合结束 | 偏差 | 方差 | |
|---|---|---|---|---|---|
| 动态规划 | 是 | 是 | 否 | 无 | 无(确定性) |
| 蒙特卡洛 | 否 | 否 | 是 | 无 | 高 |
| TD(0) | 否 | 是 | 否 | 有 | 低 |
SARSA 与 Q-learning
Section titled “SARSA 与 Q-learning”控制版本的区别在于目标里用的是哪个动作:
SARSA(on-policy):目标用实际执行的下一动作 ,名字来自更新所需的五元组 :
它评估的是"当前探索性策略"的价值——包括 -greedy 的随机性本身。
Q-learning(off-policy):目标对下一动作取最大,与实际执行什么无关:
它直接逼近 ,行为策略可以是任何保证探索的策略。表格情形下两者都在温和条件下收敛。
悬崖行走:一个策略的两种性格
Section titled “悬崖行走:一个策略的两种性格”Cliff Walking 是两者差异的标准实验:网格世界里有一条奖励为 的悬崖,起点到终点之间。两种策略用同样的 -greedy 行为、同样的 :
- Q-learning 学到贴着悬崖边的最优路径——它学的是最优策略的价值,而探索时踩悬崖的代价不计入目标;
- SARSA 学到绕远但安全的路径——它把探索本身的期望代价( 概率踩悬崖)也计入了价值。
两者都没有错,只是评估的对象不同:Q-learning 评估最优策略,SARSA 评估"当前这个会探索的策略"。哪个更好取决于部署时是否还保持探索。这个直觉在深度时代仍然成立,也是"训练时探索、执行时贪心"这一默认安排能自洽的原因。
TD(λ) 与资格迹
Section titled “TD(λ) 与资格迹”TD(0) 与 MC 是一个谱系的两端:前者只看一步,后者看整条回合。TD(λ) 用资格迹(eligibility traces)在两者之间插值。前向视角:目标是所有 步回报的几何加权平均;后向视角:每个状态维护一个随时间指数衰减的资格迹 ,TD 误差到达时按资格迹加权更新:
其中 是 TD 误差。 退化为 TD(0), 近似 MC(且每步在线更新)。资格迹在深度时代以 GAE 的形式成为标配(→ Actor-Critic 与 GAE),在分布式采样中以 V-trace 的形式修正 off-policy 数据(→ 向量化环境与分布式采样)。
从表格到深度
Section titled “从表格到深度”把 从表格换成神经网络,就得到 DQN——但这一步引入了致命三要素(函数逼近 + 自举 + off-policy),Q-learning 从"必然收敛"变成"经常发散"(→ 第三卷)。表格 TD 在此的价值是提供干净的参照系:DQN 的每一处设计(回放、目标网络)都是在弥补逼近引入的问题。
- TD 有偏但低方差,可在线更新
- Q-learning 学最优策略但执行时可能更危险
- λ 在 MC(λ=1)与 TD(0) 之间插值