Deep Learning in Spiking Neural Networks

作者:Amirhossein Tavanaei, Masoud Ghodrati, Saeed Reza Kheradpisheh, Timoth´ee Masquelier and Anthony Maida
译者:TianlongLee
时间:2019
原文链接:Deep Learning in Spiking Neural Networks

尽管SNN的性能仍有待提高,但是SNN的应用和研究已经逐渐有了起色,其实已经有很多不错的综述文献可以作为入门或者整体把控,这里略作翻译以备查看方便,个别字句略有不顺,个别专业术语可能翻译不当,望见谅,也希望能够对同行有所帮助,欢迎点赞关注评论,共同进步。

摘要

近年来,深度学习彻底改变了机器学习领域,尤其是计算机视觉。在这种方法中,使用反向传播以监督的方式训练深层(多层)人工神经网络(ANN)。虽然需要大量带标签的训练样本,但是最终的分类准确性确实令人印象深刻,有时甚至胜过人类。人工神经网络中的神经元的特征在于单个、静态、连续值的激活。然而生物神经元使用离散的脉冲来计算和传输信息,并且除了脉冲发放率外,脉冲时间也很重要。因此脉冲神经网络(SNN)在生物学上比ANN更现实,并且如果有人想了解大脑的计算方式,它无疑是唯一可行的选择。 SNN也比ANN更具硬件友好性和能源效率,因此对技术,尤其是便携式设备具有吸引力。但是训练深度SNN仍然是一个挑战。脉冲神经元的传递函数通常是不可微的,从而阻止了反向传播。在这里,我们回顾了用于训练深度SNN的最新监督和无监督方法,并在准确性、计算成本和硬件友好性方面进行了比较。目前的情况是,SNN在准确性方面仍落后于ANN,但差距正在缩小,甚至在某些任务上可能消失,而SNN通常只需要更少的操作。

1 引言

人工神经网络(ANN)主要使用具有连续激活值和一组加权输入的理想化计算单元构建。这些单元由于其生物学灵感而通常被称为“神经元”。这些(非脉冲)神经元使用可微的非线性激活函数。非线性激活函数使得堆叠不止一层的网络具有代表性,并且它们导数的存在使得可以使用基于梯度的优化方法进行训练。随着大型可用带标签的数据集的最新发展、通用GPU计算形式的计算能力以及先进的正则化方法,这些网络已经变得非常深(数十层),并且具有泛化为不可视数据的强大能力,这种网络的性能已经有了巨大的进步。

一个独特的历史里程碑是2012年ILSVRC图像分类挑战中AlexNet的成功。 AlexNet之所以被称为深度神经网络(DNN),是因为它由大约八个连续的端到端学习层组成,总共有6000万个可训练参数。有关DNN的最新综述,可以查看若干文献。 DNN在许多应用中都非常成功,包括图像识别、物体检测、语音识别、,生物医学和生物信息学、时间数据处理以及许多其他应用。人工智能(AI)的这些最新进展为开发不同的工程应用以及理解生物大脑如何工作开辟了新途径。

尽管DNN在历史上是受大脑启发的,但与大脑相比,它们的结构、神经计算和学习规则存在根本差异。最重要的区别之一是信息在其单元之间传播的方式,正是这一观察催生了脉冲神经网络(SNN)领域的诞生。在大脑中,神经元之间的通信是通过传播动作电位序列(也称为传到下游神经元的脉冲序列)来完成的。这些单独的脉冲在时间上很稀疏,因此每个脉冲都有很高的信息含量,并且近似具有均匀的幅值(100 mV,脉冲宽度约为1ms)。因此SNN中的信息是通过脉冲时序传达的,包括延迟和脉冲速率,也可能通过群。与实际的生理机制相比,SNN几乎普遍使用理想化的脉冲生成机制。

作为非脉冲DNN的ANN使用连续值激活来进行通信。尽管DNN的能源效率可能会提高,但是SNN在这方面提供了特殊的机会,因为如上所述,脉冲事件在时间上具有稀疏性。脉冲网络还具有对生物神经系统中发生的信息传递的时间特性固有敏感的优势。研究表明,每个脉冲的精确时序对于大脑的多个区域都是高度可靠的,并暗示了在神经编码中的重要作用。脉冲活动中的这种精确的时间模式被认为是感觉信息处理区域和大脑中神经运动控制区域的关键编码策略。 SNN已成为模式识别许多领域的许多近期应用的焦点,例如视觉处理、语音识别和医学诊断。近年来,出现了新一代的神经网络,它融合了DNN(和大脑)的多层结构以及SNN中信息通信的类型,这些深层的SNN非常适合研究神经计算和大脑中的不同编码策略。

在科学动机方面,公认的是,大脑在嘈杂的环境中识别复杂的视觉模式或识别听觉目标的能力是深层脉冲网络中嵌入的多个处理阶段和多种学习机制的结果。与传统深度网络相比,训练深度脉冲网络尚处于初级阶段。理解如何训练这些网络以执行不同的任务是一个重要的科学问题,因为这可以帮助我们生成和研究新的假设,例如速率编码对时序编码,并在进行生理实验之前形成实验思路。在工程动机方面,就专用硬件中的实现而言,SNN具有优于传统神经网络的某些优势。目前,对传统深度网络的有效训练要求使用耗能大的高端图形卡。脉冲网络具有有趣的特性,即可以使输出脉冲序列在时间上稀疏。这在生物网络中的一个优点是脉冲事件会消耗能量,并且使用很少的具有高信息含量的脉冲会减少能量消耗。在硬件中保持了相同的优点。因此,可以基于脉冲在时间上稀疏的特性来制造低能耗的脉冲硬件。

深度神经模型学习中的重要部分,包括脉冲和非脉冲,都发生在特征发现的层次结构中,在这个层次结构中,获取的特征越来越复杂且具有区别性、抽象性和不变性。鉴于以上提到的科学和工程动机,深度SNN为开发有效的、类脑的表示方法提供了合适的体系结构。另外,灵长类动物大脑中的模式识别是通过多层神经回路完成的,这些回路通过脉冲事件进行通信。这自然引起人们对在大脑擅长的应用(例如模式识别)中使用人工SNN的兴趣。原则上,受生物启发的SNN具有比传统的速率编码网络更高的表示能力和容量。此外,SNN允许使用一种生物启发式的学习(权重修改),该学习方式取决于直接连接的神经元对之间的脉冲的相对时序,在这些连接中,权重修改所需的信息可局部的。这种局部学习类似于在大脑许多地方发生的显著性的学习。

脉冲序列由Dirac delta函数之和形式表示,不具有导数。这使得很难使用基于导数的优化来训练SNN,尽管最近的工作已经探索了各种类型的替代或近似导数的使用。这就提出了一个问题:如果基于导数的优化不可用,大脑中的神经网络将如何训练?虽然脉冲网络在理论上已经显示出具有Turing等效的计算能力,训练SNN,尤其是使用多层学习的深度SNN仍然是一个挑战。在许多现有的脉冲网络中,学习仅限于单个层,例如文献[1][2][3]。向脉冲网络配备多层学习是一个开放的领域,可以极大地提高其在不同任务上的性能。先前研究的主要核心是基于这样一个事实,即以脉冲的定时进行编码会携带有用的信息,并在生物系统中展现出强大的计算能力。

在这里,我们回顾最近在开发SNN中的深度学习模型方面的研究,重点是:

  • 描述SNN的体系结构及其学习方法;
  • 回顾由前馈、全连接的脉冲神经层组成的深层SNN;
  • 脉冲卷积神经网络;
  • 回顾脉冲受限Boltzmann机器和脉冲深度信念网络;
  • 回顾递归SNN;
  • 提供了一个比较全面的总结,比较了最近的深度脉冲网络的性能。

我们希望这篇综述将有助于人工神经网络领域的研究人员开发和扩展高效和高性能的深度SNN,并且还将促进神经科学未来的实验和理论工作的交叉应用。

2 脉冲神经网络:一种生物启发的信息处理方法

