<<多模态预训练—泛读>>2022:BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Unders

<<多模态预训练—泛读>>2022:BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Unders_第1张图片


目录

问题与方案:

一、Introduction

二、Related Work

2.1、Vision-language Pre-training

2.2、Knowledge Distillation

2.3、Data Augmentation

三、Method

3.1. Model Architecture

3.2、Pre-training Objectives

3.3、CapFilt

四、Experiments and Discussions

五、Conclusion


问题与方案:

        问题:大多数多模态预训练模型只擅长于基于理解的任务或基于生成的任务。此外,性能改进在很大程度上是通过使用从web收集的有噪声的图像-文本对扩展数据集实现的。

        方案:BLIP,可以灵活地转换到视觉语言理解和生成任务,通过引导captions有效地利用了有噪声的web数据,其中captioner生成合成的caption,filter去除掉有噪声的caption

一、Introduction

        视觉语言预训练两个局限:

  • (1) Model perspective:基于编码器的模型不太容易直接转换到文本生成任务(例如image captioning),基于编码器-解码器的模型尚未成功用于图像文本检索任务。
  • (2) Data perspective:大多数最先进的方法(如CLIP、ALBEF、SimVLM)对从web收集的图像-文本对进行预训练。但我们的研究表明,有噪声的web文本是次优的。

        我们提出BLIP:用于统一的视觉语言理解和生成,从模型和数据角度两个贡献:

  • (a) 多模态编码器-解码器混合(MED):一种用于有效多任务预训练和灵活迁移学习的新模型。MED可以用作单模态编码器、image-grounded文本编码器或image-grounded文本解码器。
  • (b) Captioning and Filtering(CapFilt):一种新的数据集增强方法,用于从有噪声的图像-文本对中学习。我们将预训练好的MED微调为两个模块:一个captioner生成给定web图像的合成caption,另一个filter去除原始web文本和合成文本中的带噪声的caption,更加多样化的caption会产生更大的收益。

二、Related Work

2.1、Vision-language Pre-training

       视觉语言预训练(VLP)通过对大规模网络上的图像和文本对进行预训练,尽管使用了简单的基于规则的过滤器,但噪声仍然在网络文本中普遍存在。然而,噪声的负面影响在很大程度上被忽略了,这被通过扩展数据集获得的性能增益所掩盖了。我们的研究表明,对于视觉语言学习来说,有噪声的web文本是次优的,并提出了一种更有效地利用web数据集的CapFilt方法。

2.2、Knowledge Distillation

        知识蒸馏旨在通过从教师模型中提取知识来提高学生模型的性能。自蒸馏是指教师和学生的大小相等,它已被证明对图像分类和VLP有效。我们提出的CapFilt方法简单地强制学生拥有与教师相同的类别预测,它可以被解释为在VLP环境下执行KD的一种更有效的方法,其中captioner通过语义丰富的合成caption提取其知识,而filter通过去除带噪声caption提取其知识。

2.3、Data Augmentation

        虽然数据增强(DA)已广泛应用于计算机视觉,但语言任务的数据增强并不那么简单。最近,生成性语言模型被用于合成各种NLP任务的示例与这些专注于低资源纯语言任务的方法不同,我们的方法展示了合成caption在大规模视觉语言预训练中的优势。

三、Method

3.1. Model Architecture

        visual transformer作为图像编码器,并使用额外的[CLS] token来表示全局图像特征。

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

  • Unimodal encoder,分别对图像和文本进行编码。文本编码器与BERT相同,其中在文本输入的开头附加一个[CLS] token,以表征全局句子。
  •  Image-grounded text encoder,通过在自注意层和文本编码器的前馈网络(FFN)之间插入一个额外的co-attention(CA)层来注入视觉信息。将特定于任务的[Encode] token附加到文本中,并将[Encode]的输出嵌入用作图像-文本对的多模态表示。
  •  Image-grounded text decoder,它将基于图像的文本编码器中的双向自注意层替换为causal self-attention。[Decode] token用于表示序列的开始,序列结束标记用于表示序列的结束。

3.2、Pre-training Objectives

        我们在预训练共同优化三个目标,其中两个基于理解的目标和一个基于生成的目标。每个图像-文本对只需要前向一次计算量大的visual transformer,三次text transformer,其中激活不同的功能来计算三个损失,如下所述:

  • Image-Text Contrastive Loss(ITC)激活单模态编码器。它旨在通过鼓励正的图像-文本对具有与负的图像-文本对相似的表示来对齐visual transformer和text transformer的特征空间。我们遵循了Li等人(2021a)的ITC损失,其中引入了动量编码器来生成特征,并从动量编码器创建的soft label作为训练目标,以解释负的图像-文本中的潜在积极因素。
  • Image-Text Matching Loss(ITM)激活image-grounded text encoder。它旨在学习图像-文本多模态表示,捕捉视觉和语言之间的细粒度对齐。我们采用了Li et al.(2021a)的 hard negative挖掘策略,其中更可能选择批次中对比相似度较高的否定对来计算损失。
  • Language Modeling Loss(LM)激活image-grounded text decoder,该解码器旨在生成给定图像的文本描述。它优化了交叉熵损失,从而训练模型以自回归方式最大化文本的可能性。计算损失时,我们应用0.1的标签平滑。

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

3.3、CapFilt

        最近的工作利用了大量从web自动收集的image-text对进行预训练,然而,文本通常不能准确描述图像的视觉内容,这使得它们成为一个噪声信号,对于学习视觉语言对齐来说,这是次优的。

<<多模态预训练—泛读>>2022:BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Unders_第2张图片

        我们提出了Captioning和Filtering(CapFilt),这是一种提高文本语料库质量的新方法。图3给出了CapFilt的图示,左上角蓝色框是带噪声的web数据集和人工标注的干净数据集的集合,在这个数据集上进行预训练出一个MED模型(此时的MED模型已经预训练完成了),然后引入了两个模块:一个用于生成给定web图像的caption的captioner,以及一个用于移除有噪声图像文本对的filter,注意captioner和filter是从同一个预训练的MED模型初始化的,并在COCO数据集上分别进行微调。具体来说,captioner是一个image-grounded text decoder,它与LM目标结合进行了微调,解码出给定图像的文本,可以看成是个image captioning任务,给定web图像,captioner生成合成的caption。filter是一个image-grounded text encoder,它与ITC和ITM的目标结合进行了微调,以了解文本是否与图像匹配,该filter去除原始web文本和合成文本中的噪声文本,即如果ITM head预测的合成的文本与图像不匹配,则认为原始的图像-文本对是有噪声的。最后,我们将过滤后的图像-文本对与人类注释对相结合,形成一个新的数据集,用于预训练新模型。

四、Experiments and Discussions

五、Conclusion

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

        有几个潜在的方向可以进一步提高BLIP的性能:(1)多轮数据集引导;(2) 为每幅图像生成多个合成caption,进一步扩大预训练语料库;(3) 通过训练多个不同的队长和过滤器,并在CapFilt中组合他们的力量,建立集合模型。我们希望我们的论文能够推动未来的工作,重点是在模型方面和数据方面进行改进,这是视觉语言研究的主要内容。

你可能感兴趣的:(Visual,Question,Answering,Multi-Modal,Pretraing,transformer,人工智能,深度学习)