论文: Woodpecker: Hallucination Correction for Multimodal Large Language Models
地址:https://arxiv.org/pdf/2310.16045.pdf
代码: https://github.com/BradyFU/Woodpecker
中科大 + 腾讯
一、问题提出:
物体层面和属性层面的幻觉(“object-level and attribute-level hallucinations”),对于缓解幻觉,之前的工作重点是优化数据收集过程和训练方案。
现有的工作通常探索一种指令调优的方式。一个常见的关键观察结果是,MLLM 在生成较长文本时往往会产生幻觉,这会导致不同的问题解决策略。
二、方法提出
1、Key Concept Extraction”
由于描述通常围绕关键概念,因此第一步是从生成的句子中提取它们。为此,确定了句子中提到的主要对象,这些对象是最有可能退出幻视的对象,将作为后续步骤中诊断的中心。使用LLM prompt提取概念:
2、Question Formulation
围绕Key Concept提出一系列问题来做出幻觉诊断。针对对象层面和属性层面的幻觉。对于对象层面,提问:“图像中是否有{object}?有多少个?”,其中“{object}”是前面提取的关键概念。对于属性,例如“{object} 在做什么?”、“{object1 在 {object2} 的右侧吗?”以及“{object} 是什么颜色?” }?”,其中“{object1}”和“{object2}”是不同的关键概念。事实上,对象级问题可以通过感知图像直接验证,而属性级问题则更加多样化并且依赖于上下文。
3、Visual Knowledge Validation
负责解决上面两类问题。对于对象级问题,关键在于确定某个对象的存在性和数量,采用目标检测器。对于属性级问题,应用预先训练的 VQA 模型来回答以图像为条件的问题。与主流 MLLM 相比,VQA 模型往往会生成更短的答案,但幻觉也更少,因此可能是一个合理的选择。
4、Visual Claim Generation
提出并回答问题后,将 QA 对组合成视觉claims,并将其组织成“visual knowledge base” 。
Object-level claims:减轻物体级幻觉。包含从句子中提取的关键概念的对象计数信息。添加一个声明“There are {counts} {name}.”,其中“{counts}”和“{name}”是某种对象的计数和名称。对于不存在的对象,使用类似的模板“There is no {name}”。
Attribute-level claims: 减轻属性幻觉。典型的属性包括位置、颜色、动作等。采用 QA-to-Claim 模型将问题和答案合并到声明中。为了应对涉及多个对象或前景对象与背景之间的关系的情况,需要更多的全局信息。因此,还包括涉及不同对象之间或对象与背景之间的交互的claims,例如“猫躺在狗旁边”。
5、Hallucination Correction
LLM 充当校正器并修改生成的响应中的幻觉。具体来说,在将visual knowledge base与原始response prompt结合后,指示LLM纠正response并输出优化后的response。并明确要求 LLM 在引用对象时在表达式后面附加边界框。这种设计促进了response中提到的实体与图像中的对象实例之间的对应关系。
三、实验
1、评估数据集
POPE 致力于评估 MLLM 的幻觉。它包含随机、流行和对抗性采样的设置,主要区别在于负样本的构建方式。对于随机设置,对图像中未出现的对象进行随机采样,而对于流行设置,从频率最高的对象池中对不存在的对象进行采样。对于对抗性设置,对最常同时出现但不存在于图像中的对象进行采样。在采样设置方面,我们采样了 50 个图像,并为每个图像构建 6 个问题。正负样本比例均衡,即50% vs 50%。该设置将对象注释转换为一系列“是或否”问题,并侧重于评估对象级别的幻觉,更具体地说,是否存在。
MME 是一个综合基准测试,旨在评估MLLM在各个方面的性能。它分别包含十个感知能力子任务和四个认知能力子任务。在本文中,重新利用数据集并选择存在和计数子集来测量对象级幻觉。位置和颜色子集用于测量属性级幻觉。与 POPE 的设置类似,每个子集都由“是或否”问题组成。报告准确度和准确度+的总和,其中分数越高表明表现越好,幻觉越少。
LLaVA-QA90 也用于评估 MLLM。具体来说,采样 10 个“description-type queries” ,以各种形式进行解释,以指示 MLLM 描述图像,例如“描述以下图像”。和“这张照片是关于什么的?”。 LLaVA-QA90 使用来自 COCO 的图像,并采用纯文本 GPT-4 来组成查询和参考答案。丢弃参考答案,直接将图像输入 GPT-4V,并prompt对准确性和细节的response进行评分。
2、实现细节
选择GPT-3.5-turbo,来完成关键概念提取、问题表述和幻觉纠正的子任务。使用 Grounding DINO来提取具有默认检测阈值的对象计数信息。利用 BLIP-2-FlanT5XXL作为 VQA 模型来回答以输入图像为条件的属性相关问题。
对于“是或否”问题,发现一些 MLLM 的指令依从能力有些弱,经常输出不相关的文本,例如纯表情符号或者URL。此外,一些MLLM仅输出单个“是”或“否”,这也对校正提出了挑战。为了解决这些问题,设计两个简单的措施:(1)首先从回答中提取关键词,即“是”和“否”作为答案,然后将问题与答案结合成更具体的主张。例如,给出一个问题:“图像中有一只狗吗?”和一个模型答案“是”,编写一个更具体的答案“是的,图像中有一只狗。”; (2)在纠正过程中额外将问题反馈给LLM,以便LLM更好地掌握上下文和任务要求。
3、实验结果
Results on POPE.
在random,MiniGPT-4的感知能力相对较弱,特别是在判断物体是否存在方面。mPLUG-Owl 和 Otter 往往过于自信,较高的“Yes rate”。同时,高召回率和低准确率导致 f1 分数相对较低。对于所有baseline,啄木鸟在大多数指标上都取得了一致的收益,这表明我们的方法有能力有效纠正对象级幻觉。
Results on MME.
对于对象级评估,LLaVA 和 Otter 在存在性方面表现出色,这在 POPE 评估中也得到了验证,但在回答较困难的计数查询方面相对滞后。在这种情况下,校正方法特别有效,并带来了很大的分数增益,范围从 LLaVA 的 +65 到 MiniGPT-4 的 +101.66。在属性级别评估方面,基线 MLLM 往往取得较差的结果,这表明他们更容易出现属性级别的幻觉。例如,MiniGPT-4在颜色分割方面仅获得65分,而mPLUG-Owl仅获得66.67。引入校正框架后,这些 MLLM 取得了一致且显着的收益,其中 mPLUG-Owl 的得分上升了 78.33。相比之下,位置方面的改进相对较小,这可能是由两个因素造成的:(1)VQA模型BLIP-2在位置推理方面的能力相对较弱; (2) LLM 可能无法很好地理解给定的边界框,无法自行导出位置关系。
Results on LLaVA-QA90.
“description-type queries” 指示 MLLM 将输入图像完全翻译成语言,而不仅仅是引用对象的存在或属性。采用纯文本 GPT-4,并将图像内容以短标题和一些对象的边界框的形式输入到语言模型。然而,图像到文本的翻译过程不可避免地会丢失大量信息,使得评估过程可能不准确且存在偏见。建议通过更直接的方法进行评估,GPT-4V可以直接接收原始response、校正后的response,最重要的是输入图像。提示GPT-4V让它给出评估结果和判断理由。但其网页界面刚刚开放,仅支持通过手动操作进行多模态交互,且对使用次数有严格限制。这使得基于GPT4V的评估是劳动密集型的,只能测试有限数量的图像,例如LLaVA-QA90。
• 准确性:response对于图像内容是否准确。
• 详细性:response的细节是否丰富。
Analysis of framework modules.
存在性和计数方面的增益主要来自于检测器的引入,而颜色部分的改进可以归因于VQA模型。
Analysis of correction performance.
矫正示例: