想象一下,你让 AI 描述一张客厅的照片。它准确地识别出了沙发、电视和咖啡桌。但随后,它自信地补充道: “地毯上还睡着一只猫。”你仔细看了看。根本没有猫。那里从来就没有过猫。
这种现象被称为物体幻觉 (Object Hallucination) 。 这是大型视觉语言模型 (LVLMs,如 LLaVA 或 GPT-4V) 中最顽固且危险的问题之一。在医学成像或自动驾驶等高风险领域,幻觉出的肿瘤或不存在的行人可能会带来灾难性的后果。
长期以来,研究人员一直将矛头指向这些系统的“大脑”——大型语言模型 (LLM) 组件。他们认为,由于 LLM 接受了海量文本的训练,所以才会编造事实。但是,如果问题不在于大脑,而在于眼睛呢?
在这篇文章中,我们将深入探讨论文 《Investigating and Mitigating Object Hallucinations in Pretrained Vision-Language (CLIP) Models》 (调查与缓解预训练视觉-语言 CLIP 模型中的物体幻觉) 。 我们将探索研究人员是如何发现视觉编码器 (CLIP) ——即 AI 的眼睛——往往是这些幻觉的源头。更重要的是,我们将详细解析他们开发的数学方法,该方法旨在对这些模型进行“矫正眼科手术”,从而显著减少幻觉。
嫌疑人: 视觉编码器
要理解解决方案,我们需要先了解典型 LVLM 的架构。这些模型通常由三部分组成:
- 视觉编码器 (Visual Encoder) : 通常是一个 CLIP (对比语言-图像预训练) 模型。它将图像转换为数学表示 (嵌入) 。
- 模态连接器 (Modality Connector) : 一个将视觉嵌入翻译成语言模型能理解的形式的层。
- 大型语言模型 (LLM) : 生成文本响应的组件。
研究人员假设,如果视觉编码器 (CLIP) 本身就患有幻觉——意味着它认为图像中包含了不存在的物体——那么下游的 LLM 除了在文本输出中产生幻觉外别无选择。这是一个典型的“垃圾进,垃圾出”案例。
调查 CLIP
CLIP 的训练目标是将图像与文本描述进行匹配。理想情况下,如果你向 CLIP 展示一张“塔”的照片,它应该与文本“一座塔”有很高的相似度得分,而与“一座塔和城市景观”的得分较低。
为了测试 CLIP 是否做到了这一点,作者创建了一个名为 OHD-Caps (物体幻觉检测) 的新基准。

如上图所示,该过程的工作原理如下:
- 物体识别: 他们使用分割模型 (SEEM) 来识别图像中实际存在的内容 (例如,山、树、天空) 。
- 负样本生成: 他们使用 GPT-4 生成“幻觉”描述。他们可能会插入一个随机物体 (例如“城市景观”) 或移除一个现有物体。
- 测试: 他们将图像、正确的描述和幻觉描述输入 CLIP。
如果 CLIP 工作正常,它应该给正确的描述分配最高分。然而,结果令人震惊。在许多 AI 系统中广泛使用的标准 CLIP ViT-L/14 模型,仅在 19.0% 的情况下识别出了正确的描述。在上面的例子中,CLIP 实际上更倾向于声称背景中有“城市景观”的描述,即使实际上并没有。
这证实了假设: 视觉编码器容易产生幻觉。 它难以区分“一座塔”和“一座塔与城市景观”,因为它可能只是学到了“词袋 (bag-of-words) ”式的表示——捕捉图像的整体氛围,而不是精确的物体存在性。
疗法: 细粒度对象级对比损失
由于标准的 CLIP 训练不足以防止幻觉,作者提出了一种微调方法。该方法的核心是一个新的损失函数,旨在迫使模型关注特定的物体。
让我们一步步拆解这个解决方案的数学原理。
1. 标准对比损失 (基线)
首先,看看 CLIP 通常是如何训练的。目标是最大化图像 (\(I\)) 与其正确文本 (\(T^+\)) 之间的相似度,同时最小化与错误文本 (\(T^-\)) 的相似度。

在这个方程中:
- \(\mathcal{L}_{i2t}\) 是图像到文本的损失。
- 分子 \(\exp(I \cdot T^+ / \tau)\) 代表图像与正确文本之间的匹配强度。
- 分母是对正确文本和负样本文本 (\(T^-\)) 的匹配强度求和。
- \(\tau\) 是一个缩放数值的温度参数。
在标准训练中,\(T^-\) 通常只是指同一批次中其他图像的描述。这对模型来说很容易解决。它只需要知道关于“狗”的描述与“汽车”的照片不匹配即可。这并不会迫使模型仔细观察细微的细节。
2. 将幻觉注入损失函数
为了解决这个问题,作者将特定的幻觉描述 (在 OHD-Caps 基准中生成的) 引入训练过程。我们将这些称为“增强负样本”或 \(T^{neg}\)。
他们修改了损失函数,在分母中显式包含了这些困难负样本:

现在,如果模型认为图像 (\(I\)) 与幻觉文本 (\(T^{neg}\)) 相似,它就会受到惩罚。这迫使模型去区分“一张狗的照片” (正确) 和“一张狗和猫的照片” (幻觉) ,而不仅仅是将其与“一张车的照片”区分开来。
3. 边界损失 (强制分离)
仅仅将负样本添加到分母中可能还不够。作者希望确保正确文本的得分与幻觉文本的得分之间存在明显的“差距”或边界。
他们引入了 边界损失 (Margin Loss, \(\mathcal{L}_1\)) 。 这个损失就像一个楔子,强制正确配对 (\(I \cdot T^+\)) 的相似度比任何错误配对 (\(I \cdot T^*\)) 至少高出一个阈值 \(\tau_1\)。

