關(guān)鍵詞:脈沖神經(jīng)網(wǎng)絡(luò);批歸一化;脈沖時間依賴性;脈沖神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法中圖分類號:TP183 文獻(xiàn)標(biāo)志碼:A 文章編號:1001-3695(2025)08-013-2341-07doi:10.19734/j.issn.1001-3695.2024.12.0529
Data distribution statistics and batch normalization based on membrane potential increments of spiking neurons
LiWeiqi1,ChenYunhual?,ChenPinghua1,Zhu Chunjia2 (1.SchoolofComputerSienceamp;Tchologyuangdong UniersityfTchologyuangzhou5o,hina;2.ChinaSibldingR searchamp;DesignCenter,NeijiangSichuan641199,China)
Abstract:SNN has garnered significant atention due to theirlow power consumptionand high-speedcomputation,stemming fromtheiravoidanceof multiplicationoperations.However,substantial challnges remainin theareas of training algorithms, hyperparameter tuning,andarchitecture designforSNN.Adressng the limitations of existing BNmethods inefectively handling temporal dependencies,thispaperanalyzed thepropagationof membrane potential incrementsacrosstimesteps.The proposed method computed the spatio-temporal accumulationof membrane potential increments step-by-stepas statistical measuresfornormalizingdataateachtimestep.Furthermore,itintroducedanexponentiallweighted moving average tocompute thespatio-temporalaccumulationofmembranepotentialincrements,foringaspatio-temporalatenuationcumulativebatch normalization(STBN)method.Experimentalresultsonthe CIFAR-10,CIFAR-10O,and CIFAR10-DVS datasets demonstrate that the proposed method significantly improves network clasificationaccuracyandreduces latency.Notably,onthe CIFAR100 dataset, the method achieves an accuracy of 76.30% using only two time steps, representing a 3.43% improvement over the previous best algorithm for similar models.
Key words:spiking neural network(SNN);batch normalization(BN);temporal dependencies inspiking;training algo rithmsfor spikingneural network
0 引言
由腦科學(xué)啟發(fā)設(shè)計出的脈沖神經(jīng)網(wǎng)絡(luò)(SNN)[1~3]作為第三代人工神經(jīng)網(wǎng)絡(luò),有著更好的生物解釋性。SNN基于脈沖序列傳遞二進(jìn)制信息,具有強大的時空信息表征、異步事件信息處理能力,能夠高效處理多尺度和多維度的時空信息。與依賴浮點運算的人工神經(jīng)網(wǎng)絡(luò)(artificialneuralnetwork,ANN)相比,SNN利用單比特激活值,避免了高能耗的浮點乘法操作,從而實現(xiàn)了更高的能效;同時SNN具有顯著的事件稀疏特性,具體而言,SNN中的神經(jīng)元僅在接收到足夠的刺激時才會發(fā)放脈沖,這意味著大多數(shù)時間神經(jīng)元處于靜默狀態(tài),帶來了進(jìn)一步的能耗降低。盡管如此,SNN仍然面臨缺乏有效訓(xùn)練算法、需要進(jìn)行參數(shù)優(yōu)化和網(wǎng)絡(luò)架構(gòu)調(diào)整等諸多挑戰(zhàn)。
訓(xùn)練算法研究[4-12]主要解決脈沖發(fā)放函數(shù)不可微導(dǎo)致的梯度下降算法無法直接應(yīng)用的問題;參數(shù)優(yōu)化研究[5-7]則是為了進(jìn)一步提升SNN的精度和延遲等性能。網(wǎng)絡(luò)架構(gòu)調(diào)整方面,由于脈沖事件驅(qū)動的異步信息處理與ANN對連續(xù)值的同步處理方式差異巨大,在借鑒ANN架構(gòu)構(gòu)建SNN時,往往需要對網(wǎng)絡(luò)架構(gòu)作相應(yīng)調(diào)整,典型的調(diào)整包括殘差連接[8.9]池化層[7]和批歸一化[13~16](BN)方法的調(diào)整等。
由于SNN中增加了時間維度,ANN中的BN方法無法有效地處理SNN中的數(shù)據(jù),需要研究適用于SNN的批歸一化。Guo 等人[13]通過在激活函數(shù)之前引入 MPBN(membrane poten-tialbatchnormalization)層以保證SNN數(shù)據(jù)的穩(wěn)定性,Kim等人[14]提出 BNTT(batch normalization through time)對每個時間步進(jìn)行單獨的批歸一化,即在每個時間步使用單獨的均值、方差等統(tǒng)計量、尺度和移位參數(shù)集,該方案忽略了數(shù)據(jù)的時間關(guān)聯(lián)性。Zheng 等人[15]提出了 tdBN(threshold-dependent batch normaliza-tion),不同時間步共享整個時間窗的統(tǒng)計量進(jìn)行規(guī)范化。Duan等人[16]提出了 TEBN(temporal effective batch normalization),與tdBN類似,同樣在不同時間步共享整個時間窗的統(tǒng)計量,但TEBN方法對不同時間步采用不同的權(quán)重進(jìn)行縮放,以捕獲時間動態(tài)。盡管上述兩種方案考慮到了SNN中數(shù)據(jù)的時間關(guān)聯(lián)性,但是兩者均將整個時間窗口內(nèi)的數(shù)據(jù)作為一個整體進(jìn)行BN,依據(jù)LIF神經(jīng)元的動力學(xué)過程,任一時間步 χt 的數(shù)據(jù)分布僅與前t-1個時刻的數(shù)據(jù)相關(guān),而與后續(xù)時間步的數(shù)據(jù)無關(guān),因此,上述方法與LIF神經(jīng)元的動力學(xué)過程不一致,不能準(zhǔn)確地反映不同時間步數(shù)據(jù)分布的變化。為此,本文首先分析膜電位增量在各時間步間的傳遞機(jī)制,探討數(shù)據(jù)分布隨時間步變化的關(guān)系,提出以膜電位增量時空累積量作為數(shù)據(jù)分布統(tǒng)計量,進(jìn)行SNN逐層批歸一化,形成一種帶衰減因子的時空累積批歸一化(spatio-temporalattenuationcumulativebatchnormalization,STBN)方法,如圖1所示。在CIFAR-10和CIFAR-100及CIFAR10-DVS數(shù)據(jù)集上的實驗結(jié)果表明,與其他BN方法相比,本文提出的數(shù)據(jù)分布統(tǒng)計量能顯著提升網(wǎng)絡(luò)分類精度和降低時延,特別是在CIFAR-100數(shù)據(jù)集上僅使用兩個時間步就獲得了 76.30% 的精度,相比同類模型的先前算法精度提升了 3.43% 。此外,還進(jìn)一步驗證了本文BN方法在不同網(wǎng)絡(luò)架構(gòu)的SNN上的有效性。
圖1相同數(shù)據(jù)下STBN與其他BN方法的執(zhí)行過程
1基本概念與歸一化方法
W=W-ηΔW
1.1 LIF神經(jīng)元
1.1.1 前向過程
LIF神經(jīng)元[17]為脈沖神經(jīng)網(wǎng)絡(luò)中常用的神經(jīng)元模型(圖2),其前向迭代過程可由數(shù)學(xué)公式表示為
uit+1,n=τuit,n(1-oit,n)+Iit+1,n
其中: I 代表輸入電流,是突觸權(quán)重 w 與脈沖序列 s 的乘積;Iit+1,n 代表在 t+1 時刻網(wǎng)絡(luò) Ωn 層的第 i 個神經(jīng)元的輸入電流; u 代表神經(jīng)元的膜電位,當(dāng)神經(jīng)元發(fā)放脈沖時,膜電位重置為0,否則,膜電位每經(jīng)過一個時間步則根據(jù)泄露常數(shù) τ(0lt;τlt;1) 進(jìn)行衰減; s 為神經(jīng)元發(fā)放的脈沖 sf(x) 為階躍函數(shù), xgt;0 時為1,xlt;0 時為0,當(dāng)神經(jīng)元膜電位超過閾值 Vth 時,發(fā)放脈沖,否則不發(fā)放脈沖。
1.1.2代理梯度及其計算
由LIF神經(jīng)元前向迭代式可知 I(x) 的導(dǎo)數(shù)除了在閾值 處為無窮大時,在其他任何地方都為0,即脈沖的不可微,因此不可直接使用反向傳播進(jìn)行訓(xùn)練,主流的直接訓(xùn)練算法將SNN視為特殊的RNN,推導(dǎo)出對權(quán)重的梯度為
其中: ?L 為損失函數(shù); Wn 為第 n 層權(quán)重的矩陣,權(quán)重更新過程為其中: η 為學(xué)習(xí)率。由式可以看出 ?st,n/?ut,n 即為 f(uit+1,n-Vth) )的導(dǎo)數(shù),除了在 Vth 為無窮大,在其他地方處處為0,無法依靠反向傳播對梯度進(jìn)行更新。現(xiàn)有主流方法是采用代理梯度方法來克服不可微的問題,本文也采用代理梯度的方法解決不可微問題,對于代理函數(shù)[18],本文選擇三角函數(shù)[4]為
其中: γ 為決定代理梯度形狀的約束因子。
圖2展示了STBN在網(wǎng)絡(luò)中的位置。
圖2STBN在網(wǎng)絡(luò)中的位置Fig.2Position of STBN in the network
1.2 批歸一化
1.2.1 ANN中的批歸一化
批歸一化(BN)[19]在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練中是一種常用的策略,在人工神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,隨著前一層參數(shù)的變化,每一層輸入的分布也會發(fā)生變化,這種現(xiàn)象被稱為ICS,BN被用于在訓(xùn)練期間穩(wěn)定網(wǎng)絡(luò)中每層輸人的分布以減少內(nèi)部偏移量(internalcovariateshift,ICS),從而實現(xiàn)穩(wěn)定的網(wǎng)絡(luò)收斂。這是通過引人額外的BN層實現(xiàn)的,對于給定的輸人 x=(x1,x2 ,x3,…,xm) ,BN層首先調(diào)整數(shù)據(jù)將均值設(shè)置為0,方差設(shè)置為1。
其中:均值 μ 由 計算得出,方差 σ2 由
(xi-μ)2 計算得出,
是調(diào)整過的數(shù)據(jù)。然后,引人可學(xué)習(xí)參數(shù) γ 和 β 對歸一化向量進(jìn)行縮放和位移,以增強模型的表示能力,最終可表示為
1.2.2 SNN中的歸一化及其存在的問題
在ANN中,ICS發(fā)生在數(shù)據(jù)的層間傳播過程中,由于SNN相比ANN具有額外的時間維度,SNN中的數(shù)據(jù)不僅在層間傳播,還在時間上沿時間步傳播,即數(shù)據(jù)的跨時間步更新會引起各時間步輸入分布的變化,這種現(xiàn)象被稱為時間協(xié)變量移位(temporal covariateshift,TCS)[16]。表1展示了現(xiàn)有SNN的BN方法使用的統(tǒng)計量與參數(shù),用于與本文方法STBN進(jìn)行直觀對比。現(xiàn)有BNTT、tdBN、TEBN等BN方法,在整個時間窗上進(jìn)行歸一化,可將其視為在每個時間步單一歸一化后的整合。
表1不同BN方法使用的統(tǒng)計量與參數(shù)
Tab.1Statisticsand parametersused in different BN methods
如表1所示, BNTT[14] 利用每個時間步長的均值、方差、尺度和移位參數(shù)對每個時間步進(jìn)行單獨的歸一化,忽略了輸入脈沖的時間依賴性。與此相比, tdBN[15] 在所有時間步上計算相同的 BN 統(tǒng)計量 (μtotal,σtotal2) 與參數(shù) (γ,β) ,雖然利用了時間信息,但忽略了每個時間步的差異,并且與LIF神經(jīng)元的動力學(xué)過程并不一致。因為BN在任何時刻使用的統(tǒng)計量都是由[1,T] 時間窗的整體數(shù)據(jù)計算而來,意味著在 ttotal,σtotal2) )計算策略,但在每個時間步引入不同的權(quán)重參數(shù) p[t] ,以捕捉各個時間步的不同特征,但這種方法同樣僅僅是將整個時間窗口內(nèi)的數(shù)據(jù)作為一個整體進(jìn)行BN,與LIF神經(jīng)元的動力學(xué)過程并不一致。為此,本文分析膜電位增量在時間步上的傳播,探究數(shù)據(jù)分布變化與時間步之間的關(guān)系,提出按照時間步對膜電位增量進(jìn)行累積來計算數(shù)據(jù)分布的統(tǒng)計量。
2脈沖神經(jīng)元膜電位增量的數(shù)據(jù)分布統(tǒng)計量及批歸一化
2.1時間協(xié)變量移位傳播路徑分析
如圖3所示,膜電位增量經(jīng)過在LIF神經(jīng)元上的傳播,不僅作用在下一個網(wǎng)絡(luò)層,而且作用在下一個時間步上,導(dǎo)致下個時間步的輸入發(fā)生變化,進(jìn)而引起各時間步上數(shù)據(jù)分布的差異。假設(shè)訓(xùn)練SNN的模型時間步為 T ,那么對于時間步 t(tlt; T),t時刻的數(shù)據(jù)不僅受到本身參數(shù)的影響,也受到t-1時刻數(shù)據(jù)的影響,而t-1時刻的數(shù)據(jù)又受到t-2時刻數(shù)據(jù)的影響,以此類推,所以時間步 χt 的數(shù)據(jù)同時受到時間步 (1,2,…,t) 數(shù)據(jù)的影響,即 Ψt 時刻的數(shù)據(jù)與自身和前t-1個時間步的積累量有關(guān),對于時刻 χt ,前t-1個時間步的數(shù)據(jù)都會導(dǎo)致TCS的發(fā)生。因此,現(xiàn)有的tdBN與TEBN在不同時間步共享整個時間窗的統(tǒng)計量解決TCS是不合適的。要解決TCS的問題,在 Φt 時刻,就要綜合考慮前t-1個時間步的數(shù)據(jù)。然而,由于信息在SNN中沿時間步順序傳播,所以 χt 時刻之后的數(shù)據(jù)不會對當(dāng)前時刻產(chǎn)生影響。為此,本文提出時空衰減累積批歸一化算法,通過計算時空累積量逐個時間步對數(shù)據(jù)進(jìn)行歸一化調(diào)整。
圖3SNN中ICS及TCS的傳播路徑 Fig.3Propagation paths of ICS and TCS in SNN
2.2基于膜電位增量時空累積的數(shù)據(jù)分布統(tǒng)計量
在對TCS傳播路徑的分析中,為了解決現(xiàn)有BN方法無法有效處理SNN時間依賴性的問題,本文提出在每個時間步統(tǒng)計之前所有時間步的膜電位增量的累積,并以此作為數(shù)據(jù)分布的統(tǒng)計量。首先,本文采用算術(shù)平均的方法計算膜電位增量的時空累積量。其次,考慮到信息在網(wǎng)絡(luò)中的傳播會削弱其原始特征,信息的保留量應(yīng)與其傳播的長度相關(guān),本文進(jìn)一步提出通過指數(shù)移動平均的方法計算膜電位增量的時空累積量,使得數(shù)據(jù)的影響隨時間步的推移逐漸減小。
2.2.1膜電位增量的算術(shù)平均時空累積
本文首先計算膜電位增量的時空累積量,并以此為基礎(chǔ)計算數(shù)據(jù)的期望與方差,對數(shù)據(jù)進(jìn)行BN調(diào)整。由于時間累積量沿著時間步逐步累積,所以對每個時間步數(shù)據(jù)逐步進(jìn)行歸一化調(diào)整,整合成最終的歸一化結(jié)果,對于時間步 χt ,時間積累量的計算可以表示為
其中: xSTt 表示膜電位增量在時間步 χt 的積累量; xit 表示時間步 χt 的原始數(shù)據(jù); 表示 αa 與 b 算術(shù)平均的結(jié)果; xSTt-1 表示時間步 t-1 的時間積累量,即時間窗 [1,t-1] 對 χt 時刻數(shù)據(jù)的累積影響。通過觀察式(9)可以對其進(jìn)行驗證,由于式(9)是遞歸的,所以每個時刻的時間積累量都依賴上一個時刻,這種依賴可以傳遞,直到第一個時間步:
xSTtxSTt-1xSTt-2
其中: a←b 表示 Φa 依賴 b ;經(jīng)過依賴的傳遞, xSTt 最終依賴時間窗(204號 [1,t-1] 的時間積累量。例如,根據(jù)式(9)可得: xST1=xi1 xST2=
,每一個時間步的時間積累量都是由之前所有時間步信息逐步累積得來。
STBN利用時間累積量對 χt 時刻的數(shù)據(jù)進(jìn)行歸一化,對于算術(shù)平均的方式,均值與方差的計算表示為
(12)其中 :μt、σt2 分別表示 χt 時刻的均值與方差 σ;μxt 表示 χt 時刻原始數(shù)據(jù)的方差。觀察式(11)(12)可以發(fā)現(xiàn), Φt 時刻歸一化的均值與方差計算過程同樣包含了之前所有時間步的信息。
2.2.2膜電位增量的指數(shù)移動平均時空累積
除了上述提到的時空信息累積外,信息在時空上的傳播還具有另一個特征,理論上對時刻 Φt 的數(shù)據(jù)來說,時間步越靠近 χt 的數(shù)據(jù)對其影響更大,反之時間步越遠(yuǎn)離 χt 的數(shù)據(jù)對其影響更小[20,21]。從圖3也可看出,遠(yuǎn)離 χt 時刻的數(shù)據(jù)在網(wǎng)絡(luò)中的傳播路徑更長,經(jīng)過各層的調(diào)整,所保留的原始特征有所削弱;而靠近 Φt 時刻的數(shù)據(jù)在網(wǎng)絡(luò)中的傳播路徑較短,能更好地保留自身的特征。為此,本文進(jìn)一步提出通過指數(shù)移動平均的方法計算膜電位增量的時空積累量,在時空積累量的計算中增加一個衰減因子,使得數(shù)據(jù)的影響隨時間步的推移而減小,如下所示。
xSTt=ηxSTt-1+(1-η)xit0lt;ηlt;0.5
其中: η 為時間積累量的衰減因子。每經(jīng)過一個時間步,時間積累量里存在的之前的時間步信息都會經(jīng)過一次衰減,最終使得越靠近 χt 時刻的數(shù)據(jù)在時間積累量中含有的特征越多,反之亦然。均值跟方差計算過程變?yōu)?/p>
2.3 時空累積批歸一化方法(STBN)
采用2.2節(jié)所述方法計算膜電位增量的時空累積量后,按照如下方法對各個時間步數(shù)據(jù)進(jìn)行歸一化,并為各時間步分配不同的可學(xué)習(xí)權(quán)重 ω[t] ,以區(qū)分各個時間步的特征。STBN方法可以表示為
對于第 ξl 層的 Φt 時刻膜電位增量 xl[t] ,具有STBN層的脈沖神經(jīng)元可表示為
其中: ul[t] 跟 ol-1[t] 分別代表第 l 層神經(jīng)元在時間步長 Φt 時的膜電位與二進(jìn)制輸出; Wl 表示數(shù)據(jù)從l-1層傳入 ξl 層時的突觸權(quán)重; ε 是一個很小的常數(shù),以保證數(shù)值的穩(wěn)定性。為每個時間步分配不同的權(quán)重 ω[t] ,并且
。權(quán)重 ω[t] 以及BN層的參數(shù) γ[t],β[t] 都是可學(xué)習(xí)的,隨著訓(xùn)練的過程不斷調(diào)整。詳細(xì)的方法如算法1所示。
如表1所示,STBN通過時間累積量逐個時間步對數(shù)據(jù)進(jìn)行歸一化,因此在計算過程中無須存儲之前時間步的數(shù)據(jù),僅需存儲包含之前所有時間步信息的時間積累量,可節(jié)省內(nèi)存開銷。
算法1時空累積批歸一化
輸入:整個時間窗的膜電位增量 X={x1,x2,…,xT} ,其中 T 為時間步, ?r 為 T 時刻的膜電位增量。
輸出:歸一化后整個時間窗的數(shù)據(jù)
初始化:時空累積量 xST0=0
for t= 1,2,…,T do計算 χt 時刻的時空累積量 xSTt 11 算術(shù)平均 (204號//指數(shù)平均 :xSTt=ηxSTt-1+(1-η)xt (20號以時間累積量為統(tǒng)計量對 χt 時刻數(shù)據(jù) xT 進(jìn)行BN為BN后的數(shù)據(jù)賦予可學(xué)習(xí)權(quán)重 ω[t] 得到 χt 時刻數(shù)據(jù)進(jìn)行STBN后的結(jié)果
end for
沿時間維度組合所有時間步進(jìn)行STBN的結(jié)果
返回整個時間窗的數(shù)據(jù)
3 實驗驗證與分析
3.1實驗數(shù)據(jù)集與參數(shù)配置
3.1.1靜態(tài)數(shù)據(jù)集CIFAR10與CIFAR100CIFAR10與CIFAR100[22]均為靜態(tài)數(shù)據(jù)集,CIFAR10數(shù)據(jù)集由10個類別總共 ?60000 張 32×32 圖像組成,分為 50000 張訓(xùn)練圖像和10OO0張測試圖像。與CIFAR10類似,CIFAR100數(shù)據(jù)集由100個類別總共60000張 32×32 圖像組成,分為50000張訓(xùn)練圖像和10000張測試圖像。
3.1.2 神經(jīng)形態(tài)數(shù)據(jù)集CIFAR10-DVS
CIFAR10-DVS[23]是用于對象分類的事件流數(shù)據(jù)集。來自CIFAR-10數(shù)據(jù)集的10000張基于幀的圖像被轉(zhuǎn)換為分辨率為128×128 像素的事件傳感器的10000個事件流。該數(shù)據(jù)集具有10個不同類別的中等難度。采用基于幀的圖像重復(fù)閉環(huán)平滑(RCLS)移動來實現(xiàn)轉(zhuǎn)換。由于轉(zhuǎn)換,它們在連續(xù)時間內(nèi)產(chǎn)生豐富的局部強度變化,這些變化由基于事件的相機(jī)的每個像素量化。
3.1.3實驗參數(shù)配置
本文實驗所用GPU為NVIDIAGeForceRTX3060,顯存的大小為6GB。實驗使用Python3.9進(jìn)行編程和測試,CUDA版本為11.7,選用的深度學(xué)習(xí)框架為PyTorch和SpikingJelly,前者的版本為1.12.1,后者的版本為0.0.0.0.14。
對于靜態(tài)數(shù)據(jù)集,本文網(wǎng)絡(luò)結(jié)構(gòu)使用VGG9和ResNet-19。對于神經(jīng)形態(tài)數(shù)據(jù)集CIFAR1O-DVS,由于原數(shù)據(jù)集沒有劃分訓(xùn)練集和測試機(jī),本文依靠SpikingJelly框架將數(shù)據(jù)集分為9000個訓(xùn)練樣本與1000個測試樣本,random_split設(shè)置為1,以確保每次訓(xùn)練所用訓(xùn)練集與測試集相同;網(wǎng)絡(luò)結(jié)構(gòu)采用VGGSNN。對于所有的數(shù)據(jù)集和網(wǎng)絡(luò),優(yōu)化器均選用隨機(jī)梯度下降(stochasticgradientdescent,SGD)優(yōu)化器,批大小設(shè)置為64。其中靜態(tài)數(shù)據(jù)集的優(yōu)化器參數(shù):學(xué)習(xí)率設(shè)置為0.2,權(quán)值衰減設(shè)置為5E-4,動量設(shè)置為0.9。神經(jīng)形態(tài)數(shù)據(jù)集的優(yōu)化器參數(shù):學(xué)習(xí)率設(shè)置為0.001,不設(shè)置權(quán)值衰減,動量設(shè)置為0.9。
3.2 與相關(guān)工作的比較
3.2.1與其他SNN的BN方法的結(jié)果比較
將本文方法與其他先進(jìn)的BN方法在CIFAR數(shù)據(jù)集上的結(jié)果進(jìn)行比較分析,如表2所示。當(dāng)網(wǎng)絡(luò)結(jié)構(gòu)相同時,本文算法的精度總是優(yōu)于其他算法,即使為網(wǎng)絡(luò)設(shè)置更少的時間步。例如:在CIFAR1O數(shù)據(jù)集上,選用VGG9作為網(wǎng)絡(luò)架構(gòu),本文方法在4個時間步上得到了 93.75% 的精度,比同樣為4個時間步的TEBN[1高出0.94百分點,比使用50個時間步的BNTT[14] 高出3.45百分點。對于其他數(shù)據(jù)集與網(wǎng)絡(luò)架構(gòu),從表2也能得到相同的結(jié)論。
表2與其他BN方法比較
Tab.2Comparisonwith otherBN methods
3.2.2與當(dāng)前最先進(jìn)的其他脈沖神經(jīng)網(wǎng)絡(luò)算法的結(jié)果比較除了與同類型的方法比較,本文還在CIFAR1O、CIFAR100和CIFAR1O-DVS三個數(shù)據(jù)集上與當(dāng)前最先進(jìn)的其他脈沖神經(jīng)網(wǎng)絡(luò)方法的結(jié)果進(jìn)行了比較,如表3所示。文獻(xiàn)[25~27]使用轉(zhuǎn)換ANN的方式得到SNN的模型權(quán)重參數(shù),但需要大量時間步;Zhang等人[28]通過捕捉神經(jīng)元間和神經(jīng)元內(nèi)部的依賴性解決脈沖不可微問題,但計算復(fù)雜并且實現(xiàn)困難,因此使用范圍有限;Guo等人[29]提出一種新的損失函數(shù)約束神經(jīng)元膜電位分布,從而使SNN更好地收斂,但忽略了各時間步數(shù)據(jù)的關(guān)聯(lián)性。本文方法不僅精度仍然高于其他所有方法,在使用ResNet-19作為網(wǎng)絡(luò)架構(gòu)的CIFAR100數(shù)據(jù)集上,僅使用兩個時間步就獲得了 76.30% 的精度,相比之前的SOTA算法,TET提高了3.43百分點;并且使用代理梯度使其只需較少的時間步就能獲得較好的性能,沿時間步傳遞信息使其能夠更好地保留數(shù)據(jù)的時間動態(tài)特性,且適用于各種按時間步展開的模型。
3.3 消融實驗
本節(jié)對所提STBN的算術(shù)平均時宜累積及指數(shù)移動平均時空累積在CIFAR1O數(shù)據(jù)集上進(jìn)行消融實驗,網(wǎng)絡(luò)架構(gòu)選用VGG9,在用于比較的基準(zhǔn)模型中,分別使用每個時間步的輸出更新?lián)p失,即文獻(xiàn)[30]中提出的TET方法,然后分別驗證所提兩種方法對性能的影響。如表4所示,加人STBN后,模型的識別準(zhǔn)確率相比基干網(wǎng)絡(luò)提升了0.35百分點,而加人衰減因子后,模型的識別準(zhǔn)確率相比基干網(wǎng)絡(luò)提升了 1.1% 。這說明本文方法各部分都具有有效性。
表4中STBN-A指使用膜電位增量的算術(shù)平均時空累積,STBN-E指使用膜電位增量的指數(shù)移動平均時空累積。
3.4 可視化結(jié)果及分析
為了更好地了解STBN對膜電位增量的調(diào)整,本文對其結(jié)果進(jìn)行了可視化。圖4顯示了用VGG9訓(xùn)練的CIFAR10數(shù)據(jù)集的第二層前三個時間步的膜電位增量分布,其中,圖4(a)代表基準(zhǔn)BN的結(jié)果,可以看出,基準(zhǔn)BN的結(jié)果顯示為不規(guī)則形狀,而不是標(biāo)準(zhǔn)的正態(tài)分布;相比之下,本文方法在不同時間步上的膜電位增量分布更為一致和穩(wěn)定。本文方法與基準(zhǔn)方法均保持了不同時間步的微小差異,但通過按時間步對膜電位增量進(jìn)行逐步累積,本文方法能夠更好地捕捉和反映數(shù)據(jù)分布在各時間步上的特征,從而在不同時間步上的表現(xiàn)更加一致和平滑。
Tab.3Comparisonwith other SOTA methods
表3與其他SOTA方法比較
表4用VGG9對CIFAR1O進(jìn)行消融實驗
Tab.4Conducting ablation experiments on CIFAR1O using VGG9
圖4VGG9中網(wǎng)絡(luò)第二層各時間步膜電位增量分布
Fig.4Distribution of membranepotential incrementat each timestep inthe second layerof theVGG9 netv
3.5內(nèi)存占用及復(fù)雜度分析
其他考慮時空信息的BN算法,由于將整個時間窗口內(nèi)的數(shù)據(jù)作為一個整體進(jìn)行BN,所以每個時間步的計算都需要存儲所有時間步的數(shù)據(jù)。以CIFAR1O數(shù)據(jù)集為例,當(dāng)設(shè)置訓(xùn)練批次為64,且第一個BN層前的卷積核大小為64,對于時間步為 T 的網(wǎng)絡(luò),第一個BN層的輸入形狀為(64,T,64,32,32),數(shù)據(jù)量為 T×16 MB,則其他考慮時空信息的BN算法每個時間步都要占用 T×16 MB的內(nèi)存,總共占用 T×T×16MB 。而本文算法每個時間步僅需存儲時空積累量與當(dāng)前時間步的數(shù)據(jù),第一個時間步由于時空積累量還未開始積累,所以僅占用16MB內(nèi)存,而之后的時間步都僅占用 2×16 MB內(nèi)存,總共占用內(nèi)存如式(20)所示。從圖5可以看出,在任何時間步下,本文方法的內(nèi)存占用率都要小于其他考慮時空信息的BN算法。
Mtotal=16×(1+2(T-1))=(2T-1)×16
本文方法的時間復(fù)雜度與BNTT、TEBN一致,均為 O(N× T ,其中 N 為隱藏層神經(jīng)元的個數(shù), T 為時間步,高于tdBN的時間復(fù)雜度 O(N) 。在相同時間步尤其是較長時間步的情況下,本文方法消耗的時間會高于tdBN,這是由于本文方法為了捕捉數(shù)據(jù)的時間動態(tài)特性,額外計算了數(shù)據(jù)在時間步上的傳遞。但要獲得同樣的精度,本文方法總能以更少的時間步實現(xiàn),例如在CIFAR10數(shù)據(jù)集上本文方法僅用兩個時間步就獲得了 94.70% 的精度,而tdBN在六個時間步上的精度為93.16% ,因此在精度相近的情況下本文方法不會有更多的時間開銷。
圖5內(nèi)存占用比較Fig.5Memory usage comparison
3.6超參數(shù)調(diào)優(yōu)策略分析
為了更好地研究STBN方法在脈沖神經(jīng)網(wǎng)絡(luò)(SNN)中的應(yīng)用效果,本文進(jìn)一步研究了該方法的超參數(shù)調(diào)優(yōu)策略。通過在CIFAR-10數(shù)據(jù)集上訓(xùn)練VGG9網(wǎng)絡(luò),重點評估了不同衰減因子值對模型的影響。實驗選擇了四個不同的衰減因子值[0.15,0.25,0.35,0.5],并測量了在時間步為2和4時各自的精度,如圖6所示。根據(jù)式(13),衰減因子 η 用于控制信息保留的比重,當(dāng) η 為0時,表明某一時刻完全沒有接收來自上一時刻的數(shù)據(jù),此時每個時間步僅使用當(dāng)前時刻數(shù)據(jù)進(jìn)行歸一化,其效果退化為BNTT;當(dāng) η 為0.5時,表明某一時刻完全接收了來自上一時刻的數(shù)據(jù),此時的效果為使用算術(shù)平均的STBN。因此當(dāng) η 越接近0,代表信息在沿時間步傳遞的過程中保留得越少;反之越接近0.5,代表信息在沿時間步傳遞的過程中保留得越多。
圖6不同時間步長與衰減因子對應(yīng)的STBN準(zhǔn)確率 Fig.6STBN accuracy corresponding to different time steps and decay factors
根據(jù)圖6所示,在 T=2 時,由于時間步長較短,沿時間步傳遞的信息量較少,此時信息保留的多少對性能的影響也較小,衰減因子的值對性能的影響較小;但當(dāng)增加時間步,使得信息能夠在更長的時間跨度內(nèi)傳遞時,此時過多地丟棄或者保留上一時刻的信息都會導(dǎo)致性能的下降,而選擇(0,0.5)中部的值作為衰減因子以調(diào)節(jié)數(shù)據(jù)的保留比重,有助于穩(wěn)定模型的性能。
3.7 應(yīng)用場景
相比于傳統(tǒng)的ANN,SNN因其采用離散異步脈沖事件驅(qū)動的信息處理方式而具有顯著的低功耗特性,這使得其在邊緣設(shè)備、機(jī)器人及無人機(jī)等終端設(shè)備中有著很好的應(yīng)用場景。在這些場景中,SNN能夠在資源有限的條件下高效運行,實現(xiàn)復(fù)雜的計算任務(wù)。本文方法通過在時空域進(jìn)行批歸一化處理,顯著提升了SNN的訓(xùn)練效率和穩(wěn)定性。與傳統(tǒng)的批歸一化方法相比,STBN在處理時間序列數(shù)據(jù)方面表現(xiàn)尤為突出,除了SNN,STBN還可以應(yīng)用在其他需要處理時序信息的場景。在計算機(jī)視覺領(lǐng)域,STBN可以集成到卷積神經(jīng)網(wǎng)絡(luò)(CNN)中,幫助網(wǎng)絡(luò)捕捉連續(xù)幀圖像數(shù)據(jù)中的時間維度變化,從而提升圖像分類和目標(biāo)檢測的準(zhǔn)確性。在語音識別任務(wù)中,通過將STBN引入遞歸神經(jīng)網(wǎng)絡(luò)(RNN)或長短時記憶網(wǎng)絡(luò)(LSTM),可以有效處理語音信號中的時序特征,從而提高模型的識別精度和穩(wěn)定性。
4結(jié)束語
本文提出了一種以脈沖神經(jīng)元膜電位增量時空累積量作為數(shù)據(jù)統(tǒng)計量的SNN批歸一化方法,解決現(xiàn)有SNN的BN方法存在的不足。通過分析膜電位增量在時間步之間的傳遞機(jī)制,提出按時間步累積脈沖神經(jīng)元膜電位增量,作為數(shù)據(jù)分布的統(tǒng)計量,并分別通過算術(shù)平均和指數(shù)移動平均計算膜電位增量的時空積累,最終形成了一種新的SNN的BN方法STBN。此方法不僅能保留數(shù)據(jù)的時間動態(tài)特性,而且能更準(zhǔn)確地反映不同時間步數(shù)據(jù)分布的變化,提升模型的穩(wěn)定性和性能。同時,STBN利用時空累積量對各個時間步數(shù)據(jù)進(jìn)行歸一化,并為各時間步分配不同的可學(xué)習(xí)權(quán)重,以區(qū)別各時間步的特征。STBN體現(xiàn)了LIF神經(jīng)元時空動態(tài)的特征,提升了數(shù)據(jù)處理的時效性和準(zhǔn)確性。后續(xù)工作將繼續(xù)探索這一方法在更復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)和任務(wù)中的應(yīng)用潛力。
參考文獻(xiàn):
[1]張鐵林,徐波.脈沖神經(jīng)網(wǎng)絡(luò)研究現(xiàn)狀及展望[J].計算機(jī)學(xué) 報,2021,44(9):1767-1785.(ZhangTielin,XuBo.Research advances and perspectives on spiking neural networks[J].Chinese Journal ofComputers,2021,44(9):1767-1785.)
[2]王浩杰,劉闖.用于雙閾值脈沖神經(jīng)網(wǎng)絡(luò)的改進(jìn)自適應(yīng)閾值算法 [J].計算機(jī)應(yīng)用研究,2024,41(1):177-182,187.(WangHaojie,Liu Chuang.Improved adaptivethreshold algorithmfor double thresholdspiking neural network[J].Application Researchof Computers,2024,41(1):177-182,187.)
[3]Roy K,Jaiswal A,PandaP.Towards spike-based machine intelligence with neuromorphic computing[J].Nature,2O19,575 (7784) : 607-617.
[4]Wu Yujie,Deng Lei,Li Guoqi,et al.Spatio-temporal backpropagationfor traininghigh-performance spikingneural networks[J].FrontiersinNeuroscience,2018,12:331.
[5].Rathi N,RoyK.DIET-SNN:alow-latencyspikingneural network withdirect input encoding and leakage and threshold optimization [J]. IEEE Trans on Neural Networks and Learning Systems, 2023,34(6):3174-3182.
[6]Wang Siqi,TeeHC,Meng-Hiot L.LTMD:learning improvement of spiking neural networkswith learnable thresholding neurons and moderatedropout[C]//Proc of the 36th International Conference on Neural Information Processing Systems. Red Hook,NY:Curran AssociatesInc.,2022:28350-28362.
[7]FangWei,Yu Zhaofei,ChenYanqi,etal.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.
[8]Fang Wei,Yu Zhaofei, Chen Yanqi,et al.Deep residual learning in spiking neural networks [C]// Proc of the 35th International Conference on Neural Information Processing Systems. Red Hook,NY: Curran Associates Inc.,2021:21056-21069.
[9]FengLang,LiuQianhui,TangHuajin,etal.Multi-level firingwith spiking DS-ResNet:enabling better and deper directly-trained spiking neural networks[C]// Proc of the 31st International Joint Conference on Artificial Intelligence.[S.1.]:International Joint Conferences on Artificial Inteligence Organization,2022:2471-2477.
[10]Cao Yongqiang,Chen Yang,Khosla D. Spiking deep convolutional neural networks for energy-efficient object recognition[J]. International Journal of Computer Vision,2015,113(1):54-66.
[11]Sengupta A,Ye Yuting,Wang R,et al.Going deeper in spiking neural networks:VGG and residual architectures[J].Frontiers in Neuroscience,2019,13:95.
[12]Hu Yangfan,Tang Huajin,PanGang.Spiking deep residual networks[J]. IEEE Trans on Neural Networks and Learning Systems,2023,34(8):5200-5205.
[13]Guo Yufei, Zhang Yuhan,Chen Yuanpei,et al. Membrane potential batch normalization for spiking neural networks[C]//Proc of IEEE/ CVF International Conference on Computer Vision.Piscataway,NJ: IEEE Press,2023:19363-19373.
[14]Kim Y,Panda P. Revisiting batch normalization for training lowlatency deep spiking neural networks from scratch[J].Frontiers in Neuroscience,2021,15:773954.
[15] Zheng Hanle,Wu Yujie,Deng Lei,et al.Going deeper with directly-trained larger spikingneural networks[C]//Proc of AAAI Conference on Artificial Intelligence. Palo Alto,CA: AAAI Press, 2021:11062-11070.
[16]Duan Chaoteng,Ding Jianhao,Chen Shiyan,et al.Temporal effectivebatch normalization in spiking neural networks[C]//Proc of the 36th International Conference on Neural Information Processing Systems.Red Hook,NY:Curran Associates Inc.,34377-34390.
[17]GerstnerW,KistlerWM,NaudR,etal.Neuronal dynamics:from single neurons to networks and models of cognition[M]. Cambridge: Cambridge University Press,2014.
[18]Neftci E O,MostafaH,Zenke F. Surrogate gradient learning in spikingneural networks:bringing the power ofgradient-based optimization to spiking neural networks[J]. IEEE Signal Processing Magazine,2019,36(6):51-63.
[19]Ioffe S,Szegedy C. Batch normalization:accelerating deep network training byreducing internal covariateshift[C]//Proc of the 32nd International Conference on International Conferenceon Machine Learning. [S.1.]: JMLR.org,2015: 448-456.
[20」Atluri G,Karpatne A,Kumar V. Spatio-temporal data mining[J」. ACM Computing Surveys,2019,51(4):1-41.
[21]Shumway RH,Stoffer D S.Time series analysis and its applications [M].New York:Springer,2000.
[22]KrizhevskyA,Hinton G.Learning multiple layers of features from tiny images[EB/OL]. (2009-01-01). https://learning2hash. github. io/publications/cifar20o9learning/.
[23]Li Hongmin,Liu Hanchao,Ji Xiangyang,et al.CIFAR1O-DVS:an event-stream dataset for object classification[J].Frontiers in Neuroscience,2017,11:309.
[24]Wu Yujie,Deng Lei,Li Guoqi,et al.Direct training for spiking neural networks:faster,larger,better[EB/OL].(2018-09-16). https://arxiv.org/abs/1809.05793.
[25]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 Computer Vision and Pattern Recognition. Piscataway,NJ: IEEE Press, 2020:13555-13564.
[26]Deng Shikuang,Gu Shi. Optimal conversion of conventional artificial neural networks to spiking neural networks[EB/OL].(2021-02- 28).https://arxiv.org/abs/2103.00476.
[27]Bu Tong,F(xiàn)ang Wei,Ding Jianhao,et al. Optimal ANN-SNN conversion for high-accuracy and ultra-low-latency spiking neural networks [J].(2023-03-08). htps://arxiv.org/abs/2303.04347.
[28]Zhang Wenrui,Li Peng. Temporal spike sequence learning via backpropagation for deep spiking neural networks[EB/OL]. (2O20-02- 24).https://arxiv.org/abs/2002.10085.
[29]Guo Yufei,Tong Xinyi,Chen Yuanpei,et al.RecDis-SNN:rectifying membrane potential distribution for directly training spiking neural networks[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2022: 326-335.
[30]Deng Shikuang,Li Yuhang,Zhang Shanghang,et al.Temporal eficient training of spiking neural network via gradient re-weighting[EB/ OL].(2022-02-24). htps://arxiv.org/abs/2202.11946.
[31]Li Yuhang,Guo Yufei,Zhang Shanghang,etal.Diferentiable spike:rethinking gradient-descent for training spiking neural networks [C]//Proc of the 35th International Conference on Neural Information Processing Systems.Red Hook,NY:Curran Associates Inc., 2021:23426-23439.
[32]肖進(jìn)勝,王澍瑞,吳原瑣,等.時空關(guān)鍵區(qū)域增強的小樣本異常 行為識別[J].計算機(jī)學(xué)報,2025,48(1):68-81.(Xiao Jinsheng,Wang Shurui,Wu Yuanxu,etal.Anomalousactionrecognitionwith spatio-temporal keyregion enhancement and few-shot learning[J].Chinese Journal of Computers,2025,48(1):68- 81.)
收稿日期:2024-12-17;修回日期:2025-03-08 基金項目:廣東省自然科學(xué)基金資助項目(2025A1515012243);廣東省重點領(lǐng)域研發(fā)計劃資助項目(2023B1111050010)
作者簡介:李煒奇(2000—),男,湖南常德人,碩士,主要研究方向為神經(jīng)形態(tài)類腦計算;陳云華(1977—),女(通信作者),副教授,碩導(dǎo),博士,主要研究方向為深度學(xué)習(xí)、神經(jīng)形態(tài)類腦計算、計算機(jī)視覺(yhchen@ gdut.edu.cn);陳平華(1967—),男,教授,碩導(dǎo),碩士,主要研究方向為數(shù)據(jù)挖掘、深度學(xué)習(xí)、計算機(jī)視覺;朱春佳(1991—),男,湖北鄂州人,高級工程師,碩士,主要研究方向為智能無人系統(tǒng).