藺想紅,王向文,黨小超
(西北師范大學計算機科學與工程學院,甘肅蘭州 730070)
基于脈沖序列核的脈沖神經(jīng)元監(jiān)督學習算法
藺想紅,王向文,黨小超
(西北師范大學計算機科學與工程學院,甘肅蘭州 730070)
脈沖神經(jīng)元應用脈沖時間編碼神經(jīng)信息,監(jiān)督學習的目標是對于給定的突觸輸入產(chǎn)生任意的期望脈沖序列.但由于神經(jīng)元脈沖發(fā)放過程的不連續(xù)性,構(gòu)建高效的脈沖神經(jīng)元監(jiān)督學習算法非常困難,同時也是該研究領域的重要問題.基于脈沖序列的核函數(shù)定義,提出了一種新的脈沖神經(jīng)元監(jiān)督學習算法,特點是應用脈沖序列核構(gòu)造多脈沖誤差函數(shù)和對應的突觸學習規(guī)則,并通過神經(jīng)元的實際脈沖發(fā)放頻率自適應地調(diào)整學習率.將該算法用于脈沖序列的學習任務,期望脈沖序列采用Poisson過程或線性方法編碼,并分析了不同的核函數(shù)對算法學習性能的影響.實驗結(jié)果表明該算法具有較高的學習精度和良好的適應能力,在處理復雜的時空脈沖模式學習問題時十分有效.
脈沖神經(jīng)元;監(jiān)督學習;脈沖序列核;內(nèi)積;脈沖序列學習
神經(jīng)科學的研究成果表明,神經(jīng)信息被編碼為精確定時的脈沖序列,不僅僅是簡單的脈沖發(fā)放頻率[1].脈沖神經(jīng)網(wǎng)絡由更具生物真實性的脈沖神經(jīng)元模型為基本單元構(gòu)成[2],應用精確定時的脈沖序列表示與處理信息,是新一代神經(jīng)網(wǎng)絡計算模型.脈沖神經(jīng)網(wǎng)絡與基于脈沖頻率編碼信息的傳統(tǒng)人工神經(jīng)網(wǎng)絡相比,擁有更強大的計算能力,是進行復雜時空信息處理的有效工具[3].實際上,要將脈沖神經(jīng)元構(gòu)成的網(wǎng)絡應用于實際問題,特別是復雜時空模式識別問題的求解,關(guān)鍵在于構(gòu)建高效的監(jiān)督學習算法.脈沖神經(jīng)元監(jiān)督學習的目標是對于給定的突觸輸入脈沖序列,通過學習規(guī)則對突觸權(quán)值的調(diào)整,產(chǎn)生任意的期望脈沖序列[4].對于脈沖神經(jīng)網(wǎng)絡來說,神經(jīng)元內(nèi)部狀態(tài)變量及誤差函數(shù)不再滿足連續(xù)可微的性質(zhì),傳統(tǒng)人工神經(jīng)網(wǎng)絡的學習算法已不能直接使用,需要研究者進一步構(gòu)建具有廣泛適用性的脈沖神經(jīng)網(wǎng)絡監(jiān)督學習算法.
脈沖神經(jīng)元及其網(wǎng)絡的監(jiān)督學習是新興技術(shù),對于監(jiān)督學習算法的研究越來越受到研究者的關(guān)注,近年來提出了較多的監(jiān)督學習算法[5,6].借鑒傳統(tǒng)人工神經(jīng)網(wǎng)絡的誤差反向傳播算法,Bohte等人[7]提出了適用于前饋脈沖神經(jīng)網(wǎng)絡的SpikeProp算法,該算法限制網(wǎng)絡中所有層的神經(jīng)元只能發(fā)放一個脈沖.McKennoch等人[8]在該算法的基礎上,提出了收斂速度更快的RProp和QuickProp算法.對于SpikeProp算法更加重要的擴展工作是Multi-SpikeProp算法,這類算法對脈沖神經(jīng)網(wǎng)絡輸入層和隱含層神經(jīng)元的脈沖發(fā)放沒有限制,但仍然限制輸出層神經(jīng)元只能發(fā)放一個脈沖[9,10].最近,Xu等人[11]進一步提出了基于梯度下降的多脈沖監(jiān)督學習算法,對網(wǎng)絡中所有層神經(jīng)元的脈沖發(fā)放沒有限制,實現(xiàn)了輸出層多脈沖的時空模式學習.SpikeProp及其擴展算法是一種數(shù)學分析方法,在學習規(guī)則的推導過程中,要求神經(jīng)元模型的狀態(tài)變量必須有解析的表達式.文獻[12,13]將脈沖神經(jīng)元的監(jiān)督學習轉(zhuǎn)換為分類問題,分別應用感知器學習規(guī)則和支持向量機實現(xiàn)了脈沖序列時空模式的在線學習算法.考慮神經(jīng)元的脈沖時間依賴可塑性(Spike Timing-Dependent Plasticity,STDP)機制,Legenstein等人[14]給出了脈沖神經(jīng)元的監(jiān)督Hebbian學習算法,通過注入外部輸入電流使學習神經(jīng)元發(fā)放特定的期望脈沖序列.Ponulak和Kasiński[15]將突觸權(quán)值的調(diào)整表示為STDP和anti-STDP兩個過程的結(jié)合,提出了一種可對脈沖序列的復雜時空模式進行學習的遠程監(jiān)督方法(Remote Supervised Method,ReSuMe),該算法具有學習規(guī)則的局部特性和最優(yōu)解的穩(wěn)定性,并且可適用于各種神經(jīng)元模型.雖然ReSuMe僅適用于單神經(jīng)元或單層神經(jīng)網(wǎng)絡的學習,但基于其良好的適用性,已被廣泛地應用在各類時空模式分類和識別問題.文獻[16]結(jié)合SpikeProp算法,進一步將ReSuMe擴展到適用于線性神經(jīng)元模型的多層前饋網(wǎng)絡.Wade等人[17]應用BCM(Bienenstock-Cooper-Munro)規(guī)則與STDP機制,提出了多層前饋脈沖神經(jīng)網(wǎng)絡的SWAT(Synaptic Weight Association Training)算法.此外,Mohemmed和Schliebs[18]基于Widrow-Hoff規(guī)則給出了SPAN(Spike Pattern Association Neuron)學習規(guī)則,將脈沖序列應用卷積計算轉(zhuǎn)換為模擬信號,通過轉(zhuǎn)化后的輸入脈沖序列,神經(jīng)元期望輸出和實際輸出脈沖序列的誤差調(diào)整突觸權(quán)值.Yu等人[19]受SPAN的啟發(fā),提出了PSD(Precise-Spike-Driven)監(jiān)督學習算法,突觸權(quán)值的調(diào)整根據(jù)期望與實際輸出脈沖的誤差來判斷,正的誤差將導致長時程增強,負的誤差將導致長時程抑制.
本文通過脈沖序列核的表示形式,將離散的脈沖序列轉(zhuǎn)換為連續(xù)函數(shù)的分析過程,并可解釋為特定的神經(jīng)生理信號,比如神經(jīng)元的突觸后電位或脈沖發(fā)放的密度函數(shù).將脈沖序列集合映射到與核函數(shù)對應的再生核Hilbert空間[20,21],這樣便實現(xiàn)了脈沖序列的統(tǒng)一表示,以及脈沖序列相似性度量的形式化定義.我們通過定義脈沖序列隨時間變化的誤差函數(shù)以及神經(jīng)元輸入脈沖序列和輸出脈沖序列之間的關(guān)系,給出了基于脈沖序列核的脈沖神經(jīng)元的監(jiān)督學習算法,突觸權(quán)值的學習規(guī)則表示為脈沖序列的內(nèi)積形式,實現(xiàn)了脈沖序列復雜時空模式的學習.為了描述方便,我們將所提學習規(guī)則命名為STKLR(Spike Train Kernel Learning Rule).該學習算法的特點在于:(1)突觸學習規(guī)則的推導過程僅依賴于精確定時的脈沖序列,與神經(jīng)元狀態(tài)變量的表達方式無關(guān),因此可適用于不同的神經(jīng)元模型.(2)在學習算法的迭代過程中,學習率根據(jù)神經(jīng)元實際輸出脈沖序列的頻率自適應地調(diào)整.(3)對神經(jīng)元輸入輸出的脈沖序列編碼方式?jīng)]有限制,可適用于Poisson過程或線性方法等不同的時間編碼策略.
核方法是解決非線性模式分類問題的一種有效途徑,其核心思想是通過某種非線性映射將原始數(shù)據(jù)嵌入到合適的高維特征空間,找出并學習一組數(shù)據(jù)中的相互關(guān)系[22].設x1,x2為初始空間中的點(在這里可以是標量,也可以是向量),非線性函數(shù)φ實現(xiàn)輸入空間X到特征空間F的映射,核函數(shù)可表示為如下的內(nèi)積形式:
κ(x1,x2)=〈φ(x1),φ(x2)〉
(1)
其中,κ(x1,x2)為核函數(shù).下面我們將核函數(shù)的定義應用于神經(jīng)元發(fā)放的脈沖序列,并推導突觸權(quán)值的學習規(guī)則.
脈沖序列s={tf∈Γ:f=1,…,N}表示脈沖神經(jīng)元在時間區(qū)間Γ=[0,T]所發(fā)放脈沖時間的有序數(shù)列,脈沖序列可形式化的表示為:
(2)
其中,tf表示第f個脈沖發(fā)放時間,δ(x)表示Dirac delta函數(shù),當x=0時,δ(x)=1,否則δ(x)=0.
在定義脈沖序列的核函數(shù)之前,先給出脈沖時間的核函數(shù)表示,因為脈沖時間的核將組合構(gòu)成脈沖序列核的表示.對于兩個脈沖對應的發(fā)放時間tm和tn,可定義脈沖時間的核函數(shù)形式:
κ(tm,tn)=〈δ(t-tm),δ(t-tn)〉,?tm,tn∈Γ
(3)
對于核函數(shù)κ要求具有對稱、平移不變和正定特性,一般取Laplacian或Gaussian等核函數(shù).比如Gaussian核表示為κ(tm,tn)=exp(-|tm-tn|2/2σ2).
由于脈沖序列是離散時間的集合,為了方便分析和計算,可以選擇特定的光滑函數(shù)h,應用卷積將脈沖序列唯一地轉(zhuǎn)換為一個連續(xù)函數(shù):
(4)
由于脈沖序列所對應時間區(qū)間的有限性和連續(xù)函數(shù)fs(t)的有界性,可以得到:
(5)
也就是說,函數(shù)fs(t)是L2(Γ)空間的一個元素.脈沖序列空間中的元素si∈S(Γ)對應的函數(shù)fsi(t)將構(gòu)成一個Hilbert空間,表示為L2(fsi(t),t∈Γ),并且是L2(Γ)的一個子空間[20].
對于任意給定的兩個脈沖序列si,sj∈S(Γ),可在L2(fsi(t),t∈Γ)空間上定義其對應函數(shù)fsi(t)和fsj(t)的內(nèi)積如下表示:
F(si,sj)=〈fsi(t),fsj(t)〉L2(Γ)=∫Γfsi(t)fsj(t)dt
(6)
應用脈沖時間核表示,進一步將式(6)重寫為脈沖時間對的累加形式:
(7)
其中,κ(tm,tn)=∫Γh(t-tm)h(t-tn)dt.因此,F(si,sj)計算的時間復雜度為O(NiNj),Ni和Nj分別表示脈沖序列si和sj對應的脈沖數(shù).
3.1 脈沖序列的轉(zhuǎn)換關(guān)系
脈沖神經(jīng)元輸入輸出表示為脈沖序列的形式,即脈沖序列編碼神經(jīng)信息或外部刺激信號.假設突觸前神經(jīng)元輸入的脈沖序列為si(t)∈S(Γ),i=1,…,N,突觸后神經(jīng)元輸出的脈沖序列為so(t)∈S(Γ),為簡化計算,將應用式(4)轉(zhuǎn)換后的多個輸入脈沖序列和輸出脈沖序列在時間t的關(guān)系表達為線性組合關(guān)系:
(8)
其中,權(quán)值wi表示突觸前神經(jīng)元i和突觸后神經(jīng)元之間的連接強度,N表示突觸前輸入神經(jīng)元的數(shù)目.做這種簡化的原因在于:(1)將脈沖序列表達為線性組合關(guān)系,可以構(gòu)造相應的學習規(guī)則進行神經(jīng)元突觸權(quán)值的學習,Carnell和Richardson給出了初步的結(jié)果[23];(2)如果將fs(t)解釋為脈沖序列隨時間變化的密度函數(shù),對于廣義的線性神經(jīng)元模型,突觸后神經(jīng)元脈沖序列的密度函數(shù)可以表達為突觸前神經(jīng)元脈沖序列密度函數(shù)的線性組合形式.
3.2 突觸權(quán)值的學習規(guī)則
構(gòu)建脈沖神經(jīng)元監(jiān)督學習算法的關(guān)鍵是定義脈沖序列的誤差函數(shù),以及突觸權(quán)值的學習規(guī)則.脈沖神經(jīng)元在時間t的誤差可定義為實際輸出脈沖序列so∈S(Γ)和期望脈沖序列sd∈S(Γ)對應函數(shù)fs(t)的差值平方:
(9)
因此,脈沖神經(jīng)元在時間區(qū)間Γ總的誤差為
E=∫ΓE(t)dt.
應用脈沖序列誤差函數(shù)對于突觸權(quán)值的梯度計算值,使用delta更新規(guī)則對所有的突觸權(quán)值進行調(diào)整.從突觸前神經(jīng)元i到突觸后神經(jīng)元的突觸權(quán)值wi計算如下:
Δwi=-η▽Ei
(10)
其中,η表示學習率,▽Ei表示脈沖序列誤差函數(shù)E對于突觸權(quán)值wi的梯度計算值,可表示為誤差函數(shù)E(t)對權(quán)值wi的導數(shù)在時間區(qū)間的積分:
(11)
對于突觸權(quán)值的學習規(guī)則,應用誤差函數(shù)和鏈式規(guī)則,根據(jù)式(8)和式(9),突觸權(quán)值wi在時間t的變化量可推導得到:
(12)
其中,si(t)∈S(Γ)表示輸入神經(jīng)元i所發(fā)放的脈沖序列.根據(jù)式(11),突觸權(quán)值wi的調(diào)整值計算如下:
▽Ei=∫Γ[fso(t)-fsd(t)]fsi(t)dt=F(so,si)-F(sd,si)
(13)
根據(jù)以上所討論的推導過程,我們給出了一個基于脈沖序列核的脈沖神經(jīng)元監(jiān)督學習新算法STKLR,突觸學習規(guī)則表示如下:
Δwi=-η[F(so,si)-F(sd,si)]
(14)
3.3 學習率的自適應方法
學習率的取值大小對學習過程的收斂速度有較大的影響,直接影響訓練時間和訓練精度.如果學習率取值太小,每次迭代中權(quán)值的有效更新值太小,將導致網(wǎng)絡突觸權(quán)值的收斂速度變慢;反之,容易使學習過程出現(xiàn)振蕩,影響網(wǎng)絡的收斂速度,甚至網(wǎng)絡訓練失敗.根據(jù)神經(jīng)元實際發(fā)放脈沖的頻率自適應地調(diào)整學習率,可提高學習算法對突觸權(quán)值訓練的適應能力.
首先定義一個縮放因子c,使該算法的學習率η能夠按照不同的脈沖發(fā)放頻率自適應調(diào)整.假設神經(jīng)元脈沖序列的發(fā)放頻率為v,基準頻率區(qū)間為[vmin,vmax],當v∈[vmin,vmax]時,縮放因子c=1,否則,c的表達式為:
(15)
學習率在基準頻率區(qū)間的取值稱為基準學習率η*,其值為給定頻率區(qū)間的最佳學習率,具體分析過程在4.2節(jié)中給出.本文中基準頻率區(qū)間的最小值vmin=40Hz,最大值vmax=60Hz.根據(jù)縮放因子c和頻率區(qū)間內(nèi)的基準學習率η*,學習率η的自適應調(diào)整方式為:
(16)
3.4 脈沖序列的相似性度量
在神經(jīng)元的脈沖序列學習過程中,學習性能的評價就是判斷在學習結(jié)束后實際發(fā)放的脈沖序列與期望輸出脈沖序列接近的程度,這實際上就是度量兩個脈沖序列之間的相似性.根據(jù)脈沖序列的內(nèi)積所滿足Cauchy-Schwarz不等式特性[20]:
F2(si,sj)≤F(si,si)F(sj,sj),?si,sj∈S(Γ)
(17)
應用式(17)定義兩個脈沖序列的相似性度量C,其表達式為:
(18)
由于ReSuMe具有良好的學習能力和適用性,被廣泛地應用在各類時空模式學習問題.因此,本文將所提STKLR與ReSuMe進行學習性能的比較.將ReSuMe突觸權(quán)值隨時間變化的調(diào)整量積分,可得突觸權(quán)值的離線學習規(guī)則如下[19]:
(20)
其中,參數(shù)as=0.05表示non-Hebbian項,用于加速訓練過程的收斂;指數(shù)形式的核函數(shù)定義了STDP機制所決定的Hebbian項,時間常量τs=5ms;No,Nd分別表示神經(jīng)元實際輸出脈沖序列so和期望脈沖序列sd的脈沖總數(shù).
4.1 脈沖序列學習任務
4.1.1 脈沖序列的學習過程分析
首先分析STKLR對于脈沖序列的學習過程和學習前后的突觸權(quán)值變化情況,神經(jīng)元學習的結(jié)果如圖1所示.圖1(a)展示了脈沖神經(jīng)元的脈沖序列學習過程,圖中▽表示期望輸出脈沖序列,Δ表示脈沖神經(jīng)元學習之前的輸出脈沖序列,·表示學習過程中一些學習周期的實際輸出脈沖序列.從學習過程可以看到,神經(jīng)元經(jīng)過大概45步就從初始的輸出脈沖序列學習得到期望的輸出脈沖序列.圖1(b)表示學習過程中學習精度曲線的變化,可以看出在45個學習周期以后,實際輸出和期望脈沖序列一樣,即兩者的相似度量值C達到1.圖1(c)和圖1(d)分別表示學習前和學習后的500個突觸權(quán)值的變化情況.在學習過程中,神經(jīng)元突觸權(quán)值的變化范圍為[0,0.2].通過脈沖序列學習過程的分析可以看出,STKLR可以對復雜的脈沖序列時空模式進行學習,并具有較好的學習能力.
4.1.2 參數(shù)變化時的學習性能分析
為了全面評價STKLR的學習性能,變化神經(jīng)元的輸入突觸數(shù)目和脈沖序列的長度,并考察這些因素對學習性能的影響.第1組實驗分析STKLR在輸入突觸數(shù)目逐漸增加時的學習性能.實驗中神經(jīng)元的輸入突觸數(shù)目從100到1000以間隔100逐漸增加,其它設定保持不變.圖2(a)表示STKLR和ReSuMe在輸入突觸數(shù)目逐漸增加時的學習精度,從圖中可以看出,隨著神經(jīng)元輸入突觸數(shù)目的逐漸增加,兩個算法的學習精度都在增加,最終其度量C值可以非常接近1,且STKLR的學習精度高于ReSuMe的學習結(jié)果.例如,當輸入突觸數(shù)目為300時,STKLR的學習精度為0.9577,而ReSuMe的學習精度為0.9302;當輸入突觸數(shù)目為800時,STKLR的學習精度為0.9923,而ReSuMe的學習精度為0.9670.同時,學習精度在上升時期較大的標準方差顯示此時STKLR學習性能的穩(wěn)定性比較低,但是當學習精度達到很高的數(shù)值時,STKLR學習精度的標準方差則較小.圖2(b)表示當學習精度達到最高時所需的學習周期,從圖中可以看出,除過輸入突觸數(shù)目為200的情況外,STKLR所需的學習周期比ReSuMe的要少.例如,當輸入突觸數(shù)目為500時,STKLR所需的學習周期為522.81,而ReSuMe所需的學習周期為613.97;當輸入突觸數(shù)目為1000時,STKLR所需的學習周期為449.16,而ReSuMe的學習周期為702.74.
第2組實驗分析STKLR在神經(jīng)元輸入與期望輸出脈沖序列長度逐漸增加時的學習性能.實驗中神經(jīng)元輸入與期望輸出脈沖序列的長度從100ms到1000ms以間隔100ms逐漸增加,其它參數(shù)取基準值.圖3所示為神經(jīng)元輸入與期望輸出脈沖序列長度變化時的脈沖序列學習結(jié)果.圖3(a)表示STKLR和ReSuMe在神經(jīng)元輸入與期望輸出脈沖序列長度逐漸增加時的學習精度,從圖中可以看出,隨著脈沖序列長度的增加,兩個算法的學習精度都在減小.此外,STKLR的學習精度高于ReSuMe學習精度,例如,當脈沖序列長度為200ms時,STKLR的學習精度為0.9933,而ReSuMe的學習精度為0.9785;當脈沖序列長度為1000ms時,STKLR的學習精度為0.7522,而ReSuMe的學習精度為0.6773.圖3(b)表示隨著神經(jīng)元脈沖序列長度的增加,當學習精度達到最高時所需的最小學習周期.從圖中可以看出,當脈沖序列長度為100ms、200ms、300ms、700ms、800ms、900ms和1000ms時,STKLR所需的學習周期少于ReSuMe.例如,當脈沖序列長度為300ms時,STKLR所需的學習周期為534.18,而ReSuMe所需的學習周期為587.94;當脈沖序列長度為1000ms時,STKLR所需的學習周期為432.61,而ReSuMe所需的學習周期為464.70.
4.1.3 期望脈沖序列不同編碼的學習
為了進一步分析STKLR對脈沖序列的學習性能,輸入脈沖序列采用Poisson過程生成,而期望脈沖序列分別采用Poisson過程和線性方法[17]兩種不同的編碼方式生成.實驗中輸入與期望輸出脈沖序列的發(fā)放頻率從20Hz到200Hz以間隔20Hz逐漸增加,并且輸入脈沖序列與期望輸出脈沖序列的發(fā)放頻率相等,其它設定保持不變.圖4所示為期望輸出脈沖序列采用Poisson過程編碼的學習結(jié)果.圖4(a)表示STKLR和ReSuMe在輸入與期望輸出脈沖序列由不同發(fā)放頻率的Poisson過程生成時的學習精度,隨著脈沖序列發(fā)放頻率的增加,兩個算法的學習精度先減小后增大,且STKLR的學習精度高于ReSuMe.例如,當脈沖序列的發(fā)放頻率為100Hz時,STKLR的學習精度為0.8860,而ReSuMe的學習精度為0.7906;當脈沖序列發(fā)放頻率為200Hz時,STKLR的學習精度為0.8362,而ReSuMe的學習精度為0.7942.圖4(b)表示當學習精度達到最高時算法所需的學習周期,從圖中可以看出,STKLR算法所需的學習周期要少于ReSuMe,例如,當脈沖序列發(fā)放頻率為200Hz時,STKLR所需的學習周期為449.15,而ReSuMe所需的學習周期為514.24.
圖5給出了期望輸出脈沖序列采用線性方法編碼的學習結(jié)果,這時脈沖序列中的相鄰脈沖之間具有相同的時間間隔.從圖5(a)中可以看出,隨著脈沖序列發(fā)放頻率的增加,STKLR的學習精度基本保持不變且接近于1,而ReSuMe的學習精度在逐漸減小之后又逐漸增大,并且ReSuMe的學習精度具有較大的標準方差,其學習穩(wěn)定性比較差.圖5(b)表示當學習精度達到最高時所需的學習周期,從圖中可以看出,當脈沖序列的發(fā)放頻率較小時,STKLR所需的學習周期少于ReSuMe,而當脈沖序列的發(fā)放頻率大于120Hz時,STKLR所需的學習周期多于ReSuMe.
4.2 學習過程中學習率分析
4.2.1 基準學習率的確定
本組實驗通過不同學習率的測試來確定在基準參數(shù)取值下適合STKLR和 ReSuMe的最佳學習率.實驗中期望脈沖序列的發(fā)放頻率為50Hz,學習率不采用式(16)調(diào)整,圖6所示為學習率的取值分別為0.00005、0.0001、0.0005、0.001、0.005和0.01時的脈沖序列學習結(jié)果.圖6(a)表示兩個算法在學習率不同時的學習精度,從圖中可以看出,隨著學習率的增大,兩個算法的學習精度都在增加.學習率為0.005時,STKLR的學習精度為0.9855,而ReSuMe的學習精度為0.9676.當學習率取0.01時兩個算法的學習精度與學習率取0.005時的學習精度相比變化不大,但是學習精度的標準方差增大.當學習率進一步增大時將導致算法學習失敗的次數(shù)增加.圖6(b)表示兩個算法在達到最高學習精度時所需的學習周期,從圖中可以看出隨著學習率的增大,兩個算法所需的學習周期都在逐漸減少,且在學習率大于0.001時STKLR小于ReSuMe所需的學習周期.例如,當學習率為0.005時,STKLR所需學習周期的平均值為452.15,而ReSuMe的學習周期為631.21.因此,在我們的實驗測試與分析中,學習率的取值0.005為兩種算法的基準學習率.
4.2.2 學習率的變化過程
本組實驗分析當期望輸出脈沖序列由不同發(fā)放頻率的Poisson過程或線性編碼生成時,STKLR對脈沖序列學習中學習率的變化過程.實驗中,輸入脈沖序列由發(fā)放頻率為20Hz的Poisson過程生成,期望輸出脈沖序列的發(fā)放頻率取20Hz、50Hz、100Hz和150Hz四個值,其它設定保持不變.圖7表示期望輸出脈沖序列的發(fā)放頻率不同時學習率的變化過程,當學習周期大于200時學習率趨于穩(wěn)定,因此圖中只畫出了前200個學習周期中的學習率.圖7(a)所示為期望輸出脈沖序列由不同發(fā)放頻率的Poisson過程生成時學習率的變化過程,開始時神經(jīng)元實際輸出的脈沖較多,學習率從0.005迅速減小,之后隨著學習周期的增加,學習率逐漸增大,最后趨于穩(wěn)定.當期望輸出脈沖序列的發(fā)放頻率逐漸增大時,最終學習率逐漸減小.期望輸出脈沖序列的發(fā)放頻率分別取20Hz、50Hz、100Hz和150Hz時,對應的最終學習率分別為0.0101、0.0049、0.0022和0.0011.圖7(b)所示為期望輸出脈沖序列由線性方法編碼時學習率的變化過程.從圖中可以看出,學習率在學習過程中的變化情況與圖7(a)相似.期望輸出脈沖序列的發(fā)放頻率分別取20Hz、50Hz、100Hz和150Hz時,對應的最終學習率分別為0.01、0.005、0.0017和0.0009.該實驗說明本文提出的學習率自適應方法在學習過程中是有效的,能夠在學習過程中根據(jù)神經(jīng)元實際輸出脈沖序列的發(fā)放頻率對學習率進行自適應地調(diào)整.
4.3 核函數(shù)的比較與分析
4.3.1 不同核函數(shù)的表示
對于STKLR來說,突觸權(quán)值的學習規(guī)則最終表示為脈沖序列核的累加形式,為了考察不同的核函數(shù)對STKLR學習性能的影響,我們選擇Gaussian核函數(shù)、Laplacian核函數(shù)、α-核函數(shù)以及Inverse Multiquadratic核函數(shù),使用這些核函數(shù)對算法進行測試.本文中采用的核函數(shù)如表1所示.
表1 脈沖序列的核函數(shù)
4.3.2 核函數(shù)的學習性能
由于本文前面的實驗中STKLR均采用Gaussian核函數(shù),首先在基準參數(shù)下對Gaussian核的參數(shù)σ進行分析.圖8給出了Gaussian核函數(shù)在參數(shù)不同時的脈沖序列學習結(jié)果,Gaussian核的參數(shù)σ取值分別為0.1、0.5、1、2、5和10共六個值.圖8(a)所示為核函數(shù)參數(shù)不同時的學習精度.從圖中可以看出,隨著核函數(shù)參數(shù)σ的增大,STKLR的學習精度在σ=0.1時為0.6025;隨著σ的增大,學習精度逐漸增大,當σ=2時C達到最大值0.9933,但當σ進一步增大時,學習精度逐漸減小.圖8(b)所示為學習精度達到最高時所需的學習周期,其變化過程表明所需學習周期先減少,然后逐漸增多.當σ=0.5時,所需學習周期為693.95;當σ=2時,所需學習周期為522.81.根據(jù)以上分析,核函數(shù)的參數(shù)對學習精度有較大的影響,我們在實驗中,Gaussian核函數(shù)的最佳參數(shù)σ的值取為2.
圖9表示核函數(shù)分別為Gaussian核(G),Laplacian核(L),α-核(A),Inverse Multiquadratic核(IM)時的脈沖序列學習結(jié)果,其中Gaussian核的參數(shù)為0.5,Laplacian核的參數(shù)為5,α-核的參數(shù)為0.5,Inverse Multiquadratic核的參數(shù)為1.圖9(a)所示為核函數(shù)不同時的學習精度,圖9(b)所示為當學習精度達到最高時所需的學習周期.此外,通過實驗發(fā)現(xiàn)多項式核,Sigmoid核,Multiquadratic核等不適用于STKLR,使用這些核函數(shù)時將導致算法學習失敗或?qū)W習效果太差,而Gaussian核,Laplacian核,α-核,Inverse Multiquadratic核等可以得到理想的學習效果,實現(xiàn)對復雜脈沖序列模式的學習.
從以上實驗結(jié)果可以看出,應用監(jiān)督學習算法STKLR對脈沖序列時空模式進行學習時,核函數(shù)類型和參數(shù)的選擇非常重要.核函數(shù)的類型選擇和參數(shù)優(yōu)化方法主要有[25]:(1)對于選定的核函數(shù),可采用遍歷方式對一個區(qū)間內(nèi)的核參數(shù)逐個進行測試和比較.首先為核函數(shù)的參數(shù)賦初始值,然后開始實驗測試,根據(jù)測試精度重復調(diào)整核參數(shù)值,直至得到滿意的測試精度為止.該方法簡單可行,特別是對于本文中核函數(shù)參數(shù)只有一個的情況,容易得到合適的參數(shù)值.但缺點是憑經(jīng)驗調(diào)整,缺乏足夠的理論依據(jù),在參數(shù)調(diào)整過程中帶有一定的盲目性;(2)使用目標函數(shù)自適應地選擇最佳的核參數(shù),目前較多應用遺傳算法優(yōu)化核函數(shù)類型以及參數(shù).但是該類方法在每一次進化過程中,對于群體中的每一個參數(shù),都要進行一次脈沖神經(jīng)網(wǎng)絡的監(jiān)督學習迭代過程,增加了算法的時間和空間復雜性.
脈沖神經(jīng)元應用精確定時的脈沖序列編碼信息,本文基于脈沖序列核函數(shù)的定義,提出了一種基于脈沖序列核的脈沖神經(jīng)元監(jiān)督學習算法STKLR,并在學習過程中通過脈沖序列的實際發(fā)放頻率自適應地調(diào)整學習率,實現(xiàn)了對脈沖序列復雜時空模式的有效學習.通過脈沖序列學習過程的分析,以及不同輸入突觸數(shù)目、不同脈沖序列長度、不同輸入與期望輸出脈沖序列發(fā)放頻率、不同核函數(shù)和核函數(shù)參數(shù)等因素對算法學習性能影響的分析,表明本文所提出的STKLR具有較好的脈沖序列學習能力,并且比ReSuMe具有較高的學習精度和較小的學習周期.此外,從STKLR的推導過程可以看出,其學習規(guī)則表現(xiàn)為以核函數(shù)表示的脈沖序列內(nèi)積形式,與具體脈沖神經(jīng)元狀態(tài)變量的表達方式無關(guān),可適用于不同神經(jīng)元模型.脈沖序列的核函數(shù)及其內(nèi)積理論目前主要用于脈沖序列的相似性度量,較少直接應用于脈沖神經(jīng)網(wǎng)絡監(jiān)督學習算法的構(gòu)造,STKLR可以看作是一種基于脈沖序列內(nèi)積操作的脈沖神經(jīng)網(wǎng)絡監(jiān)督學習算法的一般性框架.
進一步的工作考慮將STKLR應用到實際的時空模式分類和識別問題,如圖像分類和語音識別等.應用脈沖神經(jīng)網(wǎng)絡的監(jiān)督學習對具體問題的求解可分為三個步驟:首先,將樣本數(shù)據(jù)(如數(shù)值、圖像或語音數(shù)據(jù))的每個分量應用特定的編碼策略編碼為精確定時的脈沖序列,并對樣本所屬類別設定期望的脈沖序列;然后,將多個脈沖序列輸入網(wǎng)絡中的脈沖神經(jīng)元,得到實際輸出的脈沖序列;最后,根據(jù)實際輸出脈沖序列和期望脈沖序列的誤差,應用STKLR算法的學習規(guī)則對神經(jīng)網(wǎng)絡的突觸權(quán)值進行調(diào)整.通過算法的多次迭代過程,當誤差小于設定的最小值或達到最大學習周期時,學習過程結(jié)束,并用得到的脈沖神經(jīng)網(wǎng)絡進行模式分類或識別.
[1]Quiroga R Q,Panzeri S.Principles of Neural Coding[M].Boca Raton,FL:CRC Press,2013.
[2]藺想紅,張?zhí)镂?分段線性脈沖神經(jīng)元模型的動力學特性分析[J].電子學報,2009,37(6):1270-1276. Lin Xiang-hong,Zhang Tian-wen.Dynamical properties of piecewise linear spiking neuron model[J].Acta Electronica Sinica,2009,37(6):1270-1276.(in Chinese)
[3]Ghosh-Dastidar S,Adeli H.Spiking neural networks[J].International Journal of Neural Systems,2009,19(4):295-308.
[4]Memmesheimer R M,Rubin R,?lveczky B P,et al.Learning precisely timed spikes[J].Neuron,2014,82(4):925-938.
[5]Kasiński A,Ponulak F.Comparison of supervised learning methods for spike time coding in spiking neural networks[J].International Journal of Applied Mathematics and Computer Science,2006,16(1):101-113.
[6]藺想紅,王向文,張寧,等.脈沖神經(jīng)網(wǎng)絡的監(jiān)督學習算法研究綜述[J].電子學報,2015,43(3):577-586. Lin Xiang-hong,Wang Xiang-wen,Zhang Ning,et al.Supervised learning algorithms for spiking neural networks:A review[J].Acta Electronica Sinica,2015,43(3):577-586.(in Chinese)
[7]Bohte S M,Kok J N,La Poutré J A.Error-backpropagation in temporally encoded networks of spiking neurons[J].Neurocomputing,2002,48(1-4):17-37.
[8]McKennoch S,Liu D,Bushnell L G.Fast modifications of the SpikeProp algorithm[A].Proceedings of the International Joint Conference on Neural Networks[C].Vancouver,Canada:IEEE,2006.3970-3977.
[9]Booij O,Nguyen T H.A gradient descent rule for spiking neurons emitting multiple spikes[J].Information Processing Letters,2005,95(6):552-558.
[10]Ghosh-Dastidar S,Adeli H.A new supervised learning algorithm for multiple spiking neural networks with application in epilepsy and seizure detection[J].Neural Networks,2009,22(10):1419-1431.
[11]Xu Y,Zeng X,Han L,et al.A supervised multi-spike learning algorithm based on gradient descent for spiking neural networks[J].Neural Networks,2013,43:99-113.
[12]Xu Y,Zeng X,Zhong S.A new supervised learning algorithm for spiking neurons[J].Neural Computation,2013,25(6):1472-1511.
[13]Le Mouel C,Harris K D,Yger P.Supervised learning with decision margins in pools of spiking neurons[J].Journal of Computational Neuroscience,2014,37(2):333-344.
[14]Legenstein R,Naeger C,Maass W.What can a neuron learn with spike-timing-dependent plasticity?[J].Neural Computation,2005,17(11):2337-2382.
[15]Ponulak F,Kasinski A.Supervised learning in spiking neural networks with ReSuMe:Sequence learning,classification,and spike shifting[J].Neural Computation,2010,22(2):467-510.
[16]Sporea I,Grüning A.Supervised learning in multilayer spiking neural networks[J].Neural Computation,2013,25(2):473-509.
[17]Wade J J,McDaid L J,Santos J A,et al.SWAT:A spiking neural network training algorithm for classification problems[J].IEEE Transactions on Neural Networks,2010,21(11):1817-1830.
[18]Mohemmed A,Schliebs S.SPAN:Spike pattern association neuron for learning spatio-temporal spike patterns[J].International Journal of Neural Systems,2012,22(4):786-803.
[19]Yu Q,Tang H,Tan K C,et al.Precise-spike-driven synaptic plasticity:Learning hetero-association of spatiotemporal spike patterns[J].PLoS One,2013,8(11):e78318.
[20]Paiva A R C,Park I,Príncipe J C.A reproducing kernel Hilbert space framework for spike train signal processing[J].Neural Computation,2009,21(2):424-449.
[21]Park I M,Seth S,Paiva A R C,et al.Kernel methods on spike train space for neuroscience:A tutorial[J].IEEE Signal Processing Magazine,2013,30(4):149-160.
[22]Xu J,He M,Han J,et al.A comprehensive estimation method for kernel function of radar signal classifier[J].Chinese Journal of Electronics,2015,24(1):218-222.
[23]Carnell A,Richardson D.Linear algebra for times series of spikes[A].Proceedings of the 13th European Symposium on Artificial Neural Networks[C].Evere,Belgium:d-side,2005.363-368.
[24]Gerstner W,Kistler W M.Spiking Neuron Models:Single Neurons,Populations,Plasticity[M].Cambridge:Cambridge University Press,2002.
[25]Zhao M,Ren J,Ji L,et al.Parameter selection of support vector machines and genetic algorithm based on change area search[J].Neural Computing and Applications,2012,21(1):1-8.
藺想紅 男,1976年1月生于甘肅天水.2009年獲哈爾濱工業(yè)大學計算機應用技術(shù)專業(yè)博士學位,現(xiàn)任西北師范大學計算機科學與工程學院教授,碩士生導師.研究方向為神經(jīng)網(wǎng)絡、進化計算、人工生命、圖像處理.
E-mail:linxh@nwnu.edu.cn
王向文 男,1991年3月生于甘肅天水.2015年獲西北師范大學軟件工程專業(yè)碩士學位.研究方向為神經(jīng)網(wǎng)絡、機器學習.
E-mail:wangxiangwen2@163.com
黨小超(通信作者) 男,1963年9月生于甘肅蘭州.1995年獲西北工業(yè)大學計算機應用技術(shù)專業(yè)碩士學位,現(xiàn)任西北師范大學計算機科學與工程學院院長、教授,碩士生導師.研究方向為計算機網(wǎng)絡、無線傳感器網(wǎng)絡、智能信息處理.
E-mail:dangxc@nwnu.edu.cn
A New Supervised Learning Algorithm for Spiking Neurons Based on Spike Train Kernels
LIN Xiang-hong,WANG Xiang-wen,DANG Xiao-chao
(SchoolofComputerScienceandEngineering,NorthwestNormalUniversity,Lanzhou,Gansu730070,China)
The purpose of supervised learning with temporal encoding for spiking neurons is to make the neurons emit arbitrary spike trains in response to given synaptic inputs.However,due to the discontinuity in the spike process,the formulation of efficient supervised learning algorithms for spiking neurons is difficult and remains an important problem in the research area.Based on the definition of kernel functions for spike trains,this paper proposes a new supervised learning algorithm for spiking neurons with temporal encoding.The learning rule for synapses is developed by constructing the multiple spikes error function using spike train kernels,and its learning rate is adaptively adjusted according to the actual firing rate of spiking neurons during learning.The proposed algorithm is successfully applied to various spike trains learning tasks,in which the desired spike trains are encoded by Poisson process or linear method.Furthermore,the effect of different kernels on the performance of the learning algorithm is also analyzed.The experiment results show that our proposed method has higher learning accuracy and flexibility than the existing learning methods,so it is effective for solving complex spatio-temporal spike pattern learning problems.
spiking neuron;supervised learning;spike train kernel;inner product;spike train learning
2015-04-07;
2015-07-01;責任編輯:梅志強
國家自然科學基金(No.61165002,No.61363059);甘肅省自然科學基金(No.1506RJZA127);甘肅省高等學??蒲许椖?No.2015A-013)
TP183
A
0372-2112 (2016)12-2877-10
??學報URL:http://www.ejournal.org.cn
10.3969/j.issn.0372-2112.2016.12.010