多模态大模型之BLIP-2

1. BLIP-2: 将图像特征对齐到预训练语言模型

提出动机

现有的最先进的 VLP 模型通常需要在大规模数据集上进行端到端的训练,存在弊端计算成本高昂难以利用已经存在的单模态预训练模型,如预训练的视觉编码器和大型语言模型(LLM)。

为了节约视觉语言模型在预训练过程的计算代价,BLIP-2 希望借助现成的预训练好的单模态视觉模型和单模态文本模型。

简单的冻结预训练好的视觉模型的参数或者语言模型的参数会带来一个问题:就是视觉特征的空间和文本特征的空间不容易对齐。出现这个问题的原因是:文本模型 LLM 在单模态预训练期间没有看过对应的图片,视觉模型在单模态预训练期间没有看过对应的文本,所以这个对齐特别具有挑战性。

因此,BLIP-2 提出了一种高效的预训练策略,利用 冻结的图像编码器和大型语言模型 ,通过引入 Q-Former 来实现视觉和语言之间的高效对齐。


2. BLIP-2 模型

BLIP-2 通过在冻结的预训练图像编码器和冻结的预训练大语言模型之间添加一个轻量级 查询Transformer (Query Transformer, Q-Former) 来弥合视觉和语言模型之间的模态隔阂。在整个模型中,Q-Former 是唯一的可训练模块,而图像编码器和语言模型始终保持冻结状态

在这里插入图片描述

3. Q-Former 的结构

一个轻量级的 Transformer 模型,使用 可学习的查询向量 从冻结的图像编码器中提取对文本生成最有用的视觉特征。

在这里插入图片描述

Q-Former 架构是由 2 个 Transformer 子模块构成,其中 Self-Attention 是共享参数的,可以理解为 Self-Attention 的输入有2个,即:Queries 和 Text。

1. 视觉模型:ViT
与图像编码器交互,用于视觉特征提取。
它的输入是可学习的 Queries,它们先通过 Self-Attention 建模互相之间的依赖关系,再通过 Cross-Attention 建模 Queries 和图片特征的依赖关系。

2. 文本模型:Text Transformer
它既可以作为文本编码器,也可以充当文本解码器

实现细节

信息瓶颈
Q-Former 一共包含了 188M 参数,其权重使用 BERT-Base 做初始化,Cross-Attention 的参数做随机初始化。使用 32 个 Queries,其中每个 Queries 的维度为 768。实验中,视觉编码器使用ViT-L/14模型,输出特征为257 × 1024。

由于 Q-Former 的输出维度比图像编码器的输出特征要小很多(例如,32×768 vs. 257×1024),因此它起到了信息瓶颈的作用,只保留了对后续文本生成最有用的视觉信息。这种设计减轻了大型语言模型在冻结参数的情况下与视觉特征进行对齐的负担。

Learned Query 的优势
这些Query通过Cross-Attention与图像的特征交互,通过Self-Attention与文本的特征交互。这样一来:

  • 这些Query是基于两种模态信息得到的
  • 无论多大的Backbone(e.g. ViT-L/14: 257×1024),最后都是Query长度的特征输出(32×768),大大降低了计算量。

4. Q-Former 训练——两阶段预训练策略

BLIP-2 的预训练分为两个阶段,每个阶段都有特定的训练目标,以逐步引导模型实现视觉和语言的有效结合。

4.1 第一阶段:从冻结的图像编码器中引导视觉-语言表示学习

在第一阶段,将 Q-Former 与冻结的图像编码器连接,通过图像-文本对进行预训练。

目标是训练好 Q-Former,以便 Queries 可以学习到如何更好地结合文本提取图片信息,使其能够提取与文本最相关的视觉表示。

目标函数

训练的目标函数遵循 BLIP 的做法,联合优化 3 个具有相同输入格式和模型参数的预训练目标,每个目标函数使用不同的 mask Attention 来控制注意力的交互。

在这里插入图片描述

1. 图文对比学习 (Image-Text Contrastive Learning, ITC)

目标旨在对齐图像和文本的表征,使其互信息最大化

实现方式:让正样本 (配对的图片文本对) 的相似度尽量高,同时让负样本 (不配对的图片文本对) 的相似度尽量低。
在 Q-Former 实现 ITC 的方法是计算 Queries 的输出 Z Z ZText Transformer 的 [CLS] token 输出 t t t 的对比学习损失。因为 Z Z Z 包含了多个Queries 的输出,因为作者首先计算了每个 Queries 的输出和 t t t 之间的成对相似度,然后选择最高的一个作为最终的图文相似度

ITC的Attention Mask为图中最右侧所示,属于 Uni-modal Self-Attention Mask,不允许 Queries 和 Text相互看到(相互之间的注意力值为0)。

