基于突触-阈值协同的脉冲神经网络学习方法

文档序号:33506024发布日期:2023-03-18 00:41阅读:71来源:国知局
基于突触-阈值协同的脉冲神经网络学习方法

1.本发明属于类脑智能技术领域,具体涉及一种脉冲神经网络学习方法。


背景技术:

2.脉冲神经网络(spiking neural network,snn)被称作第三代神经网络,并受到越来越多的关注。不同于目前广为流行的人工神经网络,脉冲神经网络受真实脑机制启发,以更具有生物可靠性的脉冲神经元作为信息处理的基本结构,并通过时间方向上离散的脉冲事件进行信息编码和信息传递。这种基于精确时间的信息处理和信息编码方式,使脉冲神经网络成为处理复杂时空信息的有效工具,且相对于人工神经网络,在鲁棒性、能耗以及准确率等方面显示出了优越性。
3.受限于脉冲事件的离散特性和神经元动态的复杂性,发展脉冲神经网络高效学习方法成为了一个亟待解决的重要课题。现有snn学习方法可以分为无监督学习、间接学习、直接监督学习、融合学习,并取得了一定的效果。然而,这些学习方法都是以神经元突触可塑性为基础,但在真实大脑中,学习过程还会同时受到非突触性神经元内源机制的重要影响。通过深度融合突触和内源非突触机制,发展面向snn的新型高效学习方法,有望提升其在复杂场景智能任务下的表现。


技术实现要素:

4.针对现有技术存在的上述问题,本发明提出了一种基于突触-阈值协同的脉冲神经网络学习方法。
5.本发明的具体技术方案为:一种基于突触-阈值协同的脉冲神经网络学习方法,包括如下步骤:
6.s1.搭建脉冲神经网络;
7.s2.初始化脉冲神经网络参数:包括突触权重、神经元阈值、神经元膜电位、神经元膜时间常数、时间窗长度以及网络优化器具体参数;
8.s3.输入数据编码:图片的每个像素点或音频信号的每个通道将对应一个脉冲神经元进行编码,编码后的脉冲被传入隐藏层进行信息处理;
9.s4.数据前向传播:将编码后的脉冲传入脉冲神经网络,根据突触权重和神经元阈值更新神经元膜电位并生成神经元脉冲,通过解码层得到网络输出,最后通过损失函数和数据标签获取网络监督误差;
10.s5.数据反向传播:根据突触-阈值协同学习方法更新突触权重和神经元阈值;
11.s6.测试网络精度:若网络精度稳定,则停止网络训练。
12.本发明的有益效果:本发明的方法将神经元阈值参数化,实现了突触权重和神经元阈值的协同学习,通过增加神经元阈值异质性、平衡阈值和突触权重的关系改善了脉冲神经网络的性能,包括提升网络精度、提高网络鲁棒性等;同时,本发明通过调节神经元阈值的分布,在深度网络上进一步降低了脉冲神经网络的整体放电率,使网络能够在硬件系
统上以低功耗的方式正常运行,节省了电能。
附图说明
13.图1是为本发明实施例的前馈型脉冲神经网络结构示意图。
14.图2是为本发明实施例的突触-阈值协同学习示意图。
15.图3是为本发明实施例的基于突触-阈值协同的脉冲神经网络学习方法流程示意图。
16.图4是为本发明实施例的基于突触-阈值协同的脉冲神经网络学习方法的结果展图示。
具体实施方式
17.下面结合附图和实施例详细说明本发明的实施方式,以便本领域的技术人员能够更好地理解本发明。
18.大量实验表明,神经元的放电阈值作为一个神经系统中重要的内源性特征,其在毫秒时间尺度上表现出丰富的动态特性,并被认为是促进神经信息处理的一种重要潜在机制。受上述实验发现的启发,构建了一种基于“突触-阈值”协同训练的snn新型学习方法,实现了snn训练效果的显著提升,对深入发展受生物脑启发的snn高效协同学习策略具有重要意义和参考价值。因此本发明借鉴生物机制,通过神经元发放阈值对于网络稳态的调节作用,发展一种基于突触-阈值协同的脉冲神经网络学习方法,从而进一步提升脉冲神经网络性能。
19.本发明的技术方案为:本发明面向脉冲神经网络,通过借鉴神经元内部可塑性机制,发展一种突触权重和神经元阈值协同的学习方法。本发明所涉及脉冲神经网络包括信息编码层、隐藏层(卷积层和全连接层)以及信息解码层。本发明所处理信息包括但不限于静态图像、神经形态图像、音频信号。针对不同输入信息,编码层可以采取两种方案进行数据预处理:(1)在时间窗内的每个时刻通过伯努利随机数生成器,将输入数据的静态值编码为脉冲,并传递给隐藏层;(2)在时间窗内的每个时刻直接接受原始数据,由编码层神经元生成脉冲,并传递给隐藏层。隐藏层通过卷积和全连接等结构对数据进行时空特征提取和分类。解码层通过统计神经元放电率得到网络输出。网络使用脉冲神经元为基本信息处理单元,相邻层神经元使用正向突触进行连接,所有神经元配置可独立训练的阈值。网络训练方法包括但不限于近似梯度时空反向传播(stbp)、依赖脉冲发放时间的可塑性(stdp)、强化学习等。
20.参阅图1,本发明所涉及脉冲神经网络为前馈级联结构,由信息编码层、隐藏层以及信息解码层三部分组成。具体如下:
21.1.编码层:本发明所处理信息包括但不限于静态图像、神经形态图像、音频信号。本发明的一个具体实施例中,针对图片分类网络模型,采用mnist手写体数字图片作为数据输入,使用区间为[0,1]的均匀分布随机数生成器生成随机值,将图片像素和生成的随机值进行大小比较。当像素值≥随机值时:编码神经元向隐藏层输入脉冲(1);当像素值<随机值时:编码神经元向隐藏层输入非脉冲(0)。本发明的另一个具体实施例中,针对图片分类网络模型,采用神经形态图片cifar10-dvs作为数据输入。神经形态图片是具有正负双通道
的时序数据,且数据表征方式为脉冲(1)和非脉冲(0),因此编码层直接接受原始数据并输入隐藏层。
[0022]
2.隐藏层:每层可设置为卷积结构或全连接结构,并根据具体任务和需求,设置隐藏层的层数和每层的具体情况。
[0023]
3.解码层:信息解码层用以统计神经元放电率并得到网络输出。本发明的一个具体实施例中,针对分类任务,解码层神经元分别对应某一数据类别,且在时间窗上具有最高放电率的类别神经元决定网络的预测结果。
[0024]
参阅图1和图2,本发明具体实施例中,脉冲神经网络由泄露整合发放(lif)脉冲神经元构成,泄露整合发放脉冲神经元是一种能够继承自身膜电位状态并同时接受外部电流的时空信息处理模型。具体实施例所涉及lif神经元为离散模式,公式如下:
[0025][0026][0027][0028]
其中,第i个神经元在t时刻的神经元膜电位为在t-1时刻的膜电位为第i个神经元在t时刻的神经元脉冲发放为在t-1时刻的脉冲发放为第i个神经元的膜电位衰减常数为δi,为第i个神经元在t时刻的输入信息,为第j个神经元在t时刻的脉冲发放。本实施例中,连接第i个神经元和第j个神经元的突触权重和神经元阈值v
th,i
都是可训练参数。
[0029]
参阅图3,本发明具体实施例中,突触-阈值协同学习方法完整步骤如下:
[0030]
s1:搭建脉冲神经网络:根据具体任务,选取编码方案并设定解码层神经元数量,设置隐藏层的深度和每层的结构,并定义损失函数。本发明的一个具体实施例中,针对mnist数据集上分类任务,搭建卷积脉冲神经网络。编码层使用伯努利生成器将原始数据转换为脉冲,解码层由10个神经元分别代表10个数字类别,网络包含两个卷积层、两个池化层、两个全连接层,且使用batchnorm和dropout技术防止梯度消失和过拟合;
[0031]
s2:初始化脉冲神经网络参数:网络突触权重w服从均匀分布其中,fanin为赋权张量的元素数量;神经元初始阈值v
th,i
;神经元初始膜电位全部设置为0mv;神经元衰减常数δi;时间窗长度t。本发明的一个具体实施例中,针对mnist数据集上分类任务,网络突触权重全部神经元初始阈值v
th,i
=2.0ma,神经元衰减常数δi=0.5,时间窗长度t为4ms,网络优化器为adam,且学习率以指数形式衰减,epoch为100,batch size为50;
[0032]
s3:输入数据编码:图片的每个像素点或音频信号的每个通道将由一个脉冲神经元进行编码;
[0033]
s4:数据前向传播:将编码后的脉冲序列传入脉冲神经网络,根据脉冲神经元膜电
位迭代公式更新膜电位,根据神经元阈值获得神经元脉冲发放,且上一层神经元的脉冲发放将作为信息传递的媒介进入下层神经元。在脉冲神经网络中,前向传播过程基于时间窗进行迭代,由解码层计算网络输出,最终通过损失函数和数据标签值计算网络监督误差。本发明的一个具体实施例中,针对mnist数据集上的分类任务,选取均方误差(mse)作为损失函数,公式如下:
[0034][0035]
其中,s为样本数量,n代表编码层,t表示时间窗长度,ys为样本s的标签,为脉冲神经网络接收样本s后,编码层在t时刻的脉冲发放情况。
[0036]
s5:数据反向传播:根据链式求导法则,损失函数对神经元脉冲发放和神经元膜电位的偏导数公式如下:
[0037][0038][0039]
其中,为第n层第i个神经元在t时刻的脉冲发放情况,为第n层第i个神经元在t时刻的神经元膜电位,l(n+1)表示第n+1层神经元的数量。
[0040]
基于以上公式,可以得到损失函数对各层突触权重和神经元阈值的偏导数:
[0041][0042][0043]
其中,wn为矩阵,表示第n层神经元的突触权重;u
t,n
,x
t,n
,o
t,n
为列向量,表示第n层神经元在t时刻的膜电位、输入信息和脉冲发放情况;为列向量,表示第n层神经元的放电阈值。
[0044]
受限于脉冲神经元发放脉冲的过程是一个不可导的激活函数,本发明在时空反向传播过程中使用替代函数对发放脉冲的过程进行近似处理,替代函数公式如下:
[0045][0046]
其中,arctan()表示反正切函数,为第n层第i个神经元在t时刻的神经元膜电位,为第n层第i个神经元的放电阈值。
[0047]
通过时空反向传播和链式求导法则,得到了监督误差对可训练参数“突触权重”和“神经元阈值”的偏导,并通过梯度下降算法实现参数的更新。
[0048]
s6:测试网络精度:若网络精度稳定,则停止网络训练。
[0049]
图4是为本发明实施例的基于突触-阈值协同的脉冲神经网络学习方法的结果展示图,图中阴影部分为真实训练曲线,黑线为10个epoch平滑之后的训练曲线。通过观察突触学习和协同学的训练曲线,可以发现协同学习能够显著提升网络精度。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1