MC-JEPA: A Joint-Embedding Predictive Architecture for Self-Supervised Learning of Motion and Content Features
Paper: arXiv:2307.12698
1. Motivation(研究动机)
MC-JEPA 要解决的不是“再做一个更强的 optical flow 网络”,而是一个更基础的表示学习缺口:主流 self-supervised visual representation 多数擅长学习 content feature,即帮助模型识别图像/视频里“是什么”的语义信息;但这些表示通常缺少 dense pixel-level motion、局部对应关系和位置变化信息。相反,unsupervised optical flow 方法能从连续帧中学习“像素从哪里移动到哪里”,却通常把语义内容当作无关因素,只优化重建、一致性、平滑性等低层 motion 目标。两条线各自很强,但 learned representation 仍然割裂:内容模型不理解运动,flow 模型不产出可迁移到 segmentation 等内容任务的通用特征。
这篇论文的具体目标是把这两种信号放进一个 shared encoder:一方面用 PWC-Net 风格的 coarse-to-fine flow estimator 在视频帧对上做 self-supervised optical flow estimation,学习 motion;另一方面用 VICReg 风格的 joint-embedding objective 在 ImageNet 图像上学习 content。作者把只做 flow 的版本称为 M-JEPA,把 flow + content 的 multi-task 版本称为 MC-JEPA。这里的 JEPA 含义不是像素级生成,而是在 latent/embedding space 中预测和对齐,使 encoder 产生既能支持 dense correspondence、又能支持 semantic segmentation 的 feature pyramid。
这个问题值得研究,是因为真实视觉世界的 useful representation 往往同时需要“物体是什么”和“它如何移动”。如果模型只学语义,它能做分类、分割,却可能对短时动态、遮挡、像素对应和 object tracking 缺乏结构化理解;如果模型只学 flow,它能估计运动,却难以迁移到 Pascal VOC、Cityscapes、ADE20k 或 DAVIS 这类内容理解任务。MC-JEPA 的研究价值在于证明 motion pretext task 不是只服务于 flow benchmark,而能反过来改善 content feature 的 localization;同时,content learning 也能帮助 flow estimator 利用更稳定、更有语义的 encoder feature。对于 LeCun 一脉的 JEPA/world-model 思路,这篇论文是从 static image JEPA 走向 video/motion representation 的一个中间环节:它还不是长视频预测或 action-conditioned world model,但已经把“在 latent space 中学习可预测结构”扩展到了像素级运动和语义内容的联合表示。
Figure 1 解读:这张 teaser 展示了论文的核心设定:同一个 encoder 被两个自监督任务共同训练。左侧/上侧的 content branch 从 ImageNet 图像的两种增强视图中学习 invariant representation;右侧/下侧的 motion branch 从视频连续帧中估计 optical flow。关键不是把两个模型拼起来,而是让 flow objective 和 SSL objective 都更新同一个 encoder,使最终特征同时携带 motion 与 content 信息。
2. Idea(核心思想)
核心洞察可以压缩为三句话:dense motion 是一种强局部监督信号,但只有在与语义 content 表示共享 encoder 时,才会变成可迁移的 visual representation;content SSL 提供稳定语义结构,flow SSL 提供像素级对应和运动结构,两者在 multi-task JEPA 中互补。 MC-JEPA 因此把 PWC-style latent flow prediction、feature-level regression、cycle consistency、variance-covariance regularization 与 VICReg content learning 放进同一个训练循环。最终模型不是单任务 flow 网络,也不是纯图像 SSL encoder,而是一个能同时被 optical flow、image segmentation、video segmentation 评估的 shared ConvNeXt-T feature pyramid。
相对于 UFlow、ARFlow、UPFlow、SMURF 这类专门优化 optical flow 的方法,MC-JEPA 的根本差异是目标函数不只追求最低 EPE/F1,而是把 flow 当作 general representation learning 的 pretext task;相对于 VICReg、MoCo v3、DINO、VICRegL 这类内容 SSL 方法,MC-JEPA 的差异是它显式引入 dense temporal correspondence,让 feature 学到物体局部运动和位置变化。和 MCRW/VFS 等 correspondence learning 方法相比,MC-JEPA 不只追踪 object-level/pixel-level correspondence,还用大规模图像数据的 content objective 约束 encoder,使表示能迁移到静态图像分割。
从工程直觉看,MC-JEPA 的难点在于两个目标的梯度性质非常不同:VICReg 希望两个增强视图的 global/semantic embedding 接近,同时通过 variance/covariance 防 collapse;optical flow 则希望局部 feature pyramid 支持高分辨率 warping、correlation volume 和 residual refinement。如果直接把两者相加,flow estimator 容易出现 gradient/norm explosion,encoder feature 也可能被某一任务主导。论文的关键创新之一是承认这个 instability,并通过 layer-wise variance-covariance regularization、flow estimator LayerNorm、warmup 和 loss coefficient 调参,让 multi-task JEPA 能稳定训练。
3. Method(方法)
3.1 Overall framework:一个 encoder,两类自监督目标
MC-JEPA 的整体结构由三部分组成:第一,modified ConvNeXt-T encoder 产生六层 pyramidal features ;第二,PWC-Net 风格的 flow estimator 在这些 feature pyramid 上做 coarse-to-fine flow prediction,训练 motion branch;第三,VICReg expander 在 ImageNet 两个增强视图上做 joint embedding,训练 content branch。训练时每次迭代从视频数据 取 frame pair 计算 flow loss,再从 ImageNet 取 image batch 计算 SSL loss,最后把两类 loss 加权相加并反向传播到 shared encoder;flow estimator 和 expander 分别只服务于各自任务。
Figure 2 解读:图中左侧是视频 frame pair ,encoder 输出多尺度特征 ;flow estimator 从低分辨率开始预测 ,逐层上采样/warp/估计 residual flow,并在中间 feature 层做 regression loss,在最终 image level 做 reconstruction loss。图中还显示了 forward/backward 两个方向的 flow,用 cycle consistency 约束 与 的可逆性。右侧是 content branch:ImageNet 图像生成两个增强视图,经同一 encoder 和 expander 后用 VICReg loss 对齐。底部的 variance-covariance regularization 表明作者不只在最终 embedding 上防 collapse,而是在 encoder feature layers 上也施加稳定化约束。
这张架构图最重要的读法是:MC-JEPA 没有把 optical flow 当成一个独立 head 的 auxiliary metric,而是把 flow estimation 变成 feature pyramid 的训练信号。每一层 feature 都要支持 warping 后与另一帧 feature 对齐;因此 encoder 不得不保留局部可定位信息。与此同时,ImageNet/VICReg 分支避免 encoder 退化成只服务于 motion 的低层纹理匹配器,迫使同一组 feature 仍然具有 object/content-level semantic transfer 能力。
3.2 M-JEPA:coarse-to-fine self-supervised optical flow
给定两帧 RGB 图像 ,optical flow 是一个 dense correspondence map ,表示 中每个位置在 中的对应位置。论文定义 flow estimator ,目标是在无人工 flow label 的视频序列 上学习 。M-JEPA 沿用 unsupervised flow 的基本原则:如果预测的 flow 是正确的,用它 warp 或 feature 后应当与 或 接近;同时 flow 在图像梯度不剧烈变化的区域应当平滑。
作者用 PWC-Net 的 coarse-to-fine 思路,但把输入从传统 CNN feature 换成 shared ConvNeXt-T pyramid。对第 层特征 ,先在最低分辨率处估计: 然后在更高分辨率逐层 refine: 每一步中,当前 flow 先把 warp 成 ,再计算 4D correlation volume ,并把 、、、当前 flow 输入一个小卷积网络 预测 residual flow。这里的直觉是:低分辨率 feature 更容易处理大位移,高分辨率 feature 更适合补充细节;逐层 residual refine 比一次性在像素级预测 dense flow 更稳定,也更适合把 flow signal 传播到 encoder 的多个层级。
M-JEPA 使用三类主要 flow loss。第一类是中间 feature regression: 第二类是 image-level reconstruction: 其中 是 、 和 loss 的线性组合。第三类是 smoothness regularizer: 这个 smoothness 项的含义是:如果图像在 或 方向的梯度没有明显变化,则预测 flow 不应突然改变;而在边缘或运动边界处, 会减弱平滑约束,避免过度抹平真实的 motion discontinuity。
3.3 Cycle consistency 与 occlusion 处理
Flow estimation 本质上不是对称任务,因为 中某个像素在 可能被遮挡,反向也一样。MC-JEPA 同时估计 forward flow 和 backward flow ,并在 feature space 中加入 cycle consistency: 论文还对 做对称项。这个约束的直觉是:如果一个位置从 走到 ,再用反向 flow 走回来,应该回到原来的 feature;否则 forward/backward 预测存在不一致。对 occlusion,作者沿用 DDFlow 的 forward-backward compatibility,只在 forward 与 backward flow 都有对应关系的像素上应用 。这避免把“真实不可见”的区域强行纳入 photometric/feature matching,从而降低错误监督。
3.4 Variance-covariance regularization:为什么它对 multi-task 稳定性关键
MC-JEPA 在 encoder feature 上加入 VICReg 风格的 variance-covariance loss: 其中 是 empirical variance, 是中心化后特征的 empirical covariance matrix。variance 项防止特征维度 collapse 到常数,covariance 项减少不同维度冗余。论文特别强调,这个 loss 不只是 SSL 里的常规防 collapse 技巧,而是 multi-task training 的稳定器:当 flow estimator 与 ImageNet SSL 同时训练时,梯度和 estimator norm 容易爆炸;把 VC regularization 施加到 encoder 的多个 feature layer,可以保持特征分布有足够方差、不同维度不过度相关,从而让 flow loss 与 content loss 都有可用的表示空间。
Appendix 的 ablation 也支持这一点:没有 VC 时 K15/clean/final 分别是 3.41/3.37/4.45,ISeg/VSeg 只有 47.3/37.8;0 warmup、last layer VC 后提升到 2.77/2.88/3.55 与 65.6/69.2;0 warmup、all layers 是 2.65/2.80/3.48 与 66.2/69.4;最终使用 1 个 warmup epoch + all layers,得到 2.67/2.81/3.51 与 67.1/70.5。也就是说,all-layer VC 并非只改善 collapse 风险,还显著影响 segmentation transfer。
3.5 Content branch:VICReg + ImageNet joint embedding
content branch 采用 VICReg 协议:从 ImageNet-1k 采样一张无标签图像,生成两个增强视图,例如 random crop、color jittering,并 resize 到固定尺寸;两个视图经过 shared encoder,再输入 expander network,最后用 对齐。论文说明 与 Eq. 类似,但额外包含一个 invariance term,即两个视图 embedding 之间的 loss,用来拉近同一图像两种视图的表示。
这个分支解决了纯 M-JEPA 的一个潜在问题:flow pretext task 非常局部,可能让 encoder 偏向纹理、边缘、短时位移,而不一定形成可用于 object-level segmentation 的语义聚类。VICReg branch 则强迫 representation 对颜色、裁剪等 image augmentation 保持稳定,并通过 expander output 的 variance/covariance regularization 防止 trivial solution。最终,flow branch 让 content feature 更 localizable,content branch 让 flow feature 更 semantic。
3.6 Multi-task objective 与训练顺序
最终 MC-JEPA 优化的目标写作:
其中 是 video sequence dataset, 是 ImageNet image dataset。论文实际还对各项 loss 使用 carefully tuned coefficients;Appendix 给出的关键系数包括:MC-JEPA 的 flow_alpha=0.1、flow_coeff=1.0、flow_clip_value=128.0、flow_start_epoch=10、flow_loss_smooth_factor=75.0、flow_cycle_consistency_coeff=0.2、flow_batch_size=8、flow_lr=1e-4。M-JEPA 对应 flow_alpha=1.0、flow_clip_value=256.0、flow_start_epoch=0、flow_cycle_consistency_coeff=0.1。
训练顺序也不是随意的。作者发现一开始就把 flow 和 ImageNet SSL 联合训练不是必要的,因为早期 ImageNet feature 变化很快,flow estimator 在不稳定 feature 上学习会浪费计算。最终配置先做 10 个 epoch 的 ImageNet pretraining,然后引入 flow objective;总训练 100 epochs。Figure 5 的 flow start epoch ablation 显示,在总 epoch 固定为 100 时,10 epoch 后开始 flow learning 是最佳或近最佳选择,而且能节省不少 flow 训练计算。
3.7 Architecture details:ConvNeXt-T stem 与 PWC estimator 修改
论文使用 ConvNeXt-T 作为 backbone,但不是原样拿来做 pyramid flow。原始 ConvNeXt-T stem 被修改成两个 convolutional layers,目的是把 pyramidal feature 层数从 5 增加到 6,并让最终 flow prediction 更靠近 pixel space。Appendix 说明,原 stem 的宽 kernel 卷积被拆成两个更小的卷积层,kernel sizes 为 和 ,stride 从 4 改成两层各自 stride 2。这样 coarse-to-fine regression 从一层到下一层更平滑,不会在最高分辨率处突然跨太大尺度。
Figure A1 解读:这张图展示了 ConvNeXt-T stem 的改造。蓝色框表示卷积层;作者把原来一次性下采样的 stem 拆成两次较小 stride 的卷积,从而在 encoder 前几层保留更细粒度的空间特征。这对 flow 很重要,因为 optical flow 的最终预测需要靠近 pixel-level 的 feature,而不是只依赖高度压缩后的语义特征。
flow estimator 也做了稳定化修改。作者在 PWC estimator 的每个卷积层后加入 LayerNorm,最后一层除外;同时把 estimator 中 convolution 的 filter 数乘以 factor ,最终模型使用 。最后一层不能加 LayerNorm,因为 flow 输出是实际位移值,LayerNorm 会把它偏置到不合适的范围。Table ablation 显示,不加 regularization 的 estimator 会 crash;用 l2-normalization 会使 K15/clean/final 变成 6.21/6.04/6.99,且 ISeg/VSeg 降到 53.2/47.9;LayerNorm + factor 2 的最终设置达到 2.67/2.81/3.51 与 67.1/70.5。
Figure A2 解读:这张图展示了 PWC estimator 中每层卷积、LayerNorm 和输出 flow 的关系。它强调 MC-JEPA 的稳定性不是只靠 loss 权重,而是 architecture-level 的归一化设计。因为 flow branch 与 ImageNet SSL branch 共享 encoder,如果 estimator 自身 norm 爆炸,会把不稳定梯度传回 encoder,进而破坏 content representation。
3.8 论文伪代码(无 released code,按论文公式整理)
代码搜索未找到开源实现;下面伪代码是依据论文正文、Appendix 超参数和图示整理的 PyTorch-style 逻辑,用于帮助理解算法流程,不代表官方 released implementation。
def flow_step(encoder, flow_estimator, frames, coeffs):
I_t, I_tp1 = frames # consecutive video frames
feats_t = encoder(I_t, return_pyramid=True) # [X_t^(1), ..., X_t^(L)]
feats_tp1 = encoder(I_tp1, return_pyramid=True) # [X_{t+1}^(1), ..., X_{t+1}^(L)]
flow_fwd = flow_estimator.initial(feats_t[0], feats_tp1[0], flow=None)
losses = []
for level in range(1, len(feats_t)):
warped = warp(feats_t[level], flow_fwd)
corr = correlation_volume(warped, feats_tp1[level])
residual = flow_estimator.refine(corr, feats_t[level], warped, flow_fwd)
flow_fwd = upsample(flow_fwd + residual)
losses.append(feature_l2(feats_tp1[level], warped))
rec = photometric_l1_l2_ssim(I_tp1, warp(I_t, flow_fwd))
smooth = edge_aware_smoothness(flow_fwd, I_t, factor=coeffs.smooth_factor)
return rec + sum(losses) + smooth, flow_fwddef cycle_consistency_loss(encoder, flow_fwd, flow_bwd, I_t, I_tp1):
feats_t = encoder(I_t, return_pyramid=True)
feats_tp1 = encoder(I_tp1, return_pyramid=True)
loss = 0.0
for X_t, X_tp1 in zip(feats_t, feats_tp1):
round_trip_t = warp(warp(X_t, flow_fwd), flow_bwd)
round_trip_tp1 = warp(warp(X_tp1, flow_bwd), flow_fwd)
loss = loss + ((X_t - round_trip_t) ** 2).mean()
loss = loss + ((X_tp1 - round_trip_tp1) ** 2).mean()
return lossdef variance_covariance_loss(pyramid_features, gamma=1.0, eps=1e-4):
total = 0.0
for X in pyramid_features:
# flatten batch and spatial dimensions; keep channels as feature dimensions
Z = flatten_batch_and_spatial(X) # shape: [N * H * W, C]
std = torch.sqrt(Z.var(dim=0) + eps)
var_loss = torch.relu(gamma - std).mean()
Z = Z - Z.mean(dim=0, keepdim=True)
cov = (Z.T @ Z) / (Z.shape[0] - 1)
off_diag = cov - torch.diag(torch.diag(cov))
cov_loss = (off_diag ** 2).sum() / Z.shape[1]
total = total + var_loss + cov_loss
return totaldef mc_jepa_train_step(model, video_batch, imagenet_batch, epoch, coeffs):
ssl_loss = vicreg_two_view_loss(model.encoder, model.expander, imagenet_batch)
if epoch < coeffs.flow_start_epoch:
return ssl_loss
flow_loss_fwd, flow_fwd = flow_step(model.encoder, model.flow_estimator, video_batch, coeffs)
flow_loss_bwd, flow_bwd = flow_step(model.encoder, model.flow_estimator, reverse(video_batch), coeffs)
vc = variance_covariance_loss(model.encoder(video_batch[0], return_pyramid=True))
cyc = cycle_consistency_loss(model.encoder, flow_fwd, flow_bwd, *video_batch)
total_flow = flow_loss_fwd + flow_loss_bwd + coeffs.cycle * cyc + coeffs.vc * vc
return ssl_loss + coeffs.flow_alpha * total_flow3.9 Code search / Code-to-paper status
代码搜索未找到开源实现。检查过 arXiv 页面、OpenReview 页面、Web 搜索(MC-JEPA GitHub、Adrien Bardes MC-JEPA GitHub、FAIR MC-JEPA GitHub、2307.12698 github)和 GitHub API。唯一命中的 chirag-7/mc-jepa 是 2026-02-07 创建的空仓库,HEAD commit API 返回 409 “Git Repository is empty”,没有 model/loss/train 文件可作为 released-code reference。因此本笔记不填写 github / github_ref frontmatter,也不提供官方 Code-to-paper mapping table。
如果未来作者发布代码,最需要优先核对的 paper-to-code 映射点是:modified ConvNeXt-T stem、PWC flow estimator + LayerNorm、forward/backward compatibility mask、layer-wise VC coefficients、flow_start_epoch=10 的训练调度,以及 combined-loss 与 batch alternation 的具体 dataloader 实现。
4. Experimental Setup(实验设置)
4.1 Pretraining datasets and scale
MC-JEPA 预训练同时使用 ImageNet-1k 和一组 optical-flow/video 数据集。ImageNet-1k 用于 content SSL;flow branch 使用 KITTI、MPI Sintel、FlyingChairs、FlyingThings 和 HD1K 的帧对。
Appendix 的 flow dataset 表给出每个 flow 数据源的 pair 数和 repetition:FlyingThings 40,302(repeat 1)、FlyingChairs 22,232(repeat 1)、KITTI raw 42,382(repeat 1)、KITTI 2012 train 200(repeat 100)、KITTI 2012 multiview train 3,800(repeat 5)、KITTI 2012 val 198(repeat 100)、KITTI 2012 multiview val 3,762(repeat 5)、KITTI 2015 train 200(repeat 100)、KITTI 2015 multiview train 3,800(repeat 5)、KITTI 2015 val 198(repeat 100)、KITTI 2015 multiview val 3,762(repeat 5)、Sintel raw 27,858(repeat 1)、Sintel clean 1,041(repeat 5)、Sintel final 1,041(repeat 5)、HD1K 1,047(repeat 5)。
评估数据集覆盖三类能力:flow estimation 在 Sintel clean、Sintel final、KITTI 2015 上评估;image segmentation 在 Pascal VOC、Cityscapes、ADE20k 上做 frozen linear 和 fine-tuning evaluation;video segmentation / instance tracking 在 DAVIS 2017 上评估。这个设置很有针对性:如果模型只会 flow,它应在 Sintel/KITTI 上好;如果只会 content SSL,它应在 Pascal/Cityscapes/ADE20k 上好;如果真的学到 motion-content joint feature,则 DAVIS 2017 这种视频对象传播任务应受益。
4.2 Baselines and metrics
flow baselines 包括 UFlow、ARFlow、UPFlow、SMURF,它们都是为 optical flow 优化的 self-supervised 或 unsupervised 方法;correspondence baselines 包括 VFS 和 MCRW;content baselines 包括 VICReg、VICRegL、MoCo v3、DINO。论文还报告 Rand. weights 作为 lower bound,以及 M-JEPA(只做 flow)和 MC-JEPA(完整 multi-task)作为自家方法对照。
主要指标包括:EPE(average endpoint error,越低越好),用于 Sintel/KITTI train/test flow;KITTI F1 error(论文表中为百分比错误,越低越好);mIoU(mean intersection-over-union,越高越好),用于 Pascal VOC、Cityscapes、ADE20k 的 segmentation;(mean region similarity 与 mean contour accuracy 的平均,越高越好),用于 DAVIS 2017 video segmentation。Appendix 还拆分了 DAVIS 的 和 ,以及 flow 的 non-occluded / occluded EPE。
4.3 Training config and implementation details from paper appendix
训练使用 8 张 Nvidia Tesla V100-32GB GPU,AdamW optimizer,weight decay ,总 epoch 100,warmup epochs 10。MC-JEPA 的 ImageNet branch batch size 是 384,encoder learning rate 是 ,flow estimator learning rate 是 ;learning rate 用 cosine decay,从 0 开始 warmup,最终值在正文训练细节中写为 ,Appendix hyperparameter table 中 end_lr 写为 ,这里保留这个 paper 内部不一致作为 caveat。expander 是 VICReg 风格 fully-connected network,维度为 768-8192-8192-8192;Appendix 表中 expander dims. 记为 8192-8192-8192。
输入分辨率也按数据源区分:ImageNet 为 ,Sintel 为 ,KITTI 为 ,FlyingX 为 。MC-JEPA 的 min_scale_crops=0.08,max_scale_crops=1.0;ConvNeXt-T 相关配置包括 drop_path_rate=0.1、layer_scale_init_value=0.0。loss coefficients 表中,expander output 的 Var/Cov/Invariance/Flow 为 25.0/1.0/1.0/–;encoder L1 和 L2 的 Var/Cov/Flow 为 0.01/0.04/1.0;L3 为 0.01/0.001/1.0;L4 为 0.01/0.0/1.0;L5 为 0.001/0.0/0.1;L6 为 0.0001/0.0/0.01。这些层级权重说明作者并不是把 flow loss 均匀施加到所有层,而是在高层逐渐降低 flow 权重,避免最高语义层被 dense matching 过度支配。
5. Experimental Results(实验结果)
5.1 Main benchmark numbers
主结果表的关键结论是:MC-JEPA 的 optical flow 不如专门 flow 方法 SMURF,但与 UFlow/ARFlow/UPFlow 大致同量级,并明显优于同样强调 correspondence learning 的 MCRW;同时它在 image/video segmentation 上超过 VICReg、MoCo v3、DINO 或 VICRegL 的多项指标。代表性精确数值如下:
| 方法 | Backbone | Sintel clean train/test EPE↓ | Sintel final train/test EPE↓ | KITTI train EPE / test F1↓ | Pascal VOC Frozen/FT mIoU↑ | Cityscapes Frozen/FT mIoU↑ | ADE20k Frozen/FT mIoU↑ | DAVIS ↑ |
|---|---|---|---|---|---|---|---|---|
| UFlow | PWC | 2.50 / 5.21 | 3.39 / 6.50 | 2.71 / 11.13 | 7.8 / - | - / - | - / - | 42.0 |
| UPFlow | PWC | 2.33 / 4.68 | 2.67 / 5.32 | 2.45 / 9.38 | 8.8 / - | - / - | - / - | - |
| SMURF | RAFT | 1.71 / 3.15 | 2.58 / 4.18 | 2.00 / 6.83 | 10.4 / - | - / - | - / - | - |
| MCRW | PWC | 2.84 / 5.68 | 3.82 / 6.72 | 2.81 / 11.67 | 39.8 / - | - / - | - / - | 57.9 |
| VICReg | CNX-T | - | - | 13.5 / - | 60.1 / 77.8 | 59.8 / 76.3 | 28.6 / 41.1 | 58.1 |
| VICRegL | CNX-T | - | - | 11.4 / - | 66.8 / 79.7 | 64.9 / 78.3 | 30.6 / 44.1 | 66.7 |
| DINO | ViT-S | - | - | 11.8 / - | 65.2 / 79.5 | 64.8 / 78.1 | 30.5 / 43.5 | 69.9 |
| M-JEPA | CNX-T | 2.98 / - | 3.82 / - | 3.01 / 9.4 | - | - | - | - |
| MC-JEPA | CNX-T | 2.81 / 5.01 | 3.51 / 6.12 | 2.67 / 11.33 | 67.1 / 79.9 | 65.5 / 78.4 | 30.8 / 44.2 | 70.5 |
这些数字的解释要分开看。第一,MC-JEPA 的 flow test EPE/F1 不是最优:SMURF 在 Sintel clean/final test 和 KITTI F1 上分别是 3.15/4.18/6.83,优于 MC-JEPA 的 5.01/6.12/11.33。作者也明确说目标不是成为最强 flow estimator,而是把 flow 当作 representation pretext task。第二,MC-JEPA 在 segmentation 上非常强:Pascal VOC frozen/FT 67.1/79.9,Cityscapes 65.5/78.4,ADE20k 30.8/44.2,DAVIS 70.5,均为表中最佳。第三,只做 flow 的 M-JEPA 在 KITTI train EPE 3.01,而完整 MC-JEPA 是 2.67;这说明 content branch 不只是改善 segmentation,也能改善 flow estimation。

