Deep Learning in Spiking Neural Networks

Deep Learning in Spiking Neural Networks

提示:文章下载路径:https://arxiv.org/pdf/1804.08150

摘要

近年来,深度学习已经彻底改变了机器学习领域,特别是计算机视觉领域。在这种方法中,使用反向传播以监督方式训练深度(多层)人工神经网络(ANN)。这需要大量带标签的训练样本,但最终的分类精度确实令人印象深刻,有时甚至超过人类。人工神经网络中的神经元具有单一、静态、连续激活的特征。然而,生物神经元使用离散的峰值来计算和传输信息,除了峰值速率之外,峰值时间也很重要。因此,脉冲神经网络(snn)在生物学上比人工神经网络更真实,如果想要了解大脑是如何计算的,它可以说是唯一可行的选择。snn也比ann更硬件友好和节能,因此对技术,特别是便携式设备具有吸引力。然而,训练深度snn仍然是一个挑战。脉冲神经元的传递函数通常是不可微的,这就阻止了反向传播。

在这里,我们回顾了最近用于训练深度snn的有监督和无监督方法,并在准确性、计算成本和硬件友好性方面对它们进行了比较。新出现的情况是,snn在精度方面仍然落后于ann,但差距正在缩小,甚至在某些任务上可以消失,而snn通常需要更少的操作。

一、INTRODUCTION

人工神经网络(ann)主要使用具有连续激活值和一组加权输入的理想化计算单元构建。这些单位通常被称为“神经元”,因为它们具有生物灵感。这些(非尖峰)神经元使用可微的非线性激活函数。非线性激活函数使得叠加多层具有表征意义,其导数的存在使得使用基于梯度的优化方法进行训练成为可能。随着大型标记数据集的可用性、通用GPU计算形式的计算能力和高级正则化方法的最新进展,这些网络已经变得非常深(几十层),具有推广到看不见的数据的强大能力,并且这些网络的性能已经取得了巨大的进步。一个明显的历史里程碑是2012年AlexNet[1]在ILSVRC图像分类挑战[2]中的成功。AlexNet被称为深度神经网络(DNN),因为它由大约八个连续的端到端学习层组成,总共有6000万个可训练的参数。有关dnn的最新综述,请参见[3],[4]。dnn在图像识别[1],[5],[6],目标检测[7],[8],语音识别[9],生物医学和生物信息学[10],[11],时间数据处理[12],以及许多其他应用[4],[13],[14]中取得了显著成功。人工智能(AI)的这些最新进展为开发不同的产品开辟了新的途径工程应用和对生物大脑工作原理的理解[13],[14]。虽然dnn历来是受大脑启发的,但与大脑相比,它们在结构、神经计算和学习规则方面存在根本差异。

最重要的区别之一是信息在它们的单位之间传播的方式。正是这种观察导致了尖峰神经网络(snn)的出现。在大脑中,神经元之间的交流是通过向下游神经元广播动作电位序列来完成的,也被称为尖峰序列。这些单独的尖峰在时间上是稀疏的,因此每个尖峰具有高信息含量,并且近似具有均匀的振幅(100 mV,尖峰宽度约为1毫秒)。因此,snn中的信息是通过尖峰计时传递的,包括延迟和尖峰率,可能超过种群[15]。与实际的生物物理机制相比,snn几乎普遍使用理想化的尖峰产生机制[16]。非峰值dnn的人工神经网络使用连续值激活进行通信。虽然dnn的能量效率可能会得到提高,但snn在这方面提供了一个特殊的机会,因为,正如下面所解释的,尖峰事件在时间上是稀疏的。尖峰网络还具有对生物神经系统中信息传递的时间特征具有内在敏感性的优势。研究表明,对于大脑的几个区域来说,每个峰值的精确时间是高度可靠的,这表明在神经编码中起着重要作用[17],[18],[19]。这种脉冲活动的精确时间模式被认为是大脑感觉信息处理区域[20]、[21]、[22]、[23]、[24]和神经运动控制区域[25]、[26]的关键编码策略。就科学动机而言,这是很好的。
认识到大脑的识别能力复杂视觉模式或在嘈杂中识别听觉目标环境是几个处理阶段的结果,并且深度脉冲中嵌入了多种学习机制网络[40]、[41]、[42]。与传统的深度网络相比,训练深度尖峰网络在其早期阶段。理解如何训练这样的网络来执行不同的任务是一个重要的科学问题,因为这可以帮助我们产生和研究新的假设,例如速率与时间编码,并在进行生理实验之前发展实验想法。就工程动机而言,snn在特殊用途硬件上的实现比传统神经网络有一些优势。目前,传统深度网络的有效训练需要使用耗能较大的高端显卡。尖峰网络具有一个有趣的特性,即输出尖峰串可以在时间上变得稀疏。在生物网络中,这样做的一个优点是尖峰事件消耗能量,使用少量具有高信息含量的尖峰可以减少能量消耗[43]。同样的优势也存在于硬件中[44],[45],[46],[47]。因此,基于尖峰在时间上是稀疏的特性,可以创建低能量的尖峰硬件。深度神经模型学习的一个重要部分,无论是尖峰还是非尖峰,都发生在特征发现层次中,在这个层次中,越来越复杂的、有区别的、抽象的和不变的特征被获取[48]。鉴于上述科学和工程动机,深度snn为开发高效的类脑表示提供了适当的架构。此外,灵长类动物大脑中的模式识别是通过多层神经回路完成的,这些神经回路通过脉冲事件进行交流。这自然导致人们对在大脑擅长的应用中使用人工snn感兴趣,如模式识别[49]。原则上,仿生snn比传统的速率编码网络具有更高的表示能力和容量[50]。
此外,snn允许一种生物启发学习(权重修改),它依赖于对直接连接的神经元之间的峰值的相对时间,其中权重修改所需的信息在局部可用。这种局部学习类似于发生在大脑许多区域的非凡学习[51],[52],[53],[54],[55]。尖峰列用狄拉克函数的和表示,没有导数。这使得很难使用基于导数的优化来训练snn,尽管最近的工作已经探索了使用各种类型的替代或近似导数[56],[57]。这就提出了一个问题:如果基于导数的优化不可用,如何训练大脑中的神经网络?尽管理论上已经证明脉冲网络具有图灵等效性计算能力[58],训练仍然是一个挑战SNN,尤其是使用多层学习的深度 SNN。在许多现有的尖峰网络中,学习仅限于单层,例如[59],[60],[61]。为脉冲网络配备多层学习是一个开放的领域,有可能大大提高它们在不同任务上的表现。先前研究的主要核心是基于这样一个事实,即尖峰定时编码携带有用的信息,并在生物系统中显示出巨大的计算能力[23],[24],[25]。
在这里,我们回顾了最近在snn中开发深度学习模型的研究,重点是:(1)描述snn的架构和学习方法;(2)回顾了由前馈、全连接尖峰神经层组成的深度snn;(3)尖峰卷积神经网络;(4)综述了脉冲受限玻尔兹曼机和脉冲深度信念网络;(5)回顾复发性snn;(6)提供了一个全面的总结,比较了最近的深度峰值网络的性能。我们希望这一综述将有助于人工神经网络领域的研究人员开发和扩展高效、高性能的深度snn,并促进未来神经科学实验和理论工作的交叉施肥。

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

