CVPR 2018 paper "Embodied Question Answering" 读后感

建立一个AI task Embodied Question Answering (EmbodiedQA),实现以下功能:

  • 构建一个agent
  • 提出一个问题(e.g. What color is the car?)
  • 在3D虚拟环境中导航收集视觉信息以回答问题(vision, language, navigation, answering)

要实现这些,这个task需要具备以下能力:

  • 语言理解——问题是在问什么?
  • 计算机视觉——‘car’ 长什么样?
  • 敏锐的洞察力——agent是随机诞生的,它并不一定一开始就看到“答案”所在的区域,因此它需要理解问题、寻找区域、转化目标
  • 常识推理——如同人寻找汽车要到户外去一样,agent需要具备类似这样的常识推理。(agent并没有被提供地图一类的东西,而是独自诞生、独自寻找)
  • 语言基础——传统视觉语言模型的缺点是缺乏语言基础,它们往往难以把文本和图像像素联系起来。EmbodiedQA不依赖于数据机,还是以目标驱动策略,agent把问题分成一系列动作而非像素。(‘garage’ means to navigate towards the exterior of the house where the ‘car’ is usually parked).
  • Credit Assignment——为了回答一个问题,agent需要分解任务并执行很多动作,怎样达到目的呢?这就需要Credit Assignment。

Credit Assignment,有翻译成“信用分配”,还是有些模糊,有人翻译成“功劳分配”,有些“能者多劳”的感觉,通俗地解释是:认为表现好的组件就多给它一些权重,这样对实现目标更有利。

模型训练:

trained from raw sensory input (pixels and words) to goal-driven multi-room navigation to visual question answering.

所做工作:

  1. 提出了一个AI task(EmbodiedQA),where an agent is spawned in an environment and must intelligently navigate from egocentric vision to gather the necessary information to answer questions about the environment.
  2. 建立了一个hierarchical navigation module 将 navigation 分解成一系列 actions,并构造了一个 controller 管理它们(When the agent decides it has seen the required visual information, it stops navigating and outputs an answer.)。
  3. 模仿学习(Imitation learning)、增强学习(Reinforcement Learning),test generalization to unseen environments.

  4. 设计了一个的3D世界模拟真实场景House3D。

  5. 构建了一个dataset of visual questions and answers grounded in House3D.

  6. 将 House3D 和 Amazon Mechanical Turk (AMT) 结合, allowing humans to remotely operate the agent in real time

  1. 人类学习新东西有一个重要的方法就模仿学习,通过观察别人的动作从而完成学习。因此,模仿学习Imitation Learning就是这样一个应运而生的方向:希望机器人也能够通过观察模仿来实现学习。模仿学习的终极目标就是One Shot Imitation Learning (一眼模仿学习),能够让机器人仅需要少量的示范就能够学习。
  • 以打砖块游戏为例,玩家需要左右移动屏幕底部的木板,将球接住并弹回到屏幕上半部分,当球触碰到一个砖块,砖块就会消失,玩家的得分就会上升 - 也就得到了reward。

    如果想要让神经网络学着玩这个游戏。网络输入将会是屏幕图片,网络输出将会是三个动作:左移,右移,发射(球)。我们可以将其视为一个分类问题 - 每一帧画面,我们都必须做出决定:左移,右移还是发射。

    尽管听起来比较简单,但我们需要大量的训练数据。当然,我们可以通过记录职业玩家的玩法来获得训练数据,但那不是机器真正该有的学习方式。

    我们不需要谁成千上万次地来告诉机器每一帧的动作该怎么决定,我们所需要的仅仅是让机器在做了正确的决定后获得适当的反馈(reward), 然后让机器自己去领悟其余的东西。

    这就是强化学习尽力在完成的任务。强化学习的地位处于监督学习和无监督学习之间。尽管监督学习给每条训练数据都标注了类别,而无监督学习什么类别也没标注,但是强化学习却给了稀疏的并且时间上有延迟的标注 - 奖励反馈(reward)。全靠这些奖励反馈,强化学习中的agent才能学习如何在环境中行动。

    尽管这种思想比较符合咱们的直觉,但是实践中还是面临着许多挑战。还是拿打砖块游戏举例,当机器打掉了一块转,然后得分增加了,这常常与得分以前的最后几个动作没啥关系,而是与很多步以前的动作(比如你调整底部挡板的位置的动作)有更大的关系。

    这个问题叫credit assignment problem(信用分配问题) - 要确定某次得分与之前哪些动作有较为直接的关系,是一个比较难的问题。

    一旦机器找到了一种获得奖励反馈的策略以后,是应该一直坚持它还是尝试一些别的路子来获得更大的奖励反馈呢?

    这个问题叫explore-exploit dilemma(探索-开发困境) - 要一直采用已知的可行策略还是探索一些新的可能会更好的策略呢?

    强化学习是动物学习过程中所采用的一种重要模型:爸妈的表扬,学校的成绩,工作中的薪水 - 这些都是奖励反馈的实例。

    信用分配问题和探索-开发困境也都是我们每天都面临着的问题,这也是为什么要探索强化学习的原因;在这个探索过程中,游戏为我们提供了一个很棒的找到新方法的沙盒世界。(引自 https://blog.csdn.net/xg123321123/article/details/77504032

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

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

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

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

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

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

实验结论分析:

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

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

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

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

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

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

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值