国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

跨脈沖傳播的深度脈沖神經(jīng)網(wǎng)絡訓練方法

2024-08-17 00:00曾建新陳云華李煒奇陳平華
計算機應用研究 2024年7期

摘 要:基于反向傳播的脈沖神經(jīng)網(wǎng)絡(SNNs)的訓練方法仍面臨著諸多問題與挑戰(zhàn),包括脈沖發(fā)放過程不可微分、脈沖神經(jīng)元具有復雜的時空動力過程等。此外,SNNs反向傳播訓練方法往往沒有考慮誤差信號在相鄰脈沖間的關系,大大降低了網(wǎng)絡模型的準確性。為此,提出一種跨脈沖誤差傳播的深度脈沖神經(jīng)網(wǎng)絡訓練方法(cross-spike error backpropagation,CSBP),將神經(jīng)元的誤差反向傳播分成脈沖發(fā)放時間隨突觸后膜電位變化關系和相鄰脈沖發(fā)放時刻點間的依賴關系兩種依賴關系。其中,通過前者解決了脈沖不可微分的問題,通過后者明確了脈沖間的依賴關系,使得誤差信號能跨脈沖傳播,提升了生物合理性。此外,并對早期脈沖殘差網(wǎng)絡架構存在的模型表示能力不足問題進行研究,通過修改脈沖殘余塊的結構順序,進一步提高了網(wǎng)絡性能。實驗結果表明,所提方法比基于脈沖時間的最優(yōu)訓練算法有著明顯的提升,相同架構下,在CIFAR10數(shù)據(jù)集上提升2.98%,在DVS-CIFAR10數(shù)據(jù)集上提升2.26%。

關鍵詞:脈沖神經(jīng)網(wǎng)絡; 脈沖時間依賴; 誤差反向傳播; 脈沖神經(jīng)網(wǎng)絡訓練算法

中圖分類號:TP183 文獻標志碼:A 文章編號:1001-3695(2024)07-029-2134-07

doi:10.19734/j.issn.1001-3695.2023.11.0562

Deep spiking neural network training method across spiking propagation

Abstract:Backpropagation-based training methods for SNNs still face many problems and challenges, including that the spike firing process is non-differentiable and spike neurons have complex spatiotemporal dynamics processes. In addition, SNNs backpropagation training methods often do not consider the relationship of the error signal between adjacent spikes, greatly reducing the accuracy of the model. To this end, this paper proposed a cross-spike error backpropagation training method for deep spiking neural networks(CSBP), which divided the error backpropagation of neurons into two dependencies: the dependency of spike firing time with the postsynaptic membrane potential(DSFT) and the dependency between spike firing time(DBSFT). Among them, DSFT solved the problem of spike non-differentiability and DBSFT clarified the dependence between spikes, allowing error signals to propagate across spikes, improving biological rationality. In addition, this paper solved the problem of insufficient expressive ability in early spiking ResNet network architecture by modifying the structural order of the spike residual block. Experimental results show that the proposed method is significantly improved compared to the SOTA(state-of-the-art) training algorithms based on spike time. Under the same architecture, the improvement is 2.98% on the CIFAR10 dataset, and 2.26% on the DVS-CIFAR10 dataset.

Key words:spiking neural networks(SNNs); spike time dependency; error backpropagation; spiking neural network training algorithm

0 引言

近年來,脈沖神經(jīng)網(wǎng)絡(SNNs)因其比傳統(tǒng)神經(jīng)網(wǎng)絡(artificial neural networks,ANNs)具有更高的生物真實性而備受關注。獨特的信息編碼方式使其能高效地利用時間信息,并且能在神經(jīng)形態(tài)硬件上實現(xiàn)顯著的低功耗的性能。由于SNNs所具有的復雜的神經(jīng)元動力學模型和脈沖發(fā)放過程不可微分的特性,其訓練仍然是一個具有挑戰(zhàn)性的問題。

近幾年,研究人員提出了許多方法來訓練SNNs,主流方法包括ANN-to-SNN的轉換方法[1~4]和SNNs誤差反向傳播(BP)方法[5~11]。其中,基于轉換的方法通常需要較大的時間步才能獲得與深度ANNs相當?shù)木?,這增大了模型的推理時間成本。相反,SNNs BP方法能高效地利用脈沖時間信息,在極少的時間步下,就能訓練具備高精度性能的SNNs。但是,由于脈沖神經(jīng)網(wǎng)絡的脈沖發(fā)放過程具有不可微分的特性,傳統(tǒng)的誤差反向傳播算法無法直接應用于SNNs的訓練。為了解決脈沖不可微分問題,使得傳統(tǒng)的BP算法能適用于SNNs的訓練,研究人員提出了代理梯度[5~7]和基于脈沖時間[8~10]的SNNs BP訓練方法。

