一种脉冲神经网络间接监督训练方法技术

技术编号:31789541 阅读:15 留言:0更新日期:2022-01-08 10:46
本发明专利技术公开了一种脉冲神经网络间接监督训练方法,包括将人工神经网络ANN转化为脉冲神经网络SNN的方法,其特征在于:所述将人工神经网络ANN转化为脉冲神经网络SNN的方法包括以下步骤:选用ReLU()作为激活函数;将ANN中所有偏置置零之后进行训练;权值定点化。本发明专利技术的优点在于:将ANN间接监督的方式运用到SNN。将ANN间接监督的方式运用到SNN。将ANN间接监督的方式运用到SNN。

【技术实现步骤摘要】
一种脉冲神经网络间接监督训练方法


[0001]本专利技术涉及脉冲神经网络
,具体是指一种脉冲神经网络间接监督训练方法。

技术介绍

[0002]不管是ANN还是SNN,其训练,或者说是学习,都是通过对神经元之间的连接权值的调节来实现的,这一点在生物神经网络中体现为突触可塑性。权重的调节算法在人工神经网络的学习中至关重要,在ANN中,反向传播算法和梯度下降取得了巨大的成功,但是在SNN中,反向传播算法不再适用,其冲突主要体现为两点:一是在脉冲神经网络中,ANN中激活函数变成了诸多脉冲的权重和,而脉冲可认为是狄拉克函数,不存在导数,从而使得反向传播算法无法在SNN中应用。另一个问题是生物合理性,又被称为Weight Transport问题,这个问题在ANN和SNN中都存在,具体的,在反向传播算法的计算中需要用到前向连接的权重值,然而,在生物中不存在这样的反向连接,从而使得反向传播算法不具备生物合理性。
[0003]目前,脉冲神经网络尚未出现一种公认的训练算法,依据是否使用标签可以分为无监督学习和有监督学习两类。
[0004]脉冲神经网络采用与生物神经网络更为相近的结构,尽管导致其无法应用在ANN中大放异彩的反向传播算法,但是也使其能够应用具有生物可解释性的学习规则,其生物学基础为脉冲时序依赖可塑性(Spike

Timing

Dependent Plasticity,STDP)。其主要特点是依据突触前和突触后神经元的相对激发时间(10ms量级)来调整它们之间的连接权重,其数学近似如下所示:
[0005][0006]式中Δω代表权重的改变量,τ代表时间窗常数,当突触前神经元在突触后神经元激发钱激发时,它们之间的权重会变大,反之变小,其变化受到超参数τ、a
+
和a

的影响,类似于在梯度下降算法中的学习率,利用STDP规则设计的无监督学习方法能够起到很好的特征提取作用。
[0007](2)有监督学习
[0008]SpikeProp是最早在脉冲神经网络中采用误差反向传播的学习算法,其特点是其神经元模型采用脉冲响应模型,将神经元的激活状态值的变化看作是在极短时间内的线性增加,同时规定神经元只能输出单个脉冲,将误差定义为输出神经元的脉冲激发时间的均方误差。在之后,ReSuMe、SPAN等学习算法逐渐涌现,其特点都是由一个神经元接收多个神经元的输入进而产生想要的脉冲时间序列。
[0009]在深度脉冲神经网络中,有监督学习又可以分为间接和直接两种类别。首先,间接监督学习是指先训练ANN,再由ANN转换为SNN,在ANN的训练过程中利用标签进行有监督训
练。其核心理念是将ANN中连续激活值理解为SNN中的脉冲激发频率。在此方向上的研究包括ANN结构的约束、转换方式等等。直接监督学习针对反向传播与SNN的冲突提出了一些方案,针对不可导问题一般采用近似的可导函数来解决。关于Weight Transport问题研究发现使用随即权重代替反向传播中的权重不会显著的影响结果。但是需要指出的是,直接监督的训练方式在准确率上仍然比间接监督的训练方式低。

技术实现思路

