AI的欺骗游戏:揭示多模态大型语言模型的易受骗性

news2024/11/19 14:40:07

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

多模态大型语言模型(MLLMs)在处理包含欺骗性信息的提示时容易生成幻觉式响应。尤其是在生成长响应时,仍然是一个未被充分研究的问题。来自 Apple 公司的研究团队提出了MAD-Bench,一个包含850个测试样本的精心策划的基准测试,这些样本分为六类,包括不存在的对象、对象数量、空间关系和视觉混淆等。研究者对流行的MLLMs进行了全面分析,包括GPT-4V、Gemini-Pro以及开源模型如LLaVA-1.5和CogVLM。实验结果显示,GPT-4V在MAD-Bench上的准确率达到75.02%,而其他模型的准确率仅为5%至35%。另外本文提出了一种通过添加额外段落来增强模型在面对欺骗性提示时的鲁棒性的方法,该方法能显著提高模型的准确率。

多模态大模型(如LLaVA1.5)如何容易地被包含错误信息的提示所欺骗

MAD-Bench

欺骗类别包含六个不同的类别,共计850对图像-提示对,旨在测试MLLMs对欺骗性提示的抵抗力。表1提供了每个类别的统计数据,图2展示了欺骗性提示的示例。

MAD-Bench中850个图像-提示对的统计数据。
MAD-Bench中使用的欺骗性提示的例子以及模型的响应示例

六个类别的详细说明:

对象数量 (Count of Object):该类别故意引用图像中可见对象的错误数量。如果响应断言图像中存在m个对象'A'的实例,而实际上存在不同的数量n(n与m不同且非零),则响应未通过此测试。

不存在的对象 (Non-existent Object):在这里,提示询问图像中不存在的对象。如果响应确认这些不存在的对象为存在,则失败。

对象属性 (Object Attribute):该类别包括不准确描述可见对象属性的提示。如果响应将这些不正确的特征归因于图像中的实际对象,则失败。

场景理解 (Scene Understanding):该类别涉及不准确描述图像中包含对象的场景的提示。如果响应正确识别了对象的动作,但误解了与欺骗性提示一致的场景或背景,则会出错。

空间关系 (Spatial Relationship):该类别呈现了错误指定图像中确实存在的对象之间的空间动态的提示。如果响应正确识别了对象,但错误地表示了它们的空间关系,则出错。

视觉混淆 (Visual Confusion):该类别与其他类别不同,使用提示和图像作为欺骗的工具,通常对人类眼睛也是欺骗性的。该类别包括三种类型的图像:(i)描绘裸眼3D绘画或屏幕的图像,(ii)视觉错位摄影,以及(iii)镜面反射。

MAD-Bench中视觉混淆类别的示例图像-提示对

研究者们通过使用GPT-4自动创建了欺骗性提示,这一过程利用了COCO数据集提供的地面真实字幕。之所以选择GPT-4而非GPT-4V来完成这项任务,是因为GPT-4V本身也是后续在MAD-Bench基准测试中要被评估的模型之一。从经验上判断,GPT-4的能力已经足够应对这项任务。

为了确保GPT-4能够生成符合特定类别并可能误导MLLMs的问题,研究者们精心设计了一系列定制化的提示。这些提示的具体内容可以在附录A.2中的图16至20找到。在生成过程中,并没有使用边界框信息,因为研究者们发现,这些信息对于提高欺骗性类别提示的质量并没有额外帮助。

生成欺骗性问题后,研究者们进行了严格的手动筛选,确保每个问题不仅符合其所属类别的欺骗标准,而且与相应的图像保持高度相关性。这一筛选过程对于保证MAD-Bench基准测试的质量至关重要。

使用GPT-4和COCO数据集真值字幕生成欺骗性提示的过程

在响应评估方面,研究者们同样利用GPT-4对10种不同模型生成的响应进行了评估。这些模型包括6个开源模型:LLaVA-1.5、InstructBLIP、Ferret、Kosmos2、mPLUG-Owl2和CogVLM;2个旨在减少幻觉的额外开源模型:LLaVA-RLHF和LRV-V1;以及2个最先进的专有系统:Gemini-Pro和GPT-4V。

由于视觉混淆类别中的图像数量较少,且大部分包含人类,而Gemini模型不能对包含人类的图像生成响应,因此在这个类别中没有对Gemini进行评估。但这一决定对其他类别的评估影响微乎其微。

与提示生成方法相一致,研究者们为每个欺骗类别设计了特定的评估提示,这些提示的目的是严格评估模型的响应。评估的主要指标是二元的,即仅关注响应是否被误导,而不涉及其他定性因素,如响应的帮助性等。这些用于模型评估的提示可以在附录A.3中找到。

为了确保评估过程的准确性,研究者们随机选取了500个响应,覆盖了不同的模型和欺骗类别,进行了手动准确性检查。这一验证过程显示出97.0%的高一致率,证明了研究者们所采用方法的可靠性。这种高一致率也进一步增强了MAD-Bench基准测试结果的有效性和信任度。

实验

