基线、优势函数与 GAE
本文基于模型知识整理(生成时未联网核对),关键结论建议对照 Schulman et al. 2015(GAE 论文)复核。
一句话定义
在策略梯度里减去一个只依赖状态的基线 $b(s)$(不改变梯度期望,只压方差),最优基线的自然选择是价值 $v(s)$,于是权重变成优势 $A(s,a)=q-v$;GAE 用 λ 加权混合 n 步优势估计,在偏差(自举)与方差(MC)之间给出一个可调旋钮——现代 Actor-Critic 的标准配置。
为什么重要
REINFORCE 的方差大到不可用,基线/优势是从"能跑"到"能收敛"的分水岭;GAE 是 PPO(kp-017)与几乎所有 Actor-Critic 实现的默认优势估计器。读任何现代 RL 代码,compute_gae 都是最核心的函数之一。
前置知识
kp-004(优势定义)、kp-008(TD 误差与 n 步目标)、kp-013(策略梯度)。
核心概念
- 基线定理:$\mathbb{E}_{a\sim\pi}[\nabla\log\pi(a|s)\, b(s)] = 0$——任何 $b(s)$ 加进权重不改变梯度期望(因为 $\sum_a \pi \nabla\log\pi = \nabla\sum_a\pi = 0$),但方差显著下降。
- 优势估计:$\hat A_t = G_t - V(S_t)$(MC 版)或 $\delta_t = r_t + \gamma V(s_{t+1}) - V(s_t)$(一步 TD 版)。
- GAE(λ):$\hat A_t^{GAE(\gamma,\lambda)} = \sum_{l\ge0}(\gamma\lambda)^l \delta_{t+l}$——TD 误差的指数加权递归 $\hat A_t = \delta_t + \gamma\lambda\hat A_{t+1}$。
- 两个极端:λ=1 ⇒ $\hat A_t = G_t - V(s_t)$(MC 基线版,低偏差高方差);λ=0 ⇒ $\hat A_t = \delta_t$(一步 TD,高偏差低方差)。
- 值函数损失:critic 用回归 $(V_\phi(s_t) - \hat R_t)^2$ 训练,$\hat R_t = \hat A_t + V_\phi(s_t)$(回报估计)。
原理与机制
为什么基线不改变期望:$\sum_a \pi(a|s)\nabla\log\pi(a|s) = \sum_a \nabla\pi(a|s) = \nabla 1 = 0$——基线与动作无关的项乘上这个零向量后消失;方差却因为"权重中心化"(好动作为正、坏动作为负,而非全是正数)而下降。最优基线 ≈ v(s)(还有二阶修正,但 v 是实用标准)。
GAE 的指数插值逻辑:$\delta_t = r_t + \gamma V(s_{t+1}) - V(s_t)$ 本身是 $A^{\pi}$ 的一步无偏近似(若 V 真确);把后续 δ 链加权求和,相当于对"信多少步真实数据 vs 信多少 V 的外推"做指数平滑——λ 是"相信 critic 记忆"的程度。调参经验:λ=0.95、γ=0.99 几乎是默认值;稀疏奖励任务可尝试 λ→1。
偏差-方差谱系的统一视角:λ=0 与 λ=1 之间,GAE 连续插值 kp-007/008 的 MC 与 TD 两极;与 TD(λ) 的区别仅在于"对价值还是对优势做 λ 混合"。
公式或模型
- TD 误差链:$\delta_t = r_t + \gamma V(s_{t+1}) - V(s_t)$
- GAE 递归:$\hat A_t = \delta_t + (\gamma\lambda)\hat A_{t+1}$
- 策略梯度(最终形态):$\nabla_\theta J = \mathbb{E}\left[\nabla_\theta\log\pi_\theta(a_t|s_t)\,\hat A_t^{GAE}\right]$
图示
MC 端 (λ=1): Â = G − V(s) 低偏差, 高方差
TD0 端 (λ=0): Â = δ = r+γV(s')−V(s) 高偏差(信V), 低方差
GAE(λ): Â_t = δ_t + γλ·Â_{t+1} + (γλ)²·Â_{t+2} + …
= 指数加权混合 → λ 是"信数据 vs 信critic"的旋钮
直观类比
评价一招棋好不好:MC 版打完全局再回头打分(准但全局波动全算进这招);一步 TD 版只看"这一步导致的局面比预期好多少"(快但依赖你的局势判断力 V);GAE 是"看接下来几步的局部表现,越远打折越多"——λ 就是打折速度。
实例或案例
- PPO 参考实现(Spinning Up/stable-baselines3):rollout 结束后倒序一遍算 GAE,同时产出优势与回报目标,分别喂 actor loss 与 critic loss。
- 教学:CartPole 上固定其他超参扫 λ∈{0, 0.5, 0.95, 1.0},观察学习曲线方差与最终性能——直观看懂 λ 的效果。
常见误区
- 误区一:"基线必须是 $v(s)$,不能是别的"。任何 b(s) 都合法(不改变期望);v 只是方差意义上接近最优且顺带训练好 critic。
- 误区二:"优势归一化会破坏理论"。批内减均值除标准差会轻微改变梯度尺度,但作为工程标准做法(PPO 默认)稳定收益远大于理论瑕疵。
- 误区三:"λ 越大越好(越接近 MC 无偏)"。λ=1 时 critic 噪声直接进入权重、方差爆炸;λ 的甜点区通常 0.9–0.98。
与其他知识点的关系
- kp-004:优势的定义出处。
- kp-007/008:λ 谱系的两端。
- kp-015/017:Actor-Critic 与 PPO 的标准组件。
- kp-010:critic 训练同样是"向自举目标回归",稳定性问题同源(kp-012)。
自测题
- 证明基线不改变策略梯度期望(一行)。
答:$\sum_a \pi(a|s)\nabla\log\pi(a|s) = \sum_a\nabla\pi(a|s) = \nabla 1 = 0$——b(s) 项乘零消失。
- 写出 GAE 递归式并说出 λ=0 与 λ=1 各是什么。
答:$\hat A_t = \delta_t + \gamma\lambda\hat A_{t+1}$;λ=0 即一步 TD 优势 δ_t,λ=1 即 MC 优势 G_t − V(s_t)。
- 为什么优势要做批内归一化?
答:不同批次/任务的奖励尺度差异大,归一化把梯度尺度稳定在 O(1),等效于自适应学习率,显著提升训练稳定性。
延伸阅读
- Schulman 等, "High-Dimensional Continuous Control Using Generalized Advantage Estimation"(ICLR 2016)。
- Sutton & Barto 教材 §13.3-13.5(基线与优势 A2C)。
- Spinning Up 文档 "Advantage Estimation"(含推导)。