0
点赞
收藏
分享

微信扫一扫

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 Models

使用冻结图像编码器和大型语言模型的自引导语言图像预训练

摘要

由于大规模模型的端到端训练,视觉和语言预训练的成本变得越来越高。本文提出了一种通用且高效的预训练策略BLIP-2,它从现成的冻结预训练图像编码器和冻结的大型语言模型中引导视觉语言预训练。BLIP-2使用轻量级查询转换器弥补了模式上的差距,该转换器分两个阶段进行预训练。第一阶段从固定图像编码器中引导视觉语言表示学习。第二阶段从一个固定的语言模型中引导视觉到语言的生成学习。尽管比现有方法具有更少的可训练参数,但BLIP-2在各种视觉语言任务上实现了最先进的性能。例如,我们的模型在零射击VQAv2上的表现比Flamingo80B高出8.7%,可训练参数减少了54倍。我们还展示了该模型的新兴能力,即可以遵循自然语言指令的零镜头图像到文本生成。

介绍

视觉语言预训练(VLP)研究在过去几年中取得了快速发展,开发了规模越来越大的预训练模型,不断将最先进的技术推向各种下游任务(Radford et al, 2021;Li et al ., 2021;2022;Wang et al ., 2022a;Alayrac等,2022;Wang et al ., 2022b)。

然而,由于使用大规模模型和数据集进行端到端训练,大多数最先进的视觉语言模型在预训练过程中会产生很高的计算成本。

视觉语言研究处于视觉和语言的交叉点,因此人们自然期望视觉语言模型能够从视觉和自然语言社区中现成的单模态模型中收获

预训练的视觉模型提供高质量的视觉表现。预训练的语言模型,特别是大型语言模型(llm),提供了强大的语言生成和零迁移能力。为了减少计算成本和解决灾难性遗忘问题,单峰预训练模型在预训练过程中保持冻结状态。

为了利用VLP的预训练单模态模型,促进跨模态对齐是关键。然而,由于llm在单模态预训练期间没有看到图像,因此冻结图像使得视觉语言对齐特别具有挑战性。在这方面,现有的方法(例如Frozen (Tsimpoukelli等人,2021),Flamingo (Alayrac等人,2022))采用图像到文本的生成损失,我们认为这不足以弥合模态差距

为了实现与冻结单峰模型的有效视觉语言对齐,我们提出了一个使用新的两阶段预训练策略进行预训练的查询转换器(QFormer)。如图1所示,Q-Former是一个轻量级的转换器,它使用一组可学习的查询向量从冻结的图像编码器中提取视觉特征。它充当冻结图像编码器和冻结LLM之间的信息瓶颈,为LLM输出所需文本提供最有用的视觉特征。在第一个预训练阶段,我们执行视觉语言表征学习,强制Q-Former学习与文本最相关的视觉表征。在第二个预训练阶段,我们通过将Q-Former的输出连接到一个冻结的LLM来执行视觉到语言的生成学习,并训练Q-Former,使其输出的视觉表示可以被LLM解释。

  • BLIP-2有效地利用了冻结的预训练图像模型和语言模型。我们使用在两个阶段预训练的Q-Former来弥合模态差距:表征学习阶段和生成学习阶段。BLIP-2在各种视觉语言任务上实现了最先进的性能,包括视觉问答、图像字幕和图像文本检索。
  • 由于使用了冷冻单峰模型和轻型Q-Former, BLIP-2比现有的最先进的计算效率更高。例如,在零射击VQAv2上,BLIP-2比Flamingo (Alayrac et al, 2022)的性能高出8.7%,同时使用的可训练参数减少了54%。此外,我们的研究结果表明,BLIP-2是一种通用方法,可以获得更先进的单峰模型,以获得更好的VLP性能。
