脉冲神经网络 (SNN) 属于第三代神经网络模型,实现了更高级的生物神经模拟水平。除了神经元和突触状态之外,SNN 还将时间概念纳入了其操作之中,是一种模拟大脑神经元动力学的一类很有前途的模型。
那么什么是第一代和第二代神经网络模型呢?
第一代神经网络
第一代神经网络又称为感知器,在1950年左右被提出来,它的算法只有两层,输入层输出层,主要是线性结构。它不能解决线性不可分的问题,对稍微复杂一些的函数都无能为力,如异或操作。
第二代神经网络:BP 神经网络
为了解决第一代神经网络的缺陷,在1980年左右 Rumelhart、Williams 等人提出第二代神经网络多层感知器 (MLP)。和第一代神经网络相比,第二代在输入层之间有多个隐含层的感知机,可以引入一些非线性的结构,解决了之前无法模拟异或逻辑的缺陷
第三代神经网络:脉冲神经网络
第三代神经网络,脉冲神经网络 (Spiking Neural Network,SNN) ,旨在弥合神经科学和机器学习之间的差距,使用最拟合生物神经元机制的模型来进行计算,更接近生物神经元机制。脉冲神经网络与目前流行的神经网络和机器学习方法有着根本上的不同。SNN 使用脉冲——这是一种发生在时间点上的离散事件——而非常见的连续值。每个峰值由代表生物过程的微分方程表示出来,其中最重要的是神经元的膜电位。本质上,一旦神经元达到了某一电位,脉冲就会出现,随后达到电位的神经元会被重置。对此,最常见的模型是 Leaky Integrate-And-Fire (LIF) 模型。此外,SNN 通常是稀疏连接的,并会利用特殊的网络拓扑。
脉冲神经网络 (SNN-Spiking Neuron Networks) 包含具有时序动力学特性的神经元节点、稳态-可塑性平衡的突触结构、功能特异性的网络环路等,高度借鉴了生物启发的局部非监督(如脉冲时序依赖可塑性、短时突触可塑性、局部稳态调节等)、全局弱监督(如多巴胺奖赏学习、基于能量的函数优化等)的生物优化方法,因此具有强大的时空信息表征、异步事件信息处理、网络自组织学习等能力。 [1]
脉冲神经网络,其模拟神经元更加接近实际,除此之外,把时间信息的影响也考虑其中。思路是这样的,动态神经网络中的神经元不是在每一次迭代传播中都被激活(而在典型的多层感知机网络中却是),而是在它的膜电位达到某一个特定值才被激活。当一个神经元被激活,它会产生一个信号传递给其他神经元,提高或降低其膜电位。
在脉冲神经网络中,神经元的当前激活水平(被建模成某种微分方程)通常被认为是当前状态,一个输入脉冲会使当前这个值升高,持续一段时间,然后逐渐衰退。出现了很多编码方式把这些输出脉冲序列解释为一个实际的数字,这些编码方式会同时考虑到脉冲频率和脉冲间隔时间。
借助于神经科学的研究,人们可以精确的建立基于脉冲产生时间神经网络模型。这种新型的神经网络采用脉冲编码(spike coding),通过获得脉冲发生的精确时间,这种新型的神经网络可以进行获得更多的信息和更强的计算能力。
20220112【脉络分明:脉冲神经网络及其应用】余肇飞:脉冲神经网络学习理论与方法_哔哩哔哩_bilibili
如何看待第三代神经网络 SNN?详解脉冲神经网络的架构原理、数据集和训练方法-极市开发者社区 (cvmart.net)
Frontiers | Spiking Neural Network (SNN) With Memristor Synapses Having Non-linear Weight Update | Frontiers in Computational Neuroscience
【强基固本】脉冲神经网络(Spiking Neural Network)介绍 (qq.com)