【文献阅读】Learning Transferable Visual Models From Natural Language Supervision
摘要
最先进的计算机视觉系统经过训练,可预测一组固定的预先确定的对象类别。这种受限的监督形式限制了它们的通用性和可用性,因为指定任何其他视觉概念都需要额外的标记数据。
直接从关于图像的原始文本中学习是一种很有前途的替代方法,它利用了更广泛的监督来源。我们证明,预测哪个标题与哪个图像匹配这一简单的预训练任务,是一种从互联网收集的 4 亿(图像,文本)对数据集上从头开始学习最先进图像表示的有效且可扩展的方法。
预训练后,自然语言用于引用已学习的视觉概念(或描述新概念),使模型能够零样本迁移到下游任务。我们研究了 30 多个不同计算机视觉数据集上的性能,涵盖 OCR、视频中的动作识别、地理定位和多种细粒度对象分类等任务。
该模型对大多数任务都能进行有效迁移,并且在不需要任何特定数据集训练的情况下,其性能通常可与完全监督的基线相媲美。例如,我们在 ImageNet 零样本上与原始 ResNet50 的准确率匹配,而无需使用其训练的 128 万个训练示例中的任何一个。我们在GitHub - openai/CLIP: CLIP (Contrastive Language-Image Pretraining), Predict the most relevant text snippet given an image上发布了我们的代码和预训练模型权重。
1. 引言和相关工作
在过去几年中,直接从原始文本中学习的预训练方法彻底改变了自然语言处理领域(Dai & Le, 2015; Peters 等人,2018; Howard & Ruder, 2018; Radford 等人,2018; Devlin 等人,2018; Raffel 等人,2019)。“文本到文本” 作为标准化输入输出接口的发展(McCann 等人,2018; Radford 等人,2019; Raffel 等人,2019),使与任务无关的架构能够零样本迁移到下游数据集。像 GPT-3(Brown 等人,2020)这样的旗舰系统现在在许多任务上都能与定制模型竞争,同时几乎不需要特定于数据集的训练数据。
这些结果表明,现代预训练方法在网络规模的文本集合中可访问的总体监督,超过了高质量人群标记的自然语言处理数据集。然而,在计算机视觉等其他领域,在 ImageNet(Deng 等人,2009)等人群标记数据集上预训练模型仍然是标准做法。直接从网络文本中学习的可扩展预训练方法,能否在计算机视觉领域带来类似的突破?先前的工作令人鼓舞。
Joulin 等人(2016)证明,训练用于预测图像标题中单词的卷积神经网络可以学习与 ImageNet 训练相当的表示。Li 等人(2017)随后将这种方法扩展到除了单个单词之外还预测短语 n-gram,并证明了他们的系统能够零样本迁移到其他图像分类数据集。采用更新的架构和预训练方法,VirTex(Desai & Johnson, 2020)、ICMLM(Bulent Sariyildiz 等人,2020)和 ConVIRT(Zhang 等人,2020)最近展示了基于 Transformer 的语言建模、掩码语言建模和对比目标从文本中学习图像表示的潜力。
CLIP(Contrastive Language - Image Pretraining,对比语言 - 图像预训练 )模型工作流程的示意图,分三部分展示:
- 对比预训练(Contrastive pre - training):
- 输入:一批(共N组 )图像 - 文本对,比如图里的 “Pepper the aussie pup” 文本和对应的小狗图像。
- 处理:图像经 “Image Encoder”(图像编码器 )生成图像特征\(I_1, I_2, \cdots, I_N\);文本经 “Text Encoder”(文本编码器 )生成文本特征\(T_1, T_2, \cdots, T_N\) 。
- 目标:计算所有图像 - 文本特征对的相似度(图中表格形式呈现,如\(I_1 \cdot T_1\)表示图像\(I_1\)与文本\(T_1\)特征的相似度 ),训练模型让真实配对(同一组图像 - 文本对)的相似度尽可能高,虚假配对(不同组的)尽可能低,以此学习图像和文本的联合表示 。
- 从标签文本创建数据集分类器(Create dataset classifier from label text):
- 输入:数据集中的类别标签文本,像 “plane”“car”“dog”“bird” 等 。
- 处理:给类别标签套通用文本模板(如 “A photo of a {object}.” ),再经 “Text Encoder” 生成对应文本特征\(T_1, T_2, \cdots, T_N\) ,这些特征组成分类器,用于后续识别对应类别 。
- 零样本预测(Use for zero - shot prediction):
- 输入:待预测图像,比如图里的狗的照片 。
- 处理:图像经 “Image Encoder” 生成图像特征\(I_1\) ,计算它与分类器中各文本特征的相似度(如\(I_1 \cdot T_1\) 、\(I_1 \cdot T_2\)等 ),找到相似度最高的文本特征,其对应的类别(如 “A photo of a dog.” )就是预测结果,实现不用特定数据集训练,直接迁移分类的 “零样本” 能力 。
然而,上述模型的性能仍然低于当前最先进的计算机视觉模型,如 Big Transfer(Kolesnikov 等人,2019)和弱监督 ResNeXt(Mahajan 等人,2018)。一个关键的区别是规模。虽然 Mahajan 等人(2018)和 Kolesnikov 等人(2019)在数百万到数十亿张图像上用加速器训练了数年,而 VirTex、ICMLM 和 ConVIRT 则在数十万张图像上用加速器训练了数天。
我们缩小了这一差距,并研究了在大规模自然语言监督下训练的图像模型的行为。我们证明,从头开始训练的 ConVIRT 简化版本(我们称之为 CLIP,对比语言 - 图像预训练)是一种从自然语言监督中学习的有效且可扩展的方法。
我们发现,CLIP 在预训练期间学会执行一系列广泛的任务,包括光学字符识别(OCR)、地理定位、动作识别,并且在计算效率更高的同时,性能超过了公开可用的最优 ImageNet 模型。我们还发现,零样本 CLIP 模型比准确率相当的有监督 ImageNet 模型稳健得多 。
其中涉及的专业术语解释:
- CLIP:对比语言 - 图像预训练(Contrastive Language-Image Pretraining ),是一种多模态预训练模型 。
- OCR:光学字符识别(Optical Character Recognition),指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的技术 。
- ImageNet:一个大型图像数据库,常作为图像识别等计算机视觉任务的基准数据集 。
- zero - shot:零样本,指模型在没有见过相关训练样本的情况下,对任务进行推理和预测的能力 。
2. 方法
我们工作的核心思想是从与图像配对的自然语言中包含的监督中学习感知。在以下小节中,我们详细介绍了我们的具体方法。
2.1 创建足够大的数据集
现有工作主要使用了三个数据集,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.2 选择高效的预训练方法
我们最初的方法与 VirTex 类似,从头开始联合训练图像卷积神经网络和文本 Transformer 来预测图像的标题。
然而,我们在有效地扩展这种方法时遇到了困难。在图 2 中,我们展示了一个 6300 万参数的 Transformer 语言模型 —— 其计算量已经是其 ResNet50 图像编码器的两倍 —— 学习识别 ImageNet 类别的速度比 Joulin 等人(2016)预测相同文本的词袋编码的方法慢三倍。
对比表示学习的最新工作发现,对比目标可以优于等效的预测目标(Tian 等人,2019)。注意到这一发现,我们探索了训练一个系统来解决可能更简单的代理任务,即仅预测整个文本与哪个图像配对,而不是该文本的确切单词。从相同的词袋编码基线开始,我们在图 2 中将预测目标替换为 CLIP 的对比目标,观察到向 ImageNet 零样本迁移的效率进一步提高了 4 倍。
给定一批 N 个(图像,文本)对,CLIP 被训练来预测批次中 N×N 种可能的(图像,文本)配对中哪些实际发生过。为此,CLIP 通过联合训练图像编码器和文本编码器来学习多模态嵌入空间,以最大化批次中 N 个真实对的图像和文本嵌入的余弦相似度,同时最小化 N²−N 个错误配对的嵌入的余弦相似度。
我们对这些相似度分数优化对称交叉熵损失。在图 3 中,我们包含了 CLIP 核心实现的伪代码。这种批次构建技术和目标最初作为多类 N 对损失被 Sohn(2016)引入,最近被 Zhang 等人(2020)改编用于医学成像领域的对比(文本,图像)表示学习。
由于过拟合不是主要问题,与 Zhang 等人(2020)相比,训练 CLIP 的细节得到了简化。我们从头开始训练 CLIP,而不是用预训练权重初始化。我们删除了表示和对比嵌入空间之间的非线性投影。我们仅使用线性投影将每个编码器的表示映射到多模态嵌入空间。
我们还删除了文本转换函数\(t_u\),该函数从文本中均匀采样单个句子,因为 CLIP 预训练数据集中的许多(图像,文本)对只是单个句子。我们还简化了图像转换函数\(t_v\)。训练期间使用的唯一数据增强是从调整大小的图像中随机裁剪正方形。最后,控制 softmax 中对数概率范围的温度参数 τ,在训练期间作为对数参数化的乘法标量直接优化,以避免将其作为超参数调整。
2.3 选择和扩展模型
我们考虑了图像编码器的两种不同架构。第一种,我们使用 ResNet50(He 等人,2016a)作为图像编码器的基础架构,因为它被广泛采用并具有经证实的性能。我们使用 He 等人(2019)的 ResNetD 改进和 Zhang(2019)的抗锯齿 rect-2 模糊池化对原始版本进行了若干修改。
我们还将全局平均池化层替换为注意力池化机制。注意力池化被实现为单层 “Transformer 式” 多头 QKV 注意力,其中查询以图像的全局平均池化表示为条件。对于第二种架构,我们尝试了最近推出的视觉 Transformer(ViT)(Dosovitskiy 等人,2020)。
我们严格遵循他们的实现,仅进行了微小修改:在 Transformer 之前的组合补丁和位置嵌入中添加了额外的层归一化,并使用了略有不同的初始化方案。
文本编码器是 Transformer(Vaswani 等人,2017),具有 Radford 等人(2019)描述的架构修改。作为基础尺寸,我们使用 12 层、512 维、8 头注意力的模型。Transformer 对文本的小写字节对编码(BPE)表示进行操作(Sennrich 等人,2015)。
文本序列用 [SOS] 和 [EOS] 标记括起来,Transformer 最高层在 [EOS] 标记处的激活被用作文本的特征表示,该表示经过层归一化,然后线性投影到多模态嵌入空间。文本编码器中使用了掩码自注意力,以保留将语言建模作为辅助目标的能力,尽管对此的探索留作未来的工作。
虽然之前的计算机视觉研究通常通过单独增加宽度(Mahajan 等人,2018)或深度(He 等人,2016a)来扩展模型,但对于 ResNet 图像编码器,我们采用了 Tan & Le(2019)的方法,他们发现跨宽度、深度和分辨率分配额外的计算优于仅分配到一个维度。
我们使用了一种简单的变体,将额外的计算平均分配到增加模型的宽度、深度和分辨率。对于文本编码器,我们仅将模型的宽度缩放为与 ResNet 宽度的计算增加成比例,而完全不缩放深度,因为我们发现 CLIP 的性能对文本编码器不太敏感。
2.4 预训练
我们训练了一系列 5 个 ResNet 和 3 个视觉 Transformer。对于 ResNet,我们训练了 ResNet50、ResNet101,然后是 3 个遵循 EfficientNet 式模型扩展的模型,它们的计算量大约是 ResNet50 的 4 倍、16 倍和 64 倍。
它们分别被表示为 RN50x4、RN50x16 和 RN50x64。对于视觉 Transformer,我们训练了 ViT-B/32、ViT-B/16 和 ViT-L/14。最大的 ResNet 模型 RN50x64 在 592 个 V100 GPU 上训练了 18 天,而最大的视觉 Transformer 在 256 个 V100 GPU 上训练了 12 天。
对于 ViT-L/14,我们还以更高的 336 像素分辨率预训练了一个额外的 epoch,以提升性能,类似于 FixRes(Touvron 等人,2019)。我们将这个模型表示为 ViT-L/14@336px。除非另有说明,本文中报告的所有 “CLIP” 结果均使用此模型,我们发现其性能最佳。完整的模型超参数和细节见补充材料。
2.5 使用 CLIP
CLIP 经过预训练,可预测 WIT 中的图像和文本片段是否配对。为了将 CLIP 应用于下游任务,我们重用此能力,并研究 CLIP 在标准计算机视觉数据集上的零样本迁移性能。与 Radford 等人(2019)类似,我们将此作为衡量系统任务学习能力的一种方式(与表示学习能力相对)。
对于每个数据集,我们使用数据集中所有类别的名称作为潜在文本配对的集合,并根据 CLIP 预测最可能的(图像,文本)对。我们还尝试向 CLIP 提供文本提示以帮助指定任务,以及集成多个此类模板以提升性能。然而,由于绝大多数无监督和自监督计算机视觉研究都侧重于表示学习,我们也使用常见的线性探针协议对 CLIP 进行了研究。
3. 分析
3.1 与视觉 N-grams 的初步比较
据我们所知,视觉 N-grams(Li 等人,2017)首次以上述方式研究了对现有图像分类数据集的零样本迁移。它也是我们所知的唯一一项使用与任务无关的预训练模型研究对标准图像分类数据集零样本迁移的工作。
在表 1 中,我们将视觉 N-grams 与 CLIP 进行了比较。最佳 CLIP 模型将 ImageNet 的准确率从概念验证的 11.5% 提高到 76.2%,并且在未使用 128 万个人群标记训练示例的情况下,与原始 ResNet50 的性能相匹配。
此外,CLIP 模型的前 5 名准确率明显更高,该模型的前 5 名准确率为 95%,与 Inception-V4(Szegedy 等人,2016)相当。在零样本设置中与强大的完全监督基线性能相匹配的能力表明,CLIP 朝着灵活实用的零样本计算机视觉分类器迈出了重要一步。
这种比较并不直接,因为 CLIP 和视觉 N-grams 之间的许多差异没有得到控制。作为更接近的比较,我们在视觉 N-grams 训练的同一 YFCC100M 数据集上训练了 CLIP ResNet50,发现它在一个 V100 GPU 天内达到了与他们报告的 ImageNet 性能相当的水平。该基线也是从头开始训练的,而不是像视觉 N-grams 那样从预训练的 ImageNet 权重初始化。
3.2 零样本性能
在计算机视觉中,零样本学习通常指对图像分类中未见对象类别的泛化研究(Lampert 等人,2009)。我们反而以更广泛的意义使用该术语,并研究对未见数据集的泛化。
我们将此作为执行未见任务的代理,如 Larochelle 等人(2008)的零数据学习论文中所期望的那样。虽然无监督学习领域的许多研究侧重于机器学习系统的表示学习能力,但我们将研究零样本迁移作为衡量机器学习系统任务学习能力的一种方式。
在这种观点下,数据集评估的是特定分布上任务的性能。然而,许多流行的计算机视觉数据集主要是由研究社区创建的基准,用于指导通用图像分类方法的开发,而不是衡量特定任务的性能。据我们所知,视觉 N-grams(Li 等人,2017)首次以上述方式研究了对现有图像分类数据集的零样本迁移。
为了进行更全面的分析,我们实现了一个更大的评估套件,详细信息见补充材料。总体而言,我们从视觉 N-grams 报告的 3 个数据集扩展到包括 30 多个数据集,并与 50 多个现有计算机视觉系统进行比较,以将结果置于背景中。
首先,我们看看 CLIP 的零样本分类器与简单的现成基线(在标准 ResNet50 的特征上拟合完全监督、正则化的逻辑回归分类器)相比表现如何。在图 4 中,我们展示了 27 个数据集的这种比较。
零样本 CLIP 略优于此基线,并在 27 个数据集中的 16 个上获胜。零样本 CLIP 改进最大的数据集是 STL10,这是一个设计用于鼓励无监督学习的数据集,仅包含有限数量的标记示例。零样本 CLIP 在未使用任何训练示例的情况下,在该数据集上达到了 99.3% 的准确率,这似乎是一个新的最先进水平。
在细粒度分类任务上,我们观察到性能差异很大。在其中两个数据集 Stanford Cars 和 Food101 上,零样本 CLIP 比 ResNet50 特征上的逻辑回归高出 20% 以上,而在 Flowers102 和 FGVCAircraft 上,零样本 CLIP 的表现则低了 10% 以上。
我们怀疑这些差异主要是由于 WIT 和 ImageNet 之间每个任务的监督量不同。在 ImageNet、CIFAR10 和 PascalVOC2007 等 “通用” 对象分类数据集上,性能相对相似,零样本 CLIP 略有优势。
零样本 CLIP 在两个测量视频中动作识别的数据集上显著优于 ResNet50。在 Kinetics700 上,CLIP 比 ResNet50 高出 14.5%。零样本 CLIP 在 UCF101 上也比 ResNet50 的特征高出 7.7%。我们推测,这是由于自然语言为涉及动词的视觉概念提供了更广泛的监督,而 ImageNet 中的监督以名词为中心的对象为主。
看看零样本 CLIP 明显表现不佳的地方,我们发现零样本 CLIP 在几个专业、复杂或抽象的任务上相当薄弱,如卫星图像分类(EuroSAT 和 RESISC45)、淋巴结肿瘤检测(PatchCamelyon)、合成场景中的对象计数(CLEVRCounts)、自动驾驶相关任务如德国交通标志识别(GTSRB)、识别到最近车辆的距离(KITTI Distance)。
这些结果凸显了零样本 CLIP 在更复杂任务上的能力不足。相比之下,非专家人类可以稳健地执行其中几项任务,如计数、卫星图像分类和交通标志识别,这表明有很大的改进空间。然而,我们警告说,对于学习者没有先验经验的困难任务,如几乎所有人类(可能还有 CLIP)的淋巴结肿瘤分类,衡量零-shot CLIP 在少样本设置中的表现,我们将零样本 CLIP 与其他图像模型(包括最佳公开 ImageNet 模型、自监督学习方法和 CLIP 自身)的特征上的少样本逻辑回归进行了可视化比较。
虽然人们可能预期零样本会不如单样本表现,但我们反而发现零样本 CLIP 与同一特征空间中 4 样本逻辑回归的性能相当。这可能是由于零样本和少样本方法之间的一个关键差异:CLIP 的零样本分类器是通过自然语言生成的,允许直接指定视觉概念(“传达”)。
相比之下,“普通” 监督学习必须从训练示例中间接推断概念。无上下文的基于示例的学习存在一个缺点,即许多不同的假设可能与数据一致,尤其是在单样本情况下。单个图像通常包含许多不同的视觉概念。尽管有能力的学习者能够利用视觉线索和启发式方法(例如假设所展示的概念是图像中的主要对象),但这并不能保证。
当将零样本 CLIP 与其他模型特征上的少样本逻辑回归进行比较时,零样本 CLIP 大致匹配我们评估套件中最佳表现的 16 样本分类器的性能,该分类器使用在 ImageNet-21K 上训练的 BiT-M ResNet152x2 的特征。我们确信,在 JFT-300M 上训练的 BiT-L 模型会表现得更好,但这些模型尚未公开。
BiT-M ResNet152x2 在 16 样本设置中表现最佳,这有点令人惊讶,因为如第 3.3 节分析所述,在 27 个数据集上,Noisy Student EfficientNet-L2 在完全监督设置中平均比它高出近 5%。
3.3 表示学习
虽然我们通过零样本迁移重点研究了 CLIP 的任务学习能力,但研究模型的表示学习能力更为常见。我们使用线性探针评估协议,因为它需要最少的超参数调整,并且具有标准化的评估程序。有关评估的更多详细信息,请参见补充材料。
图 6 总结了我们的发现。为了最小化可能引发确认偏差或报告偏差担忧的选择效应,我们首先研究了 Kornblith 等人(2019)的 12 数据集评估套件上的性能。使用 CLIP 训练的模型随着计算量的增加而扩展得非常好,我们最大的模型在总体得分和计算效率上都略优于现有最佳模型(Noisy Student EfficientNet-L2)。
我们还发现,CLIP 视觉 Transformer 的计算效率比 CLIP ResNet 高约 3 倍,这使得在我们的计算预算内能够实现更高的总体性能。这些结果复制了 Dosovitskiy 等人(2020)的发现,即当在足够大的数据集上训练时,视觉 Transformer 比卷积网络更具计算效率。我们的最佳整体模型 ViT-L/14@336px 在该评估套件上的平均表现比现有最佳模型高出 2.6%。
CLIP 模型学习的任务集比以往从随机初始化端到端训练的单个计算机视觉模型所展示的更为广泛。这些任务包括地理定位、光学字符识别、面部表情识别和动作识别。Kornblith 等人(2019)的评估套件中未测量这些任务。
这可以被认为是 Kornblith 等人(2019)的研究对与 ImageNet 重叠任务的一种选择偏差。为了解决这个问题,我们还在更广泛的 27 数据集评估套件上测量了性能。该评估套件(附录 A 中有详细说明)包括代表上述任务的数据集、德国交通标志识别基准(Stallkamp 等人,2011)以及从 VTAB(Zhai 等人,2019)改编的其他几个数据集。
在这个更广泛的评估套件上,CLIP 的优势更加明显。无论规模如何,所有 CLIP 模型在计算效率方面都优于所有评估的系统。最佳模型相比先前系统的平均得分提升从 2.6% 增加到 5%。
3.4 对自然分布偏移的鲁棒性
2015 年,有报道称深度学习模型在 ImageNet 测试集上的性能超过了人类(He 等人,2015)。然而,随后几年的研究反复发现,这些模型仍然会犯许多简单的错误(Dodge & Karam, 2017; Geirhos 等人,2018; Alcorn 等人,2019),并且测试这些系统的新基准通常发现它们的性能远低于人类准确率和 ImageNet 性能(Recht 等人,2019; Barbu 等人,2019)。
Taori 等人(2020)是一项最近的综合研究,旨在量化和理解 ImageNet 模型的这一现象。Taori 等人(2020)研究了 ImageNet 模型在自然分布偏移下的性能变化。他们在一组 7 种分布偏移上测量了性能。Taori 等人(2020)发现,分布偏移下的准确率随着 ImageNet 准确率的增加而可预测地增加,并且可以很好地建模为对数变换后准确率的线性函数。
Taori 等人(2020)利用这一发现提出,鲁棒性分析应区分有效鲁棒性和相对鲁棒性。有效鲁棒性衡量分布偏移下准确率的提升,超过了文档中记录的分布内和分布外准确率之间的关系所预测的水平。相对鲁棒性则捕捉分布外准确率的任何改进。Taori 等人(2020)认为,鲁棒性技术应旨在同时提高有效鲁棒性和相对鲁棒性。
然而,Taori 等人(2020)研究的几乎所有模型都是在 ImageNet 数据集上训练或微调的。训练或适应 ImageNet 数据集分布是否是观察到的鲁棒性差距的原因?直观地说,零样本模型不应该能够利用仅在特定分布上成立的虚假相关性或模式,因为它没有在该分布上训练过。
因此,零样本模型可能表现出更高的有效鲁棒性。在图 7 中,我们比较了零样本 CLIP 与现有 ImageNet 模型在自然分布偏移下的性能。所有零样本 CLIP 模型都显著提高了有效鲁棒性,并将 ImageNet 准确率与分布偏移下准确率之间的差距缩小了多达 75%。零样本 CLIP 模型描绘了一条与 Taori 等人(2020)研究的所有 204 个先前模型完全不同的鲁棒性前沿。这些结果表明,最近转向大规模与任务和数据集无关的预训练,结合重新转向零样本迁移评估(如 Yogatama 等人(2019)和 Linzen(2020)所倡导的),促进了更鲁棒系统的开发,并提供了对模型真实性能的更准确评估。
4. 数据重叠分析
在非常大的互联网数据集上进行预训练的一个担忧是与下游评估的意外重叠。我们进行了去重分析来调查这一点,完整细节见补充材料。在研究的 35 个数据集中,9 个数据集完全没有检测到重叠。重叠的中位数为 2.2%,平均值为 3.2%。由于重叠量很小,总体准确率很少有超过 0.1% 的变化,只有 7 个数据集超过了这个阈值。
其中,经过 Bonferroni 校正后,只有 2 个具有统计显著性。检测到的最大提升仅为 Birdsnap 上的 0.6%。这与之前关于大规模预训练的工作中类似的重复分析结果一致。Mahajan 等人(2018)和 Kolesnikov 等人(2019)为他们的模型检测到了类似的重叠率,并且也观察到总体性能的最小变化。
5. 更广泛的影响
CLIP 允许人们设计自己的分类器,无需特定于任务的训练数据。这些类别的设计方式极大地影响了模型性能和模型偏差。例如,我们发现,当给定一组包含 Fairface 种族标签(Kärkkäinen & Joo, 2019)和一些恶劣术语(如 “罪犯” 和 “动物”)的标签时,模型倾向于将 0-20 岁人群的图像分类到恶劣类别中的比率为 32.3%。
然而,当我们将 “儿童” 类别添加到可能的类别列表中时,这种行为下降到 8.7%。我们还发现,在被归类为 “犯罪” 和 “非人类” 类别的人群中,性别和种族存在差异,这凸显了即使在精心设计类别时,也可能存在潜在的不公平影响。
此外,由于 CLIP 不需要特定于任务的训练数据,它可以更轻松地解锁某些小众任务。其中一些任务可能引发隐私或监控相关风险,我们通过使用 CelebA 数据集(Liu 等人,2018)测试 CLIP 在名人识别上的性能来探讨这一点。
在从 100 个候选中选择时,CLIP 在 “野外” 名人图像分类上的前 1 准确率为 59.2%,从 1000 个可能选择中选择时为 43.3%。尽管通过与任务无关的预训练实现这些结果值得注意,但这种性能与广泛可用的生产级模型相比并不具竞争力。我们在补充材料中探讨了 CLIP 带来的挑战,并希望这项工作能激发未来关于此类模型的能力、缺点和偏差特征的研究。
6. 局限性
零样本 CLIP 的性能通常仅与 ResNet-50 特征上的线性分类器这一监督基线相当。这个基线现在远低于总体最先进水平。要提高 CLIP 的任务学习和迁移能力,仍需进行大量工作。我们估计,零样本 CLIP 需要大约 1000 倍的计算量增加,才能在我们的评估套件中达到总体最先进性能。这在当前硬件下是无法训练的。因此,必须进一步研究提高 CLIP 的计算和数据效率。
尽管我们强调零样本迁移,但我们在开发过程中反复查询验证集性能以指导开发。这对于真正的零样本场景是不现实的。半监督学习领域也提出了类似的担忧(Oliver 等人,2018)。另一个潜在问题是我们对评估数据集的选择。虽然我们将 Kornblith 等人(2019)的 12 数据集评估套件作为标准化集合进行报告,但我们的主要分析使用了 27 个数据集的组合,这些数据集不可否认地与 CLIP 的能力相适应。一个旨在评估广泛零样本迁移能力的新任务基准将有助于解决这个问题。
我们强调,通过自然语言指定图像分类器是一个灵活的接口,但它也有自身的局限性。许多复杂任务仅通过文本很难指定。实际训练示例无疑是有用的,但 CLIP 并未直接针对少样本性能进行优化。我们退而求其次,在 CLIP 的特征之上拟合线性分类器。这导致了从零样本到少样本设置时性能的反直觉下降。
7. 相关工作
从自然语言监督中学习执行计算机视觉任务的想法绝非新鲜事物。相反,我们的主要贡献是在大规模上研究其行为。20 多年前,Mori 等人(1999)探索了通过训练模型预测与图像配对的文本中的名词和形容词来改进基于内容的图像检索。
Quattoni 等人(2007)证明,通过在训练用于预测图像标题中单词的分类器的权重空间中进行流形学习,可以学习更高效的数据图像表示。Srivastava & Salakhutdinov(2012)通过在低级图像和文本标签特征之上训练多模态深度玻尔兹曼机,探索了深度表示学习。更多启发 CLIP 的近期工作在引言中描述。
从互联网图像集合中学习在网页监督学习中通常被研究,Fergus 等人(2005)证明了将图像搜索引擎结果视为监督来训练有竞争力的计算机视觉分类器的能力。在这一系列工作中,“Learning Everything about Anything: Webly-Supervised Visual Concept Learning”(Divvala 等人,2014)与 CLIP 有着显著相似的野心和目标。
零样本计算机视觉的发展(Larochelle 等人,2008; Lampert 等人,2009)对 CLIP 至关重要。Socher 等人(2013a)证明,连接图像和语言表示能够对 CIFAR10 上的未见类别进行零样本迁移,Frome 等人(2013)改进了这一发现并将其扩展到 ImageNet。从自然语言生成分类器的想法至少可以追溯到 Elhoseiny 等人(2013),而与 CLIP 的零样本分类器类似的形式在 Lei Ba 等人(2015)中进行了探索。
自然语言监督也被探索用于图像分类之外的任务,包括视频理解(Ramanathan 等人,2013; Miech 等人,2019)、强化学习(Hermann 等人,2017),以及最近关于学习视觉和语言联合模型的大量工作(Lu 等人,2019; Tan & Bansal, 2019; Chen 等人,2019; Li 等人,2020b; Yu 等人,2020),用于超出本文研究的复杂联合任务,如视觉问答。
8. 结论
我们研究了是否有可能将自然语言处理中与任务无关的网络规模预训练的成功迁移到另一个领域。我们发现,采用这种模式会导致计算机视觉领域出现类似的行为,并讨论了这一研究方向的社会影响。为了优化其训练目标,CLIP 模型在预训练期间学习执行各种各样的任务。然后,这种任务学习可以通过自然语言提示来利用,以实现对许多现有数据集的零样本迁移。在足够大的规模下,这种方法的性能可以与特定于任务的监督模型竞争,尽管仍有很大的改进空间。