在计算机视觉和多模态学习快速发展的格局中,像 CLIP 和 SigLIP 这样的模型已经确立了标准。通过在海量图像-文本对数据集上进行训练,这些模型学习到了稳健的表征,在“零样本” (Zero-Shot) 任务上表现出色——即只需将图片与文本描述进行匹配,就能对从未见过的图像进行分类。

但这里有个问题。虽然这些模型是通才,但当我们通过需要它们成为专才时,往往会遇到困难。当下游任务涉及特定的、细粒度的类别,或者图像分布与网络爬取的训练数据差异巨大时,零样本性能往往会遇到瓶颈。为了解决这个问题,从业者通常转向少样本适应 (Few-Shot Adaptation) : 给模型提供少量示例图片 (即“样本”/shots) 以此来进行学习。

传统上,适应一个模型需要在测试时进行微调 (Fine-Tuning) 或复杂的优化。但是,如果模型生来就准备好进行适应呢?

在这篇文章中,我们将深入探讨 上下文感知多模态预训练 (Context-Aware Multimodal Pretraining,简称 LIxP) , 这是一篇提出对视觉-语言模型预训练方式进行简单却深刻变革的研究论文。通过教导模型在初始训练阶段利用“上下文”,研究人员在下游任务中实现了高达四倍的样本效率提升,弥合了静态零样本模型与高度自适应的少样本学习者之间的鸿沟。

问题所在: 训练与测试之间的脱节

要理解 LIxP 的创新之处,我们首先需要看看视觉-语言模型标准生命周期中的脱节现象。

1. 预训练 (零样本优化) : 标准模型使用对比学习 (如 CLIP 或 SigLIP) 进行训练。目标很简单: 拉近图像嵌入与其对应文本描述嵌入的距离,并推远不相关文本的距离。这针对零样本检索进行了优化。

2. 推理 (少样本适应) : 然而在测试时,我们通常可以获得一个“支持集 (Support Set) ”——即我们关心的类别的少量带标签图像。我们要模型利用这些额外信息。像 Tip-Adapterk-近邻 (k-Nearest Neighbors, k-NN) 这样的技术利用这些支持图像来调整模型的预测,而无需重新训练整个网络。这被称为*免训练、基于度量的适应 (Training-free, metric-based adaptation) *。

脱节之处: 问题在于,模型从未被训练去“观察”其他图像来做决定。在预训练期间,它一次只看一张图和一段文本。它不知道如何有效地利用支持集,因为它从未练习过这样做。它假设自己必须完全依赖内部权重。

LIxP 背后的研究人员提出了一个问题: 我们能否修改预训练阶段,明确地让模型为这种基于上下文的适应做好准备?

背景: 对比学习与适应

在剖析解决方案之前,让我们简要建立基准。

标准预训练

大多数最先进的视觉-语言模型使用 InfoNCE 损失或 Sigmoid 损失 (SigLIP) 的变体。

SigLIP 损失函数。

如上式所示,SigLIP 损失 (\(\mathcal{L}_{\mathrm{SigLIP}}\)) 考察图像嵌入 (\(x_i\)) 和文本嵌入 (\(t_j\)) 之间的成对相似度。它鼓励点积在 \(i=j\) (匹配对) 时为高,否则为低。

基于度量的适应

在测试时,如果我们有一些带标签的图像 (支持集) ,我们可以即时创建一个分类器。例如, 原型分类器 (Prototypical Classifier) 会对特定类别的所有支持图像的嵌入求平均,以创建一个“原型”向量 (\(\mu_c\)) 。

原型分类器公式。

当新的测试图像进来时,我们将它与这些原型进行比较,而不仅仅是文本描述。更先进的方法,如 Tip-Adapter , 结合了零样本文本预测和这种视觉相似性,以获得两全其美的效果。

Tip-Adapter logits 公式。

在这里,最终的 logits 是基于文本的预测 (\(x_{test}\mathbf{T}^T\)) 与支持集的视觉相似度 (\(\mathbf{X}_{spt}\)) 的混合。

核心方法: 语言-图像上下文预训练 (LIxP)

这篇论文的核心贡献是 LIxP 。 其思路是在预训练期间模拟测试时支持集的可用性。

