ICML 2021 · OPENAI · PAPER READING

Learning Transferable Visual Models From Natural Language Supervision

把互联网图文配对当作监督信号,在 4 亿对数据上学习共享语义空间;只写出类别名称和提示词,就能构造零样本图像分类器。

Alec Radford* · Jong Wook Kim* · Chris Hallacy · Aditya Ramesh · Gabriel Goh · Sandhini Agarwal · Girish Sastry · Amanda Askell · Pamela Mishkin · Jack Clark · Gretchen Krueger · Ilya Sutskever
*共同第一作者及通讯作者 · PMLR 139:8748–8763 · arXiv:2103.00020v1

400MWIT 图文配对
32,768训练 batch size
27论文覆盖数据集
76.2%ViT-L/14@336 ImageNet 零样本
01 · RESEARCH GAP

从封闭标签集,转向自然语言监督

传统视觉预训练依赖固定类别与人工标注。类别定义限制了模型能表达的概念,新增任务还需要新的标注与分类头。CLIP 检验一个核心假设:足够大规模的自然语言描述可以成为开放词汇监督,并把视觉表征直接迁移到未参与训练的数据集。

现有瓶颈

ImageNet 式监督把一张图压缩成一个离散类别。标签昂贵,任务边界由数据集预先规定,训练后的模型仍需要下游微调。

关键直觉

网页中的文字包含对象、属性、动作与场景。模型只需识别正确图文配对,便能学习比封闭类别更丰富的语义。

研究贡献

论文同时验证了规模化图文对比学习、自然语言构造分类器、跨 27 个数据集的迁移,以及分布偏移下的鲁棒性。

PAPER VERIFIED最佳模型在 ImageNet 零样本分类达到 76.2% top-1、95.0% top-5,接近原始 ResNet-50 的监督性能;该模型没有使用 ImageNet 训练标签。
AUTHOR CLAIM作者把 CLIP 视为通向通用视觉模型的一步。实验支持广泛迁移和开放词汇接口,但没有证明它获得了完备的视觉理解能力。
02 · FORMULATION

在同一批次中寻找正确图文配对

输入是一批图像及其配对文本。图像编码器和文本编码器把两种模态投到同一向量空间;训练目标同时从图像检索文本、从文本检索图像。

设 batch 中有 (N) 个配对样本 ({(I_i,T_i)}_{i=1}^{N})。归一化后的嵌入与缩放 logits 为:

\[ \mathbf{v}_i=\frac{f_{\theta}(I_i)}{\lVert f_{\theta}(I_i)\rVert_2},\qquad \mathbf{u}_j=\frac{g_{\phi}(T_j)}{\lVert g_{\phi}(T_j)\rVert_2},\qquad s_{ij}=\exp(t)\,\mathbf{v}_i^{\mathsf T}\mathbf{u}_j \]

\(f_{\theta}\) 是图像编码器,\(g_{\phi}\) 是文本 Transformer,\(t\) 是学习得到的对数缩放参数。每行和每列只有对角位置为正样本。

\[ \mathcal{L}_{\mathrm{CLIP}}=\frac{1}{2N}\sum_{i=1}^{N}\left[-\log\frac{\exp(s_{ii})}{\sum_{j=1}^{N}\exp(s_{ij})}-\log\frac{\exp(s_{ii})}{\sum_{j=1}^{N}\exp(s_{ji})}\right] \]

第一项把图像 \(I_i\) 对应的正确文本排在其他 \(N-1\) 条文本之前;第二项执行反向检索。一个 batch 形成 \(N^2\) 个候选配对,其中 \(N\) 个为正样本。

01 INPUT图像与自然语言描述
02 ENCODE视觉编码器与文本 Transformer
03 NORMALIZE单位化两个嵌入
04 COMPARE计算 \(N\times N\) 余弦相似度
05 OPTIMIZE对称交叉熵

视觉编码器

比较修改版 ResNet 与 Vision Transformer。ResNet 使用三层 stem、anti-aliased blur pooling,并以 attention pooling 代替全局平均池化;ViT 主要沿用原始结构,只额外加入 patch 与 position embedding 的 LayerNorm。

