关注公众号,发现CV技术之美

 写在前面

在本文中,作者提出了M3P,一个多任务、多语言、多模态预训练模型 ,通过多任务预训练目标将多语言预训练和多模态预训练结合到一个统一的框架中。M3P的目标是学习通用的表示,可以将以不同方式出现的对象或以不同语言表达的文本映射到一个公共语义空间。

此外,为了鼓励图像和非英语语言之间的细粒度对齐,作者还提出了多模态代码切换训练(Multimodal Code-switched Training,MCT) ,通过代码切换策略将单语言预训练和多模态预训练结合起来。

作者在两个基准数据集(包括MSCOCO和Multi30K)上对多语言图像检索任务进行了实验,结果表明M3P可以实现基于英语语言接近SOTA的结果基于非英语语言的SOTA结果

 1. 论文和代码地址

M3P: Learning Universal Representations via Multitask Multilingual Multimodal Pre-training

论文地址:https://arxiv.org/abs/2006.02635

代码地址:https://github.com/microsoft/M3P

 2. Motivation

最近,自然语言处理(NLP)的预训练模型逐渐兴起,即通过自监督的预训练从原始文本中学习一般知识,然后通过特定任务上微调将其应用于下游任务。

现在,这些SOTA的单语言预训练语言模型,如BERT、RoBERTa和GPT-2,已经扩展到多语言场景,如Multilingual BERT、XLM/XLM-R、Unicoder。

此外,研究者们还提出了一些多模态场景下的预训练模型,如Unicoder-VL、UNITER、Ernie-VIL、Villa和OSCAR。

然而,将这些预训练的模型扩展到多语言多模态的场景仍然具有挑战性。多语言预训练的语言模型不能直接处理视觉数据(如图像或视频),而许多预训练的多模态模型是在英语语料库上训练的,因此不能在非英语语言上表现得很好。

因此,高质量的多语言多模态训练语料库对于多语言预训练和多模态预训练的结合至关重要。然而,现有的多语种多模态的语料库很少,而且语言覆盖率也很低。此外,依赖高质量的机器翻译引擎从英语多模态语料库中生成此类数据既耗时又计算昂贵。

为了应对这些挑战,本文提出了一个多任务、多语言、多模态预训练模型M3P ,旨在将以不同方式出现的对象或以不同语言表达的文本映射到一个公共语义空间。

为了缓解多模态预训练中缺乏足够的非英语标记数据的问题,作者引入多模态代码转换训练(Multimodal Code-switched Training,MCT) 来加强图像和非英语语言之间的显式对齐。主要通过以下方式实现:

1)通过多语种预训练,学习使用多语种语料库表示多语种数据;

2)通过随机将一些英语单词替换为其他语言的翻译,学习多语种多模态表示;

3)通过多任务的目标来学习这些表征,以处理多语言多模态任务。

 3. 方法

M3P的模型结构如上图所示,作者选用了BERT的Transformer结构,并使用三种类型的数据流设计两个预训练目标。

3.1. Data Stream

作者使用了来自多语言语料库和多模态语料库的两种基本数据流:多语言单模态流(Multilingual Monomodal Stream)单语言多模态流(Monolingual Multimodal Stream) ,此外还设计了多模态代码切换流(Multimodal Code-switched Stream) ,以同时利用多语言数据和多模态数据。

Multilingual Monomodal Stream

为了应用多语言预训练,作者使用多语言单模态流作为模型输入。给定任何语言的输入文本,首先通过Sentence Piece将其转换为BPE token序列。然后将每个BPE token的文本嵌入和位置嵌入相加,得到一个文本表示序列。此外,还要向每个token添加语言嵌入,以指示其语言属性。输入数据定义为:

其中表示的长度,表示语言集中的一种语言,将该数据流表示为。

Monolingual Multimodal Stream

