V-JEPA 2.1: Unlocking Dense Features in Video Self-Supervised Learning

Paper: arXiv:2603.14482 Code: facebookresearch/vjepa2 Code reference: main @ 204698b4 (2026-03-23)

1. Motivation(研究动机)

V-JEPA 系列的核心目标是让模型通过被动观察视频,在 latent space 中学习能支持理解、预测和规划的 world representation,而不是重建像素或依赖文本标注。V-JEPA 2 已经证明了大规模 video self-supervised learning 可以在动作识别、action anticipation 和 robot planning 中得到强全局表征;但这篇论文指出一个更细的瓶颈:上一代 V-JEPA 的特征虽然知道“场景大意”和“动作类别”,却不容易从 patch feature 中读出局部几何、物体边界、深度和时序一致的 dense structure。

具体问题有三层。第一,原始 JEPA / V-JEPA 训练损失只约束被 mask 的 target tokens:context tokens 只是 predictor 的输入条件,本身不被直接要求对齐 target encoder 的空间位置。因此 encoder 可以把大量局部细节压缩成有利于预测 masked region 的全局语义,而不必保证每个可见 token 都保留稳定的局部含义。论文用 PCA feature map 直接展示了这一点:V-JEPA 2 的 patch features 在单张图像和视频帧上呈现碎片化、噪声化的颜色块,相似的物体部件不会稳定落在相近的 principal components 上。

第二,dense downstream tasks 对这种局部结构非常敏感。论文先用简单 linear probing 验证 V-JEPA 2 的 dense 能力不足:ADE20K semantic segmentation 只有 22.2 mIoU,NYUv2 depth RMSE 为 0.682。相比之下,动作分类等 global tasks 依然较强,说明问题不是“模型不会看视频”,而是“最后层特征没有以线性可读的方式保留局部空间信息”。这对 world model 很关键,因为机器人抓取、导航、短时交互预测和 VideoQA 都需要知道物体在哪里、接触会发生在哪个局部区域、深度方向如何变化,而不只是输出一个全局类别。

第三,V-JEPA 2.1 试图解决的是一个 representation trade-off:如果直接强化局部 token 的自监督,dense tasks 会变好,但 global recognition 可能下降;如果只保留原来的 masked prediction,又无法获得稳定 dense features。论文的贡献不是换一个大模型名字,而是提出一套训练 recipe,在 latent prediction 框架内同时保留局部几何和全局语义,并验证它能扩展到 2B 参数 ViT-G、图像/视频混合数据和蒸馏模型。

Figure 1 解读:这张 teaser 直观展示了本文的主要动机。V-JEPA 2 的 dense PCA map 往往只给出松散、破碎的局部颜色,而 V-JEPA 2.1 的 patch features 在单图和视频中呈现更连续的语义区域;对于 world model 来说,这意味着 latent representation 不只是能识别“发生了什么”,也更容易定位“在哪里发生”和“如何随时间变化”。

2. Idea(核心思想)

核心 insight 是:JEPA 的 latent prediction 不必只监督 masked tokens;如果让 predictor 同时预测 visible/context tokens 的 target-encoder representation,并把这个约束分层施加到 encoder 的多个中间层,就能迫使每个空间-时间 token 保持可读的局部语义,同时通过权重调度和多层监督避免退化成简单复制 context。

V-JEPA 2.1 的关键创新可以概括为四个部件:Dense Predictive Loss 把原本只在 masked positions 上的 扩展到 context positions;Deep Self-Supervision 在多个 encoder 层级上施加同样的 latent prediction;Multi-Modal Tokenizer 用不同 patch embedding 处理 image 和 video,避免把 image 复制成静态视频;最后通过 VisionMix163M 数据、ViT-G 2B 参数和 high-resolution cooldown 扩展性能。

它和 V-JEPA 2 的根本区别在训练信号位置,而不是评价头或数据规模本身。V-JEPA 2 只要求 predictor 从 context 推断 masked target,因此 context token 可以成为服务预测的中间载体;V-JEPA 2.1 把 context token 本身也变成预测目标,而且对不同距离 mask 的 context token 加权,鼓励 feature map 在局部区域内有稳定、连续、可线性读出的结构。和 DINOv2/DINOv3 这类 image SSL 相比,V-JEPA 2.1 还保留了视频 latent prediction 的时序 grounding,因此在 SSv2、Ego4D STA、navigation 等 temporal / physical tasks 上更贴近 world-model 使用场景。

