【机器视觉】必会算法之:CLIP(对比语言-图像预训练)

发布时间:2026/11/2 1:57:33
【机器视觉】必会算法之:CLIP(对比语言-图像预训练) 机器视觉之CLIP1、引言2、CLIP(Contrastive Language-Image Pre-training)2.1 定义与解析2.2 核心原理2.2.1 双塔结构图像编码器 文本编码器2.2.2 对比学习把配对拉近、把非配对推远2.2.3 训练数据4 亿图文对2.2.4 零样本分类用文本当分类器2.3 实现方式 / 工作流程2.4 算法公式2.5 代码示例3、总结1、引言小屌丝鱼哥最近搞图像分类发现个怪事——我训的模型换个数据集就拉胯咋回事啊小鱼嘿这叫数据集偏见模型只认你喂的那几个类没见过的它一脸懵。小屌丝那有没有那种啥都能认一点的万能模型小鱼有而且思路特别骚——直接让图像和文字谈恋爱。这就是今天的主角CLIP。小屌丝图……和文谈恋爱鱼哥你别又整抽象。小鱼(⊙o⊙)… 用对比学习把图像和对应文字塞进同一个向量空间谁跟谁是一对模型自己学会。零样本分类就是从这儿来的。小屌丝懂了一个看图说话、一个听文认图最后他俩能在同一个坐标系里对上号。小鱼精辟。那咱开整。2、CLIP(Contrastive Language-Image Pre-training)2.1 定义与解析CLIPContrastive Language-Image Pre-training对比语言-图像预训练是 OpenAI 在 2021 年提出的多模态预训练模型。一句话理解它同时训练一个看图的编码器和一个读文的编码器让图片—文字配对样本在向量空间里挨得近、非配对样本离得远。训完之后图像和文本就共用同一个语义空间了。它最炸裂的地方在于——零样本Zero-shot。你不用再为某个新任务重新训练分类器直接拿文字描述当类别原型去比对图像就行。简单来说CLIP 把分类从背题库变成了查字典图像查到文字分类自然就出来了。2.2 核心原理2.2.1 双塔结构图像编码器 文本编码器CLIP 是两个独立的编码器双塔图像编码器Image Encoder可选ViTVision Transformer或ResNet把图像压成一个特征向量文本编码器Text Encoder一个Transformer把句子压成同维度的特征向量。关键点两塔输出维度一致如 512/640/768这样图像向量和文本向量才能直接算相似度。2.2.2 对比学习把配对拉近、把非配对推远训练数据是一堆(图像, 文本)对。在一个 batch 里真正配对的只有对角线上的 N 对其余 N²−N 对都是错的。CLIP 用对比损失训练让对角线正样本对的相似度尽可能高让非对角线负样本对的相似度尽可能低。这就逼着两个编码器把图文语义对齐到同一空间。2.2.3 训练数据4 亿图文对CLIP 在4 亿400M从互联网收集的(图像, 文本)对上训练。海量、弱标注、天然多样——这正是它能泛化到没见过的任务的底气。2.2.4 零样本分类用文本当分类器推理时比如要分狗/猫/车就把类别名套进模板“a photo of a dog” / “a photo of a cat” / “a photo of a car”用文本编码器编码这些句子再和图像向量算余弦相似度谁最像就是哪类。整个过程没有任何新增训练参数。2.3 实现方式 / 工作流程CLIP 的推理可以压缩成 4 步编码图像图像过 Image Encoder → 图像向量I II编码文本候选类别描述过 Text Encoder → 一组文本向量{ T 1 , T 2 , . . . } \{T_1,T_2,...\}{T1​,T2​,...}算相似度每个T k T_kTk​与I II做余弦相似度再乘温度系数归一化选类softmax 后取概率最大的类别。Image ──▶ Image Encoder ──▶ I │ Text (prompts) ──▶ Text Encoder ──▶ {Tk} ──▶ cosine(I, Tk) ──▶ softmax ──▶ 类别2.4 算法公式CLIP 的核心是对比损失InfoNCE 的对称形式。设 batch 内有 N 对图像特征I i I_iIi​、文本特征T i T_iTi​先各自做 L2 归一化并除以温度τ \tauτsim ( I i , T j ) I i ⊤ T j ∥ I i ∥ ∥ T j ∥ ⋅ τ \text{sim}(I_i, T_j) \frac{I_i^\top T_j}{\|I_i\|\|T_j\| \cdot \tau}sim(Ii​,Tj​)∥Ii​∥∥Tj​∥⋅τIi⊤​Tj​​图像→文本方向的损失让第i ii个图像匹配第i ii个文本L i → t − 1 N ∑ i 1 N log ⁡ exp ⁡ ( sim ( I i , T i ) ) ∑ j 1 N exp ⁡ ( sim ( I i , T j ) ) \mathcal{L}_{i\to t} -\frac{1}{N}\sum_{i1}^{N} \log \frac{\exp(\text{sim}(I_i, T_i))}{\sum_{j1}^{N}\exp(\text{sim}(I_i, T_j))}Li→t​−N1​i1∑N​log∑j1N​exp(sim(Ii​,Tj​))exp(sim(Ii​,Ti​))​总损失为双向对称平均L 1 2 ( L i → t L t → i ) \mathcal{L} \frac{1}{2}(\mathcal{L}_{i\to t} \mathcal{L}_{t\to i})L21​(Li→t​Lt→i​)。记住一句话正样本对相似度拉满负样本对压下去图文就对齐了。2.5 代码示例用 OpenAI 官方clip包跑一个零样本图像分类环境准备pipinstallgithttps://github.com/openai/CLIP.git pipinstalltorch torchvision pillow零样本分类importclipimporttorchfromPILimportImage# 1、加载模型可选 ViT-B/32、ViT-B/16、ViT-L/14 等devicecudaiftorch.cuda.is_available()elsecpumodel,preprocessclip.load(ViT-B/32,devicedevice)# 2、准备图像与候选文本imagepreprocess(Image.open(dog.jpg)).unsqueeze(0).to(device)labels[a photo of a dog,a photo of a cat,a photo of a car]textclip.tokenize(labels).to(device)# 3、前向得到图像-文本相似度已含温度缩放withtorch.no_grad():logits_per_image,_model(image,text)probslogits_per_image.softmax(dim-1).cpu().numpy()[0]# 4、输出概率forlabel,pinzip(labels,probs):print(f{label}:{p:.3f})# 例a photo of a dog: 0.912图像检索以文搜图# 把一批图像编码成向量用文本向量去检索最相近的图withtorch.no_grad():image_featuresmodel.encode_image(image_batch)# [B, D]text_featuremodel.encode_text(clip.tokenize([a sunset on the beach]).to(device))sims(image_features text_feature.T).softmax(dim0)top_idxsims.argmax().item()# 最匹配的图像索引小提示CLIP 是后续一大波多模态模型的地基——DALL·E、Stable Diffusion 的文本条件、BLIP、LLaVA 都建立在它的图文对齐思想之上。学会了 CLIP半个多模态圈子你就通了。典型应用场景零样本图像分类、以文搜图 / 以图搜文、图像检索、内容审核、作为下游生成模型扩散模型的文本条件编码器。3、总结今天这篇把CLIP对比语言-图像预训练啃了一遍是什么OpenAI 的多模态模型把图像和文本对齐到同一向量空间怎么搭图像编码器 文本编码器双塔对比损失训练强在哪4 亿图文对喂出来的天然零样本换个任务不用重训怎么用文本当分类器算余弦相似度 softmax几行代码就跑通往哪走它是 DALL·E、Stable Diffusion、LLaVA 等多模态模型的共同基石。到这儿你手里又多了一把万能钥匙。配合前面咱讲过的SAM分割一切图文分割识别的活儿基本都能拿下。我是小鱼CSDN 博客专家AIGC MVP专家阿里云 专家博主51CTO博客专家企业认证金牌面试官多个头部名企认证特邀讲师等名企签约职场面试培训、职场规划师多个国内主流技术社区的认证专家博主多款主流产品(阿里云等)评测一等奖获得者关注小鱼学习【机器视觉与目标检测】最新最全的领域知识。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询