news 2026/6/9 16:35:35

多模态模型CLIP详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
多模态模型CLIP详解

论文:Learning Transferable Visual Models From Natural Language Supervision


CLIP的全称是Contrastive Language-Image Pre-training(对比语言-图像预训练)。它是由OpenAI在 2021 年提出的一个多模态人工智能模型。其核心思想是通过学习大量图像及其对应文本描述之间的关系,来理解和连接视觉(图像)与语言(文本)这两个不同的模态。该模型直接使用大量的互联网数据进行预训练,在很多任务表现上达到了SOTA 。

1. CLIP模型概述

传统的监督模型会存在以下的这些缺点:

  • 模型需要用到大量的标注数据,这些标注数据获取通常成本高昂

  • 模型在当前数据集的效果比较好,但对于其他类似的数据集效果并不是很好,即泛化能力较差

  • 传统的图像分类模型无法进行类别拓展,想要保证准确率只能从头开始训练

分类模型是预测图像是否属于某个类别,CLIP采用了完全不同的分类方法:通过对比学习来学习图像与其注释之间的关联。

CLIP 的做法是使用从互联网上抓取的带字幕的图像来创建一个模型,该模型可以预测文本是否与图像匹配。如下图所示:

本质上,CLIP模型通过编码器将图像和文本映射到同一个Embedding空间中,使得匹配的图和文Embedding彼此靠近,而不匹配的图和文Embedding彼此相距较远。这种学习预测事物是否属于同一类或不属于同一类的策略通常被称为“对比学习” (contrastive Learning)

2. 模型训练和使用

如图(1)所示,模型训练

  • 输入图片->图像编码器(vision transformer)->图片特征向量
  • 输入文字->文本编码器(text )->文本特征向量
  • 对两个特征进行线性投射,得到相同维度的特征,并进行L2归一化
  • 通过余弦相似度计算两个特征向量的相似度
  • 计算图像预测文本的损失和文本预测图像的损失,最终取平均作为总损失

如图 (2)、(3) 所示,模型推理

  • 给出一些文本提示词,同时要保证正确
  • 计算每一个文本提示词图片特征相似度
  • 相似度最高的即为正确答案

CLIP训练的伪代码如下图所示:

步骤如下:

  • 提取图像、文本特征
  • 将图像、文本特征与投影矩阵相乘,并进行L2归一化,映射到共享嵌入空间
  • 计算图像和文本之间的缩放余弦相似度
  • 在列方向(axis=0)以及行方向(axis=1)计算交叉熵损失并求平均

3. 应用场景

这里给出一些应用场景,例如

1. 文搜图/图搜文

  • 实现方式:将文本/图像编码为CLIP嵌入向量,通过余弦相似度计算匹配度
  • 应用案例
    • 电商平台:输入“北欧风格沙发”自动展示相关商品图
    • 医疗影像库:用自然语言描述(如“肺部结节CT影像”)检索匹配病例

2. 视觉问答(VQA)

  • 系统架构:CLIP提取图像和问题特征,结合语言模型(如GPT-4)生成答案
  • 示例:输入“图中人物在做什么?”,CLIP匹配图像动作与文本描述生成回答。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:10:01

MCU+AT,必将让位于OpenCPU【第二章】

第二章:MCUAT架构的缺陷详解在工程实践中,MCUAT架构的表面简洁掩盖了底层复杂。许多企业在项目初期选择它,是因为“快”“熟”“有例程”,但当产品量产并进入运维阶段,问题几乎不可避免地爆发出来。以下七个层面&#…

作者头像 李华
网站建设 2026/6/10 11:10:32

QtScrcpy投屏黑屏怎么办?5个快速解决方法让你的手机界面完美显示

QtScrcpy投屏黑屏怎么办?5个快速解决方法让你的手机界面完美显示 【免费下载链接】QtScrcpy Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限 项目地址: https://gitcode.com/barry-ran…

作者头像 李华
网站建设 2026/6/6 22:43:44

如何用SlopeCraft打造震撼的Minecraft立体地图画:完整指南

如何用SlopeCraft打造震撼的Minecraft立体地图画:完整指南 【免费下载链接】SlopeCraft Map Pixel Art Generator for Minecraft 项目地址: https://gitcode.com/gh_mirrors/sl/SlopeCraft 你是否曾想在Minecraft中创作出层次分明的立体地图画,却…

作者头像 李华
网站建设 2026/6/9 23:48:00

Google的UI工具包,使用Dart语言,支持iOS/Android/Web

Flutter:Google的跨平台UI工具包在移动应用开发领域,Google的Flutter框架已成为创新的标杆。作为一款开源的UI工具包,Flutter专为高效构建高性能、高保真的应用程序而设计,支持iOS、Android和Web平台,让开发者仅需一套…

作者头像 李华
网站建设 2026/6/10 11:27:16

终极指南:Dokploy中SSL证书失效的完整修复方案

终极指南:Dokploy中SSL证书失效的完整修复方案 【免费下载链接】dokploy Open Source Alternative to Vercel, Netlify and Heroku. 项目地址: https://gitcode.com/GitHub_Trending/do/dokploy 在使用Dokploy部署应用时,SSL证书失效是新手用户经…

作者头像 李华
网站建设 2026/6/10 11:14:34

揭秘VSCode中Azure QDK断点失效之谜:3步精准定位量子程序Bug

第一章:VSCode Azure QDK 的断点设置 在量子计算开发中,调试是确保算法逻辑正确性的关键环节。使用 Visual Studio Code(VSCode)结合 Azure Quantum Development Kit(QDK)进行量子程序开发时,支…

作者头像 李华