Detecting and Preventing Hallucinations in Large Vision Language Models----大视觉语言模型中检测和预防幻觉

Abstract

指令调整的大视觉语言模型 (LVLM) 在泛化各种多模态任务方面取得了显着进步,尤其是视觉问答 (VQA)。然而,对于这些模型来说,生成基于视觉的详细响应仍然是一项具有挑战性的任务。我们发现,即使是当前最先进的 LVLM (InstructBLIP) 仍然包含惊人的 30% 的幻觉文本,这些文本以不存在的物体、不忠实的描述和不准确的关系的形式存在。为了解决这个问题,我们引入了 MHalDetect1,这是一个多模态幻觉检测数据集,可用于训练和基准测试幻觉检测和预防模型。 M-HalDetect 由 VQA 示例上的 16k 细粒度注释组成,使其成为第一个用于详细图像描述的综合多模态幻觉检测数据集。与之前仅考虑物体幻觉的工作不同,我们另外注释了不忠实的实体描述和关系。为了证明该数据集在预防幻觉方面的潜力,我们通过新颖的细粒度直接偏好优化 (FDPO) 优化了 InstructBLIP。我们还训练来自 InstructBLIP 的细粒度多模式奖励模型,并通过 best-of-n 拒绝采样评估其有效性。我们对 FDPO 和拒绝采样进行了人类评估,发现它们分别将 InstructBLIP 中的幻觉率降低了 41% 和 55%。我们还发现,我们的奖励模型可以推广到其他多模态模型,将 LLaVA 和 mPLUG-OWL 中的幻觉分别减少 15% 和 57%,并且与人类评估的准确度分数具有很强的相关性。

介绍

近年来,大型语言模型 (LLM) 改变了人工智能格局,将其训练数据扩展到数万亿个标记,将参数数量扩展到数千亿个(Brown 等人,2020 年;OpenAI 2023;Touvron 等人,2023 年)。这释放了强大的智能行为,并通过使用 ChatGPT 等聊天代理得到了广泛采用。最近,多模态模型的进展已经被广泛采用,将视觉主干移植到预训练的大型语言模型上,从而产生了 LVLM(Liu et al. 2023b;Dai et al. 2023;Ye et al. 2023)。虽然这使得整体 VQA 表现取得了长足的进步,但它也带来了困扰这些法学硕士的同样的挑战——其中一个重要的挑战是产生幻觉的倾向。

在语言模型中,当模型产生现有知识库无法支持的不准确或误导性事实信息时,就会出现幻觉(Ji et al. 2023;Bang et al. 2023)。在 LVLM 的 VQA 背景下,幻觉可能表现为包含不正确的输入图像参考或描述的响应(Li et al. 2023)。解决和减轻这些幻觉对于提高现实生活用例中多模态模型的可靠性和准确性至关重要。然而,这些多模态幻觉很难通过程序检测,并且通常需要人工监督,而这可能成本高昂。

为了促进自动幻觉检测,我们首先使用 InstructBLIP 的 VQA 响应构建多样化的人类标记数据集,如图 1 所示。然后,我们在此数据集上训练不同密度(句子级别、子句子级别)的多个奖励模型以进行幻觉检测。使用这些奖励模型减少幻觉的有效方法是使用它们在强化学习设置中生成奖励(Ziegler et al. 2019;Stiennon et al. 2020;Nakano et al. 2021),尽管最终的模型只能与原来使用的奖励模型一样有效(Bai et al. 2022)。因此,在本文中,我们重点衡量这些奖励模型的质量,探索分类指标并使用 best-of-n 拒绝采样作为系统性能的近似值。与(Rafailov et al. 2023)类似,我们还使用细粒度直接偏好优化(FDPO)直接优化 InstructBLIP,FDPO 是 DPO 的一种新颖变体,其中我们利用来自各个示例的细粒度注释信息,而不是从文本对。这两种方法都在降低 InstructBLIP 的幻觉率方面取得了显着的成功,此外,使用我们的奖励模型进行拒绝采样也降低了其他多模态模型中的幻觉率 - LLaVA(Liu et al. 2023b)和 mPLUG-OWL(Ye et al. 2023b)和 mPLUG-OWL(Ye et al. 2023b)。 2023)。

我们的主要贡献如下:

  1. 我们创建并发布了 M-HalDetect,我们的幻觉检测数据集专注于子句子级别的复杂图像描述的细粒度注释。
  2. 我们表明,可以使用 Finegrained DPO (FDPO) 优于我们的 M-HalDetect 来优化 InstructBLIP,以将幻觉率降低 41%。
  3. 我们表明,在该数据集上训练的奖励模型可以通过 64 中最佳拒绝采样在 InstructBLIP 中将幻觉率降低 55%。该奖励模型可推广到其他 LVLM,通过 best-of-16 sampling,LLaVA 和 mPLUG-OWL 的幻觉率分别降低了 15% 和 57%。
  4. 我们表明,我们的奖励模型是幻觉率的有效评估器,给出的分数与人类评分一致。

