一种从人工神经网络到脉冲神经网络的最优转换方法技术

技术编号:28499442 阅读:28 留言:0更新日期:2021-05-19 22:39
本发明专利技术公开了一种从人工神经网络到脉冲神经网络的最优转换方法,该方法包括设置一个满足要求的源人工神经网络ann,对激活函数设定一个上限;训练源人工神经网络ann,并且记录神经网络每一层输出的最大值;构建一个与源人工神经网络ann网络结构相同但是去掉了每层激活函数的脉冲神经网络snn,将源人工神经网络ann中每层的网络权重weight和偏差bias复制到脉冲神经网络snn的每层中,并且将记录的源人工神经网络ann每层最大输出值a

【技术实现步骤摘要】
一种从人工神经网络到脉冲神经网络的最优转换方法


[0001]本专利技术属于神经网络
,具体地讲,是涉及一种从人工神经网络到脉冲神经网络的最优转换方法。

技术介绍

[0002]脉冲神经网络(Spike Neuronal Networks)被称为新一代的神经网络模型,由模拟生物神经元的脉冲神经单元组成,善于处理离散的脉冲信号。脉冲神经元只会在激活时发出一个脉冲,脉冲大小恒定,信息包含在脉冲的发放时间与频率里。独特的脉冲信号传递机制以及事件驱动的特性,使得脉冲神经网络在相关硬件上的推理运行速度极快并且能量消耗远低于传统的人工神经网络1。但是由于脉冲序列的离散性,脉冲神经网络无法直接使用反向传播来进行推理训练,所以如何训练一个复杂高效的脉冲神经网络是本领域的一个难点。
[0003]脉冲神经网络的训练方法主要有三个方向,分别是生物启发式方法2,3,代替梯度4,5,6(Surrogate Gradient)和从人工神经网络转换7,8(ANN

to

SNN)。他们适合的网络深度以及所需仿真时间长度有所不同:代替梯度和生物启发式方法适合较浅较简单的脉冲神经网络,而网络转换可以适用于更复杂的脉冲神经网络;生物启发式和网络转换方法需要较长的仿真时间长度(通常大于1000),而代替梯度仅仅需要小于100的仿真长度就能完成复杂任务。而网络转换方法在各种任务上的性能表现是三者中最优秀的,它往往能取得非常接近人工神经网络的结果,但是由于需要的仿真时间较长,所以植入硬件后的运行速度和能量消耗高于代替梯度的方法。最近阈值平衡是最常见的网络转换方法,它首先构建一个与脉冲神经网络结构相同的传统神经网络并且激活函数使用ReLU函数,在训练集上会首先训练构建的源神经网络,并且会记录网络每一层激活函数输出的最大激活值。完成训练后,直接把源神经网络的权重复制给脉冲神经网络,最后将记录的最大激活值设置为脉冲神经网络的对应层膜电位阈值,这样就完成了一个性能可靠的脉冲神经网络。源网络层之间传递的信息在脉冲神经网络中被离散化,而脉冲频率约等于此信息值。
[0004]虽然网络转换方法在各种复杂任务上的网络表现最好,但是距离人工神经网络仍然有一定差距,并且较长的仿真时间削弱了脉冲神经网络的节能性特点。目前有一系列的方法来改进网络转换的缺点,如:使用99.9%最大值进行阈值平衡7、使用两层之间的脉冲频率调节阈值8、使用软重置机制8(脉冲后膜电位减去阈值)代替重置机制(脉冲后膜电位归零)、混合训练方法9(先使用网络转换再使用代替梯度训练)等等。但是他们只是致力于提高脉冲频率以及减小层间留存膜电位,缺乏解释转换误差降低的理论依据,并且目前已知的工作在复杂数据集如ImageNet上的仿真结果仍然不令人满意(仿真时间或者任务表现),另外频率调节8和混合训练9在训练或者转换步骤上增加了额外的不可忽略开销。因此如何解决现有技术中存在的问题是本领域技术人员亟需解决的问题。
[0005]背景文件中提到的参考文献具体如下:
[0006]1.Kim S,Park S,Na B等.Spiking

