Bayesian Relational Memory for Semantic Visual Navigation,2019
相机重定位,UC伯克利,脸书AI,OpenAI
文章提出了一种基于贝叶斯方法的可解释的记忆机制,构建了一个在线拓扑图作为寻找语义目标的智能体导航(例如找到厨房)。导航时,智能体将定期识别新的房间,并在它们变得足够确定时将新房间添加到其不断增长的关系图中。整体更新机制很符合人在记忆时的pattern
在本文中深度学习只作为符号AI导航系统的一个语义实别模块工作,摒弃了传统深度学习端到端的构建模型的思路,将AI的黑箱最小化到足够成熟的识别模块中,而宏观的记忆机制构建采用可解释的符号AI.
总结:
用于视觉导航的深度学习模型在其设计中常常对记忆结构进行编码。LSTM即为内隐记忆结构。近年来为了提高性能,多用显示的、特定导航任务的记忆结构。
用于导航的存储器有:
- 空间记忆: 核心思想是将LSTM中的一维存储扩展到表示环境空间结构的二维矩阵,其中矩阵中的特定项对应于环境中的二维位置/区域。由于其规则的结构,值迭代可以直接应用于内存矩阵上的有效规划。但是,对于具有大空间的环境,在这种空间内存上进行规划的计算成本很高。 此外,精确的度量表达不符合人类依赖于地标导航的生物学事实。
- 拓扑记忆: 顶点是环境中的地标,边表示地标之间的短期可达性。在导航过程中,训练一个定位网络来识别机器人的位置和目标,同时利用内存中的地标和一个有效的图形搜索可用于长期规划。
文章提出了一种新的记忆机制,贝叶斯关系记忆(Bayesian Relational Memory(BRM))
来提高机器人在语义导航任务中的泛化能力。
BRM采用概率关系图表达予以实例,其特点有:
- 能够在训练环境中捕获布局的先验知识
- 能够在测试环境中估计布局的后验知识(记忆更新), 进行有效的规划和更新
- 同时能够高效的规划导航
BRM的组成部分:
- BRM module:生成子目标
- goal-conditioned locomotion module:LSTM控制模块
最终BRM模型在unseen的测试环境中超越了所有没有使用BRM结构的baseline
BRM可以看作是一种具有语义抽象的拓扑存储器的概率形式:BRM中的每个节点表示一个语义概念(如对象类别、房间类型等),可以通过dnn检测到,每个边表示两个概念之间的相互邻接的可能性。在每一个环境中,都可能存在或不存在单一的关系。
在训练阶段,学习一个存在概率来表示两个语义概念之间的先验知识(通过在所有训练环境中对其存在进行平均 )
在测试探索阶段,利用测试环境中的特定观测来更新记忆(即关系概率)。
另外,通过深度强化学习训练一个 语义目标条件下的LSTM 来控制运动,机器人通过后验概率规划关系图,选择下一个语义子目标来导航前进。
实验结果表明,采用BRM的智能体能够以较高的成功率和较少的导航步骤实现语义目标。
论文方法:
一、约定表示
数据集:House3D
语义概念:房间类型{T1,T2,…,T_k},类型数固定为K个
离散时间步,用t表示,agent在时间t的观测记为S_t,采用的行动为a_t
二、方法概述
-
BRM模块:接收每个时间步的视觉观测数据,通过CNN检测器提取语义信息并存储在replay buffer中。
-
概率关系图:节点为语义实例(用房间类型区分),边表示两个节点相互邻接的概率
-
LSTM运动控制模块:一种语义目标条件策略,它既接受视觉观测输入,又接受BRM模块产生的子目标g(g∈T)
BRM介绍
包括两个部分:CNN语义分类器和基于语义概念的概率关系图
-
Semantic classifier:
在训练集上进行有监督训练,且以全景图像 (4张不同角度的图像,s1t,…,s4) 作为训练输入。
在时间步t,使用10层的CNN提取特征f(si_t),根据参数W1,W2分别对四张输入计算l_i:
计算softmax得到四张图象的权重a_i:
加权平均后的输入 为K维的01向量,可作为对该语义概念T_i最后的sigmod预测 -
robabilistic relation graph:
将概率图表示为一个具有潜在变量z、观测变量y和参数Ψ的图形模型P(z,y;Ψ)
Z_ij表示Ti与Tj之间的边(概率), 这里 即为先验知识的体现。
在测试时,agent对Z_ij进行有噪声的观测,并对真实的Z_ij做出预测
其中 是需要学习的参数。在每个时间t,agent基于经验y_ij维护一个后验置信度 P(z|Y),记为对变量y的采样. -
后验更新和规划:
假设agent在当前环境中探索了N步,并将最近的语义信号ct,…,ct+N(即01向量)存储在重放缓冲区中, 然后计算这些向量的位或运算B:
B 表示在N步勘探期内访问的所有区域。 当两个目标同时出现在一个轨迹上时,则两个目标邻接。对于 B(Ti) =B(Tj) = 1 ,则Ti和Tj邻接,记为y_ij= 1的一个采样
对于 B(Ti) 不等于B(Tj) ,则Ti和Tj不邻接,记为y_ij= 0的一个采样
所有的y的采样记为 Y。
然后对每一个z_ij可以计算后验分布
算法根据约束条件 搜索最优的行动序列 ,然后执行到 ,更新graph,重新计划N步
-
学习概率图
参数 ψ 包含两个部分, ψ_prior (即先验的z)和 ψ _obs(对y的噪声观测),
-
ψ_prior:
在训练集中进行T_i 与T_j之间的采样得到Z={z_ij},然后根据最大似然估计 P(Z|ψ_prior) 对ψ _prior做出估计。
-
ψ _obs:
ψ_ obs依赖于运动规划策略 μ(θ)的性能。如果μ(θ)导航成功率较高,则Ψ_obs应较小(即低噪声水平);当μ(θ)较差时,Ψ _obs应较大。不过对Ψ _obs没有直接的学习方法。对于特定的Ψ _obs可以在valid数据集上进行评估,因此可以简单地运行网格搜索来获得最佳参数
-
-
目标约束策略
采用强化学习的方法,通过LSTM学习移动策略 μ(S_t,g;θ) ,S_t为agent的观测, g为导航目标,θ为参数。
奖惩策略:
当agent移动到目标房间时,它会收到与距离递减成比例的正奖励;
当agent移动到障碍物,则会受到惩罚。
成功奖励10,时间惩罚0.1采用 actor-critic method witha curriculum learning paradigm (出自论文《synchronous methods for deepreinforcement learning.》) ,在训练集上通过周期性的增大搜索距离来优化运动策略。
得益于有限的语义目标数目K,论文中为每个语义目标训练了一个对应的行动网络,在BRM 给出子目标g时,直接执行对应的行动网络。该策略要比其他采用了 gated-attention 策略的方法要好。(论文提到该方法在RL中很常见?)
三、实验
可以看出学习到的先验知识 P(z|ψ_ prior)是符合常识的。
-
规划效率:
BRM agent通过图规划可以有效地将一个总目标分解成一系列较易实现的子目标
当目标距离较远时,所有方法的成功率都较低,但纯运动策略随着距离的增加而迅速退化为随机策略,因此BRM总体上仍然具有较高的成功率。 -
终止检查
现实世界的agent必须能够自己意识到是否到达了目的地,因此有两种方法实现:
- 在行动空间中加入 终止行动
- 训练一个专用的终止检查器(checker)
作者选择了(2),在实验中使用语义分类器判断当前T是否为目标,作为检查器
-
实验数据
BRM 方法的 Success Rate(%) / SPL(‰, per mile)均为最高。
三、未来工作
利用NLP的单词嵌入和知识图,也可以将不可见的概念归纳为一般概念
利用视觉输入中丰富的语义信息(如对象类别、房间类型等),通过无监督学习直接从训练集中发现一般语义概念