JEPA 技术演进深度解析:从直觉到世界模型
第一章:直觉层 —— 为什么我们需要新的 AI 架构?
1.1 当前大模型的"能力错觉"
假设有一个具体场景:
你问一个强大的语言模型:“帮我规划一次从北京出发、预算 2 万元、为期 10 天的欧洲旅行”
模型可能会给出看似完美的行程:
- 第 1-3 天:巴黎,参观卢浮宫、埃菲尔铁塔
- 第 4-6 天:罗马,斗兽场、梵蒂冈
- …
但深入追问就会暴露问题:
如果卢浮宫周一闭馆,行程怎么调整?
如果航班延误 3 小时,后续交通如何衔接?
如果突然下雨,户外景点如何替换?
→ 模型无法动态推理,因为它没有"世界如何运作"的内部模型
关键点 #1:
当前大模型本质是"统计关联引擎",而非"因果推理引擎"。
它们预测"下一个词最可能是什么",而非"如果这样做,世界会变成什么样"。
1.2 人类智能的关键:世界模型 (World Model)
对比人类的思考过程:
当你看到"杯子从桌边滑落"时:
1️⃣ 瞬间预测:杯子会下落 → 可能摔碎 → 需要接住或避开
2️⃣ 无需见过完全相同的场景(杯子颜色、桌子材质都不同)
3️⃣ 基于物理常识(重力)、物体属性(玻璃易碎)、过往经验快速推理
这种能力来自大脑中的"世界模型":
- 一个内部模拟器,能回答"如果...那么..."
- 在抽象层面运作("物体下落"而非"每个像素如何变化")
- 支持反事实推理("如果当时接住了会怎样")
关键点 #2:
智能的核心不是记忆海量数据,而是学会抽象和预测。
世界模型 = 抽象表征 + 动态预测 + 不确定性建模
1.3 技术挑战:为什么世界模型难以构建?
构建世界模型面临三重根本挑战:
| 挑战 | 具体表现 | 传统方法的局限 |
|---|---|---|
| 维度灾难 | 像素空间维度太高(224×224×3=15 万维) | 生成式模型(如 MAE)预测每个像素,计算冗余 |
| 不确定性 | 同一场景可能有多种合理未来 | 确定性预测会输出"模糊平均",丢失关键信息 |
| 抽象需求 | 预测需要聚焦"什么信息重要" | 像素级损失函数无法区分语义重要性与噪声 |
关键问题形式化:
给定输入 $x$(如视频前 10 秒),我们希望预测未来 $y$(后 10 秒)。但:
- $y$ 的空间太大,直接预测不可行
- $P(y|x)$ 是多模态的(多种可能未来)
- 我们真正需要的是支持决策的抽象信息,而非像素细节
这正是 JEPA 要解决的核心问题:如何在抽象空间进行有效预测?
第二章:概念层 —— JEPA 的核心思想
2.1 范式转变:从"预测像素"到"预测表征"
传统预测架构:
x (像素) → 编码器 → 预测器 → 解码器 → ŷ (像素)
↓
损失:‖y - ŷ‖²(像素级)
问题:解码器迫使模型关注所有细节,包括无关噪声。
JEPA 的革命性思路:
x → 编码器 f_θ → s_x (抽象表征)
↓
预测器 g_φ → ŝ_y (预测的表征)
↓
y → 目标编码器 f_θ' → s_y (目标的表征)
↓
损失:‖s_y - ŝ_y‖²(表征级)
核心创新:
- 预测目标转移:不预测 $y$ 本身,而预测 $y$ 的抽象表征 $s_y$
- 信息瓶颈设计:编码器 $f$ 被迫学习"什么信息值得保留"
- 双编码器架构:目标编码器 $f_{\theta'}$ 提供稳定学习目标
2.2 数学形式化:理解"为什么有效"
2.2.1 信息论视角
设 $X$ 为输入,$Y$ 为目标,$S_X = f_\theta(X)$ 为表征。我们希望:
$$\max_\theta I(S_X; Y) - \beta I(S_X; X)$$即:最大化表征 $S_X$ 关于目标 $Y$ 的信息,同时最小化关于输入 $X$ 的冗余信息。
直观解释:
- $I(S_X; Y)$ 大 → 表征包含预测未来所需的信息
- $I(S_X; X)$ 小 → 表征丢弃了无关细节(如像素噪声)
2.2.2 能量基模型 (EBM) 视角
JEPA 可视为一种能量基模型,定义能量函数:
$$F_w(x, y) = \| g_\phi(f_\theta(x_c), m) - f_{\theta'}(y) \|_2^2$$其中:
- $x_c$:$x$ 的可见部分(context)
- $m$:掩码信息(哪些部分被隐藏)
- $w = \{\theta, \phi, \theta'\}$:所有参数
训练目标:
$$\min_w \mathbb{E}_{(x,y)\sim p_{\text{data}}}[F_w(x,y)] + \lambda \cdot \text{Regularizer}(w)$$关键性质:
- 能量低 ⇔ $(x,y)$ 符合世界规律(如"球被抛出后会下落")
- 能量高 ⇔ $(x,y)$ 违反常识(如"球被抛出后悬停")
2.2.3 避免表征坍塌:正则化策略
问题:若不加约束,模型可能学到平凡解 $f_\theta(x) = c$(常数),使损失为零。
JEPA 的解决方案(非对比方法):
-
目标编码器使用 EMA:
$$\theta'_t = \tau \theta'_{t-1} + (1-\tau) \theta_t, \quad \tau \approx 0.996$$- 提供"慢目标",稳定训练动态
- 防止编码器与预测器协同坍塌
-
表征统计约束(如 VICReg):
- 方差项:$\text{Var}(s_j) \geq \gamma$,防止所有样本输出相同值
- 协方差项:$\text{Cov}(s_i, s_j) \approx 0$,减少特征冗余
✅ 优势:避免对比学习所需的 $O(B^2)$ 负样本计算
⚠️ 代价:需要仔细调正则化系数,理论保证较弱
2.3 核心概念总结
JEPA 的本质:
"不预测世界长什么样,而预测世界的关键抽象如何演化"
关键设计:
1. 表征空间预测:聚焦语义,忽略像素噪声
2. 掩码策略引导:通过"预测什么"控制"学习什么"
3. 正则化防坍塌:用统计约束替代对比负样本
第三章:I-JEPA:图像域的突破
3.1 动机:为什么从图像开始?
问题:如何验证"表征空间预测"思想可行?
选择图像的原因:
数据丰富(ImageNet 等)
评估标准成熟(线性探针、下游任务)
计算相对可控(相比视频)
可复用 ViT 等成熟架构
3.2 核心架构:三组件协同
输入: x ∈ ℝ^(3×224×224)
│
├─► [目标编码器 f_θ'] ──► s_y ∈ ℝ^(N×d) # 处理完整图像,参数通过 EMA 更新
│
├─► [掩码采样] ──► 选择目标块 T 和上下文块 C
│ │
│ ├─ 目标块:4 个,每个占图像 15-20% 面积,空间分散
│ └─ 上下文块:图像 \ 目标块(可见部分)
│
└─► [上下文编码器 f_θ] ──► s_x ∈ ℝ^(N_c×d) # 仅处理可见部分
│
▼
[预测器 g_φ] ──► ŝ_y ∈ ℝ^(N_t×d) # 预测目标块的表征
│
▼
损失:ℓ = (1/|T|) Σ_{j∈T} ‖ŝ_y^j - s_y^j‖₂²
3.3 关键创新
问题:如果掩码太小或太局部,模型可能只学习低级纹理,而非高级语义。
I-JEPA 的解决方案:
def sample_target_blocks(image_shape, patch_size=16):
"""采样语义丰富的目标块"""
targets = []
for _ in range(4): # 4 个目标块
# 1. 采样尺度:15-20% 图像面积(足够大以包含语义)
scale = uniform(0.15, 0.20)
h_t = int(sqrt(scale) * H_p)
w_t = int(sqrt(scale) * W_p)
# 2. 采样位置:随机但确保在边界内
x1 = randint(0, W_p - w_t)
y1 = randint(0, H_p - h_t)
targets.append((x1, y1, x1+w_t, y1+h_t))
# 3. 上下文 = 全图 \ 所有目标块的并集
# → 迫使模型整合全局信息,而非仅依赖邻近区域
return targets
设计原理:
- 大尺度目标:15-20% 面积 → 包含物体/场景级语义,而非局部纹理
- 多目标块:4 个分散块 → 增加任务多样性,避免过拟合特定模式
- 空间分散的上下文:模型必须整合远距离信息 → 学习全局依赖
3.4 训练细节
3.4.1 梯度流控制
可训练参数:θ (上下文编码器), φ (预测器)
冻结参数:θ' (目标编码器,通过 EMA 更新)
训练循环:
1. 前向:
s_y = f_θ'(x) # θ' 固定,无梯度
s_x = f_θ(x_visible) # θ 可训练
ŝ_y = g_φ(s_x, mask_info) # φ 可训练
2. 损失:ℓ = ‖ŝ_y - s_y‖²
3. 反向:仅更新 θ, φ
4. EMA 更新:θ' ← τθ' + (1-τ)θ # 关键!稳定目标
3.4.2 为什么需要位置编码?
预测器需要知道"预测哪个位置"的表征:
$$\hat{s}_y^j = g_\phi(s_x, p_j)$$其中 $p_j$ 是目标块 $j$ 的位置编码(可学习或正弦编码)。
注意:模型学习的是"给定上下文,某位置应该有什么语义",而非"某位置应该是什么像素"。
3.5 效果验证:如何证明学到了"好"表征?
3.5.1 标准评估协议
1. 预训练:I-JEPA on ImageNet-1K ( unlabeled )
2. 冻结编码器 f_θ
3. 线性探针:训练单层分类器 on frozen features
- 优化器:SGD, LR=0.1, batch=1024, 100 epochs
- 数据增强:仅测试时标准增强(⚠️ 预训练时增强不可用!)
4. 报告:ImageNet Top-1/Top-5 accuracy
3.5.2 结果
| 方法 | Backbone | 预训练时间 | ImageNet Top-1 | 优势 |
|---|---|---|---|---|
| MAE | ViT-H/14 | ~1500 A100-h | 83.3% | 像素重建 |
| I-JEPA | ViT-H/14 | ~1150 A100-h | 83.0% | 表征预测,更快收敛 |
| DINOv2 | ViT-H/14 | ~2000 A100-h | 84.1% | 对比+蒸馏 |
- I-JEPA 在更少预训练时间下达到接近 SOTA 的性能
- 在下游任务(深度估计、物体计数)上表现更稳健
- 表征的语义一致性更强(可视化显示更聚焦物体而非背景)
3.6 I-JEPA 的贡献与局限
贡献:
1. 首次验证"表征空间预测"在图像域可行
2. 提出多块掩码策略,引导学习高级语义
3. 证明 EMA+ 正则化可有效防坍塌,避免对比学习开销
⚠️ 局限:
1. 仍局限于静态图像,无法建模时序动态
2. 掩码策略需手工设计,缺乏自适应能力
3. 理论保证较弱,超参调优依赖经验
下一个问题:如何将这一思想扩展到视频,学习"世界如何随时间演化"?
第四章:V-JEPA:时序建模的突破
4.1 从"空间抽象"到"时空抽象"
图像 → 视频的核心挑战:
1️⃣ 时间冗余:连续帧高度相似 → 预测任务太简单
2️⃣ 动态建模:需要学习"什么在变化"而非"什么不变"
3️⃣ 时序尺度:短期运动(几帧)vs 长期依赖(几十帧)
目标:学习一个能预测"未来表征如何演化"的世界模型
4.2 核心扩展:时空掩码策略
4.2.1 问题:简单扩展会失效
若对每帧独立应用 I-JEPA 的 2D 掩码:
帧 1: [█][░][█] # ░ = masked
帧 2: [░][█][░]
帧 3: [█][█][░]
→ 模型可通过帧间插值轻松预测,无需学习动态
4.2.2 V-JEPA 的解决方案:时间重复掩码
def sample_temporal_masks(num_frames, strategy='short'):
"""生成时空掩码,强制关注变化"""
if strategy == 'short':
# Short-range: 关注局部运动(如物体移动)
num_blocks = 8
spatial_scale = 0.15 # 每块占 15% 空间
temporal_span = 2 # 连续 2 帧
else: # 'long'
# Long-range: 关注长期依赖(如事件发展)
num_blocks = 2
spatial_scale = 0.70 # 每块占 70% 空间
temporal_span = num_frames # 跨整个序列
masks = []
for _ in range(num_blocks):
# 1. 采样时间起始点
t_start = randint(0, num_frames - temporal_span)
# 2. 采样空间位置(同 I-JEPA)
h_t = int(sqrt(spatial_scale) * H_p)
w_t = int(sqrt(spatial_scale) * W_p)
x1, y1 = randint(0, W_p-w_t), randint(0, H_p-h_t)
# 3. 关键:在时间维度重复相同 2D mask
mask_3d = zeros((num_frames, H_p, W_p))
for t in range(t_start, t_start + temporal_span):
mask_3d[t, y1:y1+h_t, x1:x1+w_t] = 1
masks.append(mask_3d)
return union_of_masks(masks) # 取并集
设计原理:
- 时间重复:同一空间位置在连续帧被同时 mask → 模型必须预测"该区域如何随时间变化"
- 多尺度时序:
- Short-range (2 帧, 15% 空间):学习局部运动(如手部动作)
- Long-range (全序列, 70% 空间):学习长期依赖(如事件因果)
- 高掩码率:增加任务难度,迫使学习抽象表征
4.3 架构调整:适应视频输入
输入: V ∈ ℝ^(T×C×H×W), T=16 帧 (~2 秒@8fps)
│
├─► 时空 Patch 化: 16×16×2 (空间 16×16, 时间 2 帧) → L 个时空 token
│
├─► [目标编码器 f_θ']: 处理完整视频 → s_y ∈ ℝ^(L×d)
│
├─► [时空掩码]: 应用上述策略 → 可见 token + 目标 token
│
├─► [上下文编码器 f_θ]: 仅处理可见时空 token → s_x
│ │
│ ▼
│ [预测器 g_φ]: Transformer 架构(2-4 层 self-attention)
│ │ → 建模长程时空依赖
│ ▼
│ ŝ_y ∈ ℝ^(L_t×d): 预测目标时空 token 的表征
│
└─► 损失: ℓ = (1/L_t) Σ ‖ŝ_y^j - s_y^j‖₁ # L1 损失更鲁棒
关键调整:
- 预测器升级:MLP → Transformer,以建模时空依赖
- 损失函数:ℓ₂ → ℓ₁,对表征空间的异常值更鲁棒
- 评估方法:线性探针 → Attentive Probing(适应可变输入尺寸)
4.4 Attentive Probing
问题:传统线性探针假设输入尺寸固定,但视频任务输入长度可变。
解决方案:学习一个可聚合的查询 token
class AttentiveProbe(nn.Module):
def __init__(self, feature_dim, num_classes):
super().__init__()
self.query = nn.Parameter(torch.randn(1, feature_dim)) # 可学习查询
self.classifier = nn.Linear(feature_dim, num_classes)
def forward(self, features): # features: [B, L, d]
# 1. 注意力聚合: query 关注重要时空位置
weights = softmax(self.query @ features.transpose(-2,-1), dim=-1) # [B, 1, L]
pooled = weights @ features # [B, 1, d]
# 2. 分类
logits = self.classifier(pooled.squeeze(1)) # [B, num_classes]
return logits
- 适应任意长度/分辨率的输入
- 自动学习"哪些时空位置对任务重要"
- 计算高效(仅需训练少量参数)
4.5 效果
4.5.1 关键结果(Kinetics-400 动作识别)
| 方法 | 预训练数据 | 输入长度 | Top-1 Acc | 训练效率 |
|---|---|---|---|---|
| VideoMAE | K400 | 16 帧 | 78.2% | 基线 |
| V-JEPA | K400+SSv2 | 16 帧 | 79.1% | ~30% 更快收敛 |
| V-JEPA (long-range) | Same | 16 帧 | 80.3% | 需要更多计算 |
4.5.2 核心发现
- 时序掩码有效:时间重复策略显著提升动态建模能力
- 多尺度有益:short+long-range 组合 > 单一尺度
- 表征质量:可视化显示 V-JEPA 更聚焦运动物体而非背景
4.6 V-JEPA 的进展与未解问题
✅ 进展:
1. 首次将表征预测扩展到视频域,学习时空抽象
2. 提出时间重复掩码,有效避免"插值作弊"
3. 证明 Transformer 预测器 + Attentive Probing 的实用性
⚠️ 未解问题:
1. 时序长度仍受限(16 帧≈2 秒),无法建模长期依赖
2. 预测仍是"填空"而非"推演",缺乏因果推理
3. 未整合动作信息,无法支持规划
下一个问题:如何让模型学会"分层抽象",支持长期规划?
第五章:分层 JEPA:迈向规划的关键
5.1 为什么需要分层?
人类规划的本质:
高层: "去厨房拿杯子" (抽象目标)
↓ 分解
中层: "走到门口 → 开门 → 进入" (子目标序列)
↓ 分解
低层: "左脚迈步 → 右脚跟进 → 手伸向门把" (具体动作)
计算优势:
- 扁平搜索: 10 种动作 × 10 步 = 10¹⁰ 种组合 ❌
- 分层搜索: (3 高层策略) × (5 中层选项)³ × (2 低层动作)¹⁰ ≈ 10⁶ ✓
注意:
智能需要多层抽象:低层处理细节,高层处理意图,中间层桥接二者。
5.2 H-JEPA 架构:形式化分层预测
5.2.1 多层表征空间
定义 $L$ 层抽象空间 $\{\mathcal{S}^{(l)}\}_{l=1}^L$:
- $\mathcal{S}^{(1)}$:低级特征(物体位置、颜色、速度)
- $\mathcal{S}^{(2)}$:中级特征(动作片段、子任务状态)
- $\mathcal{S}^{(L)}$:高级特征(目标、意图、因果)
5.2.2 分层预测目标
$$\mathcal{L}_{\text{H-JEPA}} = \sum_{l=1}^L \alpha_l \cdot \mathbb{E}\left[ \left\| g_\phi^{(l)}(s_x^{(l)}, m) - s_y^{(l)} \right\|_2^2 \right]$$其中:
- $\alpha_1 > \alpha_2 > \cdots > \alpha_L$:强调低级重建(提供训练信号)
- 每层有独立的掩码策略和预测器
5.2.3 时序抽象:不同层级对应不同时间尺度
层级 1 (低层): Δt = 1-2 帧
- 表征: 物体位置、速度向量
- 预测: 短期运动轨迹(物理约束)
层级 2 (中层): Δt = 10-20 帧
- 表征: 动作嵌入(如"伸手"、"抓取")
- 预测: 子任务完成概率
层级 3 (高层): Δt = 100+ 帧
- 表征: 目标嵌入(如"拿杯子"、"倒水")
- 预测: 长期任务可行性
5.3 分层规划算法:从预测到决策
5.3.1 核心思想:分层模型预测控制 (MPC)
def hierarchical_plan(z_goal, horizon, max_depth=3):
"""
分层规划:高层生成子目标,低层执行具体动作
"""
# 1. 高层规划: 搜索抽象动作序列
# 输入: 目标表征 z_goal, 规划步长 horizon//10
# 输出: 抽象动作序列 [aa_1, aa_2, ..., aa_k]
abstract_actions = search_abstract_space(z_goal, horizon//10)
# 2. 中层细化: 为每个抽象动作生成子目标
subgoals = []
for aa in abstract_actions:
# 使用中层世界模型预测子目标
sg = refine_to_subgoal(aa, horizon//3)
subgoals.append(sg)
# 3. 低层执行: 生成具体动作序列
actions = []
z_curr = encode_current_state()
for sg in subgoals:
# 低层 MPC: 滚动优化
for step in range(horizon//3):
# 采样候选动作,用世界模型"想象"执行结果
a_opt = optimize_low_level(z_curr, sg, lookahead=5)
actions.append(a_opt)
# 更新状态(使用预测,非真实执行)
z_curr = world_model.step(z_curr, a_opt)
return actions[0] # 仅执行第一步,重新规划 (MPC 原则)
5.3.2 计算复杂度分析
设:
- $A_l$:第 $l$ 层的动作/子目标数量
- $H_l$:第 $l$ 层的规划步长
- $\prod_{l=1}^L H_l = H$:总规划步长
扁平搜索复杂度:$O(A^H)$(指数级)
分层搜索复杂度:$O(\sum_{l=1}^L A_l^{H_l})$(多项式级)
实例:$A=10, H=10$
- 扁平:$10^{10} = 100$ 亿 ❌
- 分层(3 层):$3^3 + 5^3 + 2^4 = 27 + 125 + 16 = 168$ ✓
将不可行的指数搜索转化为可行的多项式搜索。
5.4 当前进展与挑战
5.4.1 研究现状
- 理论框架:LeCun 的 H-JEPA 提案 [[4]] 提供了形式化描述
- 初步实现:MC-JEPA [[82]] 在运动/内容特征上展示分层思想
- 机器人应用:V-JEPA 2 [[84]] 的后训练展示规划潜力
5.4.2 关键挑战
| 挑战 | 具体表现 | 潜在方向 |
|---|---|---|
| 层级自动学习 | 当前需手工设计层级数和抽象粒度 | 元学习、神经架构搜索 |
| 跨层信息流 | 高层如何指导低层?低层反馈如何影响高层? | 注意力机制、消息传递 |
| 不确定性传播 | 低层预测误差如何影响高层决策? | 贝叶斯分层模型、置信度估计 |
| 评估困难 | 缺乏标准基准测试分层规划能力 | 设计分层任务基准(如长视频问答) |
5.5 阶段总结:分层是通往规划的关键一步
✅ 核心进展:
1. 形式化分层抽象框架,支持多时间尺度预测
2. 证明分层搜索可将规划复杂度从指数降为多项式
3. 初步展示在机器人任务中的应用潜力
⚠️ 待突破:
1. 自动化层级学习:如何自适应确定抽象粒度?
2. 跨层协调机制:高层意图如何有效约束低层执行?
3. 评估体系:如何量化"规划能力"而非仅"预测精度"?
下一个问题:如何将 JEPA 世界模型与实际决策系统集成?
第六章:应用层
6.1 V-JEPA 2:规模化与后训练
6.1.1 规模扩展
| 维度 | V-JEPA 1 | V-JEPA 2 | 提升意义 |
|---|---|---|---|
| 数据量 | 2M 视频 (VideoMix2M) | 22M 视频 (VideoMix22M) | 10× 多样性,覆盖长尾场景 |
| 时序长度 | 16 帧 (~2 秒) | 64 帧 (~16 秒) | 8× 时间理解,支持事件级推理 |
| 模型规模 | ViT-H/16 (630M) | ViT-g/16 (1B) | 更强表征能力,但需更高效训练 |
| 分辨率 | 224×224 | 224×224 (主) + 384×384 (实验) | 平衡计算与细节保留 |
6.1.2 后训练技术
1. Progressive-Resolution Training(渐进式分辨率训练)
动机:直接训练长序列计算成本高
方案:
1. 阶段 1: 用 16 帧预训练大部分步骤(高效探索)
2. 阶段 2 (cooldown): 用 64 帧微调最后部分(适应长上下文)
类比:LLM 的 long-context 训练策略
2. LLM Conditioning(语言对齐)
架构:
[视频] → V-JEPA 编码器 → 表征 → 投影层 → LLM 输入 → [文本输出]
训练流程:
1. 冻结 V-JEPA,仅训练投影层 (image captioning)
2. 解冻投影层 + 部分 LLM,训练 image QA
3. 端到端微调 video QA
价值:将视频理解能力注入语言模型,支持视频问答
3. Action-Conditioned Post-Training(机器人规划)
核心思想:将动作作为条件输入,预测未来状态
训练数据:(状态 s_t, 动作 a_t, 下一状态 s_{t+1}) 三元组
损失函数:
ℓ = ‖P_φ(s_t, a_t) - E(s_{t+1})‖₁ # 预测下一状态的表征
规划时:
1. 编码当前状态 z_curr 和目标状态 z_goal
2. 搜索动作序列 {a_1,...,a_T} 最小化 ‖rollout(z_curr, {a_t}) - z_goal‖
3. 执行第一步,观察真实结果,重新规划 (MPC)
6.2 机器人规划:端到端示例
6.2.1 任务设定
任务:让机械臂把红色方块放到蓝色方块上
传统方法局限:
- 需要大量 (状态,动作) 标注数据
- 难以泛化到新场景(不同物体、光照、视角)
- 试错成本高(真实机器人易损坏)
6.2.2 JEPA 方案
1. 预训练阶段:
- 用海量视频(非机器人数据)学习"物体如何运动"的世界模型
- 关键:学习物理常识(重力、碰撞)、物体属性(可抓取性)
2. 微调阶段:
- 用少量机器人数据(~62 小时)学习"我的动作如何影响世界"
- 训练动作条件预测器 P_φ(s, a) → ŝ'
3. 规划阶段(在线):
a. 编码:z_curr = E(当前图像), z_goal = E(目标图像)
b. 搜索:用 CEM 优化动作序列最小化 ‖rollout(z_curr, {a_t}) - z_goal‖
c. 执行:执行第一步动作 a_1*
d. 观察:获取真实下一状态,更新 z_curr
e. 重规划:重复 b-d (MPC)
6.2.3 优势分析
✅ 样本效率:世界知识来自视频,机器人数据仅用于"校准"
✅ 可解释性:预测的中间状态可可视化,便于调试
✅ 安全性:可在"想象中"测试危险动作,避免真实损坏
✅ 泛化性:学习的是通用物理规律,而非特定场景策略
⚠️ 挑战:
- Reality Gap: 仿真/视频与真实机器人的差异
- 动作空间离散化:连续动作的采样效率
- 长程规划:误差累积问题
第七章:局限、挑战与未来方向
7.1 当前技术局限
7.1.1 表征学习的根本挑战
问题 1:信息瓶颈的自动平衡
理想:编码器自动保留"任务相关"信息,丢弃噪声
现实:需手工设计掩码策略、正则化系数
潜在方向:
- 自适应掩码:基于信息增益动态选择预测目标
- 元学习:学习"如何设计掩码"的元策略
问题 2:多模态融合的统一框架
现状:视觉、语言、动作的表征空间仍相对独立
挑战:如何设计统一的抽象空间,支持跨模态推理?
示例需求:
"听到'玻璃破碎声' → 预测'可能有物体掉落' → 规划'检查地面'"
7.1.2 规划与决策的系统挑战
问题 3:Reality Gap 的缓解
世界模型在视频上训练,但需在真实环境决策
→ 预测误差累积 → 规划失败
缓解策略:
1. 不确定性估计:预测时输出置信度,低置信时请求人类干预
2. 在线校正:执行后快速微调预测器(meta-learning)
3. 仿真增强:用物理引擎生成合成数据填补真实数据缺口
问题 4:配置器 (Configurator) 的学习
LeCun 架构中,Configurator 负责:
- 分解复杂任务为子目标
- 动态调整各模块的注意力焦点
开放问题:如何让 Configurator 自身可学习?
- 强化学习?元学习?还是需全新范式?
7.2 理论层面的开放问题
7.2.1 表征学习的理论保证
问题:在什么条件下,$\arg\min_\theta \mathcal{L}_{\text{JEPA}}$ 能学到任务相关表征?
部分进展:
- 信息瓶颈理论提供定性指导 [[43]]
- 但缺乏针对非对比正则化方法的定量分析
7.2.2 因果推理的整合
当前局限:JEPA 学习的是相关性 $P(y|x)$,而非因果 $P(y|do(x))$
潜在方向:
1. 干预式训练:在预训练数据中引入"虚拟干预"
- 例:模拟"如果杯子被推,它会掉落"
2. 结构约束:在预测器中编码因果图先验
- 例:物体运动受物理定律约束
3. 反事实预测:训练模型回答"如果当时...会怎样"
- 需设计新的损失函数和评估协议
参考文献
-
愿景论文:LeCun (2022). A Path Towards Autonomous Machine Intelligence
https://arxiv.org/abs/2205.12868 : 理解 JEPA 在整体 AI 架构中的定位 -
I-JEPA:Assran et al. (2023). Self-Supervised Learning from Images with JEPA
https://arxiv.org/abs/2301.08243 掌握图像域实现细节 -
V-JEPA:Bardes et al. (2023). Revisiting Feature Prediction for Video
https://arxiv.org/abs/2304.06686 : 理解时序建模扩展 -
V-JEPA 2:Meta AI (2024). Scaling Video JEPA
https://ai.meta.com/blog/v-jepa-2/ : 了解规模化与后训练实践