摘要

由于端到端大型模型训练需求的增加,视觉和语言预训练的成本变得越来越高。本文提出了BLIP-2,这是一种通用,有效的预训练策略,该策略是通过保持图像编码器和大型语言模型参数固定,同时引导视觉语言预训练。BLIP-2用一种轻量的Querying Transforme来桥接各模态的差距,同时进行两阶段预训练。第一阶段从固定的图像编码器引导视觉语言的表示学习。第二阶段的从固定的语言模型中进行视觉到语言的生成学习。BLIP-2在各种视觉语言任务上实现了SOTA性能,同时与现有方法相比,可训练的参数明显少得多。例如,我们的模型在zero-shot VQAv2上优于Flamingo80B 8.7%,而可训练参数少了54倍。我们还展示了模型的zero-shot 图像到文本生成的新兴功能,该功能可以遵循自然语言指令。

1.介绍

在这里插入图片描述
  在过去的几年中,视觉语言预训练(VLP)的研究取得了迅速进步,在这种情况下,已经开发出越来越大的预训练模型,以不断地推动各种下游任务达到SOTA。但是,由于使用大型模型和大型数据集的端到端训练,大多数SOTA的视觉模型在预训练期间会产生很高的计算成本。
  视觉语言研究位于视觉和语言之间的交集区域,因此自然可以期望,视觉语言模型可以快速使用来自视觉和自然语言领域的单模态模型。在本文中,我们提出了一种通用和计算高效的VLP方法,该方法通过从已有的预训练视觉模型和语言模型中进行bootstrapping。预训练视觉模型提供高质量的视觉表示。预训练语言模型,尤其是大型语言模型(LLMS),提供了强大的语言生成和zero-shot迁移能力。为了降低计算成本并抵消灾难性遗忘的问题,在预训练期间,单模态预训练模型的参数被固定不动
  为了利用用于VLP预训练的单模态模型,其关键是进行跨模态对齐。但是,由于LLM在单模态预训练期间没有看过图像,因此将它们参数固定,而仅用视觉语言模型进行对齐是特别具有挑战性的。在这方面,现有的方法(例如Frozen,Flamingo)主要致力于图像到文本的生成损失,在本文中,我们表示这种方式并不足以弥合模态之间差距。
  为了使用参数固定的单模态模型实现有效的视觉语言对齐,我们提出了一种通过新的两阶段预训练策略进行预训练的Querying Transformer (Q-Former)。如图1所示,Q-Former是一种轻量级的Transformer,它利用一组可学习的查询向量来从参数固定的图像编码中提取视觉特征。它作为图像编码器和LLM之间的一个信息瓶颈,其中,它为LLM提供了最有用的视觉特征,以输出所需的文本。在第一个预训练阶段,我们执行视觉语言表示学习,该学习强迫Q-Former学习与文本最相关的视觉特征。在第二个预训练阶段,我们通过将Q-Former的输出连接到LLM,并训练Q-Former,以便通过LLM以自然语言解释其视觉表示,从而执行视觉到语言的生成学习。
  我们将VLP框架命名为BLIP-2:Bootstrapping Language-Image Pre-training with frozen unimodal models。BLIP-2的关键优点包括:

  • BLIP-2有效地利用了参数固定的预训练图像模型和语言模型。我们使用在两阶段进行预训练的Q-Former弥补了模态间差距:表示学习阶段和生成学习阶段。BLIP-2在各种视觉语言任务上实现了SOTA的性能,包括视觉问答,图像释义和图像文本检索。
  • 在LLM强大能力(例如OPT,Flant5)的支持下,可以提示BLIP-2执行遵循自然语言指令的zero-shot图像到文本生成,从而可以实现新兴功能,例如视觉知识推理,视觉对话等(请参阅图4的示例)。
  • 由于使用参数固定的单模态模型和轻量级Q-Former,BLIP-2比现有的SOTA更高效。例如,BLIP-2在使用远少于Flamingo 54倍可训练参数情况下,在zero-shot VQAv2上性能超过8.7%。此外,我们的结果表明,BLIP-2是一种通用方法,可以融入更优的单模态模型,以获得更好的VLP性能。

