Vision-Language Models for Vision Tasks: A Survey
题目:视觉-语言模型在视觉任务中的综述
作者:Jingyi Zhang; Jiaxing Huang; Sheng Jin; Shijian Lu
摘要
大多数视觉识别研究严重依赖于深度神经网络(DNN)训练中的众包标记数据,并且通常针对每个单一视觉识别任务训练一个DNN,导致了一个繁琐且耗时的视觉识别范式。为了解决这两个挑战,最近对视觉-语言模型(VLMs)进行了深入研究,它从互联网上几乎无限可用的大规模图像-文本对中学习丰富的视觉-语言相关性,并能够使用单个VLM在各种视觉识别任务上进行零样本预测。本文系统地回顾了视觉语言模型在各种视觉识别任务中的应用,包括:(1) 介绍视觉识别范式发展的背景;(2) VLM的基础,总结了广泛采用的网络架构、预训练目标和下游任务;(3) VLM预训练和评估中广泛采用的数据集;(4) 现有VLM预训练方法、VLM迁移学习方法和VLM知识蒸馏方法的综述和分类;(5) 对综述方法的基准测试、分析和讨论;(6) 未来VLM研究中可能追求的几个研究挑战和潜在研究方向。
关键词
-
大数据
-
大模型
-
深度学习
-
深度神经网络
-
知识蒸馏
-
目标检测
-
预训练
-
语义分割
-
迁移学习
-
视觉-语言模型
-
视觉识别
-
图像分类
I. 引言
视觉识别(例如,图像分类、目标检测和语义分割)是计算机视觉研究中长期存在的挑战,也是自动驾驶[1]、遥感[2]、机器人[3]等众多计算机视觉应用的基石。随着深度学习[4]、[5]、[6]的出现,视觉识别研究通过利用端到端可训练的深度神经网络(DNNs)取得了巨大成功。然而,从传统的机器学习[7]、[8]、[9]向深度学习的转变带来了两个新的大挑战,即在深度学习从头开始的经典设置下的DNN训练收敛缓慢[4]、[5]、[6],以及在DNN训练中收集大规模、任务特定和众包标记数据的繁琐工作[10]。
最近,一种新的学习范式预训练、微调和预测在广泛的视觉识别任务中显示出了巨大的有效性[11]、[12]、[13]。在这种新范式下,首先使用某些现成的大规模训练数据(无论是否标注)对DNN模型进行预训练,然后使用任务特定的标注训练数据对预训练模型进行微调,如图2(a)和(b)所示。由于预训练模型中已经学习到的全面知识,这种学习范式可以加速网络收敛,并训练出各种下游任务的高性能模型。
然而,预训练、微调和预测范式仍然需要每个下游任务的额外阶段,即使用标记训练数据进行任务特定的微调。受到自然语言处理[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预训练研究。第一条线探索了VLMs的迁移学习[31]、[32]、[33]、[34],有证据表明,几种迁移方法,例如,提示调整[31]、[32]、视觉适应[33]、[34]等,都分享了相同的目标,即有效适应预训练的VLMs以适应各种下游任务。第二条线探索了VLMs的知识蒸馏[35]、[36]、[37],例如,几项研究[35]、[36]、[37]探索了如何将知识从VLMs中蒸馏到下游任务中,旨在在目标检测、语义分割等方面取得更好的性能。
尽管从VLMs中获取大量知识的兴趣日益浓厚,如图1所示的大量最近论文所示,研究界缺乏一个全面的调查,可以帮助整理现有的基于VLM的视觉识别研究,面临的挑战,以及未来研究方向。我们的目标是通过对各种视觉识别任务中的VLM研究进行系统性调查来填补这一空白,包括图像分类、目标检测、语义分割等。我们从不同的角度进行调查,包括背景、基础、数据集、技术方法、基准测试和未来研究方向。我们相信,这项调查将提供一个清晰的大局图,说明我们已经取得了什么成就,以及我们在未来沿着这一新兴但非常有前景的研究方向可以进一步取得的成就。
总之,这项工作的主要贡献有三个方面。首先,它系统地回顾了VLMs在视觉识别任务中的应用,包括图像分类、目标检测和语义分割。据我们所知,这是第一次对VLMs进行视觉识别的调查,它为这一充满希望的研究领域提供了一个全面的概述,全面总结了现有的研究。其次,它研究了VLMs在视觉识别方面的最新进展,包括对多个公共数据集上的现有工作的全面基准测试和讨论。第三,它分享了几个研究挑战和潜在的研究方向,这些方向可以在视觉识别的VLMs中追求。
本次调查的其余部分组织如下。第二节介绍了视觉识别范式的发展和几个相关调查。第三节描述了VLM的基础,包括广泛使用的深度网络架构、预训练目标、预训练框架和VLM评估中的下游任务。第四节介绍了VLM预训练和评估中常用的数据集。第五节回顾和分类了VLM预训练方法。第六节和第七节分别提供了VLM迁移学习和VLM知识蒸馏方法的系统回顾。第八节在多个广泛采用的数据集上对所审查的方法进行了基准测试。最后,我们在第九节分享了几个有前景的VLM研究方向。
II. 背景
本节首先介绍视觉识别训练范式的发展历程,以及它是如何演变为视觉-语言模型预训练和零样本预测范式的。然后,我们介绍了视觉识别相关视觉-语言模型(VLMs)的发展。我们还讨论了几项相关调查,以突出本次调查的范围和贡献。
A. 视觉识别的训练范式
视觉识别范式的发展可以分为五个阶段,包括(1)传统机器学习和预测,(2)从头开始的深度学习和预测,(3)有监督的预训练、微调和预测,(4)无监督的预训练、微调和预测,以及(5)视觉-语言模型预训练和零样本预测。以下,我们将详细介绍、比较和分析这五种训练范式。
-
传统机器学习和预测:在深度学习时代之前[4],视觉识别研究严重依赖于手工特征的特征工程[9]和轻量级学习模型[7]、[8]、[39],这些模型将手工制作的特征分类为预定义的语义类别。然而,这种范式需要领域专家为特定视觉识别任务制作有效的特征,它不善于处理复杂任务,也缺乏可扩展性。
-
从头开始的深度学习和预测:随着深度学习的出现[4]、[5]、[6],视觉识别研究通过利用端到端可训练的深度神经网络(DNNs)取得了巨大成功,这些网络避免了复杂的特征工程,允许专注于神经网络的架构工程以学习有效特征。例如,ResNet[6]通过跳跃设计实现了非常深的网络,并允许从大规模众包标记数据中学习,以前所未有的性能在具有挑战性的ImageNet基准[40]上进行学习。然而,从传统机器学习向深度学习的转变带来了两个新的大挑战:在从头开始的深度学习经典设置下DNN训练的缓慢收敛,以及在DNN训练中收集大规模、任务特定和众包标记数据的繁重工作[10]。
-
有监督的预训练、微调和预测:随着发现从标记的大规模数据集中学习的特征可以转移到下游任务[11],从头开始的深度学习和预测范式逐渐被有监督的预训练、微调和预测新范式所取代。这种新的学习范式如图2(a)所示,首先在大规模标记数据(例如,ImageNet)上以有监督损失预训练DNN,然后用任务特定的训练数据微调预训练的DNN[11]。由于预训练的DNN已经学习了一定的视觉知识,它可以加速网络收敛,并帮助用有限的任务特定训练数据训练出表现良好的模型。
-
无监督的预训练、微调和预测:尽管有监督的预训练、微调和预测在许多视觉识别任务上取得了最先进的性能,但它需要在预训练中使用大规模标记数据。为了减轻这一限制,[12]、[13]采用了一种新的学习范式无监督的预训练、微调和预测,该范式探索自监督学习,从无标记数据中学习有用和可转移的表示,如图2(b)所示。为此,提出了各种自监督训练目标[12]、[41],包括掩蔽图像建模,该模型建模跨补丁关系[41],对比学习,通过对比训练样本学习区分特征[12]等。然后,自监督预训练模型在下游任务上用标记的任务特定训练数据进行微调。由于这种范式在预训练中不需要标记数据,它可以利用更多的训练数据来学习有用和可转移的特征,从而比有监督预训练[12]、[13]取得更好的性能。
-
VLM预训练和零样本预测:尽管有监督或无监督预训练的预训练和微调提高了网络的收敛性,但它仍然需要一个使用标记任务数据的微调阶段,如图2(a)和(b)所示。受到自然语言处理[14]、[15]、[16]中巨大成功的启发,提出了一种名为视觉-语言模型预训练和零样本预测的新深度学习范式,用于视觉识别,如图2(c)所示。利用互联网上几乎无限可用的大规模图像-文本对,VLM通过某些视觉-语言目标[10]、[18]、[19]进行预训练,捕获丰富的视觉-语言知识,并通过匹配任何给定图像和文本的嵌入,在下游视觉识别任务上进行零样本预测(无需微调)。
与预训练和微调相比,这种新范式实现了对大规模网络数据的有效利用,并且能够在没有特定任务微调的情况下进行零样本预测。大多数现有的研究尝试从3个角度改进VLMs:1) 收集大规模信息丰富的图像-文本数据,2) 设计高容量模型以有效学习大数据,3) 设计新的预训练目标以学习有效的VLMs。在本文中,我们提供了这种新的视觉-语言学习范式的系统性调查,旨在为这一充满挑战但有前景的研究领域提供清晰的全局视图,包括现有VLM研究、面临的挑战和未来的发展方向。
B. 视觉识别中VLM的发展
自从CLIP[10]的发展以来,与视觉识别相关的VLM研究取得了巨大进展。我们从图3所示的三个方面介绍视觉识别中的VLMs:(1) 预训练目标:从“单一目标”到“多重混合目标”。早期的VLMs[10]、[17]通常采用单一的预训练目标,而最近的VLMs[18]、[42]引入了多个目标(例如,对比、对齐和生成目标),以探索它们在更强大VLMs和下游任务更好性能方面的协同作用;(2) 预训练框架:从“多个独立网络”到“统一网络”。早期的VLMs[10]、[17]采用双塔预训练框架,而最近的VLMs[43]、[44]尝试使用单塔预训练框架,该框架使用统一网络对图像和文本进行编码,减少了GPU内存使用,同时提高了数据模态间的有效通信;(3) 下游任务:从简单到复杂的任务。早期的VLMs[10]、[17]专注于图像级视觉识别任务,而最近的VLMs[45]、[46]更加通用,也可以用于需要定位相关知识的复杂密集预测任务。
C. 相关调查
据我们所知,这是第一次对各种视觉识别任务中的VLMs进行调查。已经进行了几项相关调查,这些调查审查了视觉-语言任务中的VLMs,如视觉问题回答[47]、自然语言用于视觉推理[48]和短语定位[49]。例如,Li等人[50]分享了视觉-语言任务的进步,包括针对各种任务特定方法的VLM预训练。Du等人[51]和Chen等人[52]回顾了视觉-语言任务的VLM预训练[47]、[48]、[49]。Xu等人[53]和Wang等人[54]分享了多模态学习在多模态任务上的最新进展。不同地,如图4所示,我们从三个方面回顾了视觉识别任务中的VLMs:1) VLM预训练在视觉识别任务上的最新进展;2) 从VLMs到视觉识别任务的两种典型迁移方法;3) VLM预训练方法在视觉识别任务上的基准测试。
III. VLM 基础
VLM 预训练[10]、[17]旨在预训练一个 VLM 来学习图像-文本相关性,目标是在视觉识别任务[6]、[55]、[56]上进行有效的零样本预测[10]、[17]、[18]、[64]、[84]。给定图像-文本对[20]、[21],它首先使用一个文本编码器和一个图像编码器来提取图像和文本特征[6]、[14]、[57]、[58],然后通过某些预训练目标[10]、[17]学习视觉-语言相关性。因此,VLM 可以通过匹配任何给定图像和文本的嵌入在未见数据上进行零样本预测[10]、[17]。本节介绍 VLM 预训练的基础,包括用于提取图像和文本特征的常用网络架构、用于建模视觉-语言相关性的预训练目标、VLM 预训练框架以及用于 VLM 评估的下游任务。
A. 网络架构
VLM 预训练使用一个深度神经网络,从预训练数据集
中的
个图像-文本对中提取图像和文本特征,其中
和
分别表示一个图像样本及其配对的文本样本。深度神经网络具有一个图像编码器
和一个文本编码器
,它们将图像和文本(来自图像-文本对
)编码为图像嵌入
和文本嵌入
。本节介绍 VLM 预训练中广泛采用的深度神经网络架构。
-
用于学习图像特征的架构:有两种类型的网络架构被广泛采用来学习图像特征,即基于 CNN 的架构和基于 Transformer 的架构。
CNN 架构:不同的 ConvNets(例如,VGG [5]、ResNet [6] 和 EfficientNet [59])被设计用于学习图像特征。作为 VLM 预训练中最流行的 ConvNet 之一,ResNet [6] 采用跳跃连接来减轻梯度消失和爆炸问题,使得非常深的神经网络成为可能。为了更好地提取特征和视觉-语言建模,一些研究[10]修改了原始网络架构[6]、[59]。以 ResNet 为例,它们引入了 ResNet-D [60],在[61]中采用了抗锯齿的 rect-2 blur 池化,并在 transformer 多头注意力[58]中用注意力池化替换了全局平均池化。
Transformer 架构:最近,Transformer 在视觉识别任务中得到了广泛探索,例如图像分类[57]、目标检测[62]和语义分割[63]。作为图像特征学习的标准 Transformer 架构,ViT [57] 使用了一系列 Transformer 块,每个块由多头自注意力层和前馈网络组成。输入图像首先被分割成固定大小的补丁,然后在线性投影和位置嵌入后输入到 Transformer 编码器中。[10]、[18]、[64]通过在 Transformer 编码器前添加一个标准化层来修改 ViT。
-
用于学习语言特征的架构:Transformer 及其变体[14]、[16]、[58]已被广泛采用来学习文本特征。标准 Transformer [58]具有编码器-解码器结构,其中编码器有 6 个块,每个块都有多头自注意力层和多层感知器(MLP)。解码器也有 6 个块,每个块都有多头注意力层、掩蔽多头层和 MLP。大多数 VLM 研究,如 CLIP [10],采用了标准 Transformer [58],并进行了轻微修改,如在 GPT2 [16]中,从头开始训练,而不使用 GPT2 权重进行初始化。
B. VLM 预训练目标
作为 VLM 的核心,设计了各种视觉-语言预训练目标[10]、[12]、[14]、[19]、[42]、[65]、[66]、[67]来学习丰富的视觉-语言相关性。它们大致分为三类:对比目标、生成目标和对齐目标。
-
对比目标:对比目标通过拉近配对样本的嵌入并将其他样本推远,在特征空间中训练 VLM 以学习区分性特征[10]、[12]、[65]。
图像对比学习旨在通过强制查询图像与其正键(即其数据增强)在嵌入空间中靠近,而与其负键(即其他图像)远离,来学习区分性图像特征[12]、[13]。给定一批
个图像,对比学习目标(例如,InfoNCE[68]及其变体[12]、[13])通常被公式化为:
其中
是查询嵌入,
是键嵌入,其中
代表
的正键,其余是
的负键。
是控制学习表示密度的温度超参数。
图像-文本对比学习旨在通过拉近配对图像和文本的嵌入,同时推远其他图像和文本,来学习区分性图像-文本表示。它通常通过最小化对称的图像-文本 InfoNCE 损失来实现[10],即
,其中
图像-文本-标签对比学习引入了监督对比学习[69]到图像-文本对比学习中,通过重新定义 (2) 和 (3) 来定义:
-
生成目标:生成目标通过训练网络生成图像或文本数据来学习语义特征,通过图像生成[12]、[70]、[语言生成[14]、[19]或跨模态生成[42]。
遮蔽图像建模通过遮蔽和重构图像来学习跨补丁相关性[41]、[70]。它随机遮蔽输入图像的一组补丁,并训练编码器基于未遮蔽的补丁重构它们。给定一批
个图像,损失函数可以被公式化为:
遮蔽语言建模是自然语言处理中广泛采用的预训练目标[14]。它随机遮蔽输入文本中的一定百分比(例如,在 BERT [14]中为 15%)的标记,并基于未遮蔽的标记重构它们:
其中
和
分别表示
中的遮蔽和未遮蔽标记。
表示批次大小。遮蔽跨模态建模整合了遮蔽图像建模和遮蔽语言建模[42]。给定一个图像-文本对,它随机遮蔽一部分图像补丁和一部分文本标记,然后学习基于未遮蔽的图像补丁和未遮蔽的文本标记重构它们:
其中
表示
中的遮蔽/未遮蔽补丁,
表示
中的遮蔽/未遮蔽文本标记。
图像到文本生成旨在基于与
配对的图像预测文本
自回归地生成描述性文本:
$$L_{\text{ITG}} = -\sum_{l=1}^{L} \log f_{\theta}(x_T | x_{T_{
其中
表示要预测的
的标记数量,
是与
配对的图像的嵌入。
-
对齐目标:对齐目标通过全局图像-文本匹配[71]、[72]或局部区域-词匹配[45]、[67]在嵌入空间中对齐图像-文本对。
图像-文本匹配通过直接对齐配对的图像和文本来模拟全局相关性[71]、[72],可以通过一个评分函数
来公式化,该函数测量图像和文本之间的对齐概率,并使用二元分类损失:
其中
是 1 如果图像和文本是配对的,否则为 0。
区域-词匹配旨在模拟图像-文本对中的局部跨模态相关性(即,“图像区域”和“词”之间的相关性)[45]、[67],以便于目标检测等密集视觉识别任务中的零样本预测。它可以被公式化为:
其中
表示区域-词对,
如果区域和词是配对的,否则
。
表示一个局部评分函数,用于测量“图像区域”和“词”之间的相似性。
C. VLM 预训练框架
本节介绍 VLM 预训练中广泛采用的框架,包括双塔、双腿和单塔预训练框架。
具体来说,双塔框架在 VLM 预训练中已被广泛采用[10]、[17],其中输入图像和文本分别被两个独立的编码器编码,如图 5(a) 所示。略有不同,双腿框架[19]、[42]引入了额外的多模态融合层,这些层使得图像和文本模态之间的特征交互成为可能,如图 5(b) 所示。相比之下,单塔 VLMs[43]、[44]尝试在一个单一编码器中统一视觉和语言学习,如图 5(c) 所示,旨在促进数据模态之间的有效通信。
D. 评估设置和下游任务
本节介绍 VLM 评估中广泛采用的设置和下游任务。设置包括零样本预测和线性探测,下游任务包括图像分类、目标检测、语义分割、图像-文本检索和动作识别。
-
零样本预测:作为评估 VLM 泛化能力[10]、[17]、[18]、[64]、[84]最常见的方式,零样本预测直接将预训练的 VLM 应用于下游任务,无需任何任务特定的微调[10]。
图像分类[5]、[6]旨在将图像分类为预定义的类别。VLM 通过比较图像和文本的嵌入来实现零样本图像分类,其中通常采用“提示工程”来生成与任务相关的提示,如“a photo of a [label]”[10]。
语义分割[56]旨在为图像中的每个像素分配类别标签。预训练的 VLM 通过比较给定图像像素和文本的嵌入来实现零样本预测。
目标检测[11]、[55]旨在定位和分类图像中的对象,这在各种视觉应用中都很重要。通过从辅助数据集[85]、[86]中学习到的对象定位能力,预训练的 VLM 通过比较给定对象提议和文本的嵌入来实现零样本预测。
图像-文本检索[87]旨在根据另一种模态的线索从一种模态中检索所需样本,包括两个任务,即基于文本的图像检索和基于图像的文本检索。
-
线性探测:线性探测已在 VLM 评估中广泛采用[10]。它冻结预训练的 VLM 并训练一个线性分类器来对 VLM 编码的嵌入进行分类,以评估 VLM 表示。图像分类[5]、[6]和动作识别[28]、[29]已在此类评估中广泛采用,其中视频剪辑通常在动作识别任务中被抽样以高效识别。
IV. 数据集
本节总结了 VLM 预训练和评估中常用的数据集,详见表 I 和表 II。
A. VLM 预训练数据集
对于 VLM 预训练,从互联网上收集了多个大规模图像-文本数据集[10]、[17]、[20]、[21]。与传统的众包标记数据集[40]、[90]相比,图像-文本数据集[10]、[21]通常规模更大,收集成本更低。例如,最近的图像-文本数据集通常在十亿规模[20]、[21]、[83]。除了图像-文本数据集,一些研究[19]、[43]、[45]、[67]利用辅助数据集提供额外信息,以更好地进行视觉-语言建模,例如,GLIP[67]利用 Object365[85]提取区域级特征。图像-文本数据集和 VLM 预训练的辅助数据集的详细信息见附录 B(在线可获取)。
B. VLM 评估数据集
许多数据集已被用于 VLM 评估,如表 II 所示,包括 27 个用于图像分类的、4 个用于目标检测的、4 个用于语义分割的、2 个用于图像-文本检索的,以及 3 个用于动作识别的数据集(数据集详细信息见附录 C,在线可获取)。例如,27 个图像分类数据集涵盖了从细粒度任务,如 Oxford-IIIT PETS[26](宠物识别)和 Stanford Cars[25](汽车识别),到一般任务,如 ImageNet[40]。
V. 视觉-语言模型预训练
VLM 预训练已经通过三种典型的目标进行了探索:对比目标、生成目标和对齐目标。本节回顾了它们,并列举了多个 VLM 预训练研究,如表 III 所示。
A. 使用对比目标的 VLM 预训练
对比学习在 VLM 预训练中得到了广泛的探索,它设计了对比目标来学习区分性的图像-文本特征。
-
图像对比学习:这种预训练目标旨在学习图像模态中的区分性特征,通常作为辅助目标来充分利用图像数据的潜力。例如,SLIP[64]采用了标准 InfoNCE 损失定义在 (1) 中,用于学习区分性的图像特征。
-
图像-文本对比学习:图像-文本对比的目的是通过对比图像文本对来学习视觉-语言相关性,即将成对图像和文本的嵌入靠近,同时推向其他[10]。例如,CLIP [10]在(2)中使用了一个对称的图像-文本infoNCE损失,它通过图6中图像和文本嵌入之间的点积来度量图像-文本的相似性。因此,预先训练的VLM学习图像-文本相关性,允许在下游视觉识别任务中进行零镜头预测。
受到 CLIP 巨大成功的启发,许多研究从不同角度改进了对称的图像-文本 InfoNCE 损失。例如,ALIGN[17]通过噪声鲁棒对比学习扩展了 VLM 预训练,使用了大规模(即,18亿)但嘈杂的图像-文本对。一些研究[112]、[113]、[114]探索了数据高效 VLM 预训练,使用了更少的图像-文本对。例如,DeCLIP[113]引入了最近邻监督,利用相似对的信息,使得在有限数据上有效的预训练成为可能。OTTER[112]使用最优传输将图像和文本伪配对,大大减少了所需的训练数据。ZeroVL[114]通过去偏数据采样和数据增强与抛硬币混合来利用有限的数据资源。