为了应用多模态预训练,作者使用单语言多模态流作为模型输入。给出一对英文文本和图像,的文本表示序列类似于多语言单模态流的处理,并使用英语作为语言嵌入。对于图像v,作者使用Faster R-CNN来检测图像区域,并使用每个区域中相应的视觉特征作为视觉特征序列。

此外,作者还为每个视觉token添加了一个空间嵌入,这是一个由左上角、右下角坐标和所覆盖图像区域面积组成的5-D向量。作者使用两个全连接层将这两个向量投影到文本表示的相同维度。

然后,将图像中每个区域的投影视觉特征向量和空间嵌入向量相加,得到图像表示序列。此外,作者在图像区域序列的开始处添加了一个token,以分离文本标记和图像标记,并将它们concat起来以形成输入流:

将该数据流表示为。

Multimodal Code-switched Stream

作者通过代码切换(Code-switched)的方法从单语言多模态流生成多模态代码切换流,给定英语文本和图像对,代码切换语言集,以及可以将一个单词从英语翻译成任何语言的双语词典。

对于英文文本中的每个单词,将其以β的概率替换为翻译的单词。如果一个单词有多个翻译,那就随机选择一个。与单语多模态流类似,文本和图像表示序列连接为最终输入流:

其中是中的任意一种语言,输入序列可以表示为:

将该数据流表示为。

3.2. Pre-training Objectives

为了在多语言多模态场景下对M3P进行预训练,作者设计了两种类型的预训练目标。多语言训练 的目的是从结构良好的多语言句子中学习语法或句法。多模态代码转换训练(MCT) 旨在通过共享的视觉模态学习不同的语言,从而进行视觉和非英语文本之间的对齐。

3.2.1 Multilingual Training

Multilingual Masked Language Modeling (xMLM)

与多语言BERT、XLM和Unicoder类似,该任务基于多语言语料库执行掩蔽语言建模(MLM)。在每次迭代中,每个Batch的数据由从不同语言中采样的句子组成。语言的抽样概率定义为,其中是整个多语言语料库中语言的百分比,平滑因子α设置为0.3。

在每个Batch中,随机抽取15%的单词,并以80%,10%,10%的概率将单词设置为 token,随机的token和原来的token。作者只对用多语言单模态流数据进行xMLM任务。损失函数计算如下:

其中是被mask的token,为上下文。

3.2.2 Multimodal Code-switched Training

由于缺乏非英语多模态的标记数据,该模型只能独立学习多语种和多模态。为了帮助模型在共享视觉模态下学习不同的语言表达,作者提出了三种多模态代码转换训练任务:MC-MLM、MC-MRM和MC-VLM。在训练这些任务时,作者用了α和α的比例混合多模态代码转换流单语言多模态流 ,为了简化符号,将混合数据流表示为。

Multimodal Code-switched Masked Language Modeling (MC-MLM)

与ViLBERT和Unicoder-VL中的预训练任务不同,本任务旨在学习基于共享视觉模态的不同语言表示。混合数据流用于训练该目标。具体来说,该模型根据其周围的token 和所有图像区域,预测标题中的每个被mask的token。损失函数定义为:

其中是混合数据流。

Multimodal Code-switched Masked Region Modeling (MC-MRM)

本任务旨在学习在混合数据流中以多语言文本作为上下文的视觉表示。该任务基于剩余区域和所有字幕token 重建每个mask图像区域。作者以15%的概率随机mask图像区域。

每个mask图像区域的输入表示被设置为零或保持为原始值,概率分别为90%和10%。使用FC层将每个mask区域的Transformer输出转换为具有和视觉特征同维的向量。然后使用交叉熵损失来预测每个mask区域的对象类别,总的损失函数计算如下:

其中k为每个mask图像区域的索引,表示将每个mask区域的Transformer输出回归到其视觉特征的均方误差损失。

Multimodal Code-switched Visual-Linguistic Matching (MC-VLM)

本任务旨在学习具有混合数据流的多语言文本和图像之间的对齐。在的Transformer输出上应用FC层,以预测输入图像和输入的英语或代码切换文本是否语义匹配。通过将匹配样本中的图像或文本替换为从其他样本中随机选择的图像或文本,可以创建负图像标题对,损失函数计算如下:

