CLIP:从自然语言监督中学习可迁移的视觉模型

Posted AI浩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CLIP:从自然语言监督中学习可迁移的视觉模型相关的知识,希望对你有一定的参考价值。

摘要

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

一、 简介和激励工作

在过去几年中,直接从原始文本中学习的预训练方法彻底改变了 NLP(Dai & Le,2015;Peters 等人,2018;Howard & Ruder,2018;Radford 等人,2018;Devlin 等人, 2018 年;Raffel 等人,2019 年)。与任务无关的目标(例如自回归和掩码语言建模)在计算、模型容量和数据方面已扩展了多个数量级,并稳步提高了能力。 “文本到文本”作为标准化输入输出接口的发展(McCann 等人,2018 年;Radford 等人,2019 年;Raffel 等人,2019 年)使任务无关架构能够零样本传输到下游 数据集消除了对专门输出头或数据集特定定制的需要。 像 GPT-3(Brown 等人,2020)这样的旗舰系统现在在使用定制模型的许多任务中具有竞争力,同时几乎不需要特定于数据集的训练数据。

这些结果表明,在网络规模的文本集合中,现代预训练方法可访问的聚合监督超过了高质量的人群标记的 NLP 数据集。 然而,在计算机视觉等其他领域,在 ImageNet 等人群标记的数据集上预训练模型仍然是标准做法(Deng 等人,2009 年)。 直接从网络文本中学习的可扩展预训练方法能否在计算机视觉领域取得类似的突破? 先前的工作令人鼓舞。

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

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

这条工作线代表了当前在从有限数量的受监督“黄金标签”中学习和从几乎无限数量的原始文本中学习之间的务实中间立场。 然而,它并非没有妥协。两部作品都经过精心设计,在制作过程中,分别监督1000和18291类别。 自然语言能够通过其普遍性来表达并监督更广泛的视觉概念。 这两种方法都使用静态 softmax 分类器来执行预测,并且缺乏动态输出机制。 这严重限制了他们的灵活性并限制了他们的“零样本”能力。

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

二、方法

2.1、自然语言监督

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

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

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

2.2、创建足够大的数据集

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

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

2.3、选择有效的预训练方法

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

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

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

给定一批 N(图像,文本)对,训练 CLIP 以预测批次中 N × N 可能的(图像,文本)对中的哪一个实际发生。为此,CLIP 通过联合训练图像编码器和文本编码器来学习多模态嵌入空间,以最大化批次中 N 个实数对的图像和文本嵌入的余弦相似度,同时最小化 N 2 − N N^2-N N2N 个不正确配对嵌入的余弦相似度。我们在这些相似性分数上优化了对称交叉熵损失。在图 3 中,我们包含了 CLIP 实现核心的伪代码。据我们所知,这种批量构建技术和目标首先作为多类 N 对损失 Sohn(2016)被引入深度度量学习领域,被 Oord 等人(2018)作为 InfoNCE 推广用于对比表示学习损失,并且最近被 Zhang 等人(2020)改编用于医学成像领域的对比(文本、图像)表示学习。

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

2.4、选择和缩放模型

我们为图像编码器考虑了两种不同的架构。首先,我们使用 ResNet-50 (He et al., 2016a) 作为图像编码器的基础架构,因为它的广泛采用和经过验证的性能。我们使用 He et al. (2019) 的 ResNetD 改进和 Zhang (2019) 的抗锯齿 rect-2 模糊池对原始版本进行了几处修改。我们还用注意力池机制替换了全局平均池层。注意力池实现为单层“变压器式”多头 QKV 注意力,其中查询以图像的全局平均池表示为条件。对于第二种架构,我们尝试了最近推出的 Vision Transformer (ViT) (Dosovitskiy et al., 2020)。我们密切关注他们的实现,只进行了微小的修改,即在转换器之前向组合的补丁和位置嵌入添加额外的层归一化,并使用稍微不同的初始化方案。

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

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

2.5、训练