2.相关工作

2.1 End-to-end Vision-Language Pre-training

视觉语言预训练旨在学习多模态基础模型,并在各种视觉和语言任务上实现较高性能。根据下游任务,已经提出了不同的模型结构,包括双编码器结构,融合编码器结构,编码器解码器结构以及最近的统一transformer结构。近年来,还提出了各种预训练目标,并逐步融合了一些经过测试的目标:图像文本对比学习,图像文本匹配和(掩盖)语言建模。
  大多数VLP方法使用大规模【图像-文本】对数据集执行端到端的预训练。随着模型大小的不断增加,预训练可能会产生极高的计算成本。此外,端到端的预训练模型是不灵活的。

2.2 Modular Vision-Language Pre-training

与我们更相似的是利用现有的预训练模型并在VLP期间进行参数固定的方法。一些方法通过对图像编码器的参数进行固定,包括早期采用参数固定的目标检测器提取视觉特征的工作,以及最近使用参数固定的预训练图像编码器CLIP的LIT。某些方法将语言模型参数固定以利用LLM的知识进行视觉到语言生成任务。使用参数固定LLM的关键挑战是将视觉特征与文本空间保持一致。为了实现这一目标,Frozen微调图像编码器,使其输出直接用作LLM的软提示。Flamingo将新的跨注意层插入LLM中,以注入视觉特征,并在数十亿个图像文本对上预培训新的层。两种方法都采用语言建模损失,以在语言模型中生成以图像为条件的文本。
  与现有方法不同,BLIP-2可以更高效地利用图像编码器和LLM进行各种视觉语言任务,从而以较低的计算成本实现更强的性能。

3.Method

我们提出了BLIP-2,这是一种新的视觉语言预训练方法,该方法从参数固定的单模态预训练模型中构建。为了桥接各模态之间的差距,我们提出了一个进行两阶段预训练的Querying Transformer(Q-Former):(1)使用参数固定的图像编码器进行视觉语言表示学习的阶段;(2)使用参数固定的LLM进行视觉到语言生成学习的阶段。 本节首先介绍Q-Former的模型结构,然后描述两阶段的预训练过程。

3.1 Model Architecture

在这里插入图片描述
  我们提出了Q-Former作为可训练模块,以桥接图像编码器和LLM之间模态差距。它从图像编码器中提取出固定维度的输出特征,该特征与输入图像的分辨率无关。如图2所示, Q-Former由两个共享相同自注意力层的transformer子模块组成:(1)与参数固定的图像编码器交互的image transformer,用于视觉特征提取;(2)能够同时建模文本编码器和文本解码器的text transformer。我们创建了一组可学习的query嵌入作为图像transformer的输入。query通过自注意力层相互作用,并通过交叉注意力层与图像特征相互作用。query还可以通过相同的自注意力层与文本相互作用。根据预训练任务,我们应用不同的自注意力mask来控制query-text间交互。我们使用 B E R T b a s e BERT_{base} BERTbase的预训练权重来初始化Q-Former,而交叉注意力层是随机初始化的。Q-Former总共包含188M参数。请注意,query嵌入也被视为模型参数。
  在我们的实验中,我们使用了32个query嵌入,其中每个query的维度为768(与Q-Former的隐藏维度相同)。我们使用 Z Z Z表示输出的query表示。 Z ( 32 × 768 ) Z(32\times 768) Z(32×768)的大小比图像特征的大小要小得多(例如ViT-L/14有 257 × 1024 257×1024 257×1024)。这些结构与我们的预训练目标一起迫使query能提取出与文本最相关的视觉信息。

3.2 Bootstrap Vision-Language Representation Learning from a Frozen Image Encoder

