大型视觉语言模型(LVLM)在用人类语言理解视觉信息方面表现出了卓越的能力。然而,LVLM 仍然存在物体幻觉的问题,即生成包含图像中实际不存在的物体的描述的问题。这可能会对许多视觉语言任务产生负面影响,例如视觉摘要和推理。为了解决这个问题,我们提出了一种简单而强大的算法,LVLM Hallucination Revisor (LURE),通过重建较少的幻觉描述来事后纠正 LVLM 中的对象幻觉。 LURE 基于对物体幻觉背后关键因素的严格统计分析,包括共现(某些物体在图像中与其他物体一起频繁出现)、不确定性(LVLM 解码过程中具有较高不确定性的物体)和物体位置(幻觉经常出现在生成文本的后面部分)。 LURE 还可以与任何 LVLM 无缝集成。我们在六个开源 LVLM 上评估了 LURE,与之前的最佳方法相比,一般物体幻觉评估指标提高了 23%。在 GPT 和人类评估中,LURE 始终名列前茅。我们的数据和代码可在 https://github.com/YiyangZhou/LURE 获取。
大视觉语言模型(LVLM)在理解现实世界图像方面取得了重大进展,显示出实现通用人工智能的潜力(Liu et al., 2023d; Zhu et al., 2023; Ye et al., 2023; Li et al. 2023)。 ,2023a;Maaz 等人,2023;Gong 等人,2023)。尽管 LVLM 已经证明了其多功能性和语言流畅性,但它们在生成的文本输出中经常会出现物体幻觉(Wang 等人,2023a;Liu 等人,2023a;Gunjal 等人,2023)。物体幻觉是指对给定图像产生不准确的描述的现象,包括不存在的物体或遗漏基本特征。 LVLM 中幻觉文本生成的问题在于,它可能会误导和欺骗依赖这些标题或描述的下游应用程序中的用户,最终对采用 LVLM 的各个领域(包括机器人技术)产生负面影响(Mai 等,2023; Liu 等人,2023b)、医学成像(Wang 等人,2023b;Hu 等人,2023)以及人机交互(Olson 等人,1994;Brie 等人,2023)。
早期的工作试图通过跨不同模态执行细粒度对齐(Biten 等人,2022)或通过数据增强减少对象共现模式(Rohrbach)来解决小规模多模态预训练模型中的对象幻觉问题等人,2018;Kim 等人,2023)。然而,LVLM 的自回归架构与小规模多模态预训练模型显着不同,使得直接利用它们不切实际。最近的一些工作(Li et al., 2023c; Liu et al., 2023a;d)研究了通过提高用于微调的数据集的质量来减少 LVLM 中的物体幻觉。然而,获取大量高质量的示例进行微调可能非常耗时且费力,需要人类的专业知识和努力。相反,我们的目标是通过引入 LURE:LVLM HallcUination REvisor 来提出一种轻量级方法来事后处理对象幻觉。
具体来说,LURE 基于严格的统计分析,阐明了 LVLM 中物体幻觉的潜在因果关系。该分析深入研究了预训练数据与来自 LVLM 的、表现出幻觉内容的相应文本响应之间的关系(Ordonez 等人,2011;Lin 等人,2014;Changpinyo 等人,2021;Liu 等人, 2023d)。我们的实证和理论研究结果都表明,物体幻觉可归因于三个关键因素:共现、不确定性和物体位置。首先,如果训练数据包含对象之间虚假的共现模式,则语言模型可能会基于这些学习到的虚假关联生成输出,从而导致幻觉描述。其次,幻觉更频繁地发生在生成过程中具有高度不确定性的物体上。最后,位置因素也发挥了作用,因为由于误解的积累,在生成的描述的后半部分往往会出现更多的物体幻觉。
根据我们的统计分析,LURE 开发了一种物体幻觉修正器。该修订程序将潜在的幻觉描述作为输入,并将其转换为准确的描述。为了创建修订器,我们首先使用 GPT-3.5 生成幻觉数据集,对原始正确的标题进行两项修改:(1)将其他对象文本插入到描述中,这些文本可能与初始描述中包含的对象同时出现。这种修改使 LURE 能够学习有效地解开此类共现模式; (2)用占位符标签替换不确定的对象或描述末尾的对象,鼓励审核者重新评估这些对象。最后,我们利用获得的幻觉数据集来训练我们的幻觉修正器。经过培训后,修订器可以与任何 LVLM 无缝集成,以纠正潜在的幻觉描述。
我们的主要贡献是 LURE,这是一种轻量级且兼容的事后方法,用于纠正 LVLM 中的物体幻觉。这种方法基于我们对 LVLM 中物体幻觉现象的严格统计分析。我们的实验在多个现有开源 LVLM 上彻底评估了 LURE。与现有最佳方法相比,结果表明,在一般物体幻觉评估指标(例如 CHAIR(Rohrbach 等人,2018))、GPT 评估和人类评估下,LURE 可以显着减少物体幻觉。
本节通过综合统计分析,从三个关键角度审视视觉语言模型中物体幻觉的根本原因:共现、不确定性和位置,被认为是导致物体幻觉的主要因素。我们进一步提供了严格的理论解释,补充了我们对物体幻觉的实证研究结果。
注释。大型视觉语言模型(LVLM)通常以自由形式和自回归的方式生成句子,逐步预测下一个标记的概率分布。在这种情况下,我们将输入表示为 x,正确答案表示为 y,生成的长度为 Ns 的序列表示为 s = {z1,...。 。 。 ,zNs}。对于给定的 LVLM,生成 zi 作为第 i 个 token 的概率可以描述为 p(zi|s
2.1 对象之间的共现和虚假相关
在多模态模型领域,“共现”表示特定对象的频繁出现。当训练数据包含对象之间虚假的共现模式时,语言模型可以根据这些学习到的关联生成输出。然而,这些关联可能不适用于测试示例,从而导致幻觉输出。例如,“草”和“天空”经常在训练数据中同时出现。该模型错误地将它们关联起来,并且倾向于将“草”和“天空”一起生成,即使上下文中只存在“草”。
为了评估共现对物体幻觉的影响,我们从(Biten et al., 2022)中汲取灵感,引入了共现分数,表示为 CoScore。对于每个图像描述 s,相应的共现分数 CoScores 被计算为所有幻觉对象 {os,1,... 的共现程度的总和。 。 。 , os,nh },定义为:
根据 CoScore 的定义,我们比较了幻觉字幕和非幻觉字幕的共现分数分布(我们的实验设置请参阅附录 A.1),如图 1a 所示,幻觉字幕往往表现出更高的共现分数。 - 出现分数,表明物体幻觉和共现之间有更强的关联。
在语言建模中,波束搜索(Holtzman et al., 2019;Freitag & Al-Onaizan, 2017)用于迭代预测单词,将固有的不确定性引入搜索过程(附录 D.1 中的说明性示例)。这种不确定性被用来衡量模型生成下一个标记的置信度,并且可能与幻觉有关,因为不确定性较高的对象更有可能不准确。在这里,我们的目标是定量研究每个预测步骤中与物体相关的不确定性与幻觉之间的潜在关系。
具体来说,我们将每个对象标记的自回归解码概率表示为 p(os,i|s 其中不确定性得分越高表示不确定性越大。在图 1b 中,我们进行了统计分析,检查幻觉和物体不确定性之间的联系(有关实验细节,请参阅附录 A.1)。与共现分析类似,幻觉物体主要在高不确定性范围内观察到,而非幻觉物体在一定范围内更频繁地产生。 有趣的是,我们还发现生成的描述中的物体位置与幻觉之间存在显着相关性,其中主导幻觉出现在描述的后半部分。为了验证它,我们引入每个对象 os,i 的定位分数 PoScore,如下所示: 其中 Index(os,i) 表示对象 os,i 在整个描述中的位置索引。 基于PoScore的定义,我们对描述中的幻觉位置进行了分析,如图1c所示(实验细节参见附录A.1)。这些发现表明,幻觉物体的高密度区域主要出现在序列的末尾。这种模式证实了我们的观察结果,即物体幻觉经常发生在生成文本的后面片段中。对这一观察到的趋势的一个合理解释源于自回归文本生成过程。在初始阶段,模型紧密遵循输入图像的语义信息,从而产生连贯的开始。然而,随着信息迭代,过去幻觉信息的积累和新出现的不确定性可能会使模型偏离轨道,最终导致物体幻觉更加明显的出现。 在检查了这些经验相关性之后,我们继续提供理论见解来解释它们(所有证据都可以在附录 B 中找到)。具体来说,我们专注于预测第 i 个标记,表示为 zi ,并引入一个表示为 f 的预测函数。对于表示为 [K] 的一组对象中的每个对象 k,函数 fk(s
同现。基于这个定义,我们首先考虑共现。不失一般性,我们假设 K = 2,并且第一类和第二类经常一起观察,即我们在分数 ρ0 中观察到 (φ1(s 0,则模型输出第二个对象。 在此设置下,我们考虑两种采样方案:(1)每个类根据原始训练分布进行采样; (2) 通过设置 ρ < ρ0 对每个类进行采样。这两种采样方案产生具有相同大小的两个样本子集 D(1)、D(2)。分别用 { ˆ f (1) k }k∈{1,2} 和 { ˆ f (2) k }k∈{1,2} 表示在 D(1) 和 D(2) 上训练的分类器。定理2.1反映减少共现问题可以导致较小的测试误分类误差Err(·)。 定理2.1 假设∥μ* k∥2 ≪ d, d/|D(k)| → κ 对于 k ∈ {1, 2} 且通用常数 κ > 0。我们有 Err( ˆ f (2) 2 ) ≤ Err( ˆ f (1) 2 )。 不确定。然后我们将注意力转向对象的不确定性。这里,我们考虑以下两种采样方案:(1)每个类以等概率1/K采样; (2) 如果不确定性得分(定义为 − log(ˆ pk))高于某个阈值 γ > 0,则对每个类别进行采样。这里,ˆ pk 计算如下: ˆ pk = 1 |Dtr | P (s
对象位置。物体位置对物体幻觉的影响与自回归模型中的误差或预测不确定性积累密切相关。这个话题在时间序列分析中得到了广泛的研究,并且已经建立了几个理论模型来研究它(Hannan et al., 1989; Ing, 2007; Ding et al., 2017)。 在彻底调查幻觉的根本原因后,我们正式推出了我们的补救措施 LURE,它可以减轻大型视觉语言模型中的物体幻觉。受去噪自动编码器(Vincent et al., 2008)的启发,去噪自动编码器旨在从损坏的输入中重建干净的数据,我们在我们的方法中采用了幻觉修正器,旨在将潜在的 LVLM 生成的幻觉描述转换为准确的描述。 LURE的框架如图2所示。在后续部分中,我们将深入研究幻觉修正器的训练和部署过程。 图2:LURE框架示意图:橙色阴影部分显示了LURE的训练范式,其中黑边部分代表幻觉数据生成阶段,包括引入同时出现的对象以及替换不确定对象或后面位置的对象在描述中。紫边部分表示revisor训练过程,masking过程可以参考Alg. 1. 橙色阴影部分展示了 LURE 推理阶段的示例。 共现分析的实验设置。本实验中的对象基于COCO数据集中(Rohrbach et al., 2018)注释的80个对象标签,图像描述由MiniGPT-4根据COCO 2014训练数据集中的5000张图像的推理结果生成。 不确定性分析的实验设置。由于不确定性和位置分析相对独立于共现,为了避免对训练集分布进行统计分析,不确定性分析的统计数据来源于MiniGPT-4对COCO 2014测试数据集200张图像的描述。不确定性的计算使用 - log p(zi|s
幻觉物体位置分析的实验设置。与不确定性分析类似,由于需要精确定位,我们对 COCO 2014 测试数据集中的 200 张图像使用了 MiniGPT-4 的手动注释描述。 在 LURE 中,为了训练幻觉修正器,我们首先整理一个训练数据集。该数据集中的每个示例都包含一张图像和一个幻觉描述,并以正确的描述作为输出目标。数据集管理过程中遇到的一个重大挑战在于自然发生的幻觉描述的生成。为了克服这一挑战,LURE 通过使用 GPT-3.5 修改准确的描述来生成幻觉描述。这些调整受到与物体幻觉相关的因素的指导,包括共现、物体不确定性和物体位置。下面,我们详细介绍这些修改: 引入潜在的共现对象。为了创建更自然发生的共现场景,LURE 利用 GPT-3.5 来推断和合并最有可能同时出现的对象,而不是依赖于可能包含偏差共现记录的任何特定数据集的共现频率。场景变成原来的描述。(gpt-3.5本身也是数据集训练的,也会有偏差,但相对某个数据集而言,偏差又比较小) 重新考虑描述中后面位置的不确定对象和对象。幻觉更容易发生在不确定性较大的物体以及描述中较晚出现的物体上。在这种情况下,我们预计修订者应该更加重视并重新评估这些对象。为了实现这一点,我们利用字符串匹配来替换具有显着不确定性的对象以及位于描述末尾带有占位符标签“[IDK]”的对象。在这里,为了量化描述中的对象不确定性,我们使用名词标记的不确定性值作为代理。令牌不确定性表示为每个令牌的熵,表示为 - log p(zi|s
使用这些修改策略,对于每一个准确的描述,我们为 GPT-3.5 提供了潜在共现对象列表和不确定对象列表。然后,我们使用附录 A.3 中列出的提示来提示 GPT-3.5 生成相应的幻觉描述。最后,我们利用构建的幻觉数据集来微调 LVLM 并将其用作修正器。附录 D.2 中列出了一些幻觉描述的案例。训练流程如 Alg 1 所示。 算法1 在LURE中训练LVLM Hallucination Revisor 要求:训练图像集X ;真实描述 Y; LVLM M(·);不确定性阈值γ;参数为 θ 的幻觉校正器 Rθ(·);位置阈值 η 1:使用 GPT-3.5 构建幻觉描述集 Hold(更多详细信息请参见附录 A.3) 2: 初始化修正器的参数 θ 和一个空集 Hnew ← {} 3: 未收敛时执行 4: 对于每个图像 x ∈ X 和相应的幻觉描述 h ∈ Hold 做 5: 使用对象集 Os 生成描述 s = M(x) 6: 对于对象 os,i ∈ Os do 7: if os,i in h and − log p( os,i|M, x) ≥ γ then 8: 在 h 上添加占位符标签“[IDK]”,即 h ← Mask(h, os,i) 9: if os,i in h and Index(os,i ) ≥ η ∗ Length(h) then 10: h 添加占位符标签“[IDK]”,即 h ← Mask(h, os,i) 将 h 放入 Hnew 11: 用自回归损失更新参数 θ L(Rθ(新),Y) 整体revisor训练设置与MiniGPT-4类似。这里,我们只需要一块A100 80G GPU来进行训练,大约需要10分钟。我们在训练阶段展示了 LURE 的超参数设置,如表 6 所示。 我们利用 GPT-3.5 的上下文小样本学习功能自动生成幻觉数据以进行修改。最初,我们提示 GPT-3.5 提供一个很可能与给定描述中提到的对象同时出现的对象列表。接下来,我们使用 LVLM(例如 MiniGPT-4)为 5000 张图像的训练集生成描述。在这个过程中,我们将解码过程中-log p(zi|s
GPT-3.5 API 生成所需幻觉数据集的提示。 “ 指令1”用于要求ChatGPT根据描述提供共现对象列表, 而“指令2”用于整合从共现对象列表中获得的对象和来自不确定列表中的对象对象到给定的描述中。 指令 1:列出您认为最有可能与下面描述的场景中的物体一起出现的其他三个物体: {description} 严格按照以下格式输出: 物体一 物体二 物体三 指令 2:输入描述:{description } 共现对象列表:{共现对象列表} 不确定对象列表:{不确定对象列表} 分别从“共现对象列表”和“不确定对象列表”中选择一个对象,并将其添加到“输入描述”中,得到“输出标题”。 (尽量不要改变格式) 输出描述: 我们的训练数据集案例 这里,我们展示一些使用 GPT-3.5 构建的训练数据案例,如表 12 所示。“原始标题”代表原始标准描述,而“幻觉标题”列代表幻觉描述由GPT-3.5构建。幻觉字幕中的红色部分表示GPT-3.5基于共现物体列表和不确定物体列表添加的幻觉。 在推理阶段,使用经过训练的修正器来纠正生成的描述。具体来说,与训练阶段构建幻觉描述的过程类似,在测试阶段,我们同样将占位符标签“[IDK]”集成到生成的描述中。这种集成的目的是强制 Revisor 重新评估表现出高度不确定性或稍后出现在生成文本中的对象。 Alg2 中详细介绍了推理流程。 在本节中,我们评估 LURE 的性能,旨在回答以下问题:(1)与其他基线相比,LURE 能否有效减少 LVLM 中的物体幻觉? (2) 我们在 LVLM 中确定的与幻觉相关的关键因素是否有利于复习者的培训过程? (3)LURE对revisor的backbone敏感吗? 数据集。 MSCOCO(Lin et al., 2014)是一个用于图像识别、分割和字幕的综合数据集。它包含超过 300,000 张图像,涵盖 80 多个对象类别,每个图像都有详细的注释。接下来(Li et al., 2023d; Liu et al., 2023a),我们从 COCO 2014 训练数据集中选择了 5,000 张独特的图像来评估性能。为了训练幻觉修正器,我们从 LLaVA-150k (Liu et al., 2023c) 中随机选择了 5000 个图像-文本对,确保这些图像与测试中使用的图像不同。 评估指标。具有图像相关性的字幕幻觉评估 (CHAIR)(Rohrbach 等人,2018)是一种广泛使用的指标,用于评估图像字幕任务中的对象幻觉。 CHAIR 通过将图像说明与相应图像中存在的地面真实对象进行比较来评估图像说明的质量。它计算标题中提到的对象实际不存在于图像中的比例。 CHAIR 有两种常见的变体:CHAIRI 和 CHAIRS。两种变体都评估物体幻觉的程度,但级别不同:分别是物体实例级别和句子级别。这两个变体的公式如下: 基线。比较方法包括: Original,直接使用 LVLM 生成的描述; Teacher (Saha et al., 2023),利用 blip2 (Li et al., 2023b) 生成简短的图像描述,并将其用作生成长格式描述的上下文指导;思想链(CoT)(Wei et al., 2022),其中涉及模型最初列出对象并随后描述图像; Greedy-Decoding,一种不使用采样策略,旨在使模型输出最确定的token的方法; GPT-Ensemble,最初使用 GPT-3.5 聚合来自多个 LVLM 的共同生成的描述,不包括正在评估的描述。随后,GPT-3.5利用这些总结的通用描述作为指导,重写评估模型最初生成的描述; GPT-Teacher,其中 GPT-3.5 的任务是根据 blip2 生成的简短描述重写原始的长格式描述。关于基线的详细描述参见附录 A.4。 评估 LVLM。我们利用六个最新的 LVLM 进行了实验,其相应的语言模型在括号中指定:MiniGPT-4 (Vicuna 13B) (Zhu et al., 2023)、LLaVa (LLaMA 13B) (Liu et al., 2023d)、 MMGPT (LLaMA 7B) (Gong et al., 2023)、LLaMA-Adapter (LLaMA 7B) (Zhang et al., 2023b)、mPLUG-Owl (LLaMA 7B) (Ye et al., 2023) 和 InstructBLIP (Vicuna) 7B)(Dai 等人,2023)。 超参数设置。除非另有说明,本文中的所有实验均使用 MiniGPT-4 作为修订器的主干,以及附录 A.2 中提供的训练参数设置。所有超参数都是通过交叉验证选择的。 A.2 TRAINING SETTINGS FOR REVISOR 整体revisor训练设置与MiniGPT-4类似。这里,我们只需要一块A100 80G GPU来进行训练,大约需要10分钟。我们在训练阶段展示了 LURE 的超参数设置,如表 6 所示。 自动物体幻觉评估。我们遵循 (Rohrbach et al., 2018) 中提出的指南,对 MSCOCO 数据集的 CHAIR 指标进行自动计算,其中有 80 个对象参与此自动评估过程。此外,我们还扩展了评估范围,包括其他广泛使用的指标,例如 BLEU 和 CLIP 分数,这些指标通常用于评估图像字幕的质量。这些附加指标的详细描述和结果可以在附录 C.1 中找到。 人类和 GPT 评估。尽管自动评估策略很有效,但它们无法涵盖评估图像中存在的所有对象。为了克服这一限制,我们对几名母语人士进行了全面的人工评估。评估界面参见附录A.5。在这种人类评估中,参与者被分配注释幻觉对象的任务,我们根据人类反馈对不同的方法进行排名。除了受(Zheng et al., 2023)启发的人类评估之外,我们还提示 GPT-3.5 比较不同的描述。在本次 GPT 评估中,我们提供了带注释的信息,包括检测框和标题,并期望 GPT-3.5 可以为各种方法的描述提供排名。对于 GPT 评估,我们使用附录表 9 中引用的提示。 结果。在表 1 和表 2 中,我们分别报告了不同 LVLM 下的自动评估以及人类和 GPT 评估的结果。在这里,考虑到成本,我们仅将 LURE 与人类和 GPT 评估中最强的四种方法进行比较。虽然在大多数情况下,与原始描述相比,Teacher、CoT 和 GPT-Teacher 可以提高性能,但 LURE 显著增强了这些强基线的性能,从而有效减少了生成描述中的对象幻觉。造成这种情况的一个潜在原因是所有这些基线都在某种程度上经历了错误传播。例如,如果对象列出步骤不正确,CoT 的线性引导可能会导致错误。相比之下,LURE 使用可能引发幻觉的潜在因素的指导来直接纠正幻觉描述。 LURE 的性能提升来自于使用构建的幻觉数据集吗?为了验证我们的方法的性能增益不是来自使用额外的数据来训练修正器,我们使用额外的数据集对原始 LVLM 进行了微调。 MiniGPT-4上的结果如表3所示,其中“Original”代表对MiniGPT-4的描述。根据表 3,LURE 优于微调的 LVLM,这表明我们的方法确实通过事后纠正潜在的幻觉描述而不是使用额外的数据来减少物体幻觉。 消融研究——幻觉因素是否有助于提高绩效?为了证明考虑共现、不确定性和物体位置对减少幻觉的影响,我们进行了消融实验并将结果报告在表 4 中,其中“原始”代表 MiniGPT-4 的描述。在消融实验中,我们在没有三个因素的情况下训练和部署修订器,一次一个。结果表明,所有三个因素都有助于训练强大的幻觉调节器以减少物体幻觉。此外,我们还对应用修订前后这三个因素的变化进行了分析,如附录C.2所示。该分析表明,LURE 可以有效减少这些因素引起的幻觉。 幻觉修正器的鲁棒性分析。我们进一步分析了修订程序对于不同主干网的鲁棒性。具体来说,我们使用不同的骨干网在同一数据集上训练了修订程序:MiniGPT-4、LLaMA-adapter 和 mPLUG-Owl。结果如表 5 所示,其中“原始”代表 MiniGPT-4 的描述。我们可以观察到,尽管每个骨干网的性能各不相同,但与原始描述相比,LURE 的性能持续提高,这进一步表明了 LURE 的有效性。此外,我们还根据附录 C.3 中的各种不确定性阈值分析了 LURE 结果。研究结果表明,LURE 在各种不确定性阈值上都表现出强劲的性能。 案例分析。我们选择了几个强基线,并在图 3 中展示了一个带有纠正描述的案例。与其他方法相比,LURE 擅长提供更准确的图像描述。在这个案例中,LURE 准确地描绘了主要元素(例如三明治、椅子、盘子),同时避免了叉子和手提包等幻觉物体。尽管其他基线部分减少了幻觉,但它们在描述中仍然表现出物体幻觉。此外,我们还在一定程度上减少了逻辑错误,包括面向对象和操作。进一步的案例分析可参见附录 D.3 和 D.4。2.3 生成描述中的对象位置
2.4 理论解释
3 LVLM HALLUCINATION REVISOR
----
3 LVLM 幻觉修正器A.1 幻觉分析的实验设置
3.1 训练幻觉修正器
A.2 修订者的培训设置A.2 TRAINING SETTINGS FOR REVISOR
A.3 PROMPTS FOR TRAINING DATASET
----
A.3 训练数据集的提示table7:
表 12:产生幻觉描述的案例。
D.2
3.2 部署幻觉修正器
4 实验
4.1 评价策略及结果
4.2 LURE分析
5 相关工作