引言

想象一下,给目前最先进的 AI 模型看一张马骑在人身上的照片 (确实是一张奇怪的照片) 。然后,你让模型在两个选项中选出正确的标题: “一个人骑着马”和“一匹马骑着人”。

理想情况下,这应该很简单。名词是一样的,但关系反转了。然而,大多数现代视觉-语言模型 (VLMs) ,包括著名的 CLIP,在这方面都极其吃力。它们的表现就像“词袋 (Bag-of-Words) ”模型——它们看到了“马”,看到了“人”,就宣布匹配成功,完全忽略了句法或动词“骑”所描述的关系。

这种局限性被称为组合推理 (compositional reasoning) 缺陷。虽然 VLMs 彻底改变了计算机理解图像和文本的方式,但它们理解属性 (衬衫是红色的吗?) 和关系 (杯子在桌子吗?) 的能力仍然明显不足。

今天,我们将深入探讨一篇名为 “Interpretable Composition Attribution Enhancement for Visio-linguistic Compositional Understanding” (面向视觉-语言组合理解的可解释组合归因增强) 的论文。作者准确地找出了发生这种情况的原因,并提出了一个名为 CAE (Composition Attribution Enhancement,组合归因增强) 的新颖框架来解决这个问题。

请看下图。

图 1: (左) Winoground 基准测试中的一个示例,显示 CLIP 无法区分“车在人下面”和“人在车下面”。 (右) 图表显示模型赋予物体的关键性分数远高于关系。

在左图中,我们看到了实际问题。CLIP 无法区分谁在谁下面。在右图中,我们看到了原因。研究人员分析了模型关注的内容 (归因分数) 。结果呢?模型赋予物体 (名词) 的分数明显高于关系属性 。 本质上,模型很懒;它通过仅仅识别物体并忽略细节来学习捷径。

在这篇文章中,我们将探索 CAE 框架如何迫使模型停止偷懒,开始关注那些真正重要的词汇。

背景: 对比学习中的捷径问题

要理解解决方案,我们首先需要了解这些模型的生存环境。像 CLIP 这样的模型是使用对比学习 (Contrastive Learning) 进行训练的。

简而言之,CLIP 接收一张图像和一段文本标题。它将图像编码为一个数学向量,将文本编码为另一个向量。训练的目标是最大化正确图像-文本对之间的相似度 (通常是余弦相似度) ,同时推开错误的配对。

“作弊码”

问题在于训练数据。在从互联网抓取的海量数据集中,存在有效的捷径。如果你看到一张狗在公园里的照片,标题是“一只狗在草地上跑”,模型很快就会意识到,它只需要识别“狗”和“草地”的视觉特征就能与文本匹配。它很少遇到“困难负样本 (hard negative) ”场景,比如需要区分“一只狗在草地上”和“草地在一只狗上”。

因此,模型学会了赋予物体名词很高的重要性 (归因) ,因为它们是通用预训练任务中最具辨别力的特征。定义关系的词 (如“在…上”、“在…下”、“骑”) 或属性 (如“红色的”、“巨大的”) 则被靠边站了。

这就是组合归因缺陷 (Composition Attribution Deficiency)

现有解决方案 vs. CAE

以前试图解决这个问题的尝试主要集中在数据增强上,特别是“困难负样本挖掘 (Hard Negative Mining) ”。这涉及人工创建棘手的标题 (例如,交换单词以创建“草地在一只狗上跑”) ,并强迫模型学习其中的区别。

虽然有效,但这是一种以数据为中心的方法。这篇论文的作者提出了一种以模型/损失为中心的方法 。 与其仅仅向模型投喂更难的数据,不如通过明确告诉模型更多地关注关系和属性词,来改变模型学习的方式

核心方法: 组合归因增强 (CAE)

CAE 的核心思想是“追踪”归因——识别模型正在关注哪些词——然后如果模型过度关注物体而以牺牲关系和属性为代价,就惩罚模型。

架构概览

让我们看看该方法的高级工作流程。

图 2: CAE 方法概览,显示了标准 CLIP 路径和添加的归因追踪与增强路径。

如图 2 所示,该流程有两个主要分支:

  1. 标准路径: 图像和文本通过各自的编码器计算标准的对比损失 (\(\mathcal{L}_{ITC}\)) 。
  2. 归因路径: 该框架分析文本编码器以计算每个单词的归因分数 。 然后,它应用正则化损失 (\(\mathcal{L}_{Attr}\)) ,强制组合词 (关系/属性) 的分数与物体词保持一致。

第一步: 识别词汇

