何紅洲
(綿陽(yáng)師范學(xué)院數(shù)理學(xué)院,四川綿陽(yáng) 621000)
數(shù)據(jù)壓縮和模式分類已經(jīng)引起了眾多領(lǐng)域研究者的廣泛興趣,這些領(lǐng)域包括模式識(shí)別、人工智能和信號(hào)處理等[1].數(shù)據(jù)壓縮的目的是發(fā)現(xiàn)輸入數(shù)據(jù)的更有效表示以節(jié)省空間和處理時(shí)間,這種表示即以統(tǒng)計(jì)方式從原始模式序列中提取的本質(zhì)信息,提取過(guò)程是將高維的(輸入)空間映射到低維的(表示)空間[2].在建模多層感知機(jī)網(wǎng)絡(luò)時(shí),隱層神經(jīng)元是相應(yīng)于輸入模式最有效表示的一層結(jié)點(diǎn),它是數(shù)據(jù)壓縮的結(jié)果,其激活模式可被視為表示變換的目標(biāo)模式,網(wǎng)絡(luò)的下一層就是依據(jù)目標(biāo)模式的分類[3-4].
但當(dāng)矩陣R的階數(shù)、即輸入空間的維數(shù)較高時(shí),計(jì)算其特征值和特征向量是一個(gè)高復(fù)雜度的問(wèn)題,因此變換矩陣P很難用純數(shù)學(xué)方法得到.近幾十年來(lái),變換P自適應(yīng)計(jì)算的新技術(shù)不斷涌現(xiàn),這些新技術(shù)用迭代的方法計(jì)算R的特征向量.Oja提出了一種線性神經(jīng)網(wǎng)絡(luò)[7](如圖1),使用一個(gè)輸出神經(jīng)元η來(lái)計(jì)算n個(gè)輸入隨機(jī)變量ξ1,ξ2,…,ξn的最大主分量,即η為ξi的帶權(quán)值qi的線性組合
圖1 只有一個(gè)輸出神經(jīng)元的線性神經(jīng)網(wǎng)絡(luò)Fig.1 Linear neural network with an output neuron
或?qū)懗筛o湊的形式η=qξ,這里q=(q1,q2,…,qn)和ξ=(ξ1,ξ2,…,ξn)T分別表示權(quán)值行向量和輸入列向量,權(quán)值行向量q按下述規(guī)則更新(其中β為學(xué)習(xí)率參數(shù)):
Δq=β(ηξT-η2q),
Oja證明了該算法收斂且能提取輸入序列的第一個(gè)主分量,即在平穩(wěn)狀態(tài)下,訓(xùn)練出的向量q就是相關(guān)矩陣R的相應(yīng)于最大特征值的規(guī)范化特征向量.
為了將Oja的方法擴(kuò)展到使用多個(gè)輸出神經(jīng)元提取多個(gè)主分量(以提取m個(gè)主成分為例)的情況,Sanger提出了基于下列更新規(guī)則的改進(jìn)方法[8]:
ΔQ=β[ηξT-LT(ηηT)Q]
(1)
其中η=Qξ,Q為m行n列的權(quán)值矩陣,其第i行為各輸入結(jié)點(diǎn)對(duì)第i個(gè)輸出神經(jīng)元的權(quán)值,LT(-)表示矩陣-的下三角(包括對(duì)角)部分.一般而言,輸出列向量η的維數(shù)不超過(guò)輸入列向量ξ的維數(shù)(即m≤n).同樣地,Sanger說(shuō)明了上述算法收斂到最優(yōu)線性PCA變換,即在平穩(wěn)狀態(tài)下,訓(xùn)練出的Q的前m行為R的相應(yīng)于前m個(gè)最大特征值的規(guī)范化特征向量.但Sanger方法的缺陷是在訓(xùn)練每個(gè)神經(jīng)元時(shí)使用了非局部的信息,從而存在大量的冗余計(jì)算(計(jì)算量的比較將第4節(jié)給出).為了避免冗余計(jì)算,F(xiàn)oldiak提出了結(jié)合競(jìng)爭(zhēng)學(xué)習(xí)機(jī)制的赫布型學(xué)習(xí)方法[9],使得不同神經(jīng)元能更有效地提取不同的特征向量,但Foldiak方法也有缺陷:(1)提取的主分量數(shù)必須事先設(shè)定,當(dāng)提取的主成分?jǐn)?shù)動(dòng)態(tài)增加時(shí),整個(gè)權(quán)值集必須重新訓(xùn)練;(2)該方法不能產(chǎn)生精確的特征向量,而是一個(gè)能和主特征向量張成相同向量空間的向量集.
為了能利用前m-1個(gè)主分量有效遞歸計(jì)算出第m個(gè)主分量,本研究的目標(biāo)是需要的主分量個(gè)數(shù)不是預(yù)先知道的情況下能提取隨機(jī)向量序列的主分量,這種方法能夠適應(yīng)R隨著時(shí)間慢速變化的情況,這時(shí)新的主分量可作為這種變化的補(bǔ)償而不影響以前已經(jīng)計(jì)算的主分量(這種思想類似于信號(hào)處理中的格型濾波:每新增一階濾波,只需增加一新的格點(diǎn)濾波區(qū),而原來(lái)的濾波區(qū)不發(fā)生任何改變).基于這種思想,本文提出了一種新型的稱作APRL的遞歸神經(jīng)網(wǎng)絡(luò),稱為自適應(yīng)主分量遞歸學(xué)習(xí)網(wǎng)絡(luò).
圖2給出了APRL神經(jīng)元模型:n個(gè)輸入ξ1,ξ2,…,ξn通過(guò)權(quán)值{pij}連接到m個(gè)輸出η1,η2,…,ηm(pij為第j個(gè)輸入連接第i個(gè)輸出的權(quán)值),一個(gè)前m-1個(gè)輸出神經(jīng)元對(duì)第m個(gè)輸出神經(jīng)元的m-1個(gè)反赫布權(quán)值構(gòu)成的行權(quán)值向量ω=(ω1,ω2,…,ωm-1).假設(shè)輸入是一個(gè)平穩(wěn)隨機(jī)過(guò)程,其相關(guān)矩陣有n個(gè)互不相同的正特征值λ1>λ2>…>λn,同時(shí)也假設(shè)前m-1個(gè)輸出神經(jīng)元輸出前m-1個(gè)輸出序列的規(guī)范化主分量,APRL的最重要特點(diǎn)是:第m個(gè)輸出神經(jīng)元能提取與前m-1主分量正交的最大主成量,這就是所謂的正交學(xué)習(xí)規(guī)則[10],于是有
η=Pξ
(2)
ηm=pξ+ωη
(3)
圖2 線性多輸出網(wǎng)絡(luò)模型.實(shí)線表示在第m個(gè)階段訓(xùn)練出的權(quán)值pmj和ωjFig.2 Linear multi-output model. The solid lines denote the weights pmj and ωj which are trained at the m-th stage(注意隨著網(wǎng)絡(luò)收斂,各ωj漸近地逼近于零)(Note that ωj asymptotically approach zero as the network converges.)
這里ξ=(ξ1,ξ2,…,ξn)T,η=(η1,η2,…,ηm-1)T,m-1行n列矩陣P表示輸入對(duì)前m-1個(gè)輸出神經(jīng)元的權(quán)值pij構(gòu)成的矩陣,行向量p表示輸入對(duì)第m個(gè)輸出神經(jīng)元的權(quán)值行向量,即p=(pm1,pm2,…,pmn),即公式(2)和公式(3)展開(kāi)形式分別為
公式(2)和公式(3)說(shuō)明:輸出的各主分量為輸入的線性函數(shù),且第m個(gè)主分量不僅與輸入對(duì)第m個(gè)輸出神經(jīng)元的權(quán)值有關(guān),還與已產(chǎn)生的前m-1個(gè)神經(jīng)元的輸出有關(guān)(即多了一項(xiàng)ωη項(xiàng),這是因?yàn)橐蟮趍個(gè)主分量與前m-1個(gè)主分量正交).
算法的訓(xùn)練針對(duì)權(quán)值進(jìn)行,對(duì)第m個(gè)輸出神經(jīng)元,有
(4)
(5)
其中β和γ是兩個(gè)正的(可以相等也可以不等)的學(xué)習(xí)率參數(shù).同樣地,公式(4)和公式(5)也可分別展開(kāi)成
注意公式(4)與Oja的自適應(yīng)規(guī)則一樣,這是APRL算法的赫布部分;公式(5)稱之為正交學(xué)習(xí)規(guī)則,它是一個(gè)反Oja規(guī)則,它的形式與Oja規(guī)則相似,除了在這一項(xiàng)前面帶有負(fù)號(hào)之外.權(quán)值向量ω起到了不斷消除前m-1個(gè)輸出神經(jīng)元對(duì)第m個(gè)輸出神經(jīng)元的影響的作用,因此第m個(gè)輸出神經(jīng)元最終與以前的主分量正交(而非相關(guān)),這將在下一節(jié)給出數(shù)學(xué)證明并在第4節(jié)給出仿真說(shuō)明.APRL利用Oja規(guī)則和正交學(xué)習(xí)規(guī)則的組合產(chǎn)生出第m個(gè)主分量.
假設(shè)神經(jīng)元1到神經(jīng)元m-1已收斂到前m-1個(gè)主分量,即P=(e1,e2,…,em-1)T,這里e1,e2,…,em-1是機(jī)關(guān)矩陣R的前m-1個(gè)規(guī)范化的特征向量(列向量),以e1,e2,…,em-1為基底,令
即向量p(t)在基底e1,e2,…,em-1下的坐標(biāo)分量為δ1(t),δ2(t),…,δm-1(t),這里t指掃描的輪數(shù)(一輪掃描即包括所有給出的樣本輸入模式的一輪訓(xùn)練過(guò)程).令M為輸入模式的總數(shù).
我們將對(duì)輸出結(jié)點(diǎn)的分析分為兩段,前m-1個(gè)主結(jié)點(diǎn)和剩余的新結(jié)點(diǎn)(如第m個(gè),…,第n個(gè)等).
對(duì)于前m-1個(gè)主結(jié)點(diǎn),由公式(4),求第t輪掃描的均值,并假設(shè)在t輪掃描期間,p(t)值和ω(t)幾乎不變,即E(p(t))=p(t),E(p(t+1))=p(t+1),E(ω(t))=ω(t),則可得
p(t+1)=p(t)+β′[(p(t)+ω(t)P)R-σ(t)p(t)]
(6)
(7)
之所以有公式(6),是因?yàn)棣=p(t+1)-p(t),ηm=p(t)ξ+ω(t)η,η=Pξ,由均值的性質(zhì)知
若對(duì)上述公式移項(xiàng)并合并同類項(xiàng)有
p(t+1)=p(t)+β′[(p(t)+ω(t)P)R-σ(t)p(t)]
=[1+β′p(t)(R-σ(t)I)]+β′ω(t)PR,
PR=(e1,e2,…,em-1)TR=(R(e1,e2,…,em-1))T=(λ1e1,λ2e2,…,λm-1em-1)T,
故上式展開(kāi)后,有
由此得
(8)
對(duì)公式(5),令γ′=Mγ,同理可得
(9)
我們用矩陣形式重寫(xiě)公式(8)和公式(9),有
(10)
當(dāng)β=γ(β′=γ′)時(shí),上式右端的矩陣有一個(gè)二重特征值
ρ(t)=1-β′σ(t)
(11)
如果β′是一個(gè)很小的正數(shù),則該特征值小于1,因此所有的δi和ωi都以同樣的速度漸近趨于0.
公式(11)說(shuō)明,若β=γ,選擇適當(dāng)?shù)膶W(xué)習(xí)率參數(shù)β可以保證收斂速率非???特別地,取
β=γ=1/(Mσ(t))
(12)
如果β≠γ,則可以非常靈活地選取每個(gè)結(jié)點(diǎn)i(i=1,2,…,m-1)的衰減速度.進(jìn)一步,如果針對(duì)不同的ωi(即不同的結(jié)點(diǎn))引入不同的參數(shù)γi,則對(duì)速度的控制就變得更強(qiáng),因此可有選擇地調(diào)整參數(shù)能使某些結(jié)點(diǎn)比其它結(jié)點(diǎn)衰減得更快(或更慢).
對(duì)于第m個(gè)及以后的輸出結(jié)點(diǎn)i,使用與前m-1個(gè)結(jié)點(diǎn)處理同樣的步驟,但含有ωi的項(xiàng)要從公式(8)中移除,這是因?yàn)棣?(ω1,ω2,…,ωm-1)對(duì)這些結(jié)點(diǎn)沒(méi)有影響.因此對(duì)每個(gè)結(jié)點(diǎn)i≥m,有
δi(t+1)=[1+β′(λi-σ(t)]δi(t)
(13)
根據(jù)前面的結(jié)論,對(duì)每個(gè)i=1,2,..,m-1,δi和ωi將最終收斂到0,因此有
(14)
公式(13)是健壯的,因?yàn)榧词功膇的初值很大使得σ(t)>λi,也有1+β′(λi-σ(t))<1,因此在后續(xù)的迭代中,δi也將將大大減小.假設(shè)δm(0)以1的概率不為0,定義
則根據(jù)公式(13),有
因?yàn)樘卣髦当舜讼喈悾姚?>λ2>…>λn,所以
且
(15)
(16)
因此
(17)
因此,第m個(gè)規(guī)范化的組件將被提取出來(lái),Kung給出了以上推導(dǎo)的更多細(xì)節(jié)[10].結(jié)合公式(15)和公式(17),有
(18)
基于上述理論分析,APRL算法描述如下:
對(duì)每個(gè)輸出神經(jīng)元m=1toN(N≤n)
(1)用某些小的隨機(jī)數(shù)作分量將行向量p和ω初始化;
(2)選擇公式(4)和公式(5)中的參數(shù)β,γ(參見(jiàn)4.1(3)的說(shuō)明);
(3)按公式(4)和公式(5)更新p和ω直到Δp和Δω不超過(guò)某一閥值.
可以驗(yàn)證,APRL算法與已有的算法比較,總計(jì)節(jié)省了幾個(gè)數(shù)量級(jí)的計(jì)算量:
(1)遞歸計(jì)算新的主分量的效率
遞歸計(jì)算新的主分量時(shí),APRL每輪迭代算法需要O(n)階的乘法量;與此對(duì)照,F(xiàn)oldiak方法需要O(mn)階的乘法量,這是由于后者需要計(jì)算所有的主分量(包括重新計(jì)算已計(jì)算過(guò)的高階分量).
(2)使用局部(即側(cè)向結(jié)點(diǎn))算法的效率
APRL算法比Sanger的方法低一階計(jì)算量.更準(zhǔn)確地說(shuō),在遞歸計(jì)算每一個(gè)新分量時(shí),對(duì)第m個(gè)輸出神經(jīng)元,Sanger方法(參看公式(1))每輪迭代需要(m+1)n次乘法,而APRL算法只需要2(m+n-1)次乘法,這種節(jié)省源于APRL只使用了本地的(即側(cè)向的)η結(jié)點(diǎn),這些結(jié)點(diǎn)綜合了正交訓(xùn)練的有用信息,因此當(dāng)使用非本地的結(jié)點(diǎn)(即ξ結(jié)點(diǎn))時(shí)避免了突觸權(quán)值的重復(fù)乘法計(jì)算,而在Sanger方法中,這種重復(fù)計(jì)算是不可避免的.
(3)采用最優(yōu)學(xué)習(xí)率β減少了迭代的步數(shù)
象公式(12)給出的一樣,APRL算法提供了最優(yōu)估計(jì)β,γ的計(jì)算公式,但作為另一種更好的選擇,替代公式(12),令
表1 各神經(jīng)元輸出ηi的平方與特征值λi的絕對(duì)誤差(i=1,2,3,4,5)Tab.1 Absolute error between square of neuron output ηi and eigenvalues λi(i=1,2,3,4,5)
表2 各神經(jīng)元訓(xùn)練的權(quán)值向量p與相應(yīng)特征向量e的平方距離Tab.2 Square distance between trained weight vector p and eigenvectors e
使用上述的β和γ的取值,算法以相對(duì)大的誤差收斂,表3第一行給出了收斂速度和最后的計(jì)算主分量組件和實(shí)際主件的平方距離的關(guān)系.為了解決這個(gè)問(wèn)題,需要在微調(diào)階段(即主分量已達(dá)到某個(gè)近鄰值時(shí))使用更保守的學(xué)習(xí)率參數(shù)值,表3總結(jié)了使用公式β=γ=1/(Mλm-1f)而f取1,5,10的結(jié)果,當(dāng)f變大時(shí)收斂變慢了但同時(shí)得到的解也更準(zhǔn)確了.
從表3可以看出,使用下面的折中方案,可取得收斂速度和準(zhǔn)確度之間的平衡:(a)在初始化階段,算法取f=1以達(dá)到快速收斂(但很粗糙,即誤差較大);(b)在微調(diào)階段,增加f的取值將獲得更高的精確度直至到達(dá)準(zhǔn)確的閥值為止.
本文提出了一種新的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,通過(guò)調(diào)整學(xué)率參數(shù),該算法不僅可以較快速地收斂而且還能達(dá)到較高的精度,由于迭代過(guò)程中僅使用本地節(jié)點(diǎn)的反饋信息及新的主分量的計(jì)算可以遞歸的使用較高階主分量的計(jì)算結(jié)果,算法還節(jié)約了大量的計(jì)算量.論文只針對(duì)兩種學(xué)習(xí)率參數(shù)相同的條件進(jìn)行了仿真分析,進(jìn)一步針對(duì)兩種學(xué)習(xí)率參數(shù)不同的個(gè)性化分析較為復(fù)雜,將留待后續(xù)的研究.