通过CLIP引导解码减轻大型视觉-语言模型中的幻觉问题

news2024/11/25 4:59:23

人工智能咨询培训老师叶梓 转载标明出处

大型视觉-语言模型(LVLMs)因其在视觉推理方面的能力而备受瞩目,被视为实现自主操作智能体的重要里程碑。但它在生成文本时容易出现对象幻觉问题,即描述中包含不存在的对象,这严重限制了它们的可靠性和实用性。

标题

为了解决这一问题,新加坡国立大学计算学院的Ailin Deng、Zhirui Chen和Bryan Hooi提出了一种新颖的方法——CLIP引导解码(CGD),旨在在不经过额外训练的情况下,通过CLIP模型在解码时引导模型,增强生成文本与图像的视觉基础,从而有效减轻对象幻觉问题。Figure 1 为方法的原理示意。在解码过程中,与图像具有更高CLIP相似度的候选句子不太可能是幻觉(hallucinated),因此会被选中。在这个示例中,幻觉文本被标记为红色,以便于识别和区分。图中包含几个候选句子,这些句子都是对同一张图像的描述。每个句子旁边可能都有一个CLIP分数,表示该句子与图像内容的匹配程度。分数较高的句子意味着与图像内容更为一致,更有可能是准确的描述。在这种情况下,解码过程会选择这些高分句子,而不是那些分数较低、可能与图像不相关或包含错误信息的句子。

CLIP引导解码

CLIP引导解码(CGD)算法是为了减少在生成过程中出现的幻觉问题。CGD算法利用CLIP模型作为视觉-语言指导,以偏好视觉上有根据的内容。这个算法包含两个主要部分:可靠性评分和引导句子生成。

可靠性评分

在解码的每一步t,对于包含连续句子(s1, ..., st)的候选响应c,定义了一个可靠性得分F(c)。这个得分由两部分组成:一部分是LVLM模型的归一化可能性fθ(c),另一部分是CLIP引导的加权和。具体公式如下:其中,α是一个超参数,用于权衡LVLM模型的归一化可能性fθ(c)和CLIP引导的总和。当α=0时,CLIP引导没有影响,得分函数只考虑模型的可能性得分;当α=1时,表示更倾向于高CLIP得分。

引导句子生成

在生成响应时,研究者希望保持LVLM的生成质量和流畅性,同时减少幻觉。为此,使用可靠性得分函数来优先选择与图像视觉基础良好的响应。在每一步t,维护一个候选集Ct,其中包含最多N个候选者,每个候选者ctj代表到目前为止生成的前t个序列。

生成候选集Ct+1的过程如下:

  1. 对于Ct中的每个ctj,独立地根据LVLM模型参数θ参数化的条件下分布,采样下一个句子M次,得到新的候选集C′t+1。

  2. 为了避免候选集的基数呈指数增长,基于句子级别的幻觉评分,从C′t+1中保留前N个候选项,即:其中argtopN返回下标集合中函数F(c)值最高的前N个成员。

这个过程会一直重复,直到所有候选者都达到文件结束标志(EOF),例如达到最大输出长度。最后,选择Ct中得分最高的候选者c*作为输出。

研究者在算法1中总结了CLIP引导解码的整个过程。这个算法在概念上类似于束搜索(beam search),但是在句子级别上进行,允许在完整的句子上应用CLIP评分,而不是在标记级别上的不完整单词或短语。

通过这种方式,CGD算法能够有效地在生成文本时减少幻觉的发生,同时保持文本的质量和流畅性。这种方法的优势在于它不需要额外的训练,可以作为一个即插即用的工具来改善现有LVLMs的生成性能。

实验

实验主要关注两个任务:幻觉评估和开放式视觉问答(VQA)。幻觉评估是研究的重点,而开放式VQA任务则用于更广泛地了解方法的效果。幻觉评估使用了COCO数据集和NoCaps数据集,包括近领域和领域外的数据。实验中随机选择了每个数据集的500个样本,并使用提示“Describe this image in detail”来引导LVLMs生成描述。

研究者们采用了自动化幻觉评估的CHAIR指标,包括CHAIRi(CI)和CHAIRs(CS),来量化生成描述中的幻觉对象比例。此外,还包括了评估生成质量的指标,如平均响应单词数(Avg. Len)、平均覆盖率(Avg. Coverage),以及BLEU、METEOR、ROUGE-L、CIDEr、SPICE和CLIPScore等广泛认可的指标。

CGD方法与六种解码方法进行了比较,包括贪婪解码、Nucleus采样、TopK采样,以及DoLa、VCD和OPERA等最近提出的减少幻觉的解码方法。CGD使用了最新的图像-文本对比模型SigLIP作为CLIP引导模型,并设置了超参数N = 3, M = 3和α = 0.99。实验在GeForce RTX 3090上运行,并报告了三次运行的平均性能。

