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

?

面向圖像識別的多層脈沖神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法綜述

2023-02-21 03:25:24李雅馨申江榮徐齊
中國圖象圖形學(xué)報 2023年2期
關(guān)鍵詞:脈沖序列權(quán)值梯度

李雅馨,申江榮,徐齊*

1.大連理工大學(xué)人工智能學(xué)院,大連 116024; 2.人工智能與數(shù)字經(jīng)濟廣東省實驗室,廣州 510335;3.浙江大學(xué)計算機科學(xué)與技術(shù)學(xué)院,杭州 310058

0 引 言

第1個脈沖神經(jīng)網(wǎng)絡(luò)(spiking neural network,SNN)由Wolfgang Mass提出,由于其生物學(xué)上的可解釋性,被譽為第3代人工神經(jīng)網(wǎng)絡(luò)。第1代神經(jīng)網(wǎng)絡(luò)是Rosenblatt于1958年提出的感知機模型,該線性模型可以用于解決簡單的邏輯問題,但是難以表達更加復(fù)雜的非線性問題。第2代人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,ANN)則引入非線性的激活函數(shù),例如Rumelhart等人(1986)提出的前饋神經(jīng)網(wǎng)絡(luò)和誤差反向傳播機制可以用于解決復(fù)雜問題。上述人工神經(jīng)網(wǎng)絡(luò)模型缺乏一定的生物可解釋性,例如無法模仿生物神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)機制等,因此提出了更加接近于實際生物神經(jīng)元的第3代人工神經(jīng)網(wǎng)絡(luò)——脈沖神經(jīng)網(wǎng)絡(luò)。SNN是基于脈沖神經(jīng)元構(gòu)建的網(wǎng)絡(luò)模型,通過脈沖序列中的時間和空間信息來傳遞特征信息,模擬了生物神經(jīng)系統(tǒng)中的突觸建立、增強與抑制的工作機制,SNN將生物工作原理和數(shù)學(xué)模型結(jié)合起來,構(gòu)建兼具生物可解釋性和計算高效性的神經(jīng)網(wǎng)絡(luò)模型(胡一凡 等,2021)。

ANN在圖像識別領(lǐng)域已有廣泛應(yīng)用, ANN主要是利用連續(xù)的函數(shù)計算圖像特征(黃鐵軍 等,2022),近年來,出現(xiàn)了很多ANN深度學(xué)習(xí)模型,如ResNet (residual network)、VGG (Visual Geometry Group)等,然而因為脈沖的二值性,SNN在訓(xùn)練上存在不可微等問題,SNN在一些大型復(fù)雜數(shù)據(jù)集上的性能稍遜于ANN模型,但是SNN受實際生物視覺神經(jīng)系統(tǒng)啟發(fā),將圖像像素編碼成脈沖序列,從脈沖序列的時空信息中提取圖像特征,在SNN訓(xùn)練時,脈沖神經(jīng)元模擬生物神經(jīng)元的工作機制通過傳遞脈沖序列來傳遞信息,更具有生物可解釋性的優(yōu)勢,且其因為脈沖的異步性和稀疏性(Li等,2021),具有高效率低耗能的優(yōu)點。脈沖神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法主要是基于生物神經(jīng)網(wǎng)絡(luò)工作機制的原理并結(jié)合ANN中的一些算法思想。根據(jù)訓(xùn)練數(shù)據(jù)的不同以及網(wǎng)絡(luò)結(jié)構(gòu)的不同,這里從監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)的訓(xùn)練方法,以及其在深度脈沖神經(jīng)網(wǎng)絡(luò)中的相關(guān)研究3個方面討論SNN相關(guān)學(xué)習(xí)算法。

1 脈沖神經(jīng)元

1.1 HH模型

HH模型 (Hodgkin Huxley model) 是由Alan Hodgkin和Andrew Huxley于1952年提出的神經(jīng)元模型(Hodgkin和Huxley,1952)。他們通過在烏賊的巨型軸突上進行實驗,認為膜電勢的產(chǎn)生主要與鉀離子(K+)、鈉離子(Na+)的轉(zhuǎn)運過程促使細胞內(nèi)的離子濃度與細胞外液中的離子濃度之間存在差異有關(guān),還與一些其他的離子(如氯離子(Cl-))通過通道形成漏電流有關(guān),因此HH模型試圖刻畫3種離子K+,Na+,Cl-對于膜電位產(chǎn)生的作用。

如圖1所示,HH模型認為細胞膜可以起到存儲電荷的功能,由于細胞膜內(nèi)外的離子濃度差造成了電勢差,而細胞膜上流過的電流主要由電導(dǎo)和離子的電勢決定。C表示電容,EL,EK和ENa表示3種離子的平衡電勢,電阻R,RK和RNa表示細胞膜允許離子通過的能力即電導(dǎo)g,電導(dǎo)與膜電位相關(guān),I是外加電流。

圖1 HH模型 (Hodgkin和Huxley,1952)

上述離子通道有打開和關(guān)閉兩種狀態(tài),用α表示關(guān)閉的通道打開的速率,β表示已經(jīng)打開的通道關(guān)閉的速率,n、m、h分別表示K+、Na+、Cl-離子通道打開的概率,其更新為

(1)

(2)

(3)

式中,Vm表示膜電位,gNa、gK、gL表示3種離子通道的電導(dǎo),則通過細胞膜的離子通道的電流之和可以表示為

(4)

1.2 LIF模型

LIF模型 (leaky integrate-and-fire model) (Gerstner等,2014)相比HH模型更加簡化,同時比傳統(tǒng)ANN的神經(jīng)元模型更接近于實際生物神經(jīng)元的模型,是現(xiàn)有SNN最常用的模型之一。LIF模型將神經(jīng)元的模擬電路簡化為圖2所示。

圖2 LIF模型 (Gerstner等,2014)

LIF模型簡化了各種不同的離子通道,將其作為一個整體,它的基本電路只包括兩個部分:一個電容C和驅(qū)動電流I(t)電阻R,則電流I(t)可以表示為

I(t)=IR+IC

(5)

LIF模型中的leaky表示漏電電流,當(dāng)電位值不超過閾值時會回到靜息電位,integrate表示積分,表示該神經(jīng)元受到的所有突觸前神經(jīng)元的電流刺激,fire表示發(fā)放,當(dāng)電位值超過閾值就會發(fā)放一個脈沖。用Vm表示膜電位,Eleak表示平衡電勢,gleak表示電導(dǎo),當(dāng)LIF神經(jīng)元接收突觸前神經(jīng)元脈沖,膜電位上升超過閾值就會發(fā)放一個脈沖,然后回到重置電位,則會發(fā)放其微分方程,可以表示為

(6)

1.3 SRM模型

SRM模型 (spiking response model) (Gerstner等,2014)是由LIF模型推廣而來,SRM模型沒有固定的發(fā)放閾值,其閾值θ(t)是變化的,在SRM模型中用Vm表示膜電位,Vrest表示靜息電位,用函數(shù)η來描述動作電位和動作電位之后的曲線,輸入電流I(t)用k(s)過濾生成輸入電位h,神經(jīng)元接受突觸前神經(jīng)元的電流刺激,如果達到閾值,就發(fā)放脈沖序列S,如果發(fā)放了脈沖,閾值會增加。如圖3所示。

圖3 SRM模型 (Gerstner等,2014)

SRM模型的膜電位變化可以表示為

