李根、段楠、周明作者自然语言计算组来源

机器推理系列第五弹:文本+视觉,跨模态预训练新进展

编者按:机器推理要求利用已有的知识和推断技术对未见过的输入信息作出判断,在自然语言处理领域中非常重要。此前我们介绍了机器推理系列的概览,机器推理在常识问答、事实检测、跨语言预训练、多轮语义分析和问答任务中的应用,本文作为该系列的第五篇,将介绍微软亚洲研究院在跨模态预训练领域的研究进展。

近年来,自然语言处理(NLP)和计算机视觉(CV)两大领域不断碰撞和融合,衍生出很多跨模态研究课题(例如图片检索和图片问答等)。但由于这两个领域中的基础模型大都针对纯 NLP 或 CV 任务单独设计和训练(例如 NLP 中针对语言模型设计的 BERT 和 CV 中针对图片分类设计的 ResNet),这些模型无法很好地刻画语言和视觉内容之间的关联。从下游任务对应的标注数据中学习这类关联是解决方案之一,但由于标注开销大,该方案依然缺点明显。

针对上述问题,我们提出跨模态预训练模型 Unicoder-VL。借助通用领域跨模态预训练,该模型能够学习到语言和视觉间的内在关联,并用于生成语言和视觉的联合向量表示。实验证明,这种考虑了跨模态信息的联合向量表示能够很好地迁移到下游任务中,并取得很好的效果。接下来,本文首先简要介绍 Unicoder-VL 的模型,然后通过其在图片检索和图片推理问答中的应用,说明该模型对跨模态推理任务的作用。

跨模态预训练模型 Unicoder-VL

Unicoder-VL 采用多层 Transformer 结构作为模型基础,基于自注意力机制学习语言与语言信息间的协同表示。我们设计了四种跨模态预训练任务,包括:1)基于文本的掩码语言模型;2)基于图像区域的掩码类别预测;3)图像文本匹配;4)图像特征生成。图1给出该模型示意图。

图1: Unicoder-VL 模型示意图1)基于文本的掩码语言模型。该任务将预训练数据中的 token 以15%概率随机遮挡(mask)。为保证预训练与微调的一致性(微调时不做遮挡),每次选中的遮挡词以80%概率真正遮挡(替换成特殊符号 [MASK]),以10%概率随机替换为其他词,以10%概率保持不变。

2)基于图像区域的掩码类别预测。该任务首先使用 Faster R-CNN 提取图片中每个区域的特征,包括视觉特征(池化后的 ROI 特征)和空间特征(表示其空间位置信息的坐标值)。然后,将视觉特征和空间特征分别输入到全连接层并映射到和语言 token 维度相同的向量空间中,并与该区域对应的文本类别标签向量相加,得到每个图像区域对应的输入向量表示。和文本掩码类似,该任务对图像区域做遮挡操作,以15%概率选中遮挡区域,并在每次遮挡时以80%概率将特征随机替换为全0向量,以10%概率随机替换成其他区域对应的特征向量,以10%概率保持不变。 

3)图像文本匹配。该任务基于图片-文本对随机采样负样例图片或文本,并让模型判别两者是否匹配。Unicoder-VL 保留了 BERT 中的特殊符号 [CLS]。该符号在最后一层的输出向量经过 MLP 层映射后,直接用于预测输入图文之间的匹配关系。这一任务用于学习图片与文本之间的全局信息对应关系。

4)图像特征生成。该任务为每个遮挡的图片区域生成一个特征向量。通过拟合该向量和图片区域对应的原始图像特征向量,使得模型能够更好地根据图文上下文信息进行图像信息补全。

Unicoder-VL 在图片检索和图片推理问答中的应用

Unicoder-VL 在经过预训练后,可以直接在下游任务上进行微调(fine-tune)。本文主要在图片检索和图片推理问答这两个任务上进行验证。

