JEPA4Japan · 教程

第 20 章——从零实现一个最小 LeWM 规划器

1,272字 4分钟阅读 #LeWorldModel#世界模型#JEPA

构建向量化 CEM 滚动与终点代价,执行第一段动作,与随机和预言机基线比较,并可视化一次失败。

课程进度 课程大纲 已发布 48/48 课

第 0 部分——阅读指南:我们究竟要学什么?

  1. 01 第 0 章——开始之前 已发布

第 1 部分——世界模型:智能体内部的沙盒

  1. 02 第 1 章——智能体为什么需要“想象未来” 已发布
  2. 03 第 2 章——为什么不直接预测下一张图像? 已发布
  3. 04 第 3 章——JEPA 思想:预测意义,而不是图像的复制品 已发布
  4. 05 第 4 章——用一张图看懂 LeWM 已发布

第 2 部分——把图像变成状态:LeWM 架构

  1. 06 第 5 章——轨迹数据:对模型而言,世界不是图像集合 已发布
  2. 07 第 6 章——视觉编码器:为每一帧签发“状态护照” 已发布
  3. 08 第 7 章——动力学预测器:在头脑中推动时间前进 已发布
  4. 09 第 8 章——一次完整的前向传播:跟随一个批次从头走到尾 已发布

第 3 部分——防止模型作弊:预测损失与 SIGReg

  1. 10 第 9 章——最危险的捷径:表示崩塌 已发布
  2. 11 第 10 章——预测损失:模型怎样学习下一步 已发布
  3. 12 第 11 章——SIGReg 的直觉:让表示空间“呼吸” 已发布
  4. 13 第 12 章——只保留最少却足够的数学 已发布
  5. 14 第 13 章——原始 LeWM 的端到端训练机制 已发布
  6. 15 第 14 章——训练一个不会立即崩塌的模型 已发布

第 4 部分——让模型行动起来:在潜在空间中规划

  1. 16 第 15 章——目标条件规划:从“我在哪里?”到“我要去哪里?” 已发布
  2. 17 第 16 章——潜在欧氏距离:方便,但未必可靠 已发布
  3. 18 第 17 章——CEM:用淘汰赛搜索动作 已发布
  4. 19 第 18 章——MPC:不要一次信任模型太久 已发布
  5. 20 第 19 章——长视界滚动:小误差怎样滚成大失败 已发布
  6. 21 第 20 章——从零实现一个最小 LeWM 规划器 当前课程

第 5 部分——工程复现:从论文到可运行系统

  1. 22 第 21 章——官方代码仓库与实验环境 已发布
  2. 23 第 22 章——第一个实验:TwoRoom 冒烟测试 已发布
  3. 24 第 23 章——第二个实验:复现 PushT 已发布
  4. 25 第 24 章——怎样公平评估世界模型 已发布
  5. 26 第 25 章——失败诊断手册 已发布

第 6 部分——LeWM 究竟学到了什么?

  1. 27 第 26 章——线性探针:潜在状态编码了哪些物理变量? 已发布
  2. 28 第 27 章——为潜在空间做一次“健康检查” 已发布
  3. 29 第 28 章——预期违背:模型会对“不可能事件”感到惊讶吗? 已发布
  4. 30 第 29 章——怎样严谨讨论“理解世界” 已发布

第 7 部分——为什么“预测准确”仍可能“规划很差”

  1. 31 第 30 章——训练目标与规划目标之间的差距 已发布
  2. 32 第 31 章——全局不崩塌不保证保留任务相关动力学 已发布
  3. 33 第 32 章——各向同性高斯先验何时过强? 已发布
  4. 34 第 33 章——长视界规划:预测得更远,还是规划得更聪明? 已发布
  5. 35 第 34 章——从位置距离到任务进度 已发布
  6. 36 第 35 章——多任务学习、真实机器人与视觉干扰 已发布
  7. 37 第 36 章——理论边界:何时能辨识真实状态? 已发布

第 8 部分——从复现者到研究者

  1. 38 第 37 章——设计一项可信的 LeWM 改进实验 已发布
  2. 39 第 38 章——十二个可执行的研究项目 已发布
  3. 40 第 39 章——LeWM 研究中的开放问题 已发布