snn作为一种强大的第三代神经网络[50],在过去的几十年里被引入,鼓励了许多研究,重点关注模式识别的生物动机方法[62],[63]。snn最初受到大脑和神经元通过自适应突触通过离散动作电位(spike)及时进行信息转换的通信方案的启发。在生物神经元中,当突触前刺激引起的膜电位变化总和超过阈值时,就会产生脉冲。尖峰产生的速率和尖峰序列的时间模式携带有关外部刺激的信息[64],[65]和正在进行的计算。snn使用非常相似的过程来生成峰值和信息转换。在下面的部分中,我们将解释SNN架构的细节以及应用于这些类型网络的学习方法

A.SNN Architecture

SNN架构由尖峰神经元和相互连接的突触组成,这些突触由可调节的标量权重建模。实现SNN的第一步是使用基于速率的方法[64],[15],某种形式的时间编码[66],[67]或群体编码[68]将模拟输入数据编码到尖峰序列中。如前所述,大脑中的生物神经元(以及类似的模拟尖峰神经元)接收来自神经网络中其他神经元的突触输入。生物神经网络既有动作电位生成动力学,也有网络动力学。与真正的生物网络相比,人工snn的网络动力学高度简化。在这种情况下,假设模拟的尖峰神经元具有纯粹的阈值动力学是有用的(与之相反的是,例如,耐火性、迟滞、共振动力学或抑制后反弹特性)。突触前神经元的活动调节突触后神经元的膜电位,当膜电位超过阈值时产生动作电位或峰电位。霍奇金(Hodgkin)和赫胥黎(Huxley)首先对这一现象进行了建模[16]。
具体来说,他们根据鱿鱼轴突细胞膜上离子通道的电压门控特性创建了一个动作电位产生的模型。
在具有广泛生物学细节和高计算成本的Hodgkin和Huxley模型[16],[64],[69]之后,各种神经元模型被提出,如spike response模型(SRM) [70], Izhikevich神经元模型[71]和leaky integrated-and-fire (LIF)神经元[72]。LIF模型非常受欢迎,因为它可以直观地捕捉到外部输入在有明确阈值的漏细胞膜上积累电荷的特性。
尖峰神经元网络中的尖峰序列通过突触连接传播。突触可以是兴奋性的,在接受输入时增加神经元的膜电位,也可以是抑制性的,减少神经元的膜电位[73]。适应性突触的强度(权重)可以随着学习的结果而改变。SNN的学习规则是开发多层(深度)SNN最具挑战性的组成部分,因为尖峰序列的不可微性限制了流行的反向传播算法

B.Learning Rules in SNNs

如前所述,在几乎所有的人工神经网络中,无论是尖峰还是非尖峰,学习都是通过调整标量值突触权重来实现的。Spiking 启用了一种生物合理的学习规则,而这种规则不能直接在非尖峰网络中复制。神经科学家已经确定了这种学习规则的许多变体,这些变体属于“峰值时间依赖可塑性”(STDP)的总称。其关键特征是连接突触前和突触后神经元的权重(突触效能)在大约几十毫秒的间隔内根据它们的相对尖峰时间进行调整[74]。用于执行权重调整的信息既适用于突触,也适用于时间。下面的小节描述了snn中常见的学习机制,包括无监督的和有监督的。下面的公式1理想化了对实验数据拟合得到的最常见的单对尖峰的STDP规律[76]。

1)通过STDP进行无监督学习:如上所述,snn中的无监督学习通常将STDP作为学习机制的一部分[74],[75]。最常见的生物STDP形式有一个非常直观的解释。如果突触前神经元先于突触后神经元短暂放电(例如约10毫秒),连接它们的权重就会增强。如果突触前神经元在突触后神经元之后短暂地放电,那么时间事件之间的因果关系是虚假的,权重被削弱。增强称为长期增强(LTP),减弱称为长期抑制(LTD)。“长期”一词用于区分在实验中观察到的几毫秒尺度上的非常短暂的影响。下面的公式1理想化了对实验数据拟合得到的最常见的单对尖峰的STDP规律[76]。
公式一
W是突触权值。A > 0和B < 0通常是表示学习率的常数参数。τ是时间学习窗口的时间常数(例如,15 ms)。上面的第一个案例描述了LTP,而第二个案例描述了LTD。该效应的强度由衰减指数调制,衰减指数的大小由突触前和突触后尖峰之间的时间常数比例时间差控制。人工snn很少使用这个确切的规则。它们通常使用一个变体,要么是为了实现更简单,要么是为了满足一个方便的数学性质。

