脉冲神经网络的训练方法和训练装置制造方法及图纸

技术编号:35242220 阅读:13 留言:0更新日期:2022-10-19 09:47
本申请提供了一种脉冲神经网络的训练方法和训练装置,可以通过长时控制和短时控制的方式实现脉冲神经网络的归一化,从而提高脉冲神经网络的训练效果。该训练方法包括:基于时序方式,将训练数据输入至脉冲神经网络的输入层,逐层对该脉冲神经网络进行训练,直至得到该脉冲神经网络的输出层的输出结果,其中,在t时刻,该控制神经元的输入包括:第i层神经元中的至少一个其他神经元在t时刻的输出、该至少一个其他神经元在t

【技术实现步骤摘要】
脉冲神经网络的训练方法和训练装置


[0001]本申请涉及人工智能领域,更具体地,涉及一种脉冲神经网络的训练方法和训练装置。

技术介绍

[0002]神经网络是一种模仿生物大脑结构进行数据处理的计算系统。在人工神经网络(artificial neural network,ANN)中,信息的传输通过模拟数值进行,每一个神经元通过乘加运算累积前序神经元的数值,经过激活函数后传递到后序神经元。在脉冲神经网络(spiking neural network,SNN)中,每一个神经元通过累积前序神经元的脉冲序列进行膜电压的调控,当膜电压达到一定阈值后,神经元会输出新的脉冲序列并传输至后序神经元,以此实现信息的传输、处理和非线性转化。
[0003]对于某个给定的任务和数据,需要通过一定的网络训练方法使得网络的输出结果达到预期的输出。为了避免使用随机梯度下降(stochastic gradient decent,SGD)算法对网络进行训练所导致的网络过拟合和梯度爆炸等问题,需要在网络训练的过程中加入一些归一化(normalization)的方法,使得训练过程更加平滑,训练效果更好。
[0004]目前已经发展了一些适用于ANN的归一化方法,例如丢弃(dropout)和批归一化(batch normalization,BN),但由于SNN的神经元的模型和信息传输方式与ANN的神经元的模型和信息传输方式均不同,直接使用ANN的归一化方法(dropout或BN)无法提高SNN的训练效果。因此,目前亟需提供一种SNN的训练方法,以实现SNN的归一化。

技术实现思路

[0005]本申请提供一种脉冲神经网络的训练方法和训练装置,可以通过长时控制和短时控制的方式实现SNN的归一化,从而提高SNN的训练效果。
[0006]第一方面,提供了一种脉冲神经网络的训练方法,应用于包括多层神经元的脉冲神经网络,该脉冲神经网络的第i层神经元包括控制神经元,该控制神经元与该脉冲神经网络中的其他神经元连接,该控制神经元用于归一化该脉冲神经网络的输出层的输出结果,该方法包括:
[0007]基于时序方式,将训练数据输入至该脉冲神经网络的输入层,逐层对该脉冲神经网络进行训练,直至得到该脉冲神经网络的输出层的输出结果,其中,在t时刻,该控制神经元的输入包括:第i层神经元中的至少一个其他神经元在t时刻的输出、该至少一个其他神经元在t

1时刻的输出以及该控制神经元在t

1时刻的输出;基于该输出结果,确定该脉冲神经网络的误差;基于该误差,更新该脉冲神经网络的连接权重,并继续对该脉冲神经网络进行训练,直至该脉冲神经网络收敛。
[0008]在本申请实施例中,通过在原有的脉冲神经网络框架中的一层或多层中添加控制神经元,可以建立控制神经元与同层其他神经元在当前时刻(t时刻)的连接、建立控制神经元与同层其他神经元在上一时刻(t

1时刻)的连接以及建立控制神经元与自身在上一时刻
(t

1时刻)的连接,以此利用控制神经元的输入输出控制脉冲神经网络训练时输出层的归一化,有利于提高网络训练的精度和收敛速度。
[0009]结合第一方面,在第一方面的某些实现方式中,第i层神经元在膜电压超出阈值时的输出包括第i层神经元中的控制神经元在膜电压超出所述阈值时的输出。
[0010]应理解,SNN的神经元是通过累计前序神经元的脉冲序列进行膜电压调控,当膜电压达到一定阈值后,神经元会发出新的脉冲传输至后序神经元。当第i层的控制神经元的膜电压超过阈值时,会输出为新的脉冲作为第i层神经元的输出。
[0011]结合第一方面,在第一方面的某些实现方式中,第i层神经元中的至少一个其他神经元在t

1时刻的输出是从缓存器获取的。
[0012]在本申请实施例中,之前时刻的输出可以存储至缓存器中,控制神经元可以在缓存器中获取之前时刻的输出进行时域控制,以实现对时域信息的处理。
[0013]结合第一方面,在第一方面的某些实现方式中,逐层对该脉冲神经网络进行训练,包括:对该至少一个其他神经元在t

1时刻的输出乘以第一系数,该第一系数用于对该至少一个其他神经元在t

1时刻的输出进行放大或衰减;将乘以该第一系数后的该至少一个其他神经元在t

1时刻的输出作为该控制神经元的输入。
[0014]在本申请实施例中,可通过第一系数对至少一个其他神经元在t

1时刻的输出进行放大或衰减处理,这样有利于优化脉冲神经网络的训练效果。
[0015]结合第一方面,在第一方面的某些实现方式中,逐层对该脉冲神经网络进行训练,包括:对该控制神经元在t

