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 讲 · 综合自测卷(100 分 · 建议 60 分钟)

闭卷计时;做完先按文末评分标准自评,再按漏点定位表回查。 范围:本讲 5.1–5.7 与导览。题目与习题集尽量不重叠;凡概念判断题,只写对错不给分,必须给理由或反例。

时间分配建议:第一部分 15 分钟(每题约 90 秒)→ 第二部分 8 分钟 → 第三部分 25 分钟(宁可慢、不可跳步)→ 第四部分 10 分钟(每题写清四项)→ 留 2 分钟回头看第一部分的十条判断里有没有只写了对错。

阅卷口径(先读,能省不少分)
  • 判断必须带机制词:写「错」不给分,写「错,因为 T\mathcal T 是 γ\gamma-压缩、不动点唯一」才拿满。本讲常见的机制词有:充分统计量、压缩映射、自举、off-policy、探索税、过高估计、对数导数技巧、只依赖状态的量、重要性修正、Z(x)Z(x) 抵消、放大因子 1/(1−γ)1/(1-\gamma)、多种子与区间。
  • 公式先写条件:写 Q-learning 更新式要说明 off-policy 与收敛前提;写 GAE 要说完 λ\lambda 两端;写 DPO 损失要说明偏好对必须同 prompt。
  • 数值题给中间量:凡是算数值(探索税、V∗V^\ast、GAE、过高估计、置信区间),必须写出中间量,只给一个数字最多得一半分。
  • 工程题给判据:凡涉及取舍(PPO/DPO、online/offline、奖励设计),必须写出验证方式与失败判据,否则第四部分上限 6 分。
  • 评估题必须多种子:凡涉及「A 比 B 好」的结论,必须给出种子数、回合数、回报分布与区间;只给单点结果或最优种子的,第三、四部分相关小问直接判 0 分。

第一部分 · 概念判断(10 题 × 3 分 = 30 分)

判断对错,并给出一句话理由或反例。只写「对 / 错」不得分。

1. 值迭代是「评估给定策略」的算法,所以它的不动点是 VπV^\pi 而不是 V∗V^\ast。

2. 把奖励整体乘 10、同时把学习率除以 10,并不会自动保证训练更稳,因为优势/梯度的尺度还取决于状态值的大小。

3. ε\varepsilon-greedy 的探索是「均匀随机找动作」,因此无论怎么设置 ε\varepsilon,估计都不会偏离真值;常数 ε=0.1\varepsilon=0.1 与衰减到 0.010.01 这两种设置的最佳可达回报相同。

4. 优势函数满足 ∑aπ(a∣s)Aπ(s,a)=0\sum_a\pi(a\mid s)A^\pi(s,a)=0,所以把优势直接乘 10 倍既改变期望也改变方差。

5. 在线 RL 里用固定的随机行为策略收集数据、并且在训练全程都不更新它就是 off-policy;要把这种数据用于 Q-learning,除了充分访问之外不需要任何额外修正。

6. 策略梯度定理里不需要对状态访问分布 dπθd^{\pi_\theta} 求导,是因为它的 θ\theta 依赖在推导中被抵消了。

7. 用 GAE 时把 λ\lambda 从 00 调到 11,偏差单调减小、方差单调增大,所以「选哪个 λ\lambda」本质上是在偏差与方差之间挑一个点。

