VL-BEiT:Generative Vision-Language Pretraining(生成Vision-Language预训练)

标题:VL-BEIT: Generative Vision-Language Pretraining
paper:地址
代码:地址
机构:Microsoft Research
简要介绍: 引入一个称之为VL-BEiTvision-language基础模型,其是通过生成预训练学习到的双向多模态Transformer。这里使用一个共享Transformer对单模态和多模态数据进行masked prediction(掩盖预测)。具体地,对image-text pairs执行masked vision-language modeling,对texts执行masked language modeling,对image执行masked image modelingVL-BEiT通过统一的预训练任务、共享的backboneone-stage训练从头开始学习。VL-BEiT被证明是简单有效的。实验结果表明,VL-BEiT在许多vision-language基准上(比如visual QA、visual reasoning、image-text retrieval(图像-文本检索))取得了很好的结果。更进一步,VL-BEiT可学习transferable visual features,在图像分类和语义分割上达到具有竞争力的结果。

1. Introduction

    生成预训练在NLPCV领域取得了极大的成功。具体来说,BERT引入masked language modeling(掩盖语言建模,MLM),其基于Transformer编码的双向上下文表示学习恢复被掩盖的tokensBEiT引入masked image modeling(掩盖图像建模,MIM)预训练Vision Transformer(即随机掩盖image patches,然后预测对应掩盖位置的visual tokens)。

    这篇论文中,探索了多模态预训练的mask-then-predict(掩盖-then-预测)范式。提出的VL-BEiT采用统一的masked prediction任务,共享的Transformerone-stage训练得到。同时在单模态数据(imagetext)和多模态数据(image-text pairs)执行masked prediction任务。具体而言,统一的目标包含MLMMIM从大规模单模态数据中学习单模态表示,masked vision-language modeling从多模态数据中聚合和对齐visual和语言信息。预训练之后,模型可以在各种vision-language 和vision任务上进行微调。此外,这里也使用了mixture-of-modality-experts(MoME) Transformer作为共享backbone网络。MOME Transformer的每个block包含一个跨不同模态的共享self-attention模块用于对齐内容以及pool of modality experts用于捕获特定模态信息。得益于多模态预训练和共享Transformer骨干,VL-BEiT可用于下游视觉任务的image encoder,或微调为vision-language任务的dual encoder(双编码器)fusion encoder(融合编码器)
    论文对vision-language基准(包括visual QA、visual reasoning、image-text retrieval)进行了广泛实验。结果表明,模型在vision-language基准上有很强的竞争力,同时也在视觉任务(包括图像分类和语义分割)对模型进行评估,取得了很好结果。

图1:利用共享Transformer,通过masked prediction在单/多模态数据上预训练VL-BEiT

消融研究表明,预训练任务和MoME Transformer对于模型最终性能有积极影响。

这篇论文主要贡献可总结如下

  • 引入称之为VL-BEiTvision-language模型,通过在单/多模态数据上的mask-then-prediction任务预训练模型
  • 提出一个简单高效的框架:使用统一生成预训练任务、共享双向Transformerone-stage从头开始训练。
  • 跨下游任务结果表明,模型可学习到transferable vision-languagevisual features

2. Methods

    如上图1所示,VL-BEiT使用共享多模态Transformer,通过mask-then-predict任务进行预训练。在单模态图像数据上执行MIM,在单模态文本数据上执行MLM,在多模态image-text pairs上执行masked vision-language modeling。经过预训练,模型微调之后作为image encoder,dual encoderfusion encoder用于各种视觉和vision-language下游任务中。

2.1 Input Representation

