一句话定位
MC-JEPA(Motion-Content JEPA)用一个共享编码器、一次预训练,把两件历来分开做的事拧在一起:从视频里自监督学光流(运动),从 ImageNet 图像里用 VICReg 学内容特征(语义)。两个目标共享同一个 ConvNeXt-T 编码器、同一批权重,论文的核心论断是——两者互相帮助:学光流这个像素级预测任务显著提升了内容特征在分割任务上的表现(相比单独训 VICReg 大幅提升),而内容学习也让光流估计不掉队于专门做光流的方法。它是 i-jepa 之后 LeCun/Bardes/Ponce 这条 JEPA 线上的一篇”多任务/运动+内容”支线工作,用一个 8×V100 就能训完的中等规模模型验证了”JEPA 式预测可以同时承载语义和运动信息”这一命题。
背景与定位
论文把当时的自监督视觉表征学习分成两条互不相交的路线:
- 内容特征学习:对比学习(SimCLR/MoCo)、聚类(SwAV)、非对比法(BYOL/SimSiam)、协方差正则(VICReg/Barlow Twins)、掩码重建(MAE/BEiT)——目标是学会识别和区分图像/视频里的物体,但这些方法学不到像素级的运动或纹理细节。
- 光流估计:从 Horn-Schunck 的经典优化方法,到监督式(FlowNet、PWC-Net、RAFT),再到自监督式(UFlow、ARFlow、UPFlow、SMURF)——这些方法只关心运动、不利用图像的语义内容。
- 还有一支”学对应关系”的工作(contrastive random walk、VFS),可视为物体级运动估计,但通常只在小规模视频数据集上训练,泛化到其他下游任务的能力弱。
MC-JEPA 的定位是用多任务学习把这两条路线合并:光流估计目标(作者称之为 M-JEPA,一个独立可用的子方法)与 VICReg 内容学习目标(i-jepa 之前 Bardes 等人的 VICReg 工作)在同一个编码器上联合训练,得到的最终方法叫 MC-JEPA。相比同门的 i-jepa(静态图像、掩码预测表征)和后续的 v-jepa(视频、纯内容/语义特征,不显式建模像素级光流),MC-JEPA 走的是”运动 + 内容”双目标路线,是 LeCun JEPA 蓝图(lecun-path-autonomous-machine-intelligence)在”显式运动建模”方向上的一次探索,也呼应了论文标题里 predictor 具备”joint-embedding predictive”结构——只不过这里的 predictor 就是光流估计器本身,预测的是”下一帧特征”而非”被遮挡区域的表征”。
模型架构
backbone:修改版 ConvNeXt-T(原始 21M 参数),改造后总计 23M 参数。改动是把 ConvNeXt 原本 7×7、stride 4 的 stem 卷积层拆成两层(kernel 3×3 + 4×4,每层 stride 从 4 降到 2),使编码器产生 6 级金字塔特征(分辨率逐级减半),比原始 ConvNeXt-T 多一级,且第一级更接近像素空间,便于光流回归更平滑。
光流估计(M-JEPA 部分):基于 PWC-Net 的由粗到细(coarse-to-fine)光流估计器 $F_\theta$。给定 $I_t, I_{t+1}$ 的金字塔特征 ${X_t^{(l)}}, {X_{t+1}^{(l)}}$($l=1,\dots,6$):
- 从最低分辨率层开始估计光流 $f_{t,t+1}^{(2)}$,逐层预测残差光流并叠加,直到最高分辨率。
- 每层内部:先用当前光流 warp 特征 $\hat X_{t+1}=f(X_t)$,计算 4D correlation volume $V=\hat X_{t+1}X_{t+1}^T$,再喂给一个小卷积网络 $g_\phi(V,X_t,\hat X_{t+1},f)$ 预测残差流。
- 估计器在每个卷积层后加 LayerNorm(除最后一层,这点在消融里被证明是训练稳定的关键,见下),滤波器数量乘以 factor C=2,得到 8M 参数的估计器(C=1 时仅 2M)。
动作/条件化:无显式动作条件(自监督光流本身就是”下一帧预测”任务,条件变量是前一帧特征 $X_t^{(l)}$ 和已累积的粗粒度光流 $f^{(l)}$)。
Memory/consistency:无跨帧记忆模块;用前向-后向光流的 cycle-consistency(把 $X_t$ 用 $f_{t,t+1}$ 再用 $f_{t+1,t}$ warp 回去应等于自身)作为一致性约束,且用前向-后向兼容性处理遮挡(只在双向都有对应关系的像素上计算回归损失)。
内容特征学习(C 部分):直接套用 VICReg 协议——同一编码器接一个 FC expander(768-8192-8192-8192),对同一图像的两个随机裁剪+色彩抖动视图做方差-协方差-不变性(VICReg)损失,只在 expander 输出上计算。
损失函数(共 5 项光流损失 + 1 项内容损失):
- $\mathcal{L}_{\mathrm{reg}}$:多尺度特征回归损失(各层 warp 特征与真实下一帧特征的 L2 距离)。
- $\mathcal{L}_{\mathrm{rec}}$:图像级重建损失(最终光流 warp 图像 vs 真实下一帧,l2+l1+SSIM 线性组合)。
- $\mathcal{L}_{\mathrm{smooth}}$:Jonschkowski et al. (2020) 式平滑正则(按图像梯度加权,允许边缘处光流突变、纹理平坦区光流平滑)。
- $\mathcal{L}_{\mathrm{cycle}}$:前向-后向 cycle-consistency 损失,在每层金字塔特征上计算。
- $\mathcal{L}_{\mathrm{vc}}$:方差-协方差正则(Bardes et al. 2022a 提出),施加在编码器每一层金字塔特征上(不只是最后一层),这是论文强调的稳定多任务训练的关键组件。
- $\mathcal{L}_{\mathrm{ssl}}$:VICReg 损失(方差+协方差+不变性),只在 ImageNet 批次上计算。
最终优化目标是光流数据集上 5 项损失之和,加上 ImageNet 批次上的 VICReg 损失之和(Eq. 7),编码器/expander/光流估计器权重全程共享回传。
数据
光流/视频数据(M-JEPA 目标,共 15 个子集,Table 7 详列):KITTI raw(42382 对,重复 1 次)、KITTI 2012 train/val + multiview(各百至数千对,重复 5–100 次以配平小数据集)、KITTI 2015 同理、MPI Sintel raw(27858 对)+ Sintel clean/final(各 1041 对,重复 5 次)、FlyingChairs(22232 对)、FlyingThings(40302 对)、HD1k(1047 对,重复 5 次)。训练时把所有子集混合成一个大数据集,每次迭代随机采一批光流数据(不做课程学习,不针对某个目标域微调)。
内容数据:ImageNet-1K(约 128 万图),标准随机裁剪(min_scale 0.08 / max_scale 1.0)+ 色彩抖动生成两视图,224×224 分辨率。
混合策略:训练时每采一个 ImageNet 批次,就从混合光流数据集里采一个批次(batch alternation + 损失相加,消融显示这是最优策略,见下);光流训练不从第 0 个 epoch 开始,而是等 ImageNet-only 预训练 10 个 epoch 后才引入光流目标(消融显示 10 epoch 是总 100 epoch 里的最优起点,节省大量算力且效果相当)。
分辨率:Sintel (384, 832),KITTI (256, 832),FlyingThings/Chairs (384, 512)(沿用 RAFT 的分辨率设置)。
Sim-vs-real / co-training:光流数据里 FlyingChairs/FlyingThings 是合成数据,KITTI/Sintel/HD1k 是真实(或电影渲染)视频;内容数据 ImageNet 是静态图像,二者跨模态 co-training(视频 + 图像)是本文的核心设计而非附加项。
训练方法
目标函数:Eq. (7) 定义的多任务损失——$\sum_{\mathcal D_1}(\mathcal L_{\mathrm{rec}}+\mathcal L_{\mathrm{reg}}+\mathcal L_{\mathrm{smooth}}+\mathcal L_{\mathrm{cycle}}+\mathcal L_{\mathrm{vc}}) + \sum_{\mathcal D_2}\mathcal L_{\mathrm{ssl}}$,$\mathcal D_1$ 为光流数据、$\mathcal D_2$ 为 ImageNet,每次迭代两边损失相加统一回传。
分阶段策略:单阶段预训练,但光流目标延迟到第 10 个 epoch 才启用(flow_start_epoch=10),总训练 100 epoch。
数据采样消融(Table 5,四种策略对比):
| 策略 | K15 EPE | clean EPE | final EPE | ISeg mIoU | VSeg J&F |
|---|---|---|---|---|---|
| 冻结特征上单独训光流估计器 | 13.52 | 13.82 | 14.81 | 60.1 | 65.2 |
| 微调特征训光流估计器 | 2.71 | 2.82 | 3.77 | 61.3 | 62.3 |
| Epoch 交替(一 epoch ImageNet / 一 epoch 光流) | 4.54 | 4.91 | 5.57 | 63.5 | 66.9 |
| Batch 交替 | 2.78 | 2.95 | 3.62 | 67.1 | 70.5 |
| 损失相加(最终方案) | 2.67 | 2.81 | 3.51 | 67.1 | 70.5 |
超参数(Table 6):优化器 AdamW,betas (0.9, 0.999);编码器 lr 3e-4、权重衰减 1e-6、cosine 衰减、10 epoch warmup、终值 3e-8;光流估计器单独设 lr 1e-4、权重衰减 1e-6;batch size 384(ImageNet 侧)+ 光流侧 batch 8;drop_path_rate 0.1;光流输出裁剪范围(flow_clip_value)从初版 M-JEPA 的 256 收紧到 MC-JEPA 的 128(多任务下更稳定所需);cycle-consistency 系数 0.2(M-JEPA 单独训练时是 0.1);smooth 系数 75.0。
方差-协方差正则(VC)消融(Table 11):不用 VC 直接崩溃到 K15 EPE 3.41 / ISeg 47.3 / VSeg 37.8;只在最后一层加 VC 到 2.77 / 65.6 / 69.2;每层都加 VC 进一步到 2.65 / 66.2 / 69.4;再加 1 epoch 的 VC-only warmup(先只训方差-协方差项、再开始正常训练)达到最终最优 2.67 / 67.1 / 70.5;warmup 加到 2 epoch 反而退化(2.91 / 62.5 / 64.1)。
估计器架构消融(Table 3):不加任何正则的估计器训练崩溃(NaN);加 LayerNorm(不加 l2-norm)达到 K15 2.68 / ISeg 67.0 / VSeg 70.2;只用 l2-norm(不用 LayerNorm)严重恶化(K15 6.21 / ISeg 53.2);两者都加也不如只用 LayerNorm(K15 4.55);把估计器放大到 factor 2(8M 参数)+ LayerNorm 是最终最优配置(K15 2.67)。
Backbone 消融(Table 4):原始 PWC-Net backbone(8M)能训光流但内容特征极差(ISeg mIoU 14.8);ResNet-50(21M)ISeg 55.8;ConvNeXt-T(23M)ISeg 67.1 明显最优,说明 backbone 容量/归纳偏置对内容特征质量的影响远大于对光流精度的影响(光流 EPE 三者相近,2.66–2.71)。
Infra(训练 / 推理工程)
- 硬件:8× Nvidia Tesla V100-32GB,单机训练。
- 训练规模:100 epoch(ImageNet 侧),batch size 384;论文未披露总训练时长(wall-clock)或 GPU-hours。
- 并行/精度:论文未披露具体并行策略(数据并行推断)与混合精度设置。
- 推理 FPS / 控制频率 / 边缘部署:未披露——本文是表征学习/光流估计工作,未给出推理速度或边缘硬件评测。
评测 benchmark
Table 1(主表,编码器为 ConvNeXt-T 除随机权重基线外)
光流估计(EPE,↓ 越低越好;F1 为 KITTI 官方测试集误匹配率%):
| 方法 | Backbone | Sintel Clean train/test | Sintel Final train/test | KITTI15 train/test(F1) |
|---|---|---|---|---|
| 随机权重 | ConvNeXt-T | 23.71 / - | 24.02 / - | 24.88 / - |
| UFlow | PWC | 2.50 / 5.21 | 3.39 / 6.50 | 2.71 / 11.13 |
| ARFlow | PWC | 2.79 / 4.78 | 3.73 / 5.89 | 2.85 / 11.80 |
| UPFlow | PWC | 2.33 / 4.68 | 2.67 / 5.32 | 2.45 / 9.38 |
| SMURF | RAFT | 1.71 / 3.15 | 2.58 / 4.18 | 2.00 / 6.83 |
| MCRW(对应关系法) | PWC | 2.84 / 5.68 | 3.82 / 6.72 | 2.81 / 11.67 |
| M-JEPA(本文,仅光流) | ConvNeXt-T | 2.98 / - | 3.82 / - | 3.01 / - |
| MC-JEPA(本文,多任务) | ConvNeXt-T | 2.81 / 5.01 | 3.51 / 6.12 | 2.67 / 11.33 |
图像分割(mIoU,冻结线性 / 微调):
| 方法 | Pascal VOC | Cityscapes | ADE20k |
|---|---|---|---|
| VICReg | 60.1 / 77.8 | 59.8 / 76.3 | 28.6 / 41.1 |
| VICRegL(专攻分割) | 66.8 / 79.7 | 64.9 / 78.3 | 30.6 / 44.1 |
| MoCo v3 | 57.1 / 75.9 | 56.5 / 74.0 | 23.7 / 39.8 |
| DINO | 65.2 / 79.5 | 64.8 / 78.1 | 30.5 / 43.5 |
| MC-JEPA | 67.1 / 79.9 | 65.5 / 78.4 | 30.8 / 44.2 |
视频分割(DAVIS 2017,$(\mathcal J&\mathcal F)_m$):VFS 68.9、MCRW 57.9、VICReg 58.1、VICRegL 66.7、DINO 69.9、MC-JEPA 70.5(细分 Table 10:$\mathcal J_m$ 67.0 / $\mathcal F_m$ 74.0)。
结论(论文自陈):光流精度上 MC-JEPA 与专攻光流的 UFlow/ARFlow/UPFlow 相当,但不及专门优化到极致的 SMURF;MC-JEPA 明显优于同样”学对应关系”的 MCRW。分割任务上,MC-JEPA 大幅超过 VICReg 本身(其内容学习组件的原版),说明光流预训练任务确实把有用的运动信息注入了内容特征;同时追平/略超专攻分割的 VICRegL 和 DINO。视频分割上 MC-JEPA 是表中最优。
其他消融要点:光流数据集消融(Table 2)显示,逐步加入 FlyingChairs/Things、HD1k 能持续改善光流精度(K15 从仅 KITTI 的 2.93 降到全量的 2.67),但对分割任务几乎无影响(ISeg 稳定在 66.4–67.2);光流起始 epoch 消融(Figure 5-1)显示 10 epoch 起步最优;cycle-consistency 系数(Figure 5-2)与多任务平衡系数(Figure 5-3)都需精细调参——多任务系数增大到约 0.1 时光流和分割同时改善,超过这个阈值后分割性能显著下降,说明运动和内容学习之间存在此消彼长的权衡。
创新点与影响
贡献
- 首次把自监督光流估计与自监督内容特征学习统一进同一个共享编码器的多任务预训练框架,用一次训练同时产出两种能力。
- M-JEPA:一个独立可用的自监督光流方法,基于 PWC-Net 改进,引入 LayerNorm 稳定化的估计器 + 方差-协方差正则 + cycle-consistency 损失。
- 证明了光流预训练能实质性提升内容特征的下游表现(相对纯 VICReg 大幅提升 Pascal VOC/Cityscapes/ADE20k/DAVIS 全面上涨),且这个提升与光流训练用的具体视频域无关(消融显示换数据集对分割几乎无影响)。
- 系统性解决了多任务联合训练的不稳定性问题(估计器梯度/范数爆炸导致 NaN),给出了一套可复现的稳定化配方(LayerNorm + 权重裁剪 + 每层 VC 正则 + VC warmup + 精调 lr/weight decay)。
它改变了什么:为 JEPA 谱系提供了一个”运动 + 内容”双任务的变体,说明 JEPA 式的联合嵌入预测不必局限于单一模态/单一目标,可以在共享表征空间里融合互补的自监督信号;后续视频 JEPA 工作(如 v-jepa)选择了不同的路线(不显式建模像素级光流,而是在特征空间做更大范围的时空掩码预测)。
论文自陈的局限
- 光流精度上不及专门优化到极致的 SMURF(本文目标本非”最强光流”而是”运动信息注入内容特征”)。
- 多任务系数需要精细调参,运动和内容学习之间存在此消彼长的权衡(Figure 5-3),并非可以无限增加光流权重来同时提升两者。
- 结论部分作者明确把”从更大规模自然视频集合中学习运动和内容,并在共享数据域中训练两个目标(捕捉短程和长程的层级化时空交互)“列为未来工作,暗示本文训练数据规模(ImageNet + 若干光流基准视频集)相对有限,尚未做到大规模自然视频上的联合训练。
原始链接
- 论文(arXiv 2307.12698,2023-07-24):https://arxiv.org/abs/2307.12698
- PDF:https://arxiv.org/pdf/2307.12698
- 官方代码/项目页/HF/ModelScope:均未找到(论文正文未提及代码发布;GitHub 搜索仅有非官方同名仓库,非 Meta FAIR 或作者本人发布)
一手源存档(sources/)
- arXiv 全文(经 ar5iv.labs.arxiv.org HTML 镜像读取,与官方 arXiv HTML 一致)(arXiv 原文,不入 git):https://arxiv.org/abs/2307.12698