代理梯度[5~7]方法是指在誤差反向傳播過程中采用平滑函數(shù)來代替不可微的脈沖激活函數(shù)。其中,Shrestha等人[5]提出用概率密度函數(shù)來代替脈沖激活函數(shù),并在時間維度上分配誤差信用。文獻[6,7]提出了在時間和空間兩個維度進行誤差反向傳播(backpropagation through time,BPTT),并引入了幾個連續(xù)的替代函數(shù)來解決脈沖不可微的問題。雖然采用代理梯度的方法使SNNs能夠進行直接訓練,但代理梯度是對真實梯度的一種近似,其值一般都很小,在BPTT框架下,網(wǎng)絡模型的梯度消失問題會變得更加顯著,使得其無法直接應用到深層網(wǎng)絡上。并且由于該類方法采用的是頻率編碼,其所需的時間步為幾十到幾百個[6,7],這進一步導致了模型的訓練及推理時長高。

基于脈沖時間編碼的訓練方法[8~10]能夠充分利用脈沖的時間信息,極大程度地減少網(wǎng)絡所需的時間步。其中,大多數(shù)基于脈沖時間的方法[8,9]只允許每個神經(jīng)元最多觸發(fā)一個脈沖,因而有著不錯的時延性能,但這也導致了網(wǎng)絡中脈沖數(shù)不足、精度低的問題。Zhang等人[10]將該類方法應用于LIF(leaky integrate-and-fire)神經(jīng)元模型上,允許每個神經(jīng)元發(fā)放多個脈沖,從而在較低的時延下也能獲取優(yōu)越的精度性能。然而,該方法通過脈沖時間與膜電位間的線性假設計算脈沖時間與膜電位的梯度,在膜電位變化平緩時,存在梯度爆炸問題,導致無法應用于深層的網(wǎng)絡架構,減低了實際的應用價值。此外,現(xiàn)有的SNNs反向傳播訓練算法往往對膜電位進行歸零重置,使得在反向傳播期間相鄰脈沖間的誤差信號被截斷,導致誤差信號無法跨脈沖傳播,大大降低了誤差信號的準確性。

為了解決上述問題,本文首先依據(jù)膜電位與脈沖發(fā)放時間的動力學模型,推導脈沖發(fā)放時間隨突觸后電位變化的依賴關系,以此解決了脈沖發(fā)放過程中不可微分的問題。如2.2.2節(jié)所分析,通過該依賴關系能進一步地避免現(xiàn)有基于線性假設的方法[10]存在的梯度爆炸問題,使得該訓練算法能進一步應用到深層網(wǎng)絡架構下,提高其實際應用價值。其次,本文采用減法復位對膜電位進行重置,通過殘余膜電位項構建相鄰脈沖發(fā)放時刻點間的依賴關系,使得誤差信號能夠跨脈沖傳播,從而提升誤差信號的準確性。最終,本文提出一種跨脈沖誤差傳播的深度脈沖神經(jīng)網(wǎng)絡訓練算法,將神經(jīng)元的誤差反向傳播分成脈沖發(fā)放時間隨突觸后膜電位變化關系和相鄰脈沖發(fā)放時刻點間的依賴關系兩種依賴關系。前者通過脈沖發(fā)放時間與突觸后電位的依賴性明確了誤差信號在空間維度上的分配,解決了脈沖不可微分問題;后者則明確了脈沖間的依賴關系,使得誤差信號能夠跨脈沖傳播。此外,針對Fang等人[11]提出的殘差網(wǎng)絡模型中表達能力不足的問題,本文還改進了殘差網(wǎng)絡模型中的殘差單元塊,進一步提升網(wǎng)絡的性能。

本文的主要貢獻可以歸納為以下幾點:

a)依據(jù)膜電位與脈沖發(fā)放時間的動力學模型,推導脈沖發(fā)放時間隨突觸后膜電位變化的關系,明確了誤差信號在空間維度上的分配,解決了脈沖不可微分問題,突破了線性假設情況下梯度爆炸的問題。

b)采用減法復位對膜電位進行重置,并基于殘余膜電位項推導相鄰脈沖發(fā)放時刻點間的依賴關系,使得誤差信號能夠跨脈沖傳播,從而提升誤差信號的準確性。