其中,表示输入图文对是否匹配,BCE表示binary-cross-entropy loss。

 4.实验

4.1.  Dataset Description

上表展示了本文方法预训练和微调的数据集的详细数据。

4.2. Overall Results

上表展示在Multi30K和MSCOCO数据集上,本文方法和其他方法进行图文检索的对比。可以看出,本文方法在非英语的数据集上可以达到SOTA的性能,在英语数据集上也和Unicoder-VL性能差不多。

4.3. Ablation Studies

4.3.1. The Impact of MCT

从上表可以看出,在不同的设置下,本文提出的MCT训练策略都是有效的。

4.3.2. The Impact of Number of Languages in MCT

上表展示了不同语言数量下训练的结果,可以看出en和cs在语言数量为5时能够达到比较好的性能。

4.3.3. The Impact of Proposed Tasks

上表展示了不同预训练任务的消融结果,可以看出,每个预训练任务对于性能提升都是重要的

4.4. Expanding MCT to Fine-tuning

作者还尝试了用MCT进行微调,结果如上表所示,可以看出,除了英语之外的其他语言,用MCT微调的结果都优于正常微调的结果。

4.5. Qualitative Studies on MCT

上表为MCT的定性可视化结果。每个表中的第一行是原始文本,第二行是Code-switched文本。第三行Code-switched转换为英文的结果。

 5. 总结

作者在本文中提出了一个新的预训练模型M3P ,该模型通过多语言多模态场景的多任务预训练,将多语言预训练和多模态预训练结合到一个统一的框架中。此外,作者还提出了多模态代码转换训练(Multimodal Code-switched Training) ,以进一步缓解非英语多模态任务缺乏足够数据的问题。

从前的多模态和多语言的预训练模型通常只能在特定模态或者语言范围的任务中进行,而不能同时进行多模态和多语言的任务。为了解决这个问题,一个最直观的方式就是用多模态、多语言数据集进行预训练。

然而目前缺少这样的数据集,而直接将英语多模态数据集用翻译引擎转换成多语言多模态数据集又是非常耗时的。因此,作者提出了新的预训练方法,能够分别用多模态数据集和多语言数据集联合训练多模态、多语言模型

▊ 作者简介

研究领域:FightingCV公众号运营者,研究方向为多模态内容理解,专注于解决视觉模态和语言模态相结合的任务,促进Vision-Language模型的实地应用。

知乎/公众号:FightingCV

END

欢迎加入「计算机视觉交流群

