CLIP:如何用对比学习让图像和文字说同一门“语言”
摘要
CLIP通过让图像和文字映射到同一个向量空间,实现了零样本图像识别的神奇能力。
❝"CLIP is a neural network that jointly trains an image encoder and a text encoder to map the respective modalities into the same embedding space."❞
深度解读
CLIP:如何用对比学习让图像和文字说同一门“语言”
一句话总结:CLIP通过让图像和文字映射到同一个向量空间,实现了零样本图像识别的神奇能力。
内容概览
- 主题:CLIP、对比学习、视觉编码、文本编码、零样本推断
- 适合人群:机器学习初学者、计算机视觉研究者、AI工程师、想了解多模态模型的技术爱好者
核心观点
-
CLIP联合训练图像和文本编码器,共享一个512维的向量空间
图像和文本经过各自的神经网络编码后,会被映射成512维向量,只有内容匹配的图文对向量距离才会更近。 -
通过大量无标签、自然语言描述的图文对实现对比学习
CLIP用4.4亿自然语言和图像组成的数据集训练,这摆脱了对手工标注数据集的依赖。 -
零样本推断避免了传统任务特定训练的限制
在推断时,通过计算图像向量和文本类别(自然语言描述)向量的相似度,即可实现不依赖标签的分类。
深度解读
对比学习到底是什么?
想象你拿一组照片和对应的描述,比如一张斑马的照片配上“a photo of a zebra”。CLIP通过两个独立的神经网络:
- 一个负责把图片“看成”512个数字的向量(图像编码器,ResNet或者Vision Transformer),
- 另一个负责把文字描述也转成512维向量(文本编码器,如GPT变体)。
最终目标是让真正匹配的“斑马照片”和“斑马描述”对应的向量非常接近,不匹配的则远离。这叫对比学习。
训练时,给模型一大堆成千上万张图和对应的文字,这些图文对是从网络上抓来的4.4亿对,不用人工标注。模型计算这批图和文向量后,测两者之间的余弦相似度,构建一个n×n的相似度矩阵。
然后用softmax转换为概率,和地面真实对应关系比对,计算交叉熵损失,优化模型参数。所有参数和一个叫“温度”(temperature)的超参数都会自动学习调整。
这种训练方法让模型自己学会“图和文的内在关系”,而不是靠预先定义好的具体标签。
零样本推断——不见标签也能认图
推断阶段,假如你有一张没标签的图想分类,要识别这是“斑马”、“羚羊”还是“汽车”。传统模型需要为每个类别专门训练;CLIP不一样。
它先把图片转成512维向量,然后把每个类别的自然语言描述(“a photo of a car”)也转成512维的文字向量。
把图像向量和每个类别向量算相似度,再经过softmax转成概率。
比如“a photo of an antelope”的概率是97%,其它类别只有个位数。就是这么简单。
这叫零样本学习(zero-shot learning),模型没见过具体的分类标注,但凭借训练时学到的丰富视觉及语言知识,直接完成分类。
语言监督打开理解图像的另一扇门
为什么用自然语言而不是传统的标签?标准的大型数据集ImageNet只有几百万带文本标签的图像,而CLIP用了4.4亿来自互联网的图文对。
这种数量级和无限制的开放式文本带来了更丰富的语义信息。
举个例子,视频中演示了两个差不多一样的照片:一个戴帽子,一个没戴。
用CLIP编码图片,计算两者向量的差,再拿差向量去和“hat”、“cat”、“boat”、“cup”等词向量对比。结果表明,这个差向量和“hat”词向量的相似度远超其他词。
也就是说,CLIP捕捉到了“戴帽子”这个具体语义差异,而不仅仅是像素差异。
语言监督为图像编码提供了语义的丰富维度,而不只是机械的特征提取。
线性探针检验CLIP特征
尽管零样本表现已经很好,如果你手上有一个小的标注数据集,你可以用线性探针微调CLIP。
做法是:
- 把图像编码成512维向量,
- 冻结CLIP编码器参数,
- 在向量上训练一个简单的单层线性模型(分类器),来适应你特定的任务。
这种方法模拟真实世界有限标注情况下的微调场景,常常能进一步提升性能。
值得记住的话
"CLIP is a neural network that jointly trains an image encoder and a text encoder to map the respective modalities into the same embedding space."
"Zero-shot CLIP outperforms other models trained with golden labels by leveraging natural language supervision."
"The semantic difference between images is reflected in the vector difference—language supervision creates rich image representations."
标签
AI 对比学习 视觉编码 零样本推断 多模态模型
更多值得记住的话
"Zero-shot CLIP outperforms other models trained with golden labels by leveraging natural language supervision."
"The semantic difference between images is reflected in the vector difference—language supervision creates rich image representations."