近日看了CVPR 2018的一篇论文,IQA:Visual question answering in interactive envionments,主要描述的是用一个代理与视频内容进行交互,回答基于视频的问题。之前未看过这方面的论文,并且网上也没有关于这篇论文的解说,所以在此记录一些个人心得体会,如有错误,还望各位老师给予批评指正!

人工智能社区的一个长期目标是创建能够在现实世界中执行手工任务并能通过自然语言与人类交流的代理人。例如,一个家用机器人可能会提出以下问题:我们需要买更多的牛奶吗?这将需要它导航到厨房,打开冰箱,看看牛奶罐里的牛奶,或者我们有多少盒饼干?这将需要代理导航到橱柜,打开其中的几个,并计算cookie盒的数量。为了实现这一目标,VQA这个有关视觉内容的问题受到了计算机视觉和自然语言处理的高度重视。虽然现如今VQA方面已经有了很大的进展,但研究主要集中在被动回答关于视觉的问题上,没有能力与生成内容的环境进行交互,一个只能被动回答问题的代理人在帮助人类完成任务的能力上是有限的。

一.文章概况

摘要:

         We introduce Interactive Question Answering ( IQA ),the task of answering questions that require an autonomous agent to interact with a dynamic visual environment. IQA presents the agent with a scene and a question, like: “Are there any apples in the fridge?” The agent must navigate around the scene, acquire visual understanding of scene el ements, interact with objects (e.g. open refrigerators) and plan for a series of actions conditioned on the question. Popular reinforcement learning approaches with a single controller perform poorly on IQA owing to the large and diverse state space. We propose the Hierarchical Interac tive Memory Network ( HIMN ), consisting of a factorized set of controllers, allowing the system to operate at mul tiple levels of temporal abstraction. To evaluate HIMN , we introduce IQUAD V 1 , a new dataset built upon AI2- THOR [ 35 ], a simulated photo-realistic environment of con- fifigurable indoor scenes with interactive objects. IQUAD V 1 has 75,000 questions, each paired with a unique scene con- fifiguration. Our experiments show that our proposed model outperforms popular single controller based methods on IQUAD V 1 .

作者在文章中介绍了IQA(交互式回答问题),这是一项回答问题的任务,与以往我所见到的论文不同的是,它需要一个自主的代理人与动态的视觉环境进行交互。给一个场景和一个问题,代理在场景中导航,去获得对场景元素的视觉理解,与场景中的物体进行交互,为问题计划一系列行动情况,以备更好地回答问题。而由于所给的场景是非常巨大,其中的位置空间多种多样,所以当前流行的强化学习方法和单一的控制器使IQA表现不佳。作者在本文中提出了一种分层交互记忆网络(HLMN),它由一组分解的控制器组成,允许在多个时间抽象级别上工作。本文的模型实现是由一个基于一种新的数据集IQUAD V1的具有交互对象的可变形室内场景的模拟照片真实感环境。其中数据集IQUAD V1中有75000个问题,每一个问题都有一个独特的场景组合。本文中提出的模型优于IQUAD V1的流行单控制器。

这里作者给出了模型过程视频,我截取并放在了这里以供大家观看:

论文

二.Introduction

鉴于IQA的实际情况,它有以下几点挑战:首先,代理必须能够在环境中导航;第二,代理人必须了解环境中的对象;第三,代理人必须能够与环境中的物体互动(如打开微波炉、拿起书籍等);第四,代理人必须能够在环境中规划和执行一系列行动。为了应对这些挑战,作者在本文中提出了HIMN(层次交互内存网络),文中提出了HIMN(分层交互记忆网络)。它由层次控制器组成。控制器在多个时间抽象层次上工作,并且具有丰富的语义记忆,有助于导航信息、互动和问题回答,详细描述如下:

与以往的关于分层强化学习的工作相似,‘HIMN被分解为一个层次结构控制网络,允许系统在多个时间尺度上操作、学习和推理。同时降低每个单个子任务的复杂性。高级控制器选择要执行的任务(如导航/操作/回答等等),并为所选任务生成命令。低级控制器(导航器、操作器、检测器、扫描器和应答器)将控制返回给规划器。这些子任务是相对独立的,故我们可以独立地对每个控制器进行预训练。

有几种问题类型要求代理记住它在哪里以及它看到了什么。例如,这间房子里有几个枕头?需要一个代理在房间里面导航,记录它遇到的枕头的数量。对于足够复杂的空间,代理就需要将这些信息保存在内存中很长时间,这就促使一个代理填充的显示外部内存表示。这个记忆必须是空间和语义的,这样它就可以代表一个地方。

