这是一篇被ICLR 2019 接收的论文。论文讨论了如何利用场景先验知识 (scene priors)来定位一个新场景(novel scene)中未曾见过的物体(unseen objects)。举例来说,在「厨房」这一场景中,有一张图片显示「苹果」在冰箱的储物架上,同为水果的物体,如「橙子」,会出现在场景的哪个位置呢?论文提出了用基于强化学习的方法来定位「橙子」。
论文:VISUAL SEMANTIC NAVIGATION USING SCENE PRIORS
- 论文作者:Wei Yang , Xiaolong Wang, Ali Farhadi , Abhinav Gupta, Roozbeh Mottaghi
- 论文链接:https://openreview.net/pdf?id=HJeRkh05K
1. 研究问题
任务的具体目标是,以一个场景的随机位置作为起点,仅依靠代理获得的 RGB 图像,找到指定物体的类别。“目标物体类别”由一个语义标签表示,因此这项任务也被称为“视觉语义导航”(visual semantic navigation)。当目标物体类别的一个实例出现在视野范围内,并且代理与物体实例的距离低于设定的阈值(threshold),便认为任务成功完成。
![](https://ask.qcloudimg.com/http-save/yehe-1754229/3cknw47rny.jpeg?imageView2/2/w/1620)
图1:任务(a):已知咖啡机(coffee machine)的位置,估计马克杯(mug)的位置。黄色方框标出了代理(agent)估计的马克杯位置为咖啡机上方的壁橱(cupboard),此处用到的场景先验(scene prior)为功能(funcional),即,马克杯是配合咖啡机使用的,所以马克杯应该放置于咖啡机附近。
任务(b):已知苹果的位置,估计芒果(mango)的位置。黄色方框标出了代理(agent)估计的芒果位置为苹果所在的冰箱(fridge),此任务中用到的场景先验为语义(semantic),即,苹果和芒果为同类物品,因此可能处于同一位置。
2. 什么是场景先验
论文作者在文中指出,场景先验是“语义或是功能结构”。图2 展示了利用知识图谱 (knowledge graph) 表达物体间关系的两个例子, 图中的圆圈代表了一个物体类别 (object cateogry),也被称为图的一个节点(node)。节点之间的关系,用连接两个节点的边(edge) 表示。作者将出现在 AI2-THOR (Kolve et al., 2017) 环境中的所有物体类别都包含在了实验中使用的知识图谱,并通过计算 Visual Genome Dataset (Krishna et al., 2017) 两个物体之间关系的出现数量,来判断是否保留这种关系。只有当某种关系出现超过 3 次,两个物体才会建立连接。
![](https://ask.qcloudimg.com/http-save/yehe-1754229/brpidwu9sc.jpeg?imageView2/2/w/1620)
图2 : 利用知识图谱表示场景先验的两个例子。 左图中,马克杯(mug) 与其他物体之间的位置关系,例如,马克杯 “靠近(next to)” 咖啡机 (coffee machine), 马克杯 “在(in)”壁橱(cabinet)里。
3.强化学习场景的基本组成
论文利用了一种深度深度强化学习模型,来解决所要研究的未知场景中的物体定位问题。在进一步了解论文提出的模型之前,我们不妨通过图 3 简要回顾一下强化学习场景中的基本组成。
![](https://ask.qcloudimg.com/http-save/yehe-1754229/0qkoe606jz.jpeg?imageView2/2/w/1620)
图3: 一个典型的强化学习(Reinforcement Learning ,RL)场景:代理 (agent) 在环境(environment)中执行一系列动作(actions), 这些动作会被编译(interpreted)成为奖赏(reward)和状态(state),然后反馈给代理。
(来源:https://en.wikipedia.org/wiki/Reinforcement_learning#Deep_reinforcement_learning )
简单的 “ 强化” (reinforcement) 可以被认为是一个马尔可夫决策过程 (markov decision process):
- 环境和代理状态的集合,记为 S;
- 代理的动作集合,记为 A;
- 执行动作 a 时, 状态由 s 变成 s’ 的概率:
![](https://ask.qcloudimg.com/http-save/yehe-1754229/qvgq53ptom.png?imageView2/2/w/1620)
- 通过执行动作 a, 状态由 s 变成 s’ 以后,获得的即时回报(immediate reward):
![](https://ask.qcloudimg.com/http-save/yehe-1754229/y4du01e45q.png?imageView2/2/w/1620)
此外,代理选择动作的过程,被构造成一张被称为”策略”(policy)的图(map)。策略图给出了代理处于状态 s 时,执行动作 a 的概率。
![](https://ask.qcloudimg.com/http-save/yehe-1754229/7kf4167vmc.jpeg?imageView2/2/w/1620)
4. 基于深度强化学习的模型
为了解决在未知场景定位新物体的问题,论文作者提出了一个基于深度强化学习的模型,图 4 展示了该模型的结构。
4.1 视觉网络(visual network)
如图 4(顶层)所示,视觉网络将以 224x224 大小的 RGB 图像作为输入,然后输出 521 维的特征矩阵。视觉网络的主干选用了已经在 ImageNet 上进行预训练的ResNet-50 (He et al., 2016)。 具体的来说,作者在 ResNet-50 的全局平均池化(global average pooling)过程后,提取了 2048 维的特征。而为了记录代理执行的动作历史,当前图像帧,以及前三帧的所有特征将被串联(concatenated),得到2048x4=8192 维的特征矩阵。最后,被串联的图像特征通过全连接层(fully-connected layer) 以及 ReLU 层,映射得到 512 维的视觉-语义特征。
4.2 语义网络(semantic network)
语义网络将目标物体,用物体类型进行描述。图 4 中目标物体是“电视机”(television)。 论文作者利用 fastText (Joulin et al., 2016)为每个英文单词计算出,一个对应的 100 维单词嵌入(embedding)。如图 4(中层)所示,这些单词嵌入将通过一个全连接层和 ReLU,被影射为一个 512 维的特征(向量)。
![](https://ask.qcloudimg.com/http-save/yehe-1754229/9miw4pk8wm.jpeg?imageView2/2/w/1620)
图4:模型结构图。
在实际的语义导航(semantic navigation)任务中, 知识图谱中的每个节点(物体类别),均由语义提示(semnatic cues, 例如单词嵌入),以及视觉提示(visual cues,如当前状态的图片分类得分)联合表示。具体来说,单词嵌入由 fastText 产生, 而分类得分,则由经过 ImageNet 数据集(拥有1000个图像类别)预训练的ResNet-50 网络产生。 值得注意的是, 分类得分基于图像帧的当前状态,而针对不同的图谱节点(物体类别),模型将使用不同的单词嵌入。 语义提示与视觉提示,被两个不同的全连接层,分别映射成为 512 维的特征向量。512 维的语义和视觉特征向量随后被串联,并形成一个 1024 维的联合向量,用于表示图谱中每一个节点。
4.3 图卷积网络(graph convolutional networks ,gCNs)
如图 5 所示,论文提出的模型使用了三层 GCN,第一、二层 将输出 1024 维的隐含特征(latent features),第三层则针对每一个节点输出一个数值,并最终形成一个|V|维的特征向量(V为节点的总数)。 这个特征向量本质上是,当前场景和环境下的语义先验编码 (encoding of semantic prior)。
最后,模型将视觉、语义以及 GCN 三个分支串联,并产生 512x3=1536 维的特征向量。 这个 1536 维的向量将被输入到下文将要介绍的策略网络中,用于策略的预测。
![](https://ask.qcloudimg.com/http-save/yehe-1754229/pdkwhea0q1.jpeg?imageView2/2/w/1620)
图5: 图卷积网络(Graph, Convolutional Network, GCN)
4.4 执行者-评论员策略网络(actor-critic policy network)
论文提出的模型采用了“异步优势动作-评论” (Asynchronous Advantage Actor-Critic, A3C) 模型 (Mnih et al., 2016),来预测每个时间戳的策略(即,状态到动作的映射)。A3C 模型的输入为,上文提到的“视觉网络”、“语义网络”以及 GCN 分支的联合表示 (joint represenation),即,由三个网络的输出串联而成的 1536 维特征向量。 A3C 模型最终将产生两个输出:策略 (policy) 以及评价分数 (value)。最后,处于某个时间戳的代理将要执行的动作,则会通过采样(sampled)从预测的策略中得到。与现有的工作不同(如 Zhu et al. (2017), 对于不同场景使用不同的策略网络),论文提出的模型,针对不同的场景,采用同一种策略网络,使得这种模型更加精简以及具有通用性。
4.5 回报函数(reward)
奖赏是用于激励代理寻找通向目标物体的最短路径: 如果在指定步数内找到了目标物体类别中的一个实例(如目标物体为“微波炉”,在指定步数内找到任意一台微波炉,则视为成功完成任务),代理将获得 10.0 的正面回报(target reward)。否则,总步数一旦超出指定步数,代理将获得每步 -0.01 的负面回报 (negative reward)。
回报函数的设计会受到代理动作类型的影响,论文作者在实验中,使用两组动作类型,分别是“具有停止操作”,已经“不具有停止操作”:(1)在“不具有停止操作”的设置中,当环境告知代理已经找到指定物体后, 代理将获得正面回报,并同时终止训练过程;(2)而在“具有停止操作”的设置中,只有当执行“停止”动作时,训练过程才会终止。而代理只有在正面距离目标 1 米及以内时,才能获得获得正面回报,这种设置较前一种更具挑战性。
5. 实验结果
论文作者在 AI2-THOR 对提出的模型进行了验证。AI2-THOR 提供了 4 个类别(厨房、客厅、卧室,以及洗手间),共 120个 场景的图片。每一个类别均有 30个 外观及陈设不同的房间,在实验中,作者将每一个类型分为 3 组,即,20 个房间用于训练 (training),5 个用于验证 (validation),5 个用于测试 (testing)。
5.1 定性分析
论文作者在附录 a 中提供了用于测试模型的具体场景类型、参与训练的物体,以及用于测试模型的目标物体,表 1 摘录了其中两个场景类型,分别是厨房(目标物体为马克杯、苹果、微波炉以及吐司机)、客厅(目标物体为挂画以及雕像)。
表 1: 实验中使用的场景(房间)类型,参与训练的物体,以及用于测试模型的目标物体。
![](https://ask.qcloudimg.com/http-save/yehe-1754229/4hkuvo0f9y.jpeg?imageView2/2/w/1620)
图 6 则展示了在厨房和客厅两个场景中,使用“具有停止操作”设置时(见上文 4.5 节的介绍),代理停止前的最后八个图像帧以及对应动作(如,前进forward,右转 turn right,右转 rotate right 终止 terminal,等等)。
![](https://ask.qcloudimg.com/http-save/yehe-1754229/y9twsgq6c6.jpeg?imageView2/2/w/1620)
图6:使用“具有停止操作”设置时,代理在厨房(kitchen)寻找“吐司机”(toaster),以及在客厅(living room)寻找“挂画”(painting)的过程。每个场景均展示了代理在停止前的最后8个图像帧,以及相应的动作。
5.2 定量分析
作者使用了 Anderson et al. (2018a) 中提出的两个评估指标,分别是成功率(success rate)和 SPL 值(Success weighted by Path Length, SPL)。
成功率 = 代理成功找到目标物体的次数 / 训练的总节数 ,而 SPL 则兼顾考虑了(1)成功率 一极 (2)从起点出发找到目标物体的路径长度。SPL 的正式定义如下:
![](https://ask.qcloudimg.com/http-save/yehe-1754229/lfknhpxl3l.jpeg?imageView2/2/w/1620)
其中,N 是训练的节数(episodes),S_i 是一个标记成功与否的二元符号(0和1),P_i指的是路径长度,而L_i则是训练节数为i时,由环境提供的最短路径长度。
表2: 使用“具有停止操作”设置时,模型在四个场景(从左至右依次为:厨房、客厅、卧室、洗手间)取得的实验结果,即 成功率/SPL 值。此外,表格的最后一列为每行的成功率平均值 /SPL 平均值。
![](https://ask.qcloudimg.com/http-save/yehe-1754229/9jqqy2zvnh.jpeg?imageView2/2/w/1620)
表3 :使用“不具有停止操作”设置时(这一设置较表 2 的设置难度低),模型在四个场景(从左至右依次为:厨房、客厅、卧室、洗手间)取得的实验结果,即成功率/SPL 值。此外,表格的最后一列为每行的成功率平均值 /SPL 平均值。
![](https://ask.qcloudimg.com/http-save/yehe-1754229/epntiykryk.jpeg?imageView2/2/w/1620)
表 2 和表 3 分别展示了,使用 2 个不同的回报函数设置时,论文提出的模型所取得的实验数据。实验结果显示,模型在训练中未见过的场景(unseen scenes)中,能够找到全新的目标物体(novel objects)。此外,该模型同时也与 random (即,在每一个时间戳,代理始终从动作集中随机选择一个动作)和 A3C 这两种方法进行了比较。
6. 结语
论文提出了一个通过知识图谱(knowledge graph)集成语义(semantic)与功能(functional)先验知识,并基于深度强化学习的模型,用于解决“视觉语义导航”(visual semantic navigation)这一极具挑战的问题。该模型由视觉网络、语义网络、GCN 以及动作-评论模型(actor-critic model)这四个部分组成,四者协同完成在各种场景下的物体定位任务。这一模型与现有其他模型的区别在于:(1)不需要所在场景的地图;(2)针对不同的场景实例采取同一个策略网络,使得模型更加精简和具通用性。
论文作者还提到他们将从两个方面进行后续的研究:(1)在模型中加入长期记忆 (long-term memory),以便训练更为复杂的物体定位/导航策略; (2)在模型中融入物体与场景之间更高阶(higher-order)的关系。笔者比较感兴趣的一个问题是,如何进行跨场景之间的导航,网络训练时“厨房”这一场景里有“苹果“放在”果篮“里,那么代理是否能在”客厅”这一新场景里,找到“香蕉”或者“水果刀”这些没有在训练时出现的物体?
笔者注: 论文作者在 3.2 节和 4.2.2 节对于 A3C 模型的输入维数前后表述不一致。笔者的理解是,A3C 模型的输入是visual, semantic 以及 GCN 三个部分串联后的特征向量,维数应该是 512x3=1536 维。
3.2节 ”actor-critic network”:“the input of our a3c model is ... a 1024-d feature vector...” .
4.2.2节:”... which results in a 1536-d feature vector. As illustrated in Figure 2, the joint feature is further fed into the policy network for policy prediction” .
相关文献
Eric Kolve, Roozbeh Mottaghi, Daniel Gordon, Yuke Zhu, Abhinav Gupta, and Ali Farhadi. AI2-THOR: An Interactive 3D Environment for Visual AI. arXiv, 2017.
Ranjay Krishna, Yuke Zhu, Oliver Groth, Justin Johnson, Kenji Hata, Joshua Kravitz, Stephanie Chen, Yannis Kalantidis, Li-Jia Li, David A Shamma, et al. Visual genome: Connecting language and vision using crowdsourced dense image annotations. IJCV, 2017.
Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In CVPR, 2016.
Armand Joulin, Edouard Grave, Piotr Bojanowski, and Tomas Mikolov. Bag of tricks for efficient text classification. arXiv, 2016.
Yuke Zhu, Roozbeh Mottaghi, Eric Kolve, Joseph J Lim, Abhinav Gupta, Li Fei-Fei, and Ali Farhadi. Target-driven visual navigation in indoor scenes using deep reinforcement learning. In ICRA, 2017.
Peter Anderson, Angel X. Chang, Devendra Singh Chaplot, Alexey Dosovitskiy, Saurabh Gupta, Vladlen Koltun, Jana Kosecka, Jitendra Malik, Roozbeh Mottaghi, Manolis Savva, and Amir Roshan Zamir. On evaluation of embodied navigation agents. arXiv, 2018a.
Volodymyr Mnih, Adria Puigdomenech Badia, Mehdi Mirza, Alex Graves, Timothy Lillicrap, Tim Harley, David Silver, and Koray Kavukcuoglu. Asynchronous methods for deep reinforcement learning. In ICML, 2016