APP下载

基于神经元转换方法的混合卷积脉冲神经网络

2021-06-23李凌开孔万增

关键词:电势集上脉冲

李凌开,孔万增,2

(1.杭州电子科技大学计算机学院,浙江 杭州 310018;2.浙江省脑机协同智能重点实验室,浙江 杭州 310018)

0 引 言

传统人工神经网络(Artificial Neural Network,ANN)中,神经元的运算以及神经元与神经元之间的信息传递均以实数的形式进行,而生物体神经元的运算通过脉冲形式的电信号进行,这可能是目前ANN在某些视觉任务上表现不如人类的原因之一。此外,ANN的计算耗能较大,而生物大脑在执行类似任务时消耗的生物能较少。这些差异启发研究者们提出更具生物可解释性的脉冲神经网络(Spiking Neural Network,SNN)。SNN使用脉冲序列进行信息表示,其神经元通过事件驱动的方式来处理信息,以较低的能耗在神经形态芯片上运行,被称为第三代人工神经网络[1]。但是,SNN难以使用传统方法进行训练,网络模型无法加深,限制了SNN的特征提取能力,如Mt-spike[2],BP-STDP[3]等。近年来,卷积神经网络(Convolution Neural Network,CNN)在视觉任务上表现得越来越出色,主要得益于其网络结构越来越深以及网络参数量越来越大,从而能够从图像中提取出更高层次的语义特征,如DenseNet[4],EfficientNet[5],Res2Net[6]等。研究表明,CNN的卷积层和最大池化层与生物视觉系统提取图像特征的工作机制较为相似[7],但其全连接层神经元在计算方式上和生物神经元相差较大。Xu等先后提出了CSNN[8]和Deep CovDenseSNN[9],把ANN和典型SNN相结合。CSNN使用Tempotron方法训练模型的SNN部分,Deep CovDenseSNN结合了CNN和文献[10]提出的SNN模型,使用基于脉冲时间依赖可塑性(Spike Timing-Dependent Plasticity,STDP)的无监督训练方法,在MNIST数据集上取得了较好的结果,但模型受限于典型SNN的表达能力,数据噪声较大时的识别准确率有所下降。Rueckauer等[11]把完整的ANN转换为SNN,在多个数据集上取得了较高的识别准确率,但当原ANN模型深度较深时,浅层神经元需要经过一定的时间步才能把信号传递到网络深处,导致测试初期深层的神经元脉冲发射率过低,需要在相当多的时间步后才能得到较高的准确率。受到文献[8-9,11]的启发,本文提出一种CNN和SNN混合的网络,结合CNN较强的特征提取能力和SNN更具生物可解释性的优点,并使用神经元转换的方法获得网络权重,在缩短测试时间的同时提升了模型识别准确率。

1 SNN概述

1.1 脉冲神经元

在SNN中,神经元和传统的ANN不同,为了使神经元能够处理脉冲信号,研究者们相继提出了多种脉冲神经元模型,如Hodgkin-Huxley模型、Integrate-and-Fire(IF)模型、Leaky Integrate-and-Fire(LIF)模型、Izhikevich模型等。其中,Hodgkin-Huxley模型最为精确,但计算量过大;LIF模型计算过程简单,应用范围最广;IF的计算过程和传统神经元最为相似。

在典型SNN中,应用最为广泛的LIF模型将生物神经元简化为一个电阻-电容电路,其膜电势变化如下:

(1)

(2)

1.2 SNN训练方法

传统的ANN使用反向传播算法进行训练,SNN中进行信息表示的脉冲序列为离散序列,损失函数无法对权重进行求导,所以反向传播算法无法直接应用于SNN。主要采用2种训练方法,一是直接在脉冲序列的基础上开发具有生物可解释性的训练方法,如基于STDP规则的无监督训练方法[12]、监督训练方法OnMSGDB[13]、文献[14]提出的方法等;二是对训练完成的ANN进行转换,使用脉冲神经元替代原来的传统神经元,权重保持不变。