LIxP 并没有让图像孤立地处理,而是强制模型观察当前批次 (Batch) 中的其他图像——将它们视为上下文——以帮助预测正确的文本标签。这将批次变成了一个临时的“支持集”。

1. 上下文表征

研究人员引入了图像的上下文表征 (Contextualized Representation) , 记为 \(x_i^{ctx}\)。这是使用交叉注意力 (Cross-Attention) 机制生成的。当前图像 \(x_i\) 充当 查询 (Query) , 而其他图像的缓冲区充当 键 (Keys, \(\mathcal{M}_K\))值 (Values, \(\mathcal{M}_V\))

上下文表征公式。

在这个公式中:

  • \(x_i\) 是标准的图像嵌入。
  • \(\mathcal{M}_K\) 和 \(\mathcal{M}_V\) 代表上下文缓冲区 (其他图像) 。
  • \(\sigma\) 是 softmax 函数。
  • softmax 内部的项计算相似度: “我当前的图像与上下文缓冲区中的图像有多相似?”
  • 输出是上下文值的加权和。

通过这种方式,表征 \(x_i^{ctx}\) 不再仅仅是“这张图看起来像什么”,而是“这张图与当前可用的其他图有什么关系”。

2. 设计缓冲区

训练期间这个“上下文缓冲区”从何而来?研究人员选择了一个优雅且高效的解决方案: 批次本身即是缓冲区。

上下文缓冲区定义。

键缓冲区 (\(\mathcal{M}_K\)) 由当前批次的归一化图像嵌入组成。值缓冲区 (\(\mathcal{M}_V\)) 由未归一化的嵌入组成。这使得模型可以从周围环境中学习,而无需维护昂贵的外部记忆库。

3. 联合目标

如果我们使用上下文训练模型,它可能会变得“懒惰”,无法学习到稳健的独立特征 (即零样本能力) 。它会完全依赖于在批次中寻找相似的图像。

为了防止这种情况,LIxP 使用了一个复合损失函数。它训练模型同时在两种场景下表现良好:

  1. 标准模式: 仅使用图像预测文本 (标准 SigLIP 损失) 。
  2. 上下文模式: 使用上下文表征预测文本。

联合 LIxP 损失函数。

在这里,\(\alpha\) 充当平衡项。作者发现将 \(\alpha\) 设置在 0.9 左右 (大部分为标准损失,小部分为上下文增强) 效果最好。这确保了模型在保留强大的零样本能力的同时,学习如何利用可用的上下文。

4. 关键实现细节

两个微妙但至关重要的工程选择使这一方法行之有效:

A. 掩蔽自注意力 (Masking Self-Attention) : 在计算上下文表征时,图像本身在技术上也是批次的一部分。如果允许模型关注缓冲区中的自己,它只会简单地复制自己的特征 (因为相似度完美) ,而忽略其余的上下文。为了强制模型观察其他图像,研究人员应用了一个掩码 (\(\mathbf{M}\)) ,将对角线上的相似度设置为 \(-\infty\)。

带有掩蔽的详细上下文批次公式。

B. 解耦的温度参数 (Uncoupled Temperatures) : 对比学习严重依赖于一个“温度”参数 (\(\tau\)) 来缩放 logits。研究人员发现,标准损失所需的温度 (\(\tau_1\)) 与上下文损失所需的温度 (\(\tau_2\)) 不同,也不同于注意力机制内部使用的温度 (\(\tau_{ctx}\)) 。

让这些温度参数可独立学习是至关重要的。如果强制共享一个温度,相互竞争的目标 (零样本 vs 少样本) 会降低彼此的性能。

实验与结果

教模型使用上下文真的有帮助吗?结果非常令人信服。

1. 样本效率与少样本性能

主要指标是样本效率 (Sample Efficiency) : 模型需要多少个示例才能达到特定的准确率?

下图展示了标准 ViT-S/16 模型 (SigLIP) 与 LIxP 版本的对比。

显示少样本迁移效率提升的图表。

关键结论: LIxP 模型 (橙线) 仅需 8 个样本 (Shots) 就能达到标准模型 (蓝线) 需要 32 个样本 才能达到的效果。也就是 4 倍的样本效率提升 。 此外,零样本性能 (0 shots 处) 几乎保持一致,证明增加上下文能力并没有损害通用性能。

