当前位置: 首页 > 专利查询>河海大学专利>正文

基于知识迁移的脉冲神经网络训练方法、设备及存储介质技术

技术编号:38746500 阅读:15 留言:0更新日期:2023-09-08 23:28
本发明专利技术公开了一种基于知识迁移的脉冲神经网络训练方法,包括:构建数据集;构建教师ANN网络,用误差反向传播算法进行训练;构建脉冲神经网络SNN,记为学生网络,学生网络采用LIF神经元,并为LIF神经元引入近似梯度函数;利用反向传播算法训练SNN,在训练过程中,将教师网络已习得的知识通过逐层定义的损失函数迁移到学生网络中。本发明专利技术能够加快SNN的收敛,提高SNN的推理精度,使得将SNN部署在资源受限的设备上时实现低功耗、高精度、低延迟的表现。低延迟的表现。低延迟的表现。

【技术实现步骤摘要】
基于知识迁移的脉冲神经网络训练方法、设备及存储介质


[0001]本专利技术属于人工智能
,尤其涉及一种基于知识迁移的脉冲神经网络训练方法。

技术介绍

[0002]脉冲神经网络(Spike Neural Network,SNN)是一种受生物脑启发,基于事件驱动的稀疏计算进行信息处理的新一代人工神经网络,被称为第三代神经网络。与传统的人工神经网络(Artificial Neural Network,ANN)采用连续的实数值作为信息传播的载体不同,脉冲神经网络模拟人类大脑中神经元之间传递电脉冲信号的方式,用离散的脉冲信号作为信息的载体,因而具有更接近真实大脑的信息处理能力。SNN稀疏且强大的计算能力,有望突破传统ANN所面临的能源限制和算力瓶颈,实现低功耗、高精度、低延迟的任务目标。
[0003]与ANN领域的成熟完善相比,SNN领域的研究仍然处于快速发展阶段,尤其是对其训练算法的研究。在脉冲神经网络的有监督学习领域,由于离散的脉冲激活函数无法求导,基于梯度的误差反向传播优化算法无法直接应用于SNN。为此,研究人员找到了一些解决的方法,并取得了良好的成效,这些方法大体上可以分为两类:一类是ANN

SNN转换方法,这种方法先训练一个表现良好的ANN,然后通过把激活函数的实数激活值映射为SNN神经元的脉冲发射频率,将训练完善的ANN直接转换成SNN,这类方法的优点是无需从头开始训练一个SNN,可以直接利用SNN成熟完备的训练体系来直接得到可以做推理的SNN,且转换得到的SNN具有较高的推理精度;另一类是SNN的直接训练方法,这类方法通常用一个近似梯度函数来代替SNN中不可求导的脉冲激活函数,以便于反向传播算法可以直接应用于SNN,这类方法的优点是无需ANN的辅助,SNN可以自主完成训练任务从而充分发挥SNN的生物学相似性和性能优势。
[0004]虽然人们利用上述方法得到了性能尚佳的SNN,但上述两种方法仍存在显著的缺点:ANN

SNN转换方法需要对原始ANN做出一定约束,如将偏置限制为零、无法使用批归一化方法、必须采用平均池化而非最大池化等,这会造成模型性能的部分下降,且这种方法为了维持映射的精度,需要较大的模拟时间步长,从而造成较高的推理延迟;SNN直接训练方法的缺点是近似梯度函数的引入会使梯度反向传播不稳定,在脉冲神经网络层次较深时会产生梯度消失问题,且近似梯度函数造成的误差会逐层累积,造成显著的性能下降问题。综上所述,如今尚不存在一种通用且高效的SNN训练方法。

技术实现思路

[0005]专利技术目的:本专利技术的目的在于提供一种基于知识迁移的SNN训练方法,将训练完善,具有良好学习、表示和泛化能力的ANN已习得的表征能力和标签知识迁移到SNN中,从而加快SNN的收敛,提高SNN的推理精度,使得将SNN部署在资源受限的设备上时实现低功耗、高精度、低延迟的表现。
[0006]技术方案:本专利技术的基于知识迁移的脉冲神经网络训练方法,包括如下步骤:
[0007]步骤1:构建数据集D,将数据集D按一定比例分成训练集D
Train
和测试集D
Test

[0008]步骤2:构建教师ANN网络,用误差反向传播算法在D
Train
上训练教师ANN网络,得到训练后的教师网络Net
T
,并保存教师网络Net
T
中的权重参数;
[0009]步骤3:构建脉冲神经网络SNN,记为学生网络Net
S
,学生网络Net
S
采用具有脉冲累积—发射和泄露特性的LIF神经元,并为LIF神经元引入近似梯度函数并定义训练学生网络Net
S
的损失函数
[0010]步骤4:定义训练学生网络Net
S
的中间层损失函数和输出层损失函数
[0011]步骤5:将教师网络Net
T
已习得知识迁移到学生网络Net
S
中,具体做法是:分别在教师网络Net
T
和学生网络Net
S
上做前向传播,得到二者的中间层输出,以及输出层输出;计算学生网络Net
S
的中间层损失函数和输出层损失函数利用神经网络优化器执行梯度下降算法,训练学生网络Net
S
。若学生网络Net
S
的模型收敛或达到最大训练轮次,则执行步骤6,否则返回步骤5;
[0012]步骤6:在测试集D
Test
上测试学生网络Net
S
的性能表现,得到训练完成的脉冲神经网络SNN。
[0013]进一步的,步骤2具体包括:
[0014]S210:随机初始化Net
T
的权重参数
[0015]w
t
~RandomInitialization
[0016]S220:对于每个训练样本(x
i
,y
i
)∈D
Train
,计算样本的预测结果:
[0017][0018]式中,x
i
表示输入样本,w
t
表示模型参数,是网络预测结果;
[0019]S230:计算所有训练样本预测结果与实际标签之间的损失:
[0020][0021]其中l定义为两个输入之间的交叉熵;
[0022]S240:计算损失函数L对模型参数w
t
的梯度:
[0023][0024]S250:使用梯度下降优化算法更新模型参数:
[0025][0026]其中α是学习率,控制每次参数更新的步长;
[0027]重复步骤S220~S250,直到模型收敛或达到预定的训练轮数,保存Net
T
的模型参数θ
T
,供后续训练Net
S
时使用。
[0028]进一步的,步骤3中Net
S
采用的LIF神经元是一种常见的生物神经元模型,LIF代表“Leaky Integrate

