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

论文:https://arxiv.org/pdf/2301.12597.pdf
代码:https://github.com/salesforce/LAVIS/tree/main/projects/blip2

demo:https://huggingface.co/spaces/Salesforce/BLIP2

引言:


  • 现代计算机视觉和自然语言模型在能力越来越强大的同时,模型尺寸也随之显著增大,进行一次单模态模型的预训练十分昂贵,因此端到端视觉语言预训练的成本也已变得越来越高

  • 本文提出一种新的视觉语言预训练范式,该范式可以任意组合并充分利用两个预训练好的视觉编码器和 LLM语言模型,是BLIP模型的续作。

  • 模型优势:

    • 实现了开放性的多模态内容理解与生成,让我们有了更多的想象空间

    • 无须端到端地预训练整个架构,使得我们可以在多个视觉语言任务上实现最先进的结果,

    • 显著减少训练参数量和预训练成本,比起动辄几百张卡的大模型,BLIP 2 最大的模型也不过16张A100 40G

模型示例:


BLIP2模型的多模态问答

开始前介绍论文前我们先来讨论下,实现图片中的问答,需要什么能力呢?

  1. 图片里发生了什么:一位男士在船头搂着一位女士。(图像理解-CV模型的能力)

  2. 问题问的什么:电影的结尾是什么?(文本理解-NLP模型的能力)

  3. 图片和电影有什么关系:这是泰坦尼克号里的经典镜头。(对齐融合-多模态模型的能力)

  4. 电影的结尾是什么:泰坦尼克号沉没了。(推理-LLM模型的能力)

模型结构:


模型整体框架:

可训练的Q-Former模块连接冻结的image encoder和冻结的LLM,训练分为两阶段representation learning stage和generative pre-training stage.

Representation Learning Stage:

模块组成:

  1. 一个image transformer,与冻结的image encoder交互,抽取图像特征

  2. 一个可学习的queries embedding [32x768],与图像特征([257 × 1024] forViT-L/14)进行交互

  3. 一个text transformer,可作为text encoder或text decoder

模块训练:

  • 训练数据:图像文本pair对

  • 训练目标:使得queries embedding能够从图像特征中抽取出与text最相关的信息

  • 受到BLIP启发,三个预训练任务:

    • Image-Text Contrastive Learning (ITC):计算image transformer输出query表征Z与text transformer输出文本表征T中【CLS】token相似性,相似度取Z与【CLS】向量最高的分数,使用单模态的mask矩阵防止信息泄漏

    • Image-Text Matching (ITM):学习图像和文本特征匹配,根据ITC得到的相似度在线hard构建正负例pair对,拼接query表征Z和文本表征T,采用双向的mask矩阵,经过self-attention交互,对query表征Z进行线性层二分类,对分数取平均,作为最终的输出分数

    • Image-grounded Text Generation (ITG) :效仿UniLM方法,queries embedding与图像特征进行交互得到有效信息,作为text transformer的输入前缀,以【DEC】作为文本解码表示,采用因果自注意力mask控制可视范围

Generative Pre-training Stage:

将Q-Former与大型LLM模型相连,获取LLM的语言生成能力,用FC层映射输出的query表征Z至LLM的特征空间

基于Q-Former提取到的视觉表征作为soft visual prompt,作为LLM语言模型的输入前缀,由于Q-Former已经预训练用于提取对文本有用的视觉表征,可减轻LLM学习视觉-文本对齐的负担

模型实验


消融实验,representation learning stage训练的重要性

模型在VQA、Image Caption、ITR任务上的实验效果,达到zero-shot SOTA的效果,同时只需要很少的训练参数

开放性的多模态模型,拼接任何图像编码器和LLM语言模型

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值