Figure 2 解读:这张汇总图把论文的 claim 压缩成一个任务谱:V-JEPA 2.1 不只是单点提升,而是在 dense depth / segmentation / VOS、anticipation、robot planning、global recognition 等任务上相对 V-JEPA 2 和 frozen-backbone SOTA 同时改善。它强调“dense feature 解锁”不是牺牲 global tasks 换来的。

3. Method(方法)

3.1 Overall framework:仍是 JEPA,但监督范围更密

V-JEPA 2.1 继承 JEPA 的双 encoder 框架。给定输入视频或图像,online encoder 处理被 mask 的 context view ,target encoder 处理 clean target view ,predictor 根据 context tokens 和 mask indices 预测 target encoder 的 latent features。target encoder 不是反向传播更新,而是 online encoder 的 exponential moving average,这与 BYOL / I-JEPA / V-JEPA 的 collapse prevention 思路一致。

原始 masked prediction loss 是: 其中 是 masked patch indices, 表示 target positions / mask information, 是 stop-gradient。V-JEPA 2.1 的 Dense Predictive Loss 加入 context loss: 直觉上, 让模型学会从可见区域预测不可见区域,保留 world-model 的 predictive property; 则防止可见 token 变成只服务全局预测的无结构 latent cache。距离加权让靠近 mask 边界、最相关的 context token 获得更强约束,同时降低全局复制的诱因。

Figure 3 解读:架构图中最关键的是两条 token flow:video / image 先经过对应 tokenizer 形成 patch tokens,online encoder 只看 context tokens,target encoder 看完整 target view;predictor 不只输出 masked token 的预测,也输出 context token 的预测。Deep Self-Supervision 让目标和预测都覆盖多个 encoder layer,因此 loss 不只压在最后一层。

3.2 Dense Predictive Loss:为什么 context token 也要被预测

论文的诊断是:原 V-JEPA 的 context tokens 没有直接监督,因而可以丢失局部空间可读性。V-JEPA 2.1 先用 PCA 可视化证明,加上 context loss 后,狗头、车轮、行人等相似语义部件在 PCA 色彩空间中更一致。这个现象解释了为什么 simple linear probe 在 ADE20K 和 NYUv2 上能显著受益:线性头不需要重新“发明”局部几何,只要读取已经结构化的 dense representation。

但是 naive context loss 会带来退化风险:如果 太大,predictor 可以更关注复制或重建可见 tokens,global action recognition 下降。论文 Table 2 显示固定 从 0.05 增至 1.0 时,ADE20K 从 26.4 提升到一段后回落,但 SSv2 从 71.0 降到 51.1;加入 warmup 和 weighted scheme 后,ADE20K 达到 33.8,SSv2 回到 62.5。因此本文的 dense loss 不是简单“多加一个项”,而是通过距离权重与 warmup 控制局部监督和全局语义的平衡。

Figure 4 解读:上排是输入图,中排是 V-JEPA 2 的 feature PCA,下排是加入 后的结果。最重要的变化不是颜色更漂亮,而是同类局部结构在空间上更连续:头部、背景、物体边界更像一个可分割的 feature field。论文把这作为后续 dense task 提升的直接证据。

3.3 Deep Self-Supervision:让最后层同时保留低层几何和高层语义

只在最后层施加 dense prediction 仍然可能让早中层信息在深层 Transformer 中被抽象掉。V-JEPA 2.1 因此从三个 intermediate encoder blocks 加上 output layer 取出特征,沿 channel 维拼接;一个轻量 MLP 把多层表示融合并降维,再送入 predictor。predictor 最终产生四个层级的输出, 都分别作用在这四个层级。

这一步的效果在 ablation 中很明显:只加 Context Loss 时,IN1K/SSv2 从 V-JEPA 2 的 82.2/72.8 降到 72.6/62.5,虽然 NYU/ADE20K 改善为 0.474/33.8;加入 Multi-level Prediction 后,IN1K/SSv2 恢复到 80.8/72.1,NYU/ADE20K 进一步到 0.463/38.6。换言之,Deep Self-Supervision 是解决“dense loss 牺牲 global semantics”的关键补丁。