YOLO:尖峰神经网络用于节能目标检测[C]//
AAAI人工智能会议论文集.2020,34(07):11270

11277.
[0007]2.Caporale N,Dan Y.尖峰时序依赖的可塑性:Hebbian学习规则[J].Annu.Rev.Neurosci.,2008,31:25

46.
[0008]3.Kheradpisheh S R,Ganjtabesh M,Thorpe S J等.基于STDP的尖峰深度卷积神经网络用于目标识别[J].神经网络,2018,99:56

67.
[0009]4.Shrestha S B,Orchard G.Slayer:时序脉冲误差重分配[J].神经信息处理系统进展会议,2018,31:1412

1421.
[0010]5.Wu Y,Deng L,Li G等.直接训练尖峰神经网络:更快,更大,更好[C]//AAAI人工智能会议论文集.2019,33:1311

1318.
[0011]6.Neftci E O,Mostafa H,Zenke F.尖峰神经网络中的替代梯度学习[J].IEEE信号处理杂志,2019,36:61

63.
[0012]7.Rueckauer B,Lungu I A,Hu Y等.将连续值深层网络转换为有效的事件驱动网络以进行图像分类[J].神经科学前沿,2017,11:682.
[0013]8.Han B,Srinivasan G,Roy K.RMP

SNN:残留膜电位神经元,可实现更深的高精度和低延迟的尖峰神经网络[C]//IEEE/CVF会议上的计算机视觉和模式识别会议论文集.2020:13558

13567.
[0014]9.Rathi N,Srinivasan G,Panda P等.通过混合转换和峰值定时相关的反向传播来启用深度峰值神经网络[C]//国际学习代表大会.2019.
[0015]10.Sengupta A,Ye Y,Wang R等.深入了解尖峰神经网络:Vgg和残差架构[J].神经科学前沿,2019,13:95.

技术实现思路

[0016]为了克服现有技术中的上述不足,本专利技术提供一种从人工神经网络到脉冲神经网络的最优转换方法,使得目标脉冲神经网络的任务表现接近源人工神经网络而仅仅需要与代替梯度方法接近的仿真时间。
[0017]为了实现上述目的,本专利技术采用的技术方案如下:
[0018]一种从人工神经网络到脉冲神经网络的最优转换方法,包括如下步骤:
[0019](S1)设置一个满足要求的源人工神经网络ann,并对激活函数设定一个上限;
[0020](S2)训练源人工神经网络ann,并且记录神经网络每一层输出的最大值;
[0021](S3)构建一个与源人工神经网络ann每一层网络模型都相同的脉冲神经网络snn,且去掉每一层的激活函数;
[0022](S4)将源人工神经网络ann中每层的网络权重weight和偏差bias复制到脉冲神经网络snn的每层中,并且将记录的源人工神经网络ann每层最大输出值a
l
作为脉冲神经网络snn对应层的阈值
[0023](S5)设置一个期望仿真时间T,按照公式(S5)设置一个期望仿真时间T,按照公式脉冲神经网络snn中的每一层的偏差bias增加偏移量使得转换误差最小
化。
[0024]具体地,所述步骤(S1)中的要求包括三点,第一是激活函数具有去掉负值部分的作用;第二是源人工神经网络ann需要使用平均池化层;第三是源神经网络ann上不能使用批归一化层。
[0025]与现有技术相比,本专利技术具本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种从人工神经网络到脉冲神经网络的最优转换方法,其特征在于,包括如下步骤:(S1)设置一个满足要求的源人工神经网络ann,并对激活函数设定一个上限;(S2)训练源人工神经网络ann,并且记录神经网络每一层输出的最大值;(S3)构建一个与源人工神经网络ann每一层网络模型都相同的脉冲神经网络snn,且去掉每一层的激活函数;(S4)将源人工神经网络ann中每层的网络权重weight和偏差bias复制到脉冲神经网络snn的每层中,并且将记录的源人工神经网络ann每层最大输出值...

【专利技术属性】
技术研发人员:顾实邓师旷
申请(专利权)人:电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1