[0010]本专利技术为解决上述各种问题,提出了将ANN间接监督的方式运用到SNN上的一种脉冲神经网络间接监督训练方法。
[0011]为解决上述的技术问题,本专利技术提出的技术方案为:一种脉冲神经网络间接监督训练方法,包括将人工神经网络ANN转化为脉冲神经网络SNN的方法,所述将人工神经网络ANN转化为脉冲神经网络SNN的方法包括以下步骤:
[0012]步骤一:选用ReLU()作为激活函数;
[0013]步骤二:将ANN中所有偏置置零之后进行训练;
[0014]步骤三:权值定点化。
[0015]最终,SNN逻辑网络的生成步骤概括如下:
[0016]步骤一:按照设定好的网络结构及超参数,采用BP算法训练ANN网络,得到所有神经元的输入权值;
[0017]步骤二:将第二代神经元模型中权值与输入之间的乘加运算转换为第三代神经元模型的加法运算,此加法由脉冲的到达触发,判断脉冲的ID是否与当前神经元连接;
[0018]步骤三:将第二代神经元模型中的非线性激活过程,转换为阈值判断,当膜电位大于阈值时,产生新的脉冲并将膜电位置零,否则保持不变;
[0019]步骤四:将所有的权重定点化。
[0020]进一步的,ReLU()激活函数与Sigmoid()和Tanh()不同,ReLU()激活函数的输出为非负值,能够解决激活值为负数的问题。同时,当输入大于0时,ReLU()激活函数是线性的,这一特点能够在一定程度上减轻从ANN到SNN带来的性能损失。
[0021]本专利技术与现有技术相比优点在于:与Sigmoid()和Tanh()不同,ReLU()激活函数的输出为非负值,能够解决激活值为负数的问题。同时,当输入大于0时,ReLU()激活函数是线性的,这一特点能够在一定程度上减轻从ANN到SNN带来的性能损失。
附图说明
[0022]图1是本专利技术一种脉冲神经网络间接监督训练方法的ANN数值输出和SNN脉冲输出的对比示意图。
[0023]图2是本专利技术一种脉冲神经网络间接监督训练方法的Sigmoid()和Tanh()的函数图。
[0024]图3是本专利技术一种脉冲神经网络间接监督训练方法的ReLU()函数示意图。
[0025]图4是本专利技术一种脉冲神经网络间接监督训练方法的ANN到SNN转换原理图。
具体实施方式
[0026]下面结合附图对本专利技术做进一步详细说明。
[0027]采用间接监督的方式从ANN到SNN的转换面临着几个问题,包括:
[0028]首先,传统神经网络各层神经元的激活值有正负之分,其中负激活值的含义即为对后层神经元的抑制,这一点在脉冲神经网络中很难进行精确的表示。造成这个问题的原因主要有一下几点:
[0029](1)网络的输入可能是负数
[0030]一般情况下,人工神经网络的输入会经过预处理,常见的预处理方式为归一化,即通过转化,将输入数据映射到

1到1之间,这样做的目的一方面是为了增加网络的泛化能力,另一方面是能够加快训练时网络的收敛。
[0031](2)乘加运算
[0032]在人工神经网络中,神经元通过把输入与权重的乘加运算,以及偏置,经过激活转化为输出,权值和偏置都可能是负数。
[0033](3)激活函数
[0034]人工神经网络常采用的非线性激活函数Sigmoid()和Tanh()输出范围都是

1到1。
[0035]第二个问题是脉冲神经网络无法向人工神经网络一样表示偏置。在ANN中,每次神经元的运算都将输入与权重的乘加运算与偏置相加再经过激活函数,但是对于SNN来说,神经元的运算转换为有脉冲触发,每当有新的脉冲出现时将相应的权值加在激活水平上,因而本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种脉冲神经网络间接监督训练方法,包括将人工神经网络ANN转化为脉冲神经网络SNN的方法,其特征在于:所述将人工神经网络ANN转化为脉冲神经网络SNN的方法包括以下步骤:步骤一:选用ReLU()作为激活函数;步骤二:将ANN中所有偏置置零之后进行训练;步骤三:权值定点化。最终,SNN逻辑网络的生成步骤概括如下:步骤一:按照设定好的网络结构及超参数,采用BP算法训练ANN网络,得到所有神经元的输入权值;步骤二:将第二代神经元模型中权值与输入之间的乘加运算转换为第三代神经元模型的加法运算,此加法由脉冲的到达...

【专利技术属性】
技术研发人员:黄漪婧吴志刚沈伟戴靠山吴建军廖光明卫军名周林杨斌张丁凡张辉周成刚魏莞月向光明童波朱瑞蒙
申请(专利权)人:四川晟锦汇科技有限公司
类型:发明
国别省市:

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

1