3.4 Multi-Modal Tokenizer:image 不再被当作静态 video

V-JEPA 2 的 image-video joint training 采用单一 3D convolution patch embedding;image 需要在时间维复制成 16-frame static video。这会增加计算成本,也给图像引入错误 inductive bias:模型被迫把静态图像理解成无运动的视频。V-JEPA 2.1 为 video 使用 tubelet size 2、patch size 16 的 3D convolution tokenizer,为 image 使用独立 image pathway,并加入 modality learnable token,让 encoder / predictor 知道输入来自 image 还是 video。

论文在数据上从 VideoMix22M 转到 VisionMix163M:SSv2 168K ego videos 权重从 0.056 提到 0.170;Kinetics 733K 权重从 0.188 降到 0.010;HowTo100M 1.1M 权重从 0.318 降到 0.100;YT-1B 19M 权重从 0.188 提到 0.720;并用 LVD-142M 替换 ImageNet 作为大规模 curated image source。目标是提高视觉多样性,同时让 video source 更偏向具有时序变化和真实场景多样性的样本。

3.5 Scaling、cooldown 与 distillation

主训练阶段使用 16 frames、4 FPS、video/image crop 256,训练 135,000 steps;cooldown 阶段训练 12,000 steps,论文表格报告 video 64 frames、384 crop,image 512 crop。模型从 ViT-L 300M 扩展到 ViT-G 2B 带来系统性提升:SSv2 从 72.6 到 76.1,IN1K 从 81.6 到 84.8,ADE20K 从 41.4 到 47.1,NYUv2 RMSE 从 0.415 降到 0.365;cooldown 后最终 ViT-G 达到 SSv2 77.7、IN1K 85.5、ADE20K 47.9、NYUv2 0.307。

蒸馏部分把 ViT-G teacher 的能力转给 ViT-L / ViT-B。论文说明 distillation 仍采用 JEPA loss、masking 和类似超参,但用 frozen teacher 替换 EMA target encoder;predictor 只在最后层计算 loss,不使用 deep self-supervision,并改为 12 blocks 来稳定训练。结果上,ViT-L from scratch 到 distilled ViT-L 的 SSv2 从 74.2% 到 76.5%,ADE20K 从 42.0 到 46.7,KITTI RMSE 达 2.490,接近 ViT-G 的 2.461。

Figure 5 解读:这张 ablation 图说明 recipe 的顺序很重要。Context Loss 首先拉高 segmentation 但压低 classification;Deep Self-Supervision 把 classification 拉回来;VisionMix、Multi-Modal Tokenizer、model scaling 和 cooldown 继续把 dense/global 两端一起推高。

3.6 Released code 对应关系与实现差异

Code reference: main @ 204698b4 (2026-03-23) — pseudocode and mapping based on this commit

代码搜索确认公开实现位于 facebookresearch/vjepa2,仓库 README 明确列出 V-JEPA 2.1,PyTorch Hub 暴露 vjepa2_1_vit_base_384vjepa2_1_vit_large_384vjepa2_1_vit_giant_384vjepa2_1_vit_gigantic_384。训练代码集中在 app/vjepa_2_1/,配置在 configs/train_2_1/

