回 Jason 主站·Embodied AI Reading Station
没主意?快捷入口
VLM Foundation · Plate Nº 124

Learning Transferable Visual Models From Natural Language Supervision

18 min read · 6293 字 · ⭐⭐⭐ · auto 摘要

TL;DR

教 AI 同时认图和认字,把 4 亿对网上图文塞进同一张坐标。之后你说"一只猫",它就能从新图里挑出猫——不用为新任务再训一遍。

所以这一节是想说:CLIP 用"图文对靠近"这个朴素目标,把视觉模型从"必须训一个分类头"的旧范式里解放出来,让一个模型直接听懂自然语言描述的任意类别。

这是个什么场景

想象你在手机相册里翻找"去年在海边吃的那盘海鲜面"。相册 App 能不能直接搜到?以前不行——因为它只学过"猫/狗/人脸"这种固定标签,没学过"海鲜面",更没学过"去年在海边"。要让它学会,你得人工再标 1000 张海鲜面照片,重新训一遍模型。每加一种菜都要重来。

这就是 2021 年之前视觉模型的老路:

  1. 找一堆标好的图(比如 1000 张猫、1000 张狗)。
  2. 训一个 CNN,末尾接一个"猫/狗"分类头。
  3. 想识别第三种东西(兔子)?重训。换个领域(医学片)?重训。

两条死胡同:

第一条:人工标注太贵。给 100 万张图打"金标"贵到只有大公司玩得起。 第二条:类别表是死的。训完只能输出"猫/狗",你说"穿蓝毛衣的柯基"它就傻了——softmax 头里根本没这个槽。

但同一时期 NLP 那边已经变天了:GPT 证明直接读互联网原文就能学会翻译、问答、写摘要,不用人工标注。论文一开头就追问一句很尖锐的话——互联网上每张图旁边不都带着标题、alt 文字、网页说明吗?这些不就是天然的"监督信号"吗?为什么视觉不能这么学?

CLIP 要解决的就是这个:把网上随处可见的图文对(图 + 它周围的文字)当训练材料,让训出来的模型像 GPT 一样,看到新数据集不用重训也能干活。

所以这一节是想说:传统视觉模型被"固定类别 + 人工标注"两条铁链锁住,CLIP 的目标是把这两条链都解开,方法是借鉴 NLP 的"从原始文本中学"思路。

Learning Transferable Visual Models From Natural Language Supervision — 场景示意:这论文要解决的现实问题
Plate Nº ILearning Transferable Visual Models From Natural Language Supervision — 场景示意:这论文要解决的现实问题

之前的人怎么做

CLIP 不是第一个想"用文本监督学图像"的工作,论文老老实实列了一长串前辈:

  • 1999 年 Mori 等人:用图像配对的文档预测里面出现的名词形容词,做图像检索。
  • 2016 年 Joulin 等人:用 YFCC100M 数据集(1 亿张 Flickr 图)里的标题、描述、hashtag 训练 AlexNet 做"词袋多标签分类",证明这种预训练能学到不错的表征。
  • 2017 年 Visual N-Grams(Li 等人):把"类别名"转成 n-gram,让模型预测最可能的 n-gram 序列。这是第一个尝试 zero-shot 迁移到标准图像分类的工作,但 ImageNet 上只有 11.5% 准确率。
  • 2020 年 VirTex / ICMLM / ConVIRT:用 transformer + 图像 caption 任务做表征学习。证明可行,但只在 10-20 万张图上跑过。
  • 2018 年 Mahajan 等人(Instagram hashtag)/ 2019 年 Kolesnikov 等人(JFT-300M):用"弱监督 + 大数据"路线,预测 1000 或 18291 个 hashtag/类别。性能不错,但被限制在了一个固定的、有限的类别表里——这正是 CLIP 想打破的束缚。

关键差距:之前的"自然语言监督"工作要么数据量太小(百万级),要么类别表是死的。CLIP 把这两件事同时做掉:4 亿对数据 + 完全开放的文本类别

CLIP 还有个重要的"反思先驱失败"过程:他们一开始也试了 VirTex 那套——让模型预测图像对应的精确 caption。结果发现 transformer 语言模型预测 caption 学 ImageNet 比 bag-of-words 基线慢 3 倍。原因:精确预测每个词太难、监督信号噪声大。换成对比学习(只预测"这张图配哪段文字",不要求逐字匹配)之后,效率又涨了 4 倍。

所以这一节是想说:自然语言监督这条路走了 20 年,但要么规模不够、要么任务太死板。CLIP 的贡献不是"想到了",而是"找到了规模 + 对比学习这套高效组合"。

新想法

CLIP 的关键想法拆成 3 个递进的洞察,每个先用一个生活类比开个头。

洞察 1:把"图文匹配"当成预训练任务

像办相亲大会——你不要求每个参会者写小作文介绍自己(太累),也不要求按"理工/文科"贴标签(太粗)。你只让大家在大厅里互相站位,把真情侣牵到一起就行。

