范業(yè)仙,葉茂枝
(寧德師范學院 計算機系,福建 寧德 352100)
在人工神經(jīng)網(wǎng)絡的使用中,絕大部分是基于BP算法的,但BP算法的收斂性能存在諸多的局限.事實證明影響B(tài)P算法收斂性能的因素很多,包括訓練樣本的選取、學習速率的設定、隱含層層數(shù)及神經(jīng)元數(shù)的確定、以及權值和閾值的初始化等[1].其中關于權值和閾值的初值設置方法已有一定的研究成果.例如,Nguyen-Widrow算法,Matlab中BP神經(jīng)網(wǎng)絡默認權值和閾值的初值就基于此算法隨機產(chǎn)生的[2];歸一化初始化,利用隨機函數(shù)生成[0,1)區(qū)間的隨機數(shù)做為權值和閾值的初值[3];用遺傳算法得到的最優(yōu)個體作為BP神經(jīng)網(wǎng)絡的權值[4];采用粒子群算法[5]、蟻群算法[6]等優(yōu)化BP神經(jīng)網(wǎng)絡的權值;將動物視覺系統(tǒng)中感受野的空間結構形式用于初始權值的設計[7];綜合考慮學習速度、隱含層神經(jīng)元數(shù)設計權值的均勻設計法[8]等.方法雖多,但都有局限性,實際應用中權值和閾值的初值設定一般憑借經(jīng)驗,采用試湊法選定.本文提出了一種等比例系數(shù)型權值和閾值的初始化方法,利用BP神經(jīng)網(wǎng)絡輸入向量的元素個數(shù)計算出一個等比例系數(shù),將S型傳遞函數(shù)的自變量轉化到區(qū)間[0,1)上.實驗證明該方法用于BP神經(jīng)網(wǎng)絡能加快其收斂速度.
人工神經(jīng)網(wǎng)絡模型由人工神經(jīng)元的連接方式和學習算法構成.BP神經(jīng)網(wǎng)絡的連接方式通常為一個或多個隱含層,隱含層中的神經(jīng)元均采用S型傳遞函數(shù),輸出層的神經(jīng)元采用線性傳遞函數(shù);BP神經(jīng)網(wǎng)絡的學習算法即BP算法.以典型的單隱含層BP神經(jīng)網(wǎng)絡為例,假設輸入向量元素個數(shù)為R,隱含層含S個神經(jīng)元,輸出層含K個神經(jīng)元.BP算法由兩部分組成:①信息的正向傳遞,式(1)、(2);②誤差反向傳播,式(3)~(6).
O1s是隱含層中第s個神經(jīng)元的輸出,f1是S型傳遞函數(shù),IWsr是輸入與隱含層間的權值,Pr是第r個輸入元素,bIs是輸入與隱含層間的閾值.
O2k是輸出層中第k個神經(jīng)元的輸出,f2是線性傳遞函數(shù),LWks是隱含層與輸出層間的權值,bLk是隱含層與輸出層間的閾值.
△LWKS、△bLK分別是隱含層與輸出層間權值和閾值的變化量,η是學習率,ek是O2k與期望值的誤差.f2′是f2的導數(shù),因為f2為線性傳遞函數(shù),所以f2′=1.
△IWsr、△bIs分別是輸入與隱含層間權值和閾值的變化量,f1′是f1的導數(shù).
式(1)、(2)中輸入信息經(jīng)傳遞函數(shù)和權值、閾值的作用得到輸出;式(3)~(6)當網(wǎng)絡輸出即O2k沒有達到期望值時,計算出誤差ek,從輸出層開始往前反向傳遞,求得逐層權值和閾值的變化量調整權值和閾值,使ek逐步減小,直到滿足要求.
由式(3)~(6)可看出權值和閾值的變化量計算,特別是式(5)中△IWsr的計算,除與誤差 ek、學習率 η、輸入元素Pr等相關外,還與S型傳遞函數(shù)f1的導數(shù)f1′關系密切.S型傳遞函數(shù)通常用logsig函數(shù)和tansig函數(shù),它們及其導數(shù)如圖1.由圖1可看出當f1(x)的自變量x位于[-1,1]時,S型傳遞函數(shù)的切線斜率最大也就是導數(shù)值 f1′(x)最大,那么根據(jù)式(5),當 f1(x)中的 x∈[-1,1]時輸入與隱含層間的權值變化最大,調節(jié)速度最快,網(wǎng)絡收斂速度也就加快了.在BP神經(jīng)網(wǎng)絡權值和閾值初始化時,可以將函數(shù)f1(x)的自變量x轉化到區(qū)間[-1,1]上以保證網(wǎng)絡訓練時的收斂速度.由式(1)知函數(shù) f1(x)的 x=IWsrPr+BIs,由圖 1(b)(d)知 f1′(x)的值關于x=0對稱.因此,提出了等比例系數(shù)型初始化方法,將IWsrPr+BIs的值轉化到區(qū)間[0,1)上,能夠使BP神經(jīng)網(wǎng)絡訓練時的收斂速度加快.
圖1 S型傳遞函數(shù)及其導數(shù)
為取消各維數(shù)據(jù)間數(shù)量級差別,常對輸入數(shù)據(jù)做歸一化處理,使0≤Pr≤1.為使0≤IWsrPr+BIs<1,網(wǎng)絡各權值和閾值取初值如下:
IWsr=rand()*1/(R+1) //rand() 函數(shù)可隨機產(chǎn)生一個位于區(qū)間[0,1)的數(shù)
bIs=rand()*1/(R+1) //R 是輸入向量的元素個數(shù).
LWks=rand()
bLk=rand()
證明:
為驗證等比例系數(shù)型BP神經(jīng)網(wǎng)絡權值和閾值的初始化方法,對網(wǎng)絡收斂性能的影響.利用Matlab軟件對非線性函數(shù)y=x12+x22做基于BP神經(jīng)網(wǎng)絡的擬合.該函數(shù)有兩個輸入?yún)?shù),一個輸出參數(shù),所以BP神經(jīng)網(wǎng)絡的結構為:輸入節(jié)點兩個;隱含層一個,含5個神經(jīng)元,采用tansig傳遞函數(shù);輸出層含一個神經(jīng)元,采用purelin傳遞函數(shù).網(wǎng)絡相關參數(shù)設定為:最大學習次數(shù)epochs=100;學習率lr=0.1;目標為goal=0.000 03.權值和閾值的初始化,網(wǎng)絡net1采用Matlab中newff函數(shù)默認的基于Nguyen-Widrow算法的方法;網(wǎng)絡net2采用本文所述的等比例系數(shù)型初始化方法.進行了10次的實驗,每次隨機抽取訓練數(shù)據(jù)1 900組,測試數(shù)據(jù)100組,實驗結果見表1.表1中網(wǎng)絡net2收斂學習次數(shù)的平均值27.2明顯小于網(wǎng)絡net1收斂學習次數(shù)的平均值46.1,而網(wǎng)絡的平均預測誤差相差不大.可見在該例中采用等比例系數(shù)型初始化方法使網(wǎng)絡的收斂性能有明顯提高.
表1 兩種初始化方法的對比
影響B(tài)P算法收斂性能的因素眾多,等比例系數(shù)型初始化方法與其他權值和閾值的初始化方法一樣沒有普適性.在對BP神經(jīng)網(wǎng)絡權值和閾值進行初始化時,應綜合考慮訓練樣本的特性、學習速率、網(wǎng)絡結構等因素,嘗試多種初始化方法,以便確定最合適的初值.
[1]張德豐.MATLAB神經(jīng)網(wǎng)絡編程[M].北京:化學工業(yè)出版社,2011.
[2]劉鯖潔,陳桂明,劉小方,等.BP神經(jīng)網(wǎng)絡權重和閾值初始化方法研究[J].西南師范大學學報:自然科學版,2010,35(6):137-141.
[3]史峰,王小川,郁磊,等.MATLAB神經(jīng)網(wǎng)絡30個案例分析[M].北京:北京航空航天大學出版社,2010.
[4]陳琳,何嘉.基于遺傳神經(jīng)算法優(yōu)化的漢語分詞模型[J].西南師范大學學報:自然科學版,2007,32(4):90-93.
[5]李娜,李郁俠.基于粒子群-BP 神經(jīng)網(wǎng)絡算法的電價預測[J].武漢大學學報:工學版,2008,41(4):102-105.
[6]范瑛.改進蟻群算法結合 BP 網(wǎng)絡用于入侵檢測[J].遼寧工程技術大學學報:自然科學版,2010,29(5):?966-969?.?
[7]汪云九,崔翯,齊翔林.BP學習網(wǎng)絡中權值的感受野型初始化研究——Ⅰ.對收斂速度的影響[J].自然科學進展,1996(3):92-96.
[8]方千山,王永初.均勻設計的神經(jīng)網(wǎng)絡[J].儀器儀表學報,2003,24(5): 509-511.