Paper ConceptSource FileKey Class / Function
Dense predictive + context lossapp/vjepa_2_1/train.pyforward_target, forward_context, loss_fn, predict_all, weight_distance_loss
Context distance weightingapp/vjepa_2_1/models/utils/masks_dist.pycompute_mask_distance
EMA target encoderapp/vjepa_2_1/train.pymomentum update after optimizer step
Multi-level / deep predictorapp/vjepa_2_1/models/predictor.pyVisionTransformerPredictor, hierarchical_layers, return_all_tokens
Multi-modal tokenizerapp/vjepa_2_1/models/vision_transformer.pyPatchEmbed3D, patch_embed_img, modality embeddings
Pretraining / cooldown configsconfigs/train_2_1/vitG16/*.yamlpretrain-256px-16f.yaml, cooldown-256px-64f.yaml
Public inference entrypointshubconf.pyvjepa2_1_vit_*_384

论文公式与 released code 实现差异:论文 Appendix 的 pretraining hyperparameters 写 cooldown video crop 为 384、image crop 为 512,Context Loss 为 video 0.5 / image 0.7;但当前 released config configs/train_2_1/vitG16/cooldown-256px-64f.yaml 仍写 crop_size: 256img_data.crop_size: 256lambda_value_img: 0.5lambda_value_vid: 0.5,且 cooldown weight_distance_loss: false。因此 note 中训练超参同时记录论文表格值和 released config 值:论文结果应以论文表格为准,复现时不能只照当前 config 默认值假设已是 paper-final setting。

def dense_jepa_train_step(encoder, target_encoder, predictor, clips, masks_enc, masks_pred, optimizer, ema_m, cfg):
    # Source-grounded sketch from app/vjepa_2_1/train.py.
    # target_encoder is an EMA copy; no gradient flows through targets.
    with torch.no_grad():
        targets = target_encoder(clips, gram_mode=False, training_mode=True)
        targets = [F.layer_norm(t, (cfg.embed_dim,)) for t in targets]
 
    modality = "image" if clips.ndim == 5 and clips.shape[2] == cfg.img_temporal_dim_size else "video"
    context_features = encoder(clips, masks_enc, gram_mode=False, training_mode=True)
    pred_masked, pred_context = predictor(context_features, masks_enc, masks_pred, mod=modality)
 
    loss_pred = jepa_l1_loss(pred_masked, targets, masks_pred)
    loss = loss_pred
    if cfg.predict_all:
        d_weights = compute_mask_distance(masks_pred, masks_enc, cfg.grid_size, cfg.offset_context_loss)
        loss_ctx = jepa_l1_loss(pred_context, targets, masks_enc, d_weights=d_weights)
        loss = loss + cfg.lambda_value * loss_ctx
 
    loss.backward()
    optimizer.step()
    optimizer.zero_grad()
 
    with torch.no_grad():
        for q, k in zip(encoder.parameters(), target_encoder.parameters()):
            k.mul_(ema_m).add_(q, alpha=1.0 - ema_m)
    return loss
def multimodal_tokenizer_forward(vit, x, masks=None):
    # Source-grounded sketch from app/vjepa_2_1/models/vision_transformer.py.
    # Images have temporal dim == img_temporal_dim_size and use patch_embed_img.
    is_image_like = (x.ndim == 5 and x.shape[2] == vit.img_temporal_dim_size)
    if is_image_like:
        tokens = vit.patch_embed_img(x)        # image pathway, tubelet_size=1 in code
        tokens = tokens + vit.img_mod_embed
        mode = "img"
    else:
        tokens = vit.patch_embed(x)            # video pathway, PatchEmbed3D with tubelets
        tokens = tokens + vit.video_mod_embed
        mode = "video"
    if masks is not None:
        tokens = apply_masks(tokens, masks)
    return run_transformer_blocks(tokens, mode=mode)
def multi_level_predictor_forward(predictor, encoded_context, masks_context, masks_target, modality):
    # Source-grounded sketch from app/vjepa_2_1/models/predictor.py.
    x = predictor.predictor_embed(encoded_context)  # MLP when multiple hierarchical layers are concatenated
    pred_tokens = predictor.mask_tokens[0].repeat(x.shape[0], predictor.num_patches, 1)
    pred_tokens = apply_masks(pred_tokens, masks_target)
    x = torch.cat([x.repeat(len(masks_context), 1, 1), pred_tokens], dim=1)
    x = restore_token_order_by_mask_indices(x, masks_context, masks_target)
    x = x + (predictor.img_mod_embed if modality == "image" else predictor.video_mod_embed)
    for block in predictor.predictor_blocks:
        x, _ = block(x, mask=combined_masks)
    x = predictor.predictor_norm(x)
    x_pred, x_context = split_masked_and_context_tokens(x)
    return predictor.predictor_proj(x_pred), predictor.predictor_proj_context(x_context)
def compute_context_distance_weights(masks_pred, masks_enc, grid_size, offset_context_loss=True):
    # Source-grounded sketch from app/vjepa_2_1/models/utils/masks_dist.py.
    weights = []
    for pred_mask, enc_mask in zip(masks_pred, masks_enc):
        pred_xyz = separate_positions(pred_mask, grid_size)  # temporal, height, width indices
        enc_xyz = separate_positions(enc_mask, grid_size)
        dist = torch.cdist(enc_xyz.float(), pred_xyz.float(), p=2)
        dmin = dist.min(dim=-1).values
        if offset_context_loss:
            dmin = dmin / (grid_size // 16)
        weights.append(dmin.sqrt())  # train.py multiplies by 1 / d_weight
    return weights

4. Experimental Setup(实验设置)

数据集与规模

Pretraining 使用 VisionMix163M 思路整合 image 与 video。论文表格列出的核心来源包括:SSv2 168K ego videos / 168 hours;Kinetics 733K exo videos / 614 hours;HowTo100M 1.1M exo videos / 134K hours;YT-1B 19M exo videos / 1.6M hours;LVD-142M 142M curated images。V-JEPA 2.1 增加 image diversity,并调整 video sampling:SSv2 权重 0.170,Kinetics 0.010,HowTo100M 0.100,YT-1B 0.720。

Downstream 覆盖 dense perception、anticipation、planning、classification 和 VQA:Ego4D STA 用于短时物体交互预测;EPIC-KITCHENS-100 用于 action anticipation;NYUv2 / KITTI 用于 monocular depth;ADE20K / Cityscapes / VOC12 用于 semantic segmentation;DAVIS / YouTube-VOS 用于 video object segmentation;SSv2 / Diving-48 / K400 / IN1K 用于 global recognition;Tartan Drive、Scand、Sacson、Recon 用于 navigation planning;DROID raw 用于 robot arm predictor post-training;VideoQA 使用 PerceptionLM filtered subset 和 Llama 3.1 8B。

Baselines 与评价协议

Dense vision baselines 包括 Web-DINO、DINOv3 7B、PEcore、PEspatial、AM-RADIOv2.5、InternVideo2-1B、SigLIP2、DINOv2、DINOv3 ViT-H+ 和 V-JEPA 2。Global tasks 还比较 VideoMAEv2、InternVideo2、VideoPrism、V-JEPA、V-JEPA 2。STA 比较 StillFast、STAformer、GANO、DINOv2、DINOv3 和 V-JEPA 2;EK100 比较 InAViT、Video-LLaMA、PlausiVL 和 V-JEPA 2。

Metrics 包括:STA 的 Top-5 AP / mAP,核心 winning metric 是 mAP All;EK100 的 verb / noun / action mean-class Recall@5;Depth 的 RMSE(越低越好);Segmentation 的 mIoU;VOS 的 -Mean;classification 的 Top-1 accuracy;navigation 的 planning time、normalized ATE 与 RTE;robot manipulation 的 reach / grasp / pick-and-place success rate;VideoQA 的平均准确率和各 temporal benchmark 子项。

Training config

论文 Appendix 表示所有 ViT-L / ViT-g / ViT-G 使用相同主训练超参:Primary phase 为 16 frames、4 FPS、video crop 256、image crop 256、135,000 steps、12,000 warmup steps、global image batch 2,304、global video batch 128、start LR 、final LR 、weight decay 0.04、EMA 0.99925、mask spatial scale [0.15, 0.7]、tubelet size 2、patch size 16、predictor blocks 24、predictor embedding size 384。Cooldown phase 为 64 frames、4 FPS、12,000 steps、paper 表格中的 video crop 384 / image crop 512、final LR

Released config anchor:configs/train_2_1/vitG16/pretrain-256px-16f.yaml 使用 nodes: 16tasks_per_node: 8、video per-process batch 24、image batch 72、K710/SSv2/HowTo weights 0.335/0.100/0.565、predict_all: trueweight_distance_loss: truepred_depth: 24pred_embed_dim: 384model_name: vit_giant_xformerslambda_value_img/vid: 0.5epochs: 1000ipe: 300configs/train_2_1/vitG16/cooldown-256px-64f.yaml 使用 nodes: 32tasks_per_node: 8、video batch 12、64 frames、is_anneal: trueepochs: 40anneal_ckpt 指向 pretrain checkpoint。

Figure 6 解读:STA task 要在观察到 V_ 后预测未来 contact frame 中的 active object、noun、verb 和 time-to-contact ,但输出坐标系仍在最后观测帧 。这使任务同时依赖 dense localization、object semantics 和 short-horizon dynamics。

5. Experimental Results(实验结果)

5.1 Recipe ablation:dense 与 global 的 trade-off 被逐步修复

Table 1 的核心趋势如下:V-JEPA 2 baseline 为 IN1K 82.2、SSv2 72.8、NYU 0.682、ADE20K 22.2;加入 Context Loss 后,NYU / ADE20K 改善到 0.474 / 33.8,但 IN1K / SSv2 降到 72.6 / 62.5;加入 Multi-level Prediction 后,IN1K / SSv2 恢复到 80.8 / 72.1,NYU / ADE20K 到 0.463 / 38.6;加入 VisionMix 后为 81.6 / 72.6 / 0.418 / 40.8;加入 Multi-modal Tokenizer 为 81.6 / 72.6 / 0.415 / 41.4;Model Scaling 达 84.8 / 76.1 / 0.365 / 47.1;Cooldown 最终为 85.5 / 77.7 / 0.307 / 47.9。

这说明论文的主要改进不是某个单项 magic trick,而是 context supervision、multi-level supervision、data / modality / scale 一起构成稳定 recipe。尤其 Context Loss 单独看会损害 global tasks,因此 Deep Self-Supervision 是让 dense feature 不破坏 high-level semantic 的关键。

5.2 Anticipation 与 planning

Ego4D Short-Term Object Interaction Anticipation 上,V-JEPA 2.1 ViT-G 的 mAP All 为 7.71,超过 V-JEPA 2 ViT-g 的 6.02,也高于 DINOv3 ViT-7B 的 5.68 和 STAformer 的 5.67。更细的 AP 指标中,V-JEPA 2.1 ViT-G 在 AP b、AP b+V、AP b+、AP b+N+V、AP b++N、AP b++V、AP All、mAP N+ 等多项为最佳,例如 AP b=50.7、AP All=8.20。

EPIC-KITCHENS-100 action anticipation 上,V-JEPA 2.1 ViT-G 2B 达到 Verb 64.3、Noun 59.9、Action 40.8 Recall@5;对比 V-JEPA 2 ViT-g 1B 的 63.6 / 57.1 / 39.7,以及 PlausiVL 8B 的 55.6 / 54.2 / 27.6,说明放大模型后 high-level anticipation 仍受益。

Robot arm planning 中,VJEPA 2 在 800 samples、10 iterations、horizon 1、3 sec 下 Reach 100%、Grasp 60%、Pick-and-Place 80%;VJEPA 2.1 同样短 horizon 下 Grasp 提升到 70%,在 300 samples、15 iterations、horizon 8、14 sec 下 Grasp 达 80%,Reach 和 Pick-and-Place 保持 100% / 80%。论文解释失败主要来自 gripper action planning,而非 spatial understanding。

Figure 7 解读:机器人图展示了 V-JEPA 2.1 在 Franka Panda 上的 zero-shot grasp evaluation。作者强调深度理解更好使得沿 camera depth axis 的抓取更稳,这与 NYUv2 / KITTI depth 结果一致:dense feature 的改进能传导到 action-conditioned planning。

Navigation planning 中,NWM 平均 planning time 为 103.2s,Average ATE/RTE 为 3.032/0.696;V-JEPA 2.1 ViT-g 用 10.6s 达 2.975/0.690;V-JEPA 2.1 ViT-G 也用 10.6s,Tartan Drive ATE/RTE 最好为 5.687/1.187,Scand 最好为 1.038/0.285,Average RTE 最好为 0.688。作者据此称 V-JEPA 2.1 可实现约 speed-up without sacrificing performance。

Figure 8 解读:navigation 图展示了在 latent space 中从 start frame 到 goal frame 规划轨迹的 denoising steps。关键是规划发生在 learned latent representation 中,而 V-JEPA 2.1 的 dense / temporal consistency 让 latent trajectory 更适合作为 world-model planning substrate。

5.3 Dense perception

Dense visual tasks 中,V-JEPA 2.1 ViT-G 在 NYUv2 depth 上达到 0.307 RMSE,略优于 DINOv3 7B 的 0.309,也远优于 V-JEPA 2 ViT-g 的 0.642;KITTI 为 2.461;ADE20K 为 47.9;Cityscapes 为 73.5;VOC12 为 85.0;DAVIS-S 为 69.0;YouTube-VOS-S 为 72.7。DINOv3 在 ADE20K / Cityscapes / VOC / VOS 仍更强(如 ADE20K 55.9、Cityscapes 81.1、VOC 86.6、YT-VOS 74.1),所以 V-JEPA 2.1 的 dense feature 并非全面超过 image SSL SOTA;它最突出的证据是 depth、temporal consistency 和与 video/world tasks 的兼容性。

Figure 9 解读:深度可视化显示 V-JEPA 2.1 比 V-JEPA 2 有更锐利、更连续的局部深度边界。注意这不是用专门 depth-supervised backbone 训练出来的主模型,而是 frozen encoder 上的 linear / lightweight probe 结果,说明预训练特征本身含有更强几何信息。

5.4 Global recognition、VideoQA 与蒸馏

Global tasks 上,V-JEPA 2.1 ViT-G 达到 SSv2 77.7、Diving-48 89.2、K400 87.7、IN1K 85.5。SSv2 上它超过 V-JEPA 2 ViT-g 的 77.3、InternVideo2s-1B 的 69.7、DINOv3 7B 的 70.1,说明增强 dense features 没有牺牲 motion understanding;Diving-48 上 V-JEPA 2 仍略高(90.2 vs 89.2),K400 上 InternVideo2s-1B 最高为 89.4,IN1K 上 DINOv3 7B 最高为 88.4,因此 V-JEPA 2.1 的优势更集中在 motion / world-model 相关任务,而不是所有 appearance benchmarks。

VideoQA 中,作者用 V-JEPA 2.1 encoder + Llama 3.1 8B 训练 Video-LLM,并用过滤后的 PerceptionLM 子集训练。与同数据 regime 下的 VJEPA 2 ViT-g 相比,VJEPA 2.1 ViT-G 平均分 57.9 vs 57.8,PerceptionTest 83.1 vs 80.1,MVP 43.2 vs 40.9,TVBench 62.8 vs 62.6,MVBench 75.4 vs 73.3;但 TemporalBench 28.5 低于 32.3,TOMATO 38 低于 41.4。论文给出的 caveat 是,V-JEPA 2.1 LLM alignment 支持 64 frames,可能对某些短视频事件理解不如 V-JEPA 2 reproduction。

蒸馏结果说明较小模型可以继承大模型 dense benefit。ViT-L distilled 的 SSv2 从 scratch 的 74.2% 提升到 76.5%,接近 ViT-G 的 77.7%;ADE20K 从 42.0 到 46.7;KITTI RMSE 2.490 接近 ViT-G 2.461;DAVIS -Mean 68.7 接近 ViT-G reported 67.0 左右。ViT-B 则达到与 scratch ViT-L 竞争的水平,说明 V-JEPA 2.1 不只是一个 2B-only recipe。

5.5 结论与限制

论文证明,latent video prediction 可以通过更密的 token-level self-supervision 获得 high-quality dense features,同时保留 action recognition 和 anticipation 能力。最强证据来自三个方向的联动:PCA feature map 更连续;linear / lightweight probes 在 depth、segmentation、VOS 上显著提升;robot / navigation / STA 等 world-model 下游任务也受益。

需要保留的限制包括:第一,V-JEPA 2.1 在 ADE20K、Cityscapes、VOC12、VOS 等 dense segmentation / tracking 指标上仍未全面超过 DINOv3 7B;第二,VideoQA 的平均提升很小,而且 TemporalBench / TOMATO 下降;第三,复现实验成本极高,主模型需要 2B ViT-G、大规模 image-video mixture 和长训练阶段;第四,released config 与论文 Appendix 存在若干不一致,直接复现需要核对作者实际训练配置而非盲用默认 yaml。