一句话定位
I-JEPA 是 LeCun 的 JEPA 蓝图在图像上的第一个实例:给一张图,从一个 context block 出发,去预测同一张图里若干 target block 的表征(不是像素、不是 token),预测发生在抽象表征空间里。它非生成、非对比、不依赖任何手工数据增强,只靠一套 multi-block masking 策略引导模型学到语义特征。用 16 张 A100 在 72 小时内把一个 ViT-H/14(632M 参数)在 ImageNet 上训完,就拿到从线性分类到物体计数、深度估计的强下游表现,且比 MAE / iBOT 省一个数量级的算力。论文里 I-JEPA 的 predictor 被称作”一个原始的、受限的 world-model”——这也是它被归入世界模型谱系的原因。
背景与定位
自监督视觉表征学习当时有两大流派,论文用能量模型(EBM)框架统一描述(Figure 2):
- 不变性/联合嵌入(Joint-Embedding Architecture, JEA):对同一图的两个增强视图输出相近 embedding,代表作 SimCLR/BYOL/DINO/iBOT/MSN。语义强,但要靠手工增强(裁剪、色彩抖动等),会注入对特定下游任务有害的偏置,且难迁移到别的模态。
- 生成式(Generative Architecture):遮住输入的一部分,在像素或 token 空间重建,代表作 MAE、BEiT、SimMIM。先验少、跨模态易推广,但学到的表征语义层级偏低,off-the-shelf(线性探针)表现不如不变性方法,往往要端到端微调才好用。
I-JEPA 走第三条路——联合嵌入预测架构(Joint-Embedding Predictive Architecture, JEPA):结构上像生成式(有 context→predictor→target 的预测流),但损失作用在 embedding 空间而非输入空间。它不追求对手工增强的不变性,而是让表征彼此”可预测”。相对生成式,抽象的预测目标把无关的像素级细节剔掉了,从而逼模型学更语义的特征。
谱系定位:I-JEPA 是 lecun-path-autonomous-machine-intelligence(LeCun 2022 “A Path Towards Autonomous Machine Intelligence”,JEPA 概念的提出)在图像静态域的首个落地。与它同代/被对标的工作:data2vec(online target encoder 预测隐表征,跨模态)、Context Autoencoder(CAE,重建+对齐约束)、MAE(像素重建)、iBOT(DINO 视图不变损失 + data2vec 式 patch 重建)。后续 JEPA 谱系(视频域 v-jepa 等)都以 I-JEPA 为原型。
Meta 官方博客明确把它框成”LeCun 类人智能愿景的第一个模型”:让机器学到关于世界如何运作的内部模型,从而学得快、能规划、能适应新情境。
模型架构
三个 ViT + EMA + latent L2,与生成式 MAE 的 encoder/predictor 结构神似,关键区别是非生成、预测在表征空间(Figure 3)。
- Context encoder $f_\theta$:标准 ViT,只处理可见的 context patch(类似 MAE 只编码可见 patch,省算力)。
- Target encoder $f_{\bar\theta}$:标准 ViT,权重是 context encoder 权重的指数滑动平均(EMA);用它处理整张图得到 patch 级表征 $s_y={s_{y_1},\dots,s_{y_N}}$,再从中采样 target block。评测时用 target encoder,并对其输出做 average pool 得到全局表征。
- Predictor $g_\phi$:一个窄(narrow)ViT。embedding 维度固定 384,自注意力头数与 backbone 一致。深度随 backbone 变:ViT-B/16 用 6 层;ViT-L/16、ViT-H/16、ViT-H/14 用 12 层;ViT-G/16 用 16 层。输入是 context encoder 输出 $s_x$ 加上要预测位置的 mask token(一个共享可学习向量 + 位置编码),对 M 个 target block 各跑一次,输出 $\hat s_y(1),\dots,\hat s_y(M)$。
Action / 条件化:这里没有动作条件(静态图像),预测的”条件变量 z”退化为 target 位置的 positional mask token——predictor 被条件化在”要预测图像哪个位置”上,因此它建模的是空间不确定性。这正是把 predictor 视为”原始 world-model”的依据:从部分可观测的 context 预测未观测区域的高层信息。
- 无 [cls] token:I-JEPA 预训练不用 cls token,全靠 average-pool patch 表征。
- 损失:预测表征与 target 表征的平均 L2(squared L2)距离 $$\frac{1}{M}\sum_{i=1}^{M}\sum_{j\in B_i}\lVert \hat s_{y_j}-s_{y_j}\rVert_2^2.$$
- 防坍缩(collapse):JEPA 和 JEA 一样有表征坍缩风险。I-JEPA 靠 context/target encoder 之间的非对称设计(target encoder 用 EMA 更新、predictor 做窄瓶颈)来避免坍缩——论文强调 EMA target-encoder 对用 ViT 训 JEA 至关重要,对 I-JEPA 同样成立。
Multi-block masking(核心设计,Figure 4):
- target:随机采 M=4 个(可重叠)block,scale ∈ (0.15, 0.2)、aspect ratio ∈ (0.75, 1.5);target 是在 target-encoder 输出上遮罩得到(不是遮输入),这是保证 target 语义层级高的关键。
- context:采 1 个 block,scale ∈ (0.85, 1.0)、单位长宽比;再移除与任意 target block 重叠的区域,保证预测任务非平凡(context 信息丰富但稀疏,处理高效)。
- mask 采样在 dataloader 的 batch-collator 里几行 PyTorch 实现;同一 GPU 上的 context mask 大小统一、target mask 大小统一,以便批处理。
数据
- 预训练数据集:ImageNet-1K(约 128 万图)与 ImageNet-22K(约 1400 万图)。无外部数据、无手工视图增强(预训练阶段只有 masking,没有裁剪/色彩抖动等)。
- 分辨率:默认 224×224;部分模型在 448×448(ViT-H/16₄₄₈)。
- 训练规模(epoch,来自 README pretrained models 表 + Table 5):
- ViT-H/14, IN1K, 224px, 300 epochs
- ViT-H/16, IN1K, 448px, 300 epochs
- ViT-H/14, IN22K, 224px, 66 epochs(≈ 900 IN1K-equivalent epochs)
- ViT-g/16, IN22K, 224px, 44 epochs(≈ 600 IN1K-equivalent epochs)
- 论文主表里也有 ViT-B/16、ViT-L/16 训到 600 epochs(IN1K)。
- action 标注 / sim-vs-real / co-training:不适用(纯图像自监督,无动作、无仿真)。
- 数据规模消融(Table 5):把预训练集从 IN1K 换成更大更多样的 IN22K,ViT-H/14 在迁移任务上普遍提升(如 iNat18 47.6→50.5,CIFAR100 87.5→89.5);在 IN22K 上再放大到 ViT-G/16,语义任务(Places205 57.8→59.1、iNat18 50.5→55.3)继续涨,但低层任务不涨甚至略降(ViT-G/16 用更大 patch,对局部预测任务不利)。
训练方法
- 目标函数:单一的 latent-space 平均 L2 距离(见上),无对比负样本、无重建像素、无聚类/熵正则。
- 优化器:AdamW。默认 batch size 2048。
- 学习率:前 15 个 epoch 从 1e-4 线性 warmup 到 1e-3,之后 cosine 衰减到 1e-6。
- 权重衰减:训练全程从 0.04 线性增到 0.4(沿用 MSN/DINO 设定)。
- EMA 动量:target encoder 初始与 context encoder 同权,之后按动量 0.996 → 1.0 线性上升 更新。
- 参数更新:predictor $\phi$ 与 context encoder $\theta$ 走梯度;target encoder $\bar\theta$ 只走 EMA、不回传梯度。
- 下游评测配方:
- ImageNet 线性探针:改自 VISSL 配方,用 average-pool 表征代替 cls token;LARS 优化器、batch size 16384、训 50 epoch,LR 每 15 epoch ÷10,扫 [0.01, 0.05, 0.001] 三个参考 LR 与两个 weight decay [0.0005, 0.0]。
- ImageNet-1% 低样本:改自 MAE 微调协议;AdamW + cosine,微调 50 epoch,batch 512,layer-wise LR decay 0.75,label smoothing 0.1,用 RandAugment,但不用 mixup / cutmix / random erasing / drop path;ViT-L/16 LR/WD = 3e-5/5e-2,ViT-H/14 与 ViT-H/16₄₄₈ = 3e-5/4e-1。
- 全 ImageNet 微调(Appendix D):仿 MAE,50 epoch,AdamW + cosine,base LR 1e-4,batch 528,mixup 0.8、cutmix 1.0、drop path 0.25、weight decay 0.04、layer decay 0.75。
- 可视化用的 decoder(RCDM):冻结 encoder/predictor 后,按 RCDM 框架训一个扩散式 decoder(30 万迭代)把表征映回像素,仅用于定性可视化 predictor 是否捕捉了位置不确定性——不是 I-JEPA 本体的一部分。
Infra(训练 / 推理工程)
- 硬件与时长:ViT-H/14 在 16 张 A100 80G 上、< 72 小时训完;博客口径是”632M 参数的 ViT,16×A100,72 小时内”。
- GPU-hours:ViT-H/14 预训练 < 1200 GPU 小时。
- 并行:SLURM 集群 + submitit;README 示例 2 nodes × 8 tasks/node = 16 GPU,有效 batch 2048。
- 精度:未明确披露具体混合精度设定(PyTorch 2.0 环境)。
- 效率对比(Section 7):相比直接用像素做 target 的 MAE,I-JEPA 因为要在表征空间算 target,每迭代慢约 7%;但收敛所需迭代数约少 5×,净算力大幅节省。整体:ViT-H/14 预训练比 iBOT 的 ViT-S/16 还省算力(> 2.5× 更快),比 MAE 的 ViT-H/14 > 10× 更高效。
- 推理工程(FPS / 控制频率 / 边缘):不适用——I-JEPA 是表征编码器,论文/博客未披露推理 FPS、时延或边缘部署数据。
评测 benchmark
所有数字均来自论文表格(自监督预训练后冻结/微调评测)。
ImageNet-1K 线性评测(Table 1,冻结 backbone + 线性分类头)
| 方法 | Arch | Epochs | Top-1 |
|---|---|---|---|
| data2vec(无增强) | ViT-L/16 | 1600 | 77.3 |
| MAE(无增强) | ViT-H/14 | 1600 | 77.2 |
| CAE(无增强) | ViT-L/16 | 1600 | 78.1 |
| I-JEPA | ViT-B/16 | 600 | 72.9 |
| I-JEPA | ViT-L/16 | 600 | 77.5 |
| I-JEPA | ViT-H/14 | 300 | 79.3 |
| I-JEPA | ViT-H/16₄₄₈ | 300 | 81.1 |
| DINO(用增强) | ViT-B/8 | 300 | 80.1 |
| iBOT(用增强) | ViT-L/16 | 250 | 81.0 |
要点:在不用手工增强的方法里 I-JEPA 大幅领先(ViT-H/14 79.3 vs MAE 77.2 / CAE 78.1),且放大到 ViT-H/16₄₄₈(81.1)追平了用增强的 iBOT(81.0)/ DINO(80.1)。
ImageNet-1%(Table 2,半监督,只用 1% 标签≈每类 12–13 张,取微调/线性中最优)
| 方法 | Arch | Epochs | Top-1 |
|---|---|---|---|
| data2vec | ViT-L/16 | 1600 | 73.3 |
| MAE | ViT-L/16 / ViT-H/14 | 1600 | 67.1 / 71.5 |
| I-JEPA | ViT-L/16 | 600 | 69.4 |
| I-JEPA | ViT-H/14 | 300 | 73.3 |
| I-JEPA | ViT-H/16₄₄₈ | 300 | 77.3 |
| MSN(用增强) | ViT-B/4 | 300 | 75.7 |
要点:I-JEPA 全面超过同样无增强的 MAE;ViT-H/14 追平 data2vec ViT-L/16(都 73.3)但算力远小;ViT-H/16₄₄₈(77.3)超过用增强的 MSN/DINO/iBOT。
线性探针迁移(Table 5,I-JEPA 自身跨数据集/模型规模)
| 预训练 | Arch | CIFAR100 | Places205 | iNat18 | Clevr/Count | Clevr/Dist |
|---|---|---|---|---|---|---|
| IN1K | ViT-H/14 | 87.5 | 58.4 | 47.6 | 86.7 | 72.4 |
| IN22K | ViT-H/14 | 89.5 | 57.8 | 50.5 | 88.6 | 75.0 |
| IN22K | ViT-G/16 | 89.5 | 59.1 | 55.3 | 86.7 | 73.0 |
对比(Table 3/4 prose):在语义分类迁移上,I-JEPA ViT-H/14(CIFAR100 87.5)显著超过无增强的 data2vec(81.6)与 MAE(77.3),并在 CIFAR100/Places205 上超过用增强的 DINO;在低层任务(物体计数 Clevr/Count、深度 Clevr/Dist)上,I-JEPA 超过 view-invariance 方法(DINO/iBOT),深度预测领先幅度较大。
全 ImageNet 微调(Table 15):I-JEPA ViT-H/16₄₄₈(300ep)达 87.1 Top-1,比 MAE ViT-H/14₄₄₈(1600ep)的 87.8 只低 <1%,但训练 epoch 少 5.3×。
关键消融(均为 1% ImageNet-1K,ViT-B/16 300ep 除非注明)
- 在表征空间 vs 像素空间预测(Table 7,ViT-L/16 线性):target-encoder 输出 66.9(500ep)vs 像素 40.7(800ep)——这是 I-JEPA 语义性的根本来源。
- 遮 target-encoder 输出 vs 遮输入(Table 11,ViT-H/16 300ep):67.3 vs 56.1。
- masking 策略(Table 6):multi-block 54.2 ≫ rasterized 15.5 / block 20.2 / random 17.6。
- target block 数(Table 10):1→9.0,2→22.0,3→48.5,4→54.2。
- target block scale(Table 8):太小 (0.075,0.2)→19.2,(0.15,0.2)→54.2 最优。
- context scale(Table 9):(0.40,1.0)→31.2 … (0.85,1.0)→54.2(context 越信息丰富越好)。
- predictor 深度(Table 12,ViT-L/16 500ep):6 层 64.0 vs 12 层 66.9。
- predictor 宽度(Table 14,1% 微调):384(瓶颈)70.7 vs 1024 68.4——窄 predictor 更好。
创新点与影响
贡献
- JEPA 蓝图的首个图像实例:把 LeCun 提出的联合嵌入预测架构落到图像上,证明”在抽象表征空间预测被遮挡内容”这条路可行且高效。
- 非生成 + 非对比 + 无手工增强的自监督范式:既避开生成式(像素重建)语义偏低的毛病,又避开不变性方法对手工增强的依赖和其带来的任务偏置。
- multi-block masking:论文用系统消融证明”预测若干足够大(语义)的 target block、并用信息丰富且空间分布的 context”是学到语义表征的关键,而非架构细节。
- 在表征空间遮 target-encoder 输出(而非遮输入)这一设计,是让 target 具备高语义层级的要害(消融 66.9 vs 40.7 / 67.3 vs 56.1)。
- 效率:ViT-H/14 <1200 GPU 小时、比 iBOT/MAE 省一个量级,且下游同时在语义任务和低层任务(计数、深度)上强——用更简单、归纳偏置更弱的模型覆盖更广的任务谱。
- predictor 作为”原始 world-model”:通过条件在位置 mask token 上,predictor 学会建模静态图的空间不确定性,RCDM 可视化显示它能在正确 pose 上补出高层物体部件(狗头、鸟腿、车顶)而丢弃低层细节与背景——这把 I-JEPA 接入了世界模型/自主智能的叙事,是后续 V-JEPA(视频)等的原型。
它改变了什么:给 SSL 提供了”latent 预测”这条兼顾语义与效率的主线,直接催生了 JEPA 系列(视频、多模态)的一整支研究,也强化了 LeCun 关于”非生成式世界模型”的路线主张。
论文自陈的局限
- predictor 只是”原始且受限的 world-model”——只建模静态图像的空间不确定性,还不能做视频里的长程时空预测,也未接入音频/文本条件(这些被列为未来工作)。
- ViT-G/16 用更大 patch 会损害低层局部预测任务(计数/深度不涨甚至降),说明架构选择与任务粒度有 trade-off。
- 权重衰减策略在线性评测(0.04→0.4 更好)与 1% 微调(固定 0.05 更好)之间存在此消彼长(Table 13),无单一最优。
原始链接
- 论文(arXiv 2301.08243,v1 2023-01-19 / v3 2023-04-13,CVPR 2023):https://arxiv.org/abs/2301.08243
- PDF:https://arxiv.org/pdf/2301.08243
- 官方博客(Meta AI / FAIR,2023-06-13):https://ai.meta.com/blog/yann-lecun-ai-model-i-jepa/
- 代码 + 预训练 checkpoint(官方 PyTorch):https://github.com/facebookresearch/ijepa
- 预训练权重下载(fbaipublicfiles,非 HF):如
https://dl.fbaipublicfiles.com/ijepa/IN1K-vit.h.14-300e.pth.tar等
一手源存档(sources/)
- i-jepa—blog — Meta AI I-JEPA 官方博客快照(sources/world-model/2023/i-jepa—blog.md)
- i-jepa—github-readme — facebookresearch/ijepa README 快照,含预训练模型表与训练命令(sources/world-model/2023/i-jepa—github-readme.md)
- arXiv 全文 PDF(arXiv 原文 PDF,不入 git):https://arxiv.org/pdf/2301.08243