在COCO和NoCaps数据集上的幻觉评估结果显示(表1),与其他基线方法相比,CGD方法在CHAIR指标上取得了更低的分数,表明其在减少幻觉对象方面更为有效,同时保持了与基线方法相似的响应长度。这表明CGD方法能够在不牺牲生成质量的前提下减少幻觉。

为了评估LVLMs的响应质量,研究者们使用了CIDEr和SPICE等指标来评估COCO数据集上生成的描述。结果显示,CGD方法在这些指标上与其他方法表现相当,突显了CGD方法在减少幻觉的同时保持文本生成效用的能力。

在COCO数据集上使用不同解码方法生成的文本的质量评估结果

除了评估幻觉,研究者们还在MM-Vet开放式VQA基准上测试了CGD算法。结果显示,CGD方法在大多数任务上超过了贪婪解码基线,例如在识别和OCR任务上。然而,在空间意识任务上表现不佳,这可能归因于CLIP模型在关系理解上的局限性。研究者们指出,通过数据筛选或特征融合技术来增强视觉-语言模型,可能会进一步提升CGD方法的性能。

在MM-Vet基准测试上使用LLaVA-1.5模型时,CGD方法与标准贪婪解码方法的比较结果

为了进一步理解句子可能性和CLIPScore在CGD方法中的作用,研究者们进行了消融研究。通过控制α参数,研究者们分析了在没有句子可能性或CLIP引导的情况下的性能。结果表明,没有CLIP引导的性能接近贪婪解码,而句子可能性在减少幻觉方面的有效性相对有限,这证实了CLIP引导在减轻幻觉中的主导贡献。

研究者们还研究了CGD方法对最大候选数N和采样次数M的敏感性。实验结果表明,即使在减少最大候选数和采样次数的情况下,CGD方法仍然优于基线。性能随着N和M的增大而提高,这表明拥有更多的选择和更大的候选预算有助于模型避免幻觉。在效率方面,CGD方法与VCD相当,比OPERA更有效,并且提供了更好的幻觉减轻效果。随着N和M的增大,推理成本上升,表明效率和效果之间的权衡。

由于大多数LVLMs采用了OpenAI的CLIP模型作为视觉编码器,研究者们探讨了使用相同的CLIP模型作为CGD方法中的引导模型是否能够增强幻觉减轻。实验结果表明,即使使用LLaVA-1.5中的视觉编码器,CGD方法仍然超过了基线方法。这表明现有的视觉-语言对齐的微调过程可能会在一定程度上损害原始视觉能力,而CGD方法通过直接检查LVLMs的输出来重新校准视觉和语言之间的对齐。

Table 3 和 Table 4分别展示了在幻觉评分中对句子似然性和CLIPScore的消融研究,以及对超参数N和M的敏感性分析。

这些实验结果展示了CGD方法在减少幻觉和保持生成质量方面的优势,并揭示了CLIP引导在幻觉减轻中的重要作用。同时,它们也表明了通过调整超参数和使用不同的CLIP模型可以进一步提高CGD方法的性能。

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

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

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

相关文章

一文带你入门大模型微调