相关工作
  • 端到端的视觉语言预训练
    视觉语言预训练旨在学习多模态基础模型,提高其在各种视觉语言任务中的表现。根据下游任务的不同,提出了不同的模型架构,包括双编码器架构(Radford等人,2021;Jia等人,2021),融合编码器架构(Tan & Bansal, 2019;Li et al, 2021),编码器-解码器架构(Cho et al, 2021;Wang等,2021b;Chen等人,2022b),以及最近的统一变压器架构(Li等人,2022;Wang et al ., 2022b)。多年来,各种预训练目标也被提出,并逐渐收敛为几个经过时间考验的目标:图像-文本对比学习(Radford等人,2021;Yao等,2022;Li et al ., 2021;2022),图像-文本匹配(Li et al ., 2021;2022;Wang et al ., 2021a)和(掩码)语言建模(Li et al ., 2021;2022;Yu et al ., 2022;Wang et al ., 2022b)。
    大多数VLP方法使用大规模图像-文本对数据集执行端到端预训练。随着模型规模的不断增大,预训练的计算成本会非常高。此外,对于端到端预训练模型来说,利用llm等现成的单模预训练模型是不灵活的(Brown等人,2020;Zhang等,2022;Chung et al ., 2022)。
  • 模块化视觉语言训练
    与我们更相似的是利用现成的预训练模型并在VLP期间保持冻结的方法。一些方法冻结了图像编码器,包括早期的工作采用冻结对象检测器提取视觉特征(Chen et al ., 2020;Li et al ., 2020;Zhang等人,2021),以及最近使用冻结预训练图像编码器进行CLIP预训练的LiT (Zhai等人,2022)(Radford等人,2021)。一些方法冻结语言模型,将法学硕士的知识用于视觉到语言的生成任务(Tsimpoukelli等人,2021;Alayrac等,2022;Chen et al ., 2022a;Manas等人,2023;Tiong et al, 2022;郭等人,2022)。使用冻结LLM的关键挑战是将视觉特征与文本空间对齐。为了实现这一点,Frozen (Tsimpoukelli等人,2021)微调了一个图像编码器,其输出直接用作LLM的软提示。Flamingo (Alayrac et al, 2022)在LLM中插入新的交叉注意层以注入视觉特征,并在数十亿对图像-文本对上对新层进行预训练。
    这两种方法都采用了语言建模损失,语言模型根据图像条件生成文本。
    与现有方法不同,BLIP-2可以有效地利用冻结图像编码器和冻结llm来完成各种视觉语言任务,以更低的计算成本获得更强的性能。
模型

我们提出了一种新的视觉语言预训练方法BLIP-2,它从冻结的预训练单峰模型中启动。为了弥合模态差距,我们提出了一个分两个阶段预训练的查询转换器(Q-Former):(1)使用冻结图像编码器的视觉语言表示学习阶段和(2)使用冻结LLM的视觉到语言生成学习阶段。本节首先介绍Q-Former的模型架构,然后描述两阶段的预训练过程。

模型架构

BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Mode_大模型

我们提出Q-Former作为可训练模块,以弥合冻结图像编码器和冻结LLM之间的差距。它从图像编码器中提取固定数量的输出特征,与输入图像分辨率无关。如图2所示,Q-Former由两个共享相同自关注层的变压器子模块组成:

(1)与冻结图像编码器交互以提取视觉特征的图像转换器;

(2)既可以作为文本编码器又可以作为文本解码器的文本转换器。我们创建了一组可学习的查询嵌入作为图像转换器的输入。查询通过自关注层相互交互,并通过交叉关注层(每隔一个转换块插入)与冻结的图像特征交互。查询还可以通过相同的自关注层与文本交互。根据预训练任务的不同,我们应用不同的自注意掩码来控制查询-文本交互。我们使用BERTbase的预训练权重初始化QFormer (Devlin et al ., 2019),而交叉注意层是随机初始化的。Q-Former共包含188M个参数。

注意,查询被视为模型参数。

基于冻结图像编码器的Bootstrap视觉语言表示学习

