郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!
Contents:
3. Review of some state of the art learning algorithms for SNNs
3.1. Learning a single spike per neuron
3.2. Learning multiple spikes in a single neuron or a single layer of neurons
3.3. Learning multiple spikes in a multilayer spiking neural network
3.4. Learning algorithms with delay leaning ability
3.5. Deep Spiking Neural Networks
3.5.1. Backpropagation for supervised learning
3.5.2. Spiking convolutional neural networks
3.5.3. Semi-supervised learning methods
3.5.4. Converted classical DNN as DSNN
3.5.5. Deep recurrent spiking neural networks
4. Challenges and opportunities
人工神经网络在模式识别、控制、机器人技术和生物信息学等领域已经成为一种强大的处理工具。它们的广泛应用鼓励研究人员通过研究生物大脑来改进人工神经网络。近年来,神经研究取得了显著进展,并不断揭示出生物神经元的新特征。新技术现在可以更详细地捕捉大脑内部活动的时间变化,并有助于澄清大脑活动与对给定刺激的感知之间的关系。这一新知识催生了一种新型的人工神经网络,即脉冲神经网络(SNN),它更忠实地利用生物特性,提供更高的处理能力。本文对近年来在脉冲神经元学习方面的研究进展进行了综述。首先回顾了SNN学习算法的生物学背景。然后介绍了学习算法的重要组成部分,如神经元模型、突触可塑性、信息编码和SNN拓扑结构。然后,对单脉冲和多脉冲SNN的最新学习算法进行了评述。此外,本文还回顾了深度脉冲神经网络,并讨论了SNN领域的挑战和机遇。
人脑是一个非常复杂的系统,由大约900亿个神经元构成(Azevedo et al., 2009)。它的结构是由数万亿个相互连接的突触组成的。信息在神经元之间通过脉冲传递。突触前神经元向接收神经元发送的脉冲效应取决于连接这两个神经元的突触强度。神经元间的突触强度和连接方式对神经系统的信息处理能力有重要影响。大脑解决复杂问题的处理能力激发了许多研究者去研究它的处理功能和学习机制。人工神经网络(ANN)作为解决复杂问题的一种强大而灵活的计算手段,是对大脑处理功能进行研究的结果。
人工神经网络受到生物神经系统的启发,并成功地应用于各种应用(Hinton et al., 2012;Hinton, Osindero & Teh, 2006;Hinton & Salakhutdinov, 2006)。然而,与它们的生物对应物(Pham, Packianather & Charles, 2008)相比,它们的高度抽象性和捕捉生物神经元复杂的时间动态的能力,导致了ANN的一个新领域,其重点放在更具生物合理性的神经元模型上,称为脉冲神经网络(SNN)。由于SNN能够捕捉生物神经元的丰富动态,复现和整合不同的信息维度,如时间、频率和相位,因此它提供了一种很有前途的计算范式,并有可能在大脑中模拟复杂的信息处理(Brette et al., 2007;Gerstner & Kistler, 2002;Hodgkin & Huxley, 1952; Izhikevich, 2004, 2006;Kasabov, Dhoble, Nuntalid & Indiveri, 2013;Maass & Zador, 1999)。SNN还具有处理大量数据和使用脉冲序列进行信息表示的潜在能力(Kasabov et al., 2013)。此外,SNN适合在低功耗硬件上实现。
人们普遍认为,脉冲(即动作电位)代表神经元电压的短暂且突然的增加,用于神经元之间的信息传递(Gerstner & Kistler, 2002)。在计算神经科学界,通过脉冲来编码信息仍然是一个争论的问题。此前,人们认为大脑通过脉冲率编码信息(Masquelier & Deco, 2013)。然而,神经生物学的研究发现表明,大脑中的高速处理不能仅通过脉冲编码方案来完成(Brette, 2015)。研究表明,人的视觉处理可以在不到100毫秒的时间内利用多层神经元(从视网膜到颞叶)完成识别任务。每个神经元大约需要10毫秒的处理时间。因此,时间窗口太小,无法进行脉冲率编码(Thorpe, Delorme & Van Rullen, 2001;Vreeken, 2003)。电鱼的电感觉系统(Heiligenberg, 1991)和回声定位蝙蝠听觉系统(Kuwabara & Suga, 1993)中的快速信息处理是生物神经系统中高速信息处理的另一个例子。高速处理任务可以使用精确的脉冲计时来执行(Vreeken, 2003)。此外,在刺激的脉冲编码中如此多的脉冲发放需要相当多的能量和资源。此外,在一小群脉冲神经元中,脉冲的精确计时具有更高的信息编码能力(Paugam-Moisy & Bohte, 2012)。因此,很明显,单个脉冲的精确计时,而不仅仅是脉冲的数量或发放率,很可能传递信息。
然而,训练神经元的确切学习机制是一个悬而未决的问题。最近,生物学家发现了各种形式的生物突触可塑性,这些突触可塑性受脉冲支配(Feldman, 2012)。这些不同形式的突触权重和延迟学习(Lin & Faber, 2002)与脉冲神经元模型是相容的,但它们在传统模型中的应用有相当大的困难。
生物神经系统的活动可以从不同的尺度、层次和角度进行研究,例如基因和分子、单细胞电生理学、多神经元记录、认知神经科学和心理物理学。在文献中,模拟和数学理论被用来将各个层次联系起来。在研究生物神经系统的自下而上的方法中,较低层次的知识(如离子通道的特性)被用来描述较高层次的现象,如动作电位的产生或记忆的形成。Hodgkin和Huxley的生物神经元模型是神经元自下而上描述的一个例子。在生物物理学神经元模型中,模拟了细胞膜中具有不同时间常数和不同动态的离子通道的特性(Gerstner, Sprekeler & Deco, 2012)。生物神经元系统的活动可以在高度扩展的水平上进行研究。
本文从单个神经元的水平出发,对单个神经元和神经元群在生物学合理的学习算法的研究进展进行了综述。首先回顾了SNN学习算法的生物学背景。然后研究了学习算法的重要元素,如脉冲神经元模型、突触可塑性、信息编码和SNN拓扑结构。随后,对最新的SNN学习算法进行了综述。最后,讨论了SNN领域面临的挑战和机遇。
神经元代表大脑的基本处理单元。它们通过发送和接收动作电位进行交流(Gerstner & Kistler, 2002)。神经元通过突触以复杂的方式相互连接,形成特定的结构。文献综述表明,SNN学习算法设计的重要考虑因素有:神经元模型、突触通信、网络拓扑结构和信息编解码方案。下面的回顾讨论了这些方面的影响。
1952年,Hodgkin and Huxley(1952)对鱿鱼的巨大轴突进行了实验,并建立了一个四维(4D)详细的基于电导的神经元模型,该模型可以重现电生理测量结果。然而,该模型固有的计算复杂性增加了计算量。因此,更简单的现象学脉冲神经元模型被用于模拟大规模SNN、神经编码和记忆(Gerstner & Kistler, 2002)。在Izhikevich(2004)中比较了各种脉冲神经元模型的生物学合理性和实现成本。The Leaky Integrate-and-Fire(LIF)模型(Koch & Segev, 1998)和脉冲响应模型(Spike Response Model,SRM)(Gerstner, Kistler, Naud & Paninski, 2014)是两种流行的一维脉冲神经元模型,计算成本较低,但与Hodgkin and Huxley模型相比,它们提供的生物学合理性较差。Izhikevich的2D模型(Izhikevich, 2003)在生物学合理性和计算效率之间提供了一个很好的权衡。虽然它能产生各种脉冲动态,但目前的学习算法中还没有用到混沌、双稳态等特性。
根据生物学证据,神经元可以作为积分器或符合检测器(Coincidence Detector,CD)工作(König, Engel & Singer, 1996)。在积分器模型中,神经元以比CD更长的时间间隔整合传入的突触后电位(Post Synaptic Potentials,PSP)。积分器模型不仅利用了短的脉冲间隔的输入脉冲效应,而且还利用了相对较远的输入脉冲效应。然而,CD利用彼此接近的输入脉冲(即具有短的脉冲间隔)的效应来产生神经元总PSP(König et al., 1996)。使用积分器模型的学习算法关注突触权重可塑性,然而,CD学习算法利用突触延迟调制来学习(Pham et al., 2008)。因此,通过调整突触权重和延迟来构造新的学习算法,有可能提高SNN学习算法的生物学合理性和计算能力。
Hodgkin and Huxley Model:
参考链接:https://blog.csdn.net/ly18846826264/article/details/103230383
Izhikevich Model:
参考链接:https://blog.csdn.net/ly18846826264/article/details/103348690
Spike Response Model(SRM):
参考链接:https://blog.csdn.net/ly18846826264/article/details/103396506
Leaky Integrate-and-Fire (LIF) neuron model:
参考链接:https://blog.csdn.net/ly18846826264/article/details/103402621
LIF模型的电回路基本表示由电容C和一个由 I 驱动的电阻R并联而成。如果驱动电流消失,则整个电容器的电压由U提供。为了分析电路,我们利用电流守恒定律,将驱动电流分成两部分:。第二个分量是给电容器充电,因此流过电容的电流。因此,。引入时间常数τ=RC,则有。
详细的基于电导的神经元模型(Hodgkin & Huxley, 1952)可以高精度地复现电生理信号,但它们计算复杂。简单的现象学脉冲神经元模型在神经编码、记忆和网络动态的研究中非常受欢迎。LIF是一种低计算成本的一维脉冲神经模型(Gerstner et al., 2014),在文献中被广泛采用。LIF神经元的亚阈值动态由以下方程定义:
其中v(t)是膜电位,τ是膜时间常数,E是膜静息电位常数,R是膜电阻,I(t)是输入突触提供的电流之和。I(t)由以下公式计算:
其中W=[w,w,... ,w]是权重向量。S(t)=[s(t);s(t);... ;s(t)]是包含N个输入脉冲序列的时空输入脉冲模式,s(t) for i=1, 2, ... , N。
其中,是第i个输入脉冲序列s(t)中第f(f=1, 2, ...)个脉冲的发放时间。s(t)应用于第i个突触,δ(t)是Dirac函数。
当膜电压v(t)达到阈值V时,会产生一个输出脉冲,膜电压重置为静息电位E,并在一段时间内保持静息水平t,称为不应期。
突触可塑性(即突触效能的改变)被认为是学习和记忆的生物学基础。微观突触特性与宏观功能结果之间的确切关系仍然存在很大争议(Morrison, Diesmann & Gerstner, 2008)。无监督、有监督和强化学习是三种已知的学习策略,以下是这些方法的细节,重点是突触可塑性。然而,也有生物学证据表明,突触延迟并不总是恒定的,并且可以在突触可塑性期间被调节(Lin & Faber, 2002)。
无监督学习是根据局部事件进行的,局部事件不知道要解决的任务,也不知道变化是“好”还是“坏”。学习只是根据局部的活动进行适应。Hebb在1949年的假设,描述了突触连接应该如何被修改,激发了许多无监督的方法(Morrison et al., 2008)。无监督学习可以由以下几种因素组合而成:(a)在没有任何活动的情况下权重的自发增长或衰减(Turrigiano & Nelson, 2004);(b)独立于突触前脉冲到达而由突触后脉冲引起的效应(Artola, Brocher & Singer, 1990);(c)突触前脉冲引起的效应,独立于突触后变量——短期突触可塑性案例(Vasilaki & Giugliano, 2013);(d)突触前脉冲与突触后脉冲或突触后去极化(Hebbian术语)共同引起的影响(Clopath, Büsing, Vasilaki & Gerstner, 2010);(e) 上述所有影响可能取决于突触权重的当前值(Morrison et al., 2008),例如,接近最大权重时,突触变化可能变小(Morrison et al., 2008)。虽然目前SNN学习算法中使用的是Hebbian可塑性,但其他的突触可塑性如短时可塑性等较少使用。
脉冲时间依赖可塑性(Spike Timing Dependent Plasticity,STDP)是Hebbian无监督学习算法的一个变种。根据突触前和突触后脉冲的相对时间,提出了描述突触权重变化的规则。根据STDP,如果突触前脉冲出现在突触后脉冲之前,突触的权重就会增加。如果突触前和突触后脉冲之间的时间间隔为t = t- t且t>0,则突触权重将增强。增强幅度是t的函数,t随时间常数τ呈指数衰减,可由Ae计算,其中A是最大突触变化。或者,如果突触前脉冲出现在突触后脉冲之后不久,那么突触的效能就会降低。减少量的大小可以通过Ae计算,其中A表示最大抑制,τ是时间常数。图1显示了作为时间间隔t的函数的突触变化。STDP函数的形状不必通过网络固定,并且不同的突触对此函数可以具有不同的形状(参数)。根据生理学证据,STDP的普遍性是有争议的,因为突触前和突触后脉冲的顺序仅在某些情况下是重要的,这取决于突触前活动,如发放率(Tetzlaff, Kolodziejski, Markelic & Wörgötter, 2012)。
生物学实验表明,标准的基于配对的STDP模型(即pre-before-post和post-before-pre)不能全面描述生物神经元中的STDP。有实验研究对多脉冲方案进行了研究(Morrison et al., 2008)。在Bi and Wang(2002)、Froemke and Dan(2002)、Froemke, Tsay, Raad, Long and Dan(2006)和Wang, Gerkin, Nauen and Bi(2005)中实验研究了一个简单的多脉冲STDP例子,即pre-post-pre和post-pre-post形式的对称三元STDP。有不同的多脉冲STDP模型可用于预测实验结果(Morrison et al., 2008)。Pfister and Gerstner(2006)提出了一个简单的三元STDP模型。
Pfister and Gerstner(2006)使用名为迹的局部变量实现了一个三元STDP。与突触前神经元 j 相关的迹由x(t)表示,突触后神经元'i'对应于两个分别具有快速和慢速动态(τ1<τ2)的迹和,如图2所示(Morrison et al., 2008)。三元STDP中的LTD类似于基于标准对的STDP。权重与快速突触后迹成比例降低,如图2中未填充的圆圈所示。在突触后脉冲时,LTP与突触前迹x(t)(类似于基于标准对的STDP)和慢突触后迹成比例,如图2中填充圆圈所示。
多脉冲STDP对生物神经元突触可塑性建模的能力表明,基于多脉冲的学习算法在生物学上更为合理,多脉冲编码可以成为模拟大脑信息处理的合适选择。
Local dendritic depolarization related STDP:最近的一些研究已经调查了树突树内突触的位置如何影响STDP。树突机制可以在同一神经元的不同树突区域产生不同的学习规则(Kampa, Letzkus & Stuart, 2007;Letzkus, Kampa & Stuart, 2006)。树突分支内的邻近突触有助于局部联想可塑性。因此,局部树突去极化是管理可塑性的主要工具(Feldman, 2012)。换句话说,局部树突PSP可以改变STDP的特性。这种变化有多种形式。例如,皮质锥体细胞上的anti-Hebbian LTD被转化为Hebbian STDP,这取决于树突树中可塑性的位置。局部树突去极化和STDP的结合可能有助于通过为不同类型的输入信息指定不同的突触和提供对可塑性的动态控制来提高神经元的信息处理能力。在某些情况下,脉冲时间将是可塑性的一个主要因素;但是,在其他情况下,它不会是一个突出的因素(Feldman, 2012)。STDP已经被用于设计脉冲神经网络的学习算法(Ponulak & Kasinski, 2010;Srinivasa & Cho, 2012)。但是,学习算法没有考虑STDP的不同生物学特性,考虑到STDP(局部树突去极化相关STDP)的新的生物学特性,可能有助于设计一种新的学习算法,该算法在生物学上更为合理,并且具有新的有趣的计算特性。
有证据表明,大脑中存在着监督性或指导性学习(Carey, Medina & Lisberger, 2005;Doya, 1999;Ito, 2000;Knudsen, 2002)。监督学习的一种形式是由指令信号控制的。据信,这些信号是通过感觉反馈(Carey et al., 2005;Knudsen, 2002)或其他神经元组合(Doya, 1999;Ito, 2000)在学习模块中提供的。然而,大脑中监督学习的确切机制尚不清楚(Sprora & Grüning, 2013)。小脑被认为是大脑监督学习的主要场所(Jörntell & Hansel, 2006;Ponulak & Kasinski, 2011)。Fregnac and Shulz(1999)在实验上证明了神经元水平上的监督学习。自然,对强突触的少量输入可以驱动神经元的反应,从而驱动其他输入突触的学习。如果这些强输入被控制用于特定的目标任务,它们将充当突触后神经元的教师。
行为不仅是通过直接的指示来学习的,更经常是通过在有奖励信号的情况下探索可用的行为来学习的。在基于奖励或强化的学习中,学习自由参数的变化方向和数量取决于是否存在成功信号(Schultz, Dayan & Montague, 1997)。强化学习最初是通过心理证据来理解的。最近,有研究表明多巴胺的浓度可以作为一种奖励信号影响大脑各个部位的突触变化。多巴胺是多巴胺能细胞释放的一种神经调节剂(Ponulak & Kasinski, 2011)。
实验研究证明,哺乳动物大脑皮层存在突触延迟,根据神经元的类型和位置,突触延迟最短为0.1ms,最长为40ms(Izhikevich, 2006;Paugam-Moisy, Martinez & Bengio, 2008;Swadlow, 1992)。时间延迟对神经系统处理能力的影响已得到充分证实(Gilson, Bürck, Burkitt & van Hemmen, 2012;Glackin, Wall, McKinnity, Maguire & McDaid, 2010;Xu, Gong & Wang, 2013;Xu, Zeng et al., 2013)。例如,已经证明,延迟在哺乳动物听觉通路中对声音定位的感知具有重要作用(Glackin et al., 2010)。此外,根据生物学证据,突触延迟可以根据输入和输出脉冲而改变(Lin & Faber, 2002)。这种延迟学习的生物学证据为开发新的学习算法提供了灵感,除了通常的权重学习之外,延迟学习还可用于开发新的学习算法。
神经元如何利用脉冲编码信息是神经科学中讨论的重要问题之一。假设神经信息以发放率或脉冲的精确时间(时间编码)来传递。存在各种形式的脉冲编码,如脉冲计数、脉冲密度或群体活动(Gerstner & Kistler, 2002)。尽管脉冲编码在传统的人工神经网络中普遍使用,但由于忽略了脉冲精确时间中封装的信息,因此这种方法可能无法传递与快速处理任务相关的所有信息,例如颜色、视觉信息、气味和音质处理(Cariani, 2004;Hopfield, 1995;Mohemed, Schliebs, Matsuda & Kasabov, 2013)。
时间编码方法的例子包括首次脉冲的发放时间编码,排序编码(Rank-Order Coding,ROC)(Rullen & Thorpe, 2001),延迟编码,相位编码,同步编码(Ponulak & Kasinski, 2011)和多时化(这是一组神经元在不同的精确时间内被时间锁定来发放(Izhikevich, 2006))。Yu, Tang, Tan and Li(2013b)已经证明,基于脉冲精确时间的编码比忽略脉冲之间时间差的ROC能够传递更多的信息。此外,ROC对噪声更敏感,因为每个脉冲的排列依赖于其他脉冲的排列。如果单个脉冲的排列由于小噪声分量而改变,则随后改变其他脉冲的排列。因此,结果模式与原始模式完全不同(Yu et al., 2013b)。
时序编码(参考链接:https://blog.csdn.net/ly18846826264/article/details/106153941)
SNN拓扑的一个常见分类考虑了三种类型的拓扑,即前馈、循环和混合网络。Srinivasa and Cho(2012)提出的同步发放链和容错SNN是混合网络的两个例子,其中一些子群可能是严格前向的,而另一些可能具有循环拓扑。
根据统计分析,猫的大脑皮层结构可视为一个集群网络(Lameu et al., 2012)。每个集群都是一个具有高度连接的集线器的无标度网络。这些中枢紧密连接在一起,即不同中枢的大量神经元连接在一起(Lameu et al., 2012)。Hazan and Manevitz(2012)已经表明,指定某些类型的拓扑约束,这在生物学上讲是合理的,可以恢复SNN的健壮性(Hazan & Manevitz, 2012)。
在学习过程中,大脑中SNN的拓扑结构是动态变化的。Bassett et al.(2012)已经表明,初级感觉运动和视觉区域有一个相对坚硬的核心,随着时间的推移变化不大,但它们有更频繁变化的灵活外围区域(Bassett et al., 2012)。进化脉冲神经网络(eSNN)(Belatteche, Maguire & McKinnity, 2007;Wysoski, Benuskova & Kasabov, 2008),动态进化SNN(deSNN)(Kasabov et al., 2013),使用脉冲神经元群的动态簇组成(Belatteche & Paul, 2012),以及Wang, Belatteche, Maguire and McGinnity(2014)中具有自适应结构的在线监督学习方法,是具有动态拓扑结构的SNN的示例。SNN的进化结构提高了它们的加工能力,同时也提高了它们的生物学合理性。
3. Review of some state of the art learning algorithms for SNNs
在前一节中,我们介绍了一些可能用于构造脉冲神经网络学习算法的生物学合理的元素。本节将对目前最先进的神经元脉冲学习算法进行了批判性评论。首先,回顾了能够训练每个神经元发放一个单脉冲的学习算法。然后,讨论了训练单个神经元或单层神经元学习多个脉冲的学习算法。然后,对多层脉冲神经网络中的多脉冲学习进行了综述。第3.4节讨论了脉冲神经元的延迟学习能力。最后,对近年来的深度脉冲神经网络进行了综述。
3.1. Learning a single spike per neuron
SpikeProp(Bohte, Kok & La Poutre, 2002)是最早的有监督的脉冲神经元学习方法之一。SpikeProp的灵感来自于经典的反向传播算法。SpikeProp是一种多层脉冲神经网络,在分类问题中得到了成功的应用。在网络中,两个神经元通过具有不同权重和延迟的多个连接进行连接(见图3)。SpikeProp和其他基于梯度的方法一样,是基于误差函数的梯度估计,因此存在局部极小问题。此外,静息神经元或不发放神经元是另一个阻碍梯度计算的问题。
SpikeProp(参考链接:https://blog.csdn.net/ly18846826264/article/details/105359305)
SRM + Population Rank Order Coding(详见GRF(gaussian receptive fields,高斯感受野))
有动量的反向传播(McKennoch, Liu & Bushnell, 2006;Xin & Embrechts, 2001),QuickProp(McKennoch et al., 2006;Xin & Embrechts, 2001),弹性传播(RProp)(Ghosh-Dastidar & Adeli, 2007;McKennoch et al., 2006;Silva & Ruano, 2005)Levenberg-Marquardt BP(Silva & Ruano, 2005),基于自适应学习率的SpikeProp(Shrestha & Song, 2015)都是为提高SpikeProp的性能而提出的各种学习算法。在第一个有监督的多层脉冲神经网络学习算法中,每个神经元被训练成只发放一个脉冲。在上述学习方法中,输入、输出和隐含层中的所有神经元只能发放一个脉冲。上述学习算法依赖于网络中使用的神经元模型。
Belatreche, Maguire, McKinnity and Wu(2003)使用进化策略训练分类任务的突触权重和延迟。与SpikeProp算法相比,该方法具有良好的性能,但训练算法耗时。
在Pham et al.(2008)设计了一种用于模式聚类的自组织脉冲神经网络。采用固定权重(这是随机选择的)的脉冲响应神经元模型作为CD。选择CD的参数,以便CD在其输入突触彼此有脉冲时发放。输出层由二维网格构成。网格中的每个节点都考虑一个CD。输入层的神经元数量等于输入模式的维数。使用基于Hebbian的规则来改变突触延迟。也就是说,突触延迟是学习参数,而提出的自组织映射(SOM)则在适应阶段调整获胜神经元和靠近获胜神经元的突触延迟。基于Hebbian的学习被设计用来调整突触延迟,使输入脉冲响应的峰值彼此一致,从而引起接收神经元的发放。在模型中,只考虑输出的初次脉冲。神经元阈值水平在学习开始时被设置为一个小值,然后在不同的学习阶段得以增加。具有高度一致性的CD可以响应特定输入而发放。在学习过程中,输入模式被应用到网络中,最先发放的神经元被认为是获胜神经元。然后,在获胜者附近的神经元被认为在Hebbian学习过程中有贡献。神经元在学习过程中的贡献是其与获胜者的空间距离的函数。函数是高斯型的,获胜者是函数的中心。当连接延迟的总变化低于最小值或延迟变化保持不变时,就将停止训练过程。
Pham et al.(2008)提出的SNN方法可与传统SOM(Kohonen, 2013)的特性进行比较。在基本的SOM中,邻域高斯函数具有随时间变化的宽度,该宽度随着学习时间的增长而减小。邻域函数的这种收缩性质在Pham et al.(2008)提出的SNN方法中没有使用。根据这一特性,学习的第一阶段应该覆盖获胜者周围的大量神经元,随着学习的进行,神经元数量会减少。该方法选择合适的神经元,使其对特定的输入模式具有更高的选择性。此外,在SNN的SOM中,使用了基于延迟移位的简单学习算法,但是迄今为止,已有多种基于权重学习的SNN学习算法,如Bohte et al.(2002)和Mohemed, Schliebs, Matsuda and Kasabov(2012)提出的算法,可用于设计计算能力高于Pham et al.(2008)所述算法计算能力的SOM。
SOM自组织映射(参考链接:https://blog.csdn.net/ly18846826264/article/details/103230591)
Wysoski et al.(2008)提出了一种基于Hebbian训练的进化脉冲神经网络(eSNN)。eSNN改变其结构,以便对不同的输入视觉模式做出最佳响应。它使用分层结构,可用于在线学习应用程序。eSNN采用了排序编码(ROC)和一种简化的IF神经元模型。该算法只使用每个输入突触的初次脉冲中的信息,而忽略了后面脉冲中的信息。在eSNN学习过程中,每个神经元可以发放一个单脉冲。延迟码用于将与输入模式相关的实际值转换为输入脉冲中的时间信息。尽管应用了延迟码,但它使用了一个基于输入脉冲顺序的神经元模型,而输入脉冲的精确时间对神经元来说并不太重要。此外,由延迟码生成的两个不同的输入模式可以具有相同的输入脉冲顺序;但是,它们可以具有与不同类相关的完全不同的时间模式。eSNN的另一个问题是它只基于初次脉冲工作,而其他输入脉冲的影响并没有反映在突触权重的调整上。因此,该网络只能对每个输入进行单脉冲工作,不能在每个输入脉冲序列中捕获多脉冲的时空输入模式相关信息。尽管eSNN由四个层组成,但学习仅在一个层(图4中的层L3)中进行。
在Kasabov et al.(2013)提出了一种动态eSNN(deSNN)方法来捕获由多个脉冲组成的更复杂时空输入模式中的信息。deSNN(Kasabov et al., 2013)使用了排序学习(类似于eSNN,Wysoski et al., 2008)以及脉冲驱动的突触可塑性(SDSP)学习规则。deSNN基于初次输入脉冲的排列初始化输入权重。每个突触权重的初始值根据SDSP进行调整。SDSP通过使用初次输入脉冲之后的其他输入脉冲来调整每个权重。当一个权重接收到一个输入脉冲时,它被增强;并且在每一个没有接收到输入脉冲的步骤中,它被抑制。通过该策略,可以捕获初次脉冲以及其后的脉冲的信息(Kasabov et al., 2013)。
eSNN(Wysoski et al., 2008)和deSNN(Kasabov et al., 2013)中使用的神经元模型不同于标准的生物学合理的神经元模型,如LIF或SRM。该模型按输入脉冲的顺序工作,在生成的PSP中没有泄漏。泄露是生物神经元的一个基本特性,它对时间间隔敏感,因而对时空输入模式中的时间信息敏感。尽管,deSNN中的每个突触输入可以有多个脉冲,但输出仅可以产生一个脉冲。
Tempotron(Gütig & Sompolinsky, 2006)是一种具有监督学习能力的神经元,可以学习如何将两个不同的类分开。Tempotron学习对'+'模式进行脉冲响应,并对'-'进行静息响应(有两个类,这两个类由'+'和'-'表示)。在训练过程中,如果没有对一个'+'模式产生输出脉冲,每个突触的效能都会增加。相反,如果一个输出脉冲出现在对一个'-'模式的反应,突触的效能就会降低。尽管该模型被认为在生物学上是合理的,但其处理能力仅限于二分类。此外,没有讨论可伸缩性方面,也不清楚如何使用此方法处理真实世界的数据集。
Yu, Tan and Tang(2012),Yu et al.(2013b)和Yu, Tang, Tan and Yu(2014)使用Tempotron进行模式识别,并使用延迟码对输入模式进行编码。采用三层结构,包括编码神经元、Tempotron和读出层。然而,它只有一个学习层,每个神经元都是基于Tempotron训练的。每个神经元在编码窗口内只能发放一次。
本节中提到的学习算法可以训练神经元在模拟时间窗内响应一组输入仅发放一个脉冲。其中一些可以学习时空输入模式,每个输入突触有多个输入脉冲。
Tempotron(参考链接:https://blog.csdn.net/ly18846826264/article/details/105214150)
3.2. Learning multiple spikes in a single neuron or a single layer of neurons
多脉冲显著增加了神经信息表示的丰富性(Borst & Theunissen, 1999;Ponulak & Kasiński, 2010)。单脉冲编码方案限制了脉冲神经网络中信息传输的多样性和容量(Xu, Zeng et al., 2013)。此外,训练一个神经元发放多个脉冲信号在生物学上比单脉冲学习方案更合理(Sporea & Grüning, 2013;Xu, Gong & Wang, 2013)。时间编码通过多个脉冲传递生物神经集合中的重要信息,这些信息不能用单脉冲编码方案或脉冲编码方案来表达。尽管大脑中生物编码机制的确切机制还不清楚,但生物学证据表明,多脉冲编码机制在大脑中起着关键作用。例如,在斑马鱼大脑的神经回路中,由脉冲序列组成的时空脉冲感觉输入被映射到脉冲的精确时间,以执行适时的运动序列(Memmesheimer, Rubin, Ölveczky & Sompolinsky, 2014)。这一生物学证据推动了神经细胞发放的学习算法的发展,以精确的时间发放多个脉冲(Xu, Gong & Wang, 2013)。
在Legenstein, Naeger and Maass(2005)和Ruf and Schmitt(1997)中使用了监督Hebbian学习规则来学习时间模式。尽管这种方法具有局部性、可伸缩性和在线处理能力等有趣的特性,但作者指出,在一般情况下,不能保证收敛性。所有有监督的Hebbian方法的另一个问题是,即使神经元在正确的时间发放,突触也会发生持续的变化。
统计方法优化权重,以最大化在期望时间获得突触后脉冲的可能性(Pfister, Toyoizumi, Barber & Gerstner, 2006)。然而,用统计方法学习复杂的脉冲序列是很困难的。Pfister et al.(2006)提出的方法尚未应用于现实世界的数据处理。
ReSuMe(Ponulak, 2005; Ponulak & Kasiński, 2010)是另一种有监督的学习算法,它基于STDP和anti-STDP学习窗口的组合来产生多个期望输出脉冲。它是一种生物学合理的有监督学习算法,旨在产生一个理想的输出脉冲序列以响应时空输入脉冲模式。输入和输出脉冲序列是随机产生的,Ponulak(2005)和Ponulak and Kasiński(2010)使用了LIF神经元模型,但学习算法并不依赖于脉冲神经元模型。ReSuMe是基于Widrow-Hoff规则的,该规则来自于经典神经网络中误差函数的简单推导。STDP通过使用远程教师脉冲训练来驱动,以增强适当的突触权重,迫使神经元在要求的时间发放。使用远程监控的教师脉冲以确保ReSuMe能够克服SpikeProp等基于梯度的学习方法中存在的静息神经元问题。在线处理能力和本地化是ReSuMe的两个显著特征。ReSuMe的功能激发了人们对新学习算法的研究(Florian, 2012;Glackin, Maguire, McDaid & Sayers, 2011;Mohemed et al., 2013;Spora & Gruning, 2013)。ReSuMe基于权重调整而工作,是一种众所周知的学习方法。
ReSuMe(参考链接:https://blog.csdn.net/ly18846826264/article/details/105452596)
Widrow-Hoff规则:通过沿着相对于误差平方和的最速下降方向,连续调整网络的权值和阈值,根据梯度下降法,权值矢量的修正正比于当前位置上的e(w,b)的梯度。
Ponulak and Kasinski(2010)提出ReSuMe来调整神经元的突触权重,以产生期望的脉冲序列s(t),以响应时空输入脉冲模式S(t)=[s(t);s(t);... ;s(t)]。ReSuMe权重调整基于输入、实际输出和期望输出脉冲序列。Ponulak在Widrow-Hoff规则中加入了精确的脉冲时间,并使用STDP和anti-STDP窗口来调整突触权重,并根据(3.4)实现监督学习。
其中,w(t)是t时刻第 i 个突触的权重。常数a是一个非Hebbian项。如果实际输出脉冲序列s(t)中的脉冲数大于(小于)期望脉冲序列s(t)中的脉冲数,则非Hebbian项减小(增加)权重。该项加快了学习过程。T(s)是学习窗口,与STDP一样,它具有随时间常数衰减的指数函数。
其中τ是指数函数衰减时间常数。项A表示长期增强的幅度。项表示学习窗口T(s)和第 i 个输入脉冲序列的卷积。如Ponulak和Kasiński(2010)中所讨论的,如果输入包括在期望脉冲前不久的脉冲,根据期望脉冲序列s(t)中脉冲的要求,则增加权重w,而如果输入包括实际输出脉冲前不久的脉冲,则降低权重w。当实际脉冲序列接近期望脉冲序列时,权重的增减相互补偿,权重趋于稳定。在ReSuMe中,突触没有延迟。
脉冲模式关联神经元(Spike Pattern Association Neuron,SPAN)学习算法(Mohemed et al., 2012)与ReSuMe相似,它结合了STDP和anti-STDP过程,也源自Widrow-Hoff规则。这种算法的新颖之处在于,它将脉冲序列转换为模拟信号,这样就可以对它们执行常见的数学运算。SPAN可以学习多个期望的脉冲,并且只能训练一个神经元(图5)。尽管SPAN和ReSuMe很相似,Mohemed et al.(2012)并没有将其表现与ReSuMe进行比较。在Mohemed et al.(2013),SPAN被扩展到训练由多个脉冲神经元组成的SNN来执行分类任务。在这种方法中,神经元构成一个单层的脉冲神经元。尽管SPAN可以训练一个神经元发放多个脉冲,但在Mohemed et al.(2013)中只训练一个期望的脉冲对应于类的时空模式。
Florian(2012)提出了一种学习算法,用于训练神经元来发放所需的脉冲序列以响应时空输入模式。该算法被称为Chronotron(Florian, 2012)。Chronotron有两个版本:具有高生物学合理性的I-learning和具有高存储容量和高计算成本的E-learning。Florian et al.使用神经元的SRM和核函数作为脉冲响应。突触 j 的总归一化PSP,λ(t),定义为直到t时刻突触 j 中所有与过去突触前脉冲相关的核函数的总和。λ(t)被称为归一化PSP,因为PSP中的权重效应被移除,它只反映突触前脉冲效应(输入脉冲的数量和脉冲的时间间隔)。用λ(t)构造了Chronotron的图解。这幅图很好地概括了脉冲学习问题,因此可以用来研究各种参数对学习过程的影响。在E-learning中,误差函数E是根据期望脉冲序列和神经元的实际输出来计算的。误差函数有一个与实际脉冲的插入、删除和向所需脉冲的移动相关联的因子。该误差用于估计权重变化,。经过进一步简化,得到了Δw的近似数学公式。在一些实际输出脉冲应被移除和一些期望脉冲应被插入时,突触归一化的PSP影响了Δw,同时它也受到将其他实际输出脉冲向相应期望脉冲移动所必需的时间偏移的影响。在计算Δw时,采用了一些简化方法;但是,这种方法的影响是不合理的(Florian, 2012)。脉冲神经元动态的内在复杂性和不连续性意味着传统的梯度下降方法不易被使用,而一些启发性的方法则需要利用生物证据。
另一个版本的Chronotron,I-learning,是受ReSuMe的启发,在期望脉冲时刻,权重增加;在输出脉冲时刻,权重减少。在ReSuMe中,权重的变化由一个衰减指数函数来管理,该函数与通常的STDP学习窗口相关联。然而,I-learning是通过两个指数之间的差异来管理的,这两个指数类似于具有两个时间常数的α核。其中一个时间常数与函数的增加部分相关,另一个与衰减部分相关。Chronotron没有非Hebbian常数,该常数用于ReSuMe以加快学习过程。Chronotron是一种针对单个神经元的学习算法,它可以训练神经元响应相应的时空输入模式,在所需时间发放多个脉冲。神经元水平上的学习算法一直是最近相当多研究的主题,如Tempoteron(Gütig & Sompolinsky, 2006)、ReSuMe(Ponulak, 2005;Ponulak & Kasinski, 2010)和SPAN(Mohemed et al., 2012)。PSD(Precise-Spike-Driven Synaptic Plasticity,精确脉冲驱动的突触可塑性)(Yu, Tang, Tan & Li, 2013a)是另一个学习方法的例子,它可以训练单个神经元发放多个期望脉冲。
Wade, McDaid, Santos and Sayers(2010)提出的突触权重关联训练(Synaptic Weight Association Training,SWAT)算法将STDP和Bienenstock–Cooper–Munro(BCM)(Jedlicka, 2002)学习规则结合起来,训练单层脉冲神经元。在BCM模型中,突触可塑性依赖于相应突触后神经元的活动。当突触后神经元的发放频率高于阈值水平时,增加突触权重;当突触后神经元的发放频率低于阈值水平时,降低突触权重。在SWAT中,BCM用于调节STDP学习窗口的高度,以稳定由STDP控制的权重调整。在利用STDP和BCM训练输出层的同时,利用SWAT中的隐含层作为频率滤波器从输入模式中提取特征。该方法只能在输入输出模式中使用脉冲编码。
SWAT(参考链接:https://blog.csdn.net/ly18846826264/article/details/105622679)
DL-ReSuMe(一种基于延迟学习的脉冲神经元远程监控方法)(Taherkhani, Belatreche, Li & Maguire, 2015b)将权重调制与突触延迟移位相结合,以有监督的方式将随机时空输入脉冲模式映射到随机期望输出脉冲序列中。DL-ReSuMe以更快的学习速度可以达到比ReSuMe和BPSL(Taherkhani, Belatreche, Li & Maguire, 2014)(一种生物学合理的有监督的脉冲神经元学习方法)高出10%的准确率。DL-ReSuMe(Taherkhani et al., 2015b)可以学习较短持续时间和较小平均频率的输入脉冲序列,比ReSuMe具有更高的精度和更快的学习速度。DL-ReSuMe方法的一个有趣特性是能够解决时空输入模式中的静默窗口问题。
DL-ReSuMe(Taherkhani et al., 2015b)在学习过程中只对每个延迟调整一次,并且在改变后它保持不变,相应的突触权重在随后的epochs中不断变化,使得训练神经元在所需的时间发放。但是,单延迟调整可能没有将延迟设置为适当的值,需要更多的调整。特别是当一个神经元学习到多个期望脉冲时,需要考虑延迟调整对不同期望脉冲的影响,才能对延迟进行精确的训练。此外,权重的多次调整改变了先前的情况,并且更可能适合先前权重的延迟的第一次调整不适合权重的新配置。因此,延迟也应该根据权重更新进行更新。有研究者提出了一种基于扩展延迟学习的脉冲神经元远程监控方法EDL(Taherkhani, Belatreche, Li & Maguire, 2015a),通过引入多个延迟调整来解决DL-ReSuMe问题。EDL的主要特性是时延和权重的规则多次调整。延迟的不规则多次调整不仅会导致延迟训练中的分心,而且会导致权重调整中的分心,从而降低学习效果。此外,在EDL中,当神经元达到其目标时,多个延迟调整变得稳定。
液体状态机(Liquid State Machine,LSM)提供了一种由动态滤波器组成的方法。动态滤波器由一个称为储层的循环SNN构成。它将输入脉冲序列映射到一个非线性依赖于当前和先前输入的内部动态状态。LSM的输出被输入到一个读出层(一个简单的分类器),该读出层被训练来对内部动态状态流进行分类(Maass, Natschläger & Markram, 2004)。LSM能够捕获时间信息,因此在处理时间信息的应用上有着很好的效果,即,除了输入值外,输入的精确顺序在时间上出现环的应用也很重要(Verstraeten, Schrauwen, Stroobandt & Van Campenhout, 2005)。因为,LSM中的循环连接通过在循环网络中生成的不同循环提供短期记忆效果,并且有助于LSM处理输入历史中很重要的时间信息(Verstraeten et al., 2005)。语音识别、机器人控制、目标跟踪和脑电识别是本质上是时间性任务的例子。孤立数字的语音识别(Verstraeten et al., 2005年)、实时语音识别(Schrauwen, D'Haene, Verstraeten & Campenhout, 2008)和机器人技术(Joshi & Maass, 2004)是使用LSM的应用实例。LSM在上述任务上的性能与最先进的人工智能系统相当(Ju, Xu, Chong & VanDongen, 2013)。单神经元分段学习算法在3.2节可以用作LSM的读数。
Maass et al.(2004)提出的LSM具有固定拓扑和固定连接权重。它的生物学合理性和处理性能可以通过采用其他生物学合理性拓扑和其他突触可塑性方法(如短期可塑性)来提高。Hazan and Manevitz(2012)实现了一个具有各种拓扑的LSM,以研究拓扑约束对LSM鲁棒性的影响。LIF和Izhkevich神经元模型(Izhkevich, 2003)的作用也被研究,并证明在定性上是相似的。Maass et al.(2004)使用了不同类型的读出方法,如Widrow & Hoff、反向传播、支持向量机(SVM)和Tempotron(Gütig & Sompolinsky, 2006)。
Paugam-Moisy et al.(2008)提出了一个多时间尺度的SNN学习规则,其中储层具有由STDP和轴突传导延迟驱动的无监督突触可塑性。储层内部出现多时性的脉冲形态。多色群是由储层内的神经元发放的一组特殊的脉冲。多时群中的脉冲不是同步的,即它们不是同时发放的,但是它们有一个时间锁定的发放模式,即脉冲之间有一个特定的时间间隔。据认为,在一个生物学合理的SNN中,神经网络的突触可塑性受STDP控制,神经元之间存在传导延迟,出现多色群(Izhikevich, 2006;Paugam-Moisy et al., 2008)。在Paugam Moisy et al.(2008)假设应用来自同一类的输入模式可以激活特定的多时组,但是当应用来自其他类的模式时,多时组不会被激活。他们提出了一种有监督的学习算法来调整与读出神经元相关的延迟,以学习与不同类别相关的不同多时群的发放模式。SNN使用生物学合理的元素,如STDP突触可塑性和轴突传导延迟,它也被用来分类一个大数据集(美国邮政服务:USPS,Haste, Tibshirani & Friedman, 2001)。一层脉冲神经元被用来以有监督的方式对输入模式进行分类。在有监督的学习过程中,只调整读出神经元的延迟。延迟被调整以迫使与目标类相关的神经元在与其他类相关的神经元之前发放。这种学习方法试图在对两个类进行分类时,最大化负类和正类之间的时间差。与传统的分类方法相比,它的性能相对较差。读出神经元的突触权重没有改变。LSM中的神经元可以发放多个脉冲,而读出神经元可以发放一个脉冲。使用可以发放多个脉冲的读数可以增加该方法的生物学合理性。
尽管上述有监督学习方法可以训练多个输出脉冲,但它们基于单个训练神经元或单层神经元。很难设计一个具有监督学习能力的多层脉冲神经网络来发放多个期望脉冲,因为学习任务的复杂性随着脉冲和层数的增加而增加(Ghosh-Dastidar & Adeli, 2009;Xu, Gong & Wang, 2013)。在这种情况下,学习算法应该控制不同的神经元产生不同的期望脉冲。然而,真正的生物系统是由大量相互连接的神经元组成的(Ghosh Dastidar & Adeli, 2009;Sprora & Grüning, 2013;Xu, Gong & Wang, 2013)。
3.3. Learning multiple spikes in a multilayer spiking neural network
多层神经网络比单层神经元具有更高的信息处理能力。研究表明,对于感知机,多层神经网络比单层神经元具有更高的处理能力。单层感知机仅限于线性可分模式的分类。然而,多层前向感知器神经网络可以克服单层网络的局限性(Haykin, 2009)。多层神经网络的高处理能力不仅在经典神经网络中得到了证明,而且在脉冲神经网络中也得到了证实。Sporea and Grüning(2013)已经证明,多层脉冲神经网络可以执行非线性可分离逻辑运算,即XOR,但是没有隐含层神经元就无法完成任务。因此,单个神经元或单层神经元无法模拟具有高处理能力的生物神经网络的学习,而设计具有多个脉冲发放能力的脉冲神经元多层网络的学习算法则是必不可少的(Ghosh-Dastidar & Adeli, 2009;Sporea & Grüning, 2013;Xu, Gong & Wang, 2013)。
Bichler, Querlioz, Thorpe, Bourgoin and Gamrat(2012)介绍了一种用于脉冲神经元的两层网络,该网络能够直接从未过滤的地址事件表示(Address-Event Representation,AER)硅视网膜数据中提取时间重叠特征,只使用简单的局部STDP规则和10个神经元参数(LIF神经元用于此方法)。虽然所提出的学习算法是无监督的,但其10个参数是通过有监督的方式优化的。该方法采用STDP的简化形式。以STDP的特殊形式用于Bichler er al.(2012),在LTD时间内,所有的输入权重都会减少一个恒定值,而不管突触前和突触后脉冲时间之间的时间差,即t- t。然而,在STDP的一种生物学合理的形式中,权重调整的幅度依赖于时间差的指数。此外,隐含层神经元的权重调整与输出神经元的活动无关。
Wang et al.(2014)提出的SNN在线学习算法。用于对实值输入数据进行分类。它由三层组成。在输入层,通过种群编码方案将实值数据编码到脉冲的精确时间。利用聚类算法动态地改变隐含层的结构。STDP和anti-STDP被用来训练输出层的神经元。该方法(Wang et al., 2014)在第一层使用延迟编码,在隐含层使用到达初次脉冲的时间,在输出层使用分级编码,将应用的输入模式与发放更多脉冲的神经元类别相关联。此外,隐含层和输出层中的训练是独立操作的。因此,网络很难在不同层次的活动之间找到适当的交互。此外,在隐含层中添加和移除神经元是生物神经网络的一个特性,还是仅仅将这一特性添加到人工神经网络中以提高其性能,还没有得到解释。
在以往的脉冲神经网络梯度下降学习算法中,如SpikeProp、QuickProp(McKennoch et al., 2006)和RProp(Ghosh-Dastidar & Adeli, 2007),输入层、隐含层和输出层中的每个神经元只能发放一个脉冲。Booij and tat Nguyen(2005)以及Ghosh-Dastidar and Adeli(2009)扩展了多层SpikeProp(Bohte et al., 2002),允许输入层和隐含层中的每个神经元发放多个脉冲。然而,每个输出神经元只能发放一个单脉冲。Xu, Gong and Wang(2013)提出了第一种基于经典误差反向传播方法的有监督学习方法,该方法可以训练一个由脉冲神经元组成的多层网络来发放多个脉冲(图6)。在这种有监督的学习方法中,输入层、隐含层和输出层中的所有神经元都可以发放多个脉冲。这个网络在输出层有多个神经元,每个神经元都可以学习发放他们想要的脉冲序列。
SpikeProp(Bohte et al., 2002)、QuickProp(McKennoch et al., 2006)、RProp(Ghosh-Dastidar & Adeli, 2007)以及Booij and tat Nguyen(2005)和Ghosh-Dastidar and Adeli(2009)提出的方法来调整SNN的突触权重,以训练每个输出神经元在期望时间发放。在这些方法中,输出神经元的平方误差之和被认为是误差函数,即,其中 j 是输出神经元集合J中第 j 个输出神经元的索引。分别是第 j 个输出神经元的初次实际输出脉冲和期望脉冲的发放次数。
设计输出神经元多脉冲训练算法的难点在于:实际输出脉冲的个数不是固定的,特别是在使用每个神经元多脉冲的多层神经网络时。在这种情况下,很难构造误差函数。其次,随着神经元数目的增加而增加脉冲的数目,各种期望脉冲对权重变化的干扰作用也随之增加,因此学习变得困难。当调整权重训练神经元学习脉冲时,这种调整会影响从其他期望脉冲学习到的神经元。这种效应可以称为干扰效应。因此,当脉冲数目增加时,应根据许多需求(期望脉冲)调整有限的资源(学习参数)。换言之,不同的期望脉冲可能导致学习参数向相反的方向调整,并且很难找到满足不同情况的最佳值。为了克服第一个问题,Xu, Gong and Wang(2013)假设实际脉冲数和期望脉冲数相同,即对于第 j 个输出神经元,它们等于F,并根据这一假设从理论上计算误差函数。他们用E=作为误差函数来计算输出神经元的平方误差,其中N是输出层中输出神经元的个数,分别是第 f 个实际输出脉冲和第 j 个输出神经元期望脉冲的发放次数。然后在实验过程中,如果实际脉冲序列中的脉冲数目不等于期望脉冲序列中的脉冲数目,则他们考虑脉冲数目较低的脉冲序列中的所有脉冲,称为n,并且他们只考虑较长脉冲序列的初次n脉冲。这似乎不是解决第一个困难的有效方法,因为该学习方法可能会针对在期望时间已经具有实际输出脉冲的期望脉冲来调整网络学习参数。假设实际输出脉冲的数目高于期望脉冲的数目,并且早期实际输出脉冲的数目很高。早期实际输出脉冲的高数目导致该方法将早期不期望的实际脉冲与极为期望的脉冲相关联,并且忽略在期望时间已经存在的实际脉冲。找到一种基于局部时间事件或时间事件的方法可以改进该方法。Xu, Gong and Wang(2013)认为,他们的学习算法通过在学习中使用“更大的PSP,更大的调整(BPBA)”的原则来克服第二个问题。根据权重调整瞬间(t)的BPBA原理,每个突触的变化与 t 时刻突触产生的PSP的高度成正比,这与STDP时的情况相当。在STDP中,靠近突触后棘的突触前棘有一个较大的PSP,其突触权重也有较大的变化。Xu, Gong and Wang(2013)根据实际输出脉冲序列和期望脉冲序列之间的时差定义了一个误差函数。计算了误差函数与突触权重之间的关系,提取了一个具有较大数学方程的学习规则来改变突触权重。其中一个数学元素的结构效应是根据BPBA原理描述的,它们不研究学习规则中其他数学元素的影响。目前还不清楚,如果学习规则中的一些数学元素被简化,会发生什么,类似于在Gütig and Sompolinsky(2006)中对Chronotron所做的。Xu, Gong and Wang(2013)的仿真结果表明,对于小于600毫秒的模拟时间,ReSuMe方法比Xu等人提出的方法更有效、更准确。然而该算法可用于训练多层神经网络。如果在学习多层SNN时对ReSuMe进行改进,则相比Xu, Gong and Wang(2013)提出的方法,它可能具有更好的准确性和效率。
基于梯度的方法有很多问题。网络训练误差的突然跳跃被认为是主要问题之一,它会导致学习失败(Shrestha & Song, 2015)。神经元膜电位的非单调和非线性行为使构建误差难以最小化,从而导致训练过程中的这些波动(Shrestha & Song, 2013, 2015;Takase et al., 2009)。当输出神经元被训练成发放不止一个脉冲时,这个问题就更严重了。此外,构建实际输出脉冲通常与学习期间所需脉冲的数目不同(Xu, Gong & Wang, 2013)。尽管训练多个脉冲是困难的,但它是一个生物学合理的编码方案(Spora & Grüning, 2013;Xu, Gong & Wang, 2013),并且它可以传递更多的神经信息(Borst & Theunissen, 1999;Ponulak & Kasiüski, 2010)。这意味着解码方案对学习任务有着重要的影响。在研究了基于梯度的方法及其在Adeli and Hung(1994)、Ghosh-Dastidar and Adeli(2007)以及Hung and Adeli(1993, 1994)中的应用之后,研究结果表明,基于局部事件的STDP算法在多层次脉冲神经网络学习算法设计中的应用值得进一步研究(Ghosh-Dastidar & Adeli, 2009)。
STDP和anti-STDP在Spora and Grüning(2013)中被用作第一个使用多层脉冲神经网络对真实世界数据进行分类的生物学合理的监督学习算法。网络的输入层、隐含层和输出层中的每个神经元都可以发放多个脉冲。在学习算法中,在训练隐含神经元的学习参数时,不考虑隐含神经元产生的输出脉冲。换句话说,在与隐含神经元输入权重调整相关的STDP和anti-STDP过程中,不考虑隐含神经元的输出脉冲。然而,在一个生物神经元中,一个神经元的突触前和突触后脉冲通常用于STDP。此外,在多层脉冲神经网络中,隐含神经元发放的脉冲信号对训练任务有显著影响。在隐含神经元的学习过程中应用隐含神经元输出脉冲可以得到一种更符合生物学原理的学习算法,提高了算法的准确性。Sporara and Grüning(2013)中用于隐含层的学习方法的另一个负面方面是,同样的方法用于调整抑制和兴奋神经元的输入权重。然而,不同的权重调整策略可以适当地反映隐含层中兴奋性和抑制性神经元产生的正、负PSP效应,从而提高该方法的性能。
Taherkhani, Belatreche et al.(2018)和Taherkhani, Cosma and McGinnity(2018)提出了一种用于脉冲神经网络的生物学合理的监督学习算法。它利用多脉冲的精确时间,这是一种生物学合理的编码方案,可以在神经元之间传输信息。同时调整隐含层和输出层神经元的学习参数来训练网络。它利用STDP、anti-STDP和延迟学习等生物学概念对网络进行训练。仿真结果表明,Taherkhani, Belatreche, et al.(2018)和Taherkhani, Cosma and McGinnity(2018)提出的方法与Spora and Grüning(2013)中提出的在所有层中训练多个脉冲的全监督算法相比,性能有所提高。由于该方法的一些重要性质,对该方法进行了改进。首先,它利用隐含神经元发放的脉冲的发放次数来训练隐含神经元的输入权重。然而,在Spora and Grüning(2013)中,没有考虑隐含神经元的发放时间。该方法的另一个特点是应用不同的合适方法来调整隐含层中与抑制性和兴奋性神经元相关的权重。延迟学习增加了学习方法的复杂度,从而增加了学习的运行时间,但它可以提高学习方法的性能。此外,延迟在生物学上是合理的,它是真实生物系统的自然属性。
本节讨论的各种算法根据它们训练单个或多个期望脉冲的能力以及它们的神经元、单层神经元和多层脉冲神经元的能力在表1中进行了总结。学习算法高度集中于学习单个脉冲(第二行)或单个神经元(第二列),这是比较简单的任务。脉冲编码是传统人工神经网络中常用的一种编码方法,它基于多个脉冲而不考虑脉冲的精确时间。在找到证明信息在脉冲精确时间编码的生物学证据后,设计了学习算法来捕获脉冲精确时间的信息。第一种针对脉冲神经元的学习算法,如SpikeProp(Bohte et al., 2002)是基于单个脉冲的。学习单个脉冲的其他学习算法示例如表1的第一行所示。然而,基于多个脉冲(表1的第三行和第四行)的学习算法训练了一个更符合生物学原理的学习任务。对生物神经元的研究表明,基于多个脉冲的突触可塑性模型更好地代表了基于实验数据的生物对应模型(Bi & Wang, 2002;Froemke & Dan, 2002;Froemke et al., 2006;Morrison et al., 2008;Seth, 2015;Wang et al., 2005;Zuo, Safaai, Notaro, Mazzoni, Panzeri & Diamond, 2015)。此外,多个脉冲传递更多的信息(Borst & Theunissen, 1999;Ponulak & Kasiński, 2010;Xu, Gong & Wang, 2013)。表的第四列包含多层网络的学习算法示例,都是生物学合理的学习算法。尽管可以训练多个脉冲的多层学习算法在生物学上更为合理,但是训练多个脉冲对于多层网络来说是一项困难的学习任务。因此,寻找一种多层脉冲神经网络的学习算法来训练多个期望脉冲仍然是一个具有挑战性的任务。
3.4. Learning algorithms with delay leaning ability
实验研究证明了生物神经中存在突触延迟(Katz & Miledi, 1965;Minneci, Kanichay & Silver, 2012;Parnas & Parnas, 2010)。突触延迟影响神经系统的处理能力(Gilson et al., 2012;Glackin et al., 2010;Xu, Gong & Wang, 2013)。有生物学证据表明突触延迟可以被调节(Boudkkazi, Fronzaroli-Molinieres & Debanne, 2011;Lin & Faber, 2002)。“延迟选择”(Ghosh-Dastidar & Adeli, 2007, 2009)和“延迟移位”(Adibi, Meybodi & Safabakhsh, 2005)是为SNN中的延迟学习开发的两种方法。在延迟选择方法中,两个神经元通过具有不同时延的多个突触(子连接)连接。增加了与适当延迟相关的权重,减少了具有不适合学习期望脉冲的延迟的连接的权重。例如,SpikeProp(Bohte et al., 2002)使用了“延迟选择”方法。类似地,其他研究(Ghosh-Dastidar & Adeli, 2007, 2009;McKennoch et al., 2006;Shrestha & Song, 2015;Sporea & Grüning, 2013;Xu, Gong & Wang, 2013)在两个神经元之间构建了具有不同突触权重和延迟的多个突触。使用具有不同突触延迟的子连接可以在不同的期望时间产生输出脉冲,从而提高学习性能。然而,学习参数(突触权重)的数量增加,从而增加了计算成本。
延迟移位法用于训练CD。CD会响应同时出现的输入脉冲而发放。模型中的突触延迟调整是学习算法的一个基本特征(Adibi et al., 2005;Pham et al., 2008)。Pham et al.(2008)提出了一种自组织延迟移位方法来训练CD。Adibi et al.(2005)使用延迟移位方法训练径向基函数(Radial Basis Function,RBF)网络。在这种方法中,突触延迟向量构成RBF神经元的中心。如果输入的脉冲模式接近这个中心,它们就会发放神经元。在CD中,权重被认为是恒定的,不会被修改。然而,突触权重的调节对神经网络的处理能力有着重要的影响。DL-ReSuMe(Taherkhani et al., 2015b)、EDL(Taherkhani et al., 2015a)以及Taherkhani, Belatreche et al.(2018)和Taherkhani, Cosma and McGinnity(2018)提出的多层SNN的监督方法是使用延迟移位方法进行训练的其他示例。
3.5. Deep Spiking Neural Networks
深度学习方法在不同的应用中取得了成功的性能,特别是在图像识别方面(Hinton & Salakhutdinov, 2006;LeCun, Bengio & Hinton, 2015)。由于传统机器学习方法具有独立的特征工程和特征学习过程(Taherkhani, Belatteche et al., 2018;Taherkhani, Cosma & McGinnity, 2018),将特征提取和特征学习过程相结合的深度学习能力使其能够应用于传统机器学习方法难以解决的具有挑战性的问题。尽管深度学习架构已经显示出很有希望的结果,但它们的处理能力远远低于生物对应物,即大脑。
在深度神经网络(DNN)中,多个处理层被堆叠以形成深度多层结构。对所有或大部分堆叠层进行训练,以提高整体深度学习方法的选择性,并对不同层上的输入数据进行稳健表示(LeCun et al., 2015)。将处理原始输入数据的深度学习方法视为表示学习方法。在表示深度学习方法中,原始输入应用于网络,网络从原始输入数据中提取分类或检测所需的表示(LeCun et al., 2015)。
3.5.1. Backpropagation for supervised learning
监督学习方法的反向传播在经典深度学习方法的成功结果中具有重要作用(LeCun et al., 2015)。因此,适当的反向传播学习算法可以使深度脉冲神经网络(DSNN)取得良好的性能。Zenke and Ganguli(Zenke & Ganguli, 2018)提出了一种基于电压的梯度下降方法,被称为SuperSpike,用于训练确定性IF神经元的多层网络,以处理时空脉冲模式。他们提出了一个在深层次SNN中进行责任分配的生物学合理的策略。在梯度法中,隐含神经元的偏导数是由突触后电压和相关的滤波突触前脉冲序列的非线性函数的乘积来近似的。利用突触后电压的非线性函数代替突触后的脉冲序列作为隐含神经元的责任分配,克服了网络中无噪声神经元的问题,降低了方法的精度。此外,SuperSpike在责任分配规则中使用突触合格性跟踪来导入时间活动。由Neftci, Mostafa and Zenke(2019)进行的实验表明,SuperSpike对大型多层SNN不具有良好的性能。此外,它不适用于实际应用。
Mostafa(2018)提出了一种多层SNN的反向传播学习方法。该网络采用非LIF神经元。神经元突触当前核是指数衰减函数。初次脉冲的时间被认为是期望的输出。构造了一个可微函数,利用变换将输入脉冲时间与输出神经元的初次脉冲的时间联系起来。考虑与输出脉冲有因果关系的输入脉冲,即在输出脉冲时间之前发放的输入脉冲。然后根据脉冲时间使用可导成本函数更新权重。在这种方法中,初次脉冲的时间被考虑在内,它可以防止神经元多次发放。
3.5.2. Spiking convolutional neural networks
CNN是一种著名的DL方法。CNN的早期层是从初级视觉皮层(V1)的神经元反应中获得灵感的。主要的视觉特征,如定向边缘,由V1区的神经元检测。在传统的CNN中,输入图像用核或滤波器进行卷积,以提取与早期层中的边缘相关的特征,并提取更抽象的特征,即与高层中的形状相关的特征。在传统的CNN算法中,核滤波器的参数往往采用误差反向传播的方法进行训练。存在许多使用手工卷积核的脉冲CNN(SCNN),这些SCNN已应用于许多分类任务(Kheradpishh, Ganjtabesh & Masquelier, 2016;Kheradpishh, Ganjtabesh, Thorpe & Masquelier, 2018;Masquelier & Thorpe, 2007;Tavanaei, Masquelier & Maida, 2016;Zhao, Ding, Chen, Linares-Barranco & Tang, 2015)。在手工制作的卷积核中,在训练网络时,核参数是固定的。
Kheradpishh et al.(2018)提出了一种SCNN,其中在第一层中使用差分高斯(Difference of Gaussians,DoG)滤波器来提取边缘,在第一层中使用手工制作的DoG滤波器。DOG滤波器用于将输入图像中的对比度编码为延迟脉冲码。通过对输入图像的不同部分应用DOG滤波器来检测正对比度或负对比度。狗细胞根据对比度发出脉冲,并且它们发放脉冲的方式使得脉冲中的顺序包含关于输入图像对比度的信息。建议使用该排序码进行V1类边缘检测(Delorme, Perrinet & Thorpe, 2001;Kheradpishh et al., 2018)。在第一层之后有三对卷积层和池化层。卷积层由STDP训练。此外,在所有卷积层中都存在一种侧向抑制机制,当一个神经元被发放时,它通过将其他局部神经元的电位重置为零来对它们进行抑制,并防止它们对当前应用的输入图像进行发放。此外,每个神经元在识别输入图像时只能发放一次。后续卷积层中的学习在当前卷积层中的学习完成时开始。SCNN(Kheradpishh et al., 2018)使用了最大池化层,允许其初次发放输入脉冲的传播。尽管在手工制作的DOG层中输入信息的顺序编码,但是在池化层中只考虑初次脉冲的时间,而忽略其他脉冲中的信息。SCNN中的最后一个池化层是全局最大池化层,它在最后一个卷积层的整个神经元图上进行池化。全局池化层的输出被反馈到一个非脉冲分类器,即线性SVM分类器,以确定应用输入的类别。因此,有监督学习采用一种非脉冲方法,即SVM。此外,不使用最后一个卷积层的脉冲活动,而是将最后一个卷积层神经元的阈值设置为无穷大,并将最终电位用于下一步。SCNN对MNIST数据的性能为98.4%。存在其他SCNN,其中所有卷积层都被训练,而不是使用固定的初始Gabor滤波器(Tavanaei, Masquelier & Maida, 2018)。
Illing, Gerstner and Brea(2019)已经表明,与全连通性相比,局部接收场(即Gabor滤波器)提高了网络的准确性。他们使用IF神经元和STDP来训练一个浅层SNN,它包含一个隐含层和一个读出层。隐含层具有与随机Gabor滤波器相对应的固定权重,并且使用基于STDP的学习规则来训练读出层。SNN在MNIST上达到了与其他深层SNN相当的检测精度,即98.6%。Illing et al.(2019)提出新的生物学合理的深度学习方法应该比它们的浅层对等网络达到更好的性能。此外,新的生物学合理的深度学习方法应该在比MNIST更复杂的数据上进行测试。
3.5.3. Semi-supervised learning methods
Panda and Roy(2016)提出了一种用于SNN的卷积自编码器学习方法。自编码器(Auto-Encoder,AE)是经典神经网络中一种著名的无监督学习方法。AE将输入映射到低维特征空间,然后根据低维特征重构输入数据。第一个过程称为编码,最后一个从低维特征重构输入的过程称为解码。假设AE能够在低维特征空间中提取出健壮的、有区别的特征,从而提高分类精度。Panda and Roy(2016)使用反向传播算法对不同卷积层进行分层训练。他们利用脉冲神经元的膜电位来构造一个误差函数。卷积层是独立训练的,并被放置在网络中。此外,他们在每个卷积层之后使用了一个平均池化层。池化层计算采样窗口内卷积神经元膜电位的平均值。Panda and Roy(2016)使用反向传播方法来训练最终的全连接输出层。输出层使用标记的训练数据将从多个卷积层和池化层提取的特征映射到相应的脉冲标签。在MNIST数据集上,CSNN实现了很高的分类精度99.08%。
Lee, Panda, Srinivasan and Roy(2018)提出了一种SCNN学习算法。SCNN采用STDP分层预处理卷积核。在预训练过程中,训练突触权重和神经元阈值。在后脉冲时间,调整共享核权重。当特征图中有多个神经元后脉冲时,应用平均STDP产生的权重调整。此外,在特征图的后脉冲出现时,特征图中所有神经元的发放阈值均匀增加。特征图中神经元的阈值在非脉冲周期内呈指数衰减。据推测,这种阈值调整类似于生物神经元中的稳态。经过预训练后,采用梯度下降BP算法对SCNN中的所有层进行训练。
Hinton and Salakhutdinov(2006)提出的深度信念网络(Deep Belief Networks, DBNs)和Srivastava and Salakhutdinov(2014)提出的深度玻尔兹曼机(Deep Boltzmann Machines,DBMs)是两种具有无监督预训练过程的经典深度学习方法。它们有一个分层的预训练过程,网络的深层结构使它们能够学习特征的高级表示。受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)是由DBN和DBM组成的两层神经网络。RBM的训练方法称为对比发散法(Contrastive Divergence)。Neftci, Das, Pedroni, Kreutz-Delgado and Cauwenberghs(2014)提出了一种对比发散的脉冲版本,用于训练由IF神经元组成的脉冲RBM。Neftci et al.(2014)使用STDP进行对比发散。在Tavanaei, Ghodrati and Reza(2019)中,将MNIST数据上的脉冲DBN与前馈全连接多层SNN和SCNN的精度进行了比较,结果表明,脉冲DBN的精度低于其他SNN。
3.5.4. Converted classical DNN as DSNN
在传统DNN的基础上直接构造了一组DSNN。在DSNN组中,首先训练由具有连续激活值的神经元组成的经典DNN,然后将经典DNN部署到DSNN(Cao, Chen & Khosla, 2015;Rueckauer, Lungu, Hu & Pfeiffer, 2017)。通过这种方法,可以利用目前最先进的DNN训练方法来构造DSNN,以获得具有竞争力的性能。与原始DNN相比,此转换可能导致DSNN中的精度损失。不同的技术(如对神经元发放率或网络参数引入额外限制、权重缩放、添加噪声和使用概率权重)被用来减少从ANN转换为SNN时的精度损失(Shrestha, 2018)。生成的DSNN需要大量的步骤来执行输入-输出映射,而构造的DSNN无法捕获时空数据的时间动态(Lee, Sarwar & Roy, 2019)。Tavanaei et al.(2019)比较了一些DSNN,结果表明,与直接训练DSNN的方法相比,由经典DNN转换而来的深度SNN对MNIST数据的精度最高。由经典DNN转换为DSNN构成的DSNN通常使用脉冲编码对经典神经元的模拟输出进行编码。脉冲编码可以掩盖DSNN可以处理的时间信息(Lee et al., 2019;Mostafa, 2018)。
3.5.5. Deep recurrent spiking neural networks
循环神经网络是一类内部状态随时间演化的神经网络,它们被用于噪声时间序列预测、语言翻译和自动语音识别等时间处理任务(Bellec, Salaj, Subramoney, Legenstein & Maass, 2018;Neftci et al., 2019)。训练大型RNN是一项困难的任务,因为在训练过程中,需要优化具有长时间和空间依赖性的函数。脉冲RNN的不可导动态特性增加了训练难度。训练深度RNN是一项具有挑战性的任务,因为除了时间依赖性外,空间依赖性也得到了扩展(Neftci et al., 2019)。梯度下降法是神经网络中训练学习参数的一种有效方法。在具有隐含单元的多层网络中,利用导数的链式规则来调整隐含单元的学习参数(责任分配)。特殊责任和临时责任分配是训练RNN必须解决的两个问题。空间责任分配是RNN和多层感知机的一个常见问题,它是跨层空间分配的,用于更新学习参数。
在梯度下降法中,通过及时展开网络,将类似于空间责任分配的方法用于时间责任分配。这种方法称为时间反向传播(Backpropagation Through Time,BPTT)。脉冲神经元活动的非线性使得经典的BBTT难以应用于SNN。已经提出了不同的方法来应对这一挑战。利用生物启发的局部学习规则,将经过训练的经典NN转化为SNN,平滑网络使其连续可导,对SNN使用近似梯度下降是克服SNN梯度下降学习方法中与非线性有关的问题的不同技术(Neftci et al., 2019)。
光滑化方法可以克服SNN梯度下降学习方法的非线性问题。SNN中使用平滑模型构造具有良好梯度特性的网络。例如,Huh and Sejnowski(2018)使用了一个扩展版的IF模型,其中神经元的非线性被一个连续值的门控函数所代替。然后用标准的BPTT训练含有这些神经元的RNN。另一组平滑模型是概率模型,使用脉冲序列的对数似然作为平滑量。尽管有一些概率模型可以学习精确的输出脉冲时间(Gardner, Spora & Grüning, 2015),但概率模型通常使用输出级的脉冲编码和发放概率密度。这些属性降低了它们捕获时间信息的能力。虽然BBTT是循环神经网络的一种标准学习方法,但BBTT并不是一种生物学合理的方法。因为在BBTT中,误差信号应该在时间和空间上向后传输。Bellec et al.(2019)提出了一种生物学合理的学习方法,该方法使用局部可用的信息来对BBTT进行生物学合理的近似。他们使用了突触位置实时可用的突触前馈合格迹来设计学习方法(Bellec et al., 2019)。
4. Challenges and opportunities
近年来,经典DNN在不同的应用领域取得了成功的结果。尽管如此,DSNN仍处于发展阶段,需要更先进的学习算法来训练它们。训练DSNN的主要挑战是寻找与输出层和其他隐含层交互作用的DSNN隐含层神经元训练方法。使用反向传播方法的有监督学习是训练经典深度(多层)人工神经网络(ANN)的常用方法。然而,SNN活动的非线性不连续性使得很难采用现有的反向传播方法来训练SNN(Tavanaei et al, 2019)。此外,用误差反向传播方法训练DSNN在生物学中是不合理的(Illing et al., 2019),反向传播学习方法不模拟人脑的学习(Whittington & Bogacz, 2019)。如何训练DSNN进行信息处理是一个重要的挑战,如何理解什么是生物学最合理的网络结构和学习规则。受STDP启发的局部学习规则更符合生物学原理,可以用来研究SNN的学习算法。生物神经网络的一个有趣的结构性质是网络中的循环连接。BBTT(Neftci et al., 2019)是一种用于训练RNN的经典方法。寻找一个生物学合理的选择,BBTT训练RNN使用生物学合理的局部学习规则可以被认为是一个关于SNN的重要挑战。
神经编码是SNN学习的一个重要方面(Wu et al., 2019)。寻找合适的编码机制,设计适合的编码机制学习算法,是SNN领域的新挑战。Taherkhani, Cosma and Mcginnity(2019)提出了一种输出脉冲序列编码的优化方法,结果表明,在分类任务的学习阶段优化输出编码,与使用非自适应输出编码相比,可将分类精度提高16.5%。Xu, Yang and Zeng(2019)已经表明,与实际和期望输出脉冲相关的输入脉冲的时间距离对SNN的准确性有重要影响,找到输入脉冲参与突触权重调整的最佳时间间隔,可以将SNN的学习精度提高55%。Wu et al.(2019)已经表明,输入脉冲编码对提高SNN的学习算法的准确性有显著影响。在分类任务中,一个简单的输出编码是将一个应用的输入分配给对应于具有最高发放率的输出神经元的类。Orchard et al.(2015)已经将一个应用输入分配给与最先发放的输出神经元相关的类,并且他们报告说,这种输出编码取得了良好的性能。另一方面,Diehl et al.(2015)已经表明,输出编码中输出脉冲数目的增加将提高分类精度。一组神经元可以用来代替每一类神经元,以减少输出的方差(Pfeiffer & Pfeil, 2018)。因此,脉冲编码对SNN的性能有着显著的影响,应采用适当的编码策略。此外,学习算法应与选定的编码策略兼容。生物学合理的学习方法是一个挑战,因为不清楚哪种编码方法(或方法)是在大脑中使用。
时间在SNN的活动中起着重要的作用。SNN产生时空脉冲,而经典NN则与空间激活有关。因此,SNN需要一个特定的损失函数,该函数产生与时间相关的误差,这不同于经典NN的损失函数。有相当多的DSNN使用基于脉冲的方法(Diehl & Cook, 2015;Eliasmith et al., 2012;Guerguiev, Lillicrap & Richards, 2017;Mesnard, Gerstner & Brea, 2016;Neftci, Augustine, Paul & Detorakis, 2016)。然而,这些DSNN与基于连续值工作的经典神经网络很接近,它们忽略了单个脉冲所携带的信息,而这些信息可能导致快速计算(Zenke & Ganguli, 2018)。例如,一种广泛使用的将实值转换为脉冲序列的方法是使用从泊松过程中提取的脉冲序列,其发放率与实值成比例。在这种转换中,只有脉冲序列的平均发放率很重要,不考虑脉冲序列的精确时间(Bellec et al., 2019)。这会限制SNN处理脉冲精确时间的能力。
DSNN通常用于处理经典DNN所使用的数据。例如,由具有连续值的像素构成的MNIST和CIFAR10数据集中的图像样本在经典DNN中已经使用了很长一段时间,并且DSNN目前在该数据上不能优于经典DNN。这些基准点的性质接近于经典神经网络的激活(即它们具有连续值),并且可以直接被这些方法使用。然而,在DSNN使用这些数据之前,应该将其转换为脉冲序列。这种转换可能会破坏图像中的部分信息,并可能导致DSNN的精度降低(Bellec et al., 2019)。因此,使用DSNN处理具有与SNN兼容特性的新数据集可以提高性能,而不是使用非脉冲神经网络处理这些数据集。对这类数据的研究可以导致新的SNN的出现,它可以执行传统DNN难以完成的处理任务。例如,Ramesh et al.(2019)通过基于事件的摄像机获得的数据或从真实生物神经系统(Maggi, Peyrache & Humphries, 2018)记录的脉冲活动源自原始的时空脉冲活动,它们可以是DSNN使用的一个很好的候选者。基于事件的视觉和音频传感器(Liu, Delbruck, Indiveri, Whatley & Douglas, 2015;Pfeiffer & Pfeil, 2018)已经取得了进展,从中提取的数据可以由DSNN处理。然而,目前还缺乏评估SNN的适当基准数据。SNN在具有与SNN兼容的特性的合适数据集上进行训练,能够获得良好的性能,目前迫切需要开发此类基准数据集。
经典的深度学习方法,特别是深度CNN,一个主要的能力是它们的层次特征发现能力,其中鉴别,抽象和不变的特征被提取出来。受生物启发的SNN具有类似大脑的表示能力,它们可能比传统的基于脉冲的网络具有更高的表示能力(Maass, 1996;Tavanaei et al., 2019)。SNN对时间数据的处理能力可以与经典的深度神经网络的层次特征表示能力相结合,构造一个具有较高处理能力的神经网络。
训练经典深度神经网络的正则化方法的进步提高了这些方法的性能。然而,SNN具有不同的特性,在SNN中寻找合适的正则化方法进行参数调整是提高DSNN性能的另一个有趣的挑战。
未来的大数据处理,由于技术的进步而呈指数级增长,需要巨大的计算资源。这种需求需要一种新的可扩展计算框架。神经形态硬件被认为是一种可能满足这种需求的范例(Neftci, 2018),因为它们模仿具有显著处理能力的大脑。大脑能够以高度的健壮性、效率和适应性执行信息处理。神经形态工程试图制造能够模拟大脑认知和适应能力的硬件。大脑中包含大量并行自组织神经结构的精确计算原理尚未被发现(Douglas & Martin, 2004)。在实时适应性、自主性或隐私性等情况下,要求计算在传感器附近执行(Neftci, 2018)。在这种情况下,低功耗的神经形态硬件等计算系统具有优势。
生物神经元对通信和功耗有限制,生物神经元通过稀疏的脉冲活动进行通信,从而降低能量消耗(Gerstner & Kistler, 2002)。脉冲事件消耗能量,稀疏脉冲活动中的低脉冲数目意味着低功耗。神经元内其他活动的状态,如膜电位、突触状态和神经递质浓度都是神经元的局部状态。稀疏通信和局部处理产生了高度可伸缩的结构。为了构造具有可伸缩结构的神经形态硬件来解决实际问题,需要一种基于局部可用信息和稀疏全局通信的计算策略。利用局部事件设计算法来学习SNN中脉冲的精确时间对于设计神经形态硬件的学习策略是有用的。SNN可以兼容硬件实现,因为与基于连续值的经典神经网络相比,SNN可以更节能。此外,SNN中基于脉冲活动的信息通信本质上接近于硬件平台中的二进制处理。然而,大多数最先进的机器学习方法都使用非局部信息,这限制了它们在硬件上实现时的可伸缩性。因此,这些方法无法在线和增量地进行快速和节能的学习,类似于在人类和动物身上观察到的学习。SNN需要新的生物合理性学习算法来设计神经形态硬件,以执行精确的高速和可扩展的低能量计算。
总之,在设计DSNN的学习算法时存在许多挑战。设计学习算法,通过克服SNN的非连续性和非线性行为来训练相互连接的SNN中的隐含神经元,以提高它们的准确性是主要挑战之一。相信在生物神经系统中执行的局部学习规则,如STDP,可以成为为SNN设计新的生物学合理的学习算法的一个很好的选择。训练SNN的另一个挑战是神经编码。研究表明,神经编码对SNN的性能有显著影响。然而,如何在大脑中找到准确的编码机制以及如何设计与编码机制兼容的学习算法是一个挑战。为SNN设计学习算法的另一个挑战是SNN活动中存在时间。SNN直接与时间相关,这是传统神经网络的一个新特点。这提供了一种直接处理时间的能力,但是它会导致神经元活动的不连续性,从而增加学习的难度。另一个挑战是制作新的数据集,使用脉冲时间的能力,如从基于事件的视觉和音频传感器生成的数据。设计基于局部事件的生物学合理性的学习算法为高效神经形态硬件设计学习算法提供了一个很好的机会。
本文首先分析了神经元发放的生物学背景,然后对SNN的学习算法进行了评述。根据文献,生物神经元有不同的数学模型。这些模型在不同的细节层次上模拟了生物神经元的行为。LIF模型是一个简单的一维生物神经元模型,对生物神经元的建模需要较少的计算量,而Hodgkin and Huxley是一个四维模型,可以更详细地模拟生物神经元的动态。它有很高的计算成本。
综述表明,突触可塑性是大脑学习的基础,生物神经元系统的突触可塑性存在不同的模型。这些模型试图根据实验数据模拟生物突触的行为。文献综述表明,基于标准对的STDP模型被用来设计神经元脉冲的生物学合理性学习算法。然而,基于标准对的STDP模型并不是唯一的突触可塑性模型。研究表明,多脉冲STDP模型是一种生物学合理的模型,能够更高精度地预测从生物神经元捕获的实验数据。目前尚不清楚如何利用多脉冲STDP模型设计用于机器学习的人工神经网络学习算法。多脉冲STDP模型的应用可以为脉冲神经元设计一个更具生物学意义的学习算法,并有可能设计一个更强大的智能系统。
根据综述,延迟是生物神经网络的自然属性。另一方面,信息通过精确的脉冲时间在神经元之间传递。延迟会直接影响脉冲的精确时间。因此,设计一种将常用的权重调整方法与适当的延迟学习方法相结合的学习算法,可以得到一种更具生物学合理性、处理能力更强的学习算法。
传统的神经网络是基于脉冲编码的。在精确的脉冲时间中对信息进行编码的想法推动了学习算法的研究,例如基于每个神经元一个脉冲工作的SpikeProp。然而,基于多脉冲精确时间的编码方案可以在神经元之间传递更多的时间信息,在生物学上更为合理。然而,设计一个神经网络的学习算法是一项困难的工作,它可以通过精确的多个神经元的时间来传递神经元之间的信息,这需要更多的研究。
单个生物神经元具有有趣的不同学习特性,并且单个生物神经元的许多学习能力在其人工神经元中不被考虑。本文综述了单个神经元的各种学习算法。综述表明,为具有新生物学特性的单个神经元设计新的学习算法是一项正在进行的研究,它可以产生具有更高处理能力的新的生物学合理的学习算法。综述还表明,多层神经元网络比单个神经元或单层神经元具有更高的处理能力。目前尚不清楚如何将具有新的生物学特性的单个神经元的不同学习算法扩展到训练一个由脉冲神经元组成的多层网络。一个具有挑战性的任务仍然是为多层脉冲神经网络设计一个更符合生物学原理的学习算法。
a b s t r a c t