張昭昭,喬俊飛,楊剛
(1.北京工業大學電子信息與控制工程學院,北京 100124;2.遼寧工程技術大學電子與信息工程學院,遼寧葫蘆島 125105)
自適應前饋神經網絡結構優化設計
張昭昭1,2,喬俊飛1,楊剛1
(1.北京工業大學電子信息與控制工程學院,北京 100124;2.遼寧工程技術大學電子與信息工程學院,遼寧葫蘆島 125105)
針對多數前饋神經網絡結構設計算法采取貪婪搜索策略而易陷入局部最優結構的問題,提出一種自適應前饋神經網絡結構設計算法.該算法在網絡訓練過程中采取自適應尋優策略合并和分裂隱節點,達到設計最優神經網絡結構的目的.在合并操作中,以互信息為準則對輸出線性相關的隱節點進行合并;在分裂操作中,引入變異系數,有助于跳出局部最優網絡結構.算法將合并和分裂操作之后的權值調整與網絡對樣本的學習過程結合,減少了網絡對樣本的學習次數,提高了網絡的學習速度,增強了網絡的泛化性能.非線性函數逼近結果表明,所提算法能得到更小的檢測誤差,最終網絡結構緊湊.
前饋神經網絡;結構設計;自適應搜索策略;互信息
前饋神經網絡是應用最多的網絡之一[1].其成功應用的關鍵是神經網絡的結構設計.如果神經網絡的規模太小,會導致欠擬合;如果神經網絡規模過大,則導致過擬合.無論欠擬合還是過擬合都使神經網絡的泛化能力下降,而沒有泛化能力的網絡沒有使用價值.由于神經網絡結構在某種程度上直接決定了神經網絡的最終性能,所以神經網絡結構優化設計一直是神經網絡領域關注的基本問題[2].
神經網絡結構優化的方法主要有:刪減方法[2]、增長方法[3]、增長刪減方法[4].刪減方法是一種自頂向下的設計方法,即在網絡的訓練過程中,通過刪除網絡中冗余的節點和連接而達到簡化網絡結構的目的.增長方法是一種自底向上的設計方法,且增加策略比刪減策略更易于制定和實現;就設計緊湊神經網絡而言,增長刪減方法能夠設計出較優的神經網絡結構,因此,也越來越多地得到關注.目前上述幾種神經網絡結構設計算法大都采用預先設定的固定準則,并采用貪婪搜索策略,使得算法普適性較差且極易陷入神經網絡局部最優結構[5-11].
針對上述問題,依據互信息理論及神經網絡結構與學習之間的關系,提出一種自適應前饋神經網絡結構優化設計算法(adaptive merging and splitting algorithm,AMSA).該算法在網絡的訓練過程中,能根據當前神經網絡對任務的學習情況合并或分裂隱節點,自適應調整神經網絡的規模.最后通過仿真實驗驗證了算法的有效性與穩定性.
網絡結構為n-m-p的單隱層前饋神經網絡輸入輸出之間的關系為

式中:x∈Rn為神經網絡的輸入;y∈Rp為神經網絡的輸出;W1∈Rm×n為輸入層與隱層之間的連接權矩陣;B1∈Rm為隱節點的偏置權向量;W2∈Rm為隱層與輸出層之間的連接權矩陣;B2∈Rp為輸出節點偏置向量;σ(·)為激活函數.
設訓練樣本集為{x(t),y(t),t=1,2,…,N},采用批學習,則第i個隱節點對第t個訓練樣本的輸出為σi(t)=σ((t)+).定義矩陣:

式中:φi=[σI(1) σi(2) … σi(N)]T,i=1,2,…,m;對所有訓練樣本 φm+1(j)=1,j=1,2,…,N.神經網絡的輸出為

設 W=[W2B2],則有

設隨機變量X和Y的聯合概率密度函數為ρ(X,Y)(x,y),則X和Y的邊緣概率密度函數為[6-7]:

依據Shannon熵定義有