如果正确得分与错误得分之间的差异已经大于 \(\tau_1\),则损失为零。如果不是,模型就会受到惩罚。这保证了正确的描述不仅仅是比幻觉“稍微好一点”——而是明显更好。
4. 区分幻觉与随机错误
并非所有的错误都是平等的。描述完全不同图像的文本 (批次内负样本,\(T^-\)) 明显是错误的。描述当前图像但添加了一个物体的文本 (\(T^{neg}\)) 则是“部分”正确的。
作者意识到,模型应该认识到幻觉描述 (\(T^{neg}\)) 比完全随机的描述 (\(T^-\)) 更相似 于图像,即使它仍然是错的。这有助于模型学习语义上的细微差别。
他们添加了第二个边界损失 (\(\mathcal{L}_2\)),以强制幻觉文本的得分比随机文本高出一个 \(\tau_2\) 的边界:

这鼓励模型理解 \(T^{neg}\) 与图像共享内容 (存在的正确物体) ,而 \(T^-\) 则没有。
5. 最终目标
结合所有这些组件,最终的训练目标变成了标准对比损失和两个新边界损失的加权和:

这里,\(\lambda_1\) 和 \(\lambda_2\) 是控制边界损失重要性的权重。通过优化这个函数,CLIP 模型学会了对物体的存在极其挑剔。
实验与结果
研究人员使用这种新的损失函数在 COCO 和 Flickr30k 数据集上微调了 CLIP 模型。但这真的有效吗?
幻觉检测的改进
主要的测试是 OHD-Caps 基准——也就是原始模型惨败的那个测试。

表 2 中的结果非常显著:
- CLIP ViT-B/32: 得分从 14.3 (原始) 跃升至 82.5 (我们的方法) 。
- CLIP ViT-L/14: 得分从 23.3 提高到 88.8 。
模型从容易被幻觉愚弄进化为能可靠地识别出正确的描述。
零样本泛化
微调中的一个常见担忧是“灾难性遗忘”——解决了一个问题但破坏了模型的通用能力。为了检查这一点,作者在标准的零样本分类任务 (如识别 CIFAR-10 或 ImageNet 中的物体) 上测试了模型。

如表 3 所示,所提出的方法 (Ours) 保持了与原始 CLIP 模型相当的性能。对于 CLIP-B/32,平均准确率甚至从 65.6% 略微上升到 66.0%。这证实了“眼科手术”并没有损害模型的通用视觉能力。
视觉示例
这种改进在实际中看起来如何?

在图 3 中,我们看到了使用的数据示例。模型必须区分细微的变化。
- 左图: 一个单板滑雪者。负样本添加了“一面旗帜”。
- 中图: 理发师。负样本添加了“一位顾客”。
- 右图: 能量饮料。负样本添加了“食物”。
微调后的模型成功学会了拒绝包含红色高亮词汇的描述,表明它实际上是在观察图像内容,而不是在瞎猜。
它对大型视觉语言模型有帮助吗?
最终目标是修复像 LLaVA 这样的 LVLM 中的幻觉。研究人员将他们改进后的 CLIP 编码器替换到了 LLaVA-1.5 架构中。
他们使用 AMBER 数据集评估了新的 LLaVA,该数据集检查生成式 (编写描述) 和判别式 (回答是/否) 任务中的幻觉。

表 6 显示了明显的改进:
- 准确率 (Accuracy) : 从 74.3 增加到 80.2 。
- F1 分数: 从 77.2 增加到 84.9 。
- 幻觉率 (\(C_I\)): 在生成任务中,包含幻觉的描述比例从 35.4% 下降到 31.7% 。
这验证了核心假设: 提高视觉编码器拒绝幻觉的能力,会产生一个更诚实的 LVLM。
需要多少数据?
一个令人惊讶的发现是这种方法的效率。你可能认为需要数百万张图像来重新训练 CLIP。

图 2 显示,该模型仅用很少的数据就能实现显著的提升。即使只使用 1% 的训练数据 (大约 160 张图像) ,性能也从 ~20% 跃升至 ~60%。这表明模型实际上已经具备了正确观看的能力;它只是需要正确的学习信号 (特定的损失函数) 来解锁这种能力。
结论
AI 中的物体幻觉问题通常被视为语言生成问题——即 AI 只是太有创造力或在“撒谎”。这项研究转变了这一视角,表明问题往往始于感知。AI 的“眼睛” (CLIP) 从未被训练去严格验证物体的存在;它们被训练去将图像与宽泛的文本主题联系起来。
通过引入 反事实数据增强 (Counterfactual Data Augmentation) (创建带有特定幻觉的负样本) 和 细粒度对象级对比损失 (Fine-Grained Object-Level Contrastive Loss) , 作者成功教会了 CLIP 变得精准。
关键要点是:
- 不要轻信原始 CLIP: 现成的 CLIP 模型在验证图像中是否存在物体方面表现出奇地差。
- 困难负样本很重要: 使用“幻觉”描述进行训练比使用随机描述有效得多。
- 治好眼睛,修复大脑: 改进视觉编码器是减少 LLaVA 等下游多模态模型幻觉的高效方法。
随着我们迈向与物理世界互动的自主智能体,这种严格的视觉验证将至关重要。我们不能让机器人幻想出障碍物,或者让医疗 AI 幻想出症状。这篇论文为构建不仅仅是“看”,而是真正“看见”的 AI 提供了一份具体的数学蓝图。
](https://deep-paper.org/en/paper/2410.03176/images/cover.png)