文本编码器

12 层、宽度 512、8 个 attention heads 的 Transformer。文本采用小写 BPE,序列由开始和结束 token 包围;最高层在结束 token 位置的表示经过 LayerNorm 与线性投影得到文本嵌入。

CLIP 预训练与零样本分类流程
Figure 1 · 官方方法图。左侧进行图文配对预训练;右侧把类别名称写成自然语言提示,编码后形成分类器权重,再按图像与类别文本的相似度分类。

零样本分类如何产生

对类别 \(c\) 写出提示 \(p(c)\),得到文本原型 \(\mathbf{w}_c\)。图像 \(I\) 的类别概率为:

\[ P(y=c\mid I)=\frac{\exp\left(\tau^{-1}\mathbf{v}(I)^{\mathsf T}\mathbf{w}_c\right)}{\sum_{k=1}^{K}\exp\left(\tau^{-1}\mathbf{v}(I)^{\mathsf T}\mathbf{w}_k\right)} \]

这里 \(\mathbf{w}_c=g_{\phi}(p(c))/\lVert g_{\phi}(p(c))\rVert_2\),\(K\) 是类别数量,\(\tau\) 对应训练得到的 temperature。分类器权重来自文本编码器,没有下游梯度更新。

直接使用类别名称会产生分布差异与多义词问题。论文使用 A photo of a {label}. 等模板,并针对卫星图、纹理、食物等数据集加入领域描述。多个模板的文本嵌入先归一化、平均、再次归一化。prompt engineering 与 prompt ensembling 在 36 个数据集上平均提升接近 5 个百分点。

03 · DATA & TRAINING

规模来自数据、batch 与计算协同扩展

作者建立 WebImageText(WIT):以 50 万个查询收集互联网图文对,每个查询最多保留 2 万条,形成 4 亿对数据。该数据没有公开,因而完整训练无法独立复现。

数据构建查询集合包含 Wikipedia 高频词、WordNet synset 名称与高 PMI 二元词;对每个查询限制样本数,以减轻头部查询垄断。论文没有公开 URL 清单、过滤器和去重实现。
训练目标对称图文对比损失;论文先试验预测文字、词袋预测和 Transformer 文本建模,最终选择计算效率更高的图文配对目标。
优化器Adam 配合 decoupled weight decay、余弦学习率计划;混合精度、gradient checkpointing、半精度 Adam statistics 和分片相似度计算用于大 batch。
训练规模所有模型训练 32 epochs,batch size 32,768。ViT-L/14 最后以 336 像素额外训练一个 epoch,记为 ViT-L/14@336。
temperature初始化为 0.07 的等效值;训练期间限制 logit scale 最大为 100,防止缩放无界增长。
计算成本RN50x64 使用 592 张 V100 训练 18 天;ViT-L/14 使用 256 张 V100 训练 12 天。论文主结果默认指 ViT-L/14@336。
Table 18–20 · 架构族与关键训练配置
模型族变体预训练 epochsbatch文本 Transformer说明
Modified ResNetRN50 / RN101 / RN50x4 / RN50x16 / RN50x643232,76812 层,width 512,8 heads按 EfficientNet 式原则同时扩展 width、depth 与 resolution
Vision TransformerViT-B/32 / B/16 / L/143232,768同左patch size 写在模型名中
High resolutionViT-L/14@33632 + 132,768同左最后一个 epoch 使用 336×336 输入
OUR INTERPRETATION方法的工程关键点是极大 batch。每个 batch 同时提供约十亿个相似度位置,负样本数量随 batch 增长;这也让训练对数据噪声、重复样本和分布偏差十分敏感。
04 · EXPERIMENTS

零样本迁移覆盖广,性能差异同样明显

论文在 OCR、动作识别、地理定位、细粒度分类、场景、纹理与通用对象识别上测试统一模型。它还用线性探针衡量冻结表征,并研究 ImageNet 分布偏移下的有效鲁棒性。

Table 1 · 与早期文本监督方法的零样本比较(准确率,%)
方法aYahooImageNetSUN397
Visual N-Grams72.411.523.0
CLIP98.476.258.5

