【技术实现步骤摘要】
基于知识迁移的脉冲神经网络训练方法、设备及存储介质
[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具有较高的推理精度 ...
【技术保护点】
【技术特征摘要】
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神经元的神经动力...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。