2022: BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and

摘要

        大多现有的视觉语言预训练好的模型只善于基于理解的任务或基于生成的任务,而且,性能的提高很大程度上是通过扩大来自web上收集的有噪声的图像-文本对的数据集,这是一个次优的监督来源。本文,提出BLIP,一种新的VLP框架,可以灵活地转换到视觉-语言理解和生成任务BLIP通过引导字幕,有效地利用了有噪声的web数据,其中字幕器生成合成字幕,过滤器去除有噪声的字幕。我们在广泛的视觉语言任务上实现了最先进的结果,如图像-文本检索、图像标注和VQA。BLIP能以零样本的方式直接转移到视频-语言任务上,也论证了很强的泛化能力

一、介绍

       现有的视觉-语言预训练任务有以下两种主要限制:(1)模型角度:大多方法要么采用基于编码器的模型或基于编码-解码器的模型,然而,基于编码器的模型很难直接转移到文本生成任务上(如图像标注),而编码-解码器模型尚未成功地用于图像-文本检索任务。(2)数据角度:大多最新的方法CLIP、ALBEF、SimVLM在来自web的图像-文本对上预训练,通过扩大数据集获得性能增益,而我们的论文表明,有噪声的web文本对视觉语言学习是次优的。

        我们提出BLIP:引导语言-图像预训练为统一的视觉语言理解和生成。BLIP是一个新的VLP框架,它支持比现有方法更广泛的下游任务。它分别从模型和数据角度介绍了两个贡献

        (a)编码器-解码器(MED)的多模态混合结构:一种为有效的多任务预训练和灵活的转移学习的新的模型架构。MED可以作为单模态编码器、或一个图像接地的文本编码器、或一个图像接地的文本解码器。模型与三个视觉-语言目标共同预训练:图像-文本对比学习、图像-文本匹配、和以图像为条件的语言建模

        (b)标注和过滤(CapFilt):一种新的从有噪声的图像-文本对中学习的数据集引导方法。我们将预训练好的MED微调为两个模块:一个字幕器用于生成给定web图像的合成字幕;另一个过滤器用于从原始的web文本和合成文本中删除有噪声的字幕。

        我们进行了广泛的实验和分析,并得出以下关键的观察:(1)我们表明了字幕器和过滤器一起工作,通过引导字幕在各种下游任务上实现实质性性能改进,我们还发现,更多样化的字幕会产生更大的收益。(2)BLIP在各种视觉-语言任务上实现了最先进的性能,包括图像-文本检索、图像标注、视觉问答、视觉推理和视觉对话。当直接将我们的模型转移到两个视频语言任务:文本到视频检索和视频QA时,我们也实现了最先进的零样本性能。

二、相关工作

2.1 视觉-语言预训练

        视觉-语言预训练旨在通过在大规模图像-文本对上对模型机型预训练来提高下游视觉和语言任务的性能。由于获取人工注释的文本的费用过高,大多方法使用从web上爬取的图像和替代文本对,尽管使用了简单的基于规则的过滤器,噪声仍然在web文本中普遍存在。然而,噪声的负面影响在很大程度上都被忽视了,这被通过放大数据集而获得的性能增益所掩盖。本文表明,有噪声的web文本对于视觉语言学习是次优的,并提出一种更有效的利用web数据集的CapFilt。

        有很多尝试将各种视觉和语言任务统一为一个框架,最大的挑战是设计出可以同时执行基于理解的任务(如图像-文本检索)和基于生成的任务(如图像标注)的模型结构。我们提出的多模态编码-解码器混合模型在广泛的下游任务上提供了更大的灵活性和更好的性能。

2.2 知识蒸馏

        知识蒸馏(KD)旨在通过从教师模型中提取知识来提高学生模型的表现。自蒸馏是KD的一种特殊情况,其中教师和学生有相同的尺寸。它已被证明对图像分类有效,最近对VLP也有效。不同于大多数现有的KD方法(简单执行学生与老师有相同的类预测),我们提出的CapFilt可以被解释为在VLP的上下文中一个执行KD更有效的方式,字幕器通过语义丰富的合成标题提取知识,过滤器通过消除有噪声的标题来提取知识。

2.3 数据增强

        尽管数据增强在计算机视觉中广泛应用,但用于语言任务的DA就不简单了。最近生成的语言模型被用于各种VLP任务的合成实例。与关注低资源纯语言任务的这些方法不同,我们的方法证明了在大规模视觉-语言预训练中合成字幕的优势