具体到 CLIP:不让模型预测每个词(太难),也不让它预测固定类别(太死)。每个 batch 取 N 张图和 N 段文字,目标是把对角线上的 N 个真对认出来,把其他 N²-N 个假对推开。

洞察 2:用同一个嵌入空间

像把中文和法文都翻成"世界语",然后看哪两条翻完意思最近。

图像编码器把图变成 512 维向量;文本编码器把句子变成 512 维向量;两个都做 L2 归一化后塞进同一个空间。"匹配"的判定就是简单的余弦相似度(cosine similarity,两个单位向量的点积,越接近 1 越像)。

等等,先慢一拍——"嵌入空间"是什么?

  • 想象一张超高维的坐标图。"猫"图和"a photo of a cat"两段输入,被两个编码器分别投到这张图上的某个点。训练目标就是把这两个点拉近。

洞察 3:训完后用"说话"召唤分类器

像点菜——以前每开一家新餐厅都要重新印一本菜单;现在你只要说出菜名,菜单当场生成。

训练完 CLIP 后,下游分类任务(比如 ImageNet 1000 类)这样做:

  1. 把 1000 个类名套进模板"a photo of a {label}",丢给文本编码器,得到 1000 个 512 维文本向量。
  2. 把这 1000 个向量当成一个线性分类器的权重矩阵(每个类一行)。
  3. 来一张新图,过图像编码器得到 512 维向量,跟这 1000 个文本向量算余弦相似度,最大的那个就是预测类别。

论文一句话总结这个视角:文本编码器是一个 hypernetwork(超网络,能生成另一个网络权重的网络),它根据自然语言描述,动态生成线性分类器的权重

所以这一节是想说:CLIP 的核心创新是把"分类问题"重新表述成"图文检索问题",并通过文本编码器把"训分类头"变成"念咒语生成分类头"。

方法分步

具体到工程实现,CLIP 的 forward pass 简单到可以用 7 行 numpy 写完(论文 Figure 3 直接给了伪代码)。下面分步拆解:

Step 1:构造数据集 WIT

  • 从英文维基百科取出现 ≥ 100 次的所有词,加上高 PMI(pointwise mutual information)双词、高搜索量维基词条名、剩余 WordNet synsets,凑出 50 万个 query。
  • 用这些 query 去爬互联网,每个 query 至多保留 2 万对(图,文),最终 4 亿对。
  • 这一步本质是类别均衡的搜索——避免数据集被某几个高频概念主导。

Step 2:编码器结构

  • 图像编码器:两版,ResNet-50(带改良)和 ViT(Vision Transformer)。论文最强的是 ViT-L/14@336px——L 表示 Large,14 表示 patch size 14×14,336 表示输入分辨率 336×336。
  • 文本编码器:12 层 transformer,63M 参数,BPE 分词(词表 49152),最长 76 token。取最后一层 [EOS] 位置的激活作为整段文本的表征。

Step 3:投影到统一空间

I_f = image_encoder(I)        # [N, d_i]
T_f = text_encoder(T)          # [N, d_t]
I_e = l2_normalize(I_f @ W_i)  # [N, d_e]
T_e = l2_normalize(T_f @ W_t)  # [N, d_e]

各自过一个线性投影到 d_e 维(CLIP 用 512),再 L2 归一化。这里有个细节:之前的对比学习(如 SimCLR)流行用非线性投影,CLIP 实验后发现线性就够了,干脆简化掉。

Step 4:计算相似度矩阵

logits = (I_e @ T_e.T) * exp(t)   # [N, N]

t 是一个可学习的温度参数(temperature),控制 softmax 锐度。直接学 log τ 而不是 τ 本身,避免温度变成需要手调的超参。论文还把 τ 上限 clip 到 100,防止训飞。

Step 5:对称交叉熵损失

labels = arange(N)              # 对角线就是 ground truth
loss_i = cross_entropy(logits, labels, axis=0)  # 图→文方向
loss_t = cross_entropy(logits, labels, axis=1)  # 文→图方向
loss = (loss_i + loss_t) / 2

人话:对每行(每张图)做 softmax,要求"它对应的那段文字"概率最大;对每列(每段文字)也做 softmax,要求"它对应的那张图"概率最大。两个方向取平均。

这个 loss 在度量学习里叫 N-pair loss,在对比学习里叫 InfoNCE。CLIP 的贡献不是发明它,而是把它放大到 N=32768、batch 跨 GPU sharding。

Step 6:训练规模

  • 5 个 ResNet(RN50 / RN101 / RN50x4 / RN50x16 / RN50x64)+ 3 个 ViT(B/32 / B/16 / L/14)。
  • 32 epochs,AdamW,cosine 学习率衰减。
  • batch size 32768——这是 CLIP 能 work 的关键之一,对比学习里 batch 越大、负样本越多、信号越强。
  • 最大模型 RN50x64 训了 18 天 / 592 块 V100;ViT-L/14 训了 12 天 / 256 块 V100
  • 用了 mixed-precision、gradient checkpointing、半精度 Adam 状态、跨 GPU sharding 相似度计算。

