CLIP 论文解读:对比学习打通多模态对齐
本文解读CLIP论文,解决传统视觉模型依赖固定类别标签、迁移受限的问题。核心方法是对比式语言-图像预训练,将图像与文本编码到统一表示空间,通过自然语言监督实现开放词汇视觉理解。实验在27个数据集的linear probe与zero-shot评测中验证了强迁移能力,多数任务超越ResNet-50全监督基线。
CLIP:从自然语言监督中学习可迁移视觉模型
引言:从固定类别标签到自然语言监督
传统视觉模型的训练大多依赖预先定义好的固定类别标签(fixed category labels):研究者针对每个数据集设计封闭的类别集合,模型则通过分类损失学习将图像映射到这些离散标签。这种方式在特定任务上效果显著,但类别空间一旦变化,往往需要重新标注数据并调整模型,限制了其在开放场景下的迁移能力。
《Learning Transferable Visual Models From Natural Language Supervision》一文提出,可以借助自然语言监督(natural language supervision)来学习更具迁移性的视觉表示。与固定类别标签不同,自然语言监督允许模型通过文本描述理解视觉概念,从而将下游任务从“在封闭类别中做分类”拓展为“用自然语言检索匹配图像”。Figure 20 展示了该研究在 27 个数据集上的 Linear Probe 对比实验:横轴为 GFLOPs/image,纵轴为各数据集对应的评价指标(如 accuracy、mean per class、ROCAUC 等),比较了 CLIP-ViT、CLIP-ResNet 与 EfficientNet-NoisyStudent、EfficientNet、Instagram-pretrained、SimCLRv2、BYOL、MoCo、ViT (ImageNet-21k)、BiT-M、BiT-S、ResNet 等方法。从图中可以看出,基于自然语言监督预训练的 CLIP 模型在多个数据集上的线性探测性能与其他专门优化的方法具有可比性,体现出自然语言监督作为通用视觉预训练信号的潜力。图中被加粗显示的是落在各数据集最高得分 99.5% Clopper-Pearson 置信区间内的结果;此外,STL10 的分数因修复 CUDA 相关 bug 而在后续版本中进行了更新。
关于 CLIP 训练所使用的图像-文本数据规模、对比学习损失的具体形式以及预训练实现细节,原文素材未提供相关信息,故不在此展开。

CLIP 核心方法:对比式语言-图像预训练
CLIP(Contrastive Language-Image Pre-training)旨在从自然语言监督中学习可迁移的视觉模型。与依赖固定类别标签的传统监督学习不同,CLIP 将图像与对应的自然语言描述组成训练对,通过对比学习把视觉模态与语言模态对齐到同一表示空间。
核心数据流
其基本流程可概括为:图像与文本分别经过各自的编码器得到视觉特征与文本特征,再计算两者之间的相似度,并通过对比目标使匹配对的相似度高于非匹配对。
graph TD
A[Image] --> B[Image Encoder]
C[Text] --> D[Text Encoder]
B --> E[Image Feature]
D --> F[Text Feature]
E --> G[Cosine Similarity]
F --> G
G --> H[Contrastive Loss]
具体而言,一个 batch 的 image-text pairs 会生成相似度矩阵;CLIP 在该矩阵上优化一个对称的对比损失(symmetric contrastive objective)。原文未明确给出 backbone 的具体配置、温度系数(temperature)、batch size 以及训练步数等超参数,因此上述流程仅为对核心思想的概括。
数据构建与评估体系
为了验证从自然语言监督中习得的视觉表征的迁移能力,作者构建了一个包含 27 个下游数据集的评估体系。Figure 20 基于 Table 10 中的数据,绘制了每个数据集的 linear probe 性能随模型单图计算量(GFLOPs/image)变化的曲线。
这 27 个数据集包括 Food101、CIFAR10、CIFAR100、Birdsnap、SUN397、StanfordCars、FGVCAircraft、PascalVOC2007、DescribableTextures、OxfordPets、Caltech101、Flowers102、MNIST、FacialEmotionRecognition2013、STL10、EuroSAT、RESISC45、GTSRB、KITTI、PatchCamelyon、UCF101、Kinetics700、CLEVRCounts、Country211、HatefulMemes、SST2 和 ImageNet。它们覆盖了通用物体分类、细粒度识别、纹理、人脸情绪、遥感图像、街景与交通标志、视频动作识别、计数以及图文语义相关任务等多种场景(原文未明确)。通过这种多样化的数据构建,实验能够在不同视觉任务上衡量表征的泛化能力。
从 Figure 20 可以观察到,随着 GFLOPs/image 的增加,大多数数据集的 linear probe 准确率总体呈上升趋势,但不同任务的提升速度和饱和点存在明显差异。部分数据集在较低计算量下已接近饱和,而更大规模的分类任务则随计算量增加持续受益。图中同时绘制了 CLIP-ViT、CLIP-ResNet 与 EfficientNet、EfficientNet-NoisyStudent、Instagram-pretrained、SimCLRv2、BYOL、MoCo、ViT (ImageNet-21k)、BiT-M、BiT-S、ResNet 等基线方法的曲线,便于比较不同预训练范式随计算量增加的 scaling 行为。
需要特别说明的是,Table 10 中落在各数据集最高分的 99.5% Clopper-Pearson confidence interval 内的结果以粗体显示。此外,由于修复了一个 CUDA-related bug,STL10 的分数相较论文前一版本进行了更新。