在平衡注意力之前,我们需要知道哪些词是哪些。作者使用现成的文本场景图解析器。

  • 物体 Token (\(A_{obj}\)) : 像“人”、“马”、“车”这样的名词。
  • 组合 Token (\(A_{comp}\)) : 像“骑”、“在…下面”、“红色的”这样的关系和属性。

第二步: 损失的数学原理

首先,让我们回顾一下 CLIP 中使用的标准相似度分数。它计算图像特征 \(f_i(I)\) 和文本特征 \(f_t(T)\) 之间的点积,并由温度参数 \(\tau\) 进行归一化和缩放。

公式 1: 图像和文本特征之间的余弦相似度公式。

标准的训练目标涉及图像-文本对比 (ITC) 损失,它是图像到文本和文本到图像损失的平均值。

公式 2: 总 ITC 损失是图像到文本和文本到图像损失的平均值。

这些分量损失是标准的基于 Softmax 的交叉熵损失,本质上是要求模型从一批数据中分类出正确的一对。

公式 3: 图像到文本对比损失公式。

公式 4: 文本到图像对比损失公式。

新贡献: 归因损失

这就是神奇之处。作者引入了一个新的损失项 \(\mathcal{L}_{Attr}\)。

设 \(A_{obj}\) 为批次中所有物体 Token 的平均归因分数,\(A_{comp}\) 为所有组合 Token (关系/属性) 的平均分数。目标是最小化它们之间的差距。

公式 5: 归因损失公式,最小化物体和组合归因分数之间的差异。

在这个公式中,\(\epsilon\) 是一个边界参数 (通常设为 0) 。只有当 \(A_{obj} > A_{comp}\) 时,这个损失函数才会被激活。只要模型对物体的关注超过了对组合细节的关注,它就会惩罚模型。

最终的目标函数结合了标准对比损失和这个新的归因损失,并通过超参数 \(\lambda\) 进行平衡。

公式 8: 结合 ITC 损失和归因损失的总损失函数。

第三步: 四种计算归因的方法

该框架是通用的,这意味着它并不关心你如何计算重要性 (归因) ,只要你能有效地计算出来。作者提出了四种不同的“实例”或方法来得出这些分数。

1. 基于注意力的归因 (Attention-Based Attribution)

这是最简单的方法。Transformer 模型 (如 CLIP 中的文本编码器) 内置了自注意力机制。

  • 我们查看 [CLS] Token (代表整个句子的 Token) 的注意力图。
  • 我们看 [CLS] Token 对其他每个单词给予了多少关注。
  • 我们在层和头之间对这些权重进行平均,得到每个单词的分数。

2. 基于 GradCAM 的归因 (GradCAM-Based Attribution)

标准注意力有时会有噪声。GradCAM 是一种更复杂的可解释性技术,结合了注意力图和梯度。它提出的问题是: “对这个词的关注在多大程度上具体贡献了最终的相似度分数?”

它通过结合梯度 (\(\nabla A\)) 和注意力图 (\(A\)) 来计算第 \(i\) 层的“可解释性图” \(\bar{E_i}\):

公式 7: 使用梯度和注意力计算可解释性图的公式。

然后使用传播规则跨层聚合这些图:

公式 10: 更新相关性图 R 的传播规则。

这种方法通常能提供关于模型实际使用什么来做决策的最语义准确的图。

3. 基于扰动的归因 (Perturbation-Based Attribution)

这种方法很直观: 如果我删除这个词,模型会困惑吗? 作者屏蔽掉特定的 Token (用其他概念替换它们) ,并测量相似度分数 \(S(I, T)\) 的下降。如果移除一个词导致相似度大幅下降,那么该词具有很高的归因分数。

公式 11: 基于 Token 被扰动时期望相似度下降的归因分数。

4. 基于梯度的归因 (Gradient-Based Attribution)

这种方法查看输出相对于输入词嵌入的原始敏感度。它计算相似度分数相对于输入 Token \(x_{ij}\) 的梯度。高梯度意味着输入单词的微小变化会极大地改变输出,意味着高重要性。

公式 12: 通过对梯度的绝对值求和计算的归因分数。

它真的改变了归因吗?

在看准确率之前,让我们看看该方法是否按预期工作。

图 7: 箱线图比较了不同方法下物体与关系/属性的归因分数。

在图 7 中,我们看到了分数的分布。目标是让“关系 (Relation) ”和“属性 (Attribute) ”的条形图与“物体 (Object) ”的条形图具有可比性。这些图表显示,在不同的计算方法中,模型在应用 CAE 后学会了更均匀地分配其注意力。

实验与结果

研究人员使用他们的新损失函数在 MSCOCO 数据集上微调了一个标准的 ViT-B/32 CLIP 模型。他们在七个旨在测试组合理解的不同基准上进行了测试,包括 ARO、Winoground 和 VL-Checklist。

