Learning Transferable Visual Models From Natural Language Supervision

Learning Transferable Visual Models From Natural Language Supervision

基本信息

博客贡献人

燕青

作者

Alec Radford, Jong Wook Kim, Chris Hallacy, et al.

标签

CV, NLP, Contrastive Learning, Multimodality

摘要

本文提出CLIP(Contrastive Language-Image Pre-Training)模型,使用对比学习的方式,直接从关于图像的原始文本中学习图像特征,以此利用更广泛的监督来源。本文在从互联网上收集的4亿(图像, 文本)对数据集上进行预训练,测试时使用自然语言引用学习到的视觉概念,将与输入图像最匹配的文本标题作为分类结果,实现模型向下游任务的零样本迁移。本文通过在30多个不同的现有计算机视觉数据集上对标来研究该方法的性能,这些数据集跨越了诸如OCR(Optical Character Recognition, 文字识别)、视频中的行为识别、地理定位和细粒度对象分类等任务。该模型非能够平凡地转移到大多数任务中,并且往往与完全监督的基线竞争,而不需要任何数据集特定的微调。例如,本文在ImageNet零样本上达到原始ResNet - 50的准确率,而完全不需要使用ResNet微调的128万个训练样本。

问题定义

传统计算机视觉模型局限
  • 传统的计算机视觉系统经过训练,只能预测一组固定的目标类别。这种受限的监督形式限制了它们的通用性和可用性,若要应用到特定的下游任务中,则必须要使用额外的标记数据来学习新的视觉特征。此外,传统方法使用静态softmax分类器来进行预测,缺乏动态输出的机制。是否存在一种预训练方法,可以使得视觉模型能够零样本迁移到下游任务中?

    • NLP领域,大语料库预训练模型拥有的先验知识使模型具有很强的泛化能力,能够零样本迁移到下游任务中。
  • 此外,在网络规模的文本集合中,现代预训练方法所能获得的总体监督量超过了高质量的人工标记的NLP数据集。然而,在计算机视觉等其他领域,在人工标记的数据集(如ImageNet)上预训练模型仍然是标准做法。直接从网络文本中学习的预训练方法,是否能迁移到计算机视觉领域?

    • 多模态对比学习的的方法可以将文本预训练的方式拓展到其他模态的任务中。

方法

方法架构图

传统图像模型联合训练一个图像特征提取器和一个线性分类头来预测某个标签,而CLIP联合训练一个图像编码器和一个文本编码器来预测一批(图像, 文本)训练样本的正确配对。在测试时,学习的文本编码器通过嵌入目标数据集类别的名称或描述,生成一个零样本线性分类器。

图1. 方法架构图

方法描述

自然语言监督

本文方法的核心是自然语言中蕴含的从监督中学习认知的思想。以往的研究很多都涉及了从与图像配对的文本中学习视觉表征的方法,而本文强调,这一系列工作的共同点不是所使用的特定方法的任何细节,而是对自然语言作为训练信号的理解。 随着深度上下文表示学习的改进,可以更有效地利用自然语言这个丰富的监督来源。

工作在自然语言上的方法可以被动地从互联网上海量文本中蕴含的监督中学习。与大多数无监督或自监督学习方法相比,从自然语言中学习也有一个重要的优势,因为它不仅"只是"学习一种表示,而且还将这种表示与语言联系起来,从而实现灵活的零样本迁移。

足够庞大的数据集

现有工作主要使用了MS - COCO、Visual Genome 和YFCC100M三个数据集。虽然MS - COCO和Visual Genome是高质量的人工标注数据集,但它们在现代标准中规模较小,每个仅约有10万张训练图像。 而拥有1亿张图像的YFCC100M是一个可能的选择,但是每张图像的元数据是稀疏且质量不同的。

