课程进度 课程大纲 已发布 48/48 课
第 0 部分——阅读指南:我们究竟要学什么?
第 1 部分——世界模型:智能体内部的沙盒
第 2 部分——把图像变成状态:LeWM 架构
第 3 部分——防止模型作弊:预测损失与 SIGReg
第 4 部分——让模型行动起来:在潜在空间中规划
第 5 部分——工程复现:从论文到可运行系统
第 6 部分——LeWM 究竟学到了什么?
第 7 部分——为什么“预测准确”仍可能“规划很差”
第 8 部分——从复现者到研究者
附录
先看全景
- 冻结一次失败相同回合、随机种子、候选。
- 向后排查从执行回溯到数据。
- 每次替换一层换成测量或预言机对应项。
- 只提出最小主张保留其他可能解释。

一个小故事
医生听到一句“病人无法移动”。原因可能是肌肉、神经、药物、疼痛,也可能只是监视器没有接好。替换一切也许能消除症状,却会破坏诊断。
LeWM 智能体静止不动,可能意味着表征崩塌、动力学听不见动作、代价平坦、CEM 样本糟糕、反归一化把动作归零,或一堵墙挡住了有效命令。应从一个冻结的失败样本开始,而不是从自己最喜欢的理论开始。
真正规则
从最后一个物理事实开始反向排查:
- 环境收到了预期的原始动作吗?
- 反归一化动作有变化,并且通过裁剪了吗?
- CEM 的提议分布和精英发生变化了吗?
- 候选代价有变化吗?
- 滚动展开会正确响应动作吗?
- 表征保留了所需差异吗?
- 数据窗口、时序和动作有效吗?
记录每个接口的两侧。只说“选定动作”并不完整,必须说明它是归一化值、裁剪值、重复动作、动作块级数值,还是环境单位。冻结规划器随机性和候选 batch。
为了检查动作利用,应固定一段历史,把记录动作、交换动作、归零动作和置换动作,分别与相应环境转移比较。输出发生变化,比非零梯度更有力;但如果变化方向错误,结果仍然是错的。
对于自反馈失败,使用同一段记录动作,分别在记录上下文路径和自反馈路径中重放。标记第一次分歧,并按门口、接触和支持范围切片。在这项更简单的比较可以解释之前,不要引入 CEM。
可能骗过我们的把戏
两段最终视频都显示一个不动的点。
智能体一: 候选和滚动展开都有变化;CEM 更新正确;但代价平坦,因为当前嵌入被错误复制到了目标位置。预言机代价能够区分冻结候选。
智能体二: 代价能够区分,CEM 也选择了很强的动作;但错误的归一化列在环境执行前把它变成了零。
症状相同,最早可观察到的断点却不同。
其他具有区分力的测试包括:
- 代价平坦:验证目标身份、广播、终端分布、打乱后的目标,以及预言机任务进度;
- 覆盖不足还是程序错误:把支持范围图谱与已知转移重放、极少量重复转移拟合交叉检查;
- 极小样本过拟合:按顺序增加复杂度——一个转移、同一上下文下的两个动作、一段短序列,再到门口/接触;
- SIGReg 主导:记录各项损失和模块梯度、分布宽度、预测,以及受控权重扫描;
- 小 batch:跨 batch 和随机投影重复统计,统计每个相对时间位置的不同样本数,并改变组成。
增加投影方向无法创造缺失观测。梯度累积也不会扩大 batch 级 SIGReg 检验实际见过的群体。
实验凭据
修复之前,归档源代码版本、检查点哈希、组合后的配置、数据集索引、原始观测、归一化与原始动作、候选 batch、代价和随机状态。
冻结 SIGReg 权重是 0.09;方法文字在没有另行说明时写作 0.1。PushT 的高权重消融只适用于特定任务,不是通用安全区间。只有在受控权重下,留出动力学和行为也发生变化时,较大的打印损失或梯度才足以称为“主导”。
诊断树是围绕 LeWorldModel v3 原始路径,以及冻结的 jepa.py、train.py 和 eval.py 构建的教程结构,提交为 8edfeb3。预言机修复只会在该项测试下把疑点指向被替换层;绝不能证明所有未替换层都正确。
快速检查
- 为什么固定动作重放必须先于规划器调优?
- 对一个不动的智能体,什么证据可以推翻“CEM 坏了”?
- 最早可观察到的断点与唯一根本原因有何不同?