c)本文分析了殘差網(wǎng)絡模型[11]表達能力不足的問題,對該模型的殘差單元進行調整,提出了改進后的殘差網(wǎng)絡模型。

d)本文在靜態(tài)數(shù)據(jù)集MNIST、Fashion-MNIST、CIFAR10和神經(jīng)形態(tài)數(shù)據(jù)集N-MNIST和DVS-CIFAR10上進行了實驗。實驗結果表明,本文相對于現(xiàn)有基于脈沖時間的深度脈沖神經(jīng)網(wǎng)絡訓練算法,取得了SOTA(state-of-the-art)精度。與其他同類方法比較,本文方法在時延和精度上也有著較大優(yōu)勢。

1 LIF神經(jīng)元模型

本文采用LIF神經(jīng)元模型(圖1)和指數(shù)衰減突觸模型作為脈沖神經(jīng)元模型[10]。將脈沖的發(fā)放時間作為神經(jīng)元的輸出,神經(jīng)元輸出的脈沖序列Γ可表示為

Γ={tj[1],tj[2],…,tj[n]}(1)

其中:Γ表示神經(jīng)元j的輸出脈沖序列;n表示脈沖個數(shù);tj表示神經(jīng)元的輸出脈沖。脈沖序列Γ是按時間排序的,如tj[1]<tj[2]<…<tj[n]。輸入脈沖通過突觸模型轉換為神經(jīng)元的突觸后電位(postsynaptic potentials,PSP)a[t],然后,LIF神經(jīng)元將其接收到的PSP整合為膜電位u,其動力學可以被描述為

其中:uli[t]表示第l層中i神經(jīng)元的膜電位;τm是膜電位的時間常數(shù);R是有效的泄露電阻;Ili[t]表示輸入電流;Wlij表示第l層中突觸前神經(jīng)元j到突觸后神經(jīng)元i的突觸權重;al-1j[t]表示由突觸前神經(jīng)元j脈沖產(chǎn)生的突觸后電位。LIF的前饋工作過程如圖1所示,輸入電流經(jīng)過膜電位的整合、泄露后,其膜電位uli[t]會跟預設的閾值Vth進行比較,一旦膜電位超過設定的閾值,神經(jīng)元將會發(fā)射一個脈沖并重置膜電位。在實際的前饋計算應用中,一般會把LIF神經(jīng)元的微分模型離散化為如下公式:

其中:R被整合到了突觸權重中。本文使用指數(shù)衰減形式的突觸模型作為脈沖響應核函數(shù),轉換脈沖為(PSP)a[t]。

其中:τs表示突觸時間常數(shù);tli[f]是i神經(jīng)元的輸出脈沖;tli[f]∈Γlij,H(·)是階躍函數(shù),當t<tli[f]時,H(t-tli[f])=0。

2 跨脈沖誤差傳播的深度脈沖神經(jīng)網(wǎng)絡訓練算法

2.1 跨脈沖誤差反向傳播的依賴關系推導

2.1.1 脈沖發(fā)放時間隨突觸后膜電位變化的關系(DSFT)

基于線性假設[10]來處理脈沖不可微的問題,其梯度中的不可導項的計算如式(6)所示。

從式(6)可知,在膜電位變化平緩時,ui[t]-u[t-1]的值趨于0,這容易造成梯度爆炸問題,尤其在深度網(wǎng)絡架構下,這使得其無法直接應用于超過10層的網(wǎng)絡架構。為此,本文依據(jù)膜電位與脈沖發(fā)放時間的動力學模型(式(2)),推導出膜電位在單個脈沖周期內的模型公式(式(7)),如圖2所示,脈沖周期是指首個輸入脈沖到發(fā)放脈沖的整個時間周期。

其中:tf表示脈沖周期內的首個輸入脈沖時間。

為了進一步推導脈沖發(fā)放時間隨突觸后膜電位變化的關系,本文將式(7)中參數(shù)t看成脈沖的發(fā)放時間,從而得出脈沖發(fā)放時間隨突觸后電位變化的關系,如式(8)所示。在后續(xù)2.2.2節(jié),本文討論了與基于線性假設的方法的區(qū)別,解決了其存在的梯度爆炸問題。

2.1.2 相鄰脈沖發(fā)放時刻點間的依賴關系(DBSFT)

