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