■ 简介
当前人工智能技术急需从v1.0向v2.0提升,而其中最大的趋势是多模态数据融合和预训练模型的应用,而《universal image-text representation learning(uniter)》提出一个全新的多模态预训练模型,能够满足大多数情况下视觉和文本的跨模态下游任务,对此给大家做一个解读和分享。uniter建立了四个预训练任务,分别为:mlm、mrm、itm以及war,并且采用的模态信息处理方式上不同于以往,在预训练任务上对文本或图像信息做条件式的掩码处理,图像特征的观察是全局式的。其中全局图像-文本对齐的itm任务,文章在预训练期间使用了ot最优传输方式提升了文本图像对齐工作细粒度的性能,同时采用了组合式预训练实验研究来找到一个更加优异的预训练任务组合。uniter模型在六个v l任务上取得了sota的成绩,任务包含:vqa、视觉常识推理(vcr)、nlvr^2、visual entailment、图像-文本检索(包含zero-shot的设定)以及引用表达式理解任务。uniter预训练所使用的四个数据集分别是:coco、visual genome(vg)、conceptual captions(cc),sub captions。
大多数之前的v l任务都是依赖于构建文本和图像之间embedding的多模态语义关联信息,这些任务做的事情都是针对一些具体任务的,例如mcb、ban、dfaf等工作针对vqa提出的多模态融合方法。scan和mattnet等一些工作基于图像检索任务针对区域图像和文本之间潜在的关联做的研究。虽然前者工作在它们的benchmark上都得到了sota的结果,但它们的架构都是不同的,并且都是针对某些单一任务的,并不能很好适应地迁移到其他任务上。所以本文的构想是,能否针对所有的视觉-语言任务都建立一个能够通用的图像-文本理解模型。
■ uniter的模型主体
受到bert的启发,uniter的模型核心也是transformer,利用注意力机制去学习和理解多模态的上下文理解。uniter的预训练模型由四个预训练任务构成:(i)图像上应用有条件式的掩码语言建模(mlm);(ii)在文本上应用掩蔽区域建模(mrm);(iii)图像-文本匹配(itm);(iv)文字区域对齐(war).本文为了探讨mrm对模型效率的影响,又提出了三个mrm任务的变种:(i)掩蔽区域分类(mrc);(ii)掩蔽区域特征回归(mrfr);(iii)基于kl散度的掩蔽区域分类(mrc-kl)。
以上就是uniter的主要模型图。
uniter对于图像和文本的embedding处理是独立的。首先对区域图像做编码工作,这里的工作是两个方面:将视觉特征和边框盒特征(bounding box)各自使用相应embedder将信息嵌入到一个公共的embedding空间,这里图像和文本的embedder处理中还采用来一个特殊的模态embedding,这个操作是在通过各自的ln layer之前就完成的,并未在上面的模型图中展现,这样做的目的是帮助模型更好地区分输入内容(图像、文本)之间的区别,这一层也类似于bert中的“segment embedding”层。最后将每个图像区域和文本的信息通过transformer模块来完成上下文内容的学习。在预训练过程中,基于优化传输器(ot)学习任务能通过最小化原始数据分布传输到其他的数据分布类型的损失来达到优化分布匹配的性能。
uniter模型的输入是一个图像文本对,图像部分是通过faster-rcnn来抽取的向量信息,其中faster-rcnn是在visual genome目标 属性数据上训练好的预训练模型,输入dim默认设定是2048维度的向量,抽取的数量上设置的max_num,这是一张图片抽取的局部特征图数量。由于transformer自注意力机制中是不记录文本token或者图像的位置向量的,所以在文本以及图像各自的embedder处理过成中,需要分别生成position_feature,这是一个7-维的向量,并且图像信息和位置信息会单独通过一个全连接层,全连接层的输出经过layer norm,通过这个层来完成特征组合和模式的识别。在文本的embedder中采取的是一个bert模型中的基本分类器tokenizer,将句子分割成word,转义成token的映射,同时嵌入到embedding空间在layer norm层完成特征的组合。保存局部图在完整图片中的相对图片块的位置信息,文本则是随机生成一组(0,文本token数)的列表与文本位置信息做对应,最后整合二者作为完整的transfomer的input。
elmo、bert等模型nlp任务中的巨大进步有两个关键因素:基于大型语料库的预训练任务和利用transformer来学习文本上下文语境。近来有很多的研究将自监督学习应用在了多模态任务上,通过大规模的图像/音频和文本组成的数据来做预训练,最后在下游任务中进行微调。例如videobert和cbt应用bert模型来学习音频-文本对的分布关联,vilbert和lxmert中则提出了双流的网络架构,分别独立地将transformer应用在文本和图像上,在文本和图像特征单独的处理后,整合两者结果作为在下一个阶段第三个transformer的输入。与此相对的就是采用单流架构的模型,采用统一的一个transformer来作为图像和文本的处理器,采用的是merged attention的模式,文本和图像的embedding是同时合并到一个transformer架构中的,那么uniter就是这一类型的模型。
■ 预训练任务
[1]masked language modeling(mlm):
图像区域用v = {v1, ..., vk}表示, 输入文本采用w = {w1, ..., wt }表示。mask的索引值为m,在mlm任务中,采用15%的概率来掩蔽某个token并用特殊的[mask]符替代,然后基于上下文环境的词来w\m ,来做特殊标记位置的word还原,这里的m是一个masked word索引的集合,同时对整个跨模态的信息采用负对数似然函数来作为损失函数。这里mlm是针对文本层面的,也就是说uniter中做预训练的一个特点,是针对某个单一模态下做掩蔽操作,而保证另外一个模态的信息完整,这样做的好处是可以评价单个模态掩蔽工作还原的实验对整个模型本身性能起到的影响,mlm就是针对于自然语言这一模态。下面是mlm任务设计的loss:
[2]image-text matching(itm)
在图像-文本匹配的任务中,将任务的结果视作是一个二分类的任务 y ∈ {0, 1},特殊的符号[cls]作为整合模型的结果输出,模型的输入数据集d中是分别采样了正负样本的,负样本的选择上,是在已有的文本或图像数据集中随机选择来组合生成的,任务优化的损失目标采用的是二分类交叉熵损失函数(binary cross-entropy loss)。
[3]word-region alignment (wra)
[4]masked region modeling (mrm)
mrm任务和mlm任务基本类似,同样采用局部特征图,以15%概率做掩蔽操作,和mlm相反,mrm的掩蔽工作是针对局部特征图的,保持文本模态的完整。视觉模态中被遮蔽的局部特征图在向量中的值会被‘0’所取代。 文本可以采用离散的标签来代表token,但是图像的信息往往是高维和连续的,不能被视作是分类的可能性。本文针对mrm任务提出了三种变种的预训练任务,它们都是基于同一个损失优化目标的:
预训练数据集:
上面是预训练阶段所使用到到一些数据集,域内的数据有coco和vg dense,域外的数据有cc和sbu,其中在训练阶段由以上数据集来构成5.6m数量的image-text对,校验阶段则是131k大小的数据,而以上的数据对比lxmert模型来说只是其一半的数量。
uniter的预训练模型分为两个:
(1)uniter-base:l=12,h=768,a=12,总参数= 86m
(2)uniter-large: l=24,h=1024,a=16,总参数=303m
■ 模型的结果
下游微调任务类型:
(1)vqa
(2)vcr
(3)nlvr
(4)visual entailment
(5)image-text retrieval
(6)re comprehension
在视觉蕴含方面,本文在snli-ve数据集上做了评估,目的是评测图像的视觉语义信息是否包含有模型的文本输入数据。分类的正确性会按照三个维度来展开:“蕴含(entailment),自然(neutral)以及矛盾(contradiction)
微调任务的细节:
以上三个任务中,视觉蕴含和图像-文本检索的的任务都是将的图像文本embedding输入到mlp层得到[cls]的值。关系理解(re comprehension)的任务中,使用mlp层来计算区域位置匹配的得分情况,mlp层是在微调阶段去学习的而非预训练阶段。微调的任务中除了图像-文本检索外都可以视作是一个分类任务,最小化的损失函数也都是交叉熵损失或是其变体。对于图像-文本检索则视作是一个排序问题,在微调阶段采样三对图像文本对,以及两对负样本对,计算正负样本中拼接的embedding近似得分,按照排序得分来得到检索结果。
预训练任务的性能:
上图是基于uniter-base模型在任务组合训练得到的结果展示图。模型通过消融实验来研究任务组合之间的性能差异,通过vqa、nlvr^2,filckr30k以及refcoco 来作为v l训练的benchmark,同时引入来一种全局评价策略-meta-sum(所有benchmark的得分和)。建立了两个baseline:(l1)第一行的none不采用任何预训练处理和(l2)第二行只有mlm对文本做预训练的benchmark,虽然只关注文本没有关注任何图像数据的预训练任务并不一定可取,但是在meta-sum上还是超过了30多分,所以可以作为baseline的一个考察基础。
通过消融实验评估预训练任务的实验影响,在只有mlm和itm的预训练任务中,可以发现实验结果远高于l2的情况,说明这两种预训练任务是对消融实验起主导影响的因素之一。之后尝试的mlm itm mrc-kl mrfr wra 实验发现添加了war的预训练任务要比不加要更好,这表明了预训练期间通过加强文本和图像局部特征细粒度的对齐工作能够有有益于一些下游任务,例如:涉及区域层面的理解或者推理。通过对比研究,发现有条件的掩蔽操作的结果更好。例如l10中的采用了条件式掩蔽的预训练任务meta-sum结果是(399.97)要比l12中不使用条件掩蔽而采用随机掩蔽特征的预训练任务结果(396.51)要高,所以条件式掩蔽是能够有效地提升图像和文本之间理解的学习能力的。l11和l13的对比可以发现虽然域外数据集可能包含更多的图片数据,如果模型在预训练阶段的部分数据和下游任务的数据是类似的话,要更能让模型的性能受益的。最后对比l14,可以发现域内域外的数据组合作为预训练的数据集的话可以使得模型进一步提升,图中也是达到了预训练的最好结果。
在下游任务中的结果
基于在域内外数据和最佳组合“mlm itm mrc-kl mrfr wra”预训练得到的模型,和每个下游任务用到的其他预训练模型做了对比。在每一个benchmark的任务上,uniter-large都获得了sota的性能,uniter-base也在除了vqa任务外的benchmark取得了相对更好的结果。uniter-base在vcr上比之前的sota性能高了大约2.8%,nlvr^2为2.5%、snli-ve为7%,包括在zs(zero-shot)设定场景下的一些特殊任务,uniter都比起针对特殊任务已有的预训练模型的性能要来的好。与其他的任务不同,nlvr^2采用两张图片作为输入,所以用图文对来微调uniter模型并不一定能引导更好的性能,因为在预训练阶段未必能够学习到图片之间的语义联系,所以本文针对nlvr^2设计三种变体设计来做下游任务的测试,这些细节在论文中有详述展开。
图文对注意力机制的可视化样例:
uniter中的跨模态是将注意力机制应用关注在token和局部特征图之间。
■ 结论与展望
之前的跨模态预训练模型都是针对一些特殊性任务的,这样对于各种不同的下游任务来说,都需要匹配一些不同的预训练模型,才能继续做模型的微调。针对这样的问题,文章提出的统一框架uniter考虑到多种v l的下游任务,考虑了多种主要视觉-文本的场景,同时还能让性能超过一些针对特殊任务场景的跨模态模型。本文的展望认为uniter在细粒度的考量上,是还不够精细化的,本模型跨模态的注意力机制,关注点在于token和局部特征图之间,局部特征图其实是相对较大的关注范畴。那么是否可以把细粒度提升?关注到原始的图片像素样本特征呢?在未来可以针对pixel层面和句子语义之间的联系做更多的研究,或许是能够创建一个性能更加优异的预训练模型。当然这篇文章相对也是比较早的,在之后的工作中,也确实是引出了一系列的多模态框架,包括考虑像素级别的pixel-bert等模型,uniter的贡献是对多模态预训练任务提出了统一和建设性的工作,针对实验部分的细节,放在论文原文的末尾作为补充,如若读者感兴趣,可以进一步研究和探讨。
■ 文献引用
[1]. alberti, c., ling, j., collins, m., reitter, d.: fusion of detected objects in text for visual question answering. in: emnlp (2019)
[2]. anderson, p., he, x., buehler, c., teney, d., johnson, m., gould, s., zhang,l.: bottom-up and top-down attention for image captioning and visual question answering. in: cvpr (2018)
[3]. antol, s., agrawal, a., lu, j., mitchell, m., batra, d., zitnick, c.l., parikh, d.:vqa: visual question answering. in: iccv (2015) 1
[4]. arjovsky, m., chintala, s., bottou, l.: wasserstein generative adversarial networks.in: icml (2017)
[5]. boyd, s., vandenberghe, l.: convex optimization. cambridge university press(2004)
[6]. cao, j., gan, z., cheng, y., yu, l., chen, y.c., liu, j.: behind the scene:revealing the secrets of pre-trained vision-and-language models. arxiv preprint
arxiv:2005.07310 (2020)
[7]. chen, l., gan, z., cheng, y., li, l., carin, l., liu, j.: graph optimal transportfor cross-domain alignment. in: icml (2020) 3
[8]. cuturi, m.: sinkhorn distances: lightspeed computation of optimal transport. in:nips (2013)
[9]. devlin, j., chang, m.w., lee, k., toutanova, k.: bert: pre-training of deep bidirectional transformers for language understanding. in: naacl (2019)
[10]. doersch, c., gupta, a., efros, a.a.: unsupervised visual representation learning by context prediction. in: iccv (2015)