A Long Short-Term Memory for AI Applications in Spike-based Neuromorphic Hardware
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!
arxiv 2021
ABSTRACT
基于脉冲的神经形态硬件有望提供比GPU等标准硬件更节能的深度神经网络(DNN)实现。但这需要了解如何在基于事件的稀疏发放机制中模拟DNN,否则会失去能量优势。特别是,解决序列处理任务的DNN通常采用长短期记忆(LSTM)单元,这些单元很难用很少的脉冲来模拟。我们展示了许多生物神经元的一个方面,即每个脉冲后的缓慢超极化(AHP)电流,提供了一种有效的解决方案。AHP电流可以很容易地在支持多室神经元模型的神经形态硬件中实现,例如英特尔的Loihi芯片。滤波器逼近理论解释了为什么AHP神经元可以模拟LSTM单元的功能。这产生了一种高度节能的时间序列分类方法。此外,它为以非常稀疏的方式实现一类重要的大型DNN提供了基础,这些DNN提取文本中单词和句子之间的关系,以回答有关文本的问题。
能源消耗是使用DNN的新AI方法更广泛应用的主要障碍,尤其是在边缘设备中。 基于脉冲的神经形态硬件是有望缓解这一问题的一个方向。这个研究方向的部分灵感来自运行更复杂、更大的神经网络的大脑,总能耗仅为20W。这种惊人的能量效率的一个关键因素是大脑中的神经元平均每秒仅发出几次信号(脉冲)。相比之下,典型DNN的单元发出输出值,因此消耗能量的频率要高几个数量级。但是,对于现代人工智能解决方案,哪种类型的DNN可以通过神经形态硬件中稀疏活跃的神经元以节能的方式实现仍然是一个悬而未决的问题,参见Davies等人1的图9。在大多数情况下,这需要重新考虑DNN设计原则。
一个更具体的开放问题是如何在基于脉冲的神经形态硬件中高效地实现用于序列处理任务的DNN的LSTM单元。我们展示了生物神经元的一个特征,即存在迄今为止尚未包含在神经形态硬件模型中的缓慢变化的内部电流,赋予脉冲神经元(SNN)网络与DNN中的LSTM单元类似的工作记忆能力。特别是,缓慢的超极化后(AHP)电流会降低生物神经元在最近的发放活动后再次发放的准备情况。这种效应在神经科学中称为脉冲频率适应,参见Benda等人2和Gutkin等人3。Allen研究所的实验数据表明,新皮层中有相当数量的神经元,例如人类额叶中超过三分之一的兴奋性神经元表现出脉冲频率适应。我们表明,AHP神经元不仅通过减少发放活动来节省能量,它们还为解决序列处理任务提供了LSTM单元的原则性替代方案,并且它们支持通过BPTT(时序反向传播)进行训练。
生物神经元和标准脉冲神经元模型之间的另一个主要区别是生物神经元将其膜电位保持在相当窄的范围内。相比之下,当使用正则化项对网络进行训练以诱导低发放率时,模型的膜电位通常会假设为极负值。这实际上从当前的网络计算中删除了其中的许多。我们引入了一种新的膜电压正则化原理来缓解这个问题,并支持设计极其稀疏的脉冲DNN。
我们在常用的基于脉冲的芯片上分析这两个原理的功能含义:Intel的神经形态芯片Loihi5,并发现能量延迟积(EDP)显著降低。与功耗相比,EDP考虑了每个任务/工作负载/计算的真正能源和时间成本。同时,这些实现表明,认知计算的两个标志,无论是在大脑中还是在机器智能中,工作记忆和关于概念或对象之间关系的推理,实际上可以在基于脉冲的神经形态硬件中比在标准GPU中更有效地实现用于实现DNN的计算硬件。
图 1. 两室AHP神经元的示意图和动力学。A) 两室神经元模型的示意图。第二个隔间为神经元的每个脉冲添加了一个非常缓慢衰减的AHP电流。每当神经元发放脉冲(即z(t) = 1)时,AHP电流(iAHP)变得更负一定量,并且在具有大时间常数τAHP的脉冲之间呈指数衰减。该电流与输入电流iPSC被积分以计算膜电压。这可以在Loihi上轻松实现。由神经元的外部输入引起的突触后电流(PSC) iPSC[t]和AHP电流被泄漏集成到膜电压V[t]中。每次电压超过发放阈值Vthr时,都会发出脉冲信号并重置V[t]。B) AHP神经元对作为输入的两个当前步骤序列的响应。可以看到AHP电流(蓝色迹)如何叠加,并减少发放。注意它对两个输入电流阶跃响应的不同。它显示出清晰的记忆效应。C) 标准LIF神经元模型对相同输入电流的响应。此处,A中用于AHP电流的第二个隔间已被移除。人们看到这个神经元以更高的恒定发放率发放,并且对第二个电流步骤的响应方式与对第一个步骤完全相同。
Long short-term memory for spike-based neuromorphic hardware
连续变量的值可以存储在LSTM的存储单元中,对其的读写访问由具有sigmoid激活函数的辅助神经元控制。一个带有脉冲神经元的LSTM单元6的直接实现是对存储变量和辅助门的连续值输出进行发放率编码。因此,这不能达到节能的稀疏发放机制。Shrestha等人7表明,如果在LSTM单元已经相当复杂的电路中添加一些巧妙的子电路和存储和释放机制,则可以在IBM的TrueNorth芯片8上对其进行仿真,使用的能量比GPU少得多,但会导致更大的时延。他们测试了长度不超过36的序列的计算性能(与将在下一节讨论的sMNIST任务的标准版本中的序列长度为784进行比较)。最近,Rezaabad等人9考虑了LSTM单元的基于脉冲的实现,其中sigmoid门的每个输出都被舍入为“脉冲”或“无脉冲”。他们将生成的SNN应用于更简单的sMNIST版本,其中每个手写数字都转换为长度为28的时间序列(在每个时间步骤显示一整行像素值)。没有在神经形态硬件中实现,因此没有对这种方法进行能耗分析。
大脑似乎使用了一种不同的方法来解决时间计算任务,而不是使用类似LSTM的单元。我们建议大脑使用较慢的神经元动态过程,例如AHP电流,见图1A和B。这种机制不能像在LSTM单元的存储单元中那样存储和维护连续值变量。但它支持基于数学中的Stone-Weierstrass定理(参见Maass等人10中的定理1以获取合适的公式)的关于滤波器近似的理论结果推动的具有长期短期记忆的计算的替代策略。这一理论意味着,为了对时间序列进行分类,不必将它们的早期片段存储在记忆单元中。相反,满足逐点分离特性(PSPR)就足够了。我们将在下一节中在具体时间序列分类任务的应用背景下解释PSPR,并表明具有AHP电流的神经元显著提高了PSPR。
AHP电流可以通过标准LIF脉冲神经元模型的两室版本轻松实现,参见图1A,因此可以通过任何神经形态硬件(例如Loihi5或SpiNNaker11)支持多隔室神经元。当神经元在短时间内发放几个脉冲时,产生的AHP电流加起来,见图1B,并延迟或停止进一步的发放。如果AHP足够大,它们对发放的影响超过两个输入电流阶跃之间700ms的间隙,并且在第二个输入电流阶跃开始时已经降低了发放响应。通过这种方式,信息可以在隐藏变量iAHP[t]中存储更长的时间跨度,并且可以在输入电流刺激时与网络中的其他神经元或网络读数进行通信。
具有抑制性的AHP电流会降低神经元的发放活动:例如比较图1B和C中具有和不具有AHP电流的神经元的发放响应。具有AHP电流的神经元也可用于许多标准网络计算,因此,可以将包含它们的SNN视为内存计算架构,因为它们不需要在处理器和工作内存单元之间进行耗能的信息混洗。我们将具有AHP电流的神经元称为AHP神经元,将没有AHP电流的神经元称为LIF神经元。包含AHP神经元的网络称为AHP-SNN。
由于AHP电流仅在缓慢的时间尺度上变化,因此BPTT的梯度可以通过相关的隐藏变量而不会损失精度,请参阅Methods。此外,当梯度在时间上向后移动时,它可以重复通过这些变量,而不受指数增长或衰减的影响,参见图2D的演示。通过这种方式,梯度甚至可以更好地传播到没有AHP电流的神经元的较早时间片段,因为它们可以使用其他神经元的缓慢变化的AHP电流作为中间垫脚石。因此,AHP-SNN通常可以通过BPTT比没有AHP神经元的SNN更有效地训练。Bellec等人12引入的LSNN提供了类似的优势,但使用的神经元具有随时间变化的发放阈值,无法在Loihi上有效实现。
图 2. AHP-SNN网络中sMNIST任务、逐点分离特性PSPR和梯度传输的说明,各种网络类型的性能和能耗比较。A) 输入像素按顺序逐行输入,由基于阈值交叉方法的脉冲编码。使用了40个阈值,由80个输入神经元表示,它们根据像素值相对于前一个的变化发送脉冲。 B) AHP-SNN由一个发送脉冲信号的输入层、一个LIF和AHP神经元的循环连接网络以及一个线性读出层组成。C) 具有(绿色)和不具有(黄色)AHP神经元的SNN的PSPR,由240个具有随机权重的全连接的神经元组成:输入对6和8的归一化网络状态的距离直方图。D) 对于作为输入的样本图像,对于具有(顶部)和不具有AHP神经元(底部)的SNN,关于神经元脉冲输出z[t]的损失梯度随时间的反向传播。AHP 电流像LSTM单元的记忆单元一样提供“回到过去的高速公路”,这也改善了没有AHP电流的神经元的梯度传输。E) 与没有AHP神经元的SNN相比,Loihi上AHP-SNN网络的sMNIST的分类精度;将具有自适应阈值的脉冲神经元(LSNN)和由sigmoid神经元和LSTM单元组成的非脉冲神经网络与全精度LSNN进行比较;比较结果来自Bellec等人12。F) Loihi上的AHP-SNN和标准GPU上相同大小的LSTM单元网络的EDP比较,同时利用100个样本的并行评估(批处理)在标准CPU上。
Comparing the energy consumption of SNNs and non-spiking RNNs on a standard timeseries classification benchmark task
Design of a very sparsely active large DNN for energy-efficient spike-based relational reasoning
Energy-efficiency of RelNet in spike-based neuromorphic hardware
Discussion
Methods
Neuron model with after-hyperpolarizing (AHP) currents
LIF神经元和具有后超极化(AHP)电流(由 j 索引)的AHP神经元的动力学行为,如在Loihi中实现的,由公式3-6给出。在此,我们展示了时间 t 处输入脉冲之间的动态相互作用,由此产生的输入突触后电流(PSC) iPSC,j[t]、内部AHP电流iAHP,j[t]、膜电压Vj[t]和输出脉冲zj[t + 1]。公式随后解释为:
公式2-4使用指数衰减核实现时间卷积。这里,其中τI、τAHP和τV是相应指数的衰减常数。β是响应输出脉冲对AHP电流的更新。由于状态转换是在Loihi中计算的,因此我们将单个计算步骤与1ms生物时间相关联,相应地Δt = 1ms和gV = 1。
公式2将PSC定义为通过权重wij的传入突触和步骤的延迟dij到达的输入脉冲的函数。没有AHP电流的LIF神经元对应于β = 0的情况,其中神经元执行iPSC,j[t]的泄漏积分以获得膜电压V[t]。当这个电压超过一个阈值时,它被重置为零并产生一个输出脉冲。在这种情况下,神经元的记忆分别受到电压和PSC衰减时间常数τV和τI的限制,通常约为20ms。这意味着即使以循环方式连接,网络的内存容量通常最多为100ms。
公式3定义了AHP电流。当β > 0时,每个输出脉冲即zj[t] > 0将导致iAHP,j[t]变得更负值。当泄漏集成到膜电压V[t](公式4)中时,iAHP[t]的负值增加会降低后续脉冲的发放率,从而导致脉冲频率适应。AHP电流的衰减时间常数τAHP比τV和τI长得多,通常 > 100ms。缓慢衰减意味着这种抑制会持续更长的时间,从而起到长期记忆细胞的作用。这种更持久的记忆被证明对于解决这项工作中展示的复杂任务是无价的。
利用它对多室神经元模型的支持,该模型可以在Loihi中非常有效地实现。AHP电流在单独隔间的电压寄存器中计算。然后,Loihi允许将该电压作为额外电流集成到主隔间的电压中。这种使用多个隔间来实现缓慢变化的动力学的做法将我们的模型与之前所有的记忆神经形态实现区分开来。
Details of spiking neural network training
在本节中,我们将描述与LIF神经元和AHP神经元网络训练有关的重要细节。在下面的所有公式中,为简洁起见,我们删除了神经元索引 j。
The scaled voltage
The surrogate gradient
Impact of AHP-neurons on gradient propagation
Spike rate regularization
Details for calculation of pointwise separation (PSPR)
Details for the application to sMNIST
Input encoding
Network structure
Control models
Training details
Spiking RelNet Network Architecture
Optimizing performance and energy efficiency of Spiking RelNet
Pre-training the AHP-SNN
Compressing the network in time
Aggressive spike-rate regularization and voltage regularization
Voltage regularization
The linear readout
Placement of the Spiking RelNet onto Loihi
Synaptic memory limit
Fanout limits – AHP-SNN relay layer
Limits pertaining to fanin – The aggregation layer
Optimizing network placement to minimize congestion in cross chip spike transport
Data availability
Code availability