多模态CLIP和BLIP

一、CLIP

全称为Contrastive Language-Image Pre-Training用于做图-文匹配,部署在预训练阶段,最终理解为图像分类器。

1.背景

以前进行分类模型时,存在类别固定和训练时要进行标注。因此面对这两个问题提出CLIP,通过这个预训练模型实现zero-shot,并且判断类别不是固定的,即增加类别也不用重新训练模型。CLIP在完全不使用ImageNet中的数据训练前提下,直接zero-shot得到的结果与resnet在Imagenet数据训练后效果一样,同时CLIP的数据是从网络上爬取的4亿文本对。

2.网络模型

通过上图左边我们得知在预训练时有两个模型,一个是Bert模型做文字方面的Text Encoder,一个是ViT模型做图像方面Image Encoder。

本文对(图片信息和文字描述对应的)是从网络上爬取的有4亿对数据,但是因为都是从网络上爬取的,所以可能会有错(也就是说带有噪声,存在的问题)。从4亿对数据中,我们批次拿取batchsize为3万对的数据来进行encoder变成768维的向量。经过大量的正向传播和反向传播之后那么中间的值会越来越对齐。

过程==》假设有5张图片和5段文本,一张图片和一段文本是对应的。然后经过对应的Text Encoder和Image Encoder,分别生成五个图片编码和文字编码,然后图片编码和文字两两相互之间计算相似度,选相似度最高作为一对正样本,否则就是负样本,所以正样本个数为N,负样本为N(N-1)。这里是对比学习的思想,也就是Text Encoder和Image Encoder是在不断迭代的。

上图右边进行测试,给出图片然后给出类别种类,得出图片的编码,文字类别时加入提示词组成一个完整的话语然后再经过编码器得到文字编码,然后让图片编码和文字编码计算相似度,相似度最高的那么这个图片描述的信息就是文字信息,类别也就是文字类别。

CLIP的核心思想就是通过海量的弱监督文本对通过对比学习,将图片和文本通过各自的预训练模型获得的编码向量在向量空间上对齐。

3.结果

只能和resnet50网络进行比较,但是resnet50网络不是最强的,同时收集数据的时候很多文本对存在噪声。不过经过对比学习,Image Encoder模型和Text Encoder模型是越来越强,用于下游任务中,能帮助其他模型快速得到准确率高的结果

二、BLIP

BLIP能完成图-文匹配,同时也能完成生成任务,即文字生成图片和图片生成文字。

1.背景

视觉语言预训练旨在利用图像文本数据来教会模型共同理解视觉和文本信息的能力,但是大多数现有的预训练模型不够灵活,无法适应广泛的视觉语言任务;并且大多数模型都会对从网络自动收集的图像和替代文本对进行预训练,然而网络自动收集数据存在大量噪声。而BLIP模型与三个视觉语言目标联合预训练:图像文本对比学习、图像文本匹配和图像条件语言建模,且提出字幕和过滤,一种新的数据集增强方法,用于从噪声图像-文本对中学习。

2.网络模型

1)网络模型

其中cross attention和causal self-att分别为

流程步骤:

①首先是对图片进行ViT分片的一样操作,然后传入给transformer的编码器,输出一个向量,这个向量代表了图片是所有特征(768维度)。右边的“三个模型”相同颜色的块共用同样的参数。

②第一个模型把文字做好向量化再加上cls(表示分类任务,特殊符号,ViT中的概念),然后进入双向自注意力(可以理解为和bert一样),然后进入Feed Forward(其实就是两个全连接层),最后得到一个文本向量(768维度),然后进行ITC(对比学习,是不是一对,一对概率高不是一对概率低,两个向量尽量对齐)。

③中间的模型是把从图片得到的向量和文本向量进行交叉注意力,然后再FFN,最后就是ITM(二分类任务)

④最后一个模型,对于文本是一个一个的输入,然后让其推理预测下一个字,Causal self-att(表示单项注意力机制),LM就是重新把文本预测出来。

2)噪声模型

为了解决网络收集到的大规模数据中存在图像文本不配对的这个问题,BLIP通过引入两个模块来引导字幕:字幕生成器Captioner和过滤器Filter。字幕生成器是一个基于图像的文本解码器,给定网络图像,我们使用字幕生成器合成字幕作为额外的训练样本。过滤器是一个基于图像的文本编码器,它会删除与相应图像不匹配的嘈杂文本。

