JEPA4Japan · 教程

第 7 章——动力学预测器:在头脑中推动时间前进

1,263字 3分钟阅读 #LeWorldModel#世界模型#JEPA

通过 AdaLN 和因果上下文让潜在动力学以动作为条件,再比较教师强制训练与自回归规划滚动。

课程进度 课程大纲 已发布 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. 动作 A这样转动控制旋钮
  3. 动作 B换种方式转动
  4. 新的分支比较下一潜在状态
预测器为潜在状态加上一个动词:执行这个候选动作之后会发生什么?

同一个 TwoRoom 状态在不同动作下,分支为不同的预测后继状态。

一个小故事

把智能体放在门口下方。仅凭当前图像,无法决定明天会发生什么。“向左”“向右”和“停留”可能带来不同后继状态。编码器提供一个紧凑的名词——当前情形;动力学预测器提供一个动词——以动作为条件的变化。

当单帧图像无法显示运动时,历史信息会有帮助,但它不可能揭示每一种隐藏力、接触模式或被遮挡物体。输出只是确定性的潜在估计,并不承诺现实中的未来只有一个取值。

技术背包

概念接口如下:

state_history  = encode(observed_frames)     # [B,T,D]
action_history = encode(action_blocks)       # [B,T,D]
next_guesses   = causal_predict(state_history, action_history)

冻结的数据配置中,frameskip=5:一个模型步包含五个连续的环境动作。稠密动作块被展平,再映射到宽度 D。动作嵌入器采用宽度为一的时间卷积和一个小型多层映射,因此它不会在这里混合相邻时间位置;时间混合发生在因果 Transformer 中。

论文描述的预测器有六层,dropout 为 10%。动作通过 AdaLN 进入每一个条件 Transformer 块。动作路径会为注意力分支和前馈分支分别生成平移、缩放和残差门控,一共六个控制量。最终调制层从零开始初始化,因此动作调制在初始化时为中性,并可在学习中逐渐增强。

AdaLN 只是安装了一条控制线,并不能证明训练后的模型真的会听取动作。类似地,因果掩码能阻止模型偷看后面的 token,但不能证明模型学到了因果物理。未来突变检查应当显示:改变较晚的输入,不会影响较早的输出。

在冻结的四观测默认设置下,训练会对齐全部三组样本对:

context:      z0  z1  z2
actions:      a0  a1  a2
predictions:  p1  p2  p3
targets:      z1  z2  z3

这就是教师强制:上下文来自记录观测的编码结果。它不是教师编码器。规划期间,滚动展开会追加 p1,然后依据越来越多由模型自己产生的历史继续预测。冻结代码只保留最近的、长度由配置指定的历史窗口。

容易骗过我们的把戏

把所有动作块替换为零,从而关闭动作通道,同时保持数据、模型大小和预算一致。如果行为策略通常走同一条路线,即使动作被静音,模型也可能很好地预测出平均的后续状态。

现在选择一个受数据支持的门口上下文,其中向左和向右有不同的记录后继状态。固定视觉历史,交换动作,然后把预测状态之间的间距,与编码后真实后继状态之间的间距相比较。再加入一组自由空间对照,其中两个微小动作确实应产生相似效果。

必须区分三项指标:教师强制的单步误差、动作交换敏感性,以及随时域变化的开环误差。动作可以在第一步产生影响,却在后面消失;低单步误差可以与漂移并存;好的滚动展开也可能被错误的规划代价错误排序。

证据凭据

LeWorldModel v3 和冻结的 module.py 支持因果注意力与 AdaLN 路径。冻结的 jepa.py 支持以追加和截断方式进行的自回归滚动展开。

允许的表述是:v3 提供了一条动作条件路径、因果训练上下文和自回归规划。不要声称 AdaLN 能证明可控性,不要把教师强制理解成师生架构,不要说每一个 LeWM 步在所有配置中都代表五个原始动作,也不要说低单步误差保证规划成功。

快速检查

  1. AdaLN 使什么成为可能?它不能证明什么?
  2. 为什么这里的教师强制并不是师生架构?
  3. 哪三项诊断分别衡量局部预测、动作利用和滚动展开稳定性?