基于深度强化学习的区域化视觉导航方法
北京工业大学 信息学部,北京 100124
A Regionalization Vision Navigation Method Based on Deep Reinforcement Learning
Faculty of Information Technology, Beijing University of Technology, Beijing 100124, China
通讯作者: 朱晓庆,男,讲师,电话(Tel.): 010-67396753;E-mail:alex.zhuxq@bjut.edu.cn.
责任编辑: 陈晓燕
收稿日期: 2019-09-26
基金资助: |
|
Received: 2019-09-26
作者简介 About authors
李鹏(1992-),男,河北省廊坊市人,博士生,主要研究方向为机器人导航. 。
针对移动机器人在分布式环境中的导航问题,提出一种基于深度强化学习的区域化视觉导航方法.首先,根据分布式环境特征,在不同区域内独立学习控制策略,同时构建区域化模型, 实现导航过程中控制策略的切换和结合.然后,为使机器人具有更好的目标导向行为,在区域导航子模块中增加奖励预测任务,并结合经验池回放奖励序列.最后,在原有探索策略的基础上添加景深约束,防止因碰撞导致的遍历停滞.结果表明: 奖励预测和景深避障的应用有助于提升导航性能.在多区域环境测试过程中,区域化模型在训练时间和所获奖励上展现出单一模型不具备的优势,表明其能更好地应对大范围导航.此外,实验在第一人称视角的3D环境下进行,状态是部分可观察的,利于实际应用.
关键词:
Aimed at the problems of navigation in distributed environment of a mobile robot, a regionalization vision navigation method based on deep reinforcement learning is proposed. First, considering the characteristics of distributed environment, the independent submodule learning control strategy is used in different regions and the regionalization model is built to switch and combine navigation control strategies. Then, in order to make the robot have a better goal-oriented behavior, reward prediction task is integrated into the submodule, and reward sequence is played back in combination with the experience pool. Finally, depth limitation is added to the primitive exploration strategy to prevent the traversal stagnation caused by collision. The results show that the application of reward prediction and depth obstacle avoidance is helpful to improve navigation performance. In the process of multi-area environment test, the regionalization model shows the advantages that the single model does not have in terms of training time and rewards, indicating that it can better deal with large-scale navigation. In addition, the experiment is conducted in the first-person 3D environment, and the state is partially observable, which is conducive to practical application.
Keywords:
本文引用格式
李鹏, 阮晓钢, 朱晓庆, 柴洁, 任顶奇, 刘鹏飞.
LI Peng, RUAN Xiaogang, ZHU Xiaoqing, CHAI Jie, REN Dingqi, LIU Pengfei.
在环境中高效导航是智能行为的基础,也是机器人控制领域研究的热点之一.实现自主导航的传统方法是结合一系列硬件和算法解决同步定位和建图、路径规划及动作控制等问题,该类方法在实际应用中取得了良好效果,但需人工设计特征和预先构造地图[1].通过对空间认知行为的研究,动物神经学家发现,哺乳动物可基于视觉输入和环境信息(食物、巢穴、配偶等)在海马体内形成认知地图[2],从而实现大范围导航.在探索环境过程中,端到端的学习方法可建立视觉到动作的直接映射,使得动作不会与视觉信息分离,而是在一起相互学习,以此获得与任务相关的空间表征.近年来备受关注的深度强化学习[3]具有类似的学习方法,可通过构建表征完成具有挑战性的导航任务.
当机器人与环境交互时,导航被看作一个寻优过程[4],而随着深度模型的发展和异步优势训练方法的应用,深度强化学习在导航领域展现出强大的生命力.Zhu等[5]将预先训练好的ResNet与Actor-Critic(AC)算法结合,并在根据实际场景设计的3D仿真环境下进行测试,实现了目标驱动的视觉导航,同时证明该方法具有更好的目标泛化能力.Mirowski[4]等提出Nav A3C模型,且在训练过程中增加深度预测和闭环检测任务,使得在同样训练数据下可两次更新网络参数.Jaderberg等[6]则研究了关于非监督辅助任务对训练的影响,这两种方法为提升导航性能提供了新的思路.为适应大比例地图,Oh等[7]在探索过程中将重要环境信息存储在外部记忆体中,待需要时再进行调用,但当处于非常大或终身学习场景中时,该系统的内存容量会随探索周期的持续而线性增长.面对这种情况,可考虑通过分割环境缓解模型记忆压力,类似的区域划分方法已在多个领域发挥作用.黄健等[8]在标准粒子群算法的基础上加入区域划分方法,针对不同区域的粒子采用不同策略自适应调整粒子的惯性权重和学习因子,达到寻优与收敛的平衡,降低了由声速不确定性引发的水下定位误差.张俊等[9]将边指针和区域划分结合,提高了大规模数据处理效率.Ruan等[10]则利用局部区域提高了数据关联准确性.在医学研究中,区域划分是研究脑片图像中不同脑区分子表达、细胞数目及神经网络连接模式量化和比较的基础[11],而在航空运输领域,区域划分更是与航线规划密切相关.同样,在利用深度强化学习实现导航的方法中,也有涉及区域划分的研究.Kulkarni等[12]在框架中应用继承表征(SR)实现深度继承强化学习(DSR),并在两个简单的导航任务中进行实验.与深度Q网络(DQN)[13]相比,DSR能更快适应末端奖励值变化,且对于多区域环境可进行子目标提取.Shih等[14]提出一种分布式深度强化学习模型,可用于室内不同区域间的导航.Tessler等[15]模仿动物学习方式提出一种终身学习模型,在模型中可重复使用和同化其他任务中学习到的技巧,其中就包括某一环境下的导航策略,通过技巧之间的组合,可实现区域间导航.
本文研究在终身学习模型的基础上展开,面对分布式环境,不再使用单一模型在整个环境中导航,而是利用子模块在各区域内独立学习控制策略,并通过区域化模型集成控制策略实现大范围导航.与此同时,在训练方法上做出两点改进:① 在子模块中增加奖励预测任务,缓解导航任务固有的奖励稀疏性,构建对奖励敏感的空间表征.② 在原有探索策略基础上结合深度信息躲避障碍物,防止遍历停滞.实验在第一人称视角的3D环境下进行.
1 深度强化学习简介
1.1 深度Q网络
深度Q网络是第一个被证明的可以在多种环境中直接通过视觉输入学习控制策略的强化学习算法,其模型如图1所示,其输入是4个连续串联的状态帧.
图1
标准的强化学习通过与环境交互实现,在每一个时间步t,智能体会根据当前环境状态st和策略π选择一个动作at,在执行动作以后,将获得一个奖励信号rt,并进入下一状态st+1.定义Rt为每一个时间步的累积折扣奖励:
式中:T为回合的最大步数;γ∈[0, 1]为折扣因子;t'为下一时间步;rt'为下一时间步的奖励.DQN使用动作值函数学习控制策略,在给定策略π的情况下,动作值函数Qπ定义为状态s下执行动作a后的期望回报:
在定义Qπ的同时定义最优动作值函数Q*,即Q*(s, a)=
式中:s'及a'分别为下一时间步的状态和动作.当i→∞时,Qi→Q*.DQN使用一个参数为θ的深度卷积神经网络拟合Q值,此时同样可以利用贝尔曼等式更新参数θ,定义均方误差损失函数:
式中:yt=r+γ
通过在环境中学习不断减小损失函数,使得Q(s, a;θ)≈Q*(s, a).其实DQN并不是第一个尝试利用神经网络实现强化学习的模型,它的前身是神经拟合Q迭代(NFQ)[17],并且DQN架构与Lange等[18]提出的模型密切相关,而DQN之所以能达到与专业游戏测试人员相当的分数,是因为应用了两种关键改进:① 目标网络,与标准的Q-learning相比,这种方法使用一组参数滞后的网络生成目标,可在更新Q(st, at)和yt的时间点之间增加延迟,从而降低策略发散或振荡的可能性.② 经验回放,这是一种受生物学启发的机制,通过对经验池中样本均匀采样,可有效打破数据的时间相关性,同时平滑数据分布.从训练角度看,经验池的使用可大大减少与环境所需的交互量,并且能够提高批量数据吞吐量.目标网络和经验回放在随后的深度强化学习方法中也得到了应用和发展[19].
1.2 深度递归Q网络
DQN已被证明能够从原始屏幕像素输入学习人类级别的控制策略,正如其名字一样,DQN根据状态中每一个可能动作的Q值(或回报)选择动作,在Q值估计足够准确的情况下,可通过在每个时间步选择Q值最大的动作获取最优策略.然而,由1.1节可知,DQN的输入是由智能体遇到的4个状态组成的,这种从有限状态学习的映射,本身也是有限的,因此,它无法掌握那些要求玩家记住比过去4个状态更远事件的游戏.换句话说,任何需要超过4帧内存的游戏都不会出现马尔可夫式,此时游戏不再是一个马尔可夫决策过程(MDP),而是一个部分可见的马尔可夫决策过程(POMDP)[20].当使用DQN在POMDP中学习控制策略时,DQN的性能会有所下降,因为在状态部分可观察的情况下,智能体需记住以前的状态才能选择最优动作.为此,Hausknecht等[16]将具有记忆功能的长短时记忆网络(LSTM)[21]与DQN结合,提出深度递归Q网络(DRQN),其模型如图2所示.
图2
为隔离递归性影响,对DQN结构进行最小程度修改,只将DQN中第一个全连接层替换为相同大小的LSTM层,使LSTM轻易与DQN结合.实验中设计了多种环境测试DRQN处理部分可观测状态的效果:① 当使用完整观察状态进行训练并使用部分观察状态进行评估时,DRQN可更好地应对信息丢失带来的影响.② 在每个时间步只有一个状态帧输入时,DRQN 仍可跨帧集成信息学习控制策略.
2 区域化导航方法
基于对分布式环境的分析,以深度强化学习为基础,在各区域内学习控制策略,同时通过区域化模型结合控制策略完成复杂环境下的导航任务.在学习过程中,为提高训练效率及导航性能,在子模块中增加奖励预测任务,并结合深度信息躲避障碍物.
2.1 景深避障
其中,ε在探索开始时设置为1,并随探索步数的增加线性减少,最后固定为一个比较小的值.在训练阶段,机器人主要通过视觉信息在区域内自主学习.因此,当撞到障碍物时,如果此时没有较好的避障措施,那么将长时间停留在一个地点.为了防止遍历停滞,提高探索效率,本文在ε-greedy探索策略基础上,结合状态深度信息为探索动作添加限制,单个回合的探索流程如图3所示.
图3
从流程图可以看出,景深避障需在执行动作之前完成,即当机器人获取视觉信息后,并不立即使用视觉信息选取动作,而是先通过状态深度图中的最小值与阈值相比较,在判断是否撞到障碍物后再执行下一步动作.
2.2 奖励预测
在学习导航策略过程中,机器人需识别出具有高回报或高奖励的状态,以便于更高效地学习值函数和策略.然而,环境中的奖励往往是稀疏分布的,目标也只有一个,这就提出一个问题:在不包含奖励的状态下,智能体应通过什么学习以及如何学习.
图4
模型中通过前馈网络连接被卷积编码的状态实现奖励预测,其中有两点值得注意:① 奖励预测主要针对感知环境的卷积部分进行优化,除用于获取对奖励敏感的表征外,不会影响控制策略的学习,所以奖励预测使用与动作选取不同的体系结构.② 在模型训练方面,虽然奖励预测与动作选取同步更新,但前者没有使用在线学习方法,而是利用经验池更新.在训练过程中,奖励预测需通过3帧连续序列Sτ={sτ-3, sτ-2, sτ-1}预测在随后观测中的奖励rτ,但不要求其给出具体数值,所用损失函数为交叉熵分类:
式中:
2.3 区域化导航模型
哺乳动物具有非凡的空间探索和创造能力,通过感知不断变化的环境可准确地回到几百米,甚至上千米以外的巢穴,但对于移动机器人,随着状态和动作空间的扩张,导航性能会随之下降,特别是当面对具有多区域特性的大比例环境时,往往会陷入无限探索困境.受终身学习模型启发,本文提出一种区域化导航方法,面对分布式环境,该方法使用单独的子模块在各区域内学习控制策略,模块结构如图5所示,图中价值函数Vπ定义为在给定策略π的情况下以状态s为起点的期望回报:
图5
式中:m为区域编号.模块中包括动作选取和奖励预测两部分.在整个学习过程中,动作选取和奖励预测既相互独立又相辅相成,它们会按照各自的方式更新参数:动作选取部分通过与环境交互不断优化导航策略,奖励预测部分则利用经验池中的数据构建表征.同时它们又相互联系:当执行更优导航策略后,经验池中包含奖励的状态会增多,有助于形成对奖励敏感的表征,而表征会以参数共享的方式传递到动作选取部分,进一步提升导航性能.
当所有区域控制策略训练完成时,按照收敛的先后顺序将策略集成到模型内部,模型中的每一层代表一个区域的控制策略.环境控制策略由相同的子模块在整个环境中学习获得,主要起中继作用,因此不要求其收敛,当所有区域策略收敛后,环境控制策略也停止训练,并以当前参数集成到模型中.本文策略选取的方法是基于动作Q值实现的,为更好地分辨区域,不再使用单一观测选取策略,而是综合考虑机器人在环境中某一位置前后左右4个方向的观测值:
式中:Qv为动作均值;Q(s, a)、Q90(s, a)、Q180(s, a)及Q270(s, a)为机器人在起始位置每向右旋转90° 度所选动作的Q值.同时定义
式中:I为最优策略编号.如果此时选取的是某一区域的控制策略,那么执行该策略直到区域内目标,然后将策略选取权交回.如果此时选取的是环境控制策略,只执行单步动作就将策略选取权交回,其流程如图6所示.
图6
3 实验结果与分析
3.1 实验环境及参数设置
图7
图8
区域导航子模块结构已在2.3节给出,在该模块中使用具有遗忘门的LSTM[23],除接受卷积编码的状态外,LSTM还融合上一时间步的动作和奖励信息,策略和值函数可由LSTM输出线性预测所得.卷积层和全连接层后紧接ReLU非线性单元,卷积层滤波器数量、尺寸、跨度以及全连接层和LSTM层参数如表1所示.学习过程中使用8线程异步优势演员评论(A3C)方法[24]优化参数,ε在探索环境的前106步由1线性降低到0.1,并固定为0.1,学习率从[10-4,5×10-3]区间内按对数均匀分布取样,折扣因子γ=0.99.机器人学习导航的过程主要以奖励分值-时间(S-t)图呈现,奖励为1 h内(虚拟时间)机器人所获奖励与完成回合数的平均值,每个回合机器人执行 4500 步动作.
表1 神经网络参数
Tab.1
网络部分 | 动作选取 | 奖励预测 |
---|---|---|
卷积层1 | 16, 8, 4 | 16, 8, 4 |
卷积层2 | 32, 4, 2 | 32, 4, 2 |
全连接层 | 256 | 128 |
LSTM | 256 | 无 |
3.2 训练方法实验
3.2.1 景深避障实验 在结合深度信息探索环境时,需预先设定碰撞阈值,所以在实验过程中首先研究不同约束值对训练的影响,然后对比使用不同深度信息探索环境的方法.在测试景深避障过程中只执行导航子模块中的动作选取部分,不执行奖励预测部分,实验在3个单区域环境中进行.
图9
结合不同深度信息探索环境的实验结果如图10所示,其中Nav A3C+D2参考文献[4],深度图认知参考文献[25].由图10可知,Nav A3C+D2通过预测环境深度信息,高效利用学习样本,可在短时间内掌握控制策略,但该模型中包含两层LSTM且结合深度预测任务,训练过程中需消耗更多计算量.而深度图认知以环境深度信息作为输入,易于形成景深趋向的控制策略,可高效探索未知环境,但只利用深度信息,忽略了环境的颜色特征,导致机器人无法进一步理解环境.景深避障则是利用深度信息作为碰撞判别依据,使机器人在探索环境过程中有效避障,且不会给训练带来额外负担,不过对目标导向行为没有实质性的帮助,这也是本文后续增加奖励预测的原因.
图10
图11
图12
3.3 区域导航实验
3.3.1 单区域导航实验 为验证区域化模型在分布式环境中的性能,分别在单区域及多区域环境中进行测试.在单区域环境中,并不涉及策略的切换与结合,因此只使用区域导航子模块在环境中学习控制策略,并使用Nav A3C+D2和终身学习模型中的深度技巧模块进行对比.
图13
多区域导航实验结果如图14所示,其中,在各区域策略稳定收敛前,区域化模型和终身学习模型奖励为同一时间内各子模块所获奖励的平均值.待策略集成后,奖励为区域间导航所得.由图14可知,在分布式环境中,随着区域数量的增加,受神经网络记忆能力限制,使用单一模型的Nav A3C+D2和区域导航子模块的性能会随之降低,虽然增加LSTM层数可在一定程度上减缓性能下降,但无法解决根本问题,且增加的训练难度也是难以承受的.区域化模型利用子模块在各区域内学习控制策略,并通过策略的切换和结合实现区域间导航,受区域数量的影响较小.与此同时,由于使用了改进的训练方法,维持了较高的学习效率和导航性能.终身学习模型同样可实现策略的切换和结合,但由于模型本身限制,难以形成高奖励的控制策略.同时可以看出,区域之间策略的切换和结合并不完美,这也是图中策略集成后奖励降低的原因.
图14
4 结语
本文提出一种区域化视觉导航方法,面对分布式环境,该方法使用子模块在各区域内独立学习控制策略,并通过区域化模型集成控制策略完成大范围导航.经实验验证,相比单一模型,区域化模型受神经网络记忆能力和区域数量影响较小,可更好地完成多区域环境下的导航任务,且在训练过程中结合景深避障和奖励预测,使得子模块可高效探索环境,同时获取良好导航策略.实际上,区域化并不是一个陌生的词语,它早已出现在生活的方方面面,如人类居住的环境就是根据区域划分.此外,区域划分还在道路规划、灾害救援和无人机导航等领域发挥作用,其中最具代表性的是医学图片研究中的区域分割,该方法是分辨病变位置和种类的基础.本文提出的区域化导航方法可应用于仓储机器人、无人驾驶车辆、无人机及无人船等无人智能系统.但文中环境分割通过人工实现,未来将在自主区域划分做出进一步研究.
参考文献
Spatial memory in the rat requires the dorsola-teral band of the entorhinal cortex
[J]. ,DOI:10.1016/j.neuron.2004.12.044 URL [本文引用: 1]
Target-driven visual navigation in indoor scenes using deep reinforcement learning
,
基于区域划分自适应粒子群优化的超短基线定位算法
[J]. ,
Ultra-short baseline positioning algorithm based on region-division adaptive particle swarm optimization
[J].
一种基于边指针搜索及区域划分的三角剖分算法
[J]. ,
A triangulation algorithm based on edge-pointer search and region-division
[J].
Optimized data association based on Gaussian mixture model
[J]. ,DOI:10.1109/Access.6287639 URL [本文引用: 1]
一种简易的脑片图像的半自动区域划分及细胞计数方法
[J]. ,
A Convenient semi-automatic method for analyzing brain sections: Registration, segmentation and cell counting
[J].
Human-level control through deep reinforcement learning
[J]. ,DOI:10.1038/nature14236 URL [本文引用: 2]
Distributed deep reinforcement learning based indoor visual navigation
,
Neural fitted Q iteration—First experiences with a data efficient neural reinforcement learning method
,
Autonomous reinforcement learning on raw visual input data in a real world application
,
Continuous Deep Q-learning with model-based acceleration
,
Planning and acting in partially observable stochastic domains
[J]. ,DOI:10.1016/S0004-3702(98)00023-X URL [本文引用: 1]
Long short-term memory
[J]. ,DOI:10.1162/neco.1997.9.8.1735 URL [本文引用: 1]
Learning to forget: Continual prediction with LSTM
[J]. ,DOI:10.1162/089976600300015015 URL [本文引用: 1]
Asynchronous method for deep reinforcement learning
,
/
〈 | 〉 |