三、方法

        我们提出了BLIP,一个统一的VLP框架从有噪声的图像-文本对中学习。

3.1 模型结构

        我们用一个视觉transformer作为我们的图像编码器,将输入图像分割成补丁,并将其编码为一个嵌入序列,另外还有一个额外的[CLS]标记来表示全局图像特征。使用ViT与使用已训练好的对象检测器相比更便于计算,并已被最近的方法所采用。

        为预训练一个具有理解和生成能力的统一模型,我们提出了编码-解码器的多模态混合(MED)一种可以在三个功能之一运行的多任务模型

        (1)单模态编码器,分别编码图像和文本。文本编码器与BERT相同,其中[CLS]标记被添加在文本输入开头用来总结句子。

        (2)基于图像的文本编码器,通过在文本编码器的每个transformer块的自注意力(SA)层和前馈网络(FFN)之间插入一个额外的跨注意力层(CA)来注入视觉信息。在文本中附加的一个特定于任务的[Encode]标记,并使用[Encode]的输出嵌入作为图像-文本对的多模态表示

        (3)基于图像的文本解码器,用因果自注意力层取代了基于图像的文本编码器中的双向自注意力层[Decode]标记用于表示序列的开始,而序列的结束标记用作其结束的信号。

3.2 预训练目标

        在预训练期间共同优化了三个目标,有两个基于理解的目标和一个基于生成的目标。每个图像-文本对需要一个前向通过计算量较大的视觉transformer,以及三个前向通过文本transformer,其中,激活不同的功能来计算如下所述的三个损失。

        图像-文本对比损失(ITC)  激活单模态编码器,它的目的是通过鼓励正图像-文本对与负图像-文本对相似的表示形式来对齐视觉transformer和文本transformer的特征空间。它已被证明是改善视觉和语言理解的有效目标,跟随ALBEF的ITC损失,其中引入动量编码器来产生特征,并从动量编码器中创建的软标签作为训练目标,已解释负对中潜在的正因素。

        图像-文本匹配损失(ITM)  激活以图像为基础的文本编码器目的是学习图像-文本多模态表示,以捕获视觉和语言之间的细粒度对齐。ITM是一个二值分类任务,其中模型使用一个ITM头(一个线性层)来预测一个图像-文本对是正的(匹配)还是负的(不匹配),给定它们的多模态特征。为找出更多的负信息,采用ALBEF中的硬负挖掘策略即选择批次中对比相似性较高的负对来计算损失

        语言建模损失(LM)  激活以图像为基础的文本解码器目的是生成给定图像的文本描述。优化了一个交叉熵损失,训练模型以自回归的方式最大化文本的可能性。计算损失时,我们应用了0.1的标签平滑处理。与被广泛用于VLP的MLM损失相比,LM使具有泛化能力的模型能够将视觉信息转换为连贯的字幕。

        为使预训练任务更高效,文本编码器和文本解码器共享除SA层的所有参数,原因是编码和解码任务间的差异最好由SA层捕获。特别地,编码器利用双向自注意力构建当前输入标记,而解码器使用因果自注意力来预测下一个标记。另一方面,嵌入层、CA层和FFN在编码和解码任务之间的功能相似,因此共享这些层可以在享受多任务学习的同时提高训练效率。

3.3 CapFilt

        由于高昂的注释成本和有限数量的而高质量人工注释的图像-文本对,最近工作利用更大数量的图像和替代文本对(自动从网上收集的)。然而替代文本往往不能准确地描述图像的视觉内容,使其成为学习视觉-语言对齐的次噪声信号。

        我们提出了标注和过滤(CapFilt),一种提高文本语料库质量的新方法。如图3所示,引入两个模块:一个字幕器从给定的web图像中生成字幕,一个过滤器移除有噪声的图像-文本对。字幕器和过滤器都从相同的预训练好的MED模型中初始化,并分别在COCO数据集上进行微调。

         具体地,字幕器是一个以图像为基础的文本解码器,可以利用LM目标来解码给定图像的文本。给定网站图像Iw,字幕器生成合成字幕Ts,每张图像有一个字幕。过滤器是一个以图像为基础的文本编码器通过ITC和ITM目标来确定文本是否与图像匹配。过滤器移除原始网站文本Tw和合成文本Ts中的噪声文本,如果ITM头部预测文本与图像不匹配,则认为文本是有噪声的。最后,将过滤后的图像-文本对与人类注释对相结合,形成一个新的数据集,我们用它来预训练一个新的模型。

