跳到正文
AI 图鉴
06 强化学习进阶本域第 3 篇

策略梯度

干脆直接调整策略本身,让「好动作」出现得更频繁

定义

策略梯度方法把策略写成带参数 θ 的概率分布 πθ(a | s),然后直接对「期望回报」求关于 θ 的梯度,沿梯度上升方向更新参数,使高回报的动作被更频繁地采样。它不需要先估计价值再取最大值,因而天然支持连续动作与随机策略;代价是估计的方差很大。

直观理解

与其给每个「局面-动作」打分再挑最高的,不如直接问:当前策略里,哪个动作的概率该调大、哪个该调小?做法很朴素——跑几轮,凡出现在高回报轨迹里的动作,就把它的概率往上推一点;出现在差轨迹里的就压低一点。难点在于「这一轮回报高」里混了大量运气成分:所以需要许多样本,才能把噪声平均掉、看清真正的方向。

图 1

两条路线的取舍:先学「值多少」再取最大,还是直接学「怎么做」;一个省样本但难做连续动作,一个灵活但方差大

图 2

CartPole-v1 上的学习曲线(满分 500):PPO 收敛最快最稳,纯 REINFORCE 方差大、收敛慢——这正是基线、Critic 与信任域要解决的问题

  • PPO(Actor-Critic + 裁剪)
  • A2C(带优势的 Actor-Critic)
  • REINFORCE(含基线)

工作原理

  1. 01

    对数导数技巧:把采样变成可求导

    核心等式是 ∇J = E[ ∇log πθ(a | s) · G ]。它把「无法对采样过程求导」的问题,改写成一个可以对每个采样动作计算的加权和——回报 G 越大,该动作的对数概率就被推得越高。

  2. 02

    REINFORCE 与基线:先降方差

    最早的算法直接用整条轨迹的回报 G 当权重,故称 REINFORCE,但它方差极大。减去一个与动作无关的基线 b(s)(常用状态价值 V(s))可以显著压低方差而不引入偏差——这就是「优势」的雏形。

  3. 03

    Actor-Critic:一套演,一套评

    用 A(s, a) = Q(s, a) − V(s) 表示「这个动作比平均水平好多少」,作为更新权重。Critic(价值网络)负责估计它,Actor(策略网络)据此更新,两者交替训练。相比纯 REINFORCE,它把整个回合的回报换成了单步的优势估计,方差更低。

  4. 04

    信任域:TRPO 与 PPO

    步子迈太大,新策略一旦崩坏,之前收集的数据就全废了。TRPO 显式限制新旧策略的 KL 散度;PPO 用更简单的裁剪目标把概率比限制在 [1−ε, 1+ε] 内。后者实现容易、表现稳健,因而成为今天最常用的默认算法。

关键公式

∇θ J ≈ E[ ∇θ log πθ(a | s) · A(s, a) ]
带优势函数的策略梯度。A(s, a) 替代整条轨迹的回报 G,是方差与偏差之间的一次关键权衡。
图 4

三条路线的性格对比:Q 学习省样本但不擅长连续动作,纯策略梯度灵活但方差高,Actor-Critic / PPO 取折中

  • Q 学习
  • REINFORCE
  • PPO

应用场景

  • 连续控制:机械臂、四足机器人、自动驾驶的转向与油门
  • 大模型对齐:RLHF 的最后一环就是用 PPO 优化语言模型策略
  • 随机博弈:需要混合策略的场景(如石头剪刀布类的对抗)
  • 组合优化与调度:策略直接输出动作的概率分布,天然处理随机选择

常见误区

  • 高方差:单条轨迹的回报波动极大,梯度估计的噪声远高于监督学习,需要大量样本或更精细的优势估计才能稳定。
  • 在策略(on-policy)的代价:策略一更新,旧数据就失效,必须重新采样。这使它的样本效率天然低于离策略的 Q 学习。
  • 对步长敏感:更新过大会直接让策略崩溃、再也恢复不过来。这正是信任域与裁剪存在的原因,但 ε、学习率等超参数仍需谨慎调节。

关键术语

Actor / Critic
策略网络与价值网络,前者选动作后者打分
优势函数 A(s, a)
某动作比该状态平均水平好多少
对数导数技巧
把对采样求期望的梯度化为对数概率的加权和
信任域 / KL 约束
限制新旧策略之间的偏离幅度

延伸阅读