Related Work
----
相关工作

大视觉语言模型 (LVLM) 在从图像生成文本 (Li 2023) 和多模态上下文学习 (Alayrac et al. 2022) 等任务中取得了性能进步。最近的工作重点是利用指令调优技术来增强指令感知 LVLM 在不同视觉语言任务中的零样本性能(Liu 等人,2023b;Dai 等人,2023)。这些方法利用 GPT-4 生成多模态指令调整数据集(Liu et al. 2023b),其中通过图像的符号表示(例如标题和对象边界框)将图像上下文提供给 GPT-4。其他人将各种多模式任务的数据集 (Dai et al. 2023) 与手工制作的指令相结合,这种方法在传统大语言模型的训练中取得了成功 (Wei et al. 2021)。这在各种多模式任务中实现了最先进的性能,例如视觉和视频问答、图像字幕和图像分类。

然而,与 LVLM 相关的一个重大挑战已经出现:在生成文本输出时防止出现幻觉。解决和减轻这些幻觉对于提高 LVLM 在生产用例中的可靠性和准确性至关重要。

LVLM 中的幻觉分析 在(Li et al. 2023)中,提出了评估指标“POPE”,通过轮询有关生成文本的问题来评估 LVLM 中的幻觉。他们观察到,当前最先进的 LVLM (InstructBLIP) 在最近的 LVLM 中具有最低的物体幻觉率。 Liu 等人的另一个相关贡献。 (Liu et al. 2023a)是LRV数据集的介绍。该数据集包含专门设计用于增强 LVLM 对抗幻觉和不一致文本生成的鲁棒性的正向和负向指令。此外,他们提出了一种名为 GAVIE 的方法,该方法利用 GPT-4 来协助评估首选答案的生成。

这些研究通过提供评估指标、数据集和评估方法来增强多模态模型中文本生成的可靠性和一致性,共同有助于理解和缓解 LVLM 中与幻觉相关的挑战。我们的工作扩展了之前工作的范围,不仅考虑了对物体存在的幻觉,而且还考虑了物体的描述,例如相对位置或属性。我们还考虑复杂对象推理的幻觉。

符合人类偏好尽管在经典语言基准数据集上具有强大的零样本性能,预训练的大语言模型仍然难以产生与真实人类编写的数据相媲美的详细生成。对人类编写的演示数据进行有监督的微调是不够的,最近的工作重点是使用人类反馈强化学习(RLHF)来解决这个问题(Stiennon et al. 2020;Touvron et al. 2023;Ouyang et al. 2023)。 2022 年;OpenAI 2023)。

RLHF 通常使用近端策略优化(Schulman et al. 2017),通过奖励模型的奖励来优化策略模型。这种奖励模型通常是在同一提示代的偏好对上进行训练的,这些偏好对通常源自基本策略模型。这种偏好通常是由人类给出的,尽管已经尝试使用更传统的指标,例如 BLEU(Papineni et al. 2002)和 ROUGE(Ganesan 2018)作为代理。利用人类偏好可以更有效地使大语言模型与人类偏好保持一致(Stiennon et al. 2020),尽管在预防幻觉方面效果参差不齐。欧阳等人。 (Ouyang et al. 2022)发现 RLHF 有助于较小(6B)语言模型降低其幻觉率,而对较大模型(175B)则产生相反的效果。在本文中,我们将重点关注最终用户更容易访问的相对较小的多模式模型(7B)。

DPO 最近已成为 RLHF 的可行替代方案,用于偏好调整,直接优化策略模型,无需通过强化学习训练奖励模型和样本奖励(Rafailov 等人,2023)。它在语言模型上的摘要和聊天机器人用例中表现出了与 RLHF 相当的性能,并且在较高温度采样中保持了强大的性能。同时,它避免了用强化学习训练模型的不稳定和脆弱的过程(Engstrom et al. 2020)。

细粒度的偏好 RLHF 和 DPO 的局限性在于它们缺乏细粒度的解释性,无法解释是什么让一代人比另一代人更受偏好。最近的研究在利用细粒度的用户偏好来提高奖励模型的性能和可解释性方面取得了重大进展。例如,吴等人。 (Wu et al. 2023)利用细粒度的人类反馈来训练不同密度水平的多个奖励模型。这些奖励模型涵盖了传统 RLHF 设置中的段落级别偏好,还包括错误识别形式的句子级别和子句子级别偏好。 (Lightman et al. 2023)采用流程监督,为各个步骤提供人工反馈,以获得更稳健的奖励。

