【文献阅读】Vision-Language Models for Vision Tasks: A Survey

发表于2024年2月

TPAMI

 摘要

大多数视觉识别研究在深度神经网络(DNN)训练中严重依赖标注数据,并且通常为每个单一视觉识别任务训练一个DNN,这导致了一种费力且耗时的视觉识别范式。为应对这两个挑战,视觉语言模型(VLM)最近受到了广泛研究,它从互联网上几乎无限可用的网络规模图像文本对中学习丰富的视觉语言相关性,并能够使用单个VLM对各种视觉识别任务进行零样本预测。本文对用于各种视觉识别任务的视觉语言模型进行了系统综述,包括:(1)介绍视觉识别范式发展的背景;(2)VLM的基础,总结广泛采用的网络架构、预训练目标和下游任务;(3)VLM预训练和评估中广泛使用的数据集;(4)对现有VLM预训练方法、VLM迁移学习方法和VLM知识蒸馏方法进行综述和分类;(5)对所综述方法进行基准测试分析讨论;(6)在未来视觉识别的VLM研究中可能探索的几个研究挑战和潜在研究方向。
关键词
大数据;大模型;深度学习;深度神经网络;知识蒸馏;目标检测;预训练;语义分割;迁移学习;视觉语言模型;视觉识别;图像分类

 一、引言

视觉识别(如图像分类、目标检测和语义分割)是计算机视觉研究中一个长期存在的挑战,也是自动驾驶[1]、遥感[2]、机器人[3]等众多计算机视觉应用的基石。随着深度学习[4,5,6]的出现,视觉识别研究通过利用端到端可训练的深度神经网络(DNN)取得了巨大成功。然而,从传统机器学习[7,8,9]向深度学习的转变带来了两个新的重大挑战,即在深度学习从头开始的经典设置下DNN训练收敛缓慢[4,5,6],以及在DNN训练中费力收集大规模、特定任务和众包标注的数据[10]。

最近,一种新的学习范式“预训练、微调与预测”在广泛的视觉识别任务中显示出了巨大的有效性[11,12,13]。在这种新范式下,首先使用某些现成的大规模训练数据(有标注或无标注)对DNN模型进行预训练,然后使用特定任务的标注训练数据对预训练模型进行微调,如图2(a)和(b)所示。通过在预训练模型中学习到的全面知识,这种学习范式可以加速网络收敛,并为各种下游任务训练出性能良好的模型。

图2。视觉识别中的三种DNN训练范式。与(a)和(b)中的范式相比,(a)和(b)中的范式需要针对每个特定任务使用特定任务标记数据进行微调,(c)中的具有VLM的新学习范式使得能够有效地使用网络数据和零命中预测,而无需针对特定任务进行微调。这张图展示了三种视觉识别训练范式,分别是监督预训练、微调与预测;无监督预训练、微调与预测;视觉语言模型预训练与零样本预测,具体如下: 

(a)监督预训练、微调与预测
1. 监督预训练:使用大规模标注图像对深度神经网络进行预训练,预训练任务为图像分类。
2. 特定任务微调:将预训练的深度神经网络,利用来自下游任务的众包标注图像进行特定任务的微调,下游任务包括图像分类、目标检测、语义分割等。
3. 预测:使用微调后的深度神经网络对来自下游任务的未标注图像进行预测,输出各类别的预测概率,从而确定图像类别。

(b)无监督预训练、微调与预测
1. 无监督预训练:利用大规模未标注图像对深度神经网络进行预训练,通过 pretext tasks(如图像修复、图像重建等)学习特征表示。
2. 特定任务微调:与(a)中类似,将预训练的深度神经网络,用来自下游任务的众包标注图像进行特定任务的微调,下游任务同样包括图像分类、目标检测、语义分割等。
3. 预测:使用微调后的深度神经网络对来自下游任务的未标注图像进行预测,输出各类别的预测概率以确定图像类别。

 (c)视觉语言模型预训练与零样本预测
1. 视觉语言模型预训练:利用互联网上几乎无限可用的网络规模图像 - 文本对,通过图像 - 文本对比学习、掩码跨模态建模等预训练目标,对文本深度神经网络和图像深度神经网络进行联合预训练。
2. 无需微调的零样本预测:对于下游任务(如图像分类、目标检测、语义分割等),在不进行微调的情况下,通过文本提示(如“A photo of a [class]” )生成文本嵌入,与图像深度神经网络提取的图像嵌入进行相似性计算,根据相似性得分确定图像类别。

 这三种范式的主要区别在于预训练数据的标注情况和预训练方式,以及在下游任务预测时是否需要进行微调。(a)基于有标注数据进行监督预训练和微调;(b)基于无标注数据进行无监督预训练,再进行微调;(c)利用图像 - 文本对进行视觉语言模型预训练,可直接进行零样本预测 。

尽管“预训练、微调与预测”范式取得了成功,但它仍然需要使用来自每个下游任务的标注训练数据进行特定任务的微调。受自然语言处理[14,15,16]进展的启发,一种名为“视觉语言模型预训练与零样本预测”的新深度学习范式最近受到了越来越多的关注[10,17,18]。在这种范式中,使用互联网上几乎无限可用的大规模图像文本对来预训练视觉语言模型(VLM),并且预训练的VLM可以直接应用于下游视觉识别任务而无需微调,如图2(c)所示。

VLM预训练通常由某些视觉语言目标[10,18,19]指导,这些目标能够从大规模图像文本对中学习图像文本对应关系[20,21]。例如,CLIP[10]采用图像文本对比目标,并通过在嵌入空间中将配对的图像和文本拉近,将其他的推开进行学习。通过这种方式,预训练的VLM捕获了丰富的视觉语言对应知识,并且可以通过匹配任何给定图像文本嵌入来进行零样本预测。这种新的学习范式能够有效地利用网络数据,并允许在没有特定任务微调的情况下进行零样本预测,它易于实现且性能出色。例如,预训练的CLIP从经典图像分类[22,23,24,25,26]到人类动作光学字符识别[10,27,28,29,30]等36个视觉识别任务中都取得了卓越的零样本性能。

在视觉语言模型预训练和零样本预测取得巨大成功之后,除了各种VLM预训练研究之外,还有两条研究路线受到了广泛探讨。第一条路线探索使用迁移学习的VLM[31,32,33,34]。例如,提示调整[31,32]、视觉适应[33,34]等多种迁移方法都有一个共同目标,即让预训练的VLM有效地适应各种下游任务。第二条路线探索使用知识蒸馏的VLM[35,36,37]。例如,一些研究[35,36,37]探索如何将知识从VLM中蒸馏出来应用于下游任务,旨在在目标检测、语义分割等任务中获得更好的性能。

图1(来自谷歌学术)。自开创性研究CLIP[10]以来,相关出版物数量呈指数级增长。图1展示了视觉识别视觉语言模型(VLM)的出版物数量。  

尽管如图1所示,近期大量论文表明研究界对从VLM中获取大量知识有着浓厚兴趣,但目前缺乏一个全面的综述来帮助梳理现有的基于VLM的视觉识别研究、面临的挑战以及未来的研究方向。我们旨在通过对包括图像分类、目标检测、语义分割等各种视觉识别任务中的VLM研究进行系统综述来填补这一空白。我们从背景、基础、数据集、技术方法、基准测试和未来研究方向等不同角度进行综述。我们相信,这项综述将清晰呈现我们已经取得的成果,以及在这个新兴且极具前景的研究方向上我们可以进一步取得的成果。

总之,这项工作的主要贡献有三个方面。第一,它对用于视觉识别任务(包括图像分类、目标检测和语义分割)的VLM进行了系统综述。据我们所知,这是首次对用于视觉识别的VLM进行的综述,它通过对现有研究的全面总结和分类,勾勒出了这个有前景研究领域的全貌。第二,它研究了用于视觉识别的VLM的最新进展,包括对现有工作在多个公共数据集上的全面基准测试和讨论。第三,它分享了在视觉识别的VLM研究中可能面临的几个研究挑战和潜在研究方向。

本文的其余部分组织如下。第二节介绍视觉识别范式的发展以及一些相关综述。第三节描述VLM的基础,包括VLM评估中广泛使用的深度网络架构、预训练目标、预训练框架和下游任务。第四节介绍VLM预训练和评估中常用的数据集。第五节回顾和分类VLM预训练方法。第六节和第七节分别对VLM的迁移学习和知识蒸馏方法进行系统综述。第八节在多个广泛采用的数据集上对所综述的方法进行基准测试。最后,我们在第九节分享几个有前景的VLM研究方向。

 二、背景

本节首先介绍视觉识别训练范式的发展,以及它如何演变为视觉语言模型预训练和零样本预测范式。然后,我们介绍用于视觉识别的视觉语言模型(VLM)的发展。我们还讨论了几个相关综述,以突出本综述的范围和贡献。

 (一)视觉识别训练范式

视觉识别范式的发展大致可分为五个阶段,包括:(1)传统机器学习与预测;(2)深度学习从头开始与预测;(3)监督预训练、微调与预测;(4)无监督预训练、微调与预测;(5)视觉语言模型预训练与零样本预测。接下来,我们将详细介绍、比较和分析这五种训练范式。

1. 传统机器学习与预测:在深度学习时代[4]之前,视觉识别研究严重依赖手工制作的特征[9,38]的特征工程,以及将手工特征分类到预定义语义类别的轻量级学习模型[7,8,39]。然而,这种范式需要领域专家为特定的视觉识别任务制作有效的特征,它在处理复杂任务时表现不佳,并且可扩展性也较差。

2. 深度学习从头开始与预测:随着深度学习[4,5,6]的出现,视觉识别研究通过利用端到端可训练的DNN取得了巨大成功。DNN避免了复杂的特征工程,使研究者能够专注于神经网络的架构工程以学习有效的特征。例如,ResNet[6]通过跳跃连接设计实现了非常深的网络,并能够从大量众包标注数据中学习,在具有挑战性的ImageNet基准测试[40]上取得了前所未有的性能。然而,从传统机器学习向深度学习的转变带来了两个新的重大挑战:在深度学习从头开始的经典设置下DNN训练收敛缓慢,以及在DNN训练中费力收集大规模、特定任务和众包标注的数据[10]。

