v-Jepa2 入门笔记(1)
已将所有块级公式统一改为 $$ ... $$,行内公式统一改为 $ ... $,并保留上一轮对推理部分的详细扩充与整体润色。以下是修改后的完整文档:
V-JEPA 2 完整技术文档
1. 概述
V-JEPA 2 是 Meta 提出的两阶段自监督世界模型。第一阶段在大规模视频上预训练 ViT 编码器,学习时空可预测表征;第二阶段在少量机器人视频上后训练动作条件预测器,用于闭环模型预测控制(MPC)驱动机器人规划。
2. 两阶段训练
2.1 预训练:V-JEPA 2(无动作)
2.1.1 训练目标
V-JEPA 2 的核心设计哲学是在潜在表征空间中预测被掩码的视频段,而非重建像素。这一选择使得模型无需拟合光照、纹理、噪点等低级像素细节,而是直接学习“这里有什么物体、在什么位置、做什么动作”这类高层语义结构。
- 输入:视频 \(x_{1:T}\),切成 3D tubelet(如 \(2 \times 16 \times 16\))
- 随机掩码 \(M\),典型掩码率 90%
- 编码器 \(E_\theta\),EMA 目标编码器 \(E_{\bar\theta}\)
- 预测器 \(P_\phi\)
| 符号 | 含义 |
|---|---|
| \(M\) | 被掩码 token 的索引集合 |
| \(|M|\) | 被掩码 token 的数量 |
| \(x_{\text{vis}}\) | 可见(未掩码)的视频块 |
| \(x_{\text{mask}}\) | 被掩码的视频块 |
| \(E_\theta(\cdot)\) | 学生编码器,参数 \(\theta\) 通过梯度更新 |
| \(E_{\bar\theta}(\cdot)\) | EMA 教师编码器,参数 \(\bar\theta\) 通过 EMA 更新 |
| \(P_\phi(\cdot)\) | 预测器,参数 \(\phi\) 通过梯度更新 |
| \(\Delta_y\) | 可学习的掩码 token,指示被掩码块的位置 |
| \(\operatorname{sg}(\cdot)\) | 停止梯度操作 |
| \(|\cdot|_1\) | L1 范数(平均绝对误差) |
损失仅作用于被掩码的 token \(M\),可见 token 不参与损失计算。
2.1.2 损失函数逐项解释
① \(E_\theta(x_{\text{vis}})\):学生编码器处理可见块
视频被切分为 3D tubelet 序列,随机掩码后,学生编码器只处理剩余的可见 tubelet,输出可见 token 的表征:
其中 \(N_{\text{vis}}\) 是可见 token 数,\(D\) 是嵌入维度(ViT-g 为 1408)。
② \(\Delta_y\):可学习的掩码 token
\(\Delta_y\) 是一组可学习的向量,每个被掩码的位置对应一个这样的向量。它本身是模型参数,训练时通过反向传播更新。
- 作用:告诉预测器“这里缺了一块,请预测它的表征”
- 所有被掩码位置共享同一个可学习向量 \(\Delta_y\)
- 送进预测器时:\(\Delta_y + \text{ROPE}(p)\),因此每个被掩码块的实际输入因位置不同而不同
- 若使用 3D-RoPE,位置信息直接作用在注意力中,效果等价
编码器输出 \(z_{\text{vis}}\) 与掩码 token \(\Delta_y\) 沿序列轴拼接,送入预测器:
③ \(P_\phi(\cdot)\):预测器
预测器接收可见 token 表征和掩码 token 的拼接序列,输出对所有位置的预测:
其中 \(\hat{z}_i\)(\(i \in M\))是对被掩码位置 \(i\) 的预测表征。
④ \(E_{\bar\theta}(x_{\text{mask}})\):EMA 教师编码器的目标值
教师编码器 \(E_{\bar\theta}\) 接收完整的、未掩码的视频 \(x_{\text{mask}}\)(即被掩码块本身),输出目标表征:
教师编码器的参数 \(\bar\theta\) 不通过梯度下降更新,而是通过指数移动平均(EMA) 从学生编码器缓慢更新:
典型 \(m = 0.999\),也有余弦调度使 \(m\) 从 0.996 逐渐升至 1.0 的变体。
⑤ \(\operatorname{sg}(\cdot)\):停止梯度
\(\operatorname{sg}(\cdot)\) 是 stop gradient 操作:
- 前向传播:正常计算,值不变
- 反向传播:梯度到这里被切断,不再往回传
为什么需要它:如果没有 \(\operatorname{sg}\),梯度会通过目标值回传到教师编码器,导致学生和教师一起塌缩到平凡解(如所有输出变为 0)。\(\operatorname{sg}\) 确保只有预测器 \(P_\phi\) 和学生编码器 \(E_\theta\) 接收梯度,教师编码器仅通过 EMA 更新,提供稳定目标。
⑥ \(\|\cdot\|_1\):L1 损失
对预测表征 \(\hat{z}_i\) 与目标表征 \(z_{\text{target},i}\) 之间的每一个特征值计算绝对误差,然后取平均:
V-JEPA 2 选择 L1 而非 MSE,是因为 L1 对所有误差线性惩罚,提供更稳健的梯度,有利于十亿参数级 ViT-g 的训练稳定性。
⑦ \(\frac{1}{|M|}\sum_{i \in M}\):仅对被掩码 token 取平均
损失只计算被掩码位置 \(M\) 的预测误差,可见位置不参与损失。对每个被掩码 token 的 L1 误差取平均,得到该训练步的总损失。
2.1.3 掩码策略
V-JEPA 2 使用多块掩码(Multi-Block Masking):
- 每个视频/图像采样多个目标块
- 目标块较大(语义尺度),避免模型从局部纹理预测,导致学到的只是低级特征
- 上下文(可见部分)在空间上分散分布,确保提供足够的全局信息
- 典型掩码率 90%,迫使模型从极有限的可见信息中推断完整的时空结构
2.1.4 架构细节
- 编码器与预测器均为 ViT
- 位置编码:3D 旋转位置编码(3D-RoPE)
- 模型规模:ViT-L(3 亿)、ViT-H(6 亿)、ViT-g(10 亿)
- 数据:超过 100 万小时 视频,VideoMix22M
- 渐进分辨率训练:\(256 \times 256/16\) 帧 → \(384 \times 384/64\) 帧,加速 8.4 倍
- 总迭代:252K
2.1.5 3D Tubelet 解释
一个 tubelet 是视频中的一个小立方体片段,尺寸写作:
| 维度 | 数值 | 含义 |
|---|---|---|
| 第 1 维 | 2 | 时间深度:覆盖连续 2 帧 |
| 第 2 维 | 16 | 空间高度:覆盖 16 像素 |
| 第 3 维 | 16 | 空间宽度:覆盖 16 像素 |
通道数 \(C=3\) 通常不写进 tubelet 尺寸,因为线性投影会处理所有通道。实际张量形状是 \((2, 16, 16, 3)\)。
每个 tubelet 展平后:
得到一个 1536 维向量,再经过线性投影映射到编码器隐藏维度 \(D\)(ViT-g 中 \(D=1408\))。因此每个 tubelet 对应一个 token。
若输入视频总帧数 \(T\),分辨率 \(H \times W\),则 token 总数:
举例:\(T=16\),\(H=W=256\),则 \(N_{\text{token}} = 8 \cdot 16 \cdot 16 = 2048\)。
3D-RoPE 把特征维度分成三段,分别对时间、高度、宽度做旋转位置编码。
2.1.6 EMA 教师更新
教师编码器参数 \(\bar\theta\) 通过 EMA 从学生编码器参数 \(\theta\) 更新:
典型 \(m = 0.999\)。教师演化缓慢,提供稳定的预测目标,防止表征崩塌。
2.1.7 整体训练流程
- 采样视频片段,切分为 3D tubelet 序列
- 随机掩码,生成可见块 \(x_{\text{vis}}\) 和被掩码块 \(x_{\text{mask}}\)
- 学生编码器 \(E_\theta\) 处理可见块,输出 \(z_{\text{vis}}\)
- 拼接 \(z_{\text{vis}}\) 与可学习掩码 token \(\Delta_y\)
- 预测器 \(P_\phi\) 输出对所有位置的预测 \(\hat{z}\)
- 教师编码器 \(E_{\bar\theta}\)(EMA 更新)处理被掩码块,输出目标 \(z_{\text{target}}\)
- 计算 L1 损失,仅对被掩码位置,目标值经 \(\operatorname{sg}\) 停止梯度
- 反向传播,更新 \(\theta\)(学生编码器)和 \(\phi\)(预测器)
- EMA 更新教师编码器:\(\bar\theta \leftarrow m \cdot \bar\theta + (1-m) \cdot \theta\)
2.2 后训练:V-JEPA 2-AC(动作条件)
2.2.1 训练目标
在冻结的 V-JEPA 2 编码器基础上,训练一个潜在动作条件世界模型,使其能够根据当前状态和候选动作序列,预测未来视频帧的潜在表征,从而支持闭环模型预测控制(MPC) 进行机器人规划。
2.2.2 训练数据:Droid 数据集
- 数据规模:约 62 小时 未标注机器人视频
- 机器人平台:Franka Emika Panda 机械臂,7 自由度,配备两指夹爪
- 每帧状态:末端执行器状态 \(s_k \in \mathbb{R}^7\),包含 3 维笛卡尔位置 + 3 维方向(欧拉角) + 1 维夹爪状态
- 动作空间:\(a_k \in \mathbb{R}^7\),即状态增量(state deltas)
- 采样方式:随机采样 4 秒 视频片段,分辨率 \(256 \times 256\),帧率 4 fps,共 16 帧(丢弃短于 4 秒的视频)
关键说明:“未标注”指不使用任何额外元数据——不含奖励信号、任务类型标签、成功/失败标识,仅使用原始视频帧和末端执行器状态。
2.2.3 预测器架构
预测器 \(P_\phi\) 是一个约 3 亿参数的 Transformer,编码器 \(E_\theta\) 完全冻结。
| 组件 | 规格 |
|---|---|
| 层数 | 24 层 |
| 注意力头 | 16 个 |
| 隐藏维度 | 1024 |
| 激活函数 | GELU |
输入表示:每个时间步 \(k\) 包含三种 token:
- 视觉 token:\(z_k = E(x_k)\),其中 \(x_k\) 为 RGB 图像,\(E(\cdot)\) 为冻结编码器
- 末端执行器状态 token:\(s_k \in \mathbb{R}^7\)
- 动作 token:\(a_k \in \mathbb{R}^7\)
三种 token 分别经过独立的可学习仿射变换投影到预测器隐藏维度 \(D = 1024\)。
位置编码:
- 视觉 patch:3D 旋转位置编码(3D-RoPE),编码时间、高度、宽度三个维度
- 动作 token 与位姿 token:仅应用时间维度的旋转位置编码(1D RoPE)
输出投影:预测器最后一个注意力模块的输出经另一个可学习仿射变换映射回编码器嵌入维度。
注意力模式:块因果注意力(Block-Causal Attention)
在时间步 \(k\),每个 patch 特征可以关注:
- 同一时间步 \(k\) 的动作、末端执行器状态及其他 patch 特征
- 之前时间步 \(t \le k\) 的这些信息
即:token 在时间 \(k\) 可以关注所有时间 \(t \le k\) 的 token。这确保了自回归预测的因果性——不能看到未来。
2.2.4 损失函数
V-JEPA 2-AC 以自回归方式训练,总损失为两项之和:
该目标仅对预测器参数 \(\phi\) 进行优化,编码器 \(E_\theta\) 保持冻结。
① 教师强制损失(Teacher-Forcing Loss)
首先用冻结的 V-JEPA 2 编码器 \(E(\cdot)\) 独立编码每一帧,得到特征图序列:
其中:
- \(x_k\):第 \(k\) 帧 RGB 图像
- \(H \times W\):特征图空间分辨率(实际为 \(16 \times 16\))
- \(D\):嵌入维度(实际使用 ViT-g,\(D = 1408\))
然后,特征图 \(z_k\)、末端执行器状态 \(s_k\)、动作 \(a_k\) 按时间交错排列,形成序列:
预测器 \(P_\phi(\cdot)\) 处理这个序列,输出下一时刻的预测表征 \(\hat{z}_{k+1}\)。
教师强制损失定义为预测表征与真实表征之间的平均 L1 距离:
其中 \(T = 15\)。
逐项解释:
-
\(P_\phi\left( (a_t, s_t, E(x_t))_{t \leq k} \right)\):预测器在时间步 \(k\) 的输入是截至当前时刻 \(k\) 的全部真实历史:
- \(x_t\):第 \(t\) 帧 RGB 图像,\(256 \times 256 \times 3\)
- \(E(x_t)\):该帧的编码表征,\(16 \times 16 \times 1408\)
- \(s_t\):第 \(t\) 帧末端执行器状态,\(\mathbb{R}^7\)
- \(a_t\):第 \(t\) 帧动作(状态增量),\(\mathbb{R}^7\)
注意 \(t \leq k\) 的含义:预测器在时间步 \(k\) 可以看到从第 1 帧到第 \(k\) 帧的所有真实数据,然后预测第 \(k+1\) 帧的表征。这是“教师强制”的核心——输入全部来自真实观测,而非模型自身预测。
-
\(E(x_{k+1})\):第 \(k+1\) 帧的真实编码表征,由冻结编码器计算,作为预测的监督信号。这里没有 \(\operatorname{sg}(\cdot)\)——因为编码器已经冻结,不需要停止梯度。
-
\(\|\cdot\|_1\):对所有空间位置 \((H \times W)\) 和所有嵌入维度 \(D\) 求平均绝对误差:
\[\| \hat{z}_{k+1} - z_{k+1} \|_1 = \frac{1}{H \cdot W \cdot D} \sum_{h,w,d} \left| \hat{z}_{k+1}[h,w,d] - z_{k+1}[h,w,d] \right| \] -
\(\frac{1}{T} \sum_{k=1}^{T}\):对序列中每一个时间步 \(k = 1, \dots, T\)(\(T=15\))都计算一次预测误差,然后取平均。
一个具体的时间步示例:以 \(k = 3\) 为例:
- 预测器输入:\((a_1, s_1, E(x_1)), (a_2, s_2, E(x_2)), (a_3, s_3, E(x_3))\),全部是真实数据。
- 预测器输出:\(\hat{z}_4 = P_\phi\left( (a_t, s_t, E(x_t))_{t \leq 3} \right)\)
- 目标值:\(z_4 = E(x_4)\)
- 该时间步损失:\(\|\hat{z}_4 - z_4\|_1\)
② 展开损失(Rollout Loss)
将预测器的输出反馈为输入,使其自回归地预测多个未来时间步。
其中:
- \(a_{1:T}\):动作序列
- \(s_1\):初始末端执行器状态
- \(z_1\):初始视觉潜在表征
- \(P_{\phi}(a_{1:T}; s_1, z_1)\):从 \((s_1, z_1)\) 出发,给定动作序列 \(a_{1:T}\),通过自回归方式运行预测器后得到的最终预测状态表征
- \(z_{T+1}\):目标真实潜在表征
- 实际实现中 \(T=2\),即仅通过一个递归步骤对预测器进行反向传播
两项损失的作用对比:
| 损失 | 训练信号 | 作用 |
|---|---|---|
| 教师强制 | 从真实潜在一步预测下一步 | 提供密集的学习信号 |
| 展开 | 从预测潜在自回归展开 | 惩罚误差累积,弥补训练-测试差异 |
展开损失是唯一惩罚复合误差的项——教师强制让模型接触干净的真实历史,而推理时模型必须基于自身生成的、可能不完美的历史进行预测。展开损失弥补了这一差距,对稳定多步预测和减少 rollout 过程中的误差累积至关重要。
2.2.5 推理:闭环模型预测控制
本节在原文基础上大幅扩充,补充了问题形式化、CEM 算法细节、MPC 控制循环及实际超参数。
2.2.5.1 问题形式化:为什么不能直接求逆?
给定当前观测 \(o_t\) 和目标图像 \(o_g\),规划的目标是找到一条动作序列 \(a_{t:t+H-1}\),使得世界模型从当前状态出发、在执行该动作序列后,其最终预测表征尽可能接近目标表征。形式化地:
其中 \(d(\cdot, \cdot)\) 为潜在距离度量(V-JEPA 2-AC 使用 L1 距离),\(F_{wm}\) 为世界模型的自回归展开过程,\(z_{gt} = E(o_g)\) 为目标编码。
直接对非线性预测器 \(F_{wm}(\cdot)\) 求逆来解析地获得最优动作序列是难以处理的——预测器是深度 Transformer,其逆映射不存在闭式解。因此,V-JEPA 2-AC 采用交叉熵方法(Cross-Entropy Method, CEM) 来迭代优化动作序列。
CEM 的核心思想是:维持一个参数化的高斯采样分布(由均值 \(M\) 和标准差 \(S\) 描述),每轮迭代中从中采样一批候选动作序列,通过世界模型展开并评估其能量,然后根据“精英样本”更新分布参数,逐步将搜索聚焦到高回报区域。
2.2.5.2 第一步:编码当前状态与目标
推理开始时,首先使用冻结的 V-JEPA 2 编码器分别编码当前观测和目标图像:
编码器在每个控制步都需要重新运行,将最新的视觉观测映射到潜在空间。这一步是整个规划循环的基础——后续所有候选动作序列的评估,都是在潜在空间中比较预测表征与目标表征的距离。
2.2.5.3 第二步:CEM 优化动作序列
CEM 的每次优化迭代包含以下步骤:
(a)采样候选动作序列
从当前高斯分布中采样 \(N\) 条候选动作序列:
每条候选序列的维度为 \(H \times 7\)(规划时域 \(H\) 乘以动作维度 7)。初始时,\(M \leftarrow \mathbf{0}\),\(S \leftarrow \mathbf{I}\),即“认为动作可以向任何方向走”,没有先验偏好。
(b)世界模型展开
每条候选动作序列都会被送入世界模型进行自回归展开,以获得预测的未来潜在状态:
展开过程按时间步逐步进行:预测器在每一步接收当前潜在状态、末端执行器状态和候选动作 token,输出下一时刻的预测表征,然后将其作为下一步的输入,如此递归直到规划时域末端。
(c)能量评估
对每条候选序列,计算其预测末态表征与目标表征之间的 L1 距离作为能量(代价):
能量越低,说明该动作序列预测的最终状态越接近目标。
(d)精英选择与分布更新
按能量从低到高排序,选择前 \(K\) 条作为精英序列,然后用精英样本的统计量更新高斯分布的均值和标准差:
其中 \(\beta\) 为动量系数,控制新旧分布的混合比例。经过多次迭代后,分布逐渐收敛到“好动作”附近,最终取更新后的均值作为规划出的最优动作序列 \(\mathbf{a}_{t:t+H-1}^{*}\)。
实际超参数参考:在实际部署中,每次重规划周期内,CEM 在规划时域 \(H = 6\) 内采样 \(N = 400\) 个候选动作序列,保留前 8 个作为精英序列,并执行 8 次最优化迭代。部分实现中使用 800 个候选样本、10 次迭代。
2.2.5.4 第三步:MPC 控制循环——执行一步,重新规划
CEM 规划出的是一条完整的动作序列 \(\mathbf{a}_{t:t+H-1}^{*}\),但机器人只执行序列中的第一个动作 \(a_t^*\)。执行后,机器人获得新的观测,然后重新编码当前状态,从新的起点开始下一轮 CEM 规划。
这一“执行一步 → 重新规划”的循环即为闭环模型预测控制(Receding Horizon Control / MPC)。其核心逻辑是:展开过程会漂移,不能长期信任。MPC 通过不断重新规划,让误差没有机会在长时域上复合积累。
完整的 MPC 控制循环如下:
算法:V-JEPA 2-AC 闭环 MPC 规划
输入:目标图像 o_g,最大步数 max_steps
初始化:z_g = E(o_g) // 编码目标,仅需一次
for step = 1, 2, ..., max_steps do
// ① 感知
o_t ← 获取当前观测
z_t = E(o_t) // 编码当前状态
// ② 规划 —— CEM 优化
初始化 M ← 0, S ← I
for iter = 1, 2, ..., L do
A ← {a_1, ..., a_N} ~ N(M, diag(S²)) // 采样 N 条候选
for each a_i in A do
ẑ_{t+H} ← F_wm(z_t, s_t, a_i) // 世界模型展开
L_i ← ||ẑ_{t+H} - z_g||₁ // 能量评估
end for
E ← top-K(A, L) // 选择精英
M ← βM + (1-β)M_elite // 更新分布
S ← βS + (1-β)S_elite
end for
a* ← M // 取收敛后的均值
// ③ 行动
执行 a*[0] // 仅执行第一个动作
end for
2.2.5.5 推理效率与加速策略
与同类视频生成式世界模型(如 Nvidia Cosmos)相比,V-JEPA 2-AC 的推理速度快约一个数量级——因为它在潜在空间而非像素空间中做预测,每次 MPC 重规划约需 16 秒/步,而 Cosmos 需要约 4 分钟/步。这种效率优势来自于:
- 不生成像素:模型只预测潜在表征,避免了扩散模型多步去噪的高昂计算成本
- 冻结编码器:编码器仅在每个控制步运行一次(编码当前观测),而规划过程中的所有展开都在预测器(3 亿参数)上进行
- KV-Cache 复用:由于块因果注意力结构,已编码的历史帧可以通过 KV-Cache 复用,新帧只需编码一次并复用缓存历史,而非重新运行滑动窗口
2.2.5.6 局限性与改进方向
V-JEPA 2-AC 的 MPC 规划虽然有效,但存在明确的局限:
(1)长时程规划受限:单层 JEPA 配 CEM/MPC 在短任务上表现良好,但超过约 5 步后成功率显著下降,原因是预测误差的复合积累和搜索空间的指数增长。
(2)目标指定方式单一:当前仅支持通过图像指定目标,无法使用自然语言指令。对于“整理厨房”、“让房间安全”等开放性任务,不存在可以直接瞄准的目标图像。
(3)CEM 在连续空间中的采样挑战:CEM 在 \(K \times H \times |action|\) 维连续空间中采样,当 \(H=50\)、\(action\_dim=7\) 时就是 350 维空间,随机样本中命中好轨迹的概率随 \(H\) 指数下降。
改进方向:层次化世界模型——高层预测器提出子目标,低层预测器规划达成子目标的动作。在 PushT 任务上,两层结构将可靠规划时域从约 5 步扩展到 15 步。另一种思路是用 Flow Matching 等生成式方法替代 CEM 的高斯采样,以提高高维空间中的采样效率。
3. 与 DINO 的区别
| 维度 | DINO / DINOv2 | V-JEPA 2 |
|---|---|---|
| 骨干 | ViT | ViT |
| 输入 | 图像 2D patch | 视频时空 token |
| 机制 | 自蒸馏 | 掩码潜在预测 |
| 目标 | 视图不变性 | 时空可预测性 |
| 损失 | 学生匹配 EMA 教师分布 | 预测掩码 latent,L1 |
| 用途 | 静态语义特征 | 动态/物理/规划 |
形式化对比:
- DINO:同一图像增强 \(v_1,v_2\),学生 \(f_s\),教师 \(f_t\)(EMA)
- V-JEPA:
核心差异:
- DINO 学“不变性”,V-JEPA 学“可预测性”
- DINOv2 的 iBOT 分支与 JEPA 局部相似,但 iBOT 是图像内掩码,无时间维度
- V-JEPA 2 是视频时空掩码 + 动作条件世界模型

浙公网安备 33010602011771号