除了方程中描述的时间和空间的局部权重变化之外,STDP具有已知的重要的时间累积网络级效应。例如,STDP会影响神经元的行为,以响应嵌入在可能的随机尖峰序列中的重复尖峰模式。一个神经元(配备 STDP 训练的突触)与类似的尖峰齐射相吻合能够专注于持续发射的传入体早期(较短的潜伏期)[77]、[78]大脑许多区域的尖峰序列是高度可复制的。Guyonneau等人[78]已经表明,向配备STDP的SNN提供重复输入可以形成SNN内神经元对刺激模式的选择性。具体来说,他们发现突触后电位的反应潜伏期随着STDP的进行而减少。减少突触后潜伏期导致更快的神经处理。因此,神经元对特定输入模式的反应要快于对其他输入模式的反应。事实上,STDP规则关注的是输入模式的第一个尖峰,它包含了模式识别所需的大部分信息。已有研究表明,基于STDP的单个神经元可以检测和学习重复的时空模式[79],[80]。即使缺少明确的时间参考,STDP也可以解决定位重复时空尖峰模式和启用某些形式的时间编码的计算难题[79],[81]。使用这种方法,已经开发出具有多个输出神经元的更复杂的网络[59],[82],[83],[84]。

2)无监督STDP的概率特征:许多研究提供的证据表明,至少在大脑中发生了对感觉刺激的近似贝叶斯分析[85],[86],[87],[88]。在贝叶斯推理中,隐藏的原因(如特定类别对象的存在)是使用先验知识和新观察的可能性来推断的,以获得可能原因的后验概率。研究人员考虑了概率(贝叶斯)计算作为大脑中STDP的主要信息处理步骤的可能作用。nesler等人(2009)[89]表明,一种STDP形式,当与泊松峰值输入神经元结合适当的随机赢者通吃(WTA)电路使用时,能够近似随机在线期望最大化(EM)算法,以学习多项混合分布的参数。该模型旨在具有一定的生物学合理性。他们网络中使用的STDP规则如式2所示。如果突触前神经元先于突触后神经元短暂放电(例如,在 = 10 ms内),就会发生LTP。否则发生LTD。输出神经元产生一个尖峰,从隐变量的编码后验分布中产生一个样本,这可以被认为是EM算法中的e步。STDP在放电输出神经元突触中的应用指定了EM中的M步。Nessler等人(2013)[90]通过使用抑制性神经元来实现WTA,扩展了他们的网络,以提高模型嵌入皮质微电路的兼容性。在这里插入图片描述
在上述随机WTA电路的基础上,Klampfl和Maass(2013)[91]开发了一种液态机(LSM),其中包含输入神经元、WTA电路存储库和线性输出读出。进一步的扩展表明,STDP,同时应用于外侧兴奋性突触和传入神经元突触,能够代表这种时空输入模式的潜在统计结构[92]。在这个框架中,由WTA电路产生的每个尖峰序列都可以看作是隐藏马尔可夫模型(HMM)状态空间中的一个样本。[89][90]中介绍的STDP模型的一个缺点是其兴奋性突触权重为负。然而,这可以通过使用LTP规则中的常量参数将权重转移到正值来解决。基于这一思想,Tavanaei和Maida[93]、[94]提出了一种用于时空模式识别和口语单词分类的无监督规则。研究表明,在SNN中获得的EM能够在嵌入HMM状态的高斯混合模型(GMM)中近似实现EM算法[94]。在尖峰神经元中使用概率学习来模拟隐藏原因最近引起了人们的关注。Rezende等人(2011)[95]开发了一种基于感知和隐藏原因联合分布的生物似然学习规则,以适应自发尖峰序列以匹配实际尖峰序列的经验分布[95]。学习策略涉及最小Kullback-Leibler散度[96],作为代表模型的分布(SNN)和目标分布(观测值)之间的非交换距离度量。循环snn中的EM算法[97]和STDP结合内在可塑性生成的神经元之间的概率关联[98]是snn中概率学习的另外两个实例。概率规则也被应用于顺序数据处理[99]和马尔可夫链蒙特卡罗抽样中,该抽样由脉冲神经元的随机放电活动解释[100]。
3)监督学习:所有监督学习都使用某种标签。最常见的是,监督学习通过比较观察到的和期望的网络输出的代价函数的梯度下降来调整权重。在snn的背景下,监督学习试图最小化期望和输出尖峰序列之间的误差,有时称为读出误差,以响应输入。

a)与反向传播相关的SNN问题:从生物学的角度来看,反向传播训练过程是否可以直接在大脑中实现一直存在相当大的怀疑。对于snn,有两个突出的问题,从下面的公式可以看出。下面是由链式法则得到的一个核心公式,它适用于所有反向传播的变体[101]。在这里插入图片描述
在上面,δµjδµj和δµkµk表示输入模式的成本函数的偏导数µ关于净输入任意单位j或k。单位项目直接前馈连接单元的集合被k . g(·)的激活函数应用于净输入单元j,净输入来标示µjµj。WKJ是从单位j到以k为索引的单位集合的前馈权重。方程3的RHS的两个部分都呈现出生物似是而非的反向传播尖峰版本的复杂性。首先,表达式g0(·)要求关于wkj的g(·)。由于g(·)适用于尖峰神经元,它很可能由狄拉克δ函数的和表示,这意味着导数不存在。第二个更严重的复杂问题,适用于尖峰和非尖峰网络,显然是由Grossberg [102, p. 49]首先指出的,并称为“权重传递”问题。问题是这样的。表达式P k wkjδµkµk以反馈方式使用前馈权值wkj。这意味着匹配的对称反馈权重必须存在,并准确地投射到正确的神经元(点对点反馈),以便Eq. 3可用。在文献中,第一个问题通常是通过使用替代或近似导数来解决的。人们必须意识到,其中一些解决方案在生物学上是不合理的。例如,使用突触前神经元的膜电位作为替代会出现问题,因为其值不是突触局部的(参见[57],本综述的第III-A节)。然而,这些方法在工程和应用方面仍然是有用的。[103]和[104]最近在第二个问题上取得了进展。文献[103]表明,对于某些任务,如果使用随机反馈权重,反向传播仍然可以很好地执行。[104]的作者进一步探讨了这一点,研究了三种反馈(均匀、随机和对称)。他们发现,简单的问题可以通过任何形式的反馈来解决,而复杂的问题需要对称反馈。

