一种低延迟局部二值脉冲神经网络及其训练方法技术

技术编号:38944671 阅读:17 留言:0更新日期:2023-09-25 09:41
本发明专利技术涉及二值脉冲神经网络及其训练方法,具体涉及一种具有精度损失估计器的低延迟局部二值脉冲神经网络及其训练方法,用于解决现有二值脉冲神经网络根据实验经验将第一层和最后一层的权重进行二值化操作时无法在精度和空间量化之间取得平衡,并且脉冲神经网络通常需要足够的时间步长来模拟神经动力学和编码信息,且需要很长时间才能收敛,进而导致计算成本增大的不足之处。该低延迟局部二值脉冲神经网络包括输入层、N个端到端的脉冲卷积块、全局平均池化块、输出层;同时,本发明专利技术公开一种上述低延迟局部二值脉冲神经网络的训练方法。方法。方法。

【技术实现步骤摘要】
一种低延迟局部二值脉冲神经网络及其训练方法


[0001]本专利技术涉及二值脉冲神经网络及其训练方法,具体涉及一种具有精度损失估计器的低延迟局部二值脉冲神经网络及其训练方法。

技术介绍

[0002]脉冲神经网络是一种受大脑启发的模型,具有更强的时空信息处理能力和计算能量效率。然而,随着网络深度的增加,由网络权重引起的存储问题逐渐引起人们的关注。受人工神经网络量化技术的启发,引入二值脉冲神经网络来解决存储问题。由于缺乏合适的学习算法,脉冲神经网络通常通过人工神经网络到脉冲神经网络的转换来获得,其精度将受到训练的人工神经网络的限制。对于二值脉冲神经网络,通常根据实验经验将第一层和最后一层的权重进行二值化操作,以减少精度下降。这种方法通常有效,但无法在精度和空间量化之间取得平衡。此外,脉冲神经网络通常需要足够的时间步长来模拟神经动力学和编码信息,并且需要很长时间才能收敛,导致计算成本增大。

技术实现思路

[0003]本专利技术的目的是解决现有二值脉冲神经网络根据实验经验将第一层和最后一层的权重进行二值化操作时无法在精度和空间量化之间取得平衡,并且脉冲神经网络通常需要足够的时间步长来模拟神经动力学和编码信息,且需要很长时间才能收敛,进而导致计算成本增大的不足之处,而提供一种低延迟局部二值脉冲神经网络及其训练方法。
[0004]为了解决上述现有技术所存在的不足之处,本专利技术提供了如下技术解决方案:
[0005]一种低延迟局部二值脉冲神经网络,其特殊之处在于:包括输出输入依次连接的输入层、N个端到端的脉冲卷积块、全局平均池化块、输出层;N为正整数;
[0006]所述输入层用于接收外部输入的原始图像,并将其编码为脉冲信号;
[0007]每个所述脉冲卷积块包括输出输入依次连接的精度损失估计器、脉冲卷积层、批处理规范化层、神经元和平均池化层;
[0008]所述精度损失估计器用于决定网络权重是否二值化,精度损失估计器的输入端连接输入层的输出端;所述脉冲卷积层用于提取特征;所述批处理规范化层用于对每个批次的输入进行归一化;所述平均池化层用于下采样和特征压缩;
[0009]所述全局平均池化块包括输出输入依次连接的卷积层、全局平均池化层,所述卷积层的输入端连接平均池化层的输出端,所述全局平均池化层的输出端连接所述输出层的输入端;
[0010]所述输出层用于对输入的脉冲信号进行分类,得到预测结果。
[0011]进一步地,所述精度损失估计器包括输出输入依次连接的二值权重计算模块、损失计算模块和权重误差衡量因子计算模块,所述二值权重计算模块用于根据全精度权重计算二值权重,损失计算模块用于根据二值权重分别计算二值化损失、空间损失与传播损失,权重误差衡量因子计算模块用于根据二值化损失、空间损失与传播损失计算权重误差衡量
因子,以决定网络权重是否二值化。
[0012]同时,本专利技术提供一种上述的低延迟局部二值脉冲神经网络的训练方法,其特殊之处在于,包括步骤如下:
[0013]步骤1、对原始数据集的原始图像进行预处理;同时,建立上述低延迟局部二值脉冲神经网络,并设置超参数;
[0014]步骤2、将经过步骤1处理的原始数据集输入步骤1建立的低延迟局部二值脉冲神经网络的输入层进行编码操作;
[0015]步骤3、将经过步骤2处理的原始数据集输入精度损失估计器计算二值权重,根据二值权重分别计算二值化损失、空间损失与传播损失,进而得到权重误差衡量因子;
[0016]步骤4、根据步骤3的权重误差衡量因子,选择部分网络层为非二值化层,采用全精度权重传播,对剩余网络层的网络权重进行二值化处理,采用二值权重传播,最终通过输出层得到预测结果;
[0017]步骤5、通过损失函数衡量步骤4的预测结果;
[0018]步骤6、在反向传播过程中,使用替代梯度函数近似计算网络权重的梯度;根据网络权重的梯度,对网络权重进行优化调整;
[0019]步骤7、判断网络权重的精度波动是否小于等于1%,若是,则执行步骤8,否则返回步骤2;
[0020]步骤8、根据链式规则计算权值损失L,根据权值损失L与学习率LR的乘积L
×
LR对二值权重进行调整;
[0021]步骤9、判断步骤8得到的网络权重是否满足精度要求,若满足,则完成训练,否则返回步骤2。
[0022]进一步地,所述步骤3具体为:
[0023]步骤3.1、将全精度权重W作为起始点进行初始化,使用n个二值化权重块对全精度权重进行二值化近似,得到二值权重BW,公式如下:
[0024][0025]其中,n为小于等于5的正整数,n
i
为B
i
的调整系数,B
i
表示第i个二值化权重块得到的二值权重;
[0026]B
i
=sign(W

mean(W)+(i

n)std(W))
[0027]其中,Mean()是取平均值,std()是取标准差,sign()是符号函数;
[0028]步骤3.2、采用经过步骤2处理的原始数据集对步骤3.1的二值权重BW进行评估,分别计算二值化损失、空间损失与传播损失,进而得到权重误差衡量因子,公式如下:
[0029][0030][0031]其中,R(x)为权重误差衡量因子,F(x)用于描述正向传播与反向传播每层对整体传播过程的影响;x是层的指数,∈是等于的因子,sumL表示网络总层数,K表示原始数据集的类别数;
[0032]A
l
是第l层的二值化损失,公式如下:
[0033][0034]其中,是第l层的第i个全精度权重,是第l层的第i个近似权重,是第l层的输出通道数;l=1,

