Towards Unified-Modal Understanding and Generation via Cross-Modal Contrastive Learning
code:https://github.com/PaddlePaddle/ Research/tree/master/NLP/UNIMO.
1.摘要
存在的单模型和多模型任务彼此间不能很好的适应,本文提出了一种UNIMO来提高多模态的理解和生成任务。大量的图片和文本用来整合提高视觉和文本的理解。并且交叉模型对抗学习被用来对齐文本和视觉信息到统一的语法空间。在丰富的单个模型数据中,我们的模型能够学习更一般的表达,即允许视觉信息和文本信息互相加强。实验表明该模型大大提高了单模型和多模型的下游任务。
2.介绍
在CV中,ImageNet,如ALexnet,VGG,或者是ResNet有效地图片识别和大量数据的任务。在NLP方面,bert,roberta,XLNet,UniLm极大提高了语言识别和生成的能力。但是上述均只能在单模型中有用,对于多模态来说,一系列模型在VilBert,VisualBert,以及Uniter,提高了生成多模态信息的能力。然而,这些信息只能有限的利用图片文本的语料库,但是不能很好地适应于单模态的场景。文本和视觉信息通常作为补充对方的形式出现。
UNIMO能够同样学习视觉和文本表达。且能够把他们统一到相同的语法空间通过CMCL,我们提出了文本重写技术去提高多模态信息的多样性。而且,为了更好地合并单模态信息,单个的图片,文本被应用到去增强每个图片文本对。正例负例文本图片对,均通过CMCL处理。UNIMO有效的利用了大规模的文本和图片集合。Unified—modal有如下几个方法:
1.我们能够利用大量未配对的文本语料和网上图片集合来了解更泛化的文本或者视觉的表达。
2.我们的模型能够有效的微调single-modal and multi-modal 的理解和生成对于下游任务。
3.视觉和文本能够彼此加强来提升效果
3.UNIMO
UNIMO采用了多层的transfers来了解统一的语法表述,首先将词的输入序列分割成W = {[CLS],w1,...,wn,[SEP]} 通过Byte-Pair Encoding (BPE) 。然后self-attention 机制被利用来实现上下文的token表达。{h[CLS], hw1 , ..., hwn , h[SEP ]}. cls代表开始,sep代表结束。同样的对一个图片V来说,它首先就被转换为V = {[IMG], v1, ..., vt} 。[IMG]代表了整个图片,同理self_attention机制会根据上下文。与之前的类似,我们使用Faster_cnn来检测显著的图片边缘,同时提取视觉特征(合并的ROI特征)。
针对于一个图片文本对(V,W),视频特征和文本特征会连接成一个图片文本对。{[IMG],v1,...,vt,[CLS],w1,...,wn,[SEP]} 。我们提取h[IMG] and h[CLS] 作为V和W的语法表示。UNIMO 同样采用的是masked prediction,然后同样用CMCL统一到同一个语法空间。
3.1 Cross-Modal Contrastive Learning
交叉模型对抗学习,统一不同模态的最大挑战是在不同的level进行。几个现存的交叉模型的预训练方法都通过简单的图文匹配。他们随机的采样了一些负样本图片或者文本从相同的training batch对每个图文对,然后利用分类器去确定是否匹配。因为随意采样的负样本往往和原始的不同,因此常常学习coarse alignment 在文本和视觉表示上。
图片V和文本W的表示目的在于能够用来计算他们之间的相似度用distance(V,W)。我们能够制造大量的正例和反例对每个图文对(V,W)。并且,为了增强与单模型交叉模型学习,图文检索被应用到很多不同的相关文本XT,以及图片XI对每个图文对(V,W)。不同于正反图文对,补偿的图和文本被单独编码,由于他们主要采用弱的联系。contrastive loss LCMCL 能够使用来学习详细的语法对齐,通过视觉和语言。
T:temperature
单模型图片XI和文本XT,原始文本W和图片V被用来计算cross_modal关联。这是第一个工作探索CMCL来统一视觉和文本的语法空间。
Text Rewriting:
为了加强图文语法对齐的多粒度,我们在不同的levek rewrite了图片的标题。其中包括有sentence—level,phrase—level,以及word—level。
对sentence—level,我们利用反向翻译的技术,也就是翻译成另一门语言,然后翻译成原来的语言。此外,对于每个图像-文本对,基于TF-IDF相似度检索其他图像最相似的标题。对于短语级和单词级重写,我们首先将图像标题解析为场景图,然后将场景图中的对象、属性或关系节点随机替换为对应词汇表中不同的对象、属性或关系节点。 这样,我们可以帮助模型从图像和文本的不同层次上学习更详细的语义对齐。
图像文本检索:
为了统一更多的单个模型信息在交叉模型学习。特别的,对一张图片来说,在图片集合的其他图片将被有序的被其他视觉相似度。这些图片和原始图片有高度重合的物体将被提取来提供相关的视觉信息。类似的,这些句型和原始捕捉语法相关能够提取出来建立在语法相似性来提供背景语言信息。补偿的图文能够通过统一模型Transformer被单独编码。
3.2 视觉学习
类似bert模型,我们采样图片区域并且采用15%的可能性标记他们的视觉特征为0。为了避免信息泄露,我们选择对所有相互交叉比例高的区域进行屏蔽。我们随机选择区域作为标记的anchors,遮盖与锚点重叠比例大于0.3的区域。对于图像V,在给定剩余的掩码区域V \m的情况下,训练模型重构掩码区域v|m:
对于一个图文对(V,W),模型训练通过给定的文本W来重构掩码区域vm以及剩下的区域v\m:
随着视觉特征是高纬度并且持续的,我们利用特征回归和区域分类来更好地学习视觉表示。特征回归学会去回归文本视觉表示hvi来视觉特征vi,我们能够得出公式:
r表示全连接层来转化hvi到相同深度的向量(如vi)。fc层用来计算分数,对于K个物体类别s(hvi)更好地穿过softmax函数来包含正常的分布。最后的客观的最小化CE(交叉熵)损失在预测分布和物体检测输出c
(vi)来自Faster R-CNN
得分函数有类似的计算。
3.3 语言学习
为了学习普遍的语言表达对语言理解和生成任务,我们的模型被训练来作为统一的编码-解码器模型通过两个类型的语言模型任务:双向预测和seq2seq生成。整合的模型被实现通过利用特别的自监督掩码来控制什么文本来预测情形。我们首先从文本中检测语法完整的措辞。例如通过syntactic parsing 命名识别,然后把他们视为整个下面的masking策略。不用于之前的工作,我们总是采样一系列的完整词或者短语而不是subword tokens。
双向预测:
给一系列的tokens W= {[CLS], w1, ..., wn, [SEP ]} 。我们迭代地采样文本的spans直到总共的15%tokens被选择。我们采样span的长度从几何分布 l ∼ Geo(p),p被设定为0.2,与span bert类型,目标是为了预测masked tokens wm建立在他们的周围文本W\m,通过最小化负样本的最大释然函数:
seq2seq generation:
对seq2seq generation任务,我们迭代的采样碎片从token sequence 直到25% 的开销。对每个迭代,我们首先采样了碎片长度从一个非正式的分布l ∼ U (4, 32) 给定特别的长度,每个被选择的片段 {wi , ..., wj } 被进一步用[cls] [sep]补充,所有选择的片段从文本中消除,并且被连接成目标seq T 然后剩下的部分是被连接成source sequence S,模型被训练来生成目标序列。在预训练中,我轮流切换双向预测和seq2seq生成目标,对图文对,两个物体被用来捕捉相似性来学习交叉模型理解和生成。
4.experimental 设置
这个环节我们引进预训练和微调实验设置。
4.1 预训练数据集
包括三种类型:text corpus, image collections and image-text pairs.
text corpus包括两个大量规模的全集:BookWiki and OpenWebText, 也是Roberta训练集合的一部分。Image 集合是没有文本描述的图片,包括了一个集合OpenImages 和COCO unlabel. 图文对的数据集是COCO , Visual Genome (VG) , Conceptual Captions (CC) and SBU Captions并且被广泛使用在之前的多模态预训练模型。
4.2 实现细节
UNIMO实现的步骤有500k步骤,Adam optimizer 初始学习率5e-5并且 learning rate linear decay schedule 被使用了。视觉训练,我们采用了Faster R-CNN ,对CMCL,我们使用反向翻译来创造3个正例并且应用包含100个负例对每个图文对。100个相似的图片和句子。
4.3 微调任务
我们微调模型通过两个下游任务:(1)单模型理解和生成任务(2)多模型的视觉语言理解和生成任务。单模型生成任务包括:生成对抗问题回答在CoQA 数据集,问题生成在SQuAD 1.1 数据集,抽象总结在CNN/DailyMail (CNNDM) 数据集。并且句子理解在Giga-word 数据集。在SST-2数据集上的观点分类,在MNLI数据集上的自然语言推断。在CoLA数据集上的语言接受度分析,基于STS-B数据集的语义相似度分析(Cer et al., 2017)。多模态任务包括:VQA v2.0数据集上的视觉问答(VQA) (Goyal等人,2017)、Microsoft COCO字幕数据集上的图像字幕(Chen等人,2015)、SLNI-VE数据集上的视觉蕴含(Xie等人,2019)和Flickr30k数据集上的图像-文本检索(Young等人,2014)。
5.结果分析
在本节中,我们报告对多模态和单模态任务的评价结果,以对不同情景的适应性和通用性。进一步的研究证实了文本知识和视觉知识在统一的语义空间中可以相互增强。特别是,在图像检索方面,UNIMO-large比之前性能最好的模型ERNIE-ViL-large提高了1.34,在文本检索方面提高了1.3,对图像-文本检索任务有了很大的改进。在图像标题任务上,UNIMO比最佳表现模型Oscar高出2个BLUE4分以上。在多模态理解和生成任务方面都取得了较好的成绩,而以前的方法通常侧重于理解或生成任务。上述结果验证了统一模态学习体系的有效性。
以往的多模态预训练模型往往不能有效地适应单模态情景操作系统。为了进一步验证这一点,我们去掉了文本语料库和语料库上的单模态学习过程。收集图像(即“w/o单模态”),并用图像-文本匹配目标取代CMCL。那么,“无单模态”模型只是一种类似于UNITER的多模态预训练方法(Chen et al., 2020b)。与UNIMO相比,该模型在所有语言理解和生成任务上的性能都大幅下降,这说明仅对图像-文本对进行多模态预训练不能有效地适应单模态任务。
为了显示UNIMO在语言理解和生成任务方面的有效性,我们进一步比较了现有的预训练语言模型(PLMs),包括BERT (Devlin et al., 2019)、RoBERTa (Liu et al., 2019)、XLNet (Yang et al., 2019)和UniLM (Dong et al., 2019)。在语言理解和生成任务方面,比现有的plm取得了更好或类似的性能。具体来说,UniLM (Dong et al., 2019)是为自然语言理解和生成而设计的。在大多数任务上,这显示了在单模态方案方面的有效性。总之,UNIMO不仅在多模态任务上取得了最好的性能,而且在单模态任务上也表现得很好,这表明了我们的统一模态学习体系结构的优越性。
进一步的研究表明,在统一的语义空间中,统一的模态结构可以帮助文本知识和视觉知识相互增强。 文本增强视觉探讨文本语料库中的文本知识是否方便,在跨模态学习中,我们将文本语料库上的语言学习过程从UNIMO(即w/o文本)中去除,并比较它们在多模态任务中的性能。结果表明,在多模态理解和生成任务中,无文本模型的性能都一致下降。结果表明,语篇语料库中的语篇知识通过增加语篇信息,促进了视觉语言任务的跨模态学习。
为了进一步验证图像集合和图像-文本对中的视觉知识有助于语言学习,我们从训练前数据集中(即“w/o pairs&images”)去除图像和图像-文本对,并比较它们在单模态语言任务中的表现。在去除图像和图像-文本对后,我们的模型只接受语言学习目标的训练,这与之前的预训练语言模型BERT和UniLM相似。结果表明,去除视觉数据后,“w/o pairs&images”模型在大多数语言理解任务和所有语言生成任务上的性能都明显下降。研究结果表明,视觉知识边缘能够使模型在统一的语义空间中学习更健壮和可泛化的表示,从而增强语言任务。
在这项工作中,我们提出了UNIMO,一个统一的模态前训练体系结构,以利用大规模的非成对文本语料库和图像集合进行跨模态学习。我们验证了UNIMO为文本知识和视觉知识在统一的语义空间中相互增强提供了一种有效的方式,并且成功地适应了单模态和多模态的理解和生成任务。这样,UNIMO在多模态和单模态下游任务上都优于以前的方法。在未来的工作中,我们将专注于端到端的可视化和语言统一学习,以及更大规模的模型尺寸和数据量。