专栏首页人工智能前沿讲习新任务引介 | Embodied Question Answering

新任务引介 | Embodied Question Answering

导读

本次分享的论文提出了一个新的任务 Embodied Question Answering (EQA)。在这个任务里面,一个agent在三维虚拟空间中进行随机出现,然后问这个agent一个问题,agent为了回答这个问题,需要在环境中进行探索和信息整合。这个任务需要agent具有主动的认知、语言理解能力、目标驱动的探索、常识推理并将自然语言的信息整合到动作序列中。

作者简介

本篇论文的作者来自于佐治亚理工学院和Facebook的AI研究院。他们结合虚拟空间环境构造了一个新的、极具挑战性的问答系统EQA,并进行了初探性的工作,开放了数据集和基线系统的代码,以期望有更多的研究者一同为这个有趣、富有挑战性的任务做出进展性工作。

论文作者列表:Abhishek Das, Samyak Datta, Georgia Gkioxari, Stefan Lee, Devi Parikh, Dhruv Batra.

论文分享人:EriC. MA

CVPR 2018落幕,一系列的研究者的oral带给我们最新前沿的关注点。今天我们分享的论文是FAIR(Facebook AI Research)发表在CVPR 2018上的工作。在这个工作中,作者提出了一个崭新的问答任务Embodied Question Answering(下面称EQA),该任务是融合多模态信息,通过向agent提出文本问题,需要其在虚拟的空间环境中进行路径规划和探索,以到达目标位置并进行答案的反馈。在当前的EQA任务中,答案仍然是处于一个封闭集合中,即agent可以做出的回答是在一个封闭的答案集中进行选择,可以看作是一个分类任务,根据文本问题和环境探索后得到的信息整合,分类得到一个最为契合的答案进行输入。本篇论文的主要贡献是提出了EQA的机器学习任务;实现了了一个agent系统,可以在环境中进行探索,并回答一些问题;利用了模仿学习等方法来辅助agent进行预学习,得到了不错的效果,并对泛化性能进行了相应的探索;其在一个虚拟3D的屋子环境里进行了实验,使用的是修改后的SUNCG数据集[2],agent在虚拟环境中进行交互,可以不用考虑安全性等一系列的问题,使得模型得到了非常大的简化;同时作者开放了EQA的数据集和虚拟平台环境,便于研究者们在这个新任务中提出自己的解决方案,也为后续继续完善这个任务提供了便利的途径。

图1给出了EQA的一个形象化的表述,在这个例子中,向agent提出的文本问题为“车是什么颜色的?”,agent经过在虚拟的环境中进行探索,当发现车子后,返回给系统“车是橘黄色的!”

图1 EQA任务举例[1]

EQA的最终目标是:agent可以理解他们所处的环境(通过视觉等感知方式),具有沟通交流的能力(例如利用自然语言的一个对话),可以采取一定的动作(例如在环境中根据问答或对话进行主动的环境探索)。下面对agent需要具有的一些能力进行具体的分析:

主动探索性: 由于agent的出现地点是在环境中随机生成的,所以agent需要进行一定的动作和移动去寻找能够回答问题的视觉信息。

常识信息推理: agent没有一个关于虚拟环境的地图,所以agent需要自行对环境进行探索。因此agent必须自行构建一个常识系统,就像人一样去比较有目的的进行探索房屋(例如一个人接收到一个问题厨具的颜色等,他会根据自己的常识经验直接前往厨房、餐厅等去查看,拿到相应的结果后再进行回答,而不会漫无目的的在房间中摸索)。

收敛性分析: 在这个EQA的任务上,难度就是agent的探索可能是很长时间都难以收敛的(比如说问题是大房子里一共有多少个小房中有椅子,这种情况下agent可能跑了很多次也不能给出完全正确的答案。此时开发者也不知道究竟是agent理解错问题了,还是没有识别出椅子,还是计数出现了错误,这就导致进行训练的时候,难度非常大),为了解决这种问题,作者提出利用模仿学习的策略给agent进行一个示范,或者是给出RL中的中途的一些引导进行前期的训练,以方便agent进行更好的学习和收敛。