我们训练了一系列 5 个 ResNets 和 3 个 Vision Transformer。对于 ResNet,我们训练了一个 ResNet-50、一个 ResNet-101,然后是另外 3 个,它们遵循 EfficientNet 样式的模型缩放,并使用 ResNet-50 的大约 4 倍、16 倍和 64 倍的计算。它们分别表示为 RN50x4、RN50x16 和 RN50x64。对于 Vision Transformers,我们训练了 ViT-B/32、ViT-B/16 和 ViT-L/14。我们训练所有模型 32 个 epoch。我们使用 Adam 优化器 (Kingma & Ba, 2014) 和解耦权重衰减正则化 (Loshchilov & Hutter, 2017) 应用于所有非增益或偏差的权重,并使用余弦调度 (Loshchilov & Hutter, 2016) 衰减学习率)。在训练 1 个 epoch 时,使用网格搜索、随机搜索和在基线 ResNet-50 模型上手动调整的组合设置初始超参数。然后,由于计算限制,超参数被启发式地适应更大的模型。可学习的温度参数 τ 从 (Wu et al.,2018) 初始化为相当于 0.07,并进行了裁剪以防止将 logits 缩放超过 100,我们认为这是防止训练不稳定所必需的。我们使用 32,768 的非常大的 minibatch。混合精度 (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 天。对于 ViT-L/14,我们还以更高的 336 像素分辨率预训练一个额外的 epoch,以提高类似于 FixRes 的性能(Touvron 等人,2019 年)。我们将此模型表示为 ViT-L/14@336px。除非另有说明,否则本文中报告为“CLIP”的所有结果均使用我们发现性能最佳的模型。

三、实验

3.1、 零样本迁移

3.1.1、动机

在计算机视觉中,零样本学习通常是指在图像分类中泛化到看不见的对象类别的研究(Lampert et al., 2009)。相反,我们在更广泛的意义上使用该术语,并研究对看不见的数据集的泛化。正如 Larochelle 等人 (2008) 的零数据学习论文所期望的那样,我们将其作为执行看不见的任务的代理。虽然无监督学习领域的许多研究都集中在机器学习系统的表示学习能力上,但我们鼓励研究零样本迁移作为衡量机器学习系统任务学习能力的一种方式。在此视图中,数据集评估特定分布上任务的性能。然而,研究界创建了许多流行的计算机视觉数据集,主要作为基准来指导通用图像分类方法的开发,而不是衡量特定任务的性能。虽然可以合理地说 SVHN 数据集测量了 Google 街景照片分布上的街道编号转录任务,但尚不清楚 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-gram)字典的参数,并使用 Jelinek-Mercer 平滑的差分版本优化这些 n-gram,以最大化所有文本 n-gram 的概率 给定的图像。 为了执行零样本迁移,他们首先将每个数据集的类名的文本转换为其 n-gram 表示,然后根据他们的模型计算其概率,预测得分最高的那个。
我们专注于研究零样本迁移作为任务学习的评估,其灵感来自于在 NLP 领域展示任务学习的工作。 据我们所知,Liu 等人(2018 年)首先将任务学习确定为“意外的副作用”,当时经过训练以生成 Wikipedia 文章的语言模型学会了在语言之间可靠地音译名称。 虽然 GPT-1 (Radford et al., 2018) 专注于将预训练作为一种迁移学习方法来改进监督微调,但它还包括一项消融研究,表明四种启发式零样本迁移方法的性能在整个过程中稳步提高 预训练,没有任何监督适应。 该分析是 GPT-2 (Radford et al., 2019) 的基础,它专门专注于通过零样本迁移研究语言模型的任务学习能力。

3.1.2、使用 CLIP 进行零样本迁移

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

3.1.3.与视觉 N-GRAM 的初步比较

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

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

3.1.4、快速的工程和组装

