引言

在基础模型时代,CLIP (Contrastive Language-Image Pre-training,对比语言-图像预训练) 作为一个分水岭时刻脱颖而出。不同于过去那些针对特定类别 (如 ImageNet) 训练且面对稍有不同的事物就会崩溃的图像分类器,CLIP 展示出了理解其在训练中从未明确见过的概念的非凡能力。它可以看一张照片、一幅素描或一幅油画,通常能理解它们描绘的是同一个物体。

这种能力被称为 分布外 (Out-of-Distribution, OOD) 泛化 。 主流观点认为,CLIP 的这种超能力来自于其训练数据的巨大规模和多样性——从互联网上抓取的 4 亿对图像和文本。但是,“多样性”是一个模糊的术语。究竟是 什么样 的多样性在起作用?从机制上讲,神经网络内部发生了什么,使其能够跨越狗的照片和随手画的狗之间的鸿沟?

最近的一篇研究论文 *“When and How Does CLIP Enable Domain and Compositional Generalization?” (CLIP 何时以及如何实现域泛化和组合泛化?) * 深入探讨了这些问题。研究人员并没有简单地接受“数据越多越好”的说法。相反,他们构建了受控实验来隔离训练数据的特定因素。他们提出了两个基本问题:

  1. 域泛化 (Domain Generalization) : 如果 CLIP 见过许多其他风格,它能处理一种完全未见过的艺术风格 (如素描) 吗?
  2. 组合泛化 (Compositional Generalization) : 如果 CLIP 见过“狗的照片”和“猫的素描”,但从未见过“狗的素描”,它能识别出 狗的素描 吗?

这篇文章将带你了解他们的方法论、关于泛化何时失效的惊人发现,以及他们对驱动 CLIP “大脑”的内部回路的机理分析。

泛化难题

在深入实验之前,我们需要定义研究人员为模型设置的两类障碍。

域泛化 (DG)

这是外推 (extrapolate) 的能力。想象一下,一个模型是用照片、油画和卡通画训练的。即使它在训练中从未见过一张素描,它能成功分类 素描 中的物体吗?如果能,它就实现了域泛化。它学会了忽略“风格”并专注于“内容”。

组合泛化 (CG)

这是重组已知概念的能力。假设模型已经见过:

  • 物体: “狗” (在照片中)
  • 域 (风格) : “素描” (包含猫、汽车和树木)

它知道狗长什么样,也知道“素描”风格长什么样。它能将它们结合起来识别出 狗的素描 吗?这就是“组合”挑战——人工智能研究的一个长期目标。

实验设置: 控制混沌

为了研究这些现象,你不能简单地使用像 LAION-400M 这样的大规模数据集,因为它太混乱了;你永远无法确切知道模型见过什么或没见过什么。研究人员利用 ImageNet (主要是自然图像) 和 DomainNet (涵盖 6 种风格的图像: Clipart/剪贴画, Infograph/信息图, Painting/油画, Quickdraw/速绘, Real/真实照片, 和 Sketch/素描) 构建了一个受控环境。

如下图所示,他们为模型创建了四种不同的训练“配方”:

训练数据设置和泛化性能。面板 A 显示了四种训练设置: 仅自然图像、留一域法、低多样性 CG 和高多样性 CG。面板 B 展示了概念上的性能提升。

  1. Natural-only (仅自然图像) : 基线。主要用照片训练。这模仿了标准的 ImageNet 训练。
  2. Leave-out-domain (DG,留一域法): 模型看到各种不同的域 (油画、剪贴画等) ,但 从未 看过测试域 (例如素描) 。
  3. CG Low-Diversity (低多样性 CG) : 模型看到照片 + 测试域的一个特定子集 (例如猫/车的素描,但 没有 狗的) 。
  4. CG High-Diversity (高多样性 CG) : 模型看到许多域的丰富混合 + 测试域的一个特定子集。

测试集始终相同: 测试域中的未见类别 (例如狗的素描) 。

数据一览