為了計算簡便,現(xiàn)有的脈沖網(wǎng)絡誤差反向訓練算法中往往對膜電位進行歸零重置操作,使得誤差信號只能在單個脈沖周期內傳播,并不能跨脈沖進行反向傳播,導致誤差信號被截斷,降低了誤差信號的準確性。實際上,殘余膜電位對于后續(xù)脈沖發(fā)放有著重要的影響[12],在輸入電流恒定的情況下,脈沖發(fā)放時刻的殘余膜電位越大,后續(xù)脈沖越早發(fā)放。因此,本文保留神經(jīng)元的殘余膜電位信息作為脈沖周期的初始膜電位,以此來構建脈沖發(fā)放時刻點間的依賴關系,提升誤差信號的準確性,如圖2深黑色虛線所示,本文增加了發(fā)放脈沖間的誤差信號傳遞路徑。本文采用的減法復位的重置機制如式(9)所示。

uli[t]=uli[t]-Vth if uli[t]≥Vth(9)

其中:tli[f]是神經(jīng)元i在該脈沖周期前最近的一個脈沖發(fā)放時間。由此,增加了殘余膜電位項的膜電位的動力學方程,如式(11)所示。

2.2 誤差的反向傳播

2.2.1 反向傳播

本文采用Van Rossum distance [13]測量實際輸出突觸后電位和渴望輸出突觸后電位。如式(12)所示,損失函數(shù)L被定義為

a)輸出層。如果l層是輸出層,使用式(12)可以得到損失函數(shù)關于ali[t]的偏導數(shù):

其中:T表示仿真時長;n表示神經(jīng)元i的脈沖序列Γ={tli[1],tli[2],…,tli[n]}的脈沖個數(shù);tli[g]是在發(fā)射脈沖tli[f]后的下一個脈沖,即f<g<n。如果神經(jīng)元i沒有生成脈沖時,則令δli=0;對于ali[t]/tli[f]由式(5)可得。

其中:Nl表示l層的神經(jīng)元個數(shù);tlp是受al-1i[t]影響的脈沖周期的發(fā)射脈沖,詳見算法1。最終,可以得到損失L對每一層突觸權重W(l)ij的梯度,如式(16)所示。

2.2.2 不可微分問題

式(15)中,tlp/al-1i[t]就是脈沖神經(jīng)網(wǎng)絡訓練算法中的不可求導項,本文指出基于線性假設的方法中該梯度的計算存在梯度爆炸問題,為此,本文通過DSFT來解決該問題。根據(jù)式(8)計算得

從式(17)可看出,本文方法即使在膜電位變化較為平緩時,也不會出現(xiàn)分母為零的情況,從而避免了梯度爆炸的問題。實驗結果顯示,本文方法能更好地應用到深層網(wǎng)絡中。

2.2.3 跨脈沖誤差傳播

從上述公式可以看出,相鄰輸出脈沖tli[g]與tli[f]之間的誤差梯度不僅與膜電位相關,還與其脈沖時間相關。

2.3 脈沖殘余塊(spiking residual blocks)

在殘差網(wǎng)絡中,脈沖殘余塊是實現(xiàn)恒等映射的重要網(wǎng)絡結構。圖3展示了不同的脈沖殘余塊,其中conv表示卷積層,BN表示塊標準化,SN表示脈沖神經(jīng)元模型(在本文中SN表示LIF神經(jīng)元)。早期SNNs訓練方法[14~16]使用的脈沖殘余塊如圖3(a)所示,層與層之間的信息是經(jīng)過一層SN傳遞的。由于SN是一種非線性模型,這使得早期的脈沖殘余塊無法實現(xiàn)恒等映射,即Ol+1i=SN(Oli)≠Oli。為了實現(xiàn)恒等映射,F(xiàn)ang等人[11]提出了如圖3(b)所示的脈沖殘余塊,其中g表示數(shù)據(jù)的處理函數(shù),本文實驗僅使用ADD函數(shù)。Fang等人[11]通過將層間的SN層移到加法運算之前,使得脈沖信息能直接傳遞整個網(wǎng)絡,實現(xiàn)了恒等映射。但是,從圖3(b)中可以觀察到將SN移到加法運算前將會導致兩條路徑傳遞的都是非負的脈沖序列。以頻率編碼方式為例,隨著使用的脈沖殘余塊的層數(shù)越多,輸出脈沖序列的頻率就越大,越無法表示低頻的信息,這極大地制約了模型的表達能力。同理地,用脈沖時間編碼信息也會存在同樣的問題。為此,本文把文獻[11]提出的脈沖殘余塊調整成如圖3(c)所示結構,將BN以及SN放到殘余路徑的頂部,使得在脈沖殘余塊之間通過加權后的突觸后膜電位Ili傳遞信息,其值有正有負,從而避免了上述問題。對下采樣塊(downsample blocks)進行同樣操作。

3 實驗

