BLIP: Bootstrapping Language-Image Pre-training
简述
视觉和语言是人类感知世界的两种最基本的方式,也是人工智能的两大基石。人工智能的一个长期目标是构建能够通过视觉和语言输入理解世界,并通过自然语言与人类交流的智能体。
为了实现这一目标,视觉语言预训练 已成为一种有效的方法,其中深度神经网络模型在大规模图像文本数据集上进行预训练,以提高下游视觉语言任务的性能,例如 image-文本检索、图像字幕和视觉问答。
简而言之,视觉语言预训练旨在利用图像文本数据教会模型共同理解视觉和文本信息的能力。通过预训练,模型在微调之前已经过训练(微调⁄涉及使用来自下游任务的数据对预训练模型进行额外训练。)。如果没有预训练,模型需要在每个下游任务上从头开始训练,这会导致性能下降。
视觉语言预训练 (VLP, Vision-Language Pre-training) 提高了许多视觉语言任务的性能。然而,大多数现有的预训练模型仅在基于理解的任务或基于生成的任务中表现出色。此外,通过使用从网络收集的嘈杂图像文本对扩展数据集,性能的提高在很大程度上已经实现,这是次优的监督来源。
在本文中,salesforce团队提出了BLIP,这是一种新的 VLP 框架,可以灵活地迁移到视觉语言理解和生成任务。BLIP 通过引导字幕有效地利用了嘈杂的网络数据,字幕生成器生成合成字幕,过滤器去除嘈杂的字幕。 这项工作在广泛的视觉语言任务上取得了最先进的结果,例如图像文本检索(text retrieval)(+2.7% 的平均召回@1)、图像字幕(image captioning)(+2. CIDEr 为 8%)和 VQA(VQA 分数为 +1.6%)。当以零样本的方式直接转移到视频语言任务时,BLIP 也表现出强大的泛化能力。
代码、模型和数据集在 https://github.com/salesforce/BLIP 上发布。
局限性:大多数模型缺乏灵活性,Web 数据嘈杂
尽管视觉语言预训练取得了巨大成功,但现有方法有两个主要局限性:
从模型的角度来看,大多数现有的预训练模型都不够灵活,无法适应广泛的视觉语言任务。基于编码器的模型不太容易直接转移到文本生成任务,而编码器-解码器模型尚未成功用于图像-文本检索任务。
从数据的角度来看,大多数模型都对从网络自动收集的图像和替代文本对进行预训练。然而,网络文本往往不能准确描述图像的视觉内容,使它们成为监督的嘈杂源。
解决方案
为了解决这些限制,我们提出了BLIP:Bootstrapping Language-Image Pre-training for unified vision-language understanding and generation。BLIP创新地引入了下面两项工作:
一种新的模型架构,可以比现有方法实现更广泛的下游任务,以及
一种新的数据集引导方法,用于从嘈杂的网络数据中学习。
BLIP在七项视觉语言任务上实现了最先进的性能,包括:
图文检索
图像说明
视觉问答
视觉推理
视觉对话
零样本文本视频检索
零样本视频问答。
首先,通过字幕生成任务中的一些示例来看一下BLIP是如何生成比以前最先进的模型更准确的字幕的:
图 1. 来自 COCO-Caption 的第一张图片(Karpathy 测试集)。(COCO_val2014_000000000042.jpg)
相关材料:
BLIP的工作原理
视觉语言理解和生成的统一模型
为了预训练具有理解和生成能力的统一视觉语言模型*,* BLIP 引入了编码器-解码器的多模式混合,这是一种可以在以下三种功能*之一中运行的多任务模型:
Unimodal 编码器,分别对图像和文本进行编码。图像编码器是一个视觉转换器。文本编码器与 BERT 相同。[CLS] 标记附加到文本输入的开头以总结句子。
Image-grounded text encoder,它通过在自注意力层和文本编码器的每个转换器块的前馈网络之间插入一个交叉注意力层来注入视觉信息。特定于任务的 [Encode] 标记附加到文本,[Encode] 的输出嵌入用作图像-文本对的多模式表示。
Image-grounded text decoder,用因果自注意层替换文本编码器中的双向自注意层。特殊的 [Decode] 标记用于表示序列的开始。
BLIP在预训练时联合优化了三个目标,有两个基于理解的目标(ITC,ITM)和一个基于生成的目标(LM):
**Image-Text Contrastive Loss (ITC)**激活单峰编码器。它旨在通过鼓励正图像文本对与负图像文本对具有相似的表示来对齐视觉转换器和文本转换器的特征空间。
**Image-Text Matching Loss (ITM)**激活基于图像的文本编码器。ITM 是一项二元分类任务,要求模型在给定多模态特征的情况下预测图像-文本对是正(匹配)还是负(不匹配)。
**语言建模损失 (LM)**激活基于图像的文本解码器,旨在生成以图像为条件的文本描述。
在不同的下游任务上,我们微调预训练模型的不同路径以实现不同的目标,如下面的动画所示。
从嘈杂的图像文本对中引导字幕
视觉语言预训练依赖于从网络自动收集的大规模图像文本对。然而,文本往往不能准确描述图像的视觉内容,使其成为嘈杂的监督。
为了解决这个问题,我们通过引入两个模块来引导字幕:一个字幕器和一个过滤器。
字幕器是一个基于图像的文本解码器。给定网络图像,我们使用字幕生成合成字幕作为额外的训练样本。
该过滤器是一个基于图像的文本编码器。它删除了与其相应图像不匹配的嘈杂字幕。
接着看下模型架构:
模型架构
请注意,如图 2(下图)所示,大多数基于 Transformer 字幕生成* 和预训练语言和视觉** 的方法都使用预计算的特征边界框***,这使得这些模型对任何域适应都不友好并且计算量大。例如,对于每张新图像,模型都需要预先计算这个外部特征。
图 2. 当前预训练语言和视觉模型的局限性之一是该模型依赖于: (1) 在高质量人类注释字幕上进行训练的对象检测器。 (2) 计算量大。 (3) 需要预先计算这些特征,以便为任何新图像进行推理。
为了能够训练/预训练这种用于理解和生成任务的模型,作者提出了一种编码器(Encoder)和解码器(Decoder)的多模型混合**,**它可以集成三个功能,如图 3(下图)所示:
图 3. BLIP 的预训练模型架构和目标(相同的参数具有相同的颜色)。所提出的编码器-解码器的多模式混合具有三个功能: (1)文本编码器(单模式编码器)使用图像文本对比(ITC)进行训练; (2)基于图像的文本编码器使用额外的交叉注意层来建模视觉-语言交互并使用图像-文本匹配 (ITM) 损失进行训练; (3) Image-grounded text decoder 用因果自注意层替换双向自注意层,并共享相同的交叉注意层和前馈网络作为编码器。
下面针对上图,分别更详细地讨论每个部分:
**(1) 单峰编码器。**该模型对文本和图像进行编码,如图 4(下图)所示。文本编码器与 BERT 相同,即 Mask Language Model (Devlin et al., 2019),带有 [CLS] 标记以附加文本输入的开头以总结句子。
图 4.**单峰编码器。**编码器 使用图像-文本对比 (ITC) 损失进行训练,以对齐视觉和语言表示。
ITC 损失是由同一作者提出的。正如作者在他们之前的工作中提到的,ITC 损失有三个目的: (1)它对齐图像特征和文本特征,使多模态编码器更容易执行跨模态学习; (2)它改进了单峰编码器以更好地理解图像和文本的语义; (3) 它学习一个共同的低维空间来嵌入图像和文本,这使得图像-文本匹配目标能够通过对比硬负挖掘找到更多信息样本。
一般而言,所提出的称为AL ing BE for F use ALBEF 的模型使用三种损失 (1)图像-文本对比损失(ITC), (2)掩码语言建模损失(MLM),以及 (3)图像-文本匹配损失( ITM)与动量蒸馏来学习 SOTA 表示, 我们将在下面更详细地讨论。
**(2) 基于图像的文本编码器。**编码 器依赖于一个额外的交叉注意 (CA) 层(在文本编码器的每个转换器块的自注意 (SA) 层和前馈网络 (FFN) 之间),如下图 6 中的橙色所示. 编码器是特定于任务的,用于编码图像-文本对的多模式表示。
图 6.基于图像的文本编码器。编码器使用额外的交叉注意层来模拟视觉-语言交互,并使用图像-文本匹配 (ITM) 损失进行训练以区分正负图像-文本对。
Image-grounded 文本编码器 使用Image-Text Matching Loss (ITM)。 ITM 旨在捕捉视觉和语言之间的细粒度对齐。ITM 是二元分类任务,其中模型预测匹配的正例和不匹配的负例对(即,模型充当过滤器)。请注意,为了增加负对,通过对比相似性使用硬负挖掘策略来匹配最相似的负对(Li 等人,2021a)。
**(3) 基于图像的文本解码器。**该解码器使用因果自注意(如图 7 中绿色所示)层,这些层由双向自注意设置。因果自注意力用于预测生成任务中的下一个标记。
如上所述,为了在利用多任务学习的同时执行高效的预训练:
文本编码器和文本解码器共享除自注意力层之外的所有参数(图 3 相同颜色表示共享参数)。原因是编码和解码任务之间的差异最好由自注意力层捕获。
编码器采用双向自注意力来构建当前输入标记的表示,
而解码器使用因果自注意力来预测下一个标记。
因此,共享这些层可以提高训练效率,同时受益于多任务学习。
展望发展
BLIP 研究对 AI 及其他领域都有好处:
人工智能的好处:BLIP 对人工智能的贡献包括:
为统一的基于图像的文本理解和生成任务生成最先进的视觉语言预训练模型
引入了一个从嘈杂的网络数据中学习的新框架
通过以下方式处理噪音:
生成合成字幕作为额外的训练样本
去除嘈杂的字幕
更广泛的(一般)影响:BLIP 可以使广泛的下游应用程序具有更好的视觉语言智能,例如电子商务平台中的产品推荐和分类。
总结
视觉语言研究是:
一个核心人工智能问题,因为视觉和语言是世界上两种基本的信息形式
一个重要的应用领域,因为许多工业 AI 应用程序都由视觉语言智能提供支持。
本文使用框架称为 BLIP,介绍了:
一种新的模型架构,可实现比现有方法更广泛的下游任务
一种新的数据集引导方法,用于从嘈杂的网络数据中学习。
BLIP 框架为深度学习和 AI 做出了宝贵贡献:
为统一的基于图像的文本理解和生成任务生成最先进的视觉语言预训练模型
BLIP 从嘈杂的网络数据中学习的新框架很有价值,因为网络收集的图像描述通常不准确 - 即嘈杂。
提供简单、灵活且功能强大的视觉语言模型,可以端到端地进行微调
我们对预训练模型的不同路径进行微调,以在不同的下游任务上实现不同的目标
在图像文本检索、图像字幕、视觉问答、视觉推理和视觉对话方面实现了最先进的性能。
当以零样本的方式直接转移到视频语言任务时,表现出很强的泛化能力。
BLIP 还提供更广泛的好处:
使广泛的下游应用具有更好的视觉语言智能,例如电子商务平台中的产品推荐和分类。
演示示例显示 BLIP 可以:
生成准确详细的图像说明
为各种问题生成准确的答案。
Last updated