Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

第 5 讲总结 · 深度强化学习

用法:先看「节一览表」确认每一节「治的是哪个病」,再闭卷复述「一条主线」与「三句话带走」,最后按「与后续的连接」决定下一步动手做什么。完整自检见学习目标自检表。

节一览

节核心问题关键结论典型陷阱
5.1 为什么需要强化学习没有标签时,「学习」还剩下什么?三分法的分界线是信号粒度(轨迹级 vs 逐样本)与数据所有权(分布由策略决定);三个独有困难=信用分配、非平稳、探索—利用;常数 ε\varepsilon 的探索税 Δ=ε(μ∗−μˉ)\Delta=\varepsilon(\mu^\ast-\bar\mu) 可精算把「有奖励」当「有标签」;拿 RL 硬套本可监督求解的问题;把 ε\varepsilon 当无关紧要的超参数
5.2 MDP 与值函数怎样把试错写成可推导的数学?五元组 (S,A,P,R,γ)(\mathcal S,\mathcal A,P,R,\gamma) + 马尔可夫性使 (st,at)(s_t,a_t) 成为未来的充分统计量;期望方程是线性方程组、最优方程是非线性不动点(T\mathcal T 为 γ\gamma-压缩 ⇒ 唯一解);值迭代轮数 O(log⁡(1/ε)/log⁡(1/γ))O(\log(1/\varepsilon)/\log(1/\gamma))以为 γ=1\gamma=1 无害;把 VV 与 QQ 混用(只有 QQ 能直接选动作);把「策略迭代 vs 值迭代」当成两个不同答案
5.3 值方法:Q-learning 与 DQN不知道 P,RP,R 时怎么估价值?TD 用「走一步的实际结果」修正估计(自举 + 在线 + 低方差);Q-learning 是 off-policy 自举,表格下需充分访问 + Robbins–Monro;DQN 的两个技巧分别治「样本相关」与「目标在动」;max⁡\max 的过高估计量级 σ2ln⁡N\sigma\sqrt{2\ln N}(N=10,σ=1N=10,\sigma=1 时 2.15)每步都同步目标网络;忘掉 done 掩码;把 Q 值膨胀当「学得好」
5.4 策略梯度与 REINFORCE能不能不学 QQ,直接优化策略?对数导数技巧把「对分布的导数」变成可采样期望,且环境动力学从梯度里消失;定理一句话即「好动作抬概率、坏动作压概率」;因果性(用 GtG_t)与任意只依赖状态的基线都不改变期望、只降方差忘了数据必须来自当前策略(on-policy);以为基线是启发式会引入偏差;把奖励乘以大常数以为能学更快
5.5 Actor–Critic 与 PPO怎样既降方差又不引入大偏差?优势 A=Q−VA=Q-V 是 Actor 与 Critic 的接口;GAE 用 (γλ)l(\gamma\lambda)^l 把单步 TD 与蒙特卡洛连成一根旋钮;PPO 裁剪目标越界时只有两个象限梯度归零、另两个象限仍「拉回区间」;ε\varepsilon 常取 0.1–0.2以为裁剪对所有越界情形都生效;把 ρ\rho 的裁剪当成对概率的硬截断;把 PPO 当纯 on-policy 而重复用同一批数据过多轮
5.6 离线 RL、RLHF 与偏好优化不能交互、甚至写不出奖励时怎么办?离线 RL 的敌人是分布偏移:单步误差被 1/(1−γ)1/(1-\gamma) 放大(γ=0.99\gamma=0.99 ⇒ 100 倍),CQL 压低数据外 QQ、IQL 干脆不查询;RLHF 三步=SFT → Bradley–Terry 奖励模型 → RL + KL;DPO 用闭式最优解把奖励反解掉,Z(x)Z(x) 在差值中精确抵消,对齐退化成分类损失;GRPO 用组内相对优势替掉 Critic只看代理奖励上涨就宣布对齐成功;把 DPO 当「更小的 RLHF」而忽略它对标注噪声无缓冲;以为离线 RL 的失败是数据量问题
5.7 训练循环示例与调试把零件装起来,怎么判断它真的在学?DQN 循环 = 回放池 + 目标网络 + done 掩码 + ε\varepsilon 衰减;PPO 循环 = rollout → GAE → 优势归一化 → 多 epoch 裁剪更新 → 诊断量;四类失败模式(奖励设计、探索不足、目标更新过快、方差爆炸)都不报错;评估必须多种子 + 多回合 + 报分布报告单一种子的最优曲线;把训练指标当验收指标;回报没涨就先调学习率(顺序应是先奖励、再评估协议、再探索)

