第 5 讲 · 学习目标自检表
目标原文来自学习目标(K / S / A)第 5 讲一节。用法:读完一讲,逐条自问能否做到;「半」或「不能」按最后两列回查。 打分口径:能不看书写出公式 / 说清机制 / 跑通代码并在白纸上复述理由,才算「能」;只能认出答案或看懂别人的推导算「半」;想不起依据算「不能」。
| 编号 | 目标(能……) | 自评 | 依据 | 对应习题 |
|---|---|---|---|---|
| K5.1 | 写出 MDP 五元组、贝尔曼期望方程与最优方程,并说明两者差在哪一步 | ☐ 能 / ☐ 半 / ☐ 不能 | 定义 5.2.1、定理 5.2.1、定理 5.2.2、定义 5.2.1 | A5、B1、B6 |
| K5.2 | 说明 DQN 的经验回放与目标网络各解决什么问题,并指出各自的代价 | ☐ 能 / ☐ 半 / ☐ 不能 | 方法 5.3.1、5.3.4 的 intuition、DQN 的两大稳定技巧 | A4、C3 |
| K5.3 | 写出策略梯度定理与 PPO 的裁剪目标,并解释 clip 如何替代 KL 约束 | ☐ 能 / ☐ 半 / ☐ 不能 | 定理 5.4.1、定义 5.5.2、方法 5.5.2、定义 5.5.2 | A7、A8、B2、B4 |
| K5.4 | 写出 DPO 损失,说明它为何不需要奖励模型、 控制什么 | ☐ 能 / ☐ 半 / ☐ 不能 | 定理 5.6.2、5.6.5 的 intuition、定理 5.6.2 | B5、C6、D3 |
| S5.1 | 按轨迹展开推导策略梯度定理,并指出因果性与基线各起什么作用 | ☐ 能 / ☐ 半 / ☐ 不能 | 定理 5.4.1 的推导、定理 5.4.2、定理 5.4.3、附录 C.10 | A6、B2 |
| S5.2 | 实现一个 PPO 训练循环,并以回报分布(多种子)验证改进 | ☐ 能 / ☐ 半 / ☐ 不能 | 5.7.3、方法 5.7.5、例 5.7.1、一份可执行的最小评估协议 | C4、C5、D4 |
| S5.3 | 分析一个奖励设计可能诱发的 hacking,并给出可测量的对策 | ☐ 能 / ☐ 半 / ☐ 不能 | 5.6.8、方法 5.6.4、方法 5.7.4 | D1、D3 |
| A5.1 | 在 PPO / DPO、online / offline 之间做取舍并说明判据 | ☐ 能 / ☐ 半 / ☐ 不能 | 方法 5.6.6、方法 5.6.1、方法 5.1.2 | D2、D3 |
附加核对(不计入上述八条,但「不能」就意味着训练会踩坑)
| 主题 | 能…… | 依据 | 对应习题 |
|---|---|---|---|
| 折扣的意义 | 说出选择 的三个理由,并算出等效视野 | 定义 5.2.3、例 5.2.1 | A2、B6 |
| 探索与探索税 | 用 算出常数 的代价与上限 | 定理 5.1.1 | A2、C2 |
| TD 与自举 | 写出 TD 误差、解释「 就停止学习」,并说出自举偏差的量级 | 定义 5.3.1、定理 5.3.1 | A3、C4 |
| 过高估计 | 用 估出 的乐观偏差,并说出两种纠偏手段 | 定理 5.3.2、例 5.3.2 | C3 |
| GAE 的旋钮 | 说出 为什么会一起出现、 两端各是什么极端 | 定理 5.5.1、例 5.5.1 | A7、B3 |
| 诊断仪表盘 | 读到 approx_kl / clip_frac / 熵异常时,各给出优先处置 | 方法 5.5.4 | C5、D4 |
| 训练循环的坑 | 指出 done 掩码、gather、torch.no_grad() 三处写错的后果 | 5.7.2、5.3.7 | C3、C5 |
| 评估协议 | 说明为什么「单条曲线 + 最优种子」不构成证据,并写出置信区间算法 | 方法 5.7.5、方法 5.7.6 | D4 |
常见失败模式快速对照(自检时最容易自我误判的五处)
| 你以为的问题 | 实际更可能是 | 先做哪一件事 |
|---|---|---|
| 算法不行,想换 DQN/PPO/DPO | 奖励写错或被 hack(训练奖励涨、独立评估不涨) | 先跑独立评估 + 看行为轨迹(方法 5.7.4 的 ①) |
| 学习率没调好(一上来就炼丹) | 探索不足(多种子收敛到不同次优解、熵早早塌到 0) | 放慢 衰减、上调熵系数(方法 5.7.4 的 ②) |
| 「我的实现没问题」(Q 值在涨) | 目标网络同步过快 ⇒ 目标在动、虚高被放大 | 检查同步周期 与 torch.no_grad()(5.7.2 的三个检查点) |
| 回报没涨,怀疑算法收敛慢 | 方差爆炸(梯度范数尖峰、单次更新后骤降不恢复) | 优势归一化 + 奖励缩放 + 加大 batch(方法 5.7.4 的 ④) |
| 「我的版本比同事高 5 分」 | 统计噪声:区间宽度远大于差值 | 按例 5.7.1 算区间,先降评估噪声(方法 5.7.6) |
判定: