TARGET
读完后,你能从固定策略 Bellman 方程推到 SARSA,并解释它与 Q-learning 的差别不是一行代码那么简单。
| 理解目标 | 算法原理 | 应用判断 |
|---|---|---|
| SARSA 名称与数据流 | State–Action–Reward–State–Action:一次更新明确需要实际采到的 a′。 | 代码中下一动作必须在更新前按行为策略采样。 |
| On-policy 的精确定义 | 行为策略 μ 与被评估的目标策略 π 是同一条 ε-greedy 策略。 | 探索本身的风险被写进 value;安全敏感的在线行为常在意这一点。 |
| 与 Q-learning 的 target 分叉 | Q(s′,a′) 对比 max Q(s′,·)。 | 分清“实际会怎样走”和“若未来完美贪心会怎样走”。 |
1 · WHICH VALUE IS SARSA TRYING TO LEARN?
它估的不是 Q*,而是当前行为策略的 Qπ。
固定策略 π 下,动作价值满足 Bellman expectation equation:
若 π 是 ε-greedy,未来偶尔探索到坏动作的风险也进入 Qπ。这并不是算法保守,而是对实际执行机制的如实估值。
2 · FROM EXPECTATION TO SARSA SAMPLE
把下一动作也真实采出来,就得到名称中的最后一个 A。
一次在线交互按顺序产生 s→a→r→s′→a′。其中 a 和 a′ 都从同一行为策略 π(常为 ε-greedy)采样。用该实际样本替代上式期望:
Q(st,at) ← Q(st,at) + α[targetSARSA − Q(st,at)]这是一份 Bellman expectation target 的样本。注意 a′ 是已经按 π 实际抽到的动作,而非“Q 最大的假想动作”。
3 · ONE CLIFF, TWO OBJECTIVES
悬崖行走不是“谁更聪明”的故事,而是两个不同的未来假设。
想象最短路紧贴悬崖。每步 −1,掉下去 −100;训练时 ε=0.1,意味着偶尔会随机走错。来到悬崖边的状态 B:safe 会绕远,risky 走近路。
| 算法 | 在 B 后如何构造 future | 对训练中的随机失手是否定价 | 常见学到的路径 |
|---|---|---|---|
| SARSA | 采实际 ε-greedy 的 a′,它可能是安全动作也可能是随机失手。 | 是。未来会探索的风险降低贴崖路线的 Q。 | 通常更安全、更远的路。 |
| Q-learning | 取 max Q(B,·),假设未来总能贪心走对。 | 否。target 忽略实际 a′ 的探索风险。 | 通常更短、贴崖的 greedy 目标路。 |
若部署时也会持续 ε-greedy,SARSA 的估值更贴近实际行为;若训练后关闭探索并追求最优 greedy 策略,Q-learning 的目标更直接。问题先是“要评价哪条策略”,不是先选算法名。
4 · PSEUDOCODE AND INVARIANT
SARSA 必须携带下一动作进入下一轮;这不是写法偏好。
initialize Q(s, a)
for each episode:
s = reset()
a = epsilon_greedy(Q[s], epsilon) # first A
while not terminal:
s_next, r, terminated = step(a)
if terminated:
target = r
Q[s, a] += alpha * (target - Q[s, a])
break
a_next = epsilon_greedy(Q[s_next], epsilon) # actual A′
target = r + gamma * Q[s_next, a_next]
Q[s, a] += alpha * (target - Q[s, a])
s, a = s_next, a_next # carry A′ forward
| 不变量 | 为何必要 | 破坏后会变成什么 |
|---|---|---|
| target 使用的 a′ 与下一循环实际执行的 a 是同一动作。 | 保证更新确实评估行为策略 π。 | 若 target 用 max 而执行 ε-greedy,就变为 Q-learning 式 off-policy。 |
| terminal 时没有 a′。 | 终止后 future return=0。 | 错误采样 terminal 的动作会把虚构 Q 泄漏进 target。 |
| ε 影响所有未来样本动作。 | Qπ 随 π 改变;改变 ε 就是在改变估值对象。 | 把不同 ε 收集的数据混作同一 on-policy 目标,解释会变模糊。 |
5 · CONVERGENCE AND LIMITS
理论保证描述的是表格、充分探索、逐步贪心的极限,不是任意训练曲线。
在有限 MDP、适当步长和充分访问的 tabular 条件下,SARSA 对固定策略可做 TD policy evaluation。用于控制时,常讨论 GLIE(Greedy in the Limit with Infinite Exploration):每个 state-action 持续被访问,同时行为策略逐渐变得 greedy。直觉上,早期探索收集证据,长期探索率趋零使被评估的策略靠近最优策略。
| 边界 | 为什么会出问题 | 应如何报告 |
|---|---|---|
| ε 固定不降 | 算法在持续评估带随机失手的策略,最终性能不等于纯 greedy 最优。 | 分别报告训练 ε 与 ε=0 评估。 |
| ε 太快归零 | 覆盖不足,早期偶然 Q 排名会被锁定。 | 给动作访问计数与 ε schedule 消融。 |
| 函数近似 | 共享参数和 bootstrap 破坏简单表格分析。 | 不能把 GLIE 结论直接声称到神经网络。 |
| 非平稳环境 | 目标策略和转移都在变,旧 Q 不再代表同一对象。 | 解释固定 α、持续探索作为适应性选择的代价。 |
SELF-CHECK
能回答这些,才真正分清了 SARSA 与 Q-learning。
01 · SARSA 是 off-policy 吗?
标准 SARSA 是 on-policy:它用行为策略实际选择的 a′ 构造 target,因此它学习的正是这条行为策略的 Qπ。
02 · 若 a′ 恰好是 greedy 动作,两者本次更新相同吗?
若 Q(s′,a′)=max Q(s′,·),则 target 数值相同;差异在于 SARSA 未来也可能采到非 greedy a′,长期平均 target 不同。
03 · 为什么 SARSA target 不显式写 Σπ(a′|s′)?
它采样一个实际 a′ 作为这层策略期望的样本。Expected SARSA 则直接计算 Σa′π(a′|s′)Q(s′,a′)。
NEXT