作者明确提醒这不是受控比较:CLIP 使用约 10 倍数据、接近 100 倍推理计算,训练计算可能超过 1,000 倍。

Table 11 · 九个公开架构的完整 27 数据集零样本结果(准确率,%)
数据集RN50RN101RN50x4RN50x16RN50x64ViT-B/32ViT-B/16ViT-L/14L/14@336
Food10181.183.986.890.591.884.489.292.993.8
CIFAR1075.681.079.282.286.891.391.696.295.7
CIFAR10041.649.048.954.261.365.168.777.977.5
Birdsnap32.637.241.645.948.937.839.148.349.5
SUN39759.659.962.765.066.963.265.267.768.4
Stanford Cars55.862.367.972.376.059.465.677.378.8
FGVC Aircraft19.319.524.630.335.621.227.136.137.2
VOC200782.182.483.082.983.883.183.984.184.3
DTD41.743.949.352.853.444.546.055.355.7
Oxford Pets85.486.288.189.793.487.088.993.593.5
Caltech10182.185.186.087.690.687.989.392.692.8
Flowers10265.965.768.071.977.366.770.478.778.3
MNIST66.659.375.280.090.851.956.087.288.3
FER201342.245.651.156.061.047.352.757.557.7
STL1094.396.796.497.898.397.298.299.399.4
EuroSAT41.133.135.040.359.449.454.159.959.6
RESISC4554.258.559.264.469.760.365.571.671.7
GTSRB35.238.335.739.647.932.243.350.352.3
KITTI Distance42.233.326.033.933.239.444.023.121.9
Country21116.116.920.224.029.617.823.332.734.9
PatchCamelyon57.655.257.562.565.058.448.158.863.0
UCF10163.662.265.568.774.164.569.876.276.9
Kinetics70043.546.749.053.456.847.852.460.361.3
CLEVR Counts20.328.117.017.627.524.823.424.324.8
Hateful Memes59.761.158.358.962.157.661.763.363.3
Rendered SST256.964.266.667.670.759.659.864.067.9
ImageNet59.662.265.870.573.663.268.675.376.2

线性探针

论文冻结视觉编码器,在 12 个中间特征层中选择表示,并使用 L-BFGS 训练带正则的逻辑回归。CLIP ViT-L/14 的平均得分超过 EfficientNet-L2;不同数据集仍有显著差异。

分布偏移

在 ImageNetV2、ImageNet Sketch、ImageNet-A、ImageNet-R 与 ObjectNet 上,零样本 CLIP 相对于其 ImageNet 准确率呈现更高的有效鲁棒性。微调提升 ImageNet 内部分数时,这部分优势会缩小。

证据边界Table 11 表明更大模型通常更强,同时存在反例:KITTI Distance、CLEVR counting、PatchCamelyon 等任务没有随规模稳定提升。模型的语言接口无法弥补训练数据中稀缺的精确计数、空间距离与专业医学模式。
05 · LIMITATIONS & BIAS

开放词汇能力继承了网页数据的偏差

论文专门测试任务缺口、社会偏差、监控用途与训练数据污染。结果说明 prompt 设计和类别集合本身会改变系统行为。

任务弱点精确计数、物体间距离和细粒度类别表现较弱;CLEVR counting 接近随机水平。MNIST 零样本约 88%,仍低于人类报告的 99.75%。
类别设计敏感性FairFace 上加入不同类别会改变错误归类。0–20 岁人群被分入贬损类别的比例可达 32.3%;增加“child”类别后降至 8.7%。
人物识别对 100 个候选名人类别达到 59.2%,扩展到 1,000 类后降至 43.3%。这说明模型具有一定身份关联能力,也带来隐私与监控风险。
数据污染作者通过文本重叠和重复检测估计评测数据泄漏,并报告总体影响有限;WIT 未公开使第三方无法完整审计来源、授权、重复与删除请求。
prompt 敏感性类别名称、模板和上下文直接决定分类器。测试集上的模板选择可能引入人工调参收益,也削弱“完全无需下游知识”的表述。
PAPER VERIFIED偏差分析证明类别词表是模型行为的一部分。零样本分类仍然包含人工建模:研究者选择标签、描述、模板和模板集合。
06 · PAPER VS. IMPLEMENTATION