1)图像文本检索我们选取 MSCOCO 数据集和 Flickr30k 数据集,并分别从图片检索文本和文本检索图片这两个角度评估 Unicoder-VL 在图片检索上的能力。由于预训练数据与这两个图文检索数据集之间的差异,需要在这两个数据集上进行一定程度的微调。所用到的数据构造则与预训练任务3)保持一致:即随机采样负例图片(或文本),让模型判别两者是否匹配。

实验结果如图2所示:zero-shot 表示 Unicoder-VL 在经过预训练但未经过微调的情况下,在测试集的性能表现;w/o pre-training 表示 Unicoder-VL 在未经预训练的情况下,直接用于下游任务训练的表现。前者证明经过预训练的 Unicoder-VL 具有很好的泛化迁移能力,后者证明 Transformer 结构即使没有经过预训练,同样在跨模态任务上有很强的建模能力。与 state-of-the-art 结果的比较说明跨模态预训练可以极大提高图片检索的能力。

图2: Unicoder-VL 在 MSCOCO 和 Flickr30k 测试集的图片检索结果 (截止到2019.12.10) 

2)图片推理问答(GQA)。图片推理问答任务 GQA 是由斯坦福大学提出的跨模态推理问答数据集。该任务在训练数据集中不但提供图片、自然语言问题和问题对应的答案,还提供图片对应的场景图(scene graph)以及每个自然语言问题对应的基于场景图的语义表示。由于该数据集中很大比例的问题都是复杂问题(即涉及到多跳转或多约束条件的自然语言理解),因此需要模型具备很强的推理能力,才能在该任务上个取得排名靠前的结果。

针对该任务,我们设计了一个基于 Unicoder-VL 的视觉问答推理模型(DREAM+Unicoder-VL)。该模型首先使用 Unicoder-VL 将输入自然语言问题和图片转化为对应的向量表示。然后,基于语义分析技术,将自然语言问题转化为对应的树结构语义表示,基于物体识别技术,从图片中抽取物体候选,并使用常识知识库对每个物体候选进行常识知识三元组扩展。接下来,对问题对应的语义表示和常识知识三元组集合进行向量编码,并结合 Unicoder-VL 输出的向量表示进行跨模态注意力计算。最后,基于融合后的跨模态混合信息进行答案排序。图3 给出该方法在 GQA 任务排行榜上的结果(截止到2020-01-10)。

图3: Unicoder-VL 在图片推理问答 GQA 任务上的结果除了为推理任务而专门设计的问题理解和图片理解外,实验证明使用 Unicoder-VL 比使用 BERT + ResNet 能够获得显著的性能提升。这充分说明跨模态预训练模型对跨模态任务的重要性和有效性。

结语

本文介绍了微软亚洲研究院在跨模态预训练上的一个工作:Unicoder-VL,验证了跨模态预训练在图片检索和视觉推理问答任务上均能取得很好的效果。当然,这依然是机器推理研究中最初始的一步。在未来,我们将基于目前已有的预训练模型、知识图谱、规则以及海量开放领域数据,针对推理任务,尤其是小样本任务,进行更多的探索和尝试。

了解更多技术细节,请点击阅读原文查看论文:

Unicoder-VL: A Universal Encoder for Vision and Language by Cross-modal Pre-training

链接:https://arxiv.org/pdf/1908.06066.pdf

微软研究院AI头条
微软研究院AI头条

专注科研19年,盛产黑科技

理论Unicoder-VL机器推理跨模态预训练
相关数据
微软亚洲研究院机构

微软亚洲研究院于1998年在北京成立,是微软公司在亚太地区设立的基础及应用研究机构,也是微软在美国本土以外规模最大的一个研究院。微软亚洲研究院从事自然用户界面、智能多媒体、大数据与知识挖掘、人工智能、云和边缘计算、计算机科学基础等领域的研究,致力于推动计算机科学前沿发展,着眼下一代革命性技术的创新,助力微软实现长远发展战略。通过与微软产品部门紧密合作,微软亚洲研究院将众多创新技术转移到了微软的核心产品中,如Office、Windows、Azure、Bing、Visual Studio、Xbox Kinect以及小冰、Cortana和Microsoft Translator等人工智能产品。