8. 对 i.i.d. 估值噪声 Q^(s′,a)=Qˉ+εa\hat Q(s',a)=\bar Q+\varepsilon_a、εa∼N(0,σ2)\varepsilon_a\sim\mathcal N(0,\sigma^2),E[max⁡aQ^]≥Qˉ\mathbb E[\max_a\hat Q]\ge\bar Q 对任意 NN 与任意有界 σ\sigma 都成立,且随 NN 增大而单调增大。

9. 离线 RL 的失败原因是数据量不足;只要把日志规模扩大十倍,就可以直接套用在线算法(例如把 DQN 原样跑在这份数据上)。

10. DPO 不需要在线采样,所以只要它在偏好对上的准确率上升,就说明模型的回答真的变好了。

第一部分答案(每题 3 分:判断 1 分 + 理由 2 分)

解答

1. 错。 不动点属于贝尔曼最优算子 T\mathcal T(把 VπV^\pi 里的 ∑aπ(a∣s)\sum_a\pi(a\mid s) 换成 max⁡a\max_a),故它收敛到 V∗V^\ast;只有策略评估(解 vπ=(I−γPπ)−1rπ\boldsymbol v^\pi=(I-\gamma P^\pi)^{-1}\boldsymbol r^\pi)才给 VπV^\pi。给分要看到「期望 vs 最优」这对区分(定理 5.2.1、定理 5.2.2)。

解答

2. 对。 奖励缩放与学习率缩放确实会互相抵消一部分(梯度与噪声同倍放大,信噪比不变),但值函数的数值尺度由 Rmax⁡/(1−γ)R_{\max}/(1-\gamma) 决定,γ\gamma 越接近 1 越大;此外优势归一化、TD 目标的量级都会随之变化。所以「乘大奖励 = 放大有效学习率」这条经验只能当量级提醒,不能当稳定化手段(方法 5.7.1、5.4.7 即时自测 Q4)。

解答

3. 错。 均匀探索只保证「每个动作都有机会被采到」,不保证估计无偏:有限步内样本均值仍带噪声(选择税),而且常数 ε\varepsilon 有探索税上限 μ∗−ε(μ∗−μˉ)\mu^\ast-\varepsilon(\mu^\ast-\bar\mu)。衰减到 0.010.01 时这一项压到 εmin⁡\varepsilon_{\min} 量级,最佳可达回报更高——这正是「两条曲线末段必须比出高低」的原因(定理 5.1.1)。

解答

4. 错(期望不变、方差变)。 关键不在于「乘 10」这个操作本身,而在于 AA 的期望零性质:∑aπ(a∣s)Aπ(s,a)=0\sum_a\pi(a\mid s)A^\pi(s,a)=0 说明优势在策略分布下均值为 0,因此乘以任意常数(含负数)都不改变梯度期望,只把估计器方差放大 100100 倍。做题时若只答「乘 10 不影响结果」也只给 1 分——漏掉了方差(定义 5.5.1)。

解答

5. 对。 判据是「行为策略与目标策略是否同一个」:固定的随机策略在训练中不变,就是「与目标(max⁡\max 贪心)不同」的 off-policy,因此可用;Q-learning 的目标用 max⁡\max,与数据来源无关,所以不需要重要性修正(这点与 PPO 相反:那里必须有 ρ\rho)。但充分访问仍是前提:固定策略若长时间不覆盖某些 (s,a)(s,a),max⁡\max 会去挑那些只被估计得很高的动作(定义 5.3.2)。

解答

6. 对。 按轨迹展开时 pθ(τ)=ρ(s0)∏tπθPp_\theta(\tau)=\rho(s_0)\prod_t\pi_\theta P,其中 ρ\rho 与 PP 与 θ\theta 无关,取对数求导后只剩策略项,故「状态分布依赖 θ\theta」这一项在严格证明里被抵消为零。代价是推导需要额外证明那个多出的一项为零(Sutton 等 2000 的标准论证)(定理 5.4.1 的严格性说明)。

解答

7. 对(但要补一句)。 λ=0⇒A^=δt\lambda=0\Rightarrow\hat A=\delta_t(低方差高偏差),λ=1⇒Gt−V\lambda=1\Rightarrow G_t-V(低偏差高方差),中间是连续插值,故它是「偏差—方差旋钮」。补充:两端的「单调」是趋势性说法,实际还受 Critic 质量、回合长度、奖励尺度影响;工程默认 λ≈0.95\lambda\approx0.95 是因为它在这个趋势上取了一个便宜的折中(定理 5.5.1)。

解答

8. 错(两处:下界对、单调性要加分条件)。 max⁡\max 是凸函数 ⇒ Jensen 给 E[max⁡aQ^]≥Qˉ\mathbb E[\max_a\hat Q]\ge\bar Q,这一步对任意 N,σN,\sigma 成立;但「随 NN 单调增大」只在噪声独立同分布的假设下由极值理论给出(≈σ2ln⁡N\approx\sigma\sqrt{2\ln N});若动作间噪声强相关,max⁡\max 可能取到「一起高估」的少数几个,增量就远小于 2ln⁡N2\ln N 的预测。给分:指出「下界无条件、量级有条件」才给 2 分(定理 5.3.2)。

解答

9. 错。 离线 RL 的敌人是分布外动作的估值外推:单步自举误差被 1/(1−γ)1/(1-\gamma) 放大(γ=0.99\gamma=0.99 ⇒ 100 倍),而 max⁡\max 会主动挑数据外被高估的动作,形成循环。把数据集扩大十倍改变不了「真实决策所需的 (s,a)(s,a) 总有一部分在支撑集之外」,因此必须换用保守化(CQL)或避免查询数据外动作(IQL)的方法;第一问应是「数据里有没有好决策的足够证据」(定理 5.6.1、方法 5.6.1)。

解答

10. 错。 训练侧确实不需要采样,但评估必须看真实生成结果:pref_acc 上升可能只反映「学到了格式特征」;更根本的是 DPO 只约束相对差距,Δw\Delta_w 与 Δl\Delta_l 同时下降时损失反而更小 ⇒ 存在绝对似然坍塌风险。正确的验收是独立人评 + 通用能力回归 + 格式稳定性,而不是训练指标(例 5.6.1、5.6 的 errata)。

第二部分 · 填空与简答(5 题 × 4 分 = 20 分)

11. 写出 Q-learning 的更新式,并指出其中哪一个量决定了它是 off-policy;再写出表格情形下保证收敛的两个条件。

12. 三个动作的真实期望奖励 μ=(0.9,0.6,0.3)\mu=(0.9,0.6,0.3),用 ε=0.3\varepsilon=0.3 的 ε\varepsilon-greedy,且当前估计已指向最优动作:求单步期望奖励 E[r]E[r] 与探索税 Δ\Delta。

13. 「max⁡\max 与期望的交换」为什么会导致过高估计?写出噪声 i.i.d. 正态时的量级公式,并算 N=10,σ=1N=10,\sigma=1 与 N=16,σ=0.25N=16,\sigma=0.25。

14. 在 GAE 中,γλ\gamma\lambda 为什么会一起出现?给定 γ=0.99\gamma=0.99,λ=0.95\lambda=0.95 与 λ=1\lambda=1 相比,谁的有效记忆更短、约多少步?

15. DPO 的推导中 Z(x)Z(x) 为什么能抵消?由此给出「偏好数据必须满足的一条硬性要求」。

第二部分答案(每题 4 分)

解答

11. Q(st,at)←Q(st,at)+α[rt+1+γmax⁡a′Q(st+1,a′)−Q(st,at)]Q(s_t,a_t)\leftarrow Q(s_t,a_t)+\alpha\bigl[r_{t+1}+\gamma\max_{a&#x27;}Q(s_{t+1},a&#x27;)-Q(s_t,a_t)\bigr]。决定 off-policy 的是目标里的 max⁡a′\max_{a&#x27;}——它使目标策略(贪心)与产生数据的行为策略分离。收敛的两个条件:① 充分访问(每个 (s,a)(s,a) 被访问无穷多次);② 步长满足 Robbins–Monro:∑tαt=∞\sum_t\alpha_t=\infty、∑tαt2<∞\sum_t\alpha_t^2\lt\infty。(每空 2 分:更新式与 max⁡\max 1 分、两条条件各 0.75 分,缺「充分访问」扣 1 分。)(定义 5.3.2)

解答

12. μˉ=(0.9+0.6+0.3)/3=0.6\bar\mu=(0.9+0.6+0.3)/3=0.6;E[r]=(1−0.3)×0.9+0.3×0.6=0.63+0.18=0.81\mathbb E[r]=(1-0.3)\times0.9+0.3\times0.6=0.63+0.18=\mathbf{0.81};探索税 Δ=μ∗−E[r]=ε(μ∗−μˉ)=0.3×0.3=0.09\Delta=\mu^\ast-\mathbb E[r]=\varepsilon(\mu^\ast-\bar\mu)=0.3\times0.3=\mathbf{0.09}。(验算 0.9−0.81=0.090.9-0.81=0.09 ✓。只写一个数字不给分;写对公式但算错扣 1 分。)(定理 5.1.1)

解答

13. 因为 max⁡\max 是凸函数,由 Jensen 不等式 E[max⁡aQ^a]≥max⁡aE[Q^a]=Qˉ\mathbb E[\max_a\hat Q_a]\ge\max_a\mathbb E[\hat Q_a]=\bar Q——对随机变量取凸函数不满足「期望与函数可交换」,所以估计噪声被系统性地向上偏置。量级:E[max⁡aεa]≈σ2ln⁡N\mathbb E[\max_a\varepsilon_a]\approx\sigma\sqrt{2\ln N}。N=10,σ=1N=10,\sigma=1:2ln⁡10≈2.15\sqrt{2\ln10}\approx\mathbf{2.15};N=16,σ=0.25N=16,\sigma=0.25:0.25×2ln⁡16=0.25×2.354≈0.590.25\times\sqrt{2\ln16}=0.25\times2.354\approx\mathbf{0.59}。(公式 2 分、两个数值各 1 分。)(定理 5.3.2、例 5.3.2)

解答

14. (γλ)l(\gamma\lambda)^l 里:γl\gamma^l 来自折扣(第 ll 步后的奖励本来就该打折),λl\lambda^l 是人为给远处 TD 残差打的额外折扣,两者在闭式里天然相乘。1/(1−γλ)1/(1-\gamma\lambda):λ=0.95\lambda=0.95 时 γλ=0.9405⇒≈17\gamma\lambda=0.9405\Rightarrow\approx\mathbf{17} 步;λ=1\lambda=1 时 γλ=0.99⇒≈100\gamma\lambda=0.99\Rightarrow\approx\mathbf{100} 步。故λ=0.95\lambda=0.95 的有效记忆更短(约 17 步 vs 100 步),对应更小方差、更大偏差。(「两个来源」2 分;两个记忆长度 1 分;结论 1 分。)(定理 5.5.1)

解答

15. 因为 Z(x)=∑yπref(y∣x)exp⁡(r(x,y)/β)Z(x)=\sum_y\pi_{\text{ref}}(y\mid x)\exp(r(x,y)/\beta) 只依赖提示 xx、与回答 yy 无关,在差值 r(x,yw)−r(x,yl)=βlog⁡ππref∣w−βlog⁡ππref∣l+βlog⁡Z(x)−βlog⁡Z(x)r(x,y_w)-r(x,y_l)=\beta\log\frac{\pi}{\pi_{\text{ref}}}\big|_w-\beta\log\frac{\pi}{\pi_{\text{ref}}}\big|_l+\beta\log Z(x)-\beta\log Z(x) 中精确相减为零。由此得到硬性要求:偏好对的两条回答必须来自同一个 prompt——否则差值里会留下 βlog⁡Z(xw)−βlog⁡Z(xl)\beta\log Z(x_w)-\beta\log Z(x_l),DPO 损失不成立。(抵消机制 2 分;同 prompt 要求 2 分。)(定理 5.6.2)

第三部分 · 推导与计算(3 题 × 10 分 = 30 分)

16.(10 分)贝尔曼最优算子与收敛速度。 ① 证明 ∥TV−TU∥∞≤γ∥V−U∥∞\lVert\mathcal TV-\mathcal TU\rVert_\infty\le\gamma\lVert V-U\rVert_\infty(写清用到的两个工具);② 已知初始误差 ∥V0−V∗∥∞=κ=1.5\lVert V_0-V^\ast\rVert_\infty=\kappa=1.5、γ=0.9\gamma=0.9,求把误差压到 ε=10−3\varepsilon=10^{-3} 以内所需的迭代轮数(保留量级即可);③ 说明这条界在「离线」情形下会怎么变(用 1/(1−γ)1/(1-\gamma) 的放大说明)。

解答

① 压缩性:先用 ∣max⁡af(a)−max⁡ag(a)∣≤max⁡a∣f(a)−g(a)∣\lvert\max_af(a)-\max_ag(a)\rvert\le\max_a\lvert f(a)-g(a)\rvert(工具一:max 的 1-Lipschitz 性)把两个算子之差压到一个 max 的差;再注意到对 P(⋅∣s,a)P(\cdot\mid s,a) 的加权平均满足 ∣∑s′P(V−U)∣≤∑s′P∥V−U∥∞=∥V−U∥∞\bigl|\sum_{s&#x27;}P(V-U)\bigr|\le\sum_{s&#x27;}P\lVert V-U\rVert_\infty=\lVert V-U\rVert_\infty(工具二:PP 是概率分布)。于是 ∥TV−TU∥∞≤max⁡aγ∥V−U∥∞=γ∥V−U∥∞.\lVert\mathcal TV-\mathcal TU\rVert_\infty\le\max_a\gamma\bigl\lVert V-U\bigr\rVert_\infty=\gamma\lVert V-U\rVert_\infty . ② 轮数:由压缩性反复代入得 ∥Vk−V∗∥∞≤γkκ=1.5×0.9k\lVert V_k-V^\ast\rVert_\infty\le\gamma^k\kappa=1.5\times0.9^{k}。要求 1.5×0.9k≤10−31.5\times0.9^k\le10^{-3},即 k≥ln⁡(κ/ε)ln⁡(1/γ)=ln⁡15000.105≈7.310.105≈70 轮(O(log⁡(1/ε)log⁡(1/γ)) ✓).k\ge\frac{\ln(\kappa/\varepsilon)}{\ln(1/\gamma)}=\frac{\ln 1500}{0.105}\approx\frac{7.31}{0.105}\approx\mathbf{70}\ \text{轮}\quad\Bigl(O\bigl(\tfrac{\log(1/\varepsilon)}{\log(1/\gamma)}\bigr)\ \checkmark\Bigr). (验算:1.5×0.970≈1.5×6.3×10−4≈9.4×10−4<10−31.5\times0.9^{70}\approx1.5\times6.3\times10^{-4}\approx9.4\times10^{-4}\lt10^{-3} ✓。) ③ 离线情形:同样的三角不等式拆解给出 ∥Vk+1−V∗∥∞≤ε+γ∥Vk−V∗∥∞\lVert V_{k+1}-V^\ast\rVert_\infty\le\varepsilon+\gamma\lVert V_k-V^\ast\rVert_\infty(其中 ε\varepsilon 是数据外自举误差的上界),反复代入得稳态上界 ε/(1−γ)\varepsilon/(1-\gamma)——γ=0.99\gamma=0.99 时放大 100 倍。在线情形下这误差会被新数据纠正,离线情形下它会永久沉淀,故必须从源头压制 ε\varepsilon(不查询数据外动作或主动压低其值)。 给分:① 4 分(两个工具各 1.5 分 + 结论 1 分);② 2 分(表达式 1 分 + 轮数 1 分);③ 4 分(三角不等式拆解 2 分 + 1/(1−γ)1/(1-\gamma) 与 γ=0.99\gamma=0.99 的数值 2 分)。

17.(10 分)GAE 的手算:λ\lambda 如何改变同一个序列的估计。 给定 γ=0.9\gamma=0.9、四步 TD 残差 δ0=1.0, δ1=−0.8, δ2=0.6, δ3=−0.4\delta_0=1.0,\ \delta_1=-0.8,\ \delta_2=0.6,\ \delta_3=-0.4,从头往后写清每一步,求 A^0\hat A_0 在 λ=0\lambda=0、λ=0.5\lambda=0.5、λ=1\lambda=1 三种设置下的值;并用一句话解释为什么它随 λ\lambda 单调下降(提示:看后面两个残差的符号)。

解答

用递归 A^t=δt+γλA^t+1\hat A_t=\delta_t+\gamma\lambda\hat A_{t+1},A^4=0\hat A_4=0。

λ=0\lambda=0:A^t=δt\hat A_t=\delta_t ⇒ A^0=1.0\hat A_0=\mathbf{1.0}。

λ=0.5\lambda=0.5:γλ=0.45\gamma\lambda=0.45。 A^3=−0.4\hat A_3=-0.4;A^2=0.6+0.45×(−0.4)=0.42\hat A_2=0.6+0.45\times(-0.4)=0.42;A^1=−0.8+0.45×0.42=−0.611\hat A_1=-0.8+0.45\times0.42=-0.611;A^0=1.0+0.45×(−0.611)=0.725\hat A_0=1.0+0.45\times(-0.611)=\mathbf{0.725}。

λ=1\lambda=1:γλ=0.9\gamma\lambda=0.9。 A^3=−0.4\hat A_3=-0.4;A^2=0.6+0.9×(−0.4)=0.24\hat A_2=0.6+0.9\times(-0.4)=0.24;A^1=−0.8+0.9×0.24=−0.584\hat A_1=-0.8+0.9\times0.24=-0.584;A^0=1.0+0.9×(−0.584)=0.474\hat A_0=1.0+0.9\times(-0.584)=\mathbf{0.474}。

解释:后面两步的残差净额为负(−0.8-0.8 与 −0.4-0.4 主导了 +0.6+0.6),λ\lambda 越大就把越远的负残差按 (γλ)l(\gamma\lambda)^l 权重带进当前优势,故 A^0\hat A_0 单调下降。与正文对照:正文用同一条残差序列但取 γ=0.99\gamma=0.99,得到 A^0=1.0/0.4455/0.408\hat A_0=1.0/0.4455/0.408(λ=0/0.95/1\lambda=0/0.95/1);本题把 γ\gamma 调到 0.90.9 后同一趋势仍在(1.0/0.725/0.4741.0/0.725/0.474,λ=0/0.5/1\lambda=0/0.5/1),说明 γλ\gamma\lambda 才是真正决定「带多远」的乘积。这也说明 λ\lambda 的作用是平滑而不是换量级。 给分:三个数值各 2 分(要有中间量,只给结果减半);解释 4 分(须指出「后面的负残差被更大权重带入」)。

18.(10 分)DPO 权重的展开与极端情形。 把 Δt=log⁡πθ(yt∣x)πref(yt∣x)\Delta_t=\log\frac{\pi_\theta(y_t\mid x)}{\pi_{\text{ref}}(y_t\mid x)}(t∈{w,l}t\in{w,l})记牢,令 z=β(Δw−Δl)z=\beta(\Delta_w-\Delta_l):① 把 LDPO\mathcal L_{\text{DPO}} 展开成两项 −log⁡σ(z)=log⁡(1+e−z)-\log\sigma(z)=\log(1+e^{-z}),说明当 z>0z\gt0 与 z<0z\lt0 时它分别像什么监督损失;② 求 ∂L/∂Δw\partial\mathcal L/\partial\Delta_w 与 ∂L/∂Δl\partial\mathcal L/\partial\Delta_l,并说明 β\beta 在梯度里扮演什么角色;③ 讨论 β→∞\beta\to\infty 与 β→0\beta\to0 两个极端下训练会变成什么(提示:哪一项主导)。

解答

① 展开。 L=−log⁡σ(z)=−log⁡11+e−z=log⁡(1+e−z)\mathcal L=-\log\sigma(z)=-\log\frac{1}{1+e^{-z}}=\log(1+e^{-z})。

  • z>0z\gt0(偏好回答相对提升得更多)时 e−z<1e^{-z}\lt1,损失接近 log⁡2≈0.693\log2\approx0.693 且随 zz 上升继续下降——像已经分类正确但仍被轻微惩罚的样本;
  • z<0z\lt0 时 e−z>1e^{-z}\gt1,损失近似 ∣z∣|z|(线性增长)——像错分样本的 hinge/指数惩罚,且 σ\sigma 饱和后梯度趋近 0(难例不再贡献)。 也可把两部分写成显式形式:LDPO=−log⁡σ(z)\mathcal L_{\text{DPO}}=-\log\sigma(z),其中 z=βΔw−βΔlz=\beta\Delta_w-\beta\Delta_l,即「把 ywy_w 当正样本、yly_l 当负样本」的成对 logistic 损失。

② 梯度。 由 ddz[−log⁡σ(z)]=−σ(−z)=−(1−σ(z))\frac{d}{dz}\bigl[-\log\sigma(z)\bigr]=-\sigma(-z)=-(1-\sigma(z)),链式法则给 ∂L∂Δw=−β σ(−z)<0,∂L∂Δl=+β σ(−z)>0,\frac{\partial\mathcal L}{\partial\Delta_w}=-\beta\,\sigma(-z)\lt0,\qquad \frac{\partial\mathcal L}{\partial\Delta_l}=+\beta\,\sigma(-z)\gt0, 即提高 Δw\Delta_w、压低 Δl\Delta_l 能降损失;数值上用正文的 z=0.1,β=0.1z=0.1,\beta=0.1 得 ±0.0475\pm0.0475。β\beta 同时是梯度的乘性尺度与隐式奖励的尺度:β\beta 越大,同样的对数比率差造成越大的 zz(更快饱和),梯度也按 β\beta 放大——所以 β\beta 是 DPO 里最重要的超参数(太大几乎不学、太小迅速过拟合偏好数据)。

③ 极端情形。 β→∞\beta\to\infty:zz 被放大到饱和区,梯度 →0\to0,损失被「拉开偏好差距」这一步完全主导(绝对似然项被压到不起作用),训练几乎停滞或极易过拟合。β→0\beta\to0:z→0z\to0、σ(z)→12\sigma(z)\to\frac12,损失对 Δw−Δl\Delta_w-\Delta_l 的依赖变得平坦(一阶近似下 L≈log⁡2−z2+z28\mathcal L\approx\log2-\frac{z}{2}+\frac{z^2}{8}),此时绝对似然(SFT 式)项相对主导——这也解释了为什么「DPO + SFT 项」的变体(如 ORPO 把两者合并)在低 β\beta 区间更稳。 给分:① 3 分(展开 1 分 + 两种情形各 1 分);② 4 分(两个梯度各 1.5 分 + β\beta 的作用 1 分);③ 3 分(两个极端各 1.5 分)。

第四部分 · 开放题(2 题 × 10 分 = 20 分)

19.(10 分) 团队要把一个 7B 模型的对齐从「RLHF(PPO + 奖励模型)」改成 DPO,已有 1.2 万对同 prompt 的偏好数据、两台单卡机(无集群),并且已经有一个调好的 SFT 模型。请给出:(a) 该不该改、判据是什么;(b) 若改,训练配置与显存账;(c) 失败判据(至少三条,须可测量);(d) 验证计划。

解答

(a) 该不该改。 判据按方法 5.6.6 的「先问奖励从哪来」走:奖励来自人的成对比较 ⇒ 在 RLHF 与 DPO 家族里选。现有条件(1.2 万对数据已就绪、两台单卡、无集群)与 DPO 的优势高度匹配:不需要奖励模型、不需要在线采样、训练像 SFT,因此「该改」;但要明确代价:已知上界通常低于 RLHF(奖励模型可以随新数据持续更新),且 DPO 对标注噪声没有缓冲(噪声直接进策略梯度),所以要么确保数据质量,要么接受较低上限。

(b) 配置与显存账。 需要策略 + 参考模型两份权重(参考固定、用 torch.no_grad() 或预先算好 log 概率存盘),故显存约为「两份 7B 权重 + 优化器状态 + 激活」;单卡可行的手段是 LoRA(只训适配器)+ 梯度检查点 + 参考侧离线缓存 log 概率。关键工程点:参考模型的 log 概率必须用 fp32 计算/存盘——bf16/fp16 的误差可达 10−210^{-2},与 zz 的量级同阶,会把训练信号淹没(5.6.11 的三点读代码提示)。超参:β\beta 从 0.10.1 起步,学习率比 SFT 小一个量级,epoch 数少(1–2 轮),并用小验证集扫 β\beta。

(c) 失败判据(≥3,可测量)。 ① pref_acc 上升但验证集损失不降、或 margin 持续爆炸 ⇒ β\beta 或学习率太大(回退调小);② Δw\Delta_w 与 Δl\Delta_l 同时大幅下降 ⇒ 绝对似然坍塌(语言退化),需降学习率/缩短训练/加 SFT 项(ORPO 的做法);③ 输出长度系统性膨胀或风格套路化 ⇒ 长度/风格偏差未对冲(评估按长度分桶、做格式剥离对照);④ 通用能力回归测试(如常识/数学小基准)显著下降 ⇒ 过拟合偏好数据、对齐税过大。

(d) 验证计划。 与 SFT 基线做单变量对照(同一数据划分、同一评估集);评估必须看真实生成结果:独立人评(不与训练奖励同源)+ 通用能力回归 + 格式稳定性 + 长度分布;训练侧报每个 epoch 的 pref_acc、margin、Δw/Δl\Delta_w/\Delta_l 三条曲线;并做过优化探测:把训练步数拉长一倍,观察「人评先升后降」的拐点位置。评分:(a) 3 分(判据 + 说清代价);(b) 3 分(参考模型冻结 + fp32 数值坑 + LoRA/checkpoint);(c) 3 分(三条各 1 分,须可测量);(d) 1 分。

20.(10 分) 你的 DQN 在训练日志上表现得很好:episode_reward 从 −0.5 升到 0.85,loss 平滑下降,Q 均值从 1.2 涨到 9.8。但上线后业务指标没有改善。请给出:(a) 你会按什么顺序排查(写出前三步);(b) 每一步的可测量判据;(c) 若最终确认是「奖励被利用」,给出两条立刻可执行的措施;(d) 说明这次经历对「该记哪些日志」的启示。

解答

(a) 排查顺序:按方法 5.7.4 的固定顺序——先奖励、再评估协议、再探索、最后算法超参数。① 先核对奖励函数在训练与评估中是否完全一致(有没有塑形项、尺度是否相同、done 掩码是否两侧一致);② 再检查评估协议(是否用独立回合、确定性策略、独立种子;训练奖励与评估回报是不是同一个量);③ 再直接看行为轨迹(有没有套路化行为:绕圈、原地刷分、只做某一类动作)。 注意「Q 均值从 1.2 涨到 9.8」本身就是红旗:Q 值整体膨胀既可能是学习,也可能是过高估计(量级 σ2ln⁡N\sigma\sqrt{2\ln N},N=10,σ=1N=10,\sigma=1 时约 2.15/步,会被自举反复放大)——所以不能把 Q 值当成绩单。

(b) 每步判据:① 奖励一致性:同一段轨迹用训练奖励函数与评估奖励函数各算一次,两个数值必须相等(允许浮点误差 < 1e-6);不等就说明口径不一致。② 评估协议:把评估改成「独立种子集合 + 确定性策略 + 100 局」后,报出均值 ± 标准差与区间;若训练奖励上升而独立评估的区间与基线重叠(或更差),则训练指标无信息量(参见 例 5.7.1 的算法)。③ 行为审计:统计单位目标达成的步数/位移是否随训练上升、空闲动作占比是否升高、轨迹长度分布是否畸变(如出现「永不结束」的策略);再看 5–10 段录像做人工确认。

(c) 若确认是奖励被利用:① 回滚到较早的 checkpoint(KL 较小、Q 值尺度正常的那个),并以训练指标的拐点为停手点,同时调大 KL 系数或加早停;② 把奖励改成结果型 + 接手独立验收:删掉可被绕过的塑形项(或改成势函数形式的 ϕ(s′)−ϕ(s) \phi(s&#x27;)-\phi(s) ),并建立一套不与训练奖励同源的人评/独立基准按周期评估(方法 5.6.4);必要时补数据覆盖被利用的区域。

(d) 日志启示:必须把「训练指标」与「验收指标」分成两组记录,并且验收指标由独立流程产生;至少要记——奖励函数原文与版本、终止/截断规则、评估种子集合与回合数、确定性还是随机策略、每个种子的回报分布(不是最优值)、Q 值尺度与 TD 误差、以及行为侧的可测量统计(步数、位移、动作分布、轨迹长度)。这份清单与 5.7.6 的实验记录表一致;一句话:奖励分数是训练指标、不是验收指标。 评分:(a) 3 分(顺序对 + 认出 Q 值膨胀是红旗);(b) 3 分(三步各给一个可测量判据);(c) 2 分(回滚/停手 + 独立验收,各 1 分);(d) 2 分(训练 vs 验收分组 + 至少三项必记日志)。

评分标准

部分题量分值给分要点
一 · 概念判断1030判断 1 分 + 理由 / 反例 2 分;只写对错得 1 分;理由里缺「机制词」按半对给 1 分
二 · 填空简答520公式或结论 2 分 + 关键说明 / 数值 2 分;数值只给结果不给中间量减半
三 · 推导计算330首行或形状 / 定义 3 分 + 链条完整 4 分 + 前提与讨论 3 分;只写结论最多 3 分
四 · 开放题220方案具体 4 分 + 判据可测量 4 分 + 验证计划 2 分

段位换算:≥90\ge90 优秀(能给同学讲清两条主干与对齐流程);75 ⁣− ⁣8975!-!89 良好(能独立写训练循环并做多种子评估);60 ⁣− ⁣7460!-!74 及格(需补推导:B 组与第三部分);<60&lt;60 回到对应节的「即时自测」与习题集重做。

自评纪律:① 凡「A 比 B 好」类结论没有给种子数、回合数与回报分布的,相关小问直接判 0 分;② 推导题跳过 γλ\gamma\lambda、Z(x)Z(x) 这类关键中间量的,从「链条完整」里扣 2 分;③ 开放题只写方案不写失败判据的,第四部分上限 6 分。

漏点定位表

错题回去读立刻补做
1、16定理 5.2.1、定理 5.2.2、值迭代、附录 C.9习题集 A5、B1
2、3、12定理 5.1.1、5.1.4、方法 5.7.1习题集 A2、C2
4、7、14、17定义 5.5.1、定理 5.4.3、定理 5.5.1、例 5.5.1习题集 A6、B3、C4
5、9定义 5.3.2、定理 5.6.1、方法 5.6.1习题集 A4、D2
6定理 5.4.1 的推导、附录 C.10习题集 B2
8、13、20定理 5.3.2、例 5.3.2、方法 5.7.4习题集 C3、D1
10、15、18定理 5.6.2、例 5.6.1、5.6 的 errata习题集 B5、C6
19(第四部分)方法 5.6.6、5.6.11习题集 D3
20(第四部分)方法 5.7.4、例 5.7.1、方法 5.7.5习题集 D1、D4

最后一句:本卷的目的不是打分,而是把你以为会的地方暴露出来。凡有「写得出来但讲不清机制」的题,回到对应节的 intuition 与回忆卡当天再练一遍;连续两轮仍错的条目,写进勘误与补注第四节作为自己的薄弱点单独跟踪。