AI 与大模型 · 第 12 期 · 第二季第 4 期

CLIP,让模型看懂图也读懂字

对比学习 · 图文对齐到同一空间

一句话结论:CLIP 把图和字塞进同一个向量空间,用对比学习拉近匹配的图文对、推开不匹配的。训练完,"一只猫的图"和"一只猫"的文字向量很近。这就是扩散模型能听懂"画猫"的基础——它靠 CLIP 的文本编码器理解条件。
⏱ 约 9 分钟 🎯 想搞懂多模态对齐的人 📦 源:ai-engineering-from-scratch §13

01反共识:不是分类,是对齐

传统视觉模型是"给图打标签"——1000 个固定类别。CLIP 不预设类别,它学的是"图和字的关系"。

训练时,一个 batch 拿 N 对(图,描述文字)。图过图像编码器得向量 I,字过文本编码器得向量 T。目标是:让匹配的 Iᵢ 和 Tᵢ 余弦相似度大,不匹配的(Iᵢ 和 Tⱼ, i≠j)相似度小。这就是 InfoNCE 对比损失。

L = −log Σᵢ exp(Iᵢ·Tᵢ/τ) / Σⱼ exp(Iᵢ·Tⱼ/τ)

训练完,两个编码器把图和字映射到同一空间。零样本分类:给一张图,把它和"一只猫""一只狗""一辆车"等候选文字各算相似度,取最大的——不用训练就能分类新类别。这是 CLIP 的革命性:类别随文字自由扩展。

不预设类别,
让文字定义类别。
灏天文库 · AI 与大模型 P.35

02图文对齐演示:选图看候选句子相似度

选一张图,看 CLIP 怎么把它和候选文字对齐——匹配的相似度高,不匹配的低。

🧭 图文对齐演示
选一张图,看候选句子和它的相似度(模拟 CLIP 输出)。
点击下方任一图
🐱
🐶
🚗
🌅

03CLIP 为什么是扩散模型的"眼睛"

Stable Diffusion 生成时,用户输入"一只赛博朋克猫"。这段文字先过 CLIP 文本编码器(或其变体),得到一个条件向量,注入 U-Net 的每一步去噪,引导生成方向。没有 CLIP,扩散模型听不懂你要画什么。

一个常见坑:CLIP 的对齐是统计对齐不是语义对齐。"一只猫"和猫图向量近,是因为训练数据里它们共现,不是因为模型"懂"猫是什么。所以 CLIP 会犯反常识的错——把反讽文字对齐错、把抽象概念对齐偏。它是强大的相似度工具,不是真正的理解。

对齐的是统计,
不是理解。
灏天文库 · AI 与大模型 P.36

04带走这套对齐清单

✅ CLIP 6 条可执行规则

  1. 本质是对齐不是分类:图和字塞进同一向量空间。
  2. 对比学习训练:拉近匹配对,推开不匹配对(InfoNCE)。
  3. 零样本分类:文字定义类别,不用重训就能分新类。
  4. 扩散模型靠它懂条件:文本编码器把 prompt 变向量注入。
  5. 能做以文搜图/以图搜文:共享空间支持跨模态检索。
  6. 对齐是统计不是理解:会犯反讽、抽象概念的对齐错。
图和字进同一空间,
类别就自由了。
灏天文库 · AI 与大模型 P.37