深度解读 CLIP 论文:从自然语言监督中学习可迁移的视觉模型

  • CLIP:Learning Transferable Visual Models From Natural Language Supervision(从自然语言监督中学习可迁移的视觉模型
  • 论文:https://arxiv.org/abs/2103.00020(2021.02)
  • GitHub:https://github.com/openai/CLIP/tree/main
  • CLIP由 OpenAI 的 Alec Radford 等人撰写。论文提出对比语言 - 图像预训练(CLIP)模型,通过自然语言监督学习可迁移视觉模型,在多领域展现潜力,也分析了模型的性能、局限和社会影响。

论文概述

1.论文摘要

  • 当前最先进的计算机视觉系统一般是针对一组固定的、预先设定好的物体类别进行训练的。比如说,在常见的图像分类任务中,模型会被训练去识别像猫、狗、汽车等特定的物体类别。这种监督学习的形式比较受限,因为如果想要让模型识别其他未在训练集中出现的视觉概念,就需要额外收集并标注大量的数据。例如,要是想让模型识别一种新的鸟类,就必须找到很多这种鸟的图片,并标注好类别,才能对模型进行训练,这极大地限制了模型的通用性和易用性。而直接从与图像相关的原始文本中学习,是一种很有前景的替代方法。因为文本中包含了丰富的信息,能提供更广泛的监督来源。文本描述可以涵盖各种各样的视觉概念,不需要像传统方法那样为每个新的视觉概念都去收集大量标注图像。
  • 论文通过实验证明,通过预测哪张图像与哪个文本描述相匹配这样简单的预训练任务,利用从互联网上收集的 4 亿对(图像,文本)数据,可以从零开始有效地学习到最先进的图像表示。在完成预训练后,模型可以借助自然语言来引用已经学习到的视觉概念,或者对新的视觉概念进行描述。这使得模型具备了零样本学习的能力,可以在不需要针对特定数据集进行训练的情况下,直接将模型应用到下游任务中。
  • 研究人员在 30 多个不同的现有计算机视觉数据集上对这种方法的性能进行了测试,这些数据集涵盖了多种任务,包括光学字符识别(OCR)、视频中的动作识别、地理定位以及多种细粒度的物体分类等。实验结果表明,该模型在大多数任务上都能有不错的表现,并且在很多情况下,即便不针对特定数据集进行训练,其性能也能与经过完全监督训练的基线模型相媲美。例如,在 ImageNet 数据集的零样本学习任务中,该模型在不使用 ResNet - 50 原本训练所用的 128 万个训练样本的情况下,达到了和原始 ResNet - 50 相同的准确率。

2.论文脑图

在这里插入图片描述

3.论文创新

3.1研究方法

  • 自然语言监督学习视觉模型:突破传统视觉模型依赖大量标注数据训练的局限,开创性地提出利用自然语言描述作为监督信号来指导视觉模型学习。通过挖掘自然语言与视觉信息的跨模态关联,让模型从海量图像 - 文本对中学习,避免了昂贵且耗时的标注工作,同时提升了视觉模型的灵活性和泛化性。例如,在没有针对特定任务的标注数据时,模型仍能借助自然语言监督学习到通用的视觉特征表示。

3.2模型架构

  • CLIP 框架:构建多模态对比学习框架 CLIP,联合训练图像编码器和文本编码器,使模型理解图像与语言关系。通过对比学习,让匹配的图像 - 文本对在嵌入空间中距离更近,不匹配的远离,学习到通用跨模态表示,实现高效信息融合,增强模型泛化能力。在零样本学习任务中,CLIP 能将自然语言描述与图像特征进行匹配,完成对未见类别的分类任务。

3.3零样本学习

  • 零样本学习能力:CLIP 模型在多个任务上展现卓越零样本性能。训练时不依赖特定任务数据,通过自然语言监督学习,获得对视觉概念和自然语言描述的通用理解能力。测试时,只需将分类目标以自然语言形式输入,结合图像输入,就能判断图像类别,对未见类别分类,还能应用于多种下游任务,如在图像搜索、图像 - 文本匹配等任务中表现出色。

3.4训练数据

  • 大规模预训练数据:使用大规模图像 - 文本对齐数据集 WIT 进行预训练,数据量高达 4 亿对图像 - 文本。丰富多样的数据提升了模型跨任务适应性和灵活性,使其学到更广泛视觉概念和语言表达的对应关系。比如在处理不同领域、不同风格的图像和文本时,CLIP 能凭借预训练学习到的知识,更好地完成相关任务。

4.方法介绍

在这里插入图片描述

  • 传统的标准图像模型通常联合训练一个图像特征提取器和一个线性分类器来预测图像的标签。例如,在常见的图像分类任务中,图像特征提取器从图像中提取特征,线性分类器基于这些特征判断图像属于哪个预定义的类别。而 CLIP(对比语言 - 图像预训练模型)的训练方式有所不同,它联合训练一个图像编码器和一个文本编码器,目的是预测一批训练样本中(图像,文本)的正确配对关系。比如说,给定一张猫的图片和一些文本描述,如 “一只猫”“一只狗”“一辆汽车”,CLIP 模型通过训练学习判断出 “一只猫” 这个文本与猫的图片是正确配对。
  • 在测试阶段,已经学习过的文本编码器会发挥特殊作用。它通过嵌入目标数据集类别的名称或描述,合成一个零样本线性分类器。具体来说,假设要对一批新图像进行分类,且目标数据集的类别是 “苹果”“香蕉”“橙子”,文本编码器会将这些类别名称转化为相应的文本特征嵌入。然后,对于输入的图像,图像编码器提取图像特征,再通过计算图像特征与各个类别文本特征嵌入之间的相似度,来判断图像最有可能属于哪个类别,从而实现零样本学习,即不需要在这些新图像上进行额外训练就能完成分类任务。

论文精读

1. 引言和研究动机

  • 在自然语言处理(NLP)领域,从原始文本中直接学习的预训练方法近年来取得了巨大成功,比如GPT系列模型。这些方法通过大规模文本数据学习,在多种任务上展现出强大的泛化能力。然而,在计算机视觉领域,目前仍普遍使用人工标注数据集(像ImageNet)进行模型预训练。受NLP领域成功的启发,本文探讨从网络文本中直接学习的可扩展预训练方法能否在计算机视觉领域带来突破。
  • 早期已有研究尝试利用自然语言监督进行图像表示学习,但由于性能不如传统方法,该研究方向未得到广泛关注。本文通过构建包含4亿对图像 - 文本的大规模数据集,训练对比语言 - 图像预训练(CLIP)模型,研究其在零样本学习任务中的表现,以此验证自然语言监督在计算机视觉领域的潜力。

2. 研究方法

2.1 自然语言监督

  • 自然语言监督指的是把自然语言当作训练信号来学习视觉表示。和其他训练方法相比,自然语言监督具有很强的可扩展性,它不需要像传统标注那样遵循特定格式,能从互联网海量文本中被动学习。而且,它还能把视觉表示和语言联系起来,实现灵活的零样本迁移。

2.2 创建足够大的数据集

  • 现有的用于图像 - 文本学习的数据集(例如MS - COCO、Visual Genome和YFCC100M)存在规模小或者元数据质量低的问题。为充分利用自然语言监督的潜力,本文构建了一个新的包含4亿对图像 - 文本的数据集WIT(WebImageText)。在构建过程中,通过搜索包含500,000个查询词之一的图像 - 文本对,并平衡每个查询的样本数量,使得数据集能涵盖广泛的视觉概念。

2.3 选择有效的预训练方法

  • 计算机视觉系统训练通常需要大量计算资源。本文在研究中发现训练效率是成功扩展自然语言监督的关键。最初尝试类似VirTex的方法,联合训练图像CNN和文本transformer来预测图像字幕,但在扩展时遇到了困难。随后,受对比学习的启发,CLIP模型通过预测图像与文本的配对关系进行训练,显著提高了零样本迁移的效率。在训练过程中对模型进行了简化,比如不使用非线性投影、简化图像和文本变换函数等。

2.4 模型选择和扩展

2.4.1图像编码器
  • 图像编码器采用了两种不同的架构。一是基于 ResNet-50 进行改进,运用 ResNetD 的优化策略以及抗锯齿的 rect-2 blur 池化技术,同时将全局平均池化层替换为注意力池化机制,该机制通过 “transformer-style” 的单头 QKV 注意力实现,其中查询(query)依赖于图像的全局平均池化表示。二是使用 Vision Transformer(ViT)架构,在其基础上添加了额外的层归一化,并采用了略有差异的初始化方法。
2.4.2文本编码器
  • 文本编码器采用 Transformer 架构,并依据 Radford 等人在 2019 年提出的架构改进思路进行优化。模型的基础版本包含 6300 万个参数,共计 12 层,宽度为 512,拥有 8 个注意力头。Transformer 操作基于文本的小写字节对编码(BPE)表示,词汇表大小设定为 49152。为提高计算效率,最大序列长度被限制在 76,文本序列两端添加 [SOS] 和 [EOS] 标记。最终,Transformer 最高层在 [EOS] 标记处的激活值,经过层归一化和线性投影后,作为文本的特征表示进入多模态嵌入空间。此外,文本编码器使用了掩码自注意力机制,以便未来能够使用预训练语言模型进行初始化,或者将语言建模作为辅助目标。
2.4.3模型扩展
  • ResNet图像编码器采用的方法,在宽度、深度和分辨率上均匀分配额外计算资源;文本编码器仅按比例扩展宽度。

2.5 模型训练

2.5.1联合训练与对比学习
  • CLIP 模型的训练目标是预测一批图像与文本对中,哪些配对是真实存在的。为实现这一目标,模型通过联合训练图像编码器和文本编码器,最大化批次中 N 个真实图像 - 文本对的图像和文本嵌入之间的余弦相似度,同时最小化 N²-N 个错误配对的嵌入之间的余弦相似度。具体优化过程基于对称交叉熵损失,对这些相似度分数进行调整。这种训练方式能够使模型学习到具有高互信息的图像和文本嵌入表示,进而应用于后续的零样本分类等任务。
2.5.2训练说明
  • 训练了一系列ResNet和Vision Transformer模型,包括ResNet - 50、ResNet - 101、RN50x4、RN50x16、RN50x64、ViT - B/32、ViT - B/16和ViT - L/14等。使用Adam优化器和余弦退火学习率衰减策略,设置了较大的批次大小32,768,并采用混合精度训练等技术来加速训练和节省内存。最大的ResNet模型RN50x64在592个V100 GPU上训练需要18天,最大的Vision Transformer模型ViT - L/14在256个V100 GPU上训练需要12天。
2.5.3超参数配置
  • CLIP 超参数 hyperparameters
    在这里插入图片描述
  • CLIP-ResNet 超参数 hyperparameters
    在这里插入图片描述
  • CLIP-ViT 超参数 hyperparameters
    在这里插入图片描述

3. 实验

3.1 零样本迁移

  • 在计算机视觉里,零样本学习通常指对未见物体类别的泛化能力。本文把它扩展为对未见数据集的泛化研究,并将其作为衡量机器学习系统任务学习能力的一种方式。CLIP在零样本分类任务中,利用数据集类名作为潜在文本配对,通过计算图像和文本特征嵌入的余弦相似度来进行预测。
  • 与之前的Visual N - Grams方法相比,CLIP在ImageNet等数据集上显著提高了零样本分类的准确率,达到76.2%,接近原始ResNet - 50的性能,在其他数据集上也有出色表现。通过提示工程(比如使用特定的提示模板)和集成多个零样本分类器,可以进一步提升CLIP的零样本性能,在ImageNet上准确率能提高近5%。
  • 零样本CLIP在与ResNet - 50特征上的完全监督逻辑回归分类器的比较中,在16个数据集上表现更优,尤其在细粒度分类任务和涉及动词的视觉概念识别任务上优势明显。不过在一些复杂或抽象任务(例如卫星图像分类、肿瘤检测等)上表现较弱。与少样本学习方法相比,零样本CLIP的性能和4 - shot逻辑回归相当,甚至接近16 - shot的最佳性能。

3.2 特征学习

  • 通过在模型提取的表示上拟合线性分类器,并在各种数据集上测量其性能,以此来评估CLIP的表示学习能力。结果显示,小型CLIP模型(如ResNet - 50和ResNet - 101)优于在ImageNet - 1K上训练的其他ResNet,但不如在ImageNet - 21K上训练的模型和EfficientNet家族模型。然而,CLIP训练的最大模型(ResNet - 50x64)在总体得分和计算效率上略优于现有最佳模型。另外,CLIP视觉Transformer比CLIP ResNet的计算效率高约3倍,在更广泛的27个数据集评估中,CLIP在计算效率方面表现出色,在多个任务(如OCR、地理定位等)上优于其他模型。

3.3 对自然分布变化的鲁棒性

  • 深度学习模型在ImageNet测试集上虽然表现出色,但在面对自然分布变化时,性能往往会大幅下降。本文利用CLIP模型研究这种现象,发现零样本CLIP在自然分布变化下的有效鲁棒性显著高于传统ImageNet模型,缩小了在不同分布下的性能差距。通过在ImageNet上进行监督适应后,CLIP在ImageNet上的准确率提高了,但在自然分布变化下的平均准确率却略有下降,这表明过度适应特定数据集可能会导致鲁棒性降低。此外,根据数据集类名生成自定义零样本分类器可以提高有效鲁棒性,但在完全监督设置下,这种优势几乎消失了。

4. 与人类表现比较

  • 为了解CLIP和人类学习能力的差异,对人类在牛津IIT宠物数据集上进行了零样本和少样本学习实验。结果显示,人类在零样本情况下平均准确率为53.7%,提供一个训练样本后提升至75.7%,而且主要在不确定的图像上有明显提升。相比之下,CLIP在零样本情况下准确率为93.5%,但在少样本学习中的表现和人类有较大差异,这表明当前CLIP的少样本学习方法没能充分利用先验知识,和人类学习效率存在差距。

5. 数据重叠分析

  • 大规模互联网数据集预训练可能存在与下游评估数据集重叠的问题。本文通过构建重叠检测方法,对35个数据集进行分析,发现数据重叠率中位数为2.2%,平均为3.2%,对整体准确率影响较小,仅有7个数据集的准确率变化超过0.1%,并且只有2个在Bonferroni校正后具有统计学意义。这表明数据重叠对CLIP评估的影响有限,但检测方法的不完善和潜在的数据分布变化可能会影响分析结果。

6. 局限性

  • CLIP在零样本学习任务中的性能和当前最先进水平仍有较大差距,估计需要约1000倍的计算资源才能达到。在一些任务(如细粒度分类、抽象任务和新任务)上表现较弱,对真正的分布外数据泛化能力差,比如在MNIST手写数字识别任务上不如简单的逻辑回归模型。另外,CLIP生成的零样本分类器受限于给定的概念,缺乏图像字幕那样的灵活性,而且没有解决深度学习数据效率低的问题。

7. 更广泛的影响

7.1 偏差

  • CLIP模型可能存在社会偏见,例如在FairFace数据集上的实验表明,零样本CLIP在不同种族和年龄分类任务上的性能存在差异,并且在使用具有潜在伤害性的分类术语时,对某些人口亚群存在不公平的分类结果。此外,模型的类设计、训练数据和阈值设置等因素都会影响偏见的表现,这说明在模型开发过程中需要谨慎考虑这些因素,以减少潜在的社会偏见。

7.2 监视

  • 在监视相关任务中,CLIP在低分辨率监控图像的粗粒度分类上表现出一定能力,但在细粒度检测和零样本名人身份识别任务上性能有限。虽然CLIP在数据量较少的任务中有优势,但对于许多需要大量数据和高性能监督模型的监视任务(如面部识别),其吸引力较低。不过,CLIP无需训练数据的特点可能适用于一些定制化、小众的监视应用场景。

7.3 未来工作

  • 未来研究可以进一步探索CLIP等模型的能力、缺点和偏见,通过社区探索确定其适用和不适用的领域,创建评估系统来更好地刻画模型能力,识别潜在的失败模式,为模型的改进和合理应用提供方向。

8. 相关工作

  • 许多研究利用自然语言作为监督信号进行学习,涵盖分布语义学、NLP等多个领域。在计算机视觉中,早期工作利用自然语言描述进行图像检索和对象分类,近年来有研究探索结合自然语言和强化学习环境实现零样本任务。CLIP的预训练任务优化图像 - 文本检索,和其他利用自然语言监督的研究相关,但CLIP仅使用与图像共现的完整文本序列作为监督,并且在数据集创建过程中与其他方法有所不同。此外,CLIP与学习视觉和语言联合模型的工作也相关,但CLIP专注于通过自然语言监督从头学习视觉模型,与这些方法的关注点和实现方式存在差异。

9. 结论

  • 本文研究表明,将自然语言处理(NLP)领域中与任务无关的大规模网络预训练的成功范式应用到计算机视觉领域,能让模型在预训练过程中学习多种任务,并通过自然语言提示实现零样本迁移。当模型和数据达到足够规模时,该方法的性能可以和特定任务的监督模型相媲美,但仍有很大的改进空间。同时,本文也讨论了该研究方向的社会影响,为后续研究提供了参考。