Eyes Wide Shut Exploring the Visual Shortcomings of Multimodal LLMs

Eyes Wide Shut? Exploring the Visual Shortcomings of Multimodal LLMs

近两年多模态大模型(Multimodal LLM,MLLM)取得了巨大的进展,能够基于图片与人类对话,展现出强大的识别甚至推理能力。然而,在某些简单的图像理解问题上,MLLM 反而会出一些低级错误。这种错误究竟是来自于 “眼睛” 视觉编码器的问题,还是 “大脑” 语言大模型的问题呢?

目前,MLLM 的视觉编码器大都是使用预训练的 CLIP 的图像编码器。但这种图文对比学习预训练编码器真的能为 LLM 提供真实、完整的视觉信息吗?其他预训练的编码器(如 DINOv2)等对图片的编码与 CLIP 彼此之间有何区别和优劣呢?这种区别会对 MLLM 的能力产生多大影响呢?本文针对这一系列问题展开研究。

CLIP image embedding 的缺陷

本文首先要探究的是,作为主流的 MLLM 视觉编码器,CLIP 对哪些图像信息的编码容易出现问题。即,有哪些是人类一眼就能看出,但是 CLIP 的图像 embedding 却无法准确表达的视觉特征。作者的研究思路是:首先挖掘出 CLIP 编码出错的样本,然后对这些样本进行分析和归纳,找出 CLIP 视觉编码器容易出现问题的视觉模式(visual pattern)。

如何从茫茫多图像的数据集中找出 CLIP 出错的样本呢?**如果两张图像,看起来明显不一样,但是却被 vision encoder 计算出了很高的相似度,那么这两张图像中至少有一张很有可能是存在错误的特征表达。**基于此,作者使用纯视觉预训练的 vision encoder(如 DINOv2,其能捕捉更丰富的细节视觉信息)作为参考模型,对 CLIP vision encoder 的图像表征进行评估,来挖掘 CLIP 无法准确编码的样本对,作者称这些样本对为 CLIP-blind pairs。

具体来说,在大规模图像数据集(ImageNet + Laion-Aes)中分别使用 CLIP-ViT-L14 和 DINOv2-ViT-L14 计算出所有图像的 embedding,然后找到 CLIP embedding 余弦相似度超过 0.95,而 DINOv2 embedding 余弦相似度低于 0.6 的样本对,这就是本文收集的 CLIP-blind pairs。在这些样本对中,DINOv2 认为他们相似度很低,说明实际上他们细节视觉特征差异很大,但是 CLIP 确认为他们相似度很高,几乎一模一样。也就是说,在 CLIP 编码的 embedding 中,忽略了这些图像的某些重要细节视觉信息。这个过程如下图左侧所示。

在这里插入图片描述

通过上述方法,作者共收集了 150 个 CLIP-blind pairs,然后,由人工识别出样本对中明显的细节视觉信息(如图中小狗头的位置),并根据这些视觉信息设计问题。共设计了 300 个问题,基于此构建了一个 VQA 数据集,称为 MMVP(Multimodal Visual Pattern)。在 MMVP 中,问题简单直接,人类来看一眼就能回答正确,而基于 CLIP 视觉特征的 MLLM 则很可能出现问题。

作者对目前 SOTA 的开源(LLaVA 1.5、InstructBLIP、Mini-GPT4) 和闭源(GPT-4V、Gemini、Bard)MLLM 进行了测试,同时也让人类回答问题进行测试。在测试中,每个问题针对一个图像对,只有 MLLM 基于两张图像的回答都是正确的,才算作这个图像对正确。

评估结果如下图所示。首先可以看到,人类的平均准确率高达 95.7%,这说明这个 benchmark 确实足够简单,不涉及复杂的视觉信息和推理。然而,可以看到除了闭源的 Gemini 和 GPT-4V,其他模型准确率还不如瞎猜(25%),即使是强大的闭源模型,准确率也仅有 40% 左右,与人类水平差距很大。要注意,这些问题其实是非常简单的。并且这个结论与模型大小和训练数据无关,MLLM 在细节视觉信息上的理解都不够好。

在这里插入图片描述

