当前位置: 首页 > news >正文

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

http://www.jsqmd.com/news/349525/

相关文章:

  • 2026年度工业互联网+安全公司推荐榜单:技术创新与商业价值双维度综合评估 - 十大品牌推荐
  • 使用 FVM 管理 Flutter-OH 多版本:高效切换鸿蒙 Flutter 开发环境
  • 数据结构:双向链表(1~2) - 详解
  • 集团型企业 EHR 系统怎么选?从实用性出发的关键考察方向
  • 2026 年企业 HR 选型指南:智能 EHR 系统与传统人事软件核心区别
  • 破解 HR 数据孤岛:一体化智能 EHR 厂商的选择逻辑与关键维度
  • 手把手教你如何进行内网渗透, 零基础入门到精通,收藏这一篇就够了
  • 欧派木门联系方式:官方联络方式及通用建议汇总 - 品牌推荐
  • FaceSeeker 慧眼寻人 v1.6 本地 AI 批量人脸识别工具
  • 番茄叶病害数据集
  • 番茄叶病害数据集
  • 水稻叶病害数据集(只能用于图像分类,没有打yolo标签)
  • 【小程序毕设全套源码+文档】基于Android的民宿预订系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 【小程序毕设源码分享】基于springboot+Android平台的诗词学习系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • Ollama微调保姆级教程:零复杂部署,普通人也能搞定专属AI模型?
  • 【小程序毕设源码分享】基于springboot+Android和java的酒店管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 机械制造行业如何优化大文件上传下载的解决方案总结?
  • 收藏!DeepSeek带动大模型爆发,算法工程师迎黄金期,小白/程序员必看红利指南
  • 工业AI平台:从工具到神经系统的技术跃迁
  • 一文快速掌握知识图谱,大模型入门到精通,收藏这篇就足够了!
  • GMS软件 | 如何为地下水模型选择合适的 MODFLOW程序包
  • 如何构建一个能自我进化的工厂大脑系统?
  • C++ 核心知识点梳理
  • 收藏级|一图看懂传统RAG与Agentic RAG实战差异(小白程序员必看)
  • Ollama:本地运行 Llama 2、Mistral、Gemma 和其他大型语言模型
  • vscode shh remote windows平台连不上,一直让我选平台输密码循环,解决办法,降低vscode版本
  • 我已经不知道做什么app工具了----几乎都有了
  • Canvas表格绘制教程:网格线、文本填充与优化技巧
  • 炒股的成功率确实比创业成功率高得多
  • 个人或者“一人公司”搭建AI知识库的三种部署方式分析