跳转至

Context-Aware Multimodal Pretraining

会议: CVPR 2025
arXiv: 2411.15099
代码: 无
领域: 多模态VLM
关键词: 对比学习预训练, few-shot迁移, 上下文感知, SigLIP, 度量学习

一句话总结

本文提出LIxP(Language-Image Contextual Pretraining),通过在对比式图文预训练中引入交叉注意力上下文化机制,使视觉-语言模型在不损失零样本性能的前提下,显著提升了基于度量的few-shot适应能力(21个下游任务平均提升5%以上,样本效率提升可达4倍)。

研究背景与动机

对比式图文预训练(如CLIP、SigLIP)已成为训练通用视觉表征模型的标准范式,模型在零样本迁移任务上表现优异。然而,当下游分布与预训练数据差异较大时,模型需要利用测试时提供的少量标注样本进行适应。当前存在两类适应方法:一类是基于优化的方法(模型微调、prompt tuning、adapter训练等),计算开销大且在样本极少时容易过拟合;另一类是基于度量的训练免费方法(原型分类器、最近邻投票、Tip-Adapter等),简单高效且灵活可扩展。

然而,标准的对比预训练并未显式考虑模型在测试时会被基于度量的机制重用。人们一直假设为零样本优化的表征天然能支持few-shot场景,但这一假设从未被严格验证。本文的核心观点是:通过精心设计预训练目标,可以让模型"天生"更适合训练免费的度量式适应,同时保持零样本泛化能力。

切入角度在于:在预训练阶段模拟测试时的上下文重用过程,让模型学会在表征空间中利用邻域信息进行自我增强。核心 idea:在对比预训练中加入一个基于交叉注意力的上下文化分支,让表征学会从同批次其他样本中汲取有用信息。

方法详解

整体框架

LIxP在标准的图文对比预训练(CLIP或SigLIP)基础上,增加了一个"上下文化"分支。整体训练目标是两个损失的加权组合:一个是标准的图文对比损失(保证零样本能力),另一个是对上下文化后的图像表征施加的对比损失(鼓励表征适应度量式重用)。两个损失使用独立的温度参数,实现解耦优化。

关键设计

  1. 表征上下文化(Representation Contextualization):

    • 核心思路是通过交叉注意力机制,让每个图像表征从"上下文缓冲区"中聚合信息,生成"上下文化表征"
    • 具体做法:对于归一化的图像表征 \(x_i\),通过 \(x_i^{ctx} = \text{softmax}(\frac{x_i \cdot \mathcal{M}_K^T}{\tau_{ctx}\sqrt{d}}) \mathcal{M}_V\) 进行交叉注意力
    • 上下文缓冲区的键(K)使用归一化的批次图像特征,值(V)使用未归一化的特征,后者利用范数中的额外自由度提供更丰富的信号
    • 关键细节:使用对角线遮罩(\(-\infty\) masking),防止表征关注自身,避免退化为恒等映射
  2. 解耦的双温度训练目标:

    • 训练损失为 \(\mathcal{L}_{LIxP} = \alpha \mathcal{L}_{LIP}(\mathbf{X}, \mathbf{T}, \tau_1) + (1-\alpha) \mathcal{L}_{LIP}(\mathbf{X}^{ctx}, \mathbf{T}, \tau_2)\)
    • 使用三个独立可学习的温度参数 \(\tau_1\)\(\tau_2\)\(\tau_{ctx}\),解耦零样本和few-shot两个优化方向
    • 权重 \(\alpha\) 通常设为0.9,保证零样本性能为主
    • 如果直接将上下文化特征塞入单一损失,会导致模型"偷懒"不学好基础表征,零样本性能下降
  3. 简洁的缓冲区设计:

    • 缓冲区直接使用当前批次的图像表征(键归一化、值不归一化),不需要外部记忆库
    • 这种设计使得缓冲区与训练批次等价,既计算高效又允许端到端反向传播
    • 实验证明,停止梯度传播(尤其是对值向量)会严重损害性能
    • 增加额外的值投影头(MLP等)反而有害,简单直接效果最好

