大模型学习 -- CLIP

这篇具有很好参考价值的文章主要介绍了大模型学习 -- CLIP。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文是CLIP算法的学习笔记,从CLIP算法介绍到具体实现原理,再到应用方法和后续一些优化策略来学习CLIP系列算法。

CLIP是什么:

CLIP全称是Contrastive Language–Image Pre-training,一种基于对比文本-图像对的预训练方法。

CLIP怎么做的

主要包含Text Encoder和Image Encoder两个模块,分别提取文本和图像特征,然后基于比对学习让模型学习到文本-图像的匹配关系。原文使用大规模数据(4亿文本-图像对)进行训练,基于海量数据,CLIP模型可以学习到更多通用的视觉语义信息,给下游任务提高帮助。

clip模型,学习

 

CLIP怎么用

CLIP可以应用与众多的下游任务。例如图文检索,文本视频检索,图文问答,图文生成等。

CLIP系列优化方法:

主要学习基于CLIP的后续一系列工作,包括多篇论文方法。

FLIP:Scaling Language-Image Pre-trainingvia Masking

一种简单高效的CLIP加速训练方法,只需mask掉部分图像,就可以将CLIP的训练过程加速2~3倍,而且能实现更好的性能。

 我们知道输入到image encoder(transformer)的图像先要处理成多个patch,每个patch相当于sequence中的一个词。我们对这个sequence做随机mask,按比例随机掩盖掉一些词,然后将剩下的词(image patch)输入到encoder中。

clip模型,学习

 这样做的好处是减小了sequence的长度,也就减少了计算量,训练速度更快;同时减小显存占用,可以增大batch size,有利于对比学习。另一方面,这种操作有点类似dropout,相当于正则化。

最后,为了减少分布上的gap(训练mask测试一版不mask),FLIP会在最后增加少量的unmasking训练,可以进一步提升模型的性能。

FILIP:Fine-grained Interactive Language-Image Pre-Training

CLIP的双塔结构分别提取图像和文本的全局特征做对比学习,缺少局部信息的交互,FILIP增加了image tokens和text tokens的细粒度交互。

DeCLIP:Supervision Exists Everywhere: A Data Efficient Contrastive Language-Image Pre-training Paradigm

参考博客 DeCLIP一种数据高效的CLIP训练方法 | 一起打怪升级呀

在CLIP的基础上,采用了多种监督形式,包括:

  • 单模态自监督学习
    • 图像自监督(ISS):同一张图片进过数据增强获得俩个view:(xI,x~I)(xI,x~I),将经过数据增强后的结果经过相同的encoder得到俩个embedding向量(zI,z~I)(zI,z~I),之后将其中一个embedding向量xIxI再经过一个perd层得到向量pIpI,训练时让pIpI和x~Ix~I 尽量接近;
    • 文本自监督(TSS):文本自监督使用的是MLM方法,即随机mask掉文本中15%的token,然后利用前后token预测被mask掉的token;

  • 跨模态多视角监督学习(MVS)
    • CLIP只使用的原始图像-文本对(zI,zT)(zI,zT),计算infoNCE损失,而DeCLIP中使用的是增强后的文本和图像计算infoNCE损失:(zI,zT),(z~I,zT),(zI,z~T),(z~I,z~T)(zI,zT),(z~I,zT),(zI,z~T),(z~I,z~T) ,相比CLIP多了3个监督信息;
  • 最近邻监督学习(NNS)
    • 考虑到相同的图像可能会有类似的语言描述,因此选择语言描述相似的图文进行对比学习,通过维护一个先入先出的队列来模拟整个数据的分布,从队列中选择最相似的句子作为正样本zT′zT′,之后使用InfoNCE计算最近邻损失:(zI,zT′),(z~I,zT′)(zI,zT′),(z~I,zT′);

训练loss为以上几部分的加权和:

clip模型,学习文章来源地址https://www.toymoban.com/news/detail-650452.html