(7)

2 脈沖神經(jīng)網(wǎng)絡(luò)拓撲結(jié)構(gòu)

在生物視網(wǎng)膜神經(jīng)環(huán)路中,首先由視錐細胞和視桿細胞接受光刺激,然后由中層細胞將刺激傳導(dǎo)至神經(jīng)節(jié)細胞,神經(jīng)節(jié)細胞的感受野可以感知圖像特征,生物的視覺網(wǎng)絡(luò)中會存在前饋,橫向的連接,通過抑制和興奮來控制細胞。受到生物神經(jīng)網(wǎng)絡(luò)的啟發(fā),提出了類似于神經(jīng)細胞的前饋連接的多層感知機模型,后來又提出全連接、卷積和循環(huán)結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型,在SNN中也會存在這些結(jié)構(gòu),從最初的單層學(xué)習(xí)模型,后來提出適用于SNN的卷積核,并且也有研究循環(huán)結(jié)構(gòu)的SNN。因此,SNN的網(wǎng)絡(luò)拓撲結(jié)構(gòu)分為3種:全連接、卷積和循環(huán)結(jié)構(gòu)。

神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)主要由輸入層、隱藏層以及輸出層組成。其中全連接的網(wǎng)絡(luò)結(jié)構(gòu)每個神經(jīng)元接收上一期所有神經(jīng)元的加權(quán)輸入,將信號進行前向傳播來提取特征;卷積的網(wǎng)絡(luò)結(jié)構(gòu)利用卷積核,類似于生物視覺系統(tǒng)中的感受野結(jié)構(gòu),對輸入特征進行卷積操作來提取特征;循環(huán)的網(wǎng)絡(luò)結(jié)構(gòu)不僅接收前一層神經(jīng)元的輸入,還可以接收自己上一時刻的信息作為特征。

3 脈沖神經(jīng)網(wǎng)絡(luò)的無監(jiān)督學(xué)習(xí)算法

無監(jiān)督學(xué)習(xí)算法受生物神經(jīng)網(wǎng)絡(luò)中突觸建立、增強和抑制的工作機制啟發(fā),在生物神經(jīng)系統(tǒng)中,傳遞的是脈沖序列的時空信息,根據(jù)突觸前后的脈沖刺激來增強或者減弱突觸連接,利用這種生物學(xué)原理可以無監(jiān)督地學(xué)習(xí)SNN的權(quán)值。Hebbian(1949)最早提出了突觸可塑性的Hebb理論,即突觸前神經(jīng)元對突觸后神經(jīng)元重復(fù)持續(xù)的刺激,可以增強它們之間的突觸連接強度。大多數(shù)無監(jiān)督學(xué)習(xí)算法都是基于Hebb學(xué)習(xí)規(guī)則提出的,這種方法更具有生物可解釋性。

STDP(spike-timing-dependent plasticity)規(guī)則是Hebb理論的擴展,Song等人(2000)基于STDP規(guī)則提出了一種脈沖時序依賴的學(xué)習(xí)算法,STDP規(guī)則根據(jù)突觸前神經(jīng)元和突觸后神經(jīng)元動作電位的相對時間來更新突觸權(quán)重。如果突觸前神經(jīng)元發(fā)放脈沖的時刻比突觸后神經(jīng)元早,則稱為長時程增強LTP(long-term potentiation),突觸權(quán)重應(yīng)該變大;如果突觸前神經(jīng)元發(fā)放脈沖的時刻比突觸后神經(jīng)元晚,則稱為長時程抑制LTD(long-term depression),突觸權(quán)重應(yīng)該變小。

還有一些三脈沖的STDP方法,比如Pfister和Gerstner (2006)的triplet-based STDP,Shahim-Aeen和Karimi(2015)的TSTDP。與一般的STDP不同的是,三脈沖STDP包括一個突觸前脈沖和兩個突觸后脈沖。

為了將STDP用于圖片分類任務(wù),Diehl和 Cook (2015)提出了將STDP算法用于手寫數(shù)字識別,并且在MNIST (Modified National Institute of Standard and Technology)上達到了95%的準(zhǔn)確率,該方法基于LIF模型,建立了具有輸入層和處理層的神經(jīng)網(wǎng)絡(luò)。其中處理層的興奮性神經(jīng)元以側(cè)邊抑制的方式一對一連接到抑制性神經(jīng)元,抑制性神經(jīng)元連接到所有的興奮性神經(jīng)元,如圖4所示。該方法利用三脈沖STDP訓(xùn)練,因為三脈沖STDP不使用權(quán)重依賴進行學(xué)習(xí)。

圖4 基于STDP算法網(wǎng)絡(luò)結(jié)構(gòu) (Diehl 和 Cook,2015)

此前研究中的STDP只有單層的,為了讓其有更好的性能,Kheradpisheh等人(2018)提出了一種多層的基于STDP方法的SDNN(spiking deep neural network)網(wǎng)絡(luò),主要用于目標(biāo)識別,利用時間編碼設(shè)計了一種層數(shù)更深的SNN,包括若干個卷積層和池化層,且可以用STDP方法來訓(xùn)練,網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示,在MNIST上的準(zhǔn)確率達到了98.4%。采用的是LIF脈沖神經(jīng)元模型,每個神經(jīng)元接收上一層突觸前神經(jīng)元的脈沖,如果達到膜電位閾值則發(fā)放脈沖,用Wj,i表示第j個突觸前神經(jīng)元與第i個突觸后神經(jīng)元連接的突觸權(quán)值,在每個時間步,脈沖神經(jīng)元的電位可以表示為

圖5 SDNN網(wǎng)絡(luò)結(jié)構(gòu)圖(Kheradpisheh等,2018)

(8)

如果突觸前神經(jīng)元在t-1時間步發(fā)放了脈沖,則Sj(t-1)為1,反之為0。用簡化的STDP算法更新權(quán)重

(9)

式中,tj,ti是突觸前神經(jīng)元j和突觸后神經(jīng)元i脈沖發(fā)放時刻,a+,a-表示兩種情況下的學(xué)習(xí)率。

Mozafari等人(2019)將獎勵機制加入到STDP方法中,提出了R-STDP方法(reward-modulated STDP),該方法在MNIST上的準(zhǔn)確率為97.2%。設(shè)計了一個3層的網(wǎng)絡(luò)結(jié)構(gòu),其結(jié)構(gòu)由Kheradpisheh等人(2018)方法改造而來,首先輸入圖像用差分高斯濾波器在不同尺度卷積,然后經(jīng)過編碼產(chǎn)生脈沖序列傳遞到下一層,經(jīng)過多個卷積層和池化層,限制神經(jīng)元每個時間步長只發(fā)放一個脈沖,最后一層決策神經(jīng)元可以對應(yīng)每個數(shù)字類別,由最早發(fā)放脈沖的神經(jīng)元或者最大電位值來分類,根據(jù)最后一層分類結(jié)果產(chǎn)生獎勵信號調(diào)節(jié)STDP系數(shù)。

