文献阅读-Clip

Scroll Down

Learning Transferable Visual Models From Natural Language Supervision

Astract

最先进的计算机视觉系统被训练来预测一组固定的预定对象类别。这种受限制的监督形式限制了它们的通用性和可用性,因为需要额外的标记数据来指定任何其他视觉概念。直接从原始文本中学习图像是一种很有前途的选择,它利用了更广泛的监督来源。我们证明了预测哪个标题与哪个图像相匹配的简单预训练任务是一种有效且可扩展的方法,可以在从互联网收集的4亿对(图像,文本)数据集上从头开始学习SOTA图像表示。在预训练之后,使用自然语言来参考学习到的视觉概念(或描述新的概念),从而实现模型向下游任务的零样本转移。我们通过对30多个不同的现有计算机视觉数据集进行基准测试来研究这种方法的性能,这些数据集涵盖了OCR、视频中的动作识别、地理定位和许多类型的细粒度对象分类等任务。该模型不平凡地转移到大多数任务,并且通常与完全监督的基线竞争,而不需要任何数据集特定的训练。例如,我们在ImageNet zero-shot上匹配原始ResNet-50的精度,而不需要使用它所训练的128万个训练样本中的任何一个。我们在https://github.com/OpenAI/CLIP上发布我们的代码和预训练的模型权重。

1.Introduction and Motivating Work

从原始文本中学习的预训练模型已经在NLP领域激起了系列变革。与任务无关的目标,如自回归和masked language modeling,已经在计算、模型容量和数据方面扩展了许多数量级,稳步提高了能力。“文本到文本”作为标准化输入输出接口的发展(McCann等人,2018;Radford等人,2019;rafael等人,2019)使任务无关架构能够零样本传输到下游数据集,从而消除了对专门输出头或数据集特定定制的需要。像GPT-3这样的旗舰系统(Brown等人,2020)现在在使用定制模型的许
这些结果表明,在网络规模的文本集合中,现代预训练方法可获得的总体监督优于高质量的人群标记NLP数据集。然而,在计算机视觉等其他领域,在人群标记数据集(如ImageNet)上预训练模型仍然是标准做法(Deng et al ., 2009)。

直接从网络文本中学习的可扩展预训练方法能否在计算机视觉领域取得类似的突破?先前的工作令人鼓舞。多任务中具有竞争力,而几乎不需要特定于数据集的训练数据。

20多年前,Mori等人(1999)通过训练一个模型来预测与图像配对的文本文档中的名词和形容词,探索了基于内容的图像检索的改进。Quattoni等人(2007)证明,通过训练分类器的权重空间中的流形学习,可以学习更有效的数据图像表示,以预测与图像相关的标题中的单词。Srivastava和Salakhutdinov(2012)通过在低级图像和文本标签特征之上训练多模态深度玻尔兹曼机(multimodal deep Boltzmann Machines)来探索深度表示学习。Joulin等人(2016)对这方面的工作进行了现代化,并证明cnn训练用来预测图像标题中的单词可以学习有用的图像表示。他们将YFCC100M数据集中图像的标题、描述和标签元数据(Thomee et al ., 2016)转换为词袋多标签分类任务,并表明预训练AlexNet (Krizhevsky et al ., 2012)预测这些标签学习表征,其表现与基于imagenet的预训练在迁移任务上的表现相似。Li等人(2017)然后将这种方法扩展到预测除了单个单词之外的短语图,并展示了他们的系统零样本转移到其他图像分类数据集通过的能力,通过根据目标类学习到的视觉n图字典对其进行评分,并预测得分最高的类别。VirTex (Desai & Johnson, 2020)、ICMLM (Bulent Sariyildiz等人,2020)和ConVIRT (Zhang等人,2020)采用了最新的架构和预训练方法,最近展示了基于transformer的语言建模、掩码语言建模和对比目标从文本中学习图像表示的潜力。

虽然作为概念证明令人兴奋,但使用自然语言监督进行图像表示学习仍然很少。这可能是因为在通用基准测试上的演示性能比其他方法低得多。例如,Li等人(2017)在零拍摄设置下在ImageNet上仅达到11.5%的准确率。这远低于目前技术水平的88.4%的准确率(Xie et al ., 2020)。它甚至低于经典计算机视觉方法的50%准确率(Deng et al, 2012)。相反,范围更窄但目标更明确的弱监管的使用改善了绩效。Mahajan等人(2018)表明,预测Instagram图像上与imagenet相关的标签是一项有效的预训练任务。当对ImageNet进行微调时,这些预训练模型的准确率提高了5%以上,并改善了当时的整体技术水平。Kolesnikov等人(2019)和Dosovitskiy等人(2020)也通过预训练模型来预测带有噪声标记的JFT-300M数据集的类别,在更广泛的迁移基准集上取得了巨大的收益。

这条工作路线代表了当前实用主义的中间立场,即从有限数量的监督“黄金标签”和从几乎无限数量的原始文本中学习之间进行学习。然而,这并非没有妥协。两者的工作都经过精心设计,并在工艺限制下,他们的有监督类别数分别为1000和18291。自然语言能够通过其通用性来表达并监督更广泛的视觉概念。这两种方法还使用静态softmax分类器来执行预测,并且缺乏动态输出的机制。这严重削弱了它们的灵活性,限制了它们的“zero-shot”能力. 这些弱监督模型与最近直接从自然语言中学习图像表示的探索之间的一个关键区别是规模。而Mahajan等人

(2018)和Kolesnikov等人(2019)在数百万到数十亿张图像上训练了他们的模型,VirTex、ICMLM和ConVIRT在一到二十万张图像上训练了加速器日。在这项工作中,我们缩小了这一差距,并研究了大规模自然语言监督训练的图像分类器的行为。在互联网上大量公开可用的这种形式的数据的支持下,我们创建了一个包含4亿对(图像,文本)的新数据集,并证明了从头开始训练的简化版本的ConVIRT,我们称之为CLIP,即对比语言-图像预训练,是一种从自然语言监督中学习的有效方法。我们通过训练一系列8个模型来研究CLIP的可扩展性,这些模型跨越了近2个数量级的计算,并观察到传输性能是计算的平滑可预测函数(hetness等人,2017;Kaplan et al, 2020)。我们发现CLIP,类似于GPT家族,在预训练期间学习执行广泛的任务,包括OCR,地理定位,动作识别等。我们通过在30多个现有数据集上对CLIP的零样本传输性能进行基准测试来衡量这一点并且发现它可以与先前的特定于任务的监督模型竞争。我们还通过线性探针表示学习分析证实了这些发现,并表明CLIP优于公开可用的最佳ImageNet模型,同时也具有更高的计算效率。我们还发现零射击CLIP模型比同等精度监督的ImageNet模型更健壮,这表明任务不可知模型的零样本评估更能代表模型的能力。这些结果具有重要的政策和伦理意义,我们将在第7节中加以考虑。

image.png

2.Approach

2.1 Natural Language Supervision

我们方法的核心思想是从自然语言的监督中学习感知。正如在引言中所讨论的,这并不是一个新想法,但是用于描述这一领域工作的术语是多种多样的,甚至看起来是矛盾的,并且所陈述的动机也是多种多样的。Zhang等人(2020)、Gomez等人(2017)、Joulin等人(2016)和Desai & Johnson(2020)都引入了从与图像配对的文本中学习视觉表示的方法,但分别将其方法描述为无监督、自监督、弱监督和监督。