步骤流程:

①上图的左边D中的Iw和Tw分别表示图像和文本,红色的表示从网络爬取下来,可能会出现不匹配,Ih和Th绿色的表示人为进行处理的数据对它们匹配的。

②然后我们把这些数据放到刚才的模型中进行训练,我们就能得到几个训练完之后的模型(ITC、ITM和LM)。对于得到的模型我们大概能分为两种类型,其中ITC(图文匹配,对齐)和ITM(图文匹配,二分类)为一类,而LM(看图生成文字)为一类。

③训练好的模型再把人为处理匹配对的图文分别送到(ITC ITM)图文匹配和LM看图生成文字的模型中进行训练。

④对于(ITC ITM)图文匹配的模型我们把从网络上找的图文匹配对进行训练,如果该文本对是匹配的就往后传,如果不匹配就把这个文本对丢弃。

⑤对于LM看图生文字模型,我们把从网络爬取的图片进行训练(只要图片),训练之后得到文字,再把生成的文字再放到前面的(ITC ITM)图文匹配模型上进行训练,如果匹配成功就留下(也就是说模型生成的文字和图片是匹配的),不成功就丢弃。

经过以上的步骤就能找到干净的数据,得到的干净数据再重新送到预训练模型中作为数据再得到ITC、ITM和LM。

3.结果

这个网络框架得到的模型和数据能用于下游任务中,帮助其他模型快速得到准确率高的结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1419886.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

2024年4月12日饿了么春招实习试题【第二题:魔法师】-题目+题解+在线评测【二分】

2024年4月12日饿了么春招实习试题【第二题:魔法师】-题目题解在线评测【二分】 题目描述:输入格式输出格式样例输入样例输出评测数据与规模 解题思路一:解题思路二:解题思路三:动态规划 题目描述: 塔子哥是一名魔法师…

斯坦福李飞飞最新对话:AI不会对人类造成“灭绝性危机” | 最新快讯

美国斯坦福大学教授、美国国家工程院院士李飞飞(来源:斯坦福大学账号) 北京时间 5 月 10 日凌晨举行的 Bloomberg Tech 活动上,著名华人计算机科学家、美国斯坦福大学教授李飞飞(Fei-Fei Li)与彭博社 Emily…

三星硬盘格式化后怎么恢复数据

在数字化时代,硬盘作为数据存储的核心部件,承载着我们的重要文件、照片、视频等资料。然而,不慎的格式化操作可能使我们失去宝贵的数据。面对这样的困境,许多用户可能会感到无助和焦虑。本文旨在为三星硬盘用户提供格式化后的数据…

【计算机网络】数据链路层的功能

数据链路层的基本功能: 封装成帧透明传输差错检测 数据链路层使用的信道主要有两种 点对点信道——PPP协议广播信道——CSMA/CD协议(有线局域网)、CSMA/CA协议(无线局域网) 数据链路层所处的地位 从图中可以看出,数据从主机H1送到主机H2需要在路径中…

【Java探索之旅】继承结构 继承和组合 protected final

文章目录 📑前言一、继承1.1 继承关系的代码块1.2 protected关键字1.3 继承方式1.4 final关键字1.5 继承与组合 🌤️全篇总结 📑前言 在面向对象编程中,继承是一种重要的概念,它允许我们创建一个新类,从现有…

树莓派realVNC分辨率不对

用putty进入树莓派 输入sudo raspi-config 找到第二个 里面有一个VNC resolution好像是这个,可以调节分辨率

有哪些是618必买的数码好物,这几款千万别错过

备受瞩目的618购物节即将拉开帷幕,身为数码领域的资深发烧友,我迫不及待地要为大家呈现一系列精心挑选的数码产品。无论您是热衷于追求科技尖端的先锋者,还是希望用智能设备为生活增添一抹亮色的品味人士,这里总有一款能让您心动的…

如何将一个VPS上的网站全部迁移至另外一个VPS服务器

最近我们老的VPS即将到期,由于近期Hostease的VPS活动力度较大,我们购买了Hostease的VPS,购买后需要将原服务器的所有网站迁移到Hostease提供的VPS中。在Hostease技术人员的帮助下,我们成功进行了迁移,下面我就介绍此次…

Vue常用指令修饰符

指令修饰符 什么是指令修饰符?按键修饰符v-model修饰符事件修饰符 什么是指令修饰符? ​所谓指令修饰符就是通过“.”指明一些指令后缀, 不同的后缀封装了不同的处理操作 —> 简化代码 按键修饰符 keyup.enter —>当点击enter键的时…