从运营成本、规模以及研究重现性的角度来看,在现实世界中去模拟模型中的交互是不可行的,所以,一个可行的选择就是在真实的模拟环境中训练的评估这些代理。为此,作者在本文中使用了A12-THOR[35]——一个基于IQUAD V1数据集的可定制室内场景仿真环境。IQUAD V1中的75000道选择题中的每一道题都有一个独特的场景配置。

本文的贡献总共包括三个部分:a.提出交互式问题回答,回答要求代理人与动态环境交互的问题的任务;b.提出层次交互记忆网络,一个问题回答模型分解成一个高层次规划器、一组低层次控制器和一个丰富的语义空间记忆;c.提出了一种新的递归层来表示这个内存;d.使用了一个新的数据集IQUAD V1来完成。

相关工作

数据集

本文中用到的数据集与之前的不相同——一个基于IQUAD V1数据集的可定制室内场景仿真环境。IQUAD V1中的75000道选择题中的每一道题都有一个独特的场景配置。

强化学习RL

RL算法被广泛应用于各种问题中,包括运动[33]、障碍物检测[44]和自主飞行。与我们的方法特别相关的是分层强化学习(HRL)领域,它由一个高层控制器和一个或多个低级控制器组成。高级控制器选择要执行的子任务并调用其中一个低级控制器。HRL的优点是它允许模型在多个时间抽象级别上运行。

视觉导航

大多数视觉导航技术分为三类:离线地图、在线地图和无地图方法。

视觉规划

要回答诸如我需要买牛奶吗?代理需要计划一系列的行动来探索和与环境交互。一大批关于规划的研究 组织结构[12,14,26,62,63]使用高级正式语言。这些技术旨在处理低维状态空间,但不能很好地扩展到高维状态空间,如自然状态空间。

模拟视觉学习

越来越多地使用模拟环境和游戏平台来训练计算机视觉系统来执行任务,例如学习世界的动态、文献、语义分割、行人检测、姿态估计、城市驾驶。

三.详细解读

1.模拟环境

从运营成本、规模、时间和研究重要性的角度来看,在现实世界中培训和评估交互式代理是禁止的,更可行的替代方法是使用模拟环境。然而,该框架应该在视觉上是真实的,允许与对象的交互,并有一个详细的场景物理模型,这样代理和动作和对象的交互才能得到适当的表示。因此,我们采用A12-THOR环境作为我们的模型场景。A12-THOR是一个室内设置120个房间的照片真实感模拟环境,与物理引擎紧密集成。每一个场景由各种物体组成,从家具如沙发、电器如微波炉和较小的物体如陶器、餐具、书籍、水果等。这些物体中有许多是行动的,例如冰箱可以打开,杯子可以拿起来放下,炉子可以打开和关闭。

2.交互式问题回答数据集

IQUAD V1数据集是一个基于A12-THOR的问题回答数据集。它由三种不同题型的75000多个选择题组成。分别是“实在问题”(厨房里有苹果吗?);记数问题(现场有多少叉子?);和空间关系问题(冰箱里有生菜吗?)。我们将30个厨房房间分成25个培训和5个测试,每个培训(房间、问题类型)有1024个独特的(问题、场景配置)对,测试有128个独特的(问题、场景配置)对。下表给出了该数据集在各种问题类型、对象和场景配置中的统计数据:

3.代理和对象

我们环境中的代理有一个固定高度的RGB摄像机。一个代理可以执行五种导航操作之一(向前移动25厘米、向左或向右旋转90度、向上或向下30度)。我们假设一个网格平面图,它确保代理总是沿着网格的边缘移动,并在网格中的一个节点上停止。代理可以执行两个交互操作(打开和关闭)来操作对象。

4.模型

。下图概述了自我空间GRU(ESGRU),ESGRU只允许写入内存中的本地窗口,这取决于代理的当前位置和观点:

4.1空间记忆

