System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及类脑计算事件驱动脉冲神经网络,尤其涉及一种基于膜电位分布约束的脉冲神经网络训练方法及设备。
技术介绍
1、动态视觉传感器(dynamic vision sensors)模仿人类视觉通路,其图像采集方式基于事件驱动的模式,通过对单个像素点接受光强度是否发生改变,判断事件(脉冲)信号输出与否,即传感器在物体没有变化时,不捕捉其数据。动态视觉传感器因其高灵敏度、高动态范围、无需特殊照明的特点,可以稳定地胜任较低亮度的环境,能够实现高速运动的物体捕捉等。脉冲神经网络(spiking neural networks,snn)受生物神经元信息通信行为的启发,其信息传递通过在离散时间上突触膜电位变化而产生的脉冲发射来完成。当突触前刺激引起的膜电位变化总和超过放电阈值时,产生脉冲信号(0表示无脉冲发射,1表示脉冲发射)。脉冲神经网络因其生物拟态、事件驱动、稀疏时间和异步通信机制等特点,减少了人工神经网络和生物神经信息处理方式间的差异,计算效率高,计算功率低。此外,脉冲神经网络以脉冲的形式处理数据的方式,能够更好地契合动态视觉传感器采集到的事件流模式,保持网络模型在任务中低功耗的优势和事件驱动数据高灵敏的特性。但不同于传统人工神经网络,脉冲神经网络的脉冲发射过程是不连续的,导致脉冲序列不可微分,无法通过梯度下降等优化方法进行反向传播,无法直接采用有监督方法进行脉冲神经网络突触权重的训练。
2、目前的脉冲神经网络训练方法一般包括两种,一是采用预训练深度神经网络转换脉冲神经网络方法,该方法将预训练的非脉冲深度神经网络转换为具
技术实现思路
1、本专利技术提供了一种基于膜电位分布约束的脉冲神经网络训练方法及设备,能够解决现有技术中脉冲神经网络训练方法无法进行反向传播,也无法直接采用有监督方法进行脉冲神经网络突触权重训练的技术问题。
2、根据本专利技术的一方面,提供了一种基于膜电位分布约束的脉冲神经网络训练方法,所述方法包括:
3、s10、将脉冲数据分为n组,并将某一组脉冲数据输入待训练的脉冲神经网络模型,其中,n为预设迭代次数;
4、s20、获取脉冲神经网络的交叉熵损失;
5、s30、脉冲神经网络每一层所有神经元的膜电位分布服从高斯分布,基于每一层高斯分布的均值和方差获取对应层的松弛后的分布下界和松弛后的分布上界;
6、s40、基于每一层的松弛后的分布下界和松弛后的分布上界对对应层的所有神经元进行抗退化约束,得到每一层所有神经元膜电位分布的退化损失;
7、s50、基于每一层的松弛后的分布下界和松弛后的分布上界对对应层的所有神经元进行抗饱和约束,得到每一层所有神经元膜电位分布的饱和损失;
8、s60、基于每一层的松弛后的分布下界和松弛后的分布上界对对应层的所有神经元进行抗梯度失配约束,得到每一层所有神经元膜电位分布的梯度失配损失;
9、s70、基于脉冲神经网络的交叉熵损失、每一层所有神经元膜电位分布的退化损失、每一层所有神经元膜电位分布的饱和损失和每一层所有神经元膜电位分布的梯度失配损失得到脉冲神经网络的整体损失;
10、s80、基于脉冲神经网络的整体损失进行反向传播,得到更新后的脉冲神经网络模型;
11、s90、判断是否完成n组脉冲数据的迭代,若是,完成脉冲神经网络模型的训练,否则,将另一组脉冲数据输入更新后的脉冲神经网络模型,并转至s20。
12、优选的,在s30中,通过下述公式获取每一层的松弛后的分布下界:
13、a=μ-kεσ;
14、通过下述公式获取每一层的松弛后的分布上界:
15、b=μ+kεσ;
16、式中,a为当前层松弛后的分布下界,μ为当前层高斯分布的均值,kε为控制约束松弛程度的参数,σ为当前层高斯分布的方差,b为当前层松弛后的分布上界。
17、优选的,在s40中,通过下述公式得到每一层所有神经元膜电位分布的退化损失:
18、ld=[(a-vth)]2+[(vth-b)]2;
19、式中,ld为当前层所有神经元膜电位分布的退化损失,vth为神经元发射脉冲的放电阈值。
20、优选的,在s50中,通过下述公式得到每一层所有神经元膜电位分布的饱和损失:
21、ls=[(a-1)]2+[(0-b)]2;
22、式中,ls为当前层所有神经元膜电位分布的饱和损失。
23、优选的,在s60中,通过下述公式得到每一层所有神经元膜电位分布的梯度失配损失:
24、lm=[max(a-0,1-b)]2;
25、式中,lm为当前层所有神经元膜电位分布的梯度失配损失。
26、优选的,在s70中,基于脉冲神经网络的交叉熵损失、每一层所有神经元膜电位分布的退化损失、每一层所有神经元膜电位分布的饱和损失和每一层所有神经元膜电位分布的梯度失配损失得到脉冲神经网络的整体损失包括:
27、s71、基于每一层所有神经元膜电位分布的退化损失获取脉冲神经网络的总退化损失;
28、s72、基于每一层所有神经元膜电位分布的饱和损失获取脉冲神经网络的总饱和损失;
29、s73、基于每一层所有神经元膜电位分布的梯度失配损失获取脉冲神经网络的总梯度失配损失;
30、s74、对脉冲神经网络的交叉熵损失、脉冲神经网络的总退化损失、脉冲神经网络的总饱和损失和脉冲神经网络的总梯度失配损失进行加权求和,得到脉冲神经网络的整体损失。
31、优选的,在s10之前,所述方法还包括:利用动态视觉传感器采集脉冲数据。
32、优选的,脉冲数据为事件驱动的脉冲数据。
33、优选的,在s90之后,所述方法还包括:将脉冲数据分为不同的n组,并将某一组脉冲数据输入更新后的脉冲神经网络模型,并转至s20。
34、根据本专利技术的另一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的基于膜电位分布约束的脉冲神经网络训练程序,所述处理器执行所述基于膜电位分布约束的脉冲神经网络训练程序时实现上述任一所述方法。
35、应用本专利技术的技术方案,通过对每一层的所有神经元进行抗退化约束,以使处于神经元膜电位分布下界的神经元膜电位值均小于放电阈值且处于神经元膜电位分布上界的神经元膜电位值均大于放电阈值;通过对每一层的所有神经元进行抗饱和约束,以使处于神经元膜电位分布下界的神经元膜电位值均小于有梯度区间下界且处于神经元膜电位分布上界本文档来自技高网...
【技术保护点】
1.一种基于膜电位分布约束的脉冲神经网络训练方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在S30中,通过下述公式获取每一层的松弛后的分布下界:
3.根据权利要求2所述的方法,其特征在于,在S40中,通过下述公式得到每一层所有神经元膜电位分布的退化损失:
4.根据权利要求2所述的方法,其特征在于,在S50中,通过下述公式得到每一层所有神经元膜电位分布的饱和损失:
5.根据权利要求2所述的方法,其特征在于,在S60中,通过下述公式得到每一层所有神经元膜电位分布的梯度失配损失:
6.根据权利要求1-5中任一项所述的方法,其特征在于,在S70中,基于脉冲神经网络的交叉熵损失、每一层所有神经元膜电位分布的退化损失、每一层所有神经元膜电位分布的饱和损失和每一层所有神经元膜电位分布的梯度失配损失得到脉冲神经网络的整体损失包括:
7.根据权利要求1-6中任一项所述的方法,其特征在于,在S10之前,所述方法还包括:利用动态视觉传感器采集脉冲数据。
8.根据权利要求7所述的方法,其特征
9.根据权利要求1所述的方法,其特征在于,在S90之后,所述方法还包括:将脉冲数据分为不同的n组,并将某一组脉冲数据输入更新后的脉冲神经网络模型,并转至S20。
10.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的基于膜电位分布约束的脉冲神经网络训练程序,所述处理器执行所述基于膜电位分布约束的脉冲神经网络训练程序时实现权利要求1至9任一所述方法。
...【技术特征摘要】
1.一种基于膜电位分布约束的脉冲神经网络训练方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在s30中,通过下述公式获取每一层的松弛后的分布下界:
3.根据权利要求2所述的方法,其特征在于,在s40中,通过下述公式得到每一层所有神经元膜电位分布的退化损失:
4.根据权利要求2所述的方法,其特征在于,在s50中,通过下述公式得到每一层所有神经元膜电位分布的饱和损失:
5.根据权利要求2所述的方法,其特征在于,在s60中,通过下述公式得到每一层所有神经元膜电位分布的梯度失配损失:
6.根据权利要求1-5中任一项所述的方法,其特征在于,在s70中,基于脉冲神经网络的交叉熵损失、每一层所有神经元膜电位分布的退化损失、每一层所有神经元...
【专利技术属性】
技术研发人员:马喆,郭宇飞,童心怡,黄旭辉,陈元培,
申请(专利权)人:航天科工集团智能科技研究院有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。