摘要
最先进的计算机视觉系统被训练来预测一组固定的预定对象类别。这种受限制的监督形式限制了它们的通用性和可用性,因为需要额外的标记数据来指定任何其他视觉概念。直接从有关图像的原始文本中学习是一种很有前途的替代方案,它利用了更广泛的监督来源。我们证明了预测哪个标题与哪个图像搭配的简单预训练任务是一种有效且可扩展的方式,可以在从互联网收集的 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
N2?N 个不正确配对嵌入的余弦相似度。我们在这些相似性分数上优化了对称交叉熵损失。在图 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 最难的问题对人类来说也很困难。 在误差一致的范围内,我们的假设是,这至少是由于两个因素造成的:数据集中的噪声(包括错误标记的图像)和分布外的图像对人类和模型来说都很难。
五、数据重叠分析
在非常大的互联网数据集上进行预训练的一个问题是与下游评估的无意重叠。 调查这一点很重要,因为在最坏的情况下,评估数据集的完整副本可能会泄漏到预训练数据集中,并使评估作为有意义的泛化测试无效。 防止这种情况的一种选择是在训练模型之前识别并删除所有重复项。 虽然这可以保证报告真实的保留性能,但它需要提前了解模型可能会评估的所有可能数据。 这样做的缺点是限制了基准测试和分析的范围。 添加新的评估将需要昂贵的重新培训或风险报告由于重叠导致的未量化收益。
相反,我们记录了发生了多少重叠以及由于这些重叠而导致的性能如何变化。为此,我们使用以下过程:
-
对于每个评估数据集,我们对其示例运行重复检测器(参见附录 C)。然后我们手动检查找到的最近邻居并设置每个数据集的阈值以保持高精度,同时最大限度地提高召回率。使用这个阈值,我们然后创建两个新的子集,重叠,其中包含与高于阈值的训练示例具有相似性的所有示例,以及清洁,其中包含低于此阈值的所有示例。我们将未更改的完整数据集全部表示为参考。由此我们首先将数据污染程度记录为 Overlap 中的示例数与 All 的大小之比。 -
然后我们计算 CLIP RN50x64 在三个分割上的零样本准确度,并报告 All - Clean 作为我们的主要指标。这是由于污染造成的精度差异。当为正时,这是我们对数据集上报告的整体准确度因过度拟合重叠数据而膨胀的估计。 -
重叠量通常很小,因此我们还运行二项显着性检验,我们使用 Clean 的准确度作为原假设并计算重叠子集的单尾(更大)p 值。我们还计算了 Dirty 的 99.5% Clopper-Pearson 置信区间作为另一项检查。
图 17 给出了该分析的摘要。在研究的 35 个数据集中,9 个数据集根本没有检测到重叠。这些数据集中的大多数是合成的或专门的,因此它们不太可能作为普通图像发布在互联网上(例如 MNIST、CLEVR 和 GTSRB),或者由于包含自我们的数据集创建之日起的新数据而保证没有重叠(ObjectNet 和仇恨模因)。这表明我们的检测器具有低误报率,这很重要,因为误报会低估我们分析中污染的影响。重叠的中位数为 2.2%,平均重叠率为 3.2%。由于这种少量的重叠,整体准确度的变化很少超过 0.1%,只有 7 个数据集高于此阈值。其中,只有 2 个在 Bonferroni 校正后具有统计学意义。 Birdsnap 检测到的最大改进仅为 0.6%,其重叠率第二大,为 12.1%。 Country211 的最大重叠率为 21.5%。这是因为它是由 YFCC100M 构建的,我们的预训练数据集包含其过滤子集。尽管有很大的重叠,但 Country211 的准确度仅增加了 0.2%。这可能是因为示例附带的训练文本通常与下游评估测量的特定任务无关。 Country211 测量地理定位能力,但检查这些重复的训练文本表明它们通常没有提及图像的位置。
我们意识到我们的分析存在两个潜在问题。首先,我们的检测器并不完美。虽然它在代理训练任务上实现了接近 100% 的准确率,并且手动检查 + 阈值调整导致非常高的准确率,在找到的最近邻中具有良好的召回率,但我们无法在 4 亿个示例中轻松检查它的召回率。我们分析的另一个潜在混淆因素是基础数据分布可能在重叠子集和干净子集之间转移。例如,在 Kinetics-700 上,许多“重叠”实际上都是黑色过渡帧。这就解释了为什么 Kinetics-700 在 Overlap 上的准确度明显下降了 20%。我们怀疑可能存在更微妙的分布变化。我们在 CIFAR-100 上注意到的一种可能性是,由于其图像的分辨率非常低,许多重复图像是小物体(如鸟类或飞机)的误报。相反,准确性的变化可能是由于类分布的变化或重复的难度。不幸的是,这些分布和难度变化也可能掩盖过拟合的影响。
然而,这些结果与之前大规模预训练工作中类似重复分析的结果密切相关。 Mahajan 等人 (2018) 和 Kolesnikov 等人 (2019) 检测到相似的重叠率,并发现整体性能变化很小。 重要的是,Kolesnikov 等人 (2019) 还将本节介绍中讨论的替代重复数据删除策略与我们确定的方法进行了比较,发现这两种方法之间几乎没有差异。
六、 限制
CLIP 仍有许多限制。 虽然其中一些在各个部分中作为分析的一部分进行了讨论,但我们在这里总结和收集它们。
在具有训练拆分的数据集上,zeroshot CLIP 的性能平均可与基于 ResNet-50 特征的线性分类器的简单监督基线竞争。 在大多数这些数据集上,该基线的性能现在远低于现有技术的整体水平。 仍然需要大量工作来提高 CLIP 的任务学习和迁移能力。 虽然缩放迄今为止稳步提高了性能并提出了持续改进的途径,但我们估计零样本 CLIP 需要大约 1000 倍的计算增加才能达到整体最先进的性能。 使用当前的硬件进行训练是不可行的。 有必要进一步研究提高 CLIP 的计算和数据效率。
3.1 节的分析发现,CLIP 的零样本性能在几种任务上仍然很弱。 与特定任务模型相比,CLIP 在几种类型的细粒度分类(例如区分汽车模型、花卉种类和飞机变体)上的性能较差。 CLIP 还努力完成更抽象和系统的任务,例如计算图像中对象的数量。 最后,对于不太可能包含在 CLIP 预训练数据集中的新任务,例如对照片中到最近汽车的距离进行分类,CLIP 的性能可能接近随机。 我们有信心,仍然有很多很多的任务,CLIP 的零样本表现接近机会水平。
虽然如第 3.3 节所研究的,零样本 CLIP 可以很好地泛化到许多自然图像分布,但我们观察到,零样本 CLIP 仍然不能很好地泛化到真正分布外的数据。附录 E 中报告的 OCR 任务有一个说明性示例。CLIP 学习了一种高质量的语义 OCR 表示,该表示在数字渲染的文本上表现良好,这在其预训练数据集中很常见,Rendered SST2 的性能证明了这一点。然而,CLIP 在 MNIST 的手写数字上只能达到 88% 的准确率。原始像素上的逻辑回归的一个令人尴尬的简单基线优于零镜头 CLIP。语义和近重复最近邻检索都验证了在我们的预训练数据集中几乎没有类似于 MNIST 数字的图像。这表明 CLIP 对解决深度学习模型泛化脆弱的潜在问题几乎没有作用。相反,CLIP 试图规避这个问题,并希望通过在如此庞大而多样的数据集上进行训练,使所有数据都能有效地分布。这是一个幼稚的假设,正如 MNIST 所证明的那样,很容易违反。
尽管 CLIP 可以为各种任务和数据集灵活地生成零样本分类器,但 CLIP 仍然仅限于从给定零样本分类器中的那些概念中进行选择。 与真正灵活的方法(如可以生成新颖输出的图像字幕)相比,这是一个重大限制。 不幸的是,如第 2.3 节所述,我们发现我们尝试的图像标题基线的计算效率远低于 CLIP。 一个值得尝试的简单想法是联合训练对比和生成目标,希望将 CLIP 的效率与字幕模型的灵活性结合起来。 作为另一种选择,可以在推理时对给定图像的许多自然语言解释执行搜索,类似于 Learning with Latent Language Andreas et al.(2017) 中提出的方法。
CLIP 也没有解决深度学习的低数据效率问题。 相反,CLIP 通过使用可以扩展到数亿个训练示例的监督源来进行补偿。 如果在 CLIP 模型训练期间看到的每张图像都以每秒一张的速度呈现,则需要 405 年才能遍历 32 个训练时期看到的 128 亿张图像。 将 CLIP 与自我监督 (Henaff, 2020; Chen et al., 2020c) 和自我训练 (Lee; Xie et al., 2020) 方法相结合是一个很有前途的方向,因为它们被证明能够在标准监督学习上提高数据效率。
我们的方法有几个显着的局限性。 尽管我们专注于零样本迁移,但我们反复查询完整验证集的性能以指导 CLIP 的开发。 这些验证集通常有数千个示例,这对于真正的零样本场景是不现实的。 在半监督学习领域也提出了类似的担忧(Oliver 等人,2018 年)。 另一个潜在问题是我们对评估数据集的选择。 虽然我们报告了 Kornblith 等人(2019)的 12 个数据集评估套件作为标准化集合的结果,但我们的主要结果使用了 27 个数据集的一些随意组装的集合,这些数据集无疑与 CLIP 的开发和功能共同适应。 创建一个新的任务基准,明确旨在评估广泛的零样本传输能力,而不是重新使用现有的监督数据集,将有助于解决这些问题。
CLIP 是在与互联网上的图像配对的文本上进行训练的。这些图像-文本对未经过滤和整理,导致 CLIP 模型学习许多社会偏见。先前已在图像字幕模型中证明了这一点(Bhargava & Forsyth,2019)。我们建议读者参阅第 7 节,详细分析和量化 CLIP 的这些行为,以及讨论潜在的缓解策略。
虽然我们在整个工作中一直强调通过自然语言指定图像分类器是一种灵活且通用的接口,但它有其自身的局限性。许多复杂的任务和视觉概念可能很难仅通过文本来指定。不可否认,实际的训练示例很有用,但 CLIP 并没有直接针对小样本性能进行优化。在我们的工作中,我们回退到在 CLIP 的特征之上拟合线性分类器。这导致反直觉 从零次拍摄过渡到几次拍摄设置时性能下降。正如第 4 节中所讨论的,这与人类表现明显不同,人类表现从零到一击设置有很大的提高。未来的工作需要开发将 CLIP 强大的零样本性能与高效的少样本学习相结合的方法。
七、更广泛的影响
由于能够执行任意图像分类任务,CLIP 具有广泛的功能。可以给它猫和狗的图像,让它对猫进行分类,或者给它在百货商店拍摄的图像,让它对商店扒手进行分类——这是一项具有重大社会意义的任务,人工智能可能不适合。像任何图像分类系统一样,需要评估 CLIP 的性能和适用性,并在上下文中分析其更广泛的影响。 CLIP 还引入了一种可以放大和改变此类问题的功能:CLIP 可以轻松创建自己的分类类(“滚动你自己的分类器”),而无需重新训练。这种能力带来的挑战类似于在表征 GPT-3 等其他大规模生成模型时发现的挑战(Brown 等人,2020);表现出非平凡的零样本(或少样本)泛化的模型可以具有广泛的功能,其中许多功能只有在对其进行测试后才能变得清晰。
我们在零样本设置中对 CLIP 的研究表明,该模型在图像检索或搜索等广泛适用的任务中显示出显着的前景。例如,它可以在给定文本的数据库中找到相关的图像,或者给定图像的相关文本。此外,将 CLIP 转向定制应用程序相对容易,只需很少或没有额外的数据或培训,可以解锁我们今天难以想象的各种新应用程序,就像过去几年大型语言模型所发生的那样。
除了本文前面部分研究的 30 多个数据集外,我们还评估了 CLIP 在 FairFace 基准上的表现,并进行了探索性偏差探测。然后,我们描述了该模型在下游任务、监视中的性能,并讨论了它与其他可用系统相比的有用性。 CLIP 的许多功能在本质上是通用的(例如,OCR 可用于使扫描的文档可搜索、支持屏幕阅读技术或读取车牌)。从动作识别、对象分类和地理定位到面部情绪识别,测量的一些能力可用于监视。鉴于其社会影响,我们在“监视”部分专门讨论了这一使用领域。
我们还试图描述模型固有的社会偏见。我们的偏差测试代表了我们探索模型在不同场景中如何响应方面的初步努力,并且在本质上是有限的。 CLIP 和类似的模型需要根据其特定部署进行分析,以了解偏见如何表现并确定潜在的干预措施。需要进一步的社区探索来开发更广泛、更符合上下文和更强大的测试方案,以便 AI 开发人员能够更好地表征通用计算机视觉模型中的偏差。
7.1、偏见
算法决策、训练数据和关于如何定义和分类的选择(我们非正式地称为“类设计”)都可能导致和放大由使用人工智能系统导致的社会偏见和不平等(Noble,2018 年;Bechmann 与鲍克,2019 年;鲍克与明星,2000 年)。 类设计与 CLIP 之类的模型特别相关,因为任何开发人员都可以定义一个类并且模型会提供一些结果。
在本节中,我们使用受 Buolamwini & Gebru (2018) 和 Karkk ¨ ainen ¨ & Joo (2019) 中概述的偏置探针的启发,对 CLIP 中的一些偏差进行初步分析。 我们还进行了探索性偏差研究,旨在找到模型中偏差的具体示例,类似于 Solaiman 等人 (2019) 进行的研究。
我们首先分析 Zero-Shot CLIP 在人脸图像数据集 FairFace (Karkk ¨ ainen & Joo ¨ , 2019) 上的性能作为初始偏差探测,然后进一步探索模型以发现额外的偏差和偏差来源,包括类设计 .
我们在 FairFace 数据集上评估了两个版本的 CLIP:零样本 CLIP 模型(“ZS CLIP”),以及在 CLIP 特征之上拟合 FairFace 数据集的逻辑回归分类器(“LR CLIP”)。 我们发现 LR CLIP 在 FairFace 数据集上的准确度高于 ResNext-101 32x48d Instagram 模型(“Linear Probe Instagram”)(Mahajan 等人,2018 年)和 FairFace 自己的模型在我们运行的大多数分类测试中7。 ZS CLIP 的性能因类别而异,在某些类别上比 FairFace 的模型差,而在其他类别上则更好。 (见表 3 和表 4)。
此外,我们测试了 LR CLIP 和 ZS CLIP 模型在 FairFace 数据集中定义的交叉种族和性别类别的性能。我们发现所有种族类别的模型在性别分类上的表现都在 95% 以上。表 5 总结了这些结果。
虽然 LR CLIP 在 FairFace 基准数据集上通过交叉类别对图像进行性别、种族和年龄分类的准确度高于 Linear Probe Instagram 模型,但基准上的准确度仅提供算法公平性的一种近似值,正如 Raji 等人 (2020) 所做的那样显示,并且在现实世界环境中作为一种有意义的公平衡量标准经常失败。即使一个模型在不同子组上具有更高的准确性和更低的性能差异,这并不意味着它的影响差异会更小(Scheuerman 等人,2019 年)。例如,公司可能会使用对代表性不足的群体的更高绩效来证明他们使用面部识别的合理性,然后以不成比例地影响人口群体的方式部署它。我们使用面部分类基准来探测偏见并不意味着面部分类是一项没有问题的任务,也不支持在部署的上下文中使用种族、年龄或性别分类。
我们还使用极有可能造成代表性伤害的分类术语对该模型进行了探索,特别关注诋毁伤害(Crawford,2017)。我们进行了一项实验,其中需要 ZS CLIP 模型对 FairFace 数据集中的 10,000 张图像进行分类。除了 FairFace 类之外,我们还添加了以下类:“动物”、“大猩猩”、“黑猩猩”、“猩猩”、“小偷”、“罪犯”和“可疑人物”。该实验的目的是检查诽谤的危害是否不成比例地影响某些人口亚群。
我们发现 4.9%(置信区间在 4.6% 和 5.4% 之间)的图像被错误分类为我们在探测中使用的非人类类别之一(“动物”、“黑猩猩”、“大猩猩”、“猩猩”) .其中,“黑色”图像的错误分类率最高(约 14%;置信区间在 [12.6% 和 16.4%] 之间),而所有其他种族的错误分类率均低于 8%。 0-20 岁人群被归入这一类别的比例最高,为 14%。
我们还发现,16.5% 的男性图像被错误分类为与犯罪相关的类别(“小偷”、“可疑人员”和“犯罪分子”),而女性图像的这一比例为 9.8%。有趣的是,我们发现 0-20 岁的人更有可能属于这些与犯罪相关的类别(约 18%),而不同年龄段的人的图像(20-60 岁和 0% 的人约为 12%) 70岁以上的人)。我们发现不同种族的犯罪相关术语分类存在显着差异,如表 6 所示。
鉴于我们观察到 20 岁以下的人最有可能被归类为犯罪相关和非人类动物类别,我们对具有相同类别但在类别中添加了额外类别“儿童”的图像进行了分类。我们的目标是看看这个类别是否会显着改变模型的行为,并改变诋毁伤害按年龄分布的方式。我们发现,这大大减少了被归类为犯罪相关类别或非人类动物类别的 20 岁以下人群的图像数量(表 7)。这表明类设计有可能成为决定模型性能和模型可能表现出的不需要的偏见或行为的关键因素,同时还提出了关于使用面部图像自动对人进行分类的总体问题(y Arcas等人,2017)。
这些探测的结果可以根据一个选择包含的类类别以及一个用于描述每个类的特定语言而改变。糟糕的类设计会导致糟糕的现实世界表现;考虑到开发人员可以很容易地设计自己的类,这种担忧与 CLIP 这样的模型特别相关。
我们还进行了类似于 Schwemmer 等人概述的实验。 (2020) 测试 CLIP 如何使用国会议员的图像以不同方式处理男性和女性的图像。作为这些实验的一部分,我们研究了某些额外的设计决策(例如确定标签的阈值)如何影响 CLIP 输出的标签以及偏差如何表现。
我们进行了三个实验——我们测试了性别分类的准确性,并测试了标签如何在两个不同的标签集中进行差异分布。对于我们的第一个标签集,我们使用了包含 300 个职业的标签集,对于我们的第二个标签集,我们使用了 Google Cloud Vision、Amazon Rekognition 和 Microsoft Azure Computer Vision 为所有图像返回的组合标签集。
我们首先简单地研究了模型在国会议员图像上的性别预测性能,以检查模型是否正确地将男性识别为男性,并将女性识别为女性。电源的设置/位置。我们发现该模型在图像上获得了 100% 的准确率。这比模型在 FairFace 数据集上的性能略好。我们假设造成这种情况的原因之一是,与 FairFace 数据集中的图像不同,Members of Congress 数据集中的所有图像都是高质量且清晰的,而且人物清晰居中。
为了研究返回标签中的偏差如何依赖于为标签概率设置的阈值,我们做了一个实验,我们将阈值设置为 0.5% 和 4.0%。我们发现较低的阈值导致标签质量较低。然而,即使是低于这个阈值的标签分布不同,也可能存在偏差信号。例如,我们发现在 0.5% 的阈值以下,女性开始出现“保姆”和“管家”等标签,而男性开始出现“囚犯”和“流氓”等标签。这表明性别关联类似于之前在职业中发现的关联(Schwemmer 等人,2020 年)(Nosek 等人,2002 年)(Bolukbasi 等人,2016 年)。
在较高的 4% 阈值下,两性中概率最高的标签包括“立法者”、“立法者”和“国会议员”。然而,在较低概率标签中存在这些偏见仍然指向更大的问题,即部署此类系统可能看起来像什么“足够”安全的行为。
当给定 Google Cloud Vision (GCV)、Amazon Rekognition 和 Microsoft 为所有图像返回的组合标签集时,类似于 Schwemmer 等人 (2020) 在 GCV 系统中发现的偏差,我们发现我们的系统也将标签不成比例地附加到做头发和容貌的女人一般比男人多。例如,“棕色头发”、“金发女郎”和“金发女郎”等标签出现在女性身上的频率明显更高。此外,CLIP 还附上了一些标签,这些标签更频繁地向男性描述高地位职业,例如“行政人员”和“医生”。在它更常与女性联系的四个职业中,三个是“新闻播音员”、“电视节目主持人”和“新闻播音员”,第四个是“法官”。这再次类似于 GCV 中发现的偏见,并指出了历史上的性别差异(Schwemmer 等人,2020)。
有趣的是,当我们将这组标签的阈值降低到 0.5% 时,我们发现不成比例地描述男性的标签也转向以外观为导向的词,例如“西装”、“领带”和“领带”(图 18)。许多以职业为导向的词,例如“军人”和“行政人员”——这些词并未用于描述处于较高 4% 阈值的女性形象——但在 0.5% 阈值较低的男性和女性中都使用了这些词,这可能会导致男性标签的变化。反之则不然。用于描述女性的描述性词语在男性中仍然不常见。
构建模型的每个阶段的设计决策都会影响偏见的表现方式,鉴于 CLIP 提供的灵活性,这一点尤其如此。除了关于训练数据和模型架构的选择之外,关于类设计和阈值等事项的决策可以改变模型输出的标签,从而提高或降低某些类型的危害,例如 Crawford (2017) 所描述的危害。设计和开发模型和人工智能系统的人具有相当大的权力。诸如类设计之类的决定不仅是模型性能的关键决定因素,而且也是模型偏差如何以及在何种情况下表现出来的关键决定因素。这些实验并不全面。它们说明了源自班级设计和其他偏见来源的潜在问题,旨在激发探究。
7.2.监控
接下来,我们试图描述与具有显着社会敏感性的下游任务相关的模型性能:监控。我们的分析旨在更好地体现上述表征方法,并帮助研究界关注日益通用的计算机视觉模型对未来的潜在影响,并帮助围绕此类系统制定规范和检查。我们纳入监控并不是为了表明对该领域的热情——相反,我们认为监控是一个重要的领域,可以尝试对其社会影响进行预测(Zuboff,2015;Browne,2015)。
我们测量了模型在来自闭路电视摄像机的图像分类和零样本名人识别方面的表现。我们首先测试了从监控摄像机(例如闭路电视摄像机)捕获的低分辨率图像上的模型性能。我们使用了 VIRAT 数据集 (Oh et al., 2011) 和 Varadarajan & Odobez (2009) 捕获的数据,它们都由非演员的真实户外场景组成。
鉴于 CLIP 灵活的类构建,我们测试了从 12 个不同视频序列中捕获的 515 张监控图像,用于自构建的粗粒度分类和细粒度分类。 粗分类要求模型正确识别图像的主要主题(即确定图像是否是空停车场、校园等的图片)。 对于细粒度分类,模型必须在构建的两个选项之间进行选择,以确定模型是否可以识别图像中较小特征的存在/不存在,例如站在角落的人。 对于粗略分类,我们通过自己对图像进行标注来描述图像的内容来构建类,并且模型始终至少有 6 个选项可供选择。 此外,我们进行了“压力测试”,其中类集至少包含一个与图像“接近”的内容的标题(例如,“有白色汽车的停车场”与“有红色汽车的停车场” )。 我们发现,该模型在 CCTV 图像上的初始评估的 top-1 准确率为 91.8%。第二次评估的准确率显着下降至 51.1%,模型错误选择“接近”答案的概率为 40.7% 。
对于细粒度检测,零样本模型表现不佳,结果接近随机。 请注意,该实验仅针对检测图像序列中是否存在小物体。
我们还使用 CelebA 数据集 8 测试了 CLIP 在“in the wild”身份检测中的零样本性能。我们这样做是为了评估模型在身份检测方面的性能,只使用它预先训练过的公开可用数据。虽然我们在互联网上拥有大量图像的名人数据集上对此进行了测试,但我们假设模型将人脸与姓名相关联所需的预训练数据中的图像数量将随着模型变得更强大而不断减少(见表 8),具有重要的社会影响(Garvie,2019 年)。这反映了自然语言处理的最新发展,其中最近在互联网数据上训练的大型语言模型通常表现出惊人的能力,可以提供与相对较小的公众人物相关的信息(Brown 等人,2020)。
我们发现,在“in the wild”8k 名人图像的 100 个可能类别中,该模型的 top-1 准确率为 59.2%。然而,当我们将班级人数增加到 1k 名人名时,这一表现下降到 43.3%。与 Google 的 Celebrity Recognition (Google) 等生产级模型相比,这种性能没有竞争力。然而,使这些结果值得注意的是,该分析仅使用基于从预训练数据推断的名称的零样本识别功能完成 - 我们没有使用任何额外的特定于任务的数据集,因此(相对)强大的结果进一步表明,在部署多模式模型之前,人们需要仔细研究它们在给定上下文和领域中的行为。
鉴于其零样本功能,CLIP 为数据相对较少的任务提供了显着优势。但是,对于许多按需监视任务(例如面部识别),存在大型数据集和高性能监督模型。因此,CLIP 对此类用途的吸引力相对较低。此外,CLIP 并非为常见的监视相关任务(如对象检测和语义分割)而设计。这意味着当设计时考虑到这些用途的模型(例如 Detectron2(Wu 等人,2019 年)广泛可用)时,它对某些监视任务的用途有限。
然而,鉴于 CLIP 如何消除对训练数据的需求,它确实解锁了可用性的某个方面。因此,CLIP 和类似模型可以实现定制的、利基监控用例,而这些用例不存在量身定制的模型或数据集,并且可以降低构建此类应用程序的技能要求。正如我们的实验所示,ZS CLIP 在当今的一些监控相关任务中表现出非凡但并非异常的表现。
7.3、未来的工作
该初步分析旨在说明通用计算机视觉模型带来的一些挑战,并一窥它们的偏见和影响。我们希望这项工作能够激发未来对此类模型的能力、缺点和偏见特征的研究,我们很高兴能与研究界就这些问题进行交流。我们认为,向前迈出的一大步是社区探索,以进一步表征 CLIP 等模型的功能,并 - 至关重要的是 - 确定它们具有良好性能的应用领域和可能降低性能的领域。这种表征过程可以帮助研究人员增加通过以下方式有益使用模型的可能性:
- 在研究过程的早期识别模型的潜在有益下游用途,使其他研究人员能够考虑应用。
- 提出具有重大敏感性和大量社会利益相关者的任务,这可能需要政策制定者的干预。
- 更好地描述模型中的偏差,提醒其他研究人员关注关注领域和干预领域。
- 创建测试套件来评估CLIP 等系统,这样我们就可以在开发周期的早期更好地表征模型功能。
- 确定潜在的故障模式和进一步工作的领域。
我们计划为这项工作做出贡献,并希望该分析为后续研究提供一些激励示例。
八、相关工作
任何利用书面、口头、签名或任何其他形式的人类语言作为其训练信号的一部分的模型都可以说是使用自然语言作为监督来源。这是一个公认的极其广泛的领域,涵盖了分布式语义领域的大部分工作,包括主题模型 (Blei et al., 2003)、单词、句子和段落向量 (Mikolov et al., 2013; Kiros et al., 2015) ; Le & Mikolov, 2014) 和语言模型 (Bengio et al., 2003)。它还包括许多更广泛的 NLP 领域,以某种方式处理预测或建模自然语言的序列。 NLP 中的工作有意利用自然语言监督以解释、反馈、指令和建议的形式对诸如分类等任务(与常用的监督表示为一组任意编码的离散类别标签相反)进行了探索。创造性和先进的方法。基于对话的学习(Weston,2016;Li 等人,2016;Hancock 等人,2019)开发了从对话中的交互式自然语言反馈中学习的技术。有几篇论文利用语义解析将自然语言解释转换为特征(Srivastava 等人,2017 年)或额外的训练标签(Hancock 等人,2018 年)。最近,ExpBERT (Murty et al., 2020) 使用通过在自然语言解释和关系描述上调节深度上下文语言模型产生的特征表示来提高关系提取任务的性能。
CLIP 是使用自然语言作为学习语言以外领域的训练信号的示例。在这种情况下,我们所知道的最早使用自然语言监督一词的是 Ramanathan 等人 (2013) 的工作,这表明自然语言描述可以与其他监督来源一起使用,以提高任务的性能视频事件理解。然而,正如在介绍和方法部分中提到的,在计算机视觉中利用自然语言描述的方法远远早于这个特定术语的使用,特别是对于图像检索 (Mori et al.,1999) 和对象分类 (Wang et al., 2009)。其他早期工作利用与图像相关的标签(但不是自然语言)来完成语义分割任务(Barnard et al., 2003)。最近,He & Peng (2017) 和 Liang 等人。 (2020) 展示了使用自然语言描述和解释来改进鸟类的细粒度视觉分类。其他人研究了如何使用基础语言来改进 ShapeWorld 数据集上的视觉表示和分类器(Kuhnle & Copestake,2017;Andreas 等人,2017;Mu 等人,2019)。最后,将自然语言与强化相结合的技术学习环境(Narasimhan 等人,2015)已??经展示了令人兴奋的新兴行为,例如系统地完成零样本任务(Hill 等人,2019)。
CLIP 的预训练任务针对文本图像检索进行了优化。这一研究领域可以追溯到 90 年代中期,前面提到的 Mori 等人。 (1999)作为早期工作的代表。虽然随着时间的推移,最初的努力主要集中在预测目标上,但随着时间的推移,研究转向使用核典型相关分析和各种排名目标等技术学习联合多模态嵌入空间(Weston et al., 2010; Socher & Fei-Fei, 2010; Hodosh et al. ., 2013)。随着时间的推移,工作探索了训练目标、迁移和更具表现力的模型的许多组合,并稳步提高了性能(Frome 等人,2013;Socher 等人,2014;Karpathy 等人,2014;Kiros 等人,2014;Faghri等人,2017)。
其他工作利用自然语言监督对图像以外的领域进行监督。 Stroud 等人 (2020) 通过训练系统将描述性文本与视频而非图像配对来探索大规模表示学习。一些作品已经探索了对视频使用密集的口语自然语言监督(Miech et al., 2019; 2020b)。当与 CLIP 一起考虑时,这些工作表明大规模自然语言监督是学习许多领域的高质量感知系统的有前途的方法。 Alayrac 等人(2020 年)通过添加原始音频作为额外的监督源,将这一工作线扩展到了一种额外的模式,并展示了结合所有三种监督源的好处。
作为 CLIP 工作的一部分,我们还构建了一个新的图像-文本对数据集。现代图像文本检索工作依赖于一组众包句子级图像标题评估数据集,如 Pascal1K (Rashtchian et al., 2010)、Flickr8K (Hodosh et al., 2013) 和 Flickr30K (Young et al., 2013)。 , 2014)。然而,这些数据集仍然相对较小并且限制了可实现的性能。已经提出了几种方法来自动创建更大的数据集,Ordonez 等人(2011)作为一个值得注意的早期例子。在深度学习时代,Mithun 等人 (2018) 证明了从互联网收集的一组额外的(图像、文本)对可以提高检索性能和几个新的自动构建的数据集,例如概念字幕(Sharma 等人,2018) , LAIT (Qi et al., 2020) 和 OCR-CC (Yang et al., 2020) 已经创建。然而,这些数据集仍然使用更激进的过滤或为特定任务(如 OCR)而设计,因此仍然比具有 1 到 1000 万个训练示例的 WIT 小得多。
与 CLIP 相关的一个想法是网络监督学习。这一系列工作通过查询术语来查询图像搜索引擎以构建图像数据集,并将查询用作返回图像的标签(Fergus 等,2005)。在这些大型但嘈杂标记的数据集上训练的分类器可以与在较小的仔细标记的数据集上训练的分类器竞争。这些图像查询对也经常用于提高标准数据集的性能,作为额外的训练数据(Chen & Gupta, 2015)。 CLIP 还使用搜索查询作为其数据集创建过程的一部分。然而,CLIP 仅使用与图像同时出现的全文序列作为监督,而不仅仅是查询,查询通常只有一个单词或短 n-gram。我们还将 CLIP 中的这一步限制为仅查询子字符串匹配的文本,而大多数网络监督工作使用标准图像搜索引擎,这些引擎具有自己的复杂检索和过滤管道,通常涉及计算机视觉系统。在这项工作中,Learn Everything about Anything:Webly-Supervised Visual Concept Learning (Divvala et al.,2014) 与 CLIP 有着明显相似的抱负和目标。
最后,CLIP 与最近爆发的学习视觉和语言联合模型的活动有关(Lu 等人,2019;Tan & Bansal,2019;Chen 等人,2019;Li 等人,2020b;Yu 等人.,2020)。这条工作线侧重于丰富地连接视觉和语言,以解决复杂的下游任务,例如视觉问答、视觉常识推理或多模态蕴涵。这些方法利用了令人印象深刻的工程模型,这些模型结合了 3 个(或更多)预训练子系统,通常是图像特征模型、区域提议/对象检测模型和预训练的掩码语言模型,例如 BERT。然后通过图像-文本对的各种训练目标对这些系统进行联合微调,并将其应用于上述任务并取得令人印象深刻的结果。相反,CLIP 专注于通过自然语言监督从头开始学习视觉模型,并且没有通过联合注意力模型将两个领域紧密连接起来。 CLIP 模型中图像和文本域之间的唯一交互是学习的联合嵌入空间中的单点积。我们很高兴看到 CLIP 与这项工作相结合。
九、结论
我们研究了是否有可能将 NLP 中与任务无关的网络规模预训练的成功转移到另一个领域。 我们发现采用这个公式会导致计算机视觉领域出现类似的行为,并讨论这一研究方向的社会影响。 为了优化他们的训练目标,CLIP 模型学习在预训练期间执行各种各样的任务。 然后可以通过自然语言提示利用此任务学习,以实现对许多现有数据集的零样本迁移。 在足够的规模下,这种方法的性能可以与特定任务的监督模型相媲美,尽管仍有很大的改进空间。
|