Step 7:Zero-shot 推理

下游分类(以 ImageNet 为例):

  1. 把 1000 个类名套模板(论文最终用了 80 个不同模板做 ensemble)丢进文本编码器,缓存好 1000 个文本向量。
  2. 测试图过图像编码器,跟 1000 个文本向量算余弦相似度,argmax 就是预测。

prompt engineering 是 CLIP 的"小秘密"——论文说光是把 "{label}" 改成 "a photo of a {label}." 就能在 ImageNet 涨 1.3%;80 个模板 ensemble 再涨 3.5%;总共 prompt 工程能涨 5%,相当于免费多 4 倍算力。

所以这一节是想说:CLIP 的算法本身极其简单(7 行 numpy 伪代码),真正难的是规模化训练和 prompt 工程的工程经验。

关键数字

  • 4 亿:WIT 数据集的图文对数量,是当时学术界最大公开图文数据集(YFCC100M)的 4 倍。
  • 50 万:构造 WIT 时使用的搜索 query 数量,每个 query 至多取 2 万对做类别均衡。
  • 32768:训练 batch size。对比学习里"负样本数 = batch_size - 1",batch 越大效果越好。
  • 76:文本编码器最大序列长度(token 数)。
  • 76.2%:ViT-L/14@336px 在 ImageNet 上的 zero-shot top-1 准确率,追平有监督 ResNet-50
  • 95%:同模型在 ImageNet 上的 zero-shot top-5 准确率,追平 Inception-V4。
  • +5%:prompt engineering + ensembling 在 36 个数据集上平均带来的提升,相当于免费 4 倍算力。
  • 16/27:zero-shot CLIP 在 27 个数据集上有 16 个超过"在 ResNet-50 特征上拟合的有监督 logistic regression"基线。
  • 4-shot 等价:zero-shot CLIP 平均等价于在同一特征空间上跑 4-shot logistic regression。
  • 1000x:论文估计 CLIP 想达到 SOTA 还需要 1000 倍算力,"用现有硬件不可行"。
  • 18 天 / 592 块 V100:最大 ResNet 模型 RN50x64 的训练成本。
  • 88%:CLIP 在 MNIST 上的 zero-shot 准确率,比一个在原始像素上的 logistic regression 还差——揭示了 CLIP 的分布外脆弱性。
  • 405 年:如果一张图看一秒,看完 CLIP 训练时见过的 128 亿张图(4 亿 × 32 epochs)需要的时间,论文用这个数字反衬"数据效率没解决"。

所以这一节是想说:4 亿数据 + 32K batch 是规模性突破的两个关键数字;76.2% zero-shot ImageNet 是结果性突破;MNIST 上的 88% 提醒你这个模型并非万能。

应该懂的新词

  • 对比学习(Contrastive Learning):一类自监督学习方法,目标是让"相似样本"靠近、"不相似样本"远离。CLIP 把"配对的图文"当作正样本对,"不配对的"当作负样本。
  • 嵌入空间(Embedding Space):把不同模态(图、文)通过编码器映射到的同一个高维向量空间。CLIP 用 512 维。
  • 余弦相似度(Cosine Similarity):两个向量夹角的余弦值,等于 L2 归一化后的点积。范围 [-1, 1],越大越像。CLIP 整个训练目标都是基于这个相似度。
  • InfoNCE 损失:对比学习的标准损失函数,本质是带温度的多分类交叉熵,把"正样本对"当成正确类别,把同 batch 其他样本当成错误类别。
  • Zero-shot Transfer(零样本迁移):模型在不见任何下游数据集训练样本的情况下直接评测。CLIP 把 NLP 里的 zero-shot 概念引进了 CV。
  • Prompt Engineering(提示工程):通过修改输入文本模板(如 "a photo of a {label}." 改成 "a satellite photo of a {label}.")来提升模型表现。CLIP 在 GPT-3 之后把这个概念正式带进 CV。
  • 温度参数 τ:softmax 内部的缩放因子,控制概率分布的锐度。CLIP 把它做成可学习参数。
  • Hypernetwork(超网络):一个生成另一个网络权重的网络。论文把 CLIP 的文本编码器解释成"根据类名生成线性分类器权重"的 hypernetwork——这是理解 CLIP zero-shot 能力的最佳视角。
  • Linear Probe(线性探针):评估表征质量的标准方法——冻住主干网络,只在特征上拟合一个线性分类器。
  • ViT(Vision Transformer):把图像切成 patch 后用 transformer 处理,2020 年由 Dosovitskiy 等人提出。CLIP 用它做最强版本的图像编码器。
  • BPE(Byte Pair Encoding):一种子词分词方法,把"unhappiness"拆成"un + happi + ness"。CLIP 文本编码器用 49152 大小的 BPE 词表。
  • WIT(WebImageText):CLIP 自己构造的 4 亿对图文数据集,名字源自维基百科风格的开放领域。注意:这个数据集没开源,只有模型权重开源了。
  • 分布外(Out-of-Distribution,OOD)泛化:模型在训练数据分布之外的数据上的表现。CLIP 在 ImageNet 系列变体(Sketch、A、R)上 OOD 鲁棒性很好,但在 MNIST 上很糟。

