Reinforcement co-Learning of Deep and Spiking Neural Networks for Energy-Efficient Mapless Navigation with Neuromorphic Hardware

摘要:郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!

2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)

注:原翻译基于原先的arxiv版本,可能存在部分差异 

 

Abstract

  节能无地图导航对移动机器人至关重要,因为它们会在主板资源有限的情况下探索未知环境。尽管最近的深度强化学习(DRL)方法已成功地应用于导航,但是其高能耗限制了它们在多种机器人应用中的使用。在此,我们提出了一种神经形态方法,将SNN的能效与DRL的最优性相结合,并在无地图导航的学习控制策略中对其进行基准测试。我们的混合框架是脉冲确定性策略梯度(SDDPG),由脉冲actor网络(SAN)和深度critic网络组成,其中两个网络使用梯度下降共同训练。共同学习可实现两个网络之间的协同信息交换,从而使它们可以通过共享表征学习来克服彼此的局限性。为了评估我们的方法,我们在英特尔的Loihi神经形态处理器上部署训练后的SAN。当在仿真和真实的复杂环境中进行验证时,我们的Loihi方法每次推断的能耗能比Jetson TX2上的DDPG节省75倍,并且导航到目标的成功率更高,范围从1%到4.2%,并且取决于前向传播时间步长。这些结果加强了我们正在进行的努力,以设计灵感来自大脑的算法来控制具有神经形态硬件的自主机器人。

 

I. INTRODUCTION

  移动机器人自主导航的能力随着其探索的未知环境的复杂性而变得越来越重要。传统上,导航一直依赖环境地图形式的全局知识[1]。然而,对于许多需要有效导航的应用来说,由于实时要求和有限的能源资源 [2][3],信息地图的构建非常昂贵。最近引入的深度强化学习(DRL)方法,例如深度确定性策略梯度(DDPG)[4],能够学习无地图导航的最佳控制策略,其中智能体使用其局部感官输入和有限的全局知识进行导航[5][6][7]。然而,DRL的最优性是以高能源成本为代价的。鉴于移动机器人应用程序日益复杂的情况很难被车载能源的同等增长所抵消,因此对机器人无地图导航的低功耗解决方案的需求尚未得到满足。

  能源效率目前是脉冲神经网络(SNN)所展示的主要优势,这是一种新兴的受大脑启发的深度神经网络(DNN)替代架构,其中神经元异步计算并通过称为脉冲的离散事件进行通信[8]。我们和其他人最近展示了SNN在神经形态处理器中的实现如何为移动机器人带来低功耗解决方案,从英特尔Loihi [10]上移动机器人[9]的定位和映射到规划[11]和控制[12]。对于无地图导航,大多数基于SNN的方法采用奖励调节学习,其中全局奖励信号驱动局部突触权重更新[13][14]。尽管这种学习规则在生物学上是合理的,但它会遭受灾难性遗忘和缺乏策略评估[13],这限制了在复杂的现实世界环境中学习策略。

  有趣的是,DRL方法精通通过记忆重放克服灾难性遗忘,并提供对策略的系统评估[4]。这让我们想知道,我们是否以及在多大程度上可以将两种新兴方法的优势结合起来,即SNN的能效与DNN的计算能力。最近将这两种架构结合起来的努力依赖于使用权重缩放[15]等技术将经过训练的DNN直接转换为SNN。但是,这种方法需要更大的时间步长进行推理[16],这在需要实时做出决策的移动机器人中尤其成问题。为了克服这一限制,一种可能性是使用梯度下降技术直接训练SNN,例如时空反向传播(STBP)[17]。该方法展示了更快的推理速度,同时在广泛的分类任务中表现出最先进的性能[18][17]。然而,脉冲神经元表示高精度动作值的能力有限,会导致对不同输入预测相同的动作值,并防止在训练过程中产生纠正错误。鉴于DRL方法能够表示高精度动作值,在复杂环境中开发一种用于无地图导航的神经形态解决方案的一个令人着迷的可能性是结合深度网络训练SNN。

  在本文中,我们提出了Spiking DDPG (SDDPG),这是一种节能的神经形态方法,它使用SNN/DNN混合框架学习最优策略1,并在现实环境中的无地图机器人导航中对我们的方法进行了基准测试(图1)。像其深度网络对应一样,SDDPG具有独立的网络来表示策略和动作-价值:脉冲actor网络(SAN)(用于从机器人状态推断动作)和深度critic网络(用于评估actor)。使用梯度下降联合训练了该结构中的两个网络。为了训练SAN,我们引入了STBP的扩展,它使我们能够在Intel Loihi上忠实地部署训练好的SAN。我们通过比较分析评估了我们的方法在仿真和现实复杂环境中相对于DDPG的性能和能效。与Jetson TX2上的DDPG相比,Loihi上的SDDPG每次推断的能耗减少了75倍,同时还成功实现了目标导航。

 