Image表示。将图片 v ∈ R H × W × C v \in R^{H \times W \times C} vRH×W×C分割为patches序列,以将image可以通过标准Transformer进行编码。patches的数量为 N = H W / P 2 N=HW/P^2 N=HW/P2,其中, C C C是通道数, ( H , W ) (H,W) (H,W)是图像分辨率, ( P , P ) (P,P) (P,P)patch分辨率。这里将分割的patches进行flatten,通过linear projection(线性映射)层得到patch embeddings ( { v i p } i = 1 N ) (\{v_i^p\}_{i=1}^N) ({vip}i=1N),并且添加一个可学习的特殊token [ I C L S ] [I_CLS] [ICLS]patch embeddings序列中。最后,patch embeddings和可学习的position embeddings求和得到最终输入表示 H v = [ v [ I _ C L S ] , v 1 , v 2 , . . . , v N ] + V p o s H^v=[v_{[I\_CLS]},v_1,v_2,...,v_N]+V_{pos} Hv=[v[I_CLS],v1,v2,...,vN]+Vpos

Text表示tokenize输入文本,并映射tokensword embeddings { w i } i = 1 M \{w_i\}_{i=1}^M {wi}i=1M,其中M是所tokenize的文本序列长度。两个特殊的tokens,包括开始序列token [ T _ C L S ] [T\_CLS] [T_CLS]和特殊边界token [ T _ S E P ] [T\_SEP] [T_SEP]添加到序列中。最后,文本表示通过word embeddings和文本position embeddings求和得到: H w = [ w [ T _ C L S ] , w 1 , w 2 , . . . , w M , w [ T _ S E P ] + T p o s H^w=[ w_{[T\_CLS]},w_1,w_2,...,w_M,w_{[T\_SEP]}+T_{pos} Hw=[w[T_CLS],w1,w2,...,wM,w[T_SEP]+Tpos

Image-Text Pair 表示。给定image-text pair,首先得到上述的imagetext输入表示。然后对得到的向量进行连接得到image-text pair表示 H v l = [ H w , H v ] H^{vl}=[H^w,H^v] Hvl=[Hw,Hv]

2.2 Backbone Network

    这里使用一个共享多模态Transformer作为backbone network。给定单模态数据的imagetext表示,image-text pair的表示,然后采用MoME Transformer 对不同模态数据表示进行编码。具体说,MoME Transformer堆叠了多层blocks。在每个block中,MoME Transformer包含一个multi-head self-attetion层和一个feed-forward expert layerself-attention模块跨不同模态共享。相比之下,每个feed-forward expert 层都有一个pool of modality-specific experts(特定模态专家池),其是标准Transformerfeed-forward network的替代。换句话说,使用输入token的模态指导feed-forward network池的hard routing(根据不同模态数据进行专家池的选择)。
    MoME Transformer通过激活不同modality-specific experts,灵活应用于支持多种下游任务。例如,可以使用backbone作为单模态Transformervisionlanguage encoder),多模态encoder和跨模态Transformerdual encoder)。

2.3 预训练任务

    VL-BEiT通过在图像上MIM,在文本上MLM,在image-text pairsmasked vision-language modeling进行联合优化。
MLMVL-BEiT使用MLM从大规模文本数据中学习语言表示,比如BERT,随机掩盖单模态文本数据的15%。每个被掩盖的token80%的概率用[MASK] token替代,10%的概率用随机token替代,10%的概率保持不变。BERT预训练的目标就是从受损(被掩盖)的输入文本中恢复被掩盖的tokens

MIM ,除MLM之外,也可以使用MIM从大规模图像数据中学习vision表示。在BEiT中,应用block-wise策略掩盖image patches的40%。MIM的预训练目标是重构被掩盖的patch的离散visual tokens。此外,BEiT v2中,使用image tokenizer获得离散tokens作为重构目标。
Masked Vision-language Modeling,这里引入masked vision-language modeling(MVLM),其将MLMMIM扩展到多模态数据。该任务的目标旨在基于visuallinguistic(语言)线索恢复被掩盖的patches和文本tokens。具体说,在MLM中随机掩盖文本tokens(50%的mask ratio),然后基于joint image-text表示恢复被掩盖的文本tokens。此外,在MIM中掩盖image patches并基于image-text pair恢复其对应的visual tokens。掩盖策略同MIM策略。MVLM任务鼓励模型学习图像和文本对的对齐。

3. 实验

    在vision-languagevisual任务上对预训练模型进行评估,并就预训练任务和backbone架构进行消融实验。

3.1 预训练设置

    预训练数据包含单/多模态数据。对于单模态数据,使用ImageNet-22K作为图像数据,English WikipediaBookCorpus作为文本数据。多模态数据含有image-text pairs的四个数据集:Conceptual Captions SBU CaptionsCOCOVisual Genome。多模态数据大约有4Mimage和10Mimage-text pair
    base-size的网络架构包含768个hidden size和12attention heads的12层Transformer组成,且参数初始化方法同BEiT中一致。预训练图像分辨率为 224 × 224 224 \times 224 224×224image patch大小为 16 × 16 16 \times 16 16×16。混合数据从头开始预训练模型(使用的batch size为6144,steps为480k,image-textepochs为100)。每个batch包含2048张images,2048个text和2048个image-text pairs。对于消融实验,训练模型40个epochs。在BEiT中,使用random resized cropping(随机裁剪)、horizontal flipping(水平翻转)、color jittering(颜色失真)进行数据增强。这里使用词汇表大小为64k的SentencePiece tokenizertokenzize文本数据。Adam优化器 β 1 = 0.9 , β 2 = 0.999 \beta_1=0.9,\beta_2=0.999 β1=0.9β2=0.999。最高学习率为2e-3,在前10000steps中存在linear warmup(预热),然后余弦学习率衰减,权重衰减为0.05。这里禁用dropout,并使用rate=0.1的随机深度。

3.2 Vision-Language 下游任务

    在广泛使用的visual QA(VQA) 、自然语言visual reasongimage-text retrieval任务上进行vision-language微调。对于VQA微调,图像分辨率为 480 × 480 480 \times 480 480×480,其余任务分辨率为 380 × 380 380 \times 380 380×380

Visual Question Answering(VQA) ,旨在给定图像,回答问题。这里使用VQA 2.0数据集,并将问题作为一个分类问题,从3129个最常见答案中选择正确答案。将模型微调为fusion encoder,联合编码image和question[T_CLS]的最终编码向量作为image-question pair的表示,然后输入到分类器层预测其label
Natural Language for Visual Reasoning(NLVR2),对于视觉推理任务,给定文本描述和图像对,该任务就是视觉输入和文本描述是否是正确的。这里使用VLVR2数据集评估模型。遵循OSCARVinVL,基于三元组输入创建两个image-text pairs,模型使用fusion encoder联合编码image 和text。两个pairs[T_CLS] token的最终向量连接起来预测label

Image-Text Retrieval,根据目标方式的不同,该任务可以分为两个子任务:image-to-text提取和text-to-image提取。这里使用COCOFlickr30K数据集来评估模型。采用image-text对比和image-text匹配与VLMO中的hard negative mining目标来联合微调模型。推理过程中,首先使用模型作为dual encoder获得top-k condidates(前k个候选),然后,利用利用该模型作为fusion encoder,根据image-text匹配得分对condidates进行排序。
在这里插入图片描述
    表1,记录了vision-language 分类任务的结果,包括VQA和NLVR2,比较在相同的image-text pair数据上的VL-BEiT和其他base-size的预训练模型,VL-BEiTVQA上比之前base-size的模型表现更好,也在NLVR2上达到了竞争性的性能。统一mask-then-predict预训练任务可以高效学习多模态表示。
    模型也在image-text retrieval任务上取得了很好性能。如表2中,比较了fusion-encoder模型、dual-encoder模型和reranking模型。Fusion-encoder对所有image-text组合联合编码,通过image-text匹配目标获得相似度得分。Dual-encoder模型单独编码imagetext,通过一个简单交互层计算相似度得分。reranking模型首先从dual encoder中得到top-k condidates,然后通过由fusion encoder计算的image-text匹配得分对condidates进行排序。VL-BEiT优于reranking 模型ALBEF,即使是预训练期间不使用image-text对比/匹配。

3.3 Vision下游任务

图像分类,使用ILSVRC-2012 ImageNet数据集,包含1.3M张图片和1k个类别。同BEiT,在最终向量上执行平均池化,然后将结果向量输入到线性分类器层预测label
语义分割,该任务是预测输入图像中每个像素的label。在ADE20K数据集上进行评估,该数据集包括25K图像150个语义类别,这里使用UperNet中相同的任务层。

    如表3所示,比较了在图像分类和语义分割上的两个base-sizevision Transformer。对于BEiTVL-BEiT,在ImageNet-22k上进行中间微调然后同在ImageNet-22k上预训练的ViT进行比较。VL-BEiT优于之前监督性的SOTAImageNet-1k上的自监督模型。文中模型在ADE20k上同样表现不凡。
在这里插入图片描述

3.4 Ablation(消融)研究

    消融研究分析了预训练任务和MoME TransformerVL-BEiT中的贡献。这里在visual reasoning(VNLR2)image-text retrieval(Flickr30k)上对模型评估。
在这里插入图片描述
预训练任务,表4是使用不同预训练任务的结果。单模态数据上,MIMMLM对于文中方法是有积极作用的。此外,仅在单模态数据上执行MLMMIM训练,模型在NLVR2上准确率相对较低。Masked vision-language modeling在本文方法中至关重要。
Backbone 架构,这里对模型使用的MoME Transformer和标准Transformer进行了比较。结果如表5,在visual reasoningimage-text retrieval 任务上,MoME Transformer比标准Transformer表现更好。MoME使用Modality experts有效捕获了特定模态消息,进而提升了模型性能。
在这里插入图片描述

4. 相关工作

    vision-language 预训练旨在从大规模image-text pairs中学习多模态表示。模型架构和预训练目标在vision-language模型中至关重要。
模型架构,以往模型中,广泛使用的两种主流架构有:dual-encoderfusion-encoder模型。Dual-encoder模型包含一个image encoder和一个text encoder,分别编码image和text,然后利用余弦相似度对图像和文本向量的交互建模。Dual-encoder模型对于具有线性时间复杂度的image-text retrieval任务具有良好效果,但简单的fusion 模块不足以处理复杂的vision-language理解任务,比如视觉推理。Fusion-encoder模型采用带有跨模态注意力的复杂fusion模块联合编码image和text。最近,Pixel-BERTALBEF使用CNN/vision Transformer编码image,并移除掉object detectorViLT使用共享Transformer网络联合编码image patchesword embeddingsFusion-encoder模型在视觉语言理解任务(视觉推理)上达到了极好的表现。但其在retrieval(检索)任务时间复杂度较高,导致推理速度比dual-encoder模型慢。VLMO统一了dual-encoderfusion-encoder模型,引入了MoME Transformer在一个共享的Transformer block内来编码不同模态数据。本文中,采用MoME Transformer作为backbone网络,简单并且灵活。VL-BEiT也可以微调作为dual-encoderfusion-encoder
预训练目标,近几年,多个跨模态预训练目标被提出,包括image-text对比学习、image-text匹配、MLMprefix language modelingmasked region分类、word-patch/region 对齐。SimVLM提出使用prefix language modelingimage-text pairs和仅文本数据上训练vision-language 模型。MIMMLM被应用于单模态encoderMasked multimodal modeling、image-text contrast和matching loss用于多模态encoder。对比SimVLM,VL-BEiT通过MIMmasked vision-language modeling引入vision supervision(视觉监督)。不同于FLAVA,本文在不同模态以及从零开始训练是,使用共享MoME Transformer网络。

5. Conclusion

    文中,引入VL-BEiT,一个简单有效的对于vision-languagevision任务预训练双向多模态Transformer encoder模型,其仅采用生成预训练任务(文本上做MLM,图片上做MIM,图片-文本对上做masked vision-language modeling)。实验证明了VL-BEiT可以有效利用单模态数据(imagetext)和多模态数据(image-text pairs),并在vision-languagevision任务上取得了很好效果。未来可以改进提升的方向:

  • 对于VL-BEiT,扩大模型和数据的规模
  • 依据对跨语言模型预训练的研究,把像CLIP这样的对比目标集成到VL-BEiT中,即在预训练阶段通过生成和对比目标的联合学习,或者作为中间微调任务。
  • 此外还对跨不同模态(比如visionlanguage)的zero-shot 跨模态迁移感兴趣
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值