主要性能

结果令人印象深刻。

表 1: CLIP-CAE 与基线在七个基准上的主要结果比较。

表 1 比较了所提出的方法 (CLIP-CAE) 与标准预训练 CLIP 以及没有归因损失的微调版 CLIP (CLIP-FT) 。

  • 持续的增益: CLIP-CAE 在几乎所有基准测试中都优于基线 (CLIP-FT) 。
  • Winoground: 在出了名困难的 Winoground 基准测试中 (组分数的随机概率为 16.7%) ,基于注意力的 CAE 将组分数从 5.5% (基线) 提高到了 8.0%。
  • 鲁棒性: 无论使用哪种归因方法 (Attention, GradCAM 等) ,都能看到改进,证明了框架的鲁棒性。

与困难负样本挖掘的协同效应

一个主要问题是: 这会取代困难负样本挖掘吗,还是它们可以一起工作? 作者将 CAE 与“NegCLIP” (一种使用困难负样本的方法) 结合使用。

表 2: 显示 CAE 与困难负样本挖掘结合性能的结果。

如表 2 所示,这两种方法是正交的。当你结合它们时 (粗体数字) ,你可以获得两全其美的效果。例如,在 ARO-Relation 上,准确率跃升至 80% 以上,明显高于原始 CLIP 的 58.7%。

这会损害标准检索吗?

通常在 AI 中,针对特定能力 (如组合性) 进行优化会降低通用性能 (如为通用标题找到正确的图像) 。

表 3: MSCOCO 和 Flickr30K 的下游检索任务结果。

表 3 显示,总体而言, 不会 。 事实上,文本到图像 (T2I) 检索在 MSCOCO 上有所改进。在 Flickr30K 上的图像到文本检索略有下降,这可能是因为正则化仅应用于文本编码器,但总体通用能力保持完整或有所提高。

定性分析: 眼见为实

数字很好,但可视化更能说明问题。作者使用 GradCAM 可视化了图像上的“热力图”——显示了模型在处理文本时正在看哪里。

图 6: 猫触摸大象的可视化。CLIP 看着大象的身体。CLIP-CAE 看着触摸大象的爪子。

在图 6 中,提示词是 “the cat is touching the elephant” (猫正在摸大象)

  • 原始 CLIP (中) : 热力图 (红色区域) 完全集中在大象的头部和身体上。它看到了“大象”就停在那里了。它忽略了互动。
  • CLIP-CAE (右) : 热力图发生了显著变化。它高亮了猫的爪子和大象被触摸的特定部分。它实际上“看到”了动词“touching (摸/接触) ”。

此外,看图底部的文本归因分数,CLIP-CAE 给单词“touching”打出了 0.31 的分,而原始 CLIP 只给了 0.16

更好的文本嵌入

最后,作者检查了文本嵌入本身是否在语义上变得更丰富。

表 4: SICK-R 和 STS-Benchmark 上的语义文本相似度结果。

表 4 显示,CLIP-CAE 的文本编码器在语义文本相似度 (STS) 任务上表现更好。这意味着模型不仅仅更擅长匹配图像;它正在成为一个更好的语言模型,能够理解相似句子之间的细微差别。

相似度分布分析进一步支持了这一点:

图 3: 全文嵌入与特定关系/属性嵌入之间的相似度分布。

图 3 显示,与基线相比,CLIP-CAE 生成的嵌入 (绿色框) 与其包含的特定关系/属性的嵌入具有更高的余弦相似度。这证明文本嵌入正在编码更多的组合结构。

结论

视觉-语言模型的“词袋”行为一直是研究人员头疼的问题。虽然模型在物体识别方面很棒,但它们往往无法理解场景——即构成视觉世界的复杂的互动和属性网络。

论文 “Interpretable Composition Attribution Enhancement” 提供了一个令人信服的解决方案,超越了简单的数据清理。通过找出根本原因——组合归因缺陷——并直接优化模型的损失函数来修复它,作者提供了一个通用的、即插即用的框架。

主要要点:

  1. 可解释性作为工具: 可解释性方法 (如 GradCAM) 不仅仅用于在事后解释模型做了什么。它们可以集成到训练循环中,以在学习过程中指导模型。
  2. 关注点很重要: 简单地强迫模型关注“非物体”词汇就能显著提高推理能力。
  3. 正交性: 这种方法与现有的数据增强技术配合良好,进一步推动了最先进技术的发展。

随着 VLMs 继续向多模态大型语言模型 (MLLMs) 演变,确保它们理解现实的句法——而不仅仅是名词——将至关重要。CAE 代表了朝着这个方向迈出的重要一步。