2. 基于图像的文本生成 (Image-Grounded Text Generation, ITG)

目标给定一张输入图片,旨在训练 Q-Former 生成对应的文本描述

实现方式:要实现这一目的,视觉编码器和文本解码器之间应该有交互。而 Q-Former 恰恰阻止了这种直接交互,因此 Queries 在这里就扮演了提取出来生成文本所需要的信息,然后通过 Self-Attention 层传递给 Text token
简而言之,Queries 应该具备这样一种能力:提取捕获了所有文本信息的视觉特征
ITG的 Attention Mask 如图中间所示,属于 Multi-modal Causal Self-Attention Mask,允许 Text 看到 Queries (Queries 里面有视觉信息),同时每个 Text token 只能看到它之前的 Text token (生成式任务的基本做法)。但是不允许 Queries 看到 Text 的信息,只能看到自己的信息。
此外还将 [CLS] token 替换为一个新的 [DEC] token 作为第一个 Text token 来指示解码任务。

3. 图文匹配任务 (Image-Text Matching, ITM)

目标:旨在更加细粒度地对齐图像和文本的表征,使其互信息最大化

实现方式:ITM 是个二分类任务,要求模型预测图像-文本对是正样本 (匹配) 还是负样本 (不匹配)。ITM 的 Attention Mask 方法如图最左侧所示,属于 Bi-directional Self-Attention Mask,允许 Queries 和 Text 相互看到。Queries 的输出 Z Z Z 捕获了多模态信息,把每个输出的 Queries Embedding 通过一个二类线性分类器中以获得 logit,并将 logit 的输出做平均作为最终的分数。

BLIP-2 的 ITM 目标函数同样使用了 ALBEF 中的 hard negative mining 策略【详情可参照多模态大模型(一)】。

4.2 第二阶段:从冻结的大型语言模型中引导视觉到语言的生成学习

在第二阶段,将 Q-Former 输出的视觉表示连接到冻结的 LLM 上,训练 Q-Former 使其输出的视觉特征能够被 LLM 解释和利用。
首先图片直接输入冻结参数的 Image Encoder,得到图像的表征。然后图像的表征和 Queries 一起送入 Q-Former,得到 Queries 的输出 ,经过一个全连接层与 Text token 的维度对齐之后输入给 LLM Decoder。这个 Queries 的输出就蕴含了视觉信息,在输入给 LLM 的时候就充当了 Soft Visual Prompt 的作用。

Queries 在经过了第一阶段的训练之后,已经学习到了如何更好地结合文本提取图片信息,因此它可以有效地将最有用的图片信息提供给 LLM,同时删除不相关的视觉信息。这减少了 LLM 学习视觉语言对齐的负担。


在这里插入图片描述

根据 LLM 的类型(解码器或编码器-解码器),采用不同的策略:

  1. Decoder only类型的 LLM(如 OPT,chatGPT,LLaMa等):以 Query 做输入,文本做目标。将Q-former学到token直接输入,得到文本输出,论文中采用facebook的opt模型进行训练。
  2. Encoder-Decoder 类型的 LLM(如 FlanT5):以 Query 和一句话的前半段做输入,以后半段做目标。将Q-former学到token加上前缀词(如图中的a cat)一起输入,得到后续的文本输出,论文中采用FlanT5添加指令进行训练。

因为不同模型的 embedding 维度不同,所以这里还加上了一个全连接层。

4.3 训练细节

4.3.1 训练数据

和BLIP使用了相同的数据集(共129M),分别为:

  • Conceptual Captions
  • SBU Captions
  • COCO
  • Visual Genome
  • 噪声更大的 Conceptual 12M 数据集 (有的数据失效了)
  • 额外的 web 数据集 LAION400M 的一部分,该数据集包含 115M 图像,具有更多的噪声文本。

采用了BLIP中的CapFilt方法来Bootstrapping训练数据。

4.3.2 视觉模型

  • CLIP训练的 ViT-L/14
  • EVA-CLIP训练的 ViT-G/14

特别的是,作者采用倒数第二层的特征作为输出。

4.3.3 LLM模型

  • OPT (OPT: Open Pre-trained Transformer Language Models)
  • FlanT5 (Scaling Instruction-Finetuned Language Models)

4.3.4 其他细节

  • 训练时,CV模型和LLM都是冻结的状态,并且参数都转为了FP16,这使得模型的计算量大幅度降低。

  • 主要训练的基于BERT-base初始化的Q-Former只有188M的参数量

  • 最大的模型,ViT-G/14和FlanT5-XXL,只需要16卡A100 40G,训练6+3天就可以完成

  • 所有的图片都被缩放到 224x224 的大小。