在Diehl 和 Cook (2015)工作的基礎(chǔ)上,Saunders等人(2018)提出了C-SNN(convolutional spiking neural networks),圖像的特征可以在神經(jīng)元亞群中共享,或者獨立地演化以獲取不同區(qū)域的不同特征。該模型以一種無監(jiān)督的方式學(xué)習(xí)格點數(shù)據(jù),小塊的神經(jīng)元可以共享參數(shù)也可以獨立學(xué)習(xí)特征。模型采用的是一種改進的LIF神經(jīng)元模型,利用內(nèi)穩(wěn)態(tài)的機制平衡整個網(wǎng)絡(luò),包括興奮性神經(jīng)元和抑制性神經(jīng)元。C-SNN的結(jié)構(gòu)如圖6所示,k是核大小,s是步長,一個卷積塊是一個興奮性神經(jīng)元的亞群和一個等大的抑制性神經(jīng)元的亞群,輸入空間的每個部分,與STDP可修改突觸連接到興奮性亞群的每個單個神經(jīng)元,興奮性神經(jīng)元和抑制性神經(jīng)元亞群一對一連接,如圖6所示,即為提出的卷積SNN模型。其權(quán)值更新用的是online STDP。

圖6 C-SNN的結(jié)構(gòu) (Saunders等,2018)

有研究表明,貝葉斯原理在人類大腦處理信息的過程中會被用到,因此,Guo等人(2019)提出了一種贏家通吃(winner-take-all,WTA)策略的層次網(wǎng)絡(luò),該網(wǎng)絡(luò)基于脈沖的變分期望最大化算法。該算法有兩個步驟,首先是基于脈沖的變分E步,將層次WTA動力學(xué)脈沖響應(yīng)作為平均場方程優(yōu)化先驗概率和平均場分布之間的KL(Kullback-Leibler)散度;然后是基于脈沖的變分M步,用STDP規(guī)則隨機收斂到下界的極大值。并且在MNIST數(shù)據(jù)集上達到95%的準(zhǔn)確率。

Liu等人(2020)提出了一種時間連續(xù)的模型MPN(the McCulloch-Pitts network),用于學(xué)習(xí)脈沖序列,這個模型是基于一個局部的學(xué)習(xí)規(guī)則,定義了更新連續(xù)時間SNN的狀態(tài)和權(quán)值的規(guī)則,并證明了給定的一對突觸前和突觸后神經(jīng)元的權(quán)重變化的曲線與STDP的曲線相似,如圖7所示。該模型更具有生物可解釋性,可以學(xué)習(xí)二進制向量的序列或者脈沖的時空特征,可以穩(wěn)健地學(xué)習(xí)記憶二元向量的多個時空模式,擴展了對稱Hopfield網(wǎng)絡(luò)的記憶靜態(tài)空間模式的能力。

圖7 一對MPN脈沖神經(jīng)元生成的曲線圖(Liu等,2020)

受生物自組織過程的啟發(fā),Lyu等人(2021)提出了一種在訓(xùn)練網(wǎng)絡(luò)的過程中在神經(jīng)元之間建立新連接的方法,利用LIF模型,基于電導(dǎo)的突觸和STDP規(guī)則構(gòu)建了一個4層的前饋網(wǎng)絡(luò),基于突觸前和突觸后神經(jīng)元脈沖時間差,可以在隱藏層中建立新的突觸連接,并利用STDP規(guī)則來更新突觸權(quán)值,在輸出層引入贏家通吃機制。

結(jié)合信息論的思想,Yang等人(2021)提出了一種SPA(stochastic probability adjustment)的無監(jiān)督學(xué)習(xí)方法,SPA將SNN的突觸和神經(jīng)元映射到一個概率空間中,其中一個神經(jīng)元和所有連接的突觸前都由一個簇表示。突觸在不同簇之間的運動建模為一個類似布朗的隨機過程,其中發(fā)射器的分布在不同的放電階段是自適應(yīng)的,通過隨機過程的約束,減少了SNN的整體競爭,提高分類精度。

無監(jiān)督的學(xué)習(xí)算法更加接近于實際生物性原理,利用生物神經(jīng)元和突觸的動力學(xué)原理進行訓(xùn)練,利用局部優(yōu)化的方法更新突觸權(quán)重,是更加類腦的方法,但是這種訓(xùn)練方法也存在一些缺點,無法構(gòu)建深層次的復(fù)雜神經(jīng)網(wǎng)絡(luò),因此借鑒于ANN易于計算的優(yōu)點,出現(xiàn)了一些利用ANN反向傳播的訓(xùn)練和ANN轉(zhuǎn)換SNN等算法,這些方法融入了一些ANN思想,更加容易計算,也更易于訓(xùn)練大規(guī)模復(fù)雜結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)。

4 脈沖神經(jīng)網(wǎng)絡(luò)的監(jiān)督學(xué)習(xí)算法

人在學(xué)習(xí)的過程中也存在反饋機制,這里的監(jiān)督學(xué)習(xí)算法主要是利用輸出值和目標(biāo)值的誤差來調(diào)整網(wǎng)絡(luò)的連接權(quán)值,這種方法結(jié)合了ANN易于訓(xùn)練和SNN生物可解釋性的優(yōu)勢,按照具體的訓(xùn)練方法將SNN的監(jiān)督學(xué)習(xí)算法分為基于梯度下降、基于突觸可塑性、基于ANN2SNN轉(zhuǎn)換以及基于卷積的學(xué)習(xí)方法4種,其中ANN2SNN轉(zhuǎn)換的學(xué)習(xí)算法屬于間接訓(xùn)練方法。近年來,根據(jù)SNN的特性,也涌現(xiàn)出很多SNN的有監(jiān)督學(xué)習(xí)算法,在圖像識別領(lǐng)域得到廣泛應(yīng)用。

4.1 梯度下降的學(xué)習(xí)算法

SNN的基于梯度下降的監(jiān)督學(xué)習(xí)算法的主要思想與ANN的梯度下降優(yōu)化算法類似,利用輸出脈沖序列與目標(biāo)脈沖序列之間的誤差,優(yōu)化更新突觸連接的權(quán)值,該方法的主要困難是離散脈沖不可微的性質(zhì),因此根據(jù)脈沖的特性很多適用于脈沖的誤差反向傳播方法也陸續(xù)提出。脈沖發(fā)放的頻率及時間中存在的信息,利用梯度替代法或者脈沖發(fā)放的相對時間等方法,進行誤差的反向傳播以更新權(quán)值。

Bohte等人(2002)的SpikeProp算法是最早提出的一種經(jīng)典的基于梯度的SNN學(xué)習(xí)算法,其思想與ANN的誤差反向傳播類似。SpikeProp用的是SRM神經(jīng)元模型,該算法限制每個神經(jīng)元只發(fā)放一次脈沖,采用時間編碼的方式,提出了一種多層的前饋SNN的梯度下降學(xué)習(xí)算法。根據(jù)梯度反向傳播原理,假設(shè)了一個閾值函數(shù)xj(t)與脈沖發(fā)放的時刻t在其最小鄰域附近存在一個線性關(guān)系來進行突觸的權(quán)重更新。

Gütig和Sompolinsky (2006)提出的Tempotron算法是一種生物可解釋的有監(jiān)督的突觸學(xué)習(xí)規(guī)則,其認為神經(jīng)元脈沖的信息不只是脈沖發(fā)放頻率,而存在于脈沖序列的時空結(jié)構(gòu)中。Tempotron算法用的是LIF神經(jīng)元模型,脈沖神經(jīng)元接收突觸前神經(jīng)元的所有輸入脈沖的加權(quán)和,如果其突觸后神經(jīng)元的膜電位上升超過閾值,則會發(fā)放脈沖,在二分類任務(wù)中,對于應(yīng)該發(fā)放脈沖的模式而沒有發(fā)放脈沖就會增強突觸連接,對于應(yīng)該不發(fā)放脈沖的模式而發(fā)放了脈沖則會抑制突觸連接,根據(jù)這樣的規(guī)則來更新突觸連接的權(quán)重。