3. 监督预训练、微调与预测:随着发现从大规模标注数据集中学习到的特征可以转移到下游任务[11],“深度学习从头开始与预测”范式逐渐被“监督预训练、微调与预测”的新范式所取代。如图2(a)所示,这种新的学习范式在大规模标注数据(如ImageNet)上使用监督损失对DNN进行预训练,然后使用特定任务的训练数据对预训练的DNN进行微调[11]。由于预训练的DNN已经学习了某些视觉知识,它可以加速网络收敛,并有助于在有限的特定任务训练数据下训练出性能良好的模型。
4. 无监督预训练、微调与预测:尽管“监督预训练、微调与预测”在许多视觉识别任务中取得了最先进的性能,但它在预训练中需要大规模的标注数据。为了缓解这一限制,[12,13]采用了一种新的学习范式“无监督预训练、微调与预测”,该范式探索自监督学习,从无标注数据中学习有用且可转移的表示,如图2(b)所示。为此,人们提出了各种自监督训练目标[12,41],包括建模跨补丁关系的掩码图像建模[41]、通过对比训练样本学习判别特征的对比学习[12]等。然后,使用有标注的特定任务训练数据对自监督预训练模型在下游任务上进行微调。由于这种范式在预训练中不需要标注数据,它可以利用更多的训练数据来学习有用且可转移的特征,与监督预训练相比,能带来更好的性能[12,13]。

图2。视觉识别中的三种DNN训练范式。与(a)和(b)中的范式相比,(a)和(b)中的范式需要针对每个特定任务使用特定任务标记数据进行微调,(c)中的具有VLM的新学习范式使得能够有效地使用网络数据和零命中预测,而无需针对特定任务进行微调 

5. VLM预训练与零样本预测:尽管使用监督或无监督预训练的预训练和微调提高了网络收敛性,但它仍然需要如图2(a)和(b)所示的使用有标注任务数据的微调阶段。受自然语言处理[14,15,16]巨大成功的启发,一种名为“视觉语言模型预训练与零样本预测”的新深度学习范式被提出用于视觉识别,如图2(c)所示。利用互联网上几乎无限可用的大规模图像文本对,通过某些视觉语言目标[10,18,19]对VLM进行预训练,这些目标捕获了丰富的视觉语言知识,并且可以通过匹配任何给定图像和文本的嵌入对下游视觉识别任务进行零样本预测(无需微调)。

与预训练和微调相比,这种新范式能够有效地利用大规模网络数据,并在无需特定任务微调的情况下进行零样本预测。大多数现有研究试图从三个角度改进VLM:(1)收集大规模信息丰富的图像文本数据;(2)设计高容量模型以有效地从大数据中学习;(3)设计新的预训练目标以学习有效的VLM。在本文中,我们对这种新的视觉语言学习范式进行了系统综述,旨在清晰呈现现有VLM研究的全貌、面临的挑战以及这个具有挑战性但前景光明的研究领域的未来方向。

 (二)用于视觉识别的VLM发展

自CLIP[10]发展以来,与视觉识别相关的VLM研究取得了巨大进展。我们从三个方面展示用于视觉识别的VLM,如图3所示:

图3。用于视觉识别的VLMs的开发图解。 这张图展示了视觉语言模型(VLM)在视觉识别领域的发展趋势,从预训练目标、预训练框架和下游任务三个方面呈现其演变过程,以 CLIP 和 ALIGN 为起点,具体如下:

预训练目标(Pre - training Objective)

  • 发展趋势:从单一目标(Single objective)向多个混合目标(Multiple hybrid objectives)发展 。
  • 模型示例:UniCL、FILIP、NLIP、FIBER 等模型依次体现了这一发展趋势,展示了在预训练目标设计上不断丰富和融合多种目标以提升模型性能的过程。

预训练框架(Pre - training Framework)

  • 发展趋势:从多个分离网络(Multiple separate networks )向统一网络(A Unified network)发展 。
  • 模型示例:FLAVA、COCA、CLIPPO、OneR 等模型展示了预训练框架的演进,反映了从使用多个独立网络分别处理图像和文本,到采用统一网络进行联合处理,以提高数据模态间通信效率和训练效果的趋势。

下游任务(Downstream Task)

  • 发展趋势:从简单任务(Simple Task)向复杂任务(Complex Task)发展 。
  • 模型示例:SLIP、GroupViT、GLIP、DetCLIP 等模型体现了 VLM 处理任务难度的逐步提升,从最初处理相对简单的视觉识别任务,发展到能够应对更复杂、对模型能力要求更高的任务。

(1)预训练目标:从“单一目标”到“多个混合目标”。早期的VLM[10,17]通常采用单一的预训练目标,而近期的VLM[18,42]引入了多个目标(例如对比、对齐和生成目标),以探索它们的协同作用,从而获得更稳健的VLM和在下游任务中更好的性能;

(2)预训练框架:从“多个分离网络”到“统一网络”。早期的VLM[10,17]采用双塔预训练框架,而近期的VLM[43,44]尝试采用单塔预训练框架,用统一的网络对图像和文本进行编码,减少了GPU内存使用,同时提高了数据模态之间的通信效率;

(3)下游任务:从简单任务到复杂任务。早期的VLM[10,17]专注于图像级别的视觉识别任务,而近期的VLM[45,46]更具通用性,也可以用于需要定位相关知识的复杂密集预测任务。

 (三)相关综述

据我们所知,这是首次对用于各种视觉识别任务的VLM进行综述的文章。已经有一些相关综述对用于视觉语言任务(如视觉问答[47]、视觉推理的自然语言[48]和短语定位[49])的VLM进行了回顾。

例如,Li等人[50]分享了视觉语言任务的进展,包括针对各种特定任务方法的VLM预训练。Du等人[51]和Chen等人[52]回顾了用于视觉语言任务[47,48,49]的VLM预训练。Xu等人[53]和Wang等人[54]分享了多模态学习在多模态任务上的最新进展。

不同的是,如图4所示,我们从三个主要方面回顾用于视觉识别任务的VLM:(1)用于视觉识别任务的VLM预训练的最新进展;(2)从VLM到视觉识别任务的两种典型迁移方法;(3)用于视觉识别任务的VLM预训练方法的基准测试。

图4.视觉识别的视觉语言模型的类型。 

视觉语言模型迁移学习(Vision - Language Model Transfer Learning)

  • 通过提示调整进行迁移(Transfer via Prompt Tuning)
    • 文本提示调整迁移(Transfer with Text Prompt Tuning):通过学习每个类别的可学习文本提示,使 VLM 适应下游任务,如 CoOp 通过学习上下文词,CoCoOp 为每个图像生成特定提示等。
    • 视觉提示调整迁移(Transfer with Visual Prompt Tuning):通过调制图像编码器输入迁移 VLM,如 VP 采用可学习图像扰动修改输入图像。
    • 文本 - 视觉提示调整迁移(Transfer with Text and Visual Prompt Tuning):联合调制文本和图像输入,如 UPT 统一提示调整,MVLPT 探索多任务视觉语言提示调整等。
  • 通过特征适配进行迁移(Transfer via Feature Adapter):在 VLM 的语言和图像编码器后插入可训练线性层等轻量级特征适配器,对其优化以适配图像或文本特征,如 ClipAdapter、Tip - Adapter 等。
  • 其他迁移方法(Other Transfer Methods):包括直接微调(如 Wise - FT)、架构修改(如 MaskCLIP)、交叉注意力(如 VT - CLIP、CALIP)等方法。

视觉语言模型知识蒸馏(Vision - Language Model Knowledge Distillation)

  • 目标检测的知识蒸馏(Knowledge Distillation for Object Detection):将 VLM 知识提取到目标检测模型中,扩大检测器词汇量,如 ViLD、HierKD、ZSD - YOLO 等通过不同方式进行知识蒸馏,实现开放词汇目标检测。
  • 语义分割的知识蒸馏(Knowledge Distillation for Semantic Segmentation):利用 VLM 扩大语义分割模型词汇量,实现开放词汇语义分割或弱监督语义分割,如 CLIPSeg、LSeg、ZegCLIP 等采用不同策略进行知识蒸馏。

 三、VLM基础

VLM预训练[10,17]旨在预训练一个VLM以学习图像文本相关性,目标是在视觉识别任务[6,55,56]上进行有效的零样本预测。给定图像文本对[20,21],它首先使用文本编码器和图像编码器提取图像和文本特征[6,14,57,58],然后通过某些预训练目标[10,17]学习视觉语言相关性。因此,VLM可以通过匹配任何给定图像和文本的嵌入,以零样本方式[10,17]在未见数据上进行评估。本节介绍VLM预训练的基础,包括用于提取图像和文本特征的常见网络架构、用于建模视觉语言相关性的预训练目标、VLM预训练的框架以及用于VLM评估的下游任务。

 (一)网络架构

VLM预训练使用深度神经网络从预训练数据集\(D=\{x_{n}^{I}, x_{n}^{T}\}_{n = 1}^{N}\)中的\(N\)个图像文本对中提取图像和文本特征,其中\(x_{n}^{I}\)和\(x_{n}^{T}\)分别表示一个图像样本及其配对的文本样本。深度神经网络有一个图像编码器\(f_{\theta}\)和一个文本编码器\(f_{\phi}\),它们将图像和文本(来自图像文本对\(\{x_{n}^{I}, x_{n}^{T}\}\))分别编码为图像嵌入\(z_{n}^{I}=f_{\theta}(x_{n}^{I})\)和文本嵌入\(z_{n}^{T}=f_{\phi}(x_{n}^{T})\)。本节介绍在VLM预训练中广泛采用的深度神经网络架构。

1. 学习图像特征的架构:两种类型的网络架构已被广泛用于学习图像特征,即基于CNN的架构和基于Transformer的架构。

基于CNN的架构:不同的卷积神经网络(如VGG[5]、ResNet[6]和EfficientNet[59])已被设计用于学习图像特征。作为VLM预训练中最受欢迎的卷积神经网络之一,ResNet[6]在卷积块之间采用跳跃连接,减轻了梯度消失和爆炸问题,使得构建非常深的神经网络成为可能。为了更好地进行特征提取和视觉语言建模,一些研究[10]对原始网络架构[6,59]进行了修改。以ResNet为例,他们引入了ResNet - D[60],在[61]中采用了抗锯齿矩形2模糊池化,并在Transformer多头注意力中用注意力池化取代了全局平均池化。

