SNN综述(2):生物可解释的脉冲神经网络

Biologically Plausible Spiking Neural Networks

作者:Aboozar Taherkhani, Ammar Belatreche, Yuhua Li, Georgina Cosma, Liam P. Maguire, T.M. McGinnity
译者:TianlongLee
时间:2020
原文链接:A review of learning in biologically plausible spiking neural networks

脉冲神经网络根据关注点和实现手段不同也可以分为若干小的方向,这篇综述聚焦于生物可解释的手段,这里略作翻译以备查看方便,个别字句略有不通,个别专业术语可能翻译不当,望见谅,也希望能够对同行有所帮助,欢迎点赞关注评论,共同进步。
如果大家对综述里的内容有什么疑问或想法,欢迎留言与私信,也欢迎大家指出其中错误。

摘要

人工神经网络(Artificial Neural Network,ANN)作为一种强大的处理工具,已经用于模式识别、控制、机器人和生物信息等各个领域,其广泛的适应范围激励着研究者们通过调研生物大脑来改进人工神经网络。最近几年神经学的研究已经有了显著的进展,发掘出了很多生物神经元的新特性。现在新的技术能够捕捉大脑内部活动时序变化的细节,并帮助分辨大脑自身活动和对给定刺激的反应的关系,这些新的知识促使了新的人工神经网络类型的产生。脉冲神经网络(Spiking Neural Network,SNN)认为生物的特性能够提供更高的处理能力。本文首先回顾一下脉冲神经网络学习算法的生物背景,然后展示了一个脉冲神经网络学习算法的重要元素:神经元模型、突触可塑性、信息编码和脉冲神经网络拓扑结构。然后,对使用单脉冲或多脉冲的SOTA脉冲神经网络学习算法进行了批判性地总结。另外,也适当回顾了深度脉冲神经网络,最后讨论了SNN的挑战和机遇。

1 引言

人类大脑是一个非常复杂的系统,由大约900亿神经元组成,这些神经元通过万亿计的突触进行结构性的连接。神经元间的信息通过电脉冲信号传递,称为Spikes。其由突触前神经元发送到结构神经元,其效应依赖于连接两个神经元的突触。神经元间的突触强度和连接模式在神经系统的信息处理容量上扮演着重要角色。大脑处理复杂问题的能力启发了许多研究者来调研器处理功能和学习机制。人工神经网络(ANN)作为一种能够处理复杂问题的强大且灵活的方式,已经了成为对大脑处理功能的研究的成果。

ANN是受生物神经系统启发的,已经成功应用于各种场景。然而,其对生物系统的高度抽象以及其在捕捉生物神经元处理复杂系统时序动态特性的不足导致了人工神经网络的新的领域——SNN,更加关注生物可解释的神经模型。由于其能够捕捉生物神经元丰富的动态特性以及表征和整合诸如时序、频率和相位等不同信息维度的能力,SNN提供了一个有前景的计算范式,有很大的潜力去建模大脑中的复杂的信息处理过程。SNN同时也有潜力去处理大量数据并使用脉冲序列进行信息表征。此外,SNN也非常适合低能耗硬件的部署。

使用脉冲来表征神经元电压的短暂和突然的升高并在神经元间传递信息已经成为了一种共识。通过脉冲进行信息的编码在计算神经科学界仍然是一个争论的点。此前,人们假设大脑通过脉冲频率进行信息编码[1] 。然而神经生物学的研究表明大脑的高速处理不可能仅仅只靠速率编码这一种方案来完成[2]。我们已经知道人类视觉处理可以通过使用多层(从视网膜到颞叶)的神经元在100ms内完成识别任务,每个神经元大概花费10ms的时间,因此这个时间窗对速率编码来说非常小。电鱼的电信号感知系统和回声定位的蝙蝠的听觉系统中的快速信息处理是生物神经系统的高速信息处理的另一个例子。高速信息处理任务可以使用精确的脉冲时序来完成。另外,速率编码一次仿真中大量脉冲放电也会需要大量的能量和资源。而精确的脉冲时许可以使用较少的脉冲神经元实现较大的信息编码容量。因此,不只是脉冲数或者脉冲发放率,单个脉冲的精确时序叶可能用来传递信息。

然而,神经元训练的确切的学习机制目前仍是一个开放性问题。最近,生物学家发现了由脉冲控制的生物突触可塑性的各种形式[3]。虽然这些突出权重和延迟学习的各种形式在传统模型的应用中有相当大的困难,但是他们与脉冲神经元模型是相匹配的。

生物神经系统的活动可以在各种尺度、水平和角度来研究,例如基因和分子学、单细胞电生理、多神经元记录和认知神经科学和心理物理学。各种层级的文献中都有用到仿真和数学理论。在自底向上的研究生物神经系统的方法中,低层级的知识(如离子通道的性质)被用于描述高层级的现象比如动作电位的形成或记忆的形式。生物神经元中的Hodgkin-Huxley(HH)模型就是用自底向上方法进行描述的例子。HH模型建模了细胞膜上不同时间常数和动力特性的离子通道。生物神经系统的活动也可以在更高级的层次上进行调查。

本文从单细胞层次上开始进行回顾,然后是单细胞和神经元群的生物可解释性学习算法上。首先回顾了脉冲神经网络生物背景,然后研究了学习算法的重要组成,如脉冲神经元模型、突触可塑性、信息编码和SNN拓扑结构。接着回顾了SNN的state-of-the-art(SOTA)算法,最后我们讨论了SNN领域的挑战和机遇。

2 生物背景

神经元是大脑信息处理的最基本单元,它们通过发送和接收动作电位进行交流。神经元通过突触互相连接,其连接方式错综复杂,形成了特定的结构。一篇文献的回顾中提到SNN学习算法的设计过程中最重要的几点是:神经元模型、突触的交流、网络的拓扑结构以及信息编解码方法,下面我们就对这些重要的点进行讨论。

2.1 脉冲神经元模型

1952年,Hodgkin和Huxley在章鱼的巨型轴突上进行了实验并建立了4维的详细的基于点到的神经元模型用于重现电生理测试的结果。然而,该模型固有的计算复杂度增加了其计算消耗。之后,更加简单和现象级的脉冲神经元模型被用于大规模SNN仿真、神经编码和记忆。Izhikevich[4]比较了各种脉冲神经元模型的生物可解释性以及实现上的消耗。Leaky Integrate-and-fired (LIF)模型和Spiking Response Model(SRM)模型是两种比较流行的计算消耗比较低的1D脉冲神经元模型,但他们和HH模型比起来生物可解释性较差。Izhikevich的2D模型在生物可解释性和计算效率上进行了很好的折衷。尽管Izhikevich模型能够产生各种脉冲特性,但是这里面的许多特性,比如噪声和生物稳定性,尚未用于当前的学习算法中。

根据生物上证明,神经元可以起到一个Integrator或Coincidence Detector(CD)的作用。在一个整合模型中,神经元整合突触后电势输入( PSP可以认为是突触后膜电势的变化)的时间间隔要比CD中要长。整合模型不仅充分利用了短脉冲间隔内输入脉冲的作用,同时利用了那些相互之间间隔相对较远的脉冲。而CD只使用哪些相互靠的很近的脉冲来生成神经元总的PSP。因此,可以通过调整突触权重和延迟构建新的学习算法,提升SNN学习算法的生物可解释性和计算能力。

LIF神经元模型:详细的基于电导的神经元模型能够高度准确地重现电生理信号,但是其计算相当复杂。计算消耗低的、简单的现象级脉冲神经元模型在神经编码、记忆和网络动力学中非常受欢迎。LIF模型是一个1D脉冲神经元模型,其计算消耗很低,也是多数文献中常常采用的模型。LIF模型的子阈值动力学方程如下:
τ m d v m ( t ) d t = ( v m ( t ) E r ) + R m I ( t ) \tau_m \frac{dv_m(t)}{dt} = -(v_m(t)-E_r)+R_mI(t)
其中, v m ( t ) v_m(t) 为膜电势, τ m \tau_m 为细胞膜时间常数, E r E_r 时细胞膜静息电位, R m R_m 时细胞膜电阻, I ( t ) I(t) 是输入突触提供的电流的和,其计算方式如下:
I ( t ) = W S ( t ) I(t) = W·S(t)
其中, W = [ w 1 , w 2 , , w n ] W=[w_1, w_2, \cdots, w_n] 是权重向量, S ( t ) = [ s 1 ( t ) ; s 2 ( t ) ; ; s n ( t ) ] S(t)=[s_1(t); s_2(t); \cdots; s_n(t)] 是时空脉冲序列, s i ( t ) s_i(t) 的计算方式为:
s i ( t ) = f δ ( t t i f ) s_i(t)=\sum \limits _f\delta(t-t_i^f)
其中, t i f t_i^f 是第 i i 个输入脉冲序列的第 f f 个脉冲。 s i ( t ) s_i(t) 表示的是第 i i 个突触, δ ( t ) \delta(t) 是狄利克雷函数。

当膜电势 v m ( t ) v_m(t) 达到阈值 V t h V_{th} 时,便会输出一个脉冲,然后膜电势重置为静息电位 E r E_r ,并在静息水平上保持不应期的时间 t r e f t_{ref}

2.2 突触可塑性

突触可塑性,即突触效率的改变,被认为是学习和记忆的生物学基础。微观突触特性与宏观功能结果的确切关系依然极具争议。无监督学习、监督学习和强化学习是三种已知的学习策略,接下来我们将关注一下这些方法中的突触可塑性。然而,有生物学的证明,突触延迟并不总是恒定的,可以在突触可塑性期间被调整。

2.2.1 无监督学习

