解决多模态大模型幻觉问题的秘密武器:“啄木鸟”免重训方法!哪里出问题啄哪里!

news2024/9/17 9:12:54

夕小瑶科技说 原创
 作者 | 付奶茶、王二狗

最近多模态大模型的研究取得了巨大的进展。然而,这些模型在生成时存在着文本与图像不一致的问题,这个问题就是一直困扰研究者们的“幻觉难题”。

图片

▲给定一幅图像,MLLM会输出的回应,包括了物体层面和属性层面的幻觉。

为了缓解这个问题,中科大开发了一种名为Woodpecker(啄木鸟)的新方法。这个方法可以从生成的文本中挑选出幻觉并进行纠正。具体来说,直接从模型给出的错误文本下手,“倒推”出可能出现“幻觉”之处,然后与图片确定事实,最终直接完成修正。

一句话总结就是:哪里出现问题就啄哪里~

图片

▲给定MLLM的一个回应,Woodpecker会校正被幻觉的部分并整合基础信息以便于验证。

Woodpecker 包括五个阶段:

  • 关键概念提取;

  • 问题制定;

  • 视觉知识验证;

  • 视觉声明生成;

  • 幻觉校正。

图片

啄木鸟框架具备轻松适用于各种多模态大型模型的能力,并且通过访问五个不同阶段的中间输出来提供解释。通过实验,可以清晰地观察到,在多个不同的模型(LLaV,mPLUG-Owl,MiniGPT-4,Otter)的评估中,准确率都表现出了不同程度的增长。

特别一提的是,MiniGPT-4 和 mPLUG-Owl 模型分别实现了惊人的30.66%和24.33%的提升!

接下来,让我们一同深入探讨它们取得这一成绩的秘诀~

论文标题:
《Woodpecker: Hallucination Correction for Multimodal Large Language Models》

论文链接:
https://arxiv.org/abs/2310.16045

代码地址:
https://github.com/BradyFU/Woodpecker

算法框架

1.关键概念提取

首先从生成的句子中提取关键概念对象,这些对象最有可能导致视觉幻觉。例如,对于句子“这个男人戴着一顶黑色帽子。”,提取“男人”和“帽子”这两个对象,并将它们作为后续诊断的中心。作者提出可以用具有强大的概括能力和丰富的世界知识的LLMs来完成这个任务。

2.问题形式化

接下来,围绕这些关键概念提出一系列问题,以进行幻觉诊断。这些问题涵盖了对象级别以及属性级别的幻觉。例如,我们可能会探询图像中是否存在特定对象,如果存在,有多少个这种对象,这些对象正在进行什么活动,以及这些对象之间是否存在什么关系等。

3.视觉知识验证

在这个阶段,作者使用开放式对象检测器和预训练的视觉问答(VQA)模型来解决上述问题。对象级别的问题可以通过感知图片来直接验证,而属性级别的问题则更加多样化并且依赖于上下文。

4.视觉声明生成

基于前两步中获得的问题以及对应的视觉信息,合成结构化的“视觉断言”。然后将其组织成一个可供后续步骤参考的可视化知识库。这个知识库包括目标级别的声明和属性级别的声明,前者主要用于减轻目标级别的幻觉,而后者包含特定属性信息,用于减轻属性级别的幻觉。

5.幻觉纠正阶段

作者将LLM用作一个校正工具,用于修改生成的回答中的幻觉。将知识库与原始回答合并,然后指示LLM对回答进行校正并输出最终的答案。

实验

在论文中,作者主要评估了多模态大模型的幻觉方面的应用。作者使用了POPE、MME和LLaVA-QA90三种不同的数据集,并选择了mPLUG-Owl、LLaVA、MiniGPT-4和Otter四种主流的MLLMs作为基线模型。

POPE

该数据集专门用于评估多模态大模型的幻觉。它包含了随机、热门和对抗性采样的设置,这些设置主要在负样本构造的方式上有所不同。作者采样了50张图像,并为每张图像构建了6个问题,将物体注释转化为一系列的“是或否”问题,并侧重于评估物体级别的幻觉。