本文在幾個常用數(shù)據(jù)集上測試了所提方法的準確性,包括靜態(tài)數(shù)據(jù)集MNIST、Fashion-MNIST、CIFAR10和神經(jīng)形態(tài)數(shù)據(jù)集N-MNIST、DVS-CIFAR10。實驗中的相關超參數(shù)設置:神經(jīng)元的膜電位閾值Vth、膜電位時間常數(shù)τm和突觸時間常數(shù)τs被設置為1,仿真時間T設置為5。為了更好地評估本文方法,與現(xiàn)有基于脈沖時間信息脈沖神經(jīng)網(wǎng)絡誤差反向傳播訓練算法及其他同類訓練算法均做了對比。此外,本文還進行了跨脈沖傳播的消融性實驗以及功耗分析等以證明本文方法和網(wǎng)絡模型的有效性。實驗結果均經(jīng)過三次實驗取平均獲得。硬件平臺為GPU:NVIDIA GeForce RTX 3060。

3.1 實驗結果

3.1.1 與當前先進的基于脈沖時間信息的訓練算法比較

首先將本文方法與當前先進的基于脈沖時間的SNNs訓練方法進行比較。如表1所示,本文給出了MNIST、Fashion-MNIST、CIFAR10、N-MNIST及DVS-CIFAR10數(shù)據(jù)集的實驗結果及其測試集下的混淆矩陣(圖4)。在MNIST、Fashion-MNIST以及N-MNIST簡單數(shù)據(jù)集上,本文方法的測試精度分別為99.61%、93.50%以及99.60%。而在其他較復雜的數(shù)據(jù)集上,本文訓練算法明顯優(yōu)于其他基于脈沖時間的SNNs訓練方法。在CIFAR10數(shù)據(jù)集中,本文方法在使用AlexNet網(wǎng)絡架構時取得了92.20%的測試精度。在相同架構下,較之前基于脈沖時間的訓練方法的SOTA SNNs的準確率提高了2.98%以上。在DVS-CIFAR10數(shù)據(jù)集上,本文使用了VGG11的網(wǎng)絡架構。本文方法取得了78.56%的測試精度。與使用同樣網(wǎng)絡架構的基于時間的SOTA算法[17]相比,精度提高約2.26%。

3.1.2 與其他同類訓練算法比較

此外,本文還與其他同類訓練算法(非脈沖時間)進行了比較,實驗結果如表2所示。從表2可以看出,與這部分算法相比,本文方法在精度上雖然提升不是很高,但在時間步上卻有著較為明顯的提升,這對于減少脈沖神經(jīng)網(wǎng)絡的訓練及推理時延有著極大的影響。從表2可以清晰地看出,本文方法在時間步上最大能減少80倍。

3.2 消融性實驗

在本節(jié)中,對所提出的DSFT和DBSFT在不同數(shù)據(jù)集上進行消融實驗。實驗中除了跨脈沖誤差梯度項,其余超參數(shù)設置均相同(如第3章實驗所介紹參數(shù))。實驗結果如表3 所示。從表3中可以看出,加入跨脈沖誤差傳播(DBSFT)可以有效提高SNNs模型的準確性。特別是在DVS-CIFAR10上,測試精度提高了1.8%。實驗結果表明,DBSFT可以有效提升誤差信號的準確性。

此外,為了測試本文所改進的脈沖殘余塊結構的測試精度。本文給出了CIFAR10數(shù)據(jù)集在不同脈沖殘余塊的測試精度曲線。針對如圖3所示的不同脈沖殘余塊,其測試集精度如表4所示,在其他實驗條件均相同的情況下,本文所提改進脈沖殘余塊相比于其余兩種脈沖殘余塊在CIFAR10數(shù)據(jù)集上的測試精度分別提升了0.74%及0.5%左右PSpUcrJG7N0pX+f4DvnB8A==。

3.3 復雜度分析

本文方法的時間復雜度為O(N×T),其中N為隱藏層神經(jīng)元個數(shù),T為時間步。為了更加直觀地展示本文方法與其他經(jīng)典算法在時間上的差異,將兩個經(jīng)典的脈沖神經(jīng)網(wǎng)絡訓練算法STBP[7]、TSSL-BP[10]與本文方法在CIFAR10數(shù)據(jù)集下(NVIDIA GeForce RTX 3060,塊大小為64)的每一次迭代所消耗的時間(wall-clock time)進行對比,如圖5所示。其中,STBP是基于代理梯度的經(jīng)典訓練算法,而TSSL-BP是基于脈沖時間的經(jīng)典算法。從圖5可以看出,在相同的時間步下,本文方法所消耗的時間會略多于TSSL-BP和STBP算法,這主要是由于本文方法需要依據(jù)DNSFT關系,額外地計算誤差信號跨脈沖傳播的梯度項。但是在精度性能相近時,本文方法消耗的時間僅為STBP算法的22.64%。