由于Tempotron算法的輸出神經(jīng)元輸出的脈沖時間是任意的,不攜帶信息,F(xiàn)lorian(2012)提出了一種時間編碼的算法chronotrons,包括有更高的存儲性能的E-learning算法和有更高生物可解釋性的I-learning算法,可以在發(fā)放時間上精確到亞毫秒級的脈沖序列,根據(jù)帶有時間信息的脈沖序列來對不同的輸入進行分類。

近年來,也涌現(xiàn)出各種新的誤差反向傳播的學(xué)習(xí)訓(xùn)練方法,利用誤差反向傳播思想,主要是根據(jù)脈沖的頻率信息或者時間信息,得到權(quán)重更新的梯度進行訓(xùn)練。

Tempotron算法是單層的網(wǎng)絡(luò)結(jié)構(gòu),特征提取能力可能不夠強,而ANN中的卷積操作有更強的特征提取能力,Xu等人(2018)提出了一種結(jié)合卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)特征提取能力的SNN模型CSNN(CNN-SNN),可以將CNN的特征學(xué)習(xí)能力和SNN的認知能力結(jié)合起來以更好地提取特征,CNN部分稱為感知器,SNN部分稱為認知器,首先用CNN的卷積操作來提取輸入圖像的特征,然后將特征用時間編碼得到時空脈沖序列,輸入到SNN認知器中,然后利用Tempotron學(xué)習(xí)規(guī)則訓(xùn)練,最后使用贏家通吃的分類策略。這種學(xué)習(xí)方法類似于人腦的神經(jīng)節(jié)細胞和復(fù)雜細胞的特征提取功能,具有更強的特征提取能力。

Shrestha和Orchard(2018)提出了一種基于脈沖時序的誤差反向傳播策略SLAYER(spike layer error reassignment),克服了脈沖函數(shù)不可微的問題,而該方法用的是SRM神經(jīng)元模型,SLAYER將采樣時間Ts離散化,在一個周期中采樣一定的樣本,將脈沖的時序依賴表示到梯度,該方法用脈沖神經(jīng)元狀態(tài)變化的概率密度函數(shù)來表示脈沖函數(shù)的導(dǎo)數(shù),以解決脈沖函數(shù)不可微的問題。由于脈沖神經(jīng)元的狀態(tài)取決于其輸入神經(jīng)元之前的狀態(tài),該方法不僅像傳統(tǒng)方法一樣反向傳播了誤差的信用度,還反向傳播了時序的信用度,并且,用該方法訓(xùn)練了卷積和全連接的結(jié)構(gòu)。

通過近似模擬反向傳播優(yōu)化全精度的梯度實現(xiàn)權(quán)值的算法需要很多浮點操作,而這在神經(jīng)形態(tài)的電路中是不兼容的,因此Thiele等人(2019)提出了一種SpikeGrad反向傳播訓(xùn)練方法。該方法將梯度離散化成脈沖事件進行反向傳播,與前向傳播離散化成脈沖序列一樣,將誤差離散化成脈沖序列從最后一層向前傳播更新權(quán)重,并且證明了此方法可以實現(xiàn)與ANN等效的網(wǎng)絡(luò)結(jié)構(gòu)。

一般SNN的誤差反向傳播可以分成兩種方法,一種是適合于脈沖神經(jīng)網(wǎng)絡(luò)的計算梯度的方法;另一種是根據(jù)脈沖發(fā)放的相對時間來傳播誤差。第1種方法的思想與ANN中的梯度下降優(yōu)化算法相似,很多研究都是基于這種方法,STBP和SLAYER都屬于這種方法。Lee等人(2020)提出了一種近似導(dǎo)數(shù)方法來描述LIF脈沖神經(jīng)元模型的激活函數(shù),類似于ANN中的激活函數(shù)可以使得梯度下降優(yōu)化,整個過程包括前向傳播、反向傳播和權(quán)值更新。前向傳播的最后一層不發(fā)放脈沖,只累積膜電位,再利用鏈?zhǔn)椒▌t分別求得最后一層和隱藏層的梯度,然后更新連接的權(quán)值。

由于其他的BP(back propagation)算法要利用時空信息進行反向傳播,使得計算規(guī)模和模型復(fù)雜度較高,Wu等人(2021)提出了一種基于累積脈沖流的反向傳播算法ASF-BP(accumulated spiking flow), ASF-BP算法的權(quán)重更新不是依賴于輸出脈沖神經(jīng)元的脈沖序列更新的,而是讓輸出神經(jīng)元設(shè)置一個很高的閾值,讓其不發(fā)放脈沖,而在一個時間窗口內(nèi),累積計算輸出層的脈沖流,累積脈沖流是脈沖神經(jīng)元在時間窗口的累積輸入和輸出,損失函數(shù)計算累積脈沖輸出流與實際標(biāo)簽的誤差。ASF-BP算法計算累積脈沖輸出流,顯著降低了計算復(fù)雜度。

在ANN的訓(xùn)練中有利用弱分類器集成一個強分類器的框架,這樣雖然每個分類器表現(xiàn)未必很好,但是集成模型會有較高的準(zhǔn)確率,因此Shen等人(2021)根據(jù)這種思路,提出一個HybirdSNN模型,將多個淺層的SNN集成為一個強分類器,通過數(shù)據(jù)驅(qū)動的貪婪優(yōu)化算法來有效組合淺層的SNN,這樣在能耗和性能上更有優(yōu)勢,提出了3種模型組合的方法:利用Tempotron規(guī)則的T-HybirdSNN、利用Mostafa算法的M-HybirdSNN和利用監(jiān)督BP的C-HybirdSNN。這種框架沒有固定的深度結(jié)構(gòu),更加靈活,可以適應(yīng)更多樣化的任務(wù)。

利用替代梯度方法會存在一定的誤差,Deng等人(2022)分析了利用梯度替代直接訓(xùn)練產(chǎn)生損失的原因,并提出了TET(temporal efficient training)方法來補償梯度下降時使用替代梯度法導(dǎo)致的損失,TET不是直接優(yōu)化積分電位,而是優(yōu)化每個時刻的突觸前輸入,避免了陷入局部最優(yōu),網(wǎng)絡(luò)也更具有魯棒性。

第2種方法利用脈沖發(fā)放的相對時間來計算梯度,脈沖發(fā)放的時間順序中也會隱含很多信息,Comsa等人(2020)提出了一種編碼脈沖的相對時間的學(xué)習(xí)算法,并且使用有突觸傳遞的alpha函數(shù)的SRM模型,輸出層根據(jù)第1個發(fā)放脈沖的神經(jīng)元來分類,其學(xué)習(xí)目標(biāo)是使得脈沖發(fā)放的相對時間順序是正確的。