在过去的几十年中,作为强大的第三代神经网络,SNN的引入激励了许多研究,重点是基于生物学的模式识别方法。 SNN最初是受到大脑和神经元进行信息转换所使用的通信方案的启发,该转换通过自适应突触中时间上离散的动作电位(脉冲)完成。在生物神经元中,由突触前刺激引起的膜电位变化的总和超过阈值时,会产生脉冲。脉冲产生的速率和脉冲序列的时间模式携带有关外部刺激的信息和正在进行的计算。 SNN使用非常相似的过程来生成脉冲和信息。在以下各节中,我们将解释适用于这些类型网络的SNN架构和学习方法的详细信息。

2.1 SNN结构

SNN体系结构由脉冲神经元和互连的突触组成,这些突触由可调节的标量权重建模。实现SNN的第一步是使用基于速率的方法、某种形式的时间编码或群体编码将模拟输入数据编码为脉冲序列。如前所述,大脑中的生物神经元(和仿真的脉冲神经元类似)从神经网络中的其他神经元接收突触输入。生物神经网络既具有动作电位生成动力学,又具有网络动力学。与真正的生物网络相比,人工SNN的网络动力学得到了极大的简化。在这种情况下,假设建模的脉冲神经元具有纯阈值动力学是有用的(与例如不应期、滞后,共振动力学或抑制后反弹特性形成对比)。突触前神经元的活动调节突触后神经元的膜电位,当膜电位超过阈值时产生动作电位或脉冲。Hodgkin和huxely是第一个模拟这种现象的人。具体来说,他们从乌贼轴突的细胞膜中离子通道的电压门控特性中建立了一个动作电位生成模型。在具有大量的生物学细节和高计算成本的HH模型之后,人们提出了多种神经元模型,例如脉冲响应模型(SRM)、Izhikevich神经元模型、以及泄漏整合放电(LIF)神经元。 LIF模型非常受欢迎,因为它可以捕获外部输入的直观特性,从而以明确的阈值在整个泄漏的细胞膜上累积电荷。

脉冲神经网络中的脉冲序列通过突触连接传播。突触既可以是兴奋性的,可以在接受输入时增加神经元的膜电位,也可以是抑制性的,可以降低神经元的膜电位。学习的结果可以改变自适应突触的强度(权重)。 SNN的学习规则是开发多层(深度)SNN的最具挑战性的组成部分,因为脉冲序列的不可微性限制了流行的反向传播算法。

2.2 SNN学习规则

如前所述,在几乎所有的神经网络中,无论是脉冲还是非脉冲,学习都是通过调整标量值的突触权重实现的。脉冲使不能在非脉冲网络中直接复制的生物可解释的学习规则变得可行。神经科学家已经确定了该学习规则的许多变体,这些变体总体上讲属于脉冲时序依赖可塑性(STDP)。它的关键特征是,根据突触前和突触后神经元的相对脉冲时间,在大约数十毫秒的时间间隔内调整连接突触前神经元的权重。用于执行权重调整的信息对于突触来说既是局部的,在时间上也是局部的。接下来的小节描述了无监督和监督的SNN中常见的学习机制。

2.2.1 STDP无监督学习

如上所述,SNN中的无监督学习通常将STDP纳入学习机制。生物STDP的最常见形式具有非常直观的解释。如果突触前神经元在突触后神经元之前不久触发(大约10毫秒),则连接它们的权重会增加。如果突触后神经元在突触后神经元后不久触发,则时间事件之间的因果关系是虚假的,权重会减弱。增强称为长时程增强(LTP),减弱称为长时程抑制(LTD)。短语“长时程”用于区分实验中观察到的几毫秒范围内的非常短暂的影响。

