一种基于sigmoid函数的脉冲神经网络输入数据编码方法及装置

文档序号:35465469发布日期:2023-09-16 04:34阅读:87来源:国知局
一种基于sigmoid函数的脉冲神经网络输入数据编码方法及装置

本发明涉及脉冲神经网络编码领域,尤其是涉及一种基于sigmoid函数的脉冲神经网络输入数据编码方法及装置。


背景技术:

1、脉冲神经网络(snn)是一种基于神经元的模型,其特点是使用脉冲信号来传递和处理信息。与传统的人工神经网络不同,snn中的神经元在接收到足够强度的输入时,会发出脉冲信号,并将这个信号传递给其他神经元。由于其事件驱动的特性,与传统人工神经网络相比,脉冲神经网络具有更低的能耗与更好的生物解释性,对于认识生物大脑的工作原理有极高的科学研究价值,引起了学界的广泛兴趣。

2、在脉冲神经网络中,输入数据需要被转换为脉冲的形式,这个过程被称为编码。如今常用的编码方式有频率编码(rate coding)和时序编码(temporal coding)方式。

3、如公开号为cn113705768a的中国专利文献公开了一种频率编码脉冲数据的生成方法和装置,包括:将脉冲神经网络的时间编码的脉冲数据通过一个或多个转换函数转换得到频率值,并根据所述频率值生成所述脉冲神经网络的频率编码的脉冲数据。

4、公开号为cn115063597a的中国专利文献公开了一种基于类脑学习的图像识别方法,先对输入向量进行脉冲时序编码得到脉冲神经网络的输入数据,再将输入数据输入到脉冲神经网络的输入层,然后通过类脑学习算子学习输入向量的特征,最后将脉冲神经网络的输出层最先激发的脉冲神经元作为网络识别的类别。

5、在频率编码中,神经元的激活水平通过其发放脉冲的频率来表示。频率越高,激活水平越强。频率编码的优点是它相对简单且易于实现,现在使用最多的泊松编码(poissoncoding)就属于此类。然而,频率编码存在如信息传输速度受限、计算效率低、对噪声敏感等不足。

6、在时序编码中,信息被表示为脉冲的精确时间。神经元在特定时间点发放脉冲以编码信息。如排序编码(rank order coding),本专利中用到的首脉冲时间编码(time-to-first spike coding)等属于此类。相较于频率编码,时序编码具有更高的信息传输速率和计算效率。然而,时序编码也存在一些如实现复杂、需要精确的时钟同步、对初始条件敏感等不足:

7、频率编码和时序编码各有优缺点。频率编码简单易于实现,但在信息传输速度和计算效率方面表现较差;时序编码具有较高的信息传输速率和计算效率,但实现相对复杂且对时钟同步和初始条件较为敏感。在实际应用中,选择合适的编码方式需要根据具体任务和需求来权衡。


技术实现思路

1、本发明提供了一种基于sigmoid函数的脉冲神经网络输入数据编码方法,可以保证在数据编码后的准确性,提高脉冲神经网络的能耗比,降低神经元的脉冲发射频率,降低脉冲神经芯片硬件的功耗等。

2、一种基于sigmoid函数的脉冲神经网络输入数据编码方法,包括如下步骤:

3、(1)获取脉冲神经网络的原始输入数据x和脉冲神经网络定义的时间步长dt;其中,输入数据为rgb图片数据;

4、(2)根据原始输入数据x和脉冲神经网络的时间步长dt,构建基于sigmoid函数的脉冲编码函数t(x),

5、(3)通过遗传算法确定脉冲编码函数的最优参数值;

6、(4)将所有的原始输入数据x分别输入到对应的脉冲编码函数t(x)中进行编码,将数据变为脉冲信号;

7、(5)完成所有输入数据的编码,并将得到的脉冲信号数据输入脉冲神经网络对应的神经元中进行训练或预测。

8、本发明基于sigmoid函数的面向脉冲神经网络的输入数据处理首脉冲时间编码(time to first spike coding)方式,此方法适用于rgb图片编码。

9、进一步地,步骤(1)中,原始输入数据x具体包括:数据量、数据最大值以及图片的长宽高三维像素大小。

10、步骤(2)中,脉冲编码函数t(x)的公式如下:

11、

12、其中,dt代表时间步长,xmax代表输入数据的像素最大值,a表示像素值映射到函数范围的比例系数,b表示脉冲时间的偏移量。

13、步骤(2)中,根据sigmoid函数特征,将输入数据中极大与极小部分映射到整个时间步的两端,对分配给极大与极小数据的时间步长进行压缩,将大部分中间时间步空间留给占数据绝大多数的中间量数据。此方法能够在显著降低脉冲神经网络运行过程中脉冲发放频次,降低能量损耗的同时,也能最大限度的保证用脉冲表示原始数据的精确度。

14、步骤(3)中,通过遗传算法确定脉冲编码函数的最优参数值xmax、a、b,具体过程如下:

15、(3-1)初始化遗传算法的参数:确定种群规模、交叉概率、突变概率以及最大迭代次数;

16、(3-2)初始化种群:随机生成一组脉冲编码函数参数xmax、a、b作为种群的初始个体,初始种群中每个个体都具有不同的xmax、a和b值;

17、(3-3)计算适应度:对于种群中的每个个体,根据其脉冲编码函数参数xmax、a和b,计算输入数据在脉冲神经网络中的性能,适应度函数表示为:fitness(xmax,a,b)=performance(xmax,a,b),其中,performance表示脉冲神经网络的性能;

18、(3-4)选择操作:根据个体的适应度,采用轮盘赌选择法选取具有较高适应度的个体进入下一代种群;

19、(3-5)交叉操作:根据设定的交叉概率,从选择后的种群中随机抽取两个个体进行交叉操作,生成新的后代:

20、(3-6)突变操作:根据设定的突变概率,对新生成的后代进行突变操作,随机改变个体的xmax,a或b值;

21、(3-7)终止条件:判断当前迭代次数是否达到最大迭代次数,如果达到则停止遗传算法,输出具有最高适应度的个体作为最优脉冲编码函数参数;否则,返回步骤(3-3),继续进行下一轮迭代。

22、优选地,本发明中,设定种群规模为100,交叉概率为0.8,突变概率为0.05,最大迭代次数为500。

23、优选地,本发明中,时间步长dt的取值为100。

24、本发明还提供了一种基于sigmoid函数的脉冲神经网络输入数据编码装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行可执行代码时,用于实现上述基于sigmoid函数的脉冲神经网络输入数据编码方法。

25、与现有技术相比,本发明具有以下有益效果:

26、1、本发明在脉冲神经网络的输入数据编码层提出了一种新的实现方式,用户只需要设置在脉冲神经网络设计完成后的时间步长度、最大输入数据,并将原始数据输入即可得到数据的脉冲形式,进而将脉冲数据输入到脉冲神经网络中。

27、2、本发明使用单个脉冲表示具体数值,有效降低了脉冲神经网络神经元的平均脉冲发射率,进而降低了脉冲神经网络的平均能耗,对于脉冲神经网络的部署有重要意义。

28、3、本发明通过遗传算法确定脉冲编码函数的最优参数值,从而实现更优的脉冲信号生成和传输,有助于降低能耗、提高编码精度和网络性能。

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