5. 实验结果

5.1 Instructed Zero-shot Image-to-Text Generation 零样本指令引导的图像到文本生成

利用 LLM 的能力,实现基于指令的零样本图像描述生成,展示了在视觉知识推理、视觉对话等方面的潜力。

在这里插入图片描述

BLIP-2能够根据上下文进行回答,但由于BLIP-2文本长度默认为32,根据图像输出的长度有限。

5.2 Image Captioning 图像字幕生成

在 COCO 和 NoCaps 数据集上,BLIP-2 经过微调后取得了领先的性能,显示了优异的图像字幕生成能力。
在这里插入图片描述

5.3 Visual Question Answering 视觉问答VQA

在 VQAv2、GQA 等数据集上,BLIP-2 取得了最先进的零样本和微调性能,展示了在视觉理解和推理方面的强大能力。

在这里插入图片描述

5.4 Image-Text Retrieval 图像-文本检索

在图像-文本检索任务上,BLIP-2 展现了卓越的性能,特别是在零样本设置下,显著超过了现有方法。

在这里插入图片描述

6. 总结与讨论

1. 为什么要冻结图像编码器和语言模型的参数?

  • 可以显著降低训练的计算成本,因为不用更新这些大型模型的参数。
  • 可以避免灾难性遗忘,保留单模态预训练模型中已经学习到的丰富知识。

2. Q-Former 的作用是什么,为什么需要它?

  • Q-Former 起到了桥梁的作用,在冻结的图像编码器和语言模型之间传递信息
  • 可以看做类似Prompt-Tuning中的一种可学习的「软提示」。由于直接连接二者难以实现有效的跨模态对齐,Q-Former 通过可学习的查询向量,从图像编码器中提取与文本相关的视觉特征,并将其传递给语言模型。

3. 如果进一步提升 Q-Former 的容量,是否会带来性能提升?

  • 增加 Q-Former 的容量可能会在一定程度上提升性能,因为它可以提取更丰富的视觉特征。
  • 然而,需要权衡训练成本和过拟合的风险。此外,Q-Former 的容量需要与下游任务的需求相匹配,盲目增加容量未必有效

4. 如何进一步改进跨模态对齐,提升模型在复杂任务上的表现?

  • 设计更有效的预训练目标,增强视觉和语言之间的对齐。
  • 引入更丰富的多模态数据,特别是包含复杂场景和抽象概念的图像-文本对。
  • 探索动态的查询机制,使 Q-Former 能够根据任务需求自适应地提取视觉特征。

5. BLIP-2和BLIP的关系?

  • BLIP-2 是对 BLIP 的改进和扩展:它在 BLIP 的基础上,创新性地引入了 Q-Former,同时利用了预训练的图像编码器和大型语言模型。
  • 效率和性能的提升:通过冻结预训练模型,只训练少量参数,BLIP-2 在降低计算成本的同时,提升了模型的性能。
  • 更强的零样本和指令遵循能力:由于直接利用了预训练的 LLM,BLIP-2 能够在零样本情况下完成更复杂的任务,并能够理解和遵循自然语言指令。
  • 应用范围的扩展:BLIP-2 展现了更广泛的应用潜力,特别是在需要高效训练和部署的场景。

6. 为什么BLIP-2称作「自举」(Bootstrapping)?没有感觉出「自我循环提升」的味道?

其实在计算机科学和机器学习领域,Bootstrapping这个词有多种含义:

  1. 自我初始化:系统在没有外部帮助的情况下,通过自身的资源完成启动或初始化。
  2. 统计学中的自助法:一种重采样方法,用于估计统计量的分布。
  3. 迭代式的自我改进:模型或算法通过自身的输出,循环地改进自身性能。

在 BLIP-2(Bootstrapping Language-Image Pre-training)中,Bootstrapping 一词并非指严格的自我循环提升,而是强调以下几个方面

  • 借力打力:利用已有模型(LLM、ViT等)作为基础进行构建,并未从头开始训练整个模型。
  • 渐进式的两阶段训练策略:可以被看作是逐步提升模型跨模态能力的过程,尽管不是自我循环,但具有一定的递进性。
  • 最小化训练参数:通过小的改动和增量训练,快速构建起复杂的跨模态模型。

7. BLIP-2的局限性?

  • 采用的数据集是文本和图像一一匹配,很难让模型建立上下文的联系,所以其根据图像进行问答能力有限。
  • 依赖于LLM大语言模型的能力。

References

  1. 浅析多模态大模型的前世今生
  2. BLIP-2 下一代多模态模型的雏形
  3. 【论文解读】BLIP-2:使用Q-Former,不用端到端训练也能实现跨模态对齐
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值