找出 CLIP-blind pairs 之后,我们想要系统地归纳一下 CLIP 在哪些视觉模式上总是出错。直接用 CLIP-blind pairs 本身来进行归纳太过抽象,作者转而从 MMVP 的问题和选项的角度来进行归纳。具体来说,作者将 MMVP 中的问题和选项输入给 GPT4,然后让 GPT 归纳出这些视觉模式。prompt 和归纳结果如下如所示。共归纳出 9 种视觉模式。

在这里插入图片描述

我们可以从看到,CLIP 比较聚焦于图像高层语义的理解,而容易忽略复杂的细节信息。这种 CLIP 固有的缺陷很好理解,从训练信号的角度来看,CLIP 的训练信号来自于自然语言,是语义级别的监督。并且数据主要收集于互联网上的图片 caption,其文本通常不够详尽和丰富,质量没那么高。举例来说,一张藏獒的图片和一张柯基的图片,可能在互联网上的 caption 都是 “a dog”,从而 CLIP 的文本监督信号就认为这两张图是一样的,然而我们知道,藏獒和柯基的样貌人眼看起来是天差地别。也就是说,CLIP 这种来自自然语言的训练信号监督粒度太粗,从而导致了 CLIP 对细节视觉信息的识别能力很差。

更新更强的 CLIP 模型表现如何?

当然了,在 OpenAI 最初的 CLIP 提出之后,也已经有了很多改进工作(如 DFN、SigLIP、MetaCLIP、EVA-CLIP 等),在模型结构及规模、数据收集、训练方法等方面进行了优化。那么,这些改进的 CLIP 能否在上述视觉模式方面有提升呢?作者从 MMVP-Benchmark 中选出了一个问题子集,对文本描述进行了简化(使之适合于直接用 CLIP 模型计算图文相关性),每个视觉模式都有 15 个图文对。然后测试这些 CLIP 模型能否正确地对图文对进行匹配。

在这里插入图片描述

测试结果如下表所示。可以看到,增加模型尺寸和训练数据只能为 “color and appearence” 和 “state and condition” 两种视觉模式的识别带来提升。对于其他视觉模式,仍旧是非常困难。

在这里插入图片描述

CLIP 的缺陷对 MLLM 的影响

在分析完 CLIP 表现较差的这些视觉模式之后,我们想知道:MLLM 与 CLIP 在这些视觉模式上表现不佳,二者有相关性吗?为探究这一问题,作者绘制了 MLLM 和 CLIP 在不同视觉模式上的表现。从下图结果中可以看到,如果 CLIP 在某个视觉模式上表现较差,MLLM 也会有较差的表现。尤其是开源的 LLaVA 1.5 和 InstructBLIP,看起来有非常强的相关性。计算这两种开源 MLLM 性能表现与 CLIP 性能表现的皮尔逊相关性系数,其值超过 0.7。

在这里插入图片描述

如何改进 CLIP 缺陷给 MLLM 带来的影响:MoF

上文的研究已经说明了 CLIP 作为视觉编码器在细节图像信息方面理解的缺陷给 MLLM 的性能带来了极大的影响,那么,我们怎么才能优化这一点呢?怎么才能为 MLLM 构建一个更强的视觉编码器呢?本文对这个问题做出了研究。基本思路是将 CLIP 的图像特征与纯图像 SSL 预训练(如 DINOv2)的图像特征结合起来。具体来说,本文提出了 MoF(Mixture of Features)来增强 MLLM 视觉编码器的表征能力。

本文中的 MoF 分为两种:Additive MoF 和 Interleaved MoF。

  • A-MoF 是将 CLIP 和 DINOv2 的 embedding 按照一定权重直接加起来,在调节权重的对比实验中,作者发现这两种特征各有优劣,权重需要权衡设置。如果 CLIP embedding 比重较高,则模型的指令跟随(prompt following)能力更强,而视觉定位(visual grounding)能力比较弱;而如果 DINOv2 embedding 的比重较高,则是反过来,视觉定位能力强而指令跟随能力弱。
  • 而 I-MoF 则是将 CLIP 和 DINOv2 的 embedding 交错拼接起来,从而同时保留了两种特征的优势,在指令跟随和视觉定位两方面都表现更好。

在这里插入图片描述

总结