b) snn的一些监督学习方法:SpikeProp[105]似乎是第一个通过反向传播误差来训练snn的算法。他们的成本函数考虑了尖峰时间,SpikeProp能够使用3层架构对非线性可分离数据进行分类,以解决临时编码的异或问题。他们的关键设计选择之一是使用Gerstner的[64]尖峰响应模型(SRM)作为尖峰神经元。使用SRM模型,可以避免对隐藏单元的输出尖峰求导的问题,因为这些单元的响应可以直接建模为应用于它们投射到的输出突触的连续值psp。这项工作的一个限制是,每个输出单元被限制为恰好放电一个尖峰。此外,连续变量值,例如在临时扩展的异或问题中,必须编码为可能相当长的峰值时间延迟。后来SpikeProp的高级版本MultiSpikeProp适用于多尖峰编码[106],[107]。使用SpikeProp相同的神经结构,新的时间尖峰编码和尖峰时间误差公式最近改进了尖峰反向传播算法[108],[109]。Wu等人(2017)[110]提出了snn中反向传播的最新实现,他们开发了多层snn的时空梯度下降。最近的snn监督训练方法包括ReSuMe(远程监督学习)[111]、[112]、Chronotron[113]和SPAN(spikepattern association neuron)[114]、[115]等。上述所有模型都是由单个尖峰神经元接收来自许多尖峰前突触神经元的输入组成的。目标是训练突触,使突触后神经元产生具有期望尖峰时间的尖峰序列。ReSuMe将最初用于非尖峰线性单元的Widrow-Hoff (Delta)规则应用于snn。Widrow-Hoff规则权重变化与期望输出减去观察到的输出成正比,如下所示
在这里插入图片描述
其中x为突触前输入,y d和y o分别为期望输出和观察输出。当在RHS上展开并针对snn重新表述时,该规则可以表示为STDP和anti-STDP之和。也就是说,训练兴奋性突触的规则是这样的。
在这里插入图片描述
在上面,∆w STDP是突触前和期望的尖峰序列的相关性的函数,而∆w aSTDP取决于突触前和观察到的尖峰序列。因为学习规则使用教师神经元(期望输出)和输入神经元之间的相关性,所以没有直接的物理连接。这就是为什么在“远程监督学习”这个短语中使用了“远程”这个词。虽然在上述等式中并不明显,但学习受限于典型的STDP资格窗口。Chronotron是为了改进Tempotron[116]而开发的,Tempotron能够训练单个神经元通过精确的输入峰值时间来识别编码。Tempotron的限制是在预定的间隔内只能输出0或1个尖峰。因此,输出不编码尖峰定时信息。这就排除了一个时间战警有意义地向另一个时间战警发送输出的能力。《Chronotron》的动机与《SpikeProp》及其后继游戏相似。Chronotron的创新之处在于将监督训练建立在一个更复杂的距离度量上,即两个高峰列车之间的VictorPurpora (VP)距离度量[117]。这个指标是“通过创建、移除或移动尖峰将一个尖峰列车转变为另一个尖峰列车的最小成本”。[113,第3页]他们调整了VP距离,使其分段可微,并允许作为一个成本函数来执行相对于权重的梯度下降。

与ReSuMe类似,SPAN模型从Widrow-Hoff规则发展其学习算法。然而,SPAN并没有将该规则适用于SNN,而是通过使用形式为te -t t τ的α核对尖峰串进行数模转换,使SNN与Widrow-Hoff兼容。由于这是模拟突触后电位的常用公式,因此这一步实际上将所有尖峰转换为脉冲电位的线性总和。请注意,这与本小节开头描述的SpikePro中使用的技术类似。学习规则可以写成

在这里插入图片描述
其中波浪符号表示尖峰序列的模拟版本,积分边界覆盖相关的本地时间间隔。
在[56]中,我们观察到以前基于梯度的学习方法仍然存在必须预先指定输出尖峰的数量和次数的约束,这限制了它们的适用性。用窄支持门函数g(·)代替硬尖峰阈值,使g(v)≥0,Rgdv = 1, v为膜电位。直观地说,当膜电位接近阈值时,这允许模拟的突触后电流被释放,从而导致spike产生机制的连续性。实验发现,权重更新发生在峰值时间附近,“与奖励调制的STDP非常相似”[56,第8页],这增强了模型的生物学相关性。
在[118]中,提出了一种监督学习方法(BP-STDP),将多层snn的反向传播更新规则转换为临时本地STDP规则。该模型的精度可与MNIST基准的同等大小的传统网络和峰值网络相媲美(参见第III-A节)。snn中监督学习的另一种实现可以基于优化突触后峰值的可能性和概率来匹配期望的峰值。Pfister等人(2006)[119]开发了一个模型来优化在一个或几个期望时间内突触后放电的可能性。他们提出了一种改良版的SRM神经元模型,即在膜电位上使用随机阈值。在监督学习的另一种方法中,每个输出神经元代表一类数据(模式)。输出神经元在竞争中被选择并响应输入模式。在这种方法中,激发目标神经元导致传入突触上的STDP,而激发非目标神经元导致反STDP。该方法已成功地用于snn中的数字数据分类[120]、手写数字识别[121]、语音数字分类[83]和snn中的强化学习[122]。基于即时STDP和反STDP的突触权自适应实现了快速学习