1时刻的输出乘以第二系数,该第二系数用于对该控制神经元在t

1时刻的输出进行放大或衰减;将乘以该第二系数后的该控制神经元在t

1时刻的输出作为该控制神经元的输入。
[0016]在本申请实施例中,可通过第二系数对控制神经元在t

1时刻的输出进行放大或衰减处理,这样有利于优化脉冲神经网络的训练效果。
[0017]结合第一方面,在第一方面的某些实现方式中,基于所述误差,更新该脉冲神经网络的连接权重,包括:确定该误差基于该控制神经元的梯度值;基于该梯度值,更新该控制神经元的连接权重。
[0018]在本申请实施例中,可通过计算梯度值更新控制神经元的连接权重,这样有利于控制神经元的收敛。
[0019]结合第一方面,在第一方面的某些实现方式中,在该脉冲神经网络收敛之后,基于时序方式,将任务数据输入至训练好的该脉冲神经网络的输入层,逐层进行预测,直至得到该脉冲神经网络的输出层的输出结果。
[0020]在本申请实施例中,当添加有控制神经元的脉冲神经网络训练好之后,可以利用该训练好的脉冲神经网络进行预测。
[0021]第二方面,提供了一种脉冲神经网络的训练装置,用于执行上述第一方面中任一种可能的实现方式中的方法。具体地,该装置包括用于执行上述第一方面中任一种可能的实现方式中的方法的模块。
[0022]第三方面,提供了另一种脉冲神经网络的训练装置,包括处理器,该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述第一方面中任一种可能实现方式中的方法。可选地,该装置还包括存储器。可选地,该装置还包括通信接口,处理器与通信接口耦
合。
[0023]在一种实现方式中,该脉冲神经网络的训练装置为处理设备。当该脉冲神经网络的训练装置为处理设备时,通信接口可以是收发器,或,输入/输出接口。
[0024]在另一种实现方式中,该脉冲神经网络的训练装置为配置于处理设备中的芯片。当该脉冲神经网络的训练装置为配置于处理设备中的芯片时,通信接口可以是输入/输出接口。
[0025]第四方面,提供了一种处理器,包括:输入电路、输出电路和处理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种脉冲神经网络的训练方法,其特征在于,应用于包括多层神经元的脉冲神经网络,所述脉冲神经网络的第i层神经元包括控制神经元,所述控制神经元与所述脉冲神经网络中的其他神经元连接,所述控制神经元用于归一化所述脉冲神经网络的输出层的输出结果,所述方法包括:基于时序方式,将训练数据输入至所述脉冲神经网络的输入层,逐层对所述脉冲神经网络进行训练,直至得到所述脉冲神经网络的输出层的输出结果,其中,在t时刻,所述控制神经元的输入包括:所述第i层神经元中的至少一个其他神经元在t时刻的输出、所述至少一个其他神经元在t

1时刻的输出以及所述控制神经元在t

1时刻的输出;基于所述输出结果,确定所述脉冲神经网络的误差;基于所述误差,更新所述脉冲神经网络的连接权重,并继续对所述脉冲神经网络进行训练,直至所述脉冲神经网络收敛。2.根据权利要求1所述的方法,其特征在于,所述第i层神经元在膜电压超出阈值时的输出包括所述第i层神经元中的控制神经元在膜电压超出所述阈值时的输出。3.根据权利要求1或2所述的方法,其特征在于,所述第i层神经元中的至少一个其他神经元在t

1时刻的输出是从缓存器获取的。4.根据权利要求1

3中任一项所述的方法,其特征在于,所述逐层对所述脉冲神经网络进行训练,包括:对所述至少一个其他神经元在t

1时刻的输出乘以第一系数,所述第一系数用于对所述至少一个其他神经元在t

1时刻的输出进行放大或衰减;将乘以所述第一系数后的所述至少一个其他神经元在t

1时刻的输出作为所述控制神经元的输入。5.根据权利要求1

4中任一项所述的方法,其特征在于,所述逐层对所述脉冲神经网络进行训练,包括:对所述控制神经元在t

1时刻的输出乘以第二系数,所述第二系数用于对所述控制神经元在t

1时刻的输出进行放大或衰减;将乘以所述第二系数后的所述控制神经元在t

1时刻的输出作为所述控制神经元的输入。6.根据权利要求1

5中任一项所述的方法,其特征在于,所述基于所述误差,更新所述脉冲神经网络的连接权重,包括:确定所述误差基于所述控制神经元的梯度值;基于所述梯度值,更新所述控制神经元的连接权重。7.根据权利要求1

6中任一项所述的方法,其特征在于,在所述脉冲神经网络收敛之后,所述方法还包括:基于时序方式,将任务数据输入至训练好的所述脉冲神经网络的输入层,逐层进行预测,直至得到所述脉冲神经网络的输出层的输出结果。8.一种脉冲神经网络的训练装置,其特征在于,应用于包括多层神经元的脉冲神经网络,所述脉冲神经网络的第i层神经元包括控制神经元,所述控制神经元与所述脉冲神经网络中的其他神经元连接,所述控制神经元用于归一化所述脉冲神经网络的输出层的输出结果,所述装置包括:
处理模块:用于基于时序方式,将训练数...

【专利技术属性】
技术研发人员:郭青海程捷蔡炎松
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1