1 Code: https://github.com/combra-lab/spiking-ddpg-mapless-navigation

 

 

II. METHODS

A. Spiking Deep Deterministic Policy Gradient (SDDPG)

  我们提出了SDDPG算法,以学习用于映射给定状态的机器人的最优控制策略s = {Gdis, Gdir, ν, ω, S}对机器人的动作a = {νL, νR},其中Gdis和Gdir是机器人到目标的相对距离和方向;ν和ω为机器人的线速度和角速度;S是从激光测距仪测得的距离;νL和νR是差分驱动移动机器人的左/右车轮速度。

  混合框架由脉冲actor网络(SAN)和深度critic网络组成(图2)。在训练期间,SAN生成给定状态s的动作a,然后将其馈送到critic网络以预测关联的动作-价值Q(s, a)。对SAN进行训练,以预测将Q值最大化的动作。反过来,对critic网络进行训练,可以使动作-价值的TD误差最小,如[4]所述。为了更新动作-价值,我们使用了[5]中采用的奖励函数:

其中Rgoal和Robstacle分别是正/负奖励;Odis是到障碍物的距离;A是放大因子;Gth, Oth是阈值。奖励函数鼓励机器人在探索过程中朝目标移动,从而有助于训练。

  为了进行推断,我们在Loihi上部署了训练后的SAN(请参阅II.D),以预测将机器人导航到目标的动作。在接下来的两节中,我们为推断和训练阶段提供数学形式。

 

B. Spiking Actor Network (SAN)

  SAN的构建块是脉冲神经元的LIF模型。具体来说,我们分两个阶段在时间步骤 t 更新了第 i 个神经元的状态。首先,我们将输入脉冲整合到突触电流中,如下所示:

其中c是突触电流,dc是电流的衰减因子,wij是第 j 个突触前神经元的连接权重,oj是二值变量(0或1),指示第 j 个突触前神经元的脉冲事件。

  其次,根据等式(3),我们将突触电流整合到神经元膜电压中。随后,如果膜电压超过阈值,则神经元发出脉冲信号。

其中v是膜电压,dv是电压的衰减因子,Vth是发放阈值。

  LIF神经元形成了一个全连接的多层SAN(图2)。该网络由离散的泊松脉冲驱动,该脉冲对连续状态变量进行编码。这是通过在每个时间步骤上生成一个脉冲来实现的,脉冲发放概率与当时状态变量的值成正比。经过T个时间步骤后,我们将输出层神经元重新缩放后的平均脉冲计数(动作)解码为机器人的左/右车轮速度(算法1)。

 

C. Direct Training of SAN with Back-propagation

  我们扩展了STBP,以直接训练我们的SAN以学习最优策略。原始的STBP仅限于包含简化的LIF神经元的训练网络,这些神经元只有一个状态变量(电压)。在此,我们将其扩展为具有两个内部状态变量(电流和电压)的LIF神经元,这些变量在公式(2)和(3)中定义。这样做是为了使我们可以在Loihi上部署训练好的模型,该模型实现了这种两状态神经元模型。

  由于定义脉冲的阈值函数是不可微的,因此STBP算法需要伪梯度函数来近似脉冲的梯度。我们选择矩形函数(在公式(4)中定义)作为我们的伪梯度函数,因为它在[17]中显示出最优的经验性能。

其中z是伪梯度,a1是梯度的放大器,a2是传递梯度的阈值窗口。

  在SAN的前向传播结束时,将计算出的动作馈送到critic网络的第n层,后者依次生成预测的Q值。对SAN进行训练,以预测受过训练的critc网络生成最大Q值所采取的动作。为此,我们使用梯度下降对SAN进行了训练,以使公式(5)中定义的损失L最小。

  critic网络第n层的梯度为:

其中an+1是critic网络第(n + 1)层在通过非线性激活函数(例如ReLU)之前的输出,而是critic网络第(n +1)层的权重。

  然后将此梯度反向传播到SAN。为了描述完整的梯度下降,我们将分析分为两种情况:i)最后的前向传播时间步骤t = T,以及ii)所有先前的时间步骤t < T。

  在这种情况下,与情况1相比,电压和电流的梯度具有额外项,反映了从未来时间步骤反向传播的时序梯度。

  通过收集所有时间步骤的反向传播梯度(在以上两种情况下进行计算),我们可以计算出每一层k损失相对于网络参数的梯度,如下所示:

  我们每T个时间步骤更新一次网络参数。

 

D. SAN Realization on Loihi Neuromorphic Processor

 

III. EXPERIMENTS AND RESULTS

