在快速发展的人工智能领域,大型视觉语言模型 (LVLM) 如 LLaVA 和 InstructBLIP 已成为超级明星。它们能够观察图像、理解内容,并用流畅的自然语言进行描述。如果你让它们描述一个厨房,它们会告诉你关于冰箱、炉灶和果盘的信息。
但也存在一个陷阱。有时候,它们会告诉你那里有一个烤面包机,但实际上并没有。
这种现象被称为物体幻觉 (Object Hallucination) 。 这是多模态 AI 中最顽固且危险的问题之一。如果我们不能信任模型准确报告它所看到的内容,我们就无法将其用于自动导航或医学影像分析等关键任务。
今天,我们将深入探讨一篇名为 “DAMRO: Dive into the Attention Mechanism of LVLM to Reduce Object Hallucination” (DAMRO: 深入 LVLM 注意力机制以减少物体幻觉) 的研究论文。这篇论文不仅仅是治标,而是诊断出了模型“大脑”内部一种特定的结构性病灶——具体来说,就是它如何分配注意力——并提出了一种无需训练的巧妙疗法。

问题的根源: 两种注意力的故事
要理解为什么会发生幻觉,我们首先需要看看 LVLM 的解剖结构。通常,这些模型有两个主要部分:
- 视觉编码器 (ViT): 即“眼睛”。它将图像分解成一个个小块 (token) ,并将它们转化为数学表示。
- LLM 解码器: 即“嘴巴”。它接收这些视觉 token 并生成文本。
长期以来,研究人员试图通过微调数据或调整文本生成来修复幻觉。但 DAMRO 的作者提出了一个更深层的问题: 视觉编码器是否在欺骗 LLM?
“离群 Token”现象
研究人员发现,标准的 Vision Transformers (ViT) 有一个怪癖。它们倾向于生成“高范数离群 token (high-norm outlier tokens) ”。通俗地说,就是模型的注意力机制会痴迷于图像中的特定斑块,而这些斑块通常包含极少的有用信息——通常只是背景噪声或冗余区域。
理想情况下,如果你让模型描述一个房间,它应该关注家具。然而,注意力图讲述了一个不同的故事。

如上图所示,请看热力图中的亮黄色斑点。模型盯着背景中的随机点,而不是主要物体。这些就是离群 token 。
研究人员量化了这种不平衡。他们发现,极小部分的 token 占据了几乎所有的注意力。

在图 7 中,注意最前面的几个 token (最左边) 拥有巨大的注意力值,而其他数百个 token (“长尾”) 几乎被忽略了。在某些层中,仅前 3 个 token 就占据了超过 99% 的注意力质量!
多米诺骨牌效应: 当 LLM 盲从时
如果“眼睛” (视觉编码器) 盯着墙壁而不是沙发,那么“嘴巴” (LLM) 会怎么做?
事实证明,LLM 盲目地信任编码器。研究人员分析了 LLM 解码器内部的注意力分布,发现它与视觉编码器惊人地相似。

这种一致性是危险的。当 LLM 关注这些“嘈杂”的背景 token 时,它就失去了对实际视觉细节的追踪。由于缺乏清晰的信息,它开始猜测——这就是幻觉发生的时候。
论文提供了一个令人信服的视觉对比来证明这一点。首先,看一个模型没有产生幻觉的案例:

在这里,当模型谈论“植物”时,它的注意力 (亮点) 确实是在看植物。
现在,看一个幻觉案例:

当模型幻觉出一个“时钟”时,它并没有在看时钟 (因为原本就没有) 。相反,它盯着背景中那些高注意力的离群 token 。 模型实际上是在“走神”,并开始胡编乱造。
量化相关性
研究人员提出了一个指标 \(H_i\),用于衡量视觉编码器的离群值与 LLM 注意力之间的重叠程度。

他们发现了一个清晰的相关性: 重叠率越高 = 幻觉越多。

上面的图表显示,当模型产生幻觉时 (蓝色柱) ,视觉编码器的坏习惯与 LLM 的关注点之间的重叠率明显高于其准确时 (橙色柱) 。这证实了假设: 离群 token 是幻觉的载体。
解决方案: DAMRO
诊断很明确: 视觉编码器突出了垃圾 token,而 LLM 将其视为珍宝,导致了凭空捏造的物体。
治疗方法是 DAMRO (Dive into Attention Mechanism to Reduce Object Hallucination,深入注意力机制以减少物体幻觉) 。这种方法的妙处在于它是无需训练 (training-free) 的。你不需要重新训练庞大的模型;你只需要改变它解码答案的方式。
该方法有两个步骤:
- 识别有毒的离群 token。
- 利用对比解码 (Contrastive Decoding) 中和它们。
第一步: 捕捉离群值
我们如何知道哪些是坏的 token?研究人员利用了 Vision Transformer 中的 [CLS] token (分类 Token) 。在 ViT 架构中,[CLS] token 聚合了来自整个图像的信息。[CLS] token 最关注的那些 token 通常就是高范数离群值。
[CLS] token 的注意力计算是标准的:

