强化学习PPOGAETD Error

GAE 与 Monte Carlo、TD Error

2025-08-217 分钟

在 PPO(Proximal Policy Optimization)中,策略更新的质量完全依赖于优势函数的估计精度。估计太噪(高方差)→ 训练震荡;估计太偏(高偏差)→ 策略走偏。本文从 MC 与 TD 的核心矛盾出发,逐步推导出 GAE 的设计动机与数学原理。


一、优势函数的定义与作用

PPO 的策略梯度依赖优势函数(Advantage Function):

Aπ(s,a)=Qπ(s,a)−Vπ(s)A^\pi(s,a) = Q^\pi(s,a) - V^\pi(s)

其中:

  • Qπ(s,a)Q^\pi(s,a):在状态 ss 下执行动作 aa 后,遵循策略 π\pi 的期望累积回报
  • Vπ(s)V^\pi(s):在状态 ss 下遵循策略 π\pi 的期望累积回报(策略平均水平)

直观含义:At>0A_t > 0 表示当前动作优于平均,应增加其概率;At<0A_t < 0 则相反。

核心问题:QπQ^\pi 和 VπV^\pi 都是期望值,无法直接获得,必须通过采样估计。如何稳定、准确地估计 AtA_t,正是 GAE 要解决的核心。


二、蒙特卡洛估计(Monte Carlo)

1. 计算方式

蒙特卡洛方法基于完整轨迹计算累积回报 GtG_t:

Gt=rt+γrt+1+γ2rt+2+⋯+γT−trTG_t = r_t + \gamma r_{t+1} + \gamma^2 r_{t+2} + \cdots + \gamma^{T-t} r_T

MC 优势估计用 GtG_t 减去 Critic 的价值估计:

AtMC=Gt−Vθ(st)A_t^{MC} = G_t - V_\theta(s_t)

2. 无偏但方差大

无偏性来自 QQ 函数的定义:

Qπ(st,at)=Eπ[Gt∣st,at]Q^\pi(s_t,a_t) = \mathbb{E}_\pi[G_t \mid s_t, a_t]

因此 GtG_t 是 Qπ(st,at)Q^\pi(s_t,a_t) 的无偏估计,与 VθV_\theta 是否准确无关。

注意:准确地说,AtMCA_t^{MC} 是 Qπ(st,at)−Vθ(st)Q^\pi(s_t,a_t) - V_\theta(s_t) 的无偏估计。只有当 VθV_\theta 收敛到真实 VπV^\pi 时,AtMCA_t^{MC} 才是真实优势函数的无偏估计。

高方差来自累积回报 GtG_t 本身。根据方差可加性:

Var(Gt)=∑k=tTγ2(k−t)Var(rk)\text{Var}(G_t) = \sum_{k=t}^T \gamma^{2(k-t)} \text{Var}(r_k)

方差随轨迹长度 TT、折扣因子 γ\gamma 接近 1 以及环境随机性增大而显著放大,直接导致策略梯度估计噪声过大,训练不稳定。

3. 其他性质

  • 需要完整轨迹:必须等 episode 结束才能计算 GtG_t,样本效率低
  • 无自举(Bootstrapping):不依赖 VθV_\theta 估计未来回报,不引入自举偏差

三、时序差分误差(TD Error)

1. 计算方式

TD(Temporal Difference) 方法只用单步转移信息,定义单步 TD 误差:

δt=rt+γVθ(st+1)−Vθ(st)\delta_t = r_t + \gamma V_\theta(s_{t+1}) - V_\theta(s_t)

以 δt\delta_t 作为优势估计:

AtTD=δtA_t^{TD} = \delta_t

直观含义:δt\delta_t 衡量「实际得到的即时回报 + 下一状态价值估计」与「当前 Critic 预测」之间的差值,是 Critic 网络的更新信号。

2. 低方差但有偏

低方差:δt\delta_t 只依赖一步奖励 rtr_t 和一步价值估计 Vθ(st+1)V_\theta(s_{t+1}),后者作为期望的近似已对噪声做了平滑:

Var(AtTD)=Var(rt)+γ2 Var(Vθ(st+1))\text{Var}(A_t^{TD}) = \text{Var}(r_t) + \gamma^2\,\text{Var}(V_\theta(s_{t+1}))

相比 GtG_t,方差显著更小,对长轨迹任务尤为突出。

有偏性来自自举(Bootstrapping):TD 用当前不准确的 VθV_\theta 来估计 QQ 值,当 Vθ≠VπV_\theta \neq V^\pi 时:

Eπ[rt+γVθ(st+1)∣st,at]≠Qπ(st,at)\mathbb{E}_\pi\bigl[r_t + \gamma V_\theta(s_{t+1}) \mid s_t, a_t\bigr] \neq Q^\pi(s_t, a_t)

误差会在价值函数迭代更新过程中累积传播,导致系统性偏差。

3. 其他性质

  • 无需等轨迹结束:每步可立即计算,样本效率高,是 GAE 的基础积木
  • 短视:仅看一步,不考虑多步未来的影响

四、广义优势估计(GAE)

1. 动机

纯 TD(λ=0\lambda=0)位于低方差、高偏差的一端,纯 MC(λ=1\lambda=1)位于低偏差、高方差的另一端;GAE 通过 λ∈[0,1]\lambda \in [0,1] 在二者之间做可控插值。

2. 公式

展开式(原理理解):

