I-JEPA 精读
- 摘要
(提出问题与方法)
在不依赖人为设计的多视图数据增强(见Research - Data Augementation)的情况下,通过自监督学习获得具有较强语义信息的图像表示。
latent space 中每个维度具体代表什么,不需要人工预先定义;但这个空间最终保留了什么信息,非常重要。
I‑JEPA 的逻辑是:
可见图片区域→预测缺失区域的 latent representation\text{可见图片区域} \rightarrow \text{预测缺失区域的 latent representation}
它不需要人工规定:
- 第 1 维代表狗;
- 第 2 维代表头部;
- 第 3 维代表方向。
这些含义由训练自动形成。因此“latent 各维如何解释”确实不重要。
但它必须确保 latent:
- 不全部变成相同向量,即不能 representation collapse;
- 包含物体、结构和空间关系等可预测信息;
- 不只是保存无关紧要的像素纹理;
- 能用于分类、深度估计等下游任务。
(learning highly semantic image representations without relying on hand-crafted data-augmentations.)
(子问题, 什么是数据增强, 什么图片语义)
方法的attribute (我理解采用类rust的解释框架):
- 非生成式的
- 训练方式: 采用masking strategy
- 训练方式: sufficiently informative context block ? 什么意思
- 实验: 联合VIT?
动机? 动机是什么
已有路线的问题:
路线一:invariance-based 方法
- 例如 SimCLR、DINO、iBOT:
x1=Augment1(x),x2=Augment2(x)x_1=\operatorname{Augment}_1(x),\qquad x_2=\operatorname{Augment}_2(x)
然后要求:
f(x1)≈f(x2)f(x_1)\approx f(x_2)
问题是:
- 需要人工决定哪些增强不会改变语义;
- 这种人工假设可能适合分类,但不适合其他任务;
- 图像增强策略不容易直接推广到音频等其他模态。
路线二:生成式方法
例如 MAE:
visible patches→reconstruct masked pixels\text{visible patches} \rightarrow \text{reconstruct masked pixels}
问题是像素包含大量难以预测、但语义上不重要的细节:
- 精确纹理
- 光照
- 阴影
- 背景噪声
- 每根毛发的颜色
为了重建这些像素,模型可能把大量能力用于低层细节。
I‑JEPA 的选择
I‑JEPA 试图取两者之间的一条路线:
不使用增强来规定 invariance\text{不使用增强来规定 invariance}
同时:
不预测原始像素,而是预测抽象 representation\text{不预测原始像素,而是预测抽象 representation}
因此可以把动机写成:
现有 invariance-based 方法依赖人为设计的数据增强,而生成式方法需要预测大量语义无关的像素细节。I‑JEPA 希望直接在 representation space 中预测缺失区域,从而在减少人工先验的同时,学习更高层的语义表示。
struct IJEPA {
task: SelfSupervisedRepresentationLearning,
input: Image,
context: VisibleImagePatches,
target: EMAEncoderRepresentations,
context_encoder: VisionTransformer,
target_encoder: VisionTransformer,
predictor: LightweightVisionTransformer,
prediction_space: RepresentationSpace,
loss: L2Distance,
generation: false,
handcrafted_view_augmentation: false,
}
更直观地说:
可见区域→context encodercontext representations→predictor被遮挡区域的 predicted representations\boxed{ \text{可见区域} \xrightarrow{\text{context encoder}} \text{context representations} \xrightarrow{\text{predictor}} \text{被遮挡区域的 predicted representations} }
目标则来自:
完整图像→target encodertarget representations\boxed{ \text{完整图像} \xrightarrow{\text{target encoder}} \text{target representations} }
然后比较:
L=∥z^target−ztarget∥22
非生成式
正确,但最好写得更精确:
I‑JEPA 是非生成式预测方法:它预测被遮挡区域的 representation,而不重建该区域的像素。
因此它不是:
x^target≈xtarget\hat x_{\text{target}}\approx x_{\text{target}}
而是:
z^target≈ztarget\hat z_{\text{target}}\approx z_{\text{target}}
采用 masking strategy
可以进一步写成:
使用 multi-block masking strategy 构造预测任务:从一张图中选择一个 context block,并选择多个 target blocks,要求模型根据 context representations 预测 target representations。
要注意:target encoder 先处理完整图像,之后才从输出 representation 中选出 target blocks。并不是先把 target 输入遮掉,再分别编码它们。
sufficiently informative context block
这里的意思是:
context 必须保留足够多且空间分布足够广的图像信息,使模型有可能推断被遮挡区域的语义。
论文的默认设计是:
- 先取占图像面积约
85%–100%的大 context block; - 再删除与 target blocks 重叠的 patches;
- 最终得到一个面积较大、但中间有若干空洞的可见区域;
- target 通常有四块,每块约占图像的
15%–20%。
例如,要预测狗的头:
- 如果 context 包含狗的身体、脖子和背景,模型可以推断缺失区域可能是狗头;
- 如果 context 只剩一小块草地,就没有足够信息判断缺失区域是什么。
因此 informative 不是一个额外网络模块,而是对 context masking 策略的要求:
I(Zcontext;Ztarget)必须足够大I(Z_{\text{context}};Z_{\text{target}}) \quad\text{必须足够大}
直觉上就是 context 与 target 之间必须存在可学习的关系。