三、SNNS中的深度学习

深度学习使用具有多层可训练参数的架构,并在机器学习和人工智能应用中表现出出色的性能[3],[4]。深度神经网络(dnn)的端到端训练通常采用基于反向传播的优化算法。灵长类动物大脑中的多层神经结构激发了研究人员专注于非线性神经层的深度,而不是使用具有许多神经元的浅层网络。此外,理论和实验结果表明,深层结构的性能优于宽结构[123],[124],[125]。深度神经网络通过配备非线性可微激活函数的连续神经元层提取复杂特征,为反向传播算法提供合适的平台。
图1描述了一个具有几个隐藏层的深度神经网络架构。对于大多数分类问题,深度网络的输出层使用softmax模块。训练向量使用单热编码。在单热编码中,每个向量组件对应于一个可能的类。这个向量是二进制的,只有一个组件设置为1,对应于期望的目标类。输出层的softmax模块保证每个输出单元的值都在(0,1)范围内,并且总和为1。这给出了一组互斥的穷举概率值。softmax公式,有时称为归一化指数,如下所示:
在这里插入图片描述
式中,ai为特定输出单元的净投入,j表示输出单元集合,yii表示输出单元i的值,取值范围为(0,1)。除了图1中所示的全连接架构(在Section III-A中讨论),还有在Section III-B中讨论的深度卷积神经网络(DCNNs), Section III-C中讨论的深度信念网络(DBNs),以及Section III-D中讨论的循环神经网络(rnn)。

snn在许多模式识别任务中也表现出了良好的性能[62],[126]。然而,直接训练的尖峰深度网络的性能不如文献中所代表的传统深度神经网络。

Masquelier和Thorpe(2007, 2010)开发了最早用于视觉特征无监督学习的尖峰神经元前馈分层卷积网络之一[59],[82]。该网络扩展到更大的问题,如[84]。使用带有概率解释的STDP规则,该模型的性能随后在不同的目标识别任务中得到改善[60]。进一步的尝试产生了几个多层snn,具有STDP学习,在自适应多视图模式识别[127]和手写数字识别[61]中表现出色。这些模型大多使用一个或多个层进行预处理,一个学习层和一个分类器(输出神经元)层。尽管这些网络被称为多层snn,但它们不提供多层学习。具体来说,这些snn受到仅使用一个可训练层的限制,尽管它们有许多处理层。
在这里插入图片描述

                                         图一

受神经形态平台的功率效率和生物学合理性的鼓舞,最近的一些研究集中在为这些平台开发深度snn。以往对尖峰结构中有监督和无监督学习规则的研究可以用来开发特征提取和分类模块的层次结构。现有的深度snn并不像传统的深度学习模型那样精确。然而,SNN使节能平台能够模仿大脑功能来解决复杂问题,特别是在自主物体的新趋势中。因此,开发一个像snn一样高效和生物学上合理,但在执行不同任务时像dnn一样强大的神经网络可能是人工智能和计算神经科学领域的下一个具有挑战性的主题。实现深度峰值框架的初始步骤可以通过将训练好的神经网络转换为峰值平台或使用基于峰值的在线学习方法来实现。

其余小节回顾了峰值深度学习方法,包括深度全连接snn、峰值cnn、峰值dbn和峰值rnn。

A.Deep, Fully Connected SNNs

最近的研究利用STDP和随机梯度下降开发了许多深度snn。由许多具有基于spike的突触可塑性规则的LIF神经元组成的spike网络在不同的模式识别任务中显示出成功[128],[129]。Diehl等[130]表明,双层SNN中的STDP能够从刺激中提取判别特征和模式。他们使用[131],[90],[132]引入的无监督学习规则来训练SNN用于修改的美国国家标准与技术研究院(MNIST)数据集[133]的数字识别,其最佳性能为95%。

为了将生物学上合理的学习方法与神经网络中的传统学习算法联系起来,最近开发了许多深度snn。例如,Bengio等[134]提出了一种使用正向和反向神经活动传播的深度学习方法。该网络的学习规则基于STDP实现梯度下降学习规则的思想[135],[136]。O 'Connor和Welling[137]利用突触前和突触后尖峰序列的外积,在深度snn中开发了一种反向传播算法。他们在MNIST基准上显示了峰值多层感知器的高性能(97.93%),与配备整流线性单元(relu)的传统深度神经网络的性能(98.37%)相当。最近,Lee等人(2016)[57]提出了一种反向传播算法,将神经元的膜电位作为可微信号,类似于传统神经网络中的非线性激活函数(图2)。该研究报告了MNIST数据集上98.88%的性能,而在他们的实验中,计算运算次数比传统dnn少五倍。为了进一步降低这些深度SNN中的学习计算成本,Neftci等人(2017)[138]提出了一种简化反向传播链路径的事件驱动随机反向传播(eRBP)算法。eRBP规则使用了一种错误调节的突触可塑性,在这种可塑性中,所有用于学习的信息都是在神经元和突触的局部可用的[138]
图2

                                     图2