所以这一节是想说:CLIP 引入或带火了"对比学习 + 嵌入空间 + zero-shot + prompt engineering"这一整套词汇,后续 VLM 论文几乎都在这个词典里讨论问题。

搞不定的

CLIP 自己列了一长串 limitation,挑最重要的几条:

1. 复杂、抽象、专业的任务很弱

  • 细粒度分类(车型、花种、飞机型号)不行,因为预训练数据里这些细分概念出现频率低。
  • 计数(CLEVRCounts)不行——CLIP 看不出"3 个红立方体"和"4 个红立方体"的区别。
  • 距离估计(KITTI)不行——它没有 3D / 几何理解能力。
  • 卫星图(EuroSAT、RESISC45)和医学图(PatchCamelyon)不行——这些视觉概念在互联网图文对里几乎不出现。

2. 真 OOD 数据上脆弱

  • 经典反例:MNIST 上 zero-shot CLIP 只有 88%,比在原始像素上跑 logistic regression 还差
  • 原因:互联网图文对里几乎没有手写数字这种像 MNIST 的图。
  • 论文一句话点破:"CLIP 没有解决深度学习的脆弱泛化问题,只是寄希望于把数据放大到一切都在分布内"——MNIST 一个简单反例就证伪了这个假设。

3. 仍受限于"给定的类别集合"

  • CLIP 只能在你提供的 N 个类名里选最可能那个,不能像 image captioning 那样生成新描述
  • 论文建议未来工作:把对比目标和生成目标联合训练(这个方向后来变成了 BLIP / CoCa)。

4. Few-shot 反而比 zero-shot 差

  • 这是个反常现象。给 CLIP 加 1-shot 训练样本(在特征上拟合 logistic regression),性能反而下降,因为线性分类器一开始拟合不好"自然语言生成的初始分类器"。
  • 4-shot 才追平 zero-shot,16-shot 才超过。
  • 这跟人类完全相反——人类一张例图就能学会新概念。

5. 算力天花板

  • 论文估算 zero-shot CLIP 想到 SOTA 还要 1000 倍算力——"用现有硬件不可行"。
  • 这是后续 SigLIP、EVA-CLIP 等工作要解决的问题。

6. 数据效率没解决

  • 32 epochs × 4 亿对 = 128 亿次图像 forward。"如果每秒看一张,要看 405 年"。
  • CLIP 是"用规模换效率"的典型,没解决根本的数据效率问题。

7. 评估方式有"作弊"嫌疑

  • 论文坦白:他们在开发过程中反复在完整 validation set 上调试,这本身就违反了 zero-shot 的精神。
  • 27 个评估数据集是"cherry-picked"——为了配合 CLIP 的优势挑出来的。

8. 社会偏见

  • 训练数据没过滤,CLIP 学到了大量种族、性别偏见。论文 7.1 节专门讨论。
  • 在 FairFace 上做的初步探针显示偏见明显存在。

所以这一节是想说:CLIP 的能力边界很清晰——能做的是"互联网常见视觉概念上的开放分类",不能做的是"细粒度、抽象推理、专业领域、真 OOD",并且整套训练流程在数据效率和评估严谨性上都有遗留问题。

与别篇关系

CLIP 处于多条研究线的交汇点:

上游(CLIP 借鉴了什么)

  • GPT-1/2/3(Radford 等,2018-2020)——zero-shot transfer 的概念、prompt engineering 的雏形、"任务无关预训练"的哲学全都来自 GPT 系列。CLIP 团队就是 OpenAI 自己。
  • InfoNCE / SimCLR / MoCo(Oord 2018, Chen 2020, He 2019)——对比学习损失函数和大 batch 训练的工程经验。
  • ConVIRT(Zhang 等,2020)——医学图像领域的对比图文预训练,CLIP 直接说自己是"ConVIRT 的简化版 + 大规模化"。
  • Visual N-Grams(Li 等,2017)——第一个尝试 zero-shot 迁移到标准分类数据集的工作,CLIP 把它的 11.5% 提升到 76.2%。
  • ViT(Dosovitskiy 等,2020)——CLIP 最强版本的图像编码器。

