赞
踩
(2021)
最先进的计算机视觉系统经过训练可以预测一组固定的预定对象类别。这种受限的监督形式限制了它们的通用性和可用性,因为需要额外的标记数据 来指定任何其他视觉概念。直接从有关图像的原始文本中学习是一种很有前途的替代方案,它可以利用更广泛的监督来源。本文证明了预测哪个标题与哪个图像对应的简单预训练任务是一种有效且可扩展的方式,可以在从互联网收集的 4 亿(图像、文本)对数据集上从头开始学习 SOTA 图像表示。预训练后,使用自然语言来引用学习到的视觉概念(或描述新概念),从而实现模型到下游任务的零样本迁移。本文通过对 30 多个不同的现有计算机视觉数据集进行基准测试来研究这种方法的性能,涵盖 OCR、视频中的动作识别、地理定位 和 许多类型的细粒度对象分类等任务。该模型可以轻松地迁移到大多数任务,并且通常可以与完全监督的基线相媲美,而无需任何数据集特定的训练。例如,本文在 ImageNet 零样本上匹配原始 ResNet-50 的准确性,而无需使用它所训练的 128 万个训练示例中的任何一个。
直接从原始文本中学习的预训练方法在过去几年彻底改变了 NLP(Dai & Le, 2015; Peters et al, 2018; Howard & Ruder, 2018; Radford et al, 2018; Devlin et al, 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 等人 (2016) 对这一领域的工作进行了现代化改造,并证明经过训练以预测图像说明中的单词的 CNN 学习了有用的图像表示。他们将 YFCC100M 数据集(Thomee 等人,2016 年)中图像的标题、描述和主题标签元数据转换为词袋多标签分类任务,并表明预训练 AlexNet(Krizhevsky 等人,2012 年)以预测这些标签学习的表示,这些表示类似于基于 ImageNet 的传输任务预训练。 Li 等人 (2017) 然后将这种方法扩展到预测短语 n-grams 以及单个单词,并展示了他们的系统通过基于他们学习的视觉 n 字典对目标类进行评分来零样本转移到其他图像分类数据集的能力-grams 并预测得分最高的那个。 VirTex (Desai & Johnson, 2020)、ICMLM (Bulent Sariyildiz et al, 2020) 和 ConVIRT (Zhang et al, 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 数据集的类别,在更广泛的迁移基准上取得了巨大收益。
这一系列工作代表了当前务实的中间立场,介于从有限数量的受监督“黄金标签”中学习和从几乎无限量的原始文本中学习。然而,它并非没有妥协。两者的作品都经过精心设计,并且在过程中将他们的监督分别限制在1000和18291个类别。自然语言能够通过其泛化性 表达 并因此 监督更广泛的视觉概念集。这两种方法都使用静态 softmax 分类器来执行预测,并且缺乏动态输出机制。这严重削弱了它们的灵活性 并 限制了它们的“零样本”能力。
这些 弱监督模型 与 最近直接从自然语言学习图像表示 的探索之间的一个关键区别是 规模。 Mahajan 等人 (2018) 和 Kolesnikov 等人 (2019) 在数百万至数十亿张图像上训练了他们的加速器模型数年,而 VirTex、ICMLM 和 ConVIRT 在一到二十万张图像上训练了加速器数天。在这项工作中,本文缩小了这一差距 并 研究了 在大规模自然语言监督下训练的图像分类器的行为。
借助互联网上这种形式的大量公开可用数据,本文创建了一个包含 4 亿(图像、文本)对的新数据集,并论证了从头开始训练的 ConVIRT 的简化版本,我们称之为 CLIP,指的是对比语言-图像预训练,是一种从自然语言监督中学习的有效方法。
本文通过训练跨越近 2 个数量级的计算的一系列八个模型来研究 CLIP 的可扩展性,并观察到 迁移性能是计算的一个平滑可预测函数(Hestness 等人,2017 年;Kaplan 等人,2020 年)。本文发现 CLIP 与 GPT 家族类似,在预训练期间学习执行一系列广泛的任务,包括 OCR、地理定位、动作识别等。本文通过在 30 多个现有数据集上对 CLIP 的零样本迁移性能进行基准测试来衡量这一点,并发现它可以与先前的特定任务监督模型竞争。我们还通过线性探测表示学习分析证实了这些发现,并表明 CLIP 优于公开可用的最佳 ImageNet 模型,同时计算效率更高。本文还发现零样本 CLIP 模型比同等精度的监督 ImageNet 模型更稳健,这表明 任务未知模型的零样本评估更能代表模型的能力。这些结果具有重要的政策和伦理意义,我们在第 7 节中对此进行了考虑。
本文方法的核心是 从自然语言中包含的监督中学习感知 的想法。正如引言中所讨论的,这根本不是一个新想法,但是用于描述该领域工作的术语多种多样,甚至看似矛盾,并且陈述的动机多种多样。 Zhang 等人 (2020)、Gomez 等人 (2017)、Joulin 等人 (2016) 和 Desai & Johnson (2020) 都介绍了从与图像配对的文本中学习视觉表示的方法,但分别将他们的方法描述为无监督、自监督、弱监督和监督。
本文强调,这一类工作的共同点 不同特定方法的任何细节,而是将自然语言的鉴别作为训练信号。所有这些方法都是从自然语言监督中学习的。尽管早期的工作在使用主题模型和 n-gram 表示时 与 自然语言的复杂性 作斗争,但 深度上下文表示学习的改进 表明 我们现在拥有 有效利用这种丰富的监督资源的工具(McCann 等人,2017 年)。
与其他训练方法相比,从自然语言中学习有几个潜在的优势。
在以下小节中,本文详细介绍了本文确定的具体方法。
现有工作主要使用了三个数据集,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 的大小大致相同。
自然语言监督的一个主要动机是互联网上公开提供的大量这种形式的数据。由于现有数据集没有充分反映这种可能性,仅考虑它们的结果会低估这一研究领域的潜力。为了解决这个问题,本文构建了一个包含 4 亿对(图像、文本)对的新数据集,这些数据集是从 Internet 上的各种公开资源中收集的。为了尝试涵盖尽可能广泛的一组视觉概念,我们搜索(图像,文本)对作为构建过程的一部分,其文本包括一组 500,000 个查询中的一个。我们通过包括多达每个查询 20,000 个(图像、文本)对。生成的数据集的总字数与用于训练 GPT-2 的 WebText 数据集相似。本文将此数据集称为 WIT,即WebImageText 。
最先进的计算机视觉系统使用非常大量的计算。 Mahajan 等人 (2018) 需要 19 个 GPU 年来训练他们的 ResNeXt101-32x48d,而 Xie 等人 (2020) 需要 33 个 TPUv3 核年来训练他们的 Noisy Student EfficientNet-L2。考虑到这两个系统都经过训练只能预测 1000 个 ImageNet 类,从自然语言中学习一组开放的视觉概念的任务似乎令人生畏。在我们努力的过程中,我们发现训练效率是成功扩展自然语言监督的关键,本文根据这个指标选择了最终的预训练方法。
本文最初的方法类似于 VirTex,从头开始联合训练图像 CNN 和文本transformer来预测图像的标题。然而,本文在有效扩展这种方法时遇到了困难。在图 2 中,本文展示了一个 6300 万参数的transformer语言模型,它已经使用了其 ResNet-50 图像编码器两倍的计算,学习识别 ImageNet 类 比 预测同一文本的词袋编码 的更简单的基线 慢三倍。
这两种方法有一个关键的相似之处。他们试图预测每张图片所附文字的确切单词。由于与图像同时出现的描述、评论和相关文本种类繁多,因此这是一项艰巨的任务。最近在图像对比表示学习方面的工作发现,对比目标可以比它们的等效预测目标学习更好的表示(Tian 等人,2019)。其他工作发现,虽然图像的生成模型可以学习高质量的图像表示,但它们需要比具有相同性能的对比模型多一个数量级的计算量(Chen 等人,2020a)。注意到这些发现,本文探索了训练一个系统来解决可能更容易的代理任务,即仅预测整个文本与哪个图像配对,而不是预测该文本的确切单词。从相同的词袋编码基线开始,图 2 中,本文将预测目标换成对比目标,并观察到 ImageNet 的零样本传输率进一步提高了 4 倍的效率。
给定一批 N(图像,文本)对,CLIP 被训练来预测批次中 N × N 可能(图像,文本)对中的哪一个实际发生。为此,CLIP 通过 联合训练 图像编码器 和 文本编码器 来学习多模态嵌入空间,以最大化批次中 N 个真正的对的图像和文本嵌入的余弦相似度,同时最小化N*N − N 个不正确的配对。本文优化了这些相似性分数的对称交叉熵损失。
在图 3 中,包含了 CLIP 实现的核心伪代码。据我们所知,这种批量构建技术和目标首先作为多类 N 对损失 Sohn (2016) 在深度度量学习领域引入,并被 Oord 等人 (2018) 作为 InfoNCE 损失推广用于对比表示学习,并且最近被 Zhang 等人 (2020) 改编用于医学成像领域的对比(文本、图像)表示学习。
由于本文的预训练数据集很大,过拟合不是主要问题,与 Zhang et al (2020) 的实现相比,训练 CLIP 的细节得到了简化。我们从头开始训练 CLIP,而没有使用 ImageNet 权重初始化图像编码器 或 使用预训练权重的文本编码器。我们删除了表示和对比嵌入空间之间的非线性投影,这一变化由 Bachman 等人 (2019) 引入并由 Chen 等人 (2020b) 推广。我们仅使用线性投影将每个编码器的表示映射到多模态嵌入空间。我们没有注意到两个版本之间训练效率的差异,并推测非线性投影 可能与当前仅图像自监督表示学习方法的细节共同适应。我们还从 Zhang 等人 (2020) 中删除了文本转换函数 tu,该函数从文本中统一采样单个句子,因为 CLIP 的预训练数据集中的许多(图像,文本)对只是一个句子。我们还简化了图像变换函数 tv。来自调整大小的图像的随机正方形裁剪是训练期间使用的唯一数据增强。最后,控制 softmax 中 logits 范围的温度参数 τ 在训练期间直接优化为对数参数化乘法标量,以避免转为超参数。
本文考虑图像编码器的两种不同架构。首先,我们使用 ResNet-50 (He et al, 2016a) 作为图像编码器的基础架构,因为它的广泛采用和经过验证的性能。我们使用 He 等人 (2019) 的 ResNet-D 改进和 Zhang (2019) 的antialiased rect-2 模糊池化 对原始版本进行了一些修改。我们还用注意力池化机制替换了全局平均池化层。注意力池化被实现为单层的 “transformer-style”多头 QKV 注意力,其中查询以图像的全局平均池化表示为条件。对于第二种架构,我们试验了最近推出的 Vision Transformer (ViT)(Dosovitskiy 等人,2020 年)。我们密切关注它们的实现,仅对 transformer之前的组合patch和位置嵌入 添加了额外的层归一化 并 使用略有不同的初始化方案进行了微小的修改。
文本编码器是一个 Transformer(Vaswani 等人,2017 年),使用 Radford 等人(2019 年)中描述的架构修改。作为基础尺寸,本文使用具有 8 个注意力头的 63M 参数 12 层 512 宽模型。transformer 对具有 49,152 个词汇大小的 文本的 小写字节对编码 (BPE) 表示进行操作(Sennrich 等人,2015 年)。为了计算效率,最大序列长度上限为 76。文本序列用 [SOS] 和 [EOS] 标记括起来,并且在 [EOS] 标记处 transformer 最高层的激活 被视为文本的特征表示,该表示经过层归一化,然后线性投影到多模态嵌入空间中。 掩码自注意力在文本编码器中使用,以保留使用预训练语言模型进行初始化 或 添加语言建模作为辅助目标的能力,尽管对此的探索留待未来的工作。
虽然之前的计算机视觉研究通常通过单独增加宽度(Mahajan 等人,2018 年)或深度(He 等人,2016a)来放大模型,但对于 ResNet 图像编码器,本文采用了 Tan & Le(2019)的方法,该方法发现在所有宽度、深度和分辨率上分配额外的计算优于仅将其分配给模型的一个维度。虽然 Tan & Le (2019) 为他们的 EfficientNet 架构调整分配给每个维度的计算比率,但本文使用了一个简单的基线,即平均分配额外的计算以增加模型的宽度、深度和分辨率。对于文本编码器,本文只缩放模型的宽度,使其与计算出的 ResNet 宽度增加成正比,根本不缩放深度,因为我们发现 CLIP 的性能对文本编码器的容量不太敏感。
本文训练了一系列的 5 个 ResNets 和 3 个 Vision Transformer。对于 ResNet,本文训练了一个 ResNet-50、一个 ResNet-101,然后是另外 3 个,它们遵循 EfficientNet-style 的模型放大,并使用大约 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) )。当训练 1 个时期时,初始超参数是使用网格搜索、随机搜索和手动调整的组合在基线 ResNet50 模型上设置的。然后,由于计算限制,对超参数进行启发式调整以适应更大的模型。可学习的温度参数 τ 被初始化为相当于 0.07 来自 (Wu et al, 2018), 并被剪裁以防止将 logits 放大超过 100,本文发现这是防止训练不稳定所必需的。本文使用 32,768 的非常大的小批量。混合精度 (Micikevicius et al, 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 像素分辨率预训练了一个额外的 epoch,以提高类似于 FixRes (Touvron 等人,2019)的性能。本文将此模型表示为 ViT-L/14@336px。除非另有说明,否则本文中报告为“CLIP”的所有结果均使用本文发现性能最佳的模型。
在计算机视觉中,零样本学习 通常是指 在图像分类中 泛化到不可见对象类别的研究(Lampert 等人,2009)。相反,本文在更广泛的意义上使用该术语,并研究对未见数据集的泛化。正如 Larochelle 等人 (2008) 的零数据学习论文所期望的那样,本文将其作为执行未见任务的代理来激励。虽然无监督学习领域的许多研究都集中在机器学习系统的表示学习能力上,但本文鼓励研究 零样本迁移 作为衡量机器学习系统任务学习能力的一种方式。在此视图中,数据集评估特定分布上任务的性能。然而,许多流行的计算机视觉数据集是由研究社区创建的,主要作为指导通用图像分类方法开发的基准,而不是测量特定任务的性能。虽然可以合理地说 SVHN 数据集测量了谷歌街景照片分布上的街道号码转录的任务,但尚不清楚 CIFAR-10 数据集测量的是什么“真实”任务。然而,很明显,CIFAR-10 是从什么分布中提取的——TinyImages(Torralba 等人,2008 年)。在这些类型的数据集上,零样本迁移更多的是评估 CLIP 对分布转移和领域泛化的鲁棒性,而不是任务泛化。请参阅第 3.3 节以了解针对此的分析。
据本文所知,视觉 N-Grams (Li et al, 2017) 首先以上述方式研究了对现有图像分类数据集的零样本迁移。这也是我们所知道的唯一一项 使用 通用预训练模型 研究 零样本迁移 到标准图像分类数据集的工作,并作为上下文化 CLIP 的最佳参考点。他们的方法学习了包含 142,806 个视觉 n-gram(跨越 1-5-grams)的字典的参数,并使用微分版本的 Jelinek-Mercer 平滑优化这些 n-gram,以最大化给定图像的所有文本 n-gram 的概率。为了执行零样本迁移,他们首先将每个数据集类名的文本转换为其 n-gram 表示,然后根据他们的模型计算其概率,预测得分最高的那个。
本文专注于研究零样本迁移作为任务学习的评估,其灵感来自于 NLP 领域中展示任务学习的工作。据本文所知,Liu 等人(2018 年)首先 将任务学习确定为一种“意想不到的副作用”,当经过训练 以生成维基百科文章的语言模型 学会 可靠地音译语言之间的名称时。虽然 GPT-1(Radford 等人,2018 年)专注于将预训练作为一种改进监督微调的迁移学习方法,但它还包括一项消融研究,证明四种启发式零样本迁移方法的性能在整个过程中稳步提高预训练,没有任何监督适应。该分析是 GPT-2(Radford 等人,2019 年)的基础,它专注于通过零样本迁移研究语言模型的任务学习能力。
CLIP 经过预训练,可以预测图像和文本片段 是否在其数据集中配对在一起。为了执行零样本分类,本文重用了此功能。对于每个数据集,我们使用数据集中所有类的名称 作为 潜在文本对的集合,并根据 CLIP 预测最可能的(图像,文本)对。更详细一点,我们首先通过各自的编码器计算图像的特征嵌入和一组可能文本的特征嵌入。然后计算这些嵌入的余弦相似度,通过温度参数 τ 缩放,并通过 softmax 归一化为概率分布。请注意,此预测层是一个多项逻辑回归分类器,具有 L2 归一化输入、L2 归一化权重、无偏差和温度缩放。以这种方式解释时,图像编码器是计算图像特征表示的计算机视觉主干,而文本编码器是hypernetwork(Ha 等人,2016),它根据指定类别表示的视觉概念的文本生成线性分类器的权重。 Lei Ba 等人 (2015) 首次引入了这种形式的零样本图像分类器,而从自然语言生成分类器的想法至少可以追溯到 Elhoseiny 等人 (2013)。继续这种解释,CLIP 预训练的每一步都可以看作是优化随机创建的计算机视觉数据集代理的性能,其中每个类包含 1 个示例,并且通过自然语言描述定义了总共 32,768 个类。对于零样本评估,一旦文本编码器计算出零样本分类器,我们就会将其缓存起来,并将其重新用于所有后续预测。这使得生成它的成本可以分摊到数据集中的所有预测中。
在表 1 中,我们将 Visual N-Grams 与 CLIP 进行了比较。最好的 CLIP 模型将 ImageNet 上的准确性从概念证明的 11.5% 提高到 76.2%,并且与原始 ResNet-50 的性能相匹配,尽管没有使用该数据集可用的 128 万个人群标记训练示例。此外,CLIP 模型的 top-5 精度明显高于其 top-1,并且该模型具有 95% 的 top-5 精度,与 Inception-V4 相匹配(Szegedy 等人,2016 年)。在零样本设置中 匹配强大的、完全监督的基线性能的能力 表明 CLIP 是朝着灵活实用的零样本计算机视觉分类器迈出的重要一步。如上所述,与 Visual N-Grams 的比较是为了 上下文化CLIP 的性能,不应解释为 CLIP 和 Visual N-Grams 之间的直接方法比较,因为两个系统之间的许多性能相关差异没有得到控制。例如,本文在 10 倍大的数据集上进行训练,使用每次预测需要近 100 倍计算的视觉模型,可能使用超过 1000 倍的训练计算,并使用基于transformer的模型,这在 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 将视觉 N-Grams 的准确性提高了一倍以上。为了进行更全面的分析和压力测试,本文实施了一个更大的评估套件,详见附录 A。本文总共从 Visual NGrams 中报告的 3 个数据集扩展到包括 30 多个数据集,并与 50 多个现有计算机视觉系统进行比较以进行上下文化结果。
大多数标准的图像分类数据集都将 实现基于自然语言的零样本迁移的 信息命名或描述类别作为一种事后考虑。绝大多数数据集 仅用标签的数字id注释图像,并包含一个将这些id映射回其英文名称的文件。一些数据集,如Flowers102和GTSRB,在其发布的版本中似乎根本不包括这种映射,完全阻碍了零样本迁移。对于许多数据集,我们观察到这些标签的选择可能有些随意,并且没有预测到与零样本迁移相关的问题,零样本迁移依赖于任务描述才能成功迁移。
一个常见的问题是多义词。当一个类的名称是提供给 CLIP 文本编码器的唯一信息时,由于缺乏上下文,它无法区分哪个词义。在某些情况下,同一个词的多种含义可能作为不同的类别包含在同一个数据集中!这发生在 ImageNet 中,它包含建筑起重机和会飞的起重机。另一个例子是在 Oxford-IIIT Pet 数据集的类中发现的,其中单词 boxer 从上下文中显然指的是一种狗,但缺乏上下文的文本编码器很可能指的是一种运动员。
我们遇到的另一个问题是,在本文的预训练数据集中,与图像配对的文本只是一个单词的情况相对较少。通常文本是以某种方式描述图像的完整句子。为了帮助弥合这种分布差距,我们发现使用提示模板“A photo of a {label}.”是一个很好的默认值,有助于指定文本是关于图像的内容。这通常会提高仅使用标签文本的基线的性能。例如,仅使用此提示可将 ImageNet 上的准确性提高 1.3%。
类似于围绕 GPT3( Brown 等人,2020 年;Gao 等人,2020 年)的 “提示工程prompt engineering” 讨论,我们还观察到 通过 为每个任务 定制提示文本 可以显著提高零样本性能。以下是一些非详尽的示例。我们在几个细粒度图像分类数据集上发现它有助于指定类别。例如在 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) 中直接嵌入类别名的无上下文基线方法进行了对比。
由于任务无关的计算机视觉零样本分类器的研究不足,CLIP 提供了一个有希望的机会来更好地理解这种类型的模型。在本节中,我们对 CLIP 的零样本分类器的各种特性进行了研究。作为第一个问题,我们简单地看一下零样本分类器的性能。为了将其置于上下文中,本文将其与一个简单的现成基线的性能进行比较:在规范 ResNet-50 的特征上拟合一个完全监督的、正则化的逻辑回归分类器。在图 5 中,展示了 27 个数据集的这种比较。有关数据集和设置的详细信息,请参阅附录 A。
零样本 CLIP 往往略微优于该基线,并在 27 个数据集中的 16 个上获胜。查看单个数据集会发现一些有趣的行为。数据集零样本 CLIP 改进最多的是 STL10,该数据集旨在通过仅提供有限数量的标记示例来鼓励高效学习。零样本 CLIP 在不使用任何训练示例的情况下,在这个数据集上达到了 99.3%,这似乎是一种新的技术水平。
在细粒度分类任务中,我们观察到性能差异很大。在其中两个数据集 Stanford Cars 和 Food101 上,零样本 CLIP 在 ResNet-50 特征上的表现优于逻辑回归 20% 以上,而在另外两个数据集 Flowers102 和 FGVCAircraft 上,零样本 CLIP 的表现落后 10% 以上。在 OxfordPets 和 Birdsnap 上,性能更接近。我们怀疑这些差异主要是由于 WIT 和 ImageNet 之间每个任务的监督数量不同。在 ImageNet、CIFAR10 和 PascalVOC2007 等“通用”目标分类数据集上,性能相对相似,零样本 CLIP 略有优势。零样本 CLIP 在两个测量视频动作识别的数据集上明显优于 ResNet-50。在 Kinetics700 上,CLIP 比 ResNet-50 高出 14.5%。零样本 CLIP 在 UCF101 上的性能也优于 ResNet-50 的特性 7.7%。我们推测这是由于与 ImageNet 中以名词为中心的目标监督相比,自然语言为涉及动词的视觉概念提供了更广泛的监督。
查看零样本 CLIP 明显表现不佳的地方,本文发现零样本 CLIP 在卫星图像分类(EuroSAT 和 RESISC45)、淋巴结肿瘤检测(PatchCamelyon)、计算合成场景中的对象 (CLEVRCounts)、自动驾驶相关任务,如德国交通标志识别(GTSRB)、识别到最近汽车的距离(KITTI Distance) 等几个专门的、复杂的或抽象的任务上相当薄弱。这些结果凸显了零样本 CLIP 在更复杂任务上的较差能力。相比之下,非专家人员可以稳健地执行其中的多项任务,例如计数、卫星图像分类和交通标志识别,这表明还有很大的改进空间。然而,本文警戒说,与少样本迁移相反,对于学习者之前没有经验的困难任务,例如几乎所有人类(可能还有 CLIP)的淋巴结肿瘤分类,测量零样本迁移是否是一种有意义的评估尚不清楚。
虽然将零样本性能与完全监督模型进行比较可以使 CLIP 的任务学习能力上下文化,但与少样本方法进行比较是更直接的比较,因为零样本是它的极限。在图 6 中,可视化了零样本 CLIP 与少样本逻辑回归在许多图像模型(包括最佳公开可用的 ImageNet 模型、自监督学习方法和 CLIP 本身)的特征上的比较。虽然很直观地认为零样本的表现不如单样本,但我们发现零样本 CLIP 在同一特征空间上与 4 样本逻辑回归的性能相匹配。这可能是由于零样本和少样本方法之间的重要区别。
首先,CLIP 的零样本分类器是通过自然语言生成的,允许直接指定视觉概念(“沟通”)。相比之下,“正常”的监督学习必须间接地从训练示例中推断出概念。无上下文的基于示例的学习的缺点是许多不同的假设可能与数据一致,尤其是在单样本的情况下。单个图像通常包含许多不同的视觉概念。尽管有能力的学习者能够利用视觉线索和启发式方法,例如假设正在展示的概念是图像中的主要对象,但这并不能保证。
零样本和少样本性能之间的这种差异的潜在解决方案是 使用 CLIP 的零样本分类器作为少样本分类器权重的先验。虽然对生成的权重添加 L2 惩罚是该想法的直接实现,但我们发现超参数优化通常会选择该正则化器的如此大的值,以至于生成的少样本分类器“只是”零样本分类器。研究将零样本迁移的强度与少样本学习的灵活性相结合的更好方法是未来工作的一个有前途的方向。
将零样本 CLIP 与其他模型特征的少样本逻辑回归进行比较时,零样本 CLIP 与本文评估套件中性能最佳的 16 样本分类器的性能大致相当,该分类器使用 BiT-M ResNet-152x2 的特征在 ImageNet-21K 上训练。本文确信在 JFT-300M 上训练的 BiT-L 模型会表现得更好,但这些模型尚未公开发布。 BiT-M ResNet-152x2 在 16 样本设置中表现最佳有点令人惊讶,因为如第 3.2 节中分析的那样,Noisy Student EfficientNet-L2 在 27 个数据集上的完全监督设置中平均优于它近 5%。
除了研究零样本 CLIP 和少样本逻辑回归的平均性能外,本文还检查了单个数据集的性能。在图 7 中,显示了对同一特征空间上的逻辑回归分类器 匹配零样本 CLIP 性能 所需的每个类别的标记示例数量的估计。由于零样本 CLIP 也是一个线性分类器,因此这估计了此设置中零样本迁移的有效数据效率。为了避免训练数千个线性分类器,我们根据 1、2、4、8、16 样本(如果可能)的性能的对数线性插值估计有效数据效率,并在每个数据集上训练完全监督的线性分类器。我们发现零样本迁移在每个数据集上的效率差异很大,从每个类少于 1 个标记示例到 184 个。两个数据集 Flowers102 和 EuroSA T 的表现不如单样本模型。一半的数据集每个类需要少于 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 个数据集上接近完全监督的性能: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) 中所述)掩盖了稳步提高的趋势,或者作为某些任务的计算的函数,性能是否实际上是非单调的。
虽然本文在上一节中通过零样本迁移广泛分析了 CLIP 的任务学习能力,但更常见的是研究模型的表征学习能力。有许多方法可以评估表示的质量,以及关于“理想”表示应具有哪些属性的分歧(Locatello 等人,2020)。在从模型中提取的表示上拟合线性分类器并测量其在各种数据集上的性能是一种常见的方法。另一种方法是测量模型端到端微调的性能。这增加了灵活性,之前的工作令人信服地证明,在大多数图像分类数据集上,微调优于线性分类(Kornblith 等人,2019 年;Zhai 等人,2019 年)。虽然出于实际原因,微调的高性能激发了其研究,但出于多种原因,本文仍然选择基于线性分类器的评估。本文的工作重点是开发高性能任务和与数据集无关的预训练方法。微调,因为它在微调阶段使表示适应每个数据集,可以补偿并可能掩盖在预训练阶段无法学习通用和稳健表示的失败。线性分类器由于其有限的灵活性,反而会突出这些失败并在开发过程中提供明确的反馈。对于 CLIP,训练有监督的线性分类器有一个额外的好处,即与用于其零样本分类器的方法非常相似,这使得 3.1 节中的广泛比较和分析成为可能。最后,本文的目标是将 CLIP 与跨许多任务的一套全面的现有模型进行比较。在 27 个不同的数据集上研究 66 个不同的模型需要调整 1782 个不同的评估。微调打开了更大的设计和超参数空间,这使得公平评估和比较其他大规模实证研究中讨论的不同技术集的计算成本变得更加昂贵(Lucic 等人,2018 年;Choi 等人,2019 年)。相比之下,线性分类器需要最少的超参数调整,并且具有标准化的实现和评估程序。有关评估的更多详细信息,请参阅附录 A。
图 10 总结了本文的发现。为了最大限度地减少可能引起确认或报告偏差担忧的选择影响,我们首先研究了 Kornblith 等人 (2019) 的 12 个数据集评估套件的性能。虽然 ResNet-50 和 ResNet-101 等小型 CLIP 模型优于其他在 ImageNet-1K(BiT-S 和原始模型)上训练的 ResNet,但它们的表现不如在 ImageNet-21K(BiT-M)上训练的 ResNet。这些小型 CLIP 模型的性能也不如具有类似计算要求的 EfficientNet 系列中的模型。然而,使用 CLIP 训练的模型扩展得非常好,我们训练的最大模型 (ResNet-50x64) 在总体得分和计算效率方面略胜于现有的最佳模型(Noisy Student EfficientNet-L2)。本文还发现 CLIP vision transformers 的计算效率比 CLIP ResNets 高出约 3 倍,这使我们能够在计算预算内达到更高的整体性能。这些结果定性地复制了 Dosovitskiy 等人 (2020) 的发现,该发现报告称,在足够大的数据集上训练时,vision transformers 比卷积网络的计算效率更高。本文最好的整体模型是 ViT-L/14,它在本文的数据集上以 336 像素的更高分辨率微调了 1 个额外的纪元。该模型比该评估套件中现有的最佳模型平均高出 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 中所有 27 个数据集中最佳 CLIP 模型和本文评估套件中最佳模型的性能差异。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。 EffcientNet 在 CIFAR10 和 CIFAR100 等低分辨率数据集上的表现也略优于 CLIP。我们怀疑这至少部分是由于 CLIP 中缺乏基于尺度的数据增强。 EfficientNet 在 PatchCamelyon 和 CLEVRCounts 数据集上的表现也稍好一些,这两种数据集的整体性能仍然很低。
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 等人) al, 2019)、ImageNet Adversarial (Hendrycks et al, 2019) 和 ImageNet Rendition (Hendrycks et al, 2020a)。他们将这些由从各种来源收集的新图像组成的数据集 与 ImageNet-C(Hendrycks 和 Dietterich,2019 年)、Stylized ImageNet(Geirhos 等人,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 等人 (2020) 研究的几乎所有模型都是在 ImageNet 数据集上训练或微调的。回到本节介绍中的讨论——训练或适应 ImageNet 数据集分布是观察到的稳健性差距的原因吗?直觉上,零样本模型不应该能够利用仅适用于特定分布的虚假相关性或模式,因为它没有针对该分布进行训练。因此,期望零样本模型具有更高的有效鲁棒性是合理的。在图 13 中,比较了零样本 CLIP 与现有 ImageNet 模型在自然分布偏移方面的性能。所有零样本 CLIP 模型都大大提高了有效的鲁棒性,并将 ImageNet 精度和分布偏移下的精度之间的差距缩小了高达 75%。
虽然这些结果表明零样本模型可以更加稳健,但它们并不一定意味着 ImageNet 上的监督学习会导致稳健性差距。 CLIP 的其他细节,例如其庞大而多样的预训练数据集 或 使用自然语言监督,也可能会产生更强大的模型,无论它们是零样本还是微调。作为可能开始缩小范围的初始实验,本文还测量了 CLIP 模型在通过适合 ImageNet 训练集上的 CLIP 特征的 L2 正则化逻辑回归分类器适应 ImageNet 分布后的性能如何变化。图 14 中可视化了零样本分类器的性能如何变化。尽管使 CLIP 适应 ImageNet 分布将其 ImageNet 总体准确率提高了 9.2% 至 85.4%,并且与 Mahajan 等人 (2018) 的 2018 年 SOTA 的准确率持平,分布偏移下的平均精度略有下降。
令人惊讶的是,准确率提高了 9.2%,这相当于 SOTA 的大约 3 年改进,但未能转化为分布转移下平均性能的任何改进。本文还分解了图 14 中每个数据集的零样本准确度和线性分类器准确度之间的差异,发现在一个数据集 ImageNetV2 上性能仍然显著提高。 ImageNetV2 紧跟原始 ImageNet 数据集的创建过程,这表明 监督适应带来的准确度收益密切集中在 ImageNet 分布的周围。在 ImageNet-R 上性能下降 4.7%,在 ObjectNet 上下降 3.8%,在 ImageNet Sketch 上下降 2.8%,在 ImageNet-A 上下降 1.9%。其他两个数据集 Youtube-BB 和 ImageNet Vid 的准确性变化微不足道。
如何将 ImageNet 数据集的精度提高 9.2%,而在分布变化下精度几乎没有提高?收益主要来自“利用虚假相关性”吗?这种行为是 CLIP 、ImageNet 数据集和所研究的分布变化的某种组合所独有的,还是更普遍的现象?它是否适用于端到端微调以及线性分类器?本文目前对这些问题没有自信的答案。之前的工作也已经在 ImageNet 以外的分布上预训练了模型,但通常只有在将模型微调到 ImageNet 之后才能研究和发布模型。作为了解预训练零样本模型是否始终比微调模型具有更高有效鲁棒性的一步,本文鼓励 Mahajan 等人 (2018)、Kolesnikov 等人 (2019) 和 Dosovitskiy 等人 (2020) 的作者如果可能的话,还要在他们的模型上研究这些问题。
本文还研究了另一种由灵活的基于自然语言的零样本图像分类器实现的鲁棒性干预。 7 个迁移数据集的目标类并不总是与 ImageNet 的目标类完全一致。 Youtube-BB 和 ImageNet-Vid 两个数据集由 ImageNet 的超类组成。这在尝试使用 ImageNet 模型的固定 1000 路分类器进行预测时会出现问题。 Taori 等人 (2020) 根据 ImageNet 类层次结构 通过 对所有子类进行最大池化预测来处理此问题。有时这种映射并不完美。对于 Youtube-BB 中的人员person类别,预测是通过池化合并棒球运动员、新郎和潜水员的 ImageNet 类别进行的。使用 CLIP,我们可以直接根据其类名为每个数据集生成自定义的零样本分类器。在图 14 中,我们看到这将平均有效鲁棒性提高了 5%,但主要集中在少数数据集上的大幅改进。奇怪的是,ObjectNet 的准确率也提高了 2.3%。尽管数据集被设计为与 ImageNet 类紧密重叠,但与在必要时使用 ImageNet 类名和池化预测相比,使用 ObjectNet 的创建者为每个类提供的名称仍然有少量帮助。
虽然零样本 CLIP 提高了有效的稳健性,但图 14 显示,在完全监督的环境中,这种优势几乎完全消失了。为了更好地理解这种差异,本文研究了从零样本到完全监督的连续统一体的有效鲁棒性变化。在图 15 中,我们可视化了 0-shot、1-shot、2-shot、4-shot ...、128-shot 和完全监督的逻辑回归分类器在最佳 CLIP 模型特征上的性能。我们看到,虽然 少样本模型也显示出比现有模型更高的有效稳健性,但随着分布内性能随着更多训练数据的增加而增加,这种优势逐渐消失,而且大部分(尽管不是全部)对于完全监督的模型来说已经消失了。此外,零样本 CLIP 明显比具有同等 ImageNet 性能的少样本模型更稳健。在本文的实验中,高效的鲁棒性似乎来自于最小化模型可以访问的特定于分布的训练数据的数量,但这是以降低特定于数据集的性能为代价的。
总而言之,这些结果表明,最近向大规模任务和数据集无关的预训练的转变,以及对广泛评估套件上的零样本和少样本基准测试的重新定位(正如 Yogatama 等人(2019 年)和 Linzen 所倡导的那样) 2020)) 促进更强大系统的开发,并提供更准确的性能评估。本文很想知道相同的结果是否适用于 NLP 领域的零样本模型,例如 GPT 系列。虽然 Hendrycks 等人 (2020b) 报告说预训练提高了情绪分析的相对鲁棒性,但 Miller 等人 (2020) 对自然分布变化下问答模型鲁棒性的研究发现,类似于 Taori 等人 (2020) ,迄今为止几乎没有有效稳健性改进的证据。
CLIP 与人类表现和人类学习相比如何?为了更好地了解人类在与 CLIP 类似的评估设置中的表现如何,本文评估了人类在本文的一项任务中的表现。我们想了解人类在这些任务中的零样本表现有多强,以及如果向他们展示一两个图像样本,人类的表现会提高多少。这可以帮助我们比较人类和 CLIP 的任务难度,并确定它们之间的相关性和差异。
我们让五个不同的人查看 Oxford IIT Pets 数据集(Parkhi 等人,2012 年)测试split中的 3669 张图像中的每一张,并选择 37 种猫或狗中的哪一种与图像最匹配(或“我不知道” ' 如果他们完全不确定)。在零样本的情况下,人类没有得到任何品种的例子,并被要求在没有互联网搜索的情况下尽其所能地给它们贴上标签。在一次性实验中,人类获得了每个品种的一张样本图像,而在二次实验中,他们获得了每个品种的两张样本图像。一种可能的担忧是人类工作者在零样本任务中没有足够的动力。在 STL-10 数据集(Coates 等人,2011 年)上 94% 的人类准确率和在注意力检查图像子集上 97-100% 的准确率增加了我们对人类工作者的信任。
有趣的是,当每个类只有一个训练示例时,人类的平均性能从54%提高到76%,而额外的训练示例所带来的边际收益是最小的。从0到1的精确度几乎完全是在人类不确定的图像上获得的。这表明人类“知道他们不知道的东西”,并且能够根据一个例子更新他们最不确定的图像的先验。鉴于此,虽然CLIP是一种很有前景的零样本性能训练策略(图5),并且在自然分布偏移测试中表现良好(图13),但人类从少数例子中学习的方式与本文中的少样本方法之间存在很大差异。
这表明,正如Lake等人(2016)和其他人所指出的那样,仍有算法改进有待进行,以缩小机器和人类样本效率之间的差距。由于这些对CLIP的少样本评估并没有有效地利用先验知识,而人类却可以,因此我们推测,找到一种将先验知识适当地集成到少样本学习中的方法是改进CLIP算法的重要步骤。据我们所知,在高质量预训练模型的特征上使用线性分类器几乎是少样本学习的最先进技术(Tian等人,2020年),这表明最好的少样本机器学习方法和人类少样本学习方法之间存在差距。
如果我们绘制人类准确度与 CLIP 的零样本准确度(图 16)的关系图,我们会发现对于 CLIP 来说最难的问题对人类来说也是困难的。就错误一致的程度而言,我们的假设是这至少是由两个因素造成的:数据集中的噪声(包括错误标记的图像)和分布图像对人类和模型来说都很难。
在非常大的互联网数据集上进行预训练的一个问题是与下游评估的无意重叠。这一点很重要,因为在最坏的情况下,评估数据集的完整副本可能会泄漏到预训练数据集中,并使评估无效,因为评估是一种有意义的泛化测试。防止这种情况的一种选择是在训练模型之前识别并删除所有重复项。虽然这可以保证报告真实的保持性能,但它需要提前了解模型可能用于评估的所有可能数据。这具有限制基准测试和分析范围的缺点。添加新的评估将需要昂贵的重新训练或风险报告由于重叠而导致的未量化收益。
相反,本文记录发生了多少重叠以及由于这些重叠而导致的性能变化。为此,本文使用以下程序:1) 对于每个评估数据集,本文对其示例运行一个重复检测器(参见附录 C)。然后我们手动检查找到的最近邻居并为每个数据集设置阈值以保持高精度,同时最大限度地提高召回率。使用这个阈值,然后我们创建两个新的子集,Overlap 和 Clean,其中包含所有与高于阈值的训练示例具有相似性的示例,其中包含低于此阈值的所有示例。我们表示未更改的完整数据集 All 以供参考。由此我们首先将数据污染程度记录为 Overlap 中的示例数量与 All 的大小之比。
中间省略
本文研究了是否有可能将 NLP 中与任务无关的网络规模预训练的成功转移到另一个领域。我们发现采用这个方案会导致计算机视觉领域出现类似的行为,并讨论这一系列研究的社会意义。为了优化他们的训练目标,CLIP 模型学习在预训练期间执行各种各样的任务。然后可以通过自然语言提示来利用此任务学习,以实现对许多现有数据集的零样本迁移。在足够大的规模下,这种方法的性能可以与特定于任务的监督模型相媲美,尽管仍有很大的改进空间。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。