Comsa等人(2020)的方法是一種延遲學(xué)習(xí)的方法,脈沖發(fā)放時間定義為膜電位的函數(shù),脈沖的延遲或者順序中隱含了信息,Kheradpisheh和Masquelier(2020)提出了一種使用更簡單的脈沖神經(jīng)元LIF模型的方法,該方法使用了一種時間編碼rank-order-coding,所有神經(jīng)元都只發(fā)放一個脈沖,根據(jù)脈沖發(fā)放的順序信息來訓(xùn)練網(wǎng)絡(luò)?;谶@種網(wǎng)絡(luò)提出一種新的學(xué)習(xí)方法S4NN(single-spike supervised spiking neural network),將輸入數(shù)據(jù)轉(zhuǎn)換成脈沖序列,用IF神經(jīng)元來處理輸入脈沖,根據(jù)第1個發(fā)放脈沖的神經(jīng)元判斷類別,然后將誤差方向傳播訓(xùn)練權(quán)重。

Zhang和Li (2021)提出脈沖時間序列的反向傳播學(xué)習(xí)算法TSSL-BP(temporal spike sequence learning backpropagation),通過調(diào)整的LIF神經(jīng)元前向傳播脈沖序列,根據(jù)目標(biāo)序列和輸出序列的誤差,反向傳播更新權(quán)值,這種方法打破了神經(jīng)元之間和神經(jīng)元內(nèi)的依賴,通過突觸前發(fā)放脈沖的特征來捕獲神經(jīng)元內(nèi)依賴性;它考慮每個神經(jīng)元狀態(tài)隨時間的內(nèi)部演化,捕捉同一突觸前神經(jīng)元在不同的脈沖時刻如何影響其突觸后神經(jīng)元。

兩種SNN的誤差反向傳播的方法都存在一定的局限性,Kim等人(2020)提出一種基于激活值和基于時間的脈沖網(wǎng)絡(luò)學(xué)習(xí)算法ANTLR(activation-and timing-based learning rule)將兩種方法結(jié)合起來,可以像基于時間的方法改變脈沖時間且像基于激活值的方法移除脈沖。ANTLR用的是LIF模型,研究了基于激活值的方法和基于時間的方法之間的聯(lián)系,發(fā)現(xiàn)當(dāng)單個脈沖狀態(tài)變化時兩個方法是互補的。ANTLR的主要思想是將基于激活值的梯度和基于時間的梯度相加,得到一個聯(lián)合梯度,并通過對二者設(shè)置系數(shù)來平衡二者的重要程度。

通過類似于ANN梯度下降優(yōu)化的思想來訓(xùn)練SNN,主要是根據(jù)脈沖神經(jīng)元的動力學(xué)特性,得到對于脈沖的梯度,進而更新連接權(quán)值,其中最主要的困難在于脈沖二值性的不可微特性以及神經(jīng)元復(fù)雜的動力學(xué)原理。但是近年出現(xiàn)很多根據(jù)神經(jīng)元動力學(xué)特征求梯度進而更新權(quán)值的方法,這種方法使得SNN不僅具有生物學(xué)特性且易于優(yōu)化計算,可以在大規(guī)模復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)中應(yīng)用。

4.2 ANN2SNN的學(xué)習(xí)算法

ANN2SNN學(xué)習(xí)算法是一種間接的學(xué)習(xí)算法,因為直接訓(xùn)練SNN在梯度傳播上存在困難,因而將梯度傳播的過程轉(zhuǎn)移到ANN上,在ANN的網(wǎng)絡(luò)中訓(xùn)練更新權(quán)值,再將權(quán)值轉(zhuǎn)移到SNN上進行優(yōu)化,這樣避免了直接在SNN上計算梯度,讓SNN可以應(yīng)用于一些大規(guī)模復(fù)雜神經(jīng)網(wǎng)絡(luò)。

考慮到SNN脈沖的二值性難以直接訓(xùn)練,Cao等人(2015)提出了一種將深度人工卷積神經(jīng)網(wǎng)絡(luò)CNN轉(zhuǎn)換為SNN的框架,這樣可以將在ANN中訓(xùn)練好的權(quán)值轉(zhuǎn)移到SNN中以間接地訓(xùn)練SNN,其中提到ANN轉(zhuǎn)換為SNN導(dǎo)致精度損失的3個主要原因:1)負數(shù)輸出值在SNN中很難表示;2)SNN很難表示ANN中的偏置項;3)需要用兩層來表示ANN中的最大池化層而增加了計算復(fù)雜性。

Cao等人(2015)針對這3個問題提出了解決辦法,首先用ReLU激活函數(shù)避免了負值的出現(xiàn);去掉了卷積層和全連接層的偏置項;用空間線性采樣代替最大池化。論文中的方法包括3個卷積操作和線性空間采樣操作,首先將RGB圖像通過編碼生成脈沖,在SNN中用的是LIF神經(jīng)元模型,最后由全連接層輸出計算脈沖的數(shù)量。

用ANN中的神經(jīng)元脈沖發(fā)放頻率來模擬ANN中的激活值是ANN-SNN的主要方法。近年來也有人基于此提出了各種學(xué)習(xí)方法,Rueckauer等人(2017)提出了一種將常見的CNN的操作如最大池化、softmax和批歸一化等轉(zhuǎn)換到SNN中的方法,使得可以將任意網(wǎng)絡(luò)轉(zhuǎn)換成SNN。ANN中常有的偏置項在SNN中通常難以表示,提出用一個恒定的輸入電流來表示偏置項。在ANN中通常有批歸一化層來使得特征輸入保持為正態(tài)分布便于特征提取,Diehl等人(2015)提出了兩種權(quán)重歸一化的方法:model-based normalization和data-based normalizationo。model-based normalization通過計算最大的可能激活值作為縮放因子縮放權(quán)重的值;data-based normalization將激活值和權(quán)重的最大值作為縮放因子,在data-based normalization的基礎(chǔ)上將偏置考慮進去。Cao等人(2015)利用泊松分布來將像素值轉(zhuǎn)換為脈沖,但是這種轉(zhuǎn)化會損失網(wǎng)絡(luò)的精度,因此將輸入的激活值作為恒等的電流,將恒定的電荷值在每個時間步長添加到膜電位,先前的ANN2SNN只是用脈沖的最大輸出個數(shù)來分類,沒有轉(zhuǎn)換softmax層,該文通過計算累積的膜電位來進行分類。在Cao等人(2015)的研究中,是用平均池化代替的最大池化層,而在該文中提出了一個門控單元讓放電最大的神經(jīng)元的脈沖通過來實現(xiàn)最大池化操作。

Sengupta等人(2019)提出了一種spike-norm用于ANN2SNN的批歸一化層方法,與Diehl等人(2015)的歸一化方法不同,每層的權(quán)重歸一化根據(jù)spike的輸入來確定??梢詫⑸窠?jīng)元的閾值設(shè)為1,用縮放因子調(diào)整權(quán)重使得權(quán)重歸一化;也可以將閾值設(shè)為最大激活值而權(quán)重不變達到閾值平衡。不僅實現(xiàn)了VGG結(jié)構(gòu)網(wǎng)絡(luò)的ANN2SNN轉(zhuǎn)換,還擴展到殘差網(wǎng)絡(luò)結(jié)構(gòu)上。

Sengupta等人(2019)的轉(zhuǎn)換方法使用的是硬重置。Han等人(2020)研究發(fā)現(xiàn),從ANN轉(zhuǎn)換到SNN的精度損失大多來自于神經(jīng)元的閾值硬重置,因此提出了基于軟重置的ANN-SNN的方法RMP(residual membrance potential)脈沖神經(jīng)元,保留了脈沖神經(jīng)元在發(fā)放脈沖瞬間的膜電位,RMP-SNN通過將發(fā)放脈沖時的膜電位減去閾值,而不是重置到固定電位,使得在發(fā)放脈沖的瞬間保留了殘余電位,從而減少了ANN-SNN轉(zhuǎn)換過程中的信息損失。