附录

  1. 41 附录 A——最低限度的必需数学工具箱 已发布
  2. 42 附录 B——PyTorch 实现速查 已发布
  3. 43 附录 C——完整张量形状表 已发布
  4. 44 附录 D——实验配置卡 已发布
  5. 45 附录 E——论文时间线与证据等级 已发布
  6. 46 附录 F——术语表 已发布
  7. 47 附录 G——复现检查清单 已发布
  8. 48 附录 H——专家审阅检查清单 已发布

先看全景

  1. 冻结编码器和动力学此刻不再学习。
  2. 搜索CEM 提出完整计划。
  3. 排序把想象终点与目标比较。
  4. 执行运行 K 个动作块,观察,再重复。
最小规划器是一组可以检查的边界,而不是神秘黑箱。

规划器被拆分为目标、候选、滚动展开、代价、搜索、执行和轨迹接口。

一个小故事

搭建玩具铁路之前,先为每个连接器贴上标签。哪根线传递真实观测?哪根线传递想象潜在状态?哪个动作最终到达电机?

最小 LeWM 规划器也应该这样做。这里的“从头构建”是指围绕一个已经训练并冻结的检查点建立清晰接口。它并不是发明一种新的 LeWM 实现,也不能假装教程伪代码就是作者的确切运行时。

真正规则

请分开保存下列对象:

current images   [B, T_context, C, H_image, W_image]
current latents  [B, T_context, D]
goal latent      [B, D]
candidate actions[B, N, H_plan, A_block]
imagined latents [B, N, T_rollout, D]
candidate costs  [B, N]
execution prefix [B, K, A_block]

单独编码的目标进入终端代价,而不是动力学预测器。正确的向量化实现可以把 (B\times N) 展平以提高吞吐量,但必须保留每个环境、候选和目标的身份对应关系。应把一个小型循环实现与向量化路径比较;置换候选顺序,应只会以相同方式置换对应输出。

基准 LeWM 使用到目标的平方欧氏距离,为指定的最终预测潜在状态打分。模型保持冻结,CEM 则重新拟合动作提议分布。应同时记录采样到的最佳序列和最终提议均值。附录 B 与接受检查的 stable-worldmodel 快照都返回最终均值;改为执行 best_seen 是应明确标注的变体。

报告设置中,(H=5) 个模型动作块、(K=5),每个动作块包含五个环境动作。只有选定的前缀会进入现实;预测潜在状态永远不会作为虚假测量值写进真实观测缓冲区。

可能骗过我们的把戏

选择一个隔墙却很近的 TwoRoom 目标。在候选预算和真实动作预算固定时,用同一个冻结任务运行四种明确命名的设置:

  • 学习动力学 + 学习潜在代价;
  • 预言机动力学 + 学习代价;
  • 学习动力学 + 预言机代价,但前提是想象状态存在有效的评分桥梁;
  • 两者都用预言机,且采用相同有限搜索。

再加入等预算随机策略,以及另一项采用支持范围约束提议分布的设置。它们回答的是不同问题:预言机动力学测试替换滚动展开的效果;预言机代价测试替换排序的效果;两者都是预言机,仍不能让 CEM 变成最优;支持约束则会改变搜索位置。

如果预言机动力学修复了回合,说明滚动展开值得怀疑。如果预言机代价修复了回合,说明排序值得怀疑。如果两者都失败,应检查候选覆盖、动作表征、可达性和执行。单张最终图像无法定位原因。

实验凭据

每个 MPC 循环都要保存当前观测与目标身份、预处理、检查点、(H)、(K)、动作块语义、所有随机种子、采样与精英代价、提议分布宽度、支持范围警告、选定的归一化动作、原始环境动作、虚线表示的想象潜在状态、实线表示的返回观测、终止状态和耗时。固定投影可以帮助可视化两条路径,但原生潜在距离仍是实际测量值;模拟器坐标则应放进独立的特权信息面板。

来源边界是 LeWorldModel v3、冻结的 jepa.py 和 eval.py,提交为 8edfeb3。核心没有锁定其历史求解器依赖,尽管两个接受检查的求解器版本都返回最终均值。预言机和失败档案是教程诊断工具,而不是基准功能或可部署的纯像素结果。

快速检查

  1. 为什么目标潜在状态必须留在基准动力学滚动展开之外?
  2. 哪项断言可以揭示向量化实现中的身份混淆?
  3. 预言机动力学和预言机代价分别测试哪些不同瓶颈?