下游(CLIP 启发了什么)

  • DALL-E 2 / Stable Diffusion——文生图模型几乎全部用 CLIP 文本编码器作为条件输入,因为它把文本嵌进了视觉空间。
  • Flamingo / BLIP / LLaVA / CoCa——后续视觉-语言基础模型,要么直接用 CLIP 视觉编码器,要么把 CLIP 的对比目标和生成目标联合起来。
  • OpenSeg / GroupViT / SAM 文本头——开放词表分割,把 CLIP 的"文本生成分类器"思路从分类扩展到分割。
  • Open-vocabulary Detection(OVD)——开放词表检测,类似思路。
  • CLIP-as-evaluator——CLIP score 被广泛用作评估生成模型(图像生成、视频生成)的指标。

和具身智能(embodied AI)的关系

  • 在本研究路径里,CLIP 是 vlm-foundation 这个 topic 的"founder"代表作。
  • 具身智能里的 VLA(视觉-语言-动作)模型,比如 RT-2、OpenVLA,都用 CLIP 风格的视觉编码器把"语言指令 + 视觉观察"对齐到同一空间。
  • 视觉导航(如 CLIP-Nav)直接用 CLIP 算"当前画面和目标描述的相似度"作为导航信号。
  • 没有 CLIP 把视觉和语言放进同一空间,后面所有"用语言指令操控机器人"的工作都没有落脚点。

所以这一节是想说:CLIP 是 2021 年后视觉-语言研究的"地基",往前继承了 GPT 和对比学习两条主线,往后辐射了文生图、VLM、open-vocabulary、VLA 整个生态。

阅读顺序

如果你是入门读者,建议这样读这篇 48 页的论文:

第一遍(30 分钟,掌握核心思想)

  1. Abstract(半页)——一句话核心。
  2. Figure 1——CLIP 的训练和推理流程图,是全文最重要的图。看懂这张图就懂了 80%。
  3. Figure 3——7 行 numpy 伪代码。读懂等于读懂算法。
  4. Section 1 引言——了解之前的工作和动机。
  5. Section 2.1-2.3——核心方法(自然语言监督的动机、WIT 数据集、对比学习的选择)。

第二遍(1 小时,理解工程细节): 6. Section 2.4-2.5——模型架构和训练规模。 7. Section 3.1(Zero-shot Transfer)——尤其 3.1.4 prompt engineering,3.1.5 性能分析。这部分有最多有价值的洞察。 8. Section 6 Limitations——论文最诚实的一章,看了之后你会对 CLIP 的能力边界有清晰认识。

第三遍(如果你做相关研究): 9. Section 3.2 Representation Learning——linear probe 评估,证明 CLIP 表征质量也强。 10. Section 3.3 Robustness——CLIP 在 ImageNet 系列分布偏移上鲁棒性的详细分析。 11. Section 4 Comparison to Human——和人类 zero-shot/few-shot 的对比,揭示 CLIP 不像人那样从 1 个例子里学。 12. Section 7 Broader Impacts——偏见、监控相关讨论,对 AI ethics 感兴趣可读。

先跳过

  • Section 5 Data Overlap Analysis(很技术,结论是数据重叠没显著影响)。
  • Section 8 Related Work(比 Section 1 更详细的版本,重复较多)。

所以这一节是想说:第一次读 CLIP 不要逐节啃,先抓 Figure 1 + Figure 3 + Section 2.1-2.3 + Section 6 这条核心主线。

FAQ

Q1:CLIP 和"图像 caption 模型"有什么本质区别? A:caption 模型(生成式)要预测每个词,目标是"输出最可能的描述";CLIP(判别式 / 对比式)只要求"在 N 个候选里挑出真 caption",不关心生成。论文 Figure 2 直接对比:caption 模型学 ImageNet 比 CLIP 慢 12 倍。

Q2:为什么 batch size 必须那么大(32768)? A:对比学习里负样本数 = batch_size - 1。负样本越多,模型要"推开"的"假对"越多,监督信号越强。batch 太小(比如 256)训出来的 CLIP 性能会差很多。这也是为什么 CLIP 必须用 600 块 V100 训的原因之一——单卡放不下这么大 batch。

Q3:温度参数 τ 为什么要可学习? A:τ 控制 softmax 锐度(小 τ 锐、大 τ 平)。手调很难——大模型和小模型最佳 τ 不一样,训练初期和末期最佳 τ 也不一样。CLIP 把 log τ 做成参数让模型自己学,省去一个调参。

Q4:为什么 zero-shot CLIP 能追平有监督 ResNet-50? A:本质是数据量碾压。ResNet-50 看 128 万张图、1000 类;CLIP 看 4 亿对图文、覆盖几乎所有英文维基百科概念。规模扩大到这个程度,"自然语言监督"的弱信号反而成了"概念多样性"的优势。

Q5:prompt engineering 真的有那么重要吗? A:对 zero-shot 重要。光是把 "{label}" 改成 "a photo of a {label}." 在 ImageNet 涨 1.3%;80 个模板 ensemble 再涨 3.5%。这个量级相当于"白送 4 倍算力"。但对 linear probe 不重要——线性分类器会自己学好。