在测试环节,agent是一个完全自我的系统,其无法得到关于环境的结构性表达,没有地图,没有位置信息,没有任何的启发式算法,没有外界的知识输入。其唯一可以拿到的就是模拟的摄像头采集到的RGB图像、问题文本,所使用的就是探索模型和已经训练好的QA模型。

EQA和之前的一些工作的对比

1.VQA – 视觉问答中没有主动的动作,模型的输入只是单一图像配合文本类型的问题,模型在封闭答案集上分类选出最适合的答案,也有一些视觉问答任务是基于的生成式模型,根据图像和文本生成一段文本回答。

Video QA – 任务同VQA相似,将VQA中的单张图片的输入替换成视频(处理时往往采样为多帧的图像)即可。

Visual Dialog – 通过给模型输入单张图片和文本句子,使得模型根据给定的图片与用户进行对话的生成。

EQA – 本篇论文的工作,给定agent一个文本问题,需要agent自行规划探索路径进行主动的在虚拟环境中进行搜索关键位置,找到符合问题的场景后,利用探索的路径过程中得到的图像信息,并最终给出答案。

总的来说,EQA比VQA更具有挑战性,因为agent在主动探索的时候,探索路径的随机性更大,较VQA更难收敛;但是其优点是可以去找到更有利于agent生成正确答案的图像信息,也能让agent在学习的过程中学习到一定的推理信息。

EQA数据集简介

House 3D – EQA的数据集的背景原型是SUNCG数据集[2],作者对该数据集进行适当的修改调整,得到了EQA的实验数据集。在这个过程中作者主要在环境中增添了一个agent,且对这个agent所设置的限制非常少,主要是其不可穿透3D虚拟环境中的墙和一些物品,对agent的高度、重量等物理属性都没有限制。在这个环境中,作者给agent提一个问题,希望agent可以利用语言、常识、视觉的信息进行推理以及对环境的探索来解答一系列的问题。

在这个3D虚拟环境中包含12种房间类型,50种目标类型(如图2所示)。

图2 EQA数据集-虚拟环境示例[1]

a)部分环境;b)可以提问的房间种类;c)可以提问的目标种类

关于问题的建模 – 在EQA的问题设置上,拥有非常多的问题模板,在具体的给agent提出问题前,是将希望提问的模块与模板进行替换,便可以生成一系列的问题,实际实现的过程可以理解成为一个键值填充的过程,如图3所示。

图3 EQA数据集问题模板示例[1]

构造了问题模板,便可以用之前设定好的目标来填充问题模板中的对应位置;agent回答问题的时候,通过探索房间,找到对应的目标以进行相应的回答。特别的,EQA的这个数据集不是静态的数据集,可以随时通过补充一些房间、目标,甚至是增多agent的个数,这也为后续数据集的扩充奠定了基础。

EQA v1数据集 – 这个数据集大概有5000个问题,建立在750个环境上,总共有45个特殊的物体以及7个特殊的房屋类型。统计起来,一个环境大概问了6个问题,最多的一个环境问了22个问题,最少的一个环境问了1个问题。在建设问题的过程中,会注意把一些不需要探索就可以知道答案的问题进行了删减,换言之,期望数据集中的数据都是需要agent在实际的环境中进行探索才可以有效问答。作者开源了3D虚拟环境的数据集[3]以及EQA中问题产生的代码[4]。

作者在这篇论文中提出了一个解决EQA的初探性工作:利用层次化的模型来解决EQA问题。

首先agent随机在环境中生成初始位置,然后接收到一个问题,agent只能利用其唯一具有的一个RGB摄像机,然后在环境中进行相应的探索以给出答案;在EQA中,agent不会事先得到环境的任何表达,也不会有任何额外的信息。