大多数标准图像分类数据集将支持基于自然语言的零样本迁移的信息命名或描述类视为事后的想法。 绝大多数数据集仅使用标签的数字 id 对图像进行注释,并包含将这些 id 映射回其英文名称的文件。 一些数据集,例如 Flowers102 和 GTSRB,在其发布的版本中似乎根本没有包含此映射,从而完全防止了零样本迁移。 对于许多数据集,我们观察到这些标签的选择可能有些随意,并且没有预料到与零样本迁移相关的问题,零样本迁移依赖于任务描述才能成功迁移。

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

我们遇到的另一个问题是,在我们的预训练数据集中,与图像配对的文本只是一个单词的情况相对较少。 通常文本是以某种方式描述图像的完整句子。 为了帮助弥合这种分布差距,我们发现使用提示模板“A photo of a label”。 作为一个很好的默认值,有助于指定文本是关于图像的内容。 这通常比仅使用标签文本的基线提高性能。 例如,仅使用此提示即可将 ImageNet 上的准确率提高 1.3%。

与围绕 GPT-3 的“提示工程”讨论(Brown 等人,2020 年;Gao 等人,2020 年)类似,我们还观察到,通过为每个任务定制提示文本可以显着提高零样本性能。 以下是一些非详尽的示例。 我们在几个细粒度的图像分类数据集上发现它有助于指定类别。 例如在 Oxford-IIIT Pets 上,使用“A photo of a label, a type of pet.”。 帮助提供上下文效果很好。 同样,在 Food101 上指定了一种食物,在 FGVC Aircraft 上也提供了一种飞机类型。 对于 OCR 数据集,我们发现在要识别的文本或数字周围加上引号可以提高性能。 最后,我们发现在卫星图像分类数据集上,它有助于指定图像是这种形式,我们使用“a satellite photo of a label.”的变体。

我们还尝试在多个 zeroshot 分类器上进行集成,作为提高性能的另一种方法。这些分类器是通过使用不同的上下文提示来计算的,例如“A photo of a big label”和“A photo of a small label”。我们在嵌入空间而不是概率空间上构建集成。这允许我们缓存一组平均文本嵌入,以便在对许多预测进行摊销时,集成的计算成本与使用单个分类器相同。我们已经观察到在许多生成的零样本分类器中进行集成,以可靠地提高性能并将其用于大多数数据集。在 ImageNet 上,我们集成了 80 个不同的上下文提示,这比上面讨论的单个默认提示提高了 3.5% 的性能。当一起考虑时,提示工程和集成将 ImageNet 的准确率提高了近 5%。在图 4 中,我们可视化了与 Li 等人 (2017) 中直接嵌入类名的无上下文基线方法相比,即时工程和集成如何改变一组 CLIP 模型的性能。

3.1.5、零样本剪辑性能分析

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

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

看看零样本 CLIP 在哪些方面表现不佳,我们发现零样本 CLIP 在卫星图像分类(EuroSAT 和 RESISC45)、淋巴结肿瘤检测(PatchCamelyon)、计数对象等几个专门的、复杂或抽象的任务上相当薄弱在合成场景(CLEVRCounts)中,自动驾驶相关的任务,例如德国交通标志识别(GTSRB),识别到最近汽车的距离(KITTI Distance)。这些结果突出了零样本 CLIP 在更复杂任务上的能力差。相比之下,非专家人员可以稳健地执行其中一些任务,例如计数、卫星图像分类和交通标志识别,这表明有很大的改进空间。然而,我们警告说,对于学习者之前没有经验的困难任务(例如几乎所有人类的淋巴结肿瘤分类),测量零样本迁移(与少样本迁移相反)是否是有意义的评估尚不清楚。可能还有剪辑)。

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

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

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

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

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

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