為了更好地讓脈沖發(fā)放速率近似ANN網(wǎng)絡(luò)中的激活值,Ding等人(2021)提出了一種ANN2SNN的優(yōu)化算法,該算法提出一個RNL(rate norm layer)層來代替ANN中的ReLU層,研究發(fā)現(xiàn)使用閾值或者權(quán)重歸一化的方法需要有縮放操作,而比例因子需要人為選擇,該算法的RNL層是一個帶有可訓(xùn)練上限的clip函數(shù),并且該算法還提出了一個擬合曲線來量化ANN的模擬脈沖頻率和SNN實際脈沖頻率,這減少了訓(xùn)練的延遲。

Deng和Gu(2021)提出了一種新的策略管道將閾值平衡和軟重置機制結(jié)合起來的ANN-SNN轉(zhuǎn)換方法,這種管道使得ANN和轉(zhuǎn)換后的SNN之間幾乎沒有精度損失,從理論上分析了轉(zhuǎn)換過程,總體誤差可以轉(zhuǎn)換成各層的誤差,修改了ReLU激活函數(shù)以近似SNN的脈沖發(fā)放頻率,控制每一層的ANN的激活值和目標(biāo)SNN之差,根據(jù)Diehl等人(2015)和Sengupta等人(2019)的閾值平衡機制估計每一層的最優(yōu)位移值并計算總體轉(zhuǎn)換誤差。

為了讓轉(zhuǎn)換后的SNN的參數(shù)更加匹配ANN的激活值,Li等人(2021)提出了一種SNN校準(zhǔn)的方法,分析了從ANN轉(zhuǎn)換到SNN的誤差,并提出了分層修正誤差的算法,認為轉(zhuǎn)換誤差通常來自兩個方面:flooring誤差和clipping誤差,提高閾值會降低clipping誤差提高flooring誤差。為了平衡這兩種誤差,用MMSE(mean squared error)來得到合適的閾值。該方法還校準(zhǔn)了SNN的參數(shù)來減少誤差,包括權(quán)重和偏置項。

ANN-SNN的方法需要較多的時間步長,但是這樣會有較大的時間延遲,Bu等人(2022)提出了一種具有低延遲的高性能算法,時間步長小于32,通過優(yōu)化初始膜電位來減少誤差,發(fā)現(xiàn)將膜電位初始化為閾值的一半時轉(zhuǎn)換誤差的期望可以達到最小值。

利用神經(jīng)元的脈沖頻率編碼來進行ANN-SNN的轉(zhuǎn)換會有較大的時間延遲,訓(xùn)練收斂的時間比較長,Han和Roy(2020)提出了一種基于時間編碼TSC(temporal-switch-coding)的ANN-to-SNN的轉(zhuǎn)換方法,每個輸入圖像的像素用兩個脈沖來表示并且這兩個脈沖之間的時間與像素強度成正比,這種編碼方式比TTFS(time-to-first-spike)能耗更低,每次激活最多只需要發(fā)放兩個脈沖,僅在輸入脈沖時跟蹤突觸,減少了計算成本。

ANN-SNN的學(xué)習(xí)算法讓SNN直接獲得ANN中訓(xùn)練好的權(quán)重,而ANN-SNN的學(xué)習(xí)算法有較大的延遲,基于梯度的算法雖然可以直接訓(xùn)練,但是其訓(xùn)練復(fù)雜度較高,所以Rathi等人(2020)提出了一種混合的訓(xùn)練方法,首先用訓(xùn)練好的ANN的權(quán)重,作為SNN初始權(quán)重,然后利用基于脈沖相對時間的梯度方向傳播再訓(xùn)練SNN,這樣減少了收斂的時間。

ANN-SNN的學(xué)習(xí)算法可以直接把訓(xùn)練好的權(quán)重轉(zhuǎn)移到SNN中,可以構(gòu)建較深層的復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu),讓SNN的訓(xùn)練更加容易,但是這種方法會產(chǎn)生較大延遲,需要較多的時間步長才可以有較好的效果。

4.3 突觸可塑性的學(xué)習(xí)算法

STDP是一種無監(jiān)督的學(xué)習(xí)算法,通過突觸可塑性原理來調(diào)整突觸連接的權(quán)值,而相較于基于梯度的學(xué)習(xí)算法,基于突觸可塑性的無監(jiān)督學(xué)習(xí)算法難以擴展到深層復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)中,因而提出了結(jié)合監(jiān)督學(xué)習(xí)思想的突觸可塑性算法,Ponulak和Kasiński (2010)結(jié)合STDP和anti-STDP算法,提出了一種監(jiān)督學(xué)習(xí)ReSuMe(remote supervised method)學(xué)習(xí)算法,ReSuMe算法根據(jù)突觸前神經(jīng)元和突觸后神經(jīng)元脈沖發(fā)放的時間來進行訓(xùn)練學(xué)習(xí),類似于Widrow-Hoff規(guī)則,ReSuMe算法不是基于傳統(tǒng)的梯度的優(yōu)化算法,它利用突觸可塑性原理最小化目標(biāo)脈沖序列和輸出脈沖序列之間的誤差。對于興奮性突觸,讓對發(fā)放脈沖的神經(jīng)元有貢獻的突觸增強,遵守STDP規(guī)則;對于抑制性突觸,讓阻止神經(jīng)元發(fā)放脈沖的突觸抑制,遵守anti-STDP規(guī)則。

Taherkhani等人(2015)提出了DL-ReSuMe(delay learning remote supervised method)算法,由于突觸的延遲不是固定的,DL-ReSuMe算法同時學(xué)習(xí)突觸的權(quán)重和權(quán)值,更具有生物可解釋性。在DL-ReSuMe的基礎(chǔ)上又提出了Multi-DL-ReSuMe(multiple DL-ReSuMe)算法,可以訓(xùn)練多個脈沖神經(jīng)元的分類任務(wù),每個神經(jīng)元可以識別一個類。

Wade等人(2010)將BCM(Bienenstock-Cooper-Munro)和STDP算法結(jié)合提出了SWAT(a synaptic weight association training algorithm)算法,SWAT產(chǎn)生一個單峰權(quán)重分布,與STDP有關(guān)的可塑性窗口高度被調(diào)制趨于穩(wěn)定。SNN在隱藏層使用一個前饋循環(huán)拓撲結(jié)構(gòu),包括興奮性和抑制性突觸,利用STDP規(guī)則學(xué)習(xí)所有輸出神經(jīng)元的權(quán)重,再將權(quán)重映射到相對應(yīng)的輸出神經(jīng)元。

梯度下降算法具有網(wǎng)絡(luò)優(yōu)化計算上的優(yōu)點,而STDP規(guī)則具有生物可解釋性的優(yōu)點,為了將這兩種優(yōu)點結(jié)合起來,Tavanaei 和 Maida(2019)提出了一種基于時間突觸可塑性的監(jiān)督學(xué)習(xí)算法(BP-STDP),用STDP規(guī)則和anti-STDP規(guī)則的時間局部學(xué)習(xí)方法作為突觸更新的規(guī)則,用教師信號選擇STDP規(guī)則或者anti-STDP規(guī)則,并且可以應(yīng)用到每個時間步。

