
文章目录AbstractIntroductionApproachNatural Language SupervisionCreating a Sufficiently Large DatasetSelecting an Efficient Pre-Training MethodChoosing and Scaling a ModelTrainingExperimentsZero-Shot TransferMOTIVATIONUSING CLIP FOR ZERO-SHOT TRANSFERINITIAL COMPARISON TO VISUAL N-GRAMSPROMPT ENGINEERING AND ENSEMBLINGANALYSIS OF ZERO-SHOT CLIP PERFORMANCEConclusionpapercodeAbstract最先进的计算机视觉系统被训练用于预测一组预先确定的固定物体类别。预训练完成后自然语言可用于引用已学习的视觉概念或描述新的概念从而实现模型在下游任务上的零样本迁移。我们通过在30多个现有的计算机视觉数据集上进行基准测试评估了该方法在OCR、视频动作识别、地理定位以及多种细粒度物体分类等任务中的性能表现。该模型能有效迁移到大多数任务中且通常无需针对特定数据集进行训练即可与完全监督的基线模型相媲美。例如在ImageNet零样本任务中我们无需使用其训练所用的128万个训练样本中的任何一个便达到了原始ResNet-50的准确率。Introduction近年来直接从原始文本中学习的预训练方法彻底改变了自然语言处理领域Dai Le, 2015Peters 2018Howard Ruder, 2018Radford2018Devlin2018Raffel 2019。诸如自回归和掩码语言建模等任务无关的目标在计算量、模型容量和数据规模上实现了多个数量级的扩展持续提升性能。作为标准化输入输出接口的“文本到文本”text-to-text技术的发展McCann 等2018Radford 等2019Raffel 等2019使得无需专用输出头或针对特定数据集进行定制的架构能够实现跨任务的零样本迁移。像 GPT-3Brown 等2020这样的旗舰系统如今已能在多种任务中与定制化模型相抗衡且几乎不需要任何特定数据集的训练数据。这些结果表明在大规模文本语料中现代预训练方法可获得的总体监督数据量已超过高质量的众包标注自然语言处理数据集。然而在计算机视觉等其他领域人们仍普遍采用在ImageNetDeng等2009等众包标注数据集上进行预训练的方法。那么能否通过直接从网络文本中学习的可扩展预训练方法在计算机视觉领域实现类似的突破现有研究令人鼓舞。二十多年前Mori等人1999年研究了通过训练模型来预测文本文档中与图像配对的名词和形容词从而改进基于内容的图像检索。Quattoni等人2007年证明可以通过在分类器权重空间中采用流形学习的方法更高效地学习图像表示该分类器用于预测与图像相关的文字描述中的词语。Sri Vastava和Salakhutdinov2012年则探索了多模态深度玻尔兹曼机在低级图像和文本标签特征之上进行训练以实现深度表示学习。Joulin等人2016年对该方法进行了现代化改进表明用于预测图像标题中词语的卷积神经网络CNN能够学习到有用的图像表示。他们将YFCC100M数据集中的图像标题、描述和标签元数据Thomee等2016年转换为一个词袋多标签分类任务并证明在AlexNetKrizhevsky等2012年上进行预训练以预测这些标签所学到的表示在迁移任务上的性能与基于ImageNet的预训练相当。Li 等人2017随后将该方法扩展到预测短语 n-gram而不仅仅是单个词并展示了其系统通过基于学习的视觉 n-gram 词典对目标类别进行评分进而预测具有最高核心值的类别的能力从而实现了在其他图像分类数据集上的零样本迁移。采用更先进的架构和预训练方法VirTexDesai Johnson, 2020、ICMLMBulent Sariyildiz 等2020以及 Con VIRTZhanget al.2020最近已展示了基于Transformer的语言模型、掩码语言模型和对比目标在从文本中学习图像表示方面的潜力。尽管弱监督在概念上令人振奋但使用自然语言对图像表示学习进行监督的情况仍然较为罕见。这很可能是因为在常见基准上的表现远低于其他方法。例如Liet al.2017在零样本设置下仅达到ImageNet的11.5%准确率明显低于当前最先进的方法Xie et al., 2020所达到的88.4%准确率甚至低于经典计算机视觉方法Denget al., 2012的50%准确率。相反更窄领域但目标明确的弱监督应用已显著提升了性能。Mahajan et al.2018表明在Instagram图片中预测与ImageNet相关的标签是一项有效的预训练任务。当这些预训练模型针对ImageNet进行微调后准确率提高了超过5%并同时提升了当时整体的性能水平。Kolesnikov et al.2019和Dosovitskiy et al.2020也通过预训练模型预测噪声标注的JFT-300M数据集中的类别在一系列更广泛的迁移基准上取得了显著提升。这一工作线代表了当前在从有限数量的“黄金标签”中学习和从几乎无限量的原始文本中学习之间的务实中间地带。然而这种方法并非没有妥协之处。这两类工作都经过精心设计在此过程中其监督范围分别限制为1000个和18291个班级。自然语言能够表达并因此监督更广泛的视觉概念因其具有普遍性。这两种方法也都使用静态的Softmax分类器进行预测并缺乏动态输出的机制这严重限制了它们的灵活性并削弱了其“零样本”能力。弱监督模型与近期从自然语言直接学习图像表示的研究之间存在显著差距。尽管Mahajan等人2018和Kolesnikov等人2019训练的模型在数百万到数十亿张图像上进行加速训练而VirTex、ICMLM和ConVIRT则仅用一到两万张图像进行加速训练。本研究致力于缩小这一差距探讨了在大规模自然语言监督下训练的图像分类器的行为表现。得益于互联网上大量公开可用的数据我们创建了一个包含4亿对图像、文本的新数据集并展示了一种基于零初始化训练的简化版ConVIRT模型即CLIP用于对比式语言-图像预训练这是一种高效的学习方法可利用自然语言监督进行训练。我们通过训练一系列共八个模型其计算量几乎相差两个数量级研究了CLIP的可扩展性并发现其迁移性能是计算量的平滑可预测函数Hestness等2017Kaplan等2020。我们发现CLIP与GPT系列类似在预训练阶段能够学习执行多种任务包括光学字符识别OCR、地理定位、动作识别以及许多其他任务。通过对比CLIP在30多个现有数据集上的零样本迁移性能发现其与以往针对特定任务的监督学习方法具有竞争力。我们还通过线性探测表示学习分析验证了这些发现并表明CLIP在性能上优于目前公开可用的ImageNet最佳模型同时计算效率更高。此外我们发现零样本CLIP模型比同等准确率的监督式ImageNet模型具有更强的鲁棒性这表明对任务无关模型进行零样本评估能更真实地反映其能力。这些结果具有重要的政策和伦理意义我们在第7节中进行了讨论。Approach与标准图像模型通过联合训练图像特征提取器和线性分类器来预测某些标签不同CLIP通过联合训练图像编码器和文本编码器来预测一批图像文本训练示例的正确配对。在该过程中所学到的文本编码器通过嵌入目标数据集类别名称或描述合成一个零样本线性分类器。Natural Language Supervision我们方法的核心思想是通过自然语言中的监督信息来学习感知。如引言所述这一理念并非全新但用于描述该领域研究的术语却各不相同甚至看似矛盾且所表达的动机也多种多样。Zhang 等人2020、Gomez 等人2017、Joulin 等人2016以及 Desai 和 Johnson2020都提出了从文本与图像配对中学习视觉表示的方法但他们分别将这些方法描述为无监督、弱监督和有监督。我们强调这一研究领域共同之处并非特定方法的细节而是将自然语言视为训练信号的重视。所有这些方法都借鉴了自然语言超视图的学习经验。尽管早期研究在使用主题模型和n-gram表示时面临自然语言复杂性的挑战但深度上下文表示学习的进步表明我们现在已具备有效利用这一丰富监督数据源的工具McCann等2017。从自然语言中学习相较于其他训练方法具有若干潜在优势。与图像分类中标准的众包标注相比自然语言监督更容易扩展因为它无需标注数据以传统“机器学习兼容格式”如经典的1对N多数投票“黄金标签”存在。相反基于自然语言的方法可以从互联网上海量文本中被动地学习到监督信息。此外从自然语言中学习还比大多数无监督或自监督学习方法具有重要优势即它不仅能学习到表示还能将该表示与语言联系起来从而实现灵活的零样本迁移。在接下来的子节中我们将详细说明我们所采用的具体方法。Creating a Sufficiently Large Dataset现有研究主要使用了三个数据集MS-COCOLin等2014、Visual GenomeKrishna等2017和YFCC100MThomee等2016。尽管MS-COCO和Visual Genome是高质量的众包标注数据集但按现代标准来看规模较小每组训练图像约有10万张。相比之下其他计算机视觉系统训练的数据量可达35亿张Instagram照片Mahajan等2018。YFCC100M包含1亿张图片是一个潜在的替代选择但每张图片的元数据稀疏且质量参差不齐。许多图片使用自动生成的文件名如20160716 113957.JPG作为“标题”或包含相机曝光设置的“描述”。在筛选仅保留具有英文自然语言标题和/或描述的图像后该数据集规模缩小了6倍仅剩1500万张图像其大小与ImageNet大致相当。自然语言监督的主要动机在于互联网上大量公开可获取的此类数据。由于现有数据集未能充分反映这一可能性仅基于这些数据进行研究将低估该研究方向的潜力。为解决这一问题我们构建了一个新的数据集包含4亿对图像、文本这些数据来自互联网上多种公开可用的资源。为了尽可能广泛地涵盖视觉概念我们在构建过程中主动搜索包含50万个查询词中某一个的图像、文本配对。我们通过每条查询最多包含20,000对图像、文本来大致平衡结果。最终数据集的总词数与用于训练GPT-2的WebText数据集相近。我们将该数据集称为WIT即WebImageText。Selecting an Efficient Pre-Training Method最先进的计算机视觉系统需要大量计算资源。Mahajan 等人2018训练 ResNeXt101-32x48d 需要 19 个 GPU 年而 Xie 等人2020训练 Noisy Student EfficientNet-L2 需要 33 个 TPUv3 核年。考虑到这两个系统的训练目标仅为预测 1000 个 ImageNet 类别从自然语言中学习开放的视觉概念任务似乎令人望而生畏。在我们的研究过程中我们发现训练效率是成功扩展自然语言监督的关键因素并据此选择了最终的预训练方法。我们的初始方法与VirTex类似从零开始联合训练一个图像CNN和文本Transformer用于预测图像的描述。然而我们发现这种方法难以高效扩展。图2显示一个拥有6300万参数的Transformer语言模型其计算量已是ResNet-50图像编码器的两倍却仅能以比一个更简单的基线模型该基线预测相同文本的词袋编码慢三倍的速度学习识别ImageNet类别。这两种方法有一个关键的相似之处它们都试图预测每张图像所附带文本的精确词语。由于与图像同时出现的描述、注释及相关文本种类繁多这一任务十分困难。近期关于图像对比表示学习的研究发现对比目标比其对应的预测目标能学习到更优的表示Tian 等2019。其他研究也表明尽管图像生成模型能够学习出高质量的图像表示但其计算量却比相同性能下的对比模型高出一个数量级以上Chen 等2020a。基于这些发现我们探索训练一个系统来解决一个可能更简单的代理任务仅预测整段文本与哪张图像配对而非该文本的每个具体词语。我们以相同的词袋编码基线为基础将预测目标替换为对比目标并在零样本迁移至ImageNet上的效率上观察到了进一步提升4倍的效果。给定一组 N 个图像、文本对CLIP 的训练目标是预测在该组中所有 N×N 种可能的图像、文本配对中实际发生了哪一种。为此CLIP 通过联合训练图像编码器和文本编码器学习一个多模态嵌入空间以最大化批次中 N 对真实配对的图像与文本嵌入之间的余弦相似度同时最小化 N2 − N 对错误配对的嵌入之间的余弦相似度。我们在此相似度上优化一个对称的交叉熵损失。图 3 中展示了 CLIP 实现核心部分的伪代码。据我们所知这种批量构建技术及目标最初在深度度量学习领域被引入作为多类别 N 对损失Sohn, 2016随后由 Oord 等人2018推广用于对比表示学习称为 InfoNCE 损失最近又被 Zhang 等人2020应用于医学影像领域的对比式文本、图像表示学习。由于我们的预训练数据集规模较大过拟合并非主要问题因此与Zhang等人2020的实现相比CLIP的训练细节被简化。我们从零开始训练CLIP未使用ImageNet权重初始化图像编码器也未使用预训练权重初始化文本编码器。我们没有采用Bach等人2019引入并由Chen等人2020b推广的、表示与对比嵌入空间之间的非线性映射。相反我们仅使用线性投影将每个编码器的表示映射到多模态嵌入空间。我们未发现两种版本在训练效率上存在差异并推测非线性投影可能仅在当前仅基于图像的自监督表示学习方法中与细节共同适应。此外我们移除了Zhang等人2020中的文本转换函数tu该函数会从文本中均匀采样单个句子因为CLIP预训练数据集中许多图像文本对仅包含一个句子。我们也简化了图像变换函数tv。在训练过程中唯一使用的数据增强方式是从重新调整尺寸的图像中随机裁剪一个正方形。最后控制Softmax中logits范围的温度参数τ在训练期间直接作为对数参数化的乘法标量进行优化以避免其成为超参数。Choosing and Scaling a Model我们考虑了两种不同的图像编码器架构。对于第一种我们采用ResNet-50He等2016a作为图像编码器的基础架构因其应用广泛且性能已得到验证。我们对原始版本进行了多项改进包括使用He等2019提出的ResNet-D优化方法以及Zhang2019提出的抗锯齿rect-2模糊池化技术。此外我们将全局平均池化层替换为注意力池化机制。该注意力池化通过一个“Transformer风格”的多头QKV注意力单层实现其中查询的生成依赖于图像的全局平均池化表示。对于第二种架构我们尝试使用最近提出的视觉TransformerViTDosovitskiy等2020。我们严格遵循其实现方式仅对组合的补丁嵌入和位置嵌入在Transformer之前添加额外的一层归一化并采用略有不同的初始化方案。文本编码器采用的是基于TransformerVaswani等2017的架构并进行了Radford等人2019所描述的结构修改。我们以一个6300万参数、12层、512维、8个注意力头的模型作为基础模型。Transformer在处理文本时使用小写字对编码BPE表示词汇表大小为49,152Senrich等2015。为了提升计算效率最大序列长度被限制为76。文本序列前后分别用[SOS]和[EOS]标记Transformer最高层在[EOS]标记处的激活值被视为文本的特征表示经过层归一化后线性映射到多模态嵌入空间中。文本编码器使用掩码自注意力机制以保留使用预训练语言模型初始化的能力或将语言建模作为辅助目标但该方法的探索仍留待未来研究。尽管以往的计算机视觉研究通常通过增加模型的宽度Mahajan 等2018或深度He 等2016a来扩展模型但针对 ResNet 图像编码器我们采用了 Tan 和 Le2019提出的方法。他们发现在所有宽度、深度和分辨率维度上分配额外计算资源比仅在其中某一维度分配更优。虽然 Tan Le2019为他们的 EfficientNet 模型调整了各维度的计算资源分配比例但我们采用了一种简单的基准方法将额外的计算资源均匀分配给模型的宽度、深度和分辨率的增加。对于文本编码器我们仅按比例缩放模型的宽度使其与 ResNet 宽度增加量成正比而完全不缩放深度因为我们发现 CLIP 的性能对文本编码器容量的敏感性较低。Training我们训练了一系列5个ResNet和3个视觉Transformer。对于ResNet模型我们训练了一个ResNet-50、一个ResNet-101以及另外三个遵循EfficientNet风格的模型缩放版本它们分别使用了ResNet-50计算量的约4倍、16倍和64倍。这些模型分别记为RN50x4、RN50x16和RN50x64。对于视觉Transformer我们训练了ViT-B/32、ViT-B/16和ViT-L/14模型。所有模型均训练32个epoch。我们采用Adam优化器Kingma Ba, 2014对除增益和偏置外的所有权重应用解耦的权重衰减正则化Loshchilov Hutter, 2017并使用余弦学习率调度策略Loshchilov Hutter, 2016来衰减学习率。初始超参数通过在基线ResNet-50模型上进行网格搜索、随机搜索以及手动调优相结合的方式设定训练时长为1个epoch。由于计算资源限制后续针对更大模型的超参数进行了启发式调整。可学习的温度参数τ初始化为0.07对应Wu等人2018年并通过截断防止logits缩放超过100倍以确保训练稳定性。我们使用了非常大的小批量大小32,768并采用混合精度训练Micikevicius等2017以加速训练并节省内存。为了节省额外的内存我们采用了梯度检查点Griewank Walther, 2000Chen 2016、半精度 Adam 统计信息Dhariwal 2020以及半精度随机舍入的文本编码器权重。嵌入相似度的计算也进行了分片处理每个 GPU 只计算其本地嵌入批次所需的成对相似度子集。最大的 ResNet 模型 RN50x64 在 592 块 V100 GPU 上训练耗时 18 天而最大的视觉 Transformer 模型在 256 块 V100 GPU 上训练耗时 12 天。对于 ViT-L/14 模型我们还以更高的 336 像素分辨率进行了一轮额外的预训练以提升性能类似于 FixRes 方法Touvron 2019。我们将此模型记为 ViT-L/14336px。除非另有说明本文中所有标注为“CLIP”的结果均使用该模型因为我们发现其性能最优。ExperimentsZero-Shot TransferMOTIVATION在计算机视觉中零样本学习通常指图像分类中对未见过的对象类别进行泛化的研究Lampert 等2009。我们则采用更广义的术语研究对未见数据集的泛化能力。我们将此作为执行未见过任务的一种代理方式这正是 Larochelle 等人2008在零数据学习论文中所追求的目标。尽管无监督学习领域的许多研究聚焦于机器学习系统在表示学习方面的能力但我们认为研究零样本迁移是衡量机器学习系统任务学习能力的一种方法。从这一角度看一个数据集用于评估系统在特定分布下的任务性能。然而许多流行的计算机视觉数据集主要由研究社区创建旨在作为基准引导通用图像分类方法的发展而非直接衡量特定任务的性能。虽然可以说 SVHN 数据集衡量的是谷歌街景照片分布中的街道编号识别任务但 CIFAR-10 数据集所衡量的“真实”任务尚不明确。然而CIFAR-10 的数据集显然是从 TinyImagesTorralba 等2008中抽取的。对于这类数据集零样本迁移更多是评估 CLIP 对分布偏移和领域泛化鲁棒性的体现而非任务泛化能力。有关此方面的分析请参见第 3.3 节。据我们所知Visual N-GramsLi 等2017是首次以上述方式研究零样本迁移至现有图像分类数据集的论文。此外这也是我们所知唯一使用通用预训练模型对标准图像分类数据集进行零样本迁移的研究为CLIP的语境化提供了最佳参考依据。该方法学习了一个包含142,806个视觉n-gram涵盖1至5个词的子串的字典参数并采用Jelinek-Mercer平滑法的微分版本优化这些n-gram以最大化给定图像下所有文本n-gram的概率。为了实现零样本迁移他们首先将每个数据集中类别的文本转换为其n-gram表示然后根据模型计算其概率并预测得分最高的那一个。我们关注零样本迁移以评估任务学习这一研究灵感来源于自然语言处理领域中关于任务学习的研究。据我们所知Liu等人2018首次将任务学习识别为一种“意外的副作用”即当训练用于生成维基百科文章的语言模型学会可靠地进行跨语言转写时。而GPT-1Radford等2018虽然聚焦于在预训练过程中作为迁移学习方法以提升监督微调的效果但也包含了一项消融研究表明四种启发式零样本迁移方法在预训练期间性能持续提升且无需任何监督适配。这一分析为GPT-2Radford等2019提供了基础该研究专门通过零样本迁移来探究语言模型的任务学习能力。USING CLIP FOR ZERO-SHOT TRANSFERCLIP 是预先训练好的用于预测图像和一段文本是否在它的数据集中配对。为了实现零样本分类我们重用了这一能力。对于每个数据集我们使用该数据集中所有类别的名称作为潜在的文本配对集合并根据 CLIP 预测最可能的图像文本配对。具体而言我们首先通过各自的编码器计算图像的特征嵌入以及一组潜在文本的特征嵌入。然后计算这些嵌入之间的余弦相似度乘以一个温度参数 τ并通过 softmax 归一化为概率分布。需要注意的是这个预测层是一个多项逻辑回归分类器其输入经过 L2 正则化权重也经过 L2 正则化无偏置项并包含温度缩放。从这种解释来看图像编码器是计算机视觉的骨干网络用于生成图像的特征表示而文本编码器则是一个超网络Ha 等2016它基于描述类别所代表视觉概念的文本生成线性分类器的权重。Lei Ba 等人2015首次提出了这种零样本图像分类器而从自然语言生成分类器的想法至少可追溯至 Elhoseiny 等人2013。根据这一解释CLIP 预训练的每一步都可以被视为对一个随机生成的代理模型进行优化该代理模型对应的是一个计算机视觉数据集其中每个类别包含一个示例总共有 32,768 个类别这些类别通过自然语言描述定义。在零样本评估中我们会在文本编码器计算出零样本分类器后将其缓存并用于后续所有预测任务。这使得生成该分类器的成本可以摊薄到整个数据集的所有预测上。INITIAL COMPARISON TO VISUAL N-GRAMS在表1中我们比较了Visual N-Grams与CLIP。最佳的CLIP模型将ImageNet上的准确率从概念验证阶段的11.5%提升至76.2%尽管未使用该数据集提供的128万个众包标注训练样本仍达到了原始ResNet-50的性能水平。此外CLIP模型的Top-5准确率明显高于其Top-1准确率该模型的Top-5准确率为95%与Inception-V4Szegedy等2016相当。在零样本设置下能够达到强健、完全监督基线模型的性能表明CLIP是迈向灵活且实用的零样本计算机视觉分类器的重要一步。如上所述与视觉N-gram的比较旨在为CLIP的性能提供语境支持不应被理解为CLIP与Visual N-Grams之间的直接方法对比因为两系统之间在性能方面的诸多差异未得到控制。在该实验中我们使用了一个规模大10倍的数据集进行训练采用的视觉模型每进行一次预测所需的计算量几乎是训练时的100倍其计算量可能超过训练时的1000倍并且使用了Transformer架构的模型而这种模型在Visual N-Grams发布时并不存在。作为更直接的对比我们在与Visual N-Grams相同的YFCC100M数据集上训练了一个CLIP ResNet-50模型结果发现其在V100 GPU上达到的性能与Visual N-Grams报告的ImageNet表现相当。此外该基准模型也是从零开始训练的而非像Visual N-Grams那样使用预训练的ImageNet权重初始化。CLIP在另外两个报告的数据集上也优于Visual N-Grams。在Yahoo数据集上CLIP将错误数量减少了95%在SUN数据集上CLIP的准确率比Visual N-Grams提高了两倍以上。为了进行更全面的分析和压力测试我们实施了一个规模更大的评估套件具体详见附录A。总体而言我们将Visual N-Grams中报告的3个数据集扩展至超过30个数据集并与50多个现有的计算机视觉系统进行比较以进一步验证结果的可靠性。PROMPT ENGINEERING AND ENSEMBLING大多数标准的图像分类数据集将信息命名或描述类别的做法视为附加功能从而使得基于自然语言的零样本迁移成为次要问题。绝大多数数据集仅通过标签的数字ID对图像进行标注并附有将这些ID映射回英文名称的文件。例如Flowers102和GTSRB等数据集在公开版本中似乎完全未包含此类映射这严重阻碍了零样本迁移的有效实现。对于许多数据集我们观察到这些标签的选择可能较为随意且不预见到依赖任务描述才能成功迁移的零样本迁移所面临的问题。一个常见问题是多义性。当类别的名称是CLIP文本编码器所接收到的唯一信息时由于缺乏上下文它无法区分所指的具体词义。在某些情况下同一个词的不同含义可能被包含在同一个数据集中作为不同的类别这种情况出现在ImageNet中其中既包含建筑用起重机也包含飞行的起重机。另一个例子出现在Oxford-IIIT宠物数据集的类别中例如“boxer”一词从上下文中明显指的是犬种但对缺乏上下文的文本编码器而言也可能被误认为是一种运动员类型。我们遇到的另一个问题是在预训练数据集中文本与图像配对时往往很少只包含一个词。通常情况下文本会是一整句用某种方式描述图像内容。为了弥补这种分布差异我们发现使用提示模板“一张{标签}的照片”作为默认方案效果较好有助于明确文本内容与图像内容相关。这通常比仅使用标签文本的基线模型能提升性能。例如仅使用该提示就能使ImageNet上的准确率提高1.3%。与围绕GPT-3的“提示工程”讨论Brown等2020Gao等2020类似我们还发现通过针对每个任务定制提示文本可以显著提升零样本性能。以下是一些非详尽的例子。我们在多个细粒度图像分类数据集上发现明确指定类别有助于提升效果。例如在Oxford-IIIT Pets数据集上使用“一张{标签}的宠物照片”来提供上下文效果良好。同样在Food101和FGVC Aircraft数据集上指定食物类型或飞机类型也取得了不错的效果。对于OCR数据集我们发现将要识别的文字或数字用引号括起来能有效提升性能。最后在卫星图像分类数据集上明确说明图像属于某种类型也有帮助例如使用“一张{标签}的卫星照片”这样的表达方式。我们还尝试了将多个零样本分类器进行集成作为提升性能的另一种方法。这些分类器通过使用不同的上下文提示来计算例如“一张大{标签}的照片”和“一张小{标签}的照片”。我们将集成操作基于嵌入空间而非概率空间进行构建。这使得我们可以缓存一组平均后的文本嵌入从而在多次预测中集成的计算成本与使用单一分类器相同。我们观察到在多个生成的零样本分类器上进行集成能够可靠地提升性能并适用于大多数数据集。在ImageNet上我们对80个不同的上下文提示进行了集成相比上述默认提示性能提升了3.5%。当结合使用提示工程与集成技术时ImageNet的准确率几乎提高了5%。图4展示了提示工程与集成如何改变一组CLIP模型的性能相较于Li等人2017所采用的直接将类别名称嵌入的无上下文基线方法。ANALYSIS OF ZERO-SHOT CLIP PERFORMANCE由于计算机视觉领域中针对任务无关的零样本分类器研究较少CLIP为深入理解此类模型提供了一个有前景的机会。在本节中我们对CLIP的零样本分类器的各种特性进行了研究。首先我们简单考察零样本分类器的表现。为了量化这一性能我们将其与一个简单的现成基线进行比较即在标准ResNet-50的特征上训练一个完全监督、正则化逻辑回归分类器。图5展示了在27个数据集上的对比结果。有关数据集和实验设置的详细信息请参见附录A。零样本CLIP在27个数据集中的16个上表现优于基准方法略胜一筹。从各个具体数据集来看存在一些有趣的现象在细粒度分类任务中性能差异较大。在斯坦福汽车Stanford Cars和Food101这两个数据集中零样本CLIP在ResNet-50特征下比逻辑回归高出超过20%而在Flowers102和FGVCAircraft两个数据集中其表现则低于逻辑回归超过10%。在OxfordPets和Birdsnap数据集上性能差距较小趋于接近。我们推测这些差异主要源于WIT与ImageNet之间在任务监督方面的不同程度。对于ImageNet、CIFAR10/100、STL10和PascalVOC2007等“通用”物体分类数据集性能相对相近但零样本CLIP在所有情况下均略占优势。在STL10上CLIP的整体准确率达到99.3%尽管未使用任何训练样本仍被视为新的前沿水平。此外在两个视频动作识别数据集上零样本CLIP显著优于ResNet-50。在Kinetics700数据集上CLIP的性能比ResNet-50高出14.5%。Zero-shot CLIP 在 UCF101 上的表现也比 ResNet-50 的特征高出 7.7%。我们推测这可能是由于自然语言在涉及动词的视觉概念上提供了比ImageNet中以名词为中心的对象监督更广泛的监督。从零样本CLIP表现明显不足的方面来看我们发现其在多个专业、复杂或抽象任务上表现较弱例如卫星图像分类EuroSAT和RESISC45、淋巴结肿瘤检测PatchCamelyon、合成场景中的物体计数CLEVRCounts以及与自动驾驶相关的任务如德国交通标志识别GTSRB和最近车辆距离识别KITTI Distance。这些结果凸显了零样本CLIP在更复杂任务上的能力薄弱。相比之下非专家人类在这些任务中表现出色例如物体计数、卫星图像分类和交通标志识别表明仍有显著提升空间。然而我们提醒对于学习者此前无经验的困难任务如几乎所有人类的淋巴结肿瘤分类以及可能涉及CLIP的任务衡量零样本迁移而非少样本迁移是否具有意义尚不明确。在将零样本性能与完全监督模型进行比较时可以体现CLIP在任务学习方面的能力而与少样本方法的比较则更为直接因为零样本是其性能的极限。图6展示了零样本CLIP在多种图像模型特征上的表现包括当前最佳公开的ImageNet模型、自监督学习方法以及CLIP本身。虽然人们通常认为零样本性能会低于单样本方法但我们发现零样本CLIP在相同的特征空间上其性能与4次样本的逻辑回归相当。这很可能源于零样本与少样本方法之间的重要差异。首先CLIP的零样本分类器是通过自然语言生成的从而能够直接指定“传达”视觉概念。相比之下“常规”的监督学习必须从训练示例中间接推断概念。无上下文的基于示例的学习存在一个缺点许多不同的假设都可能与数据一致尤其是在单样本情况下。一张图片通常包含多个不同的视觉概念。尽管有能力的学习者能够利用视觉线索和启发式方法例如假设所展示的概念是图像中的主要对象但这种做法并不能保证成功。解决零样本与少样本性能之间差异的一个潜在方法是将CLIP的零样本分类器作为少样本分类器权重的先验。虽然在生成的权重上添加L2正则化惩罚是一种直接实现该思路的方法但我们发现超参数优化往往会选择这种正则化项取值过大导致最终的少样本分类器“仅仅”等同于零样本分类器。因此研究如何更好地结合零样本迁移的优势与少样本学习的灵活性是未来工作中的一个有前景的方向。在将零样本CLIP与少数样本逻辑回归模型对比其他模型特征时零样本CLIP的性能大致相当于我们评估集中的最佳16样本分类器该分类器使用的是在ImageNet-21K上训练的BiT-M ResNet-152x2的特征。我们确信在JFT-300M上训练的BiT-L模型性能会更好但这些模型尚未公开发布。值得注意的是在16样本设置下BiT-M ResNet-152x2表现最优这一点略显意外因为如第3.2节分析所示在27个数据集上噪声学生EfficientNet-L2在完全监督环境下平均性能高出近5%。除了研究零样本CLIP和少样本逻辑回归的平均性能外我们还对各个具体数据集上的表现进行了分析。图7展示了在相同特征空间下逻辑回归分类器为达到零样本CLIP性能所需标注样本数量的估计值。由于零样本CLIP也是一种线性分类器这一估计值反映了该场景下零样本迁移的有效数据效率。为了避免训练数千个线性分类器我们通过1、2、4、8、16次样本如可行以及每个数据集上训练的完全监督线性分类器的性能进行对数线性插值来估算有效数据效率。结果表明不同数据集上的零样本迁移效率差异显著每类样本的标注数量从少于1个到多达184个不等。两个数据集Flowers102和EuroSAT在单次训练模型上表现不佳。其中一半的数据集每类所需样本少于5个中位数为5.4。然而平均估计的每个类数据效率为20.8个样本。这主要是因为有20%的数据集需要每个类别大量标注样本才能达到性能匹配。在ImageNet上零样本CLIP与在相同特征空间上训练的16次训练线性分类器性能相当。Conclusion我们研究了是否有可能将无需特定任务的Web规模预训练在自然语言处理中的成功经验推广到其他领域。我们发现采用这一方法后在计算机视觉领域也出现了类似的行为并探讨了该研究方向的社会影响。为了优化训练目标CLIP模型在预训练阶段学习了多种多样的任务。随后通过自然语言提示技术可利用这些任务学习成果实现对大量现有数据集的零样本迁移。在足够大的规模下这种方法的性能已能与针对特定任务的监督模型相媲美尽管仍有进一步提升的空间。