首页 > 其他分享 >BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Mode

BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Mode

时间:2024-06-06 20:32:55浏览次数:28  
标签:Pre Language text Image Former LLM attn query image

Motivation & Abs

端到端大规模视觉语言预训练的开销极大。为此,本文提出了BLIP2,利用现成的冻住的image encoder以及LLM引导视觉语言预训练。

模态差距:通过两阶段训练的轻量级的Query Transformer(Q-Former)弥补。第一阶段:从冻结的image encoder引导VL学习;第二阶段:从冻结的LLM引导视觉到语言的生成学习。

Method

截屏2024-06-05 16.34.20

截屏2024-06-05 16.42.12

模型结构

Q-Former的作用是从图片中提取固定数量的特征(与图片分辨率无关),从而弥补两个模态之间的差异。Q-Former由两个transformer子模块构成,其共享self-attn层:image transformer与冻结的图像编码器进行交互,以提取视觉特征;text transformer包括encoder和decoder。image transformer的输入为一系列的learned queries,在self-attn层彼此之间进行交互;随后在cross-attn层与冻结的图像特征进行交互(方式类似detr的query)。query还可以通过参数共享的self-attn层与text进行交互。

基于预训练任务,作者使用不同的self-attn mask控制query-text的交互。Q-Former通过\(BERT_{base}\)的权重初始化(cross-attn采用随机初始化),参数量总计188M。在实验中,作者使用32个query,其中每个query的维度为768

从冻结的图像编码器引导视觉语言表征学习

使用图像文本对进行预训练。受到BLIP的启发,作者联合优化了三个预训练目标(共享相同的输入形式以及模型参数),通过三种attention mask进行控制。

Image-Text Contrastive Learning (ITC)学习将图像表征与文本表征对齐以最大化互信息,对比损失的形式与CLIP类似。因为每张图片对应多个query,作者选择了与text相似性最高的token计算image-text similarity。为避免信息泄漏,作者使用了一个统一模态的self-attn mask,query与text彼此不可见。由于image encoder是冻结的,因此每个GPU上可以放更多的样本,作者使用in-batch negatives而非BLIP的momentum queue。

Image-grounded Text Generation (ITG) loss训练Q-Former在给定图像的条件下生成文本。因为image encoder无法直接与text tokens进行交互,因此生成text的信息必须先通过query提取,随后在self-attn层与text token进行交互。在这一过程中query可以相互交互但不能与text交互,而text可以与query以及之前的text交互。

截屏2024-06-06 18.41.14

Image-Text Matching (ITM)旨在学习将image与text的表征进行细粒度对齐。这一部分本质上做的是二分类任务,即判断一个image-text pair是否是匹配的。作者使用了bi-directional self-attn mask,其中queries和texts可以相互交互。作者将output query送入一个类别数为2的线性层得到二分类分数,再对所有query得分数进行average得到最终的matching score。作者还使用了难负例挖掘从而创建包含更多信息的负样本对。

从冻结的LLM中引导视觉到语言的生成学习

在生成式预训练阶段,作者将冻结的image encoder以及Q-Former连接到冻结的LLM,从而获得LLM的生成语言能力。作者通过一个FC层将output query投影到LLM的text embedding space。经过预训练的Q-Former给出的query往往包含更有效的视觉信息,减轻了LLM学习视觉语言对齐的负担,也就减轻了灾难性遗忘

Q-Former与两种不同的LLM结合:

截屏2024-06-06 19.14.44

对于Decoder-only的LLM作者使用language modeling loss,LLM需要给出基于视觉表示的文本;对于encoder-decoder结构的LLM作者使用prefix language modeling loss,prefix text与output query连接作为编码器输入,suffix text作为解码器的生成目标。

模型预训练

实验

截屏2024-06-06 19.32.34

Q-Former存在的问题

难训练,训练图像与测试图像有gap的话效果会变差,丢失信息导致幻觉

https://www.zhihu.com/question/626796690

标签:Pre,Language,text,Image,Former,LLM,attn,query,image
From: https://www.cnblogs.com/lipoicyclic/p/18235978

