大多数现有的视觉和语言(V&L)模型依赖预训练的视觉编码器,使用相对较小的人工标注数据集来感知视觉世界。然而,大规模的预训练通常可以产生更好的泛化性能,例如,在大量图像标题对上训练的CLIP(Contrastive Language-Image Pre-training,对比语言图像预训练)在各种视觉任务中表现出很强的零样本迁移能力。
为了进一步研究CLIP带来的优势,作者提出在两种典型场景中,在各种V&L模型中使用CLIP作为视觉编码器:2)将CLIP与V&L预训练相结合,并迁移到下游任务 。
作者发现,CLIP显著优于使用域内标注数据训练的视觉编码器(如Bottom Up-Top Down)。作者在各种V&L任务上取得了具有竞争力或更好的结果,同时在Visual Question Answering、 Visual Entailment和V&L Navigation任务上取得了SOTA的结果。论文和代码地址
How Much Can CLIP Benefit Vision-and-Language Tasks?
论文地址:https://arxiv.org/abs/2107.06383
代码地址:https://github.com/clip-vil/CLIP-ViL
Motivation
视觉和语言(V&L)任务能够测试系统在自然语言帮助下理解和推理视觉世界语义的能力。大多数V&L模型依靠视觉编码器感知视觉世界,将原始像素转换为表示空间的向量。
最近的工作表明,视觉表征已成为V&L模型的性能瓶颈,并强调学习强大视觉编码器的重要性。而高性能的视觉编码器通常是基于带有类别标签(如ImageNet)或边界框(如Visual Genome)的标注数据进行训练的。然而,这类检测或图像分类数据的收集成本很高,并且视觉表示受到预定义类别标签的限制。因此,需要一种视觉编码器,该编码器在更加多样化和大规模的数据源上进行训练,不受固定标签集的限制,并且具有对没见过的对象和概念的泛化能力。最近,CLIP被提出用来基于语言监督学习视觉概念。CLIP由视觉编码器和文本编码器组成,它是在从互联网上抓取的4亿的噪声图像-文本对上训练的。因此,收集的数据可以是大规模的,几乎不需要人工标注。CLIP在ImageNet分类等基准数据集测试中显示了强大的Zeroshot性能。因此,作者认为它对V&L任务也有很大的潜力。然而,将CLIP作为Zeroshot模型直接应用于V&L任务是非常困难的,因为许多V&L任务需要复杂的多模态推理。因此,作者提出将CLIP与现有的V&L模型集成,用CLIP的视觉编码器替换其视觉编码器。2) 将CLIP与V&L预训练结合起来,对图像-文本对进行训练,并迁移到下游任务中。这两种场景的模型分别表示为(没有V&L预训练)和(有V&L预训练)。
基于特定任务的微调,作者考虑了三个任务:视觉问答(Visual Question Answering)、图像字幕( Image Captioning)、视觉和语言导航(Vision-and-Language Navigation)。在V&L预训练中,作者将原来的region特征转换为了CLIP。方法
4.1. Background
在上图中展示了三个典型的预训练阶段:
1)视觉编码器在标注的视觉数据集上进行训练(即,视觉编码器预训练);2)(可选)对成对的图像字幕数据进行预训练(即,视觉和语言预训练);
3)对特定于任务的数据进行微调(即,特定于任务的微调)。
不同的模型使用不同的视觉编码器,上图展示了它们的结构和预训练过程。主要可以分为两类:
1)基于region的模型,比如BUTD目标检测器;2)基于grid的模型,即直接从视觉主干网络提取grid特征图。
4.2.
在本节中,作者将CLIP直接插入特定于任务的模型(称为CLIP-ViL),并对三个代表性任务进行微调,包括视觉问答、图像字幕和视觉语言导航。
4.2.1. Visual Question Answering
视觉问答(VQA)的任务是提供给定图像和相关问题的答案,在本文中,作者采用了两种方法Pythia和MCAN来研究CLIP特征对VQA的影响。
可以看出,基于CLIP的CNN模型的特征,性能能够优于基于以前特征的模型。
4.2.2. Image Captioning
图像字幕(Image Captioning)旨在生成图像的自然语言描述。
如上图所示,基于Transformer结构,CLIP特征训练的模型能够明显比BUTD提取的region特征和基于ImageNet的grid特征性能更高。
4.2.3. Vision-and-Language Navigation
视觉和语言导航旨在让agent具有根据人类指令采取行动的能力。
作者在两个数据集上进行了实验,分别为R2R和RxR,结果如上表所示。可以看出,CLIP的视觉特征确实优于以前的方法。4.3.
最近,V&L预训练被认为是提高各种V&L任务性能的有效方法。在特定任务的微调之前,模型先在对齐的图像文本数据上进行预训练。作者探索了将CLIP预训练和V&L预训练混合的潜力,因此提出了,这是一种以CLIP视觉编码器为视觉主干,对图像文本数据进行预训练的视觉和语言模型。
4.3.1. Model Architecture
以图像和文本作为输入。对于文本,可以将其转换为一系列的subword ,然后在这些subword 上加上position和segment embeddings得到输入的文本序列。
对于图像,只需要从grid特征中提取一系列的视觉向量,然后将图像和文本进行concat,得到。最后将其输入到Transformer中进行预训练,在预训练和微调期间,其参数都是可训练的。4.3.2. Pre-training on Image-Text Data
为了学习视觉和语言的统一表示,先对图像-文本对模型进行预训练。预训练中,作者采用了LXMERT中的三个预训练任务,分别为grounded masked language modeling, text-image matching,visual question answering。
上表展示了模型的实验结果,可以看出能够在VQA和 SNLI-VE上达到SOTA的性能。
实验
5.1. Zero-Shot Performance of CLIP in VQA
从上表可以看出,在zero-shot设置下,所有CLIP变体的性能都比较差,因此预训练和微调还是非常重要的。
5.2. Unfreezing the Visual Backbone
从上表可以看出,不冻结主干网络的参数能够获得进一步的性能提升。
5.3. Low Detection Performance of CLIP-ViT-B
从上面两张表,可以看出CLIP-ViT-B的grid特征的性能较差,作者认为这是因为ViT特征图内缺乏视觉定位的特性。
5.4. Qualitative Comparison of CLIP Variants
上图展示了CLIP-ViT-B和CLIP-Res50的Grad-CAM可视化的结果。
总结
在本文中,作者提出利用CLIP作为各种任务中不同V&L模型的视觉编码器。具体来说,作者尝试了两种方法:第一种,直接插入到特定任务的微调;在第二种方法中,将CLIP与V&L预训练相结合,然后对下游任务进行微调。对不同V&L任务的大量实验表明,与baseline相比,和可以获得具有竞争力甚至更好的性能。