在表示学习阶段,我们将Q-Former连接到一个固定的图像编码器,并使用图像-文本对进行预训练。我们的目标是训练Q-Former,这样查询就可以学习提取文本中信息量最大的视觉表示。受BLIP (Li et al ., 2022)的启发,我们共同优化了三个共享相同输入格式和模型参数的预训练目标。每个目标在查询和文本之间使用不同的注意力屏蔽策略来控制它们的交互(参见图2)。

1)图像-文本对比学习(ITC)学习对齐图像表示和文本表示,使它们的相互信息最大化。它通过对比正对和负对的图像-文本相似性来实现这一点。我们将来自图像转换器的输出查询表示Z与来自文本转换器的文本表示对齐,其中t是[CLS]令牌的输出嵌入。由于Z包含多个输出嵌入(每个查询嵌入一个),我们首先计算每个查询输出与t之间的成对相似度,然后选择最高的一个作为图像-文本相似度。为了避免信息泄露,我们使用了单模态自关注掩码,其中查询和文本不允许相互看到。由于使用了冻结图像编码器,与端到端方法相比,我们可以在每个GPU上拟合更多的样本。因此,我们在BLIP中使用批量负号而不是动量队列。

2)基于图像的文本生成(ITG)损失训练Q-Former在给定输入图像的条件下生成文本。由于Q-Former的体系结构不允许冻结图像编码器和文本标记之间的直接交互,因此生成文本所需的信息必须首先由查询提取,然后通过自关注层传递给文本标记。因此,查询被迫提取视觉特征来捕获关于文本的所有信息。我们使用多模态因果自注意掩码来控制查询-文本交互,类似于UniLM中使用的掩码(Dong et al, 2019)。查询可以相互处理,但不能处理文本令牌。每个文本令牌都可以处理所有查询及其前一个文本令牌。我们还用一个新的[DEC]令牌替换[CLS]令牌,作为第一个文本令牌,向解码任务发出信号。

3)图像-文本匹配(ITM)旨在学习图像和文本表示之间的细粒度对齐。这是一个二元分类任务,其中要求模型预测图像-文本对是正的(匹配)还是负的(不匹配)。我们使用双向自关注掩码,所有查询和文本都可以相互关注。

因此,输出查询嵌入Z捕获多模态信息。我们将每个输出查询嵌入到一个两类线性分类器中以获得logit,并将所有查询的logit平均值作为输出匹配分数。我们采用Li等人(2021;2022)来创建信息丰富的负对。

BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Mode_微调_02

基于冻结LLM的Bootstrap视觉到语言生成学习

在生成预训练阶段,我们将QFormer(附带冻结图像编码器)连接到冻结的LLM,以获取LLM的生成语言能力。

如图3所示,我们使用一个全连接(FC)层将输出查询嵌入Z线性投影到与LLM的文本嵌入相同的维度中。然后将投影的查询嵌入添加到输入文本嵌入中。它们作为软视觉提示,对由Q-Former提取的视觉表示进行条件约束。由于Q-Former已被预先训练以提取语言信息的视觉表示,因此它有效地充当信息瓶颈,为LLM提供最有用的信息,同时删除无关的视觉信息。这减少了LLM学习视觉语言一致性的负担,从而减轻了灾难性遗忘问题。

我们实验了两种类型的llm:基于解码器的llm和基于编码器-解码器的llm。对于基于解码器的LLM,我们使用语言建模损失进行预训练,其中冻结的LLM的任务是根据Q-Former的视觉表示生成文本。对于基于编码器-解码器的llm,我们使用前缀语言建模损失进行预训练,其中我们将文本分成两部分。

前缀文本与可视化表示相连接,作为LLM编码器的输入。后缀文本用作LLM解码器的生成目标。

我们提出了一种通用的、计算效率高的视觉语言预训练方法BLIP-2,它利用了冷冻预训练图像编码器和llm。在预训练过程中,BLIP-2在具有少量可训练参数的情况下,在各种视觉语言任务上实现了最先进的性能。BLIP-2还展示了零射击指示图像到文本生成的新兴功能。我们认为BLIP-2是构建多模态会话AI代理的重要一步。

举报

相关推荐

0 条评论