BLIP简介

论文:https://arxiv.org/abs/2201.12086

代码:https://github.com/salesforce/BLIP      

        在本文中,作者提出了BLIP,这是一个新的VLP框架,可以灵活地转换到视觉语言理解和生成任务。BLIP通过引导字幕有效地利用了嘈杂的web数据,其中字幕器(captioner)生成合成字幕,而过滤器(filter)则删除了嘈杂的字幕。

BLIP在模型和数据的贡献如下:

(a)多模态混合的编码器-解码器(MED):一种新的模型架构 ,可以进行高效的多任务预训练和灵活的迁移学习。MED可以作为单模态的编码器、基于图像的文本编码器或者基于图像的文本解码器。该模型通过三个视觉语言目标进行联合预训练:图像文本对比学习、图像文本匹配和图像条件化语言建模。

(b)字幕及过滤(CapFilt):一种新的数据集bootstrap方法,用于从噪声图像-文本对中学习。对预训练的MED模型进行微调,得到两个模块,一个captioner给网络图像合成字幕,一个filter滤除字幕噪音。

      作者在广泛的视觉语言任务上获得了最先进的结果,例如图像文本检索 ,图像字幕和VQA。当以zero-shot方式直接转移到视频语言任务时,BLIP还表现出很强的泛化能力。

模型结构

        BLIP提出了一个多模态混合的编码器-解码器的,是一个统一的视觉语言模型,可以在三种功能中的一种中运行

       为了预训练一个既有理解能力又有生成能力的统一模型,作者提出了多模态混合编码器-解码器(MED),这是一个多任务模型,可以在以下三种结构之一中运行:

Unimodal encoder:单模态编码器,分别对图像和文本进行编码。文本编码器与BERT相同,其中将 [CLS]  token附加到文本输入的开头以概括句子。

Image-grounded text encoder:Image-grounded文本编码器,通过在文本编码器的每个transformer块的自注意 (SA) 层和前馈网络 (FFN) 之间插入一个额外的交叉注意 (CA) 层来注入视觉信息。文本中附加了一个特定于任务的[Encode] token[Encode]的输出嵌入被用作图像-文本对的多模态表示

Image-grounded text decoder:Image-grounded文本解码器,将基于图像的文本编码器中的双向自注意力层替换为因果自注意力层。[Decode]  token用于表示序列的开始,而[EOS] token用于表示其结束

预训练目标

       作者在预训练期间共同优化了三个目标,其中两个基于理解的目标和一个基于生成的目标。每个图像-文本对仅需要一次通过计算较重的视觉Transformer的正向传递,而三次通过文本转换器的正向传递,以激活不同的结构以计算如下所述的三个损失函数。

  • 图像文本对比损失 (ITC) 激活单模态编码器。其目的是对齐视觉transformer和文本transformer的特征空间,通过鼓励正图像-文本对具有相似的表示来实现。事实证明,这是提高视力和语言理解的有效目标。
  • 图像文本匹配损失(ITM)激活图像文本编码器。它的目的是学习图像-文本多模态表示,捕捉视觉和语言之间的细粒度对齐。ITM是一个二分类任务,给定其多模态特征,模型使用ITM(线性层) 来预测图像-文本对是正 (匹配) 还是负 (不匹配)
  • 语言建模损失(LM)激活image-grounded文本解码器,该解码器旨在生成给定图像的文本描述。它优化了交叉熵损失,从而训练模型以自回归方式最大化文本的可能性。在计算损失时,作者采用0.1的标签平滑。与广泛用于VLPMLM损失相比,LM使模型具有将视觉信息转换为连贯字幕的泛化能力。

       为了在利用多任务学习的同时进行有效的预训练,文本编码器和文本解码器共享除SA层之外的所有参数。原因是编码和解码任务之间的差异最好由SA层捕获。尤其是,编码器采用双向自注意来构建当前输入token的表示,而解码器采用因果自注意来预测下一个token。另一方面,嵌入层、CA层和FFN在编码和解码任务之间的作用类似,因此共享这些层可以提高训练效率,同时受益于多任务学习。

CapFilt

        由于高昂的标注成本,存在有限数量的高质量人工标注图像文本对 ,如COCO。最近的研究利用了大量从网络上自动收集的图像和文本对。但是,这些文本通常无法准确描述图像的视觉内容,从而使它们成为嘈杂的信号,对于学习视觉语言对齐不是最佳的。

       作者提出了字幕和过滤(Captioning and FilteringCapFilt),这是一种提高文本语料库质量的新方法。上图给出了CapFilt的图示。它引入了两个模块:一个用于生成给定web图像的字幕的字幕器,以及一个用于去除噪声图像-文本对的过滤器。字幕器和过滤器都是从同一个预训练过的MED模型中初始化的,并在COCO数据集上单独微调。微调是一个轻量级的过程。

        具体地说,字幕器是一个基于图像的文本解码器。它与LM目标相结合,对给定图像的文本进行解码。给定web图像,字幕器生成合成字幕。过滤器是一个基于图像的文本编码器。它与ITCITM的目标相结合,以了解文本是否与图像匹配。

        过滤器会去除原始web文本和合成文本中的噪声文本,如果ITM头预测文本与图像不匹配,则该文本被视为噪声文本。最后,作者将过滤后的图像-文本对与人类标注对结合起来,形成一个新的数据集,并使用该数据集预训练一个新模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值