研究者们在MAD-Bench基准测试中对多模态大模型(MLLMs)的评估揭示了这些模型在处理欺骗性信息时的脆弱性。尽管GPT-4V在场景理解和视觉混淆类别中展现出超过90%的准确率,但其他模型的表现则参差不齐,准确率仅在5%至35%之间。特别是那些旨在减少幻觉的模型,比如LRV-V1,它们在面对MAD-Bench中的挑战时,并没有展现出预期的鲁棒性。

一些支持边界框输入和输出的模型,如Ferret和Kosmos-2,在基准测试中的表现并不理想。这可能是因为这些模型在正面数据上的训练,使得它们在面对提示中提及的不存在的对象时,仍然倾向于将它们作为存在的进行定位。这种现象反映出MLLMs在理解视觉和语言信息不一致时的困难。

MAD-Bench上的主要结果,列出了不同模型在各个类别中的准确率

在详细分析模型对欺骗性提示的反应后,研究者们发现了几种常见的错误类型。例如,当模型接收到提及图像中不存在对象的提示时,它们可能会错误地识别图像中的其他对象为提示中所指的对象。这种不准确的对象检测可能是由于模型过度依赖于提示中的信息,而没有充分考虑视觉数据的实际情况。

另外模型在区分图像中提示所指的不同对象时也遇到了困难,有时将单一对象错误地识别为多个不同的实体,导致重复描述。这种冗余的对象识别可能源于模型在处理复杂视觉场景时的局限性。

更复杂的是模型有时会对图像中不可见的对象赋予特征或行为。这种行为可能是由于模型依赖于其内部知识库,试图为提示中提到的对象构造描述,即使这些对象在视觉数据中并不存在。这不仅揭示了模型在视觉识别上的不足,也暴露了它们在结合视觉和语言信息时的挑战。

研究者们还观察到模型在生成响应的过程中存在不一致性。在某些情况下,模型生成的回应中的句子会相互矛盾,反映出模型在决策过程中的犹豫不决。这种不一致性凸显了MLLMs在处理复杂提示时需要进一步改进的迫切性。

最后研究者介绍了一种旨在增强多模态大型语言模型(MLLMs)对欺骗性提示的鲁棒性并确保输出与输入图像一致性的简单而有效的方法。这一增强通过将一个额外的段落整合到系统提示中来实现,该段落可以直接添加到现有提示之前,或者根据不同模型的特定需求以不同的方式整合。

为了创建这个额外的段落,研究者们利用了GPT-4的帮助。这个段落的设计旨在鼓励模型在回答问题之前进行深思熟虑或逐步思考。例如,在表格3中展示的结果,显示了几种MLLMs在采用这种方法后的模型性能提升情况。例如,LLaVA-NeXT-13b模型的性能提升了18.56%,尽管其绝对准确率仍然不尽人意。而MiniCPM-Llama3-v2.5模型在采用这种方法后,准确率的增幅达到了63.56%,在测试的五种模型中表现最为显著。对于已经达到82.82%准确率的GPT-4V模型,使用这种方法可以进一步提高准确率至92.23%。

在修改测试提示后,MAD-Bench上不同模型的结果和性能提升

图5提供了MiniCPM-Llama3-v2.5、GPT-4V、Phi3和LLaVA-NeXT-13b模型在测试提示修改后抵御欺骗性提示的能力示例。这种增强表明,策略性提示设计可能是提高AI模型对误导或混淆尝试的鲁棒性的有价值方法。需要注意这种实现尚未完全优化,一些MLLMs由于输入序列长度限制等原因而不支持这种方法。

GPT-4V在面对欺骗性提示时的一些失败案例

总而言之MLLMs在面对欺骗性提示时有明显的脆弱性,尽管GPT-4V表现最佳,但仍有很大的改进空间。希望MAD-Bench这一新的基准测试能够激发进一步的研究,以增强模型对欺骗性提示的抵抗力。

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

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

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

相关文章

漏洞复现-F6-11泛微-E-Cology-SQL

本文来自无问社区,更多漏洞信息可前往查看http://www.wwlib.cn/index.php/artread/artid/15575.html 0x01 产品简介 泛微协同管理应用平台e-cology是一套企业级大型协同管理平台 0x02 漏洞概述 该漏洞是由于泛微e-cology未对用户的输入进行有效的过滤&#xff0…

CentOS_7.9历史版本官网下载

文章目录 1. 官网下载1.1. 打开官网1.2. download1.3. Older Versions-click here1.4. RPMs1.5. Vault mirror1.6. 7.9.2009/1.7. isos1.8. x86_641.9. 选择安装包下载 2. 阿里云镜像站下载 1. 官网下载 下载地址(如果下载地址已失效,参考下面的步骤) iso是安装包…

【前端】一文带你了解 CSS

文章目录 1. CSS 是什么2. CSS 引入方式2.1 内部样式2.2 外部样式2.3 内联样式 3. CSS 常见选择器3.1 基础选择器3.1.1 标签选择器3.1.2 类选择器3.1.3 id 选择器3.1.4 通配符选择器 3.2 复合选择器3.2.1 后代选择器 4. CSS 常用属性4.1 字体相关4.2 文本相关4.3 背景相关4.4 设…