Tavanaei 和 Maida(2019)的算法只利用了局部更新的規(guī)則,Liu等人(2021)提出了一種結(jié)合BP全局優(yōu)化規(guī)則和時間局部更新機制的SNN學(xué)習(xí)算法,稱為SSTDP(supervised spike timing dependent plasticity),前向傳播時脈沖神經(jīng)元接收到突觸前神經(jīng)元的加權(quán)膜電位,反向傳播時根據(jù)鏈?zhǔn)椒▌t更新權(quán)值,權(quán)值更新信息包括空間信息,即從STDP的局部權(quán)值更新,以及時間信息,即從BP的全局權(quán)值更新。

將突觸可塑性原理和監(jiān)督學(xué)習(xí)思想結(jié)合起來,利用STDP的規(guī)則來更新突觸的權(quán)值,又加入了輸出和目標(biāo)的誤差的優(yōu)化算法。這樣的算法更具有生物可解釋性,且算法的訓(xùn)練更加容易。

4.4 脈沖序列卷積的學(xué)習(xí)算法

基于脈沖序列卷積的學(xué)習(xí)算法是利用卷積的思想,通過引入核函數(shù),對離散的脈沖序列進行卷積,進而對脈沖序列,利用Widrow-Hoff規(guī)則調(diào)整突觸權(quán)重進行訓(xùn)練。

Mohemmed等人(2012)提出了一種SPAN (spike pattern association neuron) 算法,在訓(xùn)練時將脈沖序列轉(zhuǎn)換成模擬信號,可以應(yīng)用普通的數(shù)學(xué)操作,用一個核函數(shù)κ(t)對每個脈沖序列進行卷積,通過這樣的轉(zhuǎn)換可以將Widrow-Hoff規(guī)則用于轉(zhuǎn)換后的脈沖序列以調(diào)整突觸權(quán)重

Yu等人(2013)提出了PSD(precise-spike-driven synaptic plasticity)學(xué)習(xí)算法,根據(jù)Widrow-Hoff規(guī)則,根據(jù)輸出脈沖序列和實際脈沖序列的誤差來更新突觸權(quán)重,正的誤差導(dǎo)致長時程增強,負的誤差導(dǎo)致長時程抑制,PSD算法同時具有符合算數(shù)規(guī)則和生物可解釋性的優(yōu)點。與SAPN不同的是,PSD只對輸入脈沖序列進行卷積,突觸權(quán)重的調(diào)整由輸出和實際脈沖的誤差觸發(fā),只取決于當(dāng)前的狀態(tài)。

5 深度脈沖神經(jīng)網(wǎng)絡(luò)

近年來有相關(guān)研究探索SNN在深度學(xué)習(xí)中的應(yīng)用,提出了很多將SNN用到深度學(xué)習(xí)網(wǎng)絡(luò)架構(gòu)中的方法,將淺層的SNN擴展到更深層的網(wǎng)絡(luò)中,解決退化問題以及梯度問題,表現(xiàn)出較好的性能。

Hu等人(2021a)提出了一種S-Resnet模型(spiking ResNet),這是一種ANN-SNN的算法,該算法的網(wǎng)絡(luò)結(jié)構(gòu)是SNN,深度首次超過40層。S-Resnet用補償機制減小從ANN到SNN轉(zhuǎn)到導(dǎo)致的誤差。用IF脈沖神經(jīng)元替代ReLU激活函數(shù),將訓(xùn)練好的Resnet模型轉(zhuǎn)換到SNN,而由于脈沖的離散二值性質(zhì),轉(zhuǎn)換的時候會產(chǎn)生一個誤差,誤差會隨著層數(shù)的加深而逐漸累積,為了抵消誤差導(dǎo)致的精度下降,提出將權(quán)重乘以一個縮放因子,稍微增大脈沖發(fā)放率抵消誤差。該算法可以用于18,34,50層的殘差網(wǎng)絡(luò)結(jié)構(gòu)中,且在大型數(shù)據(jù)集ImageNet上進行了測試。

St?ckl和Maass(2021)提出了用兩個脈沖實現(xiàn)的高精度分類方法,F(xiàn)S(few spikes)轉(zhuǎn)換是一種ANN轉(zhuǎn)換SNN的方法,可以用于ResNet-50結(jié)構(gòu)中,這個方法不同于頻率編碼的方法,而是利用脈沖時間模式中的信息,該文提出了一種少脈沖的神經(jīng)元模型FS神經(jīng)元模型,其內(nèi)部動力學(xué)可以用少量的脈沖模擬ANN神經(jīng)元。

SNN在反向傳播的時候,脈沖特征不僅體現(xiàn)在空間上,還體現(xiàn)在時間上,而一般的BN(batch normalization)算法不適用于脈沖神經(jīng)元,因此Zheng等人(2021)在STBP方法的基礎(chǔ)上,提出了STBP-tdBN的方法,先前的研究中網(wǎng)絡(luò)結(jié)構(gòu)大多不超過10層,該方法可以避免梯度消失或者梯度爆炸,使得該方法可以應(yīng)用到18、34和50層的殘差網(wǎng)絡(luò)中。tdBN(a threshold-dependent batch normalization)是一種脈沖歸一化的方法,如圖8所示,該方法對脈沖輸入沿著通道這一維度進行歸一化,不僅對空間還對時間上的脈沖進行了歸一化。

圖8 tdBN的歸一化方法示意圖(Zheng等,2021)

(10)

式中,e為閾值。

實驗表明,該方法在深度的SNN上表現(xiàn)較好,且可以用于復(fù)雜數(shù)據(jù)集,如ImageNet。

Hu等人(2021b)在TDBN的基礎(chǔ)上,調(diào)整了殘差塊的基本結(jié)構(gòu),刪除了基礎(chǔ)塊之間的連接處的LIF神經(jīng)元,將LIF神經(jīng)元放在了殘差路徑的最上面,提出了MS-ResNet(the membrance-shortcut ResNet)。這樣的結(jié)構(gòu)使得在恒等路徑中傳遞是膜電位而不是脈沖流,避免了無效的殘差表達式,不會有梯度爆炸或消失的問題,該方法可以用在ResNet-104中。

殘差網(wǎng)絡(luò)的提出解決了ANN深層網(wǎng)絡(luò)訓(xùn)練過程中的梯度消失或爆炸的問題,因而考慮將這種結(jié)構(gòu)應(yīng)用到SNN中,但是以往的spiking ResNet只是簡單地將ReLU替換成脈沖神經(jīng)元,沒有考慮到脈沖神經(jīng)元的特性,因而并不能完全實現(xiàn)殘差網(wǎng)絡(luò)的恒等映射,隨著網(wǎng)絡(luò)層數(shù)的加深仍然會存在退化問題,并且存在梯度消失和梯度爆炸的現(xiàn)象。因此,F(xiàn)ang等人(2022)提出了一種SEW(spike-element-wise) ResNet方法,這是第1次直接訓(xùn)練超過100層網(wǎng)絡(luò)結(jié)構(gòu)的SNN。根據(jù)脈沖神經(jīng)元的特性,改進了SNN學(xué)習(xí)的殘差網(wǎng)絡(luò),將基礎(chǔ)殘差塊之間的激活函數(shù)層去掉,改用逐元素操作函數(shù)g(g=AND/IAND/ADD),實現(xiàn)了脈沖殘差網(wǎng)絡(luò)的恒等映射,解決了梯度爆炸或消失的問題。該方法可以用于34、50、101層的殘差網(wǎng)絡(luò),實現(xiàn)了深度SNN的學(xué)習(xí)。

