Press "Enter" to skip to content

为让AI同时读懂图与文,微信搞起了多模态认知和推理

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

人工智能(AI)技术的目标是赋予计算设备类人的智慧,具象的表现是科幻电影中出现的各类能和人类无障碍沟通,完成指定任务的机器人。这些机器人需要准确地感知所处的场景、识别人类的状态、理解人类的语言、进行判断和推理、执行动作、给出反馈。要达成这种智能程度,需要训练AI智能体全面的认知和推理能力。

 

现阶段,人工智能领域内应用层的任务,依据处理的数据类型不同,往往被定义的泾渭分明,主要包括:自然语言处理(Natural Language Processing,NLP)、计算机视觉(Computer Vision,CV)、语音识别(Automatic Speech Recognition,ASR)等。这种任务划分方式使得研究者们可以专注于自己的范畴,清晰地定义领域范围内的各类子任务,方便技术方法的演化。然而,这种任务导向的划分视角,也造成了大多数本领域的人员只关注单数据模态,设计针对单模态理解的技术,而忽视了AI需要综合学习多模态知识的需求。我们需要深度思考的一个问题是:当单模态AI技术都发展到很高的水平时,把这些技术拼起来,是不是就能成为一个强大的类人的AI ?答案或许不会这幺乐观。

 

以人类和机器的语言能力习得过程做对比。9-24个月的婴儿,只需要经历过大概800万词的学习过程,就可以掌握终生不会遗忘、泛化能力极强的语言能力。而当前NLP领域,大家普遍认为进步较大的大规模预训练模型,需要经历百亿甚至千亿词的训练,才具备一定的理解或生成能力。而这种能力在垂直领域和具体任务上的泛化,比较局限。

 

对比机器和人类的学习过程,除了人脑和算法模型在结构上的差异外,在信号输入层面也存在显着的区别。婴儿经历了多场景的、多模态的信号输入,像成人的语音、实体事物、卡片或电视里的抽象形象等。猜想应该不会有父母在教孩子语言的时候,只会拿手指着“苹果”两个汉字,默默的看着孩子,然后希望他/她能领会到这两个字的含义;而是拿着一个真实的苹果,或者至少是一张苹果的卡片,一遍遍的读“pingguo”这个语音,来启发孩子的认知。

 

但是,我们现阶段的NLP预训练模型或是图像预训练模型经历的就是一遍遍独立地过字面符号或是静态图片,又怎幺能期望这些模型具有类人的全面认知能力呢?

 

 

回到机器语言智能这个AI任务上来,存在诸多仅依赖于文字单模态解决不了的问题。这根本归因于语言符号本身是对人类思维/知识的不精确表达。这种不精确体现在:

 

语用层面的隐蔽。即具体场景下,语言背后的“真实意图”。例如,“屋里太冷了”真实意图其实是“把窗户关一下”。

 

语义层面的抽象。例如,“红色”是抽象概念,而非实际物质,我们可以在现实世界中找到各种红色的实体物质,而找不到“红色”这种物质。

 

语法/符号层面的歧义。例如,“苹果”可以是水果,也可以是手机;“武汉市长江大桥”是经典的切分歧义例子。

 

在图像领域也同样遇到了单模态识别感知导致的误识别瓶颈,比如,把“炸鸡块”识别成“泰迪犬”。

 

 

近年来,越来越多的研究者开始提出各种多模态理解技术来解决上述的AI技术瓶颈,即训练能够同时理解文字、图片、语音、视频的AI模型,使其具有更精确的场景认知和更综合的逻辑推理能力。通俗来说,就是教会AI同时能看图、听声、看字。微信AI也在多模态这个方向,做了一系列的探索工作,在此与大家做一次技术分享。

 

探索一:视频场景中的多轮对话生成技术

 

Bridging Text and Video: A Universal  Multimodal Transformer for Video-Audio Scene-Aware Dialog

 

问题定义

 

在实际的人类对话场景中,对话往往是基于特定的背景展开。这项工作研究的应用场景是,人和AI针对一个视频的内容展开聊天,期望AI根据所在的场景和多轮历史对话数据,给出合理的对话回复。

 

问题输入

 

视频流、音频流、视频描述文字、对话历史文字。

 

问题输出

 

生成符合该视频场景和对话历史的机器回复。

 

具体示例

 

 

