BLIP论文笔记

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

大多数现有的VLP模型大多仅仅在understanding-based tasks 或者 generation-based tsaks表现良好,但很少在这两方面都能取得较好的结果。
同时,性能的增大往往来自于数据集的扩大,但是现有的数据集大多数是web网络上采集下来的img-text pair。这些大规模从网络上采集下来的数据往往包含大量的noise,不利于模型的训练。
基于以上两点,作者提出了BLIP模型,能灵活的解决understanding-based tasks和generation-based tasks。同时运用知识蒸馏的思想,利用一个captioner和一个filter生成 synthetic captions和过滤掉noisy的pair,最终获得bootstrapping dataset,送入下一次pre-train。

Motivatin

  1. 现在大多数模型都选择的是encoder-based model或者encoder-decoder model。但是encoder-based model很难运用到生成任务中去,与此同时encoder-decoder model也很难运用到image-text retrieval 任务中去。
  2. 如今SOTA的方法,大多运用到了web中搜集的大规模数据。但是在web中收集到的这些img-text pair大多数都是noisy的,不利于模型的训练。

Contribution

  1. Multimodal mixture of Encoder-Decoder(MED):MED包含unimodal encoder,image-grounded text encoder以及image-grounded text decoder三个部分。三个部分对应三个VL objectives来进行pre-train,分别是:: image-text contrastive learning, image-text matching, and imageconditioned language modeling.
  2. Captioning and Filtering(CapFilt):是一种从noisy img-text pair中进行dataset bootstrapping的方法。将pre-train的MED分为两部分进行finetune,一部分是captioner,从web图像中生成synthetic captions,另一部分是filter,过滤掉生成的caption以及web图像中noisy的图像文本对。
    在这里插入图片描述

如上图所示captioner通过web图片生成caption,filter分别判断原来的web上的text与生成的caption是否是noise,如果是,则过滤掉。

Modal

在这里插入图片描述

如上图所示,整个MED包含了三个部分;

  1. Unimodal encoder:分别对image和text进行编码。其中对image的编码是使用的ViT的模式,先把一个图片打成一块一块的patch再输入transformer;对text的编码就和BERT一致,添加一个[CLS]token表示全局的文本信息。
  2. Image-grounded Text encoder:在BERT的基础上,在FFN和SA之间增加了一个Cross Attention层,以为网络注入图像信息。文本中附加了一个[Encoder]token,用于表示img-text pair的多模态表示信息。
  3. Image-grounded Text decoder:在Image-grounded Text encoder的基础上,将Bi self-attention层换为了casual self-attention层,用于decoder操作。decoder即为bert的decoder形式,调用BertLMHeadModel(is_decoder=true), 常用在language modeling里面,添加mask,预测下一个词。同时文本中附加一个[Decoder]token用于表示序列的开始,[EOS]表示序列的结束。

显然,经由上述的三个模块,这个MED模型就拥有了同时匹配generation-based tasks和understanding-based tasks的能力。

Pre-training objectives

本文在pre-training的时候使用了三个objectives,分别是两个understanding-based objectives和一个generatin-based objectives。

  1. Image-Text Contrastive Loss (ITC):通过contrastive learning 的思想,对齐视觉transformer和文本transformer的特征空间,目的是为了获得更加优质的image和text的representation,具体操作可以参考ALBEF这篇文章。

在这里插入图片描述

  1. Image-Text Matching Loss (ITM):旨在学习image-text multimodal representation,来捕获视觉和语言的细粒度对齐。简单的来啊说就是图文匹配,最后输出一个二分类,positive or negative。
  2. Image-Text Matching Loss (ITM):三个tasks中的生成任务,为给定的图片生成对应的 description与。广泛用于VLP的MLM损失相比,LM使模型具有将视觉信息转换为连贯字幕的泛化能力。

CapFilt

由于大规模预训练的文本-图片对通常是从web上找出来的,该文本通常无法准确描述图像的视觉内容,从而使它们成为嘈杂的信号,对于学习视觉语言对齐不是最佳的。

由此,作者提出了一个CapFilt架构用来提高image-text pair的质量。

在这里插入图片描述

如上图所示,其中( I w , T w I_w,T_w Iw,Tw)代表web image-text pair,( I h , T h I_h,T_h Ih,Th)代表高质量的手工标注的image-text pair。

它引入了两个模块:一个基于web图像生成caption的captioner,以及一个用于去除image-text pair噪声的filter。captioner和filter都是从同一个预训练过的MED模型中初始化的,并在COCO数据集上单独微调。微调是一个轻量级的过程。

整个过程大概为:先进行pre_train,之后利用 I h , T h I_h,T_h Ih,Th分别对captioner和filter进行finetune,captioner给定web图片生成对应的caption,filter利用ITM判断web图片-文字对和web图片-生成caption对是否match,如果不match,则过滤掉,最后将过滤后剩余的图片-文字对和 I h , T h I_h,T_h Ih,Th合在一起pre_train一个新model。个人理解比较像一个新颖的online self-knowledge distillation。

Experiment

在这里插入图片描述

上图是提出的captioner和filter对最后结果的影响。
在这里插入图片描述

上图是parameters sharing策略对最后结果的影响。
在这里插入图片描述

上图是image-text retirval中与其他SOTA任务的对比,可以看出有较大提升。
在这里插入图片描述

上图是与其他image caption SOTA方法的对比
在这里插入图片描述

上图是与其他VQA,NLVR SOTA方法的对比
在这里插入图片描述

在这里插入图片描述

上面是VisDial和text-to-video SOTA方法的对比
在这里插入图片描述

上面是video question SOTA方法的对比

Conclusion

作者提出的BLIP架构在大范围的downstream任务上达到了SOTA的效果,其中包括了understanding-based tasks和generation-based tasks。同时模型使用了一种dataset bootstrapping的方法来解决web中收集的大量noisy数据的问题。

作者还提出有几个潜在的方法可能可以提高BLIP的性能:

  1. 进行多轮的dataset bootstrapping
  2. 为每幅图片生成多个caption,来扩大语料库
  3. 训练多个captioner和filter,并进行model ensemble

References

BLIP
code for BLIP
ALBEF

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值