基于深度强化学习的区域化视觉导航方法

基于深度强化学习的区域化视觉导航方法

人工智能技术与咨询 

本文来自《上海交通大学学报》,作者李鹏等

关注微信公众号:人工智能技术与咨询。了解更多咨询!

在环境中高效导航是智能行为的基础,也是机器人控制领域研究的热点之一.实现自主导航的传统方法是结合一系列硬件和算法解决同步定位和建图、路径规划及动作控制等问题,该类方法在实际应用中取得了良好效果,但需人工设计特征和预先构造地图[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 深度强化学习简介

深度强化学习是深度学习和强化学习的结合,利用深度学习可自动抽象高维数据(图像、文本、音频等)的特性,解决了强化学习由于内存、计算及样本复杂度等引发的维数灾难问题,这给人工智能领域带来了革命性的变化,预示对视觉世界具有更高层次理解的端到端系统的建立.其中,典型架构为深度Q网络[13]及深度递归Q网络[16].

1.1 深度Q网络

深度Q网络是第一个被证明的可以在多种环境中直接通过视觉输入学习控制策略的强化学习算法,其模型如图1所示,其输入是4个连续串联的状态帧.

图片

图1   DQN模型

Fig.1   DQN model

标准的强化学习通过与环境交互实现,在每一个时间步t,智能体会根据当前环境状态st和策略π选择一个动作at,在执行动作以后,将获得一个奖励信号rt,并进入下一状态st+1.定义Rt为每一个时间步的累积折扣奖励:

Rt= [Math Processing Error]∑t'=tTγt'-trt'

(1)

式中:T为回合的最大步数;γ∈[0, 1]为折扣因子;t'为下一时间步;rt'为下一时间步的奖励.DQN使用动作值函数学习控制策略,在给定策略π的情况下,动作值函数定义为状态s下执行动作a后的期望回报:

(sa)=E[Rt|st=sat=a]

(2)

在定义的同时定义最优动作值函数Q*,即Q*(sa)= [Math Processing Error]maxπ(sa),借助贝尔曼方程可迭代更新动作值函数:

Qi+1(sa)=Es'[r+γ[Math Processing Error]maxa'Qi</

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值