基于Transformer的架构:Transformer最近在视觉识别任务中得到了广泛探索,如图像分类[57]、目标检测[62]和语义分割[63]。作为用于图像特征学习的标准Transformer架构,ViT[57]采用了一堆Transformer块,每个块由一个多头自注意力层和一个前馈网络组成。输入图像首先被分割成固定大小的补丁,然后在进行线性投影和位置嵌入后输入到Transformer编码器中。[10,18,64]通过在Transformer编码器之前添加一个归一化层对ViT进行了修改。

2. 学习语言特征的架构:Transformer及其变体[14,16,58]已被广泛用于学习文本特征。标准的Transformer[58]具有编码器 - 解码器结构,其中编码器有6个块,每个块都有一个多头自注意力层和一个多层感知机(MLP)。解码器也有6个块,每个块都有一个多头注意力层、一个掩码多头层和一个MLP。大多数VLM研究(如CLIP[10])采用标准的Transformer[58],并进行了一些小的修改(如\(GPT _{2}\) [16]),并且在没有使用\(GPT2\)权重初始化的情况下从头开始训练。

 (二)VLM预训练目标

作为VLM的核心,人们设计了各种视觉语言预训练目标[10,12,14,19,42,65,66,67]来学习丰富的视觉语言相关性。它们大致可分为三类:对比目标、生成目标和对齐目标。

1. 对比目标:对比目标通过在特征空间中将配对样本拉近,将其他样本推开,来训练VLM学习判别性表示[10,12,65]。

图像对比学习旨在学习判别性图像特征[12,13],通过在嵌入空间中,使查询图像与其正样本(即其数据增强版本)靠近,与负样本(即其他图像)远离。给定一批\(B\)张图像,对比学习目标(例如InfoNCE[68]及其变体[12,13])通常如下定义:

\[\mathcal{L}_{I}^{InfONCE }=-\frac{1}{B} \sum_{i=1}^{B} \log \frac{\exp \left(z_{i}^{I} \cdot z_{+}^{I} / \tau\right)}{\sum_{j=1, j \neq i}^{B+1} \exp \left(z_{i}^{I} \cdot z_{j}^{I} / \tau\right)}\]
其中,\(z_{i}^{I}\)是查询嵌入,\(\{z_{j}^{I}\}_{j = 1, j \neq i}^{B + 1}\)是键嵌入,\(z_{+}^{I}\)代表\(z_{i}^{I}\)的正样本键,其余为\(z_{i}^{I}\)的负样本键。\(\tau\)是一个温度超参数,用于控制学习到的表示的密度。

图像 - 文本对比学习:旨在学习判别性的图像 - 文本表示,通过拉近配对图像和文本的嵌入,同时推开其他的[10,17]。这通常通过最小化对称的图像 - 文本InfoNCE损失[10]来实现,即\(\mathcal{L}_{infoNCE }^{IT}=\mathcal{L}_{I \to T}+\mathcal{L}_{T \to I}\),其中\(\mathcal{L}_{I \to T}\)将查询图像与文本键进行对比,\(\mathcal{L}_{T \to I}\)将查询文本与图像键进行对比。给定一批\(B\)个图像 - 文本对,\(\mathcal{L}_{I \to T}\)和\(\mathcal{L}_{T \to I}\)定义如下:
\[\mathcal{L}_{I \to T}=-\frac{1}{B} \sum_{i=1}^{B} \log \frac{\exp \left(z_{i}^{I} \cdot z_{i}^{T} / \tau\right)}{\sum_{j=1}^{B} \exp \left(z_{i}^{I} \cdot z_{j}^{T} / \tau\right)}\]
\[\mathcal{L}_{T \to I}=-\frac{1}{B} \sum_{i=1}^{B} \log \frac{\exp \left(z_{i}^{T} \cdot z_{i}^{I} / \tau\right)}{\sum_{j=1}^{B} \exp \left(z_{i}^{T} \cdot z_{j}^{I} / \tau\right)}\]
其中,\(z^{I}\)和\(z^{T}\)分别表示图像嵌入和文本嵌入。

图像 - 文本 - 标签对比学习:图像 - 文本 - 标签对比学习[65]将监督对比学习[69]引入图像 - 文本对比学习中,通过重新表述公式(2)和(3)来定义,如下所示:
\[\mathcal{L}_{I \to T}^{ITL}=-\sum_{i=1}^{B} \frac{1}{|\mathcal{P}(i)|} \sum_{k \in \mathcal{P}(i)} \log \frac{\exp \left(z_{i}^{I} \cdot z_{k}^{T} / \tau\right)}{\sum_{j=1}^{B} \exp \left(z_{i}^{I} \cdot z_{j}^{T} / \tau\right)}\]
\[\mathcal{L}_{T \to I}^{ITL}=-\sum_{i=1}^{B} \frac{1}{|\mathcal{P}(i)|} \sum_{k \in \mathcal{P}(i)} \log \frac{\exp \left(z_{i}^{T} \cdot z_{k}^{I} / \tau\right)}{\sum_{j=1}^{B} \exp \left(z_{i}^{T} \cdot z_{j}^{I} / \tau\right)}\]
其中,\(k \in \mathcal{P}(i)=\{k | k \in B, y_{k}=y_{i}\}\)[65],\(y\)是\((z^{I}, z^{T})\)的类别标签。通过公式(4)和(5),图像 - 文本 - 标签InfoNCE损失定义为:\(\mathcal{L}_{infoNCE }^{ITL}=\mathcal{L}_{I \to T}^{ITL}+\mathcal{L}_{T \to I}^{ITL}\)。

2. 生成目标:生成目标通过训练网络生成图像/文本数据(通过图像生成[12,70]、语言生成[14,19]或跨模态生成[42])来学习语义特征。

掩码图像建模:通过掩码和重建图像来学习跨补丁相关性[41,70]。它随机掩码输入图像的一组补丁,并训练编码器根据未掩码的补丁重建被掩码的补丁。给定一批\(B\)张图像,损失函数可表示为:
\[\mathcal{L}_{MIM}=-\frac{1}{B} \sum_{i=1}^{B} \log f_{\theta}\left(\overline{x}_{i}^{I} | \hat{x}_{i}^{I}\right)\]
其中,\(\overline{x}_{i}^{I}\)和\(\hat{x}_{i}^{I}\)分别表示\(x_{i}^{I}\)中的掩码补丁和未掩码补丁。

掩码语言建模:是自然语言处理中广泛采用的预训练目标[14]。它随机掩码输入文本标记的一定百分比(例如BERT[14]中为15%),并使用未掩码的标记重建它们:
\[\mathcal{L}_{MLM}=-\frac{1}{B} \sum_{i=1}^{B} \log f_{\phi}\left(\overline{x}_{i}^{T} | \hat{x}_{i}^{T}\right)\]
其中,\(\overline{x}_{i}^{T}\)和\(\hat{x}_{i}^{T}\)分别表示\(x_{i}^{T}\)中的掩码标记和未掩码标记。\(B\)表示批量大小。

掩码跨模态建模:集成了掩码图像建模和掩码语言建模[42]。给定一个图像 - 文本对,它随机掩码图像补丁的一个子集和文本标记的一个子集,然后学习根据未掩码的图像补丁和未掩码的文本标记重建它们,如下所示:
\[\mathcal{L}_{MCM}=-\frac{1}{B} \sum_{i=1}^{B}\left[\log f_{\theta}\left(\overline{x}_{i}^{I} | \hat{x}_{i}^{I}, \hat{x}_{i}^{T}\right)+\log f_{\phi}\left(\overline{x}_{i}^{T} | \hat{x}_{i}^{I}, \hat{x}_{i}^{T}\right)\right]\]
其中,\(\overline{x}_{i}^{I} / \hat{x}_{i}^{I}\)表示\(x_{i}^{I}\)中的掩码/未掩码补丁,\(\overline{x}_{i}^{T} / \hat{x}_{i}^{T}\)表示\(x_{i}^{T}\)中的掩码/未掩码文本标记。

图像到文本生成:旨在基于与\(x^{T}\)配对的图像自回归地预测文本\(x^{T}\)[19]:
\[\mathcal{L}_{ITG}=-\sum_{l=1}^{L} \log f_{\theta}\left(x^{T} | x_{<l}^{T}, z^{I}\right)\]
其中,\(L\)表示要为\(x^{T}\)预测的标记数量,\(z^{I}\)是与\(x^{T}\)配对的图像的嵌入。

3. 对齐目标:对齐目标通过在嵌入空间中进行全局图像 - 文本匹配[71,72]或局部区域 - 词匹配[45,67]来对齐图像 - 文本对。

图像 - 文本匹配:对图像和文本之间的全局相关性进行建模[71,72],可以用一个评分函数\(\mathcal{S}(\cdot)\)和一个二元分类损失来表示,评分函数\(\mathcal{S}(\cdot)\)用于衡量图像和文本之间的对齐概率:
\[\mathcal{L}_{IT}=p \log \mathcal{S}\left(z^{I}, z^{T}\right)+(1 - p) \log \left(1-\mathcal{S}\left(z^{I}, z^{T}\right)\right)\]
其中,如果图像和文本是配对的,\(p\)为1,否则为0。

区域 - 词匹配:旨在对图像 - 文本对中的局部跨模态相关性(即“图像区域”和“词”之间)进行建模[45,67],这对目标检测等密集视觉识别任务非常有帮助。它可以表示为:
\[\mathcal{L}_{RW}=p \log \mathcal{S}^{r}\left(r^{I}, w^{T}\right)+(1 - p) \log \left(1-\mathcal{S}^{r}\left(r^{I}, w^{T}\right)\right)\]
其中,\((r^{I}, w^{T})\)表示一个区域 - 词对,如果区域和词是配对的,\(p = 1\),否则\(p = 0\)。\(\mathcal{S}^{r}(\cdot)\)表示一个局部评分函数,用于衡量“图像区域”和“词”之间的相似性。

 (三)VLM预训练框架

本节介绍在VLM预训练中广泛采用的框架,包括双塔、双腿和单塔预训练框架。

具体来说,双塔框架在VLM预训练中被广泛应用[10,17],其中输入图像和文本分别由两个独立的编码器进行编码,如图5(a)所示。略有不同的是,双腿框架[19,42]引入了额外的多模态融合层,使得图像和文本模态之间能够进行特征交互,如图5(b)所示。相比之下,单塔VLM[43,44]试图在单个编码器中统一视觉和语言学习,如图5(c)所示,旨在促进数据模态之间的高效通信。

