脉冲神经网络Spiking neural network
(原文地址:维基百科)
简单介绍:
脉冲神经网络Spiking neuralnetworks (SNNs)是第三代神经网络模型,其模拟神经元更加接近实际,除此之外,把时间信息的影响也考虑当中。思路是这种,动态神经网络中的神经元不是在每一次迭代传播中都被激活(而在典型的多层感知机网络中却是),而是在它的膜电位达到某一个特定值才被激活。当一个神经元被激活,它会产生一个信号传递给其它神经元,提高或减少其膜电位。
在脉冲神经网络中,神经元的当前激活水平(被建模成某种微分方程)通常被觉得是当前状态,一个输入脉冲会使当前这个值升高,持续一段时间,然后逐渐衰退。出现了非常多编码方式把这些输出脉冲序列解释为一个实际的数字,这些编码方式会同一时候考虑到脉冲频率和脉冲间隔时间。
前言:
Alan Lloyd Hodgkin 和 Andrew Huxley在1952年提出了第一个脉冲神经网络模型,这个模型描写叙述了动作电位是如何产生并传播的。可是,脉冲并非在神经元之间直接传播的,它须要在突触间隙间交换一种叫“神经递质”的化学物质。这样的生物体的复杂性和可变性导致了很多不同的神经元模型的产生。
从信息论的观点来看,找到一种能够解释脉冲,也就是动作电位的模型是个问题。所以,神经科学的一个基本问题就是确定神经元是否通过时间编码来交流。时间编码表明单一的神经元能够代替上百个S型隐藏层节点。
应用:
这样的神经网络大体上能够和传统的人工神经网络一样被用在信息处理中,并且脉冲神经网络能够对一个虚拟昆虫寻找食物的问题建模,而不须要环境的先验知识。并且,因为它更加接近现实的性能,使它能够用来学习生物神经系统的工作,电生理学的脉冲和脉冲神经网络在电脑上的模拟输出相比,确定了拓扑学和生物神经学的假说的可能性。
在实践中脉冲神经网络和已被证明的理论之间还存在一个基本的不同点。脉冲神经网络已被证明在神经科学系统中有作用,而在project学中还无建树,一些大规模的神经网络已经被设计来利用脉冲神经网络中发现的脉冲编码,这些网络依据储备池计算的原则,可是现实中,大规模的脉冲神经网络计算因为所需计算资源多而产能小,发展受限,造成了仅仅有非常少的大规模脉冲神经网络被用来解决复杂的计算问题,而这些之前都是由第二代神经网络解决的。第二代神经网络模型中难以增加时间,脉冲神经网络(特别当算法定义为离散时间时)相当easy观察其动力学特征。我们非常难建立一个具有稳定行为的模型来实现一个特定功能。