and

Fire(渗漏积分与放电)”。它是一种离散时间模型,用于模拟神经元在响应外部输入信号时如何积累和处理信息。LIF神经元模型包括以下部分:
[0029]输入电流I:神经元会接收到来自其他神经元或环境的输入电流。
[0030]膜电位U:神经元的膜电位是一个表示LIF神经元内部电势的固有属性。输入电流会影响神经元的膜电位,使其逐渐升高。
[0031]阈值当神经元的膜电位超过一个特定的阈值时,神经元会发放一个电脉冲(动作电位)。
[0032]静息电位U
reset
:神经元发放电脉冲后,膜电位会迅速重置到一个较低的电位,并且神经元会在一段时间内不再响应输入电流。
[0033]LIF神经元的固有属性膜电位取决于上一时刻的膜电位以及电流本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于知识迁移的脉冲神经网络训练方法,其特征在于,包括如下步骤:步骤1:构建数据集D,将数据集D按一定比例分成训练集D
Train
和测试集D
Test
;步骤2:构建教师ANN网络,用误差反向传播算法在D
Train
上训练教师ANN网络,得到训练后的教师网络Net
T
,并保存教师网络Net
T
中的权重参数;步骤3:构建脉冲神经网络SNN,记为学生网络Net
S
,学生网络Net
S
采用具有脉冲累积—发射和泄露特性的LIF神经元,,并为LIF神经元引入近似梯度函数步骤4:定义训练学生网络Net
S
的中间层损失函数和输出层损失函数步骤5:将教师网络Net
T
已习得知识迁移到学生网络Net
S
中:分别在教师网络Net
T
和学生网络Net
S
上做前向传播,得到二者的中间层输出,以及输出层输出;计算学生网络Net
S
的中间层损失函数和输出层损失函数利用神经网络优化器执行梯度下降算法,训练学生网络Net
S
;若学生网络Net
S
的模型收敛或达到最大训练轮次,则执行步骤6,否则返回步骤5;步骤6:在测试集D
Test
上测试学生网络Net
S
的性能表现,得到训练完成的脉冲神经网络。2.根据权利要求1所述的一种基于知识迁移的脉冲神经网络训练方法,其特征在于,步骤2具体包括:S210:随机初始化Net
T
的权重参数w
t
~Random InitializationS220:对于每个训练样本(x
i
,y
i
)∈D
Train
,计算样本的预测结果:式中,x
i
表示输入样本,w
t
表示模型参数,是网络预测结果;S230:计算所有训练样本预测结果与实际标签之间的损失:其中l定义为两个输入之间的交叉熵;S240:计算损失函数L对模型参数w
t
的梯度:S250:使用梯度下降优化算法更新模型参数:其中α是学习率,控制每次参数更新的步长;重复步骤S220~S250,直到模型收敛或达到预定的训练轮数,保存Net
T
的模型参数θ
T
,供后续训练Net
S
时使用。3.根据权利要求1所述的一种基于知识迁移的脉冲神经网络训练方法,其特征在于,步骤3中所述LIF神经元模型包含以下部分:输入电流I:神经元接收到的来自其他神经元或环境的输入电流;膜电位U:神经元的膜电位是表示LIF神经元内部电势的固有属性,输入电流会影响神
经元的膜电位,使其逐渐升高;阈值当神经元的膜电位超过特定的阈值时,神经元会发放一个电脉冲;静息电位U
reset
:神经元发放电脉冲后,膜电位会迅速重置到一个较低的电位,并且神经元会在一段时间内不再响应输入电流;LIF神经元的固有属性膜电位U取决于上一时刻的膜电位以及电流输入,在空间域上,LIF神经元接受并整合输入电流的刺激,作用于膜电位U,造成U的提升;在时间域上,基于上一时刻的膜电势以及衰减常数β,LIF神经元膜电位U会有一个衰减;经过空间域和时间域两方面的作用后,若膜电位超过了脉冲发放阈值ν,LIF神经元便会产生一个脉冲,膜电位回落至静息电位U
reset
;否则不产生脉冲,U保持原值;上述LIF神经元的神经动力...

【专利技术属性】
技术研发人员:谢在鹏高原陈鹏刘子昂
申请(专利权)人:河海大学
类型:发明
国别省市:

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

1