论文 · arXiv 2103.00020
Learning Transferable Visual Models From Natural Language Supervision
三句话总结
- 🎯 标准计算机视觉系统依赖固定、预设的标签集,标注成本高昂且无法泛化到新颖的视觉概念。
- 🔧 Contrastive Language-Image Pre-training (CLIP) 联合训练图像编码器和文本编码器,利用对称交叉熵损失在大批次中最大化匹配图文对的余弦相似度。
- 📈 在ImageNet上实现76.2%的零样本top-1准确率,匹配了全监督ResNet-50,且完全未采用ImageNet的128万标注样本。
摘要
最先进的计算机视觉系统通常被训练用于预测一组固定的预设目标类别。这种受限的监督形式限制了它们的泛用性与可用性,因为指定任何其他视觉概念都需要额外的标注数据。直接从关于图像的原始文本中学习是一种极具前景的替代方案,它利用了更为广泛的监督来源。我们证明,在一项包含4亿个从互联网收集的(图像,文本)对的数据集上,预测哪段文本与哪张图像相匹配这一简单的预训练任务,是一种从头开始高效且可扩展地学习SOTA图像表征的方法。预训练完成后,模型利用自然语言来引用学到的视觉概念(或描述新概念),从而实现向各个下游任务的零样本迁移。我们通过在30多个不同的现有计算机视觉数据集上进行基准测试来研究该方法的性能,涵盖OCR、视频动作识别、地理定位以及多种细粒度目标分类任务。该模型在大多数任务上均表现出显著的迁移能力,且在无需针对特定数据集进行任何训练的情况下,通常能与全监督基线模型相媲美。例如,我们在ImageNet上实现了零样本匹配原始ResNet-50的准确率,而完全无需使用其训练所用的128万张示例。我们在https://github.com/OpenAI/CLIP发布了代码和预训练模型权重。
英文原文摘要
State-of-the-art computer vision systems are trained to predict a fixed set of predetermined object categories. This restricted form of supervision limits their generality and usability since additional labeled data is needed to specify any other visual concept. Learning directly from raw text about images is a promising alternative which leverages a much broader source of supervision. We demonstrate that the simple pre-training task of predicting which caption goes with which image is an efficient and scalable way to learn SOTA image representations from scratch on a dataset of 400 million (image, text) pairs collected from the internet. After pre-training, natural language is used to reference learned visual concepts (or describe new ones) enabling zero-shot transfer of the model to downstream tasks. We study the performance of this approach by benchmarking on over 30 different existing computer vision datasets, spanning tasks such as OCR, action recognition in videos, geo-localization, and many types of fine-grained object classification. The model transfers non-trivially to most tasks and is often competitive with a fully supervised baseline without the need for any dataset specific training. For instance, we match the accuracy of the original ResNet-50 on ImageNet zero-shot without needing to use any of the 1.28 million training examples it was trained on. We release our code and pre-trained model weights at https://github.com/OpenAI/CLIP.
论文解读
问题与动机
传统的SOTA视觉模型主要依赖于经过人工标注的封闭集分类基准(如ImageNet)。这种固定标签的范式限制了它们的实用性:识别目标词表之外的任何概念都需要收集并标注新数据。与此相反,自然语言处理领域已成功转向直接利用网络规模文本的通用任务无关预训练(例如GPT-3),生成了能够通过文本到文本接口实现零样本泛化的模型。作者研究了在网络规模数据上扩展自然语言监督是否能够在无需针对特定数据集进行监督微调的情况下,生成可广泛泛化到各类计算机视觉任务的视觉表征。
核心思想
- 从自然语言监督中学习(Learning from Natural Language Supervision):将网络爬取的(图像,文本)对作为训练信号,把视觉特征直接与丰富的自然语言语义相连接,绕过了1-of-N离散类别标签。
- 提高效率的对比学习(Contrastive Learning for Efficiency):预测精确的文本词元(生成式图像描述)计算浪费极大。将目标转化为对比匹配任务——在一个小批量中区分真实的(图像,文本)对与错误的配对——被证明比词袋模型预测的样本效率高出4倍,且比生成式建模快得多。
- 零样本分类即动态线性分类器(Zero-Shot Classification as Dynamic Linear Classifiers):目标数据集的类别通过文本编码器嵌入为特征向量。这些向量充当零样本线性分类器的权重,与图像嵌入进行相似度计算。
- Prompt Engineering与集成(Prompt Engineering and Ensembling):零样本性能对Prompt的句法和上下文非常敏感。将类名封装在完整句子中(例如
"A photo of a {label}.")并在多种Prompt变体间进行集成,可使ImageNet上的零样本迁移性能提升约5个百分点。
方法(包含核心公式)
CLIP通过在包含4亿个网络抓取图文对的数据集(WIT)上联合训练图像编码器 和文本编码器 来构建多模态嵌入空间。
特征提取与投影: 给定一个包含 个图文对 的小批量(其中 ),每个编码器通过线性投影 和 将输入映射到共享维度 :
相似度矩阵: 通过缩放余弦相似度计算logits: 其中 是一个可学习的温度参数,初始值设为0.07,并设置裁剪以防止logits缩放超过100。
对称交叉熵损失: 总损失为在 配对矩阵上图像到文本与文本到图像分类损失的均值:
零样本推理: 对于具有 个类别的数据集,将文本模板(例如
"a photo of a {class_name}")编码为 。对于测试图像 ,预测概率为:
结果(包含最重要的关键数字)
- 零样本ImageNet:CLIP (ViT-L/14@336px) 在ImageNet上实现了76.2%的零样本top-1准确率(以及95%的top-5准确率),在未使用其128万张训练图像的情况下匹配了原始监督ResNet-50。
- 零样本与监督基线对比:在27个下游数据集的评估中,零样本CLIP在其中16个数据集上的表现超越了在标准ResNet-50特征之上训练的全监督线性探测(linear probe)。
- 少样本对比:零样本CLIP的平均性能与在完全相同的CLIP特征表征上训练的4-shot线性分类器持平,并可媲美16-shot的BiT-M ResNet-152x2模型。
- 线性探测表征质量:当使用监督线性探测评估冻结的表征时,CLIP的最佳模型在27个数据集中的21个上超越了Noisy Student EfficientNet-L2,在OCR、视频动作识别(Kinetics-700:比ResNet-50高出+14.5%)和地理定位方面尤为突出。
- 分布偏移鲁棒性:在7个自然分布偏移数据集(ImageNetV2、ImageNet-R、ImageNet-A、ObjectNet等)上,相较于标准ImageNet训练模型,零样本CLIP将域内与域外准确率之间的降幅最多缩小了75%。
局限性与开放性问题
- 抽象、专业化和系统性任务:零样本CLIP在计数任务(CLEVRCounts)、细微差异分类任务(FGVCAircraft、Flowers102)以及脱离网络通用文本的特定领域任务(PatchCamelyon上的肿瘤检测;KITTI上的距离估计)上面临严重挑战。
- 真正的分布外数据:在MNIST手写数字数据集上,零样本CLIP仅达到88%的准确率——低于原始像素上的逻辑回归表现——这表明CLIP只是规避了而非彻底解决了分布外的脆弱性问题。
- 算力需求:按照现有的缩放趋势估算,要在所有基准测试中完全通过零样本达到整体监督SOTA水平,预计需要约1000倍的算力增长。
- 社会偏见与贬损风险:使用FairFace基准进行探测时暴露出显著的差异性错误模式,包括偏向黑人和年轻人的非人化及犯罪相关错误分类,且这些问题在很大程度上取决于类别标签的设计和阈值设定。
关键术语
- CLIP
- Contrastive Language-Image Pre-training(对比语言-图像预训练);通过在成对的网络数据上采用对比目标联合训练图像和文本编码器的框架。
- WIT
- WebImageText;OpenAI使用50万个查询词从互联网资源整理出的4亿个(图像,文本)对的数据集。
- Zero-Shot Transfer
- 零样本迁移(Zero-Shot Transfer);利用自然语言概念描述在未见数据集和任务上评估模型,无需更新目标任务上的参数。
- Prompt Engineering
- 提示工程(Prompt Engineering);将类名构造成自然语言上下文模板(例如'A photo of a {label}, a type of pet.'),以缩小预训练文本分布差异的技术。
- Prompt Ensembling
- 提示集成(Prompt Ensembling);在计算分类相似度之前,对针对同一类别的多个不同上下文Prompt生成的文本嵌入向量取平均。
- Effective Robustness
- 有效鲁棒性(Effective Robustness);根据标准基准缩放趋势,在超出域内性能预期之外所获得的域外准确率提升。
- Linear Probe
- 线性探测(Linear Probe);在冻结的预训练特征表征之上训练一个有监督的正则化线性分类层,以评估表征质量。
- Attention Pooling
- 注意力池化(Attention Pooling);一种针对ResNet骨干网络的改进空间池化层,实现为以全局平均池化特征为条件的单层多头QKV注意力机制。
常见问题
为什么CLIP选择对比学习而非图像描述生成?
生成式图像描述模型试图预测确切的文本词元,由于描述的多样性极高,这需要消耗海量算力。对比学习解决的是将整段文本与图像进行匹配的更简单代理任务,事实证明其计算效率比词袋预测高4倍,比生成式模型高一个数量级以上。
CLIP在测试时是如何进行零样本分类的?
每个候选类别标签都会被放入一个文本Prompt模板中,并通过文本编码器嵌入。这些归一化嵌入充当动态线性分类器的固定权重向量,通过余弦相似度和softmax与归一化图像嵌入进行比对评估。
为什么零样本CLIP比监督ImageNet模型对分布偏移更具鲁棒性?
监督ImageNet模型经常会记住特定于ImageNet视觉分布的虚假相关性和表面统计特征。零样本CLIP避免了在目标训练分布上进行微调,从而在ImageNet-A、ObjectNet和ImageNet-R等分布偏移数据集上进行评估时显著缩小了性能差距。
训练集重叠是否能解释CLIP强劲的零样本基准表现?
不能。数据去重分析发现,在35个下游数据集中,中位数重叠率仅为2.2%。移除重叠样本极少导致评估准确率产生超过0.1%的变化,检测到的最大提升在Birdsnap上也仅为0.6%。
本页解读由 AI 根据论文生成,可能有错误;细节请以原文为准。