大模型相关目录 大模型,包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步,扬帆起航。 swift与Internvl下的多模态大模型分布式微调指南(附代码和数据&#xff…

MTK 相机功耗拆解方法

和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、硬件功耗二、相机软件功耗三、参考文档 一、硬件功耗 1.1 硬件信息 以下硬件信息最好提前获取到 模块备注平台MTK or Qcom or sprdCPU频率大中小核…

【Qt开发】事件与信号/事件过滤器

事件与信号/事件过滤器 事件一、事件的产生二、事件的派发三、事件类和事件类型四、事件的处理 事件与信号事件过滤器 事件 Qt系统的图形化窗口是由事件驱动的。,点击鼠标、按键,改变窗口大小、最小化窗口、关闭窗口等都会产生相应的事件。 QWidget类的所…

shuashuashua

CVE-2023-2130 靶标介绍: 在SourceCodester采购订单管理系统1.0中发现了一项被分类为关键的漏洞。受影响的是组件GET参数处理器的文件/admin/suppliers/view_details.php中的一个未知函数。对参数id的操纵导致了SQL注入。可以远程发起攻击。 通过标靶介绍可以知道…

通过域名和HTTPS上线MSF

使用受信任证书的Meterpreter载荷 现在大多数安全解决方案还会通过分析进出目标机器的流量来进行网络入侵检测。在这种情况下,很可能即使使用编码器绕过了防病毒软件,但有效载荷也会在尝试连接到我们的侦听器时被捕获和拦截。 # 准备工作 首先需要准备…

FPGA开发——UART回环实现之接收模块的设计

一、简介 因为我们本次进行串口回环的实验的对象是FPGA开发板和PC端,所以在接收和发送模块中先编写接收模块,这样可以在后面更好的进行发送模块的验证。(其实这里先编写哪个模块)都不影响,这里看自己心情,反…

大语言模型微调框架Unsloth:简化模型微调流程,提升模型性能

Unsloth 将 Llama-3、Mistral、Phi-3 和 Gemma 等大型语言模型的微调速度提高了 2 倍,内存使用量减少了 70%,而且准确性不会降低! 特点 通过手动派生所有计算繁重的数学步骤和手写 GPU 内核,unsloth 可以在不更改任何硬件的情况…

IMU助力跑步参数评估

近期,中国研究团队开发了一种创新的跑步参数评估方法,巧妙结合了IMU和多模态神经网络技术,旨在深入研究并有效评估跑步时的步态参数。 科研团队采用IMU传感器,将其固定在跑者的脚踝处,以实时监测并记录跑步时脚踝的加速…

如何利用RPA自动化流程机器人优化企业财务流程

随着企业规模的扩大和业务的复杂性增加,财务流程管理成了一个关键而复杂的任务。传统的财务流程往往涉及大量的重复性、繁琐的工作,不仅效率低下,而且容易出错。为了解决这些问题,越来越多的企业开始引入RPA机器人流程自动化来优化…

JAVA集中学习第五周学习记录(二)

系列文章目录 第一章 JAVA集中学习第一周学习记录(一) 第二章 JAVA集中学习第一周项目实践 第三章 JAVA集中学习第一周学习记录(二) 第四章 JAVA集中学习第一周课后习题 第五章 JAVA集中学习第二周学习记录(一) 第六章 JAVA集中学习第二周项目实践 第七章 JAVA集中学习第二周学…

打开Office(word、excel、ppt)显示操作系统当前的配置不能运行此应用程序最全解决方案!

我以前用过分区助手把office从c盘挪到d盘了,从那以后office就用不了了,然后我就删了(貌似没删干净)。 最近由于有使用word的需求,所以我从学校官网找到正版软件的安装包,按照步骤重新卸载电脑中office残留…

基于Java的民宿管理系统

TOC springboot306基于Java的民宿管理系统 第1章 绪论 1.1选题动因 当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和工作的领域。随着电脑和笔记本的广泛…

【Mac】Downie 打开提示试用的解决办法?

前情 我们在使用 Downie 的时候,可能遇到提示试用的问题,如下图所示。 原因 旧版本的 Downie 没有卸载干净导致的。 解决办法 先使用 AppCleaner 卸载掉电脑上的 Downie 旧版本软件,必须使用 AppCleaner 卸载。重新安装 Downie 即可。

DNN代码实战

DNN的原理 神经网络通过学习大量样本的输入与输出特征之间的关系,以拟合出输入与输出之间的方程,学习完成后,只给它输入特征,它便会可以给出输出特征。神经网络可以分为这么几步:划分数据集、训练网络、测试网络、使用…

C++_2_nullptr关键字(3/3)

本节内容有C的NULL在前面打头阵&#xff0c;学起来犹如探囊取物。 先来分析一段代码&#xff0c;本段代码恰好也结合了上节的宏。 #include<iostream> using namespace std; void f(int x) { cout << "f(int x)" << endl; } void f(int* ptr) { …

Android Settings 跳转流程

我们知道在Settings中&#xff0c;各模块之间的Fragment基本都继承了DashboardFragment&#xff0c;当有点击事件时&#xff0c;就会回调DashboardFragment中的onPerferenceTreeClick()方法。 在onPreferenceTreeClick()方法中可以根据preference的key做事件拦截&#xff0c;如…

Linux线程实用场景

文章目录 前言生产者消费者模型1.基于阻塞队列特点实现使用 2.基于环形队列和信号量实现使用 读者写者模型实现思想 线程池实现 前言 生产者消费者模型和读者写者模型这些模型是用于在线程间协调和管理资源访问的模式, 我们在之前已经理解了线程的概念以及同步与互斥, 现在我们…

无人机之消费级和工业级,两者区别分析

消费级无人机和工业级无人机在多个方面存在显著差异&#xff0c;这些差异主要体现在搭载设备、应用领域、针对用户、使用条件、性能要求、营销模式以及价格等方面。以下是对两者区别的详细分析&#xff1a; 1. 搭载设备 消费级无人机&#xff1a;主要搭载相机&#xff0c;并配…

C++ | Leetcode C++题解之第337题打家劫舍III

题目&#xff1a; 题解&#xff1a; struct SubtreeStatus {int selected;int notSelected; };class Solution { public:SubtreeStatus dfs(TreeNode* node) {if (!node) {return {0, 0};}auto l dfs(node->left);auto r dfs(node->right);int selected node->val…

Windows禁止应用联网

转自两种方法阻止电脑上的软件彻底联网&#xff01; - 知乎 (zhihu.com) 但为了稳妥&#xff0c;自己还是稍微记录一下 1、创建bat脚本文件 创建文本-将下面的代码填入-保存为.bat文件 Echo Off SetLocal:beginecho: echo ****** 禁止文件夹联网 ****** echo:set /p folder…