使用自然语言监督的一个主要动机是互联网上公开提供的大量数据。由于现有的数据集没有充分反映这种可能性,只考虑这些数据集的结果会低估这一研究领域的潜力。为了解决这个问题,本文构建了一个新的数据集,从互联网上的各种公开来源收集了4亿(图像, 文本)对。为了尽可能广泛地涵盖一组视觉概念,本文搜索(图像, 文字)对作为构造过程的一部分,其中文本包括一组50万个查询结果中的一个。为大致保持类别均衡,每个查询最多包含2万个(图像, 文本)对。

高效的预训练方法

最先进的计算机视觉模型需要占用非常大的计算量。ResNeXt101 - 32x48d需要19个GPU年来训练,Noisy Student EfficientNet - L2需要33个TPUv3核心年来训练。而这两个模型都只训练预测1000个ImageNet类时,从数据量庞大的自然语言中学习一组开放的视觉概念的任务是非常艰巨的。而训练效率是成功扩展自然语言监督的关键,所以本文选择了基于训练效率的最终预训练方法。

本文最初采用类似于VirTex的方法,联合训练了一个图像CNN和文本TransFormer,但由于效率太低无法有效拓展该方法。在图3中的蓝线部分展示了一个6300万参数的TransFormer语言模型,它学习识别ImageNet类的速度比一个简单的词袋编码预测慢3倍。

图2. VirTex

BoW和TransFormer方法具有关键的相似性,即试图预测每幅图像所伴随的文本的确切单词。这是一项艰巨的任务,因为与图像共现的描述、评论和相关文本种类繁多。最近的工作发现,对比目标比其等价的预测目标能够学习到更好的表示

虽然图像的生成模型可以学习到高质量的图像表示,但它们需要比具有相同性能的对比模型多一个数量级以上的计算量。注意到这些发现,本文探索训练一个系统来解决可能的更容易的代理任务,即预测图像与哪段文本最匹配,而不是预测文本的确切单词。从相同的词袋编码基线开始,本文将将预测目标的方法替换为图3中对比目标的方法,并观察到零样本迁移到ImageNet的效率进一步提升了4倍。

图3. 不同预训练方法效率对比

训练实现

给定一个batch的 N N N 个(图像, 文本)对,CLIP被训练用来预测在一个batch中实际发生的 N × N N × N N×N 个可能的(图像, 文本)对的相似度。为此,CLIP通过联合训练图像编码器和文本编码器来学习多模态嵌入空间,以最大化batch内 N N N 个真实对的图像和文本嵌入的余弦相似度,同时最小化 N 2 − N N^2 - N N2N 个错误对的嵌入的余弦相似度。在这些相似度得分上优化一个对称的交叉熵损失。

本文从头开始训练CLIP,不需要初始化带有ImageNet权重的图像编码器或带有预训练权重的文本编码器。在图像和文本编码器后使用一个线性投影,将每个编码器的表示映射到多模态嵌入空间。

图4. 训练阶段伪代码

图5. Vision Transformer

实验

零样本迁移

零样本视觉模型对比

在计算机视觉中,零样本学习通常是指在图像分类中泛化到(预训练数据集中)不可见的对象类别的研究,也即泛化到预训练数据集外的未知数据集。

CLIP进行图像分类的原理是预测图像和测试数据集中的文本片段的匹配程度并选出最匹配的文本。对于每个数据集,使用其中所有类的名称作为可能文本对的集合,并根据CLIP预测最可能的(图像,文本)对。本文首先通过各自的编码器计算图像的特征嵌入和可能文本集合的特征嵌入。然后计算这些嵌入的余弦相似度,通过缩放参数 t t t 进行缩放,并通过softmax归一化为概率分布。

对于零样本评估,CLIP在文本编码器计算完零样本分类器后将其缓存,并将其用于所有后续预测。这使得生成分类器的成本可以在数据集中的所有预测中分摊。