在过去几年中,深度学习系统的实证研究表明,性能是可预测的,可以作为重要数量的函数,例如训练计算和数据集大小(Hestness 等人,2017;Kaplan 等人,2020)。迄今为止,GPT 系列模型在训练计算增加 1000 倍的情况下,零样本性能得到了持续改进。在图 9 中,我们检查了 CLIP 的零样本性能是否遵循类似的缩放模式。我们绘制了 5 个 ResNet CLIP 模型在 36 个不同数据集的 39 次评估中的平均错误率,并发现在模型计算量增加 44 倍的情况下,CLIP 具有类似的对数线性缩放趋势。虽然总体趋势是平稳的,但我们发现个人评估的表现可能会更加嘈杂。我们不确定这是否是由于子任务上的个体训练运行之间的高差异(如 D’Amour 等人(2020)中所述)掩盖了稳步提高的趋势,或者性能是否实际上是非单调的计算函数在一些任务上。

3.2、表征学习

虽然我们在上一节中通过零样本迁移广泛分析了 CLIP 的任务学习能力,但更常见的是研究模型的表示学习能力。有许多方法可以评估表示的质量,以及对“理想”表示应该具有哪些属性的分歧(Locatello 等人,2020 年)。在从模型中提取的表示上拟合线性分类器并测量其在各种数据集上的性能是一种常见的方法。另一种方法是测量模型端到端微调的性能。这增加了灵活性,之前的工作令人信服地证明,微调在大多数图像分类数据集上优于线性分类(Kornblith 等人,2019;Zhai 等人,2019)。尽管出于实际原因,微调的高性能推动了其研究,但出于几个原因,我们仍然选择基于线性分类器的评估。我们的工作重点是开发高性能任务和与数据集无关的预训练方法。微调,因为它在微调阶段适应每个数据集的表示,可以补偿并可能掩盖在预训练阶段学习一般和鲁棒表示的失败。线性分类器由于其有限的灵活性,反而会突出这些失败并在开发过程中提供清晰的反馈。对于 CLIP,训练有监督的线性分类器还有一个额外的好处,那就是与用于零样本分类器的方法非常相似,这可以在第 3.1 节中进行广泛的比较和分析。最后,我们的目标是将 CLIP 与涵盖许多任务的一套全面的现有模型进行比较。在 27 个不同的数据集上研究 66 个不同的模型需要调整 1782 个不同的评估。微调打开了一个更大的设计和超参数空间,这使得比较其他大规模实证研究(Lucic 等人,2018 年;Choi 等人,2018 年, 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) 在总体得分和计算效率方面都略胜于表现最好的现有模型 (Noisy Student EfficientNet-L2)。我们还发现 CLIP 视觉转换器的计算效率比 CLIP ResNets 高约 3 倍,这使我们能够在计算预算内达到更高的整体性能。这些结果定性地复制了 Dosovitskiy 等人 (2020) 的研究结果,该研究结果报告说,在足够大的数据集上训练时,视觉变换器比卷积神经网络的计算效率更高。我们最好的整体模型是 ViT-L/14,它在我们的数据集上以 336 像素的更高分辨率微调了 1 个额外的 epoch。该模型比该评估套件中现有的最佳模型平均高出 2.6%。

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

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

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

3.3、对自然分布转变的鲁棒性

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

我们警告说,迄今为止,这些研究中的大多数都将评估仅限于在 ImageNet 上训练的模型。 回顾讨论的主题,将这些初步发现概括得太远可能是错误的。 这些失败在多大程度上归因于深度学习、ImageNet 或两者的某种组合? CLIP 模型通过自然语言监督在一个非常大的数据集上进行训练,并具有很高的零样本性能,是从不同角度研究这个问题的机会。

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

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

与 ImageNet 验证集相比,在对这些自然分布变化进行评估时,ResNet-101 的错误数是其 5 倍。 然而,令人鼓舞的是,Taori 等人 (2020) 发现分布偏移下的准确度随着 ImageNet 准确度的增加而可预测地增加,并且可以很好地建模为 logit 转换准确度的线性函数。 Taori 等人(2020)利用这一发现提出稳健性分析应区分有效稳健性和相对稳健性。 有效的稳健性衡量分布变化下的准确性提高,高于分布内和分布外准确性之间记录的关系所预测的精度。 相对稳健性反映了分布外准确性的任何改进。 Taori 等人(2020)认为,稳健性技术应该旨在提高有效稳健性和相对稳健性。

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

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