SNN在深度學(xué)習(xí)中也涌現(xiàn)出許多算法,大多利用反向傳播的思想或者ANN轉(zhuǎn)換SNN的方法,借鑒ANN中的一些深層網(wǎng)絡(luò)結(jié)構(gòu),然后根據(jù)SNN脈沖的時間和空間特性提出適用于SNN的網(wǎng)絡(luò)結(jié)構(gòu),而SNN在深層結(jié)構(gòu)中也表現(xiàn)出不遜于ANN的性能。

6 總結(jié)與展望

圖9總結(jié)了脈沖神經(jīng)網(wǎng)絡(luò)算法從出現(xiàn)到一些經(jīng)典算法研究的進展,從最初的根據(jù)突觸學(xué)習(xí)的生物性原理的單層網(wǎng)絡(luò),到借鑒了誤差反向傳播思想的直接訓(xùn)練和ANN2SNN的轉(zhuǎn)換學(xué)習(xí)算法,近年來更有利用深度學(xué)習(xí)的復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)的脈沖神經(jīng)網(wǎng)絡(luò)。脈沖神經(jīng)網(wǎng)絡(luò)由于其獨特的仿生特性,利用脈沖來傳遞信息,當(dāng)膜電位超過閾值就會發(fā)放一個脈沖,這與生物細胞的動作電位類似,正是因為這種生物特性,其訓(xùn)練過程會有一定困難。目前的訓(xùn)練算法主要分為無監(jiān)督學(xué)習(xí)、監(jiān)督學(xué)習(xí)以及ANN-SNN轉(zhuǎn)換的學(xué)習(xí)算法。其中,無監(jiān)督學(xué)習(xí)主要利用了突觸可塑性原理,這種算法生物可解釋性很強,利用局部規(guī)則調(diào)整權(quán)重參數(shù),但是這種方式無法用于復(fù)雜結(jié)構(gòu)的網(wǎng)絡(luò)模型;監(jiān)督學(xué)習(xí)算法主要借鑒了人工神經(jīng)網(wǎng)絡(luò)的思想,將誤差反向傳播結(jié)合到脈沖神經(jīng)網(wǎng)絡(luò)的訓(xùn)練中,這種方法的主要困難是脈沖的不可微性,但是這種方法不僅具有生物可解釋性的優(yōu)點,也具有人工神經(jīng)網(wǎng)絡(luò)易于計算的優(yōu)點,可以用于復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu);ANN-SNN的轉(zhuǎn)換學(xué)習(xí)算法是將在ANN中訓(xùn)練好的權(quán)值轉(zhuǎn)移到SNN上,這種方法主要利用了ANN訓(xùn)練的優(yōu)勢,可以用于像ANN一樣的復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu),但是要達到相對較高的精度,需要較長的時間步長。脈沖神經(jīng)網(wǎng)絡(luò)作為第3代人工神經(jīng)網(wǎng)絡(luò),未來將是類腦智能的核心,下面是對脈沖神經(jīng)網(wǎng)絡(luò)未來發(fā)展的展望:

圖9 脈沖神經(jīng)網(wǎng)絡(luò)算法進展圖

1)更加仿生的學(xué)習(xí)算法。未來可能會根據(jù)實際生物神經(jīng)網(wǎng)絡(luò)中突觸連接的建立以及突觸的增強和減弱的規(guī)則來構(gòu)建脈沖神經(jīng)網(wǎng)絡(luò),從生物神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)規(guī)則啟發(fā)脈沖神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)規(guī)則,借鑒生物的視覺系統(tǒng)結(jié)構(gòu),構(gòu)建更加仿生的模型。

2)更加復(fù)雜的、大規(guī)模的網(wǎng)絡(luò)結(jié)構(gòu)。未來可能會將脈沖神經(jīng)網(wǎng)絡(luò)應(yīng)用于深度學(xué)習(xí)中,在網(wǎng)絡(luò)結(jié)構(gòu)上有所創(chuàng)新,將人工神經(jīng)網(wǎng)絡(luò)的算法思想與生物仿生模型結(jié)合,發(fā)揮二者的優(yōu)勢,構(gòu)建深層次大規(guī)模的網(wǎng)絡(luò)結(jié)構(gòu)。

3)更加多樣化的應(yīng)用。未來類腦智能將是一個發(fā)展趨勢,而更加仿生、更加高效的學(xué)習(xí)算法成為必需,探索生物腦的結(jié)構(gòu),構(gòu)建更加強大的計算系統(tǒng)。

7 結(jié) 語

本文總結(jié)了脈沖神經(jīng)網(wǎng)絡(luò)中常用的脈沖神經(jīng)元模型,概括了監(jiān)督學(xué)習(xí)以及無監(jiān)督學(xué)習(xí)的相關(guān)研究算法。監(jiān)督學(xué)習(xí)方法主要利用反向傳播的方法,通過輸出層的誤差來更新權(quán)值;無監(jiān)督學(xué)習(xí)方法主要利用突觸的生物性原理,根據(jù)脈沖發(fā)放的時序特性來更新權(quán)值。脈沖神經(jīng)網(wǎng)絡(luò)作為第3代的神經(jīng)網(wǎng)絡(luò),由于其在生物學(xué)上的可解釋性,更加近似于實際生物的神經(jīng)元機制,隨著研究的深入,也對脈沖神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法逐漸改進,其精度和性能也不斷提高,為機器學(xué)習(xí)和深度學(xué)習(xí)提供一種新的范式。未來隨著對人腦工作機制的探索,相信會出現(xiàn)更加仿生的、更加高效的脈沖神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,將結(jié)合數(shù)學(xué)模型計算的優(yōu)勢以及生物神經(jīng)網(wǎng)絡(luò)的工作原理,構(gòu)建更加適合脈沖神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法,以在更多的實際領(lǐng)域得到應(yīng)用。

猜你喜歡
脈沖序列權(quán)值梯度
一種融合時間權(quán)值和用戶行為序列的電影推薦模型
一個改進的WYL型三項共軛梯度法
一種基于TOA的同型雷達同源判別方法
CONTENTS
CONTENTS
一種自適應(yīng)Dai-Liao共軛梯度法
一類扭積形式的梯度近Ricci孤立子
基于權(quán)值動量的RBM加速學(xué)習(xí)算法研究
基于脈沖序列核的脈沖神經(jīng)元監(jiān)督學(xué)習(xí)算法
一D-T2二維核磁共振脈沖序列改進設(shè)計及性能對比
南涧| 林西县| 京山县| 吴忠市| 图木舒克市| 广元市| 扎赉特旗| 石家庄市| 房产| 雷州市| 绥棱县| 靖边县| 文成县| 宁南县| 新源县| 大埔县| 礼泉县| 平泉县| 绥滨县| 红安县| 遂宁市| 南木林县| 涟源市| 同德县| 古田县| 大田县| 沁阳市| 邵阳市| 乐山市| 陇南市| 个旧市| 南宁市| 宜丰县| 沛县| 龙胜| 偃师市| 柞水县| 崇仁县| 玉林市| 宝鸡市| 西和县|