我们要强调的是,这一行的共同之处并不是使用特定方法的任何细节,而是对自然语言作为训练信号的欣赏。所有这些方法都是从自然语言监督中学习的。尽管早期的工作在使用主题模型和n-gram表示时与自然语言的复杂性作斗争,但深度上下文表示学习的改进表明,我们现在有了有效利用这种丰富的监督来源的工具(McCann et al, 2017)。

与其他训练方法相比,从自然语言中学习有几个潜在的优势。与用于图像分类的标准众包标签相比,扩展自然语言监督要容易得多,因为它不要求注释采用经典的“机器学习兼容格式”,例如标准的1-of-N多数投票“金标”。相反,研究自然语言的方法可以被动地从互联网上大量文本的监督中学习。与大多数无监督或自监督学习方法相比,从自然语言中学习也有重要的优势,因为它不仅“只是”学习表征,而且还将该表征与语言联系起来,从而实现灵活的零迁移。在接下来的小节中,我们将详细介绍我们选定的具体方法。

2.2 Creating a Sufficiently Large Dataset

现有工作主要使用MS-COCO (Lin et al ., 2014)、Visual Genome (Krishna et al ., 2017)和YFCC100M (Thomee et al ., 2016)三个数据集。虽然MS-COCO和Visual Genome是高质量的人群标记数据集,但按照现代标准,它们的规模很小,每个数据集大约有10万张训练照片。相比之下,其他计算机视觉系统在多达35亿张照片上进行了训练(Mahajan et al, 2018)。YFCC100M, 1亿张照片,是一个可能的替代方案,但每张图像的元数据稀疏且质量参差不齐。许多图像使用自动生成的文件名,如20160716 113957.JPG作为“标题”或包含相机曝光设置的“描述”。经过过滤,只保留带有自然语言标题和/或英文描述的图像后,数据集缩小了6倍,只有1500万张照片。这与ImageNet的大小大致相同.

自然语言监督的一个主要动机是这种形式的大量数据在互联网上公开可用。由于现有的数据集不能充分反映这种可能性,因此只考虑这些数据集的结果会低估这一研究方向的潜力。为了解决这个问题,我们构建了一个新的数据集,其中包含4亿对(图像,文本)对,这些数据来自互联网上各种公开可用的资源。为了尝试覆盖尽可能广泛的视觉概念集,我们搜索(图像,文本)对作为构建过程的一部分,其文本包含500,000个查询集中的一个。我们大致平衡了分类结果通过对每个查询包含多达20000对图像文本。结果数据集的总字数与用于训练GPT-2的WebText数据集相似。我们将此数据集称为WebImageText的WIT。

2.3 Selecting an Efficient Pre-Training Method

最先进的计算机视觉系统使用了大量的计算。Mahajan等人(2018)需要19个GPU年来训练他们的ResNeXt101-32x48d和Xie等人(2020)需要33个TPUv3核心年来训练他们的Noisy Student EfficientNet-L2。当考虑到这两个系统都被训练为只能预测1000个ImageNet类时,从自然语言中学习一组开放的视觉概念的任务似乎令人望而生畏。在我们的努力过程中,我们发现训练效率是成功扩展自然语言监督的关键,我们基于这个指标选择了最终的预训练方法。

我们最初的方法类似于VirTex,从头开始联合训练图像CNN和文本转换器来预测图像的标题。然而,我们在有效扩展这种方法时遇到了困难。在图2中,我们展示了一个6300万个参数的转换器语言模型,它已经使用了两倍的ResNet-50图像编码器的计算,学习识别ImageNet类的速度比预测相同文本的单词袋编码的简单基线慢三倍.

这两种方法有一个关键的相似之处。他们试图预测每幅图片的准确文字。这是一项艰巨的任务,因为与图像同时出现的描述、评论和相关文本种类繁多。最近在图像对比表征学习方面的研究发现,对比目标比其等效的预测目标可以更好地学习表征(Tian et al ., 2019)。其他研究发现,尽管图像的生成模型可以学习高质量的图像表示,但与具有相同性能的对比模型相比,它们需要超过一个数量级的计算量(Chen et al ., 2020a)。注意到这些发现,我们探索训练一个系统来解决潜在的更容易的代理任务,即只预测哪个文本作为一个整体与哪个图像配对,而不是该文本的确切单词。从相同的词袋编码基线开始,我们将预测目标替换为图2中的对比目标,并观察到零样本转移到ImageNet的效率进一步提高了4倍。

给a的N批次(图像、文本)副剪辑是训练N×N可能预测该怎么办》(图像,文本)pairings穿过一个批次的产品实际上发生。要做到这一点,Clip通过联合训练一个图像编码器和文本编码器来获取多模态嵌入空间,最大化批处理中N个实对的图像和文本嵌入的余弦相似度,同时最小化N2−N个错误对嵌入的余弦相似度。我们在这些相似性得分上优化对称交叉熵损失。在图3中,我们包含了CLIP实现的核心伪代码。据我们所知,这种批量构建技术和目标首先作为多类n对损失Sohn(2016)引入深度度量学习领域,由Oord等人(2018)作为InfoNCE损失推广用于对比表示学习,最近由Zhang等人用于医学成像领域的对比(文本、图像)表示学习(2020)。

由于我们的预训练数据集很大,过度拟合不是主要问题,并且与Zhang等人的实现相比,训练CLIP的细节得到了简化(2020)。我们从头开始训练CLIP,而不使用ImageNet权重初始化图像编码器或使用预训练权重初始化文本编码器。我们没有使用表征和对比嵌入空间之间的非线性投影,这种变化是由Bachman等人(2019)引入的,并由Chen等人(2020b)推广。我们只使用线性投影将每个编码器的表示映射到多模态嵌入空间。我们没有注意到两个版本之间的训练效率差异,并推测非线性投影可能仅在自监督表示学习方法中与当前图像的细节共同适应。我们还删除了Zhang等人的文本转换函数tu(2020)从文本中统一采样单个句子,因为CLIP的预训练数据集中的许多(图像,文本)对只是单个句子。我们还简化了图像变换函数tv。从调整大小的图像中随机裁剪是训练期间使用的唯一数据增强。最后,控制softmax中对数范围的温度参数τ在训练过程中被直接优化为对数参数化的乘法标量,以避免变成超参数。

2.4 Choosing and Scaling a Model

我们考虑了图像编码器的两种不同架构。首先,我们使用ResNet-50 (He et al, 2016a)作为图像编码器的基础架构,因为它被广泛采用并且性能成熟。我们使用He等人(2019)的ResNetD改进和Zhang(2019)的抗锯齿rect-2模糊池对原始版本进行了一些修改。我们还将全局平均池化层替换为注意力池化机制。注意力池被实现为一个单层的“变压器式”多头QKV注意力,其中查询以图像的全局平均池表达为条件。对于第二个架构,我们使用最近引入的视觉变压器(ViT)进行实验(Dosovitskiy等人,2020)。我们密切关注它们的实现,仅对transformer之前的组合贴片和位置嵌入添加了额外的层规范化,并使用略有不同的初始化方案。

image.png

