Pelican: Correcting Hallucination in Vision-LLMs via Claim Decomposition and Program of Thought Verification
作者: Pritish Sahu, Karan Sikka, Ajay Divakaran
分类: cs.CL
发布日期: 2024-07-02 (更新: 2024-10-29)
💡 一句话要点
Pelican:通过声明分解和思维程序验证来纠正视觉-LLM中的幻觉问题
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 视觉语言模型 幻觉纠正 声明分解 程序化思维 知识推理
📋 核心要点
- LVLM在视觉指令跟随任务中易产生幻觉,降低了模型的可靠性和实际应用价值,是亟待解决的核心问题。
- Pelican框架通过将视觉声明分解为子声明,并利用思维程序生成代码,调用外部工具进行验证,从而检测和减轻幻觉。
- 实验结果表明,Pelican框架在多个基准测试中显著降低了LVLM的幻觉率,验证了其有效性。
📝 摘要(中文)
大型视觉语言模型(LVLMs)在视觉指令跟随任务中存在幻觉问题,限制了其可信度和实际应用。我们提出了Pelican,一个旨在通过声明验证来检测和减轻幻觉的新框架。Pelican首先将视觉声明分解为基于一阶谓词的子声明链。这些子声明由(谓词,问题)对组成,可以概念化为计算图的节点。然后,我们使用思维程序提示来生成Python代码,通过灵活组合外部工具来回答这些问题。Pelican通过引入(1)用于精确 grounding 对象实例的中间变量,以及(2)用于回答子问题的共享计算,以实现自适应校正和不一致性识别,从而改进了先前的工作。最后,我们利用LLM的推理能力,通过考虑来自每个子声明的(问题,答案)对的一致性和置信度来验证声明的正确性。我们的实验表明,在各种基线LVLM上,幻觉率降低了约8%-32%,并且与MMHal-Bench上提出的幻觉缓解方法相比,降低了27%。在其他两个基准测试上的结果进一步证实了我们的结果。
🔬 方法详解
问题定义:论文旨在解决大型视觉语言模型(LVLMs)在视觉指令跟随任务中存在的幻觉问题。现有方法难以有效检测和纠正这些幻觉,导致模型输出不可靠,限制了其在实际场景中的应用。现有方法的痛点在于缺乏对视觉信息的细粒度理解和验证机制。
核心思路:Pelican的核心思路是将复杂的视觉声明分解为一系列更小的、可验证的子声明,然后利用程序化思维(Program-of-Thought)生成代码来验证每个子声明的真伪。通过对子声明验证结果的综合分析,判断原始声明是否存在幻觉。这种分解和验证的思路能够更准确地定位和纠正错误。
技术框架:Pelican框架主要包含以下几个阶段:1. 声明分解:将视觉声明分解为基于一阶谓词的子声明链,每个子声明表示为一个(谓词,问题)对。2. 程序生成:使用Program-of-Thought提示,为每个子声明生成Python代码,该代码通过调用外部工具(如目标检测、属性识别等)来回答问题。3. 答案验证:执行生成的代码,获取每个子声明的答案,并评估答案的置信度。4. 一致性推理:利用LLM的推理能力,根据子声明的答案和置信度,判断原始声明是否一致,从而检测和纠正幻觉。
关键创新:Pelican的关键创新在于:1. 声明分解:将复杂的视觉声明分解为可验证的子声明,降低了验证难度。2. 程序化验证:利用Program-of-Thought生成代码,通过调用外部工具进行验证,提高了验证的准确性和可靠性。3. 中间变量和共享计算:引入中间变量用于精确 grounding 对象实例,并采用共享计算来回答子问题,从而实现自适应校正和不一致性识别。
关键设计:在程序生成阶段,使用了Program-of-Thought prompting,引导LLM生成可执行的Python代码。代码中包含了对外部工具的调用,例如目标检测、属性识别等。在答案验证阶段,需要设置合理的置信度阈值,以判断答案是否可靠。在一致性推理阶段,需要设计合适的推理规则,以根据子声明的答案和置信度判断原始声明是否一致。具体的参数设置和损失函数在论文中未明确说明,属于未知信息。
🖼️ 关键图片
📊 实验亮点
实验结果表明,Pelican框架在多个基准测试中显著降低了LVLM的幻觉率。在MMHal-Bench上,Pelican相比于现有的幻觉缓解方法,降低了27%的幻觉率。在其他基准测试中,Pelican也取得了8%-32%的幻觉率降低。这些结果表明,Pelican框架能够有效检测和纠正LVLM中的幻觉问题。
🎯 应用场景
Pelican框架可应用于各种需要视觉理解和推理的场景,例如自动驾驶、智能监控、机器人导航、图像搜索等。通过提高LVLM的可靠性和准确性,可以增强这些应用的安全性和效率。未来,该框架可以扩展到处理更复杂的视觉场景和任务,例如视频理解、3D场景理解等。
📄 摘要(原文)
Large Visual Language Models (LVLMs) struggle with hallucinations in visual instruction following task(s), limiting their trustworthiness and real-world applicability. We propose Pelican -- a novel framework designed to detect and mitigate hallucinations through claim verification. Pelican first decomposes the visual claim into a chain of sub-claims based on first-order predicates. These sub-claims consist of (predicate, question) pairs and can be conceptualized as nodes of a computational graph. We then use Program-of-Thought prompting to generate Python code for answering these questions through flexible composition of external tools. Pelican improves over prior work by introducing (1) intermediate variables for precise grounding of object instances, and (2) shared computation for answering the sub-question to enable adaptive corrections and inconsistency identification. We finally use reasoning abilities of LLMs to verify the correctness of the claim by considering the consistency and confidence of the (question, answer) pairs from each sub-claim. Our experiments reveal a drop in hallucination rate by ~ 8% - 32% across various baseline LVLMs and a 27% drop compared to approaches proposed for hallucination mitigation on MMHal-Bench. Results on two other benchmarks further corroborate our results.