郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!
FRONTIERS IN NEUROSCIENCE, (2018)
Abstract
脉冲神经网络(SNN)的灵感来自生物学中的信息处理,其中稀疏和异步二值信号以大规模并行方式进行通信和处理。神经形态硬件上的SNN表现出有利的特性,例如低功耗、快速推理和事件驱动的信息处理。这使它们成为有效实现深度神经网络的有趣候选者,深度神经网络是许多机器学习任务的首选方法。在这篇评论中,我们讨论了深度脉冲网络提供的机会,并详细研究了与训练SNN相关的挑战,使它们与传统深度学习竞争,但同时允许有效映射到硬件。本文介绍了SNN的广泛训练方法,从传统深度网络到SNN的转换、转换前的约束训练、反向传播的脉冲变体和STDP的生物启发变体。我们综述的目标是定义SNN训练方法的分类,并总结它们的优缺点。我们进一步讨论了SNN和二值网络之间的关系,它们在高效数字硬件实现中变得流行起来。神经形态硬件平台具有在实际应用中实现深度脉冲网络的巨大潜力。我们比较了过去几年开发的各种神经形态系统的适用性,并调查了潜在的用例。神经形态方法和传统机器学习不应被视为同一类问题的两种解决方案,而是可以识别和利用它们特定于任务的优势。深度SNN为使用新型基于事件的传感器、利用时间代码和局部片上学习提供了很好的机会,到目前为止,我们只是在实际应用中实现了这些优势的皮毛。
Keywords: neural networks, spiking neurons, neuromorphic engineering, event-based computing, deep learning, binary networks
1. INTRODUCTION
使用深度神经网络(DNN)进行训练和推理,通常称为深度学习(LeCun et al., 2015; Schmidhuber, 2015; Goodfellow et al., 2016),为人工智能(AI)的许多引人注目的成功案例做出了贡献(Goodfellow et al., 2014; Amodei et al., 2016; He et al., 2016; Silver et al., 2016)。来自神经科学的皮层层次模型强烈启发了DNN背后的架构原则(Fukushima, 1988; Riesenhuber and Poggio, 1999),但在实现层面,类脑计算和模拟神经网络(ANN)之间只有边缘相似性,如人工智能应用可以被识别。一个明显的区别是ANN中的神经元大多是非线性但连续的函数逼近器,它们在一个共同的时钟周期上运行,而生物神经元使用异步脉冲进行计算,这些脉冲通过数字和时间精确的动作电位来表示某些特征事件的发生。近年来,来自机器学习、计算神经科学、神经形态工程和嵌入式系统设计领域的研究人员试图弥合DNN在AI应用中的巨大成功与脉冲神经网络(SNN)的前景之间的差距(Maass, 1997; Ponulak and Kasinski, 2011; Grüning and Bohte, 2014)。SNN的这种前景源于它们在像大脑这样的真实神经电路中表现出的有利特性,例如模拟计算、低功耗、快速推理、事件驱动处理、在线学习和大规模并行性。此外,基于事件的视觉和音频传感器(Lichtsteiner et al., 2008; Posch et al., 2014; Liu et al., 2015)已经达到越来越成熟的水平,深度SNN是最有前途的处理概念之一。此类输入有效(Tavanaei et al., 2018)。这一系列研究恰逢人们对传统DNN的高效硬件实现越来越感兴趣,因为随着深度学习向自动驾驶、机器人技术等现实世界的应用发展,对计算资源的巨大需求已成为主要障碍。 或物联网 (IoT)。 允许内存计算的所谓二值网络等概念与SNN共享二值和潜在的稀疏通信方案。 然而,此类网络通常以同步方式执行,这与SNN中的事件驱动(异步)执行模式不同。因此,正在进行富有成效的跨学科思想交流,为这些概念构建神经形态系统。
在这篇综述中,我们概述了深度SNN背后的几个关键思想,并讨论了SNN与其ANN对应物相比的挑战和局限性,以及未来应用的机会,特别是结合目前正在开发的新型计算模型和硬件。本文的结构如下:第2节讨论了输入和输出的准备,以便使用深度SNN执行推理。在第3节中,我们概述了如何训练深度SNN,这与训练传统DNN有何联系,以及如何在脉冲级别进行学习。第4节讨论了深度SNN在神经形态硬件上的有效实现及其局限性,并强调了与传统DNN的硬件高效解决方案的相似之处。在第5节中,我们介绍了深度SNN的可能用例,并认为它们的优势是对传统DNN的优势的补充。最后,第6节讨论了最新技术,并对有前景的研究方向进行了展望。
1.1. What Is a Deep Spiking Neural Network?
如果神经网络至少有两个隐藏层来计算输入的非线性变换,则它们通常被称为深度。在本文中,我们只考虑前馈网络,它计算从输入到输出的映射(例如参见图1A),并且不涉及循环神经网络。我们的定义包括多层全连接网络、卷积神经网络(CNN; LeCun and Bengio, 1995)、深度信念网络(DBN; Hinton et al., 2006)、深度自动编码器等。
脉冲神经网络最初是作为生物信息处理模型进行研究的(Gerstner and Kistler, 2002),其中神经元通过脉冲交换信息(例如,见图1D)。假设所有脉冲都是刻板的事件,因此,信息的处理减少到两个因素:首先,脉冲的时间,例如发放率,突触前和突触后脉冲的相对时间,以及特定的发放模式。其次,所用突触的身份,即连接哪些神经元,突触是兴奋性还是抑制性,突触强度,以及可能的短期可塑性或调节作用。根据模拟神经元的详细程度,要么是点神经元,其中到达的脉冲立即改变其(体细胞)膜电位,要么被建模为具有复杂空间(树突)结构的多室模型,这样树突电流可以在体细胞电位被修改之前相互作用。不同的脉冲神经元模型,如积分和激发、脉冲响应或Hodgkin-Huxley模型,以不同的细节水平描述了膜电位和脉冲生成的演变。通常,膜电位会整合来自到达脉冲的电流,并在超过某个阈值时生成新的脉冲(图1E)。一旦产生脉冲,它就会通过轴突以小的轴突延迟发送到所有连接的神经元,并且膜电位被重置为给定的基准。
模拟神经网络和脉冲神经网络之间最直接的联系是通过将模拟神经元的激活视为假设稳定状态的脉冲神经元的发放率来实现的。许多神经元测量模型已使用此类发放率代码来解释大脑中的计算过程(Hubel and Wiesel, 1959; Rieke, 1999)。然而,脉冲神经元模型还可以模拟更复杂的过程,这些过程取决于脉冲之间的相对时间(Gütig, 2014)或相对于某些参考信号(例如网络振荡)的时间(Montemurro et al., 2008)。时间代码在生物学中非常重要,即使是单个脉冲或单个神经元发放的微小时间变化也可能引发不同的反应(Gerstner et al., 1996; Stemmler, 1996; Rieke, 1999; Machens et al., 2003),因为通常在计算脉冲发放率的可靠估计之前必须做出决定。
除了SNN的生物学驱动定义之外,还有来自神经形态工程领域的更实用的面向应用的观点,其中SNN通常被称为基于事件而不是脉冲(Liu et al., 2015)。在这里,事件是一个数字信息包,其特征在于其来源和目的地地址、时间戳,并且与生物激励的SNN相比,它可能携带几位有效载荷信息。这种观点的起源是地址事件表示(AER)协议(Mahowald, 1994; Boahen, 2000),该协议用于通过数字互连将基于事件的传感器(Lichtsteiner et al., 2008)连接到神经形态芯片(Indiveri et al., 2011; Amir et al., 2017)或数字后处理硬件(Furber et al., 2014)。基于事件的视觉传感器使用有效载荷位来区分视觉ON或OFF事件,但有效载荷也可用于向突触后目标发送任何其他类型的相关信息,这可能计算比简单的积分和发放更复杂的功能(Stefanini et al., 2014)。
1.2. Advantages of Deep SNNs
研究SNN的一个动机是大脑在现实世界的任务中表现出非凡的认知能力。随着我们不断努力提高我们对类脑计算的理解,人们期望更接近生物学的模型也将比更抽象的模型更接近于实现自然智能,或者至少将具有更高的计算效率。
SNN非常适合处理来自神经形态传感器的基于时空事件的信息,神经形态传感器本身具有高能效。传感器记录来自环境的时间精确信息,SNN也可以在其计算中利用有效的时间代码(Mostafa, 2018)。这种信息处理也是事件驱动的,这意味着只要记录的信息很少或没有,SNN就不会计算太多,但是当记录突然爆发的活动时,SNN会产生更多的脉冲。在通常来自外部世界的信息很少的假设下,这导致了一种高能效的计算方式。此外,与引入传感器施加的人工时间步长的帧驱动方法相比,使用时域输入是额外的有价值的信息。这可以导致对光流(Benosman et al., 2014)或立体视差(Osswald et al., 2017)等特征的高效计算,并且结合对脉冲时间敏感的学习规则,可以实现更高效的数据训练(Panda et al., 2017)。
在深度SNN中,异步数据驱动的计算模式导致显著信息通过网络的多层快速传播。为了在实践中最好地利用这种效应,SNN应该在神经形态硬件上运行。结合基于事件的传感器,这会导致伪同步信息处理(Farabet et al., 2012; Camuñas-Mesa et al., 2014),这意味着最后一层的第一个近似输出在记录第一个输入脉冲后是可用的。即使对于多层网络也是如此,因为一旦下层提供足够的活动,脉冲就会立即开始传播到上层(图1D)。无需等待完整的输入序列完成,这与传统的DNN形成对比,传统DNN需要在计算最终输出之前完全更新所有层(图1B, C)。初始输出脉冲必然基于不完整的信息,因此已经表明,深度SNN的分类性能越长,它们处理更多输入脉冲的时间越长(图1F)。还可以专门训练SNN以减少近似推理的延迟(Neil et al., 2016a)。
SNN是利用高能效神经形态硬件设备的首选计算模型,它支持数据驱动处理模式,并保持局部计算,从而避免昂贵的内存访问操作。
1.3. Limitations of Deep SNNs
深度SNN的最大缺点之一是,尽管最近取得了进展(Rueckauer et al., 2017; Sengupta et al., 2018),但它们在MNIST (Lecun et al., 1998)、CIFAR (Krizehvsky and Hinton, 2009)或ImageNet (Russakovsky et al., 2015)没有达到与机器学习同行相同的水平。在某种程度上,这可以归因于这些基准测试的性质,它们基于传统的基于帧的图像。因此,需要某种形式的从图像到脉冲序列的转换,这通常是有损和低效的。另一个限制因素是缺乏专门利用脉冲神经元能力的训练算法,例如有效的时间码。相反,大多数方法使用传统DNN的基于发放率的近似,这意味着无法预期准确度提高。在这种情况下,深度SNN可能仍然有用,因为与传统系统相比,可能会更快更有效地获得近似结果,尤其是当SNN在神经形态硬件上运行时。SNN的训练算法也更难设计和分析,因为计算的异步和不连续方式,这使得直接应用DNN所用的成功反向传播技术变得困难。
SNN在传统AI基准测试中的表现只能被视为概念验证,而不是最终的研究目标。如果脉冲网络模拟生物学,那么我们应该期望它们针对行为最相关的任务进行优化,例如在现实世界中移动时基于连续输入流做出决策。图像分类对应于在没有任何支持上下文的情况下对突然出现在视网膜上的随机图像进行分类的任务。虽然大脑能够解决此类任务(Thorpe et al., 1996),但它们肯定没有为此进行优化。我们目前缺乏可以衡量有效现实世界性能的良好基准数据集和评估指标。一个富有成效的方向是收集动态视觉传感器(DVS)基准测试(Orchard et al., 2015a; Serrano-Gotarredona and Linares-Barranco, 2015; Hu et al., 2016; Liu et al., 2016),特别是对于相关用例,例如自动驾驶(Binas et al., 2017; Sironi et al., 2018)。
2. INFERENCE WITH DEEP SNNS
3. TRAINING OF DEEP SNNS
3.1. Binary Deep Neural Networks
3.2. Conversion of Deep Neural Networks
3.3. Training of Constrained Networks
3.4. Supervised Learning With Spikes
3.5. Local Learning Rules
4. NEUROMORPHIC HARDWARE
4.1. Inference on Neuromorphic Hardware
4.2. On-Chip Learning
5. APPLICATIONS
6. DISCUSSION