在表示学习阶段,我们将Q-Former与参数固定的图像编码器相连,并使用【图像-文本】对进行预训练。我们的目标是训练Q-Former,以便query可以学会提取出与文本最相关的视觉表示。受BLIP的启发,我们对共享相同输入和模型参数的三个预训练目标进行联合优化。每个目标采用了不同的注意力屏蔽策略来以控制query和文本间的相互(见图2)。
  Image-Text Contrastive Learning (ITC)。ITC学习对齐图像表示和文本表示,以使它们的相互信息最大化。它通过将【图像-文本】的正例对与负例对进行相似度对比来实现该目标。我们将来自 image transformer 的query表示 Z Z Z与来自text transformer的文本表示 t t t对齐,其中 t t t [ C L S ] [CLS] [CLS]字符的输出嵌入。由于 Z Z Z包含多个输出嵌入(每个query一个),因此我们首先计算每个query输出和 t t t之间的成对相似性,然后选择最高的一个作为图像文本的相似度。为了避免信息泄漏,我们采用了单模态自注意力屏蔽矩阵。由于使用参数固定的图像编码器,与端到端方法相比,我们可以为每个GPU提供更多训练样例。因此,我们使用in-batch负例,而不是BLIP中的动量队列。
  Image-grounded Text Generation (ITG)。ITG损失训练Q-Former以生成文本,其以输入图像为条件。由于Q-Former的结构不允许在图像编码器和文本字符之间进行直接交互,因此生成文本所需的信息必须首先由query提取,然后通过自注意力层传递给文本字符。因此,query被迫提取视觉特征,以捕获文本相关的所有信息。我们采用多模态因果自注意力屏蔽矩阵来控制query与文本间的相互作用,类似于UniLM。queries可以彼此互相看到,但不能无法看到文本字符。每个文本字符都可以看到所有query及其先前的文本字符。我们还将[CLS]字符替换为新的[DEC]来作为第一个文本,以发出解码任务的信号。
  Image-Text Matching (ITM)。ITM旨在学习图像和文本表示之间的细粒度对齐。这是一个二分类任务,要求模型预测【图像-文本】对是正例(匹配)还是负例(不匹配)。我们使用双向自注意力屏蔽矩阵,这时所有query和文本都可以互相看到。query嵌入 Z Z Z因此捕获了多模态信息。我们将每个query嵌入映射到两分类的线性分类器中以获得logits,并对所有query的logits进行平均,以输出匹配分数。我们采用Li et al. (2021; 2022) 的硬负例挖掘策略,来创建内容丰富的负例对。

3.3 Bootstrap Vision-to-Language Generative Learning from a Frozen LLM

在这里插入图片描述
  在生成式预训练阶段,我们将Q-Former(带有参数固定的图像编码器)连接到参数固定的LLM,以捕获LLM的生成能力。如图3所示,我们使用全连接层(FC)线性地将query嵌入 Z Z Z映射到与LLM文本嵌入相同的维度。然后将映射后的query嵌入拼接到到输入文本嵌入前,这充当了一种软提示,LLM以从Q-former中抽取的视觉表示为条件进行后续生成。由于Q-Former已经进行了预训练以提取语言相关的视觉表示,因此它可以有效地作为信息载体,在删除无关的视觉信息的同时,将最有用的信息提供给LLM。这减轻了LLM学习视觉语言对齐的负担,从而减轻了灾难性遗忘的问题。
  我们尝试两种类型的LLM:基于解码器的LLM和基于编码-解码器的LLM。对于基于解码器的LLM,我们使用语言建模损失进行预训练,其中冻结的LLM的任务是生成以Q-Former的视觉表示为条件的文本。对于基于编码-解码器的LLM,我们使用前缀语言建模损失进行预训练,其中我们将文本分为两个部分。前缀文本与视觉表示作为LLM编码器的输入。后缀文本用作LLM解码器的生成目标。

3.4 . Model Pre-training

在这里插入图片描述
在这里插入图片描述

4.Experiment

在这里插入图片描述
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