2. 跨数据集的一致性

这并非个别数据集上的侥幸。研究人员在 21 个不同的基准数据集上进行了测试,范围从卫星图像 (EuroSAT) 到细粒度物种分类 (Stanford Dogs)。

数据集级别性能增益的柱状图。

如图 2 所示,每一个数据集都出现了提升,其中一些 (如 ImageNet-Sketch) 甚至看到了超过 16% 的增益。

3. 对适应方法的鲁棒性

LIxP 为任何基于度量的适应方法都准备好了表征。无论你是使用简单的原型分类器、Tip-Adapter,还是复杂的 k-NN 投票方案,上下文感知的嵌入都能提供更好的基础。

比较不同分类方法的堆叠柱状图。

在图 3 中,我们可以看到无论使用哪种方法 (x 轴) ,LIxP 模型 (上方橙色条) 始终优于基线。

4. 规模扩展

现代 AI 中最重要的问题之一是: “它能扩展吗?”研究人员在不同模型尺寸 (ViT-Small 到 ViT-Large) 和数据规模 (15 亿到 150 亿示例) 上验证了他们的方法。

展示方法可扩展性的表格。

表 1 证实了这些增益是持久的。即使模型变得更大并使用更多数据进行训练,上下文感知目标在少样本场景中继续提供显著的提升 (平均约 +3-4% 的增益) 。

5. 免训练 vs 基于优化

也许最引人注目的结果是与基于优化的方法的比较。这些技术需要在测试时运行梯度下降来微调模型或学习提示词 (Prompts,如 CoOp, MaPLe) 。这些方法既昂贵又缓慢。

LIxP 结合简单的免训练分类器 (如 k-NN) ,往往优于这些重型方法。

比较 LIxP 与基于优化方法的表格。

在表 2 中,“SigLIxP” (底行) 在主要基准上击败了像 CoOp 和 MaPLe 这样复杂的提示学习方法。这表明,如果你的表征足够好 (具有上下文感知能力) ,你就不需要在测试时使用复杂的微调算法。

分析训练动态

为什么这会起作用?研究人员分析了训练曲线,以观察模型是如何学习使用上下文的。

训练动态和温度演变。

图表揭示了一种有趣的“涌现 (Emergent) ”行为:

  1. 早期训练: 上下文温度 (\(\tau_{ctx}\)) 起始很高。模型实际上忽略了上下文,专注于通过标准损失学习基本的视觉特征。
  2. 拐点: 一旦基础表征还过得去,\(\tau_{ctx}\) 就会下降。模型“开启”上下文机制。
  3. 协同: 模型随后优化其特征,使其既能独立使用,又能作为其他图像的上下文。

这证实了学习到的温度参数控制着一个课程,自动地优先考虑标准特征学习,其次才是上下文的使用。

可以修复旧模型吗? (后训练)

最后,如果你已经有一个预训练好的 SigLIP 模型怎么办?你需要从头开始吗?

答案是不需要。研究人员展示了你可以进行 上下文感知后训练 (Context-Aware Post-Training)

展示后训练微调结果的图表。

图 4 显示,采用现有模型并使用 LIxP 目标对其进行短时间的微调 (0.5B 或 1B 个示例) ,会产生巨大的收益,迅速追赶上那些从头开始训练更长时间的模型。

结论与启示

“上下文感知多模态预训练”这篇论文强调了我们过去训练视觉模型方式中的一个根本性低效之处。我们期望模型擅长利用上下文适应新样本,却从未教过它们如何观察样本。

通过引入简单的、基于批次的上下文损失,LIxP 创建的模型:

  1. 是更好的学习者: 它们适应新任务所需的样本少 4 倍。
  2. 更高效: 它们允许廉价的、免训练的适应 (如 k-NN) ,效果媲美昂贵的微调。
  3. 可扩展: 该方法适用于各种模型尺寸和数据集。

对于学生和从业者来说,这强调了一个重要的教训: 让你的训练目标与你的推理目标保持一致。 如果你希望模型在测试时能够利用上下文进行适应,你就应该在训练时提供上下文。