利用高效snn的一种更直接的方法是将离线训练的DNN转换为神经形态峰值平台(ANN-to-SNN),特别是用于硬件实现[139]。为了代替dnn中的浮点激活值,通常使用基于速率的编码,其中更高的激活被更高的尖峰速率所取代。使用这种方法,已经开发了几种模型,获得了优异的精度性能[140],[141],[142],[143]。在另一项评估深度snn功耗的研究中,Neil等人[144]研究了许多不同的模型,这些模型在MNIST数字识别任务上都达到了98%的准确率。它们都使用相同的784-1200-1200-10三层架构,但在ANN到SNN的转换中应用了优化的参数和SNN架构设置,以降低模型的功耗和延迟。DNN及其转换后的深SNN的性能与所需的总操作如图3所示。在这里插入图片描述

                                      图3

B.Spiking CNNs

深度卷积神经网络(Deep convolutional neural network, DCNNs)主要用于图像相关的应用。它们由一系列卷积和池化(子采样)层组成,然后是如图1所示的前馈分类器。这种类型的网络在图像识别[1]、[145]、[146]、[147]、语音识别[148]、[149]、[150]、生物信息学[151]、[152]、[153]、目标检测与分割[154]、[7]等方面表现优异。图4显示了用于图像分类的早期深度CNN LeNet架构[155],[156],[157]。问题是如何在结合传统CNN属性的同时训练具有这种架构的spike CNN。在视觉的情况下,第一层卷积被解释为提取主要视觉特征(有时由Gabor滤波器的输出建模的面向重新镶嵌的边缘检测器[158])。随后的层提取越来越复杂的特征用于分类。池化层执行子采样,并使用算术运算(如相关特征映射中神经元的正方形邻域的最大值或平均值)减少前一层的大小。在层次结构的后面,这些层对方向、规模和局部转换的变化具有不变性。

上文提到的CNN中早期层的表征特性与初级视觉皮层(V1)神经元的反应特性相似,初级视觉皮层是灵长类大脑视觉层次的第一个皮层区域。例如,V1区域的神经元从输入图像中检测主要视觉特征,如定向边缘[159],[160]。每个V1神经元都对特定的方向有选择性,这意味着当具有这种方向的刺激出现时,只有对这种方向有选择性的神经元才会做出最大的反应。表征学习方法使用自编码器和稀疏编码方案等神经网络,学习发现与V1中发现的感受野属性相似的视觉特征[161],[162],[163],[164]。仿生snn在使用稀疏编码[165]、[166]、独立成分分析(ICA)[167]和基于stp的自编码器[168]的表示学习中也有明显的应用。

如前所述,cnn通常在早期层中使用v1样的接受野核,通过对输入(例如图像)的核进行卷积来从刺激中提取特征。随后的层结合前一层的核来学习越来越复杂和抽象的刺激特征。表示过滤器(训练或手工制作)和STDP学习规则可用于开发尖峰cnn。由基于局部尖峰表示学习算法训练的卷积/池化层如图5所示。手工制作的卷积核已被用于许多spike cnn的第一层,并获得了较高的分类性能[59]、[84]、[60]、[169]、[170]。高斯差分(DoG)是一种常用的手工滤波器,用于提取snn早期层的特征。这种选择是仿照哺乳动物初级视觉皮层输入的生物动机。最近的一项研究使用了一层DoG滤波器作为SNN的输入层,然后是由STDP训练的更多卷积/池化层[170]。该网络架构提取的视觉特征被发送给SVM分类器,在MNIST上的准确率达到98.4%。为了训练卷积滤波器,在最近的尖峰CNN中实现了逐层尖峰表示学习方法[171],[172],Tavanaei等人(2017)[171]、[172]使用SAILnet[165]训练用于尖峰CNN初始层的定向选择核。该网络的卷积层之后是一个带有STDP变体的特征发现层[60],用于提取视觉特征进行分类。实现堆叠卷积自编码器[173]在MNIST上的性能进一步提高(99.05%),与传统cnn相当。

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

利用spike平台同时避免spike CNN的训练过程的主要方法是使用训练好的突触权值将已经训练好的CNN转换为spike架构,类似于ann - snn转换方法。许多研究表明,转换尖峰cnn在使用更少的运算和消耗更少的能量的情况下,具有接近传统cnn的高性能[177],[178],[141],[179],这使得深度cnn可以在硬件上实现[180],[181],[182]。最初成功的用于节能模式识别的cnn - snn转换方法之一是如图6所示的架构[183]。后来,Diehl等人(2015)[140]使用权值归一化改进了该架构,以减少性能损失。Rueckauer等人[184],[142]最近的工作提出了几个转换标准,使新的尖峰CNN比MNIST(例如CIFAR-10和ImageNet[185])识别更困难的物体。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

C.Spiking Deep Belief Networks

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

Lee等人(2008)[190]使用稀疏度项梯度下降的交错CD来实现稀疏dbn,该dbn用于建模皮质视觉区域V1和V2。该模型的进一步扩展导致了卷积稀疏dbn[191]。这是通过重新定义能量函数使其与卷积网络的绑定权值一致,然后使用Gibbs采样来实现适当的权值更新规则来实现的。dbn和卷积dbn已成功应用于视觉处理[192]、[193]、[194]、[195]、音频处理[196]、[197]、[198]、[199]、[200]、时间序列预测[201]和蛋白质折叠[202]等许多领域。

开发峰值DBN的第一步是从峰值RBM开始。图7b显示了Neftci等人(2014)[203]引入的峰值RBM架构。尖峰RBM使用随机积分-触发神经元代替标准RBM中的无记忆随机单元。Neftci等人(2014)表明,在特定类型的尖峰网络中,STDP的变体可以近似CD。也就是说,尖峰网络的学习分布捕获了与等效非尖峰网络的学习分布相同的统计特性,从而建立了重要的基础结果。
在这里插入图片描述
开发功能性尖峰dbn的一种方法是将先前训练好的dbn转换为尖峰平台,类似于snn或尖峰cnn的转换方法。第一个尖峰DBN是由O 'Connor等人(2013)[204]引入的,其中DBN被转换为LIF尖峰神经元网络,用于MNIST图像分类。这项工作随后被扩展[205],以开发噪声鲁棒的尖峰DBN,并符合硬件约束。尖峰dbn和rbm是节能的,这使得它们能够在低延迟硬件上实现,具有接近传统dbn的高精度[206],[207],[208]。

