JEPA 与空间表征¶
世界模型不一定要预测像素。很多时候,预测“高层表征”或“空间结构”更适合决策,因为智能体关心的是物体、关系、可达性和动作后果。
1. 为什么不总是预测像素?¶
同一个未来可能有很多合理细节:
- 树叶怎么抖动不影响机器人走路。
- 物体纹理的微小变化不影响抓取。
- 背景人物的脸部细节不影响自动驾驶避让。
如果模型被迫预测每个像素,就会把大量能力花在无关细节上。JEPA 和空间表征路线都试图绕开这个问题。
2. JEPA:预测 embedding,而不是生成图像¶
JEPA(Joint Embedding Predictive Architecture)的核心是:
不是:
2.1 基本结构¶
graph LR
A[上下文 x] --> B[Context Encoder]
C[目标 y] --> D[Target Encoder]
B --> E[Predictor]
E --> F[预测目标 embedding]
D --> G[真实目标 embedding]
F --> H[表征预测损失]
G --> H
训练目标:
其中 \(e(\cdot)\) 是编码器,\(q_\theta\) 是预测器。
2.2 JEPA 和自编码器的区别¶
| 方法 | 输入 | 目标 | 学到什么 |
|---|---|---|---|
| Autoencoder | 图像 | 重建同一张图像 | 尽量保留像素细节 |
| MAE | 遮挡图像 | 重建被遮挡 patch 的像素 | 学视觉结构和纹理 |
| JEPA | 上下文区域 | 预测目标区域 embedding | 学高层语义和结构 |
JEPA 不要求生成像素,所以它不会被“目标区域具体是什么颜色噪声”牵着走,更关注语义和结构。
2.3 Masking 怎么做?¶
以图像为例:
模型根据上下文 embedding 预测目标 embedding:
真实目标 embedding 来自 target encoder:
损失是:
这里 \(\text{sg}\) 表示 stop-gradient:目标分支不被这条损失直接更新,避免模型用平凡解投机。
2.4 I-JEPA¶
I-JEPA 从图像中遮掉一部分,让模型根据上下文预测目标区域的表征。它强调语义级预测,而不是像素级补全。
2.5 V-JEPA¶
V-JEPA 把这种思想扩展到视频,让模型预测未来或被遮挡视频片段的特征。它适合学习运动、外观和物理变化的高层表示。
对于世界模型,V-JEPA 的关键意义是:
这和机器人/智能体决策非常接近,因为决策关心的是“未来是否有障碍、物体是否会移动、目标是否可达”,而不是每个像素的纹理。
2.6 JEPA 适合什么?¶
适合:
- 学视觉表征。
- 学高层物理和语义结构。
- 作为规划或控制模型的 latent state。
不适合直接做:
- 高保真视频渲染。
- 像游戏一样可视化交互世界。
- 需要检查每个像素细节的场景。
3. 隐空间预测的关键:别塌缩¶
如果只要求预测 embedding,模型可能学到无意义的常数表示:
这叫 representation collapse。
常见避免方式:
- target encoder 使用 stop-gradient 或 EMA。
- 加方差/协方差正则。
- 用 masking 策略让模型必须理解语义。
- 结合价值、动作或物理约束,让表征服务决策。
3.1 为什么会塌缩?¶
如果 context encoder 和 target encoder 都可以自由更新,最简单的“作弊”方式是:
这样预测永远正确,但 embedding 没有任何信息。
3.2 Stop-Gradient 的作用¶
stop-gradient 的意思是:目标 embedding 当成固定目标,不让预测损失直接把它也改掉。
很多自监督方法都会用类似思想,例如 BYOL、DINO、JEPA。
3.3 JEPA 如何接世界模型?¶
JEPA 本身主要是表征学习。要变成世界模型,还需要接动作和动力学:
训练目标可以写成:
如果没有动作条件,它更像视频表征预测;加上动作条件,才更接近可用于决策的世界模型。
4. 显式 3D 表征¶
世界模型也可以显式维护三维空间:
| 表征 | 含义 | 优点 | 缺点 |
|---|---|---|---|
| 点云 | 三维点集合 | 简单、直接 | 稀疏、拓扑不连续 |
| Mesh | 顶点和面片 | 工程可用、可编辑 | 重建难,拓扑复杂 |
| Voxel/Occupancy | 空间格子是否被占用 | 适合碰撞和路径规划 | 分辨率高时成本大 |
| NeRF | 用神经网络表示辐射场 | 视角合成好 | 动态和编辑较难 |
| 3D Gaussian Splatting | 用高斯表示场景并快速渲染 | 渲染快、质量高 | 动态交互和物理仍需额外建模 |
4.1 3D 表征为什么重要?¶
机器人和自动驾驶必须处理:
- 物体在空间中的位置。
- 遮挡后物体仍然存在。
- 可通行区域和碰撞。
- 从不同视角看到同一个世界。
显式 3D 表征天然有几何一致性。
4.2 Occupancy:适合规划和碰撞¶
Occupancy 把空间离散成格子,预测每个格子是否被占用:
机器人导航中常用:
它不一定渲染得漂亮,但非常适合碰撞检测和路径规划。
4.3 NeRF:连续场景函数¶
NeRF 学一个函数:
输入 3D 位置和观察方向,输出密度 \(\sigma\) 和颜色 \(c\)。通过体渲染得到新视角图像。
优点:
- 多视角一致。
- 新视角合成质量好。
限制:
- 动态场景困难。
- 交互、接触、物理变化不是天然支持。
- 训练和渲染成本较高。
4.4 3D Gaussian Splatting¶
3DGS 用很多 3D 高斯表示场景,每个高斯有:
渲染时把这些高斯投影到相机平面并混合。它比 NeRF 更快,适合实时渲染和可视化。
但要变成世界模型,还要回答:
静态 3D 重建不是完整世界模型,动作条件动力学才是关键。
4.5 但 3D 不是银弹¶
显式 3D 的问题:
- 需要多视角、深度或重建约束。
- 物体交互、材质、形变和接触很难。
- 决策还需要动作条件动力学,不只是静态重建。
- 训练和渲染成本较高。
5. 结构化世界模型¶
除了连续 latent 和 3D 表征,还可以用结构化表示:
常见形式:
- scene graph
- object-centric slots
- graph neural network
- particle-based dynamics
- keypoint dynamics
5.1 Object-Centric 表征¶
object-centric 模型把场景拆成多个对象 slot:
每个 slot 表示一个物体或区域:
动力学可以写成:
这样模型能显式处理物体之间的交互,例如“夹爪接触方块后,方块跟随夹爪移动”。
5.2 图网络动力学¶
把物体看成节点,关系看成边:
GNN 更新:
这适合粒子、刚体、多物体交互等结构清晰的世界。
优点:
- 可解释。
- 适合物理关系和组合泛化。
- 数据效率高。
缺点:
- 需要可靠地分解物体。
- 对复杂纹理、流体、形变、开放世界很难。
- 手工归纳偏置强,通用性可能不足。
6. 怎么选表征?¶
| 任务 | 推荐表征 |
|---|---|
| 图像控制入门 | autoencoder/RSSM latent |
| 强化学习连续控制 | Dreamer/TD-MPC 风格 latent |
| 视觉理解和高层推理 | JEPA 表征 |
| 机器人抓取和导航 | 3D/occupancy + latent dynamics |
| 自动驾驶闭环模拟 | 视频 + 3D/传感器表征 |
| 物体交互小环境 | object-centric/graph |
| 交互式游戏世界 | video world model + latent action |
表征选择的原则
表征不需要保留世界的一切,只需要保留“对预测和决策有用”的信息。世界模型的好坏最终要看它能不能帮助智能体行动。
7. 表征学习检查清单¶
- 这个表征能预测未来吗?
- 这个表征是否保留奖励相关信息?
- 这个表征是否对无关纹理变化鲁棒?
- 这个表征是否支持动作条件预测?
- 这个表征是否能长期 rollout 不漂移?
- 如果表征不可视化,是否有其他指标验证它可用于控制?