这张图展示了视觉语言模型(VLM)预训练的三种框架,分别是双塔(Two - Tower)、双腿(Two - Leg)和单塔(One - Tower)VLM,具体如下:

(a)双塔 VLM(Two - Tower VLM)

  • 结构:由独立的图像深度神经网络文本深度神经网络组成。输入图像进入图像深度神经网络,生成图像嵌入;输入文本进入文本深度神经网络,生成文本嵌入。
  • 原理:通过预训练目标,分别对图像和文本进行特征提取,然后学习图像嵌入和文本嵌入之间的关系。这种框架下,图像和文本的处理是相对独立的,在后续通过预训练目标来建立两者联系。

(b)双腿 VLM(Two - Leg VLM)

  • 结构:同样包含图像深度神经网络和文本深度神经网络,但在两者之上增加了多模态融合层(Multi - modal Fusion Layers) 。输入图像经图像深度神经网络生成图像嵌入,输入文本经文本深度神经网络生成文本嵌入,然后两者进入多模态融合层。
  • 原理:在分别提取图像和文本特征后,利用多模态融合层促进图像和文本模态之间的特征交互,使得模型能够更好地学习到两种模态之间的关联,相比双塔结构,增强了模态间的信息交流。

(c)单塔 VLM(One - Tower VLM)

  • 结构:使用统一的深度神经网络。输入的图像和文本共同进入这个统一的深度神经网络,直接生成图像和文本嵌入
  • 原理:在单个网络中统一视觉和语言学习,能够更高效地促进数据模态之间的通信,减少了双塔或双腿结构中可能存在的模态间信息传递障碍,从整体上对图像和文本进行联合处理和特征提取。

 (四)评估设置和下游任务

本节介绍在VLM评估中广泛采用的设置和下游任务。设置包括零样本预测和线性探测,下游任务包括图像分类、目标检测、语义分割、图像 - 文本检索和动作识别。

1. 零样本预测:作为评估VLM泛化能力最常用的方法[10,17,18,64,84],零样本预测直接将预训练的VLM应用于下游任务,而无需任何特定任务的微调[10]。

图像分类[5,6]旨在将图像分类到预定义的类别中。VLM通过比较图像和文本的嵌入来实现零样本图像分类,其中“提示工程”通常用于生成与任务相关的提示,如“一张[标签]的照片”[10]。

语义分割[56]旨在为图像中的每个像素分配一个类别标签。预训练的VLM通过比较给定图像像素和文本的嵌入,实现分割任务的零样本预测。

    目标检测[11,55]旨在定位和分类图像中的物体,这对各种视觉应用都很重要。借助从辅助数据集[85,86]学习到的物体定位能力,预训练的VLM通过比较给定物体提案和文本的嵌入,实现目标检测任务的零样本预测。

    图像 - 文本检索[87]旨在根据一种模态的线索从另一种模态中检索所需的样本,它包括两个任务,即基于文本检索图像的文本到图像检索和基于图像检索文本的图像到文本检索。

2. 线性探测:在VLM评估中被广泛采用[10]。它冻结预训练的VLM,并训练一个线性分类器对VLM编码的嵌入进行分类,以评估VLM的表示。图像分类[5,6]和动作识别[28,29]在这种评估中被广泛应用,其中在动作识别任务中,视频剪辑通常被下采样以进行高效识别[10]。

 四、数据集

本节总结了VLM预训练和评估中常用的数据集,详细内容见表1和表2。

 (一)VLM预训练数据集

对于VLM预训练,人们从互联网上收集了多个大规模图像 - 文本数据集[10,17,20,21]。与传统的众包标注数据集[40,90,110]相比,图像 - 文本数据集[10,21]规模更大且收集成本更低。例如,近期的图像 - 文本数据集通常达到数十亿规模[20,21,83]。除了图像 - 文本数据集,一些研究[19,43,45,67]利用辅助数据集提供额外信息,以实现更好的视觉语言建模。例如,GLIP[67]利用Object365[85]来提取区域级特征。VLM预训练的图像 - 文本数据集和辅助数据集的详细信息见在线附录B。

 (二)VLM评估数据集

许多数据集已被用于VLM评估,如表2所示,包括27个用于图像分类的数据集、4个用于目标检测的数据集、4个用于语义分割的数据集、2个用于图像 - 文本检索的数据集和3个用于动作识别的数据集(数据集详细信息见在线附录C)。例如,这27个图像分类数据集涵盖了从细粒度任务(如用于宠物识别的Oxford - IIIT PETS[26]和用于汽车识别的Stanford Cars[25])到通用任务(如ImageNet[40])等广泛的视觉识别任务。

 五、视觉语言模型预训练


VLM预训练探索了三种典型目标:对比目标、生成目标和对齐目标。本节结合多个VLM预训练研究(见表3)对它们进行回顾。

 (一)基于对比目标的VLM预训练

对比学习在VLM预训练中得到了广泛探索,它设计对比目标来学习判别性的图像 - 文本特征[10,64,113]。

1. 图像对比学习:此预训练目标旨在学习图像模态中的判别性特征,通常作为充分挖掘图像数据潜力的辅助目标。例如,SLIP[64]采用公式(1)中定义的标准InfoNCE损失来学习判别性图像特征。

2. 图像 - 文本对比学习:图像 - 文本对比旨在通过对比图像 - 文本对来学习视觉 - 语言相关性,即将配对图像和文本的嵌入拉近,同时推开其他图像和文本的嵌入[10]。例如,CLIP[10]采用公式(2)中的对称图像 - 文本InfoNCE损失,通过图像和文本嵌入之间的点积来衡量图像 - 文本相似性,如图6所示。预训练的VLM因此学习到图像 - 文本相关性,从而能够在下游视觉识别任务中进行零样本预测。

这张图展示了视觉语言模型(VLM)中图像和文本特征的编码及对比过程,具体如下:

文本处理部分

  • 输入文本(Input texts),如 “A running puppy...” ,进入文本编码器(Text Encoder)。
  • 文本编码器对输入文本进行处理,输出多个文本嵌入(Text Embeddings),表示为\(z_{1}^{T}, z_{2}^{T}, \cdots, z_{B}^{T}\) ,这里的B表示批量大小,即一次处理的文本数量。

图像处理部分

  • 输入图像(Input images),例如小狗奔跑的图片,进入图像编码器(Image Encoder)。
  • 图像编码器对输入图像进行处理,输出多个图像嵌入(Image Embeddings),表示为\(z_{1}^{I}, z_{2}^{I}, \cdots, z_{B}^{I}\) ,同样B为批量大小。

特征对比部分

  • 将图像嵌入和文本嵌入进行点积运算,形成一个矩阵。矩阵中的每个元素\(z_{i}^{I} \cdot z_{j}^{T}\)表示第i个图像嵌入和第j个文本嵌入的相似度得分。通过这种方式,模型可以学习到图像和文本之间的对应关系,常用于图像 - 文本对比学习的预训练目标中,以衡量图像和文本之间的相似性,从而实现视觉语言相关性的建模。

CLIP巨大成功的启发,许多研究从不同角度改进了对称图像 - 文本InfoNCE损失。例如,ALIGN[17]通过大规模(即18亿)但有噪声的图像 - 文本对和抗噪声对比学习来扩大VLM预训练规模。

一些研究[112,113,114]则探索用更少的图像 - 文本对进行数据高效的VLM预训练。例如,DeCLIP[113]引入最近邻监督来利用相似对的信息,使得在有限数据上进行有效预训练成为可能。OTTER[112]采用最优传输对图像和文本进行伪配对,大大减少了所需的训练数据。ZeroVL[114]通过去偏数据采样和抛硬币混合的数据增强方法,利用有限的数据资源。

另一系列后续研究[18,116,129]旨在通过在各种语义级别上进行图像 - 文本对比学习,实现全面的视觉 - 语言相关性建模。例如,FILIP[18]将区域 - 词对齐引入对比学习,能够学习细粒度的视觉 - 语言对应知识。PyramidCLIP[116]构建多个语义级别,并进行跨级别和同级别的对比学习,以实现有效的VLM预训练。

此外,一些近期研究通过增强图像 - 文本对进一步改进[125,126,127,128]。例如,LA - CLIP[126]和ALIP[127]使用大语言模型为给定图像生成合成字幕,而RA - CLIP[125]检索相关的图像 - 文本对来增强图像 - 文本对。为了促进数据模态之间的高效通信,[44]和[43]尝试在单个编码器中统一视觉和语言学习。

3. 图像 - 文本 - 标签对比学习:这种预训练类型将图像分类标签[65]引入图像 - 文本对比中(如公式(4)所定义),将图像、文本和分类标签编码到一个共享空间中,如图7所示。它既利用了有图像标签的监督预训练,又利用了有图像 - 文本对的无监督VLM预训练。正如UniCL[65]中所报道的,这种预训练允许同时学习判别性和特定任务(即图像分类)的特征。[115]中的后续工作用约9亿个图像 - 文本对扩展了UniCL,在各种下游识别任务中取得了出色的性能。

这张图展示了图像 - 标签对、图像 - 文本对以及图像 - 文本 - 标签对之间的关系,具体如下:

图像 - 标签对(Image - label pairs)

图中展示了两组图像 - 标签对,分别是标注为 “[dog]” 的狗的图像,以及标注为 “[cat]” 的猫的图像 。这部分体现了传统的图像分类中,图像与对应类别标签的关联关系,是一种简单的视觉与语义标签的映射。

图像 - 文本对(Image - text pairs)

图中展示了另外两组图像 - 文本对,分别是描述 “一只正在睡觉的猫(A cat is sleeping.)” 的猫的图像,以及描述 “一只狗在玩球(A dog is playing with a ball.)” 的狗的图像 。这体现了视觉语言模型中,图像与自然语言描述之间的对应关系,强调了图像和文本信息的结合。

图像 - 文本 - 标签对(Image - text - label pairs)

图中用橙色虚线框将上述两种关系整合起来,形成图像 - 文本 - 标签对 。它将图像、文本描述以及类别标签三者关联在一起,在视觉语言模型预训练中,这种三元组可以为模型提供更丰富的信息,有助于学习更全面的视觉语言相关性,例如在图像 - 文本 - 标签对比学习中发挥作用,使模型能更好地理解图像内容、文本语义以及它们对应的类别信息。

 4. 讨论:对比目标强制正样本对在嵌入上与负样本对不同。它们鼓励VLM学习判别性的视觉和语言特征[10,17],通常更具判别性的特征会带来更自信和准确的零样本预测。然而,对比目标有两个局限性:(1)联合优化正样本对和负样本对既复杂又具有挑战性[10,17];(2)它涉及一个启发式的温度超参数,用于控制特征的可区分性,如第三节 - B1所述。

 (二)基于生成目标的VLM预训练