Q6:CLIP 能做开放词表的"图像生成"吗? A:本身不能。CLIP 是判别模型,不是生成模型。但 DALL-E 2 / Stable Diffusion 把 CLIP 的文本编码器当成"语言→视觉空间"的桥梁,再叠一个 diffusion decoder 完成生成——CLIP 是它们的关键组件之一。

Q7:WIT 数据集开源了吗? A:没有。OpenAI 只开源了模型权重和代码,4 亿对原始数据没放。后来 LAION 团队复刻出了 LAION-400M、LAION-2B 等开源版本,被 OpenCLIP、SigLIP 等开源项目使用。

Q8:CLIP 和 ALIGN(Google 同期工作)什么关系? A:ALIGN(Jia 等,2021)和 CLIP 几乎同时出现,思路非常相似——也是图文对比 + 大规模数据。ALIGN 用了 18 亿对噪声更大的图文数据,证明"数据可以更脏"。两篇可以视为孪生工作,但 CLIP 因为开源 + 名字好记 + OpenAI 影响力更大,最终成了行业标准。

Q9:为什么 CLIP 在 MNIST 上反而很差? A:互联网图文对里几乎没有手写数字图——CLIP 见过的"数字"几乎都是印刷体或屏幕渲染。MNIST 是真正的 OOD 数据,CLIP 直接抓瞎。这个例子被反复用来证明"大数据并不等于解决了泛化问题"。

Q10:我现在能用 CLIP 做什么实际项目? A:开箱即用的场景非常多——

  • 用 cosine similarity 做开放词表的图像检索("找出所有戴帽子的人")。
  • 给生成模型当条件输入或评估指标(CLIP score)。
  • zero-shot 分类器做新数据集的快速基线。
  • 配合 FAISS 做大规模图文检索。
  • 做"图像-文本对齐度"的过滤器(如清洗噪声数据集)。
  • 在具身智能里做"语言指令对齐当前观察"的相似度信号。

所以这一节是想说:CLIP 的关键问题大多围绕"为什么这么简单的方法能 work" 和"这个方法的能力边界在哪里"——理解了规模、对比目标、自然语言监督这三件事的相互作用,大部分疑问就能自答。

延伸阅读

直接前置(建议先读)

  • GPT-2 / GPT-3(Radford 2019, Brown 2020)——zero-shot transfer 范式来源。
  • SimCLR(Chen 2020)——对比学习在视觉表征上的代表作,CLIP 借鉴了 InfoNCE 和大 batch 思路。
  • ViT(Dosovitskiy 2020)——CLIP 最强版本的图像编码器。
  • ConVIRT(Zhang 2020)——医学图像领域的图文对比预训练,CLIP 直接说自己是它的简化版 + 大规模化。

直接后续(CLIP 之后必读)

  • ALIGN(Jia 2021)——Google 同期工作,孪生方法,18 亿数据。
  • DALL-E 2(Ramesh 2022)——CLIP + diffusion 文生图。
  • Flamingo(Alayrac 2022)——CLIP 视觉编码器 + 大语言模型 = 通用 VLM。
  • BLIP / BLIP-2(Li 2022/2023)——把对比、匹配、生成三个目标联合训练。
  • LLaVA(Liu 2023)——CLIP 视觉特征 + LLM 微调,开源 VLM 标杆。
  • OpenCLIP / LAION(Schuhmann 2022)——开源复现 CLIP,加上更大的数据集。
  • SigLIP(Zhai 2023)——把 CLIP 的 softmax 损失换成 sigmoid,单卡也能训。
  • EVA-CLIP(Sun 2023)——更高效的训练 + 更大模型规模。

和具身智能交叉

  • CLIP-Nav / VLN-CLIP——用 CLIP 做视觉语言导航。
  • RT-2(Brohan 2023)——VLM 输出动作 token,CLIP 思想的具身版。
  • OpenVLA(Kim 2024)——开源 VLA 模型,视觉编码器用 CLIP / SigLIP。
  • CLIPort(Shridhar 2021)——CLIP + Transporter Networks 做语言条件操作。

批判 / 反思类

  • Failure modes of CLIP(多篇 follow-up)——细粒度、计数、组合性、空间推理上的失败案例。
  • Bias in CLIP(Agarwal 等)——CLIP 在性别、种族上的偏见量化。
  • Reproducing CLIP(OpenCLIP 的工程笔记)——复现 CLIP 时遇到的全部坑。

所以这一节是想说:CLIP 是一个生态的起点,往前读 GPT/SimCLR/ViT 理解它从哪里来,往后读 BLIP/Flamingo/LLaVA 理解它走向哪里,再读 SigLIP/OpenCLIP 理解工程上怎么用。