在以往的研究中,只有Visual N - Grams实现了零样本的迁移,在图6中比较了Visual N-Grams和CLIP的性能。CLIP在ImageNet上的准确率从Visual N-Grams的11.5 %提高到76.2 %,并在没有使用该数据集的128万个人工标注训练样本,与原始ResNet-50的性能相当。此外,CLIP模型的top-5准确率明显高于top-1,该模型具有95 %的top-5准确率,与Inception-V4相当。

图6. CLIP与Visual N-Grams性能对比

提示词工程与集成

在数据集中,文本通常是描述图像的完整句子。本文发现使用提示模板" A photo of a { label } . "是一个很好的默认设置,有助于指定文本是关于图像的内容。这往往比只使用标签文本的基线性能有所提高。仅使用该提示模版,ImageNet上的准确率就提高了1.3 %。

CLIP在进行分类时,一个常见的问题是单词的多义性。当类的名称是提供给CLIP文本编码器的唯一信息时,由于缺乏上下文,无法区分单词的不同含义。例如在宠物数据集中" boxer "指的是一种,但是对于缺乏上下文的文本编码器来说,它可能指的是拳击运动员

在ImageNet上,本文集成了80个不同的提示模版,比上面讨论的单个默认提示提高了3.5 %的性能。综合考虑,提示词工程与集成将ImageNet准确率提高了近5%。

图7. 加入提示词模版后性能对比

CLIP零样本迁移性能分析

CLIP在27个数据集上与使用逻辑回归线性分类头的Resnet-50对比,结果如图8所示。零样本CLIP在27个数据集中的16个数据集上胜出。

在细粒度分类任务上,CLIP性能差异较大。在其中两个数据集Stanford Cars和Food101上,零样本CLIP在ResNet-50特征上的表现优于逻辑回归20%以上,而在另外两个数据集Flowers102和FGVCAircraft上,零样本CLIP的表现低于逻辑回归10 %以上。

在ImageNet、CIFAR10/100、STL10、PascalVOC2007等通用图像分类数据集上,性能较为接近,零样本CLIP在所有情况下略占优势。

图8. 零样本CLIP与使用线性分类头的Restnet-50性能对比

可以看到,零样本CLIP在卫星图像分类( EuroSAT和RESISC45)、淋巴结肿瘤检测( PatchCamelyon )、合成场景中的物体计数( CLEVRCounts )、自动驾驶相关任务如德国交通标志识别( GTSRB )、车辆距离识别( KITTI Distance )等专业性、复杂性或抽象性任务上相当薄弱。这些结果凸显了零样本CLIP对更复杂任务的处理能力较差。

零样本CLIP与小样本线性分类器对比

零样本CLIP与在自身特征空间上训练的4样本线性分类器的平均性能相当,并且几乎达到了16样本线性分类器在公开可用模型中的最佳结果。对于BiT-M和Sim CLRv2,都高亮显示了性能最好的模型。浅灰色线条是eval套件中的其他模型。该分析使用了20个数据集,每个类至少有16个样本。

图9. 零样本CLIP优于小样本线性分类器

表示学习

为测试CLIP学习特征表示的能力,本文从CLIP学习的表示中拟合了一个线性分类器,在的27个数据集评估套件上测量了性能。该评估套件包括地理定位、光学字符识别、面部情感识别和动作识别、德国交通标志识别基准数据集等。

参数解释:【B/32 - Base Resolution, patch size: 32, image size:224】(H:High Resolution,L:Low Resolution)

图10. 与先进的计算机视觉模型相比,CLIP模型的线性分类器性能

对自然分布偏移的鲁棒性

最先进的ImageNet模型都是在ImageNet数据集上训练或微调的,适应了ImageNet数据集的分布。但在从各种来源收集的新图像组成的分布偏移的数据集上,ImageNet模型的准确率远远低于ImageNet验证集的期望。在ImageNet数据分布上训练是否是导致观察到的鲁棒性差距的原因?