生成式VLM预训练通过掩码图像建模、掩码语言建模、掩码跨模态建模和图像到文本生成来学习生成图像或文本,从而学习语义知识。

1. 掩码图像建模:该预训练目标通过对图像进行掩码和重建来学习图像上下文信息,如公式(6)所定义。在掩码图像建模(例如MAE[41]和BeiT[70])中,图像中的某些补丁被掩码,编码器被训练根据未掩码的补丁来重建这些被掩码的补丁,如图8所示。例如,FLAVA[42]采用了与BeiT[70]中类似的矩形块掩码,而KELIP[120]和SegCLIP[46]在训练中遵循MAE,掩码掉大部分(即75%)的补丁。

这张图展示了掩码图像建模(Masked Image Modelling)的过程,这是视觉语言模型预训练中的一种生成式目标方法,具体步骤如下:(有一种自监督的感觉)

输入图像(Input Image)

原始图像被划分为多个图像块(patches) ,图中以灰色和蓝色方块表示不同的图像块,这些图像块构成了输入图像的整体。

掩码操作

部分图像块被掩码(masked) ,图中以灰色方块表示被掩码的图像块,蓝色方块表示未被掩码的图像块。通过这种方式,模型无法直接获取被掩码部分的信息,需要根据未掩码的图像块来推断被掩码部分的内容。

图像编码器(Image Encoder)

未被掩码的图像块(蓝色方块)输入到图像编码器中 。图像编码器对这些未被掩码的图像块进行特征提取,将其转换为特征表示,图中以橙色方块表示经过编码器处理后的特征。

图像解码器(Image Decoder)

图像解码器接收来自图像编码器的特征表示(橙色方块) ,并尝试根据这些特征重建被掩码的图像块。图中绿色方块表示解码器输出的重建后的图像块,最终组合成输出图像(Output Image) 。

输出图像(Output Image)

经过图像解码器的重建,得到完整的输出图像 ,其目标是尽可能恢复原始输入图像的样子,尤其是被掩码部分的内容。通过不断调整模型参数,使重建的图像与原始图像接近,从而让模型学习到图像的上下文信息和结构特征

2. 掩码语言建模:掩码语言建模是自然语言处理中广泛采用的预训练目标[14],在VLM预训练的文本特征学习中也证明了其有效性。它的工作方式是掩码每个输入文本中的一部分标记,并训练网络预测被掩码的标记,如图9所示。遵循[14],FLAVA[42]掩码掉15%的文本标记,并从其余标记中重建它们,以建模单词之间的相关性。FIBER[71]采用掩码语言建模[14]作为VLM预训练目标之一,以提取更好的语言特征。

 这张图展示了掩码语言建模(Masked Language Modelling)的过程,是自然语言处理和视觉语言模型预训练中常用的一种方法,具体如下:

输入文本(Input Text)

图中输入文本为 “the cat is very cute !” ,文本中的每个词(token)都被单独处理。每个词都对应一个词嵌入(Token Embedding) ,如 “the” 对应\(e_{the}\) ,“cat” 对应\(e_{cat}\) 等。同时,每个词在文本中的位置也对应一个位置嵌入(Position Embedding) ,如\(e_0\)、\(e_1\)等。将词嵌入和位置嵌入相加,得到每个词最终输入到模型中的表示。

掩码操作

文本中的 “cute” 一词被掩码(mask) ,图中用红色叉号和 “[mask]” 标识。在掩码语言建模中,通常会随机选择一定比例(如 BERT 中为 15% )的词进行掩码处理。

Transformer 编码器(Transformer Encoder)

经过嵌入处理且包含掩码词的输入文本进入 Transformer 编码器 。Transformer 编码器通过自注意力机制等操作,对文本中的各个词之间的关系进行建模,学习文本的语义信息。

预测(Prediction)

Transformer 编码器输出的特征表示用于预测被掩码的词 。模型根据上下文信息,尝试预测出被掩码词 “cute” ,通过不断调整模型参数,使预测结果尽可能接近真实的被掩码词,从而让模型学习到词与词之间的语义关联和语言结构。

3. 掩码跨模态建模:掩码跨模态建模如公式(8)所定义,联合掩码和重建图像补丁和文本标记,它继承了掩码图像建模和掩码语言建模的优点。其工作方式是掩码一定比例的图像补丁和文本标记,并训练VLM根据未掩码的图像补丁和文本标记的嵌入来重建它们。例如,FLAVA[42]像[70]中那样掩码约40%的图像补丁,像[14]中那样掩码15%的文本标记,然后使用多层感知器(MLP)来预测被掩码的补丁和标记,从而捕获丰富的视觉语言对应信息。

4. 图像到文本生成:图像到文本生成旨在为给定图像生成描述性文本,通过训练VLM预测标记化文本,捕捉细粒度的视觉语言相关性。它首先将输入图像编码为中间嵌入,然后将其解码为描述性文本,如公式(9)所定义。例如,COCA[19]、NLIP[123]和PaLI[83]使用标准的编码器 - 解码器架构和图像字幕目标来训练VLM,如图10所示。

图10。COCA [19]中图像到字幕生成的简化图示。图是根据[19]复制的。 

这张图展示了图像到文本生成(Image - to - Text Generation)的过程,是视觉语言模型预训练中基于生成目标的一种方法,用于为给定图像生成描述性文本,具体步骤如下:

输入图像(Input Image)

原始图像首先进入图像编码器(Image Encoder) 。图像编码器将输入图像划分为多个图像块(图中以小图片表示),并对这些图像块进行特征提取,输出图像的特征表示。

输入文本(Input Text)

输入文本(如 “A dog is playing with a ball” )进入单模态文本编码器(Uni - modal Text Encoder) 。单模态文本编码器对输入文本中的每个词进行处理,将其转换为文本特征表示。

跨注意力机制(Cross - Attention)

图像编码器输出的图像特征表示与单模态文本编码器输出的文本特征表示,通过跨注意力机制(Cross - Attention)进行交互 。跨注意力机制使得模型能够在图像特征和文本特征之间建立联系,让模型知道图像中的哪些部分与文本中的哪些词相对应。

多模态文本解码器(Multi - modal Text Decoder)

经过跨注意力机制交互后的特征输入到多模态文本解码器(Multi - modal Text Decoder) 。多模态文本解码器基于这些融合的特征,自回归地预测文本,即根据已生成的词来预测下一个词。

字幕损失(Captioning Loss)

多模态文本解码器输出的预测文本与输入文本进行对比,计算字幕损失(Captioning Loss) 。通过最小化这个损失,不断调整模型参数,使生成的文本尽可能接近真实的图像描述,从而让模型学习到如何根据图像生成准确的文本描述,捕捉细粒度的视觉语言相关性。

5. 讨论:生成目标通过跨模态生成或掩码图像/语言/跨模态建模来工作,鼓励VLM学习丰富的视觉、语言和视觉语言上下文,以实现更好的零样本预测。因此,生成目标通常作为其他VLM预训练目标之上的附加目标,用于学习丰富的上下文信息[19,42,113]。

 (三)基于对齐目标的VLM预训练

对齐目标通过学习预测给定文本是否正确描述给定图像,来强制VLM对齐配对的图像和文本。在VLM预训练中,它大致可分为全局图像文本匹配和局部区域词匹配。

1. 图像文本匹配:图像文本匹配通过直接对齐配对的图像和文本,对全局图像文本相关性进行建模,如公式(10)所定义。例如,给定一批图像文本对,FLAVA[42]通过一个分类器和一个二元分类损失,将给定图像与其配对文本进行匹配。FIBER[71]遵循[72],通过成对相似性挖掘难负样本,以更好地对齐图像和文本。

2. 区域词匹配:区域词匹配目标通过对齐配对的图像区域和词标记,对局部细粒度的视觉语言相关性进行建模,这对目标检测和语义分割等零样本密集预测任务有很大帮助。例如,GLIP[67]、FIBER[71]和DetCLIP[45]用区域词对齐分数(即区域视觉特征和标记级特征之间的点积相似性)取代物体分类的逻辑值,如图11所示。

图11。GLIP [67]使用字区对齐进行检测的图示。图摘自[67]。 这张图展示了基于区域 - 词匹配(Region - Word Matching)的视觉语言模型处理过程,用于在视觉识别任务中建立图像区域和文本词汇之间的关联,具体如下:

输入部分

  • 文本输入:给出提示文本(Prompted Texts),如 “A person is eating hot dogs and holding a cup” ,这些文本进入文本编码器(Text Encoder) 。文本编码器对文本进行处理,将每个词转换为词嵌入(word embeddings),表示为\(w_{1}^{T}, w_{2}^{T}, \cdots, w_{L}^{T}\) ,其中L是文本中词的数量。
  • 图像输入:输入图像进入图像编码器(Image Encoder) 。图像编码器将图像划分为多个区域(图中以不同的矩形框表示),并为每个区域提取特征,得到区域特征(region features),表示为\(r_{1}^{I}, r_{2}^{I}, \cdots, r_{K}^{I}\) ,其中K是图像中区域的数量。

深度融合(Deep Fusion)

图像编码器输出的区域特征和文本编码器输出的词嵌入,通过深度融合模块进行交互 。该模块计算区域特征和词嵌入之间的点积,得到词 - 区域对齐分数(Word - Region Alignment Score) ,即矩阵中的每个元素\(r_{i}^{I} \cdot w_{j}^{T}\)表示第i个区域特征和第j个词嵌入的相似性得分。

损失计算

  • 定位损失(Localization Loss):用于衡量模型对图像中物体定位的准确性,通过区域特征与相关词嵌入的匹配情况计算得出。
  • 对齐损失(Alignment Loss):用于衡量图像区域和文本词汇之间的对齐程度,通过词 - 区域对齐分数与真实对应关系的差异计算得出。通过最小化这两种损失,不断调整模型参数,使模型能够更好地建立图像区域和文本词汇之间的对应关系,有助于在目标检测、语义分割等密集视觉识别任务中实现更准确的预测。

