本文是对脉冲神经网络(Spiking Neural Networks,SNNs)的一篇基础性综述,阐述了SNN网络的一些基本原则、概念和模型,以及存在的技术难点和挑战,对于研究者而言,是一篇较好的总结性文章,对于兴趣爱好者而言也是一篇不错的了解文章。

简述:

在过去的近十年内,随着计算神经科学中的脉冲神经元模型的不断受人关注,多种不同的脉冲神经网络模型也随之不断涌现。本文对这些几近完美的SNN网络的背景以及遇到的挑战做了一个提纲性的介绍。

脉冲神经元模型:

神经网络的预测数据(脉冲神经网络SNN)(1)

图一 脉冲神经元:真实的生物神经元通过脉冲-尖峰(pulses - spikes)序列进行信息传输。

上图中,(a)一个神经元的突触树、轴突和细胞体;(b)上部分:从其它神经元得到的输入脉冲从突触向突触后的神经元传递;下部分:模型的简化图。(c)神经细胞的膜电势随着输入脉冲信号额变化,当膜电势超过阈值后会被重置到一个较低的水平,同时会产生一个脉冲(spike)。

脉冲信号的传输和处理过程如图一所示:动作电位首先通过轴突并激活突触,这些被激活的突触所释放的神经递质会快速到达突触后神经元。突触后的神经元的膜电势受到神经递质的影响,其中兴奋性突触后点位(Excitatory Postsynaptic Potentials,EPSPs)会增加膜电势,但是如果没有新的输入,这些神经递质带来的兴奋性也会随着时间衰减。另外,抑制性突触后电位(Inhibitory Postsynaptic Potentials,IPSPs)会降低膜电势。如果一个神经元上存在充足的EPSPs,使膜电势达到了放电阈值,神经元便会产生一个脉冲(spike),与此同时,膜电势也会被降低到重置值。产生的这个新的脉冲将会随着神经网络向下一个神经元传输过去。

以上只是对模型工作原理的简化,事实上,在生物神经元内存在这很多不同的脉冲行为:有些必须在一个短暂的时延后才会对输入信号进行响应,有些在产生脉冲的时候会伴随着产生burst(爆炸)。一些具体的神经元模型也对这些现象进行了相应的模拟,其中最著名的就是Hodgkin-Huxley(HH)模型了,另外还有像Leaky-Integrate-and-Fire(LIF)模型、Quadratic-Integrate-and-Fire模型,IZH模型等等,都是在真实的神经科学和计算复杂性之间做了一些不同的妥协。

基于脉冲的神经元编码:

1、二进制编码(Binary Coding)

当一个神经元在一个单位时间间隔内被激活时,会产生一个或者多个脉冲信号,反之则处于静息状态。人们观察到在生物神经细胞内,当细胞接受到输入信息(例如光照、外部电流刺激等)时,神经细胞会有脉冲释放的趋势,而这种二进制编码(on/off)则是对这种现象的抽象。早期的神经网络模型,像ADALINE网络就采用了这种神经元模型。由于模型的实现简单,在现代的脉冲神经网络中,二进制编码也被广泛使用。

2、频率编码(Rate Coding)

频率编码是对脉冲信号的时间属性的抽象,通过计算两次脉冲之间的时间间隔(即脉冲频率)来对信息进行编码。在生物学上,生物神经元受到较强的刺激时,会倾向于释放更加密集和多的脉冲电流。

3、延时编码(Latency Coding)

延时编码也是对脉冲信号的时间属性的另一种抽象,信息被编码成一种自第一次脉冲释放后的延时。

4、全时间编码(Fully Temporal Coding)

以上的三种编码类型都是全时间编码的一种特殊类型。在全时间编码中,信息的编码依赖于所有脉冲发生的精确时间点。举个例子,一个由10ms, 17ms和21ms(相对时间)三个脉冲组成的脉冲序列,与8ms,17ms和27ms三个脉冲组成的序列,或者由8ms,10ms, 17ms,21ms和27ms五个脉冲组成的序列编码的信息所代表的含义是不同的。

5、预测性脉冲编码(Predictive Spike-coding)

6、概率性脉冲编码(Probabilistic Spike-coding)

学习算法和挑战:

对于频率编码SNNs的一般模式识别或者拟合任务,可以通过基于时间的BP算法(Back-Propagate Through Time,BPTT)来训练网络。到目前为止,并没有一个通用的来训练脉冲神经网络的算法。其中一个重要的困难就是脉冲信号的非连续特性,大多数神经元的脉冲编码都不适合采用其它网络模型的学习方法,例如梯度下降算法等等。

与“传统”的神经网络相比,脉冲神经网络的确也面临了一些相关问题:比如如何在SNN中用常见的引入了真实值和时间连续的误差函数来表征脉冲的非连续属性?如何找到更加适合脉冲神经网络的训练算法成为了目前这个领域研究的一个重要方向点。

【本文由“计算机智能与自动化”发布,2017年1月7日】

,