相关文章

  • WrodPress基础之前期7个必要的基本设置
    不管使用宝塔面板搭建WordPress还是1Panel面板的方式,一个新WordPress网站需要做一些基本设置才能正式的去设计页面,填充网站内容。1.确保网站勾选“建议搜索引擎不收录”网站正式上线前,我们需要反复设计页面,打磨文案,填充内容,操作过程中必然会产生一些无用的链接,若这些链接被谷歌......
  • Press
    Press不妨以位置为\(x\)轴,时间为\(y\)轴。当一个机器人到达点\(A\)后,如果可以继续走到\(B\)当且仅当\(|x_A-x_B|\leq|y_A-y_B|\)。将其在\(T=10^9\)时刻可以按到的按钮用区间表示出来\([x_A-(T-y_A),x_A+(T-y_A)]\)记做\(S_A\)。简单画图不难发现上述条件......
  • Qt 正则表达式 QRegularExpression
    正则表达式QRegularExpression学习在Qt中有两种和正则相关的类,一种是QRegExp类,今天查资料说的好像是从Qt4传承下来的,BUG相对来说比较多,目前基本已停止维护了,多用于正则匹配,还有一种就是今天要讲的QRegularExpression类,是Qt5新开辟出来的类,相对来说比较完善(网上这......
  • 界面控件Telerik UI for WPF中文教程 - 用RadSvgImage升级应用程序UI
    TelerikUIforWPF拥有超过100个控件来创建美观、高性能的桌面应用程序,同时还能快速构建企业级办公WPF应用程序。UIforWPF支持MVVM、触摸等,创建的应用程序可靠且结构良好,非常容易维护,其直观的API将无缝地集成VisualStudio工具箱中。TelerikUIforWPF中的RadSvgImage组件使......
  • 界面组件DevExpress Reports v23.2增强用户体验 - 轻松导航Web设计器
    DevExpressReporting是.NETFramework下功能完善的报表平台,它附带了易于使用的VisualStudio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表。DevExpressReportsv23.2(我们最近的主要更新)包含了对DevExpressWeb报表设计器的智能......
  • Uncaught TypeError: Invalid attempt to spread non-iterable instance.
    1、报错信息:报错UncaughtTypeError:Invalidattempttospreadnon-iterableinstance.Inordertobeiterable,non-arrayobjectsmusthavea[Symbol.iterator]()method.at_nonIterableSpread(OgPanel.js:20:39)at_toConsumableArray(OgPanel.js:18:131)......
  • PHP_CMS系统代码解析-wordpress
          WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把WordPress当作一个内容管理系统(CMS)来使用。  模板基本文件 使用模板通过函数的调用,让模板之间形成完整的整体。style.css:CSS(样式表)......
  • Day1 学习笔记及成果---MapReduce实现手机流量统计分析
    Day1学习笔记及成果—MapReduce实现手机流量统计分析题目统计每个手机号上行流量和、下行流量和、总流量和(上行流量和+下行流量和),并且:将统计结果按照手机号的前缀进行区分,并输出到不同的输出文件中去。13*==>…15*==>…other==>…其中,access.log数据文件部分......
  • Day2 学习笔记及成果---基于MapReduce项目实现中所遇到的问题及解决方法
    Day2学习笔记及成果—基于MapReduce项目实现中所遇到的问题及解决方法问题一:主机和虚拟机互相能ping通,主机能ping通外网,虚拟机不能ping通外网。解决方案:可能的错误原因是网关设置有问题,虚拟机的网关应该和自己的网关一直,自己的网关可在编辑-虚拟网络设置中查看。首先执......
  • Zibll子比主题美化WordPress底部添加渐变色统计代码 新增显示评论总数及本周发布文章
    在网站底部添加一个统计信息,可以看到网站的运营情况,如会员数量,文章数量、网站的总浏览量、当天发布的文章数量、网站运营天数等,并且这个统计信息背景是渐变色的,非常漂亮。之前有分享过这个代码,今天新增了一个显示评论总数,把今天发布文章数量我改为了本周发布的数量,如果需要之前......