因此对每一个agent建模可以利用的包含4个模块 - 视觉、语言、探索、回答。其在训练的过程中是接受完全自然的数据(像素和单词),然后进行一个全屋子/全环境的探索,最终给出一个视觉问答的答案。作者提出的模型架构是利用CNN、RNN模型的融合构建agent,特别的,在RNN中使用了Adaptive Computation Time(ACT) RNN [5], 这个网络架构的特点是可以得到输入、输出之间需要多少个计算步(Computational Steps),并利用一个“挂机”(halting)层来进行反向传播。 在agent中,将有一个“规划器”来控制agent都去走哪些方向,用一个“控制器”来决定每一个方向走多远。

视觉模态信息的构建:输入是224*224的RGB图像,是摄像头从3D房间中得到的视觉信息,模型架构是按块构架,每一个块是5*5的卷积网络、ReLU激活、批正则化、2*2的最大池化,然后重复四次这种架构块,最终得到一个尺寸固定的表达。对视觉信息的要求是需要其可以得到物体的属性(颜色、纹理等)、语义信息(例如目标的种类)、环境的地理信息(例如深度等)。为了达到这个目的,作者在一个预测框架上进行了多任务的预训练,以实现编码原始的RGB值、语义类别和像素的深度信息。

语言模态信息的构建:利用2层的LSTM进行编码语言,隐层节点数为128。在具体的实现中,将语言的问题编码同探索、回答模块进行了分离,因为在问题的编码中,有很多重要的信息,需要额外提取出来,指导agent去进行后续的操作。例如当问题是“厨房里面的椅子是什么颜色?”,此时“颜色”是探索的一个重要的目标,而厨房则是会引导、限制agent去探索的路径和区域。

探索模块的构建:用ACT-RNN来作为“规划器”,规划器的动作是选择方向,还有一个“控制器”,是控制走多少步。在这个部分注意有两个变量,一个是记录目前的时间点,另一个是记录走了多少步,这两个作为一个组合会对应一个图像帧,并进行记录。“控制器”是用一个前向多层全联接网络搭建的。直观上讲,“规划器”是将agent的意图编码到一个隐状态向量h,同时伴随着选择一个动作;而“控制器”则是控制agent进行行走,直到达到“规划器”的目标。

EQA中问答系统模块的构建:当agent决定停下来,或者是走到了最大的步数的时候,agent开始进行问题的回答,而且回答问题的依据便是根据记录的一系列的图像帧。作者在这篇文章使用的问答生成时是通过选择最后五帧,然后结合问题的编码送入神经网络,最后在172种可能的回答里面进行softmax,选择出得分最高的答案进行输出。

图4 ACT模型架构图[1]

图4中的Q表示文本问题的编码向量,at表示t时刻agent所采取的动作(action),ht为循环神经网络中的隐向量,PLNR为“规划器”,CTRL为“控制器”。特别需要注意的是,在图4的架构中,一系列的PLNR构建为一个循环神经网络,换言之,时间t的变化只在规划器进行动作的时候。具体实现的数据流为,问题编码和上一时刻(t-1)的动作及隐向量同时送入“规划器”,规划器输出该时刻(t)的动作(包含直线行走、转弯等),当“规划器”完成t这个时刻的动作选择后,数据流会立即流进“控制器”中,“控制器”接受当前时刻t的动作,视觉模块CNN给出的视觉特征向量,以及循环神经网络中的隐向量,并输出“控制器”的动作(延续“规划器”的动作或返回至“规划器”数据流中)。通过这样的数据流的分流,可以有效的利用“规划器”控制agent的动作序列,而利用“控制器”决定每个动作需要agent执行的次数。

模仿学习模块

训练的过程中分为两大部分,首先是利用生成的“专家数据”(或是探索的引导信息)进行模仿/监督学习,作为一个预训练的架构,再进行强化学习的策略梯度下降使得agent可以在更多的问题、环境中具有泛化性能。

独立的路径探索实现

