第 5 讲总结 · 深度强化学习
用法:先看「节一览表」确认每一节「治的是哪个病」,再闭卷复述「一条主线」与「三句话带走」,最后按「与后续的连接」决定下一步动手做什么。完整自检见学习目标自检表。
节一览
| 节 | 核心问题 | 关键结论 | 典型陷阱 |
|---|---|---|---|
| 5.1 为什么需要强化学习 | 没有标签时,「学习」还剩下什么? | 三分法的分界线是信号粒度(轨迹级 vs 逐样本)与数据所有权(分布由策略决定);三个独有困难=信用分配、非平稳、探索—利用;常数 的探索税 可精算 | 把「有奖励」当「有标签」;拿 RL 硬套本可监督求解的问题;把 当无关紧要的超参数 |
| 5.2 MDP 与值函数 | 怎样把试错写成可推导的数学? | 五元组 + 马尔可夫性使 成为未来的充分统计量;期望方程是线性方程组、最优方程是非线性不动点( 为 -压缩 ⇒ 唯一解);值迭代轮数 | 以为 无害;把 与 混用(只有 能直接选动作);把「策略迭代 vs 值迭代」当成两个不同答案 |
| 5.3 值方法:Q-learning 与 DQN | 不知道 时怎么估价值? | TD 用「走一步的实际结果」修正估计(自举 + 在线 + 低方差);Q-learning 是 off-policy 自举,表格下需充分访问 + Robbins–Monro;DQN 的两个技巧分别治「样本相关」与「目标在动」; 的过高估计量级 ( 时 2.15) | 每步都同步目标网络;忘掉 done 掩码;把 Q 值膨胀当「学得好」 |
| 5.4 策略梯度与 REINFORCE | 能不能不学 ,直接优化策略? | 对数导数技巧把「对分布的导数」变成可采样期望,且环境动力学从梯度里消失;定理一句话即「好动作抬概率、坏动作压概率」;因果性(用 )与任意只依赖状态的基线都不改变期望、只降方差 | 忘了数据必须来自当前策略(on-policy);以为基线是启发式会引入偏差;把奖励乘以大常数以为能学更快 |
| 5.5 Actor–Critic 与 PPO | 怎样既降方差又不引入大偏差? | 优势 是 Actor 与 Critic 的接口;GAE 用 把单步 TD 与蒙特卡洛连成一根旋钮;PPO 裁剪目标越界时只有两个象限梯度归零、另两个象限仍「拉回区间」; 常取 0.1–0.2 | 以为裁剪对所有越界情形都生效;把 的裁剪当成对概率的硬截断;把 PPO 当纯 on-policy 而重复用同一批数据过多轮 |
| 5.6 离线 RL、RLHF 与偏好优化 | 不能交互、甚至写不出奖励时怎么办? | 离线 RL 的敌人是分布偏移:单步误差被 放大( ⇒ 100 倍),CQL 压低数据外 、IQL 干脆不查询;RLHF 三步=SFT → Bradley–Terry 奖励模型 → RL + KL;DPO 用闭式最优解把奖励反解掉, 在差值中精确抵消,对齐退化成分类损失;GRPO 用组内相对优势替掉 Critic | 只看代理奖励上涨就宣布对齐成功;把 DPO 当「更小的 RLHF」而忽略它对标注噪声无缓冲;以为离线 RL 的失败是数据量问题 |
| 5.7 训练循环示例与调试 | 把零件装起来,怎么判断它真的在学? | DQN 循环 = 回放池 + 目标网络 + done 掩码 + 衰减;PPO 循环 = rollout → GAE → 优势归一化 → 多 epoch 裁剪更新 → 诊断量;四类失败模式(奖励设计、探索不足、目标更新过快、方差爆炸)都不报错;评估必须多种子 + 多回合 + 报分布 | 报告单一种子的最优曲线;把训练指标当验收指标;回报没涨就先调学习率(顺序应是先奖励、再评估协议、再探索) |
一条主线:因为很多决策问题没有标签、只有标量奖励(5.1),所以要把交互形式化成 MDP,用折扣回报让「值」满足一个自洽的递归方程(5.2);因为真实环境里 与 拿不到,所以只能采样——学 再取贪心(5.3 的值方法),或者直接对策略求梯度(5.4 的策略方法);因为前者的高方差与后者的高偏差都不能单独忍受,所以把基线升级成 Critic、用 GAE 把偏差—方差做成旋钮、再用 PPO 裁剪替你限幅(5.5);而这些机器最终服务于两个更现实的约束——不能交互(离线 RL 的外推误差)与写不出奖励(RLHF / DPO / GRPO 把人类偏好或可验证信号变成学习信号,5.6);最后,因为 RL 的失败看起来像成功,所以必须把训练接对并建立多种子评估协议,才谈得上「它真的在学」(5.7)。
必记结论速查
| 主题 | 一句话结论 + 可复算数字 |
|---|---|
| 探索税 | ;、 ⇒ 、税 |
| 两状态 MDP | 时「永远 R」策略给 ; 时 处 L/R 打平(各 2.0) |
| on / off-policy | 同一条转移、同一张 表:Q-learning 更新到 5.3,SARSA 到 3.95(差 1.35) |
| 过高估计 | ; ⇒ 2.15, ⇒ 3.03 |
| GAE | ; 对同一序列给 1.0 / 0.4455 / 0.408 |
| PPO 裁剪 | 四格: 截断、 拉回、 拉回、 截断 |
| 离线外推 | 单步误差被放大 : ⇒ 100 倍 |
| 偏好优化 | DPO 损失 , ⇒ 损失 ,梯度 ;GRPO 组内优势 |
| 评估协议 | 5 个种子 128.0(CI )vs 133.4(CI )⇒ 区间大幅重叠,不能说 B 更好 |
三句话带走
- RL 把「有标签的监督」换成「与环境交互、从奖励信号里试错」;它独有的两个难题是延迟的信用分配与探索—利用的张力,MDP 与贝尔曼方程是描述它们的通用语言——「奖励是你写的,不是你要的」。
- 两条主干殊途同归:值方法(Q-learning → DQN)先学 再取贪心动作,靠经验回放 + 目标网络稳住训练;策略方法(策略梯度 → Actor–Critic → PPO)直接对 求梯度,靠基线/优势降方差、靠裁剪限制步幅;Actor–Critic 让两者合流,PPO 是今天最通用、最稳的默认算法。
- 前沿把 RL 推向两个极端:离线 RL 应对「不能交互,只有固定数据」(误差被 放大),RLHF / DPO / GRPO 应对「奖励写不出来,用人类偏好或可验证信号代替」——后者正是大模型对齐的默认手段;而所有路线的共同瓶颈是数据与评估,不是算法。
与后续的连接
- 第 6 讲导读 · 新前沿:本讲最后推出的 RLHF / DPO / GRPO 就是把「规模 + 对齐 + 推理」拼成大语言模型的零件;6.3 的对齐与推理期路线直接复用本讲的偏好优化与可验证奖励,读它之前先能默写 DPO 损失与 GRPO 组内优势。
- 第 7 讲(对齐、可控与安全):reward hacking 的机制(5.6.8)在那里从「训练事故」升级为「部署风险」,独立验收与行为审计的要求同源。
- 第 8 讲(AI for Science)与第 9 讲(大规模并行训练):用 RL 做控制与科学发现会落在第 8 讲的案例里;而策略网络与价值网络的并行训练、rollout 的吞吐瓶颈,落到第 9 讲的切分与通信。
- Lab 3 · 微调一个大语言模型:SFT 之后的偏好优化环节就是 5.6 的工程化身;用 200–500 对偏好数据做一次 DPO 并与 SFT 对照,观察过度优化的迹象(风格骤变、长度膨胀)。
- Lab 1 · 音乐生成 与 Lab 2 · 人脸检测:前者与本讲形成「信号从哪来」的对照(似然 vs 奖励),后者的多阈值、多子集、报分布的评测协议与 5.7.5 同源——单点数字不足以支撑结论。
- 公式与推导的二刷入口:附录 C.9–C.13(贝尔曼最优算子、策略梯度定理、GAE、PPO 裁剪、DPO)可与正文推导逐行对照复算。
- 动手路线:本讲习题集 C 组四份代码(老虎机 → DQN → GAE/PPO → DPO)结构同源,把四者的「目标量」并排贴出来,本讲主线一目了然;自检走 自检表 → 回忆卡 → 综合自测卷。
- 期末项目方向:把自己的一个小控制/调度问题写成 MDP 并用 DQN 或 PPO 求解;复现同一任务的 PPO 与 DPO 并对比成本与稳定性;构造一个奖励被 hack 的最小实验并给出修补方案。选题前先读 5.1 的选型判据与 5.7 的评估协议。