陶保壯,方厚加
(淮南聯(lián)合大學計算機系,安徽淮南232001)
BP 算法應用中的關鍵問題
陶保壯,方厚加
(淮南聯(lián)合大學計算機系,安徽淮南232001)
分析了學習方法的選擇、隱層數和隱層單元、學習步長的選擇、避免局部最小的方法、學習樣本的選擇、激活函數的選擇等使用BP算法時應考慮的問題,并將BP網絡應用于化學反應催化模型。
BP算法;隱層數和隱層單元數;學習步長;學習樣本
BP算法的基本思想是,學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成[1](P42)。正向傳播時,輸入樣本從輸入層傳入,經各隱層逐層處理后,傳向輸出層。如果輸出層的實際輸出與期望的輸出不符,則轉入誤差的反向傳播階段。誤差反傳是將輸出誤差以某種形式通過隱層向輸入層反傳,并將誤差分攤給各層的所有單元,從而獲得各層單元的誤差信號,此誤差即作為修正單元權值的依據。這種信號正傳播與誤差反向傳播的各層權值調整過程,是周而復始地進行的。權值不斷調整的過程,也就是網絡的學習訓練過程。該過程一直進行到網絡輸出的誤差減小到可接收的程度,或者進行到預先設定的學習次數為止。
1、單樣本學習法根據每一個學習樣本的誤差,求權值修正值,更新值;成批學習法根據所有學習樣本的總誤差,求權值修正值,更新權值。一般來說,學習樣本中噪聲較小時,用單樣本學習法較合適。
2、單樣本學習法的缺點是每次迭代的梯度值受學習樣本中的噪聲影響較大,而成批學習法的缺點是忽略了學習樣本的個體差異而降低學習的靈敏度。通常,可以將上述兩種方法進行折衷,即將學習樣本集分成若干個子塊分別進行以子塊為單位的成批學習,當誤差收斂到一預定數值,再以此時權值為初值,轉入下一個子塊進行學習,在所有的子塊學習完后,如果總的誤差滿足要求,學習結束。否則,轉入下一個循環(huán)繼續(xù)學習。
3、規(guī)模較大的BP網絡學習時,可以將它以一定的比例縮小成較小的BP網絡,先訓練這個較小的BP網絡,將學習的結果以同樣的比例提升到原來較大規(guī)模的網絡,再訓練較大規(guī)模的網絡。實驗證明對于大規(guī)模BP網絡這種學習方法速度快,特征抽取能力強[2](P65-69)。
1、一般總是先選擇一個隱層的BP網絡,但如果選擇一個隱層時,隱層單元數目較大,可以考慮選用兩個隱層,而每個隱層的單元數取較小值。
2、隱層單元數目HN的選擇是否合適是應用BP網絡成功與失敗的關鍵因素之一,HN值太小,學習過程可能不收斂;HN值越大,網絡映射能力越強,局部最小點越少,越容易收斂到全局最小點[3]。但HN過大,不但使學習時間過長,而且網絡容易訓練過度,會使網絡的容錯性降低。因為如果網絡對學習樣本的學習太“精確”,即使檢測樣本與學習樣本之間有很小的畸變,網絡也會判為非。目前,最佳隱層單元數的選擇尚無理論指導。實際應用中,可以先取較小的HN,訓練并檢驗網絡的性能。然后稍增大HN,再重試。試驗確定合適的[3]。
學習步長(或稱學習速率)的取值較大時,學習速度快,但會引起權值振蕩,太大將引起權值發(fā)散;取值較小時,網絡學習速度慢,訓練時間長。步長的取值應在學習速度與權值的穩(wěn)定性之間折衷選擇,但最好是用變步長的方法。文獻[2]給出一種方法,先設一初始步長,若一次迭代后誤差增大,則將步長乘以小于1的正數,否則步長乘以大于1的正數。步長隨學習的進展而逐步減小。文獻[3]根據連續(xù)兩次迭代時,梯度方向的相似或相反,來增加或減小步長。應該注意的是,學習步長的選擇與的動量因子的選擇不是孤立的,它們之間有一定的等效性。
1、增加動量項(或稱慣性項、矩項等)并適當選擇動量因子(或稱慣性系數),可以抑制學習過程中的振蕩和有助于擺脫局部最小。動量因子一般選在0.9左右。根據連續(xù)兩次迭代時,梯度方向的相似或相反,來增加或減小動量因子(與學習步長同時考慮)。
2、給權值加小的隨機擾動,有助于網絡擺脫局部最小。
3、將BP算法與模擬退火算法或遺傳算法結合起來,可以避免陷入局部最小,但要影響學習速度。
1、選擇學習樣本時,不僅要包括所有的模式類別,而且每種類別所具有的學習樣本數要平衡,不能偏重某一類型。但如果事先明確類型A出現(xiàn)的機會比類型B大一倍,這時可以選擇類型A的學習樣本比類型B的學習樣本多一倍。如果事先知道類型A的誤差比類型B的大,那么類型A的學習樣本要多于類型B的。這樣可以改善網絡的性能。
2、學習時,在學習樣本中適當加些噪聲,可以提高網絡的抗噪聲能力。
3、學習樣本應盡可能相互獨立而沒有相關關系,盡可能用正交設計方法來獲得足夠多的學習樣本。
其它技巧①
1、初始權值最好設置為較小(單極S型函數時,可選-0.3~0.3之間的隨機數)。
2、激活函數采用單極S型函數時,學習樣本期望輸出設置為0.1或0.9較合適。
3、給定一定的允許誤差,當網絡的輸出與樣本之間的差小于給定的允許誤差時,則停止學習。對網絡學習采取這種寬容的做法,可加快學習速度。還可以在開始學習時允許誤差取大些,以后逐漸減小。
應用BP網絡分析測試了化學反應催化問題,牛頓已給出了化學反應催化問題的說明,其描述如下:
該模型包含3層:輸入層,隱層,輸出3層感知器,輸入向量為X=(x1,x2,…,xi,…,xn)T,隱層輸出向量為Y=(y1,y2,yi,…,ym)T,輸出層輸出向量為O=(O1,O2,…,Oi,…,Ol)T;期望輸出向量為O=(O1,O2,…,Ok,…,Ol)T。
(1)初始化
初始化權值,權值用一個三維數組表示,W[i][j][k],i表示第幾層的權值,j和k分別表示本層節(jié)點k和上一層的節(jié)點j。
(2)輸入訓練樣本對,計算各層輸出u[i][j],其中u[i][j]表示第i層的第j個節(jié)點的輸出,i從1開始。
(3)計算網絡輸出誤差
e[2][node]=u[2][node]-OutputDate[node],其中數組e表示誤差,OutputDate為期望的輸出值。
(4)計算各層誤差信號
(5)調整各層權值
w[layer][j][i]=w[layer][j][i]+ALPHA*delta_w[layer][j][i]-STUDY_SPEED*g[layer][j][i],其中ALPHA為沖動系數,delta_w[layer][j][i]為沖動向量,STUDY_SPEED為學習速率。g[layer][j][i]是誤差函數對權值w的導數。
(6)檢查網絡總誤差是否達到進度要求
判斷w ucha>EP是否成立(w ucha為實際輸出與期望輸出的差,EP是給定值),如果成立,訓練結束,否則返回步驟(2)。
為更好地分析BP算法的實時性、預測精度、收斂性等性能,筆者借鑒引用文獻[6]中的相關數據,利用25個邊坡實例,對BP神經網絡模型進行有效性檢驗。表1為訓練樣本,對表中數據進行歸一化處理,誤差的收斂值為0.001;表中前面數據為催化劑配方比,后三項數據是三種化合物產量比。
表1 輸入數據
表2 不同催化劑配方實際輸出結果與預測結果比較
表3 算法性能
BP網絡是非線性多層向前網絡,對于任一個BP網絡,總存在一個感知器(如 RBF)與之對應,反之亦然。BP網絡算法采用基于誤差反向傳播的梯度算法,充分利用了多層前向網絡的結構優(yōu)勢,在正反向傳播過程中每一層的計算都是并行的,算法在理論上比較成熟;上述實驗表明了BP網絡的特性主要體現(xiàn)在以下幾個方面:
①BP網絡的隱層可以是一層或多層。
②BP感知器的隱層和輸出層其神經元模型是相同的。
③BP網絡的隱單元激勵函數計算的是輸入單元和連接權值的內積。
⑥BP網絡相對于其它網絡而言(如RBF)其精確度高、泛化能力較強。
⑦BP網絡能以任意精度逼近任何非線性函數,在函數逼近問題上,若樣本是非線性的,BP網絡效果明顯優(yōu)與其他網絡。
⑧BP隱含層難設計,BP網絡使用的Sigmoid函數具有全局特性,它在輸入值的很大范圍內每個節(jié)點都對輸出值產生影響,并且激勵函數在輸入值的很大范圍內相互重疊,因而相互影響,故BP網絡訓練過程很長[7]。
在實際使用中,由于BP算法的固有特性,BP網絡容易陷入局部極小的問題不可能從根本上避免,并且BP網絡隱層節(jié)點數目的確定依賴于經驗和試湊,很難得到最優(yōu)網絡。如上分析,我們可以采用多種方法提高BP網絡的性能:如增加學習的樣本空間,已知的樣本空間越多,提供的客觀信息越多,因而訓練出的連接權值可以提高預測的準確性;隱層數和隱層單元數的選擇要適當,需要通過多次測試給出最優(yōu)設計,有必要時增加隱含層層數;學習步長應該根據實際情況給出,太小沒有區(qū)分度,太大則會影響預測效果。
注釋:
①張燕萍:《神經網絡講義》,合肥:安徽大學,2007.
[1]張立明.人工神經網絡的模型及其應用[M].上海:復旦大學出版社,1993.
[2]黃風崗,宋克嗚.模式識別[M].哈爾濱:哈爾濱工程大學出版社,1998.
[3]楊萬山,陳松喬,唐連章.基于BP神經網絡的工程圖紙圖形符號識別[J].微型電腦應用,2000,16(2):22-23.
[4]韓力群.人工神經網絡教程[M].北京:北京郵電大學出版社,2006.
[5]舒懷林.PID神經元網絡及其控制系統(tǒng)[M].北京:國防工業(yè)出版社,2006.
[6]孫麗英,葛超,朱藝.RBF神經網絡在函數逼近領域內的研究[J].計算機與數字工程,2007,(8):47-48.
[7]潘登,鄭應平,徐立鴻,等.基于RBF神經網絡的網格數據聚類方法[J].計算機應用,2007,(2):25-27.
The Key Problem of BP Algorithm Application
TAO Bao-zhuang,FANG Hou-jia
(Department of Com puter,H uainan Unit University,H uainan 232001,China)
In this paper the use of BP algorithm should take into account the p roblems and techniques,in particular the choice of learning methods,hidden layers and hidden units,learning step the choice of method to avoid localminimum,the choice of learning samp les,the activation havemade the choiceof function in detail,and then test the app lication of BP netwo rk analysisof the chemical reaction catalyzed model.
BP algo rithm;hidden layer and hidden layer units;learning step;the study sample
TP301.6
A
1009-9735(2010)05-0039-03
2010-07-12
陶保壯(1972-),男,安徽淮南人,講師,碩士,研究方向:嵌入式系統(tǒng)開發(fā)與應用;方厚加(1972-),男,安徽淮南人,講師,研究方向:數據通信與計算機網絡。