为了将这种细粒度反馈机制扩展到多模态领域,我们引入了一个用于多模态幻觉检测的新数据集。我们的数据集包含 4,000 张图像,每张图像有 4 个详细描述,总共 16,000 个图像描述对,在子句子级别进行注释以指示生成的描述的准确性。与(Wu et al. 2023)类似,我们在此数据集上训练子句和句子级奖励模型。我们还修改了 DPO 损失以利用细粒度注释。

M-HalDetect:多模态幻觉检测数据集

数据集描述 在本节中,我们介绍 M-HalDetect 数据集,该数据集包含细粒度注释,用于识别 LVLM 生成的详细图像描述中的幻觉。该数据集由从 4,000 张图像中采样的图像描述对组成,这些图像取自 Common Objects in Context (COCO) 数据集的 val2014 分割(Lin et al. 2014)。该数据集分为包含 3,200 张图像的训练集和包含 800 张图像的开发集。

我们选择利用 COCO 的验证集来避免在 COCO 训练集上训练的 LVLM 潜在的训练数据回流。这大约是原始 COCO 验证集的 10%,留下足够的数据不变,不会对进一步的验证产生太大影响。

为了生成响应,我们使用每张图像以及从用于描述图像的指令池中随机选择的问题来提示 InstructBLIP (Dai et al. 2023)。我们最初重用 InstructBLIP 详细图像描述训练数据中使用的指令,这些指令源自 LLaVA-150k(Liu 等人,2023b)数据集。在初步分析过程中,我们观察到这样做会导致响应的多样性减少,这可能是由于训练期间该数据集的影响。为了解决这个问题,我们添加了自己的提示以提高世代多样性。附录中列出了问题提示的详尽列表。

我们使用 InstructBLIP 中的核采样对四个响应进行采样,温度值设置为 1.0。这将创建 16k 个图像提示响应三元组,在训练分割中分割为 12800 个样本,在验证分割中分割为 3200 个样本。

数据集类别 注释过程涉及将每个响应的不同部分分为三类:(i) 准确、(ii) 不准确和 (iii) 分析。我们还为不明确的情况提供了“不确定”类别。我们定义类如下:

  • 准确的对象存在于图像中,它们的描述根据图像是准确的,并且任何描述的关系都可以从图像中准确地推断出来。
  • 不准确 图像中不存在对象或其描述不准确。此外,如果对图像的分析不合理,它也会被标记为不准确。
  • 分析 场景或对象分析,包括关于图像的复杂推理或解释。这些数据部分更加主观,并且在图像中没有视觉依据。
  • 不确定 如果注释者无法将句子片段判断为上述三个类别之一,则保留此类别作为最后手段。

我们在 LVLM 生成的图像的详细描述上为这 3 个类别提供了细粒度的注释。注释是在子句子级别提供的 - 即一个句子可以包含来自不同类别的多个片段,如图 1 所示。

为了使注释过程用户友好,如果句子中需要注释的段太多,我们允许注释者在注释中遗漏一些单词。句子中未标记的单词默认被视为“准确”。在我们的分析中,我们注意到注释者有时会跳过注释标点符号、连接词或介绍性子句,例如“图像特征”(如图 1 所示)。

数据集收集为了收集注释,我们使用了 Scale AI 的 RAPID(sca 2023) 标记工具,并涉及 10 名随机选择的人类注释者。这些注释者必须通过培训课程,并在为最终标记任务选择的示例任务上至少达到 85% 的准确率,才能获得资格。向注释者呈现一张图像以及 InstructBLIP 生成的关于该图像的四个响应。他们的任务是将句子的片段注释为一个类别。图 1 展示了一个示例注释任务。有关数据集生成、各种提示和示例的更多详细信息可以在附录中找到。

方法

多模态奖励模型 我们实现了一个多模式奖励模型来检测 LVLM 产生的幻觉的存在。具体来说,我们重用了 InstructBLIP 权重和架构,用分类头交换了最终的嵌入层。我们这样做是因为从生成模型权重初始化奖励模型可以提高后期 RL 中的训练鲁棒性和奖励泛化性(Zheng et al. 2023)。 InstructBLIP 由提取图像特征的图像编码器和投影这些特征的线性映射层组成。这些图像特征被传递到指令感知注意层 QFormer,该层负责处理投影图像特征上的指令。 QFormer 输出作为软提示传递到冻结的预训练解码器,并作为指令的前缀。在本文中,我们选择使用 Vicuna(vic 2023) 作为原始 InstructBLIP 的冻结解码器。

