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 结合起来,同时提升高层语义和细节信息的理解能力。