熵H(Y)描述了隨機變量Y包含的信息量,聯合熵H(X,Y)描述了隨機變量X、Y共有的信息量.
按照信息論的有關理論,隨機變量X、Y之間的互信息為

互信息是隨機變量X、Y相關性的度量,因此當X和Y完全相關時,I(X;Y)=1,當X和Y完全獨立時,I(X;Y)=0.
由式(2)知,互信息的估計只需估計出聯合概率分布 ρX,Y(x,y)即可,因此可用 K-最近鄰統計法(K-nearest neighbour statistics)來估計互信息.
設有N個輸入-輸出對為

式中:i=1,2,…,N,x(i)∈Rd,y(i)∈Rp.
若Z(i)的 K-近鄰為

則Z(i)與Z(k(i))之間的Euclidean距離為

而對于Z(i)中的分量x(i)和y(k(i))有

依據式(3)有

因此,對于Z(i)中的每個x(i),都可以計算出Z(i)中其他x(j)(j≠i)的分量到x(i)的分量的距離小于ε(i)的點的個數,同理,對于Z(i)中的每個點y(i),也可以計算出Z(i)中其他y(j)(j≠i)的分量到y(i)的分量的距離小于ε(i)的點的個數,此時I(X;Y)估計值為

式中:ψ(·)為 digamma 函數,ψ(t+1)=ψ(t)+1/t,ψ(1)≈-0.577 215 6,k的取值一般為2~6.
既然互信息能夠準確度量2個隨機變量之間的相關程度,由式(1)知,前饋神經網絡輸出節點的輸出是隱層節點輸出的線性組合,因此,當隱節點ha和hb的輸出線性相關時,則這2個節點對信息的處理能力是等效的,就可以對這2個節點采取合并操作,以簡化神經網絡結構.
采用批學習方式,學習樣本數為N時,隱節點ha的輸出為

隱節點hb的輸出為



顯然,合并后的隱節點hc對信息的處理能力和2個隱節點ha和hb對信息處理能力基本保持不變.
在神經網絡訓練的過程中,當神經網絡對信息的處理能力不足時,則應該在隱節點層增加節點以增大神經網絡信息處理能力.判斷神經網絡信息處理能力不足的準則為

式中:Δr為設定的閾值,Ek為均方差.
如圖1所示,式(6)保證增加一個隱節點后神經網絡至少訓練s步.式(7)用本次神經網絡訓練最后s步的平均誤差(訓練步長為t時)和上次增加一個隱節點時(訓練步長為t0時)神經網絡訓練最后s步的平均誤差的比值來判斷是否應該增加一個隱節點,式(7)采用s步的平均誤差,不僅能夠衡量此時(訓練步長為t時)神經網絡訓練誤差曲線的平坦程度,而且能夠避免誤差曲線的震蕩帶來的干擾.當滿足隱節點增加準則時,本文采用隨機分裂現有隱層節點的方式增加神經網絡隱節點數.從現有隱節點中隨機選擇一個隱節點ha,將其裂變成2個隱節點hb和hc.
則新隱節點hb和hc的連接權值為

式中:α為變異系數,是一個很小的隨機數.

