基于Ca-LIF神经元模型的Spike-BP片上学习方法、系统及处理器
未命名
08-26
阅读:140
评论:0
基于ca-lif神经元模型的spike-bp片上学习方法、系统及处理器
技术领域
1.本发明属于微处理器技术领域,具体涉及一种基于ca-lif神经元模型的spike-bp片上学习方法、系统及处理器。
背景技术:
2.近年来,人工智能和深度学习在诸如人脸识别、语音识别、工业产品检测、目标跟踪、车辆自动驾驶等领域得到广泛应用。由于传统人工神经网络(artificial neural network,ann)模型需要所有神经元参与同步密集运算,基于通用cpu、gpu实现,存在功耗高、处理速度慢的问题。即使采用专用加速芯片,在能效指标上仍不理想。相比之下,脉冲神经网络(spiking neural network,snn)通过模拟人脑工作机制,基于时空上稀疏的脉冲信号来编码、传输和处理数据,从而模拟高效节能的人类大脑皮层的认知机制。与ann相比,snn更为接近大脑的生物结构和运行机制,其被认为具有从复杂多变的环境中捕获时域动态信息的卓越能力,且由于脉冲在时域中是稀疏的,这使得snn中的各个神经元可以在有脉冲到达其突触时才运行,从而可以实现高效节能的“异步”运算。
3.一方面,目前主流snn算法虽然计算复杂度低,但是在性能上与ann相比仍有差距,主要原因就在于缺少合适且高效的训练算法。另一方面,部分算法虽然性能上能与ann训练算法相当,但算法过于复杂不适合硬件设计实现片上学习。
4.现有的指数泄漏型lif神经元模型如下:
[0005][0006]
其中,vj(t)表示第j个lif神经元在当前时间步的膜电位,vj(t-1)表示第j个lif神经元在上一个时间步的膜电位,τ为膜电位衰减系数,w
ij
表示连接上一层的第i个ca-lif神经元和当前层的第j个神经元的突触权重,xi(t)表示第i个lif神经元在当前时间步的输入脉冲,如果当前时间步的输入脉冲为正脉冲,则xi(t)=+1,如果当前时间步的输入脉冲为负脉冲,则xi(t)=-1。这种指数泄漏型lif神经元模型是将τ与vj(t-1)相乘来进行泄漏操作,这对于后续的硬件设计将占用大量计算资源。另外,这种指数泄漏型lif神经元模型中涉及的lif神经元,当其膜电位vj(t)大于或等于预设的膜电位阈值v
th
时,发射一个脉冲,同时将膜电位置零;而当其膜电位vj(t)为较大的负值时,无法发射“负”脉冲将该信息传递出去以抵消早前时间发射过的正脉冲,造成其脉冲个数在统计意义上无法逼近ann中常用的relu函数特性,从而无法将ann领域成熟、高识别率的误差反向传播算法移植到深度snn学习中。
[0007]
现有的spike-bp(即脉冲反向传播)的突触权重更新求导路径如下:
[0008][0009]
其中,δwm是第m层的突触权重更新量矩阵,是第m层的输出a
mlif
(t)关于膜电位vm(t)的梯度,γ是时间窗口t内的输出脉冲总数,τ为膜电位衰减系数,tk是时间步t之前的第k个脉冲的发射时间,e是自然指数。此处,可以看出lif神经元的求解过于复杂且涉及自然指数e的计算,增加了算法计算的复杂度,对于硬件设计大大增加了资源消耗。
技术实现要素:
[0010]
本发明的目的是提供一种基于ca-lif神经元模型的spike-bp片上学习方法、系统及处理器,以实现低功耗片上学习,提升脉冲神经网络训练的性能。
[0011]
本发明所述的基于ca-lif神经元模型的spike-bp片上学习方法,用于脉冲神经网络的训练,包括:
[0012]
步骤一、对输入图像进行速率编码,将静态帧图像转成脉冲形式,视作脉冲神经网络的输入层的输入脉冲;其中,脉冲神经网络由ca-lif神经元组成,不同层之间的ca-lif神经元通过突触权重进行连接以传递脉冲。
[0013]
步骤二、根据ca-lif神经元模型进行前向传播,将输入脉冲从输入层传递到输出层l,得到输出层l在最后一个时间步的膜电位矩阵v
l
(t)。其中,脉冲神经网络的输出层l不发射脉冲,ca-lif神经元模型为:
[0014][0015]vj
(t)表示第j个ca-lif神经元在当前时间步的膜电位,vj(t-1)表示第j个ca-lif神经元在上一个时间步的膜电位,w
ij
表示连接上一层的第i个ca-lif神经元和当前层的第j个ca-lif神经元的突触权重,xi(t)表示第i个ca-lif神经元在当前时间步的输入脉冲,bj表示第j个ca-lif神经元的可训练的线性泄漏参数,t表示时间窗口长度,j依次取1至n的所有整数,n表示各层的ca-lif神经元总个数;如果当前时间步的输入脉冲为正脉冲,则xi(t)=+1,如果当前时间步的输入脉冲为负脉冲,则xi(t)=-1。
[0016]
步骤三、计算损失函数e对输出层l在最后一个时间步的膜电位矩阵v
l
(t)的梯度矩阵δ
l
。
[0017]
步骤四、进行脉冲反向传播(即spike-bp),通过所述梯度矩阵δ
l
迭代计算损失函数e对隐藏层的膜电位矩阵的梯度矩阵。
[0018]
步骤五、计算输出层l及隐藏层的突触权重更新量矩阵以及线性泄漏参数更新量矩阵。
[0019]
步骤六、根据学习率、输出层l及隐藏层的突触权重更新量矩阵以及线性泄漏参数更新量矩阵,对输出层l及隐藏层的突触权重矩阵以及线性泄漏参数矩阵进行更新。
[0020]
步骤七、重复步骤一至步骤六直至完成脉冲神经网络的训练。
[0021]
优选的,在点火阶段,当vj(t)≥v
th
时,第j个ca-lif神经元发射正脉冲,并通过减去v
th
来复位其膜电位;在点火阶段,当vj(t)≤-v
th
,且满足门控条件ys(t-1)》0时,第j个ca-lif神经元发射负脉冲,并通过加上v
th
来复位其膜电位。其中,v
th
表示预设的膜电位阈值,v
th
》0,ys(t-1)表示上一个时间步的脉冲个数算术和,ys(t-1)等于上一个时间步的正脉冲累计数量减去负脉冲累计数量。ys(t-1)类似于生物神经元中的钙离子浓度(即ca
+
),当细胞外的钙离子浓度大于细胞内钙离子浓度时,细胞膜才能维持正常的神经传导功能。
[0022]
优选的,在积分和泄漏阶段,ca-lif神经元累计输入脉冲与突触权重的乘积得到加权和,并通过可训练的线性泄漏参数实现泄漏操作。
[0023]
优选的,在所述步骤三中,利用公式:计算损失函数e对输出层l在最后一个时间步的膜电位矩阵v
l
(t)的梯度矩阵δ
l
。其中,loss为由输出层l的第j个ca-lif神经元的误差lossj组成的矩阵,lossj=output
j-labelj,outputj表示输出层l的第j个ca-lif神经元的输出,labelj表示对应one-hot标签。
[0024]
优选的,在所述步骤四中,利用公式:计算损失函数e对隐藏层l的膜电位矩阵v
l
(t)的梯度矩阵δ
l
;其中,l依次取l-1至2的所有整数,tr表示转置;w
l
为隐藏层l的突触权重矩阵,由连接隐藏层l-1的第i个ca-lif神经元和隐藏层l的第j个ca-lif神经元的突触权重w
ij
组成。
[0025]
优选的,在所述步骤四中,利用公式:计算损失函数e对隐藏层1的膜电位矩阵v1(t)的梯度矩阵δ1;其中,w1为隐藏层1的突触权重矩阵,由连接输入层的第i个神经元和隐藏层1的第j个神经元的突触权重w
ij
组成;δ2为损失函数e对隐藏层2的膜电位矩阵v2(t)的梯度矩阵。
[0026]
优选的,在所述步骤五中,利用公式:计算输出层l的突触权重更新量矩阵δw
l
;其中,x
l
(t)表示输出层l的各ca-lif神经元的输入脉冲矩阵。
[0027]
优选的,在所述步骤五中,利用公式:计算输出层l的线性泄漏参数更新量矩阵δb
l
。
[0028]
优选的,在所述步骤五中,利用公式:计算隐藏层l的突触权重更新量矩阵δw
l
;其中,x
l
(t)表示隐藏层l的各ca-lif神经元的输入脉冲矩阵。
[0029]
优选的,在所述步骤五中,利用公式:计算隐藏层l的线性泄漏参数更新量矩阵δb
l
。
[0030]
优选的,在所述步骤五中,利用公式:计算隐藏层1的突触权重更新量矩阵δw1;其中,x1(t)表示隐藏层1的各ca-lif神经元的输入脉冲矩阵。
[0031]
优选的,在所述步骤五中,利用公式:计算隐藏层1的线性泄漏参数更新量矩阵δb1。
[0032]
优选的,在所述步骤六中,对输出层l的突触权重矩阵进行更新的方法为:将输出层l的突触权重矩阵w
l
更新为w
l-lr*δw
l
。其中,w
l
由连接隐藏层l-1的第i个神经元和输出层l的第j个神经元的突触权重w
ij
组成,lr表示学习率。
[0033]
优选的,在所述步骤六中,对输出层l的线性泄漏参数矩阵进行更新的方法为:将输出层l的线性泄漏参数矩阵b
l
更新为b
l-lr*δb
l
。其中,b
l
由输出层l的第j个ca-lif神经元的可训练的线性泄漏参数bj组成。
[0034]
优选的,在所述步骤六中,对隐藏层l的突触权重矩阵进行更新的方法为:将隐藏层l的突触权重矩阵w
l
更新为w
l-lr*δw
l
。
[0035]
优选的,在所述步骤六中,对隐藏层l的线性泄漏参数矩阵进行更新的方法为:将隐藏层l的线性泄漏参数矩阵b
l
更新为b
l-lr*δb
l
。其中,b
l
由隐藏层l的第j个ca-lif神经元的可训练的线性泄漏参数bj组成。
[0036]
优选的,在所述步骤六中,对隐藏层1的权重矩阵进行更新的方法为:将隐藏层1的突触权重矩阵w1更新为w
1-lr*δw1。
[0037]
优选的,在所述步骤六中,对隐藏层1的线性泄漏参数矩阵进行更新的方法为:将隐藏层1的线性泄漏参数矩阵b1更新为b
1-lr*δb1。其中,b1由隐藏层1的第j个ca-lif神经元的可训练的线性泄漏参数bj组成。
[0038]
本发明所述的基于ca-lif神经元模型的spike-bp片上学习系统,该系统用于依照上述基于ca-lif神经元模型的spike-bp片上学习方法进行片上学习,并形成相应的脉冲神经网络。
[0039]
本发明所述的基于ca-lif神经元模型的spike-bp片上学习处理器,该处理器内集成有上述基于ca-lif神经元模型的spike-bp片上学习系统。
[0040]
相比于现有的指数泄漏型lif模型的深度snn学习算法,本发明提出的ca-lif神经元模型和spike-bp方法避免了复杂的阈值和权重归一化操作以及指数泄漏平衡补偿操作,可节约大量硬件资源并提高学习速度。
[0041]
本发明具有如下效果:
[0042]
(1)采用了可训练的线性泄漏参数,对于ca-lif神经元模型只需要通过减去即可实现线性泄漏操作,相较于现有的lif神经元模型采用乘法泄漏操作,节省了后续硬件设计的大量计算资源。
[0043]
(2)采用了可训练的线性泄漏参数来实现泄漏操作,在求解梯度矩阵时避免了复杂的泄漏补偿操作,大大降低了硬件实现复杂度,实现了低功耗片上学习,提升了脉冲神经网络训练的性能。
[0044]
(3)ca-lif神经元模型为钙门控双极泄漏积分点火(calcium-gated bipolar leaky integrate&fire,ca-lif)神经元模型,其采用了基于钙门控的正负双通道脉冲发射机制,在统计意义上能让双极脉冲个数的算术和更好的逼近relu函数,进一步将ann领域的反向传播算法移植到snn上实现片上学习,提升了脉冲神经网络训练的性能。
附图说明
[0045]
图1为本实施例中基于ca-lif神经元模型的spike-bp片上学习方法流程图。
[0046]
图2为本实施例中的ca-lif神经元模型图。
[0047]
图3为本实施例中进行脉冲反向传播的示意图。
具体实施方式
[0048]
如图1所示,本实施例中的基于ca-lif神经元模型的spike-bp片上学习方法,用于脉冲神经网络的训练,包括如下步骤:
[0049]
步骤一、对输入图像进行速率编码,将静态帧图像转成脉冲形式,视作脉冲神经网络的输入层的输入脉冲。其中,脉冲神经网络由ca-lif神经元组成,不同层之间的ca-lif神经元通过突触权重进行连接以传递脉冲。
[0050]
步骤二、根据ca-lif神经元模型进行前向传播,将输入脉冲从输入层传递到输出层l,得到输出层l在最后一个时间步的膜电位矩阵v
l
(t)。其中,脉冲神经网络的输出层l不发射脉冲,ca-lif神经元模型(参见图2)为:
[0051][0052]vj
(t)表示第j个ca-lif神经元在当前时间步的膜电位,vj(t-1)表示第j个ca-lif神经元在上一个时间步的膜电位,第j个ca-lif神经元的膜电位初始值vj(0)=0,w
ij
表示连接上一层的第i个ca-lif神经元和当前层的第j个ca-lif神经元的突触权重,xi(t)表示第i个ca-lif神经元在当前时间步的输入脉冲,bj表示第j个ca-lif神经元的可训练的线性泄漏参数,t表示时间窗口长度,j依次取1至n的所有整数,n表示各层的ca-lif神经元总个数。如果当前时间步的输入脉冲为正脉冲,则xi(t)=+1,如果当前时间步的输入脉冲为负脉冲,则xi(t)=-1。
[0053]
步骤三、计算损失函数e对v
l
(t)的梯度矩阵δ
l
。具体为:利用公式:计算损失函数e对膜电位矩阵v
l
(t)的梯度矩阵δ
l
;其中,loss为由输出层l的第j个ca-lif神经元的误差lossj组成的矩阵,lossj=output
j-labelj,outputj表示输出层l的第j个ca-lif神经元的输出,labelj表示对应one-hot标签,v
th
表示预设的膜电位阈值,v
th
》0。
[0054]
推导过程为:设定损失函数e采用均方误差,则损失函数e对输出层l的第j个ca-lif神经元的输出outputj的梯度为:
[0055][0056]
由于为由输出层l的第j个ca-lif神经元的组成的矩阵,v
l
(t)由输出层l的第j个神经元在最后一个时间步的膜电位vj(t)组成;因此,
[0057]
利用求导链式法则,得损失函数e对输出层l在最后一个时间步的膜电位矩阵v
l
(t)的梯度矩阵:
[0058][0059]
步骤四、进行脉冲反向传播(即spike-bp),通过梯度矩阵δ
l
迭代计算损失函数e对隐藏层的膜电位矩阵的梯度矩阵(参见图3)。具体为:
[0060]
利用公式:计算损失函数e对隐藏层l的膜电位矩阵v
l
(t)的梯度矩阵δ
l
。其中,l依次取l-1至2的所有整数,tr表示转置;w
l
为隐藏层l的突触权重矩阵,由连接隐藏层l-1的第i个ca-lif神经元和隐藏层l的第j个ca-lif神经元的突触权重w
ij
组成。图3中的卷积层2相当于本实施例中的隐藏层2,图3中的全连接层l-1、全连接层l、....、全连接层l-1都属于隐藏层,全连接层l-1相当于隐藏层l-1。
[0061]
推导过程为:设定
[0062]
则隐藏层l的输出的梯度矩阵为:
[0063]
利用求导链式法则,得损失函数损失函数e对隐藏层l的膜电位矩阵v
l
(t)的梯度矩阵:
[0064][0065]
利用公式:计算损失函数e对隐藏层1的膜电位矩阵v1(t)的梯度矩阵δ1。其中,w1为隐藏层1(即图3中的卷积层1)的突触权重矩阵,由连接输入层的第i个神经元和隐藏层1的第j个神经元的突触权重w
ij
组成;δ2为损失函数e对隐藏层2的膜电位矩阵v2(t)的梯度矩阵。
[0066]
步骤五、计算输出层l及隐藏层的突触权重更新量矩阵以及线性泄漏参数更新量矩阵。具体为:
[0067]
利用公式:计算输出层l的突触权重更新量矩阵δw
l
;利用公式:计算输出层l的线性泄漏参数更新量矩阵δb
l
。
[0068]
其中,w
l
表示输出层l的突触权重矩阵,w
l
由连接隐藏层l-1的第i个神经元和输出层l的第j个神经元的突触权重w
ij
组成;b
l
表示输出层l的线性泄漏参数矩阵,b
l
由输出层l的第j个ca-lif神经元的可训练的线性泄漏参数bj组成;x
l
(t)表示输出层l的各ca-lif神经元的输入脉冲矩阵(由多个+1,-1组成。如果某个ca-lif神经元的输入脉冲为正脉冲,对应在该输入脉冲矩阵中的值为+1;如果某个ca-lif神经元的输入脉冲为负脉冲,对应在该输入脉冲矩阵中的值为-1)。
[0069]
推导过程为:设定
[0070]
利用求导链式法则,得
[0071][0072][0073]
利用公式:计算隐藏层l的突触权重更新量矩阵δw
l
;利用公式:计算隐藏层l的线性泄漏参数更新量矩阵δb
l
。
[0074]
其中,b
l
由隐藏层l的第j个ca-lif神经元的可训练的线性泄漏参数bj组成;x
l
(t)表示隐藏层l的各ca-lif神经元的输入脉冲矩阵(由多个+1,-1组成。如果某个ca-lif神经元的输入脉冲为正脉冲,对应在该输入脉冲矩阵中的值为+1;如果某个ca-lif神经元的输入脉冲为负脉冲,对应在该输入脉冲矩阵中的值为-1)。
[0075]
推导过程为:设定
[0076]
利用求导链式法则,得
[0077][0078][0079]
利用公式:计算隐藏层1的突触权重更新量矩阵δw1;利用公式:计算隐藏层1的线性泄漏参数更新量矩阵δb1。其中,x1(t)表示隐藏层1的各ca-lif神经元的输入脉冲矩阵(由多个+1,-1组成。如果某个ca-lif神经元的输入脉冲为正脉冲,对应在该输入脉冲矩阵中的值为+1;如果某个ca-lif神经元的输入脉冲为负脉冲,对应在该输入脉冲矩阵中的值为-1)。
[0080]
步骤六、根据学习率、输出层l及隐藏层的突触权重更新量矩阵以及线性泄漏参数更新量矩阵,对输出层l及隐藏层的突触权重矩阵以及线性泄漏参数矩阵进行更新,从而得到更新后的w
ij
和bj。
[0081]
对输出层l的突触权重矩阵进行更新(即更新w
l
中的w
ij
)的方法为:将输出层l的突触权重矩阵w
l
更新为w
l-lr*δw
l
;其中,lr表示学习率。对输出层l的线性泄漏参数矩阵进行更新(即更新b
l
中的bj)的方法为:将输出层l的线性泄漏参数矩阵b
l
更新为b
l-lr*δb
l
。
[0082]
对隐藏层l的突触权重矩阵进行更新(即更新w
l
中的w
ij
)的方法为:将隐藏层l的突触权重矩阵w
l
更新为w
l-lr*δw
l
。对隐藏层l的线性泄漏参数矩阵进行更新(即更新b
l
中的bj)的方法为:将隐藏层l的线性泄漏参数矩阵b
l
更新为b
l-lr*δb
l
。
[0083]
对隐藏层1的权重矩阵进行更新(即更新w1中的w
ij
)的方法为:将隐藏层1的突触权重矩阵w1更新为w
1-lr*δw1。对隐藏层1的线性泄漏参数矩阵进行更新(即更新b1中的bj)的方法为:将隐藏层1的线性泄漏参数矩阵b1更新为b
1-lr*δb1;其中,b1由隐藏层1的第j个
ca-lif神经元的可训练的线性泄漏参数bj组成。
[0084]
步骤七、重复步骤一至步骤六直至完成脉冲神经网络的训练。
[0085]
上述ca-lif神经元模型,在点火阶段,当vj(t)≥v
th
时,第j个ca-lif神经元发射正脉冲,并通过减去v
th
来复位其膜电位;当vj(t)≤-v
th
,且满足门控条件ys(t-1)》0时,第j个ca-lif神经元发射负脉冲,并通过加上v
th
来复位其膜电位。其中,ys(t-1)表示上一个时间步的脉冲个数算术和,ys(t-1)等于上一个时间步的正脉冲累计数量减去负脉冲累计数量。ys(t-1)类似于生物神经元中的钙离子浓度(即ca
+
),当细胞外的钙离子浓度大于细胞内钙离子浓度时,细胞膜才能维持正常的神经传导功能。在积分和泄漏阶段,ca-lif神经元累计输入脉冲与突触权重的乘积得到加权和,并通过可训练的线性泄漏参数实现泄漏操作。
[0086]
本实施例还提供一种基于ca-lif神经元模型的spike-bp片上学习系统,该系统用于依照上述基于ca-lif神经元模型的spike-bp片上学习方法进行片上学习,并形成相应的脉冲神经网络。
[0087]
本实施例还提供一种基于ca-lif神经元模型的spike-bp片上学习处理器,该处理器内集成有上述基于ca-lif神经元模型的spike-bp片上学习系统。
技术特征:
1.一种基于ca-lif神经元模型的spike-bp片上学习方法,用于脉冲神经网络的训练,其特征在于,包括:步骤一、对输入图像进行速率编码,将静态帧图像转成脉冲形式,视作脉冲神经网络的输入层的输入脉冲;其中,脉冲神经网络由ca-lif神经元组成,不同层之间的ca-lif神经元通过突触权重进行连接以传递脉冲;步骤二、根据ca-lif神经元模型进行前向传播,将输入脉冲从输入层传递到输出层l,得到输出层l在最后一个时间步的膜电位矩阵v
l
(t);其中,脉冲神经网络的输出层l不发射脉冲,ca-lif神经元模型为:v
j
(t)表示第j个ca-lif神经元在当前时间步的膜电位,v
j
(t-1)表示第j个ca-lif神经元在上一个时间步的膜电位,w
ij
表示连接上一层的第i个ca-lif神经元和当前层的第j个ca-lif神经元的突触权重,x
i
(t)表示第i个ca-lif神经元在当前时间步的输入脉冲,b
j
表示第j个ca-lif神经元的可训练的线性泄漏参数,t表示时间窗口长度,j依次取1至n的所有整数,n表示各层的ca-lif神经元总个数;步骤三、计算损失函数e对所述膜电位矩阵v
l
(t)的梯度矩阵δ
l
;步骤四、进行脉冲反向传播,通过所述梯度矩阵δ
l
迭代计算损失函数e对隐藏层的膜电位矩阵的梯度矩阵;步骤五、计算输出层l及隐藏层的突触权重更新量矩阵以及线性泄漏参数更新量矩阵;步骤六、根据学习率、输出层l及隐藏层的突触权重更新量矩阵以及线性泄漏参数更新量矩阵,对输出层l及隐藏层的突触权重矩阵以及线性泄漏参数矩阵进行更新;步骤七、重复步骤一至步骤六直至完成脉冲神经网络的训练。2.根据权利要求1所述的基于ca-lif神经元模型的spike-bp片上学习方法,其特征在于:在点火阶段,当v
j
(t)≥v
th
时,第j个ca-lif神经元发射正脉冲,并通过减去v
th
来复位其膜电位;在点火阶段,当v
j
(t)≤-v
th
,且满足门控条件y
s
(t-1)>0时,第j个ca-lif神经元发射负脉冲,并通过加上v
th
来复位其膜电位;其中,v
th
表示预设的膜电位阈值,v
th
>0,y
s
(t-1)表示上一个时间步的脉冲个数算术和,y
s
(t-1)等于上一个时间步的正脉冲累计数量减去负脉冲累计数量。3.根据权利要求2所述的基于ca-lif神经元模型的spike-bp片上学习方法,其特征在于:在积分和泄漏阶段,ca-lif神经元累计输入脉冲与突触权重的乘积得到加权和,并通过可训练的线性泄漏参数实现泄漏操作。4.根据权利要求2所述的基于ca-lif神经元模型的spike-bp片上学习方法,其特征在于:在所述步骤三中,利用公式:计算损失函数e对所述膜电位矩阵v
l
(t)的梯度矩阵δ
l
;其中,loss为由输出层l的第j个ca-lif神经元的误差loss
j
组成的矩
阵,loss
j
=output
j-label
j
,output
j
表示输出层l的第j个ca-lif神经元的输出,label
j
表示对应one-hot标签。5.根据权利要求4所述的基于ca-lif神经元模型的spike-bp片上学习方法,其特征在于:在所述步骤四中,利用公式:计算损失函数e对隐藏层l的膜电位矩阵v
l
(t)的梯度矩阵δ
l
;其中,l依次取l-1至2的所有整数,tr表示转置;w
l
为隐藏层l的突触权重矩阵,由连接隐藏层l-1的第i个ca-lif神经元和隐藏层l的第j个ca-lif神经元的突触权重w
ij
组成;在所述步骤四中,利用公式:计算损失函数e对隐藏层1的膜电位矩阵v1(t)的梯度矩阵δ1;其中,w1为隐藏层1的突触权重矩阵,由连接输入层的第i个神经元和隐藏层1的第j个神经元的突触权重w
ij
组成;δ2为损失函数e对隐藏层2的膜电位矩阵v2(t)的梯度矩阵。6.根据权利要求5所述的基于ca-lif神经元模型的spike-bp片上学习方法,其特征在于:在所述步骤五中,利用公式:计算输出层l的突触权重更新量矩阵δw
l
;其中,x
l
(t)表示输出层l的各ca-lif神经元的输入脉冲矩阵;在所述步骤五中,利用公式:计算输出层l的线性泄漏参数更新量矩阵δb
l
;在所述步骤五中,利用公式:计算隐藏层l的突触权重更新量矩阵δw
l
;其中,x
l
(t)表示隐藏层l的各ca-lif神经元的输入脉冲矩阵;在所述步骤五中,利用公式:计算隐藏层l的线性泄漏参数更新量矩阵δb
l
;在所述步骤五中,利用公式:计算隐藏层1的突触权重更新量矩阵δw1;其中,x1(t)表示隐藏层1的各ca-lif神经元的输入脉冲矩阵;在所述步骤五中,利用公式:计算隐藏层1的线性泄漏参数更新量矩阵δb1。7.根据权利要求6所述的基于ca-lif神经元模型的spike-bp片上学习方法,其特征在于:在所述步骤六中,对输出层l的突触权重矩阵进行更新的方法为:将输出层l的突触权重矩阵w
l
更新为w
l-lr*δw
l
;其中,w
l
由连接隐藏层l-1的第i个神经元和输出层l的第j个神经元的突触权重w
ij
组成,lr表示学习率;
在所述步骤六中,对输出层l的线性泄漏参数矩阵进行更新的方法为:将输出层l的线性泄漏参数矩阵b
l
更新为b
l-lr*δb
l
;其中,b
l
由输出层l的第j个ca-lif神经元的可训练的线性泄漏参数b
j
组成;在所述步骤六中,对隐藏层l的突触权重矩阵进行更新的方法为:将隐藏层l的突触权重矩阵w
l
更新为w
l-lr*δw
l
;在所述步骤六中,对隐藏层l的线性泄漏参数矩阵进行更新的方法为:将隐藏层l的线性泄漏参数矩阵b
l
更新为b
l-lr*δb
l
;其中,b
l
由隐藏层l的第j个ca-lif神经元的可训练的线性泄漏参数b
j
组成;在所述步骤六中,对隐藏层1的权重矩阵进行更新的方法为:将隐藏层1的突触权重矩阵w1更新为w
1-lr*δw1;在所述步骤六中,对隐藏层1的线性泄漏参数矩阵进行更新的方法为:将隐藏层1的线性泄漏参数矩阵b1更新为b
1-lr*δb1;其中,b1由隐藏层1的第j个ca-lif神经元的可训练的线性泄漏参数b
j
组成。8.一种基于ca-lif神经元模型的spike-bp片上学习系统,其特征在于:该系统用于依照如权利要求1至7任一项所述方法进行片上学习,并形成相应的脉冲神经网络。9.一种基于ca-lif神经元模型的spike-bp片上学习处理器,其特征在于:该处理器内集成有如权利要求8所述的基于ca-lif神经元模型的spike-bp片上学习系统。
技术总结
本发明公开了一种基于Ca-LIF神经元模型的Spike-BP片上学习方法、系统及处理器,其采用可训练的线性泄漏参数和基于钙门控的正负双通道脉冲发射机制,对于Ca-LIF神经元模型只需要通过减去即可实现线性泄漏操作,在求解梯度矩阵时能避免复杂的泄漏补偿操作,降低硬件实现复杂度,节省后续硬件设计的大量计算资源,并能提升脉冲神经网络训练的性能。并能提升脉冲神经网络训练的性能。并能提升脉冲神经网络训练的性能。
技术研发人员:石匆 高灏然 田敏 何俊贤 王腾霄 喻剑依 王海冰 陈思豪 张靖雅 庹云鹏 陈乐毅
受保护的技术使用者:重庆大学
技术研发日:2023.05.29
技术公布日:2023/8/23
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