要理解这项任务的难度,请看 DomainNet 中的视觉变化。一张“Quickdraw” (涂鸦) 看起来与“Real”照片毫无相似之处,而“Infograph”在结构上与“Painting”也截然不同。

DomainNet 六个域中的随机示例,展示了不同风格的航空母舰、斧头、香蕉和狮子。

实验发现: 泛化何时发生?

研究人员在这些数据集上训练了 ResNet-50 CLIP 模型,并测量了它们的“有效鲁棒性”——一种比较它们在困难测试域上的表现与在标准自然图像上表现的指标。

发现 1: 多样性为王

第一个主要发现证实了多样性驱动鲁棒性的直觉。使用 高域多样性 训练的模型 (下表中的红线和紫线) 明显优于使用低多样性训练的模型 (蓝线和绿线) 。

比较四种训练设置的有效鲁棒性图。高多样性设置 (红/紫) 在未见类别上显示出比低多样性 (蓝/绿) 始终更高的泛化能力。

在上图中,请看“Clipart”和“Sketch”面板。红色叉号 (留一域法) 远高于蓝色圆圈 (仅自然图像) 。这证明即使模型 从未 见过素描,看油画和剪贴画也有助于它比只看照片更好地理解素描。

发现 2: “附加”效应

并非所有的域都是平等的。研究人员尝试逐个添加域,看看哪些域对性能提升最大。

条形图显示了向训练集中添加特定域的影响。添加域通常会提高未见类别的性能。

如图 3 所示,添加域通常会推高与性能 (条形图变高) 。然而,存在边际收益递减,且域之间的关系很重要。例如,如果你想泛化到“Clipart”,看“Sketches”会有帮助。但如果你已经看过了“Quickdraw”,再添加“Sketch”可能就没有那么大帮助了,因为它们具有相似的视觉特征 (黑白轮廓) 。

发现 3: 组合悖论

这里的事情变得反直觉了。

从逻辑上讲, 组合泛化 (CG) 应该比 域泛化 (DG) 更容易。在 CG 中,模型实际上已经见过测试域 (只是没有见过特定的测试类别) 。在 DG 中,它根本没见过该域。

然而,结果显示了一些奇怪的现象: CG 的表现通常比 DG 差。

表 1 强调了一个“泛化差距”。即使在最佳情况下 (高多样性 CG) ,模型的表现也比简单地看到测试域中特定类别的模型 (“上限”) 要差。

显示性能差距的表格。即使是高多样性模型也落后于见过特定类别-域样本的模型 (上限) 。

为什么会发生这种情况?“可见类别偏差”。 研究人员发现,当 CLIP 看到某个域的特定类别子集 (例如猫的素描) 时,它会过度拟合这些类别。它可能会学到一条捷径,比如“任何看起来像铅笔画的东西都是猫”。

当你随后让它识别“狗的素描”时,它会失败,因为它内部对“素描”的定义与“猫”紧密结合在一起。这就是为什么有时 根本不看该域 (DG) 会比看该域的一个有偏差的子集 (CG) 产生更好的结果。

为了证明这一点,他们进行了一项实验,将类别分为三组:

  1. \(C_1\): 训练期间见过的类别 (有偏差) 。
  2. \(C_2\): 目标未见类别。
  3. \(C_3\): 测试中未查询的干扰类别。

解释用于调查可见类别偏差的类别划分图解。

他们发现,如果他们在 \(C_3\) (与测试集或查询集不重叠的类别) 的素描上进行训练,组合泛化能力会显著提高。这表明 类别重叠 是组合学习的一个危险陷阱。

机理分析: CLIP 是如何思考的?

论文的后半部分从“发生了什么”转向“为什么会发生”。研究人员使用了 机理可解释性 (mechanistic interpretability) 技术来窥探神经网络这个“黑盒”的内部。

他们假设,成功的泛化需要模型学习 共享表征 (shared representations)共享回路 (shared circuits) 。 换句话说,对照片中的“狗”激活的神经元,应该与对素描中的“狗”激活的神经元是相同的。

1. 视觉嵌入与稀疏自编码器

