Temporal-Difference(TD)Learning 同时结合了 Monte Carlo 的采样能力与动态规划的自举思想。TD(0) 不等待回合结束,而是用一步奖励和下一状态的当前估计构造目标:
V(St)←V(St)+α[Rt+1+γV(St+1)−V(St)]
其中:
δt=Rt+1+γV(St+1)−V(St)
称为 TD error。它衡量当前价值预测与一步后新预测之间的不一致。
| 方法 | 更新时机 | 目标 | 偏差与方差 |
|---|
| Monte Carlo | 回合结束 | 完整实际回报 Gt | 无自举偏差,方差较高 |
| TD(0) | 每一步 | Rt+1+γV(St+1) | 有自举偏差,方差较低 |
TD 可以处理持续任务,并能让奖励信息逐步向前传播。
一步 TD 与完整 Monte Carlo 之间可以用 n-step return 连接:
Gt:t+n=Rt+1+γRt+2+⋯+γn−1Rt+n+γnV(St+n)
更新为:
V(St)←V(St)+α[Gt:t+n−V(St)]
n 越大,使用的真实奖励越多,自举越少;n 越小,更新越及时但更依赖当前估计。
λ-return 对不同步数的回报加权平均:
Gtλ=(1−λ)n=1∑∞λn−1Gt:t+n
资格迹提供等价的在线实现:
et(s)=γλet−1(s)+1(St=s)
V(s)←V(s)+αδtet(s)
最近访问过的状态保留较高资格,因此当前 TD 误差可以同时更新一段历史状态。
SARSA 是同策略控制算法,更新目标使用下一步实际选择的动作:
Q(St,At)←Q(St,At)+α[Rt+1+γQ(St+1,At+1)−Q(St,At)]
算法名称来自更新中的五元组:
(St,At,Rt+1,St+1,At+1)
因为目标包含探索策略实际采取的动作,SARSA 会把探索风险计入价值估计。
Q-learning 是异策略算法,目标使用下一状态的最大动作价值:
Q(St,At)←Q(St,At)+α[Rt+1+γamaxQ(St+1,a)−Q(St,At)]
行为策略可以保持 ϵ-greedy 探索,而目标策略隐式地是贪心策略。表格型 Q-learning 在充分探索和合适步长条件下可收敛到 Q∗。
Expected SARSA 用目标策略下所有动作的期望替代单个样本动作:
Rt+1+γa∑π(a∣St+1)Q(St+1,a)
它通常比 SARSA 方差低,同时能够通过选择不同目标策略覆盖同策略和异策略设置。
- 环境有明显探索风险时,同策略 SARSA 往往更保守。
- 追求贪心最优策略且离散动作空间较小时,可以使用 Q-learning。
- 奖励传播太慢时,可以增加 n 或使用 eligibility traces。
- 自举、函数近似和异策略学习同时出现时,要警惕训练不稳定。
TD Learning 的关键贡献是让智能体能够边交互、边更新,不必等待完整回合,也不必拥有环境模型。