上一章的 Bellman 方程告诉我们“价值应该满足什么关系”,但实际训练时,环境转移概率通常没有直接交给我们。能拿到的是一条条 。这一章讨论怎样把这些样本变成价值更新。
主线分两段:先固定策略,学习它的 ;再用动作价值 改进决策。不要把“评价现有策略”和“求最优策略”混在一次公式替换里。
一、更新的共同骨架:估计向目标走一点
表格价值更新可以统一写成
其中 是学习率, 是本次训练目标。难点主要不是减法,而是目标由什么构成、它在估计哪一个策略。
下面继续使用两步任务: 选 forward 得到 ,到 后得到 并真正终止,。先固定采样策略,假设当前估计 ,学习率 。
二、Monte Carlo:等完整回报揭晓
MC 的目标是这次真正终止的完整轨迹回报:
两步 forward 轨迹上,,因此
MC 不从旧 推测未发生的尾部,它等待奖励序列本身。固定策略、完整 on-policy 回合且回报可积时,条件于当前状态的采样回报是 的无偏样本;一次回报仍可能很不典型,需要多次采样。
特别注意:当前策略也可能采到 stop 路径,此时目标是 1。若策略各以 选择两条路径,目标平均才是上一章的 。这次 forward 的目标 2.6 不是这个混合策略的状态价值。
三、TD(0):用下一状态的估计提前更新
一步时序差分目标为
这里 表示能否从这次转移抵达的状态继续估值;真正终止时取 0,正常继续时取 1。 强调使用 reset 前的后继状态,而非下一局初始状态。
在 forward 第一步,,所以
这个目标没有等到最终的 ,而是先相信当前的 。这就是 bootstrap:用已有估计构造新的估计目标。随后在 真正终止,目标为 4,可把 从 3 更新为 3.1;未来再次访问 时,改进后的下一状态估计就会向前传播。
MC 的目标包含整段未来随机性,TD 的目标依赖一个可能不准的估计。常见直觉是前者方差较大、后者通常较低但有 bootstrap 误差;这不是适用于所有任务和分布的严格大小排序。一次目标有偏,也不等于算法必然不能收敛:表格 TD 的收敛需要固定策略、足够访问及合适步长等条件。
四、n-step:让真实奖励多走几步再接估计
如果接下来 步没有越过终止边界:
若在这之前真正终止,则只累加到终止,去掉 bootstrap 尾项。 对应 TD(0);在完整终止回合上一直累加到末尾,就得到 MC 目标。两步任务的二步目标正好是 2.6。
这条连续谱为下一章的 GAE 做准备:不只选一个固定步数,也可以把不同长度的证据加权组合。长片段能减少对近端错误价值的依赖,但也会包含更多随机奖励,数据等待与计算方式也不同。
五、为什么 terminated 和 truncated 不能都当“未来为零”
环境需要 reset,并不总意味着任务的长期价值为零。
| 边界 | 语义 | 是否 bootstrap | 是否跨 reset 传播 |
|---|---|---|---|
| 正常转移 | 当前任务继续 | 是 | 同一轨迹可继续 |
| 真正终止 | 任务定义中的成功、失败或结束 | 否 | 否 |
| 外部时间截断 | 采样器提前停下,原任务仍可继续 | 是,用截断前的 final observation | 否 |
| rollout buffer 收满 | 只是这批数据存够了 | 是,用最后状态 | 本批反向计算到这里停止 |
假设这一步 :真正终止的目标是 2;外部时间截断的目标是 6.5。如果把后者错误清零,就系统性低估边界附近的价值。
时间耗尽也有两种含义。 如果“必须在 10 秒内完成”就是任务定义的一部分,时间耗尽可是真正终止;为了保持马尔可夫性,剩余时间应纳入充分状态,策略需要时也应可观测。不能把所有 timeout 都解释成外部截断。
下面的伪代码只展示 bootstrap 语义:
# final_next_state 是本次 transition 的真实后继,不是自动 reset 后的新起点。 |
不同库有不同自动 reset 与 final-observation 接口,必须读使用版本的 API。这个边界在 GAE 中还需要第二个 mask,下一章展开。
六、从评价 V 走到控制 Q
只有 ,还需要模型才能直接比较“选某个动作之后会去哪”。学习 后,就能用同一状态下的动作价值选择动作。常见探索方法是 -greedy:以 选当前最大 动作,以 在动作集中随机采样。探索用于发现尚未见过的结果,不是保证机器人实机试错安全。
SARSA:沿着实际行为策略备份
采到 ,且 是下一步实际按行为策略选择的动作:
真正终止时去掉后项。若行为含随机探索,目标会把“之后也可能探索到较差动作”这件事计入价值。
Q-learning:对下一步的贪心目标备份
采样行为可以仍然在探索,但这一步目标以未来贪心选择为基础。给定 ,如果探索实际选择第二个动作:
差别不是谁把减法算对了,而是在评价哪一种后续行为。SARSA 与 Q-learning 的表格收敛结论都有访问覆盖、步长及策略变化等条件;固定不衰减的学习率、不断变化的环境和深网逼近不自动满足这些定理。
七、on-policy / off-policy 到底在分什么
- 行为策略产生数据;目标策略是正在评价或改进的对象。
- 二者对齐,称 on-policy;允许不同,称 off-policy。SARSA 是典型的 on-policy 例子,Q-learning 是典型的 off-policy 例子。
- 这不是“在线训练/离线训练”的同义词,也不能只通过有没有 replay buffer 判断。
- Actor–Critic 是 actor 与 critic 的结构分工,不等于一种固定的数据使用方式;它可以是 on-policy,也可以是 off-policy。
当状态多到无法建表,改用神经网络 ,常见损失是预测与冻结目标间的均方误差。函数逼近、bootstrap、off-policy 三者组合可能导致不稳定,不能从表格更新式直接推断深网一定收敛。DQN 的 replay buffer 和 target network 是工程稳定机制;理解基础后再看完整算法,别把一行 Q-learning 当作 DQN 全部。
参考与下一步
- Sutton 与 Barto 第二版,第 5–7 章:MC、TD 与多步 bootstrap;第 11 章讨论 off-policy 函数逼近。
- Gymnasium 官方:Handling Time Limits:终止与截断的区别。
- Pardo 等,Time Limits in Reinforcement Learning:任务内时间限制与外部采样截断。
- 下一章:连续动作如何通过策略梯度改进,并走到 PPO。