首先,他们查看了输出嵌入。他们使用了 稀疏自编码器 (Sparse Autoencoders, SAEs) , 这是一种将模型的密集嵌入向量分解为可解释“特征”的技术。

定义稀疏自编码器 (SAE) 的公式,包含编码器、ReLU 非线性和解码器。

利用 SAE,他们测量了特征共享程度。他们发现了一个很强的相关性: 泛化能力更好的模型在不同域之间共享更多的特征。 如果模型将“素描特征”和“照片特征”视为完全不同的语言,它就无法泛化。

2. Quickdraw 之谜

在整个实验中,有一个域作为一个失败案例脱颖而出: Quickdraw (火柴人涂鸦) 。即使经过高多样性训练,CLIP 也难以泛化到未见过的 Quickdraw 类别。

是标题 (captions) 的问题吗?研究人员尝试使用域不变的标题 (例如,仅使用“一只狗”而不是“一只狗的速绘”) 进行训练,以迫使模型对齐图像。

嵌入的 UMAP 可视化。面板 A 显示 Quickdraw 与其他域有明显的聚类区分。面板 B 显示使用不变标题时对齐效果更好。

如图 5 所示,更改标题迫使嵌入对齐 (面板 B 比面板 A 混合得更均匀) 。 然而,泛化能力并没有提高。 这证明仅有对齐的输出嵌入是不够的。

3. 回路相似性: 缺失的一环

如果输出是对齐的但答案是错的,问题一定出在计算过程——即 回路 (circuits) 中。

研究人员引入了一种测量 机理相似性 (Mechanistic Similarity) 的方法。他们将模型对特定类别的内部处理表示为一个图 (神经元及其连接的回路) ,并比较了不同域之间的这些图。

他们使用了两个指标:

  • 表征相似性 (CKA): 各层是否产生相似的激活模式?
  • 神经元共享 (Jaccard Index): 是否使用了 相同 的特定神经元?

结果令人震惊:

显示表征相似性 (CKA) 和共享神经元的图表。与其他域相比,Quickdraw 始终显示最低的相似性和共享度。

请看图 6 中的蓝线。对于 Quickdraw 域,表征相似性 (CKA) 和神经元共享度都大幅低于其他域。

这就是“确凿证据”。虽然最终的嵌入看起来可能还好,但用于处理 Quickdraw 图像的 内部机制 与用于处理照片或油画的机制有着根本的不同。因为回路没有共享,知识无法迁移。模型实际上有一个“Quickdraw 大脑”和一个“真实照片大脑”,它们互不交流。

为了进一步可视化这一点,请看跨域所有层的神经元共享情况:

各层共享神经元的详细图表。Quickdraw (蓝色) 显示共享显著较少,尤其是对于未见类别。

虽然 Sketch 和 Painting 等域与“其他” (橙色线) 共享了相当数量的神经元,但 Quickdraw (蓝色线) 却落后了,特别是在进行高级语义处理的深层网络中。

结论: 泛化的秘诀

这项研究揭开了 CLIP 令人印象深刻的性能的面纱。它证实了基础模型的“魔力”根本不是魔力——它是特定数据属性和内部机制的产物。

主要收获:

  1. 多样性不可妥协: 你无法在同质化的数据集上训练出鲁棒的模型。域多样性是域泛化和组合泛化的燃料。
  2. 警惕“可见类别”陷阱: 部分地看到一个域可能是危险的。如果模型学会将一种风格 (如素描) 仅与少数几个类别联系起来,就会产生偏差,损害其识别该风格中新类别的能力。
  3. 内在才是关键: 仅有最终输出嵌入的对齐是不够的。真正的泛化需要 机理相似性——无论概念出现在何种艺术风格或域中,模型都必须使用相同的内部回路和神经元来处理它。

对于学生和从业者来说,这意味着改进基础模型不仅仅是抓取更多数据。它是关于策划数据,以鼓励模型构建 通用的、共享的回路 , 而不是碎片化的、特定于域的启发式规则。随着我们向更通用的人工智能迈进,理解这些模型 如何 在内部连接概念,与在测试集上测量它们的准确性同样重要。