最近,有研究表明,所谓的“混合”玻尔兹曼机(HBMs)[209]和Hopfield网络[210],[211]之间存在等价关系。HBM是一种受限玻尔兹曼机,其中隐藏(表示)单元可以取连续值(而可见单元仍然具有二进制值)[209]。当HBM内的函数在隐藏单元上被边缘化时,Hopfield和HBM系统都被证明是热力学等价的。虽然Hopfield网络主要用作模式关联模型,但热力学等效性允许HBMs对其进行模拟。在HBM中,N个二进制可见单元对应Hopfield网络中的二进制随机神经元,而HBM中的P个隐藏单元对应Hopfield网络中的存储模式。HBMs提供了一种新的方法来模拟Hopfield网络,同时使用更少的突触。具体来说,Hopfield网络需要更新N个神经元和N/(N−1)/2个突触,而HBM需要更新H + P个神经元和更新HP突触,其中P为存储模式的数量。这一理论的进一步发展见于[212],[213],[214]。

D.Recurrent SNNs

如果一个神经网络的有向图表示有一个循环,那么它就是循环的。任何具有赢家通吃(WTA)模块或softmax模块的网络至少是隐式循环的,因为等效功能是通过相互循环的抑制连接在大脑中实现的。任何通过反向传播训练的网络也是隐式递归的,因为训练算法(如第II-B3节所述)预设了递归连接的存在。第III-D1节和第III-D2节分别讨论了门控snn和储层模型。这两种类型的模型都用于处理顺序数据。前者处理时空数据,通常被用作皮层微电路的模型。后者更多地只关注顺序数据.

1)门控SNNs:递归神经网络(rnn)用于处理时间信息。训练rnn最常用的方法是通过时间反向传播(BPTT),它将循环网络展开一些步骤,进入过去,然后将展开的网络当作前馈网络来训练。由于所得前馈网络的所有展开层共享相同的循环权值,因此在长序列的训练中存在问题,特别是梯度消失和爆炸的出现。前一种情况下,网络停止学习,后一种情况下,训练变得不稳定[215]。由于这些问题,[216]中的研究在循环网络中引入了一种创新,称为恒定误差旋转木马(CEC),避免了导数的重复乘法。这些被称为门控循环网络,实际上已经被取代了传统RNNs。第一个门控循环网络是长短期记忆(LSTM)[216]。lstm和其他门控循环网络(gru)[217]是传统的人工神经网络,因为它们不使用尖峰神经元,但它们也是非常规的,因为它们用包含状态和门的“细胞”替换具有循环连接的单元,因此可以很容易地适应输入序列的结构。这些门控制着信息流入、流出和在细胞内。门由可训练的权重控制。我们在本小节中考虑的主题是该领域在创建尖峰lstm或门控循环网络方面的现状。

只有少数循环snn,其中传统(非尖峰)rnn被转换为尖峰框架。

Shrestha等人(2017)[218]在IBM trunorth神经突触系统平台上实现了一种高效的尖峰LSTM[219]。要做到这一点,他们必须解决两个问题。第一个是建立一个脉冲LSTM,第二个是在一个神经形态芯片上实现它。我们关注前一个问题。
他们的设计选择之一是使用两个通道的尖峰列车来表示正负值。
这在生物学上是合理的,在第III-B节中讨论的DoG过滤器通常有两种形式,正是为了达到这个目的。输入、输出和大多数内部LSTM变量使用速率编码。这里有一个例外,即表示单元状态的变量值需要更高的精度,并由spike burst代码表示。这篇论文的主要目的是克服将LSTM映射到神经形态芯片的复杂性,并且没有报道标准基准测试的准确性结果。

分阶段LSTM[220]虽然不是尖峰LSTM,但非常适合处理事件驱动的异步采样数据,这是snn的常见任务。这使得处理来自(可能是几个)生物形态输入传感器的输入非常有用,这些传感器在多个时间尺度上对输入进行采样。它对于处理snn的输出也有潜在的用处。相位LSTM的创新之处在于在存储单元内的常用门集上增加了一个时间门。时间门与有节奏的振荡同步。当“打开”时,时间门允许对隐藏的输出和单元状态向量进行普通更新。当“关闭”时,它会阻止更新迫使隐藏和细胞向量保留其值.这些矢量中的单元可以具有独立的振荡周期和相位。这使得相位LSTM能够在不同的时间尺度上量化其输入。在许多涉及不同时间尺度的事件驱动采样的实验中,阶段性LSTM比常规LSTM训练得更快,同时表现得与常规LSTM一样准确。

2)液态机器和储藏库:哺乳动物特有的新皮层,有能力将其表面积从小鼠的约1平方厘米大幅扩大到人类的约2500平方厘米,同时保持其厚度相当恒定(≤3毫米)。为了支持这种扩展,一种假设是哺乳动物发现了一种结构基序,可以复制并在功能上适应新的任务。最初,这被称为一个由大约300个兴奋性和抑制性神经元组成的小柱,这些神经元分布在3毫米厚的新皮层的6层上。最近使用的术语是规范微电路。人们对这个假设模块的建模非常感兴趣。为了模拟可能在典型的新皮层微电路中发生的计算,引入了液态机(LSM)[221],此后被水库计算领域部分吸收[222],[223]。在LSM背景下,神经库是一个稀疏连接的循环SNN,由兴奋性和抑制性神经元组成,具有足够的结构来创建通用的模拟衰退记忆。该模块可以将一组可能的多模态尖峰序列转换为时空表征,其瞬时状态可以被一层线性单元识别和读出。