3. 讨论:对齐目标学习预测给定的图像和文本数据是否匹配,它们简单且易于优化,并且可以通过局部匹配图像和文本数据,轻松扩展以对细粒度的视觉语言相关性进行建模。另一方面,它们通常在视觉或语言模态内学习到的相关信息较少。因此,对齐目标通常作为其他VLM预训练目标的辅助损失,以增强对视觉和语言模态之间相关性的建模[42,121]。

 (四)总结与讨论

总之,VLM预训练通过不同的跨模态目标(如图像文本对比学习、掩码跨模态建模、图像到文本生成以及图像文本/区域词匹配)对视觉语言相关性进行建模。各种单模态目标也被探索,以充分挖掘其自身模态的数据潜力,例如针对图像模态的掩码图像建模和针对文本模态的掩码语言建模。另一方面,近期的VLM预训练侧重于学习全局视觉语言相关性,这在图像级识别任务(如图像分类)中具有优势。同时,一些研究[45,46,67,71,129,130,131]通过区域词匹配对局部细粒度的视觉语言相关性进行建模,旨在在目标检测和语义分割等任务中实现更好的密集预测。

 六、VLM迁移学习

除了直接将预训练的VLM应用于下游任务而无需微调的零样本预测之外,近期还研究了迁移学习,它通过提示调整[31,132]、特征适配器[33,34]等方法,使VLM适应下游任务。本节介绍预训练VLM迁移学习的动机、常见的迁移学习设置,以及包括提示调整方法、特征适配器方法和其他方法在内的三种迁移学习方法。

 (一)迁移学习的动机

尽管预训练的VLM展示出了强大的泛化能力,但在应用于各种下游任务时,它们通常面临两类差距:1)图像和文本分布的差距,如下游数据集可能具有特定任务的图像风格和文本格式;2)训练目标的差距,如VLM通常使用与任务无关的目标进行训练,学习通用概念,而下游任务通常涉及特定任务的目标,如粗粒度或细粒度分类、区域或像素级识别等。

 (二)迁移学习的常见设置

为了缓解第六节 - A中描述的领域差距,人们探索了三种迁移设置,包括监督迁移、少样本监督迁移和无监督迁移。监督迁移使用所有有标签的下游数据对预训练的VLM进行微调,而少样本监督迁移则更具标注效率,仅使用少量有标签的下游样本。不同的是,无监督迁移使用无标签的下游数据对VLM进行微调。因此,它更具挑战性,但对于VLM迁移来说更有前景且更高效。

 (三)常见的迁移学习方法

如表4所示,我们将现有的VLM迁移方法大致分为三类,包括提示调整方法、特征适配器方法和其他方法。

1. 通过提示调整进行迁移:受自然语言处理中“提示学习”[165]的启发,许多VLM提示学习方法被提出,通过找到最优提示使VLM适应下游任务,而无需对整个VLM进行微调。大多数现有研究遵循文本提示调整、视觉提示调整和文本 - 视觉提示调整这三种方法。

    - 文本提示调整迁移:与为每个任务手动设计文本提示的提示工程[165]不同,文本提示调整通过每个类别的几个有标签下游样本,探索更有效和高效的可学习文本提示。例如,CoOp[31]探索上下文优化,使用可学习的词向量为单个类名学习上下文词。它将一个类别词[标签]扩展为一个句子“[V]1,[V]2.. [V]m[标签]”,其中[V]表示可学习的词向量,通过最小化与下游样本的分类损失来进行优化,如图12(a)所示。

图12。(a)文本提示学习[31]和(B)视觉提示学习[147]的图示。这张图展示了两种基于视觉语言模型的图像分类迁移学习方法,分别是通过文本提示调整(Text Prompt Tuning)和视觉提示调整(Visual Prompt Tuning)来实现,具体如下:

(a)通过文本提示调整进行迁移(Text Prompt Tuning)

  • 可学习内容(Learnable Contents):对于每个类别(如 “dog”“cat”“bird” ),引入可学习的词向量\([V_1, V_2, \cdots, V_m]\) ,将类别标签(如 “dog” )扩展为一个句子 “[V_1, V_2, \cdots, V_m][label]” 。这里的可学习词向量会在训练过程中不断调整,以优化文本表示。
  • 文本编码器(Text Encoder):扩展后的文本进入文本编码器,文本编码器对其进行处理,得到文本特征表示。
  • 图像编码器(Image Encoder):输入图像(例如狗的图片)进入图像编码器,提取图像的视觉特征。
  • 分类损失(Classification Loss):将文本编码器输出的文本特征和图像编码器输出的视觉特征进行结合,用于图像分类,并计算分类损失。通过最小化分类损失,不断调整可学习词向量以及模型的其他参数,使模型能够根据图像和优化后的文本信息准确地对图像进行分类。这种方法属于提示调整迁移学习中的文本提示调整方式,通过学习可学习的文本内容来使模型适应下游的图像分类任务。

(b)通过视觉提示调整进行迁移(Visual Prompt Tuning)

  • 视觉提示(Learnable Visual Prompt):对输入图像添加一个可学习的视觉提示(图中以灰色方块表示) ,与原始图像进行融合,得到视觉提示图像(Visual Prompted Image) 。可学习的视觉提示在训练过程中不断调整,以优化图像表示。
  • 图像编码器(Image Encoder):视觉提示图像进入图像编码器,提取调整后的视觉特征。
  • 文本编码器(Text Encoder):对于不同的类别(如 “dog”“cat”“bird” ),使用固定的文本模板 “This is a photo of [label].” 生成文本提示,文本提示进入文本编码器,得到文本特征表示。
  • 分类损失(Classification Loss):将文本编码器输出的文本特征和图像编码器输出的调整后的视觉特征进行结合,用于图像分类,并计算分类损失。通过最小化分类损失,不断调整可学习的视觉提示以及模型的其他参数,使模型能够根据调整后的图像和文本信息准确地对图像进行分类。这种方法属于提示调整迁移学习中的视觉提示调整方式,通过学习可学习的视觉内容来使模型适应下游的图像分类任务。

为了缓解提示学习中由于下游样本有限而导致的过拟合问题,CoCoOp[32]探索条件上下文优化,为每个图像生成特定的提示。SubPT[132]设计子空间提示调整,以提高学习到的提示的泛化能力。LASP[133]用手工设计的提示对可学习提示进行正则化。VPT[135]使用实例特定分布对文本提示进行建模,在下游任务上具有更好的泛化能力。KgCoOp[145]通过减轻文本知识的遗忘,增强了对未见类别的泛化能力。

此外,SoftCPT[141]同时在多个少样本任务上对VLM进行微调,以从多任务学习中受益。PLOT[138]采用最优传输来学习多个提示,以描述一个类别的不同特征。DualCoOp[139]和TaI - DP[140]将VLM迁移到多标签分类任务,其中DualCoOp采用正样本和负样本提示进行多标签分类,而TaI - DP引入双粒度提示调整,以捕获粗粒度和细粒度的嵌入。DenseCLIP[142]探索语言引导的微调,使用视觉特征来调整文本提示,用于密集预测[55,56]。ProTeCt[146]提高了模型在分层分类任务中预测的一致性。

除了监督和少样本监督提示学习之外,近期研究探索无监督提示调整,以提高标注效率和可扩展性。例如,UPL[143]通过对选定的伪标签样本进行自训练来优化可学习提示。TPT[144]探索测试时提示调整,从单个下游样本中学习自适应提示。

- 视觉提示调整迁移:与文本提示调整不同,视觉提示调整[148,166]通过调制图像编码器的输入来迁移VLM,如图12(b)所示。例如,VP[147]采用可学习的图像扰动\(v\)来修改输入图像\(x^{I}\),修改方式为\(x^{I}+v\),旨在调整\(v\)以最小化识别损失。RePrompt[148]将检索机制集成到视觉提示调整中,允许利用来自下游任务的知识。视觉提示调整能够在像素级别适应下游任务,对它们尤其是密集预测任务有很大帮助。

 - 文本 - 视觉提示调整迁移:旨在同时调制文本和图像输入,从多模态的联合提示优化中受益。例如,UPT[149]统一提示调整,以联合优化文本和图像提示,展示了这两个提示调整任务的互补性。MVLPT[150]探索多任务视觉语言提示调整,将跨任务知识整合到文本和图像提示调整中。MAPLE[151]通过对齐视觉提示和相应的语言提示进行多模态提示调整,实现文本提示和图像提示之间的相互促进。CAVPT[152]在类感知视觉提示和文本提示之间引入交叉注意力,鼓励视觉提示更多地关注视觉概念。

- 讨论:提示调整通过用少量可学习的文本/图像提示修改输入文本/图像,实现了参数高效的VLM迁移。它简单且易于实现,并且几乎不需要额外的网络层或复杂的网络修改。因此,提示调整允许以黑盒方式适应VLM,这在涉及知识产权问题的VLM迁移中具有明显优势。然而,它仍然存在一些局限性,例如在提示过程中,受原始VLM流形的限制,灵活性较低[31]。

2. 通过特征适配进行迁移:特征适配通过添加一个轻量级的特征适配器来微调VLM,以适应图像或文本特征[167]。例如,ClipAdapter[33]在CLIP的语言和图像编码器之后插入几个可训练的线性层,并在保持CLIP架构和参数冻结的情况下对它们进行优化,如图13所示。Tip - Adapter[34]提出了一种无需训练的适配器,直接将少样本有标签图像的嵌入作为适配器权重。SVL - Adapter[153]设计了一种自监督适配器,它使用一个额外的编码器对输入图像进行自监督学习。总之,特征适配器使图像和文本特征适应下游数据,为VLM迁移提供了一种有前景的替代提示调整的方法。

 图13 特征adapter 。这张图展示了一种基于视觉语言模型的图像分类迁移学习方法,主要通过特征适配器(Feature Adapter)来实现,具体步骤如下:

文本处理部分

  • 文本提示(Text Prompt):对于不同的类别(如 “dog”“cat”“bird” ),使用固定的文本模板 “This is a photo of [label].” 生成文本提示。这里的 “[label]” 会被具体的类别标签替换,例如对于 “dog” 类别,文本提示就是 “This is a photo of dog.”
  • 文本编码器(Text Encoder):生成的文本提示进入文本编码器进行处理,得到文本特征表示。文本编码器通常是一个预训练的语言模型,用于提取文本的语义信息。