引用本笔记 / Cite this note
BibTeX
@online{eai_clip_2026,
  title       = {(readable note) Learning Transferable Visual Models From Natural Language Supervision},
  author      = {Zhou, Jason},
  year        = {2026},
  note        = {Note on a 2021 paper},
  howpublished = {\url{https://estelledc.github.io/embodied-ai-reading-station/papers/clip/}},
  organization = {Embodied AI Reading Station}
}

All 156 papers (full index)
  1. 1. LLaVA: Visual Instruction Tuning
  2. 2. 3DShape2VecSet: 3D Shape Representation for Diffusion Models
  3. 3. SayCan: Do As I Can, Not As I Say
  4. 4. OpenVLA: An Open-Source Vision-Language-Action Model
  5. 5. VLAS: VLA Model With Speech Instructions
  6. 6. MLA: Multisensory Language-Action Model
  7. 7. Cosmos Policy: Fine-Tuning Video Models for Visuomotor Control
  8. 8. CartoRadar: RF-Based 3D SLAM Rivaling Vision Approaches
  9. 9. mmCLIP: Boosting mmWave-based Zero-shot HAR via Signal-Text Alignment
  10. 10. mmNorm: Non-Line-of-Sight 3D Object Reconstruction via mmWave Surface Normal Estimation
  11. 11. Proactive Hearing Assistants that Isolate Egocentric Conversations
  12. 12. NeuralAids: Wireless Hearables With Programmable Speech AI Accelerators
  13. 13. Creating speech zones with self-distributing acoustic swarms
  14. 14. Conv-TasNet: Surpassing Ideal Time-Frequency Magnitude Masking for Speech Separation
  15. 15. SoundStream: An End-to-End Neural Audio Codec
  16. 16. AudioLM
  17. 17. Conformer
  18. 18. Dual-path RNN
  19. 19. EnCodec
  20. 20. Meta-StyleSpeech
  21. 21. MusicLM
  22. 22. Robust Speech Recognition via Large-Scale Weak Supervision
  23. 23. SeamlessM4T
  24. 24. Stable Audio
  25. 25. Universal Source Separation with Weakly Labelled Data
  26. 26. Meta-World: A Benchmark and Evaluation for Multi-Task and Meta Reinforcement Learning
  27. 27. RLBench: The Robot Learning Benchmark & Learning Environment
  28. 28. robosuite: A Modular Simulation Framework and Benchmark for Robot Learning
  29. 29. BridgeData V2
  30. 30. CALVIN
  31. 31. LIBERO
  32. 32. RH20T
  33. 33. What Matters in Learning from Offline Human Demonstrations for Robot Manipulation
  34. 34. DROID
  35. 35. Open X-Embodiment
  36. 36. RoboCasa
  37. 37. SimplerEnv
  38. 38. Diffusion Policy: Visuomotor Policy Learning via Action Diffusion
  39. 39. 3D Diffusion Policy: Generalizable Visuomotor Policy Learning via Simple 3D Representations
  40. 40. Consistency Policy: Accelerated Visuomotor Policies via Consistency Distillation
  41. 41. EquiBot: SIM(3)-Equivariant Diffusion Policy
  42. 42. DiT-Policy
  43. 43. Diffusion Policy Policy Optimization (DPPO)
  44. 44. Affordance-based Robot Manipulation with Flow Matching
  45. 45. FlowPolicy: 3D Flow-based Policy via Consistency Flow Matching
  46. 46. FAST: Efficient Action Tokenization for VLA
  47. 47. pi_0: Vision-Language-Action Flow Model
  48. 48. pi_0.5: VLA with Open-World Generalization
  49. 49. A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning
  50. 50. Generative Adversarial Imitation Learning
  51. 51. Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware (ACT/ALOHA)
  52. 52. AnyTeleop
  53. 53. Behavior Transformers: Cloning k Modes with One Stone
  54. 54. Implicit Behavioral Cloning
  55. 55. RoboCat
  56. 56. ALOHA 2
  57. 57. DexCap
  58. 58. HumanPlus
  59. 59. Generalizable Humanoid Manipulation with 3D Diffusion Policies (iDP3)
  60. 60. Mobile ALOHA
  61. 61. SmolVLA
  62. 62. Universal Manipulation Interface
  63. 63. Behavior Generation with Latent Actions (VQ-BeT)
  64. 64. ImageBind: One Embedding Space To Bind Them All
  65. 65. Connecting Touch and Vision via Cross-Modal Prediction
  66. 66. AnyMAL: An Efficient and Scalable Any-Modality Augmented Language Model
  67. 67. AudioPaLM
  68. 68. FROMAGe: Grounding LLMs to Images
  69. 69. OneLLM
  70. 70. X-VLM: Multi-Grained Vision Language Pre-Training
  71. 71. Tactile Beyond Pixels (Sparsh-X)
  72. 72. Sparsh: Self-supervised Touch Representations
  73. 73. Tactile-VLA
  74. 74. TLA: Tactile-Language-Action
  75. 75. Code as Policies: Language Model Programs for Embodied Control
  76. 76. Inner Monologue: Embodied Reasoning through Planning with Language Models
  77. 77. LLM+P: Empowering LLMs with Optimal Planning
  78. 78. PaLM-E: An Embodied Multimodal Language Model
  79. 79. ProgPrompt
  80. 80. ChatGPT for Robotics
  81. 81. GenSim
  82. 82. RoboFlamingo
  83. 83. Tree-Planner
  84. 84. VoxPoser
  85. 85. See Through Smoke: Robust Indoor Mapping with Low-cost mmWave Radar
  86. 86. Can WiFi Estimate Person Pose?
  87. 87. 3DRIMR: 3D Reconstruction and Imaging via mmWave Radar based on Deep Learning
  88. 88. milliEgo: Single-chip mmWave Radar Aided Egomotion Estimation via Deep Sensor Fusion
  89. 89. High Resolution Point Clouds from mmWave Radar
  90. 90. RadarSLAM: Radar based Large-Scale SLAM in All Weathers
  91. 91. Through-Wall Pose Imaging in Real-Time with a Many-to-Many Encoder/Decoder Paradigm
  92. 92. RFMask: A Simple Baseline for Human Silhouette Segmentation with Radio Signals
  93. 93. RFPose-OT: RF-Based 3D Human Pose Estimation via Optimal Transport Theory
  94. 94. Argus: Multi-View Egocentric Human Mesh Reconstruction Based on Stripped-Down Wearable mmWave Add-on
  95. 95. Diffusion Model is a Good Pose Estimator from 3D RF-Vision
  96. 96. Enabling Visual Recognition at Radio Frequency (PanoRadar)
  97. 97. Wave-Former: Through-Occlusion 3D Reconstruction via Wireless Shape Completion
  98. 98. Habitat: A Platform for Embodied AI Research
  99. 99. Isaac Gym: High Performance GPU-Based Physics Simulation For Robot Learning
  100. 100. DexMV
  101. 101. Habitat 2.0
  102. 102. ManiSkill
  103. 103. ProcTHOR
  104. 104. SAPIEN: A SimulAted Part-based Interactive ENvironment
  105. 105. BEHAVIOR-1K
  106. 106. Habitat 3.0
  107. 107. Isaac Lab
  108. 108. MuJoCo Playground
  109. 109. RT-1: Robotics Transformer for Real-World Control at Scale
  110. 110. 3D Diffusion Policy (DP3)
  111. 111. Octo: An Open-Source Generalist Robot Policy
  112. 112. RT-2: Vision-Language-Action Models Transfer Web Knowledge to Robotic Control
  113. 113. RT-Trajectory: Robotic Task Generalization via Hindsight Trajectory Sketches
  114. 114. 3D-VLA
  115. 115. DexVLA
  116. 116. GR-2: Generative Video-Language-Action Model
  117. 117. OpenHelix
  118. 118. OpenVLA-OFT
  119. 119. RDT-1B: Diffusion Foundation Model for Bimanual Manipulation
  120. 120. RoboMamba
  121. 121. SpatialVLA
  122. 122. TinyVLA
  123. 123. TraceVLA: Visual Trace Prompting
  124. 124. Learning Transferable Visual Models From Natural Language Supervision
  125. 125. Flamingo: a Visual Language Model for Few-Shot Learning
  126. 126. BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models
  127. 127. BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation
  128. 128. DeepSeek-VL: Towards Real-World Vision-Language Understanding
  129. 129. EVA-CLIP: Improved Training Techniques for CLIP at Scale
  130. 130. FILIP: Fine-grained Interactive Language-Image Pre-Training
  131. 131. Florence-2: Advancing a Unified Representation for a Variety of Vision Tasks
  132. 132. InternVL: Scaling up Vision Foundation Models and Aligning for Generic Visual-Linguistic Tasks
  133. 133. Improved Baselines with Visual Instruction Tuning
  134. 134. OBELICS
  135. 135. Qwen-VL: A Versatile Vision-Language Model for Understanding, Localization, Text Reading, and Beyond
  136. 136. Sigmoid Loss for Language Image Pre-Training
  137. 137. What matters when building vision-language models?
  138. 138. Expanding Performance Boundaries of Open-Source Multimodal Models with Model, Data, and Test-Time Scaling
  139. 139. The Llama 3 Herd of Models
  140. 140. LLaVA-NeXT-Interleave
  141. 141. LLaVA-OneVision: Easy Visual Task Transfer
  142. 142. Long-CLIP: Unlocking the Long-Text Capability of CLIP
  143. 143. Pixtral 12B
  144. 144. Dream to Control: Learning Behaviors by Latent Imagination
  145. 145. World Models
  146. 146. DayDreamer
  147. 147. Mastering Atari with Discrete World Models
  148. 148. Dreamer V3: Mastering Diverse Domains through World Models
  149. 149. Transformers are Sample-Efficient World Models
  150. 150. TWM: Transformer-based World Models
  151. 151. 1X World Model Challenge
  152. 152. Cosmos World Foundation Model Platform
  153. 153. GAIA-1
  154. 154. Genie: Generative Interactive Environments
  155. 155. Navigation World Models
  156. 156. UniSim