脉冲神经网络(Spiking Neural Network,SNN)脉冲神经网络是源于生物启发的新一代人工神经网络模型,属于深度学习的子集,且具有较强的生物基础支撑。 思路是这样的,动态神经网络中的神经元不是在每一次迭代传播中都被激活(而在典型的多层感知机网络中却是),而是在它的膜电位达到某一个特定阈值才被激活。当一个神经元被激活,它会产生一个信号传递给其他神经元,提高或降低其膜电位。
简介
脉冲神经网络 (SNN-Spiking Neuron Networks) 包含具有时序动力学特性的神经元节点、稳态-可塑性平衡的突触结构、功能特异性的网络环路等,高度借鉴了生物启发的局部非监督(如脉冲时序依赖可塑性、短时突触可塑性、局部稳态调节等)、全局弱监督(如多巴胺奖赏学习、基于能量的函数优化等)的生物优化方法,因此具有强大的时空信息表征、异步事件信息处理、网络自组织学习等能力。 [1] 脉冲神经网络,其模拟神经元更加接近实际,除此之外,把时间信息的影响也考虑其中。思路是这样的,动态神经网络中的神经元不是在每一次迭代传播中都被激活(而在典型的多层感知机网络中却是),而是在它的膜电位达到某一个特定值才被激活。当一个神经元被激活,它会产生一个信号传递给其他神经元,提高或降低其膜电位。
在脉冲神经网络中,神经元的当前激活水平(被建模成某种微分方程)通常被认为是当前状态,一个输入脉冲会使当前这个值升高,持续一段时间,然后逐渐衰退。出现了很多编码方式把这些输出脉冲序列解释为一个实际的数字,这些编码方式会同时考虑到脉冲频率和脉冲间隔时间。 借助于神经科学的研究,人们可以精确的建立基于脉冲产生时间神经网络模型。这种新型的神经网络采用脉冲编码(spike coding),通过获得脉冲发生的精确时间,这种新型的神经网络可以进行获得更多的信息和更强的计算能力。
历史背景
Alan Lloyd Hodgkin和Andrew Huxley在1952年提出了第一个脉冲神经网络模型,这个模型描述了动作电位是怎样产生并传播的。但是,脉冲并不是在神经元之间直接传播的,它需要在突触间隙间交换一种叫“神经递质”的化学物质。这种生物体的复杂性和可变性导致了神经元模型的多样性。 从信息论的观点来看,找到一种可以解释脉冲,也就是动作电位的模型是个问题。所以,神经科学的一个基本问题就是确定神经元是否通过时间编码来交流。时间编码表明单一的神经元可以取代上百个S型隐藏层节点。
应用
脉冲神经网络大体上可以和传统的人工神经网络一样被用在信息处理中,而且脉冲神经网络可以对一个虚拟昆虫寻找食物的问题建模,而不需要环境的先验知识。并且,由于它更加接近现实的性能,使它可以用来学习生物神经系统的工作,电生理学的脉冲和脉冲神经网络在电脑上的模拟输出相比,决定了拓扑学和生物神经学的假说的可能性。
在实践中脉冲神经网络和已被证明的理论之间还存在一个主要的不同点。脉冲神经网络已被证明在神经科学系统中有作用,而在工程学中还无建树,一些大规模的神经网络已经被审计来利用脉冲神经网络中发现的脉冲编码,这些网络根据储备池计算 的原则,但是现实中,大规模的脉冲神经网络计算由于所需计算资源多而产能小被限制了,造成了只有很少的大规模脉冲神经网络被用来解决复杂的计算问题,而这些之前都是由第二代神经网络解决的。第二代神经网络模型中难以加入时间,脉冲神经网络(特备当算法定义为离散时间时)相当容易观察其动力学特征。我们很难建立一个具有稳定行为的模型来实现一个特定功能。
分类
脉冲耦合神经网络(PCNN-Pulse Coupled Neural Network)与脉冲神经网络 (SNN-Spiking Neuron Networks) 容易混淆。脉冲耦合神经网络(PCNN)可以看做是脉冲神经网络(SNN)的一种,而脉冲神经网络(SNN)是更广泛的分类。两者其实无明显差异,都是基于脉冲编码(spike coding)。