圖1 誤差曲線平坦度檢測Fig.1 Flatness detection of error curves
對于前饋神經網絡,有如下認識.
1)神經網絡的隱節點數大于等于1.
2)神經網絡進行適當的訓練后,如果各隱節點的輸出之間互不相關(此時沒有可以合并的隱節點),則表明網絡中各隱節點都在發揮各自不同的作用,處理不同的信息,即網絡中沒有冗余的隱節點.
3)如果神經網絡中沒有冗余的隱節點,那么導致神經網絡對任務學習不好的原因,要么是神經網絡對任務的學習不夠,需要增加神經網絡學習時間;要么是神經網絡中隱節點太少,使得神經網絡學習能力不足,需要增加隱層節點.
有上述認識,可獲得自適應前饋神經網絡結構設計算法如下.
1)隨機產生一個初始結構神經網絡,神經網絡的隱節點數大于等于1,輸入輸出節點數由具體任務確定.
2)適當訓練神經網絡(訓練步數大于等于s).
3)E≤εmin否.是,到 7);否,到 4).
4)計算各隱節點輸出之間的互信息,合并互信息接近的隱節點(由閾值εMI決定),并由式(4)和式(5)對合并后的新隱節點賦連接權值.
5)4)中是否有合并隱節點的操作發生,是,轉到2);否轉到6).
6)由式(7)判斷是否應該增加隱節點,如否,轉到2);如是,則從現有隱節點中隨機選擇一個隱節點分裂成2個隱節點,并由式(8)和(9)分別給2個新的隱節點賦連接權值,轉到2).
7)結束.
該算法建立在對前饋神經網絡學習過程正確認識的基礎之上,將隱節點合并和分裂之后的網絡權值調整與網絡對學習樣本的學習有效的結合,不僅能夠減少神經網絡對學習樣本的學習次數,提高神經網絡的學習速度,而且能夠避免神經網絡對學習樣本的過學習.隱節點分裂操作中,分裂后的新隱節點不僅繼承了父節點信息處理的能力,而且引入變異系數,有助于跳出局部最優神經網絡結構.
本文所提算法能夠根據學習對象自適應調整前饋網絡隱含層神經元個數,優化神經網絡結構,得到與學習對象相適應的神經網絡結構,提高了前饋神經網絡的性能.為驗證該算法的有效性與穩定性,選取2個復雜度不同的非線性函數進行逼近[12]:

式中:x1和x2各隨機產生30個,服從區間[-1,1]內均勻分布.訓練樣本對為900個,測試樣本為-1:0.1:1,即測試樣本對為441個.式(10)中,x1和x2各隨機產生30個,服從區間[0,1]內均勻分布,訓練樣本對為900個,測試樣本對為0:0.05:1,測試樣本對為441個.隨機產生一個隱節點數大于等于1的初始網絡結構對學習樣本進行訓練,網絡學習算法采用帶動量項BP算法,仿真時,選取k=4,學習率為0.000 2,動量項系數為0.2,隱節點合并互信息閾值εMI=0.95,隱節點增加均方差閾值Δr=0.01,網絡訓練步數t=20,s=5.
神經網絡對非線性函數y1的逼近效果如圖2所示,誤差曲面如圖3所示.對非線性函數y2的逼近效果如圖4所示,誤差曲面如圖5所示.圖6給出了對非線性函數y1逼近時不同的初始神經網絡結構在逼近過程中神經網絡隱節點數變化情況.圖7給出了對非線性函數y2逼近時不同的初始神經網絡結構在逼近過程中神經網絡隱節點數變化情況.

圖2 對y1的逼近效果Fig.2 The approximation effect of y1
從圖2和圖4可以看出,訓練后的神經網絡能夠很好地逼近上述2種復雜度不同的非線性函數,神經網絡輸出值與函數期望值基本重合,因此該算法設計出的神經網絡不僅具有緊湊的結構而且能夠保證神經網絡的逼近性能.從圖3和圖5的非線性函數逼近效果的誤差曲面圖中可以看出,對不同復雜度的非線性函數的檢測誤差分別小于0.04和0.1,表明該算法設計的神經網絡具有較強的泛化性能.

圖3 對y1逼近的誤差曲面Fig.3 The approximation error surface of y1

圖4 對y2的逼近效果Fig.4 The approximation effect of y2

圖5 對y2逼近的誤差曲面Fig.5 The approximation error surface of y2

圖6 逼近y1時神經網絡隱節點變化動態Fig.6 The hidden node numbers during the process of approximation y1

