一种脉冲神经网络训练方法、装置、电子设备及存储介质与流程

文档序号:37931293发布日期:2024-05-11 00:10阅读:13来源:国知局
一种脉冲神经网络训练方法、装置、电子设备及存储介质与流程

本技术涉及神经网络,特别是涉及一种脉冲神经网络训练方法、装置、电子设备及存储介质。


背景技术:

1、近年来,脉冲神经网络(spiking neural network,snn)因为具有时空信息处理能力强、节能、低功耗等优点,受到了研究人员的广泛关注。但训练高性能的深度脉冲神经网络用于实际的分类,检测等任务,仍然是一个具有挑战性的问题。

2、目前主要采用的训练方式为:训练一个人工神经网络(artificial neuralnetwork,ann),建立人工神经网络和脉冲神经网络之间的转换算法,通过转换算法得到训练完成的脉冲神经网络。但是因为转换过程中存在很大的转换误差,需要进一步通过较长的仿真时间来补偿该转换误差,训练完成的脉冲神经网络需要更长的时间才能达到与人工神经网络相当的精度,从而降低了实际应用的效率。


技术实现思路

1、本技术实施例的目的在于提供一种脉冲神经网络训练方法、装置、电子设备及存储介质,以消除转换误差,提高脉冲神经网络的应用效率。具体技术方案如下:

2、第一方面,本技术实施例提供了一种脉冲神经网络训练方法,所述方法包括:

3、获取已训练的人工神经网络中的网络参数;其中,所述已训练的人工神经网络是基于样本图像和基于激活函数对所述样本图像进行处理得到的结果训练得到的,所述激活函数是基于所述待训练脉冲神经网络中的神经元的输出脉冲速率函数,以及所述神经元的输出脉冲速率与所述激活函数的输出激活值之间的映射关系确定的;

4、将所述已训练的人工神经网络中的网络参数转换为所述待训练脉冲神经网络的参数,得到已训练的目标脉冲神经网络。

5、可选的,所述激活函数的确定方式,包括:

6、根据所述待训练脉冲神经网络中的神经元的输入脉冲速率的加权和与时间总步长,构建所述神经元的输出脉冲速率函数;

7、根据所述输出脉冲速率函数的输出脉冲速率与所述激活函数的输出激活值之间的映射关系,确定待训练人工神经网络的激活函数关于所述神经元的输入脉冲速率的加权和与时间总步长的关系,得到所述待训练人工神经网络的激活函数。

8、可选的,所述已训练的人工神经网络的训练方式,包括:

9、获取所述样本图像,并将所述样本图像输入待训练人工神经网络,基于所述激活函数对所述样本图像进行处理,得到预测任务结果;

10、基于所述预测任务结果和所述激活函数,采用近似梯度下降方式,调整所述待训练人工神经网络的网络参数;

11、返回所述将所述样本图像输入所述待训练人工神经网络,基于所述激活函数对所述样本图像进行处理,得到预测任务结果的步骤,直至所述人工神经网络训练结束,得到所述已训练的人工神经网络。

12、可选的,在得到所述目标脉冲神经网络之后,所述方法还包括:

13、获取待处理图像;

14、将所述待处理图像输入所述目标脉冲神经网络,获得所述目标脉冲神经网络中每个神经元的当前电位和历史放电总电位;

15、基于每个神经元的当前电位和历史放电总电位,控制每个神经元输出所述待处理图像对应的脉冲。

16、可选的,所述基于每个神经元的当前电位和历史放电总电位,控制每个神经元输出所述待处理图像对应的脉冲的步骤,包括:

17、若神经元的当前电位大于预设电位阈值,则控制该神经元输出所述待处理图像对应的正向脉冲;

18、若神经元的当前电位小于0,且该神经元的历史放电总电位大于等于所述预设电位阈值,则控制该神经元输出所述待处理图像对应的反向脉冲;

19、否则,则拒绝控制该神经元输出所述待处理图像对应的脉冲。

20、可选的,所述基于每个神经元的当前电位和历史放电总电位,控制每个神经元输出所述待处理图像对应的脉冲的步骤,包括:

21、若神经元的当前电位大于预设电位阈值,则基于该神经元的当前电位包含的脉冲数进行移位操作,得到所述待处理图像对应的该神经元的第一位移脉冲,并控制该神经元输出所述第一位移脉冲;

22、若神经元的当前电位小于0,且该神经元的历史放电总电位大于等于所述预设电位阈值,则基于该神经元的当前电位的反向电位包含的脉冲数以及该神经元的历史放电总电位包含的脉冲数进行移位操作,得到所述待处理图像对应的该神经元的第二位移脉冲,并控制该神经元输出所述第二位移脉冲;

23、否则,则拒绝控制该神经元输出所述待处理图像对应的脉冲。

24、可选的,所述待处理图像为多个,在所述控制每个神经元输出所述待处理图像对应的脉冲的步骤之后,所述方法还包括:

25、根据所述脉冲确定多个待处理图像中相同位置的像素点对应的光强变化;

26、基于所述光强变化确定所述多个待处理图像中的目标的属性信息。

27、可选的,所述方法应用于脉冲相机或脉冲相机模拟装置;

28、所述脉冲相机或所述脉冲相机模拟装置的处理器为神经形态处理器。

29、第二方面,本技术实施例提供了一种脉冲神经网络训练装置,所述装置包括:

30、参数获取模块,用于获取已训练的人工神经网络中的网络参数;其中,所述已训练的人工神经网络是基于样本图像和基于激活函数对所述样本图像进行处理得到的结果训练得到的,所述激活函数是基于所述待训练脉冲神经网络中的神经元的输出脉冲速率函数,以及所述神经元的输出脉冲速率与所述激活函数的输出激活值之间的映射关系确定的;

31、参数转换模块,用于将所述已训练的人工神经网络中的网络参数转换为所述待训练脉冲神经网络的参数,得到已训练的目标脉冲神经网络。

32、可选的,所述激活函数的确定方式,包括:

33、根据所述待训练脉冲神经网络中的神经元的输入脉冲速率的加权和与时间总步长,构建所述神经元的输出脉冲速率函数;

34、根据所述输出脉冲速率函数的输出脉冲速率与所述激活函数的输出激活值之间的映射关系,确定待训练人工神经网络的激活函数关于所述神经元的输入脉冲速率的加权和与时间总步长的关系,得到所述待训练人工神经网络的激活函数。

35、可选的,所述已训练的人工神经网络的训练方式,包括:

36、获取所述样本图像,并将所述样本图像输入待训练人工神经网络,基于所述激活函数对所述样本图像进行处理,得到预测任务结果;

37、基于所述预测任务结果和所述激活函数,采用近似梯度下降方式,调整所述待训练人工神经网络的网络参数;

38、返回所述将所述样本图像输入所述待训练人工神经网络,基于所述激活函数对所述样本图像进行处理,得到预测任务结果的步骤,直至所述人工神经网络训练结束,得到所述已训练的人工神经网络。

39、可选的,所述装置还包括:

40、待处理图像获取模块,用于获取待处理图像;

41、电位获取模块,用于将所述待处理图像输入所述目标脉冲神经网络,获得所述目标脉冲神经网络中每个神经元的当前电位和历史放电总电位;

42、脉冲控制模块,用于基于每个神经元的当前电位和历史放电总电位,控制每个神经元输出所述待处理图像对应的脉冲。

43、可选的,所述脉冲控制模块,具体用于:

44、在神经元的当前电位大于预设电位阈值时,控制该神经元输出所述待处理图像对应的正向脉冲;

45、在神经元的当前电位小于0时,且该神经元的历史放电总电位大于等于所述预设电位阈值时,控制该神经元输出所述待处理图像对应的反向脉冲;

46、否则,则拒绝控制该神经元输出所述待处理图像对应的脉冲。

47、可选的,所述脉冲控制模块,具体用于:

48、在神经元的当前电位大于预设电位阈值时,基于该神经元的当前电位包含的脉冲数进行移位操作,得到所述待处理图像对应的该神经元的第一位移脉冲,并控制该神经元输出所述第一位移脉冲;

49、在神经元的当前电位小于0,且该神经元的历史放电总电位大于等于所述预设电位阈值时,基于该神经元的当前电位的反向电位包含的脉冲数以及该神经元的历史放电总电位包含的脉冲数进行移位操作,得到所述待处理图像对应的该神经元的第二位移脉冲,并控制该神经元输出所述第二位移脉冲;

50、否则,则拒绝控制该神经元输出所述待处理图像对应的脉冲。

51、可选的,所述待处理图像为多个,所述装置还包括:

52、光强变化确定模块,用于根据每个待处理图像对应的脉冲确定多个待处理图像中相同位置的像素点对应的光强变化;

53、属性信息确定模块,用于基于所述光强变化确定所述多个待处理图像中的目标的属性信息。

54、可选的,所述装置应用于脉冲相机或脉冲相机模拟装置;

55、所述脉冲相机或所述脉冲相机模拟装置的处理器为神经形态处理器。

56、第三方面,本技术实施例提供了一种电子设备,包括:

57、存储器,用于存放计算机程序;

58、处理器,用于执行存储器上所存放的程序时,实现上述第一方面任一所述脉冲神经网络训练方法步骤。

59、可选的,所述电子设备为脉冲相机或脉冲相机模拟装置。

60、可选的,所述处理器为神经形态处理器。

61、第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述脉冲神经网络训练方法步骤。

62、本技术实施例有益效果:

63、本技术实施例提供的方案中,电子设备可以获取已训练的人工神经网络中的网络参数;其中,已训练的人工神经网络是基于样本图像和基于激活函数对样本图像进行处理得到的结果训练得到的,激活函数是基于待训练脉冲神经网络中的神经元的输出脉冲速率函数,以及神经元的输出脉冲速率与激活函数的输出激活值之间的映射关系确定的;将已训练的人工神经网络中的网络参数转换为待训练脉冲神经网络的参数,得到已训练的目标脉冲神经网络。由于已训练的人工神经网络中的激活函数是根据脉冲神经网络中的神经元的输出脉冲速率函数,以及神经元的输出脉冲速率与激活函数的输出激活值之间的映射关系得到的,所以人工神经网络中的激活函数严格等价于脉冲神经网络中的神经元的输出脉冲速率函数,即在脉冲神经网络的神经元的输出脉冲速率函数与人工神经网络的激活函数之间建立了严格的等价关系,所以在根据该激活函数训练得到已训练的人工神经网络后,将该已训练的人工神经网络中的参数映射到待训练脉冲神经网络中时,可以消除转换误差,后续不需要通过仿真过程来补偿转换误差,提高了脉冲神经网络的应用效率,同时因为消除了转换误差,所以不需要再以较大的总时间步长来减小转换误差,从而可以以最小的总时间步长实现人工神经网络至脉冲神经网络的无损转换。

64、当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1