模仿学习主要是希望agent可以利用一些专家的监督信息去学习一些探索最短路径的策略,在具体的实现的时候,是agent利用隐向量、文本问题编码以及当前的画面帧,来保持其处在最短路径上。

强化学习模块奖励的设定

作者给出了两种reward,一种是在最终的时候的通过回答问题的正确性进行给定reward,另一种是即时的奖励来帮助agent快速贴近目标。最终的reward给定的方式是如果agent回答了正确的答案并停止了给5分,其他情况给0分;关于即时的奖励是给动作的,即直走的动作时,给定的reward是用0.005 * 距离目标的位置变化(agent采取转向动作时没有奖励)。训练的方式是REINFORCE 策略梯度。训练的一些细节:所有的LSTM都是两层的堆叠架构,隐层有128维。向前走的动作每次最多是0.25m,转向每次转9度,即转向40次才能转360度。

EQA的目标是可以准确的回答问题。实验对比结果如图5所示。

图5 EQA 实验结果对比[1]

作者构建了一些EQA的评测指标:

:agent终止时距离目标的距离;

:agent距离目标位置的变化(从起始位置到终止位置);

:agent距离目标物最近的距离;

:agent最终停留在目标物所在房间的百分比;

:agent进入目标物所在房间的百分比;

:agent在达到最大的探索长度前停止探索并问答问题的百分比;

MR:agent对答案集中的答案进行按分数排序后的平均排序分。

实验对比系统的比较:

Reactive CNN : 利用最后看到的几帧来预测接下来的动作,这样的模型不是针对最后的目标去进行学习的,这个模型学习的任务就是简单记忆画面帧,然后希望从训练集的环境中泛化到测试集上。

Reactive CNN+Question: 这个模型是将画面帧同问题的编码联合起来预测接下来的动作,其目标是一个问题的编码而不是一个目标的图像。

在这两个模型中,agent的动作空间是{向前、左转、右转},其没有停止的动作,在具体的测试的时候,就是走一个最大的步长限制后停止。

LSTM+Question: 上述的Reactive模型没有记忆信息,而这一个模型是利用问题的编码,当前帧,之前的动作共同来预测接下来的动作。这些同ACT(作者提出的模型)是相同的,与这个模型比较的原因是作者探索其提出的规划器-控制器(planner-controller)架构的有效性。

HumanNav: AMT工人(亚马逊众包)远程操作agent进行任务的完成。

ShortestPaths + VQA: 利用VQA模型,在测试的时候,直接给它最短路径让agent沿最短路径到达目标物处。

几点实验结论分析:

1)所有的baseline的探索效果都非常差,主要表现在agent停止时,其距离目标的位置比出现在环境时还要远;

2)记忆模块可以帮助提高性能。一开始出现在环境时基本都是距离终点差不多远,而具有记忆模块的系统可以在最终的时候距离目标终点更近;

3)ACT的系统效果最好。利用Q-问题编码结合作者提出的系统可以在停机的时候距离目标位置最近,而Q问题编码+强化学习+作者的系统,达到了最好的回答效果;

4) 利用RL的模型,会让agent更多的进入目标物所在的房间,但是距离目标物的距离不能保证达到最小,这主要是因为RL具有更大的探索可能性,但是这样个缺点并没有影响agent回答问题的精度;

5)最短路径+VQA的系统没有达到非常好的效果,主要是因为agent根据最短路径走以后,到达终点时,其不一定正好面朝着目标物或可能视野有一定的限制,这导致了agent在回答问题时可能存在障碍。

总的来说,FAIR提出的这个新任务虽然目前回答的问题还比较简单(主要是某一个房间里具有什么目标,某些目标的颜色是什么等),但是EQA需要agent具有更多的操作和表现(需要有视觉、语言两种模态信息的处理,同时需要对路径进行规划,对环境进行探索,并最终得到答案的得分),涉及到多模态信息的融合、处理,虽然是一个初探性的任务和工作,但确实是一个极具挑战性和有趣的任务。另外,利用这样的虚拟环境,让agent具有真正去交互的环境,随着训练的深入,可以帮助agent自发性的学习到一些常识性的知识(例如厨具多在厨房里,车子多在车库里,浴缸多在洗手间中),这对后续的通用人工智能的研究和发展未尝不是一个崭新的尝试!