图片

▲表格中w/Ours表示由“啄木鸟”校正的MLLM响应,x为未采用,对勾为采用

我们可以观察到,Woodpecker方法能够显著提升这几个模型的性能,在准确性方面为MiniGPT-4和mPLUG-Owl分别带来了30.66%和24.33%的相对提升。在更具挑战性的常见和敌对设置下,MLLMs的性能都出现不同程度的下降,尤其是在相对强的基线模型(如LLaVA)中,性能下降更为明显。与随机设置相比,LLaVA在常见和敌对设置中的准确性分别下降了9.33%和12.67%。这一趋势表明MLLMs可能会错误地适应训练语料库中的某些数据特征,例如在常见设置中的下降可能源自于长尾数据分布。与此相反,Woodpecker方法因为配备了强大的专家视觉模型,表现出极高的稳定性,显著改善了各种基线模型的各项指标,所有模型的准确性都超过了80%。特别值得一提的是,Woodpecker方法将mPLUG-Owl在敌对设置中的准确性从56.33%大幅提升至81%。

MME

MME是一个综合性基准,旨在评估MLLMs在各个方面的性能。它包括十个感知能力子任务和四个认知能力子任务。作者重新利用了数据集,选择存在性和计数子集来衡量对象级幻觉,位置和颜色子集用于衡量属性级幻觉。

MME的实验更加全面,因为它不仅涵盖了物体级别的幻觉评估,还包括属性级别的幻觉评估。我们可以看到,在物体级别的评估中,LLaVA和Otter在存在方面表现出色,但是在更难的计数查询方面相对落后。在这种情况下,啄木鸟校正方法显得更加有效,为LLaVA带来了+65的分数增益,为MiniGPT-4带来了+101.66的分数增益。

图片

相比之下,位置方面的改进相对较小,作者推断这可能是由两个因素引起的:(1)VQA模型BLIP-2在位置推理方面的相对较弱能力;
(2)LLM可能无法充分理解给定的边界框以自行推导出位置关系。

LLaVA-QA90

这个数据集也被用于评估MLLMs,作者抽样了10个以不同形式改写的描述性查询,来指导MLLM描述一张图片。

实验过程由三个预训练模型组成,需要进行修正的MLLM,以及LLM、GPT-3.5-turbo来完成关键概念提取、问题形成和幻觉修正的子任务。对于开放式目标检测,使用Grounding DINO来提取默认检测阈值下的目标计数信息。此外,作者利用BLIP-2-FlanT5XXL作为VQA模型,以回答与输入图像相关的属性问题。

不同于上述的两个实验,它只涉及“是或否”类型的问题,LLaVA-QA90的实验更为开放。描述型查询要求MLLMs完全将输入图像翻译成语言,而不仅仅是关于对象的存在或属性。采用了一个纯文本的GPT-4,图像内容以简短的说明和一些对象的边界框的形式馈送给语言模型。

图片

图片

如图4所示,GPT-4V可以直接接收原始回应、校正后的回应,最重要的是输入图像。在这种情况下,可以要求GPT-4V提供评估结果和判断理由。

作者设计了以下两个指标:

• 准确性:回应是否与图像内容相符。• 详细程度:回应是否丰富多细节。

这两个指标的得分显示在表3中,啄木鸟也取得了一致的提升。一方面,准确性的提高表明能够有效校正MLLM回应中的幻觉。另一方面,引入的边界框信息为回应增加了细节,从而提高了详细程度。

在这里,小编插播一句,最近我们也进行了一个有趣的类似评估,大家也可以参考一下~

GPT-4和DALL·E 3彻底懵逼,这到底是「牛」还是「鲨」

各种结果都表明,在经过“啄木鸟”修正后,图片描述的准确性有了显著的提升。这表明啄木鸟框架能够有效地纠正描述中的幻视现象,从而使描述更准确和可信。此外,修正方法还引入了更多的位置信息,进一步丰富了文本描述,提供了更多物体位置的信息量。

