前言
本文对视觉语言模型(VLM)进行了介绍,阐释了 VLM 的定义、训练方法,以及如何依据不同的研究目标对其进行有效评估。随着大型语言模型(LLM)近期备受瞩目,学界已出现多种尝试将其扩展至视觉领域。从能够引导人们穿越陌生环境的视觉助手,到仅凭高级文本描述即可生成图像的生成式模型,视觉语言模型(VLM)的应用将深远地影响人类与技术的交互方式。
1、介绍(Introduction)
近年来,语言建模领域取得了令人瞩目的进展。许多大型语言模型(LLM)如今已能解决种类繁多的任务,其应用正日益普及。这些原本主要局限于文本输入的模型,现已扩展至具备视觉输入能力。将视觉与语言相连将解锁众多应用,而这些应用正是当前基于人工智能的技术革命之关键。尽管已有若干工作将大型语言模型扩展至视觉领域,但语言与视觉的连接问题尚未得到彻底解决。
本文对视觉语言模型(VLM)进行了介绍,阐释了 VLM 的定义、训练方法,以及如何依据不同的研究目标对其进行有效评估。需要说明的是,本文不应被视为关于 VLM 的综述或详尽指南,因此并未旨在引用该研究领域的所有文献,亦未囊括该领域内的所有最佳实践。相反,本文旨在为 VLM 研究提供一个清晰易懂的入门介绍,并着重指出该领域研究的有效实践方法。
2、视觉语言模型家族(The Families of VLMs)
鉴于深度学习在计算机视觉和自然语言处理领域所取得的显著进展,学界已采取多项举措来连接这两个领域。本文重点关注基于 Transformer 的最新技术,并将其归类为四种不同的训练范式。
图 1:VLM 的家族。 对比训练是一种常用的策略,它利用正例和反例对,VLM 被训练为预测正例对的相似表示,同时预测反例对的不同表示。掩码是另一种可用于训练 VLM 的策略,它通过给定未被掩码的文本标题来重建缺失的图像块。生成式 VLM 的训练方式使其能够生成完整的图像或非常长的标题,鉴于这些模型的特性,它们的训练成本通常最高。
2.1 基于 Transformer 的早期 VLM 工作
通过使用 Transformer 架构,来自 Transformer 的双向编码器表示(BERT)在当时显著超越了所有语言建模方法。研究人员已将 BERT 扩展到处理视觉数据。其中两个模型是 VisualBERT 和 ViLBERT,它们将文本与图像 token 结合起来。
2.2 基于对比学习的 VLM
对比训练方法确实通过基于能量的模型的视角来更好地解释。InfoNCE 损失并未预测一个二元值,而是利用在模型表示空间中计算的距离度量。对于诸如 SimCLR 等自监督学习方法,正样本对被定义为一个图像及其对应的手工数据增强版本。
2.2.1 CLIP
使用 InfoNCE 损失的常见对比方法是对比语言 - 图像预训练(CLIP)。原始 CLIP 模型在从网络收集的 4 亿个标题 - 图像对上进行训练,展示了卓越的零样本分类迁移能力。
SigLIP 与 CLIP 相似,不同之处在于它使用基于二元交叉熵的原始 NCE 损失,而非使用基于 InfoNCE 的 CLIP 多类别目标函数。
2.3 掩码目标视觉语言模型
掩码是深度学习研究中常用的一种技术。它可以被视为去噪自编码器的一种特定形式。最近,BERT 在训练期间使用了掩码语言建模来预测句子中缺失的 token。
2.3.1 FLAVA
基于掩码方法的一个首要例子是基础语言和视觉对齐模型(FLAVA)。它的架构包括三个核心组件,每个组件均基于 Transformer 框架并针对特定的模态进行定制。
2.3.2 MaskVLM
Kwon 等人引入了 MaskVLM,它直接在像素空间和文本 token 空间应用掩码。
2.3.3 VLM 目标的信息论观点
Federici 等人首先表明,VLM 可以被理解为通过减少多余信息和最大化预测信息来解决一个率失真问题。
2.4 基于生成的视觉语言模型
与之前主要在潜在表示上操作以构建图像或文本抽象,然后进行相互映射的训练范式不同,生成式范式考虑的是文本和/或图像的生成。
2.4.1 学习一个文本生成器的例子:CoCa
除了对比损失之外,对比标题生成器(CoCa)还采用了生成式损失,该损失对应于由一个多模态文本解码器生成的标题。
2.4.2 多模态生成模型实例:Chameleon 和 CM3leon
CM3Leon 是一个用于文本到图像和图像到文本生成的基础模型。Chameleon 是一个新的混合模态基础模型系列,它能够生成和推理交错的文本和图像内容混合序列。
2.4.3 利用生成式文本到图像模型解决下游视觉 - 语言任务
近期,语言条件图像生成模型取得了重大进展,包括 Stable Diffusion 和 Imagen 等扩散模型。尽管研究重点一直集中在它们的生成能力上,但实际上,无需任何重新训练,它们也可以直接用于分类或标题预测等判别性任务。
2.5 基于预训练主干网络的视觉语言模型
训练 VLM 的一个缺点是成本高昂。因此,许多研究工作并没有从零开始训练模型,而是尝试利用现有的大型语言模型和/或现有的视觉提取器。
2.5.1 冻结权重
Frozen 是利用预训练 LLM 的首个模型示例。该工作提出通过一个轻量级映射网络,将视觉编码器连接到冻结的语言模型。
2.5.2 示例:MiniGPT
MiniGPT-4 接受文本和图像输入,并产生文本输出。MiniGPT-5 扩展了 MiniGPT-4,使得输出可以包含与图像交错的文本。
2.5.3 基于预训练主干网络的其他主流模型
Qwen 和 BLIP-2 也是基于预训练 LLM 的模型。BLIP-2 利用预训练的冻结模型来大大缩短训练时间。
3、视觉语言模型训练指导
多项研究揭示了扩展规模对于提升深度神经网络性能的重要性。在本论文中,我们首先讨论数据在模型训练中的重要性,并介绍一些用于构建 VLM 训练数据集的方法。
图 2:训练 VLM 时需要牢记的重要因素。 数据是训练 VLM 最重要的组成部分之一。拥有一个多样且平衡的数据集对于学习能够覆盖足够概念的优秀世界模型至关重要。
3.1 训练数据
为评估预训练数据集的质量,DataComp 提出了一个基准。用于 VLM 的数据裁剪方法可分为三类:利用启发式规则剔除低质量图文对;使用预训练 VLM 对图文对的多模态对齐程度进行排序;旨在构建多样且平衡数据集的方法。
3.1.1 用合成数据改善训练数据
一系列研究致力于通过过滤与合成数据生成来提升 VLM 训练数据中标题的质量。
3.1.2 使用数据增强技术
SLIP 通过在视觉编码器上加入一个辅助自监督损失项来回答这一问题。CLIP-rocket 提出将 SSL 损失转换为跨模态形式。
3.1.3 交织式数据筛选
像 Flamingo 和 MM1 这样的自回归语言模型表明,在训练过程中包含交织的文本和图像数据能够提升模型的少样本性能。
3.1.4 多模态数据质量评估
在 VLM 研究中,一个非常活跃的方向是识别用于训练模型的底层数据质量。
3.1.5 利用人类专业知识:数据标注的力量
近年来,利用人类数据标注在推进视觉 - 语言建模领域的重要性日益凸显。
3.2 软件
在本节中,我们讨论一些现有的软件工具,这些工具可用于评估和训练 VLM。
3.2.1 使用现有的公共软件库
目前存在一些软件库,例如 OpenCLIP 或 transformers,它们实现了大多数 VLM。
3.2.2 我需要多少 GPU?
关于所需计算资源的问题非常重要。CLIP 和 OpenCLIP 在训练模型时使用了超过 500 张 GPU。
3.2.3 加速训练
最近出现了一些软件开发进展,例如 PyTorch 团队引入的 torch.compile,能够显著加快模型训练速度。
3.2.4 其他超参数的重要性
McKinzie 等研究了训练 VLM 的关键设计选择,结果表明图像分辨率、视觉编码器容量以及视觉预训练数据是对模型性能影响最大的因素。
3.3 使用哪种模型?
正如本引言前部分所强调的,训练 VLM 存在多种方法。那么,在所有这些方法中,应该选择哪一种?
3.3.1 何时使用类似 CLIP 的对比模型?
类似 CLIP 的对比模型通过在表示空间中使文本与图像表示匹配,将文本与视觉概念关联起来。
3.3.2 何时使用掩码?
掩码是一种训练 VLM 的替代策略。通过学习从被掩码的图像和文本中重建数据,可以联合建模它们的分布。
3.3.3 何时使用生成模型?
基于扩散或自回归准则的生成模型在根据文本提示生成逼真图像方面展示了令人印象深刻的能力。
3.3.4 何时在预训练骨干上使用大型语言模型?
在计算资源有限的情况下,使用已预训练的文本或视觉编码器是一种不错的替代方案。
3.4 提升定位能力
定位能力是 VLM 和生成模型领域中的一个重要挑战。其主要目标是解决模型对文本提示理解不充分的问题。
3.4.1 使用边界框标注
像 X-VLM 这样的模型利用边界框标注,并结合框回归和交并比损失来准确定位并对齐视觉概念与其对应的文本描述。
3.4.2 负样本标注
在对比目标中,负样本已被广泛用于防止模型坍塌、增强泛化能力以及判别特征学习。
3.5 提升对齐能力
受语言领域指令调优成功的启发,视觉 - 语言模型也开始在模型中引入指令微调和来自人类反馈的强化学习。
3.5.1 LLaVA 案例
LLaVA 是最早在视觉 - 语言模型中引入指令微调以提升多模态聊天能力的模型之一。
3.5.2 多模态上下文学习
Otter 表明多模态上下文学习是可行的:提供少量示例作为上下文,模型即可在测试示例中成功遵循指令。
3.6 提升富文本图像理解
理解文本是日常视觉感知中的关键环节。多模态大型语言模型的成功为 VLM 在零样本任务中的广泛应用铺平了道路。
3.7 参数高效微调
训练 VLM 在跨领域视觉和语言任务中表现出极大的有效性。然而,随着预训练模型规模的不断增大,对整个模型参数进行微调在计算上变得不切实际。
4、负责任的 VLM 评估方法
由于 VLM 的主要能力是将文本与图像进行映射,因此测量视觉 - 语言能力至关重要。
图 3:评估 VLM 的不同方法。 视觉问答(VQA)一直是最常用的方法之一,不过模型答案与真实答案是通过精确字符串匹配进行比较。
4.1 视觉 - 语言能力基准评估
评估 VLM 的一种方法是利用视觉 - 语言基准测试。这些基准旨在评估 VLM 是否能够将特定的词语或短语与对应的视觉线索关联起来。
4.1.1 图像描述
由 Chen 等人提出,COCO 描述数据集及挑战用于评估给定 VLM 生成的描述质量。
4.1.2 文本到图像一致性
除了评估模型为给定图像生成描述的能力外,还可以评估其根据描述生成图像的能力。
4.1.3 视觉问答
视觉问答(VQA)是针对图像回答自然语言问题的任务。由于其简单性和通用性,VQA 是评估 VLM 的主要任务之一。
4.1.4 以文本为中心的视觉问答
以文本为基础的 VQA 是一项任务,涉及对图像中的文本内容相关的自然语言问题提供回答。
4.1.5 零样本图像分类
零样本分类是指在模型未经过专门训练的分类任务上评估模型性能。
4.1.6 视觉 - 语言组合推理
最近的一些基准测试引入了人为创建的、带有歧义的图像描述,用于挑战模型。
4.1.7 密集标题与裁剪 - 标题匹配
当前一代视觉语言模型通常由于文本分词器的限制,仅能处理简短的文本描述作为输入。
4.1.8 基于合成数据的视觉语言评估
使用真实数据时遇到的一个挑战是,很难找到一张能够与负面标题关联的图像。
4.2 视觉语言模型中的偏差与差异基准评估
近年来,机器学习系统中的偏差问题受到了广泛关注。
4.2.1 通过分类基准评估偏差
评估分类模型偏差的最常用方法之一是通过分类结果。
4.2.2 通过嵌入评估偏差
另一种评估偏差的方法侧重于 VLM 的嵌入空间。
4.2.3 语言偏差可能影响你的基准!
随着 VLM 领域的发展,解决多模态基准数据集策划中经常被忽视但至关重要的挑战变得尤为重要。
4.2.4 评估训练数据中特定概念如何影响下游性能
最近,Udandarao 等表明,训练数据中频繁出现的概念能够在下游任务中取得良好的表现。
4.3 幻觉评估
幻觉是大型语言模型中的一个主要问题。它们常常以极高的置信度输出看似真实但实际上错误的信息。
4.4 记忆能力评估
训练数据的潜在记忆问题已在单模态模型中得到广泛研究。
4.5 红队测试
在基础模型的语境下指的是尝试利用模型的公共接口,使其生成一些不良输出。
5、将 VLM 扩展到视频
到目前为止,本论文关注的是在静态视觉数据(即图像)上训练和评估的 VLMs。然而,视频数据带来了新的挑战。
5.1 基于 BERT 的早期视频工作
VideoBERT 是首个成功的通用视频 - 语言建模方法。
5.2 使用早期融合的 VLM 实现文本生成
VideoOFA 是一个用于视频到文本生成的早期融合 VLM。
5.3 使用预训练 VLM
图像 - 语言模型逐步趋向于利用现有大语言模型的能力来理解文本。
5.4 评估中的机遇
虽然视频基准测试在很多方面类似于图像基准测试,但视频也为其他类型的评估提供了可能。
5.5 利用视频数据的挑战
视频 - 文本预训练面临的一个挑战是当前时间维度上的(弱)监督稀缺。
6、结论
将视觉映射到语言仍然是一个活跃的研究领域。从对比学习方法到生成方法,有多种方式可以训练视觉语言模型(VLM)。无论训练 VLM 的技术手段如何,仍有一些通用考虑需要注意。大规模高质量的图像和字幕是提升模型性能的重要因素。为了评估性能,本论文介绍了若干基准,用于衡量视觉 - 语言能力和推理能力。将图像与文本绑定并非 VLM 的唯一目标,视频也是一个重要模态。VLM 的研究仍然非常活跃,因为仍有许多缺失的组成部分需要解决,以使这些模型更加可靠。