主要参考文献:

[1] A. Das, S. Datta, G. Gkioxari, S. Lee, D. Parikh, and D. Ba- tra. Embodied Question Answering. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recogni- tion (CVPR), 2018.

[2] S. Song, F. Yu, A. Zeng, A. X. Chang, M. Savva, and T. Funkhouser, “Semantic scene completion from a single depth image,” in CVPR, 2017. 2, 4

[3] https://github.com/abhshkdz/House3D/tree/0bbba101a997908df16eee02936a0b539adeb0c2

[4] https://github.com/facebookresearch/EmbodiedQA/tree/master/data/question-gen/data

[5] A. Graves, “Adaptive computation time for recurrent neural networks,” CoRR, vol. abs/1603.08983, 2016.

本文分享自微信公众号 - 人工智能前沿讲习(AIFrontier)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • AI综述专栏|多模态学习研究进展综述

    在科学研究中,从方法论上来讲,都应先见森林,再见树木。当前,人工智能科技迅猛发展,万木争荣,更应系统梳理脉络。为此,我们特别精选国内外优秀的综述论文,开辟“综述...

    马上科普尚尚
  • 团队新作 | 双通道多步推理模型--更好解决视觉对话生成问题

    为解决目前视觉对话系统中视觉语言两个模态之间的多轮指代、推理以及信息对齐等问题,自动化所陈飞龙博士、许家铭副研究员和徐波研究员等人与腾讯一起共建了一种双通道多步...

    马上科普尚尚
  • 【AIDL专栏】白翔:基于合成数据的场景文本深度表示方法

    目前的文字识别主要有两方面的研究。首先是传统的文字识别,也就是文档中的文字识别,主要是OCR技术,其技术已经比较成熟,效果也比较稳定。另一方面是基于场景的文字识...

    马上科普尚尚
  • TensorFlow强化学习入门(5)—— 可视化Agent的“所思所想”

    在我的强化学习系列的文章中,我想要深入探究我们基于神经网络的agent在训练过程中习得的表达形式。尽管我们的直接目的是希望我们的agent能够获得更高的分数,或...

    ArrayZoneYour
  • VAIN:Attentional Multi-agent Predictive Modeling

    Hoshen Y. VAIN: Attentional Multi-agent Predictive Modeling[J]. arXiv preprint a...

    企鹅号小编
  • 玩转Flume+Kafka原来也就那点事儿

    好久没有写分享了,继前一个系列进行了Kafka源码分享之后,接下来进行Flume源码分析系列,望大家继续关注,今天先进行开篇文章Flume+kafka的环境配置...

    小程故事多
  • Jenkins2 学习系列21 -- pipeline 中 agent 使用介绍

    当agnet数量变多时,如何区分这些agnet有哪些特点呢?比如哪些环境是node10,哪些是JDK8,为了区分,我们可以给不同的agent打标签(也叫tag)...

    mafeifan
  • 详细图解日志收集系统Flume介绍以及安装配置

    Flume的概念:flume是分布式的日志收集系统,它将各个服务器中的数据收集起来并送到指定的地方去,比如说送到图中的HDFS,简单来说flume就是收集日志的...

    挖掘大数据
  • Skywalking系列博客4-Java Agent配置

    agent配置有多种姿势,上面修改 agent.config 文件中的值,只是其中一种。下面专门探讨agent支持的配置方式。

    用户1516716
  • cannot connect to [[127.0.0.1]:10050]: [111] Connection refused

    监控zabbix服务端这台服务器,然后显示Get value from agent failed: cannot connect to [[127.0.0.1]...

    拓荒者

扫码关注云+社区

领取腾讯云代金券