Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models
使用冻结的图像编码器和大型语言模型进行语言-图像预训练的引导
BLIP-2 通过一个轻量级的查询变换器弥合了模态之间的差距。
Querying Transformer
第一阶段通过冻结的图像编码器引导视觉-语言表示学习。
第二阶段通过一个冻结的语言模型启动从视觉到语言的生成学习。
3.1 模型结构
Q-Former:从图像编码器中提取固定数量的输出特征,与输入图像的分辨率无关。
两个共享相同自注意力层的Transformer子模块。
一个与冻结的图像编码器交互的图像transformer、用于图像特征抽取;
一个文本transformer、可以兼作文本编码器和文本解码器。
我们在图像变换器中创建一组固定数量的可学习查询嵌入作为输入。
查询通过自注意力层相互作用,并通过交叉注意力层(每隔一个变换器块插入)与冻结的图像特征交互。
查询还可以通过相同的自注意力层与文本交互。
根据预训练任务的不同,我们应用不同的自注意力掩码来控制查询文本的交互。
我们将QFormer初始化为预训练的BERTbase(Devlin等,2019)权重,而交叉注意力层则随机初始化。Q-Former总共有1.88亿个参数(188M)。请注意,查询被视为模型参数。【对比qwenvl中的 VL adaptor 参数量是 0.08B = 80M 】
在我们的实验中,我们使用了32个查询,每个查询的维度为768(与Q-Former的隐藏维度相同)。
我们用Z表示输出的查询表示。Z的大小(32×768)远小于冻结的图像特征的大小(例如,ViT-L/14的大小为257×1024)。这种瓶颈架构与我们的预训练目标相结合,迫使查询提取与文本最相关的视觉信息。
3.2 第一阶段通过 冻结的图像编码器 引导 视觉-语言表示学习
在表征学习阶段,我们把Q-Former连接到一个冻结的图像编码器,并使用 图像-文本对 进行预训练。
我们的目标是训练Q-Former,使查询能够学会提取对文本最具信息性的视觉表示。灵感来自BLIP。
我们联合优化了三个预训练目标,它们共享相同的输入格式和模型参数。
每个目标使用不同的注意力掩蔽策略来控制查询与文本之间的交互。
image text contrastive learning (ITC)
该方法学习使图像表示和文本表示对齐,以最大程度地提高它们之间的互信息。
它通过 对比 正向对的图像-文本相似度 和 负向对的相似度来实现这一点。
由于Z包含多个输出嵌入(每个查询一个),我们首先计算每个查询输出与t之间的pairwise相似性,然后选择最高的一作为图像-文本相似度。
为了避免信息泄露,我们使用了单模态自注意力掩码,其中查询和文本不允许相互可见。
由于使用了冻结的图像编码器,与端到端方法相比,我们可以在每个GPU上适应更多的样本。 因此,我们使用批次内负样本,而不是BLIP中的动量队列。(增加比较次数)
Image-grounded text generation (ITG)
这个损失函数训练Q-Former生成文本,给定输入图像作为条件。
由于Q-Former的架构不允许冻结的图像编码器和文本令牌之间有直接的交互,因此必须先由查询提取生成文本所需的信息,然后通过自注意力层将这些信息传递给文本令牌。因此,查询必须提取能够捕获文本所有信息的视觉特征。
我们使用多模态因果自注意力掩码来控制查询文本交互,类似于UniLM中使用的那种。查询可以互相关注,但不能关注文本标记。每个文本令牌可以关注所有查询及其之前的文本令牌。我们还将[CLS]标记替换为新的[DEC]标记,作为第一个文本标记,以指示解码任务。
Image-Text Matching(ITM)
目标是学习图像和文本表示之间的细粒度对齐。这是一个二分类任务,模型需要预测一个图像-文本对是否为正(匹配)或负(不匹配)。
我们使用双向自注意力掩码,其中所有查询和文本可以相互关注。
输出查询嵌入Z因此捕获了多模态信息。
我们将每个输出查询嵌入输入到一个二元线性分类器中,以获取logit,并将所有查询的logit平均作为输出匹配分数。
我们采用了 前者的研究方法 的困难负样本挖掘策略来生成有意义的负对。
3.3 第二阶段通过一个冻结的语言模型启动从视觉到语言的生成学习
在生成预训练阶段,我们将QFormer(附带冻结的图像编码器)连接到一个冻结的LLM,以获取LLM的生成语言能力。
我们使用全连接(FC)层将输出查询嵌入Z线性投影到与LLM文本嵌入相同的维度。
将预测的查询嵌入添加到输入文本嵌入的前面。它们作为软视觉提示,条件化LLM(大语言模型)依赖于Q-Former提取的视觉表示。
由于Q-Former已经预训练为提取富含语言信息的视觉表示,它有效地充当了一个信息瓶颈,向LLM提供最有用的信息,同时去除不相关的视觉信息。
这减轻了LLM学习视觉-语言对齐的负担,从而缓解了灾难性遗忘问题。
我们使用两种类型的LLMs进行实验:基于解码器的LLMs和基于编码器-解码器的LLMs。
对于基于解码器的LLMs,我们使用语言建模损失进行预训练,其中冷冻的LLM的任务是根据Q-Former的视觉表示生成文本。
对于基于编码器-解码器的LLMs,我们使用前缀语言建模损失进行预训练,将文本拆分为两部分。
前缀文本与视觉表示连接作为LLM编码器的输入。后缀文本用作LLM解码器的生成目标。