文本编码器是一个Transformer (Vaswani等人,2017),其架构修改在Radford等人(2019)中描述。作为基本尺寸,我们使用一个具有8个注意头的63M参数的12层512宽模型。转换器在49,152词汇表大小的文本的小写字节对编码(BPE)表示上操作(Sennrich et al, 2015)。为了计算效率,最大序列长度被限制在76。文本序列用[SOS]和[EOS]令牌括起来,[EOS]令牌处变压器最高层的激活被视为文本的特征表示,文本被层归一化,然后线性投影到多模态嵌入空间中。在文本编码器中使用了隐藏的自注意,以保留使用预训练的语言模型进行初始化或添加语言建模作为辅助目标的能力,尽管对这方面的探索有待于未来的工作。

虽然以前的计算机视觉研究通常通过单独增加宽度(Mahajan等人,2018)或深度(He等人,2016a)来缩放模型,但对于ResNet图像编码器,我们采用了Tan和Le(2019)的方法,该方法发现在所有宽度、深度和分辨率上分配额外的计算比仅将其分配到模型的一个维度更好。虽然Tan和Le(2019)调整了分配给其EfficientNet架构的每个维度的计算比例,但我们使用了一个简单的基线,平均分配额外的计算来增加模型的宽度、深度和分辨率。对于文本编码器,我们只缩放模型的宽度,使其与ResNet宽度的计算增量成正比,而根本不缩放深度,因为我们发现CLIP的性能对文本编码器的容量不太敏感。

2.5 Training

我们训练了一系列的5个resnet和3个Vision transformer。对于resnet,我们训练了一个ResNet-50,一个ResNet-101,然后还有3个遵循效率网风格的模型缩放,并使用大约4倍,16倍和64倍的ResNet-50计算。分别记为RN50x4、RN50x16、RN50x64。对于视觉变压器,我们训练了一个vitb /32,一个vitb /16和一个vitl /14。我们训练了32个epoch的所有模型。我们将Adam优化器(Kingma & Ba, 2014)与解耦权重衰减正则化(Loshchilov & Hutter, 2017)应用于所有非增益或偏差的权重,并使用余弦调度衰减学习率(Loshchilov & Hutter, 2016)。初始超参数设置使用网格搜索,随机搜索和手动调整基线ResNet50模型的组合,当训练为1 epoch时。然后,由于计算约束,超参数被启发式地适应于更大的模型。可学习的温度参数τ被初始化为(Wu et al ., 2018)中的0.07,并被截断以防止对数缩放超过100,我们发现这是防止训练不稳定所必需的。我们使用非常大的32,768个小批量。混合精度(Micikevicius et al ., 2017)用于加速训练和节省内存。为了节省额外的内存,梯度检查点(Griewank & Walther, 2000;Chen et al ., 2016)、半精度Adam统计(Dhariwal et al ., 2020)和半精度随机四舍五入文本编码器权重。嵌入相似度的计算也被分片,单个gpu只计算其局部批次嵌入所需的成对相似度的子集。最大的ResNet模型RN50x64在592个V100 gpu上花了18天的时间进行训练,而最大的Vision Transformer在256个V100 gpu上花了12天的时间。对于viti - l /14,我们还以更高的336像素分辨率预训练一个额外的epoch,以提高类似于FixRes的性能(Touvron等人,2019)。我们将此模型记为vitl /14@336px。除非另有说明,本文报告的所有结果都是“CLIP”,使用我们发现表现最好的模型。

3.Experiments

3.1 Zero-shot Transfer

3.1.1 Motivation

在计算机视觉中,零射击学习通常是指对图像分类中未见对象类别进行泛化的研究(Lampert et al ., 2009)。相反,我们在更广泛的意义上使用这个术语,并研究对未见过的数据集的泛化。我们将其作为执行看不见的任务的代理,正如Larochelle等人(2008)在零数据学习论文中所期望的那样。虽然无监督学习领域的许多研究都集中在机器学习系统的表示学习能力上,但我们鼓励研究零迁移作为衡量机器学习系统任务学习能力的一种方法。在此视图中,数据集评估特定分布上任务的性能。然而,许多流行的计算机视觉数据集是由研究界创建的,主要是作为指导通用图像分类方法开发的基准,而不是衡量特定任务的性能。虽然可以合理地说SVHN数据集测量了谷歌街景照片分布上的街道号码转录任务,但尚不清楚CIFAR-10数据集测量的是什么“真正的”任务。然而,很明显,CIFAR-10是从TinyImages中提取的分布(Torralba et al, 2008)。在这类数据集上,零概率迁移更多的是评价CLIP对分布偏移和领域泛化的鲁棒性,而不是任务泛化。请参见第3.3节对此进行分析。

据我们所知,Visual N-Grams (Li et al ., 2017)首先以上述方式研究了零样本到现有图像分类数据集的转移。这也是我们所知道的唯一一项使用一般预训练模型研究零样本转移到标准图像分类数据集的工作,并作为上下文化CLIP的最佳参考点。他们的方法学习了一个包含142,806个视觉n-gram(跨越1到5 grams)的字典的参数,并使用Jelinek-Mercer平滑的不同版本来优化这些n-gram,以最大化给定图像中所有文本n-gram的概率。为了执行零样本转移,他们首先将数据集的每个类名的文本转换为其n-gram表示,然后根据他们的模型计算其概率,预测得分最高的一个。

我们之所以关注零迁移作为任务学习的一种评价,是因为受到了NLP领域中任务学习研究的启发。据我们所知,Liu等人(2018)首先将任务学习确定为一种“意想不到的副作用”,即训练生成维基百科文章的语言模型学会了在语言之间可靠地音译名称。尽管GPT-1把预训练作为一种迁移学习方法来提高有监督微调性能,它还包括一项消融研究,表明四种启发式零射击转移方法的性能在预训练过程中稳步提高,没有任何监督适应。该分析是GPT-2 (Radford et al ., 2019)的基础,GPT-2专注于通过零迁移研究语言模型的任务学习能力。

3.1.2 USING CLIP FOR ZERO-SHOT TRANSFER

CLIP被预先训练来预测图像和文本片段是否在其数据集中配对在一起。为了执行零射击分类,我们重用此功能。对于每个数据集,我们使用数据集中所有类的名称作为潜在文本配对的集合,并根据CLIP预测最可能的(图像,文本)配对。更详细地说,我们首先通过各自的编码器计算图像的特征嵌入和可能文本集的特征嵌入。然后计算这些嵌入的余弦相似度,通过温度参数τ缩放,并通过softmax归一化为概率分布。请注意,该预测层是一个多项逻辑回归分类器,具有l2归一化输入、l2归一化权重、无偏差和温度缩放。当以这种方式解释时,图像编码器是计算图像特征表示的计算机视觉骨干,文本编码器是一个超网络(Ha et al, 2016),它根据指定类所代表的视觉概念的文本生成线性分类器的权重。Lei Ba等人(2015)首先引入了这种形式的零采样图像分类器,而从自然语言生成分类器的想法至少可以追溯到Elhoseiny等人(2013)。继续这种解释,CLIP预训练的每一步都可以被视为优化随机创建的代理到计算机视觉数据集的性能,该数据集每个类包含1个示例,通过自然语言描述定义了32,768个类。对于零射击评估,一旦文本编码器计算出零射击分类器,我们就缓存它,并在所有后续预测中重用它。这允许在数据集中的所有预测中平摊生成它的成本.