CLIP 使用自然语言作为图像预训练的监督信号,使用对比学习和大量图文对训练出了图文联合特征空间,无疑是一个里程碑式的工作。然而,CLIP 的训练信号来自于自然语言,是语义级别的监督,再加上网络图文对数据的文本描述不够详尽精确,导致 CLIP 对于细节视觉信息的把握比较差。更遗憾的是,这种源自于训练目标的固有的缺陷,是无法通过 scaling 模型和数据来解决的。

本文通过找出 CLIP-blind pairs,探究了 CLIP 模型的缺陷,分析了现有主流 MLLM 将 CLIP 作为图像编码器带来的影响。并提出以 MoF 的方式结合纯视觉预训练的 SSL 视觉编码器来补充 CLIP 对于图像细节视觉信息理解的缺失。

其实目前视觉自监督预训练的训练目标在大规模上证明可行的就那几种:纯视觉对比学习、图文对比学习、掩码建模,作为语言模型的视觉编码器,首先考虑 CLIP 不无道理。但是随着人们对 MLLM 要求越来越高,期望它对图像能有精确完整的识别和理解,CLIP 细节信息理解差的问题就暴露出来了,后面进一步优化的思路,估计还是要像本文一样,将 CLIP 和纯视觉预训练的 vision encoder 结合起来,同时提升高层语义和细节信息的理解能力。

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

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

相关文章

游戏AI的创造思路-技术基础-蒙特卡洛树搜索(2)

接上一篇,让我们来看更多的例子 目录 7. 更多例子 7.1. 国际象棋实例 7.2. RTS类游戏实例 7.3. FPS类游戏实例 7. 更多例子 蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)在游戏AI中有着广泛的应用,尤其是在那些…

孟德尔随机化--代谢生活方式与消化道癌

写在前面 今天阅读的文献是多种暴露与某结局的孟德尔随机化,算是以量取胜了。 The effect of metabolism-related lifestyle and clinical risk factors on digestive system cancers in East Asian populations: a two-sample Mendelian randomization analysis …

使用tkinter拖入excel文件并显示

