图像描述 (Image captioning) 是计算机视觉与自然语言处理 (NLP) 最基础的交叉领域之一。它要求机器观察一张图像,并用人类语言描述出来。近年来,像 BLIP 和 GIT 这样的视觉语言模型 (VLMs) 已经变得非常流畅,能够生成细节丰富且语法正确的描述。

但它们有一个爱撒谎的问题。

在 AI 领域,我们称之为幻觉 (hallucination) 。 当模型生成了图像中根本不存在的细节——物体、动作或属性时,就会发生这种情况。这不仅仅是一个小毛病,而是一个关键的可靠性问题。如果一个 AI 把“手里拿着钻头的人”描述成“手里拿着枪的人”,或者把“正在下楼梯的孩子”描述成“玩滑板的孩子”,其后果可能从用户困惑演变成危险的错误信息。

今天,我们将深入探讨一篇名为 《Mitigating Open-Vocabulary Caption Hallucinations》 (缓解开放词汇描述幻觉) 的研究论文。作者提出了一个双管齐下的解决方案: 一个新的基准测试 OpenCHAIR 来更好地衡量这些错误,以及一个强化学习框架 MOCHa 来修正它们。

现代图像描述模型中的幻觉细节。

如图 1 所示,即使像 BLIP-2 这样的最先进模型也会因为上下文 (人们跳跃) 在训练数据中与滑板有统计学上的相关性,而凭空想象出“滑板”。文中提出的 MOCHa 框架旨在纠正这一点,生成符合事实的描述: “几个人在一段楼梯上跳上跳下。”

问题所在: 封闭词汇 vs. 开放词汇

要解决幻觉问题,我们首先需要衡量它。多年来,黄金标准的衡量指标一直是 CHAIR (Caption Hallucination Assessment with Image Relevance,基于图像相关性的描述幻觉评估) 。

CHAIR 的工作原理是将生成的描述与 MS-COCO 数据集中固定的 80 个常见物体列表 (如“狗”、“椅子”、“汽车”) 进行核对。如果模型提到了“狗”,但该图像的真实标注中没有列出“狗”,这就算作一次幻觉。

然而,现实世界中的物体远不止 80 种。这篇论文的作者认为,现有的方法忽略了幻觉的长尾性质 。 现代生成模型是“开放词汇”的——它们可以谈论从“祖父”到“松果”再到“航天飞机”的任何事物。如果我们只测试 80 个类别,就会漏掉它们犯下的大部分错误。

CHAIR 的局限性 vs OpenCHAIR。

图 6 展示了传统指标 CHAIR 的局限性。

  1. 有限的词汇表 (左图) : 模型预测了“剪刀”、“铅笔”、“线轴”和“线”。CHAIR 只认识“剪刀”。它完全忽略了其他预测,无法评估“铅笔”是真实的还是凭空捏造的。
  2. 粗粒度的同义词 (右图) : CHAIR 将物体归入广泛的类别。它认为“鹅”和“鸭”都是“鸟”的同义词。如果图像中有一只鹅,但模型幻觉出了一只鸭子,CHAIR 会将其标记为正确,因为它们属于同一类。

为了构建值得信赖的 AI,我们需要一个能在开放词汇 (open-vocabulary) 设置下运行的基准测试。

贡献一: OpenCHAIR 基准测试

研究人员介绍了 OpenCHAIR , 这是一个旨在评估大量不同物体 (而不仅仅是预定义列表) 幻觉的基准测试。

如果手动创建包含多样化物体和准确标签的数据集,既昂贵又耗时。作者设计了一个巧妙的自动化流程,利用生成式 AI 来构建这个基准。

OpenCHAIR 基准测试构建流程。

OpenCHAIR 是如何构建的