跨越语言障碍!哈工大联合MSRA提出多任务、多模态、多语言的统一预训练模型M3P (CVPR 2021)...相关推荐

  1. 用huggingface.transformers在文本分类任务(单任务和多任务场景下)上微调预训练模型

    诸神缄默不语-个人CSDN博文目录 transformers官方文档:https://huggingface.co/docs/transformers/index AutoModel文档:https: ...

  2. 跨域产生的原因和解决方法_幼儿语言障碍产生的原因及其解决方法

    中科未来-南宁市梧桐雨儿童康复中心 所谓语言障碍,指的是个人的语言理解或语言表达能力与同龄儿童相比较,有明显的偏离和异常现象,造成交往困难的现象,幼儿语言障碍通常分为构音障碍,声音障碍,语流障碍,发展 ...

  3. MSRA提出通用文档预训练模型LayoutLM,通往文档智能之路!

    星标/置顶小屋,带你解锁 最萌最前沿的NLP.搜索与推荐技术 随着数字化进程的加快,文档.图像等载体的结构化分析和内容提取成为关乎企业数字化转型成败的关键一环,自动.精准.快速的信息处理对于生产力的提 ...

  4. #####haohaohaohao#######MSRA提出通用文档预训练模型LayoutLM,通往文档智能之路!

    星标/置顶小屋,带你解锁 最萌最前沿的NLP.搜索与推荐技术 随着数字化进程的加快,文档.图像等载体的结构化分析和内容提取成为关乎企业数字化转型成败的关键一环,自动.精准.快速的信息处理对于生产力的提 ...

  5. 借鉴人类,跨越模态 | NLP和预训练模型未来的发展之路

    [专栏:研究思路]近来,超大规模预训练模型快速发展,在自然语言处理领域引起热议.基于深度学习的自然语言 处理技术正沿着"极大数据.极大模型.极大算力"的轨道,"无所不用其 ...

  6. BIM建筑环境规则和分析(BERA)语言介绍(四)第三章 BERA语言设计

    设计策略 什么是好的语言设计?没有明确的答案,但许多研究人员 声称,新语言有重要因素可以获得接受和 长寿.就领域特定语言的主要目的而言,新语言 应首先以一种简单的方式有效地解决新问题[Mashey,2 ...

  7. MURAL:消除预训练模型的语言限制!Google提出跨语言的多模态、多任务检索模型MURAL...

    关注公众号,发现CV技术之美 今日分享论文『MURAL: Multimodal, Multitask Retrieval Across Languages』,由 Google 提出跨语言的多模态.多任 ...

  8. LIVE 预告 | 哈工大微软:多任务、多语言、多模态的预训练模型 | CVPR21系列

    国际计算机视觉与模式识别会议(CVPR)是计算机视觉领域三大顶会之一(另外两个分别为ICCV.ECCV).作为计算机视觉领域一年一度的盛会,CVPR每年接收论文的情况,基本可以代表一年中计算机视觉领域 ...

  9. 预训练再次跨界!百度提出ERNIE-GeoL,地理位置-语言联合预训练!

    源 | 百度NLP 本文介绍『文心大模型』的一项最新工作:"地理位置-语言"预训练模型ERNIE-GeoL. 论文链接: https://arxiv.org/abs/2203.09 ...

最新文章

  1. 谷歌发文回顾2018年AI进展:让AI人人可用!
  2. 干货 | 请收下这份2018学习清单:150个最好的机器学习,NLP和Python教程
  3. 分享jQuery对象和Javascript对象之间的转换代码
  4. 解决Github速度太慢的几种方案
  5. Flink专题-BaseTransform
  6. java 0x3f_Java源码位操作技巧欣赏
  7. 设计模式之组合模式(Composite 模式)
  8. 一篇文章搞定css3 3d效果
  9. Application.Goto 方法
  10. 联发科完成双模芯片实验室测试 首批5G终端明年一季度问世
  11. BZOJ 1068: [SCOI2007]压缩
  12. 【报告分享】2020中国企业直播应用场景趋势研究报告.pdf(附下载链接)
  13. void main()误区
  14. FragmentPagerAdapter.notifyDataSetChanged()不能更新问题?
  15. PS2020制作电子签名
  16. C盘太小,调整磁盘分区大小
  17. c语言判断字符串是否对称,c语言 判断字符串是否中心对称
  18. IE浏览器无法更改缓存,
  19. java切换浏览器_java – 如何切换到新的浏览器窗口,点击按钮后打开?
  20. 街篮最新服务器,街头篮球各区的服务器IP多少

热门文章

  1. navacat无法打开excel解决
  2. java将数字转化为指定类型[float保留小数点确定、数字前加0]
  3. java面向对象的多态_java面向对象(五)之多态
  4. 设置mysql为utf-8_如何设置mysql数据库为utf-8编码
  5. php 模拟ip访问网页,curl模拟浏览器,ip,来源,进行网站采集的实现方法
  6. php apache停止工作,phpStudy Apache 经常出现停止工作
  7. php 合并数组 效率,PHP将两个关联数组合并函数-增高函数效率
  8. python flask oauth_Flask之 flask_httpauth(HTTPTokenAuth)
  9. linux vi 撤销与恢复,vi撤销与恢复
  10. 神州数码笔试题C语言,神州数码程序类笔试题分享