CLIP全文翻译
Learning Transferable Visual Models From Natural Language Supervision (opens new window)
0. 摘要
最先进的计算机视觉系统被训练以预测一组固定的目标类别。这种有限的监督形式限制了它们的通用性和可用性,因为需要额外的标记数据来指定任何其他视觉概念。直接从关于图像的原始文本中学习是一个有希望的替代方案,它利用了更广泛的监督来源。我们展示了一个简单的预训练任务——预测哪个标题与哪个图像匹配——是一种高效且可扩展的方式,可以在从互联网收集的 4 亿(图像,文本)对的数据集上从头开始学习最先进的图像表示。预训练后,自然语言被用来引用学习到的视觉概念(或描述新的),使模型能够零样本转移到下游任务。我们通过对 30 多个不同的现有计算机视觉数据集进行基准测试来研究这种方法的性能,涵盖了 OCR、视频中的动作识别、地理定位和许多类型的细粒度对象分类等任务。该模型在大多数任务上都能非平凡地转移,并且通常与完全监督的基线竞争,而无需任何特定于数据集的训练。例如,我们在不使用任何 1.28 百万个训练样本的情况下,匹配了原始 ResNet-50 在 ImageNet 上的准确率。我们发布了我们的代码和预训练模型权重在 https://github.com/OpenAI/CLIP。
1. 引言和动机工作
从原始文本中学习直接预训练的方法在过去几年中彻底改变了 NLP(自然语言处理)(Dai & Le, 2015; Peters et al., 2018; Howard & Ruder, 2018; Radford et al., 2018; Devlin et al., 2018; Raffel et al., 2019)。像自回归和掩蔽语言建模这样的任务不可知目标已经跨越了许多数量级的计算、模型容量和数据,稳步提高了能力。“文本到文本”作为标准化输入输出接口的发展(McCann et al., 2018; Radford et al., 2019; Raffel et al., 2019)使得任务不可知架构能够零样本转移到下游数据集,消除了需要专门的输出头或数据集特定定制的需求。像 GPT-3(Brown et al., 2020)这样的旗舰系统现在在许多任务上与定制模型竞争,同时几乎不需要特定于数据集的训练数据。
这些结果表明,现代预训练方法在网络规模的文本集合中可访问的聚合监督超过了高质量的人群标记 NLP 数据集。然而,在计算机视觉等其他领域,仍然普遍的做法是在像 ImageNet(Deng et al., 2009)这样的人群标记数据集上预训练模型。能否可扩展的预训练方法直接从网络文本中学习,从而在计算机视觉中实现类似的突破?先前的工作是令人鼓舞的。
20 多年前,Mori 等人(1999)探索了通过训练模型预测与图像配对的文本文档中的名词和形容词来改进基于内容的图像检索。Quattoni 等人(2007)展示了通过流形学习在与图像相关的标题中预测单词的分类器的权重空间中学习更数据高效的图像表示是可能的。Srivastava & Salakhutdinov(2012)探索了通过在低级图像和文本标签特征上训练多模态深度玻尔兹曼机来深度表示学习。Joulin 等人(2016)将这一工作线现代化,并展示了训练 CNN 以预测图像标题中的单词可以学习有用的图像表示。他们将 YFCC100M 数据集中图像的标题、描述和标签元数据转换为词袋多标签分类任务,并展示了预训练 AlexNet(Krizhevsky 等人,2012)以预测这些标签学习表示,这些表示在转移任务上的表现与基于 ImageNet 的预训练相似。Li 等人(2017)然后将这种方法扩展到预测短语 n-gram 以及单个单词,并展示了他们的系统能够零样本转移到其他图像分类数据集,通过基于他们学到的视觉 n-gram 字典评分目标类别并预测得分最高的类别。采用更近期的架构和预训练方法,VirTex(Desai & Johnson, 2020)、ICMLM(Bulent Sariyildiz 等人,2020)和 ConVIRT(Zhang 等人,2020)最近展示了基于变换器的语言建模、掩蔽语言建模和对比目标学习图像表示从文本的潜力。
尽管这些作为概念验证是令人兴奋的,但使用自然语言监督进行图像表示学习仍然很少见。这可能是因为在常见基准上展示的性能远低于替代方法。例如,Li 等人(2017)在零样本设置中只在 ImageNet 上达到了 11.5% 的准确率。这远低于当前最先进的 88.4%(Xie 等人,2020)。它甚至低于经典计算机视觉方法的 50% 准确率(Deng 等人,2012)。相反,更窄范围但针对性更强的弱监督用途提高了性能。Mahajan 等人(2018)展示了预测 Instagram 图像上的 ImageNet 相关标签是一个有效的预训练任务。当微调到 ImageNet 时,这些预训练模型的准确率提高了 5% 以上,并提高了当时的最先进技术。Kolesnikov 等人(2019)和 Dosovitskiy 等人(2020)也通过预训练模型预测嘈杂标记的 JFT-300M 数据集的类别,在更广泛的转移基准上展示了巨大的收益。
这项工作代表了从有限的监督“金标签”学习与从几乎无限的原始文本中学习之间的当前实用中间地带。然而,它并非没有妥协。Both works carefully design, and in the process limit, their supervision to 1000 and 18291 classes respectively. Natural language is able to express, and therefore supervise, a much wider set of visual concepts through its generality. Both approaches also use static softmax classifiers to perform prediction and lack a mechanism for dynamic outputs. This severely curtails their flexibility and limits their “zero-shot” capabilities.
这些弱监督模型与最近直接从自然语言中学习图像表示的探索之间的一个关键区别是规模。虽然 Mahajan 等人(2018)和 Kolesnikov 等人(2019)在加速器上训练了他们的模型数年,涉及数百万到数十亿的图像,但 VirTex、ICMLM 和 ConVIRT 仅在一到两百万个图像上训练了几天。在这项工作中,我们弥合了这一差距,并研究了在大规模下用自然语言监督训练的图像分类器的行为。得益于互联网上这种形式的大量公开可用数据,我们创建了一个新的数据集,包含 4 亿(图像,文本)对,并展示了一个简化版本的 ConVIRT,我们称之为 CLIP,即对比语言图像预训练,是一种从自然语言监督中学习的有效方法。我们通过训练一系列八个模型来研究 CLIP 的可扩展性,这些模型几乎跨越了计算量的两个数量级,并观察到转移性能是计算量的平滑可预测函数(Hestness 等人,2017;Kaplan 等人,2020)。我们发现 CLIP,与 GPT 家族类似,学会了在预训练期间执行广泛的任务,包括 OCR、地理定位、动作识别等。我们通过在 30 多个现有数据集上测量 CLIP 的零样本转移性能来衡量这一点,并发现它可以与以前的特定任务监督模型竞争。我们还用线性探针表示学习分析来证实这些发现,并展示了 CLIP 在性能上优于最好的公开可用 ImageNet 模型,同时也更具计算效率。此外,我们发现零样本 CLIP 模型比同等准确度的监督 ImageNet 模型更具鲁棒性,这表明零样本评估任务不可知模型更能代表模型的能力。这些结果具有重要的政策和伦理含义,我们在第 7 节中进行了考虑。
2. 方法
2.1. 自然语言监督
我们方法的核心是从自然语言中包含的监督中学习感知。如引言中所讨论的,这根本不是一个新想法,但用于描述这个空间的工作的术语是多样的,甚至是看似矛盾的,并且陈述的动机是多样的。Zhang 等人(2020)、Gomez 等人(2017)、Joulin 等人(2016)和 Desai & Johnson(2020)都引入了与图像配对的文本学习方法,但分别将他们的方法描述为无监督、自监督、弱监督和监督。
我们强调,这些工作的共同点不是特定方法的细节,而是对自然语言作为训练信号的欣赏。所有这些方法都是从自然语言监督中学习。尽管早期的工作在处理自然语言的复杂性时使用了主题模型和 n-gram 表示,但深度上下文表示学习的进步表明我们现在拥有有效利用这种丰富的监督源的工具(McCann 等人,2017)。
从自然语言学习有几个潜在的优势,超过了其他训练方法。与标准的人群源标签图像分类相比,更容易扩展自然语言监督,因为它不要求注释以经典的“机器学习兼容格式”存在,例如规范的 N-of-M 多数票“金标签”。相反,可以在互联网上大量文本中被动学习包含在其中的监督。从自然语言学习还比大多数无监督或自监督学习方法有一个重要的优势,即它不仅仅学习表示,还连接该表示到语言,从而实现灵活的零样本转移。在以下小节中,我们详细说明我们最终选择的具体方法。
2.2. 创建足够大的数据集
现有的工作主要使用了三个数据集,MS-COCO(Lin 等人,2014)、Visual Genome(Krishna 等人,2017)和 YFCC100M(Thomee 等人,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。
2.3. 选择一个高效的预训练方法
最先进的计算机视觉系统使用非常大的计算量。Mahajan 等人(2018)需要 19 个 GPU 年训练他们的 ResNeXt101-32x48d 和 Xie 等人(2020)需要 33 个 TPUv3 核心年训练他们的 Noisy Student EfficientNet-L2。当考虑到这两个系统只被训练以预测 1000 个 ImageNet 类别时,从自然语言中学习一个开放的视觉概念集的任务似乎是令人生畏的。在我们努力的过程中,我们发现训练效率是成功扩展自然语言监督的关键,我们根据这个指标选择我们最终的预训练方法。
我们最初的方法,类似于 VirTex,联合训练了一个图像 CNN 和文本变换器从零开始预测图像的标题。然而,我们遇到了扩展这种方法的困难。在图 2 中,我们展示了一个 6300 万参数的变换器语言模型,已经使用了比其 ResNet-50 图像编码器多两倍的计算量,学习识别 ImageNet 类别的速度比一个预测相同文本的词袋编码的简单基线慢三倍。
这两种方法都有一个关键的相似之处。它们试图预测每个图像伴随的确切文本。由于描述、评论和与图像共同出现的相关内容的多样性,这是一个困难的任务。最近的工作中的对比表示学习图像发现,对比目标可以比它们等效的预测目标学习更好的表示(Tian 等人,2019)。其他工作发现,尽管图像的生成模型可以学习高质量的图像表示,但它们需要比具有相同性能的对比模型多一个数量级的计算(Chen 等人,2020a)。鉴于这些发现,我们探索了一个系统,通过解决可能更容易的代理任务来训练,即只预测与哪个图像配对的整个文本,而不是文本的确切单词。从词袋编码基线开始,我们将预测目标换成对比目标,并在图 2 中观察到零样本转移到 ImageNet 的速率进一步提高了 4 倍。
给定一个 N(图像,文本)对的批次,CLIP 被训练以预测 N×N 可能的(图像,文本)配对在批次中实际发生的配对。为此,CLIP 通过联合训练一个图像编码器和文本编码器来学习一个多模态嵌入空间,最大化批次中 N 个真实对的图像和文本嵌入的余弦相似性,同时最小化 N^2−N 个错误配对的嵌入的余弦相似性。我们优化了这些相似分数上的对称交叉熵损失。在图 3 中,我们包含了 CLIP 实现核心的伪代码。据我们所知,这种批量构建技术和目标最初是在深度度量学习领域作为多类 N 对损失 Sohn(2016)引入的,被 Oord 等人(2018)作为 InfoNCE 损失推广用于对比表示学习,并最近被 Zhang 等人(2020)在医学成像领域的对比(文本,图像)表示学习中适应。
由于我们的预训练数据集的庞大规模,过拟合不是主要关注点,CLIP 的训练细节比 Zhang 等人(2020)的实现简化。我们从零开始训练 CLIP,不使用 ImageNet 权重初始化图像编码器或预训练权重初始化文本编码器。我们不使用非线性投影在表示和对比嵌入空间之间,这是 Bachman 等人(2019)引入的,并由 Chen 等人(2020b)推广。相反,我们只使用一个线性投影将每个编码器的表示映射到多模态嵌入空间。我们没有注意到两个版本之间的训练效率差异,并推测非线性投影可能与当前仅图像的自监督表示学习方法的细节共同适应。我们还去除了 Zhang 等人(2020)中的文本转换函数 tu,它从文本中均匀随机采样一个句子,因为 CLIP 预训练数据集中的许多(图像,文本)对只是一个句子。我们还简化了图像转换函数 tv。在训练期间,调整大小的图像的随机正方形裁剪是使用的唯一数据增强。最后,控制 softmax 中 logits 范围的温度参数τ在训练期间作为一个对数参数化的乘法标量直接优化,以避免作为一个超参数旋转。
2.4. 选择和扩展模型
我们考虑两种不同的架构作为图像编码器。首先,我们使用 ResNet-50(He 等人,2016a)作为图像编码器的基础架构,因为它的广泛采用和经过验证的性能。我们对原始版本进行了几项修改,使用了 He 等人(2019)的 ResNetD 改进和 Zhang(2019)的抗锯齿 rect-2 模糊池化,并将全局平均池化层替换为注意力池化机制。注意力池化实现为一个“变换器风格”的多头 QKV 注意力层,其中查询是受图像的全局平均池化表示条件的。其次,我们尝试了最近引入的 Vision Transformer(ViT)(Dosovitskiy 等人,2020)。我们紧密跟随他们的实现,只做了轻微的修改,在变换器之前添加了额外的层归一化到组合的补丁和位置嵌入,并使用了一个稍微不同的初始化方案。
文本编码器是一个变换器(Vaswani 等人,2017),具有 Radford 等人(2019)描述的架构修改。作为一个基础大小,我们使用了一个 63M 参数的 12 层 512 宽模型,有 8 个注意力头。变换器操作在文本的 lowercase byte pair encoding(BPE)表示上,词汇量大小为 49,152(Sennrich 等人,2015)。为了计算效率,最大序列长度被限制在 76。文本序列用 [SOS] 和 [EOS] 标记包围,变换器在 [EOS] 标记处的激活被视为文本的特征表示,该表示被层归一化,然后线性投影到多模态嵌入空间。在文本编码器中使用了掩蔽自注意力,以保留用预训练语言模型初始化或添加语言建模作为辅助目标的能力,尽管探索这一点作为未来工作。
虽然以前的计算机视觉研究通常通过增加宽度(Mahajan 等人,2018)或深度(He 等人,2016a)来单独扩展模型,但对于 ResNet 图像编码器,我们采用了 Tan & Le(2019)的方法,他们发现将额外的计算分配到宽度、深度和分辨率上比仅分配给模型的一个维度更有效。虽然 Tan & Le(2019)为他们 EfficientNet 架构调整了分配给每个维度的计算比例,我们使用了一个简单的基线,将额外的计算平均分配到增加模型的宽度、深度和分辨率上。对于文本编码器,我们只按 ResNet 计算宽度的增加比例来扩展模型的宽度,并且根本不扩展深度,因为我们发现 CLIP 的性能对文本编码器的容量不太敏感。
2.5. 训练
我们训练了 5 个 ResNets 和 3 个 Vision Transformers。对于 ResNets,我们训练了一个 ResNet-50,一个 ResNet-101,然后是 3 个遵循 EfficientNet 风格的模型扩展,使用大约 4 倍、16 倍和 64 倍于 ResNet-50 的计算量。它们分别被标记为 RN50x4、RN50x16 和 RN50x64。对于 Vision Transformers,我们训练了一个 ViT-B/32、一个 ViT-B/16 和一个 ViT-L/14。我们训练所有模型 32 个周期。我们使用 Adam 优化器(Kingma & Ba, 2014)与解耦权重衰减正则化(Loshchilov & Hutter, 2017)应用于所有非增益或偏置的权重,并使用余弦调度(Loshchilov & Hutter, 2016)衰减学习率。初始超参数是使用网格搜索、随机搜索和手动调整在基线 ResNet50 模型上训练 1 个周期时设置的。然后由于计算限制,对更大的模型进行启发式调整。可学习的_temperature 参数τ从(Wu 等人,2018)中的 0.07 等效初始化,并剪辑以防止对数 its 进行缩放超过 100,我们发现这是防止训练不稳定所必需的。我们使用非常大的批量大小 32,768。混合精度(Micikevicius 等人,2017)被用来加速训练并节省内存。为了节省额外的内存,梯度检查点(Griewank & Walther, 2000; Chen 等人,2016)、半精度 Adam 统计(Dhariwal 等人,2020)和半精度随机四舍五入的文本编码器权重被使用。嵌入相似性的计算也被分片,单个 GPU 只计算其本地批次嵌入所需的子集对相似性。最大的 ResNet 模型,RN50x64,在 592 个 V100 GPU 上训练了 18 天,而最大的 Vision Transformer 在 256 个 V100 GPU 上训练了 12 天。对于 ViT-L/14,我们还在一个更高的 336 像素分辨率上预训练一个额外的周期以提升性能,类似于 FixRes(Touvron 等人,2019)。我们把这个模型称为 ViT-L/14@336px。除非另有规定,否则本文中报告的所有结果作为“CLIP”都使用这个模型,我们发现它的表现最好。
3. 实验
3.1. 零样本转移
3.1.1. 动机
在计算机视觉中,零样本学习通常指的是对图像分类中未见类别的泛化研究(Lampert 等人,2009)。我们以更广泛的意义研究泛化到未见数据集。我们将其作为执行未见任务的代理,如 Larochelle 等人(2008)的零数据学习论文中所期望的。虽然无监督学习领域的许多研究关注机器学习系统的表示学习能力,但我们以零样本转移作为衡量机器学习系统任务学习能力的一种方式进行动机研究。从这个观点来看,数据集评估了在特定分布上的任务性能。然而,许多流行的计算机视觉数据集是由研究社区主要作为基准创建的,以指导通用图像分类方法的发展,而不是衡量特定任务的性能。虽然可以说 SVHN 数据集测量了在 Google 街景照片分布上的街道数字转录任务,但 CIFAR-10 数据集测量了什么“真实”任务是不清楚的。然而,CIFAR-10 来自的分布是什么是清楚的——TinyImages(Torralba 等人,2008)。在这些类型的数据集上,零样本转移更多地评估了 CLIP 对分布偏移和领域泛化的鲁棒性,而不是任务泛化。请参见第 3.3 节,有关此方面的分析。
据我们所知,Visual N-Grams(Li 等人,2017)首先以上述方式研究了转移到现有图像分类数据集的零样本转移。它也是我们所知唯一研究使用通用预训练模型转移到标准图像分类数据集的零样本转移的工作,并为 CLIP 提供了最好的参考点。他们的方法学习了 142,806 个视觉 n-gram 的参数(跨越 1 到 5-grams),并使用 Jelinek-Mercer 平滑的差异版本优化这些 n-gram,以最大化给定图像的所有文本 n-gram 的概率。为了执行零样本转移,他们首先将数据集的每个类别的文本转换为其 n-gram 表示,然后根据他们的模型计算其概率,预测得分最高的类别。
我们关注研究零样本转移作为任务学习能力评估的动机受到了 NLP 领域任务学习研究的启发。据我们所知,Liu 等人(2018)首先确定了任务学习作为语言模型训练生成 Wikipedia 文章时的“意外副作用”,学习可靠地在不同语言之间转录名称。虽然 GPT-1(Radford 等人,2018)专注于预训练作为一种转移学习方法,以改善监督微调,但也包括了一个消融研究,证明了四种启发式零样本转移方法的性能随着预训练的进行而稳步提高,而无需任何监督适应。这一分析为 GPT-2(Radford 等人,2019)奠定了基础,后者专门研究了通过零样本转移学习语言模型的任务学习能力。
3.1.2. 使用 CLIP 进行零样本转移
CLIP 被预训练以预测图像和文本片段是否在数据集中配对。为了执行零样本分类,我们重用这种能力。对于每个数据集,我们使用数据集中所有类别的名称作为潜在的文本配对,并预测 CLIP 最可能的(图像,文本)配对。更详细地说,我们首先计算图像的特征嵌入和可能文本的特征嵌入,然后计算这些嵌入的余弦相似性,通过温度参数τ进行缩放,并通过 softmax 归一化为概率分布。请注意,这个预测层是一个多项式逻辑回归分类器,具有 L2 归一化的输入、L2 归一化的权重、无偏置和温度缩放。当以这种方式解释时,图像编码器是计算图像特征表示的计算机视觉骨干网络,文本编码器是一个超网络(Ha 等人,2016),它根据指定视觉概念的文本生成线性分类器的权重。Lei Ba 等人(2015)首次引入了这种形式的零样本图像分类器,而从自然语言生成分类器的想法至少可以追溯到 Elhoseiny 等人(2013)。继续这种解释,CLIP 预训练的每一步都可以被视为优化一个随机创建的代理到计算机视觉数据集的性能,该数据集每个类别有 1 个样本,总共有 32,768 个类别,通过自然语言描述定义。对于零样本评估,我们一旦通过文本编码器计算出零样本分类器,就缓存它,以便在数据集中的所有后续预测中重用。这允许生成它的成本在许多预测中摊销。
3.1.3. 与视觉 N-Gram 的初始比较
在表 1 中,我们将视觉 N-Gram 与 CLIP 进行了比较。最好的 CLIP 模型将 ImageNet 的准确率从概念验证的 11.5% 提高到 76.2%,并匹配了原始 ResNet-50 的性能,尽管没有使用该数据集可用的 1280 万个人群标记训练示例。此外,CLIP 模型的 top-5 准确率明显高于它们的 top-1,这个模型有 95% 的 top-5 准确率,匹配了 Inception-V4(Szegedy 等人,2016)。能够匹配强大的完全监督基线在零样本设置中的性能表明 CLIP 是朝着灵活和实用的零样本计算机视觉分类器迈出的重要一步。如上所述,与视觉 N-Gram 的比较旨在为 CLIP 的性能提供背景,不应解释为 CLIP 和视觉 N-Gram 之间的直接方法比较,因为两个系统之间的许多性能相关差异没有得到控制。例如,我们在数据集上训练了 10 倍大的数据集,使用了近 100 倍于每次预测的计算量的视觉效果模型,可能使用了超过 1000 倍的训练计算量,并使用了变换器基础模型,这在视觉 N-Gram 发布时还不存在。作为一个更接近的比较,我们在 YFCC100M 数据集上训练了一个 CLIP ResNet-50,这是视觉 N-Gram 被训练的相同数据集,并发现它在 V100 GPU 的一天内匹配了他们报告的 ImageNet 性能。这个基线也是从零开始训练的,而不是像视觉 N-Gram 那样从预训练的 ImageNet 权重初始化。CLIP 还在其他两个报告的数据集上优于视觉 N-Gram。在 aYahoo 上,CLIP 实现了 95% 的误差减少,在 SUN 上,CLIP 的准确率是视觉 N-Gram 的两倍多。为了进行更全面的分析和压力测试,我们实现了一个更大的评估套件,详细在附录 A 中。我们从视觉 N-Gram 报告的 3 个数据集扩展到包括超过 30 个数据集,并与超过 50 个现有的计算机视觉系统进行比较,以提供结果的背景。
3.1.4. 提示工程和集成
大多数标准图像分类数据集将命名或描述类别的信息视为次要,这使得基于自然语言的零样本转移成为可能。大多数数据集仅用数字 ID 注释图像,包含一个文件将这些 ID 映射回英文名称。一些数据集,如 Flowers102 和 GTSRB,在发布的版本中似乎根本没有包含这个映射,阻止了零样本转移。对于许多数据集,我们观察到这些标签可能是偶然选择的,并没有预见到与零样本转移相关的问题,这依赖于任务描述才能成功转移。
一个常见问题是多义性。当类别的名称是提供给 CLIP 文本编码器的唯一信息时,由于缺乏上下文,它无法区分哪个词义是意图的。在某些情况下,同一个词的多个含义可能作为不同的类别包含在同一个数据集中!这发生在 ImageNet 中,它既包含建筑起重机,也包含飞翔的鹤。另一个例子是在 Oxford-IIIT Pets 数据集的类别中,单词 boxer 从上下文中明显是指一种狗的品种,但缺乏上下文的文本编码器同样可能指的是一种运动员类型。
我们遇到的另一个问题是,在预训练数据集中,与图像配对的文本很少只是一个单词。通常,文本是描述图像的整个句子。为了帮助弥合这种分布差距,我们发现使用提示模板“A photo of a {label}.”是一个不错的默认选择,有助于指定文本是关于图像内容的。这通常会提高性能,例如,仅使用此提示就将 ImageNet 的准确率提高了 1.3%。
类似于 GPT3(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}.”的变体。
我们还尝试了通过使用不同的上下文提示,如“A photo of a big {label}”和“A photo of a small {label}”来计算多个零样本分类器的集成,作为另一种提高性能的方法。我们在嵌入空间而不是概率空间上构建集成。这允许我们缓存一组平均的文本嵌入,以便集成的计算成本与使用单个分类器相同,当在许多预测中摊销时。我们已经观察到在许多生成的零样本分类器上进行集成可以可靠地提高性能,并在大多数数据集上使用它。在 ImageNet 上,我们在 80 个不同的上下文提示上进行集成,这将性能提高了额外的 3.5% 以上。当一起考虑时,提示工程和集成将 ImageNet 准确率提高了近 5%。在图 4 中,我们可视化了提示工程和集成如何改变一组 CLIP 模型与上下文无关的基线方法的性能,直接嵌入类别名称,如 Li 等人(2017)所做的。
3.1.5. 零样本 CLIP 性能分析
由于计算机视觉的通用零样本分类器一直未被充分研究,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% 的总体准确率,尽管没有使用任何训练样本,但似乎是一个新最先进的水平。零样本 CLIP 在两个测量视频动作识别的数据集上显著优于 ResNet-50。在 Kinetics700 上,CLIP 比 ResNet-50 高出 14.5%。零样本 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 模型会表现得更好,但这些模型尚未公开发布。BiT-M ResNet-152x2 在 16 次样本设置中表现最好有点令人惊讶,因为如第 3.2 节所分析的,Noisy Student EfficientNet-L2 在完全监督设置中比它高出近 5% 的平均准确率,跨越 27 个数据集。
除了研究零样本和少样本的平均性能外,我们还检查了个别数据集上的性能。在图 7 中,我们估计了在相同特征空间上逻辑回归分类器需要多少标记样本才能匹配零样本 CLIP 的性能。由于零样本 CLIP 也是一个线性分类器,这估计了零样本转移在这种情况下的有效数据效率。为了避免训练数千个线性分类器,我们基于 1、2、4、8、16 次样本(如果可能的话)和每个数据集上训练的完全监督线性分类器的性能的对数线性插值来估计有效数据效率。我们发现零样本转移的数据效率每个数据集差异很大,从每个类别不到 1 个标记样本到 184 个。两个数据集,Flowers102 和 EuroSAT,表现不如一次样本模型。一半的数据集每个类别少于 5 个样本,中位数为 5.4。然而,平均估计的数据效率为 20.8 个样本每个类别。这是由于 20% 的数据集需要许多标记样本每个类别才能匹配性能。在 ImageNet 上,零样本 CLIP 匹配了在相同特征空间上训练的 16 次样本线性分类器的性能。
如果我们假设评估数据集足够大,以至于在它们上训练的线性分类器的参数被很好地估计,那么 CLIP 的零样本分类器也是线性分类器,完全监督分类器的性能大致为零样本转移可以实现的上限。在图 8 中,我们比较了 CLIP 的零样本性能与跨数据集的完全监督线性分类器的性能。虚线 y = x 表示一个“最优”的零样本分类器,其性能与完全监督的等价物相匹配。对于大多数数据集,零样本分类器的性能仍然比完全监督分类器低 10% 到 25%,表明改进 CLIP 的任务学习和零样本转移能力还有很大的空间。
零样本性能和完全监督性能之间有 0.82 的正相关(p 值<10^-6),表明 CLIP 在将底层表示和任务学习连接到零样本转移方面相对一致。然而,零样本 CLIP 只在 5 个数据集上接近完全监督性能(≤3 点差异)。在所有 5 个数据集上,零样本准确率和完全监督准确率都超过 90%。这表明 CLIP 在底层表示质量高的任务上可能更有效地进行零样本转移。预测零样本性能作为完全监督性能函数的线性回归模型估计,对于完全监督性能的每一个百分点提高,零样本性能提高 1.28%。然而,95% 的置信区间仍然包括小于 1 的值(0.93-1.79)。
在过去的几年中,对深度学习系统的实证研究记录了性能作为训练计算和数据集大小等重要量函数的可预测性(Hestness 等人,2017;Kaplan 等人,2020)。GPT 家族的模型迄今为止在训练计算增加 1000 倍时显示出零样本性能的一致改进。在图 9 中,我们检查 CLIP 的零样本性能是否遵循类似的缩放模式。我们在 36 个不同数据集上的 39 次评估中绘制了 5 个 ResNet CLIP 模型的平均错误率,并发现类似的对数 - 对数线性趋势适用于 CLIP 在模型计算 44 倍增加时的性能。虽然总体趋势是平滑的,我们发现个别评估的性能可能更加嘈杂。我们不确定这是由于个别训练在子任务上的表现差异(如 D’Amour 等人,2020 所记录)掩盖了稳步改进的趋势,还是某些任务上的性能实际上与计算量非单调相关。
3.2. 表示学习
虽然我们已经通过零样本转移广泛分析了 CLIP 的任务学习能力,但更常见的是评估模型的表示学习能力。评估表示质量有许多方法,也有关于“理想”表示应具有哪些属性的分歧(Locatello 等人,2020)。在从模型中提取的表示上拟合线性分类器并测量其在各种数据集上的性能是一种常见的方法。另一种是测量模型的端到端微调性能。这增加了灵活性,先前的工作令人信服地证明了微调在大多数图像分类数据集上优于线性分类(Kornblith 等人,2019;Zhai 等人,2019)。虽然微调的高性能激发了它的研究,出于实际原因,我们仍然选择基于线性分类器的评估有几个原因。我们的工作重点是开发一个高性能的任务和数据集不可知的预训练方法。微调因为在微调阶段适应每个数据集的表示,可以补偿并可能掩盖预训练阶段未能学习通用和鲁棒表示的失败。线性分类器因为它们的灵活性有限,反而突出了这些失败,并在开发过程中提供了清晰的反馈。对于 CLIP,训练监督线性分类器的额外好处是它与用于其零样本分类器的方法非常相似,这使得第 3.1 节中的比较和分析成为可能。最后,我们的目标是比较 CLIP 与许多任务上的广泛模型。研究 66 个不同模型在 27 个不同数据集上的性能需要调整 1782 次不同的评估。微调开辟了一个更大的设计和超参数空间,这使得公平评估和计算上昂贵地比较不同的技术变得困难,如其他大规模实证研究中所讨论的(Lucic 等人,2018;Choi 等人,2019)。相比之下,线性分类器需要最少的超参数调整,并且具有标准化的实现和评估程序。请参见附录 A 以了解评估的更多详细信息。
图 10 总结了我们的发现。为了最小化可能引起确认或报告偏差的担忧的选择效应,我们首先研究了 Kornblith 等人(2019)的 12 个数据集评估套件上的性能。虽然像 ResNet-50 和 ResNet-101 这样的小型 CLIP 模型优于在 ImageNet-1K 上训练的其他 ResNets(BiT-S 和原始的),但它们在 ImageNet-21K 上训练的 ResNets(BiT-M)下表现不佳。这些小型 CLIP 模型也在类似计算需求的 EfficientNet 家族模型下表现不佳。然而,用 CLIP 训练的模型扩展得很好,我们训练的最大的模型(ResNet-50x64)在整体得分和计算效率上略微优于最佳现有模型(一个在 ImageNet-21K 上训练的 Noisy Student EfficientNet-L2)。我们还发现 CLIP 视觉变换器大约比 CLIP ResNets 计算效率高 3 倍,这使我们能够在计算预算内达到更高的整体性能。我们的最佳整体模型是一个在 336 像素分辨率上微调 1 个额外周期的 ViT-L/14。这个模型在这个评估套件上比最佳现有模型高出平均 2.6%。
如图 21 所示,CLIP 模型学习了比以前在单个计算机视觉模型中展示的更广泛的任务集。这些任务包括地理定位、光学字符识别、面部情感识别和动作识别。Kornblith 等人(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 显示了最佳 CLIP 模型与我们评估套件中最佳模型在所有 27 个数据集上的性能差异。CLIP 在 27 个数据集中的 21 个上优于 Noisy Student EfficientNet-L2。CLIP 在需要 OCR(SST2 和 HatefulMemes)、地理定位和场景识别(Country211、SUN397)以及视频活动识别(Kinetics700 和 UCF101)的任务上改进最大。此外,CLIP 还在细粒度汽车和交通标志识别(Stanford Cars 和 GTSRB)上做得更好。这可能反映了 ImageNet 过于狭窄的监督问题。例如,GTSRB 上 14.7% 的改进可能表明 ImageNet-1K 存在问题,它对所有交通和街道标志只有一个标签。这可能会鼓励监督表示崩溃类内细节,从而损害细粒度下游任务的准确性。如上所述,CLIP 在几个数据集上仍然不如 EfficientNet。不出所料,EfficientNet 相对于 CLIP 表现最好的数据集是它被训练的数据集:ImageNet。EfficientNet 在低分辨率数据集上也略胜一筹,如 CIFAR10 和 CIFAR100。我们怀疑这至少部分是由于 CLIP 缺乏基于尺度的数据增强。EfficientNet 在 PatchCamelyon 和 CLEVRCounts 上也略胜一筹,这两个数据集的整体性能仍然很低。
3.3 对自然分布偏移的鲁棒性
2015 年,宣布了一个深度学习模型在 ImageNet 测试集上超过了人类性能(He 等人,2015)。然而,随后几年的研究发现,这些模型仍然会犯很多简单的错误(Dodge & Karam,2017;Geirhos 等人,2018;Alcorn 等人,2019),并且测试这些系统的新基准经常发现它们的表现远低于它们的 ImageNet 准确率和人类准确率(Recht 等人,2019;Barbu 等人,2019)。什么解释了这种差异?提出了各种想法并进行了研究(Ilyas 等人,2019;Geirhos 等人,2020)。一个共同的主题是,深度学习模型非常擅长发现在它们的训练数据集上成立的相关性和模式,从而提高分布内性能。然而,这些相关性和模式实际上是偶然的,并不适用于其他分布,导致在其他数据集上的性能大幅下降。
我们提醒说,到目前为止,这些研究大多限于在 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(Hendrycks 等人,2019)和 ImageNet Rendition(Hendrycks 等人,2020a)。他们将这些数据集与合成分布偏移区分开来,如 ImageNet-C(Hendrycks & Dietterich,2019)、Stylized ImageNet(Geirhos 等人,2018)或对抗性攻击(Goodfellow 等人,2014),这些是通过以各种方式扰动现有图像创建的。他们提出这种区分,部分原因是他们发现,虽然已经展示了几种技术可以改善在合成分布偏移上的性能,但它们往往不能在自然分布上取得一致的改进。3
在这些收集的数据集上,ImageNet 模型的准确率比 ImageNet 验证集预期的要低得多。在以下总结讨论中,我们报告所有 7 个自然分布偏移数据集上的平均准确率和 ImageNet 相应类别子集上的平均准确率,除非另有说明。此外,对于 Youtube-BB 和 ImageNet-Vid,它们有两个不同的评估设置,我们使用 pm-0 和 pm-10 准确率的平均值。
ResNet-101 在这些自然分布偏移上犯的错误是 ImageNet 验证集的 5 倍。然而,令人鼓舞的是,Taori 等人(2020)发现,在分布偏移下的性能随着 ImageNet 准确率的提高而可预测地增加,并且可以很好地建模为对数变换后的准确率的线性函数。Taori 等人(2020)利用这一发现提出,鲁棒性分析应该区分有效鲁棒性和相对鲁棒性。有效鲁棒性衡量在分布偏移上的性能提高超过了文档化的关系在分布内和分布外准确率之间预测的提高。相对鲁棒性捕获了在分布外准确率上的任何改进。Taori 等人(2020)认为,鲁棒性技术应该旨在提高有效鲁棒性和相对鲁棒性。
Taori 等人(2020)研究的几乎所有模型都是在 ImageNet 上训练或微调的。回到本节开头的讨论——ImageNet 数据集的分布训练或适应是否是观察到的鲁棒性差距的原因?直观上,零样本模型不应该能够利用仅在特定分布上成立的偶然相关性或模式,因为它没有在该分布上训练。4 因此,可以合理预期零样本模型具有更高的有效鲁棒性。在图 13 中,我们比较了零样本 CLIP 与现有 ImageNet 模型在自然分布偏移上的性能。所有零样本 CLIP 模型都显著提高了有效鲁棒性,并减少了 ImageNet 准确率与分布偏移下准确率之间的差距,高达 75%。
虽然这些结果表明零样本模型可以更加鲁棒,但它们并不一定意味着在 ImageNet 上进行监督学习会导致鲁棒性差距。CLIP 的其他细节,如其庞大多样的预训练数据集或使用自然语言监督,也可能导致无论它们是零样本还是微调的模型都更加鲁棒。作为一个初步实验,可能开始缩小这一点,我们还测量了 CLIP 模型在适应 ImageNet 分布后的性能变化,通过在 ImageNet 训练集上拟合 CLIP 特征的 L2 正则化逻辑回归分类器。我们在图 14 中可视化了从零样本分类器的性能变化。尽管适应 CLIP 到 ImageNet 分布将其 ImageNet 准确率提高了 9.2%,达到 85.4% 的整体准确率,并与 2018 年 SOTA 的 Mahajan 等人(2018)的准确率相匹配,但在分布偏移下的平均准确率略有下降。
提高 9.2% 的准确率,相当于大约 3 年的 SOTA 改进,未能转化为在分布偏移下的平均性能提高是令人惊讶的。我们还分解了每个数据集的零样本准确率和线性分类器准确率的差异,在图 14 和 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 中的“人”类别,预测是通过汇总 ImageNet 类别的棒球运动员、新郎和水肺潜水员进行的。有了 CLIP,我们可以直接为每个数据集生成定制的零样本分类器,直接基于其类别名称。在图 14 中,我们看到这将平均有效鲁棒性提高了 5%,但主要集中在少数几个数据集上的大幅改进。奇怪的是,ObjectNet 的准确率也提高了 2.3%。尽管该数据集旨在与 ImageNet 类别紧密重叠,但使用 ObjectNet 的创建者为每个类别提供的名称与使用 ImageNet 类别名称并在必要时汇总预测相比,仍然有所帮助。
虽然零样本 CLIP 提高了有效鲁棒性,但图 14 显示,在完全监督的情况下,这种好处几乎消失了。为了更好地理解这种差异,我们研究了从零样本到完全监督的有效鲁棒性如何变化。在图 15 中,我们可视化了在最佳 CLIP 模型的特征上训练的 0 次样本、1 次样本、2 次样本、4 次样本...、128 次样本和完全监督逻辑回归分类器的性能。我们看到,尽管少样本模型也显示出比现有模型更高的有效鲁棒性,但随着更多的训练数据和分布内性能的提高,这种好处逐渐消失,并且在完全监督模型中几乎(尽管不完全)消失。此外,零样本 CLIP 明显比具有等效 ImageNet 性能的少样本模型更鲁棒。
在我们的实验中,高有效鲁棒性似乎是通过最小化模型可以访问的特定分布训练数据的数量来实现的,但这以降低特定数据集的性能为代价。
综合这些结果,最近的大规模任务和数据集不可知预训练的转变,加上重新定位到广泛的评估套件上的零样本和少样本基准测试(如 Yogatama 等人,2019 和 Linzen,2020 所倡导的)促进了更鲁棒系统的开发,并提供了对性能的更准确评估。我们好奇是否 NLP 领域的零样本模型,如 GPT 家族,也会得到相同的结果。虽然 Hendrycks 等人(2020b)报告说预训练提高了情感分析的相对鲁棒性,但 Miller 等人(2020)对自然分布偏移下问答模型的鲁棒性的研究发现,与 Taori 等人(2020)一样,迄今为止几乎没有有效鲁棒性的改进的证据。
4. 与人类性能的比较
CLIP 与人类性能和人类学习相比如何?为了更好地了解 CLIP 在类似评估设置中的表现,我们让五个人查看了 Oxford IIT Pets 数据集(Parkhi 等人,2012)测试分割中的每个 3669 张图像,并选择 37 个猫或狗品种中哪一个最匹配图像(或者如果他们完全不确定,则为“我不知道”)。在零样本案例中,人类在没有任何样本的情况下被要求标记他们,并且不能进行网络搜索。在一次样本实验中,人类每个品种被给了一个样本图像,在两次样本实验中,他们被给了一个品种的两个样本图像。5
一个可能的担忧是人类工作者在零样本任务中没有足够的动力。人类在 STL-10 数据集(Coates 等人,2011)上的高准确率为 94%,并且在注意力检查图像的子集上的 97-100% 准确率增加了我们对人类工作者的信任。
有趣的是,人类从每个类别的一个训练样本中,性能从平均 54% 提高到 76%,并且额外的训练样本的边际增益是最小的。从零样本到一次样本的准确率提高几乎完全是在人类对图像最不确定的情况下。这表明人类“知道他们不知道什么”,并且能够根据单个样本更新他们对图像最不确定的先验。鉴于此,尽管 CLIP 是一个有希望的零样本性能训练策略(图 5),并且在测试自然分布偏移(图 13)方面做得很好,但人类学习与本论文中的少样本方法之间仍然存在很大差异。
这表明,在减少机器和人类样本效率差距方面,仍有待改进的算法。因为这些 CLIP 的少样本评估没有有效地利用先验知识,而人类却这样做了,我们推测找到一种将先验知识适当整合到少样本学习中的方法,是 CLIP 算法改进的重要一步。据我们所知,在高质量预训练模型的特征上使用线性分类器是少样本学习的最新方法(Tian 等人,2020),这表明最好的少样本机器学习方法与人类少样本学习之间存在差距。
如果我们将人类准确率与 CLIP 的零样本准确率(图 16)进行对比,我们发现 CLIP 最难的问题也是人类最难的问题。就错误一致性而言,我们的假设是由于至少两个因素:数据集中的噪声(包括错误标记的图像)和对人类和模型都困难的分布外图像。
5. 数据重叠分析
对大规模互联网数据集进行预训练的一个担忧是无意中与下游评估的数据重叠。这很重要,因为最坏的情况是,评估数据集的完整副本可能泄露到预训练数据集中,使评估作为对泛化能力的有意义的测试无效。一个防止这种情况的选项是在训练模型之前识别并删除所有重复项。虽然这保证了报告真实的保留性能,但它要求提前知道模型可能被评估的所有可能数据。这限制了基准测试和分析的范围。添加新的评估将需要昂贵的重新训练,或者冒着报告未量化好处的风险。
相反,我们记录了发生的数据污染程度以及这些重叠如何改变性能。为此,我们使用以下程序:
1)对于每个评估数据集,我们在其示例上运行一个重复项检测器(见附录 C)。然后我们手动检查找到的最近邻,并为每个数据集设置一个阈值,以保持高精确度,同时最大化召回率。使用这个阈值,我们然后创建两个新子集,重叠,包含所有与训练示例的相似度高于阈值的示例,和清洁,包含所有低于这个阈值的示例。我们用未更改的完整数据集全部表示为参考。
2)然后我们计算 CLIP RN50x64 在三个分割上的零样本准确率,并报告全部 - 清洁作为我们的主要指标。这是由于污染导致的总体报告准确率的变化。当为正数时,它是我们对整体报告准确率因过度拟合重叠数据而被夸大的估计。
3)数据重叠的数量通常很小,所以我们还运行了一个二项式显著性测试,其中我们使用清洁上的准确率作为零假设,并计算重叠子集的单尾(更大)p 值。我们还计算了 99.5% Clopper-Pearson 置信区间作为另一项检查。
这种分析的总结如图 17 所示。在研究的 35 个数据集中,有 9 个数据集根本没有检测到重叠。这些数据集大多是合成的或专业的,使它们不太可能被发布为互联网上的普通图像(例如 MNIST、CLEVR 和 GTSRB),或者由于包含我们数据集创建日期之后的新数据而保证没有重叠(ObjectNet 和 Hateful Memes)。这表明我们的检测器具有低假阳性率,这很重要,因为假阳性会低估我们分析中污染效应。
有 2.2% 的中位数重叠和 3.2% 的平均重叠。由于这种小量的重叠,整体准确率很少被移动超过 0.1%,只有 7 个数据集超过了这个阈值。其中,只有 2 个在 Bonferroni 校正后是统计显著的。最大检测到的改进仅为 0.6%,在 Birdsnap 上,其重叠度为 12.1%,位居第二。最大的重叠是在 Country211 上,为 21.5%。这是因为它是由 YFCC100M 构建的,我们的预训练数据集包含了 YFCC100M 的一个过滤子集。尽管有如此大的重叠,但在 Country211 上的准确率仅提高了 0.2%。这可能是因为训练文本伴随的示例通常与下游评估测量的特定任务无关。Country211 测量地理定位能力,但检查这些重复项的训练文本时,它们通常不提及图像的位置。
我们意识到我们分析中有两个潜在的问题。首先,我们的检测器并不完美。虽然它在代理训练任务上实现了接近 100% 的准确率,并且手动检查 + 阈值调整在发现的最近邻中实现了非常高的精确度和良好的召回率,但我们无法在 4 亿个示例中全面检查其召回率。另一个潜在的混杂因素是我们的分析中,重叠和清洁子集之间的潜在数据分布可能发生变化。例如,在 Kinetics-700 上,许多“重叠”实际上是全部黑色的过渡帧。这解释了为什么 Kinetics-700 在重叠上的准确率下降了 20%。我们怀疑更微妙的分布偏移可能存在。我们在 CIFAR-100 上注意到的一个可能性是,由于其图像的分辨率非常低,许多重复项是小物体的假阳性,如鸟类或飞机。准确率的变化可能是由于类别分布或重复项的难度变化。不幸的是,这些分布和难度变化也可能掩盖过度拟合的效应。
然而,这些结果与先前关于大规模预训练的工作中类似的重复项分析非常一致。Mahajan 等人(2018)和 Kolesnikov 等人(2019)检测到类似的重叠率,并发现整体性能变化很小。重要的是,Kolesnikov 等人(2019)还比较了本节介绍的去重复策略与我们选择的方法,并观察到这两种方法之间的性能几乎没有差异。
6. 限制
CLIP 还存在许多限制。虽然其中一些在各个部分的分析中有所讨论,但我们在这里总结并收集它们。
在有训练分割的数据集上,零样本 CLIP 的性能平均上与简单的监督基线竞争,即在 ResNet-50 特征上拟合一个线性分类器。在大多数这些数据集上,这个基线的性能现在远低于最先进的水平。需要大量的工作来改进 CLIP 的任务学习和转移能力。尽管扩展迄今为止稳步提高了性能,并表明了一条持续改进的途径,但我们估计需要 1000 倍的计算增加,零样本 CLIP 才能达到整体最先进的性能。这在当前硬件上是不可训练的。进一步的研究以改进 CLIP 的计算和数据效率将是必要的。
第 3.1 节的分析发现,CLIP 的零样本性能在几种类型的任务上仍然很弱。与特定任务的模型相比,CLIP 在几种类型的细粒度分类上表现不佳,如区分汽车型号、花卉种类和飞机变体。CLIP 还在更抽象和系统的任务上挣扎,如计算图像中的对象数量。最后,对于不太可能包含在 CLIP 预训练数据集中的新颖任务,如根据照片分类最近汽车的距离,CLIP 的性能可能接近随机。我们确信,仍然有许多任务,CLIP 的零样本性能接近偶然水平。
虽然零样本 CLIP 很好地泛化到许多自然图像分布,如第 3.3 节所研究的,我们已经观察到零样本 CLIP 仍然泛化到真正分布外的数据很差。一个说明性的例子是 OCR 任务,如附录 E 中报告的。
CLIP 学习了一个高质量的语义 OCR 表示,对于数字渲染的文本表现良好,这在其预训练数据集中很常见,如在 Rendered SST2 上的性能所示。然而,CLIP 在手写数字的 MNIST 上只达到了 88% 的准确率。一个简单到荒谬的基线,即对原始像素的逻辑回归,优于零样本 CLIP。语义和近邻检索都证实,在预训练数据集中几乎没有图像类似于 MNIST 数字。这表明 CLIP 几乎没有解决深度学习模型脆弱泛化的问题。相反,CLIP 试图通过在如此庞大和多样化的数据集上训练来绕过这个问题,希望所有数据都将有效地在分布内。这是一个天真的假设,如 MNIST 所示,很容易被违反。
尽管 CLIP 可以灵活地为各种任务和数据集生成零样本分类器,但 CLIP 仍然限制在只能从给定的零样本分类器中选择概念。与图像字幕等真正灵活的方法相比,这是一个重大限制,后者可以生成新颖的输出。不幸的是,如第 2.3 节所述,我们发现图像字幕基线的计算效率远低于 CLIP。一个简单的尝试是联合训练对比和生成目标,希望将 CLIP 的效率与字幕模型的灵活性结合起来。另一个选择是在推理时搜索许多自然语言解释给定图像,类似于 Andreas 等人(2017)提出的方法。
CLIP 也没有解决深度学习的数据效率低下问题。相反,CLIP 通过使用可以扩展到数亿个训练示例的监督源来补偿。如果 CLIP 模型在训练期间看到的每个图像以每秒一个的速度呈现,将需要 405 年的时间来遍历 32 个训练周期中看到的 128 亿个图像。将 CLIP 与自监督(Henaff,2020;Chen 等人,2020c)和自训练(Lee;Xie 等人,2020)方法结合起来是一个有希望的方向,鉴于它们在标准监督学习上提高数据效率的演示。
我们的方法有几个重大限制。尽管我们专注于零样本转移,我们反复查询性能在完整的验证集上,以指导 CLIP 的开发。这些验证集通常有数千个示例,这对于真正的零样本场景来说是不现实的。类似的问题在半监督学习领域(Oliver 等人,2018)中也有所提出。另一个潜在问题是我们的评估数据集选择。虽然我们已经报告了 Kornblith 等人(2019)的 12 个数据集评估套件作为标准化集合的结果,但我们的主要结果使用了一个有些随意组装的 27 个数据集集合,这无疑与 CLIP 的开发和能力共同适应。创建一个新的基准测试,旨在明确评估广泛的零样本转移能力,而不是重新使用现有的监督数据集,将有助于解决这些问题。
CLIP 在互联网上与图像配对的文本上进行训练。这些图像 - 文本对是未过滤和未审查的,导致 CLIP 模型学习了许多社会偏见。这在图像字幕模型(Bhargava & Forsyth, 2019)中已经被证明。我们将读者引导到第 7 节,以获取对这些行为的详细分析和量化以及潜在的缓解策略。
虽然我们在整个工作中强调,通过自然语言指定图像分类器是一个灵活且通用的接口,但它也有其自身的局限性。许多复杂的任务和视觉概念可能难以仅通过文本来指定。实际的训练示例无疑是有用的,但 CLIP 并没有直接针对少样本性能进行优化。在我们的工作中,我们退回到在 CLIP 特征上拟合线性分类器。这导致从零样本到少样本设置的性能出现反直觉的下降。如第 4 节所述,这与人类表现显著不同,人类在从零样本到一次样本的情况下显示出显著的准确率提高。
7. 更广泛的影响
CLIP 由于其能够执行任意图像分类任务的能力而具有广泛的能力。可以给它猫和狗的图像,并要求它对猫进行分类,或者给它在百货商店拍摄的图像,并要求它对盗窃者进行分类——这是一项具有重要社会影响的任务,人工智能可能不适合。与任何图像分类系统一样,CLIP 的性能和适用性需要评估,并在上下文中分析其更广泛的影响。CLIP 还引入了一种能力,将放大和改变这些问题:CLIP 使得轻松创建自己的分类(“自定义分类器”)成为可能,而无需重新训练。这种能力引入了与其他大型生成模型(如 GPT-3(Brown et al., 2020))相似的挑战;表现出非平凡零样本(或少样本)泛化的模型可以具有广泛的能力,许多能力只有在测试后才能显现出来。
我们对 CLIP 在零样本设置中的研究表明,该模型在广泛适用的任务(如图像检索或搜索)中显示出显著的前景。例如,它可以根据文本在数据库中查找相关图像,或根据图像查找相关文本。此外,CLIP 在没有额外数据或训练的情况下灵活地引导自己朝向定制应用的相对容易性,可能会解锁许多今天难以想象的新应用,正如过去几年大型语言模型所发生的那样。
除了在前面的部分中研究的 30 多个数据集外,我们还在 FairFace 基准上评估了 CLIP 的性能,并进行了探索性偏见探测。然后,我们在下游任务(监控)中表征模型的性能,并讨论其与其他可用系统的有用性。CLIP 的许多能力是通用的(例如,OCR 可以使扫描文档可搜索,驱动屏幕阅读技术,或读取车牌)。从动作识别、对象分类和地理定位,到面部情感识别,几个测量的能力都可以用于监控。考虑到其社会影响,我们特别讨论了这一领域的使用。
我们还试图描述该模式所固有的社会偏见。我们的偏倚测试代表了我们最初的努力,以探讨模型在不同场景中的反应,并且在本质上是有限的。CLIP和类似的模型需要结合它们的具体部署进行分析,以了解偏见如何表现并确定潜在的干预措施。需要进一步的社区探索,以开发更广泛、更有背景和更健壮的测试方案,使人工智能开发人员能够更好地描述通用计算机视觉模型中的偏见。
7.1. 偏见
算法决策、训练数据以及如何定义和分类的选择(我们非正式地称之为“类别设计”)都可能导致和加剧社会偏见和不平等,这些问题源于AI系统的使用(Noble, 2018;Bechmann & Bowker, 2019;Bowker & Star, 2000)。类别设计对像CLIP这样的模型尤其相关,因为任何开发者都可以定义一个类别,模型将提供某种结果。
在本节中,我们首先分析了CLIP在FairFace(K¨arkk¨ainen & Joo, 2019)数据集上的表现,作为初步的偏见探测,然后进一步探测模型,以揭示额外的偏见和偏见来源,包括类别设计。
我们评估了CLIP的两个版本:一个是零样本CLIP模型(“ZS CLIP”),另一个是基于CLIP特征拟合的逻辑回归分类器(“LR CLIP”)。我们发现LR CLIP在FairFace数据集上的准确率高于我们测试的所有分类测试中的ResNext-101 32x48d Instagram模型(“Linear Probe Instagram”)(Mahajan et al., 2018)和FairFace自己的模型。在我们进行的许多分类测试中,LR CLIP的表现优于FairFace模型,而ZS CLIP在某些类别上的表现则低于FairFace模型,具体结果见表3和表4。
我们还测试了LR CLIP和ZS CLIP模型在FairFace数据集中交叉种族和性别类别上的表现。我们发现,模型在性别分类上的准确率在所有种族类别中都超过95%。表5总结了这些结果。
尽管LR CLIP在FairFace基准数据集上的准确率高于Linear Probe Instagram模型,但种族、年龄和性别分类的准确率仅提供了算法公平性的一个近似值,正如Raji等人(2020)所示,通常无法作为现实世界上下文中公平性的有意义衡量标准。即使模型在不同子组上的准确率更高且差异较小,这并不意味着它会在影响上产生更小的差异(Scheuerman et al., 2019)。例如,较高的表现可能会被公司用来证明其使用面部识别的合理性,从而以不成比例的方式影响某些人口群体,并以此为依据进行部署。我们使用面部分类基准来探测偏见并不是为了暗示面部分类是一个无问题的任务,也不是为了支持在部署上下文中使用种族、年龄或性别分类。
我们还使用类似于Schwemmer等人(2020)的方法进行了实验,以测试CLIP对男性和女性图像的不同处理,使用国会成员的图像。作为这些实验的一部分,我们研究了诸如决定标签的阈值等额外设计决策如何影响CLIP输出的标签的分布,以及偏见如何表现。
我们进行了三个实验——我们测试了性别分类的准确性,并测试了在两个不同标签集之间标签的分布差异。对于我们的第一个标签集,我们使用了300个职业的标签集,对于我们的第二个标签集,我们使用了Google Cloud Vision、Amazon Rekognition和Microsoft Azure计算机视觉返回的所有图像的标签的组合集。
我们首先简单查看了模型在国会成员图像上的性别预测性能,以检查模型是否正确识别男性和女性。我们发现模型在图像上获得了100%的准确率。这比模型在FairFace数据集上的表现稍好。我们推测,这种现象的原因之一是国会成员数据集中的所有图像都是高质量且清晰的,人物清晰居中,而FairFace数据集则不是。
为了研究返回标签的偏见如何依赖于设置的标签概率阈值,我们进行了一项实验,在0.5%和4.0%处设置阈值。我们发现,较低的阈值导致标签质量较低。然而,即使在这个阈值下,标签的不同分布也可能持有偏见的信号。例如,我们发现,在0.5%的阈值下,像“保姆”和“管家”这样的标签开始更频繁地出现在女性身上,而像“囚犯”和“黑帮分子”这样的标签则开始更频繁地出现在男性身上。这指向了与职业相关的性别化关联(Schwemmer等人,2020)和(Nosek等人,2002)。
在较高的4%阈值下,男性和女性图像的标签中,出现频率最高的标签包括“立法者”、“立法者”和“国会议员”。然而,在较低概率标签中存在这些偏见仍然指向了关于部署这类系统可能看起来“足够”安全的行为的更大问题。
当我们使用Google Cloud Vision(GCV)、Amazon Rekognition和Microsoft返回的所有图像的组合标签集时,类似于Schwemmer等人(2020)在GCV系统中发现的偏见,我们发现我们的系统也更多地将与头发和外观相关的标签与女性联系起来。例如,像“棕色头发”、“金发”和“金发”这样的标签对女性出现得更频繁。此外,CLIP还更多地将一些描述高地位职业的标签与男性联系起来,如“高管”和“医生”。在它更频繁地与女性联系的四个职业中,有三个是“新闻播报员”、“电视主持人”和“新闻阅读员”,第四个是“法官”。这再次与GCV中发现的偏见相似,并指向历史性别差异。
有趣的是,当我们将阈值降低到0.5%时,我们发现描述男性的标签也转向了外观导向的词汇,如“西装”、“领带”和“领结”。许多职业导向的词汇,如“军人”和“高管”——在较高的4%阈值下未用于描述女性——在较低的0.5%阈值下被用于描述男性,这可能导致了男性标签的变化。反之则不然。用于描述女性的词汇在男性中仍然不常见。
在构建模型的每个阶段,设计决策都会影响偏见的表现,而对于CLIP来说,这一点尤其重要,因为它提供了极大的灵活性。除了关于训练数据和模型架构的选择外,关于标签设计和阈值设置等决策也会改变模型输出的标签,从而加剧或降低某些类型的伤害,例如Crawford(2017)所描述的。设计和开发模型及AI系统的人拥有相当大的权力。关于标签设计的决策是决定模型性能的关键因素,也是模型偏见或行为表现的上下文。
这些实验并不全面。它们说明了标签设计和其他偏见来源的潜在问题,并旨在激发进一步的探究。
7.2. 监控
接下来,我们试图表征模型在下游任务中的性能,这一任务具有显著的社会敏感性:监控。我们的分析旨在更好地体现上述描述的表征方法,并帮助研究社区预测越来越通用的计算机视觉模型的未来影响,并帮助发展规范和检查这类系统。我们包含监控并不是表示我们对这个领域的热情——相反,我们认为监控是一个重要的领域,需要尝试预测,鉴于其社会影响(Zuboff,2015;Browne,2015)。
我们测量了模型在从监控摄像头捕获的低分辨率图像(例如 CCTV 摄像头)上的分类性能。我们使用了 VIRAT 数据集(Oh 等人,2011)和 Varadarajan & Odobez(2009)捕获的数据,这两个数据集都由真实世界的户外场景组成,没有演员。
鉴于 CLIP 灵活的类别构建,我们在 12 个不同的视频序列上测试了 515 个监控图像的自我构建的一般类别,用于粗略和细粒度分类。粗略分类要求模型正确识别图像的主要主题(即确定图像是否是空停车场、学校校园等的图片)。对于细粒度检测,模型必须在两个选项之间进行选择,这两个选项构建用于确定模型是否能够识别图像中的较小特征,例如站在角落的人。
对于粗略分类,我们通过手动描述图像的内容来构建类别,模型总是至少有 6 个选项可供选择。此外,我们还进行了一个“压力测试”,其中类别集包括至少一个与图像“接近”的额外标题(例如,“带有白色汽车的停车场”与“带有红色汽车的停车场”)。我们发现模型在初始评估中对 CCTV 图像的 top-1 准确率为 91.8%。准确率在第二次评估中显著下降至 51.1%,模型错误选择“接近”答案的比例为 40.7%。
对于细粒度检测,零样本模型表现不佳,结果接近随机。请注意,这个实验只针对检测图像序列中的小对象的存在或缺失。
我们还测试了 CLIP 在“野外”身份识别方面的零样本性能,使用了 CelebA 数据集。我们这样做是为了评估模型在仅使用公开可用数据进行预训练的情况下的身份识别性能。虽然我们在数据集上测试了名人图像,但我们假设预训练数据中需要将面孔与名称关联的图像数量将随着模型变得更加强大而减少(见表 8),这具有重要的社会影响(Garvie,2019)。这反映了自然语言处理中的最新发展,即最近的大型语言模型在互联网数据上训练通常表现出惊人的能力,能够提供与相对较小的公众人物相关的信息(Brown 等人,2020)。
我们发现模型在 100 个可能的类别中对“野外”8k 名人图像的 top-1 准确率为 59.2%。然而,当我们将类别大小增加到 1k 名人名称时,性能下降到 43.3%。与生产级别的模型如 Google 的名人识别相比,这种性能并不具有竞争力。然而,这些结果值得注意的是,这种分析仅使用了基于预训练数据推断的名称的零样本识别能力——我们没有使用任何额外的任务特定数据集,因此(相对)强大的结果进一步表明,在部署多模态模型之前,人们需要仔细研究它们在给定上下文和领域中的行为。
CLIP 为任务提供了显著的好处,这些任务相对缺乏数据,因为它具有零样本能力。然而,对于许多高需求的监控任务,如面部识别,已经存在大型数据集和高性能的监督模型。因此,CLIP 对此类用途的吸引力较低。此外,CLIP 不是为了常见的监控相关任务(如目标检测和语义分割)而设计的。这意味着它对某些监控任务的用途有限,当有专门为这些用途设计的模型,如 Detectron2(Wu 等人,2019)广泛可用时。
然而,CLIP 确实解锁了一定的可用性,因为它消除了训练数据的需求。因此,CLIP 和类似的模型可能能够启用没有现成模型或数据集的定制、小众监控用例,并可能降低构建此类应用的技能要求。正如我们的实验所示,ZS CLIP 在今天一些监控相关任务上显示出非平凡但不是卓越的性能。
7.3. 未来工作
这个初步分析旨在说明通用计算机视觉模型所带来的挑战,并提供对它们的能力和偏见的一瞥。
我们希望这项工作能激发对模型如 CLIP 的能力和偏见进行表征的进一步研究,并我们期待与研究社区就这些问题进行交流。
我们认为向前迈进的一个好步骤是社区探索,进一步表征像 CLIP 这样的模型的能力——至关重要的是——识别它们在哪些应用领域表现出有希望的性能,以及它们可能在哪些领域表现不佳。这种表征过程可以帮助研究人员增加模型被有益使用的可能性,通过:
- 及早识别模型的潜在有益下游用途,使其他研究人员能够思考应用。
- 揭示具有重大敏感性的任务和大量社会利益相关者,可能需要政策制定者的干预。
- 更好地表征模型中的偏见,提醒其他研究人员关注领域和干预领域。
- 创建测试套件,以评估像 CLIP 这样的系统,以便我们能够在开发周期的早期更好地表征模型能力。
- 识别潜在的故障模式和进一步工作的领域。
我们计划为这项工作做出贡献,并希望这个分析为后续研究提供一些激励示例。
8. 相关工作
任何利用书面、口头、签署的或任何其他形式的人类语言作为其训练信号一部分的模型都可以说是在使用自然语言作为监督来源。这是一个非常广泛的领域,涵盖了大多数分布语义学的工作,包括主题模型(Blei 等人,2003)、单词、句子和段落向量(Mikolov 等人,2013;Kiros 等人,2015;Le 和 Mikolov,2014)和语言模型(Bengio 等人,2003)。它还包括处理预测或以某种方式建模自然语言序列的更广泛的 NLP 领域。NLP 中的工作有意利用自然语言监督,以解释、反馈、指导和建议的形式用于分类等任务(与通常使用的离散类别标签集合的表示监督相反)已经在许多创造性和先进的方式中被探索。基于对话的学习(Weston,2016;Li 等人,2016;Hancock 等人,2019)开发了从交互式自然语言反馈中学习的技术。一些论文利用语义解析将自然语言解释转换为特征(Srivastava 等人,2017)或额外的训练标签(Hancock 等人,2018)。最近,ExpBERT(Murty 等人,2020)使用通过将深度上下文语言模型与自然语言解释和关系的描述进行条件化而产生的特征表示,以提高关系提取任务的性能。
CLIP 是使用自然语言作为训练信号来学习除语言领域之外的领域的一个例子。我们所知道的最早使用“自然语言监督”这个术语的工作是 Ramanathan 等人(2013),他们表明自然语言描述可以与其他监督源一起使用,以提高视频事件理解任务的性能。然而,如引言和方法部分所述,利用自然语言描述进行计算机视觉的方法远早于使用这个特定术语,特别是在图像检索(Mori 等人,1999)和目标分类(Wang 等人,2009)方面。其他早期工作利用与图像相关的标签(而不是自然语言)进行语义分割任务(Barnard 等人,2003)。最近,He 和 Peng(2017)和 Liang 等人(2020)展示了如何使用自然语言描述和解释来提高鸟类细粒度视觉分类的性能。其他人研究了如何利用基础语言来提高 ShapeWorld 数据集上的视觉表示和分类器(Kuhnle 和 Copestake,2017;Andreas 等人,2017;Mu 等人,2019)。最后,将自然语言与强化学习环境相结合的技术(Narasimhan 等人,2015)展示了令人兴奋的紧急行为,如系统地完成零样本任务(Hill 等人,2019)。
CLIP 的预训练任务优化了文本 - 图像检索。这个研究领域可以追溯到 90 年代中期,以 Mori 等人(1999)为代表的早期工作。虽然最初的努力主要集中在预测目标上,但随着时间的推移,研究转向了学习联合多模态嵌入空间,采用了技术如核典型相关分析和各种排名目标(Weston 等人,2010;Socher 和 Fei-Fei,2010;Hodosh 等人,2013)。随着时间的推移,工作探索了许多训练目标、转移和更富有表现力的模型的组合,并稳步提高了性能(Frome 等人,2013;Socher 等人,2014;Karpathy 等人,2014;Kiros 等人,2014;Faghri 等人,2017)。
其他工作利用自然语言监督用于除图像之外的其他领域。Stroud 等人(2020)探索了通过训练系统将描述性文本与视频而不是图像配对进行大规模表示学习。几项工作探索了使用密集的口头自然语言监督进行视频(Miech 等人,2019;2020b)。当与 CLIP 一起考虑时,这些工作表明,大规模自然语言监督是学习许多领域的高质量感知系统的有希望的方式。Alayrac 等人(2020)通过添加原始音频作为额外的监督源扩展了这项工作到另一个模态,并展示了结合所有三种监督源的好处。
作为我们对 CLIP 的工作的一部分,我们还构建了一个新的图像 - 文本对数据集。现代图像 - 文本检索工作依赖于一组人群源句子级别的图像字幕评估数据集,如 Pascal1K(Rashtchian 等人,2010)、Flickr8K(Hodosh 等人,2013)和 Flickr30K(Young 等人,2014)。然而,这些数据集仍然相对较小,限制了可实现的性能。已经提出了几种方法来自动创建更大的数据集,Ordonez 等人(2011)是一个值得注意的早期例子。在深度学习时代,Mithun 等人(2018)展示了从互联网收集的另一组(图像,文本)对可以提高检索性能,并且已经创建了几个新的自动构建的数据集,如 Conceptual Captions(Sharma 等人,2018)、LAIT(Qi 等人,2020)和 OCR-CC(Yang 等人,2020)。然而,这些数据集仍然使用更积极的过滤,或者为特定任务(如 OCR)而设计,因此仍然比 WIT 小得多,后者有 1 到 1000 万训练示例。
与 CLIP 相关的一个想法是网络监督学习。这一工作线通过查询图像搜索引擎来构建图像数据集,通过查询术语并使用查询作为返回图像的标签(Fergus 等人,2005)。在这些大型但嘈杂标记的数据集上训练的分类器可以与在较小的精心标记的数据集上训练的分类器竞争。这些图像 - 查询对也通常用作标准数据集的额外训练数据(Chen 和 Gupta,2015)。CLIP 也使用搜索查询作为其数据集创建过程的一部分。然而,CLIP 只使用与图像共同出现的完整文本序列作为监督,而不是仅使用查询,这些查询通常只是一个单词或短 n-gram。我们还限制了 CLIP 中的这一步为文本查询,只查询子串匹配,而大多数网络监督工作使用标准图像搜索引擎,这些搜索引擎有自己的复杂检索和过滤流程,通常涉及计算机视觉系统。在这项工作中,Learning Everything about Anything: Webly-Supervised Visual Concept Learning(Divvala 等人,2014)与 CLIP 有着相似的雄心和目标。
最后,CLIP 与最近学习联合视觉和语言模型的热潮有关(Lu 等人,2019;Tan 和 Bansal,2019;Chen 等人,2019;Li 等人,2020b;Yu 等人,2020)。这一工作线侧重于丰富地连接视觉和语言,以解决复杂的下游任务,如视觉问题回答、视觉常识推理或多模态蕴含。这些方法利用了令人印象深刻的工程模型,这些模型结合了 3 个(或更多)预训练子系统,通常是一个图像特征模型、一个区域提议/目标检测模型和一个预训练的掩蔽语言模型,如 BERT。然后通过各种训练目标对这些系统进行联合微调,并应用于上述任务,取得了令人印象深刻的结果。CLIP 则专注于从零开始通过自然语言监督学习视觉模型,并没有通过联合注意力模型密集地连接这两个领域。CLIP 模型中图像和文本领域之间的唯一交互是在学到的联合嵌入空间中的一个点积。我们期待看到 CLIP 与这一工作线的混合。
9. 结论
我们研究了是否能够将 NLP 中的任务不可知的网络规模预训练的成功转移到另一个领域。我们发现采用这种公式会导致计算机视觉领域出现类似的行为,并讨论了这一研究方向的社会影响。为了优化其训练目标,CLIP 模型学会了在预训练期间执行广泛的任务。然后可以通过自然语言提示利用这种任务学习能力,实现对许多现有数据集的零样本转移。在足够规模的情况下,这种方法的性能可以与特定任务的监督模型竞争,尽管仍有很大的改进空间。