视频信息截图

 

Caption: A woman standing in a hallway takes off her slippers. Shethen climbs on a chair and starts doing something with the ceiling light.

 

Summary: A woman about 30 years old wearing a jean skirt and top is standing on a stool and fixing something in the hallway next to a door. The hallway has linoleum floors.

 

Q1: where is the video happening ?

 

A1: it is happening inside in the hallway.

 

Q2: are there any people in the video ?

 

A2: yes there is one person in the video.

 

 

一个对话过程示例

 

技术方法

 

我们基于GPT2设计了一个音视频信息和文本信息融合在一起做多模态统一预训练的框架。提出该统一预训练框架的出发点是 希望通过训练多种的模态的多个预训练任务,使得模型可以打通统一场景下多模态信息的关系,进而更好的表示音视频和文本信息来做指导文字对话的生成 。整体模型结构图如下:

 

 

基于GPT2的多模态统一预训练框架

 

我们设计了三个跨模态的预训练任务,包括:

 

视频标题生成任务(Caption Language Modeling,CLM) :输入音视频模态特征,输出文本模态的视频标题。期望模型在这个阶段可以学习到理解音视频的能力。

 

音视频序列还原任务(Video-Audio Sequence Modeling,VASM) :输入文本模态的视频标题和对话历史,还原音视频模态的特征。期望模型在这个阶段可以学习到以文字生成音视频的能力。

 

对话回复生成任务(Response Language Modeling,RLM) :输入音视频模态特征和文字模态的视频描述和对话历史,输出对话回复。期望模型在这个阶段可以学习到全面理解图文信息,生成合理回复的能力。

 

实验结论

 

 

DSTC7-AVSD 数据上的实验效果

 

 

DSTC8-AVSD 数据上的实验效果

 

我们在DSTC7-AVSD和DSTC8-AVSD数据上做了实验,验证了整体结构和训练目标的有效性。我们使用该模型参加了世界对话系统挑战赛(DSTC8-AVSD,Audio Visual Scene-Aware Dialog Track),取得了各项指标第一名的成绩。论文成果收录于AAAI2020 Workshop。

 

*DSTC是智能对话系统领域的世界级顶级赛事,参赛者广泛覆盖了工业界和学术界的优秀团队。微信AI长期在对话领域做技术深耕,目前已经连续三年在DSTC上取得多个赛道(track)的冠军。

 

探索二:设计对偶通道的多跳推理机制提升视觉对话性能

 

DMRM: A Dual-channel Multi-hop Reasoning Model for Visual Dialog

 

问题定义

 

在视觉对话过程中,人类会根据对话的过程不断的调整需要关注图片的哪一块局部信息,这个定位过程不会是一次就非常精确的,而是需要多次调整和推理。同时在多轮对话过程中,对对话历史的理解也是关键的瓶颈,也需要进行多步的推理。所以我们设计了多模态之间的对偶多跳交互和推理机制来提升视觉对话性能。

 

问题输入

 

图片、图片标题、问答历史、问题。

 

问题输出

 

结合图片和问答历史,给出问题的准确答案。

 

技术方法

 

如下图中的例子所示,用户提问 what color is it? 模型首先需要通过对对话历史的推理得知it指的是soccer ball,然后再去从图像中推理得到足球的具体颜色。

 

为实现上述能力,我们设计的模型结构如下:

 

 

带有对偶通道多跳推理机制的视觉对话模型

 

使用CNN和Bi-LSTM分别对视觉模态的图片和文字模态的对话历史及问题,进行特征表示。

 

所有的模态特征表示会经过一个对偶通道的多步推理模块进行迭代的多跳交互。

 

多模态的特征经过多跳交互后,会通过一个注意力机制进行模态融合,最后输入到解码器里生成对话回复。

 

多跳推理机制的设计包括两种类型的模块:track module和locate module。track module接收问题的表示和图像特征表示,输出经过图像增强的问题表示,locate module接收问题表示和对话历史表示,输出经过对话历史增强的问题表示。该过程会交替迭代多次。

 

 

多跳推理机制

 

实验结论

 

本工作提出的方法在VisDial v0.9和v1.0两个数据集上都取得了SOTA的效果。论文成果被录用于AAAI2020。

 

 

 