Kheradpisheh等[15]和Zhao等[16]使用第一种训练方法,这类模型无法突破SNN本身深度无法加深的局限,导致复杂数据集上的准确率不高。Cao等[17]把CNN转换为SNN,对CNN进行部分改动,如把网络中的偏置全都置为0,数据预处理后的所有神经元激活值取绝对值等,成功转换成了SNN,但分类准确率损失较大,而且只能转换部分类型的CNN网络层。在此基础上,Diehl等[18]通过标准化权重的方法调节脉冲发射率,缩小了转换后的精度损失。Rueckauer等[11]进一步完善了这种转换方法,使得大部分类型的CNN网络层都能够转换为脉冲的形式,且把精度损失控制在较小的范围内,使得模型在更复杂的图像数据集上也能有比较好的表现。

1.3 SNN编码方式

将图像编码为脉冲的方法主要有基于脉冲发射时间的编码方法和基于脉冲发射频率的编码方法。使用基于脉冲发射频率的方法进行编码时,特征图上的神经元激活值越大,对应脉冲神经元的发射频率越高。相比于基于时间的编码方法鲁棒性更强,对图像中的噪声更加不敏感。基于脉冲发射频率的编码方法中,最常用的是根据神经元激活值生成泊松脉冲序列,当特征图上的一个神经元被编码为脉冲序列时,序列中每个脉冲的产生是相互独立的,而且概率相同,该过程和泊松过程类似,所以可以用泊松过程来模拟脉冲序列的生成。在时间窗内生成k个脉冲的概率为:

(3)

式中,λ为和神经元激活值成正比的参数。

2 混合卷积脉冲神经网络

2.1 混合卷积脉冲神经网络概述

本文提出的混合卷积脉冲神经网络模型如图1所示。混合卷积脉冲神经网络包含卷积部分和脉冲部分,其中卷积部分包含若干卷积层和池化层,模拟生物的视觉系统,用于提取图像特征信息;脉冲部分包含编码模块、2层转换神经元的全连接层和1个输出单元,模拟生物大脑,用于分类图像。首先,针对具体数据集构建完整的CNN并训练,训练完成后,将全连接层神经元转换为脉冲神经元,并在卷积部分和全连接部分之间添加适当的编码模块。然后,测试过程中,卷积部分接收输入图像后输出特征图,编码模块在设定的时间窗内将特征图编码为脉冲序列,再将脉冲序列输入到后续的脉冲网络层。最后,输出图像的类别。

图1 基于混合卷积脉冲的图像分类模型

2.2 训练完整CNN模型

对于不同的数据集,本文选用不同的CNN结构进行特征提取以达到最佳的实验效果。训练过程采用Adam和随机梯度下降(Stochastic Gradient Descent,SGD)相结合的方法。训练前期使用Adam算法使得模型快速收敛,后期使用SGD算法并设置学习率衰减系数,从而提高了模型的分类准确率。训练完成后,得到整体的连接权重及偏置等参数,并把网络分为卷积和全连接两部分,其中卷积部分的结构和参数整体保持不变,作为完整的特征提取器保留了CNN的特征提取能力;全连接部分的参数保持不变,神经元后续转换为脉冲神经元。

2.3 全连接层神经元转换为脉冲神经元

脉冲神经元与传统的神经元不同,它通过事件驱动的方式对信息进行处理。在没有输入信号时,脉冲神经元处于静息状态,不进行运算;当收到前一层神经元脉冲信号时,脉冲神经元被激活并进行相关运算。在处理脉冲序列的过程中,每一个输入的脉冲信号都会使神经元的膜电势升高,当膜电势达到阈值时,释放1个脉冲信号至突触后神经元之后,脉冲神经元重置膜电势并回到静息状态。

膜电势重置的方式主要有2种,一是直接把膜电势重置为0;二是膜电势减去神经元激发脉冲的阈值。本文采用第2种方式,这种方式能在一定程度上保留前一层神经元的信息,从而减少随层数增加而造成的误差。

