本文主要是介绍spiking neural network概念学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我们认为,SNNs 最大的优势在于其能够充分利用基于时空事件的信息。今天,我们有相当成熟的神经形态传感器,来记录环境实时的动态改变。这些动态感官数据可以与 SNNs 的时间处理能力相结合,以实现超低能耗的计算。
在此类传感器中使用 SNNs 主要受限于缺乏适当的训练算法,从而可以有效地利用尖峰神经元的时间信息。实际上就精度而言,在大多数学习任务中 SNNs的效果仍落后于第二代的深度学习。很明显,尖峰神经元可以实现非连续的信息传递,并发出不可微分的离散脉冲,因此它们不能使用基于梯度下降型的反向传播技术,而这是传统神经网络训练的基础。
SNN 也可以处理序列数据,但是并没有研究论证 SNN 在处理 NLP 的能力。
找到了一篇Deep Spiking Neural Network model for time-variant signals classification: a real-time speech recognition approach,大概看了下趋势,感觉不温不火,有一定研究价值
首先看背景
STDP在处理音频信号上难以应用
模拟神经网络和脉冲神经网络之间最直接的联系是通过将模拟神经元的激活视为假设稳定状态的脉冲神经元的发放率来实现的。许多神经元测量模型已使用此类发放率代码来解释大脑中的计算过程(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非常适合处理来自神经形态传感器的基于时空事件的信息,神经形态传感器本身具有高能效。传感器记录来自环境的时间精确信息,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是利用高能效神经形态硬件设备的首选计算模型,它支持数据驱动处理模式,并保持局部计算,从而避免昂贵的内存访问操作。
深度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)。
Long Short-Term Memory Spiking Networks and Their Applications - 走看看
通常,可以将DNN和SNN简化为优化的ASIC和/或使用GPU并行。由于时间稀疏性,SNN的ASIC实现被发现具有更高的能源和资源效率,出现了具有高能效的神经形态芯片,包括Loihi [6],SpiNNaker [10]和其他[27, 28]。 只要能有效地训练它们并以类似于DNN的方式执行,这种能源效率以及相对简单的推理就使SNN具有吸引力。
需要回答的问题:
脉冲神经网络和二值神经网络的区别在哪里,优势?
这篇关于spiking neural network概念学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!