《CLIP:Connecting text and images》论文学习

发布时间 2023-12-19 10:58:58作者: 郑瀚Andrew

一、Abstract

尽管深度学习已经彻底改革了计算机视觉领域,但当前的深度学习视觉方案方法存在几个主要问题:

  1. 高质量的视觉数据集,制作过程耗时且成本高昂,同时只包含了有限范围的视觉概念
  2. 标准的深度学习视觉模型(例如ImageNet、ResNet)擅长完成单一任务,且只能完成一个任务,需要投入巨大的努力(迁移学习、stacking fine-tune)才能适应新的任务
  3. 在基准测试上表现良好的模型,在压力测试与泛化测试中的性能却令人失望,这让人对整个深度学习在计算机视觉领域的方法产生了怀疑。

我们提出了一种旨在解决这些问题的神经网络:它接受训练时使用了多种多样的图片,以及网络上大量可得的自然语言语料进行自监督监督训练。

通过设计,这个网络可以使用自然语言进行操控,完成多种分类基准测试,而不需提前针对基准数据集进行针对性训练优化,这类似于GPT-2和GPT-3的“零样本学习(zero-shot)”能力。

这是一个关键的变化:通过不提前针对基准数据集进行针对性训练优化,我们展示了它能够变得更具代表性。我们的系统在缩小“鲁棒性差距”方面达到了高达75%的效果,同时在不使用任何原始的128万个标注样本的情况下,与原始的ResNet-50在ImageNet零样本学习中的表现匹敌。

参考链接:

https://openai.com/research/clip 

 

二、Background and related work

CLIP(Contrastive Language–Image Pre-training)建立在大量关于”zero-shot transfer“、”natural language supervision“、”multimodal learning“和”transfer learning“的研究基础之上。

零样本学习的理念可以追溯到十多年前,但直到最近,这一理念在计算机视觉领域主要被研究作为推广到未见过物体类别的方法。一个关键的洞见是利用自然语言作为一种灵活的预测空间,以实现泛化和转移。2013年,斯坦福大学的Richer Socher及其合作者开发了一个概念验证,通过在CIFAR-10上训练一个模型,使其在一个词向量嵌入空间中进行预测,并展示了该模型能够预测两个未见过的类别。同年,DeVISE扩展了这一方法,并证明可以对一个ImageNet模型进行微调,使其能够正确地预测原始1000训练集之外的对象。

CLIP最受启发的是FAIR的Ang Li及其合作者在2016年展示了使用自然语言监督来实现zero-shot transfer到几个现有的计算机视觉分类数据集的工作,如典型的ImageNet数据集。他们通过对一个ImageNet CNN进行微调,预测来自3000万Flickr照片的标题、描述和标签文本中更广泛的视觉概念集(视觉n-grams),并能够在ImageNet零次学习上达到11.5%的准确率。

最后,CLIP是过去一年重新审视从自然语言监督中学习视觉表示的一系列论文中的一部分。这一系列工作包括:

  • 使用了更现代的架构,如Transformer,并包括VirTex,它探讨了自回归语言建模
  • ICMLM,它研究了掩码语言建模
  • ConVIRT,它研究了我们在CLIP中使用的相同对比目标,但应用于医学成像领域。
参考链接:
https://www.cnblogs.com/LittleHann/p/17354069.html#_label3_3_1_3 

 

三、Approach

我们展示了只需扩大一个简单的预训练任务,就足以在各种各样的图像分类数据集上实现有竞争力的零样本学习性能。

我们的方法使用了一种大量可获得的监督来源:互联网上与图片配对的文本。这些数据被用来为CLIP创建以下的代理训练任务:给定一幅图像,预测在我们数据集中实际与之配对的32,768个随机采样的文本片段中的哪一个。

为了解决这个任务,我们的直觉是CLIP模型将需要学会识别图像中的各种视觉概念,并将它们与其名称关联起来。结果,CLIP模型可以应用于几乎任意的视觉分类任务。例如,如果数据集的任务是分类狗和猫的照片,我们检查每幅图像是否更可能与CLIP模型预测的文本描述“一张狗的照片”或“一张猫的照片”配对(用自然语言方式实现离散多分类任务)。

基本架构图如下所示,

0x2:缓解模型处理任务领域狭窄(Narrow)问题

一个ImageNet模型擅长预测1000个ImageNet类别,但这就是它“开箱即用”能做的全部。如果我们希望执行任何其他任务,机器学习从业者需要构建一个新的数据集,添加一个输出头(output head),并对模型进行微调(fine-tune)。

相比之下,CLIP可以在不需要额外训练样本的情况下,适应执行各种各样的视觉分类任务。要将CLIP应用于新任务,我们所需要做的就是“告诉”CLIP的文本编码器任务的视觉概念名称,它将输出CLIP视觉表示的线性分类器。这个分类器的准确率往往与完全监督的模型具有竞争力。

我们在下面展示了各种数据集中的示例上,零样本学习CLIP分类器的随机、未经精选的预测结果。