鄭重聲明:原文參見標題,如有侵權,請聯系作者,將會撤銷發布!
IEEE transactions on neural networks and learning systems, 2021
Abstract
脈沖神經網絡(SNN)包含比標准人工神經網絡(ANN)中更多的生物現實結構和生物啟發的學習原理。SNN被認為是第三代ANN,強大的魯棒計算能力和低計算成本。SNN中的神經元是非微分的,包含衰減的歷史狀態並在其狀態達到發放閾值后生成基於事件的脈沖。SNN的這些動態特性使其難以直接使用標准反向傳播(BP)進行訓練,這在生物學上也被認為是不合理的。在本文中,提出了一種生物學上合理的獎勵傳播(BRP)算法,並將其應用於具有脈沖卷積(具有一維和二維卷積核)和全連接層的SNN架構。與標准BP將誤差信號從突觸后逐層傳播到突觸前神經元不同,BRP將目標標簽而不是誤差直接從輸出層傳播到所有預隱藏層。這種努力與新皮層柱中自上而下的獎勵引導學習更加一致。僅具有局部梯度差異的突觸修改是由偽BP誘導的,偽BP也可能被脈沖時序依賴可塑性(STDP)取代。所提出的BRP-SNN的性能在空間(包括MNIST和Cifar-10)和時間(包括TIDigits和DvsGesture)任務上得到了進一步驗證,其中使用BRP的SNN與其他最先進的基於BP的SNN到達了相似的精度,並比ANN節省了50%以上的計算成本。我們認為,將生物學上合理的學習規則引入到生物學真實SNN的訓練過程中,將為我們更好地理解生物系統的智能本質提供更多提示和靈感。
Index Terms—Spiking Neural Network, Biologically-plausible Computing, Reward Propagation, Neuronal Dynamics.
I. INTRODUCTION
深度學習(或深度神經網絡, DNN)的快速發展通過簡單高效的端到端網絡學習打破了許多研究障礙,實現了統一解決方案。DNN在某些特定任務中已經取代了許多傳統的機器學習方法,並且這些任務的數量還在不斷增加[1]。然而,在DNN的快速擴張過程中,許多重要且具有挑戰性的問題也相應暴露出來,例如對抗性網絡攻擊[2][3]、災難性遺忘[4]、數據飢渴[5]、缺乏因果推理[6]和低透明度[7]。一些研究人員試圖通過DNN本身的內部研究來尋找答案,比如構建特定的網絡結構,設計更強大的成本函數,或者構建更精細的可視化工具來打開DNN的黑匣子。這些努力是有效的,並為DNN的進一步發展做出了貢獻[8]。在本文中,我們認為有一些替代和更簡單的方法可以實現這些目標,尤其是在穩健和高效的計算方面,通過轉化為生物神經網絡並從中獲得靈感[9]-[17]。
脈沖神經網絡(SNN)被認為是第三代人工神經網絡(ANN)[18]。SNN中神經元之間傳遞的基本信息單元是離散脈沖,包含膜電位狀態達到發放閾值的精確時間。這種事件類型的信號包含內部神經元動力學和歷史上積累(和衰減)的膜電位。SNN中的脈沖訓練,與ANN中的對應物相比,發放率(這里我們將發放率定義為描述傳播信息的模擬值),為更好地表示處理序列信息開辟了新的時間坐標。除了神經元動力學,生物學特征學習原理是SNN的其他關鍵特征,描述了局部和全局可塑性原理對突觸權重的修改。對於局部原則,它們中的大多數是"無監督的",包括但不限於脈沖時序依賴可塑性(STDP)[19][20]、短期可塑性(STP)[21]、長期 增強(LTP)[22][23]、長期抑制(LTD)[24]和橫向抑制[25][26]。對於全局原則,它們更受"監督",數量比局部原則少,但與網絡功能更相關,例如可塑性傳播[27]、獎勵傳播[28]、反饋對齊[29]和目標傳播[30]。
SNN不同於結構和功能,例如回聲狀態機[31]、液態狀態機[32]、具有生物神經元的前饋架構[12][33],以及一些與任務相關的結構[34]-[36]。SNN的一些調整方法是基於BP的(例如,ReSuMe[37]、SpikeProp[38]和先用BP訓練然后轉換為SNN[39]的ANN)或與BP相關的(通過時間的BP[40][41]、SuperSpike[42]和STDP型BP[43])。仍然有一些努力用生物學上合理的可塑性原則訓練SNN(例如,基於STDP或STP的學習[19][21][44]-[48]、平衡學習[49]-[51]、多規則整合學習[52]-[54]和基於好奇心的學習[55])。
本文更側重於使用生物學上合理的學習原理訓練SNN,而不是直接使用BP對其進行調整,以更接近於首先了解大腦,然后實現人類級別的人工智能。因此,具有脈沖卷積層(包含1D和2D脈沖卷積核)和全連接層(包含神經元動力學)的SNN是用所提出的生物學合理獎勵傳播(BRP)構建和調整的(命名為BRP-SNN)。BRP-SNN專注於描述膜電位的神經元級動態計算和全局突觸的網絡級重連接。與通常更關注局部可塑性原則(例如STDP和STP)或混合局部和全局原則的其他調整方法不同,我們使用全局BRP只是為了簡單和清晰。在全局獎勵傳播之后,只用局部梯度差異進一步誘導突觸改進,也可以用STDP和微分Hebb原理代替。
本文的主要貢獻包括:
- 我們構建了一個包含LIF神經元的多層SNN架構和一個具有高效脈沖卷積和脈沖池化層的網絡。
-
我們提出了一種新的生物學合理獎勵傳播(BRP),用於有效學習SNN。與其他基於BP的調整算法不同,BRP僅使用來自輸出層的標簽而不是逐層誤差反向傳播來全局調整隱藏神經元。這種新方法達到相同性能的計算成本要低得多。此外,獎勵信息比生物系統中其他基於誤差的信號在生物學上更合理。我們認為這是通過使用生物學上合理的可塑性原理調整生物學上真實的SNN來實現生物學上有效學習的另一種努力。
-
我們使用空間(包括MNIST和Cifar-10)和時間(包括TIDigits和DvsGesture)數據集來測試所提出的算法在SNN上的性能。BRP-SNN實現了高性能(在測試集上的准確率,MNIST為99.01%,Cifar-10為57.08%,TIDigits為94.86%,DvsGesture為80.90%),與其他最先進的(SOTA)SNN相比,其使用純生物學上合理的原則進行調整。此外,BRP-SNN還顯示出較低的計算成本(節省超過50%的神經元計算)。
在本文的其余部分安排如下。第二節簡要介紹了生物神經元和網絡中的信息處理。第三節描述了具有脈沖卷積和脈沖池化層的多層SNN,然后通過三種類型的目標傳播方法(包括BRP)進行調整。第IV節介紹了BRP-SNN與使用生物學合理(或基於BP)學習方法調整的其他SOTA算法相比具有可比的收斂性、更低的計算成本和更好(或兼容)的性能。最后,在第五節中給出了一些結論。
II. BACKGROUND OF BIOLOGICALLY-PLAUSIBLE INFORMATION PROCESSING
A. Dynamic spiking neurons
SNN中的動態神經元與DNN中的對應激活函數非常不同。神經元在不同層次的SNN中相互通信,在DNN中具有離散的基於事件的脈沖,但不具有連續的發放率。DNN還包含各種"神經元"(激活函數),如整流線性單元(ReLU)、Sigmoid函數和Tanh函數。然而,它們只描述了神經元輸入和輸出信號之間的空間非線性映射,而不是將它們與神經元動力學暫時聯系起來。
SNN中的基本計算單元是不同類型的動態神經元[33],例如,Hodgkin-Huxley (HH)神經元、Leaky Integrated-and-Fire (LIF)神經元、Izhikevich神經元和脈沖響應神經元(SRM)。LIF神經元描述了膜電位的動力學(如圖1所示)。根據以下公式,典型的LIF神經元在遠程時域中動態更新其膜電位Vi(t):
其中τref是不應期,g是突觸電導率,Vreset是Vi(t)達到發放閾值Vth后的重置值。靜息膜電位Vrest被設置為Vi(t)的吸引子,尤其是在沒有給出刺激輸入時。C是膜電容。dt是Vi(t)更新的最小時間步長(通常設置為0.1-1 ms)。j 是突觸前神經元的神經元指數。i 是當前神經元指數。N是當前層的神經元數量。Wi, j是突觸前神經元 j 和當前神經元 i 之間的突觸權重。tspike是神經元 i 的特定脈沖時間。Xj(t)是來自突觸前神經元 j 的神經元輸入。所有這些神經元動力學都將在時間窗口T內進行。
B. The biological plausibility of the BRP
生物網絡中的計算是異步的,顯然包含不同時間尺度的多個時鍾,從突觸、神經元到網絡[56][57]。生物大腦通過包含空間和時間信號的基於事件的脈沖來處理這種多尺度信息處理挑戰。這些復雜的脈沖動態也使得傳統的基於BP的算法在網絡學習上變得困難。
圖2顯示了卷積層和池化層的脈沖信息處理示例,其中集成了多時鍾脈沖(包括局部時鍾內部神經元和層之間的全局時鍾)用於一般復雜的信息編碼。
生物系統會將基底神經節中的神經元中的多巴胺直接釋放到其他大腦回路(例如,通過丘腦改道)以改變突觸狀態。這個過程激發了我們提出的BRP算法,它是有效的並且不同於ANN中的BP[47]。
III. METHOD
這里我們在標准的LIF神經元中添加了一個Spike標志,以減緩Vi(t)的更新速度,而不是在不應期期間絕對阻塞它,如下所示:
其中Vi(t)是其歷史膜電位Vi(t-k) (k ∈ 1, 2, 3, .. )與衰減gk及其當前輸入刺激Xj(t)的積分。g (即電導率)是Vi(t)的衰減因子,它通常被設計為一個值小於1 nS (納秒)的超參數。如果Vi(t)達到發放閾值Vth,則會產生脈沖,同時,Vi(t)也將重置為預定義的膜電位Vreset。此外,給出了不應期的參數τref,在此期間Vi(t)的更新速度要低得多。Vrest也可以被認為是Vi(t)的一個吸引子,特別是當沒有輸入Xi(t)並且沒有產生Spike時,膜電位Vi(t)將動態衰減為Vrest。用於計算神經元動力學的內部迭代時間窗口T在10到100毫秒的范圍內。
A. Spiking-convolution layer with 1D and 2D kernels
一維和二維卷積已被證明分別在時間和空間信息處理上是有效的。卷積核的可重用性(即突觸權重的共享)也在一定程度上有助於網絡學習對SNN的抗過擬合特性。
如圖2所示,每一層的信號都表示為脈沖序列。為簡單起見,用於膜電位更新的LIF神經元內部的時鍾 t 設計為與用於從前層到后層的信號傳播的外部神經元時鍾 T 相同。這種配置意味着為了便於計算,神經元內外信息傳播的時間范圍都是T。卷積層2D(或1D)脈沖輸入具有高度和寬度維度(或僅具有高度維度的1D輸入,即圖2中的綠色條),然后使用2D(或1D)核進行卷積。核中的這些神經元被設計為包含脈沖的動態神經元,這些脈沖編碼具有學習時間 t (直到T)的基於事件的信號。然后卷積后的脈沖進一步池化以降低維度。
SNN中的卷積處理不同於傳統DNN中的卷積處理。為了更清楚地描述它們的差異,圖3描述並顯示了兩種類型的卷積的示意圖。在SNN中,膜電位的衰減會使LIF神經元更難發放。相反,膜電位的歷史正整合將使LIF神經元產生相對更多的輸出脈沖。LIF神經元中的這兩個動態部分將有助於在微尺度神經元級別對SNN進行時間信息處理。相反,人工神經網絡通過忽略輸入信號的順序差異來產生與輸出相同的發放率。LIF神經元的這種與序列相關的動態將有助於SNN中的時間信息表征和學習。
B. The BRP-SNN architecture
整個BRP-SNN架構如圖4所示,其中輸入脈沖序列是從原始信號輸入生成和編碼的,原始信號輸入可以是一維聽覺信號或二維圖像信號。對於沒有脈沖的一維和二維信號(例如,TIDigits和Cifar-10),原始輸入信號Iraw(t)首先隨機采樣為順序脈沖序列Ispikes(t),然后傳播到以下卷積、池化和全連接層。對於具有自然脈沖的信號,例如3D動態視覺傳感器(DVS)視頻信號(例如DvsGesture),原始信號已經很好地編碼為0或1事件類型符號,可以直接將其視為脈沖。因此不再需要額外的脈沖編碼。脈沖生成器如下圖所示:
其中Ird是具有衰減因子α的0-1隨機變量生成器,並且Ird(α) = Ird * α。T為全局網絡時鍾,與LIF神經元的內部時鍾相同。
脈沖卷積和池化層用於空間特征檢測,前饋全連接層用於下一步分類。在整個時間窗口 T 之后,SNN中不同隱藏層的脈沖訓練可以首先匯總為發放率,然后結合傳播的標簽獎勵信號來修改局部突觸權重。
C. Tuning SNNs with the global BRP
為了SNN的收斂學習,前饋和反饋傳播通常交織在一起。反饋傳播也被描述為網絡結構(例如,突觸權重)的自上而下的細化,直接從誤差到突觸進行修改(例如,修訂或偽BP)[10][58]。然而,這些BP的逐層誤差反向傳播在生物學上被認為是不合理的。
在生物系統中,信號可以在內部神經元內或僅在鄰域層內反向傳播[10][59]-[62]。長程傳播描述了從大腦區域中的神經元直接向用於初級認知功能的目標神經元的高級認知功能的獎勵傳播[10]。直接隨機目標傳播算法[30]的想法符合這些生物學約束。因此,我們選擇它作為BRP-SNN的底層骨骼架構,並通過神經元動力學、脈沖卷積和獎勵傳播進一步完善它。
生物學上合理的獎勵傳播BRP是根據以下條件構建的:
描述一個脈沖序列來表示目標標簽(即T期間的一次性Labelspikes(t))作為直接傳播到所有預隱藏層的獎勵。TP是"Target Propagation"的簡稱,意思是將輸出層的目標目標直接賦予前面的所有層。與TPBRP不同,還構造了另一個候選TPerr,如下所示:
其中TPerr描述了輸出信號和教學信號之差。是教學信號(例如標簽)的平均發放率。y(t)是來自SNN的輸出脈沖序列(Ospikes(t))的平均總和,如下所示:
其中時間窗口 T 中的脈沖僅在 T 結束時被加在一起作為發放率y(t)。TPsign是第三種類型的TP,它描述了正負誤差的符號,如下所示:
其中不需要詳細的誤差信號,只使用誤差的符號進行傳播。這種努力僅將正("+")和負("-")信號傳播到隱藏層。但是,這個符號的計算包含的前提是必須首先計算詳細的誤差,然后將其量化為誤差的符號。因此,它仍然需要y(t)和,與TPerr相同,而不是僅與網絡的函數目標(其中y(t)不是必需的)相關的純獎勵定義,例如TPBRP。這個想法並不新鮮,之前的一些工作已經描述了符號而不是誤差傳播到網絡。NormAD [63]是其中的一個很好的例子,它可以被視為一種有效的符號傳播學習規則,尤其是在淺層SNN中。
不同類型的TP將直接傳播到所有隱藏層,包括脈沖卷積層和全連接層。額外的Brand將在網絡初始化時作為隨機生成的矩陣給出,它將在從輸出層到所有隱藏層的不同維矩陣轉換中發揮作用。請注意,全局傳播只能傳播信號並影響神經元狀態(例如,膜電位)而不是突觸權重。因此,對所學知識的突觸修改將在局部突觸權重鞏固的下一步過程中進一步處理。
D. The local synaptic weight consolidation
BRP將在每個時間 t 直接傳播回SNN的不同隱藏層。這種努力將影響當前的網絡狀態,同時在t+1時刻為SNN提供下一步學習所需的目標狀態。SNN中的突觸權重可以根據局部傳播的神經狀態與當前神經狀態
的差異進行更新。脈沖卷積層中突觸權重的修改
更新如下:
其中是網絡學習前為隱藏層 l 隨機生成的矩陣,不會進一步更新。
是卷積層 l 中從突觸前神經元 j 到突觸后神經元 i 的突觸權重的修改。ηconv是學習率。hconv, l(t)是當前層 l 中的神經元狀態(與膜電位V相同)。同理,全連接層對
的修改更新如下:
其中也是網絡學習前為隱藏層 l 隨機生成的矩陣,在學習過程中不會進一步更新。
是全連接層 l 中從突觸前神經元 j 到突觸后神經元 i 的突觸權重。ηfc是學習率,hfc, l(t)是當前層 l 的膜電位狀態。
E. The pseudo gradient approximation
SNN中的動態LIF神經元是非微分的,難以傳播梯度以進一步計算從全局BRP到局部權重合並的梯度。SNN的傳統局部調整使用STDP或差分Hebb原理進行局部突觸修改[19][46][48]。與此不同,在這里,我們給出了LIF神經元的額外偽梯度近似,以使用Pytorch架構調整SNN [64]。偽梯度將發放神經元的非差分過程(其中膜電位Vi(t)達到發放閾值Vth,然后重置為Vreset)作為特定的偽梯度。偽梯度近似計算如下:
其中ΔVi(t)在傳播過程中被設置為一個有限數(這里為簡單起見為1),以繞過傳統梯度傳播過程中Vi(t)的非微分問題,其中原始ΔVi(t)當Vi(t) = Vth時實際上是無窮大。
F. The algorithm complexity analysis
G. The BRP-SNN learning procedure
H. The analysis of why BRP works
IV. EXPERIMENTS
A. The spatial datasets
B. The temporal datasets
C. The configuration of parameters
D. The convergence learning of BRP-SNNs
E. BRP reached comparable performance with pseudo-BP
F. The comparison of BRP-SNNs with other SOTA algorithms
G. Low computation cost of the BRP-SNN with silent neurons
V. CONCLUSION