3.1.3 INITIAL COMPARISON TO VISUAL N-GRAMS

在表1中,我们比较了视觉N-Grams和CLIP。最佳CLIP模型将ImageNet上的准确率从概念验证的11.5%提高到76.2%,并且与原始ResNet-50的性能相匹配,尽管该数据集没有使用128万个人群标记的训练示例。此外,CLIP模型的前5个准确率明显高于前1个,该模型的前5个准确率为95%,与Inception-V4相匹配(Szegedy et al, 2016)。在零样本的情况下,与强大的,完全监督的基线相匹配的能力表明CLIP是向灵活实用的零射击计算机视觉分类器迈出的重要一步。如上所述,与Visual n - gram的比较是为了将CLIP的性能置于上下文环境中,不应被解释为CLIP与Visual n - gram之间的直接方法比较,因为两个系统之间的许多性能相关差异没有得到控制。例如,我们在一个大10倍的数据集上进行训练,使用一个视觉模型,每次预测需要近100倍的计算,可能使用超过1000倍的训练计算,并使用基于转换器的模型,这在Visual N-Grams发布时并不存在。作为更仔细的比较,我们在相同的YFCC100M数据集上训练了CLIP ResNet-50, Visual N-Grams是在该数据集上训练的,并发现它与他们在V100 GPU日内报告的ImageNet性能相匹配。这个基线也是从头开始训练的,而不是像Visual N-Grams那样从预训练的ImageNet权重初始化。
image.png

CLIP在其他2个报告的数据集上也优于Visual N-Grams。在雅虎上,CLIP将错误数量减少了95%,在SUN上,CLIP将视觉N-Grams的准确性提高了一倍以上。为了进行更全面的分析和压力测试,我们实施了一个更大的评估套件,详见附录a。总的来说,我们从Visual NGrams中报告的3个数据集扩展到包括30多个数据集,并与50多个现有计算机视觉系统进行比较,以将结果上下文化。

3.1.4 Prompt Engineering And Ensembling

大多数标准图像分类数据集都将命名或描述类的信息视为事后的想法,这使得基于自然语言的零采样传输成为可能。绝大多数数据集仅使用标签的数字id对图像进行注释,并包含将这些id映射回其英文名称的文件。有些数据集,如Flowers102和GTSRB,在其发布版本中似乎根本不包括这种映射,从而完全阻止了零样本传输。对于很多数据集,我们观察到这些标签可能被随意选择,并且不要预期Zero-shot transfer相关的问题,Zero-shot transfer依赖于任务描述才能成功转移。

一个常见的问题是一词多义。当类的名称是提供给CLIP的文本编码器的唯一信息时,由于缺乏上下文,它无法区分指的是哪个词义。在某些情况下,同一个单词的多个含义可能会作为不同的类包含在同一个数据集中!这发生在ImageNet中,它包含建筑起重机和飞行起重机。另一个例子是在Oxford-IIIT Pet数据集的类中发现的,从上下文来看,单词boxer显然指的是一种狗,但对于缺乏上下文的文本编码器来说,它很可能指的是一种运动员。

我们遇到的另一个问题是,在我们的预训练数据集中,与图像配对的文本只有一个单词是相对罕见的。通常文本是一个完整的句子,以某种方式描述图像。为了帮助弥合这种分布差距,我们发现使用提示模板“一张松弛的照片。”是一个很好的默认值,可以帮助指定文本是关于图像的内容。与仅使用标签文本的基线相比,这通常可以提高性能。例如,仅仅使用这个提示符就可以将ImageNet上的准确率提高1.3%。类似于围绕GPT3的“提示工程”讨论(Brown et al, 2020;Gao等人,2020),我们还观察到,通过为每个任务定制提示文本可以显著提高零射击性能。下面是一些不详尽的例子。我们在几个细粒度的图像分类数据集中发现,它有助于指定类别。例如在Oxford-IIIT Pets上,使用“一张松弛的宠物的照片。来帮助提供背景,效果很好。同样,在Food101上指定一种食物和在FGVC飞机上指定一种飞机也有所帮助。对于OCR数据集,我们发现在要识别的文本或数字周围加上引号可以提高性能。最后,我们发现在卫星图像分类数据集中,它有助于指定图像是这种形式,我们使用“松弛的卫星照片”的变体。

我们还尝试了在多个zero-shot分类器上进行集成,作为提高性能的另一种方法。这些分类器是通过使用不同的上下文提示来计算的,比如“一张大松弛的照片”和“一张小松弛的照片”。我们在嵌入空间而不是概率空间上构造集成。这允许我们缓存一组平均文本嵌入,这样当在许多预测上平摊时,集成的计算成本与使用单个分类器相同。我们已经观察到在许多生成的零射击分类器上进行集成,以可靠地提高性能,并将其用于大多数数据集。在ImageNet上,我们集成了80个不同的上下文提示,这比上面讨论的单个默认提示额外提高了3.5%的性能。当一起考虑时,快速工程和集成可以将ImageNet的精度提高近5%。在图4中,我们可视化了与Li等人所做的直接嵌入类名的无上下文基线方法相比,快速工程和集成如何改变一组CLIP模型的性能(2017)。

3.1.5 ANALYSIS OF ZERO-SHOT CLIP PERFORMANCE

由于计算机视觉的任务无关的零样本分类器已经得到了充分的研究,CLIP提供了一个有希望的机会来更好地理解这种类型的模型。在本节中,我们对CLIP的零样本分类器的各种属性进行了研究。作为第一个问题,我们简单地看看零命中率分类器的表现如何。为了说明这一点,我们比较了一个简单的现成基线的性能:在规范ResNet-50的特征上拟合一个完全监督的、正则化的逻辑回归分类器。在图5中,我们展示了跨27个数据集的比较。有关数据集和设置的详细信息,请参见附录A。

零样本CLIP表现略微优于此baseline并在27个数据集中的16个上获胜。查看单个数据集会发现一些有趣的行为。在细粒度分类任务上,我们观察到性能上的广泛差异。在其中两个数据集(Stanford Cars和Food101)上,Zero-shot CLIP在ResNet-50特征上的表现比逻辑回归好20%以上,而在另外两个数据集(Flowers102和fgvc - aircraft)上,Zero-shot CLIP的表现比逻辑回归差10%以上。在OxfordPets和Birdsnap上,二者的表现更为接近。我们怀疑这些差异主要是由于WIT和ImageNet之间每个任务监督的数量不同。在ImageNet、CIFAR10/100、STL10和PascalVOC2007等“一般”对象分类数据集上,性能相对相似,在所有情况下,Zero-shot CLIP都有轻微的优势。在STL10上,CLIP总体达到99.3%,尽管没有使用任何训练样例,但这似乎是一个新的艺术状态。Zeroshot CLIP在视频中测量动作识别的两个数据集上显着优于ResNet-50。在Kinetics700上,CLIP的表现比ResNet-50高出14.5%。在UCF101上,Zeroshot CLIP的性能也比ResNet-50的性能高出7.7%。我们推测这是由于与ImageNet中以名词为中心的对象监督相比,自然语言对涉及动词的视觉概念提供了更广泛的监督。
image.png