图像处理部分

  • 图像编码器(Image Encoder):输入图像(例如狗的图片)进入图像编码器。图像编码器也是预训练的模型,用于提取图像的视觉特征。
  • 特征适配器(Feature Adapter):图像编码器输出的视觉特征进入特征适配器。特征适配器是一个轻量级的可训练模块,其作用是对视觉特征进行调整,使其更好地适应下游任务(这里是图像分类任务)。经过特征适配器处理后,得到适配后的特征(Adapted Features) 。

融合与分类

  • 将适配后的图像特征与文本编码器输出的文本特征进行融合(图中用圆圈内带加号的符号表示融合操作) 。
  • 融合后的特征用于图像分类,通过计算分类损失(Classification Loss) ,并利用损失来更新模型参数,从而使模型能够根据图像和文本的信息准确地对图像进行分类,判断图像属于哪个类别(如 “dog”“cat” 或 “bird” )。这种方法属于视觉语言模型迁移学习中的一种,旨在通过添加特征适配器来调整预训练模型的特征,以适应特定的图像分类任务。

- 讨论:特征适配通过添加轻量级特征适配器修改图像和文本特征,从而使VLM适应下游任务。它灵活且有效,因为其架构和插入方式允许针对不同的下游任务进行灵活定制。因此,特征适配在使VLM适应非常不同和复杂的下游任务方面具有明显优势[168,169,170,171]。另一方面,它需要修改网络架构,因此无法处理涉及知识产权问题的VLM。

3. 其他迁移方法:一些研究通过直接微调[162]、架构修改[163]和交叉注意力[157,158]来迁移VLM。具体来说,Wise - FT[162]结合微调后的VLM和原始VLM的权重,以从下游任务中学习新信息。MaskCLIP[163]通过修改CLIP图像编码器的架构来提取密集图像特征。VT-CLIP[157]引入视觉引导注意力,使文本特征与下游图像在语义上相关,从而获得更好的迁移性能。CALIP[158]引入无参数注意力,实现视觉和文本特征之间的有效交互和通信,从而得到文本感知的图像特征和视觉引导的文本特征。TaskRes[159]直接调整基于文本的分类器,以利用预训练VLM中的旧知识。CuPL[160]和VCD[161]使用大语言模型(例如\(GPT_{3}\)[172])来增强文本提示,以学习丰富的判别性文本信息。

 (四)总结与讨论

总之,提示调整和特征适配器是VLM迁移的两种主要方法,它们分别通过修改输入文本/图像和适配图像/文本特征来工作。此外,这两种方法在冻结原始VLM的同时,都只引入了非常有限的参数,从而实现了高效迁移。此外,虽然大多数研究遵循少样本监督迁移[31,32,132,134],但近期研究表明,无监督VLM迁移在各种任务上可以取得有竞争力的性能[143,144,160],这激发了对无监督VLM迁移的更多研究。

 七、VLM知识蒸馏

由于VLM捕获了涵盖广泛视觉和文本概念的可泛化知识,一些研究探索如何在处理复杂的密集预测任务(如目标检测和语义分割)时,提取VLM的通用且稳健的知识。本节介绍从VLM中提取知识的动机,以及在语义分割和目标检测任务上的两类知识蒸馏研究。

 (一)从VLM中提取知识的动机

与VLM迁移不同,VLM迁移通常在迁移过程中保持原始VLM架构不变[31,132,136],而VLM知识蒸馏在不限制VLM架构的情况下,将通用且稳健的VLM知识提取到特定任务模型中,这在处理各种密集预测任务时,有利于特定任务的设计[36,173,174]。例如,知识蒸馏允许将通用的VLM知识转移到处理检测任务中,同时利用最先进的检测架构(如Faster R - CNN[55]和DETR[62])的优势。

 (二)常见的知识蒸馏方法

由于VLM通常使用为图像级表示设计的架构和目标进行预训练,大多数VLM知识蒸馏方法侧重于将图像级知识转移到区域或像素级任务(如目标检测和语义分割)。在线附录D中的表1列出了VLM知识蒸馏方法。

1. 目标检测的知识蒸馏:开放词汇目标检测[175]旨在检测由任意文本描述的物体,即超出基本类别的任何类别的物体。由于像CLIP这样的VLM是在数十亿规模的图像 - 文本对上进行训练的,涵盖了非常广泛的词汇,许多研究探索提取VLM知识以扩大检测器的词汇量。

例如,ViLD[36]将VLM知识提取到一个两阶段检测器中,该检测器的嵌入空间被强制与CLIP图像编码器的嵌入空间一致。在ViLD之后,HierKD[176]探索分层全局 - 局部知识蒸馏,RKD[177]探索基于区域的知识蒸馏,以更好地对齐区域级和图像级嵌入。ZSD - YOLO[178]引入自标注数据增强,利用CLIP实现更好的目标检测。OADP[179]在转移上下文知识的同时保留提案特征。BARON[180]使用邻域采样来提取区域袋而不是单个区域的知识。RO - ViT[181]从VLM中提取区域信息,用于开放词汇检测。

另一系列研究通过提示学习探索VLM知识蒸馏[165]。例如,DetPro[37]引入检测提示技术,用于学习开放词汇目标检测的连续提示表示。PromptDet[182]引入区域提示学习,使词嵌入与区域图像嵌入对齐。此外,一些研究[183,184,185,186,187]探索VLM预测的伪标签,以改进目标检测器。

例如,PBOVD[183]使用VLM预测的伪边界框训练目标检测器,而XPM[184]引入一种稳健的跨模态伪标签策略,使用VLM生成的伪掩码进行开放词汇实例分割。\(P^{3}\)OVD[185]利用提示驱动的自训练,通过细粒度的提示调整来优化VLM生成的伪标签。

2. 语义分割的知识蒸馏:开放词汇语义分割的知识蒸馏利用VLM扩大分割模型的词汇量,旨在分割由任意文本描述的像素(即超出基本类别的任何类别的像素)。例如,[35,186,187]通过将像素分组为多个段进行类别无关的分割,然后使用CLIP进行段识别,实现开放词汇语义分割。

CLIPSeg[188]引入一个轻量级的Transformer解码器,扩展CLIP用于语义分割。LSeg[189]最大化CLIP文本嵌入与分割模型编码的像素级图像嵌入之间的相关性。ZegCLIP1. 语义分割的知识蒸馏:开放词汇语义分割的知识蒸馏利用VLM扩大分割模型的词汇量,旨在分割由任意文本描述的像素(即超出基本类别的任何类别的像素)。

例如,[35,186,187]通过将像素分组为多个段进行类别无关的分割,然后使用CLIP进行段识别,实现开放词汇语义分割。CLIPSeg[188]引入一个轻量级的Transformer解码器,扩展CLIP用于语义分割。LSeg[189]最大化CLIP文本嵌入与分割模型编码的像素级图像嵌入之间的相关性。ZegCLIP[174]使用CLIP生成语义掩码,并引入关系描述符来减轻对基本类别的过拟合。MaskCLIP+[163]和SSIW[190]利用VLM预测的像素级伪标签进行知识蒸馏。FreeSeg[191]首先生成掩码提案,然后对其进行零样本分类。

弱监督语义分割的知识蒸馏旨在利用VLM和弱监督(如图像级标签)进行语义分割。例如,CLIP-ES[192]通过设计一个softmax函数和一个基于类感知注意力的亲和模块,使用CLIP细化类激活图,以缓解类别混淆问题。CLIMS[193]利用CLIP知识生成高质量的类激活图,以实现更好的弱监督语义分割。

2. 总结与讨论:总之,大多数VLM研究在两个密集视觉识别任务(即目标检测和语义分割)上探索知识蒸馏。对于目标检测,这些研究旨在更好地对齐图像级和对象级表示;对于语义分割,重点则是解决图像级和像素级表示之间的不匹配问题。

它们也可以根据方法进行分类,包括特征空间蒸馏(强制VLM的编码器与检测或分割编码器之间的嵌入一致性)和伪标签蒸馏(使用VLM生成的伪标签来正则化检测或分割模型)。此外,与VLM转移相比,VLM知识蒸馏在允许使用不同的下游网络方面具有明显更好的灵活性,而无需考虑原始VLM。

 八、性能比较

在本节中,我们对第五节至第七节中回顾的VLM预训练、VLM转移学习和VLM知识蒸馏方法进行比较、分析和讨论。

 (一)VLM预训练的性能

如第三节 - D所述,零样本预测作为一种广泛采用的评估设置,用于评估VLM在未经任务特定微调的情况下对未见任务的泛化能力。本小节介绍在不同视觉识别任务(包括图像分类、目标检测和语义分割)上零样本预测的性能。

表5展示了在11个广泛采用的图像分类任务上的评估结果。请注意,由于VLM预训练通常有不同的实现方式,表中显示的是VLM的最佳性能。从表5和图14中可以得出三个结论:1)VLM的性能通常与训练数据的大小相关。

如图14中的第一个图所示,扩大预训练数据会导致性能持续提升;2)VLM的性能通常与模型大小相关。如图中的第二个图所示,在使用相同预训练数据的情况下,扩大模型大小会持续提高VLM的性能;3)使用大规模图像文本训练数据,VLM可以在各种下游任务上实现卓越的零样本性能。如表5所示,COCA[19]在ImageNet上取得了最先进的性能,FILIP[18]在11个任务上的表现始终良好。

VLM卓越的泛化能力主要归因于三个因素:

1)大数据 - 由于图像文本对在互联网上几乎无限可用,VLM通常在数百万或数十亿的图像和文本样本上进行训练,这些样本涵盖了非常广泛的视觉和语言概念,从而带来了强大的泛化能力;

2)大模型 - 与传统视觉识别模型相比,VLM通常采用更大的模型(例如COCA[19]中的ViT - G有20亿个参数),为从大数据中有效学习提供了强大的能力;

3)任务无关学习 - VLM预训练中的监督通常是通用的且与任务无关。与传统视觉识别中的特定任务标签相比,图像文本对中的文本提供了与任务无关、多样且信息丰富的语言监督,有助于训练出在各种下游任务中都能良好工作的可泛化模型。