圖7 逼近y2時神經網絡隱節點變化動態Fig.7 The hidden node numbers during the process of approximation y2
從圖6 可以看出,用初始結構分別為 2-1-1、2-13-1、2-26-1 的神經網絡逼近y1,訓練結束時,算法所得到的神經網絡的結構分別為 2-14-1、2-15-1、2-15-1.從圖 7 可以看出,用初始結構分別為 2-2-1、2-9-1、2-37-1 的神經網絡逼近y2時,算法最終所得到的神經網絡結構分別是 2-17-1、2-16-1、2-18-1.表明該算法對于不同的初始結構的神經網絡,均能穩定收斂于適合于該學習對象的網絡結構.
表1列舉了本文所提AMSA算法同不同典型的神經網絡結構設計算法的比較結果,分別是刪減算法(optimal brain surgeon,OBS)[9]、增長算法(cascade correlation,CC)[10]和增長刪減算法(adaptive merging and growing algorithm,AMGA)[5],它們都是采用貪婪搜索策略設計神經網絡結構的算法.上述各個算法,在相同的條件下對同樣的問題運行20次,對所得最終神經網絡隱層節點數取平均值.從表1可看出,AMSA算法設計出的最終神經網絡,不僅結構緊湊,而且神經網絡的泛化能力較強.

表1 幾種典型算法性能比較Table 1 The performance comparison of several typical algorithms
針對多數前饋神經網絡結構設計算法采取貪婪搜索策略而易陷入局部最優結構的問題,提出了一種自適應前饋神經網絡結構設計算法.該算法能夠在神經網絡學習過程中綜合考慮神經網絡對當前任務的學習能力和復雜程度,以互信息為準則合并和分裂隱節點,自適應調整神經網絡結構.通過對2個復雜度不同的非線性函數逼近仿真實驗,得到如下結論.
1)AMSA算法不依賴于網絡的初始結構,能夠根據實際對象及當前神經網絡的學習能力,自適應獲得適合于實際對象的前饋神經網絡.
2)AMSA算法建立在對神經網絡學習過程正確理解的基礎之上,避免了神經網絡結構改變時對神經網絡參數的重新調整,減少了對學習樣本的學習次數,提高了神經網絡的學習速度,增強了神經網絡的泛化性能.
[1]邱健斌,王劭伯.進化神經網絡PID控制器的研究與應用[J].智能系統學報,2008,3(3):245-249.
QIU Jianbin,WANG Shaobo.An improved PID controller based on an evolutionary neural network[J].CAAI Transactions on Intelligent Systems,2008,3(3):245-249.
[2]張昭昭,喬俊飛,韓紅桂.一種基于神經網絡復雜度的修剪算法[J].控制與決策,2010,25(6):178-182.
ZHANG Zhaozhao,QIAO Junfei,HAN Honggui.A pruning algorithm based on neural complexity[J].Control and Decision,2010,25(6):178-182.
[3]喬俊飛,張穎.一種多層前饋神經網絡的快速修剪算法[J].智能系統學報,2008,3(2):173-176.
QIAO Junfei,ZHANG Ying.Fast unit pruning algorithm for multilayer feedforward network design[J].CAAI Transactions on Intelligent Systems,2008,3(2):173-176.
[4]MA L,KHORASANI K.Constructive feedforward neural networks using Hermite poly nomial activation function[J].IEEE Transactions on Neural Network,2005,16(4):821-833.
[5]ISLAM Monirual,SATTAR A,AMIN F,YAO Xin,MURASE K.A new adaptive merging and growing algorithm for designing artificial neural networks[J].IEEE Transactions on Systems,Man,and Cybernetics—Part B:Cybernetics,2009,39(3):705-722.
[6]吳曉剛,王旭東,余騰偉.發動機輸出轉矩的改進BP神經網絡估計[J].電機與控制學報,2010,14(3):104-108.
WU Xiaogang,WANG Xudong,YU Tengwei.Estimation of engine output torque based on improved BP neural network[J].Electric Machines and Control,2010,14(3):104-108.
[7]宋勇,李貽斌,李彩虹.遞歸神經網絡的進化機器人路徑規劃方法[J].哈爾濱工程大學學報,2009,30(8):898-902.
SONG Yong,LI Yibin,LI Caihong.Path planning based on a recurrent neural network for an evolutionary robot[J].Journal of Harbin Engineering University,2009,30(8):898-902.
[8]陸瑤,張杰,馮英浚.非線性動態系統的模糊神經網絡自適應H∞魯棒控制[J].哈爾濱工程大學學報,2009,30(9):1082-1086.
LU Yao,ZHANG Jie,FENG Yingjun.H∞robust adaptive control of a fuzzy neural network based nonlinear dynamic system[J].Journal of Harbin Engineering University,2009,30(9):1082-1086.
[9]羅耀華,從靜.基于BP神經網絡的三相逆變器故障診斷研究[J]. 應用科技,2010,37(6):56-60.
LUO Yaohua,CONG Jing.Fault diagnosis of three-phase inverter using BP neural network[J].Applied Science and Technology,2010,37(6):56-60.
[10]KRASKOV A,STOGBAUER H,GRASSBERGER P.Estimating mutual information[J].Phys Rev E,Sta Plasmas Fluids Relat Interdiscip Top,2004,69(0661138):1-16.
[11]HONG Jie,HU Baogang.Two-phase construction of multilayer perceptions using information theory[J].IEEE Transactions on Neural Network,2009,20(4):542-550.
[12]LIU Yinyin,STARZYK J A,ZHU Zhen.Optimized approximation algorithm in neural networks without overfitting[J].IEEE Transactions on Neural Network,2008,19(6):983-995.
[13]HASSIBI B,STORK D,WOLFF G,WATANABE T.Optimal brain surgeon:extensions and performance comparisons[C]//Adavances in Neural Information Processing Systems 6.San Mateo,USA:Morgan Kaufman,1994:263-270.
[14]FAHLMAN S E,LEBIERE C.The cascade correlation learning architecture[C]//Advances in Neural Information Processing Systems 2.San Mateo,USA:Morgan Kaufman,1990:524-532.