看看Zero-shot Clip表现不佳的地方我们看到,zero-shot CLIP在一些专门的、复杂的或抽象的任务上非常弱,比如卫星图像分类(EuroSAT和RESISC45)、淋巴结肿瘤检测(PatchCamelyon)、合成场景中的物体计数(CLEVRCounts)、自动驾驶相关的任务,比如德国交通标志识别(GTSRB)、识别到最近汽车的距离(KITTI distance)。这些结果突出了Zero-shot CLIP在更复杂任务中的较差能力。相比之下,非专业的人类可以稳健地执行其中的一些任务,如计数、卫星图像分类和交通标志识别,这表明还有很大的改进空间。然而,我们需要提醒的是,目前尚不清楚,对于学习者之前没有经验的困难任务,如几乎所有人类的淋巴结肿瘤分类(可能还有CLIP),测量零样本迁移而不是少样本迁移)是否有意义。

image.png

虽然将零样本性能与完全监督模型进行比较可以将CLIP的任务学习能力置于上下文环境中,但与少样本方法进行比较是更直接的比较,因为零样本是其极限。在图6中,我们可视化了在许多图像模型(包括最好的公开可用的ImageNet模型、自监督学习方法和CLIP本身)的特征上,零样本CLIP与少采样逻辑回归的比较。虽然直观地认为zero-shot不如one shot,但我们发现zero-shot CLIP在相同的特征空间上与four-shot逻辑回归的性能相匹配。这可能是由于zero-shot和few-shot方法之间的重要区别。首先,CLIP的零射击分类器是通过自然语言生成的,它允许直接指定视觉概念(“交流”)。相比之下,“正常的”监督学习必须间接地从训练样本中推断概念。无上下文的基于实例的学习有一个缺点,即许多不同的假设可以与数据一致,特别是在一次性案例中。一张图片通常包含许多不同的视觉概念。虽然一个有能力的学习者能够利用视觉线索和启发式,比如假设被演示的概念是图像中的主要对象,但这并不能保证。

zero-shot和few-shot性能之间这种差异的一个潜在解决方案是使用CLIP的zero-shot分类器作为few-shot分类器权重的先验。虽然对生成的权重添加L2惩罚是这个想法的直接实现,但我们发现超参数优化通常会选择这个正则器的如此大的值,以至于得到的few-shot分类器“只是”zero-shot分类器。研究将zero-shot迁移的强度与few-shot学习的灵活性更好地结合起来的方法是未来工作的一个有希望的方向。

当在其他模型的特征上比较zero-shot CLIP和few-shot 逻辑回归时,zero-shot CLIP的性能大致与我们的评估套件中表现最好的16-shot分类器的性能相匹配,该评估套件使用了在ImageNet-21K上训练的BiT-M ResNet-152x2的特征。我们确信,在JFT-300M上训练的BiT-L模型会表现得更好,但这些模型尚未公开发布。BiT-M ResNet-152x2在16-shot射击设置中表现最好,这有点令人惊讶,因为正如第3.2节所分析的那样,Noisy Student EfficientNet-L2在27个数据集的完全监督设置中平均比它高出近5%。

除了研究zero-shot CLIP和few-shot逻辑回归的平均性能外,我们还研究了单个数据集的性能。在图7中,我们显示了相同特征空间上的逻辑回归分类器需要匹配zero-shot CLIP性能的每个类的标记示例数量的估计。由于zero-shot CLIP也是一个线性分类器,这估计了在这种设置下zero-shot 传输的有效数据效率。为了避免训练数千个线性分类器,我们基于1、2、4、8、16个shot(如果可能的话)的性能的对数插值和在每个数据集上训练的完全监督线性分类器来估计有效的数据效率。我们发现zero-shot 迁移在每个数据集上的效率差异很大,,从每个类不到1个标记示例到184个。Flowers102和EuroSAT这两个数据集的表现不如一次性模型。一半的数据集需要每个类少于5个样本,中位数为5.4。然而,平均估计的数据效率是每个类20.8个样本。这是由于20%的数据集中,监督分类器为了匹配性能,每个类需要许多标记的示例。在ImageNet上,零射击CLIP与在相同特征空间上训练的16射击线性分类器的性能相匹配。

如果我们假设评估数据集足够大,可以很好地估计在其上训练的线性分类器的参数,那么,由于CLIP的零射击分类器也是一个线性分类器,因此完全监督分类器的性能大致设置了zero-shot transfer可以实现的上界。在图8中,我们将CLIP的zero-shot性能与跨数据集的完全监督线性分类器进行了比较。虚线,y = x表示一个“最优”的zero-shot分类器,其性能与完全监督的等效分类器相匹配。对于大多数数据集,zero-shot分类器的性能仍然比完全监督分类器差10%到25%,这表明CLIP的任务学习和zero-shot 迁移能力仍有很大的提升空间。

在zero-shot性能和全监督性能之间存在0.82 (p值< 10−6)的正相关,这表明CLIP在将基础表征和任务学习与zero-shot transfer联系起来方面是相对一致的。然而,zero-shot CLIP仅在5个数据集上接近完全监督性能:STL10, CIFAR10, Food101, OxfordPets和Caltech101。在所有5个数据集上,zero-shot准确率和完全监督准确率都超过90%。这表明CLIP在zero-shot transfer任务中可能更有效,因为它的底层表征也是高质量的。预测零投性能的线性回归模型的斜率作为完全监督性能的函数估计,在完全监督性能上每提高1%,零投性能就提高1.28%。然而,第95百分位置信区间仍然包括小于1的值(0.93-1.79)。

