首页 > 其他分享 >Clip介绍

Clip介绍

时间:2023-12-20 09:33:50浏览次数:35  
标签:编码器 训练 CLIP 标记 介绍 Encoder Clip

一、Clip如何训练

那像CLIP这样的语言模型究竟是怎么训练出来的呢?它们是怎么样做到结合人类语言和计算机视觉的呢?

首先,要训练一个结合人类语言和计算机视觉的模型,我们就必须有一个结合人类语言和计算机视觉的数据集。CLIP就是在像下面这样的数据集上训练的,只不过图片数据达到了4亿张的量级。事实上,这些数据都是从网上爬取下来的,同时被爬取下来的还有它们的标签或者注释
image.png
CLIP模型包含一个图片Encoder和一个文字Encoder。训练过程可以这么理解:我们先从训练集中随机取出一张图片和一段文字。注意,文字和图片未必是匹配的,CLIP模型的任务就是预测图文是否匹配,从而展开训练
image.png
CLIP 包含一个图像编码器(Image Encoder)和一个文本编码器(Text Encoder)

  1. 我们分别用俩个编码器对图像和文本进行编码,输出结果是俩个embedding向量。
  2. 我们用余弦相似度来比较俩个embedding向量相似性,以判断我们随机抽取的文字和图片是否匹配。但最开始,由于两个编码器刚刚初始化,计算出来的相似度往往会接近于0。
  3. 这时候假设我们模型的预测是 Not similar 而标签为Similar ,那么我们的模型就会根据标签去反向更新俩个编码器。

不断地重复这个反向传播的过程,我们就能够训练好两个编码器,来识别图像和文本的匹配程度。

值得注意的是,就像经典的word2vec训练时一样,训练CLIP时不仅仅要选择匹配的图文来训练,还要适当选择完全不匹配的图文给机器识别,作为负样本来平衡正样本的数量

二、利用Clip

粉色的**Unet**中每个ResNet不再和相邻的ResNet直接连接,而是在中间新增了**Attention**的模块CLIP Encoder得到的语义embedding就用这个Attention模块来处理
image.png

整个Unet是由一系列Resnet构成的。每一层的输入都是上一层的输出
可参考Stable Diffusion组成

特点

  1. Clip标记器会统一将prompt转换为单词小写
  2. 丢弃开头和结尾的空格,以及词与词之间多余的空格
  3. 支持颜文字、emoji、unicode(日语字符等)
  4. 拼写错误和罕见词可能会被标记多次
  5. 词汇顺序、数量、位置的影响

词汇->语义向量->UNet->attention机制->添加到位置标记(a position embedding token)

  • 早期的标记更具有一致性的位置,神经网络更容易预测它们的相关性
  • 开始和结束的标记总会被attention。
  • 标记越多,单个标记被注意到的概率越低

小结:

  1. 开头和结尾的词往往作用性更强
  2. 提示词越多,单个提示词作用越低
  3. 开头的数个提示词作用较强,有更强的相关

宏观来看

图片信息生成器(Image Information Creator)中,有了初始的纯噪声【下图中左下透明4X4】+语义向量【下图左上蓝色3X5】后,Unet会结合语义向量不断的去除纯噪声隐变量中的噪声,重复50~100次左右就完全去除了噪声
image.png
得益于Clip的强大,我们可以不仅可以以类标签的文本生成图像,也能通过一些英语短句来生成图像

标签:编码器,训练,CLIP,标记,介绍,Encoder,Clip
From: https://www.cnblogs.com/meidanlong/p/17915458.html

相关文章

  • 安防视频监控/可视化监控云平台EasyCVR播放鉴权与播放限制功能详细介绍
    视频监控GB28181视频管理平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,智能监控平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持视频定时轮播。视频监控汇聚平台EasyCVR支持多种播放协议,包括:HLS、HTTP-FLV......
  • MapReduce基本介绍
    MapReduce也是Hadoop里的核心内容,非常著名,五星级必须要掌握哦,本篇文章就先抛砖引玉,对MapReduce做一个基本介绍。到底什么是MapReduce     HadoopMapReduce是一个分布式计算框架,用于编写批处理应用程序。编写好的程序可以提交到Hadoop集群上用于并行处理大规模的数......
  • HDFS基本介绍
      HDFS作为Hadoop的核心知识,是必须要掌握的,写这篇文章就是总结出HDFS的最核心知识点,那就开始吧!     一:什么是HDFS     HadoopDistributedFileSystem,简称HDFS,是一个分布式文件系统。HDFS有着高容错性(fault-tolerent)的特点,并且设计用来部署在低廉的(low-c......
  • 制造业CRM系统功能好用吗?制造业CRM系统介绍
      制造业CRM管理系统的线索、订单、销售、营销功能都在制造业务环节中起着重要作用。制造业CRM系统有什么好处?制造业CRM的五大优势。在团队协作优化销售策略等方面都发挥着重要作用。一、提高线索利用率功能:线索管理CRM系统助力企业梳理整合来自官网、广告、第三方媒体等不......
  • 《CLIP:Connecting text and images》论文学习
    一、Abstract尽管深度学习已经彻底改革了计算机视觉领域,但当前的深度学习视觉方案方法存在几个主要问题:高质量的视觉数据集,制作过程耗时且成本高昂,同时只包含了有限范围的视觉概念标准的深度学习视觉模型(例如ImageNet、ResNet)擅长完成单一任务,且只能完成一个任务,需要投入巨大......
  • Kafka核心逻辑介绍
    1、概念Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica)分布式消息系统(kafka2.8.0版本之后接触了对zk的依赖,使用自己的kRaft做集群管理,新增内部主体@metadata存储元数据信息),它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基......
  • 托管班如何提高家长主动的转介绍率?
      托管班运营中会遇到很多问题,招生、续班率等都是机构很重视的问题,转介绍是机构花费时间、精力等比较低的一种招生方法,并且也更有说服力,那托管班如何提高家长转介绍率?  教学质量是根本,但是周期较长,在营销上,适合在学员进入培训机构的几节课就能转介绍,在开始的体验,不仅是学员对老......
  • 数据结构之<图>的介绍
    图(Graph)的概念:在数据结构中,图是由节点(顶点)和边组成的非线性数据结构。图用于表示不同对象之间的关系,其中节点表示对象,边表示对象之间的连接或关系。1.图的基本组成元素:节点(Vertex或Node):表示图中的实体或对象。节点可以有不同的属性和值。在某些情况下,节点也被称为顶点。边(Edge):......
  • C# 10 完整特性介绍
    C#10完整特性介绍hez2010coreclrcontributor​关注他 你经常看C#话题的内容前言距离上次介绍C#10的特性已经有一段时间了,伴随着.NET6的开发进入尾声,C#10最终的特性也终于敲定了。总的来说C#10的更新内容很多,并且对类型系统做了不小......
  • gdb基本使用介绍
    GDB介绍GDB是GNUDebugger的简称,其作用是可以在程序运行时,检测程序正在做什么。GDB程序自身是使用C/C++程序编写的,但可以支持除C/Cpp之外很多编程语言的调试。GDB原生支持调试的语言包含:C/Cpp/D/Go/Object-C/OpenCLC/Fortran/Rust等等。使用GDB,我们可以方便地进行如下任务:如果......