Figure 3 解读:图中比较 MC-JEPA、M-JEPA 与 ARFlow 的 qualitative flow,前两行来自 KITTI-15,后两行来自 Sintel clean/final。应关注的不是哪张图颜色最鲜艳,而是边界、车辆/人物等运动区域是否更连续,是否减少了纯 photometric matching 的噪声。MC-JEPA 相比 M-JEPA 的改进体现了 content feature 对 motion estimation 的帮助:更有语义的 encoder feature 能给 flow estimator 提供更稳定的局部对应。

Figure 4 解读:这张 DAVIS 2017 qualitative figure 展示了 frozen feature 在 video instance tracking 中从第 1 帧 ground truth 向后传播 segmentation map 的能力,帧号包括 。如果 feature 只学静态 content,它可能识别物体但难以跟随运动;如果只学局部 flow,它可能跟随短时位移但缺乏 semantic grouping。MC-JEPA 在这里的优势来自二者叠加:同一 representation 既知道 mask 属于哪个 object,又知道 object 随时间如何移动。
5.2 Ablations:哪些组件真正重要
flow dataset ablation 显示,加入更多 flow 数据主要改善 flow 指标,对 segmentation 影响较小。只用 KITTI 得到 K15/clean/final 2.93/3.23/3.96,ISeg/VSeg 66.8/70.0;只用 Sintel 得到 3.78/2.95/3.61,66.4/69.9;KITTI+Sintel 是 2.91/2.99/3.70,67.2/70.4;再加 FlyingThings/FlyingChairs 是 2.88/2.93/3.66,67.1/70.3;最终再加 HD1K 是 2.67/2.81/3.51,67.1/70.5。这个结果说明 segmentation 的提升并不依赖某个 flow 数据域,而是来自 flow pretext task 本身引入的 localization/motion bias。
estimator architecture ablation 更直接说明稳定性设计的重要性。不加 LayerNorm 或 l2 的 factor 1 estimator 会 crash;factor 1 + LayerNorm 是 2.68/2.88/3.57,67.0/70.2;factor 1 + l2 是 6.21/6.04/6.99,53.2/47.9;LayerNorm + l2 是 4.55/4.47/5.66,62.3/63.6;最终 factor 2 + LayerNorm 是 2.67/2.81/3.51,67.1/70.5。l2-normalization 看似能约束 output norm,但它会迫使最后一层直接输出正确范围的 flow,因此效率低且伤害任务;LayerNorm 则稳定中间激活,不扭曲最终 flow 值。
backbone ablation 表明 content-quality backbone 对 MC-JEPA 非常关键。PWC-Net backbone 的 K15/clean/final 是 2.66/2.80/3.47,看似 flow 很好,但 ISeg/VSeg 只有 14.8/10.1,几乎没有通用语义表示;ResNet-50 是 2.71/2.85/3.59,55.8/60.1;ConvNeXt-T 是 2.67/2.81/3.51,67.1/70.5。换言之,flow benchmark 不能充分评价 representation learning:PWC backbone 能做 flow,但不能学好 content;ConvNeXt-T 在 flow 近似持平的情况下显著改善 segmentation。
training/data sampling ablation 支持“同一 iteration combined loss”而不是两阶段或简单交替。只训练 flow estimator 在 frozen ImageNet feature 上得到 13.52/13.82/14.81,60.1/65.2;flow estimator fine-tuning 是 2.71/2.82/3.77,61.3/62.3;epoch alternation 是 4.54/4.91/5.57,63.5/66.9;batch alternation 是 2.78/2.95/3.62,67.1/70.5;combined loss 是 2.67/2.81/3.51,67.1/70.5。这说明把两个任务在同一个优化步中共同反传最利于 flow,而 segmentation 与 batch alternation 持平。
Figure 5a–5c 解读:左图是 flow start epoch,说明总 100 epoch 中先做 10 epoch ImageNet pretraining 再引入 flow 最合适;中图是 cycle consistency coefficient,说明该项显著影响 flow quality,系数过小约束不足、过大则会干扰其它 loss;右图是 multi-task balancing coefficient,显示 flow coefficient 从很小增加时 segmentation 与 flow 都提升,但超过阈值(论文文字指出约 0.1)后 segmentation 会明显下降。这三张图共同说明 MC-JEPA 的性能不是“把两个 loss 相加就好”,而是高度依赖训练时机、cycle 权重和 motion/content balance。
5.3 Additional results and limitations
Appendix 的 non-occluded/occluded flow 分解显示,MC-JEPA 相比 M-JEPA 在 all/noc/occ 都有改进:KITTI 2015 从 3.01/2.26/6.98 降到 2.67/2.08/6.24;Sintel clean 从 2.98/1.54/23.99 降到 2.81/1.25/23.82;Sintel final 从 3.82/2.17/24.68 降到 3.51/1.99/24.23。DAVIS 分解中,VICReg 是 、、;VICRegL 是 66.7/64.5/68.9;DINO 是 69.9/66.6/73.1;MC-JEPA 是 70.5/67.0/74.0。MC-JEPA 的 尤其高,说明 contour/boundary quality 从 motion-aware representation 中受益。
论文的主要局限也很清楚。第一,它没有达到专门 flow 方法 SMURF 的 flow 性能,所以不能把 MC-JEPA 解释为 state-of-the-art optical flow estimator;它更像一个用 flow 做 representation learning 的模型。第二,MC-JEPA 的两个训练域仍然分离:content 来自 ImageNet 图像,motion 来自 flow/video 数据集。作者在结论中把 future work 指向从更大规模 natural videos 同时学习 motion 和 content,并在 shared data domain 中捕获 short- and long-range interactions。第三,方法对 loss coefficient、cycle consistency coefficient、flow start epoch、LayerNorm、VC warmup 等训练细节敏感;Figure 5 和多个 ablation table 都说明,未经调参的 multi-task training 可能 crash 或严重牺牲 segmentation。
总体来看,MC-JEPA 的实验结论不是“flow 任务越强越好”,而是“适度、稳定地把 dense motion pretext task 注入 content representation,会让同一个 encoder 同时获得 motion 与 semantic localization”。它在 DAVIS、Pascal VOC、Cityscapes、ADE20k 上的结果说明 flow objective 帮助 encoder 学到更 local、可跟踪的特征;而 M-JEPA 到 MC-JEPA 的 flow 改进则说明 content objective 也能提升 motion estimation。对后续 V-JEPA、world model 或 embodied video representation 来说,这篇论文提供了一个早期证据:latent predictive architecture 的价值不只在 masked prediction,也可以来自 motion/content 多任务下的 feature-level predictability。