BLIP2阅读笔记

在最近的很多工作中,我们都能看到Q-former以及两阶段训练visual-language pre-training的做法。追溯发现,BLIP2是提出这种做法的方案,下面就仔细阅读一下是如何实现的。

原文: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models

摘要

1)解决现有方案的问题:大规模模型的端到端训练,视觉和语言预训练的成本变得越来越高

2)怎么做的:从现成的冻结预训练图像编码器和冻结大型语言模型中引导视觉语言预训练。BLIP-2通过轻量级的查询转换器弥补了模态缺口,该转换器分两个阶段进行预训练。第一阶段从冻结图像编码器中引导视觉语言表示学习。第二阶段从冻结的语言模型中引导视觉到语言生成性学习。

3)效果:BLIP-2在各种视觉语言任务上实现了最先进的性能,尽管其可训练参数比现有方法少得多。例如,在零样本VQAv2上,我们的模型比Flamingo80B的性能好8.7%,可训练参数少了54倍。我们还演示了该模型新兴的零样本图像到文本生成功能。

1. 贡献

这部分简单介绍方案和达到的效果,主要就是提出使用Q-former进行两个阶段的学习。

BLIP-2有效地利用了冻结的预训练图像模型和语言模型。我们使用在两个阶段预先训练的Q-Former来弥合模态差距:表征学习阶段和生成学习阶段。BLIP-2在各种视觉语言任务上实现了最先进的性能,包括视觉问答、图像字幕和图像文本检索。

在LLM(例如OPT(Zhang等人,2022)、FlanT5(Chung等人,2020))的支持下,BLIP-2可以被提示执行遵循自然语言指令的零样本图像到文本生成,从而实现可视化知识推理、可视化对话等新兴功能(示例见图4)。

由于使用了冻结的单峰模型和轻量级的Q-Former,BLIP-2比现有技术更具计算效率。例如,在零样本VQAv2上,BLIP-2比Flamingo(Alayrac等人,2022年)的表现要好8.7%,而使用的可训练参数少了54倍。此外,我们的结果表明,BLIP-2是一种通用的方法,可以获得更先进的单模态模型,以获得更好的VLP性能。

2. 相关工作

这部分介绍之前的工作都是如何做的,

a)端到端的一阶段模型:重新训练的成本太高,不灵活;

b)部分冻结(图像编码器或LLM):因为没有类似q-former的部件可以从冻结的图像编码器中提取视觉特征(弥补模态差距),因此这些方案都是部分冻结,效率和效果更差。

2.1端到端的visual-language Pre-training

视觉语言预训练旨在学习多模式基础模型,提高其在各种视觉和语言任务中的表现。根据下游任务的不同,已经提出了不同的模型架构,包括双编码器架构(Radford等人,2021;贾等人,2021)、融合编码器架构(Tan&Bansal,2019;李等人,2021年)、编码器-解码器架构(Cho et al,2021;王等人,2021b;陈等人,2022b),以及最近,统一变压器架构(Li等人,2022;王等人,2022b)。

多年来,人们也提出了各种预训练目标,并逐渐收敛到一些经过时间考验的目标:图像-文本对比学习(Radford et al,2021;姚等人,2022;李等人,2021;2022)、图像-文本匹配(李等人,2021;2022;王等人,2021a)和(掩蔽)语言建模(李等人;2021;2022;余等人,2022,王等人,2022)。

大多数VLP方法使用大规模的图像-文本对数据集执行端到端的预训练。随着模型大小的不断增加,预训练可能会产生极高的计算成本。此外,端到端预训练模型利用现成的单模态预训练模型(如LLM)是不灵活的(Brown等人,2020;张等人,2022;Chung等人,2022)。

2.2 模块化的visual-language Pre-training

与我们更相似的是利用现成的预训练模型并在VLP期间保持它们冻结的方法

a)一些方法冻结图像编码器,包括早期采用冻结对象检测器提取视觉特征的工作(Chen et al,2020;李等人,2020;张等人,2021),以及最近使用冻结预训练图像编码器进行CLIP预训练的LiT(Zhai et al,2022)(Radford et al,2021)。
b)一些方法冻结语言模型,将LLM的知识用于视觉到语言生成任务(Tsimpoukeli等人,2021;Alayrac等人,2022;Chen等人,2022a;Manas等人,2023;Tiong等人,2022年;郭等人,2022)。使用冻结LLM的关键挑战是将视觉特征与文本空间对齐。为了实现这一点,Frozen(Tsimpoukeli等人,2021)对图像编码器进行了微调,其输出直接用作LLM的软提示。Flamingo(Alayrac等人,2022)在LLM中插入新的交叉注意力层以注入视觉特征,并在数十亿对图像-文本上预训练新的层

这两种方法都采用了语言建模损失,即语言模型生成以图像为条件的文本

与现有方法不同,BLIP-2可以有效地利用冻结图像编码器和冻结LLM执行各种视觉语言任务,以更低的计算成本实现更强的性能。

3. 具体方法

这部分具体介绍Q-former及两阶段的训练方案。

3.1 模型架构

 3.2 从冻结图像编码器学习Bootstrap视觉-语言表示

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

a) 图文对比学习

图像-文本对比学习(ITC)学习对齐图像表示和文本表示,以使它们的相互信息最大化。它通过对比正对与负对的图像文本相似性来实现这一点。

将来自图像transformer的输出查询表示Z与来自文本transformer的文本表示t对齐,其中t是[CLS]令牌的输出嵌入。

由于Z包含多个输出嵌入(每个查询一个),我们首先计算每个查询输出与t之间的成对相似性,然后选择最高的一个作为图像-文本相似性。为了避免信息泄露,我们使用了一个unimodal自注意掩码,其中查询和文本不允许相互看到。由于使用了冻结图像编码器,与端到端方法相比,我们可以为每个GPU拟合更多的样本。因此,我们使用批内负片,而不是BLIP中的动量队列。

b)基于图像的文本生成

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

c)图文匹配

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

输出查询嵌入Z因此捕获多模式信息。我们将嵌入到两类线性分类器中的每个输出查询馈送以获得logit,并将所有查询的logit平均作为输出匹配分数。我们采用李等人(2021;2022)的硬负挖掘策略来创建信息负对。

3.3 从冻结LLM学习Bootstrap视觉到语言生成

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

如图3所示,我们使用全连接(FC)层将输出查询嵌入Z线性投影到与LLM的文本嵌入相同的维度中。然后,将投影的查询嵌入预处理为输入文本嵌入。它们起到了软视觉提示的作用,将LLM置于Q-Former提取的视觉表示之上。由于Q-Former已经过预训练,可以提取语言信息性的视觉表示,因此它有效地充当了一个信息瓶颈,将最有用的信息提供给LLM,同时去除不相关的视觉信息。这减轻了LLM学习视觉语言对齐的负担,从而减轻了灾难性的遗忘问题。

我们实验了两种类型的LLM:基于解码器的LLM和基于编码器-解码器的LLM。对于基于解码的LLM,我们在语言建模丢失的情况下进行预训练,其中冻结的LLM的任务是根据Q-Former的视觉表示生成文本。对于基于编码器-解码器的LLM,我们使用前缀语言建模损失进行预训练,其中我们将文本分为两部分。前缀文本与视觉表示连接,作为LLM编码器的输入。后缀文本用作LLM解码器的生成目标。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值