下图给出了一个多条推理的示例:a、b、c分别是经过1、2、3跳推理后的attended image,这里用户的问题是“what color is his bike?”,我们的模型最终能够在图片里自行车的位置得到正确的答案。

 

 

一个多跳推理的可视化例子

 

探索三:基于胶囊神经网络的多模态机器翻译

 

Dynamic Context-guided Capsule Network for Multimodal Machine Translation

 

问题定义

 

通常的机器翻译模型只考虑纯文本的机器翻译,可能会因原文的语义歧义导致字面上正确,但不符合场景的译文。多模态的机器翻译可以额外借鉴其他模态的知识,来使得模型更好的理解原文,生成准确的译文。如何在多模态机器翻译的任务中高效的利用图片模态的信息,是我们探索的技术点。

 

问题输入

 

场景图片、待翻译的文本。

 

问题输出

 

高质量译文。

 

技术方法

 

多模态机器翻译方法里有很多抽取图像特征的方法,但是它们对图片信息的挖掘和利用并不充分。我们首次使用胶囊网络(Capsule Network)来尝试解决多模态的机器翻译问题。

 

我们提出的模型如下图所示:

 

 

我们使用transformer encoder获取source的句子表示。decoder是标准transformer decoder的变体,不同的地方在于,我们在decoder最上面的block里加入了两个DCCN(Dynamic context-guided capsule network)模块(如上图右侧所示),该模块具有几个点:

 

timestep-specific:在解码的不同时间步,关注图片中的不同部分。

 

两个DCCN,分别负责处理图片的全局特征和局部特征(如上图中的两张照片所示),是传统胶囊网络的改良版,保留了传统capsule的迭代特征提取的优势。

 

实验结论

 

 

Multi30K 数据集上模型达到SOTA效果

 

我们的模型在Multi30K实验数据集上达到了State-of-the-Art的效果,论文成果被ACM MM 2020收录。

 

探索四:基于图神经网络的多模态机器翻译

 

A Novel Graph-based Multi-modal Fusion Encoder for Neural Machine Translation

 

问题定义

 

针对多模态机器翻译问题,我们希望再更细粒度地建模文本和图片的关系,这种细粒度体现在建模文本模态里的单词和图像模态中的分块特征之间的映射和交互。如下图所示:不同的单词对应了图像中的不同语义分块。

 

 

图像与文本的细粒度对应关系

 

问题输入

 

场景图片、待翻译的文本。

 

问题输出

 

高质量译文。

 

技术方法

 

我们基于上述思想,使用图神经网络构建了一个能够更细粒度地建模图文信息的机器翻译编码器,希望能更好的建模图文关系,指导解码器生成更高质量的译文。

 

该编码器的结构如下图所示:

 

 

模型结构图

 

我们把细粒度的语义单元定义为文本中的单词和图片中的object。

 

我们构建一个多模态的graph,该graph中的节点就是上面定义的语义单元。图中有两种类型的边,intra-modal edge和inter-modal edge。前者只连接了属于同一个模态的节点,后者会连接不同模态的节点。

 

分别使用Glove和特殊设计的图像特征抽取器获取每个节点的embedding表示。这些表示会被两个fusion模块继续编码,它们会分别建模各个节点在单一模态内和跨模态情况下的交互。

 

最后我们拿到表征文本语义单元的节点,过一个FNN后输入到decoder中解码。

 

实验结论

 

该模型在Multi30K数据集上取得了State-of-the-Art的效果。论文成果被录用在ACL 2020。

 

 

 

使人工智能达到类人水平的认知和推理能力,是AI方向技术人员的终极梦想。当前的AI在一些问题定义较清晰、较封闭的场景中,表现基本可用,但离最终目标还有很长的路要走。在培养AI认知和推理能力的过程中,我们在多模态语义理解方向上做了若干的技术探索,使得AI具有了一定的看图、听音、识字的能力。未来,我们会继续探索更多该方向上的研究和落地应用。

 

微信AI

 

不描摹技术的酷炫,不依赖拟人的形态,微信AI是什幺?是悄无声息却无处不在,是用技术创造更高效率,是更懂你。

 

微信AI关注语音识别与合成、自然语言处理、计算机视觉、工业级推荐系统等领域,成果对内应用于微信翻译、微信视频号、微信看一看等业务,对外服务王者荣耀、QQ音乐等产品。

 

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注