有一些问题类型要求代理跟踪它在过去看到的对象以及其位置。对于具有多个位置和可交互对象的复杂场景,代理需要将这些信息长时间保存在内存中。这就激发了对于显式外部内存的需求,这种表示由动态的代理填充,可以在任何时候访问。为了解决这个问题,HIMN使用了丰富的语义空间记忆。对场景中每个位置的语义表示进行编码。此内存中的每个位置由编码对象检测概率的特征向量、自由空间概率(2D占用网格)、覆盖范围(代理人以前检查过此位置吗? 和导航意图(代理人以前尝试访问此位置)。我们提出了一种新的递归层公式:Egocentration Spatial GRU(es GRU)来表示这个内存,如图所示。 上图中es GRU保持以3D张量表示的外部全局空间存储器。在每个时间步骤中,es GRU将以本地为中心的内存副本转换为GRU的隐藏状态。 使用当前输入进行ms计算,然后在预定位置将产生的隐藏状态交换到全局内存中。这样可以加快计算速度,防止损坏内存 在远离代理当前观点的地方。在导航和回答问题时,代理可以访问全部内存,从而能够长期回忆以前看到的数百种状态。只有低级别控制器对此内存具有读写访问权限。由于规划师只做出高层决策,而不是在较低的层次上与环境互动,所以它只有读取访问记忆的权限。

4.2.Planner规划师

输入图片、当前的操作指南以及问题。图片由CNN编码,问题由LSTM编码,该GRU在每个时间步骤中接受当前观点(由CNN编码)和先前的操作。

代理对于空间的语义记忆经过CNN编码,如上图中的蓝色表示,GRU混合的结果由红色表示,问题由LSTM编码后由绿色表示。三者经过FC(全连接层),产生一个由每个交流的概率πi组成的策略π来实现这一点 以及当前状态的值v。

高级规划师调用低级控制器来探索环境,收集回答给定问题所需的知识,并回答问题。我们认为这是一种强化学习问题,其中代理必须发出尽可能少的命令,以获得正确的答案。代理人必须学会根据所学知识探索场景的相关领域(例如 .苹果经常在冰箱里,橱柜是可以打开的,等等。当前内存状态(例如。冰箱在左边),当前的观察(例如。冰箱是关着的)和问题。在每个时间步骤中,规划者选择调用在代理前面的5x5网格中提供相对位置的导航器,调用具有向上或向左等方向的扫描器,调用 在附近对象上具有打开/关闭命令的操作器,或调用应答器共32个离散操作。它通过产生一个由每个交流的概率πi组成的策略π来实现这一点 以及当前状态的值v。用A3C算法学习π和v[46]。上图显示了规划师的示意图。它由GRU组成,该GRU在每个时间步骤中接受当前视点(由CNN编码)和先前的操作。规划师只读到 语义记忆以代理的当前位置为中心。该GRU的输出与问题嵌入和附近语义空间内存的嵌入相结合,以预测π和 代理人根据正确/不正确的回答获得固定的报酬/惩罚。它还提供了一个持续的时间惩罚,以鼓励环境的有效探索和快速回答,以及试图执行无效的行为的惩罚。代理还会因为增加了环境的“覆盖率”而获得中级奖励,从而有效地训练网络尽可能快地最大化它所探索的房间的数量。最后,在每一个时间步骤,规划师也预测哪些高水平的行动是可行的,因为目前的世界状态。在场景中的许多位置,某些导航目的地是无法到达的。 或者没有对象可以交互。在每个时间步骤中预测可能/不可能的动作,允许梯度通过所有动作传播,而不仅仅是选择的动作。这就是线索 为了更高的准确性和更快的收敛性(详见5.2节)。

4.3. Low level controllers低级控制器——里面包含很多:

Navigator 导航器由规划器调用,该规划器还为其提供目标位置的相对坐标。给定规划师指定的目的地和 房间的占用网格,导航器运行A*搜索以找到通往目标的最短路径。当导航器在环境中移动时,它使用es GRU生成本地(5x5)占用GRI 鉴于目前的视觉观察。这将更新全球占用估计,并提示进行新的最短路径计算。这是一个完全监督的问题,可以用标准的s- s交叉熵进行训练。导航器还调用扫描器以获得环境的广角视图。考虑到被请求的目的地可能在房间的界限之外或在其他方面不可能(例如,在墙壁或其他障碍物处),导航器的网络也可以预测终止信号,并将控制权交还给当预测超过一定的阈值时。

Scanner 扫描仪是一种简单的控制器,它通过向上、向下、左或右旋转摄像机来捕获图像,同时保持代理的当前位置。扫描仪一直在呼叫探测器 你的新形象。

Detector 检测器对象检测是HIMN的一个关键组件,因为IQ UADV1中的所有问题都涉及房间中的一个或多个对象。我们使用YOLOv3[56]微调的AI2-THOR训练场景a,这是一个物体探测器。我们使用FRCN深度估计网络[38]估计物体的深度,并将检测到的物体的概率投影到地面上。因为它们是在每个新图像上调用的。使用移动平均更新规则将检测概率合并到空间内存中。作者还进行了实验,我们用甲骨文检测代替了训练好的探测器和深度估计器。由环境提供的检测仍然需要网络来学习负担。 例如,网络必须了解微波可以打开,苹果可以在冰箱等。

Manipulator 操作者被规划师调用来操纵一个对象的当前状态。例如,打开和关闭微波炉。这导致了场景视觉外观的变化。如果对象太远或不在视图之外,则操作将失败。

Answerer 回答者由规划师引导回答问题。它使用当前图像整个空间内存问题嵌入向量来预测问题的每个可能答案的答案概率ai。问题向量被平铺成一个与空间记忆具有相同宽度和高度的张量。这些是深度连接空间内存,并通过4个卷积和最大池层,然后在空间层上求和。这个输出向量是通过两个完全连接的层和一个软最大可能的答案选择。当应答者被激活后,不管应答是否正确,这一次就结束了。

4.4 Training

全系统共同培训..然而,由于控制器的单个任务大多是独立的,我们可以单独对它们进行预训练。我们的初步分析表明 比从头开始训练端到端更快的收敛性和更好的准确性。我们在下面概述我们的培训程序。

规划师:为了预先训练规划师,我们假设一个完美的导航器和探测器,使用地面真相最短路径的导航器和地面真相对象信息的探测器。

导航者:我们通过提供随机起点和目标位置对导航员进行预训练。

回答者:回答者是通过使用包含足够的信息来正确回答当前问题的地面真相部分语义映射来预先训练的。

探测器:探测器是通过在AI2-THOR训练场景上微调YOLOv3[56]来预先训练的..它被训练来识别可能在多个场景(苹果、叉子、e)中重复的小对象实例 tc.)以及每个场景特有的大型对象实例(例如。每个冰箱模型只存在于一个场景中)。

五.实验

下面这张表格比较了不同模型和三种问题类型的问题回答的测试精度和插曲长度:

本文中对于网络结构和输入进行了四个实验。首先,使用真实目标探测和深度代替YOLO和FRCN深度,这将大大改进我们的模型,没有了检测器方面的错误,答案就可以更加准确和自信。

其次,我们用一个oracle Navigator来代替我们学习过的导航控制器,它采用环境中的最短路径。当提供了最佳导航器时,HIMN将进一步改进。这是因为计划员可以更准确。它还采取更少的无效操作,这表明它不太可能卡在房间的某些地方。在我们的第三个烧蚀实验中,我们将问题向量从规划者的输入中移除,只提供给应答者,这导致了随机性能。这表明规划师利用问题引导代理人到房间的不同部分,以收集回答问题所需的信息。例如,任何关于冰箱里的物品的问题都需要计划者知道冰箱需要打开。如果计划员没有。此外,一些问题可以在观察对象之后很快回答(例如。存在),而其他需要更长时间的探索。有机会了解问题显然有助于解决问题 e在这些情况下的规划师。表3显示,HIMN确实探索了计算问题的更长时间的环境,而不是存在和空间关系问题。

它还采取更少的无效操作(如下表所示),这表明它不太可能卡在房间的某些地方,此表表示比较测试中不同模型中无效操作的百分比。更低的更好。:

无效操作

表4显示了不同方法采取的无效操作的百分比。失败的操作是由于导航失败(未能看到障碍)或交互失败(试图交互) 用太远或其他不可能的东西)。从质量保证的准确性来看,在无效行为上包括损失显然是有益的。