无监督学习根据局部事件进行处理,局部事件没有需要解决的任务的任何概念,同时也不没有变好或变坏的概念,学习过程仅仅依靠局部活动进行调整。1949年,Hebb对突触连接调整的假设启发了许多无监督方法[5]。无监督学习可以由以下的组合构建:

  • 在没有任何活动时权重的自然增长与衰减;
  • 不依赖突触前脉冲到达,仅依靠突触后脉冲产生的作用
  • 短时程突触可塑性,突触前脉冲的作用
  • 突触前后脉冲的共同作用或突触前脉冲与突触后去极化的作用(一些研究发现当突触后脉冲不发放时,突触前脉冲与突触后膜电势也可以相互作用影响权重
  • 上述所有作用都依赖于突触权重的当前值,即当权重接近最大值时其改变将会减小

尽管Hebb可塑性被用于当前的SNN学习算法中,但是像短时程可塑性等突触可塑性很少被使用。

脉冲时序依赖可塑性(Spike Timing Dependent Plasticity, STDP)是Hebb无监督学习算法的一种变式。这一规则根据突触前后脉冲的相对时序来描述突触权重的变化。根据STDP规则,如果突触前脉冲在突触后脉冲之前的很短时间内发放,突触权重将被加强,如果突触前后的脉冲间隔 t = t p o s t t p r e t=t_{post}-t_{pre} t > 0 t>0 ,突触权重将被加强。增强的程度是 t t 的函数,该函数使用带有时间常数 τ + \tau_+ 的指数延迟表示,通过 A + e t / τ + A_+e^{-t/\tau_+} 计算,其中 A + A_+ 表示突触变化的最大值。另一种情况是,如果突触前脉冲在突触后脉冲的很短时间内发放,突触效率将被减弱。减弱的程度可以用 A e t / τ A_-e^{t/\tau_-} 来计算,其中 A A_- 表示衰减的最大值, τ \tau_- 是时间常数。下图展示了以时间间隔 t t 为函数的突触变化。STDP函数的形状不必按照网络固定不变,对这个函数而言不同的突触可以由不同的形状(参数)。根据生理学的证据,STDP的通用性尚有争论,因为突触前后脉冲的顺序只在某些情况下是重要的,这取决于突触前活动,如脉冲发放率。

在这里插入图片描述

STDP学习时间窗 突触后神经元在突触前脉冲之后发放,突触权重会增强,反之会减弱

生物实验表明,标准的pair-based STDP模型,也就是pre-before-post和post-before-pre,不能够对生物神经元中的STDP进行一个完整的表述。由实验研究已经研究了多脉冲的协议。对称三相STDP是多脉冲STDP的一个简单例子,使用pre-post-pre和post-pre-post的形式,在诸多研究中已经被实验研究过。目前由许多不同的多脉冲STDP模型被开发出来,用于预测实验结果。一个简单的triplet STDP模型是[6]

文献[6]使用局部变量trace来实现triplet STDP。与突触前神经元 j j 相关的trace使用 x j ( t ) x_j(t) 来表示,突触后神经元对应了两个trace: y i 1 ( t ) y_i^1(t) y i 2 ( t ) y_i^2(t) ,分别对应快和慢的动态特性( τ 1 < τ 2 \tau_1<\tau_2 )如下图所示[5]。triplet STDP中的LTD与标准的paired-based STDP类似。权重衰减正比于突触后的快速trace,也就是图中的空心圆圈。在突触后脉冲时刻,LTP作用正比于突触前的trace, x j ( t ) x_j(t) 这部分与标准STDP相同,以及突触后的慢的trace, y i 2 ( t ) y_i^2(t) 也就是图中的实心圆圈。

Triplet STDP由突触前脉冲对应的trace, x j ( t ) x_j(t) 和与突触后脉冲相关的两个快速和慢速trace, y i 1 ( t ) y_i^1(t) y i 2 ( t ) y_i^2(t) 有关。LTD发生在突触前脉冲时刻,正比于 y i 1 ( t ) y_i^1(t) ,LTP发生在突触后脉冲时刻,正比于 x j ( t ) x_j(t) y i 2 ( t ) y_i^2(t) 的值。

多脉冲STDP的建模生物神经元的突触可塑性的能力表明基于多脉冲的学习算法更加具有生物可解释性,多脉冲编码或许是大脑中建模信息处理的正确选择。

局部树突去极化相关的STDP:最近大量的研究在探讨在树突中突触位置是如何影响STDP的。树突机制可以在同一个神经元中的不同树突区域禅僧呢不同的学习规则。在树突分支上的相近的突触会对局部的可塑性产生影响。因此,局部树突去极化是实现可塑性的主要工具。换句话说,局部树突的PSP可以改变STDP特性,这一改变可以是多种形式的。比如,皮层锥体细胞的anti-Hebbian LTD可以根据树突中可塑性的位置转变为Hebbian STDP。通过为不同的输入信息类型确定不同的突触以及为可读性提供动态控制,局部树突去极化和STDP的关联或许对提升神经元信息处理能力有很好帮助。在一些情况下,脉冲时序是可塑性的主要因素,但是在其他情况下也可能不是。STDP已经被用来设计脉冲神经网络的学习算法,然而这些学习算法却没有考虑STDP的不同的生物特性,或许考虑提出一套新的STDP的生物特性能够对新的学习算法的设计有所帮助,使得新算法能够更加具有生物可解释性和新的有趣的计算特性。

2.2.2 监督学习

已经有证据证明大脑中存在监督学习或基于指令的学习。监督学习的一种形式就是由指导信号控制。人们认为这些信号由学习模块的感官反馈或其他神经元集群来提供。然而,大脑中确切的监督学习机制目前尚不清楚,小脑被认为是监督学习的主要场所。神经元层次上的监督学习已经有文献进行了实验。很自然地可以想到,大量深入传送到突触可以驱动神经元进行响应从而驱动其他突触的学习。如果这些输入可以控制在一个特定目标的任务上,它们就表现得像是突触后神经元的teacher。

2.2.3 强化学习

行为不仅可以通过直接的指示来学习,还可以通过在奖励信号存在的情况下探索可用的行为。在基于奖励或强化学习中,自由参数的学习的变化方向和变化量取决于成功信号存在与否。最初,强化学习是通过心理证据被理解的。最近,已经显示出多巴胺的浓度可以充当奖励信号,影响大脑各个部位的突触变化。多巴胺是由多巴胺能细胞释放的神经调节剂。

2.2.4 延迟学习

哺乳动物新皮层中突触延迟的存在已通过实验研究证明,并且取决于神经元的类型和位置,突触延迟可短至0.1 ms,长至40 ms。时间延迟对神经系统处理能力的影响是公认的。例如,已经表明,延迟在哺乳动物听觉路径中感知声音定位中具有重要作用。此外,根据生物学证据,突触延迟可以根据输入和输出脉冲来改变。延迟学习的生物学证据为开发新的学习算法提供了启发,这些算法除了通常的权重学习外还利用了延迟学习。

2.3 信息编码

神经元如何使用脉冲来编码信息是神经科学中讨论的重要问题之一。假定神经信息以脉冲发放率或精确脉冲时序(时序编码)来传递。脉冲的速率编码有多种形式,例如脉冲计数、脉冲密度或群体活动。尽管速率编码通常在传统的ANN中使用,但是由于忽略了潜藏在精确脉冲时序中的信息,因此这种方法可能无法传达与快速处理任务有关的所有信息,例如颜色、视觉信息、气味和声音质量处理。

时序编码方法的例子包括首次脉冲时间(time to first)、等级顺序编码(ROC)、延时编码、相位编码、同步编码和多同步编码(神经元组被锁定在多个精确时序中放电)。文献[7]指出基于精确的脉冲时序编码比ROC可以传递更多信息,ROC忽略了脉冲之间的时差。另外,ROC对噪声更敏感,因为每个脉冲的等级取决于其他脉冲的等级。如果单个脉冲的等级由于较小的噪声分量而发生变化,则其他脉冲的等级随后会发生变化。因此,最终的模式与原始模式完全不同。

2.4 SNN拓扑结构

SNN拓扑结构的一个常用的分类方法分为三种类型,即前馈、循环和混合网络。Synfire chain和fault-tolerant SNN是混合网络的两个例子,其中一些子群是严格的前馈网络而其他部分为循环拓扑结构。

根据统计分析,猫的大脑皮层结构可以被视为一个聚类网络。每个聚类都是一个无标度网络,具有高度连接的集线器。这些集线器紧密连接在一起,即大量不同枢纽中的神经元相互连接。有研究表明指定确定的拓扑约束,要求具有生物可解释性,可以实现SNN的鲁棒性。

SNN的拓扑结构在学习过程中会动态变化。研究表明,主要的感觉运动和视觉区域有一个相对固定的核心,它随时间变化不大,但它们具有灵活的变化频繁的外围区域。进化脉冲神经网络(eSNN)、动态演化SNN(deSNN)、使用脉冲神经元群的动态聚类形成和采用自适应结构的在线监督学习方法是具有动态拓扑的SNN的几个例子。 SNN的进化的结构增强了它们的处理能力,并提高了它们的生物可解释性。

3 SNN的SOTA学习算法回顾

在上一节中,我们介绍了一些可能用于构建脉冲神经网络学习算法的生物可解释的元素。本节对脉冲神经元的最新学习算法进行了综述。首先回顾了可以训练每个神经元触发单个脉冲的学习算法。然后讨论了训练单个神经元或单个神经元层以学习多个脉冲的学习算法。之后回顾了多层脉冲神经网络中多个脉冲的学习。脉冲神经元的延迟学习能力将在3.4节中讨论。最后,回顾了最近的深度脉冲神经网络。

3.1 每个神经元学习单个脉冲

SpikeProp[8]是最早的脉冲神经元的学习方法之一。 SpikeProp的灵感来自经典的反向传播算法。 SpikeProp是多层脉冲神经网络,并且已成功应用于分类问题。在网络中,两个神经元通过权重和延迟不同的多个连接连接起来。与其他基于梯度的方法一样,SpikePro基于误差函数梯度的估计,因此存在局部极小问题。另外静默的神经元或无脉冲发放的神经元是阻止梯度计算的另一个问题。

在这里插入图片描述

SpikeProp网络结构,每个神经元与另一个神经元通过多个带有不同延迟的突触进行连接。

具有动量的反向传播、QuickProp、弹性传播(RProp)、Levenberg-Marquardt BP和基于自适应学习率的SpikeProp是为提高SpikeProp性能而提出的各种学习算法。作为第一个用于学习精确时序的多层脉冲神经网络的监督学习算法,每个神经元只训练发放单个脉冲。在上述学习方法中,输入、输出和隐层中的所有神经元只能够发放单个脉冲。该算法也依赖于网络中使用的神经元模型。

文献[9]使用进化策略来训练突触权重和延迟以完成分类任务。与SpikiProp相比,该方法具备很好的性能,但是训练时间消耗很大。

文献[10]设计了一个自组织脉冲神经网络用于模式聚类。具有恒定权重(随机选择)的SRM用作CD。选择CD的参数以使CD的输入突触彼此靠近时会触发CD。输出层由二维网格构成,对于网格中的每个节点都考虑使用CD。输入层中神经元的数量等于输入模式的维数。基于Hebb的规则用于移动突触延迟。换句话说,突触延迟是学习参数,提出的SOM(自组织图)在适应阶段调整获胜神经元和接近获胜神经元的突触延迟。基于Hebb的学习旨在调整突触延迟,以使输入脉冲响应的脉冲彼此重合,从而导致接收神经元触发。在模型中仅考虑输出的第一个脉冲。在学习开始时,将神经元阈值水平设置为较小的值,然后在不同的学习时期内将其增加。高度一致的CD可以触发对特定输入的响应。在学习期间,将输入模式应用于网络,并且首先触发的神经元被认为是获胜的神经元。然后将获胜者附近的神经元视为在Hebb学习过程中的贡献者。神经元在学习过程中的贡献是其与获胜者空间距离的函数。函数具有高斯形状,赢家是函数的中心。当连接延迟的总变化降至最小值以下或延迟变化保持恒定时,停止训练过程。

文献[10]提出的SNN方法可以与传统SOM的性质进行比较。在基本的SOM中,邻域高斯函数具有随时间变化的宽度,该宽度随学习迭代次数减小。在文献[10]中提出的SNN方法中没有使用邻域函数的这一收缩特性。根据这一特性,学习的第一阶段应覆盖获胜者周围的大量神经元,并且随着学习的进行神经元将逐渐减少。此外,在用于SNN的SOM中,使用了一种基于delay shift的简单学习算法,但迄今为止,基于权重学习的SNN学习算法多种多样,例如Bohte等人提出的SpikeProp算法、文献[11]提出的SPAN算法等,可用于设计具有比文献[10]中提到的算法计算能力更高的SOM。

文献[12]通过使用基于Hebb的训练提出了一个进化脉冲神经网络(eSNN)。 eSNN更改其结构以便对不同的视觉输入模式做出最佳响应。它使用分层结构,可用于在线学习应用。在eSNN中使用了ROC和简化类型的IF模型。该算法仅使用每个突触输入的第一个脉冲中的信息,而忽略随后的脉冲中的信息。在eSNN学习过程中,每个神经元都可以发放一个脉冲。延迟编码用于将与输入模式相关的实数值转换为输入脉冲中的时间信息。尽管使用了延迟编码,但它仍使用基于输入脉冲顺序工作的神经元模型,并且输入脉冲的精确时间对神经元而言并不重要。另外,延迟编码生成的两个不同的输入模式可以具有相同顺序的输入脉冲。但是,它们可以有与不同类别有关的完全不同的时间模式。 eSNN的另一个问题是它仅基于第一个脉冲起作用,而其他输入脉冲的影响没有反映在突触权重调整上。因此,网络只能对每个输入使用单个脉冲,并且无法捕获与时空输入模式有关的信息,在该输入模式下每个输入脉冲序列中都有多个脉冲。尽管eSNN由四层组成,但学习仅在L3层中进行。

在这里插入图片描述

尽管eSNN有四层结构,但是只有第三层的突触权重可以被调整,其他层都是固定的突触权重。

文献[13]提出了一种deSNN,以更复杂的、由多个脉冲组成的时空输入模式捕获信息。 deSNN使用等级顺序学习(类似于eSNN)以及脉冲驱动的突触可塑性(SDSP)学习规则。 deSNN基于第一个输入脉冲的等级初始化输入权重,根据SDSP调整每个突触权重的初始值。 SDSP通过使用第一个脉冲之后的其他输入脉冲来调整每个重量。当接收到输入脉冲时,该权重增强,并在每个不接收输入脉冲的时间步中进行衰减。通过这种策略可以捕获第一个脉冲以及随后的脉冲的信息。

文献[12]中的eSNN和文献[13]中使用的神经元模型与标准的生物学上合理的神经元模型,与LIF或SRM不同,该模型按照输入脉冲的顺序运行但是在生成的PSP中没有一个泄漏过程,因此它才会对时空输入模式内部的时间信息敏感。尽管deSNN中的输入可以有多个脉冲,但是输出只会生成单个脉冲。

文献[14]中的神经元具有监督学习能力,可以学习将两个不同的类分开。Tempotron 学会响应“+”模式而发放脉冲,响应“-”模式而保持沉默。在训练期间,如果没有响应“ +”模式引起输出脉冲,则每个突触效率都会提高。相反,如果输出脉冲响应了“-”模式,则突触效率降低。尽管该模型被认为在生物学上是合理的,但其处理能力仅限于二进制分类。此外,未讨论可拓展方面,也不清楚如何使用此方法来处理现实世界的数据集。

于强等人使用Tempotron进行模式识别,并使用延时编码对输入模式进行编码。使用包括编码神经元,tempotron和输出层的三层结构。但是它只有一个学习层,其中基于Tempotron对每个神经元进行训练。每个神经元只能在编码窗口内触发一次。

本节中提到的学习算法可以训练神经元响应于模拟时间窗口内的一组输入而仅触发单个脉冲。它们中的一些算法可以学习时空输入模式,每个输入突触具有多个输入脉冲。

3.2 每个/层神经元学习多个脉冲

多个脉冲极大地增加了神经信息表示的丰富度。单脉冲编码方案限制了脉冲神经元网络中信息传输的多样性和容量。此外,与单脉冲学习方案相比训练神经元发出多个脉冲似乎更加具有生物可解释性。在生物神经集群中通过多个脉冲进行时间编码传输重要信息,该信息无法通过单个脉冲编码方案或速率编码方案来表达。尽管对大脑中生物编码方案的确切机制尚不十分了解,但生物学证据表明,多脉冲编码方案在大脑中具有举足轻重的作用。例如,在斑马鱼脑的神经回路中,由脉冲序列组成的时空脉冲感知输入被映射到脉冲的精确时序,以执行定时的运动序列。这项生物学证据推动了学习算法的发展,这些学习算法可以使神经元发出精确的时序的多个脉冲。

有文献使用监督Hebb学习规则来学习时间模式。尽管这种方法具有有趣的特性,例如局部性、可伸缩性和在线处理能力,但作者指出,一般情况下不能保证收敛。所有的监督Hebb方法的另一个问题是,即使神经元在正确的时间准确触发,突触也会持续发生变化。

统计学方法优化权重是为了最大化似然,在期望的时刻得到突触后脉冲。然而,使用统计学方法很难学习复杂的脉冲序列,一些文献也很难用到现实世界的数据处理上。

ReSuMe[15]是另一种监督学习算法,它使用STDP与anti-STDP学习窗的结合来处理多个期望输出脉冲。它是一种生物可解释的监督学习算法,旨在响应时空输入脉冲模式产生理想的输出脉冲序列。输入和输出脉冲序列是随机生成的,使用LIF神经元模型,但是学习算法并不依赖于脉冲神经元模型。 ReSuMe基于Widrow-Hoff规则,该规则来自经典神经网络中误差函数的简单推导。 STDP由远程教师脉冲训练驱动,以增加适当的突触权重,迫使神经元在所需的时间放电。使用远程监督的教师脉冲可以使ReSuMe克服如SpikeProp中基于梯度的学习方法中存在的静默神经元问题。在线处理能力和局部性是ReSuMe的两个显着特性。 ReSuMe的功能激发了对新学习算法的研究。 ReSuMe基于权重调整,是一个很著名的学习方法。

ReSuMe调节神经元的突触权重以响应时空输入脉冲模式 S ( t ) = [ s 1 ( t ) ; s 2 ( t ) ; ; s N ( t ) ] S(t)=[s_1(t);s_2(t);\cdots;s_N(t)] 来生成所需的脉冲序列 S d ( t ) S_d(t) 。 ReSuMe基于输入、实际输出和期望的输出脉冲序列调整权重。 Ponulak在Widrow-Hoff规则中纳入了精确的脉冲时间,并采用STDP和anti-STDP窗口来调整突触权重并根据下式进行监督学习。
d w i ( t ) d t = [ s d ( t ) s o ( t ) ] [ a + 0 + T w ( s ) s i ( t s ) d s ] \frac{dw_i(t)}{dt} = [s_d(t)-s_o(t)][a+\int_0^{+\infty}Tw(s)s_i(t-s)ds]
其中, w i ( t ) w_i(t) 是第 i i 个突触在时刻 t t 的权重。常数 a a 是非Hebb项。如果输出脉冲序列 s o ( t ) s_o(t) 的脉冲数比期望脉冲序列 s d ( t ) s_d(t) 的脉冲数多或少,非Hebb项将对应减或增。这一项能加速学习过程。 T w ( s ) Tw(s) 是学习窗,类似STDP,它有一个按照时间常数衰减的指数函数。
T w ( s ) = { A e s / τ f o r s 0 0 f o r s < 0 Tw(s)=\begin{cases} Ae^{-s/\tau} & for \quad s \geq0 \\ 0 & for \quad s<0\end{cases}
其中, τ \tau 是指数函数的衰减时间常数。 A A 表示LTP的幅值, 0 + T w ( s ) s i ( t s ) d s \int_0^{+\infty}Tw(s)s_i(t-s)ds 表示学习窗内卷积、学习窗和第 i i 个脉冲序列。如文献[15]中讨论的那样,如果输入在其期望脉冲之前不久发放一个脉冲,则权重 w i w_i 会在期望的脉冲序列 s d ( t ) s_d(t) 的脉冲处出现脉冲时增加,如果其输入在实际输出的脉冲之前不久包含脉冲,权重会衰减。当实际的脉冲序列接近期望的脉冲序列时,权重的增加和减少会相互补偿,重量会变得稳定。在ReSuMe中,突触没有延迟。

Spike Pattern Association Neuron(SPAN)[16]学习算法与ReSuMe相似,因为它结合了STDP和anti-STDP流程,也源自Widrow-Hoff规则。该算法的新颖之处在于它将脉冲序列转换为模拟信号,从而可以对它们执行常见的数学运算。 SPAN可以学习多个所需的脉冲,并且只能训练单个神经元。尽管SPAN与ReSuMe相似,但Mohemmed等人未将其性能与ReSuMe进行比较。在文献[16]中,SPAN被扩展为训练由多个脉冲神经元组成的SNN以执行分类任务。在该方法中,神经元构建了单层脉冲神经元。尽管SPAN可以训练神经元发出多个脉冲,但只有一个期望脉冲用于与类别对应的时空模式。

在这里插入图片描述

SPAN训练一个神经元将时空脉冲输入模式映射到有许多期望脉冲组成的输出脉冲序列中。

Florian提出了一种学习算法,训练神经元发放所需的脉冲序列以响应时空输入模式。该算法称为Chronotron[17]。 Chronotron有两个版本:具有高生物可解释性的I-learninghe具有高存储容量和高计算成本的E-learning。Florian等人使用SRM,将核函数作为脉冲响应。突触 j j 的总归一化PSP: λ j ( t ) \lambda_j(t) 定义为与直到 t t 时刻的突触 j j 中的过去的突触前脉冲有关的所有核函数的总和。 λ j ( t ) \lambda_j(t) 称为归一化PSP,因为权重的影响已在PSP中删除,仅反映突触前脉冲效应(输入脉冲的数量和脉冲的时间间隔)。 λ j ( t ) \lambda_j(t) 用于构造Chronotron的图形说明,此图形说明很好地概述了脉冲学习问题,因此可以用来研究各种参数对学习过程的影响。在E-learning中,将根据所需的脉冲序列和神经元的实际输出来计算误差函数E。误差函数具有与实际脉冲向期望脉冲插入、删除和偏移相关的因素。误差用于估计权重变化: Δ w j = E w j \Delta w_j=-\frac{\partial E}{\partial w_j} 。在进一步简化后,我们便能得到 Δ w j \Delta w_j 近似数学公式。 Δ w j \Delta w_j 受应去除的实际输出脉冲和应插入的某些期望脉冲时的突触标准化PSP的影响以及时间偏移的影响,该时间偏移是将其他实际输出脉冲移向相应的所需脉冲所必需的。在 Δ w j \Delta w_j 的计算中应用了一些简化。然而,这种方法的影响是没有道理的。脉冲神经元动力学的内在复杂性和不连续性表明,传统的梯度下降方法不易使用,而应采用受生物学证据启发的启发式方法。

Chronotron的另一种形式是I-learning,它受到ReSuMe的启发,并且在期望脉冲时刻增加了权重,而在输出脉冲时刻减小了权重。在ReSuMe中,权重变化是通过与常见的STDP学习窗口相关联的衰减指数函数来管理的。但是,I-learning是通过类似于具有两个时间常数的 \propto 核的两个指数之间的差异来管理的。时间常数之一与函数的递增部分相关,另一个与衰减部分相关。 Chronotron没有使用ReSuMe中使用的非Hebb常数来加快学习过程。Chronotron是一种针对单个神经元的学习算法,它可以训练神经元响应所需的时空输入模式,在所需时间发放多个脉冲。在神经元水平上的学习算法已经成为近期大量研究的主题,例如Tempotron、ReSuMe和SPAN。精确脉冲驱动的突触可塑性(Precise-Spike-Driven Synaptic Plasticity,PSD)是可以训练单个神经元发放多个所需脉冲的学习方法的另一个例子。

突触权重关联训练(ynaptic weight association training,SWAT)算法合并了STDP和BCM学习规则,在单个脉冲神经元层中训练神经元。在BCM模型中,突触可塑性取决于相应突触后神经元的活动,如果突触后神经元的放电速率高于阈值水平,则可增强突触权重;如果突触后神经元放电速率低于阈值水平,则可降低突触权重。在SWAT中,BCM用于调节STDP学习窗口的高度,以稳定由STDP控制的权重调整。STDP和BCM用于训练输出层,SWAT中的隐层被用作一个频率滤波器用于从输入模式中提取特征。该方法只能在输入和输出层使用速率编码。

基于延迟学习的脉冲神经元远程监督方法[18](Delay Learning-Based Remote Supervised Method for Spiking Neurons,DL-ReSuMe)将权重调制与突触延迟移位相结合,以按照监督方式将随机时空输入脉冲模式映射为随机所需输出脉冲序列。DL-ReSuMe的准确度比ReSuMe和BPSL的学习速度要快得多。DL-ReSuMe可以学习具有更短的持续时间和更小的平均频率的输入脉冲序列,其准确性更高,学习速度也更快。DL-ReSuMe的一个有趣的特征是它能够解决时空输入模式中静默时间窗的问题。

DL-ReSuMe在学习过程中仅对每个延迟进行一次调整,并且在变化后保持不变并且其相应突触权重在随后的迭代中不断变化以训练神经元在期望的时刻发放。但是,单次延迟调整可能不会将延迟设置为适当的值,这需要更多的调整。特别地,当神经元学习到多个期望脉冲时,应考虑延迟调整对不同的期望脉冲的影响,以精确地训练延迟。另外,权重的多次改变改变了先前的情况,并且很可能适合于先前的权重的延迟的调整不再适合于新权重。因此,延迟也应基于权重更新进行更新。为了解决这一问题,研究者们提出了扩展延迟学习(Extended Delay Learning,EDL),这是一种基于扩展延迟学习的用于脉冲神经元的远程监督方法,通过引入多个延迟调整来解决这一问题。 EDL的主要特性是其对延迟和权重的定期多次调整。延迟的不规则多次调整不仅会在延迟训练中造成偏差,还会在权重调整中造成偏差,因此会降低学习效果。此外,在EDL中,当神经元达到其目标时,多重延迟调整变得稳定。

液体状态机(LSM)提供了一种由动态过滤器组成的方法。动态滤波器由被称为蓄水池的递归SNN构建。它将输入脉冲序列映射到内部动态状态,该状态非线性地取决于当前和先前的输入。 LSM的输出被馈送到一个读出层(一个简单的分类器),该层经过训练可以对内部动态状态流进行分类。LSM可以捕获时间信息,因此在处理时间信息应用上可以带来令人鼓舞的结果,即输入的确切时序和输入值都很重要的应用。因为LSM中的循环连接通过递归网络中生成的不同循环提供短期记忆效应,并有助于LSM处理其中历史输入很重要的时间信息。语音识别、机器人控制、目标跟踪和EEG识别是固有的时序任务的例子。孤立数字的语音识别、实时语音识别和机器人技术是使用LSM的应用的例子。在这些任务上,LSM的性能可与最新的人工智能系统相媲美。在3.2节中提到的针对单个神经元的学习算法可以用作LSM的输出层。

Maass等人提出的LSM[19]具有固定的拓扑和固定的连接权重。可以通过采用其他生物可解释的拓扑结构和其他突触可塑性方法,如短时程可塑性来改善其生物可解释性和计算性能。 Hazan和Manevitz实现了具有各种拓扑结构的LSM,以研究拓扑约束对LSM鲁棒性的影响。他们还研究了LIF和Izhkevich神经元模型的效果,结果表明在性能上相似。 Maass等人使用了不同类型的读出方法,例如Widrow-Hoff、反向传播、SVM和Tempotron。

Paugam-Moisy等人[20]提出了一个多时间尺度学习规则的神经网络,其中的蓄水池有由STDP和轴突传导延迟驱动的无监督的突触可塑性由。蓄水池内部包含了多种脉冲模式,它是蓄水池内部神经元发放的特定脉冲组。polychronous group不是同步的,即它们不是同时触发的,但是它们具有时间固定的放电模式,即脉冲之间有特定的时间间隔。研究者认为在生物可解释的SNN中,网络的突触可塑性受STDP控制,神经元之间存在传导延迟,便有了polychronous groups。文献[20]认为,应用来自同一类别的输入模式可以激活特定的polychronous groups,但是当应用来自其他类别的模式时,polychronous groups不会被激活,他们提出了一种监督学习算法来调整与读出神经元相关的延迟,以学习与不同类别相关的不同polychronous groups的放电模式。SNN使用生物可解释的元素,例如STDP突触可塑性和轴突传导延迟,还用于对大型数据集进行分类。使用脉冲神经元层以监督方式对输入模式进行分类。在监督学习过程中会调整读出层神经元的延迟,调整延迟以迫使与目标类别有关的神经元在与另一类别有关的神经元之前触发。该学习方法试图在两个类别的分类期间最大化负类和正类之间的时间差。与传统的分类方法相比,它的性能相对较差。读出层神经元的突触权重不变。LSM中的神经元能够发放多个脉冲,但是读出层神经元只能发放一个脉冲,使用可以触发多个脉冲的读出可以增加该方法的生物可解释性。

尽管上述监督学习方法可以训练多个输出脉冲,但它们都是基于单个训练神经元或单层神经元工作。设计具有监督学习能力的多层网络来发放多个所需脉冲是非常困难的,因为学习任务的复杂性会通过脉冲和层数的数量而增加。在这种情况下,学习算法应控制各种神经元以生成不同的期望脉冲,但是一个真正的生物系统是由大量相互连接的神经元组成的。

3.3 多层SNN学习多个脉冲

多层神经网络比单层神经元具有更高的信息处理能力。感知器多层神经网络具有比单层神经元更高的处理能力,单层感知器仅限于线性可分离模式的分类,但是多层前馈感知器神经网络可以克服单层网络的局限性。多层神经网络的更高的处理能力不仅在经典神经元网络中得到了证明,而且在,脉冲神经网络中也得到了证实。 研究表明,多层脉冲神经网络可以执行非线性可分离的逻辑运算,即XOR,但是如果没有隐藏层神经元就无法完成任务。因此,单神经元或单层神经元无法模拟具有高处理能力的生物神经网络的学习,因此本质上需要为具有发放多个脉冲能力的脉冲神经元的多层网络设计学习算法。

文献[21]介绍了一个用于脉冲神经元的两层网络,该网络能够直接从未经过滤的地址事件表示(AER)硅视网膜数据中提取时间重叠的特征。仅使用简单的、局部STDP规则,LIF总共10个参数。尽管提出的学习算法是无监督的,但它的10个参数是通过有监督的方式进行优化的。该方法使用STDP的简化形式,文献[21]的STDP的特殊形式中,在LTD期间,所有输入权重均减小一个恒定值,而不管突触前脉冲和突触后脉冲时间之间的时间差如何,然而在STDP的生物可解释的形式中,权重调整与时间差异成指数关系。此外,隐藏层中神经元的权重调整与输出神经元的活动无关。

文献[22]提出了一种SNN在线学习算法,用于对实值输入数据进行分类。它由三层组成,在输入层中,通过群编码方案将实值数据编码为脉冲的精确时序,隐藏层的结构通过使用聚类算法动态更改, STDP和anti-STDP用于训练输出层中的神经元。该方法使用第一层中的延迟编码和隐藏层中time-to-first脉冲,并在输出层中使用速率编码将应用的输入模式与能够发放更多的脉冲的神经元的类别相关联。此外,隐藏层和输出层中的训练独立运行。因此,网络很难在不同层的活动之间找到适当的交互。而且,没有解释向隐藏层添加和去除神经元是否是生物神经网络的属性,或者说仅仅是为了提高其性能而将该特征添加到人工神经网络。

在以前的梯度下降学习算法中,如SpikeProp、QuickProp和RProp(这样的脉冲神经元网络,输入、隐藏和输出层中的每个神经元只能发放一个尖刺。有研究将多层SpikeProp扩展到允许输入层和隐藏层中的每个神经元发放多个脉冲。但是,每个输出神经元只能触发单个脉冲。文献[23]提出了第一个基于经典误差反向传播方法的监督学习方法,该方法可以训练一个多层的脉冲神经元网络来发放多个脉冲。在该监督学习方法中,输入、隐藏和输出层中的所有神经元都可以触发多个脉冲。该网络在输出层具有多个神经元,每个神经元都可以学习发放期望的脉冲序列。

多层脉冲神经网络结构,神经元间有多个不同延迟的突触连接,神经元可以发放多个脉冲。

SpikeProp、QuickProp、RProp以及其他方法调整SNN的突触权重,以训练每个输出神经元在所需时间方法脉冲。在这些方法中,输出神经元的平方误差之和被认为是误差函数,即 E = 0.5 j J ( t j a t j d ) 2 E=0.5 \sum_{j \in J}\left(t_{j}^{a}-t_{j}^{d}\right)^{2} ,其中 j j 是输出神经元集合 J J 中第j个输出神经元的索引, t j a t_j^a t j d t_j^d 分别是第一个实际输出脉冲的激发时间和第 j j 个输出神经元的期望脉冲的触发时间。

设计一个训练输出神经元发放多个脉冲的算法的困难归纳如下:实际输出脉冲并不恒定,尤其是在使用每个神经元具有多个脉冲的多层神经网络时。在这种情况下,很难构造误差函数。其次,当由于神经元数量增加而导致脉冲数量增加时,各个期望脉冲对权重变化的干扰作用也增加了,因此学习变得困难。当调整权重以训练神经元学习发放脉冲时,此调整会影响已从其他期望脉冲中完成学习的神经元,该效果可以称为干扰效果。因此,当脉冲数量增加时,受限的资源(学习参数)应根据各方需求(期望的脉冲)进行调整。换句话说,不同的期望脉冲可能导致学习参数沿相反方向调整,并且难以找到满足不同情况的最佳值。为了克服第一个问题,文献[23]假定实际脉冲的数量和所需脉冲的数量相同,即第 j j 个输出神经元等于 F j F_j ,根据这个假设他们从理论上计算了误差函数。他们使用 j = 1 N f = 1 F j ( t j ( f ) t ^ j ( f ) ) 2 \sum_{j=1}^{N} \sum_{f=1}^{F_{j}}\left(t_{j}^{(f)}-\hat{t}_{j}^{(f)}\right)^{2} 作为误差函数来计算输出神经元的平方误差,其中N是输出层中输出神经元的数量, t j ( f ) t_j^{(f)} t ^ j ( f ) \hat t_j^{(f)} 是第 f f 个实际输出脉冲的触发时间,第 j j 个输出神经元的期望脉冲。在实验期间,如果实际脉冲序列中的脉冲数量不等于所需脉冲序列中的脉冲数量,则他们会考虑较低的脉冲数量 n l n_l ,他们只考虑较长的脉冲序列的前 n l n_l 个脉冲,这似乎并不是解决第一个难题的有效方法,因为该方法可能会对在期望的时间已经具有匹配的实际输出脉冲的期望脉冲进行参数调整,请考虑以下情况:实际输出脉冲的数量大于期望脉冲的数量,并且早期实际输出脉冲的数量很多。这将导致将早期的不希望的实际脉冲与非常期望的脉冲相关联,而忽略了在期望时刻已经存在的实际脉冲。找到一种基于局部时间事件或时序事件的方法可以改进该方法。文献[23]相信他们的学习算法通过在学习中使用“the Bigger PSP, the Bigger Adjustment(BPBA)”的原则克服了第二个问题。根据权重调整时刻的BPBA原理,每个突触的变化与在t时刻突触中产生的PSP的幅度成比例,这等效于STDP发生的情况。在STDP中,接近突触后脉冲的突触前脉冲具有较大的PSP,并且它们的突触权重也变化较大。文献[23]根据实际输出脉冲序列与所需脉冲序列之间的时间差定义了一个误差函数。然后根据突触权重对误差函数进行变式,并提取较大的数学方程式以改变突触权重的学习规则。根据BPBA原则,他们描述了其中一种数学元素的构造作用,但没有研究学习规则中其他数学元素的影响。目前尚不清楚,如果简化学习规则中的某些数学元素,类似于Chronotron中的操作,将会发生什么。仿真结果表明,在小于600毫秒的仿真时间内,ReSuMe比文献[23]提出的方法更有效、更准确。但是,该算法可用于训练多层神经网络。如果对ReSuMe进行改进以学习多层SNN,则与文献[23]中提出的方法相比,它可能具有良好的准确性和效率。

基于梯度的方法遇到了各种问题。网络训练误差的突然跳跃(称为surge)被认为是主要问题之一,并且可能导致学习失败[24]。神经元膜电位的非单调性和非线性行为使得难以将构造误差最小化,并因此导致训练过程中的这些激增。当输出神经元被训练发放多个脉冲时,问题就会加剧。另外,误差函数的构造变得困难,因为在学习过程中实际输出脉冲常常与期望脉冲数不同。尽管训练多个脉冲是困难的,但是这是一个生物可解释的编码方案,并且可以传达更多的神经信息。这表明解码方案对学习任务具有重要影响。在研究了基于梯度的方法及其在其他文献中的应用之后,得出的结论是,基于局部事件工作的STDP的应用值得进一步研究,以设计用于多层脉冲神经网络的学习算法。

文献[25]中,STDP和anti-STDP被用作第一个使用多层脉冲神经网络对真实世界数据进行分类的生物可解释的监督学习算法。网络的输入、隐藏和输出层中的每个神经元都会触发多个脉冲。在学习算法中,在训练因层神经元的学习参数期间不考虑隐层神经元产生的输出脉冲。换句话说,在与隐层神经元输入权重调整相关的STDP和anti-STDP期间,不会考虑隐层神经元的输出脉冲。但是在生物神经元中,STDP通常使用神经元的突触前和突触后脉冲。另外,由隐层的神经元发放的脉冲对多层脉冲神经网络中的训练任务有重要影响。在隐层神经元的学习过程中应用隐层神经元输出脉冲可以使得学习算法更加具有生物可解释性并提高方法的准确性。 文献[25]中用于隐藏层的学习方法的另一个不利方面是,调整抑制性神经元和兴奋性神经元的输入权重的方法是相同的。但是使用不同的权重调整策略,正确地反映隐藏层中的兴奋性神经元和抑制性神经元产生的正负PSP的效果,可以改善该方法的性能。

文献[26]提出了一种用于脉冲神经网络的生物可解释的监督学习算法。它使用多个脉冲的精确定时,这是一种可以在神经元之间传输信息的生物可解释的编码方案。并行调整隐藏层和输出层中神经元的学习参数以训练网络。它使用STDP、anti-STDP和延迟学习等生物概念训练网络。仿真结果表明,该方法和文献[25]中提出的在所有层中训练多个脉冲的完全监督算法相比,性能得到了改善。该方法的成功源于几个改进。首先,它利用隐层神经元发放的脉冲的触发时间来训练隐藏神经元的输入权重。但是,在文献[25]中未考虑隐藏神经元的放电时间;另一个特性是应用不同的恰当的方法来调整与隐藏层中的抑制性和兴奋性神经元有关的权重。延迟学习增加了学习方法的复杂性,从而增加了运行时间,但是它可以提高方法的性能。另外,延迟是生物学上合理的特性,它是真实生物系统的自然特性。

表1: SNN学习算法

单个神经元 单层 多层
单个脉冲 eSNN, Tempotron, Multiple SPAN, LSM, Pattern Clustering SpikeProp, Backpropagation with momentum, QuickProp, RProp, Levenberg-Marquardt BP, SpikeProp based on adaptive learning rate, Evolutionary strategy
单个输出脉冲/输入或隐层中多个脉冲 Tempotron, Supervised Hebbian learning deSNN
多个脉冲 ReSuMe, SPAN, Chronotron, Supervised Hebbian learning, PSD, BPSL, DL-ReSuMe, EDL Statistical methods Unsupervised methods

根据训练单个或多个期望脉冲的能力及其结构,表1总结了本节中讨论的各种算法。学习算法高度集中于学习单个脉冲(第二行)或单个神经元(第二列),这些是比较简单的任务。传统的人工神经网络通常使用基于多个脉冲的速率编码,而不考虑脉冲的精确定时。在找到可以证明在脉冲的精确定时中进行信息编码的生物学证据之后,在脉冲的精确时间内捕获信息的学习算法也被设计出来,诸如SpikeProp之类的用于脉冲神经元的最早的学习算法是基于单个脉冲实现的。表1的第二行显示了学习单个脉冲的学习算法的其他示例。但是基于多个脉冲(表1的第三行和第四行)工作的学习算法能够更加具有生物可解释性地训练任务。对生物神经元的研究表明,基于实验数据,基于多脉冲的突触可塑性模型可以更好地表示其生物学对应物。此外,多个脉冲可以传达更多信息。该表的第四列提供了多层网络的学习算法示例,这些算法在生物学上都是合理的学习算法。尽管可以训练多个脉冲的多层学习算法在生物学上似乎更合理,但是训练多个脉冲是多层网络的一项困难的学习任务。因此,找到一种用于多层脉冲神经网络并训练多个期望脉冲的学习算法仍然是一项艰巨的任务。

3.4 使用延迟学习的学习算法

实验研究证明了生物神经中突触延迟的存在,突触延迟影响神经系统的处理能力,有生物学证据表明突触延迟可得到调节。 “延迟选择”和“延迟移位”是为SNN中的延迟学习开发的两种方法。在延迟选择方法中,两个神经元通过具有不同时间延迟的多个突触(子连接)连接。与恰当的延迟有关的权重增加,并且对于学习所需脉冲不适当的延迟的连接权重降低了。例如SpikeProp使用了“延迟选择”方法,类似地,其他研究也建立了多个突触,这些突触带有不同的权重和延迟。通过在不同的期望时间产生输出脉冲,使用具有各种突触延迟的子连接可以提高学习性能。然而学习参数(突触权重)的数量也随之增加,因此计算成本增加。

延迟移位方法用于训练CD。 CD响应一致的输入脉冲而触发。该模型中的突触延迟调整是学习算法的基本特征。文献[10]提出了一种自组织延迟移位方法来训练CD。Adibi等人中使用了延迟移位方法训练了径向基函数(RBF)网络,该方法采用突触延迟向量作为RBF神经元的中心。如果输入脉冲模式接近该中心则它们将激发神经元。在CD中,权重被认为是恒定的,不会被修改。但是突触权重调制对脉冲神经网络的处理能力起主要作用。 DL-ReSuMe、EDL以及Taherkhani等人提出的监督方法时使用延迟移位方法进行训练的其他例子。

3.5 深度脉冲网络

深度学习方法已经在各种应用中取得了成功的性能,尤其是在图像识别方面。深度学习将特征提取和特征学习过程集成在一起的能力使它可以应用于传统机器学习方法难以解决的挑战性问题,因为传统机器学习方法具有单独的特征工程和特征学习过程。尽管深度学习架构已显示出令人鼓舞的结果,但它们的处理能力远远低于其生物学对应的大脑。

在深层神经网络(DNN)中,多个处理层堆叠起来形成深层多层结构。对所有或大多数堆叠层进行训练以提高整体深度学习方法的选择性能力,并在不同层上对输入数据进行一个鲁棒的表示。与原始输入数据一起使用的深度学习方法被认为是表示学习方法。在表示深度学习方法中,将原始输入应用于网络,网络从原始输入数据中提取分类或检测所需的表示。

3.5.1 用于监督学习的反向传播

监督学习方法的反向传播在经典深度学习方法的成功成果中具有重要作用。因此,适用于深度脉冲神经网络(DSNN)的适当的反向传播学习算法可以使DSNN取得成功的性能。 文献[27]提出了一种基于电压的梯度下降方法,称为SuperSpike,用于训练确定性的积分放电神经元的多层网络,以处理时空脉冲模式。他们提出了一种在DSNN中进行信用分配的生物可解释的策略。在梯度方法中,隐藏神经元的偏导数由突触后电压和相关的滤波后的突触前脉冲串的非线性函数的乘积来近似。使用突触后电压的非线性函数代替突触后脉冲序列作为隐藏神经元的信用分配,可以在不注入噪声的情况下克服网络中静默神经元的问题,注入噪声的方法可能会降低方法的准确性。另外,SuperSpike使用突触eligibility trace将时序活动导入信用分配规则中。文献[28]进行的实验表明,对于大型多层SNN,SuperSpike的性能不佳。此外,它不适用于现实世界的应用。

文献[29]提出了一种多层SNN的反向传播学习方法。在该网络中使用了非泄漏整合放电神经元。神经元突触电流核是指数衰减函数。第一次脉冲的时刻被认为是期望的输出。使用转换方法构造了一个微分函数,将输入脉冲时间与输出神经元的第一个脉冲时间相关联。只考虑与输出脉冲有因果关系的输入脉冲,即在输出脉冲时间之前触发的输入脉冲,然后在脉冲时刻使用可导损失函数更新权重。这种方法考虑了第一个脉冲的时间,可以防止神经元多次放电。

3.5.2 脉冲卷积神经网络

CNN是一种众所周知的DL方法。 CNN的前几层受到初级视觉皮层(V1)中神经元反应的启发。 VI区域中的神经元会检测初级视觉特征,例如方向的边缘。在传统的CNN中,输入图像与核或滤波器进行卷积,以提取与前几层边缘相关的特征,并提取更多抽象特征,即与高层形状相关的特征。在传统的CNN中,经常使用误差反向传播方法来训练核滤波器的参数。现在已经有许多利用手工卷积核的Spiking CNN(SCNN),这些SCNN已应用于许多分类任务。在手工卷积核中,核参数是在训练网络时固定的。

文献[30]提出了一种SCNN,其中在第一层中使用高斯差分(DOG)滤波器提取边缘,在第一层中使用手工DOG滤波器。使用DOG滤波器将输入图像中的对比度编码为延迟脉冲代码。通过在输入图像的不同部分上应用DOG,可以检测到正或负差。 DOG单元根据对比度发出脉冲,脉冲中的顺序包含有关输入图像对比度的信息。该等级编码可用于起到类似边缘检测的V1的作用。在第一层之后有三对卷积和池化层,卷积层由STDP训练。此外,所有卷积层都有侧向抑制机制,因此当发射神经元时,它会抑制其他局部神经元的膜电势回到静息点位,防止它们对当前输入的图像发放脉冲。此外,在识别输入图像期间,每个神经元只能激活一次。当当前卷积层中的学习完成时,便开始进行后续卷积层中的学习。 SCNN [30]使用了最大池化层,允许其第一个发放的输入脉冲传播。尽管输入信息在手工的DOG层中进行了顺序编码,但在池化层中仅考虑第一个脉冲的时间,而忽略其他脉冲中的信息。 SCNN中的最后一个池化层是一个全局最大池化层,它在最后一个卷积层的整个神经元图上进行池化。全局池化层的输出被送到非脉冲分类器,即线性SVM分类器,以确定所应用输入的类别。因此监督学习是以非脉冲方法(即SVM)进行的。另外,不是使用最后一个卷积层的脉冲活动,而是将最后一个卷积层中的神经元的阈值设置为无穷大,并将最终的膜电势用于下一步。 SCNN在MNIST数据上的性能为98.4%。还有其他的SCNN,其中所有卷积层都经过训练,而不是使用固定的初始Gabor滤波器。

文献[31]表明,与全连接相比,局部感受野(即Gabor滤波器)提高了网络的准确性。他们已经使用整合放电神经元和STDP来训练包含单个隐藏层和读出层的浅层SNN。隐藏层具有对应于随机Gabor滤波器的固定权重,并且它们使用基于STDP的学习规则来训练读出层。 SNN达到了与MNIST上其他深度SNN相当的测试准确性,即98.6%。文献[31]建议新提出的生物可解释的深度学习方法应比其浅层对应网络获得更好的性能。此外新提出的生物可解释的深度学习方法应该在比MNIST更复杂的数据上进行测试。

3.5.3 半监督学习方法

文献[32]提出了一种SNN的卷积自编码(Auto-Encoder,AE)学习方法。自编码器是经典神经网络中著名的无监督学习方法,它将输入映射到一个低维特征空间,然后从低维空间中重建输入数据。第一个过程称为编码,最后一个过程从低维特征中重建输入称为解码。可以认为AE可以从低维特征空间中提取鲁棒的和可分的特征,这些特征可用于提高分类精度。文献[[32]使用反向传播算法用于不同卷积层的逐层训练。他们利用了脉冲神经元的膜电势来构建损失函数。卷积层是独立训练的,并在网络总堆叠。此外,他们在每个卷积层之后都使用了平均池化层。池化层计算采样窗口内卷积神经元膜电位的平均值。他们还使用了反向传播方法来训练最后的全连接输出层。输出层使用标记的训练数据将提取的特征从多个卷积和池化层映射到相应的脉冲标签。 CSNN在MNIST数据集上实现了99.08%的高分类精度。

文献[33]提出了一种用于SCNN的学习算法。 SCNN使用STDP以逐层方式预训练卷积核。在预训练过程中,训练突触权重和神经元阈值。在突触后脉冲时刻,将调整共享的和权重。当特征图中有多个突触后神经元发放脉冲时,将应用平均STDP进行权重调整。另外,在特征图中出现脉冲后,特征图中所有神经元的放电阈值均会增加。特征图中神经元的阈值在非脉冲期间呈指数衰减。据推测,该阈值调节类似于生物学神经元中的动态平衡。在预训练过程之后,使用梯度下降BP算法对SCNN中的所有层进行训练。

Hinton提出的深度信念网络(DBN)和Srivastava提出的Deep Boltzmann机器(DBM)是两种具有无监督预训练过程的经典深度学习方法。他们具有逐层的预训练过程,并且网络的深层结构使他们能够学习特征的高级表示。受限玻尔兹曼机(RBM)是两层神经网络,它是DBN和DBM的基础。 RBM通过一种称为“对比散度”的方法进行训练。 文献[34]提出了一个脉冲版本的“对比散度”,以训练由整合放电神经元组成的脉冲RBM,他们使用了STDP进行对比发散。有学者将MNIST数据集上的脉冲DBN的准确性与前馈全连接多层SNN和SCNN进行了比较,比较结果表明,脉冲DBN的准确性低于其他SNN。

3.5.4 经典DNN转换为DSNN

有得人直接从经典的DNN构建DSNN。在DSNN中,首先训练由连续激活值的神经元组成的经典DNN,然后将经典DNN部署到DSNN[35]。通过这种方法,可以使用最先进的DNN训练方法来构建DSNN,以实现竞争优势。与原始DNN相比,此转换可能会导致DSNN的准确性下降。为了减少从ANN到SNN转换过程中的准确性损失,人们尝试了不同的技术(例如对神经元放电速率或网络参数引入额外的限制、权重缩放、添加噪声以及使用概率权值)。生成的DSNN需要大量的时间步长来执行输入到输出的映射,构造的DSNN无法捕获时空数据的时间动态。Tavanaei等人比较了大量的DSNN,他们的结果表明,与直接训练dsnn的方法相比,由经典DNN转换而来的深度SNN在MNIST数据上的精度最高。将传统的神经网络转换为DSNN后通常采用速率编码对传统神经元的模拟输出进行编码。速率编码可以覆盖DSNN可以处理的时间信息。

3.5.5 深度循环脉冲神经网络

递归神经网络是一类内部状态随时间变化的神经网络,它们已用于时间处理任务中,例如噪声时间序列预测、语言翻译和自动语音识别。训练大型RNN是一项艰巨的任务,因为在训练过程中,需要优化具有长时空关系的函数。 Spiking RNN的不可导动力学增加了训练难度。训练深度RNN是一项具有挑战性的任务,因为除了时间上的依赖关系之外,空间的依赖关系也得到了扩展。梯度下降法是一种训练RNN中学习参数的强大方法。隐藏单元的学习参数调整(信用分配)是通过链式求导法则获得的,空间和时间信用分配是训练RNN所要解决的两个问题,空间信用分配是RNN和多层感知器的常见问题,在各层之间进行空间分配以更新学习参数。

在梯度下降法中,通过按时间展开网络,将类似于空间信用分配的方法用于时间信用分配,这种方法称为时间反向传播(BPTT),但脉冲神经元活动的非线性使得难以将经典BBTT应用于SNN。已经有许多不同的方法被提出来应对这一挑战。使用受生物学启发的局部学习规则,将经过训练的经典NN转换为SNN,平滑网络使其连续可导。对SNN使用近似梯度下降与被用来克服SNN中梯度下降学习方法的非线性相关的问题是不同的。

平滑方法可用于克服SNN的梯度下降学习方法中的非线性问题。在SNN中使用平滑模型来构建具有较好梯度的网络。例如文献[36]使用了扩展的整合放电模型,其中神经元的非线性被连续门控函数取代,然后使用标准BPTT训练具有这些神经元的RNN。另一组平滑模型是使用脉冲序列的对数似然作为平滑量的概率模型,尽管有些概率模型可以学习精确的输出脉冲定时,但概率模型通常在输出级和激发概率密度上使用速率编码,这些特性降低了它们捕获时间信息的能力。尽管BBTT是递归神经网络的标准学习方法,但BBIT并不是生物可解释的方法,因为在BBTT中,误差信号应按时间和空间向后传输。文献[37]提出了一种生物可解释的学习方法,该方法利用局部可获取的信息来进行BPTT的生物可解释的近似。它们使用突触的前向eligibility traces来设计学习算法,这些trace在突触的局部是可以实时获取的。

4 挑战与机遇

最近,经典的DNN在不同的应用中都取得了成功的结果。尽管如此,DSNN仍处于发展阶段,并且需要更高级的学习算法来对其进行训练。训练DSNN的主要挑战是找到与输出层以及其他隐藏层进行交互的方式来训练DSNN隐藏层中的神经元的方法。使用反向传播方法进行有监督的学习是训练经典的深层(多层)人工神经网络的常用方法。然而,SNN活动的非线性不连续性使得难以采用现有的反向传播方法来训练SNN。此外,用误差反向传播方法训练DSNN在生物学上是不合理的,并且反向传播学习方法不能模仿人脑的学习。理解什么是训练DSNN进行信息处理的最佳的生物可解释的网络架构和学习规则一项重要挑战。受STDP启发的局部学习规则似乎更加具有生物可解释性,可以对其进行研究以设计SNN的新学习算法。生物神经网络的一个有趣的结构特性是网络中的递归连接。 BBTT是一种经典方法,已应用于训练RNN,为BBTT寻找生物可解释的替代方案,以便使用生物可解释的局部学习规则来训练RNN可以被认为是SNN的重要挑战。

在SNN中,神经编码是学习的一个重要方面。在SNN领域中,找到合适的脉冲活动编码机制并为编码机制设计兼容的学习算法是新的挑战。文献[38]提出了一种针对输出脉冲序列编码的优化方法,研究表明,在分类任务学习阶段对输出编码进行优化可以使分类准确率比使用非自适应输出编码提高16.5%。文献[39]指出,与实际和期望输出脉冲相关的输入脉冲的时间距离对SNN的准确性有重要影响,为涉及突触权重调整的输入脉冲找到最佳时间间隔调整可以提高55%SNN学习准确性。文献[40]表明输入脉冲编码对提高SNN学习算法的准确性有重要影响。在分类任务中,简单的输出编码是将输入分配给与具有最高脉冲发放率的输出神经元对应的类。文献[41]将输入分配给第一个发放脉冲的输出神经元对应的类,他们声称这种输出编码取得了良好的性能。另一方面,文献[42]表明,输出编码中输出脉冲数量的增加会提高分类精度。每个类别都可以使用一组神经元而不是单个神经元可以减少输出的方差[43]。因此,脉冲编码对SNN的性能有显著影响,应采用适当的编码策略。另外,学习算法应与所选的编码策略兼容,这在生物可解释的学习方法中是一个挑战,因为不清楚在大脑中使用哪种编码方法。

时间在SNN的活动中起着重要的作用。 SNN产生时空脉冲模式,而经典NN通过空间激活工作。因此,SNN需要一个特定的损失函数,该函数会产生与时间相关的误差,而且与经典NN的损失函数不同。有大量的DSNN使用基于速率的方法。但是,这些DSNN与基于连续值工作的经典神经网络非常接近,并且它们忽略了单个脉冲所携带的信息,这些信息可能会影响快速计算。例如,一种广泛使用的将实际值转换为脉冲序列的方法是使用从Poisson过程中提取脉冲序列,其发放速率与真实值成比例。在这种转换中,仅脉冲序列的平均发放速率很重要,而不考虑脉冲的精确定时,这可能会限制SNN处理脉冲的精确定时的能力。

DSNN通常用于处理经典DNN已使用的数据。例如,MNIST和CIFAR10数据集中由具有连续值的像素构成的图像样本已在传统DNN中使用了很长时间,而DSNN目前无法在该数据上胜过传统DNN。这些基准的性质接近经典神经网络的激活(即它们具有连续值),并且可以被这些方法直接使用。但是DSNN在使用之前,应将此类数据转换为脉冲序列。这种转换可能会破坏图像中的某些信息部分,并可能导致DSNN的准确性下降。因此将DSNN应用到处理具有与SNN兼容的属性的新数据集可以提高性能,而不是在处理这些非脉冲神经网络处理的数据集上提高性能。对此类数据的研究可能促使产生新的SNN,该SNN可以执行常规DNN难以执行的处理任务。例如,文献[44]的基于事件的摄像机获得的数据或来自真实生物神经系统记录的源自原始的时空脉冲活动的脉冲活动[45],它们可以成为DSNN的良好候选者。基于事件的视觉和音频传感器已经取得了进展,并且从它们中提取的数据可以由DSNN处理。但是目前缺乏用于评估SNN的适当基准数据。当在具有与SNN兼容的属性的合适数据集上训练时,SNN具有取得良好性能的能力。当前迫切需要开发此类基准数据集。

经典深度学习方法,尤其是深度CNN的主要功能是其逐层特征提取的能力,该能力可提取区分性、抽象性和不变性特征。受生物启发的SNN具有类似于大脑的表示能力,并且与传统的基于速率的网络相比,它们具有更高的表示能力。 SNN处理时间数据的能力可以与经典深度神经网络的分层特征表示能力相混合,以构建具有高处理能力的神经网络。

训练经典深度神经网络的正则化方法的进步提高了这些方法的性能。但是SNN具有不同的特性,找到合适的正则化方法来学习SNN中的参数调整可能是提高DSNN性能的另一个有趣的挑战。

随着技术的发展,大数据呈指数级增长,对这些未来大数据的处理需要一种新颖的可扩展计算框架。神经形态硬件被认为是有潜力满足这种需求的范式,因为它们模仿了具有显著处理能力的大脑。大脑可以以高度的鲁棒性、效率和适应性来执行信息处理。神经形态工程学试图制造可以模仿大脑的认知和适应能力的硬件。尚未发现包含大量并行自组织神经体系结构的大脑的计算的确切原理。在实时适应性、自治性或隐私性等情况下,要求计算性能必须接近传感器。在这种情况下,诸如神经形态硬件之类的具有低功耗的计算系统具有优势。

生物神经元在交流和功率消耗上受到限制,生物神经元通过稀疏的脉冲活动进行交流,从而降低了能量消耗。脉冲事件会消耗能量,而稀疏脉冲活动中的脉冲次数较少,则意味着功耗很低。神经元中其他活动的状态,例如膜电位、突触状态和神经递质浓度,在神经元中是局部的。稀疏的通信和局部处理产生了高度可伸缩的结构。我们需要一种基于局部可用信息和稀疏全局通信的计算策略来构造具有可伸缩结构的神经形态硬件以便解决实际问题。使用局部事件设计算法以学习SNN中脉冲的精确时序对于设计神经形态硬件的学习策略可能很有用。 SNN与硬件实现是兼容的,因为与基于连续值的经典神经网络相比,SNN的能效更高。此外,基于脉冲活动的SNN中信息通信的性质接近于硬件平台中的二进制处理。但是大多数最新的机器学习方法都在非局部信息上工作,这在硬件实现上限制了它们的可扩展性。因此,这些方法无法执行在线学习和增量快速且节能的学习,也就是类似于在人类和动物中观察到的学习。要执行准确的高速的和可扩展的低能耗计算,需要新的SNN生物可解释学习算法来设计神经形态硬件。

总而言之,为DSNN设计学习算法仍有许多挑战。通过克服SNN的不连续性和非线性训练SNN隐层神经元,设计学习算法提高其准确率是主要挑战之一。在生物神经系统中执行的局部学习规则(例如STDP)可能是为SNN设计新的生物可解释的学习算法的一个较好选择。训练SNN的另一个挑战是神经编码。神经编码对SNN的性能具有显着影响。然而要找到大脑中确切的编码机制以及如何设计与编码机制兼容的学习算法仍是一个挑战。设计SNN学习算法的另一个挑战是SNN的活动中存在时间。与传统的NN相比,SNN的一个新特性是它直接随着时间工作,这提供了直接与时间一起工作的能力,但是它会导致神经元活动的不连续,从而增加学习的难度。另一个挑战是制作能够利用脉冲时间的能力的新的数据集,例如从基于事件的视觉和音频传感器生成的数据。设计基于局部事件的生物可解释的学习算法,为设计用于高效神经形态硬件的学习算法提供了一个很好的机会。

5 结论

在本文中,首先考虑了脉冲神经元的生物学背景,然后批判地回顾了SNN的最新学习算法。根据文献,生物神经元有不同的数学模型,该模型在不同级别的细节上模拟生物神经元的行为。 LIF模型是生物神经元的简单一维模型,只需较少的计算量即可对生物神经元进行建模,HH是一个四维模型,可以更详细地模拟生物神经元的动态,它具有很高的计算成本。

突触可塑性被认为是大脑学习的基础,对于生物神经元系统来说,突触可塑性存在不同的模型,这些模型试图根据实验数据来模拟生物突触的行为。文献综述表明,使用基于标准对的标准STDP模型来设计用于刺激神经元的生物学合理学习算法。但是,基于标准的pair-based的STDP模型不是唯一的突触可塑性模型。多脉冲STDP模型是生物可解释的模型,它们可以更精确地预测从生物神经元中得到的实验数据。尚不清楚如何使用多脉冲STDP模型设计用于机器学习目的的人工神经元网络的学习算法。多脉冲STDP模型的应用可以设计出更加生物可解释的脉冲神经元学习算法,并可能设计出功能更强大的智能系统。

延迟是生物神经网络的自然属性,信息通过脉冲的精确定时在神经元之间传递,延迟会直接影响脉冲的精确计时。因此设计一种将常用的权重调整方法与适当的延迟学习方法相结合的学习算法,可以得到更高处理能力的更加生物可解释的学习算法。

传统的神经网络基于速率编码工作。在脉冲的精确定时中编码信息的理念推动了对学习算法的研究,每个神经元发放单个脉冲来工作。但是,基于多个脉冲的精确定时的编码方案可以在神经元之间传递更多的时间信息,并且更加具有生物可解释性。然而,设计一种针对脉冲神经元网络的学习算法,以通过多次脉冲的精确定时在神经元之间传递信息是一项艰巨的任务,需要进行更多的研究。

有趣的是,单个生物神经元具有不同的学习特性,在其人工对应物中未考虑单个生物神经元的多种学习能力。本文对单个神经元的各种学习算法进行了综述,为具有新生物学特性的单个神经元设计新的学习算法是一项正在进行的研究,它会导致产生具有更高处理能力的新的生物可解释的学习算法。与单个神经元或单个神经元层相比,多层神经元网络具有更高的处理能力,尚不清楚如何将用于具有新的生物可解释特性的单个神经元的不同学习算法扩展到训练脉冲神经元的多层网络。为多层脉冲神经网络设计一种生物可解释的学习算法仍然是一项艰巨的任务。

翻译不易,如果对同学有帮助,感谢点赞关注支持,也欢迎私信我,共同进步。

Reference

*注:只选取了部分参考文献,顺序与原文不同

[1] Masquelier T, Deco G. Learning and coding in neural networks[J]. Principles of neural coding, 2013: 513-526.

[2] Brette R. Philosophy of the spike: rate-based vs. spike-based theories of the brain[J]. Frontiers in systems neuroscience, 2015, 9: 151.

[3] Feldman D E. The spike-timing dependence of plasticity[J]. Neuron, 2012, 75(4): 556-571.

[4] [Izhikevich E M. Which model to use for cortical spiking neurons?[J]. IEEE transactions on neural networks, 2004, 15(5): 1063-1070.]

[5] Morrison A, Diesmann M, Gerstner W. Phenomenological models of synaptic plasticity based on spike timing[J]. Biological cybernetics, 2008, 98(6): 459-478.

[6] Pfister J P, Gerstner W. Triplets of spikes in a model of spike timing-dependent plasticity[J]. Journal of Neuroscience, 2006, 26(38): 9673-9682.

[7] Yu Q, Tang H, Tan K C, et al. Rapid feedforward computation by temporal encoding and learning with spiking neurons[J]. IEEE transactions on neural networks and learning systems, 2013, 24(10): 1539-1552.

[8] Bohte S M, Kok J N, La Poutre H. Error-backpropagation in temporally encoded networks of spiking neurons[J]. Neurocomputing, 2002, 48(1-4): 17-37.

[9] Belatreche A, Maguire L P, McGinnity M, et al. A method for supervised training of spiking neural networks[J]. Cybernetic Intelligence, Challenges and Advances, 2003: 11.

[10] Pham D T, Packianather M S, Charles E Y A. Control chart pattern clustering using a new self-organizing spiking neural network[J]. Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture, 2008, 222(10): 1201-1211.

[11] Mohemmed A, Schliebs S, Matsuda S, et al. Span: Spike pattern association neuron for learning spatio-temporal spike patterns[J]. International journal of neural systems, 2012, 22(04): 1250012.

[12] Wysoski S G, Benuskova L, Kasabov N. Fast and adaptive network of spiking neurons for multi-view visual pattern recognition[J]. Neurocomputing, 2008, 71(13-15): 2563-2575.

[13] Kasabov N, Dhoble K, Nuntalid N, et al. Dynamic evolving spiking neural networks for on-line spatio-and spectro-temporal pattern recognition[J]. Neural Networks, 2013, 41: 188-201.

[14] Gütig R, Sompolinsky H. The tempotron: a neuron that learns spike timing–based decisions[J]. Nature neuroscience, 2006, 9(3): 420-428.

[15] Ponulak F. ReSuMe-New supervised learning method for Spiking Neural Networks Technical Report[J]. Institute of Control and Information Engineering, Poznan University of Technology, 2005.

[16] Mohemmed A, Schliebs S, Matsuda S, et al. Span: Spike pattern association neuron for learning spatio-temporal spike patterns[J]. International journal of neural systems, 2012, 22(04): 1250012.

[17] Florian R V. The chronotron: A neuron that learns to fire temporally precise spike patterns[J]. PloS one, 2012, 7(8).

[18] Taherkhani A, Belatreche A, Li Y, et al. DL-ReSuMe: a delay learning-based remote supervised method for spiking neurons[J]. IEEE transactions on neural networks and learning systems, 2015, 26(12): 3137-3149.

[19] Maass W, Natschläger T, Markram H. Computational models for generic cortical microcircuits[J]. Computational neuroscience: A comprehensive approach, 2004, 18: 575-605.

[20] Paugam-Moisy H, Martinez R, Bengio S. Delay learning and polychronization for reservoir computing[J]. Neurocomputing, 2008, 71(7-9): 1143-1158.

[21] Bichler O, Querlioz D, Thorpe S J, et al. Extraction of temporally correlated features from dynamic vision sensors with spike-timing-dependent plasticity[J]. Neural Networks, 2012, 32: 339-348.

[22] Wang J, Belatreche A, Maguire L, et al. An online supervised learning method for spiking neural networks with adaptive structure[J]. Neurocomputing, 2014, 144: 526-536.

[23] Xu B, Gong Y B, Wang B Y. Delay-induced firing behavior and transitions in adaptive neuronal networks with two types of synapses[J]. Science China Chemistry, 2013, 56(2): 222-229.

[24] Shrestha S B, Song Q. Adaptive learning rate of SpikeProp based on weight convergence analysis[J]. Neural Networks, 2015, 63: 185-198.

[25] Sporea I, Grüning A. Supervised learning in multilayer spiking neural networks[J]. Neural computation, 2013, 25(2): 473-509.

[26] Taherkhani A, Belatreche A, Li Y, et al. A supervised learning algorithm for learning precise timing of multiple spikes in multilayer spiking neural networks[J]. IEEE transactions on neural networks and learning systems, 2018, 29(11): 5394-5407.

[27] Zenke F, Ganguli S. Superspike: Supervised learning in multilayer spiking neural networks[J]. Neural computation, 2018, 30(6): 1514-1541.

[28] Neftci E O, Mostafa H, Zenke F. Surrogate gradient learning in spiking neural networks: Bringing the power of gradient-based optimization to spiking neural networks[J]. IEEE Signal Processing Magazine, 2019, 36(6): 51-63.

[29] Mostafa H. Supervised learning based on temporal coding in spiking neural networks[J]. IEEE transactions on neural networks and learning systems, 2017, 29(7): 3227-3235.

[30] Kheradpisheh S R, Ganjtabesh M, Thorpe S J, et al. STDP-based spiking deep convolutional neural networks for object recognition[J]. Neural Networks, 2018, 99: 56-67.

[31] Illing B, Gerstner W, Brea J. Biologically plausible deep learning—But how far can we go with shallow networks?[J]. Neural Networks, 2019, 118: 90-101.

[32] Panda P, Roy K. Unsupervised regenerative learning of hierarchical features in spiking deep networks for object recognition[C]//2016 International Joint Conference on Neural Networks (IJCNN). IEEE, 2016: 299-306.

[33] Lee C, Panda P, Srinivasan G, et al. Training deep spiking convolutional neural networks with stdp-based unsupervised pre-training followed by supervised fine-tuning[J]. Frontiers in neuroscience, 2018, 12: 435.

[34] Neftci E, Das S, Pedroni B, et al. Event-driven contrastive divergence for spiking neuromorphic systems[J]. Frontiers in neuroscience, 2014, 7: 272.

[35] Rueckauer B, Lungu I A, Hu Y, et al. Conversion of continuous-valued deep networks to efficient event-driven networks for image classification[J]. Frontiers in neuroscience, 2017, 11: 682.

[36] Huh D, Sejnowski T J. Gradient descent for spiking neural networks[C]//Advances in Neural Information Processing Systems. 2018: 1433-1443.

[37] Bellec G, Scherr F, Hajek E, et al. Biologically inspired alternatives to backpropagation through time for learning in recurrent neural nets[J]. arXiv preprint arXiv:1901.09049, 2019.

[38] Taherkhani A, Cosma G, McGinnity T M. Optimization of output spike train encoding for a spiking neuron based on its spatiotemporal input pattern[J]. IEEE Transactions on Cognitive and Developmental Systems, 2019.

[39] Xu Y, Yang J, Zeng X. An optimal time interval of input spikes involved in synaptic adjustment of spike sequence learning[J]. Neural Networks, 2019, 116: 11-24.

[40] Wu J, Chua Y, Zhang M, et al. Deep spiking neural network with spike count based learning rule[C]//2019 International Joint Conference on Neural Networks (IJCNN). IEEE, 2019: 1-6.

[41] Orchard G, Meyer C, Etienne-Cummings R, et al. HFirst: a temporal approach to object recognition[J]. IEEE transactions on pattern analysis and machine intelligence, 2015, 37(10): 2028-2040.

[42] Diehl P U, Neil D, Binas J, et al. Fast-classifying, high-accuracy spiking deep networks through weight and threshold balancing[C]//2015 International Joint Conference on Neural Networks (IJCNN). ieee, 2015: 1-8.

[43] Pfeiffer M, Pfeil T. Deep learning with spiking neurons: opportunities and challenges[J]. Frontiers in neuroscience, 2018, 12: 774.

[44] Ramesh B, Yang H, Orchard G M, et al. DART: distribution aware retinal transform for event-based cameras[J]. IEEE transactions on pattern analysis and machine intelligence, 2019.

[45] [Maggi S, Peyrache A, Humphries M D. An ensemble code in medial prefrontal cortex links prior events to outcomes during learning[J]. Nature communications, 2018, 9(1): 1-12.](