張昭昭,男,1973年生,博士研究生,主要研究方向為智能系統與智能信息處理、神經網絡結構設計與優化.

喬俊飛,男,1968年生,教授,博士生導師,主要研究方向為復雜過程建模與控制、計算智能與智能優化控制,發表學術論文100余篇,其中被SCI、EI檢索60余篇.

楊剛,男,1983年生,博士研究生,主要研究方向為神經計算與智能優化控制.
An adaptive algorithm for designing optimal feed-forward neural network architecture
ZHANG Zhaozhao1,2,QIAO Junfei1,YANG Gang1
(1.College of Electronic and Control Engineering,Beijing University of Technology,Beijing 100124,China;2.Institute of Electronic and Information Engineering,Liaoning Technical University,Huludao 125105,China)
Due to the fact that most algorithms use a greedy strategy in designing artificial neural networks which are susceptible to becoming trapped at the architectural local optimal point,an adaptive algorithm for designing an optimal feed-forward neural network was proposed.During the training process of the neural network,the adaptive optimization strategy was adopted to merge and split the hidden unit to design optimal neural network architecture.In the merge operation,the hidden units were merged based on mutual information criterion.In the split operation,a mutation coefficient was introduced to help jump out of locally optimal network.The process of adjusting the connection weight after merge and split operations was combined with the process of training the neural network.Therefore,the number of training samples was reduced,the training speed was increased,and the generalization performance was improved.The results of approximating non-linear functions show that the proposed algorithm can limit testing errors and a compact neural network structure.
feed-forward neural network;architecture design;adaptive search strategy;mutual information
TP273
A
1673-4785(2011)04-0312-06
10.3969/j.issn.1673-4785.2011.04.005
國家自然科學基金資助項目(60873043);國家“863”計劃資助項目(2009AA04Z155);北京市自然科學基金資助項目(4092010);教育部博士點基金資助項目(200800050004);北京市屬高等學校人才強教計劃資助項目(PHR201006103).
張昭昭.E-mail:zzzhao123@126.com.