此表比较了在可视(S)和不可见(U)环境中不同模型下的问题回答的准确性:

未知环境中的概化

与其他RL架构相比,HIMN的一个优点是将语义信息编码到空间映射中,无论在可见的还是不可见的环境中,都应该能够很好地推广。
因此,在表5中,我们比较了HIMN在可见和不可见环境下的性能。不可见的环境使用5中出现的问题测试代理从未见过房间。而可视环境使用25个训练室,但从未见过的对象放置和相应的问题。尽管我们的培训室相对较少,但是表5显示,在不可见的环境中进行测试时,我们的方法只损失了几个百分点的准确性。这与许多其他端到端RL方法形成了对比,这些方法学习深层特性,而这些特性往往限制了它们在已知领域之外的适用性[73,74]。注意,前面部分中的所有实验都只在不可见的环境中执行。

回答存在问题的样本轨迹:房间里有面包吗?紫色部分表示规划步骤,灰色部分表示较低级别的控制器su 当导航器控制代理时。

IQA: Visual Question Answering in Interactive Environments 心得体会相关推荐

  1. Visual Question Answering: Datasets, Algorithms, and Future Challenges心得体会

    最近刚好在写综述,也看了一篇较早的综述性文章,作为VQA入门性文章还是值得一看的,这边自己记录了一下关于这篇文章的阅读体会,以及相关部分翻译,以供自己学习写作为用. 文章下载地址:Visual Que ...

  2. R-VQA: Learning Visual Relation Facts with Semantic Attention for Visual Question Answering

    博主水平有限,大部分为机翻 摘要: 最近,视觉问答(VQA)已经成为多模式学习中最重要的任务之一,因为它需要理解视觉和文本模式.现有方法主要依靠提取图像和问题特征来通过多模态融合或注意机制来学习它们的 ...

  3. Visual Question Answering概述

    目录 任务描述 应用领域 主要问题 主流框架 常用数据集 Metrics 部分数据集介绍摘自这篇博客 任务描述 输入:图片III.由nnn个单词组成的问题Q={q1,...,qn}Q=\{ q_1,. ...

  4. 【自然语言处理】--视觉问答(Visual Question Answering,VQA)从初始到应用

    一.前述 视觉问答(Visual Question Answering,VQA),是一种涉及计算机视觉和自然语言处理的学习任务.这一任务的定义如下: A VQA system takes as inp ...

  5. 论文笔记:Visual Question Answering as a Meta Learning Task

    Visual Question Answering as a Meta Learning Task  ECCV 2018 2018-09-13 19:58:08 Paper: http://opena ...

  6. VALSE学习(五):看图说话-Visual Question Answering as Reading Comprehension

    VALSE2019 一.Visual Question Answering as Reading Comprehension 简介:开发一种能够对图像提出智能的.面向目标的问题的方法被证明是一个难以理 ...

  7. 论文阅读Check it again:Progressive Visual Question Answering via Visual Entailment

    论文:Check it again:Progressive Visual Question Answering via Visual Entailment 代码:https://github.com/ ...

  8. Check It Again: Progressive Visual Question Answering via Visual Entailment 论文笔记

    Check It Again: Progressive Visual Question Answering via Visual Entailment 论文笔记 一.Abstract 二.引言 三.R ...

  9. Check It Again: Progressive Visual Question Answering via Visual Entailment

    最近要做关于VQA的项目,要读paper-这里收集了一些有关于这篇paper的资料. 资料 导读: SFFAI 130 视觉问答专题<佀庆一:中国科学院信息工程研究所在读博士> 2021: ...

最新文章

  1. linux桌面版排行2019_2019 年适合新手的 Linux 发行版 top 5
  2. 移动web开发常用JavaScript代码(转)
  3. git merge 和 git merge --no-ff
  4. php yaf框架模块化,基于yaf的模块化开发方案
  5. Linux中的通配符
  6. CentOS 6、7 安装 Golang
  7. slope one算法matlab,求助我这个寻峰算法该怎么提高灵敏度
  8. 「1s」即可!用 VS Code 一键玩转 GitHub 代码!
  9. c/c++再学习:C与Python相互调用
  10. 远程登录shell命名sftp_开发好物推荐13强于XShell远程连接FinalSHell
  11. java的运行环境是什么_Java运行环境是什么
  12. 编译原理-语法分析详解
  13. 小说里的编程 【连载之二十四】元宇宙里月亮弯弯
  14. python函数变量教程_Python 函数变量
  15. Predicting mRNA Abundance Directly from Genomic Sequence Using Deep Convolutional Neural Networks
  16. 2016/5/21 Seperate by *
  17. 4.46-47访问控制4/5
  18. 合工大机器人足球仿真考试题56题(底层uva)
  19. 为树莓派3B+编译 64位UEFI 固件
  20. 安卓系统怎么查找手机定位服务器,安卓手机丢了怎么查定位找手机

热门文章

  1. antd组件绑定html原生事件(例如给Button绑定ondblclick )
  2. python 创意项目_选择创意项目您需要知道的7个步骤
  3. 在VS2008里编译x264(菜逼专用)
  4. 测试阿萨大大十大风格和
  5. PhotoShop CC 2017软件工具面板使用---画笔工具
  6. TCP/IP--IP协议
  7. 国内常用镜像加速源分享
  8. 成功解决~请使用IE浏览器(兼容模式)
  9. [MIT新技术大会]Jeff Bezos把EC2、S3和土耳其机器人描述为亚马逊“11年来的大规模万维网计算”方面的结晶,强调把后台基础设施作为服务...
  10. 全球名校课程作业分享系列(10)--斯坦福CS231n之Network visualization