官方代码提供推理接口,完整训练仍缺少关键材料

公开仓库提供模型加载、图像预处理、tokenize、编码和相似度计算;发布 RN50、RN101、RN50x4、RN50x16、RN50x64、ViT-B/32、ViT-B/16、ViT-L/14 与 ViT-L/14@336 权重。
序列长度论文正文称文本序列上限为 76;官方 clip.tokenize 的 context_length 默认为 77。复现时应按 checkpoint 的 77 维 positional embedding 使用接口值。
词表计数正文描述约 49,152 个 BPE vocabulary;附录配置与公开模型使用 49,408,后者包含编码器实际索引空间和特殊 token。两处数字的计数口径不同。
训练缺口仓库没有 WIT 数据清单、抓取与过滤流程,也没有论文规模训练脚本。发布权重可复现实验推理,无法独立重建完整预训练。
输入预处理官方接口按模型输入分辨率 resize、center crop、RGB 转换和固定均值方差归一化。零样本分类还需要用户自行定义类别与模板。

官方推理核心可以写成:

\[ \hat y=\underset{c}{\operatorname{arg\,max}}\;100\,\frac{f_{\theta}(I)}{\lVert f_{\theta}(I)\rVert_2}^{\mathsf T}\frac{g_{\phi}(p(c))}{\lVert g_{\phi}(p(c))\rVert_2} \]

代码示例乘以 100 后执行 softmax;模型内部学习的 logit_scale 才是训练所得缩放,示例常数用于展示分类概率。

07 · REVIEWER COMMENTARY

贡献改变了视觉模型接口,结论仍受数据和评测协议约束

Strengths

  • 把图像分类器转化为由自然语言即时定义的开放词汇接口。
  • 在 27 个结构差异显著的数据集上统一评价。
  • 对称对比目标简单,能够随数据、batch 和编码器规模扩展。
  • prompt ensembling、线性探针和分布偏移实验揭示了迁移机制。
  • 正文主动讨论偏差、监控风险、数据污染和能力缺口。

Weaknesses

  • WIT 数据和完整训练流程未公开,核心结果无法独立复现。
  • 多项 baseline 的数据量、计算预算与监督形式差异很大。
  • 零样本结果包含数据集专用 prompt 设计,人工投入缺少统一计量。
  • 相似度分类难以处理组合关系、计数、定位和密集预测。
  • 互联网数据的授权、去重和社会偏差审计透明度有限。

Potential Improvements

  • 公开可审计的数据来源、删除流程、重复率和过滤统计。
  • 以学习的 prompt 或独立验证集选择模板,减少测试集人工调参。
  • 加入区域级、关系级与计数目标,补足全局匹配损失。
  • 报告按概念频率、语言、地域和人群拆分的置信区间。
  • 以相同训练 FLOPs 与数据量比较架构,分离规模和方法贡献。
RESEARCH EXTENSION在 procedural material generation 中,CLIP 可以提供文本与渲染图的语义损失 \(d_{\mathrm{CLIP}}(R(G),T)\)。它没有验证材质图拓扑、节点合法性、可执行性与物理参数,因此需要 graph validity、renderer feedback 和局部纹理指标共同约束,不能把单一 CLIP 分数当作材质质量。
08 · SOURCES

一手来源

  1. ICML 2021 / PMLR 139 正式论文页面:作者、页码、正式 PDF 与引用信息。
  2. arXiv:2103.00020v1:正文、附录、Figure 1–14 与 Table 1–20。
  3. OpenAI 官方 CLIP 研究页面:方法概览、示例与局限说明。
  4. OpenAI 官方 CLIP 仓库:公开模型、tokenize、预处理及零样本推理接口。

本地论文:Reading/Papers/2103.00020v1.pdf。外部图片来自 OpenAI 官方页面;页面需要联网加载图片与 MathJax。