令人惊讶的是,准确度提高了 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 类紧密重叠,但与使用 ImageNet 类名称和必要时池化预测相比,使用 ObjectNet 的创建者为每个类提供的名称仍然有少量帮助。

虽然零样本 CLIP 提高了有效的鲁棒性,但图 14 显示,在完全监督的环境中,这种好处几乎完全消失了。为了更好地理解这种差异,我们研究了从零样本到完全监督的连续统一体上的有效鲁棒性如何变化。在图 15 中,我们可视化了 0-shot、1-shot、2-shot、4-shot…、128-shot 和全监督逻辑回归分类器在最佳 CLIP 模型特征上的性能。我们看到,虽然少样本模型也显示出比现有模型更高的有效鲁棒性,但随着分布性能随着训练数据的增加而增加,这种优势逐渐消失,并且大部分(尽管不完全)用于完全监督模型。此外,零样本 CLIP 明显比具有同等 ImageNet 性能的少数样本模型更稳健。注意力检查图像子集的 97-100% 准确率增加了我们对人类工作者的信任。

有趣的是,人类的平均表现从 54% 提高到 76%,每个班级只有一个训练示例,而额外训练示例的边际收益很小。从 0 到 1 次的准确度提升几乎完全取决于人类不确定的图像。这表明人类“知道他们不知道的东西”,并且能够根据单个示例更新他们最不确定的图像的先验。鉴于此,虽然 CLIP 似乎是一种很有前途的零样本训练策略(图 5),并且在自然分布偏移测试中表现出色(图 13),但人类从几个示例中学习的方式和本文中的few-shot方法。

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

如果我们绘制人类精度与 CLIP 的零样本精度(图 16),我们会发现 CLIP 最难的问题对人类来说也很困难。 在误差一致的范围内,我们的假设是,这至少是由于两个因素造成的:数据集中的噪声(包括错误标记的图像)和分布外的图像对人类和模型来说都很难。

五、数据重叠分析

在非常大的互联网数据集上进行预训练的一个问题是与下游评估的无意重叠。 调查这一点很重要,因为在最坏的情况下,评估数据集的完整副本可能会泄漏到预训练数据集中,并使评估作为有意义的泛化测试无效。 防止这种情况的一种选择是在训练模型之前识别并删除所有重复项。 虽然这可以保证报告真实的保留性能,但它需要提前了解模型可能会评估的所有可能数据。 这样做的缺点是限制了基准测试和分析的范围。 添加新的评估将需要昂贵的重新培训或风险报告由于重叠导致的未量化收益。

相反,我们记录了发生了多少重叠以及由于这些重叠而导致的性能如何变化。为此,我们使用以下过程:

  1. 对于每个评估数据集,我们对其示例运行重复检测器(参见附录 C)。然后我们手动检查找到的最近邻居并设置每个数据集的阈值以保持高精度,同时最大限度地提高召回率。使用这个阈值,我们然后创建两个新的子集,重叠,其中包含与高于阈值的训练示例具有相似性的所有示例,以及清洁,其中包含低于此阈值的所有示例。我们将未更改的完整数据集全部表示为参考。由此我们首先将数据污染程度记录为 Overlap 中的示例数与 All 的大小之比。

  2. 然后我们计算 CLIP RN50x64 在三个分割上的零样本准确度,并报告 All - Clean 作为我们的主要指标。这是由于污染造成的精度差异。当为正时,这是我们对数据集上报告的整体准确度因过度拟合重叠数据而膨胀的估计。

  3. 重叠量通常

    以上是关于CLIP:从自然语言监督中学习可迁移的视觉模型的主要内容,如果未能解决你的问题,请参考以下文章

    CLIP__视频笔记

    迁移学习全面概述:从基本概念到相关研究

    R语言学习-KNN临近算法

    CLIP:语言-图像表示之间的桥梁

    视觉-语言表征学习新进展:提词优化器「琥珀」带你用好CLIP

    一种用于视觉识别的快速知识蒸馏框架