直觉上,零样本模型不会学习到仅在特定分布上成立的虚假相关性,因为它不是在该分布上训练的。因此在期望上,零样本模型具有更高的鲁棒性。本文在多组数据集上进行了分布偏移的鲁棒性测试并与ResNet101进行对比,结果如图11所示。

图11. 与标准ImageNet模型相比,零样本CLIP模型对分布偏移具有更强的鲁棒性

与人类表现对比

为了了解CLIP与人类的零样本学习能力的差异,以及在单样本或双样本学习后,人类的表现有多大的提高,本文进行了CLIP与人类表现的对比实验。

在Oxford IIT Pets数据集的测试集中,让5个不同的人分别观看3669张图像,并选择37个猫或狗的细粒度品种中的哪一个与图像最匹配,测试者可以选择“我不知道”作为答案。在零样本实验中,人类要在没有被给出样本图像示例,且在没有使用互联网搜索的情况下尽可能地贴上自己的标签;在单样本实验中,给出每个品种的一个样本图像;在双样本实验中,给出每个品种的两个样本图像。实验结果如图12所示。

图12. 在Oxford IIT Pets数据集上与人类表现的对比

图中的Acc指标为平均每类分类精度。Guesses指的是将数据集限制在参与者选择了除“我不知道”以外的答案。“Majority Vote”是指5个测试者在每个图像中给出最频繁的答案。

人类表现从零到单样本的精度增益几乎完全在不确定的图像上。这表明人类知道他们没有这部分的先验知识,并且能够基于单个示例更新他们最不确定的图像的先验知识。

因此本文推测,寻找一种方法将先验知识恰当地融入到小样本学习中,是对CLIP进行算法改进的重要一步。

相关知识链接

数据集

数据集:ImageNet

论文原文

Learning Transferable Visual Models From Natural Language Supervision

基准实验涉及的论文

VirTex:VirTex: Learning Visual Representations from Textual Annotations

Resnet:Deep Residual Learning for Image Recognition

BiT:Big Transfer (BiT): General Visual Representation Learning

SimCLR:SimCLR: A Simple Framework for Contrastive Learning of Visual Representations

总结

亮点

  • 自然语言监督引入视觉模型的训练,有效拓展监督来源
  • 使用对比学习而不是预测的方式进行预训练,大幅提升预训练效率
  • 受益于从庞大自然语言预训练数据中获取的丰富的先验知识,CLIP具有很强的零样本泛化能力,能够对几乎任意的图像进行分类。
  • 由于没有从特定数据集进行微调,CLIP不会学习到特定数据分布中的虚假相关性,对数据自然分布的偏移具有很强的鲁棒性

不足

  • 与任务特定的模型相比,CLIP在几类细粒度分类上的性能较差,例如区分汽车的模型、花卉的种类和飞机的变体。CLIP也面临着更抽象和更系统的任务的挑战,比如计算图像中物体的数量。
  • 尽管CLIP可以灵活地为各种各样的任务和数据集生成零样本分类器,但CLIP仍然局限于从给定的零样本分类器中只选择那些概念。这与像图像描述这样能够产生新颖输出的真正灵活的方法相比,是一个很大的限制。

[启发]

  • 本文对比学习的方法为其它模态间的相互转化提供了良好的思路,不同模态间均可以进行对比学习
  • 大语料库预训练模型的先验知识能够有效提高模型的泛化能力,当需要零样本迁移至各种模态的下游任务时,可以考虑结合大语言模型的多模态方法

BibTex

@misc{radford2021learning,
      title={Learning Transferable Visual Models From Natural Language Supervision}, 
      author={Alec Radford and Jong Wook Kim and Chris Hallacy and Aditya Ramesh and Gabriel Goh and Sandhini Agarwal and Girish Sastry and Amanda Askell and Pamela Mishkin and Jack Clark and Gretchen Krueger and Ilya Sutskever},
      year={2021},
      eprint={2103.00020},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值