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

CLIP模型

1. 模型架构:双编码器

CLIP 采用了一个简洁而强大的双塔结构(Dual-Encoder),由两个核心组件构成:

a) 图像编码器 (Image Encoder)
  • 功能:将输入图像转换为一个高维向量表示(特征嵌入)。

  • 实现:CLIP 论文中尝试了多种架构,如:

    • ResNet-50ResNet-101ResNet-50x4ResNet-50x16ResNet-50x64(基于 EfficientNet 的改进版)。

    • Vision Transformer (ViT):如 ViT-B/32, ViT-B/16, ViT-L/14。

  • 输出:一个固定大小的特征向量(例如,512 或 768 维)。最终,性能最好的模型是 ViT-L/14

b) 文本编码器 (Text Encoder)
  • 功能:将输入文本描述转换为一个相同高维空间中的向量表示。

  • 实现:采用了 Transformer 架构(具体是 GPT-2 的修改版)。

  • 输入处理:文本被截断或填充至最大长度(77 个 token)。文本前后会添加 [SOS] 和 [EOS] 令牌。

  • 输出:使用 [EOS] 令牌对应的输出作为整个文本的聚合特征向量。其维度与图像特征向量相同。

关键:两个编码器将图像和文本分别映射到同一个多模态嵌入空间。在这个空间里,语义相似的图像和文本的向量距离很近。


2. 训练过程:对比学习

这是 CLIP 成功的最关键之处。其训练过程非常巧妙。

  1. 构建批次:从一个巨大的数据集中采样一个 batch 的 N 个图像-文本对。

  2. 编码:图像编码器处理所有 N 张图像,得到 N 个图像特征向量 I_1, I_2, ..., I_N。文本编码器处理所有 N 个文本,得到 N 个文本特征向量 T_1, T_2, ..., T_N

  3. 计算相似度矩阵:计算所有图像和所有文本特征向量之间的点积(相似度),得到一个 N x N 的矩阵。

    • 对角线上的元素 (I_i, T_i)正样本对(它们是匹配的)。

    • 非对角线上的元素 (I_i, T_j where i != j)负样本对(它们是不匹配的)。

  4. 优化目标:模型的学习目标是最大化正样本对的相似度,同时最小化负样本对的相似度

  5. 对称损失函数:使用一个对称的交叉熵损失函数,分别从“图像->文本”和“文本->图像”两个方向计算损失,然后取平均。

    • 图像->文本:对于每张图像 I_i,将其与所有文本计算相似度,做一个 N 分类,目标类别是 i

    • 文本->图像:对于每个文本 T_i,将其与所有图像计算相似度,做一个 N 分类,目标类别是 i

这种批内对比学习的方式效率极高,模型从海量的负样本中学会了区分细微的差别。


3. 零样本推理:真正强大的地方

训练好的 CLIP 模型无需任何微调,就可以用于执行多种下游任务。其零样本推理流程如下:

  1. 任务定义:将任何分类任务转化为图像-文本匹配任务。

    • 例如,ImageNet 分类不再是“1000 选 1”,而是“判断图片最匹配哪个文本描述”。

  2. 构建文本提示:为数据集的每个类别创建文本描述。

    • 原始标签:"dog", "cat"

    • 提示工程:"a photo of a {label}" -> "a photo of a dog", "a photo of a cat"

    • 提示工程能显著提升性能,因为模型是在自然语言句子上训练的,而不是孤立的单词。

  3. 编码与计算

    • 图像编码器处理输入图像,得到特征向量 I

    • 文本编码器处理所有候选文本提示(如 1000 个 ImageNet 类别提示),得到一组文本特征向量 {T_1, T_2, ..., T_K}

  4. 相似度计算与选择:计算图像特征 I 与每一个文本特征 T_k 的余弦相似度。

  5. 预测:选择相似度最高的文本提示所对应的类别作为图像的预测结果。

“零样本” 体现在:模型在训练时从未见过ImageNet 的图片和其人工标注的“狗”、“猫”标签,但它通过理解“a photo of a dog”这个自然语言描述,成功地对图像进行了分类。