用大于meilisearch-java-0.7.0.jar的报错的解决

Elasticsearch 做为老牌搜索引擎,功能基本满足,但复杂,重量级,适合大数据量。 MeiliSearch 设计目标针对数据在 500GB 左右的搜索需求,极快,单文件,超轻量。 所以,对于中小型项目来说…

【Android】Kotlin学习之Kotlin方法的声明和传参

方法声明 普通类的方法 静态类的方法 不需要构建实例对象, 可以通过类名直接访问静态方法 : NumUtil.double(1) companion object 伴生类的方法 使用companion object 在普通类里定义静态方法 参数 括号内传入方法 : 当参数是方法时, 并且是最后一个参数 , 可以使用括号外…

李宏毅-注意力机制详解

原视频链接:attention 一. 基本问题分析 1. 模型的input 无论是预测视频观看人数还是图像处理,输入都可以看作是一个向量,输出是一个数值或类别。然而,若输入是一系列向量,长度可能会不同,例如把句子里的…

39-5 入侵检测系统(IDS)- 安装配置IDS(注意我没安装成功,阅读需谨慎)

官网:Snort Rules and IDS Software Download 参考: (这位大佬分享了安装包下载链接):https://www.cnblogs.com/taoyuanming/p/12722263.html (安装过程参考这位大佬):Snort 安装与配置(CentOS 7)_centos 7 snort-CSDN博客一、安装 IDS(我这里在 CentOS 7 虚拟机中安…

小红书·电商运营课:小红书开店流程,小红书电商如何运营(18节视频课)

课程目录 第1节课:学习流程以及后续实操流程注意事项 第2节课:小红书店铺类型解析以及开店细节 第3节课:小红书电商运营两种玩法之多品店铺解析 第4节课:小红书电商运营两种玩法之单品店铺解析 第5节课:选品课(多品类类目推荐) 第6节课:选品课(多品类类目推荐) 第7节课:…

CSS 网格布局一行X个排列

<div class"icon-box"><divv-for"(item,index) in icon" :key"index" class"icon"style"cursor: pointer">{{item}}</div></div>.icon-box{display: grid; /**网格布局*/grid-template-columns: r…

Java 常见集合类

集合的整体框架 Java 的集合&#xff0c;也可以叫做容器&#xff0c;根据集合的整体框架可以看出&#xff0c;主要是两大集合接口&#xff1a;第一个是 Collection 接口&#xff0c;主要用来存放单一的元素对象&#xff1b;另一个是 Map 接口&#xff0c;主要用于存储键值对。…

国产版Sora到来!视频大模型更上一层楼

大模型的快节奏发展&#xff0c;让了解最新技术动态、积极主动学习成为每一位从业者的必修课。InfoQ 研究中心期望通过每周更新大模型行业最新动态&#xff0c;为广大读者提供全面的行业回顾和要点分析。现在&#xff0c;让我们回顾过去一周的大模型重大事件吧。 一、重点发现…

词令蚂蚁新村今日答案:微信小程序怎么查看蚂蚁新村今天问题的正确答案?

微信小程序怎么查看蚂蚁新村今天问题的正确答案&#xff1f; 1、打开微信&#xff0c;点击搜索框&#xff1b; 2、打开搜索页面&#xff0c;选择小程序搜索&#xff1b; 3、在搜索框&#xff0c;输入词令搜索点击进入词令微信小程序&#xff1b; 4、打开词令微信小程序关键词口…

利用一下Chat-GPT写两段处理字符串的简单样例ABAP程序。这样可以大大提高工作效率。Chat-GPT的能力真是让人震撼。

我让Caht-GPT写两段ABAP 程序&#xff0c;第一段程序要求如下&#xff1a; 判读字符串里面是否含有特殊字符&#xff0c;这里说的特殊字符不包括键盘上能够输入的字符&#xff0c;如果有这样的特殊字符则输出来。 DATA: lv_string TYPE string VALUE 你的字符串,lv_result TYP…

算法金 | Xorbits,一个超强的 Python 库

本文来源公众号“算法金”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;Xorbits&#xff0c;一个超强的 Python 库 1 Xorbits 库介绍 在数据科学和机器学习的世界里&#xff0c;处理大规模数据集和复杂计算的需求日益增长。 这…