Personal Knowledge Base

A long-term research and learning notebook for posts, notes, papers, projects, and research directions.

Skip to content
← Back to notes

强化学习 07:Temporal-Difference Learning

从 TD 误差、n-step return 和 eligibility trace 出发,理解 SARSA、Q-learning 等在线控制算法。

3 min read

TD 学习的核心

Temporal-Difference(TD)Learning 同时结合了 Monte Carlo 的采样能力与动态规划的自举思想。TD(0) 不等待回合结束,而是用一步奖励和下一状态的当前估计构造目标:

V(St)V(St)+α[Rt+1+γV(St+1)V(St)]V(S_t) \leftarrow V(S_t)+\alpha \left[ R_{t+1}+\gamma V(S_{t+1})-V(S_t) \right]

其中:

δt=Rt+1+γV(St+1)V(St)\delta_t =R_{t+1}+\gamma V(S_{t+1})-V(S_t)

称为 TD error。它衡量当前价值预测与一步后新预测之间的不一致。

TD 与 Monte Carlo 的差异

方法更新时机目标偏差与方差
Monte Carlo回合结束完整实际回报 GtG_t无自举偏差,方差较高
TD(0)每一步Rt+1+γV(St+1)R_{t+1}+\gamma V(S_{t+1})有自举偏差,方差较低

TD 可以处理持续任务,并能让奖励信息逐步向前传播。

n-step TD

一步 TD 与完整 Monte Carlo 之间可以用 n-step return 连接:

Gt:t+n=Rt+1+γRt+2++γn1Rt+n+γnV(St+n)G_{t:t+n} =R_{t+1}+\gamma R_{t+2}+\cdots +\gamma^{n-1}R_{t+n} +\gamma^nV(S_{t+n})

更新为:

V(St)V(St)+α[Gt:t+nV(St)]V(S_t) \leftarrow V(S_t)+\alpha \left[G_{t:t+n}-V(S_t)\right]

nn 越大,使用的真实奖励越多,自举越少;nn 越小,更新越及时但更依赖当前估计。

TD(λ\lambda) 与资格迹

λ\lambda-return 对不同步数的回报加权平均:

Gtλ=(1λ)n=1λn1Gt:t+nG_t^\lambda =(1-\lambda)\sum_{n=1}^{\infty} \lambda^{n-1}G_{t:t+n}

资格迹提供等价的在线实现:

et(s)=γλet1(s)+1(St=s)e_t(s) =\gamma\lambda e_{t-1}(s) +\mathbb{1}(S_t=s) V(s)V(s)+αδtet(s)V(s)\leftarrow V(s)+\alpha\delta_t e_t(s)

最近访问过的状态保留较高资格,因此当前 TD 误差可以同时更新一段历史状态。

SARSA

SARSA 是同策略控制算法,更新目标使用下一步实际选择的动作:

Q(St,At)Q(St,At)+α[Rt+1+γQ(St+1,At+1)Q(St,At)]Q(S_t,A_t) \leftarrow Q(S_t,A_t)+\alpha \left[ R_{t+1}+\gamma Q(S_{t+1},A_{t+1}) -Q(S_t,A_t) \right]

算法名称来自更新中的五元组:

(St,At,Rt+1,St+1,At+1)(S_t,A_t,R_{t+1},S_{t+1},A_{t+1})

因为目标包含探索策略实际采取的动作,SARSA 会把探索风险计入价值估计。

Q-learning

Q-learning 是异策略算法,目标使用下一状态的最大动作价值:

Q(St,At)Q(St,At)+α[Rt+1+γmaxaQ(St+1,a)Q(St,At)]Q(S_t,A_t) \leftarrow Q(S_t,A_t)+\alpha \left[ R_{t+1}+\gamma\max_aQ(S_{t+1},a) -Q(S_t,A_t) \right]

行为策略可以保持 ϵ\epsilon-greedy 探索,而目标策略隐式地是贪心策略。表格型 Q-learning 在充分探索和合适步长条件下可收敛到 QQ^*

Expected SARSA

Expected SARSA 用目标策略下所有动作的期望替代单个样本动作:

Rt+1+γaπ(aSt+1)Q(St+1,a)R_{t+1} +\gamma\sum_a\pi(a\mid S_{t+1})Q(S_{t+1},a)

它通常比 SARSA 方差低,同时能够通过选择不同目标策略覆盖同策略和异策略设置。

使用建议

  • 环境有明显探索风险时,同策略 SARSA 往往更保守。
  • 追求贪心最优策略且离散动作空间较小时,可以使用 Q-learning。
  • 奖励传播太慢时,可以增加 nn 或使用 eligibility traces。
  • 自举、函数近似和异策略学习同时出现时,要警惕训练不稳定。

TD Learning 的关键贡献是让智能体能够边交互、边更新,不必等待完整回合,也不必拥有环境模型。

Related Posts