一条主线:因为很多决策问题没有标签、只有标量奖励(5.1),所以要把交互形式化成 MDP,用折扣回报让「值」满足一个自洽的递归方程(5.2);因为真实环境里 PP 与 RR 拿不到,所以只能采样——学 QQ 再取贪心(5.3 的值方法),或者直接对策略求梯度(5.4 的策略方法);因为前者的高方差与后者的高偏差都不能单独忍受,所以把基线升级成 Critic、用 GAE 把偏差—方差做成旋钮、再用 PPO 裁剪替你限幅(5.5);而这些机器最终服务于两个更现实的约束——不能交互(离线 RL 的外推误差)与写不出奖励(RLHF / DPO / GRPO 把人类偏好或可验证信号变成学习信号,5.6);最后,因为 RL 的失败看起来像成功,所以必须把训练接对并建立多种子评估协议,才谈得上「它真的在学」(5.7)。

必记结论速查

主题一句话结论 + 可复算数字
探索税Δ(ε)=ε(μ∗−μˉ)\Delta(\varepsilon)=\varepsilon(\mu^\ast-\bar\mu);μ=(0.8,0.5,0.2)\mu=(0.8,0.5,0.2)、ε=0.2\varepsilon=0.2 ⇒ E[r]=0.74\mathbb E[r]=0.74、税 0.060.06
两状态 MDPγ=0.9\gamma=0.9 时「永远 R」策略给 V∗=(18,20)V^\ast=(18,20);γ=0.5\gamma=0.5 时 s1s_1 处 L/R 打平(各 2.0)
on / off-policy同一条转移、同一张 QQ 表:Q-learning 更新到 5.3,SARSA 到 3.95(差 1.35)
过高估计E[max⁡aεa]≈σ2ln⁡N\mathbb E[\max_a\varepsilon_a]\approx\sigma\sqrt{2\ln N};N=10,σ=1N=10,\sigma=1 ⇒ 2.15,N=100N=100 ⇒ 3.03
GAEA^t=∑l(γλ)lδt+l=δt+γλA^t+1\hat A_t=\sum_l(\gamma\lambda)^l\delta_{t+l}=\delta_t+\gamma\lambda\hat A_{t+1};λ=0/0.95/1\lambda=0/0.95/1 对同一序列给 1.0 / 0.4455 / 0.408
PPO 裁剪ε=0.2\varepsilon=0.2 四格:(A=2,ρ=1.5)(A{=}2,\rho{=}1.5) 截断、(A=2,ρ=0.5)(A{=}2,\rho{=}0.5) 拉回、(A=−2,ρ=1.5)(A{=}{-}2,\rho{=}1.5) 拉回、(A=−2,ρ=0.5)(A{=}{-}2,\rho{=}0.5) 截断
离线外推单步误差被放大 1/(1−γ)1/(1-\gamma):γ=0.99\gamma=0.99 ⇒ 100 倍
偏好优化DPO 损失 L=−log⁡σ(z)\mathcal L=-\log\sigma(z),z=0.1z=0.1 ⇒ 损失 ≈0.644\approx0.644,梯度 ±0.0475\pm0.0475;GRPO 组内优势 (ri−rˉ)/std(r_i-\bar r)/\mathrm{std}
评估协议5 个种子 128.0(CI ±28.1\pm28.1)vs 133.4(CI ±28.5\pm28.5)⇒ 区间大幅重叠,不能说 B 更好

三句话带走

  1. RL 把「有标签的监督」换成「与环境交互、从奖励信号里试错」;它独有的两个难题是延迟的信用分配与探索—利用的张力,MDP 与贝尔曼方程是描述它们的通用语言——「奖励是你写的,不是你要的」。
  2. 两条主干殊途同归:值方法(Q-learning → DQN)先学 QQ 再取贪心动作,靠经验回放 + 目标网络稳住训练;策略方法(策略梯度 → Actor–Critic → PPO)直接对 πθ\pi_\theta 求梯度,靠基线/优势降方差、靠裁剪限制步幅;Actor–Critic 让两者合流,PPO 是今天最通用、最稳的默认算法。
  3. 前沿把 RL 推向两个极端:离线 RL 应对「不能交互,只有固定数据」(误差被 1/(1−γ)1/(1-\gamma) 放大),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 的评估协议。