如图 2 所示,该过程涉及两个阶段: 数据集构建评估

  1. 数据集构建 (左侧) :
  • 种子: 他们采用 COCO 数据集中的现有描述。
  • LLM 扩展: 使用大型语言模型 (LLM) 重写这些描述,以包含多样化、特定和罕见的物体 (例如,将“树旁的一只狗”改为“城堡旁的一条龙”) 。
  • 图像合成: 这些新的、丰富的描述被输入到文本到图像扩散模型 (Stable Diffusion XL) 中,以生成与文本完美匹配的合成图像。
  • 结果: 一个包含图像及其对应真实描述的数据集,其中涵盖了超过 2,400 种独特的物体类型——是 CHAIR 的 80 种物体的 30 倍。
  1. 评估 (右侧) :
  • 一个图像描述模型 (被测试的模型) 观察合成图像并生成描述。
  • 系统解析该描述中的物体。
  • LLM 作为裁判: 系统不检查硬编码的列表,而是让 LLM 将预测的物体与真实的描述进行比较。它会问: 真实描述是否暗示了该物体的存在?

OpenCHAIR vs. CHAIR 评估逻辑。

这种评估方法允许更精细的粒度。如图 4 所示,如果一张孩子打鼓的图像,模型预测为“一个男人在弹吉他”:

  • CHAIR 可能会漏掉这个错误,因为“吉他”不在其列表中,或者将“男人”视为“孩子”的同义词而予以宽恕。
  • OpenCHAIR 正确地识别出“男人”和“吉他”都是幻觉,因为它们与场景的具体事实相矛盾。

贡献二: MOCHa 框架

既然有了衡量问题的方法,作者接着介绍了 MOCHa (Multi-Objective reinforcement learning for Caption Hallucinations,用于缓解描述幻觉的多目标强化学习) 来解决这个问题。

为什么不用标准的训练方法?

大多数图像描述模型使用“教师强制 (Teacher Forcing) ” (最小化交叉熵损失) 进行训练。这教会模型预测序列中的下一个 token。然而, 事实准确性 (factual groundedness) 是一个序列级的属性 , 而不是 token 级的。预测一个统计上可能但事实上错误的词 (比如跳跃语境下的“滑板”) 虽然最小化了损失,却破坏了真实性。

MOCHa 使用强化学习 (RL) , 具体来说是近端策略优化 (PPO) ,来微调模型。这使得系统能够针对整个句子的质量而不仅仅是下一个词的概率来奖励模型。

MOCHa 方案。

多目标奖励函数

MOCHa 的核心创新在于其奖励函数。如果你只惩罚幻觉,模型可能会变得不敢说任何具体的内容,生成诸如“一张事物的图片”这样模糊的描述。如果你只奖励细节,它可能会再次开始产生幻觉。

MOCHa 利用三个不同的奖励组件来平衡这些相互竞争的需求,如上图所示:

  1. 真实性 (Fidelity,真相监控者) :
  • 他们使用了一个自然语言推理 (NLI) 模型。
  • 该模型检查生成的描述是否在逻辑上反驳了真实描述。
  • 如果模型说“猫”,而图像中包含“狗”,NLI 模型会标记出矛盾。这是抵御幻觉的主要防线。
  1. 充分性 (Adequacy,细节执行者) :
  • 他们使用 BERTScore , 这是一种比较生成的描述与参考文本语义相似度的指标。
  • 这确保了模型涵盖了必要的细节并保持描述性。
  1. KL 惩罚 (KL-Penalty,锚点) :
  • 这是一个正则化项。它强制模型不要过于偏离其最初学习的概率分布。
  • 这防止了模型“博弈”奖励系统 (即生成毫无意义但恰好能欺骗 NLI 模型的文本) ,并保持了语言的流畅性。

消融实验: 为什么我们需要这三者

这些目标之间的协同作用至关重要。作者提供了一个令人信服的视觉消融研究,展示了如果移除奖励函数的部分组件会发生什么。

