作为计算机视觉(CV)研究中长期存在的挑战,视觉识别(如图像分类、目标检测和语义分割)是自动驾驶、遥感等众多计算机视觉应用的基石。深度学习的出现使得视觉识别取得了巨大成功。然而,现有的视觉识别研究大多依赖于昂贵的标注数据进行深度神经网络训练,并且通常需要为每个任务训练一个独立的网络,这导致了耗时费力的识别模式。
为了应对这些挑战,大型视觉语言模型引起了广泛关注并得到深入研究。通过学习互联网上大量图像-文本对之间丰富的视觉语言对应关系,现在可以使用一个视觉语言模型(如 CLIP、ALIGN)进行各种视觉识别任务的零样本预测。
本综述中,来自新加坡南洋理工大学的几位研究者全面研究了针对视觉识别任务的大型视觉语言模型,总结了最近的发展。
首先,他们回顾了视觉识别的发展背景。接着介绍了视觉语言模型的基础知识,包括广泛采用的深度网络架构、预训练目标以及用于评估视觉语言模型的下游任务和常用数据集。在此基础上,对视觉语言模型的预训练方法进行了总结和分类。此外,还对基于视觉语言模型的迁移学习和知识蒸馏方法进行了系统分析。最后,对回顾的方法进行了基准测试、分析和讨论,并提出了多个研究挑战和未来视觉识别中可能的研究方向。本综述将持续关注针对视觉识别任务的最新视觉语言模型相关工作。
论文地址:https://arxiv.org/pdf/2304.00685.pdf
项目地址:https://github.com/jingyi0000/VLM_survey
综述动机
1. 视觉语言模型(如 CLIP)的出现显著简化了视觉识别任务的训练模式,减少了对昂贵的精细标注数据的依赖。近年来,大量相关文章证明了研究者对视觉语言模型的浓厚兴趣。
2. 目前缺乏全面的综述来梳理基于视觉语言模型的视觉识别研究,以及面临的挑战和未来的研究方向。
因此,研究者认为有必要对视觉语言模型在各种视觉识别任务中的研究进行系统总结,以填补这一空白。
综述特点
1. 系统性:本文从多个角度对基于视觉语言模型的视觉识别进行了系统总结,包括背景、基础、数据集、方法、基准测试和未来研究方向。
2. 全面性:本文全面总结了相关工作,包括视觉语言模型的预训练方法,以及视觉语言模型的迁移学习和知识蒸馏方法。
3. 详细分类:对于每个方法类别,本文进行了详细分类,总结类似方法的工作,并进行了对比分析。例如,对于视觉语言模型的预训练方法,本文将其分为基于对比学习、基于生成目标和基于对齐目标的三大类,并在每个类别下进一步细(图 1)。
图 1. 综述的分类总览。
图 2. 常用的视觉语言模型预训练数据集总结。
视觉语言模型预训练方法的总结与对比
本文首先对视觉语言模型的预训练方法进行了总结和分类对比,分别为以对比学习为目的的方法、以生成任务为目的的方法和以对齐为目的的方法。
1. 基于对比学习的方法(Pre-Training with Contrastive Objectives)。对比目标通过在特征空间中将配对样本拉近并将其他样本推远来训练视觉语言模型学习具有识别力的特征。本章节根据对比学习的输入,进一步将方法细分为基于图像对比学习的方法,基于图像-文字对比学习的方法和基于图像-文字-标签对比学习的方法。
2. 基于生成任务的方法(Pre-training with Generative Objectives)。基于生成任务的方法通过训练网络进行图像生成、语言生成或跨模态生成来学习语义特征,进一步可细分为基于掩码图像建模的方法、基于掩码语言建模的方法、基于掩码跨模态建模的方法和基于图像到文本生成的方法。
3. 基于对齐目的的方法(VLM Pre-training with Alignment Objectives)。对齐任务目的是在将图像和文字的特征进行匹配,通常可以分为全局的图像-文字匹配和局部的图像区域-单词匹配。
视觉语言模型迁移方法的总结与对比
除了直接将预训练的视觉语言模型应用于下游任务的零样本预测之外,视觉语言模型的迁移学习同样吸引了大量的注意。迁移学习的目的是使得预训练过的视觉语言模型可以更好地适应下游任务。
本文将视觉语言模型的迁移方法主要分为了三大类,分别为提示调整方法、特征适配器方法和其他方法。
1. 提示调整方法(Prompt Tuning)。受自然语言处理中「提示学习」的启发,提示学习方法也被探索并且用于视觉语言模型的迁移中,通过寻找最佳的 prompt,并且不需要微调全部视觉语言模型的参数来适应下游任务。目前的提示调整方法进一步可以被分为文本提示调整、视觉提示调整和文本-视觉提示调整三种方法。
2. 特征适配器方法(Feature Adapter)。特征适配通过额外的轻量级特征适配器对视觉语言模型进行微调,以适应下游任务的图像或文本特征。
3. 其他方法。除了提示调整方法和特征适配器方法,一些研究也通过其他方法对视觉语言模型进行迁移,比如进行对视觉语言模型直接进行微调、更改视觉语言模型的架构等。
视觉语言模型知识蒸馏方法的总结与对比
视觉语言模型可以提取到视觉和文本概念的通用知识,因此一些研究探索了如何提炼通用视觉语言知识,来处理复杂的密集预测任务,例如目标检测和语义分割。
与视觉语言模型迁移方法不同,对视觉语言模型进行知识蒸馏的方法通常不受视觉语言模型架构的限制,并且大部分研究会利用当前最先进的检测或者分割架构的优势来达到更好的性能。
本文根据任务的不同,将知识蒸馏方法分为了针对于开放词汇目标检测(open-vocabulary object detection)的知识蒸馏以及针对于开放词汇语义分割(open-vocabulary semantic segmentation)的知识蒸馏。
实验结果比较
本文分别对视觉语言模型的预训练方法、迁移方法和知识蒸馏方法在各自的评估任务上进行了比较,并且对结果进行了分析(图 3-5)。
图 3. 视觉语言模型预训练方法在图像分类任务中零样本预测的性能
图 4. 视觉语言模型迁移方法在图像分类任务中的预测性能
未来方向
最后,本文还分享了一些研究挑战和潜在的研究方向,可以在未来的视觉语言模型研究中进行探索。
对于视觉语言模型的预训练:
细粒度视觉语言关系建模:通过考虑局部的视觉语言相关性知识,视觉语言模型可以更好地识别图像的区域和像素点,特别对于密集预测任务如目标检测和语义分割,在各种视觉识别任务中起到重要作用。
统一视觉和语言学习的架构:Transformer 的出现使得图像和文字可以通过相同的方式进行学习,这使得可以采用统一的 Transformer 架构处理图像和文字。与现有采用两个独立网络的视觉语言模型相比,统一视觉和语言学习可以实现跨模态的有效交流,并有效提升预训练的效率。
多语言适应性的视觉语言模型预训练:目前大多数视觉语言模型仅使用单一语言进行预训练(如英语),限制了其在非英语地区的应用。通过采用多种语言文本进行预训练,可以学习不同语言下相同单词的文化视觉特征,从而使视觉语言模型能够在不同语言环境下高效且有效地工作。
图 5. 视觉语言模型知识蒸馏方法在目标检测上的性能。
对于视觉语言模型的迁移:
无监督的视觉语言模型迁移:目前的迁移研究大多采用监督或少样本监督学习,需要标记数据,而后者往往容易过拟合到少量样本上。无监督的迁移可以探索大量未标记的数据,并且降低过度拟合的风险。
使用视觉提示 / 适配器进行迁移:目前的迁移研究主要集中在文本提示学习上。视觉提示学习或视觉适配器可以作为文本提示的补充,在各种密集预测任务中实现像素级的适应,从而获得更好的效果。
对于视觉语言模型的知识蒸馏,可以从两个方面进行进一步探索。第一,可以同时对多个视觉语言模型进行知识蒸馏,通过协调多个视觉语言模型的知识蒸馏来获得更好的效果。第二,可以将知识蒸馏应用于其他视觉识别任务,例如实例分割、全景分割、行人重新识别等,以进一步扩展知识蒸馏的应用领域。