A. Experimental Setup

  我们在配备RPLIDAR S1激光测距扫描仪(范围:0.2-40 m)的Turtlebot2平台上训练和验证了我们的方法。机器人的视野设置为正面180度,具有18个范围测量值,每个测量值的分辨率为10度。在Gazebo模拟器中进行训练,并在模拟和真实环境中进行验证。我们使用ROS作为训练和验证的中间件。神经形态实现是在包含两个Loihi芯片的英特尔KapohoBay USB芯片组上执行的。

 

B. Training in Simulator

  在训练期间,智能体依次导航了4个复杂性不断增加的环境(图4a)。起始位置和目标位置是从4个环境中的特定位置随机采样的。4个环境中难度的增加是由于增加的障碍和不同的起始目标对。这鼓励机器人在更简单的环境(Env 1和2)中建立在先前学习的简单策略的基础上,并逐渐学习在困难环境(Env 3和4)中导航的复杂策略。这种形式的课程训练已被证明可以实现更好的泛化和更快的收敛[19], [20]。

  训练中的每一个回合都会产生3种可能的结果:i) 成功:机器人成功导航到目标;ii) 碰撞:机器人与障碍物相撞;iii) 超时:导航超过1000个执行步骤,每个执行步骤为0.1s。在所有4个环境中对总共200000个执行步骤进行训练。为了平均训练期间探索的效果并与基准进行公平比较,我们训练了5个模型,对应于5组随机初始化的开始和目标对。此外,为了研究前向传播时间 T 的影响,我们训练了对应于T = 5, 10, 25, 50的4个不同值的SDDPG。训练时间随着 T 的降低而减少(图4b),这部分克服了通常与SNN相关的高训练时间的限制。用于训练的超参数如表 I 所示。

 

C. Baselines for comparison

  我们将SDDPG与以下方法进行了比较:

  1)基于地图的导航:我们使用了广泛使用的ROS导航包move_base,它由DWA(动态窗口方法)[21]局部规划器和基于Djikstra算法的全局规划器组成。移动基地所需的地图是使用GMapping[22]构建的。机器人的最大速度设置为0.5 m/s,与SDDPG相同。

  2)DDPG:DDPG与我们的SDDPG具有相同的网络架构,SAN被一个深度actor网络取代。为了研究随机生成的泊松脉冲输入的作用,我们还将我们的SDDPG与注入泊松噪声的DDPG接收输入(DDPG泊松)进行了比较。为此,我们将状态输入编码为泊松脉冲,然后将其解码回连续状态输入。使用相同的超参数训练基准(DDPG/DDPG Poisson)和SDDPG方法。DDPG和SDDPG方法的训练时间如图4b所示。

  3) DNN到SNN转换(DNN-SNN):我们使用权重重新缩放,将使用DDPG和Poisson噪声训练的深度Actor网络转换为SNN,其 T 值与SDDPG相同[15]。我们通过计算层在训练期间的最大输出来确定最优重新缩放因子,然后围绕它执行网格搜索[16]。

 

D. Evaluation in Simulator

  我们在Gazebo模拟器中的20m x 20m测试环境中评估了我们的方法(图6)。为了测试我们方法的泛化能力,我们将测试环境设计为在以下方面与训练环境有很大不同:i) 不同形状的障碍物(三角形,L 形);ii) 更窄的穿越通道(测试最少0.75m,训练最少1.75m);iii) 组织更密集的障碍。为了进行详尽的评估,我们生成了200个起点和目标位置,从测试环境的所有部分随机均匀采样,最小距离为6m。

  我们使用相同的起点和目标位置来评估我们的方法和所有基准。我们首先比较了基于三种可能结果——成功、碰撞和超时的比率的方法(图5a)。对于所有 T 值,我们的方法都优于DNN-SNN转换方法,对于较小的 T 值,性能要好得多。我们的方法性能略好于DDPG,即使部署在具有低精度权重的Loihi上也是如此。为了进一步检查SDDPG的有效导航能力,我们将其路线质量与移动基地以及所有其他导航方法进行了比较(图5b, c)。具体来说,我们计算了每种方法所采取的成功路线对应的平均距离和速度。为公平起见,我们只考虑在所有方法中具有共同起点和目标位置的成功路线。尽管无法访问地图,SDDPG实现了与基于地图的方法move_base相同的性能水平。

  然后我们分析了导致失败(碰撞或超时)的路由轨迹(图6)。这些方法在需要智能体以它在训练中从未经历过的方式绕过障碍物的位置失败了。为了进一步研究故障位置,我们生成了环境热图,其中对应于每个1m x 1m位置的像素强度等于智能体成功穿过该位置的次数百分比。热图显示SDDPG方法在比DDPG更少的位置失败。

  尽管我们没有明确针对最先进技术的性能改进,但我们的结果表明SDDPG的成功导航率略高。一种可能的解释是,状态输入的泊松脉冲编码引入的噪声有助于SDDPG网络摆脱"坏"局部最小值,与[23]的结果一致。DDPG Poisson比DDPG表现更好的事实进一步支持了这一推理。

 