下面的公式是通过拟合实验数据对一对脉冲进行了实验上最常见的STDP规则的理想化。
Δw={Ae−(∣tpre−tpost∣)τtpre−tpost≤0,A>0Be−(∣tpre−tpost∣)τtpre−tpost>0,B<0\Delta w = \begin{cases} Ae^{\frac{-(|t_{pre}-t_{post}|)}{\tau}} & t_{pre}-t_{post}\leq0,A>0\\ Be^{\frac{-(|t_{pre}-t_{post}|)}{\tau}} &t_{pre}-t_{post}>0,B<0\end{cases} Δw={Aeτ−(∣tpre​−tpost​∣)​Beτ−(∣tpre​−tpost​∣)​​tpre​−tpost​≤0,A>0tpre​−tpost​>0,B<0​
www是突触权重, A>0A>0A>0和B<0B<0B<0通常是指示学习率的常数参数, τ\tauτ是时间学习窗口的时间常数(例如15ms)。以上公式中的第一种情况描述LTP,而第二种情况描述LTD。效果的强度由衰减指数调制,衰减指数的大小由突触前和突触后脉冲之间的时间常数比例时间差控制。人工SNN很少使用此确切规则。他们通常使用变体,以实现更多的简单性或满足便利的数学特性。

除了上式中描述的在时间和空间上局部权重的变化, STDP具有重要的时间累积网络级效应。例如,STDP会影响神经元响应可能嵌入到随机脉冲序列中的重复脉冲模式的行为。一个神经元(配有经STDP训练的突触)与类似的脉冲同时出现,能够集中于持续较早发放脉冲(较短延迟)的传入神经。大脑许多区域的脉冲训练是高度可复制的。 文献[4]表明,向配备有STDP的SNN呈现重复输入会影响神经元对SNN内刺激模式的选择性。具体而言,随着STDP的进行,突触后电位的反应延迟缩短。减少突触后延迟可加快神经处理速度。因此神经元对特定输入模式的响应比对任何其他输入模式的响应更快。实际上,STDP规则着眼于输入模式的第一个脉冲,其中包含模式识别所需的大多数信息。基于STDP的单个神经元可以检测和学习重复的时空模式[5]。即使缺少明确的时间参考,STDP也可以解决定位重复的时空脉冲模式和确定何种形式的时间编码的困难计算问题。使用这种方法,已经开发出了具有多个输出神经元的更复杂的网络。

2.2.2 无监督STDP的概率特性

许多研究提供了证据,表明在大脑中至少发生了近似的贝叶斯感官刺激分析。在贝叶斯推理中,使用先验知识和新观察的概率来推断隐藏原因(例如特定类别对象的存在),以得出可能原因的后验概率。研究人员认为概率(贝叶斯)计算可能是大脑中STDP过程主要信息处理步骤。

文献[6]表明,当Poisson脉冲输入神经元结合适当的随机赢家通吃(WTA)环路一起使用时,STDP能够近似随机在线期望最大化(EM)算法进行多项式混合分布参数的学习。该模型旨在具有某些生物可解释性。下式显示了其网络中使用的STDP规则。如果突触前神经元在突触后神经元之前不久触发(例如在ϵ=10ms\epsilon =10 msϵ=10ms内),则会发生LTP,否则发生LTD。通过输出神经元发放脉冲,从隐藏变量的编码后验分创建一个样本,可被视为EM算法中的E-step。 激活的输出神经元突触中的STDP应用指定了EM中的M-step。内斯勒等。文献[7]通过使用抑制性神经元来扩展了他们的网络实现了WTA,从而提高了模型在皮层微电路中嵌入的兼容性。
Δwki={e−wki−1,0<tkf−tif<ϵ−1,otherwose\Delta w_{ki}=\begin{cases} e^{-w_{ki}-1} , &0<t_k^f-t_i^f < \epsilon \\ -1, & otherwose\end{cases} Δwki​={e−wki​−1,−1,​0<tkf​−tif​<ϵotherwose​
在上述随机WTA电路的基础上,文献[8]开发了一种包含输入神经元、WTA环路的蓄水池和线性输出读出的液体状态机(LSM)。进一步的扩展表明,应用于侧向兴奋性突触和传入神经元的突触的STDP,都能够代表这种时空输入模式的潜在统计结构[9]。在此框架中,可以将WTA环路生成的每个脉冲序列视为来自隐马尔可夫模型(HMM)状态空间的样本。

文献[6][7]中介绍的STDP模型的一个缺点是其兴奋性突触权重为负。但是这可以通过使用LTP规则中的常量参数将权重偏移为正值来解决。基于这种想法,Tavanaei[10]和Maida[11]提出了一种用于时空模式识别和口语单词分类的无监督规则。已经表明,在SNN中获取的EM能够在嵌入HMM状态的高斯混合模型(GMM)中近似实现EM算法。

最近,利用概率学习在脉冲神经元中对隐藏的原因进行建模已经引起了人们的注意。 文献[12]基于感知和隐藏原因的联合分布,提出了一种生物可解释的学习规则,以适应自发脉冲序列以匹配实际脉冲序列的经验分布。学习策略涉及最小化KL散度作为表示模型分布(SNN)与目标分布(观测值)之间的非交换距离度量。递归SNN中的EM算法和结合固有可塑性的STDP生成的神经元之间的概率关联是SNN中概率学习的另外两个实例。概率规则也已用于序列数据处理和由脉冲神经元的随机触发活动解释的马尔可夫链蒙特卡洛采样中。

2.2.3 监督学习

所有的监督学习都要使用一些标签。最常见的是,监督学习通过对比较观察和期望的网络的损失函数进行梯度下降进行权重调整。在SNN中,监督学习尝试最小化期望与输出脉冲序列中的误差,有时也称为读出误差。

2.2.3.1 与反向传播有关的SNN问题

从生物学的角度出发,人们对反向传播训练程序是否可以在大脑中直接实施持怀疑态度。关于SNN,从以下公式可以看出两个突出的问题。下面显示的是从链式规则获得的核心公式,该公式出现在反向传播的所有变体中[101]。
δjμ=g′(ajμ)∑kwkjδkμ\delta_{j}^{\mu}=g^{\prime}\left(a_{j}^{\mu}\right) \sum_{k} w_{k j} \delta_{k}^{\mu} δjμ​=g′(ajμ​)k∑​wkj​δkμ​
上式δjμ\delta^{\mu}_{j}δjμ​和δkμ\delta^{\mu}_kδkμ​分别表示网络对任意单元j、kj、kj、k对输入模式μ\muμ的响应损失函数的导数,单元j将直接投影到前馈连接的以kkk为索引的单元集。g(⋅)g(·)g(⋅)是应用于单元jjj的输入的激活函数,其中该输入表示为ajμa_j^{\mu}ajμ​。wkjw_{kj}wkj​是从单元jjj投射到以kkk为索引的一组单元的前馈权重。

等式的RHS的两个部分都表现出提出了反向传播的生物可解释的脉冲版本的难点。首先,表达式g′(⋅)g^{\prime}(·)g′(⋅)需要基于wkjw_{kj}wkj​的g(⋅)g(·)g(⋅)。由于g(⋅)g(·)g(⋅)适用于脉冲神经元,它很可能用狄拉克(Dirac)函数的总和表示,这意味着该导数不存在。第二种更为严重的复杂性适用于脉冲和非脉冲网络,称为“权重转换”问题。问题如下。表达式∑kwkjδkμ\sum_{k} w_{k j} \delta_{k}^{\mu}∑k​wkj​δkμ​以反馈方式使用前馈权重wkjw_{kj}wkj​。这意味着必须存在匹配的对称反馈权重,并将其准确地投射到正确的神经元(点对点反馈),以便使得上式可用。

在文献中,通常通过使用替代或近似导数解决第一个问题。必须意识到这些解决方案中的一些方法不是生物合理的。例如使用突触前神经元的膜电位作为替代品就成为问题,因为它的值在突触中不是局部的。但是从工程和科学的角度来看,这些方法仍然有用。

文献[13][14]最近在第二个问题上取得了进展。在文献[13]中表明,对于某些任务,如果使用随机反馈权重,反向传播仍然可以很好地执行。文献[14]中的作者进一步探讨了这一点,研究了三种反馈(均匀、随机和对称)。他们发现,简单的问题可以通过任何一种反馈来解决,而复杂的问题则需要对称反馈。

2.2.3.2 SNN的一些监督学习算法

SpikeProp [15]似乎是第一个通过反向传播误差训练SNN的算法,他们的损失 函数考虑了脉冲时序,SpikeProp能够使用三层体系结构针对时间编码的XOR问题对非线性可分离数据进行分类。他们的关键设计选择之一是对脉冲神经元使用脉冲响应模型(SRM)。使用SRM模型,避免了对隐层单元的输出脉冲取导数的问题,因为可以将这些单元的响应直接建模为连续值PSP,并将其应用于预测的输出突触。这项工作的局限性在于每个输出单元都只能精确地发放一个脉冲,连续变量值(例如在时间扩展的XOR问题中)必须被编码为可能相当长的脉冲时间延迟。

SpikeProp的后序高级版本Multi-SpikeProp适用于多脉冲编码。使用与SpikeProp相同的神经体系结构,新的脉冲时序编码和脉冲时间误差公式改善了脉冲反向传播算法。 Wu等人提出了SNN中反向传播的最新实现,在多层SNN中进行时空梯度下降。

SNN的监督训练的最新方法包括ReSuMe(远程监督学习)、Chronotron和SPAN(脉冲模式关联神经元)等。所有以上模型均由单个脉冲神经元组成,该脉冲神经元接收来自许多突触前脉冲神经元的输入,目的是训练突触,使突触后神经元产生具有期望的脉冲时间的脉冲序列。

ReSuMe将最初用于非脉冲线性单位的Widrow-Hoff(Delta)规则调整为SNN。 Widrow-Hoff规则权重变化与期望输出减去观察输出成正比,如下所示。
Δw=(yd−y∘)x=ydx−y∘x\Delta w=\left(y^{\mathrm{d}}-y^{\circ}\right) x=y^{\mathrm{d}} x-y^{\circ} x Δw=(yd−y∘)x=ydx−y∘x
其中xxx是突触前的输入,ydy^dyd和yoy^oyo分别是期望的输出和观察到的输出。当按照RHS所示进行扩展并针对SNN重新定义时,该规则可以表示为STDP和anti-STDP的总和。即,训练兴奋性突触的规则采用以下形式:
Δw=ΔwSTDP(Sin,Sd)+ΔwaSTDP(Sin,So)\Delta w=\Delta w^{\mathrm{STDP}}\left(S^{\mathrm{in}}, S^{\mathrm{d}}\right)+\Delta w^{\mathrm{aSTDP}}\left(S^{\mathrm{in}}, S^{\mathrm{o}}\right) Δw=ΔwSTDP(Sin,Sd)+ΔwaSTDP(Sin,So)
在上文中,ΔwSTDP\Delta w^{STDP}ΔwSTDP是突触前和期望脉冲序列的相关性的函数,而ΔwaSTDP\Delta w^{aSTDP}ΔwaSTDP取决于突触前和观察到的脉冲序列。因为学习规则使用的是教师神经元(期望的输出)和输入神经元之间的相关性,所以没有直接的物理联系。这就是为什么在短语“远程监督学习”中使用“远程”一词的原因。尽管在上述等式中并不明显,但是学习受到典型STDP窗口的限制。 Chronotron的开发是为了改进Tempotron ,它具有训练单个神经元通过输入脉冲的精确时序识别编码的能力。 Tempotron的局限性在于只能在预定间隔内输出0或1个脉冲。因此,输出未对脉冲时序信息进行编码。这排除了Tempotron将其输出有意义地发送到另一个Tempotron的能力。 Chronotron的动机类似于SpikeProp及其后续产品。 Chronotron的创新之处在于将受监督的训练基于更复杂的距离测量,即两个脉冲序列之间的Victor-Purpora(VP)距离度量。此度量标准是“通过创建、删除或移动脉冲来将一个脉冲序列转换为另一个脉冲序列的最低损失”。他们调整了VP距离,以使它作为损失函数可以分段和可取,以对权重进行梯度下降。

类似于ReSuMe,SPAN模型从Widrow-Hoff规则发展其学习算法。但是SPAN并未将规则适应于SNN,而是通过te−tτte^{\frac{-t}{\tau}}teτ−t​形式的alpha核的数模转换,使SNN与Widrow-Hoff兼容。由于这是建模突触后电位的常用公式,因此此步骤实际上将所有脉冲转换为PSP的线性求和。请注意,这类似于本小节的开头描述的SpikeProp。学习规则可以写成
Δw∝∫x~i(y~d(t)−y~o(t))dt\Delta w \propto \int \tilde{x}_{i}\left(\tilde{y}_{\mathrm{d}}(t)-\tilde{y}_{o}(t)\right) d t Δw∝∫x~i​(y~​d​(t)−y~​o​(t))dt
其中,波浪符号表示脉冲序列的模拟版本,积分范围覆盖了相关的局部时间间隔。

在文献[16],观察到以前的基于梯度的学习方法仍然具有以下局限性:必须预先指定输出脉冲的数量和时序,这限制了它们的应用能力。他们用窄的支撑门函数g(⋅)g(·)g(⋅)代替了硬脉冲阈值,使得g(v)≥0g(v)\geq 0g(v)≥0且∫gdv=1\int gdv=1∫gdv=1,而vvv为膜电位。凭直觉,这允许在膜电位接近阈值时释放建模的突触后电流,从而导致脉冲生成机制的连续性。从实验上发现,权重更新发生在脉冲时间附近,“与奖励调制的STDP非常相似”,从而增强了模型的生物学意义。

文献[17]提出了一种监督学习方法(BP-STDP),将反向传播更新规则转换为多层SNN的时间局部STDP规则。对于MNIST基准,该模型获得的精度可与同等大小的传统网络和脉冲网络相媲美。

SNN中监督学习的另一种实现可以基于优化突触后脉冲的似然和概率,以匹配所需的脉冲。 Pfister等。文献[18]开发了一个模型,以优化在一个或多个期望时间的突触后发放的可能性。他们提出了SRM神经元模型的修改版本,使其对膜电位使用随机阈值。

在监督学习的另一种方法中,每个输出神经元代表一类数据(模式)。输出神经元竞争着被选择以及响应输入模式。在这种方法中,激活目标神经元会导致传入突触的STDP,激活非目标神经元会导致anti-STDP。这种方法已成功用于SNN中的数字数据分类、手写数字识别、口头数字分类和SNN中的强化学习。基于即时STDP和anti-STDP的突触权重适应能力强,可以快速学习。

3 SNN中的深度学习

深度学习使用具有多层可训练参数的体系结构,并已在机器学习和A1应用中证明了出色的性能。通常通过使用基于反向传播的优化算法对深度神经网络(DNN)进行端到端训练。灵长类动物大脑中的多层神经结构激发了研究人员去关注非线性神经层的深度,而不是使用带有许多神经元的浅层网络。同样,理论和实验结果表明,深结构而不是宽结构具有更好的性能。深度神经网络通过非线性的、可微分的激活函数所装备的神经元的连续层来提取复杂的特征,从而为反向传播算法提供合适的平台。下图描述了具有几个隐藏层的深层NN架构。

简单的深度神经结构,通常是全连接的,带有输入、隐层和输出层。输入层学习对输入执行预处理,然后将信息发送到一系列隐藏层,其数量可以变化。随着信息通过隐藏层传播,将提取并学习更复杂的特征。输出层通常通过softmax进行分类并确定输入刺激的标签。

对于大多数分类问题,深度网络的输出层使用softmax模块。训练向量使用one-hot编码。在one-hot编码中,每个向量分量对应于可能的类别之一。该向量是二进制的,恰好有一个分量设置为1,对应于所需的目标类别。用于输出层的softmax模块保证每个输出单元的值都落在(0,1)(0,1)(0,1)范围内,并且总和为1。这给出了一组互斥和穷举的概率值。下面给出softmax公式,有时也称为归一化指数
yi=exp⁡(ai)∑jexp⁡(aj)y_{i}=\frac{\exp \left(a_{i}\right)}{\sum_{j} \exp \left(a_{j}\right)} yi​=∑j​exp(aj​)exp(ai​)​
其中,aia_iai​是特定输出单元的输入,jjj索引一组输出单元,yiy_iyi​是输出单元iii的值,该值落在(0,1)(0,1)(0,1)范围内。

除了上图讨论的全连接架构之外,3.2部分中讨论了深度卷积神经网络(DCNN),3.3部分讨论了深层信念网络(DBN),3.4部分讨论了递归神经网络(RNN)。

SNN在许多模式识别任务中也显示出令人鼓舞的性能。但是,直接训练的脉冲深层网络的性能不如文献中的传统DNN好。因此,由于在DNN硬件实现中的重要性,具有出色性能的可与传统深度学习方法相比的脉冲深层网络(脉冲DNN、脉冲CNN、脉冲RNN或脉冲DBN)是一个具有挑战性的话题。

Masquelier和Thorpe开发了最早的脉冲神经元前馈分层卷积网络之一,用于无监督学习视觉特征[19]。该网络已扩展用于更大的问题,例如文献[20]。使用带有概率解释的STDP规则,该模型的性能后来在不同的对象识别任务中得到了改善。进一步的尝试催生了几种带有STDP学习的多层SNN,它们在自适应多视图模式识别和手写数字识别中表现出色。这些模型大多使用一层或多层进行预处理、一层学习层和一层分类器(输出神经元)层。尽管这些网络被称为多层SNN,但它们不提供多层学习。具体来说,即使这些SNN具有许多处理层,它们也仅限制在通过一个可训练层来学习。

受神经形态平台的功效和生物可解释性的鼓舞,近期许多研究集中在为这些平台开发深度SNN。以前脉冲体系结构中探索有监督和无监督学习规则的研究可以用来开发特征提取和分类模块的层次结构。现有的深度SNN的表现不如传统深度学习模型那么准确。但是,SNN提供了模仿大脑功能的高能效平台,来解决复杂问题,尤其是在自主对象的新趋势上。因此,开发一种与SNN一样有效且生物可解释同时像DNN同样强大的神经网络来执行不同的任务,可能是人工智能和计算神经科学领域的下一个挑战性课题。可以通过将训练后的神经网络转换到脉冲平台或使用基于脉冲的在线学习方法来作为深度脉冲框架的尝试。

其余的小节将介绍先进的深度学习方法,这些方法涵盖了深度全连接的SNN,脉冲CNN、脉冲DBN和mai chong脉冲RNN。

3.1 深度全连接SNN

最近的研究使用STDP和随机梯度下降技术开发了许多深度SNN。由许多基于脉冲突触可塑性规则的LIF神经元组成的脉冲网络已在不同模式识别任务中显示出了成功。 Diehl等人[21]表明,两层SNN中的STDP能够从刺激中提取出具有区别性的特征和模式。他们使用[22]引入的无监督学习规则,训练SNN在MNIST数据集上进行数字识别,其最佳性能为95%。

为了将生物可解释的学习方法和传统的学习算法结合到神经网络中,最近开发了许多深度的SNN。例如,Bengio等人[23]提出了一种使用向前和向后神经活动传播的深度学习方法。该网络中的学习规则基于STDP实施梯度下降学习规则的思想。 文献[24]使用突触前和突触后脉冲序列,利用突触前和突触后脉冲计数的外积为深SNN中开发了反向传播算法。他们在MNIST基准上显示出多层脉冲感知器的高性能(97.93%),与配备了整流线性单元(ReLU)的传统深度神经网络的性能(98.37%)相当。最近,文献[25]提出了一种反向传播算法,通过将神经元的膜电位作为可微分的信号来处理,以类似于传统神经网络中的非线性激活功能。在他们的实验中,MNIST的性能为98.88%,而在他们的实验中,计算操作的数量比传统DNN少五倍。为了进一步减少深度SNN学习中的计算消耗,Neftci等人[26]提出了一种事件驱动的随机反向传播(eRBP)算法,简化了反向传播链路径。 eRBP规则使用了误差调节的突触可塑性,其中用于学习的所有信息都可以在神经元和突触处局部获得。

图2:由Lee等人提出的配备反向传播功能的Deep SNN。等[57]。神经元的激活值at,i由神经元的膜电位给出。由神经元的兴奋性输入,侧向抑制和阈值计算出的可微分激活函数用于使用链法则进行反向传播。当前层(第1层)的输出激活值在反向传播算法中用作下一层的输入。

利用高效的SNN的更直接方法是将离线训练的DNN转换为神经形态强化平台(ANN到SNN),专门用于硬件实现。为了替代DNN中的浮点激活值,通常使用基于速率的编码,其中将较高的激活值替换为较高的脉冲速率。使用这种方法,已经开发了几种模型,这些模型获得了出色的精度性能。为了评估深层SNN的功耗,Neil等人研究了许多不同的模型,所有这些模型在MNIST数字识别任务上均达到了98%的相同准确率,他们都使用相同的784-1200-1200-10三层架构,但在ANN到SNN的转换中应用了优化的参数和SNN架构设置,以减少模型的功耗和延迟。 DNN及其转换后的深度SNN的性能与所需的全部操作的关系如图所示。

图3:与传统的(非脉冲)深层神经网络相比,通过从离线训练的深层神经网络转换而来的深层SNN来实现MNIST分类的给定精度所需的操作总数。垂直虚线表示不加脉冲的深度神经网络达到98%的精度所需的操作数。其他曲线显示了522个深度SNN(具有不同的网络设置)的准确性与操作次数的关系。粉色曲线表示在计算限制内达到不到98%精度的网络。水平轴上的彩色垂直线表示相应SNN达到98%准确度的操作次数。

3.2 脉冲卷积神经网络

深度卷积神经网络(DCNN)主要用于涉及图像的应用,它们由一系列卷积和池化(子采样)层组成,后跟如第一个图所示的前馈分类器。这种类型的网络在图像识别、语音识别、生物信息学、物体检测和分割等表现了出色的性能。下图显示了LeNet架构,它是早期的深度CNN,用于图像分类。问题是,如何在融合传统CNN属性的同时训练具有这种架构的脉冲CNN。在视觉的情况下,卷积的第一层被解释为提取主要的视觉特征(有时类似由Gabor滤波器输出的定向的边缘检测器)。随后的层出于分类目的提取越来越复杂的特征。池化层执行二次采样,并使用算术运算,例如取相关特征图中的神经元平方邻域上的最大值或平均值,减小前一层的尺寸。在分层结构的后期,这些层会形成方向、比例和局部平移的的不变性。

LeNet:网络由两个卷积池化层接全连接层用于图像分类

上文提到的CNN中早期层的表征特性类似于初级视觉皮层(V1)中的神经元的响应特性,初级视觉皮层(V1)是灵长类动物大脑视觉层级中的第一个皮质区域。例如,V1区域中的神经元从输入图像中检测出主要的视觉特征,例如定向的边缘。每个V1神经元对特定方向具有选择性,这意味着当呈现具有此方向的刺激时,仅对此方向的选择性神经元会做出最大响应。表示学习方法使用诸如自编码器和稀疏编码之类的神经网络,学会发现类似于V1中的感受野特性的视觉特征。生物启发式SNN在稀疏编码、独立分量分析(ICA)和基于STDP的自动编码器的表示学习中也有一些研究。

如前所述,CNN通常在较早的层中使用类似于V1的感受野滤波核,通过将内核在输入(例如图像)上进行卷积来从刺激中提取特征。随后的层结合前一层的核来学习越来越复杂和抽象的刺激特征。表征滤波器(训练或手工制作)和STDP学习规则可用于开发脉冲CNN。由局部的基于脉冲的表示学习算法训练的卷积、池化层如下图所示。许多脉冲CNN的第一层中使用手工卷积核,并获得了较高的分类性能。高斯差分(DOG)是一种常见的手工滤波器,用于提取SNN早期层中的特征。这种选择是出于生物动机来模仿哺乳动物初级视觉皮层的输入。最近的一项研究使用了DOG滤波器层作为SNN的输入层,随后是STDP训练的卷积池化层[27]。该网络结构提取视觉特征,这些视觉特征被送到到SVM分类器,在MNIST上的准确度为98.4%。为了训练卷积滤波器,在最近的脉冲CNN中实施了分层脉冲表示学习方法。 Tavanaei等人[28]使用SAILnet[29]来训练脉冲CNN初始层中使用的方向选择性核。该网络中的卷积层后面是带有STDP变式的特征发现层,以提取视觉特征进行分类。堆叠式卷积自编码器在MNIST(99.05%)上的性能得到了进一步的提高,可以与传统的CNN相当。

表示学习(SAILnet)用于对脉冲CNN进行分层无监督学习。连接到表示层中神经元的兴奋性突触权重指定卷积滤波器。这个架构决定了可以利用单层SNN中的表示学习来训练逐层增强的CNN。

非脉冲的CNN使用反向传播算法进行训练。最近,反向传播也已用于训练脉冲CNN 。 Panda和Roy[30]使用[31]中提出的近似值,展示了如何使用反向传播构建分层的脉冲卷积自编码器(AE)。脉冲卷积自编码器是用于实现深脉冲CNN的重要模块。他们的概念验证实现(SpikeCNN)在MNIST数据集(手写数字)上使用了两个学习层,在CIFAR-IO数据集上(十类微小图像)使用了三个学习层。他们使用卷积层的局部、逐层学习,而Lee等人[32]开发了一种端到端的梯度下降学习方法。两种方法都使用神经膜电位替代可微分的激活函数,以应用反向传播算法。Lee等人的方法(对于脉冲的CNN)比分层卷积自动编码器表现出更好的性能。在这些模型中,较高的膜电位与较高的脉冲概率相关。

利用脉冲平台同时避免脉冲CNN训练过程的主要方法是使用训练后的突触权重将已经训练的CNN转换为脉冲体系结构,类似于ANN到SNN的转换方法。许多研究表明,转换后的脉冲CNN的性能很高(接近常规CNN),同时使用较少的操作并消耗更少的能量,这使得深度CNN在硬件上得以实现。用于节能模式识别的最初成功的CNN到SNN转换方法之一是下图所示的体系结构。后来,Diehl等人[33]使用权重归一化改进了该架构,以减少性能损失。 Rueckauer等人的最新工作[34]提出了几种转换标准,以使新的脉冲CNN能够识别比MNIST更困难的对象(例如CIFAR-10和ImageNet)。

由Cao等人开发的脉冲CNN架构。经过预处理的输入图像会根据像素强度转换为脉冲序列。脉冲层使用由非脉冲CNN训练的权重。最后一个组件选择具有最大活动性(脉冲发放率)的神经元作为图像类别。

3.3 脉冲深度信念网络

深度信念网络(DBN)是Hinton等人最初开发的一种多层网络。它们有效地使用了贪婪的分层无监督学习,并且由随机的二进制单元组成,这意味着该单元的二进制状态将使用概率函数进行更新。逐层方法堆叠了称为受限玻尔兹曼机(RBM)的单层预训练学习模块。RBM中的表示层对横向连接进行了限制。这使学习算法可以在给定特定输入状态的情况下,通过利用表示单元之间的独立性假设来优化表示。原始DBN体系结构已在MNIST数据集上成功地进行了训练,如下图所示。RBM通过对比散度(CD)逐层训练,近似于最大似然学习算法。与反向传播不同,CD更新方程式不使用导数。如果有标签数据可用,则通过反向传播对预训练的层次进行微调。 DBN为特征提取、表示和通用近似提供分层结构。

Lee等人[35]在稀疏度项上使用具有下降梯度的交错CD来实现稀疏DBN,该稀疏DBN用于对皮层视觉区域VI和V 2进行建模。模型的进一步扩展催生了卷积稀疏DBN 。通过重新定义能量函数使其与卷积网络的约束权重一致,然后使用Gibbs采样来实现适当的权重更新规则,可以实现此目的。 DBN和卷积DBN已成功应用于许多领域,例如视觉处理、音频处理、时间序列预测和蛋白质折叠。

开发脉冲DBN的第一步是从脉冲RBM开始。图中显示了Neftci等人介绍的脉冲RBM的体系结构[36]。脉冲的RBM使用随机整合放电神经元,而不是标准RBM中的无记忆随机单元。 文献[36]表明,在特定类型的脉冲网络的背景下,STDP的变体可以近似CD。即,针对脉冲网络的学习分布与等效非脉冲网络的学习分布具有相同的统计属性,从而建立了重要的基础结果。

a):Hinton等人提出的DBN,用于MNIST图像分类。该网络由具有500、500和2000个表示神经元的三个堆叠的RBM组成。输入和输出分别包括784(作为像素数,28 x 28)和10(作为类数,0,…,9)神经元。 b):Neftci等人引入的脉冲RBM体系结构。由500个隐藏神经元、784个输入神经元和40个类神经元(824个可见神经元)组成。

开发功能脉冲DBN的一种方法是将先前训练的DBN转换为脉冲平台,类似于SNN或脉冲CNN的转换方法。 O’Connor等人[37]介绍了第一个脉冲DBN,将DBN转换为LIF脉冲神经元网络以进行MNIST图像分类。之后这项工作得到了扩展,以开发出抗噪能力强的脉冲DBN,并且符合硬件约束。脉冲的DBN和RBM具有高能效,这使它们可以在低延迟的硬件上实现,其精度接近传统DBN的精度。

最近一些研究表示,所谓的“混合”玻尔兹曼机(HBM)和Hopfield网络之间存在等效关系。 HBM是受限的Boltzmann机器,其中隐藏(表示)单元可以采用连续值(而可见单元仍具有二进制值)。HBM内部的功能在隐藏的单元上被边缘化,Hopfield和HBM系统在热力学上都是等效的。尽管Hopfield网络主要用作模式关联模型,但热力学等效性允许它们通过HBM进行模拟。在HBM中,N个二进制可见单元对应于Hopfield网络中的二进制随机神经元,而HBM中的P个隐藏单元对应于Hopfield网络中的存储模式。 HBM提供了一种使用更少的突触来仿真Hopfield网络的新方法。具体来说,Hopfield网络需要更新N个神经元和N/(N−1)/2N/(N-1)/2N/(N−1)/2个突触,而HBM需要H+PH+PH+P个神经元并更新HPHPHP个突触,其中P是存储模式的数量。

3.4 循环SNN

如果神经网络的有向图表示有循环,则该神经网络是递归的。具有赢家通吃(WTA)模块或softmax模块的任何网络都至少是隐式循环的,因为在大脑中等效的功能是通过相互循环的抑制性连接实现的。通过反向传播训练的任何网络也都是隐式循环的,因为训练算法(如本节所述)都以存在递归连接为前提。本节分别讨论了门控SNN和蓄水池模型。这两种类型的模型都旨在处理序列数据。前者处理时空数据,通常用作皮层微环路的模型,后者则只关注序列数据。

3.4.1门控SNN

递归神经网络(RNN)用于处理时间信息。训练RNN的最常见方法是时间反向传播(BPTT),它可以将递归网络展开过去的若干步,然后训练展开的网络,就好像它是前馈网络一样。由于相同的循环权重在所有展开的层中共享,从而形成了前馈网络,因此在长序列训练中存在一些问题,特别是梯度消失和爆炸的出现。在前者的情况下,网络停止学习,而在后者的情况下,训练变得不稳定。

由于这些问题,文献[38]中的研究引入了一种称为恒定误差轮播(CEC)的创新的递归网络,该创新避免了导数的重复乘法。这些已被称为门控循环网络,实际上已经取代了传统的RNN。第一个门控循环网络是长短期记忆(LSTM)。 LSTM和其他门控递归网络(GRU)在不使用脉冲神经元的意义上是就常规的ANN,但当替换了与带有状态和门的细胞具有连接的单元时,它们也是非常规的,因此可以很容易地适应输入序列的结构。门可以控制信息的流入、流出以及在内部的流动。门由可训练的权重控制。我们在本小节中考虑的是与创建脉冲LSTM或门控循环网络相关领域的现状。常规(非脉冲)RNN转换为脉冲框架的循环SNN很少。

Shrestha等人[39]在IBM TrueNorth神经突触系统平台上实现了节能型脉冲LSTM。为此,他们必须解决两个问题。第一个是建立一个脉冲的LSTM,第二个是在神经形态芯片上实现它。我们专注于前一个问题。他们的设计选择之一是使用两个脉冲序列通道来表示正值和负值,这是生物合理的,为此3.2部分中讨论的DOG通常器通常以两种形式出现。输入、输出和大多数内部LSTM变量均使用速率编码。有一个例外是其中表示单元状态的变量的值需要更高的精度,并由脉冲簇编码表示。本文的主要目的是克服将LSTM映射到神经形态芯片的复杂性,并且没有报道标准基准的准确性结果。

相控LSTM [40]虽然不是一个脉冲的LSTM,但它非常适合处理事件驱动的异步采样数据,这是SNN的常见任务。这使得处理来自(可能是多个)生物形态输入传感器的输入非常有用,该传感器在多个时间尺度上对输入进行采样。对于处理SNN的输出,它也可能很有用。相控LSTM的创新之处在于,在存储单元中通常的一组门上增加了一个时间门。时间门与有节奏的振动同步。当’open’时,时间门允许对隐藏的输出和单元状态向量进行常规更新。当“关闭”时,它将阻止更新,使隐藏和细胞向量保存其值。这些向量内的单元可以具有各自的振荡周期和相位。这使得相控LSTM可以在不同的时间尺度量化其输入。在许多不同时间尺度上的由事件驱动的采样的实验中,相控LSTM比常规LSTM训练得更快,而性能却与常规LSTM一样。

3.4.2 液体状态机和蓄水池

哺乳动物独有的大脑皮层能够将其表面积从老鼠的大约1平方厘米急剧增加到人类的大约2500平方厘米,同时保持其厚度相当恒定(≤3mm\leq3mm≤3mm)。为了支持这种扩展,一个假设是哺乳动物发现了可以被复制并在功能上适应新任务的结构基元。最初,这被称为微型柱,该微型柱由大约300个兴奋性和抑制性递归连接的神经元组成,这些神经元跨越三毫米厚的新皮层的六层。最近,人们开始使用更规范的术语微环路,对这个假设的模块进行建模已经引起了人们极大的兴趣。

为了对可能在典型的大脑皮层微电路中发生的计算进行建模,引入了液体状态机(LSM),它已经部分地被蓄水池计算领域吸收。在LSM上下文中,神经蓄水池是由兴奋性和抑制性神经元组成的稀疏连接的递归SNN,该具有足够的结构来创建通用的模拟衰退记忆。构造该模块,以便它可以将一组可能的多模式脉冲序列转换为时空表示,其瞬时状态可以被一层线性单元识别和读出。

蓄水池模型包括三个部分:

  • 它需要一个或多个基于感觉的、随时间变化的脉冲输入流或可以转换为脉冲的连续输入。
  • 它需要一个称为蓄水池或液体的递归SNN,其突触可能(或不能)学习。给神经元指定空间中的物理位置,以建立连接概率,该概率通常随距离呈指数下降。在文献[41]中给出了一些关于其为什么有用的想法。连接往往是稀疏的,以避免混乱的动力学。兴奋性神经元与抑制性神经元的比例通常约为80%至20%,以反映在新皮层中发现的比例。
  • 它通常需要线性读出单元,可以对其进行训练以识别液体中的瞬时模式。线性部分的动机是为了证明可以很容易地读出蓄水池动态演化状态下的信息。

神经形态立方(NewCube)[42]是一种广泛且非传统意义的模型,被提议作为统一的计算架构来建模多模态时空数据,尤其是与脑有关的数据,例如EEG分析。 NeuCube体系结构的核心是由类似STDP机制训练的脉冲神经元的3D蓄水池。蓄水池的结构旨在直接反映人类大脑皮层的区域间连通性,如解剖学所揭示的结构连通性,如扩散张量成像(DTI)和基于功能性连通性如功能磁共振成像(fMRI)所揭示的那样。这与使用蓄水池作为大脑皮层微电路的模型形成对比。 NeuCube的主张是大脑在宏观尺度上的连通性服从了蓄水池的特性。

上一小节讨论了创建LSTM脉冲版本的尝试。文献[43]的工作并没有采用直接的方法来将LSTM结构化为脉冲版本,而是采用了受蓄水池启发的方法。他们的LSNN体系结构(长短期记忆SNN)由四个标记为X、R、A和Y的模块组成。X提供了多个输入脉冲流,R是由兴奋性和抑制性神经元组成的蓄水池,A是具有适应性阈值的兴奋性神经元(连接到X、R和Y),其目的是为了维持R中紧密的兴奋性抑制平衡,而模块Y由读出的神经元组成。 LSNN是使用BPTT训练的(使用膜电位的伪导数部分进行训练(如本节中所述),网络在序列MNIST基准以及TIMIT声学语音连续语料库上达到了与LSTM相当的准确性。序列MNIST是一个用于评估循环网络性能的学习基准。任务是识别MNIST数字,但现在的输入是在连续的时间步长上顺序交付的784=282784 = 28^2784=282个输入像素的集合。尽管LSNN结构没有一个到LSTM的体系结构的映射,但是它具有LSTM独特的学习能力。研究表明LSTM可以从教师那里学习非线性函数,无需修改其权重,而是使用它们的短期记忆。

最近的另一项研究[44]试图使常规LSTM的体系结构适应成为皮质微电路的合理模型。这个模型有两个创新。首先,为了便于映射到微电路,将标准LSTM中的乘法门控操作替换为可通过新皮质侧向抑制电路实现的减法操作,称为subLSTM(减法LSTM)。第二,为了促进使用现成的深度学习框架进行学习和研究,我们假定神经编码方案使用速率编码的LIF神经元。这使它们能够使用与深度学习环境兼容的连续逼近对脉冲神经元进行建模。他们的生物可解释的subLSTM在序列MNIST任务上达到了与标准LSTM相当的性能。在语言处理基准中也获得了类似的结果。 subLSTMS的性能并不比标准LSTM好,但是它们为脑功能问题和深度学习的理论见解之间的跨学科对话开辟了一条途径。

这些研究显示了利用常规RNN和蓄水池计算的生物启发的递归神经框架优势的递归SNN的光明前景。

3.5 模型的性能对比

下表显示了用于开发深度SNN及其结构的模型以及它们在不同数据集上的准确率。下表显示了脉冲模型的两个轨迹:1)使用在线学习和2)使用离线学习(部署)。后一种方法展示了更高的性能,但通过将离线训练的神经网络转换为相关的脉冲平台,避免了训练多层SNN。另一方面,在线学习为SNN中提供了多层学习,但准确率较低。此外,如预期的那样,在图像分类方面,脉冲的CNN的精度高于脉冲的DBN和全连接的SNN。这种比较可以深入了解不同的SNN架构和学习机制,以便为将来的研究选择正确的工具以实现正确的目的。

4 总结

深度学习方法最近在模式识别的许多领域显示出突破性的性能。尽管它们在分层特征提取和分类中很有效,但是这些类型的神经网络在计算上很昂贵,并且难以在便携式设备的硬件上实现。在另一个在神经网络体系结构的研究领域中,由于SNN的稀疏、基于脉冲的通信框架,因此已被描述为节能模型。最近的研究试图利用这两种框架(深度学习和SNN)的优势来开发多层SNN架构,以实现最新证明的深度网络的高性能,同时实现受生物启发的高效平台。另外,文献表明,大脑通过多层SNN通信来检测刺激模式,该通信方式使用自适应突触的脉冲序列进行。生物可解释的脉冲神经利用没有明显导数的脉冲序列进行通信。这使得SNN无法直接使用基于导数的优化进行训练。本文回顾了针对SNN不同层次的新颖的学习方法,以解决该领域中的一些开放性问题。由于生物神经元使用稀疏的、随机的、基于脉冲的通信,因此脉冲网络可以成为对大脑功能进行建模的合适起点。

具有特定神经结构的SNN需要新的神经元模型和学习技术。脉冲神经元通过离散的脉冲序列进行通信,突触通过局部适应来区分刺激的模式。满足这些要求的任务可以通过生物启发式神经模拟来完成,该模拟根据与突触权重集相关的自适应滤波器整合刺激并释放判别性脉冲模式。开发SNN的一个重要挑战是制定适当的学习规则,以检测脉冲序列的时空局部模式。在本文中,我们回顾了为达到传统的深度学习方法的性能、提供生物可解释的节能的平台而开发的最先进的深度SNN,回顾了三种流行的深度学习方法,即深度全连接的SNN,脉冲CNN和脉冲DBN。最新方法报告的性能表明基于脉冲的深度学习方法的性能与传统DNN相同。此外,SNN是基于人脑功能的,并且将来像人脑一样,其性能将比传统的好得多。本文回顾了方法、网络体系结构、实验以及最近提出的深度脉冲网络的结果,可用于下一步的研究和实验。

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

Reference

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

[1] Masquelier T, Thorpe S J. Unsupervised learning of visual features through spike timing dependent plasticity[J]. PLoS computational biology, 2007, 3(2).

[2] Tavanaei A, Masquelier T, Maida A S. Acquisition of visual features through probabilistic spike-timing-dependent plasticity[C]//2016 International Joint Conference on Neural Networks (IJCNN). IEEE, 2016: 307-314.

[3] Beyeler M, Dutt N D, Krichmar J L. Categorization and decision-making in a neurobiologically plausible spiking network using a STDP-like learning rule[J]. Neural Networks, 2013, 48: 109-124.

[4] Guyonneau R, VanRullen R, Thorpe S J. Neurons tune to the earliest spikes through STDP[J]. Neural Computation, 2005, 17(4): 859-879.

[5] Masquelier T, Kheradpisheh S R. Optimal localist and distributed coding of spatiotemporal spike patterns through STDP and coincidence detection[J]. Frontiers in computational neuroscience, 2018, 12: 74.

[6] Nessler B, Pfeiffer M, Maass W. STDP enables spiking neurons to detect hidden causes of their inputs[C]//Advances in neural information processing systems. 2009: 1357-1365.

[7] Nessler B, Pfeiffer M, Buesing L, et al. Bayesian computation emerges in generic cortical microcircuits through spike-timing-dependent plasticity[J]. PLoS computational biology, 2013, 9(4).

[8] Klampfl S, Maass W. Emergence of dynamic memory traces in cortical microcircuit models through STDP[J]. Journal of Neuroscience, 2013, 33(28): 11515-11529.

[9] Kappel D, Nessler B, Maass W. STDP installs in winner-take-all circuits an online approximation to hidden Markov model learning[J]. PLoS computational biology, 2014, 10(3).

[10] Tavanaei A, Maida A S. Studying the interaction of a hidden Markov model with a Bayesian spiking neural network[C]//2015 IEEE 25th International Workshop on Machine Learning for Signal Processing (MLSP). IEEE, 2015: 1-6.

[11] Tavanaei A, Maida A S. Training a hidden Markov model with a Bayesian spiking neural network[J]. Journal of Signal Processing Systems, 2018, 90(2): 211-220.

[12] Rezende D J, Wierstra D, Gerstner W. Variational learning for recurrent spiking networks[C]//Advances in neural information processing systems. 2011: 136-144.

[13] Lillicrap T P, Cownden D, Tweed D B, et al. Random synaptic feedback weights support error backpropagation for deep learning[J]. Nature communications, 2016, 7(1): 1-10.

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

[15] 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.

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

[17] Tavanaei A, Maida A. BP-STDP: Approximating backpropagation using spike timing dependent plasticity[J]. Neurocomputing, 2019, 330: 39-47.

[18] Pfister J P, Toyoizumi T, Barber D, et al. Optimal spike-timing-dependent plasticity for precise action potential firing in supervised learning[J]. Neural computation, 2006, 18(6): 1318-1348.

[19] Masquelier T, Thorpe S J. Unsupervised learning of visual features through spike timing dependent plasticity[J]. PLoS computational biology, 2007, 3(2).

[20] Kheradpisheh S R, Ganjtabesh M, Masquelier T. Bio-inspired unsupervised learning of visual features leads to robust invariant object recognition[J]. Neurocomputing, 2016, 205: 382-392.

[21] Diehl P U, Cook M. Unsupervised learning of digit recognition using spike-timing-dependent plasticity[J]. Frontiers in computational neuroscience, 2015, 9: 99.

[22] 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.

[23] Bengio Y, Lee D H, Bornschein J, et al. Towards biologically plausible deep learning[J]. arXiv preprint arXiv:1502.04156, 2015.

[24] O’Connor P, Welling M. Deep spiking networks[J]. arXiv preprint arXiv:1602.08323, 2016.

[25] Lee J H, Delbruck T, Pfeiffer M. Training deep spiking neural networks using backpropagation[J]. Frontiers in neuroscience, 2016, 10: 508.

[26] Neftci E O, Augustine C, Paul S, et al. Event-driven random back-propagation: Enabling neuromorphic deep learning machines[J]. Frontiers in neuroscience, 2017, 11: 324.

[27] 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.

[28] Tavanaei A, Maida A S. Bio-inspired spiking convolutional neural network using layer-wise sparse coding and STDP learning[J]. arXiv preprint arXiv:1611.03000, 2016.

[29] Zylberberg J, Murphy J T, DeWeese M R. A sparse coding model with synaptically local plasticity and spiking neurons can account for the diverse shapes of V1 simple cell receptive fields[J]. PLoS computational biology, 2011, 7(10).

[30] 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.

[31] Anwani N, Rajendran B. NormAD-normalized approximate descent based supervised learning rule for spiking neurons[C]//2015 international joint conference on neural networks (IJCNN). IEEE, 2015: 1-8.

[32] Lee J H, Delbruck T, Pfeiffer M. Training deep spiking neural networks using backpropagation[J]. Frontiers in neuroscience, 2016, 10: 508.

[33] 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.

[34] Rueckauer B, Lungu I A, Hu Y, et al. Theory and tools for the conversion of analog to spiking convolutional neural networks[J]. arXiv preprint arXiv:1612.04052, 2016.

[35] Lee H, Ekanadham C, Ng A Y. Sparse deep belief net model for visual area V2[C]//Advances in neural information processing systems. 2008: 873-880.

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

[37] O’Connor P, Neil D, Liu S C, et al. Real-time classification and sensor fusion with a spiking deep belief network[J]. Frontiers in neuroscience, 2013, 7: 178.

[38] Hochreiter S, Schmidhuber J. Long short-term memory[J]. Neural computation, 1997, 9(8): 1735-1780.

[39] Shrestha A, Ahmed K, Wang Y, et al. A spike-based long short-term memory on a neurosynaptic processor[C]//2017 IEEE/ACM International Conference on Computer-Aided Design (ICCAD). IEEE, 2017: 631-637.

[40] Neil D, Pfeiffer M, Liu S C. Phased lstm: Accelerating recurrent network training for long or event-based sequences[C]//Advances in neural information processing systems. 2016: 3882-3890.

[41] Pyle R, Rosenbaum R. Spatiotemporal dynamics and reliable computations in recurrent spiking neural networks[J]. Physical review letters, 2017, 118(1): 018103.

[42] Kasabov N K. NeuCube: A spiking neural network architecture for mapping, learning and understanding of spatio-temporal brain data[J]. Neural Networks, 2014, 52: 62-76.

[43] Bellec G, Salaj D, Subramoney A, et al. Long short-term memory and learning-to-learn in networks of spiking neurons[C]//Advances in Neural Information Processing Systems. 2018: 787-797.

[44] Costa R, Assael I A, Shillingford B, et al. Cortical microcircuits as gated-recurrent neural networks[C]//Advances in neural information processing systems. 2017: 272-283.

SNN综述(1):深度脉冲神经网络相关推荐

  1. 如何看待第三代神经网络SNN?详解脉冲神经网络的架构原理、数据集和训练方法 原创

    作者丨科技猛兽 编辑丨极市平台 本文首发于极市平台公众号,转载请获得授权并标明出处. 本文目录 1 脉冲神经网络简介 2 脉冲神经网络原理 3 脉冲神经网络数据集 4 脉冲神经网络训练方法 5 脉冲神 ...

  2. 脉冲神经网络_【强基固本】脉冲神经网络(SNN)

    "强基固本,行稳致远",科学研究离不开理论基础,人工智能学科更是需要数学.物理.神经科学等基础学科提供有力支撑,为了紧扣时代脉搏,我们推出"强基固本"专栏,讲解 ...

  3. 脉冲神经网络的五脏六腑

    脉冲神经元模型 传统的人工神经元模型主要包含两个功能,一是对前一层神经元传递的信号计算加权和,二是采用一个非线性激活函数输出信号. 前者用于模仿生物神经元之间传递信息的方式,后者用来提高神经网络的非线 ...

  4. 深度学习基础--不同网络种类--尖峰神经网络/脉冲神经网络(spiking neural network, snn)

    尖峰神经网络/脉冲神经网络(spiking neural network, snn)   是三代神经网络模型,属于计算神经科学,动物的神经网络大多是脉冲神经网络.   资料不多,而且大多是外文   本 ...

  5. 第三十二课.脉冲神经网络SNN

    目录 时间驱动与事件驱动 时间驱动 事件驱动 基于时间驱动的脉冲神经元 spikingjelly:LIF神经元 实验仿真 时间驱动与事件驱动 时间驱动 为了便于理解时间驱动,我们可以将SNN(spik ...

  6. 脉冲神经网络(SNN)概述

    https://www.toutiao.com/a6701844289518830091/ 主要讨论脉冲神经网络的拓扑结构.信息的脉冲序列编码方法.脉冲神经网络的学习算法和进化方法等. 一.脉冲神经网 ...

  7. 基于深度卷积神经网络的目标检测研究综述

    基于深度卷积神经网络的目标检测研究综述 人工智能技术与咨询 来自<光学精密工程> ,作者范丽丽等 摘要:作为计算机视觉中的基本视觉识别问题,目标检测在过去的几十年中得到了广泛地研究.目标检 ...

  8. 67页综述深度卷积神经网络架构:从基本组件到结构创新

    点击我爱计算机视觉标星,更快获取CVML新技术 本文为52CV群友王广胜对上个月更新的CNN综述文章A Survey of the Recent Architectures of Deep Convo ...

  9. 脉冲神经网络(SNN)论文阅读(三)-----高精度低时延的ANN转换SNN方法

    原文链接:CSDN-脉冲神经网络(SNN)论文阅读(三)-----高精度低时延的ANN转换SNN方法 Optimal ANN-SNN Conversion for High-accuracy and ...

  10. 脉冲神经网络:MATLAB实现脉冲神经网络(Spiking Neural Network,SNN) 用于图像分类(提供MATLAB代码)

    一.脉冲神经网络 脉冲神经网络 (Spiking Neural Network,SNN) ,是第三代神经网络.其旨在弥合神经科学和机器学习之间的差距,使用最拟合生物神经元机制的模型来进行计算,更接近生 ...

最新文章

  1. lua搭建ui_构建类魔兽UI插件的lua安全沙箱
  2. 子查询引用外表_轻松搞定慢查询?这一文就够了(内附大量实例助你看懂Explain)...
  3. MyEclipse10中配置开发Python所需要的PyDev 绝对靠谱 不忽悠!
  4. DocRepair 3.0
  5. 直线拟合的实现步骤和相关算子
  6. HTML标签strong和em
  7. jquery学习手记(4)元素的选择与操作
  8. 让设计模式在开始就拯救你的项目
  9. python docx 复制_99%的人都不知道的Python整理文件方法,效率提升100倍
  10. hdu 1255(线段树+离散化)
  11. Linux 操作命令记录
  12. 【转】注册Azure AD 应用程序
  13. bash中正则表达式
  14. callback用法 js vue_Vue前端开发——使用高德地图WebApi
  15. matlab2c使用c++实现matlab函数系列教程-max函数
  16. 巧用编辑器正则表达式,批量修改删除超链接
  17. 计算机vb题库程序代码编写,11计算机专业VB试题(二)
  18. win10截图快捷键
  19. petalinux笔记
  20. 打开chm文件提示“已取消到该网页的导航”的解决方案

热门文章

  1. [Angular] - 01 Architecture and workflow
  2. python xpath定位 麦客表单
  3. 3d模型 vv5_你也想做锦鲤信小呆?WEY VV5升级款这就来满足你!
  4. python的语言是开源的_python语音识别 开源_DaCiDian是一个开源的中文普通话词汇,用于自动语音识别(ASR)....
  5. jQuery 的 slideUp 动画,当鼠标快速连续触发, 动画会滞后反复执行,该如何处理呢
  6. 脱壳之压缩壳-FSG
  7. SQL——查询和1002号的同学学习的课程完全相同的其他同学的学号和姓名
  8. Adobe Photoshop简介
  9. ❤️ 前端如何与后端对接?当年差点和后端同学打起来了!
  10. vscode中用emmet语法a{}*3无法自动换行