消融多目标奖励函数。

  • 无优化 (\(\emptyset\)) : 基础模型幻觉出了“冲浪者”或“女人”。
  • 无真实性 (\(-r_f\)) : 没有真相监控者,模型会疯狂地产生幻觉 (例如,在田野里看到了“冲浪者”) 。
  • 无充分性 (\(-r_a\)) : 没有描述性的压力,模型变得过于谨慎和模糊,输出像“观众可以欣赏五十年代的旧时尚”这样的句子,这几乎没有说明任何视觉内容。
  • 完整 MOCHa (\(r\)) : 模型生成了具体且准确的描述: “一辆停在田野上的复古车。”

实验与结果

研究人员将 MOCHa 应用于多个最先进的模型,包括 BLIP、BLIP-2 和 GIT。结果显示所有模型都有了一致的改进。

定量上的成功

观察下方的图 7,我们可以看到相对改进的百分比。

定量结果图表。

  • 真实性 (左侧) : 追踪真实性的指标,如 NLI 分数和 OpenCHAIR (OCH),显示出显著的改进。模型的幻觉显著减少。
  • 质量 (右侧) : 关键是,像 BERTScore 和 CIDEr 这样的标准描述质量指标也有所提高。这证实了 MOCHa 不仅仅是通过让模型变得无聊来使其“更安全”;实际上它使它们成为了更好的描述者。

定性上的成功

数据得到了视觉证据的支持。在下图中,我们可以看到基线 (B) 和经过 MOCHa 微调的版本 (B+M) 之间的比较。

MOCHa 的定性结果。

  • 左图: 基线模型看到了一个穿“西装打领带”的男人。MOCHa 正确识别出了“军装”。
  • 中图: 基线模型猜测是“苹果”。MOCHa 正确地概括为“一盘食物”,意识到它无法确定具体的烘焙食品。
  • 右图: 基线模型提到了“手机” (可能是基于手部姿势的统计猜测) 。MOCHa 将其纠正为“使用笔记本电脑”,这在图中实际上是可见的。

真实性与充分性的权衡

最有趣的发现之一是通过调整奖励权重 (\(\alpha\) 参数) 创建的“帕累托前沿”。

真实性-充分性图表。

如图 9 所示,存在一种权衡。当你增加真实性奖励的权重时,充分性可能会下降 (模型变得更简洁) 。然而,MOCHa 的优化曲线 (连接的点) 从初始模型 (红点) 向凸出。这意味着存在某些配置,使得真实性和充分性优于原始模型。优化过程将模型推向了描述准确性的“最佳点”。

更广阔的图景

为了理解 MOCHa 的定位,看看幻觉研究的分类会有所帮助。

视觉语言模型描述幻觉分类体系。

以前的工作主要集中在封闭词汇 (Closed Vocabulary) 方法 (图中的红色椅子) ,试图修复特定物体列表的幻觉。MOCHa 和 OpenCHAIR 代表了向开放词汇 (Open Vocabulary) (绿色椅子) 的转变,承认在生成式 AI 时代,我们的模型需要足够强大以处理现实世界中无限的多样性。

结论

《缓解开放词汇描述幻觉》这篇论文标志着视觉语言领域的成熟。我们已经过了仅仅因为计算机能写出句子而感到惊叹的阶段,进入了一个要求可靠性和事实依据的阶段。

通过创建 OpenCHAIR , 作者为社区提供了一个急需的标准,用于在现实、开放式的环境中衡量幻觉。通过 MOCHa , 他们证明了由巧妙的多目标奖励函数指导的强化学习,可以在不扼杀模型描述能力的情况下有效地控制模型的想象力。

对于学生和从业者来说,关键的启示是: 准确性不仅仅关乎训练数据;它还关乎目标函数。 标准的语言建模目标不足以保证事实依据。为了构建我们可以信任的 AI,我们必须明确奖励说真话的模型,而不仅仅是奖励预测概率最高的下一个词的模型。