3.4 脈沖發(fā)放稀疏性及功耗分析

為了更好地比較各SNNs方法的綜合性能,本文進行了各方法的能耗分析。在ANNs中,每個浮點運算(floating-point operations,F(xiàn)LOPs)都包括一個浮點(floating-point,F(xiàn)P)乘法和一個浮點加法運算(multiplication and addition computation,MAC)。由于脈沖的二進制化,SNNs每個浮點運算操作僅只有一個浮點加法(addition computation,AC),稱之為突觸運算(synaptic operations,SyOPs)。本文根據(jù)文獻[31]通過運算操作次數(shù)和每種運算操作在45 nm技術下的能耗數(shù)據(jù)[32]的方法來評估各訓練方法的能耗性能,即

其中:kw(kh)是卷積核的寬度(高度);cin(cout)是指輸入(輸出)的通道數(shù);Hout(wout)是指輸出特征圖的高度(寬度);Fin(Fout)表示輸入(輸出)特征的數(shù)量;spikerate是指SNNs每層的發(fā)放率,其計算公式為

其中:T表示訓練、推理中總的時間步;Stotal是指該網(wǎng)絡層在T時間內總的脈沖數(shù)量;Ntotal表示該層神經(jīng)元數(shù)量。由上述公式可以知道,越低的脈沖發(fā)放率其能耗越低。實驗數(shù)據(jù)集使用CIFAR10,網(wǎng)絡模型架構采用AlexNet: 96C3-256C3-P2-384C3-P2-384C3-256C3-1024-1024。其中,STBP的時間步為8,另外兩種均為5。如圖6所示,本文給出了不同方法每層脈沖發(fā)放率的柱狀圖,其中,相比于其他兩類訓練方法,本文方法的脈沖發(fā)放率相對較低,這有效地使得網(wǎng)絡模型保持稀疏性。

由此,根據(jù)式(19)(20)進一步分析各SNNs BP訓練方法的能耗性能。如表5所示,本文方法在能耗估計中僅為0.189,低于其他兩類訓練方法,為ANNs的6.7%,STBP方法的42.2%和TSSL-BP的66.1%。

3.5 在實際交通數(shù)據(jù)的應用

