張永強, 倪珊珊, 宋美霖, 滿夢華
(1.陸軍工程大學石家莊校區(qū), 河北 石家莊 050003;2.河北科技大學信息科學與工程學院, 河北 石家莊 050018)
受神經(jīng)生物學基礎(chǔ)短脈沖的啟發(fā),研究者通過改變深度神經(jīng)網(wǎng)絡(luò)的神經(jīng)元,仿照大腦工作機制研究提出脈沖神經(jīng)網(wǎng)絡(luò)(Spiking Neural Network, SNN)[1-2]。SNN的拓撲結(jié)構(gòu)有前饋型脈沖神經(jīng)網(wǎng)絡(luò)、遞歸型脈沖神經(jīng)網(wǎng)絡(luò)和混合型脈沖神經(jīng)網(wǎng)絡(luò)。2002年,MAASS等[3]和NATSCHLGER等[4]首次提出液體狀態(tài)機,該方法是混合型脈沖神經(jīng)網(wǎng)絡(luò)的一種,它不需要將信息存儲在計算系統(tǒng)的某些穩(wěn)定狀態(tài)中,訓練速度較快。2004年,WOJCIK等[5]首次使用LSM模擬類生物視覺系統(tǒng),驗證了其分類有效性。后續(xù)研究逐漸拓展到生物[6]、圖像預(yù)測[7]、模式分類[8]等領(lǐng)域。
目前,液體狀態(tài)機的硬件實現(xiàn)方式有超大規(guī)模集成電路、現(xiàn)場可編程邏輯門陣列和憶阻器。液體狀態(tài)機軟件模型的優(yōu)化工作主要包括算法優(yōu)化、突觸可塑性改進以及儲備池層的增加。在對液體狀態(tài)機的基本結(jié)構(gòu)進行詳細介紹的前提下,本文對硬件實現(xiàn)和軟件模型兩個優(yōu)化方向的研究進展進行了總結(jié),列舉了一些LSM編程平臺,可供學者參考。
液體狀態(tài)機是一種脈沖神經(jīng)網(wǎng)絡(luò),也是一種遞歸神經(jīng)網(wǎng)絡(luò)。液體狀態(tài)機主要分為三個部分,即輸入層、儲備池層和輸出層。從輸入層到儲備池層的連接是隨機確定的,一個輸入神經(jīng)元可與儲備池層神經(jīng)元進行任意連接。液體狀態(tài)機的基本模型結(jié)構(gòu)如圖1所示。
圖1 液體狀態(tài)機的基本模型結(jié)構(gòu)圖Fig.1 Structure diagram of LSM
LSM模型結(jié)構(gòu)的第一部分是輸入神經(jīng)元,主要是通過外部刺激,引入輸入序列u(t)。
第二部分是儲備池層,主要進行神經(jīng)計算,即將引入的信號進行特定的數(shù)學運算。在數(shù)學表達中,液體狀態(tài)可稱為液體濾波器LM,M表示濾波器。儲備池層所有神經(jīng)元的放電輸出向量xM(t),使用數(shù)學計算將輸入序列映射到高維中間狀態(tài),即
xM(t)=(LMu)(t)
(1)
因為儲備池層是遞歸連接的網(wǎng)絡(luò),儲備池層接收一個連續(xù)的輸入序列u(s),在之后的時間s 第三部分是輸出層,儲備池層具有一定的記憶功能,輸出層則不需要處理t時間之前的信息,通過學習算法fM連接中間內(nèi)部狀態(tài)與目標輸出y(t),即 y(t)=fM(xM(t)) (2) 為了獲得與輸入相對應(yīng)的輸出,必須對液體狀態(tài)機進行訓練。在訓練階段,液體神經(jīng)元之間的連接權(quán)重不發(fā)生變化,只調(diào)節(jié)從液體神經(jīng)元到輸出單元的連接權(quán)重。訓練或調(diào)整一個輸出映射函數(shù)fM,使得液態(tài)xM(t)映射到所需的輸出y(t),同時保持液體濾波器LM不變。在這個過程中,網(wǎng)絡(luò)層權(quán)值通常隨機選取,之后保持不變,大大降低了訓練的復雜度。從液體神經(jīng)元到輸出單元的訓練方法只需選擇簡單的分類器,如線性回歸等。因此,液體狀態(tài)機對不同的任務(wù)具有普適性。 (3) 其中,‖·‖表示歐幾里得范數(shù)。 接近屬性是表征輸出神經(jīng)元能夠區(qū)分中間狀態(tài)對自己的影響,將需要的狀態(tài)轉(zhuǎn)化為特定的輸出能力。分離屬性依賴儲備池層的復雜程度,接近屬性主要依賴輸出層對于目標任務(wù)的適應(yīng)能力。 目前,神經(jīng)網(wǎng)絡(luò)連接方式大部分為線性的全連接,輸出也為連續(xù)的值。根據(jù)歸納算法的基本結(jié)構(gòu)和特征可以發(fā)現(xiàn),LSM使用具有固定權(quán)重的互聯(lián)神經(jīng)元庫,將時空輸入信號投射到高維空間,高度模擬生物神經(jīng)元機制,通過學習網(wǎng)絡(luò)中的連接權(quán)重實現(xiàn)輸出,大大降低了訓練的復雜度,并且可以識別標簽,編碼成具有時序性的脈沖序列,對時序信號的計算能力具有實時性,對分類任務(wù)具有普適性。幾種具有代表性的神經(jīng)網(wǎng)絡(luò)算法特性如表1所示。 表1 經(jīng)典神經(jīng)網(wǎng)絡(luò)算法 硬件模型的設(shè)計出發(fā)點是滿足高性能和低能耗等需求,但是硬件模型很難控制網(wǎng)絡(luò)模型參數(shù)的最優(yōu)范圍,導致優(yōu)化工作很難開展;而液體狀態(tài)機不需要設(shè)置過多的參數(shù),更符合生物神經(jīng)網(wǎng)絡(luò)的特性,有助于實現(xiàn)硬件計算模塊。液體狀態(tài)機的硬件主要有三種實現(xiàn)方式:超大規(guī)模集成電路(Very Large Scale Integration Circuit,VLSI)、現(xiàn)場可編程邏輯門陣列(Field Programmable Gate Array,FPGA)和憶阻器。 2014年,ROY等[9]針對液體狀態(tài)機的讀出階段提出了一種新的樹狀增強的結(jié)構(gòu)(LSM-DER)作為讀出方式的液體狀態(tài)機和一種有效學習規(guī)則網(wǎng)絡(luò)(NRW)重新布線。研究發(fā)現(xiàn),LSM-DER和NRW能夠以更少的突觸數(shù)量獲得比目前最先進的平行感知器讀出的液體狀態(tài)機(LSM-PPR)更好的性能。2015年,ZHANG等[10]提出了仿生數(shù)字液體狀態(tài)機技術(shù)。利用VLSI技術(shù)可以將一個電子分系統(tǒng)乃至整個電子系統(tǒng)集成在一塊芯片上,完成信息采集、處理、存儲等多種功能,但存在不能重復編程的缺點。 2016年,LSM模型的硬件實現(xiàn)使用了FPGA技術(shù),它可以進行重復編程,既解決了定制電路的設(shè)計復雜度,又克服了原有可編程器件門電路數(shù)有限的缺點。SCHRAUWEN等[11]提出了一種基于FPGA的液體狀態(tài)機串行體系硬件設(shè)計方案,該體系結(jié)構(gòu)緊湊地實現(xiàn)了尖峰神經(jīng)網(wǎng)絡(luò),能實時處理數(shù)據(jù)信息,在不影響識別精度的前提下,降低語音識別基準的能耗。FPGA與液體狀態(tài)機在很好的組合狀態(tài)下,可以高效地進行儲層調(diào)整,大大提高學習性能和能量效率;但是,在處理大量數(shù)據(jù)時的表現(xiàn)差強人意。 憶阻器最早于2008年提出,它兩端是由納米電子器件構(gòu)成的,既可以保持用過去歷史電導狀態(tài)表示突觸權(quán)重,又可以在輸入的電壓或電流信號作用下調(diào)制到新的狀態(tài)[12]。憶阻器陣列可以將計算與存儲高效地結(jié)合,省去數(shù)據(jù)調(diào)用,加快了矩陣計算的速度,滿足對大量數(shù)據(jù)信息的實時處理要求,基于憶阻器的SNN硬件電路研究得到迅速發(fā)展[13]。但是,憶阻器內(nèi)部存在陣列的漏電與可控性問題,因此目前集成大規(guī)模的憶阻器陣列比較困難。市面上的憶阻器神經(jīng)形態(tài)計算平臺以仿真為主,未來的發(fā)展方向應(yīng)將仿真理論與實際相結(jié)合,構(gòu)建合理的憶阻器模型。 液體狀態(tài)機結(jié)構(gòu)簡單,訓練速度快,處理具有時序特性的問題時,能夠快速獲取信息并處理,具有實時性和普適性,但是計算精度低、無法捕獲多個時間尺度上的動態(tài)信息的缺點依然存在。分析原因主要如下:(1)評估算法的性能需要大量的時間,加重了液體狀態(tài)機的計算壓力。(2)液體狀態(tài)機雖然只需要訓練儲備池層到讀出層之間的連接矩陣,但是只有矩陣為全連接方式時,才能保證具有良好的性能。(3)單個液體狀態(tài)機處理復雜的現(xiàn)實任務(wù)存在一定的難度,無法兼顧不同時間尺度上的時間信息。針對以上問題,研究者在液體狀態(tài)機的軟件模型上找到了優(yōu)化方向。第一,通過其他算法評估LSM網(wǎng)絡(luò)模型性能,改進時間庫,優(yōu)化模型。第二,通過改變突觸的可塑性可以稀疏儲備池層和讀出層之間的連通性,防止權(quán)重飽和,提高LSM網(wǎng)絡(luò)模型的學習性能。第三,利用LSM固有的隨機投影以及局部塑性機制優(yōu)化順序?qū)又g的數(shù)據(jù)傳輸,增強其在復雜時空任務(wù)中的性能。與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)一樣,可以增加儲備層的層數(shù),增加訓練次數(shù),優(yōu)化輸出結(jié)果。 在優(yōu)化算法上,使用遺傳算法進行調(diào)整最為常見。遺傳算法更符合生物特性,適合液體狀態(tài)機這類具有生物特性的網(wǎng)絡(luò),提高液體狀態(tài)機訓練效率。 目前,已有研究者使用遺傳算法去掉自連接的神經(jīng)元和對結(jié)果產(chǎn)生不好效果的神經(jīng)元,再通過強化學習的方法改變儲備池層的連接方式,從而優(yōu)化了液體狀態(tài)機的內(nèi)部結(jié)構(gòu)。為了使遺傳算法更加精確,JU等[14]將液體過濾器從一個沒有連接的最小結(jié)構(gòu)演化為一個具有最小突觸數(shù)和高分類精度的優(yōu)化核,簡化了最優(yōu)線性模型的設(shè)計,降低了計算復雜度。此外,通過改變液體狀態(tài)機本身的參數(shù)和輸入方式達到優(yōu)化目的,也是一種常用的優(yōu)化方法。ZHOU等[15]使用協(xié)方差矩陣自適應(yīng)進化策略(Covariance Matrix Adaptation Evolution Strategy,CMA-ES)的同時,采用連接概率和尖峰神經(jīng)元模型中的超參數(shù)對其結(jié)構(gòu)進行編碼,采用高斯過程作為替代對CMA-ES實現(xiàn)輔助,縮小搜索空間,提高了計算效率。 優(yōu)化算法使得液體狀態(tài)機訓練能力有所提高,訓練時間比人工調(diào)優(yōu)的時間短,改進方案更具優(yōu)勢,簡化了繁重的手動調(diào)參和調(diào)試網(wǎng)絡(luò)結(jié)構(gòu)的過程。但是,此方法的選擇過程是在類似黑匣子中進行,只能知道結(jié)果,不能對其過程進行改進,優(yōu)化結(jié)果的不確定性大。 突觸可塑性(Synaptic Plasticity)通過積極神經(jīng)元與消極神經(jīng)元相互配合達到更好的效果。突觸可塑性在生物體內(nèi)是指神經(jīng)細胞間的連接,會隨自身活動的激勵與抑制發(fā)生相應(yīng)的變化。在人工神經(jīng)網(wǎng)絡(luò)中,突觸可塑性是指利用生物中的數(shù)學模型構(gòu)造神經(jīng)元之間的關(guān)系。 頻率上,突觸可塑性可以分為短時程突觸可塑性與長時程突觸可塑性。思想上,突觸可塑性又可分為Hebbian可塑性與脈沖時間依賴可塑性(Spike Time Dependent Plasticity,STDP)。目前,研究者對液體狀態(tài)機突觸的改進,主要有改變突觸的構(gòu)造或者構(gòu)造不同類型的突觸。基于短時程可塑性的液體狀態(tài)機改進,通過使用神經(jīng)形態(tài)硬件即可實現(xiàn)[16]?;诨旌峡伤苄缘囊后w狀態(tài)機改進,是一種通過將兩種類型的可塑性結(jié)合開發(fā)液體狀態(tài)機儲備池層的新方法,它是由不同行為和不同興奮程度的異質(zhì)神經(jīng)元組成的自組織網(wǎng)絡(luò),通過皮層編碼的兩種生物學習規(guī)則——細化突觸連通性和神經(jīng)元內(nèi)在性構(gòu)建子神經(jīng)元[17]。神經(jīng)元之間的連接則在考慮了兩種不同的STDP(興奮性突觸的e-STDP和抑制性突觸的i-STDP)的前提下,通過脈沖時間依賴的可塑性學習實現(xiàn)的,擅長完成時間模式分類任務(wù)。 STDP規(guī)則不僅提高了網(wǎng)絡(luò)學習效率,而且在液體層中誘導了自組織行為,從而自然地形成一個更稀疏的遞歸網(wǎng)絡(luò)。2013年,XUE等[18]提出了基于時間依賴可塑性的改進液體狀態(tài)機,可以有效地對液體池進行優(yōu)化。研究發(fā)現(xiàn),具有STDP學習性能的液體狀態(tài)機可以高精度地執(zhí)行同類型生物相關(guān)的實時計算任務(wù)。2017年,LIU等[19]利用生物合理的尖峰時間依賴可塑性機制,訓練了液體狀態(tài)機的監(jiān)督性。利用STDP自然誘發(fā)的自組織行為,提高學習能力的同時,液體狀態(tài)機的高效性也得到了有效實現(xiàn)。2017年,LI等[20]還提出了一種具有多聚類和主動-神經(jīng)元-主導結(jié)構(gòu)的脈沖神經(jīng)網(wǎng)絡(luò)液體計算模型,取代了傳統(tǒng)的隨機結(jié)構(gòu),改善了活動同步性和網(wǎng)絡(luò)敏感性,同時提高了信息處理能力,并且具有較高的拓撲復雜度和動態(tài)多樣性,大大提高了信號傳輸效率。2021年,TIAN等[21]提出了一個基于神經(jīng)結(jié)構(gòu)搜索的框架,探索面向數(shù)據(jù)集的自動LSM模型的結(jié)構(gòu)和參數(shù)設(shè)計空間,優(yōu)化了指數(shù)級增長的參數(shù)設(shè)計空間,提高了計算精度,降低了計算復雜度。 深度液體狀態(tài)機是一種通過加入其他層或者加入多層實現(xiàn)液體狀態(tài)機模型的一種方式。2017年,SOURES等[22]提出一種深度液體狀態(tài)機模型,將神經(jīng)可塑性和注意力嵌入拓撲結(jié)構(gòu)中,增強了其對復雜網(wǎng)絡(luò)的性能,訓練時間與傳統(tǒng)液體狀態(tài)機相比有所縮短。深度LSM的基本模型結(jié)構(gòu)如圖2所示。 圖2 深度LSM的基本模型結(jié)構(gòu)Fig.2 Basic model structure of deep LSM 深度液體狀態(tài)機結(jié)構(gòu)的深度與廣度使其比較擅長處理分層時態(tài)問題。這是因為深度液體狀態(tài)機自身液體層的隨機性,并且能夠使用多個局部塑性規(guī)則構(gòu)造編碼層,從而降低其訓練復雜度,提高訓練速度;但是,深度液體狀態(tài)機存在不可擴展和可伸縮性差的缺點。 使用液體狀態(tài)機編程工具可以快速地進行建模、訓練以及搭建軟件平臺。根據(jù)面向的研究目標以及使用的方式不同,現(xiàn)存Gensis、Neuron、Nengo、BindsNet、SpyKetorch、Nest、Brian、Synaptics等液體狀態(tài)機編程平臺;各平臺的具體特點如表2所示。 本文圍繞LSM的基本結(jié)構(gòu)和軟硬件優(yōu)化方式,梳理相關(guān)領(lǐng)域的研究進展,總結(jié)LSM實現(xiàn)的編程平臺,為相關(guān)領(lǐng)域的學者優(yōu)化LSM提供了參考。液體狀態(tài)機作為一種典型的脈沖神經(jīng)網(wǎng)絡(luò),結(jié)構(gòu)簡單,擁有極高的生物相似性,與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)相比,計算復雜度大大降低,訓練速度也大大提高。由于本身需要設(shè)置一定的參數(shù),對儲備池層約束較少,因此還有很大的發(fā)展空間。未來的研究方向如下:第一,探索液體狀態(tài)機的每一層,尋找層與層之間的算法最優(yōu)解;第二,在單個突觸或者不同類型之間構(gòu)造的研究有所進展,突觸的觸發(fā)機制有待深入研究;第三,在模型實現(xiàn)上的時間集成能力不夠精準和拓撲結(jié)構(gòu)如何影響計算的問題尚未解決。1.2 LSM屬性
1.3 與其他神經(jīng)網(wǎng)絡(luò)的對比
2 LSM模型的硬件實現(xiàn)(The hardware realization of LSM model)
2.1 VLSI
2.2 FPGA
2.3 憶阻器
3 LSM軟件模型優(yōu)化進展(LSM software model optimization progress)
3.1 算法優(yōu)化
3.2 突觸可塑性改進
3.3 深度液體狀態(tài)機
4 LSM編程平臺(Programming platform of LSM)
5 結(jié)論(Conclusion)