我们在句子级别和子句子级别密度上训练奖励模型。对于每个图像-文本对,我们运行一个类似于(Lightman et al. 2023)的前向传递,并在结束每个片段的标记处设置目标类标签,屏蔽该片段中的所有其他索引。我们通过交叉熵损失进行优化。我们微调整个解码器和奖励模型头,同时冻结模型的其余部分。模型冻结和进一步的超参数以及训练的详细信息可以在附录中找到。

句子级奖励预测

我们将 MHalDetect 中标记的子句子片段压缩为句子级片段,以获得更结构化的奖励格式 - 这使得运行拒绝采样和使用 RL 进行训练变得更加简单,而无需担心本地化正确的片段。我们使用自然语言工具包(Bird、Klein 和 Loper 2009)识别这些句子。对于每个句子,如果有任何片段不准确,我们将整个句子标记为不准确。虽然这在转换部分不准确的句子时可能会引入一些噪音,但我们在图 2 中看到此类句子的频率很低。此外,如果一个句子有一个属于“不确定”类别的片段,我们会将该句子合并到不准确的类别中。我们对此数据集尝试了两个级别的标签粒度:

二元分类:将 Analysis 和 Accurate 类压缩为 Accurate 类。在此设置中,我们有两个类别:准确和不准确

三元分类:在此设置中,我们分为三个类别:准确、不准确和分析。

段级奖励预测

我们还训练了一个更细粒度的奖励模型,该模型对句子片段而不是整个句子进行幻觉判断。在进行注释训练时,这可以提供更少的噪声信号,特别是对于较长的复合句子和孤立于句子的一小部分的幻觉。我们以与句子级奖励类似的方式训练这些数据,通过将注释文本的每个范围或片段的结束标记索引标记到其相应的标签中。然后我们屏蔽掉序列中的所有其他索引。作为基线,我们假设注释片段的完美定位作为该方法性能的上限。未来的工作可以考虑与奖励模型并行训练片段定位模型,以检测幻觉何时开始和结束。由于我们不这样做,因此我们无法使用此奖励模型进行拒绝采样,并纯粹根据测试集的分类指标进行评估。与句子级奖励预测基线类似,我们还尝试了段级奖励预测模型的二元和三元变体。

拒绝抽样

我们使用经过训练的奖励模型对几代 InstructBLIP 进行拒绝采样,以促进选择较少幻觉的反应。我们在通过级别上执行此操作,同时计算整代人的奖励分数。我们通过平均每个句子的非幻觉对数概率来计算奖励分数。这表示不包含幻觉的整个段落的标准化对数概率。我们在 n = 16、64 的情况下计算 n 中最佳和 n 中最差设置中的拒绝采样,以研究奖励模型从 InstructBLIP 中选择最佳世代的能力,以及世代之间的质量差异。

当我们训练两种类型的句子级奖励模型(二元和三元,包括分析类)时,我们尝试使用这两种模型进行奖励评分。我们在最初的实验中发现,虽然二元奖励模型能够以低分惩罚幻觉,但它往往会给分析类给出非常高的分数。我们的理论是,检测非致幻分析比事实描述要容易得多,因此二元奖励模型分数偏向于包含更多主观分析而不是客观描述的世代。对于三元奖励模型来说,这不是一个问题,因为分析已分为自己的类别。正如我们将在结果中讨论的,三元模型的功能是二元模型的超集。出于这些原因,我们选择使用三元奖励模型来推进拒绝采样.

为了研究奖励模型和数据集的稳健性,我们对其他 LVLM(即 LLaVA 和 mPLUG-OWL)的世代进行拒绝采样。对于这些实验,我们重用从 InstructBLIP 初始化的奖励模型。

细粒度直接偏好优化

虽然我们训练奖励模型来展示 RL 优化幻觉的潜力,但我们还使用 FDPO 直接优化 InstructBLIP 以减少幻觉。由于 M-HalDetect 不包含 DPO 和 RLHF 中使用的传统偏好对,因此我们明确地将每一代划分为首选、不首选和中性块的序列。然后,我们重用 DPO 损失来增加首选块的可能性,同时减少不首选块的可能性,每个块都通过相应块的基本模型的原始可能性进行正则化,而中性块则被忽略。与(Wu et al. 2023)类似,与在整个世代中使用可能性对相比,这应该在减少幻觉世代的训练过程中发出更强的信号。回想一下 DPO 中使用的损失,以 πref 作为参考模型,πθ 作为策略模型,x 为输入,yw 为首选代,yl 为非首选代。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值