图片

▲GPT-4V辅助的评测样例

小结

啄木鸟引入了基于纠正机制的框架,能给减轻多模态语言模型中存在的幻觉问题。这一方法无需额外训练,而是结合了多个现有模型,可轻松整合到各类多模态语言模型中,作者通过一系列实验验证了所提出方法的有效性。

尽管Woodpecker等方法取得了显著的效果,有望为解决幻觉问题开辟新的思路。但是,多模态大模型的幻觉问题依然存在,因此仍需要进一步的研究和创新来全面解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1153909.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

堆栈和队列算法-双向队列

目录 堆栈和队列算法-双向队列 C代码 堆栈和队列算法-双向队列 双向队列(Double Ended Queues,DEQue)为一个有序线性表,加入与删除操作可在队列的任意一端进行。 具体来说,双向队列就是允许队列两端中的任意一端都…

Acrel-3000水电站厂用电管理系统实现电站的发、用电监控、设备管理和运维管理-安科瑞黄安南

NB/T 10861-2021《水力发电厂测量装置配置设计规范》对水电厂的测量装置配置做了详细要求和指导。测量装置是水力发电厂运行监测的重要环节,水电厂的测量主要分为电气量测量和非电量测量。电气测量指使用电的方式对电气实时参数进行测量,包括电流、电压、…

【VR开发】【Unity】【VRTK】2-关于VR的基础知识

【概述】 在VRTK的实操讲解之前,本篇先介绍几个重要的VR认识。 【VR对各个行业的颠覆】 如果互联网几乎把所有行业都重做了一遍,VR在接下来的几年很可能再把现有的行业都重做一遍,包括但不限于教育,房地产,零售&…

C#--继承

提高开发效率的一种手段 继承就是把大家共性的东西提取出来,共享 被僵尸咬一口你也是僵尸 C#不支持多重继承 C#类可以派生自另一个类和任意多个接口 继承具有单根性,一个派生类只能继承一个父类 如果没有写继承自那个类,默认继承object类&am…

面试官:聊聊kafka线上使用会有哪些问题?

哪些环节会造成消息丢失? 首先说说哪些环节会丢消息 消息生产者: (1)acks0: 表示producer不需要等待任何broker确认收到消息的回复,就可以继续发送下一条消息。性能最高,但是最容易丢消 息。大…

AMEYA360:村田量产面向汽车的1.0μF 0.18mm超薄LW逆转低ESL片状多层陶瓷电容器

株式会社村田制作所已开发出面向汽车ECU(电子控制单元)中使用的处理器、超小*(0.5mm1.0mm)且超薄的LW逆转低ESL片状多层陶瓷电容器“LLC15SD70E105ME01”,并于9月开始量产。该产品T尺寸标准值为0.16 0.02 mm(厚度为最大0.18 mm),与普通多层陶瓷电容器不…

通配符/泛域名SSL证书

在互联网发展迅速的今天,许多网站都拥有多个子域名,例如www.example.com、blog.example.com和shop.example.com等。为了确保这些子域名之间的数据传输安全,通配符/泛域名SSL证书成为了一种广泛采用的解决方案。 1,什么是通配符/泛…

Kubernetes Taint(污点) 和 Toleration(容忍)