损失函数 / 训练策略

  • 支持SigLIP(成对sigmoid)和CLIP(softmax-based InfoNCE)两种底层损失
  • 温度参数采用指数参数化 \(\tau = \exp(\tau')\),使训练动态更稳定
  • 训练动态呈现有趣的"涌现"特性:早期阶段模型不利用上下文,直到基础表征质量达到一定水平后,\(\tau_{ctx}\) 自动下降到合适值,上下文使用才被"激活"
  • 支持后训练模式(post-training):在已训练好的SigLIP模型上继续用LIxP微调,仅需额外0.5B-1B样本即可获得大幅提升

实验关键数据

主实验

模型/数据量 指标 SigLIxP SigLIP基线 提升
ViT-S/16 (1.5B) 32-shot Tip-Adapter 65.7% 60.3% +5.4%
ViT-S/16 (1.5B) 零样本 47.3% 46.9% +0.4%
ViT-B/16 (6B) 32-shot Tip-Adapter 73.8% 69.5% +4.3%
ViT-L/16 (8B) 32-shot Tip-Adapter 77.2% 73.2% +4.0%
ViT-S/16 (1.5B) 样本效率 8-shot=61.1% 32-shot=60.3% 4x效率

与优化式SOTA方法对比(ViT-B/16, 16-shot)

方法 ImageNet-1K DTD Food101 Pets Cars
DMN(当前SOTA) 74.7 75.0 87.1 94.1 85.3
CasPL 74.2 75.1 88.4 94.1 86.7
SigLIxP(训练免费) 77.9 76.7 92.6 94.4 92.8

消融实验

配置 零样本 16-shot 说明
完整LIxP 50.5 64.1 最优配置
无自注意力遮罩 50.9 60.5 遮罩对few-shot至关重要
α=0.6(上下文权重过大) 48.7 61.5 零样本显著下降
τ₁=τ₂(共享温度) 47.8 61.8 温度解耦很重要
停止V的梯度 43.8 58.7 端到端反传关键

关键发现

  • 所有21个评估数据集在32-shot下均获得>1%提升,最高达+16.2%(ImageNet-Sketch)
  • 6种不同的度量式适应方法全部受益,提升从+1.7%到+5.4%不等
  • 随数据集类别数增加(绝对样本数增多),性能提升呈线性增长
  • 后训练模式下,仅额外0.5B样本即可匹配3×基线训练量的few-shot性能

亮点与洞察

  1. 首次系统性地质疑"零样本优化的表征天然适合few-shot"这一假设,并给出了改进方案
  2. 方法极其简洁:无需额外参数(不引入MLP头、不需外部记忆),几乎无计算开销增加
  3. 训练动态的"涌现"现象值得关注:上下文使用不是一开始就出现,而是在表征质量足够好之后自动启动
  4. 彻底颠覆了"训练免费方法不如优化式方法"的传统认知,在ImageNet上以77.9%大幅超过SOTA的74.7%
  5. 后训练模式意味着可以在已有的预训练模型上"加装"这一能力,实用价值极高

局限与展望

  • 实验仅在WebLI数据集上预训练,未验证在其他预训练数据(如LAION)上的效果
  • 仅评估了分类任务的few-shot能力,未扩展到检测、分割等下游任务
  • 缓冲区设计为当前批次内样本,批次大小可能影响上下文质量;跨批次的记忆缓冲区值得探索
  • 未与最新的检索增强方法(如SuS-X的支持集检索)结合验证
  • 三个温度参数的学习动态较复杂,不同超参设置下的鲁棒性虽有验证但范围有限

相关工作与启发

  • 与元学习领域的发现一致:简单的度量方法在强特征上往往超过复杂的优化式方法(ProtoNet、Matching Networks的思路)
  • 后训练模式类似于RLHF中的"alignment stage"——在通用预训练之后做特定目标的微调
  • 交叉注意力上下文化可视为一种"隐式的episodic training",每个批次自动构成一个任务
  • 对视觉检索、开放词汇检测等需要快速适应新类别的场景有直接启发

评分

  • 新颖性: ⭐⭐⭐⭐ 核心idea简洁但有效,质疑了长期以来的默认假设;但交叉注意力上下文化本身并不新颖
  • 实验充分度: ⭐⭐⭐⭐⭐ 21个数据集×多种模型规模×6种适应方法×详细消融,非常全面
  • 写作质量: ⭐⭐⭐⭐⭐ 逻辑链清晰,从问题到方法到实验环环相扣,图表信息量大
  • 价值: ⭐⭐⭐⭐⭐ 实用性极强,直接改善了预训练模型的few-shot迁移能力,且方法简单易于集成

相关论文