,L;
[0035]M
l
是第l层的空间损失,公式如下:
[0036][0037]其中,是当第l层的输出通道数等于1时获得的A
l
,是当第l层的输出通道数等于权重总数时获得的A
l

[0038]进一步地,步骤4中,所述部分网络层为步骤3.2中R(x)最大的2层。
[0039]进一步地,所述步骤8具体为:
[0040]根据链式规则计算权值损失L,并得到权值损失L与学习率LR的乘积L
×
LR;选择与L
×
LR最相近的n
i
B
i
,将其对应的B
i
由非零变为零或由零变为非零。
[0041]进一步地,所述步骤5具体为:
[0042]使用均方误差MSE作为损失函数,为预测值f(x)与目标值y之间差值平方和的均值,公式如下:
[0043][0044]进一步地,步骤6中,所述替代梯度函数h(u)如下:
[0045][0046]其中,u为膜电压,sign()为符号函数,V
th
为阈值,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种低延迟局部二值脉冲神经网络,其特征在于:包括输出输入依次连接的输入层、N个端到端的脉冲卷积块、全局平均池化块、输出层;N为正整数;所述输入层用于接收外部输入的原始图像,并将其编码为脉冲信号;每个所述脉冲卷积块包括输出输入依次连接的精度损失估计器、脉冲卷积层、批处理规范化层、神经元和平均池化层;所述精度损失估计器用于决定网络权重是否二值化,精度损失估计器的输入端连接输入层的输出端;所述脉冲卷积层用于提取特征;所述批处理规范化层用于对每个批次的输入进行归一化;所述平均池化层用于下采样和特征压缩;所述全局平均池化块包括输出输入依次连接的卷积层、全局平均池化层,所述卷积层的输入端连接平均池化层的输出端,所述全局平均池化层的输出端连接所述输出层的输入端;所述输出层用于对输入的脉冲信号进行分类,得到预测结果。2.根据权利要求1所述的一种低延迟局部二值脉冲神经网络,其特征在于:所述精度损失估计器包括输出输入依次连接的二值权重计算模块、损失计算模块和权重误差衡量因子计算模块,所述二值权重计算模块用于根据全精度权重计算二值权重,损失计算模块用于根据二值权重分别计算二值化损失、空间损失与传播损失,权重误差衡量因子计算模块用于根据二值化损失、空间损失与传播损失计算权重误差衡量因子,以决定网络权重是否二值化。3.一种权利要求1所述的低延迟局部二值脉冲神经网络的训练方法,其特征在于,包括步骤如下:步骤1、对原始数据集的原始图像进行预处理;同时,建立权利要求1所述的低延迟局部二值脉冲神经网络,并设置超参数;步骤2、将经过步骤1处理的原始数据集输入步骤1建立的低延迟局部二值脉冲神经网络的输入层进行编码操作;步骤3、将经过步骤2处理的原始数据集输入精度损失估计器计算二值权重,根据二值权重分别计算二值化损失、空间损失与传播损失,进而得到权重误差衡量因子;步骤4、根据步骤3的权重误差衡量因子,选择部分网络层为非二值化层,采用全精度权重传播,对剩余网络层的网络权重进行二值化处理,采用二值权重传播,最终通过输出层得到预测结果;步骤5、通过损失函数衡量步骤4的预测结果;步骤6、在反向传播过程中,使用替代梯度函数近似计算网络权重的梯度;根据网络权重的梯度,对网络权重进行优化调整;步骤7、判断网络权重的精度波动是否小于等于1%,若是,则执行步骤8,否则返回步骤2;步骤8、根据链式规则计算权值损失L,根据权值损失L与学习率LR的乘积L
×
LR对二值权重进行调整;步骤9、判断步骤8得到的网络权重是否满足精度要求,若满足,则完成训练,否则返回步骤2。4.根据权利要求3所述的一种低延迟局部二值脉冲神经网络的训练方法,其特征在于,
所述步骤3具体为:步骤3.1、将全精度权重W作为起始点进行初始化,使用n个二值化权重块对全精度权重进行二值化近似,得到二值权重BW,公式如下:其中,n为小于等于5的正整数,n
i
为B
i
的调整系数,B
i
表示第i个二值化权重块得到的二值权重;B
i
=sign(W

mean(...

【专利技术属性】
技术研发人员:徐长卿裴乙鉴刘毅杨银堂
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

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

1