news 2026/5/1 6:52:37

CLIP模型学习记录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CLIP模型学习记录

目录

  • 1. 原理
    • 1.1 简介
    • 1.2 模型训练
    • 1.3 模型推理
    • 1.4 举例
  • 2. 应用
    • 2.1 零样本学习
    • 2.2 图像搜索与分类

1. 原理

1.1 简介

1. CLIP(全称是Contrastive Language-Image Pre-training)是由 OpenAI 在 2021 年提出的一种多模态机器学习模型。它旨在通过大量的文本-图像对进行训练,从而学会理解图像内容,并能将这些内容与相应的自然语言描述相匹配。CLIP 的核心思想是利用对比学习,这是一种无监督或弱监督的学习方法,通过最小化正样本之间的距离与最大化负样本之间的距离来学习表示,使得预训练一个能够同时理解图像和文本的模型。

原论文地址:https://arxiv.org/pdf/2103.00020

2. 方法概述图:

1.2 模型训练

1. 如上面图,左半部分是 CLIP 模型的对比预训练架构,通过对数据集中 N 个图像-文本对进行对比学习,使得模型能够理解文本和图像的语义关联关系。(4 亿个图文对)

2. 在预训练阶段,CLIP 模型采用了双流架构,分别处理图像和文本数据:图像流通过 ViT 编码器提取视觉特征,文本流通过 Transformer 编码器处理语言信息,两个流的输出在嵌入空间中进行对比学习,以实现图像和文本的语义对齐。

3. 对比学习是 CLIP 模型的核心,它通过比较正样本(匹配的图像-文本对,即图中对角线上N NN个匹配的图像-文本对)和负样本(不匹配的对,即N 2 − N N^2-NN2N个没有匹配的图像-文本对)来训练模型。这种学习策略使得模型能够学习到图像和文本之间的复杂关系,而不仅仅是简单的特征对应。CLIP 的对比学习框架提高了模型对视觉和语言数据的泛化能力。

4. 对比预训练的伪代码如下:

# image_encoder - 图像编码器(ResNet 或 Vision Transformer)# text_encoder - 文本编码器(CBOW 或 Text Transformer)# I[n, h, w, c] - 对齐图像的迷你批次(批大小 n,高 h,宽 w,通道数 c)# T[n, l] - 对齐文本的迷你批次(批大小 n,序列长度 l)# W_i[d_i, d_e] - 图像到嵌入向量的可学习投影矩阵# W_t[d_t, d_e] - 文本到嵌入向量的可学习投影矩阵# t - 可学习的温度参数# 提取各模态的特征表示I_f=image_encoder(I)# 图像特征 [n, d_i]T_f=text_encoder(T)# 文本特征 [n, d_t]# 联合多模态嵌入 [n, d_e]I_e=l2_normalize(np.dot(I_f,W_i),axis=1)# 归一化图像嵌入T_e=l2_normalize(np.dot(T_f,W_t),axis=1)# 归一化文本嵌入# 缩放后的成对余弦相似度矩阵 [n, n]logits=np.dot(I_e,T_e.T)*np.exp(t)# 相似度得分矩阵# 对称损失函数labels=np.arange(n)# 对角线标签(理想匹配索引)loss_i=cross_entropy_loss(logits,labels,axis=0)# 图像到文本的交叉熵损失loss_t=cross_entropy_loss(logits,labels,axis=1)# 文本到图像的交叉熵损失loss=(loss_i+loss_t)/2# 对称对比损失

1.3 模型推理

1. 如上图右半部分所示,当 CLIP 模型预训练完成后, CLIP 转换为零样本分类器。首先和训练过程一样,也是需要图像编码器将给定的图像转换为图像特征,以及文本编码器将待选文本转换为文本特征。在推理中使用一个小方法,将数据集的所有类转换为标题,例如 “a photo of a {subject}”,将给定的类别分别填入subject,并预测 CLIP 估计的标题类与给定图像的最佳配对。

2. 一些结果示例:

1.4 举例

假设有一个目标数据集,包含三个类别:猫、狗和鸟:

1. 训练阶段:

(1)输入一批图像-文本对,例如(猫的图像,"猫"的文本)

(2)图像编码器生成猫的图像特征向量,文本编码器生成 “猫” 的文本特征向量

(3)模型优化目标函数,使猫的图像特征向量和 “猫” 的文本特征向量在联合嵌入空间中的相似度最大化

2. 测试阶段:

(1)使用文本编码器将类别名称 “猫”、“狗” 和 “鸟” 分别嵌入到向量表示中

(2)对于一个新的图像,通过图像编码器生成其特征向量

(3)计算该特征向量与 “猫”、“狗” 和 “鸟” 的嵌入向量的相似度,选择相似度最高的类别作为预测结果

2. 应用

2.1 零样本学习

零样本学习(Zero-Shot Learning, ZSL)是 CLIP 模型的一个重要应用领域。在零样本学习任务中,模型需要在没有直接标注样本的情况下,对全新类别的数据进行准确预测。CLIP 模型通过其强大的多模态学习能力,能够在未见过的类别上进行有效的分类。

在零样本学习中,CLIP 模型使用类别的视觉特征和语义特征之间的关联来进行分类。具体来说,CLIP 模型会学习一个从图像特征空间到类别标签空间的映射,这个映射允许模型在没有直接样本的情况下识别新类别。

2.2 图像搜索与分类

CLIP 模型在图像搜索与分类任务中也展现出了卓越的性能。图像搜索与分类任务的目标是找到与给定查询图像或文本描述最相关的图像。CLIP 模型通过计算图像和文本之间的相似度得分来实现这一目标。

在图像搜索任务中,CLIP 模型首先将查询图像和数据库中的所有图像分别编码为特征向量,然后计算这些特征向量之间的相似度得分。这些得分可以用来对数据库中的图像进行排序,从而找到与查询图像最相关的图像。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 14:25:59

如何构建一个能自我进化的工厂大脑系统?

在制造业的演进历程中,设备的自动化曾被视为终极目标,而如今,真正的变革正悄然发生——工厂不再满足于“按指令运行”,它开始“思考”。所谓“工厂大脑”,早已超越了传统MES系统那种单向执行命令的“心脏”角色&#x…

作者头像 李华
网站建设 2026/4/23 13:31:13

高效单文件 GIF 播放器 Windows 动图逐帧查看导出工具

这款单文件 GIF 播放器是一款轻量化高效动图处理工具,无需安装即可运行,适配主流 Windows 系统,支持 GIF 动图预览、逐帧查看、播放控制、速度调节及帧导出等核心功能,为用户提供便捷的动图查看与编辑体验。 核心功能亮点 GIF 动…

作者头像 李华
网站建设 2026/4/28 16:13:49

好写作AI:论文致谢也用心——告别“复制粘贴”,让感恩拥有姓名

在论文这个庞大工程的最后,致谢页常常沦为“先感谢国家,再感谢导师,最后感谢室友不杀之恩”的格式填坑区——明明内心涌动着千言万语,落笔却只剩干巴巴的模板。如果你认为致谢不过是学术论文的“规定动作”,那就低估了…

作者头像 李华
网站建设 2026/4/12 15:24:54

重塑运维网工的未来!网络安全竟然这么牛!

重塑运维网工的未来!网络安全竟然这么牛! 根据Gartner 2025年发布的全球网络安全市场报告,网络安全行业规模已突破5000亿美元,而与之形成鲜明对比的是全球网络安全人才缺口持续扩大至350万人,中国占据其中超过30%的缺…

作者头像 李华
网站建设 2026/4/17 18:17:07

Turbo C 3.0安装配置教程,解决Win10/11兼容问题

对于许多学习C语言的朋友来说,Turbo C 3.0可能是一个既熟悉又陌生的工具。它曾经是DOS时代C语言教学的绝对主力,其简洁的集成环境和直观的操作方式影响了一代程序员。尽管如今开发环境已经天翻地覆,但理解Turbo C 3.0的基本使用,对…

作者头像 李华