本文选用IF模型作为脉冲神经元,神经元膜电势变化如式(2)所示。将Cm设为1,神经元阈值作为超参数,可根据情况调整,实验中默认为1,I(t)为神经元在时间步t接收到的突触前神经元发出的脉冲信号,根据式(2),每个脉冲信号都会使膜电势Vm升高,神经元在多次释放脉冲的过程中向突触后神经元传递新的脉冲序列。IF模型与传统神经元在运算过程上更为相似,可以最大程度保留转换前网络的性能。

2.4 特征图编码为脉冲序列

卷积神经网络部分输出图像的特征图后,由编码模块根据特征图上神经元的激活值将神经元编码为脉冲序列。本文采用基于频率的编码方法,因为泊松脉冲序列容易引入不必要的变化,影响网络的识别准确率。本文采用的编码方法如下:对于1个特征图上的神经元,记其激活值为a,每个时间步都向突触后神经元施加1个大小为ka的膜电势,其中k为比例系数,可根据神经元的脉冲激发阈值来调整。整个编码阶段经过的总时间步数为时间窗。IF神经元在设定的时间窗内接收膜电势进行运算并输出相应的脉冲序列。

模型卷积部分得到的特征图示例如图2所示,图3为该特征图对应的脉冲序列。图2中的每个方块代表1个神经元,方块颜色的深浅程度代表该神经元激活值的大小。编码为脉冲序列后,图2中的1个神经元对应图3中的1行脉冲序列。图3中,共有50个时间步,512个神经元。

图2 特征图

图3 特征图对应的脉冲序列

3 实验结果及分析

实验在MNIST,cifar10及cifar100数据集上进行,通过识别准确率和测试耗时这2个性能指标来对比各类方法的性能。取10次测试结果的平均值,标准差代表实验结果的稳定性。

在MNSIT数据集上,采用7层卷积层和2层全连接层的网络进行训练,在cifar10数据集和cifar100数据集上,分别采用13层卷积层和2层全连接层的网络、ResNet50进行训练。分别采用本文方法、Deep CovDenseSNN[9]、文献[11]及文献[19]中的方法进行识别准确率和测试耗时的对比,得到的结果如表1所示。

表1 不同方法的准确率和测试耗时对比

从表1可以看出,在MNIST数据集上,本文方法与文献[11]方法相比,识别准确率下降了0.03%,测试耗时减少了约19.90%;与文献[9]方法相比,识别准确率提升了7.21%。在cifar10数据集上,本文方法与文献[11]方法相比,识别准确率提升了1.32%,测试耗时减少了98.87%。在cifar100数据集上,本文方法的识别准确率比文献[19]方法提升了3.97%。

在cifar10数据集上,分别采用本文方法和文献[11]方法进行对比,结果如图所示。图4中,SNN top-1表示模型预测结果向量中可能性最高的种类即为标签种类的概率,SNN top-5表示预测结果向量中可能性前5的种类中有标签种类的概率。ANN top-1,ANN top-5同理。从图4可以看出,文献[11]方法需要较多时间步才能达到模型的最高准确率,而本文方法只转换了ANN中的全连接层,SNN部分深度较浅,所以在较少时间步内就能达到模型的最高识别准确率。

图4 不同算法在cifar10上的测试结果

4 结束语

受人类视觉系统特征提取过程和大脑计算方式的启发,本文提出一种CNN和SNN混合的模型,结合了CNN的特征提取能力和SNN的生物可解释性,并使用神经元转换的方法对网络进行训练,在一定程度上避免了SNN在网络较深时测试耗时过长的缺陷,使模型能够适应更复杂的视觉任务,取得了较好的效果。本文模型的不足之处在于转换方法只能用于全连接层,无法适用于分类器中较为普遍的1×1卷积层,后期将对如何转换更多的神经网络层类型展开深入研究。

猜你喜欢

电势集上脉冲
基于双空间模糊邻域相似关系的多标记特征选择
基于非因果滤波和零点法的近断层脉冲型地震动识别方法
关于短文本匹配的泛化性和迁移性的研究分析
第五节:《电势差》学案设计
电场中能量问题的处理方法
大射电
师如明灯,清凉温润
基于脉冲反射法电缆故障定位脉冲源的设计
用电势分析法解含容电路问题
几道导数题引发的解题思考