本发明涉及脉冲神经网络,具体地说,涉及一种脉冲神经网络的训练方法。
背景技术:
1、在涉及脉冲神经网络技术领域,为实现脉冲神经网络的训练。
2、现有技术中,深度学习模型的脉冲形式转化技术(dnn-to-snn)的训练方法在性能和网络规模上都有不错的效果。
3、但在实际运用中,虽然dnn-to-snn同时结合了深度学习模型易训练、高性能的优势与脉冲模型高实时性、高能效的优势,扩展了这两种学习模型的应用范围;但是对于深度脉冲神经网络来说,依然有一定的转换损失,而且存在前向传播速度慢,脉冲发放率低的问题。
技术实现思路
1、本发明提供了一种脉冲神经网络的训练方法,其能够克服现有技术的某种或某些缺陷。
2、根据本发明的一种脉冲神经网络的训练方法,其包括:
3、对标准卷积神经网络进行剪裁,得到剪裁后的卷积神经网络;
4、对剪裁后的卷积神经网络进行训练,获得具有较高精度的卷积神经网络,得到权重并保存;
5、基于dnn-to-snn转换方法,将具有较高精度的卷积神经网络转换为脉冲神经网络;
6、基于通道的归一化方法对权重进行归一化;
7、运行脉冲神经网络,基于时间步动态设定神经元阈值。
8、作为优选,所述对标准卷积神经网络进行剪裁,得到剪裁后的卷积神经网络;包括,
9、在标准卷积神经网络的输入端后增加abs函数层,基于abs函数层,将标准卷积神经网络的每一个卷积层和全连接的偏置置零,得到剪裁后的卷积神经网络。
10、作为优选,所述对剪裁后的卷积神经网络进行训练,获得具有较高精度的卷积神经网络,得到权重并保存;包括,
11、基于反向传播算法对dnn进行训练,获得具有较高精度的dnn,并将具有较高精度的dnn的权重保存下来。
12、作为优选,所述基于反向传播算法对dnn进行训练,获得具有较高精度的dnn,并将具有较高精度的dnn的权重保存下来;包括,
13、将训练数据输入到剪裁后的卷积神经网络中,通过网络的前向传播,计算获得模型的预测输出;
14、将模型的预测输出与真实标签进行比较,计算获得模型的损失值;
15、通过损失值,基于链式法则计算每个参数对损失的梯度。
16、作为优选,所述基于dnn-to-snn转换方法,将具有较高精度的卷积神经网络转换为脉冲神经网络;包括,
17、基于dnn-to-snn转换方法,将卷积神经网络中的激活函数relu()转换为snn中具有动态阈值的if神经元。
18、作为优选,所述基于dnn-to-snn转换方法,将dnn中的激活函数relu()转换为snn中具有动态阈值的if神经元;包括,
19、dnn中的激活函数relu()函数和snn的神经元是一一对应的。
20、作为优选,所述基于dnn-to-snn转换方法,将dnn中的激活函数relu()转换为snn中具有动态阈值的if神经元;包括,
21、对于深度为l的网络,wl(l∈{1,…,l})表示l-1层与l层单元的连接权重矩阵,bl为对应的偏置项,每层中的单元数是ml;第l层神经元i的relu激活的表达式如下:
22、
23、其中,wij是第l层神经元i第j个突触的权重,是第(l-1)层神经元j的relu激活,是第l层,神经元i对应的偏置;
24、归一化xi使xi∈[0,1],与xi对应的if脉冲神经元的膜电位状态方程表示为:
25、
26、是第l层神经元i在t时刻的膜电位;
27、其中:
28、
29、δ(t)为狄拉克函数,是第j个突触前神经元的脉冲发射时间。
30、作为优选,所述基于通道的归一化方法对权重进行归一化;包括,
31、基于对剪裁后的卷积神经网络进行训练的训练数据集,计算获得最大激活值;
32、基于通道的归一化方法,通过最大激活值对权重进行归一化,
33、通道归一化通过以下方式计算:
34、
35、其中ω,λ和b分别是权重,i和j是通道索引。
36、作为优选,所述运行脉冲神经网络,基于时间步动态设定神经元阈值;包括,
37、神经元膜电位变化过程如下:
38、膜电位在每个时间步对输入电流累积:
39、
40、其中,t是时间步,是阶跃函数,表示在t时刻神经元出现脉冲:
41、
42、其中,是神经元i在t时刻的阈值,阈值动力学公式如下:
43、
44、其中,α是阈值变化因子,α∈[0,1],v0为神经元初始阈值;脉冲神经元累积输入直到膜电位超过阈值此时产生脉冲,神经元膜电位被复位:
45、
46、其中,vthr设置为1。
47、本发明使用动态阈值来设置阈值电压,并采用基于通道的归一化方法对权重进行归一化。提出了一种脉冲神经网络的训练方法,不仅解决了转换精度存在损失的问题,还解决了脉冲传输速率低、发射率低的问题。
1.一种脉冲神经网络的训练方法,其特征在于:
2.根据权利要求1所述的一种脉冲神经网络的训练方法,其特征在于:所述对标准卷积神经网络进行剪裁,得到剪裁后的卷积神经网络;包括,
3.根据权利要求1所述的一种脉冲神经网络的训练方法,其特征在于:所述对剪裁后的卷积神经网络进行训练,获得具有较高精度的卷积神经网络,得到权重并保存;包括,
4.根据权利要求3所述的一种脉冲神经网络的训练方法,其特征在于:所述基于反向传播算法对卷积神经网络进行训练,获得具有较高精度的卷积神经网络,并将具有较高精度的卷积神经网络的权重保存下来;包括,
5.根据权利要求1所述的一种脉冲神经网络的训练方法,其特征在于:所述基于dnn-to-snn转换方法,将具有较高精度的卷积神经网络转换为脉冲神经网络;包括,
6.根据权利要求5所述的一种脉冲神经网络的训练方法,其特征在于:所述基于dnn-to-snn转换方法,将卷积神经网络中的激活函数转换为脉冲神经网络中具有动态阈值的if神经元;包括,
7.根据权利要求5所述的一种脉冲神经网络的训练方法,其特征在于:所述基于dnn-to-snn转换方法,将卷积神经网络中的激活函数转换为脉冲神经网络中具有动态阈值的if神经元;包括,
8.根据权利要求1所述的一种脉冲神经网络的训练方法,其特征在于:所述基于通道的归一化方法对权重进行归一化;包括,
9.根据权利要求1所述的一种脉冲神经网络的训练方法,其特征在于:所述运行脉冲神经网络,基于时间步动态设定神经元阈值;包括,