到了这里,关于大模型学习 -- CLIP的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【学习学习】NLP理解层次模型

    NLP(Neuro-Linguistic Programming,神经语言程序学),由两位美国人理查得.班德勒(Richard Bandler)与约翰.葛瑞德(John Grinder)于1976年创办,并在企业培训中广泛使用。美国前总统克林顿、微软领袖比尔盖茨、大导演斯皮尔博格等许多世界名人都接受过NLP培训。 在NLP理解层次模型

    2024年02月10日
    浏览(39)
  • 大模型学习笔记04——新的模型架构

    核心思想:创建一组专家,每个输入只激活一小部分专家 混合专家模型方法: 注意 通过门控控制使用不同种类和数量的专家 所有专家的概率分布和为1,可以取其中概率较大的几个专家,而忽略概率较小的专家 需要确保所有专家都能被输入使用,如果只有一个专家活跃既是

    2024年01月20日
    浏览(42)
  • 【AI机器学习入门与实战】训练模型、优化模型、部署模型

    👍【 AI机器学习入门与实战 】目录 🍭 基础篇 🔥 第一篇:【AI机器学习入门与实战】AI 人工智能介绍 🔥 第二篇:【AI机器学习入门与实战】机器学习核心概念理解 🔥 第三篇:【AI机器学习入门与实战】机器学习算法都有哪些分类? 🔥 第四篇:【AI机器学习入门与实战】

    2024年02月12日
    浏览(50)
  • 机器学习实战六步法之训练模型、优化模型、部署模型(七)

    👍【 AI机器学习入门与实战 】目录 🍭 基础篇 🔥 第一篇:【AI机器学习入门与实战】AI 人工智能介绍 🔥 第二篇:【AI机器学习入门与实战】机器学习核心概念理解 🔥 第三篇:【AI机器学习入门与实战】机器学习算法都有哪些分类? 🔥 第四篇:【AI机器学习入门与实战】

    2024年02月08日
    浏览(37)
  • Gradio快速搭建机器学习模型的wedui展示用户界面/深度学习网页模型部署

    官网 Gradio 是一个开源 Python 包,可让您快速为机器学习模型、API 或任何任意 Python 函数构建演示或 Web 应用程序。然后,您可以使用 Gradio 的内置共享功能在几秒钟内共享演示或 Web 应用程序的链接。无需 JavaScript、CSS 或网络托管经验! 只需几行 Python 代码就可以创建一个像上

    2024年04月23日
    浏览(39)
  • BIT 变化检测模型复现 深度学习学习笔记 基于transformer结构的图像处理模型

    BIT 是用 transformer 结构进行变化检测的一个孪生网络,它的 backbone 用的是 Resnet 结构,具体结构分析可以参考这个链接的作者写的,非常清楚, http://t.csdn.cn/rA9sH。 下面就是来讲我自己的实现过程,比较简单。 首先,在官网找到相应的代码,下载解压到自己的本地。github上面的

    2024年02月10日
    浏览(39)
  • 大模型学习笔记07——大模型之Adaptation

    使用语言模型在学习了上下文后,仅通过给出的提示就能够执行一些任务 并不是所有的下游任务都可以通过提示方法完成,如: 自然语言推理(NLI) 问答(QA) 网络表格转文本 解析电子健康记录(EHR) 等 下游任务与语言模型的训练数据之间存在的问题 可能在格式和主题上

    2024年01月21日
    浏览(55)
  • DAMA学习笔记1:概念模型-逻辑模型篇

    A实体的某个字段指向 B实体的主键, 则称A实体的那个字段为该实体的外键, 一个表里可以有多个外键,也可以没有外键; 被指向的实体称为主实体(主表),也叫父实体(父表),负责指向的实体称为从实体(从表),也叫子实体(子表)。 一般在哪个表里定义外键,这个表就是子表

    2024年02月11日
    浏览(33)
  • 【深度学习】训练模型结果同时显示,模型结果对比

    码字不易,如果各位看官感觉该文章对你有所帮助,麻烦点个关注,如果有任何问题,请留言交流。如需转载,请注明出处,谢谢。 文章链接:【深度学习】训练模型结果同时显示,模型结果对比_莫克_Cheney的博客-CSDN博客 目录 目录 一、问题描述 二、解决方案 三、实验结果

    2024年02月09日
    浏览(54)
  • [模型部署]:深度学习模型部署(已更Pytorch篇)

    1. 模型保存 1.1. 使用torch.save()保存 保存和加载state_dict,即只保存模型参数 保存: 加载: 保存完整的模型文件 保存: 加载: 保存模型并恢复训练状态,断点重训 1.2. 使用torch.jit.save()保存 用于保存编译过后的模型,跨平台使用,模型中只能使用pytorch的函数,可以使用被加

    2024年02月14日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包