写在前面

这篇文章有杨立昆 (CNN之父) 和谢赛宁 (ResNeXt, ConvNeXt, diffusion transformer 作者).

作者童晟邦, NYU 在读, 这篇 2024 CVPR Oral 文章 follow 的他自己在 2023 NIPS 上的工作 Mass-Producing Failures of Multimodal Systems with Language Models, 这篇 NIPS 的工作做的是识别系统故障, 并用自然语言表述, 作者在这篇工作里已经发现了Vision Encoder 的不足.

Summary

多模态大模型的视觉组件主要依赖于 CLIP, 本篇论文探索了 CLIP 和 SSL (Vision-Only Self Supervised Learning) 在 Visual Embedding 上的差距.

在此基础上, 论文识别了 “CLIP-blind pairs”, 即视觉差异明显, 但是 CLIP 编码相似的图像. 在这些 blind pairs 的基础上, 论文进一步提出了 MMVP (Multimodal VIsual Patterns) Benchmark, 这一 Benchmark 表明, 当前多模态大模型在九种基本的视觉模式中经常产生幻觉.

作者通过实验进一步验证了, CLIP 模型与多模态大模型存在的问题具有很大的相关性. 进而, 作者提出了特征混合方法 (MoF, Mixture of Features). 作者证明了 SSL 与 MLLM 的集成可以增强视觉基础能力.

Introduction

作者尝试找到多模态大模型的视觉缺陷的根本问题, 作者认为这些缺点来自视觉表示

In this work, we suggest that these shortcomings observed in MLLMs might stem from a problem related to the visual representations.

多模态大模型结构建立在预训练好的视觉模型和语言模型上, 并使用 Adapter 连接不同模态, 显然预训练视觉模型中的问题也会级联到下游 MLLM 中.

当前大多数开源 MLLM 采用 CLIP 作为 Vision Encoder, 不过 CLIP 对某些 instance 无法正确编码, 也即视觉上有明显差距但是在 Embedding 上却十分相似. 作者称两张这样的图片为 “CLIP-blind-pairs”.

为了进一步测量图像间的视觉相似性, 作者使用 SSL 方法 (具体是 DINOv2) 对图像重新编码, 因此上面的 CLIP 盲对应该具有相似的 CLIP Embedding 和不相似的 DINOv2 Embedding. 作者认为这些盲对会导致下游 MLLM 出错.

通过上面的盲对, 作者引入了 MMVP Benchmark, 用以评估不同模型对 CLIP 盲对的差异. 这里的 MMVP Benchmark 别出 MLLM 中的盲对后, 作者进一步将 MMVP 中的盲对分为了九种常见的视觉模式, 其中大部分模式通过 scale up 和加数据的方法是无法进一步判别的. 这说明 CLIP 作为 Vision Encoder 存在不可避免的问题.

为了改善 MLLM 的视觉基础, 作者探索了 MLLM 与 SSL 模型结合的方法, 提出了 Mixture of Features (MoF), 改进后提出了 Additive-MoF (A-MoF) 和 Interleaved MoF (I-MoF)

MMVP Benchmark

作者展示了 Intro 中提到的, 盲对在 CLIP Embedding 和 DINOv2 Embedding 上的相似性, 结果表示盲对在 CLIP 上很相似, 但是在 DINO 上没有很相似.

作者沿着他 2023 NIPS 的工作, 想要自动查找盲对. 作者分别使用 MLLM (就是 CLIP 啦) 和 SSL (就是 DINOv2 啦) 对两张图的 Embedding 计算相似度. 当 Sim(CLIP)>0.95,Sim(DINOv2<0.6)Sim(\mathrm{CLIP})>0.95, Sim(\mathrm{DINOv2}<0.6) 时, 认为这两张图是盲对.

作者进一步构建 MMVP Benchmark, 其中包括 150 对盲对, 300 个简单明了的问题. 对于每一对 CLIP 盲对, 作者手动分析了这些视觉细节的问题. 如果该对图像的两个问题都得到了准确的回答, 就认为这对图像得到了正确的回答. 这里作者还做了消融实验, 交换选项, 更改选项符号, 证明了盲对难以给出正确答案的问题来自 vision 而不是 text.

