Human-Level Control through Directly-Trained Deep Spiking Q-Networks
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!
arxiv 2022
Abstract
作为第三代神经网络,脉冲神经网络(SNN)由于其高能效,在神经形态硬件上具有巨大的潜力。然而,深度脉冲强化学习(DSRL),即基于SNN的强化学习(RL),由于脉冲函数的二值输出和不可微分的特性,仍处于初级阶段。为了解决这些问题,我们在本文中提出了深度脉冲Q网络(DSQN)。具体来说,我们提出了一种基于Leaky Integrate-and-Fire (LIF)神经元和Deep Q-Network (DQN)的直接训练的深度脉冲强化学习架构。然后,我们为深度脉冲Q网络采用直接脉冲学习算法。我们从理论上进一步证明了在DSQN中使用LIF神经元的优势。已经对17款表现最好的Atari游戏进行了综合实验,以将我们的方法与最先进的转换方法进行比较。实验结果证明了我们的方法在性能、稳定性、鲁棒性和能源效率方面的优越性。据我们所知,我们的工作是第一个使用直接训练的SNN在多个Atari游戏上实现最先进性能的工作。
Index Terms——Deep Reinforcement Learning, Spiking Neural Networks, Directly-Training, Atari Games.
I. INTRODUCTION
近年来,脉冲神经网络(SNN)因其在神经形态硬件上的低功耗[1]而引起了广泛关注。与使用连续值来表示信息的人工神经网络(ANN)不同,SNN使用离散脉冲来表示信息,这是受到时空动力学和通信方法中生物神经元行为的启发。这使得SNN已经在专用的神经形态硬件上成功实现,例如英国曼彻斯特的SpiNNaker[2]、IBM的TrueNorth[3]和英特尔的Loihi[4],据报道,这些芯片的能效比传统芯片高1000倍。此外,最近的研究表明,与人工神经网络相比,SNN在图像分类[5]、对象识别[6][7]、语音识别[8]和其他领域[9]–[13]具有竞争力。
目前的工作重点是将SNN与深度强化学习(DRL)相结合,即Atari游戏上的深度脉冲强化学习(DSRL),与图像分类相比,这涉及额外的复杂性。DSRL的发展落后于DRL,而DRL在许多强化学习(RL)任务中取得了巨大的成功,甚至超过了人类水平的表现[14]–[19]。主要原因是训练SNN是一项挑战,因为事件驱动的脉冲活动是离散且不可微的。此外,脉冲神经元的活动不仅在空间域逐层传播,而且也沿时间域传播[20]。这使得强化学习中SNN的训练更加困难。
为了避免训练SNN的困难,[21]提出了一种将ANN转换为SNN的替代方法。[22]将现有的转换方法[23]–[25]扩展到深度Q学习领域,提高了SNN在输入图像遮挡中的鲁棒性。在此之后,[26]提出了一种更稳健且更有效的转换方法,将预先训练好的深度Q网络(DQN)转换为SNN,并在多个Atari游戏中实现了一流的性能。然而,现有的转换方法严重依赖于预训练的人工神经网络。此外,它们需要很长的模拟时间窗口(至少数百个时间步骤)才能收敛,这在计算方面要求很高。
为了保持SNN的能效优势,最近广泛研究了直接训练方法[27]–[30]。例如,[31]提出了一种依赖于阈值的批归一化方法来直接训练深层SNN。首次在ImageNet上探索了直接训练的高性能深层SNN。此外,通过设计一个近似脉冲反向传播行为的替代梯度函数,替代梯度学习(SGL)被提出来解决脉冲函数中的不可微问题[32]。与现有的转换方法相比,它的灵活性和效率使得它在克服SNN的训练挑战方面更有希望。然而,现有的大多数直接训练方法只关注图像分类,而不关注RL任务。
除了训练方法外,深度脉冲强化学习还有另一个挑战,即如何从高度相似的Q值中区分最佳动作[26]。事实证明,在优化用于图像分类的人工神经网络的过程中,正确分类的值总是显著高于错误分类的值。与图像分类相比,即使对于强化学习方面训练有素的网络,不同动作的Q值也往往非常相似[26]。实际上,令人困惑的Q值问题在强化学习中并不是一个真正的问题,因为传统人工神经网络的连续信息表征。但在深度脉冲强化学习中,如何使SNN输出的离散脉冲很好地代表这些高度相似的Q值是一个具有挑战性的问题。
为了解决这些问题,我们在本文中提出了一个深度脉冲Q网络(DSQN)。具体来说,我们在DSQN中使用LIF神经元,使用发放率编码和适当但极短的模拟时间窗口(64个时间步骤)来解决令人困惑的Q值问题。此外,我们采用了一种脉冲替代梯度学习算法来实现对DSQN的直接训练。此后,我们从理论上证明了在DSQN中使用LIF神经元的优势。
最后,对17款表现最好的Atari游戏进行了综合实验。实验结果表明,DSQN在性能、稳定性、鲁棒性和能效方面完全超越了基于转换的SNN [26]。同时,DSQN达到了与朴素DQN [15]相同的性能水平。我们的方法提供了另一种在使用SNN的Atari游戏上实现高性能的方法,同时避免了转换方法的限制。据我们所知,我们的工作是第一个使用直接训练的SNN在多个Atari游戏上实现最先进性能的工作。它为进一步研究使用直接训练的SNN解决强化学习问题铺平了道路。
II. RELATED WORKS
[15]将深度神经网络引入到传统强化学习算法Q学习中,形成了DQN算法,开创了DRL领域。他们使用卷积神经网络来逼近Q学习的Q函数,结果,DQN在49款Atari游戏中达到甚至超过了人类水平。之后,[22]是第一个将脉冲转换方法引入深度Q学习领域的工作。他们证明,浅层和深层ReLU网络都可以转换为SNN,而不会降低Atari游戏Breakout的性能。然后,他们表明,转换后的SNN比原始神经网络更能抵抗输入扰动。然而,它只专注于提高SNN在Atari游戏上的鲁棒性而不是性能。为了进一步提高性能,[26]提出了一种更有效的转换方法,该方法基于对脉冲发放率的更准确近似。它基于预先训练的DQN减少了转换误差,并在多个Atari游戏上实现了最先进的性能。尽管这些基于转换的研究导致了DSRL的进一步发展,但仍有一些限制尚未解决,例如,对预训练的ANN的严重依赖和对非常长的模拟时间窗口的需求。其他相关工作是[33][34]。
与现有方法相比,我们的方法是通过对LIF神经元进行脉冲替代梯度学习直接训练的。这使得它更加灵活并降低了训练成本,因为它不依赖于预训练的人工神经网络,并且只需要极短的模拟时间窗口。
III. METHODS
在本节中,我们将详细描述深度脉冲Q网络(DSQN),包括直接训练的深度脉冲强化学习架构、直接学习方法以及在DSQN中使用LIF神经元的理论演示。
A. Architecture of DSQN
深度脉冲Q网络由3个卷积层和2个全连接层组成。我们使用DSQN中的LIF神经元来构建直接训练的深度脉冲强化学习架构。通过发放率编码和适当的模拟时间窗口长度,该架构可以达到足够的精度来处理第1节中提到的令人困惑的Q值问题,同时保持SNN的直接学习方法的能效优势。图1具体展示了DSQN的架构和环境交互。
对于具有L层的网络,令Vl,t表示在仿真时间 t 第 l 层中的神经元膜电位。LIF神经元整合输入,直到膜电位超过阈值Vth ∈ R+,并相应地产生一个脉冲。一旦产生脉冲,膜电位将通过硬复位或软复位来复位。请注意,硬复位意味着将膜电位重置回基准,通常为0。软复位意味着当膜电位超过阈值时,从膜电位中减去阈值Vth。
第 l ∈ {1, ... , L - 1} 层中LIF神经元的神经元动力学在仿真时间 t 可以被描述如下:
公式(1)描述了神经元的亚阈值膜电位,即当膜电位不超过阈值电位Vth时,其中τm表示膜时间常数,Wl表示第 l 层中神经元的可学习权重 , Vr表示初始膜电位。公式(2)描述了达到Vth时神经元的膜电位。
第 l ∈ {1, ... , L - 1} 层中LIF神经元的输出在仿真时间 t 可以被表示如下:
其中Θ(x)是神经元的脉冲函数。
通过硬复位复位的LIF神经元的神经元动力学如图2所示。随着仿真时间的流逝,LIF神经元对输入电流进行积分,其膜电位根据公式(1)继续上升。直到膜电位达到膜电位阈值Vth,LIF神经元根据公式(3)和(4)发出脉冲。然后根据公式(2)重置膜电位。
对于最后一层 L 中的神经元,它们的输出OL可以描述为:
其中WL是最后一层神经元的可学习权重。同时,OL表示DSQN的输出Q值。
作为RL智能体,在与环境交互期间,DSQN通过深度Q学习算法[15]进行训练。因此,深度脉冲Q学习算法使用以下损失函数:
其中:
其中Q(s, a; W)表示由DSQN参数化的近似Q值函数,W和W}分别表示DSQN在当前和历史上的权重。 (s;a;r;s0) U(D) 表示从经验回放记忆 D 中均匀随机抽取的 minibatch,是奖励折扣因子。
根据等式(5),损失函数也可以简单地表示为:
B. Direct learning method for DSQN
C. Demonstration of using LIF neurons in DSQN
IV. EXPERIMENTAL RESULTS
A. Experimental setup
B. Comparison results
V. CONCLUSIONS AND FUTURE WORKS