相比于傳統(tǒng)的ANNs,SNNs由于獨特的脈沖處理方式,其具有顯著的低功耗性能,這使得其在邊緣設備、機器人及無人機等終端設備有著很好的應用場景。本文對比了聯(lián)邦學習中的SNNs訓練算法文獻[33]在實際交通數(shù)據(jù)(https://www. kaggle.com/vishnu0399/emergency-vehicle-siren-sounds,https:// www.kaggle.com/hj23hw/pedestrian-augmented-traffic-light-dataset)的單機識別精度和功耗性能。該數(shù)據(jù)集一共872張圖片,包括160張自行車、205張汽車以及507張交通燈,其中本文使用80%的數(shù)據(jù)作為訓練集。實驗所用網(wǎng)絡架構均為1728-2500-3的三層簡單網(wǎng)絡架構。在單機設備上,本文方法精度為90.6%,而文獻[33]精度僅為87.4%。本文考慮到在邊緣設備聯(lián)邦學習中,能耗是相對重要的一個評價指標,為此,本文進一步測試了兩種方法的能耗指標,如表6所示,本文方法僅為文獻[33]的22.2%,表明算法在能耗上有著更好的表現(xiàn)。這主要由于本文方法高效地利用了脈沖時間編碼信息,能有效地降低網(wǎng)絡的時間步。本文后續(xù)工作就是將所提方法應用于多邊緣智能終端的聯(lián)邦學習中,探索在聯(lián)邦學習上的性能優(yōu)勢。

4 結束語

本文首先依據(jù)膜電位與脈沖發(fā)放時間的動力學模型,推導脈沖發(fā)放時間隨突觸后電位變化的關系,避免線性假設條件下梯度過大的問題。其次采用減法復位對膜電位進行重置,并基于殘余膜電位項構建相鄰脈沖發(fā)放時刻點間的依賴關系,使得誤差信號能夠跨脈沖傳播,從而提升誤差信號的準確性。此外,針對脈沖殘余塊間信息值不斷累加增長的問題,本文修改了原有的脈沖殘余塊,進一步提高了網(wǎng)絡模型的性能。實驗表明,本文方法相對于現(xiàn)有基于脈沖時間的深度脈沖神經(jīng)網(wǎng)絡訓練算法,取得了SOTA精度。與其他同類方法比較,本文方法在時延和精度上也有著較大優(yōu)勢。

參考文獻:

[1]張馳, 唐鳳珍. 基于自適應編碼的脈沖神經(jīng)網(wǎng)絡[J]. 計算機應用研究, 2022,39(2): 593-597. (Zhang Chi, Tang Fengzhen. Self-adaptive coding for spiking neural network[J]. Application Research of Computers, 2022, 39(2): 593-597.)

[2]王浩杰, 劉闖. 用于雙閾值脈沖神經(jīng)網(wǎng)絡的改進自適應閾值算法[J]. 計算機應用研究, 2024,41(1): 177-182,187. (Wang Haojie, Liu Chuang. Improved adaptive threshold algorithm for double threshold spiking neural network[J]. Application Research of Computers, 2024,41(1): 177-182,187.)

[3]Chen Yunhua, Mai Yingchao, Feng Ren, et al. An adaptive thre-shold mechanism for accurate and efficient deep spiking convolutional neural networks[J]. Neurocomputing, 2022, 469: 189-197.

[4]馮忍, 陳云華, 熊志民, 等. 自校準首脈沖時間編碼神經(jīng)元模型[J]. 計算機科學, 2024, 51(3): 244-250. (Feng Ren, Chen Yunhua, Xiong Zhimin, et al. Self-calibrating first spike temporal encoding neuron model[J]. Computer Science, 2024, 51(3): 244-250.)

[5]Shrestha S B, Orchard G. SLAYER: spike layer error reassignment in time[C]//Proc of the 32nd International Conference on Neural Information Processing Systems. Red Hook, NY: Curran Associates Inc., 2018: 1419-1428.

[6]Wu Yujie, Deng Lei, Li Guoqi, et al. Spatio-temporal backpropagation for training high-performance spiking neural networks[J]. Frontiers in Neuroscience, 2018, 12: article No.331.

[7]Wu Yujie, Deng Lei, Li Guoqi, et al. Direct training for spiking neural networks: faster, larger, better[C]//Proc of the 33rd AAAI Conference on Artificial Intelligence. Palo Alto, CA: AAAI Press, 2019: 1311-1318.

[8]Mostafa H. Supervised learning based on temporal coding in spiking neural networks[J]. IEEE Trans on Neural Networks and Lear-ning Systems, 2017,29(7): 3227-3235.

[9]Kheradpisheh S R, Masquelier T. Temporal backpropagation for spiking neural networks with one spike per neuron[J]. International Journal of Neural Systems, 2020,30(6): 2050027.

[10]Zhang Wenrui, Li Peng. Temporal spike sequence learning via backpropagation for deep spiking neural networks[C]//Proc of the 34th International Conference on Neural Information Processing Systems. Red Hook, NY: Curran Associates Inc., 2020: 12022-12033.

[11]Fang Wei, Yu Zhaofei, Chen Yanqi, et al. Deep residual learning in spiking neural networks[C]//Proc of the 35th Conference on Neural Information Processing Systems. Red Hook, NY: Curran Associates Inc., 2021: 21056-21069.

[12]Han Bing, Srinivasan G, Roy K. RMP-SNN: residual membrane potential neuron for enabling deeper high-accuracy and low-latency spiking neural network[C]//Proc of IEEE/CVF Conference on Compu-ter Vision and Pattern Recognition. Piscataway, NJ: IEEE Press, 2020: 13555-13564.

[13]Van Rossum M C W. A novel spike distance[J]. Neural Computation, 2001,13(4): 751-763.

[14]Hu Yangfan, Tang Huajin, Pan Gang. Spiking deep residual networks[J]. IEEE Trans on Neural Networks and Learning Systems, 2023,34(8): 5200-5205.

[15]Lee C, Sarwar S S, Panda P, et al. Enabling spike-based backpropagation for training deep neural network architectures[J/OL]. Frontiers in Neuroscience,2020,14. (2020-02-28). https://doi.org/10.3389/fnins.2020.00119.

[16]Zheng Hanle, Wu Yujie, Deng Lei, et al. Going deeper with directly trained larger spiking neural networks[C]//Proc of the 35th AAAI Conference on Artificial Intelligence. Palo Alto, CA: AAAI Press, 2021: 11062-11070.

[17]Zhu Yaoyu, Fang Wei, Xie Xiaodong, et al. Exploring loss functions for time-based training strategy in spiking neural networks[C]//Proc of the 37th Conference on Neural Information Processing Systems. Red Hook, NY: Curran Associates Inc., 2023: 65366-65379.

[18]Com瘙塂a I M, Potempa K, Versari L, et al. Temporal coding in spiking neural networks with alpha synaptic function: learning with backpro-pagation[J]. IEEE Trans on Neural Networks and Learning Systems, 2021, 33(10): 5939-5952.

[19]Kheradpisheh S R, Mirsadeghi M, Masquelier T. BS4NN: binarized spiking neural networks with temporal coding and learning[J]. Neural Processing Letters, 2022,54(2): 1255-1273.

[20]Mirsadeghi M, Shalchian M, Kheradpisheh S R, et al. STiDi-BP: spike time displacement based error backpropagation in multilayer spiking neural networks[J]. Neurocomputing, 2021, 427: 131-140.

[21]Zhang Malu, Wang Jiadong, Wu Jibin, et al. Rectified linear postsy-naptic potential function for backpropagation in deep spiking neural networks[J]. IEEE Trans on neural networks and learning systems, 2021, 33(5): 1947-1958.

[22]Zhu Yaoyu, Yu Zhaofei, Fang Wei, et al. Training spiking neural networks with event-driven backpropagation[C]//Proc of the 36th International Conference on Neural Information Processing Systems. Red Hook, NY: Curran Associates Inc., 2022: 30528-30541.

[23]Cheng Xiang, Hao Yunzhe, Xu Jiaming, et al. LISNN: improving spiking neural networks with lateral interactions for robust object recognition[C]//Proc of the 29th International Joint Conference on Artificial Intelligence. 2020: 1519-1525.

[24]Jin Yingyezhe, Zhang Wenrui, Li Peng. Hybrid macro/micro level backpropagation for training deep spiking neural networks[C]//Proc of the 32nd International Conference on Neural Information Processing Systems. Red Hook, NY: Curran Associates Inc., 2018: 7005-7015.

[25]Zhang Wenrui, Li Peng. Spike-train level backpropagation for trai-ning deep recurrent spiking neural networks[C]//Proc of the 33rd International Conference on Neural Information Processing Systems. Red Hook, NY: Curran Associates Inc., 2019: article No. 701.

[26]Zhao Dongcheng, Zeng Yi, Li Yang. BackEISNN: a deep spiking neural network with adaptive self-feedback and balanced excitatory-inhibitory neurons[J]. Neural Networks, 2022, 154: 68-77.

[27]Yang Yukun, Zhang Wenrui, Li Peng. Backpropagated neighborhood aggregation for accurate training of spiking neural networks[C]//Proc of the 38th International Conference on Machine Learning.[S.l.]: PMLR, 2021: 11852-11862.

[28]Wu Hao, Zhang Yueyi, Weng Wenming, et al. Training spiking neural networks with accumulated spiking flow[C]//Proc of the 35th AAAI Conference on Artificial Intelligence. Palo Alto, CA: AAAI Press, 2021: 10320-10328.

[29]Fang Wei, Yu Zhaofei, Chen Yanqi, et al. Incorporating learnable membrane time constant to enhance learning of spiking neural networks[C]//Proc of IEEE/CVF International Conference on Computer Vision. Piscataway, NJ: IEEE Press, 2021: 2641-2651.

[30]Meng Qingyan, Xiao Mingqing, Yan Shen, et al. Training high-performance low-latency spiking neural networks by differentiation on spike representation[C]//Proc of IEEE/CVF Conference on Compu-ter Vision and Pattern Recognition. Piscataway, NJ: IEEE Press, 2022: 12434-12443.

[31]Rathi N, Roy K. DIET-SNN: a low-latency spiking neural network with direct input encoding and leakage and threshold optimization[J]. IEEE Trans on Neural Networks and Learning Systems, 2023, 34(6): 3174-3182.

[32]Horowitz M. 1.1 computing’s energy problem (and what we can do about it)[C]//Proc of IEEE International Solid-State Circuits Conference Digest of Technical Papers. Piscataway, NJ: IEEE Press, 2014: 10-14.

[33]Yang Helin, Lam K Y, Xiao Liang, et al. Lead federated neuromorphic learning for wireless edge artificial intelligence[J]. Nature Communications, 2022, 13(1): article No. 4269.

[34]Gerstner W, Kistler W M. Spiking neuron models: single neurons, populations, plasticity[M]. Cambridge: Cambridge University Press, 2002.