引言

想象一辆自动驾驶汽车驶过繁忙的十字路口。它突然因为一个行人刹车了。作为一名工程师或用户,你可能会问: 它真的看到那个行人了吗?还是它只是对路面上一个看起来像人的阴影做出了反应?

在深度学习时代,回答这个问题变得极其困难。我们已经进入了对象级基础模型 (Object-level Foundation Models) 的时代——像 Grounding DINO 和 Florence-2 这样强大的 AI 系统,能够检测物体并理解复杂的文本描述 (例如,“那个穿白衣服的人”) 。虽然这些模型达到了令人难以置信的准确度,但它们就像“黑盒”一样运作。它们的内部决策过程是巨大的、复杂的参数网络,对人类来说是不透明的。

解释这些模型不仅仅是学术练习;这是一种安全必要性。然而,现有的“解释”AI 决策的方法正遇到瓶颈。它们难以应对基础模型的巨大规模以及这些模型融合视觉数据与文本的复杂方式。

在本文中,我们将深入探讨一篇名为 “Interpreting Object-level Foundation Models via Visual Precision Search” 的论文。研究人员提出了一种新颖的、无梯度的方​​法,称为 视觉精确搜索 (Visual Precision Search, VPS) 。 这项技术有效地“审问”模型,以创建精确的热力图,准确显示图像的哪些部分导致了特定的检测结果,其表现优于当前最先进的方法。

视觉精确搜索与其他方法的对比示意图。

如图 1 所示,传统的归因图可能会给出一个模糊、嘈杂的热力图 (右图) ,而视觉精确搜索 (左图) 则识别出了特定的语义线索——比如“男人 (guy) ”和“白色 (white) ”属性——这些线索驱动了模型的决策。

当前解释方法存在的问题

在我们拆解解决方案之前,必须了解为什么解释现代视觉语言模型如此困难。通常,研究人员使用两类方法来解释 AI 决策:

  1. 基于梯度的方法 (例如 Grad-CAM, ODAM) : 这些方法观察流经神经网络的梯度 (导数) ,以此查看哪些像素影响了输出。
  • *缺陷: * 在多模态模型 (视觉 + 语言) 中,文本和图像特征在网络深处融合。这种“纠缠”意味着梯度通常会变得混乱,无法精确定位负责检测的特定视觉区域。
  1. 基于扰动的方法 (例如 D-RISE) : 这些方法涉及遮盖 (隐藏) 图像的随机部分,并观察模型是否改变其判断。
  • *缺陷: * 随机遮盖效率低下且充满噪声。它通常会产生分散、颗粒状的显著性图,缺乏细粒度的细节。

Visual Precision Search 背后的研究人员意识到,要获得清晰的解释,他们需要一种不依赖内部梯度 (避免融合问题) 且不依赖随机概率 (避免噪声问题) 的方法。

解决方案: 视觉精确搜索

Visual Precision Search 的核心思想是将可解释性视为一个搜索问题 。 该方法不是问“梯度是什么?”,而是问: “为了让模型仍然能正确检测到对象,我需要保留的最小图像区域集是什么?”

拟议的视觉精确搜索方法框架。

如图 2 所示,该框架遵循一个逻辑流程:

  1. 稀疏化: 将图像分解为有意义的块 (子区域) 。
  2. 评分: 使用智能评分函数来评估每个块的重要性。
  3. 优化: 使用算法找到最关键的块。
  4. 归因: 根据这些发现生成最终的热力图。

让我们分解一下这个过程的机制。

第一步: 稀疏化 (超像素)

对于搜索算法来说,分析高分辨率图像中的每一个像素在计算上是不可能的。相反,作者使用了一种称为超像素分割 (特别是 SLICO 算法) 的技术。

这将输入图像 \(I\) 划分为一组 \(m\) 个子区域,表示为 \(V = \{I^s_1, ..., I^s_m\}\)。这些不仅仅是方格;它们是共享相似颜色或纹理的像素簇,使它们成为图像中具有语义意义的“碎片”。

第二步: 数学目标

目标是从总可用区域 (\(V\)) 中选择一个子区域子集 \(S\),使其最大化特定的可解释性得分,表示为 \(\mathcal{F}(S)\)。我们要找到最重要的区域 (子集 \(S\)) 。

在数学上,这表示为:

子集选择的最大化方程。

这看起来像是一个标准的优化问题,但魔力在于函数 \(\mathcal{F}\) 是如何定义的。作者引入了两个不同的分数来指导这次搜索: 线索分数 (Clue Score)协作分数 (Collaboration Score)

线索分数 (The Clue Score)

线索分数 (\(s_{clue}\)) 衡量区域的正向贡献 。 它问: 如果我只向模型展示这个特定区域,它对这里存在对象的置信度有多高?

它利用模型的输出——具体来说是边界框重叠度 (IoU) 和置信度分数——来确定一个区域是否包含与目标对象一致的“线索”。

线索分数方程。

这个分数确保搜索优先考虑那些实际上看起来像对象的区域 (例如,一个人的脸或身体) 。

协作分数 (The Collaboration Score)

