速查卡 · 参考

策略梯度定理

RL → GRPO 课程 · 可打印 · ← 第 4 课详解

这是第 4 课推导的压缩版。卡了就回这里看一眼,再回正文。

设定

策略 $\pi_\theta(a\mid s)$ 带参数 $\theta$;轨迹 $\tau=(s_0,a_0,r_0,\ldots)$;回报 $R(\tau)=\sum_t\gamma^t r_t$。目标:

$$ J(\theta)=\mathbb{E}_{\tau\sim\pi_\theta}[\,R(\tau)\,]\quad\text{——最大化它} $$

推导(六步)

1 对期望求导
$$\nabla_\theta J=\int\nabla_\theta p_\theta(\tau)\,R(\tau)\,d\tau$$
2 对数导数技巧 $\nabla p = p\,\nabla\log p$
$$\nabla_\theta J=\mathbb{E}_{\tau\sim\pi_\theta}[\,\nabla_\theta\log p_\theta(\tau)\,R(\tau)\,]$$
3 环境项消失 $p_\theta(\tau)=\rho_0\prod_t\pi_\theta(a_t|s_t)P(s_{t+1}|s_t,a_t)$,$\rho_0,P$ 与 $\theta$ 无关
$$\nabla_\theta\log p_\theta(\tau)=\sum_t\nabla_\theta\log\pi_\theta(a_t|s_t)$$
4 因果性 $R(\tau)\to$ reward-to-go $G_t=\sum_{t'\ge t}\gamma^{t'-t}r_{t'}$(过去奖励对 $a_t$ 的梯度期望为 0,可丢)
$$\nabla_\theta J=\mathbb{E}[\,\sum_t\nabla_\theta\log\pi_\theta(a_t|s_t)\,G_t\,]$$
5 加基线 $b(s_t)$ 不依赖 $a_t$,期望不变、方差降;最优 $b=V^\pi$,$G_t-V^\pi\approx A^\pi$
$$\nabla_\theta J=\mathbb{E}[\,\sum_t\nabla_\theta\log\pi_\theta(a_t|s_t)\,(G_t-b(s_t))\,]$$
6 装裱
魔法恒等式(step 4、5 都靠它): $$\mathbb{E}_{a\sim\pi_\theta}[\nabla_\theta\log\pi_\theta(a|s)]=\sum_a\pi\nabla\log\pi=\sum_a\nabla\pi=\nabla\!\textstyle\sum_a\pi=\nabla\,1=0$$ ⇒ 任何不依赖 $a_t$ 的量乘 $\nabla\log\pi$ 再取期望 = 0,故可白加白减。
策略梯度定理
$$ \nabla_\theta J(\theta)=\mathbb{E}_{\tau\sim\pi_\theta}\!\left[\,\sum_t\nabla_\theta\log\pi_\theta(a_t|s_t)\,A^\pi(s_t,a_t)\,\right] $$

蒙特卡洛估计 + 更新(一次轨迹给一个无偏估计):

$$ \widehat{\nabla_\theta J}=\sum_t\nabla_\theta\log\pi_\theta(a_t|s_t)\,A_t,\qquad \theta\leftarrow\theta+\alpha\,\widehat{\nabla_\theta J} $$

三个变体:公式不变,改的只是 $A$ 的估计与步长控制

REINFORCE$A_t=G_t$(裸回报)步长不控,方差大
PPO$A_t=\hat Q-\hat V$(学一个 $\hat V$ 当基线)clip 裁剪比率 $r_t=\frac{\pi_\theta}{\pi_{\theta_{old}}}$ 控步长
GRPO$A_i=\frac{r_i-\text{mean}(r)}{\text{std}(r)}$(组内标准化,去掉 $\hat V$clip 同 PPO

→ 这就是“GRPO 砍掉价值网络”的全部秘密:用组内平均替代 $\hat V$ 作基线。详见后续第 10 课(GRPO 从 PPO 演进)。