使用tkinter拖入excel文件并显示 效果代码 效果 代码 import tkinter as tk from tkinter import ttk from tkinterdnd2 import TkinterDnD, DND_FILES import pandas as pdclass ExcelViewerApp(TkinterDnD.Tk):def __init__(self):super().__init__()self.title("Excel…

谷歌摸鱼神器来了:推出AI会议替身,一键总结提问发言_会议预约 ai对话

饱受会议折磨的打工人,终于可以解放了! 就在刚刚举办的Google Cloud Next’23大会上,谷歌宣布了一系列科技新进展,最瞩目的要属其中的“开会AI替身”了。 只需要一句“帮我参加”,AI就能替你开会,并在合适…

设计模式探索:装饰器模式

1. 装饰器模式定义 装饰器模式(Decorator Pattern) 装饰器模式是一种结构型设计模式,允许向一个对象动态添加行为。在不改变类的接口的情况下,装饰器模式在原始类上增加额外的职责,并且支持多个装饰器嵌套使用。 装…

车载聚合路由器应用场景分析

乾元通QYT-X1z车载式1U多卡聚合路由器,支持最多8路聚合,无论是应急救援,还是车载交通,任何宽带服务商无法覆盖的区域,聚合路由器可提供现场需要的稳定、流畅、安全的视频传输网络,聚合路由器可无缝接入应急…

安装nodejs | npm报错

nodejs安装步骤: 官网:https://nodejs.org/en/ 在官网下载nodejs: 双击下载下来的msi安装包,一直点next,我选的安装目录是默认的: 测试是否安装成功: 输入cmd打开命令提示符,输入node -v可以看到版本,说…

idea创建dynamic web project

由于网课老师用的是eclipse,所以又得自己找教程了…… 解决方案: https://blog.csdn.net/Awt_FuDongLai/article/details/115523552

有没有适合全体质猫咪的主食冻干?全价冻干:希喂大橙罐实测分享

作为一个注重猫咪身体健康和幸福感的铲屎官,怎么会不喂主食冻干。毕竟,除了猫咪爱吃外,高含肉量、高营养的主食冻干也能给猫咪的健康带来一系列的好处。 最近,我给我家猫猫们入手了一款性价比超高的主食冻干:希喂CPMR2…

mybatis中的标签

在MyBatis中&#xff0c;除了基本的SQL映射功能外&#xff0c;还有许多用于动态SQL构建的标签。这些标签允许我们根据不同的条件和需求构建复杂的SQL语句。主要的动态SQL标签包括<if>, <choose>, <when>, <otherwise>, <trim>, <set>, <…

deepstream段错误

&#x1f610; 错误&#xff1a; 探针中由于使用了pyds.get_nvds_buf_surface(hash(gst_buffer), frame_meta.batch_id)导致的段错误&#xff08;segmentation fault&#xff09;。 解决方式&#xff1a;

彩带插画:成都亚恒丰创教育科技有限公司

彩带插画&#xff1a;色彩斑斓的艺术世界 在浩瀚的艺术海洋中&#xff0c;彩带插画以其独特的魅力&#xff0c;如同一条绚烂的彩绸&#xff0c;轻轻拂过人们的心田&#xff0c;留下一抹抹难以忘怀的色彩。成都亚恒丰创教育科技有限公司它不仅仅是一种视觉上的享受&#xff0c;…

二叉树超详细解析

二叉树 目录 二叉树一级目录二级目录三级目录 1.树的介绍1.1树的定义1.2树的基本术语1.3相关性质 2.二叉树介绍2.1定义2.2 性质 3.二叉树的种类3.1 满二叉树3.2完全二叉树3.3 二叉查找树特点&#xff1a;二叉查找树的节点包含的基本信息&#xff1a; 3.4 平衡二叉树 4.二叉树的…

python破解密码·筛查和选择

破解密码时可能遇到的几种情况 ① 已知密码字符&#xff0c;破排序 ② 已知密码位数&#xff0c;破字符 ③ 已知密码类型&#xff0c;破字位 ④ 已知部分密码&#xff0c;破未知 ⑤ 啥都不知道&#xff0c;盲破&#xff0c;玩完 ⑥ 已知位数、字符、类型、部分密码中的几个&am…

单链表(C语言详细版)

1. 链表的概念及结构 概念&#xff1a;链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 链表的结构跟火车车厢相似&#xff0c;淡季时车次的车厢会相应减少&#xff0c;旺季时车次的车厢会额外增加几节。…

资料分析笔记整理

提升技巧多做题、少动笔、多分析 资料分析认识 国考一般20题(24~28分钟) 统计材料的类型包括单纯的文字、表格、图形以及由这些元素组成的复合类型材料 文字性材料:(30~60秒) 多段落型文字材料(时间、关键词、结构) 孤立段落文字材料(时间、关键词、标点[。;]) 表…

VMware vSAN替换存储解决方案如何选择?

What is vSAN &#xff1f; 是一款软件定义的企业存储解决方案&#xff0c;支持超融合基础架构系统。vSAN与VMware vSphere 完全集成在一起&#xff0c;作为ESXi Hypervisor内的分布式软件层&#xff0c;通过整合、池化ESXi各个主机上的存储资源&#xff0c;为vSphere虚拟化平…

施罗德数列SQL实现

在组合数学中,施罗德数用来描述从(0,0)到(n,n)的格路中,只能使用(1,0)、(0,1)、(1,1)三种移动方式,始终位于对角线下方且不越过对角线的路径数 DECLARE n INT 10 DECLARE i INT DECLARE rst INT DECLARE old INT1CREATE TABLE #rst (i INT ,rst int )INSERT INTO #rst values(…

数据结构双向循环链表

主程序 #include "fun.h" int main(int argc, const char *argv[]) { double_p Hcreate_head(); insert_head(H,10); insert_head(H,20); insert_head(H,30); insert_head(H,40); insert_tail(H,50); show_link(H); del_tail(H); …

UE5.3-基础蓝图类整理一

常用蓝图类整理&#xff1a; 1、获取当前关卡名&#xff1a;Get Current LevelName 2、通过关卡名打开关卡&#xff1a;Open Level(by name) 3、碰撞检测事件&#xff1a;Event ActorBeginOverlap 4、获取当前player&#xff1a;Get Player Pawn 5、判断是否相等&#xff1…