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