17.5 CLIP 深度解析:多模态 AI 的基石
CLIP(Contrastive Language-Image Pre-training)不仅仅是”一个模型”,它是多模态 AI 的转折点。理解 CLIP 的每一个细节,就是理解多模态 AI 的基础。
17.5.1 对比学习:CLIP 的训练方式
CLIP 的训练方式叫对比学习。核心思想很简单:不是教 AI “这张图是什么”,而是教它”这张图和这段话是不是在说同一个东西”。
具体做法:给 CLIP 看 4 亿对”图片+文字描述”(从互联网上爬取的),然后训练它做一件事——在一个批次的数据中,找出哪张图和哪段文字是配对的。
批次中的图片: 批次中的文字:
[猫的照片] ←→ "一只猫"
[狗的照片] ←→ "一只狗"
[车的照片] ←→ "一辆汽车"
正确匹配: 猫-猫, 狗-狗, 车-车 (对角线)
错误匹配: 猫-狗, 猫-车, 狗-车 (其他组合)
训练目标:让正确匹配的图文对在向量空间中距离最近,错误匹配的距离最远。这就像在玩”连连看”——AI 要在这堆图文里找到谁和谁是一对。
17.5.2 CLIP 的架构设计
CLIP 由两个独立的编码器组成:
- 图像编码器:早期用 ResNet-50/ViT,现在主流用 ViT-L/14(3072 个 patch,每个 patch 14x14 像素,共 768 维)。输入一张图片,输出一个固定维度的向量(如 512 维)。
- 文本编码器:一个 Transformer(类似 GPT-2 的架构),输入一段文字,输出一个同样维度的向量(512 维)。
两个编码器的输出向量通过 L2 归一化后,计算余弦相似度。训练时,最大化 N 对正确配对的相似度,最小化 N²-N 对错误配对的相似度。
17.5.3 CLIP 的训练数据:WIT-400M
CLIP 的训练数据是 4 亿对图文对(WebImageText-400M),从互联网上爬取。关键点:没有人工标注。图片的 alt 文本、标题、周围文字就是天然的描述。不需要雇人一张张标注”这是猫”、“这是狗”。
数据质量 vs 数量:4 亿对图文中有大量噪声(图片和文字不完全匹配),但 CLIP 的对比学习目标对噪声有天然的鲁棒性——只要正确配对的相似度高于错误配对的相似度,模型就能学到有用的东西。噪声图文对虽然不够精确,但提供了”弱监督”——即使描述不完全准确,也大致相关。
17.5.4 零样本分类:CLIP 的杀手锏
训练完之后,CLIP 获得了”零样本”能力——你跟它说”一只戴着墨镜的猫”,它能在几千张图片里找到最像的那张,即使它从没见过”戴着墨镜的猫”这个具体组合。因为它学会了”墨镜”、“猫”这两个概念在向量空间中的位置,然后找到同时靠近这两个概念的图片。
零样本分类的具体做法:
- 把所有类别名称变成文字:“a photo of a dog”, “a photo of a cat”, …
- 用文本编码器把这些文字编码成向量
- 用图像编码器把待分类的图片编码成向量
- 计算图片向量和每个文字向量的余弦相似度
- 相似度最高的类别就是预测结果
惊人的结果:CLIP 在 ImageNet 上达到 76.2% 的零样本准确率,而它在训练时从未见过 ImageNet 的标注。相比之下,一个在 ImageNet 上全监督训练的 ResNet-50 是 76.2%——CLIP 零样本追平了全监督模型。
17.5.5 CLIP 的局限
- 抽象概念理解差:CLIP 对”自由”、“幸福”、“正义”等抽象概念的对齐效果远不如具体物体。因为它学的是”猫的图片←→猫的文字”,但”自由”没有对应的图片。
- 计数能力弱:CLIP 分不清”两只猫”和”三只猫”。因为它学的是语义匹配,不是精确计数。
- 空间关系理解差:CLIP 不知道”左边”和”右边”、“上面”和”下面”的区别。对比学习不建模空间关系。
- OCR 能力弱:CLIP 基本不能读图片中的文字——它把文字当作纹理,而不是可读的符号。
- 拼写和组合性差:CLIP 对”一个蓝色方块在一个红色圆圈上面”这类组合性描述的理解不如对单个物体的理解。
17.5.6 CLIP 如何改变了多模态 AI
CLIP 的影响远远超出了”图文匹配”:
- 为多模态大模型奠定了基础:LLaVA、GPT-4V、Gemini 都使用 CLIP 或其变体作为图像编码器。CLIP 的视觉编码器输出可以直接输入 LLM。
- 开创了”自然语言监督”的范式:用自然语言(而不是离散类别标签)作为监督信号,模型可以学到更丰富、更灵活的视觉概念。
- 启发了大量后续工作:SigLIP(改进的对比损失)、BLIP(图文理解+生成统一)、EVA-CLIP(更强的视觉编码器)都在 CLIP 基础上改进。
- 证明了”规模”的力量:4 亿图文对 + 对比学习 = 超越全监督模型。这为后来的”大数据+大模型”路线提供了信心。
← 上一节:17.4 看图:CLIP 和视觉模型 | 下一节:17.6 视觉语言模型(VLM)详解:从看图到对话 →