DAMRO 简单地选择具有最高注意力值的前 \(k\) 个 token 作为“离群值”。

这些被识别出的 token 现在被标记为“负面信息”。
第二步: 对比解码
现在是巧妙的部分。我们希望 LLM 生成的文本依赖于图像,但不依赖于那些特定的离群 token。
团队使用了一种称为对比解码 (Contrastive Decoding) 的技术。其核心思想是为下一个词计算两个概率:
- 原始 Logits (Original Logits): 使用所有视觉 token (包括坏的那些) 得出的概率分布。
- 负面 Logits (Negative Logits): 仅使用离群 token 得出的概率分布。
如果“负面 Logits” (仅基于噪声) 强烈暗示某个词 (例如“时钟”) ,但图像的其余部分不支持它,我们要惩罚这个词。
最终概率 \(p_t\) 的公式如下所示:

这是数学背后的直觉:
- 我们取原始预测 (加权为 \(1 + \alpha\)) 。
- 我们减去****负面预测 (加权为 \(\alpha\)) 。
- 这会放大来自图像好部分的信号,并抑制来自离群部分的信号。
最后,为了确保模型不会矫枉过正开始生成胡言乱语,他们应用了自适应合理性约束 (Adaptive Plausibility Constraint) 。 这确保了最终的概率分布不会与模型最初认为合理的范围相差太远。

结果: 它有效吗?
研究人员在几个流行的 LVLM 上测试了 DAMRO,包括 LLaVA-1.5、LLaVA-NeXT 和 InstructBLIP。他们使用了三个主要基准测试: POPE、CHAIR 和 MME 。
1. POPE (基于轮询的物体探测评估)
POPE 会问模型“图像中有[物体]吗?”,涵盖存在和不存在的物体。这是针对幻觉的二元压力测试。

如表 2 所示,DAMRO (每个模型的最后一行) 始终优于“原始 (Original) ”模型。对于 LLaVA-NeXT,F1 分数从 83.07 跃升至 87.60。它也保持了与其他方法 (如 VCD 和 M3ID) 的竞争力,甚至击败了它们。
2. CHAIR (描述幻觉评估)
CHAIR 衡量开放式描述生成中的幻觉。它计算文本中提到的物体有多少实际上存在于图像中。

有两个指标:
- CHAIR_S: 含有幻觉的句子的百分比。
- CHAIR_I: 是幻觉的物体实例的百分比。
这里分数越低越好。

表 3 中的结果令人震惊。对于 LLaVA-1.5,DAMRO 将句子级幻觉率 (\(C_S\)) 从 12.4% 降低到了 6.0% 。 这是错误率的大幅降低,实际上将幻觉句子的数量减半了。
3. MME (多模态评估)
MME 是一个综合基准测试。研究人员重点关注幻觉子集 (存在性、计数、位置、颜色) 。
(注: 提供的图片集还包括 LLaVA 1.5 和 1.6 的图表,显示了类似的趋势,即 DAMRO 在与基线的对比中表现出良好的平衡性)。
定性证明: 眼见为实
数字很好,但让我们看看文本生成的实际例子。

在这个例子中:
- 图像: 大堂里的行李车。
- 原始 LLaVA: 幻觉出了不可见的电视和各种椅子 。
- DAMRO: 正确识别了行李车、包和人,没有凭空捏造电视或椅子。
GPT-4 的评估分数证实,DAMRO 的描述更准确 (幻觉更少) ,同时保持了良好的细节。
结论
“DAMRO”论文为视觉语言模型的内部运作提供了至关重要的见解。它提醒我们,更大并不总是更好;有时,模型的注意力机制是有缺陷的,专注于背景噪声而不是信号。
通过简单地识别这些嘈杂的“离群 token”,并在文本生成过程中通过数学方法减去它们的影响,我们可以显著清理模型的输出。
主要收获:
- 视觉编码器是有缺陷的: 它们盯着背景离群值。
- LLM 继承了这个缺陷: 它们信任编码器的错误注意力。
- 减法是强大的: 你并不总是需要教模型做什么;有时告诉它不要依赖什么更有帮助。
- 无需训练: DAMRO 可以立即在现有模型上工作。
随着我们努力打造更安全、更可靠的 AI,像 DAMRO 这样的技术表明,理解模型的机制——窥探引擎盖内部——与给它喂更多数据一样重要。
](https://deep-paper.org/en/paper/2410.04514/images/cover.png)