E.3.6 微积分与优化公式速查与练习
前置知识:本页汇总 E.3 模块所有公式,建议在读完 E.3.1 到 E.3.5 后再来回顾。如果你是第一次读,先跳到正文章节。
前面的内容从一维导数一路讲到了 PPO 裁剪和 GRPO 归一化,涉及不少公式。这一页把它们汇总在一起,方便查阅,也指出几个常见的理解误区,最后附上几道练习题来检验掌握程度。
本书中你会遇到的优化公式
| 概念 | 公式 | 强化学习含义 |
|---|---|---|
| 梯度上升 | $\theta \leftarrow \theta + \alpha \nabla J(\theta)$ | 最大化平均回报 |
| 梯度下降 | $\theta \leftarrow \theta - \alpha \nabla L(\theta)$ | 最小化价值误差或模型损失 |
| 链式法则 | $\frac{dL}{d\theta}=\frac{dL}{dy}\frac{dy}{d\theta}$ | 反向传播的基础 |
| 策略梯度 | $\nabla J \approx G_t\nabla\log\pi_\theta(a_t\mid s_t)$ | 好结果对应动作概率上升 |
| 策略梯度定理 | $\nabla_\theta J=\sum_s d^\pi(s)\sum_a\nabla_\theta\pi_\theta(a\mid s)Q^\pi(s,a)$ | 参数变化如何影响平均回报 |
| 对数导数技巧 | $\nabla_\theta\pi=\pi\nabla_\theta\log\pi$ | 把难算的概率梯度改成易采样形式 |
| 优势加权更新 | $\nabla J \approx \hat{A}_t\nabla\log\pi_\theta(a_t\mid s_t)$ | 相对平均更好的动作被加强 |
| PPO 概率比 | $r_t=\frac{\pi_\theta(a_t\mid s_t)}{\pi_{old}(a_t\mid s_t)}$ | 衡量新旧策略变化 |
| 二阶 Taylor 展开 | $f(\theta+\Delta)\approx f(\theta)+\nabla f^\top\Delta+\frac{1}{2}\Delta^\top H\Delta$ | 理解曲率和信任域 |
| PPO 裁剪项 | $\min(r_t\hat{A}_t,\mathrm{clip}(r_t,1-\epsilon,1+\epsilon)\hat{A}_t)$ | 限制策略更新过大 |
| GRPO 组优势 | $\hat{A}_i=\frac{r_i-\mu}{\sigma}$ | 用组内相对奖励替代 Critic |
从直觉到公式:回顾这条线索
到这里,整条学习路径可以串起来:先从一维导数和一次参数更新出发,理解"梯度告诉我们往哪走";然后通过链式法则和偏导数把这个工具扩展到多参数网络;接着策略梯度把"好动作概率上升"的直觉写成数学表达式;优势函数让更新信号更精确;PPO 裁剪和 Adam 控制更新步长;最后 GRPO 用组内相对比较替代了 Critic。读到任何一个复杂的优化公式时,可以试着找出三件事:目标函数是什么、梯度方向来自哪里、更新幅度如何被控制。
几个容易踩的坑
- 把梯度当成最终答案。 梯度只是方向,真正更新还要乘以学习率,并可能经过裁剪、归一化或 Adam 调整。拿到梯度不等于完成了更新。
- 以为回报越大更新越安全。 高回报样本可能导致过大更新,反而把策略搞坏。PPO 的概率比裁剪正是为了防止这种情况。
- 忽略 Critic 的误差。 Actor 的优势估计依赖 Critic 的预测;Critic 不准时,策略更新方向也会跟着偏。
常见误区
遇到优化公式时,最容易犯的三个错误是:(1) 把梯度当成最终答案,忘了还要乘学习率和经过裁剪;(2) 以为回报越大更新越安全,忽略了高回报可能导致策略崩溃;(3) 忽略 Critic 误差会传递到 Actor 的更新方向上。
小练习
- 对 求导,并从 、学习率 做一步梯度上升。
- 旧策略概率为 ,新策略概率为 ,优势为 ,未裁剪 PPO 项是多少?若 ,裁剪后是多少?
- 若 ,,,,一步 TD 误差是多少?