关键词:
图像识别
脉冲神经网络
脉冲时空通道
类脑计算
摘要:
近些年来,随着深度学习的崛起,人工智能逐渐成为时代的主题,在计算机视觉领域,以卷积神经网络(Convolutional Neural Network,CNN)为代表的深度神经网络发展迅速,性能持续创造新高。然而,由于人脑实际是基于脉冲编码的信息处理方式,这与传统人工神经网络的连续数值计算有很大的区别。随着类脑智能的提出,被誉为第三代神经网络的脉冲神经网络(Spiking Neural Network,SNN)重新引起学界的研究兴趣,它将输入信息编码成脉冲序列,在预定的时间里逐个输入网络。不仅如此,脉冲神经网络采用的神经元也是仿生的,它的输入计算过程模拟了生物神经元的膜电位累积过程,内部激活函数模拟了生物神经元的动作电位发放过程。尽管具有仿生的特性,SNN的训练仍然存在着巨大的挑战。一方面,由于天然的不可微分特性,经典的反向传播(Back Propagation,BP)算法一直无法很好地适用于脉冲神经元,这导致很长一段时间SNN是基于无监督的学习,很难在分类任务上达到好的效果。另一方面,由于在时间上的记忆特性,SNN在仿真平台上无法完全地并行计算,这直接导致SNN的训练时间是ANN的好几十甚至上百倍,因此纯SNN的架构往往规模较小,很难达到常见CNN那样的大规模。基于上述SNN的局限性,本文综合考量这两个方面,提出了一种基于脉冲时空通道的SNN架构,并针对此架构推导了直接监督算法,本文的贡献和创新点如下:(1)改进了传统的迭代漏积分发放模型(Leaky Integrate-and-Fire,LIF),通过引入新神经元模型,网络的收敛速度加快,节省了SNN的训练时间成本。该方法通过将神经元输入电流的系数固定为1,即让输入在当前时间点不泄漏,而只是让神经元的记忆信息发生衰减。这一点在生理上模拟了神经元对原有信息的遗忘和保留对当前信息的专注,本工作的工作中认为该思想更符合常理。(2)提出原创性的脉冲时空通道(Spiking Spatio-Temporal Channle,SSTC)的概念,并引入SNN中,在时间维度上拓展了网络权重,得到了新的架构,这种架构在不影响网络训练时间成本的前提下,提升了图像分类精度。例如,假设网络一次迭代的时间窗设为30,那么将有30套不同的权重参数用于匹配每一个时间点。通过这种方式,网络可训练的参数增加,但是并没有增加神经元数目的开销,每个时间点只是取出其中的一套权重进行计算,因此模型的前向传播时间并不会受到影响,进而网络的推断时间也就较原来没有增加。具体而言,使用新的SNN架构,本工作在数据集MNIST上得到了目前同等网络规模下相对优异的精度,达到了99%。针对此架构的SNN多层感知机模型(Multilayer Perceptron,MLP),在时间和空间上推导了其BP算法,发现由于引入了SSTC,该BP算法相较其他SNN的训练算法尤为精炼简洁,一定程度上降低了计算复杂度。(3)针对脉冲卷积神经网络模型(Spiking Convolutional Neural Network,SCNN),通过引入一个编码层,分离了卷积与全连接层,让卷积层专注于对原始信息特征的提取,随后经由编码,让全连接层以新的SNN架构运行,专注于对特征的推断。经数据集CAFIR-10对比验证,此网络较不使用卷积自编码或者不引入脉冲时空通道两种情况识别正确率得到了大幅提升。