CLIP 是什么?

CLIP是什么?图文对齐的核心思想是什么?
上篇我们聊了多模态模型怎么把文本、图像、音频这些"不同语言"翻译成机器能懂的统一表示。但你有没有想过:这个"翻译官"本身是怎么训练出来的?
具体来说,AI是怎么学会"看懂"图片的?
这就不得不提到一个关键技术——CLIP。它解决了一个很关键的问题:怎么让机器理解图像和文字之间的关系?
传统视觉AI的"苦差事"
先说说以前的做法。
传统视觉模型靠的是人工标注。你想让AI认识猫,就得找人来给几十万张图片打标签,标注"这是猫"。ImageNet就是这么干的——超过25000名标注工人,对1400万张图片标注了22000个类别。
这个过程耗时耗力。
但更麻烦的是,每换一个新任务就得重来一遍。想让AI识别医疗影像?得重新找医生标注。想让AI认蘑菇有没有毒?得找真菌专家标注。
这就好比你请了一个只会做青椒肉丝的厨师。想吃宫保鸡丁?对不起,得重新请一个。
更气人的是"鲁棒性缺口"问题。模型在ImageNet测试集上表现接近人类,但放到真实环境里,性能直接打七折。因为测试集里的照片太干净了,真实世界的照片有遮挡、有模糊、有各种奇怪的拍摄角度。
怎么解决这个问题?OpenAI的研究人员想了另一个思路。
CLIP:用自然语言当老师
CLIP的核心思路很简单:别让人工标注了,直接让AI从网上扒数据学。
网上有大量的"图片+描述文字"组合。比如一张猫咪照片,旁边配有"a cute cat playing with a ball"这样的描述。这种数据在互联网上海量存在,而且天然带着监督信号——图片和描述本来就应该对应。
CLIP用了约4亿对这样的图文数据训练。
4亿对是什么概念?你一秒看一对,得不眠不休看127年。
这个训练方式的好处是什么?不再需要人工标注类别了。AI从自然语言描述中学习,而不是从死板的标签中学习。
就像教小孩认猫。传统方法是买一本标注了"这是猫"的图册,每换一种动物就得买新书。但CLIP的方法是让孩子看动画片、绘本、真实照片,在日常生活中自然学会——即使没专门学过"猫"这个类别,他也知道猫长什么样。
这就是CLIP最重要的地方:让AI从自然语言与图像配对的监督中学习感知。

双编码器:图文对齐的核心机制
那CLIP具体是怎么做到图文对齐的?
它有两个编码器:Image Encoder(图像编码器)和Text Encoder(文本编码器)。这两个编码器各干各的活,但最后要在同一个"度量空间"里碰头。
怎么理解这个设计?
想象一个翻译官。中文编码器把"猫"翻译成向量,英文编码器把"cat"也翻译成向量。如果翻译得准确,这两个向量应该是"相近"的。
CLIP就是这样一个翻译官,只不过翻译的不是两种人类语言,而是图像和文字这两种模态。
具体训练过程叫对比学习。我给你拆解一下:
假设一批数据里有N张图片和N段文本描述。正确配对是对角线上的N对。把它们都编码成向量后,计算两两之间的相似度,得到一个N×N的矩阵。
训练目标是让对角线上的正确配对相似度越高越好,非对角线上的错误配对相似度越低越好。
这听起来挺简单的对吧?但这个设计很巧妙。模型不需要生成图片或生成文本,只需要学会判断"这张图配这段文字对不对"。这个判断任务天然适合大规模数据训练。
训练完成后,Image Encoder能把任意图片变成向量,Text Encoder能把任意文本变成向量。因为它们共享同一个度量空间,向量相近就意味着图文匹配。

零样本分类:CLIP的神奇能力
CLIP最让人惊艳的能力是零样本分类。
传统模型训练时见过哪些类别,测试时只能识别那些类别。但CLIP可以通过自然语言描述直接识别从未见过的类别。
举个例子。训练时没教过CLIP什么是"斑马",测试时只需要把候选类别写成"a photo of a zebra",CLIP就能识别斑马。
为什么能做到?
因为CLIP在训练时见过大量自然语言描述。学到的不是"第37类是斑马"这种死板的标签,而是"斑马"这个词的语义——条纹、马的形状、黑白配色等等。
所以即使第一次看到斑马,它也能通过"条纹马"的描述认出它。
这就好比你见过很多动物,对"马"和"条纹"这两个概念都有理解。别人跟你说"一种条纹的马",你大概率能认出斑马。CLIP也能做到类似的泛化。
这就是为什么CLIP被称为"零样本"——不需要针对新类别重新训练。

从CLIP到多模态时代
CLIP是当今最重要的多模态基础模型之一。
你用过的很多AI都基于CLIP或者类似的技术:GPT-4V能看图,LLaVA能进行多模态对话,Google的Gemini也用到了类似思路。
CLIP之后,学术界提出了很多改进方案。
OpenCLIP用更大规模的数据训练,效果更好。BLIP-2提升了文本理解和图像理解的能力。LLM2CLIP则增强了处理长文本描述的能力。
但CLIP也有局限性。
77个token的文本长度限制让它处理不了太长的描述。对细节的感知能力也有限——它能认出"这是一只猫",但未必能数清楚猫有几根胡须。
CLIP就像多模态AI世界的"基础设施"。它是地基,不是房子。基于它可以搭建各种应用,但CLIP本身只负责最核心的图文对齐工作。

CLIP证明的路
CLIP的出现证明了"让AI从自然语言中学习视觉"这条路走得通。
它打破了"必须人工标注才能训练视觉模型"的魔咒,开创了大规模预训练图文对齐模型的先河。
但这只是开始。77个token的限制还在,对细节的感知还有提升空间,训练数据里的偏见问题也需要解决。这些都在推动着CLIP不断进化。
说到这儿,你可能会有个疑问:CLIP把图像编码成向量了,那这个向量是怎么被大语言模型使用的?图片是怎么"喂"给大模型的?
这就是下一章要聊的内容了——视觉Token。图片在进入大模型之前,要经历一个"分词"的过程。跟文本的Token化类似,图像也有自己的Token表示方式。
具体是怎么回事?往下看。