然而,一个对象不仅仅是独立部分的集合。上下文很重要。协作分数 (\(s_{colla}\)) 衡量敏感性 。 它问: 如果我移除这个区域,检测会失败吗?

这捕捉了特征的“组合效应”。有时,一个区域本身可能看起来不像对象,但它提供了必要的背景 (比如冲浪者脚下的冲浪板) 。

协作分数方程。

子模函数 (The Submodular Function)

最终的目标函数结合了这两个视角。它平衡了寻找支持对象的证据 (线索) 与识别检测所必需的区域 (协作) 。

组合子模函数方程。

第三步: 贪婪搜索与子模性

完美地解决这个搜索问题是 NP-hard 的 (计算上的自杀) 。然而,研究人员证明他们的评分函数 \(\mathcal{F}\) 是子模的 (submodular)

简单来说, 子模性是“收益递减”的数学概念。当你添加更多区域时,向集合中添加关键区域的好处会减少。因为该函数具有此属性,研究人员可以使用贪婪搜索 (Greedy Search) 算法。他们先选最好的区域,然后选次好的,依此类推。这保证了在不检查每种可能组合的情况下获得接近最优的解。

一旦区域排好序,就会根据每个区域的边际贡献为其分配一个归因分数 \(\mathcal{A}\):

归因分数计算。

这个过程产生了一个清晰、精确的显著性图,准确突出了模型正在关注的内容。

实验结果

研究人员在 MS COCO (目标检测) 和 RefCOCO (视觉定位) 等主要数据集上验证了 VPS。他们在两个大型基础模型上进行了测试: Grounding DINO (基于 Transformer 的检测器) 和 Florence-2 (多模态大语言模型) 。

忠实度: 解释是否符合现实?

为了衡量“忠实度”,研究人员使用 插入 (Insertion)删除 (Deletion) 指标。

  • 插入 (越高越好) : 如果我们从最“重要”的区域开始慢慢展示图像,模型的置信度应该会迅速上升。
  • 删除 (越低越好) : 如果我们移除“重要”的区域,模型的置信度应该会立即崩溃。

结果令人印象深刻。

Grounding DINO 在 MS COCO、RefCOCO 和 LVIS 上的对比可视化结果。

在图 3 中,对比各列。 D-RISE 方法 (第三行) 产生了分散、嘈杂的红点。 ODAM (最后一行) 通常过于宽泛或弥散。 Visual Precision Search (Ours) (第一行) 紧紧贴合对象边界。

定量数据也支持了这一点。在下表 (表 2) 中,观察 Florence-2 模型的结果,VPS 在删除指标上显著优于 D-RISE (MS COCO 上为 0.0479 对比 0.0972) ,表明它在识别真正关键像素方面要好得多。

表格显示了 Florence-2 和 Grounding DINO 的忠实度指标。

解释失败案例

可解释性最强大的应用之一是理解模型为何失败 。 VPS 在这方面表现出色,因为它可以搜索导致负面结果的原因。

误分类 (幻觉)

有时,模型会在实际上是“轿车”的地方看到“卡车”,或者想象出不存在的物体。VPS 可以突出显示导致模型困惑的输入区域。

Grounding DINO 误分类的可视化。

在图 6 中,注意上面的例子。模型将轿车 (Car) 误分类为“卡车 (Truck) ”。青色区域 (解释) 突出了车辆的后部,表明车尾的箱状形状导致了混淆。在下面的例子中,梯子被误分类为“蹦床”,这可能是由于搜索突出显示的网格图案造成的。

漏检

如果模型完全漏掉了对象呢?

未检测到对象的可视化。

在图 7 (上图) 中,模型漏掉了“熊 (bear) ”。解释显示模型确实在看这只熊 (青色区域) ,但可能无法将其与旁边看起来很像的动物区分开。这表明失败是由于特征混淆,而不是因为模型没有“看”正确的地方。

消融研究: 为什么子区域很重要

你可能会问: 块 (子区域) 的大小重要吗?

研究人员进行了一项消融研究来测试这一点。

关于子区域数量的消融研究。

如图 8 (图表 A 和 B) 所示,增加子区域的数量 (使块更小、更精确) 会提高插入分数和平均最高分数。然而,这是一个权衡: 图表 C 显示增加区域数量也会增加推理时间。100 个子区域的默认设置在精度和速度之间取得了平衡。

结论

“视觉精确搜索”方法代表了使 AI 透明化的重要一步。通过放弃基于梯度的方法——这些方法会在基础模型复杂的融合层中纠缠不清——并采用严格的、有数学支持的搜索方法,研究人员取得了最先进的结果。

主要结论:

  1. 无梯度: VPS 通过搜索输入空间来工作,这使得它对于文本和图像混合的多模态模型非常稳健。
  2. 子模性: 在子模框架内使用“线索”和“协作”分数保证了贪婪搜索能找到有意义的区域。
  3. 通用性: 它适用于检测对象、理解文本描述,以及至关重要的是,诊断模型为何失败。

随着我们在自动驾驶和机器人等任务中越来越依赖对象级基础模型,像视觉精确搜索这样的工具对于建立信任和确保安全至关重要。我们终于可以从问“汽车看到行人了吗?”转变为确切地知道它看到了什么