Zero-shot CLIP 与全监督基线的性能对比
在由 27 个数据集组成的评测套件上,zero-shot CLIP 分类器与在 ResNet-50 特征上训练的全监督线性分类器(fully supervised linear classifier)相比,整体表现略占上风:在 16 个数据集上取得了更优结果,其中包括 ImageNet。Figure 5 展示了 zero-shot CLIP 相对该 ResNet-50 基线的得分差异,负值表示 zero-shot CLIP 落后于基线,正值则表示领先。

从单个数据集来看,细粒度分类任务上的表现差异较大。在 Stanford Cars 与 Food101 上,zero-shot CLIP 较 ResNet-50 特征上的 logistic regression 提升超过 20%;而在 Flowers102 与 FGVCAircraft 上则落后超过 10%;OxfordPets 与 Birdsnap 上两者表现接近。这些差异可能主要源于 WIT 与 ImageNet 在不同任务上可获得监督量(per-task supervision)的不同。
在通用目标分类数据集上,zero-shot CLIP 与 ResNet-50 基线表现相近,并在 ImageNet、CIFAR10/100、STL10 和 PascalVOC2007 上略占优势。其中在 STL10 上,CLIP 达到了 99.3% 的总体准确率,且未使用任何训练样本,这表明其可能达到了新的 state of the art。
在视频动作识别数据集上,zero-shot CLIP 显著优于 ResNet-50:在 Kinetics700 上领先 14.5%,在 UCF101 上领先 7.7%。这可能是因为自然语言能够为涉及动词(verb)的视觉概念提供更广泛的监督,而 ImageNet 的监督则以名词(noun)为中心。
然而,zero-shot CLIP 在部分任务上仍存在明显短板,例如 EuroSAT、KITTI Distance、PatchCamelyon、GTSRB、CLEVRCounts 等数据集上均落后于 ResNet-50 基线。关于这些任务表现不足的原因,原文未进一步说明。
表征质量、鲁棒性与进一步讨论
CLIP 的表征质量通常通过 linear probe 来评估:固定 visual encoder,仅在其输出特征上训练一个线性分类器,从而衡量预训练视觉表征的迁移能力。Figure 20 汇总了 27 个数据集上的 linear probe 结果,数据来自 Table 10。
该图按数据集拆分为多个子图,覆盖 Food101、CIFAR10、CIFAR100、Birdsnap、SUN397、StanfordCars、FGVCAircraft、PascalVOC2007、DescribableTextures、OxfordPets、Caltech101、Flowers102、MNIST、FacialEmotionRecognition2013、STL10、EuroSAT、RESISC45、GTSRB、KITTI、PatchCamelyon、UCF101、Kinetics700、CLEVRCounts、Country211、HatefulMemes、SST2 以及 ImageNet。评价指标包括 accuracy、mean per class、mean(top1, top5)、11-point mAP over 20 classes、ROCAUC 等;横轴在部分子图中标注为 GFLOPs/image,其余子图标注为 100–102 的序号(其具体含义原文未明确)。图中对比了 CLIP-ViT、CLIP-ResNet、EfficientNet-NoisyStudent、EfficientNet、Instagram-pretrained、SimCLRv2、BYOL、MoCo、ViT (ImageNet-21k)、BiT-M、BiT-S 与 ResNet 等模型与训练范式。从图中可见,CLIP-ViT 与 CLIP-ResNet 在多数数据集上取得了具有竞争力的 linear probe 表现,表明基于自然语言监督学习到的视觉表征在跨域迁移方面具备一定优势。
原文在相关说明中指出:在每个数据集上,位于 top score 的 99.5% Clopper-Pearson confidence interval 内的结果以粗体显示;此外,STL10 的得分因修复了一个 CUDA-related bug 而在本版本中进行了更新(⋆ 标记)。
不过,Figure 20 仅呈现了 linear probe 这一静态评估方式下的表征质量,并未涉及模型在分布偏移、对抗扰动、长尾样本或真实下游任务中的鲁棒性,也未对 CLIP 的社会影响、潜在偏见及应用风险展开讨论。因此,关于 CLIP 在鲁棒性、公平性与社会影响方面的具体结论,受限于原文信息,尚无法在此展开。