脉冲神经网络SNN的简介

神经网络经历漫长的发展,目前总共有三代,它们分别是:

第一代神经网络
McCulloch–Pitt感知机,它执行阈值运算并输出数字(1,0)。
第二代神经网络
基于sigmoid单元或修正线性单元(ReLU)增加了连续非线性,使其能够计算一组连续的输出值。第二代神经网络也是目前使用的最广泛的网络算法,例如VGG16,ResNet等等的DNN都是第二代网络。
第三代神经网络:‘
主要使用“整合放电”(integrate-and-fire)型尖峰神经元,通过脉冲交换信息,因此称为脉冲神经网络(SNN)。第二代和第三代神经网络之间最大的区别在于信息处理性质。第二代神经网络使用了实值计算(real-value)(例如,信号振幅),而SNN则使用信号的时间(脉冲)处理信息。SNNs中的神经元单元只有在接收或发出尖峰信号时才处于活跃状态,因此它是事件驱动型的,因此可以使其节省能耗。

同传统的人工神经网络一样,脉冲神经网络同样分为三种拓扑结构。它们分别是前馈型脉冲神经网络、递归型脉冲神经网络,和混合型脉冲神经网络。

SNNs最大的优势在于其能够充分利用基于时空事件的信息。今天,我们有相当成熟的神经形态传感器,来记录环境实时的动态改变。这些动态感官数据可以与SNNs的时间处理能力相结合,以实现超低能耗的计算。实际上,与传统上DLNs使用的帧驱动(frame-driven)的方法相比,SNNs将时间作为附加的输入维度,以稀疏的方式记录了有价值的信息,从而实现高效的SNNs框架,并通过计算视觉光流或立体视觉来实现深度感知。

但是,SNNs目前主要受限于缺乏适当的训练、学习的算法。脉冲神经网络的学习方式主要包括无监督学习(unsupervised learning)、监督学习(supervised learning)和强化学习(reinforcement learning)等,这些方式在下一次具体介绍。

此外,SNN还受限于基于脉冲的数据可用性,虽然理想情况要求SNNs的输入是带有时间信息的序列,但SNNs训练算法的识别性能是在现有静态图像的数据集上进行评估的,例如CIFAR或ImageNet,缺乏动态的数据集。

SNN是广阔的蓝海领域,拥有很大的潜力与价值,相信在今后不断的研究中,SNN会不断在实际应用中崭露头角。

你可能感兴趣的:(神经网络,人工智能)