储层模型有三个部分:
1)它需要一个或多个基于感官的时变尖峰输入流或可以转换为尖峰的连续输入流。

2)它需要一个循环的SNN,被称为“储存器”或“液体”,它的突触可能(也可能不)能够学习。神经元在空间中被给定物理位置,作为建立连接概率的一种手段,连接概率通常随着距离呈指数递减。关于为什么这可能有用的一些想法在[224]中给出。连接往往是稀疏的,以避免混沌动力学。兴奋性神经元与抑制性神经元的比例通常约为80%到20%,以反映在新皮层中发现的比例

3)它需要(通常)线性读出单元,可以训练以识别液体中的瞬时模式。线性的部分动机是证明储层动态演化状态中的信息可以很容易地读出。

神经形态立方体(NewCube)[126],[225],[226]是一种广泛的未来模型,作为一种统一的计算架构,用于建模多模态时空数据,尤其是与大脑相关的数据,如脑电图分析[227]。NeuCube结构的核心是一个由类似stdp机制训练的脉冲神经元的3D储存库。水库的结构旨在直接反映人类新皮层的区域间连通性,如基于解剖学的结构连通性,如扩散张量成像(DTI),以及基于功能磁共振成像(fMRI)等措施的功能连通性。这与使用储液池作为新皮层微电路模型形成对比。NeuCube的观点是,大脑在宏观尺度上的连通性遵循储存器的特性。

前一小节讨论了尝试创建lstm的峰值版本的状态。[228]采用了油藏启发的方法,而不是采用直接的方法将LSTM结构转化为峰值版本。他们的LSNN架构(长短期记忆snn)由四个模块组成:X, R, A和Y。X提供多个输入尖峰流,R是由兴奋性和抑制性神经元组成的储存器,A是一个具有自适应阈值的兴奋性神经元模块(与X、R和Y相连),其目的部分是维持R的兴奋性-抑制性紧密平衡,模块Y由读出神经元组成。LSNN使用BPTT(第III-D1节)和使用膜电位的伪衍生物(如第II-B3节所述)进行训练。该网络在顺序MNIST基准和TIMIT声学-语音连续语料库上取得了与lstm相当的精度性能。序列MNIST是一种用于评估循环网络性能的序列学习基准,在[229]中首次描述。任务是识别MNIST数字,但现在输入是在连续时间步长上按顺序传递的784 = 282个输入像素的集合。尽管LSNN体系结构没有直接映射到LSTM的体系结构,但它具有LSTM特有的学习能力。已有研究表明,lstm“可以从老师那里学习非线性函数,而不需要修改它们的权重,而是使用它们的短期记忆。”文献[230]表明lstm具有这一特性。

另一项最近的研究[231]试图将传统LSTM的架构调整为皮质微电路的合理模型。这个模型有两个创新之处。首先,为了方便映射到微电路,将标准LSTM内的乘法门控操作替换为减法操作,减法操作可以通过新皮层中的侧抑制回路实现。这导致了名称subLSTM(减法LSTM)。其次,为了便于使用现成的深度学习框架进行学习和研究,假设神经编码方案使用速率编码的LIF神经元。这使他们能够使用与深度学习环境兼容的连续近似来模拟尖峰神经元。他们的subblstm在序列MNIST任务上取得了与标准LSTM相当的性能。在语言处理基准测试中也得到了类似的结果。subblstms的表现并不比标准LSTMs好,但它们为大脑功能问题和深度学习的理论见解之间的跨学科对话开辟了一条途径。
这些研究显示了循环snn的光明前景,它将传统的rnn和水库计算的生物启发循环神经框架结合起来

E.Performance Comparisons of Contemporary Models

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

总结

深度学习方法最近在模式识别的许多领域显示出突破性的表现。尽管它们在层次特征提取和分类方面是有效的,但这些类型的神经网络在计算上是昂贵的,并且难以在便携式设备的硬件上实现。在神经网络架构的另一个研究领域,SNN因其稀疏、基于尖峰的通信框架而被描述为节能模型。最近的研究试图利用这两个框架(深度学习和SNN)来开发多层SNN架构,以实现最近证明的深度网络的高性能,同时实现生物启发的节能平台。此外,文献表明,大脑通过多层snn检测刺激模式,snn通过自适应突触通过尖峰序列进行交流。生物学上真实的尖峰神经元通过没有明显衍生物的尖峰序列进行交流。这使得snn无法直接使用基于导数的优化进行训练。本文综述了不同层次snn的新学习方法,以解决该领域的一些开放性问题。由于生物神经元使用稀疏的、随机的、基于尖峰的通信,尖峰网络可以作为模拟大脑功能的一个合适的起点。具有特定神经结构的snn需要新的神经元模型和学习技术。刺突神经元通过分散的刺突序列进行交流,通过局部适应的突触来区分刺激模式。满足这些要求的探索可以通过生物启发的神经模拟来完成,该模拟可以根据与突触权重集相关的自适应滤波器来整合刺激并释放判别尖峰模式。开发snn的一个重要挑战是开发合适的学习规则来检测脉冲序列的时空局部模式。在本文中,我们回顾了为达到传统深度学习方法的性能而开发的最先进的深度snn,同时提供了一个仿生的、节能的平台。综述了三种流行的深度学习方法:深度全连接snn、峰值cnn和峰值dbn。最近方法报告的性能决定了基于峰值的深度学习方法的性能与传统深度神经网络一样好。此外,snn是基于人类大脑的功能,在未来能够比传统的snn表现得更好,就像人类大脑一样。本文综述了最近提出的深脉冲网络的方法、网络结构、实验和结果,以期对下一步的研究和实验有所帮助。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值