JEPA4Japan · 教程

第 28 章——怎样把 LeVJEPA 接到下一代世界模型

1,244字 4分钟阅读 #LeVJEPA#JEPA#视频自监督学习#SIGReg

以明确的新增模块连接动作预测器、潜在滚动、不确定性、层次时间尺度与 MPC,并设计逐层证伪。

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

第 0 部分——先拿到地图

  1. 01 第 0 章——开始之前:这门课承诺什么 已发布
  2. 02 第 1 章——同一段视频,两扇不同的窗 已发布
  3. 03 第 2 章——沿着 Yann LeCun 的科研路线走一遍 已发布
  4. 04 第 3 章——别被名字绕晕:JEPA 家族树 已发布

第 1 部分——为什么简单目标会学会看视频

  1. 05 第 4 章——视频可以自己出题 已发布
  2. 06 第 5 章——保留意思,不重画每个像素 已发布
  3. 07 第 6 章——两张卡要相同,但不能全变成白纸 已发布
  4. 08 第 7 章——SIGReg:从许多影子检查一团点云 已发布
  5. 09 第 8 章——只用一行目标函数读懂 LeVJEPA 已发布

第 2 部分——把一段视频送进单编码器

  1. 10 第 9 章——全局视图与局部视图怎样配对 已发布
  2. 11 第 10 章——把视频切成时空小方块 已发布
  3. 12 第 11 章——一台编码器、一个投影头、一张摘要卡 已发布
  4. 13 第 12 章——一次完整前向传播 已发布
  5. 14 第 13 章——为什么扔掉 95% 反而更会看 已发布
  6. 15 第 14 章——块因果注意力:同一帧互看,未来不能偷看 已发布
  7. 16 第 15 章——RoPE、逐帧 token 与意外长出的密集特征 已发布

第 3 部分——会读实验,才算读懂论文

  1. 17 第 16 章——四组消融究竟回答了什么 已发布
  2. 18 第 17 章——相同轮数不等于相同花费 已发布
  3. 19 第 18 章——ImageNet、K400、SSv2 各考什么 已发布
  4. 20 第 19 章——把论文结果记成一本账 已发布
  5. 21 第 20 章——哪些结论现在还不能说 已发布

第 4 部分——从官方仓库到自己的实验

  1. 22 第 21 章——官方仓库地图 已发布
  2. 23 第 22 章——Walking Tours:十段长视频怎样变成训练数据 已发布
  3. 24 第 23 章——读懂默认配置并启动训练 已发布
  4. 25 第 24 章——先跑一个不会骗人的冒烟测试 已发布
  5. 26 第 25 章——不用训练:加载公开权重提取特征 已发布
  6. 27 第 26 章——在自己的视频上做冻结评估 已发布

第 5 部分——把表征接回世界模型路线

  1. 28 第 27 章——重要边界:LeVJEPA 不是规划器 已发布
  2. 29 第 28 章——怎样把 LeVJEPA 接到下一代世界模型 当前课程
  3. 30 第 29 章——十个从入门到论文级的研究项目 已发布

附录——随用随查的技术背包

  1. 31 附录 A——最低限度数学工具箱 已发布
  2. 32 附录 B——完整张量形状表 已发布
  3. 33 附录 C——术语表与论文时间线 已发布
  4. 34 附录 D——复现与审阅检查清单 已发布

加一层,证伪一层,再往上搭

  1. 冻结视觉先保住表征基线
  2. 加入动作轨迹给出干预
  3. 滚动未来预测潜在状态
  4. 计算代价比较目标与风险
  5. MPC只走一步再观察
以下是可证伪的扩展设计,不是官方 LeVJEPA 已实现的系统。

先把“看见什么”的字典锁住,再教一个小沙盘:“眼前是这样,推一下之后会怎样?”第一天就把所有零件一起改,失败时很难分辨是眼睛漂了、想象没学会,还是选路出了错。冻结视觉编码器,正是为了先保留一个已知基线。

第一层:只训练动作动力学

第一版冻结发布 encoder。历史观测是 [B,3,T,224,224];取与当前帧对应的 patch 状态 z_t:[B,N,D],而非能看完整窗口的 [CLS]。轨迹还需动作 a:[B,H,A]。新增一个 action-conditioned causal predictor(动作条件因果预测器),滚动得到 z_hat:[B,H,N,D];以真实后续帧的冻结表征计算 one-step 与 multi-step loss。这里的 predictor、loss 和动作数据全部属于新增设计。

先规定 token 对齐:同一相机、crop、帧率和 patch 网格下,第 (i) 个预测 token 才能与目标 token 比较;相机移动或遮挡时还需明确是否预测所有 patch、可见集合或聚合状态。最小损失可用下一步 latent MSE,但必须与 copy-last 比较,并分别记录静态背景与可动物体误差。若 predictor 只学背景,平均误差也可能很好看。

第二层:预测过关后再闭环

规划时给定目标图像 g,编码成 z_goal。CEM(交叉熵方法)等搜索器采样 K 条动作序列,让 predictor 在潜在空间滚动,以目标距离、碰撞或约束组成 cost,再执行最优序列的第一步并读取新观察。这套“计划—走一步—再观察”的闭环才是 MPC:

# 提议的伪代码;不是上游仓库函数
while not done:
    z0 = encode_causal(observation_history)
    candidates = cem.sample(K, horizon=H)
    futures = dynamics.rollout(z0, candidates)       # [K,H,N,D]
    scores = cost(futures, z_goal, constraints)
    env.step(candidates[scores.argmin(), 0])

六道门,最后一道才是机器人

证据梯子可以逐层设闸:①形状与未来泄漏测试;②one-step 胜过“复制当前状态”和忽略动作基线;③报告误差随 horizon 的曲线与不确定性校准;④反事实动作产生可区分的未来;⑤在模拟器中固定数据、预算、CEM 参数,与随机和 model-free 基线比较;⑥最后才做带停止条件、人工接管和分布外场景的闭环实验。哪一层失败,就先停在那一层诊断。

未来存在多种可能时,确定性 MSE 往往把它们平均成模糊的一条路。可以比较 ensemble(模型集合)、随机 latent 或能量式候选,并用覆盖率与校准误差验收。更长时间尺度可以增加慢层状态与子目标,不过每个新增模块都要先胜过单尺度、短 horizon 基线。若后来解冻 encoder,还需同时监控原 frozen probe 与嵌入谱,以发现狭窄控制数据带来的遗忘或坍塌。

论文指出块因果结构允许缓存过去,但冻结仓库和发布 Transformers 接口没有交付完整增量 KV-cache API;真正做流式系统时,应自行实现,并与“每次重编码全部前缀”逐 token 对齐。V-JEPA 2-AC 与 LeWorldModel 是设计参照,不是可直接复制的 LeVJEPA 结果。

这些是设计参照,不是完成声明

搭建时贴在桌边

  1. 世界模型扩展必须显式新增动作条件 predictor、cost、search 与 MPC。
  2. 先冻结 encoder、逐层证伪,再考虑端到端微调和长时规划。
  3. “理论上可缓存”不等于公开接口已实现可验证的流式 cache。

再加下一层之前

  1. 最小 predictor 必须接收哪两个核心输入?
  2. 为什么要与“复制当前状态”比较?
  3. MPC 为何只执行计划的第一步?
逐层核对
  1. 当前/历史潜在状态与候选动作。
  2. 视频相邻帧很像;若赢不了复制基线,预测器未学到有用动力学。
  3. 执行后用新观察纠正模型误差和环境扰动,再重新规划。