在过去的几年里,深度学习系统的实证研究已经证明,性能是可预测的,是训练计算和数据集大小等重要数量的函数(hetness等人,2017;Kaplan et al,2020)。
到目前为止,GPT系列模型已经在训练计算中增加了1000倍,从而在zero-shot性能方面取得了一致的改进。在图9中,我们检查CLIP的零射击性能是否遵循类似的缩放模式。我们绘制了5个ResNet CLIP模型在36个不同数据集上的39个评估中的平均错误率,并发现CLIP在模型计算增加44倍的情况下具有类似的对数-对数线性缩放趋势。虽然总体趋势是平稳的,但我们发现,个人评估的表现可能会更加嘈杂
。我们不确定这是否是因为在子任务上个体训练的差异造成的(如D 'Amour等人(2020))所述掩盖了稳步改善的趋势,或者在某些任务上,作为计算的函数,性能是否实际上是非单调的。
image.png

3.2 Representation Learning

虽然我们在上一节中通过零射击迁移广泛分析了CLIP的任务学习能力,但更常见的是研究模型的表示学习能力。有许多方法可以评估表征的质量,以及对“理想”表征应该具有哪些属性的分歧(Locatello等人,2020)。在从模型中提取的表示上拟合线性分类器并测量其在各种数据集上的性能是一种常见的方法。另一种方法是测量模型端到端微调的性能。这增加了灵活性,先前的工作已经令人信服地证明,在大多数图像分类数据集上,微调优于线性分类(Kornblith等人,2019;翟等人,2019)。虽然由于实际原因,微调的高性能激发了它的研究,但出于几个原因,我们仍然选择基于线性分类器的评估。我们的工作重点是开发一种高性能的任务和数据集不可知的预训练方法。微调因为它在微调阶段适应每个数据集的表示,可以补偿并潜在地掩盖在预训练阶段学习通用和鲁棒表示的失败。线性分类器,由于其有限的灵活性,而是强调这些失败,并在开发过程中提供明确的反馈。对CLIP,训练监督线性分类器还有一个额外的好处,那就是它与用于zero-shot分类器的方法非常相似,这使得在3.1节中可以进行广泛的比较和分析。最后,我们的目标是将CLIP与跨许多任务的一组全面的现有模型进行比较。在27个不同的数据集上研究66个不同的模型需要调整1782个不同的评估。微调打开了一个更大的设计和超参数空间,这使得很难公平评估和计算昂贵,以比较其他大规模实证研究中讨论的各种技术(Lucic等人,2018;Choi et al, 2019)。相比之下,线性分类器需要最小的超参数调优,并且具有标准化的实现和评估过程。有关评估的进一步详情,请参阅附录A。

图10总结了我们的发现。为了尽量减少可能引起确认或报告偏差担忧的选择效应,我们首先研究了Kornblith等人(2019)的12个数据集评估套件的性能。虽然像ResNet-50和ResNet-101这样的小型CLIP模型比在ImageNet-1K (BiT-S和原件)上训练的其他resnet表现更好,但它们比在ImageNet-21K (BiTM)上训练的resnet表现更差。这些小型CLIP模型在具有类似计算需求的情况下,也不如EfficientNet系列中的模型。然而,使用CLIP尺度训练的模型非常好,我们训练的最大模型(ResNet-50x64)在总体得分和计算效率方面略优于表现最好的现有模型(嘈杂的学生效率- l2)。我们还发现CLIP视觉变压器的计算效率比CLIP ResNets高3倍,这使我们能够在我们的计算预算内达到更高的整体性能。这些结果定性地重复了Dosovitskiy等人(2020)的研究结果,该研究报告称,当在足够大的数据集上训练时,视觉转换器比convnets的计算效率更高。我们最好的整体模型是viti - l /14,它在我们的数据集上以336像素的更高分辨率进行了一次额外的epoch微调。该模型比该评估套件中最好的现有模型平均高出2.6%。

如图21定性所示,CLIP模型学习的任务比之前在随机初始化训练的单个计算机视觉模型中所展示的更广泛。这些任务包括地理定位、光学字符识别、面部情感识别和动作识别。Kornblith等人(2019)的评估套件中没有测量这些任务。这可以被认为是Kornblith等人(2019)对与ImageNet重叠的任务的研究中的一种选择偏差。为了解决这个问题,我们还在更广泛的27个数据集评估套件上测量性能。该评估套件(详见附录A)包括代表上述任务的数据集、德国交通标志识别基准(Stallkamp等人,2011)以及改编自VTAB的其他几个数据集(Zhai等人,2019)。
image.png

在这个更广泛的评估套件上,CLIP的好处更加明显。所有CLIP模型,无论规模如何,在计算效率方面都优于所有被评估的系统。与以前的系统相比,最佳模型的平均分数的提高从2.6%增加到5%。我们还发现,自我监督系统在我们更广泛的评估套件上表现得明显更好。例如,虽然SimCLRv2在Kornblith等人(2019)的12个数据集上的平均表现仍然低于BiT-M,但SimCLRv2在我们的27个数据集评估套件上的表现优于BiT-M。这些发现建议继续扩大任务的多样性和覆盖范围,以便更好地理解系统的“一般”性能。我们怀疑沿着VTAB路线进行的额外评估工作是有价值的。

除了上面的聚合分析之外,我们还可视化了最佳CLIP模型和评估套件中最佳模型在图11中所有27个数据集上的每个数据集性能差异。CLIP在27个数据集中的21个上优于Noisy Student EfficientNet-L2。CLIP在需要OCR (SST2和HatefulMemes),地理定位和场景识别(Country211, SUN397)以及视频(Kinetics700和UCF101)中的活动识别的任务上改进最多。此外,CLIP在细粒度的汽车和交通标志识别方面也做得更好(斯坦福汽车和GTSRB)。这可能反映了ImageNet中监管过于狭窄的问题。GTSRB提高14.7%的结果可能表明ImageNet-1K存在问题,它对所有交通和街道标志只有一个标签。这可能会导致受监督的表示破坏类内细节,并损害细粒度下游任务的准确性。如前所述,CLIP在几个数据集上的性能仍然不如EfficientNet。不出所料,相对于CLIP而言,效率网表现最好的数据集是它接受训练的数据集:ImageNet。在低分辨率数据集(如CIFAR10和CIFAR100)上,EffcientNet也略微优于CLIP。我们怀疑这至少部分是由于CLIP中缺乏基于规模的数据增强。在PatchCamelyon和CLEVRCounts这两个数据集上,效率网的表现也稍好一些,这两种方法在这两个数据集的总体性能仍处于较低水平。

Robustness to Natural Distribution Shift

2015年,有人宣布深度学习模型在ImageNet测试集上的表现超过了人类(He et al, 2015)。然而,随后几年的研究一再发现,这些模型仍然会犯许多简单的错误(Dodge & Karam, 2017;Geirhos等人,2018;Alcorn等人,2019),测试这些系统的新基准经常发现它们的性能远低于它们的ImageNet精度和人类精度(Recht等人,2019;Barbu et al, 2019)。如何解释这种差异呢?已经提出和研究了各种想法(Ilyas等人,2019;Geirhos et al, 2020)。提出的解释的一个共同主题是,深度学习模型非常善于发现跨训练数据集的相关性和模式,从而提高分布内性能。然而,这些关联和模式中的许多实际上是虚假的,并不适用于其他分布,并导致在其他数据集上的性能大幅下降。
image.png

我们需要提醒的是,到目前为止,这些研究中的大多数都将其评估限制在ImageNet上训练的模型上。回顾讨论的主题,过于偏离这些初步结论进行概括可能是错误的。这些失败在多大程度上归因于深度学习、ImageNet,或者两者的结合?CLIP模型是在一个非常大的数据集上通过自然语言监督训练的,具有很高的零射击性能,这是一个从不同角度研究这个问题的机会。

Taori等人(2020)是最近的一项综合研究,旨在量化和理解ImageNet模型的这些行为。Taori等人(2020)研究了在评估自然分布变化时,ImageNet模型的性能如何变化。他们在一组7个分布位移上测量性能:ImageNetV2 (Recht等人,2019)、ImageNet Sketch (Wang等人,2019)、Youtube-BB和ImageNet- vid (Shankar等人,2019)、ObjectNet (Barbu等人,2019)、ImageNet Adversarial (hendricks等人,2019)和ImageNet Rendition (hendricks等人,2020a)。他们将这些数据集区分开来,这些数据集都由从各种来源收集的新图像组成,与ImageNet- c (Hendrycks & Dietterich, 2019),风格化ImageNet (Geirhos等人,2018)等合成分布变化,或对抗性攻击(Goodfellow等人,2014),这些数据集是通过以各种方式干扰现有图像而创建的。他们提出这种区别,部分原因是他们发现,虽然有几种技术已经被证明可以提高合成分布转移的性能,但它们往往无法在自然分布上产生一致的改进。

在这些收集的数据集中,ImageNet模型的准确性远远低于ImageNet验证集设置的期望。对于下面的总结讨论,我们报告所有7个自然分布移位数据集的平均精度和ImageNet相应类子集的平均精度,除非另有说明。此外,对于具有两种不同评估设置的Youtube-BB和ImageNet-Vid,我们使用pm-0和pm-10精度的平均值。

与ImageNet验证集相比,ResNet-101在评估这些自然分布变化时犯的错误是前者的5倍。令人鼓舞的是,陶瑞等人

(2020)发现,分布移位下的精度随着ImageNet精度的增加而可预测地增加,并且可以很好地建模为对数变换精度的线性函数。Taori等人(2020)利用这一发现提出稳健性分析应区分有效稳健性和相对稳健性。有效的鲁棒性度量在分布移位下精度的改进,高于由分布内和分布外精度之间的文件关系预测的精度。相对鲁棒性捕获了分布外精度的任何改进。陶瑞等(2020)认为鲁棒性技术应该旨在提高有效鲁棒性和相对鲁棒性。

Taori et al(2020)研究的几乎所有模型都是经过训练的本节介绍中的讨论——训练或适应ImageNet数据集分布是观察到的鲁棒性差距的原因吗?直观地说,零概率模型不应该能够利用只适用于特定分布的虚假相关性或模式,因为它不是在该分布上训练的。因此,期望zero-shot模型具有更高的有效鲁棒性是合理的。在图13中,我们比较了zero-shot CLIP与现有ImageNet模型在自然分布位移上的性能。所有的zero-shot CLIP模型都大大提高了有效的鲁棒性,并将ImageNet精度与分布位移下的精度之间的差距缩小了75%。

虽然这些结果表明zero-shot模型可以更鲁棒,但这并不一定意味着ImageNet上的监督学习会导致鲁棒性差距。剪辑的其他细节,如其庞大而多样的预训练数据集或使用自然语言监督也可能产生更健壮的模型,不管它们是zero-shot还是微调。作为可能开始缩小范围的初始实验,我们还测量了CLIP模型在适应ImageNet分布后的性能变化,通过L2正则化逻辑回归分类器拟合ImageNet训练集上的CLIP特征。在图14中,我们可视化了zero-shot分类器的性能变化。尽管使CLIP适应ImageNet分布使其ImageNet精度总体上提高了9.2%至85.4%,并且与Mahajan等人(2018)的2018年SOTA的精度持平,但分布变化下的平均精度略有下降

令人惊讶的是,9.2%的准确率增加,相当于SOTA大约3年的改进,但在分布变化下,却没有转化为平均性能的任何改进。我们还在图14中分解了每个数据集的零射击精度和线性分类器精度之间的差异,发现在一个数据集ImageNetV2上性能仍然显著提高。ImageNetV2密切关注原始ImageNet数据集的创建过程,这表明监督自适应的准确性增益密切集中在ImageNet分布周围。在ImageNet-R上性能下降了4.7%,ObjectNet下降了3.8%,ImageNet Sketch上下降了2.8%,ImageNet-A上下降了1.9%。另外两个数据集(Youtube-BB和ImageNet Vid)的准确性变化微不足道。

如何在分布移位的情况下将ImageNet数据集的精度提高9.2%,而精度几乎没有增加?收益主要来自“利用虚假相关性”吗?这种行为是CLIP、ImageNet数据集和所研究的分布变化的某种组合所特有的,还是一种更普遍的现象?它是否适用于端到端微调和线性分类器?对于这些问题,我们目前还没有确切的答案。之前的工作也在ImageNet以外的发行版上对模型进行了预训练,但是通常只在模型被微调到ImageNet之后才研究和发布模型。为了理解预训练的零射击模型是否始终比微调模型具有更高的有效鲁棒性,我们鼓励Mahajan等人(2018)、Kolesnikov等人(2019)和Dosovitskiy等人的作者(2020),如果可能的话,也在他们的模型上研究这些问题。

我们还研究了基于自然语言的图像分类器实现的另一种鲁棒性干预。7个传输数据集的目标类并不总是与ImageNet的目标类完全一致。两个数据集,Youtube-BB和ImageNet- vid,由ImageNet的超类组成。当试图使用ImageNet模型的固定1000路分类器进行预测时,这就出现了一个问题。Taori等人(2020)通过根据ImageNet类层次结构跨所有子类的最大池化预测来处理这个问题。有时这种映射并不完美。对于Youtube-BB中的person类,通过汇集ImageNet类对棒球运动员、新郎和水肺潜水员进行预测。使用CLIP,我们可以直接根据每个数据集的类名为其生成自定义的零射击分类器。在图14中,我们看到这将平均有效鲁棒性提高了5%,但仅集中在少数数据集上的大幅改进。奇怪的是,ObjectNet的准确率也提高了2.3%。虽然数据集被设计成与ImageNet类紧密重叠,但使用ObjectNet创建者为每个类提供的名称仍然比在必要时使用ImageNet类名和池预测有一点帮助。

虽然zero-shot CLIP提高了有效的鲁棒性,但图14显示,在完全监督的设置中,这种好处几乎完全消失了。为了更好地理解这种差异,我们研究了从zero-shot到完全监督的连续体上的有效鲁棒性变化。在图15中,我们将0-shot、1-shot、2-shot、4-shot……在最佳CLIP模型的特征上使用完全监督逻辑回归分类器。我们看到,虽然少射模型也比现有模型显示出更高的有效鲁棒性,但随着训练数据的增加,这种优势会随着分布内性能的增加而逐渐消失,并且对于完全监督模型来说,这种优势大部分(尽管不是完全)消失了。此外,在同等ImageNet性能下,zero-shot CLIP明显比few-shot模型更健壮。
image.png

在我们的实验中,高效的鲁棒性似乎来自于最小化模型可以访问的特定分布训练数据的数量,但这是以降低数据集特定性能为代价的。

综上所述,这些结果表明,最近向大规模任务和数据集不可知的预训练的转变,加上对广泛评估套件的零射击和少射击基准测试的重新定位(如Yogatama等人(2019)和Linzen(2020)所提倡的),促进了更强大系统的开发,并提供了更准确的性能评估。我们很想知道同样的结果是否适用于NLP领域的零射击模型,比如GPT家族。而亨德里克斯等人(2020b)报道了预训练提高了情感分析的相对稳健性,Miller等人(2020)对自然分布转移下问答模型稳健性的研究发现,与Taori等人(2020)类似,迄今为止几乎没有证据表明有效的稳健性改进。
image.png

4. Comparison to Human Performance

CLIP与人类表现和人类学习相比如何?为了更好地了解人类在与CLIP类似的评估设置中的表现,我们在一项任务中对人类进行了评估。我们想要了解人类在这些任务中的零射击表现有多强,以及如果向他们展示一两个图像样本,人类的表现会提高多少。这可以帮助我们比较人类和CLIP的任务难度,并确定它们之间的相关性和差异。

我们让五名不同的人分别查看牛津IIT宠物数据集(Parkhi等人,2012年)的3669张图像中的每一张,并从37种猫或狗中选择最匹配图像的那一种(或者“我不知道”,如果他们完全不确定)。在零命中率的情况下,人类没有得到任何品种的例子,并要求他们在没有互联网搜索的情况下尽其所能给它们贴上标签。在一次实验中,每个品种给人类一张样本图像,在两次实验中,每个品种给人类两张样本图像

一个可能的担忧是,人类工人在zero-shot任务中没有足够的动力。在STL-10数据集上,人类准确率高达94% (Coates et al, 2011)在注意力检查图像子集上97-100%的准确率增加了我们对人类工作人员的信任。

有趣的是,每个类只有一个训练样例,人类的平均性能从54%提高到76%,而额外的训练样例的边际收益是最小的。准确度从0到1的提高几乎完全是基于人类不确定的图像。这表明人类“知道他们不知道什么”,并且能够根据一个例子更新他们对最不确定的图像的先验。鉴于此,CLIP似乎是一种很有前途的zero-shot性能训练策略(图5),并且在自然分布转移测试中表现良好(图13),但人类从少数例子中学习的方式与本文中使用的少数射击方法之间存在很大差异。

image.png

这表明,如Lake等人(2016)等人所指出的,仍有算法有待改进,以缩小机器和人类样本效率之间的差距。由于CLIP的这些小镜头评估并没有有效地利用先验知识,而人类却利用了先验知识,因此我们推测,寻找一种将先验知识适当地整合到小镜头学习中的方法是改进CLIP算法的重要一步。据我们所知,在预训练模型高质量特征上使用线性分类器几乎是最先进的few-shot学习方法(Tian et al ., 2020),这表明最好的few-shot机器学习方法和人类的few-shot学习方法之间存在差距。

如果我们将人类的精度与CLIP的零射击精度进行对比(图16),我们会发现CLIP最难的问题对人类来说也很难。在某种程度上,误差是一致的,我们的假设是,这是由于至少两个因素:数据集中的噪声(包括错误标记的图像)和超出分布的图像对人类和模型来说都很困难。
image.png

...

6.Limitations

CLIP仍然有许多限制。虽然其中一些将在各个部分中作为分析的一部分进行讨论,但我们在这里总结并收集它们。

在具有训练分割的数据集上,zero - shot CLIP的平均性能是有竞争力的,用基于ResNet-50特征的线性分类器的监督基线。在大多数这些数据集上,该基线的性能现在远低于整体水平。在提高CLIP的任务学习和迁移能力方面还需要做大量的工作。虽然到目前为止,扩展已经稳步提高了性能,并为持续改进提供了一条途径,但我们估计,zero-shot CLIP要达到最先进的整体性能,需要大约1000倍的计算能力增加。用目前的硬件进行训练是不可行的。进一步研究提高CLIP的计算和数据效率是必要的。

在3.1节的分析中发现,CLIP的零弹性能在几种任务上仍然很弱。与特定任务模型相比,CLIP在几种类型的细粒度分类(如区分汽车模型、花卉种类和飞机变体)上的性能较差。CLIP还在处理更抽象和系统的任务,如计算图像中物体的数量。最后,对于不太可能包含在CLIP预训练数据集中的新任务,例如对照片中最近的汽车的距离进行分类,CLIP的性能可以接近随机。我们相信,在许多任务中,CLIP的零射击性能接近随机水平。

尽管在3.3节中研究了零射击CLIP对许多自然图像分布的泛化效果很好,但我们已经观察到零射击CLIP对真正不在其分布范围内的数据的泛化效果仍然很差。在附录E中报告了OCR任务的说明性示例。

CLIP学习了高质量的语义OCR表示,该表示在数字渲染文本上表现良好,这在其预训练数据集中很常见,在渲染SST2上的表现证明了这一点。然而,CLIP在MNIST的手写数字上只能达到88%的准确率。对原始像素进行简单的逻辑回归基线,其性能优于zero-shot CLIP。语义检索和近重复最近邻检索都验证了在我们的预训练数据集中几乎没有与MNIST数字相似的图像。这表明CLIP在解决深度学习模型的脆性泛化的潜在问题方面做得很少。相反,CLIP试图规避这个问题,并希望通过在如此庞大和多样化的数据集上进行训练,所有数据都将有效地分布。这是一个天真的假设,正如MNIST所证明的那样,很容易被违背。

尽管CLIP可以灵活地为各种各样的任务和数据集生成零射击分类器,但CLIP仍然仅限于从给定zero-shot分类器中的那些概念中进行选择。与真正灵活的方法(如图像字幕)相比,这是一个重大的限制,因为图像字幕可以产生新颖的输出。不幸的是,如2.3节所述,我们发现我们尝试的图像标题基线的计算效率远低于CLIP。一个值得尝试的简单想法是联合训练一个对比和生成目标,希望将CLIP的效率与标题模型的灵活性结合起来。作为另一种选择,搜索可以在给定图像的许多自然语言解释的推理时间执行,类似于在潜在语言学习中提出的方法Andreas等人(2017)。CLIP也没有解决深度学习的数据效率差的问题。相反,CLIP通过使用一个可以扩展到数亿个训练示例的监督源来进行补偿。如果在CLIP模型的训练过程中看到的每张图像都以每秒一张的速度呈现,那么在32个训练时代中看到的128亿张图像将需要405年的时间来迭代。结合CLIP与自我监督(Henaff, 2020;Chen et al ., 2020c)和自我训练(Lee;Xie等人,2020)方法是一个有前途的方向,因为它们证明了比标准监督学习提高数据效率的能力。

我们的方法有几个明显的局限性。尽管我们关注的是zero-shot transfer,但我们在完整验证集上反复查询性能,以指导CLIP的开发。这些验证集通常有数千个示例,这对于真正的零射击场景来说是不现实的。在半监督学习领域也提出了类似的担忧(Oliver et al, 2018)。另一个潜在的问题是我们对评估数据集的选择。虽然我们已经将Kornblith等人(2019)的12个数据集评估套件作为标准化集合进行了报告,但我们的主要结果使用了27个数据集的随机集合,不可否认,这些数据集与CLIP的开发和能力相适应。创建一个新的任务基准,明确地评估广泛的zero-shot transfer能力,而不是重新使用现有的监督数据集,将有助于解决这些问题。

CLIP是通过与互联网上的图像配对的文本进行训练的。这些图像-文本对未经过滤和管理,导致CLIP模型学习许多社会偏见。之前已经在图像标题模型中证明了这一点(Bhargava & Forsyth, 2019)。我们请读者参阅第7节,了解针对CLIP的这些行为的详细分析和量化,以及对潜在缓解策略的讨论。

虽然我们在整个工作中强调,通过自然语言指定图像分类器是一种灵活和通用的接口,但它有自己的局限性。许多复杂的任务和视觉概念很难通过文本来指定。实际的训练示例无疑是有用的,但CLIP并不直接优化少量射击性能。在我们的工作中,我们回归到在CLIP的特征之上拟合线性分类器。这将导致从零射击过渡到少射击设置时性能的反直觉下降。正如第4节所讨论的,这与人类的表现明显不同,后者显示了从零到一次拍摄设置的大幅增加。未来的工作需要开发将CLIP强大的零弹性能与有效的少弹学习相结合的方法。

...

9. Conclusion

我们已经研究了是否有可能将NLP中任务不可知的网络规模预训练的成功转移到另一个领域。我们发现采用这一公式会导致计算机视觉领域出现类似的行为,并讨论了这一研究方向的社会影响。为了优化其训练目标,CLIP模型在预训练期间学习执行各种各样的任务。然后,可以通过自然语言提示利用此任务学习来实现对许多现有数据集的zero-shot transder。在足够的规模上,这种方法的性能可以与特定于任务的监督模型竞争,尽管仍有很大的改进空间。