基于sklearn的机器学习 — 决策树与随机森林

基于树的学习算法是一种广泛而流行的非参数、有监督的分类和回归方法。 基于树的学习算法的基础是决策树(decision tree),它将一系列决策规则串联起来,看起来像一棵倒立的树,第一条决策规则位于树顶,称之为…

第十四篇——军争篇:怎样在行军中设计战场

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 通过不利的战场,用方式方法,让战场逐渐转化成对自…

[JS]同事:这次就算了,下班回去赶紧补补内置函数,再犯肯定被主管骂

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/140754278 出自【进步*于辰的博客】 参考笔记一,P10.4、P13.2;笔记三&am…

城市交通工具目标检测数据集自行车、公交车、小汽车、行人

数据整理不易,下载地址点这里; yolo格式数据集之交通工具检测5种; 数据集已划分好|可以直接使用|yolov5|v6|v7|v8|v9|v10通用; 本数据为交通工具检测检测数据集,数据集数量如下: 总共有:6633张 训练集&…

尚庭公寓(四)

房间基本属性管理共有五个接口,分别是**保存或更新属性名称**、**保存或更新属性值**、**查询全部属性名称和属性值列表**、**根据ID删除属性名称**、**根据ID删除属性值**。下面逐一是实现。 首先在AttrController中注入AttrKeyService和AttrValueService&#xf…

计数器与阻塞队列

目录 一:阻塞队列 模拟阻塞队列 二:线程池: 三:计数器: 定时器模拟实现 一:阻塞队列 阻塞队列是在原有的普通队列上做了扩充,标准库中原有的队列和子类都是线程不安全的。 1.线程安全 2.…

OSMDroidOfflineDemo源码调试记录

文章目录 源码下载环境配置尝试不同离线加载遇到的问题 尝试安卓端加载离线地图,下载了使用osmdroid的离线版项目源码,更改JDK环境、gradle环境,一顿操作下来,踉踉跄跄的把程序跑起来了,但是离线的地图一直加载不出来。…

49.TFT_LCD液晶屏驱动设计与验证(2)

(1)Visio视图: (2)控制模块Verilog代码: module tft_ctrl(input clk_33M ,input reset_n ,input [23:0] data_in ,output [9:0] hang…

如何使用 SQLite ?

SQLite 是一个轻量级、嵌入式的关系型数据库管理系统(RDBMS)。它是一种 C 库,实现了自给自足、无服务器、零配置、事务性 SQL 数据库引擎。SQLite 的源代码是开放的,完全在公共领域。它被广泛用于各种应用程序,包括浏览…

Python | ValueError: could not convert string to float: ‘example’

Python | ValueError: could not convert string to float: ‘example’ 在Python编程中,类型转换是一个常见的操作。然而,当尝试将一个字符串转换为浮点数时,如果字符串的内容不是有效的浮点数表示,就会遇到“ValueError: could…

【python_将一个列表中的几个字典改成二维列表,并删除不需要的列】

def 将一个列表中的几个字典改成二维列表(original_list,headersToRemove_list):# 初始化一个列表用于存储遇到的键,保持顺序ordered_keys []# 遍历data中的每个字典,添加其键到ordered_keys,如果该键还未被添加for d in original_list:for …

SpringCloud之@FeignClient()注解的使用方式

FeignClient介绍 FeignClient 是 Spring Cloud 中用于声明一个 Feign 客户端的注解。由于SpringCloud采用分布式微服务架构,难免在各个子模块下存在模块方法互相调用的情况。比如订单服务要调用库存服务的方法,FeignClient()注解就是为了解决这个问题的…

Vim 文本编辑工具

Vim 基础命令 一、Vim 命令速查 Vim 是一款功能强大的文本编辑器,广泛应用于Linux系统中。以下是一些基础但非常有用的Vim命令,它们将帮助你更高效地使用Vim。 使用单个字母键通常需要进一步的输入以形成完整命令。特殊符号用来表示操作的位置。 命令…

Linux网络:传输层TCP协议(四)拥塞控制及延迟应答

目录 一、拥塞控制 二、延迟应答 一、拥塞控制 虽然 TCP 拥有滑动窗口这个大杀器机制来根据具体情况对发送的数据大小和速度进行实时控制, 能够高效并且可靠的发送大量的数据. 但是如果在双方建立好连接后的刚开始阶段就发送大量的数据。仍然可能引发一些问题. 因为同一个网…

【2024蓝桥杯/C++/A组/团建】

题目 代码 #include<bits/stdc.h> using namespace std;const int N 2e510;int a[N], b[N]; int ans; vector<int> Ga[N], Gb[N];void dfs(int ap, int af, int bp, int bf, int dep) {ans max(ans, dep);map<int, int> bk;for(auto ason : Ga[ap])if(aso…

免费【2024】springboot 程序设计基础视频学习系统的设计与实现

博主介绍&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…