E. Evaluation in Real-world

  我们在真实环境中评估了导航方法,以测试SDDPG的泛化能力(图7a)。环境是一个办公室环境,由小隔间和椅子、桌子、沙发、垃圾箱和书架等常见物品组成。该空间跨越约215平方米的区域,最短的通道长度为0.9 米。机器人需要导航到15个按顺序放置的目标位置,以覆盖环境的所有区域。我们根据GMapping生成的地图,使用amcl [24]估计了机器人的姿态。无地图导航方法(DDPG,SDDPG)无法访问此地图。虽然DNN-SNN方法在其路线中经历了多次碰撞,但SDDPG方法成功导航到所有目标位置并采用与基于地图的方法相似的路线(图7a)。有趣的是,SDDPG (T=10, 25, 50)表现出比DDPG和DDPG Poisson稍微平滑的运动(图7b中的速度比较)。

 

F. Power Performance Measurement

  我们对以下无地图导航解决方案的推理速度和能耗进行了比较分析(表II):i) E5-1660 CPU上的DDPG,ii) Tesla K40 GPU上的DDPG,iii) Jetson TX2上的DDPG,以及 iv) Loihi上的SDDPG。我们测量了测试期间记录的机器人状态的平均功耗和执行推理的速度。我们使用探测板载传感器的工具来测量每个设备的功率:CPU的powerstat、GPU的nvidia-smi、TX2的sysfs和Loihi的能量探测器。对TX2的测量是针对其两种功率模式——节能模式MAXQ (Q)和高性能模式MAXN (N)进行的。每次推理的能量成本是通过将1秒内消耗的功率除以该秒内执行的推理次数而获得的。与在DNN的节能芯片TX2 (Q)上运行的DDPG相比,SDDPG (T = 5)节能75倍,同时还具有更高的推理速度。存在与不同时间步骤 T 的SNN相关的性能成本权衡,这表明,为了进一步提高导航性能,可能首选具有较大 T 的SDDPG,尽管能量成本较高。

 

IV. DISCUSSION AND CONCLUSION

  在本文中,我们提出了一种神经形态框架,该框架将SNN的低功耗和高鲁棒性与DNN的表征学习能力相结合,并在无地图导航中进行基准测试。虽然最近在整合这两种架构上的努力集中于分别训练两个网络[16], [25],但我们在此提出了一种将它们相互结合训练的方法。我们的训练方法实现了两个网络之间的协同信息交换,从而使它们可以通过共享表征学习来克服彼此的局限性;当部署在神经形态处理器上时,这为无地图导航提供了一种最优且节能的解决方案。这样的努力可以补充目前允许进行联合推断的神经形态硬件,例如Tianjic芯片[25],并刺激用于节能联合训练的混合神经形态芯片的开发。

  我们的方法比在DNN的低功耗边缘设备(TX2)上运行的DDPG的能效高75倍。这种卓越的性能不仅来自SNN提供的异步和基于事件的计算,还来自我们的方法针对较低的T值训练SNN的能力,而性能损失很小。但是,DNN-SNN转换方法不是这种情况,该方法需要5倍以上的时间步长和4.5倍的能量才能达到与SDDPG相同的性能水平(T = 5)。能效的提高可以使我们的方法能够有效地导航家庭,工业,医疗或救灾应用中车载资源有限的移动服务机器人。通过将我们的方法与低成本的无地图定位方法(例如基于主动信标的定位方法)相结合,并且利用模拟忆阻神经形态处理器,能效会比其数字对应高几个数量级,可以实现能源成本的进一步降低。尽管大多数SNN优势的演示都集中在能量收益上,但是却以降低性能为代价[9], [11], [12],但这也许是第一次,一种节能方法也能显示出更高的准确性,至少在经过测试的机器人导航任务中比当前技术水平要好。准确性的提高部分归因于我们的混合训练方法,该方法帮助克服了SNN在表示高精度值方面的局限性,从而带来了更好的优化。此外,SNN在时空域中固有地对其输入进行了带噪的表征,这也可能有助于逃避"不良"的局部最小值。这些出色的SDDPG结果表明,强化学习是一种训练范例,其中节能型SNN也可能实现其对计算鲁棒性和多功能性的承诺。

  总体而言,这项工作支持了我们为开发实时节能型机器人导航解决方案所做的持续努力。我们的无地图解决方案可以补充当前基于地图的方法,以便在易于获取地图的应用中生成更可靠的控制策略。此外,我们的通用混合框架可用于解决各种任务,为全自动移动机器人铺平了道路。

posted on 2020-12-13 20:40  穷酸秀才大草包  阅读(826)  评论(0编辑  收藏  举报

导航