Author:rab 目录 前言一、Taint(污点)1.1 概述1.2 查看节点 Taint1.3 标记节点 Taint1.4 删除节点 Taint 二、Toleration(容忍) 前言 Kubernetes 中的污点(Taint)和容忍(Toleration…

highcharts 3D环形饼图

1.下载安装highcharts npm install highcharts --save2.在页面引入 import highcharts from highcharts3.在main.js引入 import highcharts from highcharts import highcharts3d from highcharts/highcharts-3d highcharts3d(highcharts)4.html部分代码 <div class"…

时间复杂度为 O(nlogn) 的排序算法

归并排序 归并排序遵循 分治 的思想&#xff1a;将原问题分解为几个规模较小但类似于原问题的子问题&#xff0c;递归地求解这些子问题&#xff0c;然后合并这些子问题的解来建立原问题的解&#xff0c;归并排序的步骤如下&#xff1a; 划分&#xff1a;分解待排序的 n 个元素…

v-bind动态改变样式

通过v-bind切换样式&#xff0c;:class"{ active:true}"为true展示样式&#xff0c;false不展示。也可以由:style"{ width:percent %}"动态控制宽度。 注意后面是JS对象&#xff0c;所以后面的值不可以包含-&#xff0c;比如background-color会解析出错&a…

报修软件在企业管理中有哪些作用?有什么好用的设备质量管理软件?

在当今的信息化时代&#xff0c;企业需要不断加速自身的信息化建设&#xff0c;以适应日益激烈的市场竞争。在这个过程中&#xff0c;“的修”报修软件的引入对于企业设备报修与维护的管理显得尤为重要。本文将详细介绍报修软件的重要性以及其如何帮助企业实现更高效、更智能的…

毕业论文问卷分析思路

很多同学会通过收集问卷的方式获取论文研究需要的数据&#xff0c;但是收集到的问卷应该如何分析呢&#xff1f;问卷一般可以分为两类&#xff1a;非量表类与量表类问卷。不同类型的问卷有不同的分析思路&#xff0c;今天和大家探讨一下拿到一份问卷后&#xff0c;一般的分析思…

Day 15 python学习笔记

__str__ 用print打印对象时&#xff0c;会自动调用 class Test:def __init__(self,name):self.name name# 用print打印对象时&#xff0c;会自动调用def __str__(self):return f"姓名name的值是{self.name}"a Test("zhangsan") print(a)结果&#xff1…

40+专家齐聚共谋数据未来,StarRocks Summit 2023 议程公布!更多精彩议题等你探索...

数字经济时代&#xff0c;什么才是企业的核心竞争力&#xff1f; 答案是数据。 在过去的一年里&#xff0c;越来越多的企业率先行动起来&#xff0c;加入这场数智化的进程中&#xff0c;探寻最佳的底层数据架构模式和极致的数据分析方案。 作为数据进化的亲历者&#xff0c;Sta…

软考_软件设计师

算法&#xff1a; 1、直接插入排序 详解&#xff1a;https://blog.csdn.net/qq_44616044/article/details/115708056 void insertSort(int data[],int n){int i,j,temp;for(i1;i<n;i){if(data[i]<data[i-1]){temp data[i];data[i] data[i-1];for(ji-1;j>0&&am…

OPPO Find N3,解码“新商务场景”

2023行至尾声&#xff0c;这一年消费电子市场的整体表现&#xff0c;很难被评价为乐观。智能手机等大宗产品的需求疲软&#xff0c;技术越来越同质化&#xff0c;产品越来越成熟&#xff0c;出货量下行。国际数据公司&#xff08;IDC&#xff09;手机季度跟踪报告显示&#xff…

App测试基本流程以及注意事项

1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间&#xff0c;一般测试时间为两三周&#xff08;即15个工作日&#xff09;&#xff0c;根据项目情况以及版本质量可适当缩短或延长测试时间。 1.3测试资源 测试任务开始前&#xff0c;检查…

弱覆盖栅格图层制作

栅格边界生成及图层制作 栅格边界polygon生成 提取的弱覆盖栅格数据中包含了栅格中心经度和栅格中心维度&#xff0c;我们根据栅格中心经纬度生成对应的栅格边界POLYGON&#xff08;20米*40米&#xff09; 计算公式&#xff1a;polygon(栅格中心经度-0.00017 栅格中心纬度0.00…

大数据之LibrA数据库系统告警处理(ALM-12004 OLdap资源异常)

告警解释 当Manager中的Ldap资源异常时&#xff0c;系统产生此告警。 当Manager中的Ldap资源恢复&#xff0c;且告警处理完成时&#xff0c;告警恢复。 告警属性 告警参数 对系统的影响 Ldap资源异常&#xff0c;Manager和组件WebUI认证服务不可用&#xff0c;无法对Web上层…