请注意,一些研究[45,46,67,71,129,131]使用局部VLM预训练目标(如区域 - 词匹配[67])来研究用于目标检测和语义分割的VLM预训练。表6和表7总结了在目标检测和语义分割任务上零样本预测的性能。我们可以观察到,VLM能够在这两个密集预测任务上实现有效的零样本预测。请注意,表6和表7中的结果可能与前面段落中的结论不一致,这主要是因为在密集视觉任务上,这一领域的研究较少,涉及的VLM也非常有限。

VLM的局限性:如前所述,尽管随着数据/模型大小的增加,VLM明显受益,但它们仍然存在一些局限性:

1)当数据/模型大小持续增加时,性能会饱和,进一步扩大规模不会提高性能[113,194];

(2)在VLM预训练中使用大规模数据需要大量的计算资源,例如CLIP ViT - L[10]需要256个V100 GPU,训练288小时;

(3)使用大模型在训练和推理中都会带来过多的计算和内存开销。

 (二)VLM转移学习的性能

本节总结了在监督转移、少样本监督转移和无监督转移设置下VLM转移的性能。表8展示了在11个广泛采用的图像分类数据集(如EuroSAT[104]、UCF101[29])上,使用不同骨干网络(如CNN骨干网络ResNet - 50和Transformer骨干网络ViT - B和ViT - L)的结果。请注意,表8总结了所有少样本监督方法在16样本设置下的性能。

从表8中可以得出三个结论。首先,VLM转移设置始终有助于下游任务。例如,监督的Wise - FT、少样本监督的CoOp和无监督的TPT在ImageNet上分别将准确率提高了10.9%、1.7%和0.8%。由于预训练的VLM通常与特定任务的数据存在领域差距,VLM转移可以通过从特定任务的数据(无论是否有标签)中学习来缓解这些差距。

其次,少样本监督转移的性能远远落后于监督转移(例如Wise - FT[162]中的87.1%和CuPL[160]中的76.6%),这主要是因为VLM可能会过度拟合少样本有标签样本,从而导致泛化能力下降。第三,无监督转移的性能可以与少样本监督转移相媲美(例如无监督的UPL[143]比2样本监督的CoOp[31]高出0.4%,无监督的TPT[144]与16样本的CoOp[31]相当),这主要是因为无监督转移可以访问大量无标签的下游数据,过拟合风险较低。然而,无监督转移也面临一些挑战,例如伪标签有噪声。我们期待在这个有前景但具有挑战性的研究方向上有更多的研究。

 (三)VLM知识蒸馏的性能

本节介绍VLM知识蒸馏在目标检测和语义分割任务中的作用。表9和表10分别展示了在广泛使用的检测数据集(如COCO[106]和LVIS[107])和分割数据集(如PASCAL VOC[90]和ADE20k[111])上的知识蒸馏性能。我们可以观察到,VLM知识蒸馏在检测和分割任务上始终带来明显的性能提升,这主要是因为它引入了通用且稳健的VLM知识,同时受益于检测和分割模型中的特定任务设计。

 (四)总结

从表5 - 表10中可以得出几个结论。在性能方面,VLM预训练由于其精心设计的预训练目标,在广泛的图像分类任务上实现了卓越的零样本预测。然而,用于密集视觉识别任务(区域或像素级检测和分割)的VLM预训练的发展远远落后。此外,VLM转移在多个图像分类数据集和视觉骨干网络上取得了显著进展。但是,监督或少样本监督转移仍然需要有标签的图像,而更有前景但具有挑战性的无监督VLM转移在很大程度上被忽视了。

在基准测试方面,大多数VLM转移研究采用相同的预训练VLM作为基线模型,并在相同的下游任务上进行评估,这极大地促进了基准测试。它们还发布了代码,并且不需要大量的计算资源,大大简化了重现和基准测试的过程。不同的是,VLM预训练使用不同的数据(例如CLIP[10]、LAION400M[21]和CC12M[79])和网络(例如ResNet[6]、ViT[57]、Transformer[58]和BERT[14])进行研究,这使得公平的基准测试成为一项非常具有挑战性的任务。一些VLM预训练研究还使用非公开的训练数据[10,18,83],或者需要大量的计算资源(例如[10]中需要256个V100 GPU)。对于VLM知识蒸馏,许多研究采用不同的特定任务骨干网络(例如ViLD采用Faster R - CNN,OV - DETR使用DETR),这使得基准测试变得非常复杂。因此,VLM预训练和VLM知识蒸馏在训练数据、网络和下游任务方面缺乏一定的规范。

 九、未来方向

VLM能够有效利用网络数据,无需任何特定任务的微调即可进行零样本预测,并且能够对任意类别的图像进行开放词汇视觉识别。它在视觉识别性能方面取得了巨大成功。在本节中,我们分享一些在未来视觉识别的VLM研究中可能面临的研究挑战和潜在研究方向。

对于VLM预训练,有以下四个挑战和潜在研究方向:

1. 细粒度视觉语言相关性建模:借助局部视觉语言对应知识[45,67],VLM可以更好地识别图像中的补丁和像素,这对目标检测和语义分割等密集预测任务非常有帮助,这些任务在各种视觉识别任务中起着重要作用。鉴于在这个方向上的VLM研究非常有限[45,46,67,71,129,131],我们期待更多关于用于零样本密集预测任务的细粒度VLM预训练的研究。

2. 视觉和语言学习的统一:Transformer[57,58]的出现使得通过以相同方式对图像和文本进行标记化,在单个Transformer中统一图像和文本学习成为可能。与现有VLM[10,17]中使用两个单独的网络不同,统一视觉和语言学习能够促进数据模态之间的高效通信,这对训练效果和训练效率都有好处。这个问题已经引起了一些关注[43,44],但为了实现更可持续的VLM,还需要更多的努力。

3. 多语言预训练VLM:大多数现有的VLM是用单一语言(即英语)进行训练的[10,17],这可能会在文化和地区方面引入偏差[77,79],并阻碍VLM在其他语言领域的应用。使用多种语言的文本对VLM进行预训练[119,120],可以学习不同语言中相同词义但不同的文化视觉特征[20],使VLM能够在不同的语言场景中高效、有效地工作。我们期待更多关于多语言VLM的研究。

4. 数据高效的VLM:大多数现有工作使用大规模训练数据和大量计算来训练VLM,这使得其可持续性成为一个重大问题。使用有限的图像文本数据训练有效的VLM可以大大缓解这个问题。例如,除了从每个图像文本对中学习之外,还可以通过图像文本对之间的监督学习更多有用信息[112,113]。

5. 使用大语言模型(LLMs)预训练VLM:近期研究[126,127]从LLMs中检索丰富的语言知识,以增强VLM预训练。具体来说,它们使用LLMs来增强原始图像文本对中的文本,这提供了更丰富的语言知识,并有助于更好地学习视觉语言相关性。我们期待在未来的研究中,对LLMs在VLM预训练中的应用进行更多探索。

对于VLM转移学习,有以下三个挑战和潜在研究方向:

1. 无监督VLM转移:大多数现有的VLM转移研究采用监督或少样本监督设置,这需要有标签的数据,而少样本监督容易对少样本样本过度拟合。无监督VLM转移可以探索大量无标签数据,过拟合风险低得多。在后续的VLM研究中,预计会有更多关于无监督VLM转移的研究。

2. 使用视觉提示/适配器的VLM转移:大多数现有的VLM转移研究集中在文本提示学习[31]上。视觉提示学习或视觉适配器与文本提示互补,能够在各种密集预测任务中实现像素级适应,但在很大程度上被忽视了。预计会有更多关于视觉领域VLM转移的研究。

3. 测试时VLM转移:大多数现有研究通过在每个下游任务上对VLM进行微调(即提示学习)来进行转移,在面对许多下游任务时会导致重复工作。测试时VLM转移允许在推理时动态调整提示,避免了现有VLM转移中重复的训练过程。我们可以预见,未来会有更多关于测试时VLM转移的研究。

4. 使用LLMs的VLM转移:与提示工程和提示学习不同,一些尝试[160,161]利用LLMs[172]生成更能描述下游任务的文本提示。这种方法是自动的,并且几乎不需要有标签的数据。我们期待在未来的研究中,对LLMs在VLM转移中的应用进行更多探索。

VLM知识蒸馏可以从两个方面进一步探索。第一是从多个VLM进行知识蒸馏,通过协调从多个VLM进行的知识蒸馏,可以收获它们的协同效应。第二是将知识蒸馏应用于其他视觉识别任务,如实例分割、全景分割、行人重识别等。

 十、结论

用于视觉识别的视觉语言模型能够有效利用网络数据,无需特定任务的微调即可进行零样本预测,这种模型易于实现,并且在广泛的识别任务中取得了巨大成功。本综述从背景、基础、数据集、技术方法、基准测试和未来研究方向等多个角度,对用于视觉识别的视觉语言模型进行了广泛回顾。以表格形式对VLM数据集、方法和性能进行的比较总结,清晰地展示了VLM预训练的近期发展全貌,这将极大地有助于在这个新兴且前景光明的研究方向上开展未来研究。

Capsule Networks for Computer Vision: A Survey 胶囊网络在计算机视觉中的应用:一篇综述 Abstract: 摘要: Capsule Networks (CapsNets)是一种新颖的深度神经网络架构,旨在克服传统卷积神经网络(CNNs)的一些限制,例如旋转不变性和视角不变性。Capsule Networks使用胶囊来表示图像或对象的各个特征,并且能够学习对象的姿态和空间关系。本文旨在提供对Capsule Networks的综述,重点介绍其在计算机视觉中的应用。我们首先介绍了Capsule Networks的基本原理和结构,并讨论了其与CNNs的区别。然后,我们概述了Capsule Networks在图像分类、目标检测、语义分割和图像生成等任务中的应用。接下来,我们总结了当前在Capsule Networks领域的最新研究进展,并讨论了该领域未来的发展方向。 Capsule Networks (CapsNets) are a novel deep neural network architecture aimed at overcoming some of the limitations of traditional Convolutional Neural Networks (CNNs), such as rotational and viewpoint invariance. Capsule Networks use capsules to represent various features of an image or object and are capable of learning the pose and spatial relationships of objects. This paper aims to provide a survey of Capsule Networks, with a focus on their applications in computer vision. We first introduce the basic principles and structure of Capsule Networks and discuss their differences with CNNs. Then, we outline the applications of Capsule Networks in tasks such as image classification, object detection, semantic segmentation, and image generation. Next, we summarize the latest research developments in the field of Capsule Networks and discuss future directions in this field.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值