AtGAE(γ,λ)=∑l=0T−t−1(γλ)l⋅δt+lA_t^{GAE(\gamma,\lambda)} = \sum_{l=0}^{T-t-1} (\gamma\lambda)^l \cdot \delta_{t+l}

对未来各步 TD 误差做指数加权求和,权重 (γλ)l(\gamma\lambda)^l 随步数 ll 指数衰减。

递归式(代码实现):

AtGAE=δt+γλ⋅At+1GAEA_t^{GAE} = \delta_t + \gamma\lambda \cdot A_{t+1}^{GAE}

从最后一步 TT 往前计算(ATGAE=δTA_T^{GAE} = \delta_T),一次遍历轨迹即可完成,内存友好。

3. 边界情况

  • λ=0\lambda = 0:退化为单步 TD——低方差、高偏差
AtGAE=δtA_t^{GAE} = \delta_t
  • λ=1\lambda = 1:退化为蒙特卡洛估计——低偏差、高方差
AtGAE=∑l=0T−t−1γlδt+l=Gt−Vθ(st)=AtMCA_t^{GAE} = \sum_{l=0}^{T-t-1} \gamma^l \delta_{t+l} = G_t - V_\theta(s_t) = A_t^{MC}

下图共用一条从 sts_t 到终点的时间轴:MC 使用整段真实回报,TD 在一步后用 Critic 自举,GAE 则同时纳入多种跨度,并让更远的 TD 误差按 (γλ)l(\gamma\lambda)^l 衰减。

MC、TD 与 GAE 的回传跨度和偏差方差折中 时间轴从状态 s t 延伸到终点。蒙特卡洛跨越完整轨迹;单步 TD 只前进一步并从下一状态价值自举;GAE 混合从一步到更长距离的 TD 误差,距离越远权重按 gamma lambda 的 l 次方衰减、线条越淡。lambda 从零增至一时偏差降低而方差升高。 同一条轨迹,不同的 backup 跨度 跨度越长,真实奖励越多、自举依赖越少,但采样噪声越大 时间 sₜ sₜ₊₁ sₜ₊₂ sₜ₊₃ … 终点 MC 完整奖励序列,一直计算到终点 · 不 bootstrap TD 一步后 bootstrap:V(sₜ₊₁) 仅用 rₜ + γV(sₜ₊₁) GAE 多尺度 加权和 l = 0 · 权重 1 l = 1 · 权重 γλ l = 2 · 权重 (γλ)² 更远的 l · 权重 (γλ)ˡ TD · 低方差 / 高偏差 GAE · λ 控制折中 MC · 高方差 / 低偏差 λ 从 0 增至 1:自举偏差下降,采样方差上升

GAE 不是选择某一个固定回传长度,而是把不同距离的 TD 误差叠加起来;λ\lambda 越大,远期项衰减越慢,估计越接近 MC。

4. 两个超参:γ\gamma 与 λ\lambda 的区别

超参含义典型值属于
γ\gamma(折扣因子)未来奖励的衰减权重;γ=0\gamma=0 只看即时奖励,γ=1\gamma=1 完全不折扣0.97∼0.990.97 \sim 0.99问题本身(决定智能体"多近视")
λ\lambda(GAE 系数)偏差-方差的权衡旋钮;控制优势估计的平滑度0.90∼0.970.90 \sim 0.97算法设计(独立于环境定义)

5. 核心特性

偏差-方差可控权衡

λ\lambda 小时更像 TD,λ\lambda 大时更像 MC;实践中常取 λ≈0.95\lambda \approx 0.95,在偏差与方差之间折中。

指数平滑,梯度更稳定

TD 误差 δt\delta_t 往往跳变剧烈(符号反复变化),GAE 通过指数加权将跳变「抹平」,使优势估计随时间更平滑,策略梯度信号更一致。

天然适配 PPO

GAE 提供稳定、低噪的优势估计,与 PPO 的概率比裁剪(clip)机制形成稳定 + 高效的训练闭环。


五、三种方法全面对比

特性蒙特卡洛(MC)单步 TDGAE(λ≈0.95\lambda \approx 0.95)
对 QQ 的估计偏差无高(自举偏差)低(介于两者之间)
估计方差大小中等
依赖 Critic 程度弱极强中
所需轨迹完整轨迹单步转移任意长度片段
回溯长度全轨迹1 步多步(指数衰减)
训练稳定性差最好好
收敛速度快(但易发散)慢快
样本效率低高高
适用场景短轨迹、奖励密集Critic 很准的简单任务通用(PPO 标配)

六、总结

蒙特卡洛估计通过完整轨迹提供无偏的 QQ 估计,但方差极大;TD 误差方差极小,但自举偏差可能导致策略更新方向错误。

GAE 引入 λ\lambda 实现了从 TD 到 MC 的全谱覆盖:

λ=0  ⟶  单步 TD  ⟶  λ=0.95  ⟶  GAE 标配  ⟶  λ=1  ⟶  蒙特卡洛\lambda=0 \;\longrightarrow\; \text{单步 TD} \;\longrightarrow\; \lambda=0.95 \;\longrightarrow\; \text{GAE 标配} \;\longrightarrow\; \lambda=1 \;\longrightarrow\; \text{蒙特卡洛}

在 PPO 的实际应用中,λ≈0.95\lambda \approx 0.95、γ≈0.99\gamma \approx 0.99 是最常用的配置,配合优势标准化(减均值除以标准差)进一步稳定训练。

PPOGAETD Error