900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > VL-BEiT:Generative Vision-Language Pretraining(生成Vision-Language预训练)

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

时间:2023-01-17 04:29:02

相关推荐

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

文章目录

1. Introduction2. Methods2.1 Input Representation2.2 Backbone Network2.3 预训练任务3. 实验3.1 预训练设置3.2 Vision-Language 下游任务3.3 Vision下游任务3.4 Ablation(消融)研究4. 相关工作5. Conclusion

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

Text表示tokenize输入文本,并映射tokensword embeddings{wi}i=1M\{w_i\}_{i=1}^M{wi​}i=1M​,其中M是所tokenize的文本序列长度。两个特殊的tokens,包括开始序列token[T_CLS][T\_CLS][T_CLS]和特殊边界token[T_SEP][T\_SEP][T_SEP]添加到序列中。最后,文本表示通过word embeddings和文本position embeddings求和得到:Hw=[w[T_CLS],w1,w2,...,wM,w[T_SEP]+TposH^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表示Hvl=[Hw,Hv]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 CaptionsSBU CaptionsCOCOVisual Genome。多模态数据大约有4Mimage和10Mimage-text pair

    base-size的网络架构包含768个hidden size和12attention heads的12层Transformer组成,且参数初始化方法同BEiT中一致。预训练图像分辨率为224×224224 \times 224224×224,image patch大小为16×1616 \times 1616×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×480480 \times 480480×480,其余任务分辨率为380×380380 \times 380380×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- 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跨模态迁移感兴趣

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。