4. 主要特点与优势

  1. 强大的零样本性能:在多个图像分类基准上,无需任何数据集特定的训练,就能达到甚至超过有监督的 ResNet-50。

  2. 极高的泛化能力:可以应用于几乎任何视觉概念,只要能用语言描述。它打破了传统模型封闭的类别限制。

  3. 多任务能力:同一个模型无需改动,即可用于图像分类图像检索图像生成引导(如 DALL·E 2, Stable Diffusion)、动作识别地理定位等多种任务。

  4. 鲁棒性:对数据的分布偏移(如艺术风格、素描)表现出比传统模型更好的鲁棒性。


总结来说,CLIP 是一个开创性的工作,它通过简单的对比学习目标,在超大规模图像-文本对上进行训练,成功地创建了一个能够深刻理解视觉内容与自然语言之间联系的模型,并为“基础模型”时代的到来奠定了重要基石。


文章转载自:

http://RJnA6aSq.gdLjq.cn
http://C538Y81m.gdLjq.cn
http://zlfUCwJY.gdLjq.cn
http://2HFYU5dT.gdLjq.cn
http://KPgFbuHP.gdLjq.cn
http://eGffghE3.gdLjq.cn
http://sUUDoVeI.gdLjq.cn
http://shiRYh4n.gdLjq.cn
http://eb41BQeI.gdLjq.cn
http://EGSjit5K.gdLjq.cn
http://r6Ut6Q4c.gdLjq.cn
http://4oKlxjHv.gdLjq.cn
http://7m8949Vy.gdLjq.cn
http://95ItEyFH.gdLjq.cn
http://oQCZPsB4.gdLjq.cn
http://lOUcUASJ.gdLjq.cn
http://w5ex2s6Q.gdLjq.cn
http://2mllQlQo.gdLjq.cn
http://XyKId2s2.gdLjq.cn
http://wScJhXUL.gdLjq.cn
http://DRVj75XA.gdLjq.cn
http://HcmQNAl9.gdLjq.cn
http://WUDSOMb1.gdLjq.cn
http://vb0X4bAD.gdLjq.cn
http://ri0rGwJ5.gdLjq.cn
http://zA1k2o04.gdLjq.cn
http://fEHfQbX9.gdLjq.cn
http://asJa3WRD.gdLjq.cn
http://ULPqpaFY.gdLjq.cn
http://qubZU9QI.gdLjq.cn
http://www.dtcms.com/a/366941.html

相关文章:

  • 深度学习篇---SENet网络结构
  • JS初入门
  • 大数据开发计划表(实际版)
  • TypeScript 增强功能大纲 (相对于 ECMAScript)
  • LLAMAFACTORY:一键优化大型语言模型微调的利器
  • DeepSeek文献太多太杂?一招制胜:学术论文检索的“核心公式”与提问艺术
  • Android AI客户端开发(语音与大模型部署)面试题大全
  • hutool的EnumUtil工具类实践【持续更新】
  • 从基础到实践:Web核心概念与Nginx入门全解析
  • 深度学习:基于自定义 ResNet 的手写数字识别实践(MNIST 数据集)
  • Day35 网络协议与数据封装
  • Vue 3 学习路线指南
  • C语言基础:内存管理
  • 大模型应用开发框架 LangChain
  • Deeplizard深度学习课程(六)—— 结合Tensorboard进行结果分析
  • 小程序:12亿用户的入口,企业数字化的先锋军
  • 【C++题解】关联容器
  • 15,FreeRTOS计数型信号量操作
  • PMP新考纲练习题10道【附答案解析】
  • 开源技术助力企业腾飞,九识智能迈入‘数据驱动’新纪元
  • Docker(①安装)
  • [Windows] PDF工具箱 PDF24 Creator 11.28.0
  • 阿里云轻量应用服务器部署-WooCommerce
  • Java全栈开发面试实战:从基础到高并发的深度解析
  • 并非银弹,而是利器:对软件开发工具的深度探讨与理性思考
  • 使用 Sentry 为 PHP 和 Web 移动小程序提供多平台错误监控
  • 文心iRAG - 百度推出的检索增强的文生图技术,支持生成超真实图片
  • node的模块查找策略
  • HarmonyOS应用开发之界面列表不刷新问题Bug排查记:从现象到解决完整记录
  • 如何架设游戏服务器