https://www.msra.cn/
Microsoft机构

微软是美国一家跨国计算机科技公司,以研发、制造、授权和提供广泛的计算机软件服务为主。总部位于美国华盛顿州的雷德蒙德,最为著名和畅销的产品为Microsoft Windows操作系统和Microsoft Office办公室软件,以及Xbox的游戏业务。微软是美国《财富》杂志2015年评选的世界500强企业排行榜中的第95名。

https://www.microsoft.com/en-us/about
池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

视觉问答技术

自然语言理解技术

自然语言理解是人工智能的核心课题之一,也被广泛认为是最困难和最具标志性的任务。最经典的两个人工智能思想实验——图灵测试和中文房间,都是围绕自然语言理解来构建的。自然语言理解在人工智能技术体系中的重要性不言而喻,它一方面承载着机器和人的交流,另一方面直达知识和逻辑。自然语言理解也是人工智能学者孜孜以求的圣杯,机器学习的巨擘 Michael I. Jordan 就曾经在 Reddit 上的 AMA(Ask Me Anything)栏目中畅想用十亿美元建立一个专门用于自然语言理解的实验室。

常识知识库技术

常识知识库是当代智能系统或智能代理所具备的一种知识库。它是解决人工智能或知识工程技术瓶颈难题的一项关键措施,其特点是数量上规模大。早期人工智能或知识工程系统所具备的领域知识库是另一种知识库。也就是说,领域知识库和常识知识库是智能计算机系统所具备的知识库的两种基本类型。计算机科学领域普遍认为领域知识库和常识知识库是人工智能或知识工程技术瓶颈难题。从早期关注专家的领域知识到现在同时关注常识知识,这是人工智能或知识工程技术的一种进步。由于计算机硬件和软件以及数据库乃至数据仓库及其人机交互界面等技术的不断成熟,使得人们在21世纪开发各种专家系统所需要的各个中等规模的领域知识库和开发常识系统所需要的大规模的常识知识库都具备了基础条件。

自注意力技术

自注意力(Self-attention),有时也称为内部注意力,它是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行 Attention 的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列任务的性能非常重要。

语义分析技术

语义分析是编译过程的一个逻辑阶段, 语义分析的任务是对结构上正确的源程序进行上下文有关性质的审查,进行类型审查。语义分析是审查源程序有无语义错误,为代码生成阶段收集类型信息。比如语义分析的一个工作是进行类型审查,审查每个算符是否具有语言规范允许的运算对象,当不符合语言规范时,编译程序应报告错误。如有的编译程序要对实数用作数组下标的情况报告错误。又比如某些程序规定运算对象可被强制,那么当二目运算施于一整型和一实型对象时,编译程序应将整型转换为实型而不能认为是源程序的错误。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

文本检索技术

文本检索(Text Retrieval)与图象检索、声音检索、图片检索等都是信息检索的一部分,是指根据文本内容,如关键字、语意等对文本集合进行检索、分类、过滤等。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

知识图谱技术

知识图谱本质上是语义网络,是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。 知识图谱这个概念最早由Google提出,主要是用来优化现有的搜索引擎。不同于基于关键词搜索的传统搜索引擎,知识图谱可用来更好地查询复杂的关联信息,从语义层面理解用户意图,改进搜索质量。比如在Google的搜索框里输入Bill Gates的时候,搜索结果页面的右侧还会出现Bill Gates相关的信息比如出生年月,家庭情况等等。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

物体识别技术

计算机视觉领域的一个分支,研究物体的识别任务

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

推荐文章
暂无评论
暂无评论~