找到 CLIP 盲对后, 作者试图构建出 Vision Encoder 的系统错误. 由于这太难了, 作者直接看的 MMVP Benchmark 中的数据, 进而提出了九种容易出错的视觉模式, 这些模式都说明 CLIP 过度关注高级语义信息, 忽视了图像中的细节.

为了更好的评估更大模型对盲对的差异, 作者进一步提出了 MMVP-VLM. 这个测试集将 MMVP Benchmark 的问题提炼成更简单的语言描述, 每个视觉模式的问题数量平衡, 确保每个视觉模式由 15 个 text-image 对表示, 如果模型能准确匹配 text-image 对, 则视为正确回答.

此外, 作者在其他 CLIP 模型上也做了实验, 模型作 scale up 和加数据都仅有利于识别 “颜色外观”, “状态条件” 两种视觉模式. 作者还可视化了 CLIP 和 MLLM 在不同视觉模式上回答准确率的关系, 计算皮尔逊系数, 证明了 CLIP 会影响 MLLM.

Mixtures-of-Features (MoF)

前面一节证明了: 开源 MLLM 的视觉缺陷来自 Vision Encoder. 于是作者的 Motivation 是构建一个更强大的 Vision Encoder. 既然 SSL 的能提取图像细节, 那能不能混合一下呢? 于是作者提出了他的方法.

实验设置: LLaVA 为框架, 使用 DINOv2 (因为 DINOv2 是当前最容易 scale up 的 SSL 模型)

作者先后提出了 Additive-MoF. 将图像并行过 CLIP Encoder 和 DINO Encoder 后, 将 Embedding 加权求和, 输入进 Adapter, 这种方法增强了视觉上的感知能力, 但是 MLLM 的 Instruction-Follow 能力下降了

为了增强视觉感知能力并且不损失 Instruction-Follow 能力, 作者进一步提出了 Interleaved-MoF. 将两种 Encoder 处理后的结果输入进各自的 Adapter, 两个 Adapter 的输出交错形成新的图像信息, 作为 LLM 的输入.

实验

实验设置基本 follow 的 LLaVA.

在 ImageNet-1K 上 Zero Shot 效果一般的模型, 其 Zero Shot 效果随 MMVP 效果的变化基本一致; 但是在 Zero Shot 效果很好的模型中, MMVP 的效果却有明显的不同, 这说明 MMVP 作为评估指标的价值.

是不是说明了在既有结构与训练数据确定的情况下, 多模态大模型已经达到了某种上限?

加大图像分辨率基本没用, 加大模型参数有少量的作用

我的思考

这篇文章有杨立昆和谢赛宁的参与, 作者童晟邦是杨立昆的博士. 文章的思路 follow 作者在 2023 NIPS 的一篇工作, 那篇文章主要做的是识别 Vision Encoder 中的系统故障, 并用自然语言加以描述.

当前多模态大模型主要由预训练好的语言模型和视觉模型组成, 视觉模型的缺陷也会被带入 MLLM. 所以作者尝试分析 CLIP 的缺陷, 发现一些视觉有明显差异的图片对在 CLIP 处理后的 Embedding 上具有明显的相似特征, 作者称这样的图片对为 CLIP 盲对. 如何进一步判别出 CLIP 盲对呢? 作者用自监督的方法同样处理了图片对, 发现处理后的 Embedding 明显不一样. 这里判定 CLIP Embedding 相似而 DINO Embedding 不相似的图片对为 CLIP 盲对.

作者在 CLIP 盲对的基础上构建了 MMVP Benchmark, 用以评估多模态大模型在 CLIP 盲对上的判别效果. 进一步将 MMVP 中的 150 对盲对分为 9 种容易分错的视觉模式, 证明了其中一部分视觉模式在 CLIP 方法上无法通过 scale up 和加数据的方法解决.

作者从而提出了他的解决方法, Mixture-of-Features, 使用 CLIP 和 DINOv2 作为两个 Vision Encoder, 将二者处理后的 Embedding 交错得到输入进 LLM 的Embedding.

实验部分有一个比较有意思的地方, 在 ImageNet-1K 上表现很好的模型, 在 MMVP Benchmark 上效果却各不相同; 在 ImageNet-1K 上表现不好的模型, 在两个数据集上的效果表现趋势相同. 这可能说明了当前多模态大模型在既有结构和训练数据确定的情况下, 多模态大模型可能达到了某种效果的上限?