四、实验和讨论

       我们使用与ALBEF相同的预训练数据集,包括两个人类注释的数据集和三个网站数据集,我们也是用一个额外的网站数据集,LAION,包含更多噪声文本的图像。

4.2 CapFilt的影响

        表1中,比较了不同数据集上预训练的模型,以证明CapFilt在下游任务上的有效性,包括图像-文本检索和微调的图像标注和零样本设置。

        当字幕器过滤器应用于14M图像的数据集时,性能有提高,当同时应用时,效果相互配合,与原始噪声的网络文本相比,有实质性的改进。CapFilt通过更大的数据集更大的视觉主干来进一步提高性能,验证在数据大小和模型大小的可伸缩性。

         图4展示了一些示例字幕和相应的图像,定性的展示了字幕器生成新的文本描述的效果,过滤器从原始网站文本和合成文本中移除有噪声的字幕。

 4.3 多样性是合成字幕的关键

        在CapFilt中,我们利用核采样来生成合成标题核采样是一种随机解码方法,每个标记是从一组累积概率质量超过阈值p(实验中p=0.9)的标记中采样。表2中,将其与波束搜索进行比较,这是一种确定性解码方法,旨在生成概率最高的标题。核采样有更好的性能,尽管是更大的噪声。我们假设,原因是核采样产生了更对多样化和令人惊讶的字幕,其中包含了更多样化的新信息,模型可以从中受益。另一方面,波束搜索倾向于生成数据集中常见的安全字幕,因此提供更少的额外知识。

 4.4 参数共享和解耦

        预训练期间,文本编码器和解码器共享除自注意力层之外的所有参数,表3中,我们评估了使用不同参数共享策略预训练的模型。结果表明,共享除SA层外的参数的模型相比没有共享的有更好的表现,同时也减少了模型的尺寸,从而提高了训练效率。如果SA层是共享的,模型表现会由于编码任务和解码任务之间的冲突下降

         在CapFilt期间,字幕器和过滤器将在COCO上分别进行端到端微调。表4中,我们研究了字幕器和过滤器是否以与预训练相同的方式共享参数的效果。对下游任务的表现下降,我们主要将其归因于确认偏差,由于参数共享,由字幕器产生的噪声字幕不太可能被滤波器过滤掉,这从较低的噪声比中可以看出。

 五、与最先进结果的比较

        我们比较在广泛的视觉语言下游任务上的BLIP和现有的VLP方法。

5.3 视觉问答

        我们跟随ALBEF,将VQA考虑为一个答案生成任务,使得开放式的VQA。如图5(a),在微调期间,我们重新排列预训练好的模型,其中一个图像-问题首先被编码到多模态嵌入中,然后送入一个答案解码器。VQA模型以真实答案为目标,细化了LM损失。

        结果被显示在表8中,使用14M图像,BLIP在测试集上比ALBEF高出+1.64%,使用129M图像,BLIP比SimVLM获得更好的性能,SimVLM使用13*更多的预训练数据和更大的视觉主干有着额外的卷积阶段。

 六、额外的消融研究

        使用CapFilt的改进并不是由于更长的训练   由于引导数据集比原始数据集包含更多的文本,因此使用引导数据集训练相同时期的epoch需要更长的时间。为了验证CapFilt的有效性不是由于较长时间的训练,我们在原始数据集中复制web文本,使其每个epoch与引导数据集具有相同的训练样本数量。如表12所示,使用嘈杂的网络文本进行更长时间的训练并不能提高性能

         应该在被引导的数据集上训练一个新的模型    引导数据集用于对新模型进行预训练。我们调查了从之前的预训练好的模型中继续训练的结果,使用引导数据集。表13中如何继续训练没有帮助。这一观察结果与知识蒸馏中的常见做法相一致,即学生模型不能从教师那里初始化。

七、结论

        我们提出BLIP,一种新的VLP框架,在广泛的下游视觉语言任务上具有最先进的性能,包括基于理解和基于生成的任务。BLIP通过注入不同的合成字幕和去除噪声字幕,利用一个大规模噪声的数据集预训练编码-解码器模型的多模态混合。我们的引导数据集被发布,以促进未来的视觉语言研究。

        有一些潜在的方向可以进一步提高BLIP的性能:(1)多轮数据集引导;(2)为每张图像生成多个合成字幕,进一步扩大预训练语料库;(3)模型集成,通过训练索格不同的字幕器和过滤去,并在CapFilt中结合它们的力量,我们希望我们的论文能够激发未来的工作,专注于在模型方面和数据方面进行改进,这是视觉语言研究的面包和支柱。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值