丁碩,常曉恒,巫慶輝,楊友林
(渤海大學工學院,遼寧 錦州 121013)
數值優(yōu)化改進的BP神經網絡逼近性能對比研究
丁碩,常曉恒,巫慶輝,楊友林
(渤海大學工學院,遼寧 錦州 121013)
為了比較不同的數值優(yōu)化改進的BP神經網絡的逼近性能,本文在MATLAB 7.0環(huán)境下,建立了三類基于數值優(yōu)化改進的BP算法,并以非線性函數逼近為例,對7種典型的數值優(yōu)化改進算法進行網絡訓練和仿真實驗,得出了在不同環(huán)境下,每種數值優(yōu)化差法逼近的可行性。
數值優(yōu)化;BP神經網絡;逼近性能;對比研究
數值逼近是指給定一組數據,用數學分析的方法來分析這組數據,常用的數學分析方法有多項式擬合和插值運算。由于人工神經元網絡(Artificial Neural Networks,ANN)具有很強的非線性映射能力、自學習性和容錯性,所以,近些年來采用ANN對非線性函數進行逼近成為該領域的一個研究熱點,其優(yōu)越性可在數據本身需要決定的模式特征不明確或含有噪聲等情況下得到體現。目前,國內外學者絕大部分使用的ANN模型是BP神經網絡,但是,傳統(tǒng)的BP網絡存在收斂速度慢、訓練時間長和目標函數存在局部最小等缺點,所以,學者們提出了許多改進算法。BP網絡算法,其實就是對于非線性函數進行優(yōu)化。以往在求解此類問題時,經常利用數值優(yōu)化的方法,因為該方法在求解非線性函數時具有收斂速度較快的優(yōu)點,所以部分學者用其對BP算法進行改進。數值優(yōu)化算法需要同時考慮非線性函數的一階導數和二階導數信息[1-3]。本文在詳細分析了3類基于數值優(yōu)化改進的BP算法的基礎上,通過實例仿真,比較各類數值優(yōu)化算法應用于BP神經網絡后的逼近效果,得出在不同環(huán)境下,每種數值優(yōu)化算法逼近的可行性。
1.1 共軛梯度優(yōu)化算法原理
共軛梯度優(yōu)化算法的實質是沿著梯度最陡的方向下降來對權值進行修正,誤差函數沿著梯度最陡的方向下降最快,收斂速度比沿著梯度最陡的方向的收斂速度更快。典型的共軛梯度優(yōu)化算法主要有4種,分別是:Fletcher-Reeves、Polak-Ribiere、Powell-Beale和Scaled Conjugate Gradient(SCG)優(yōu)化算法。共軛梯度優(yōu)化算法的首輪迭代過程為:
最佳線性搜索方向如式(2)所示:
式(3)中,p(k)為經過k+1輪迭代后的搜索方向,由前一輪迭代后的梯度、搜索方向共同決定,β(k)的算法視其具體屬于哪一種共軛梯度優(yōu)化算法而定。在MATLAB的Toolbox中,Fletcher-Reeves優(yōu)化算法對應的訓練函數為traincgf(β(k)的算法如式(4)所示),Polak-Ribiere優(yōu)化算法的對應的訓練函數為traincgp(β(k)的算法如式(5)所示)[4]。
Powell-Beale優(yōu)化算法的迭代過程為:
SCG優(yōu)化算法在4種共軛梯度優(yōu)化算法中迭代過程最為簡單,計算量最小。
1.2 擬牛頓優(yōu)化算法原理
擬牛頓法是一種改進BP算法的常見數值優(yōu)化方法,其理論基礎是牛頓法。擬牛頓算法的權值更新如式(8)所示:
式(9)中,方向向量p(k)用梯度向量g(k)來定義,矩陣S(k)是每次迭代中調整的正定矩陣,這樣做的目的在于方向向量d(k)逼近牛頓法的方向{H(k)}-1×▽f(x(k))。令q(k)=g(k+1)-g(k),Δw(k)=w(k+1)-w(k),且通過逼近式(10)可以成立。
用S(k)去逼近H(k),則式(11)可以成立。
當誤差函數是二次函數時,式(11)是精確的,擬牛頓算法實現了對Hessian矩陣H(k)的逼近。H(k)的近似矩陣S(k)根據式(11)使用遞歸公式可得:
當式(12)中ε(k)取值不同時,逼近Hessian矩陣的方法不同[5]。比較典型的是BFGS(Broyden,Fietcher,Goidfard,Shanno)優(yōu)化算法和一步割線優(yōu)化算法。在MATLAB的Toolbox中,采用BFGS優(yōu)化算法和一步割線優(yōu)化算法的訓練函數分別為trainbfg和trainoss。
1.3 LM(Levenberg-Marguardt)優(yōu)化算法原理
LM算法與擬牛頓算法一樣是為了在近似二階訓練速率進行修正時避免計算Hessian矩陣而設計的。若誤差函數用平方和表示時,可以用下式來表示Hessian矩陣:
梯度表達式如為:
式(13)中,J(k)是包含網絡誤差對權值和閾值的一階導數的雅克比矩陣,式(14)中,e為誤差向量。
LM算法可按照下式進行修正:
式(15)中,I為單位矩陣,比例系數μ是一個大于0的很小的參數,當μ接近0時,式(15)變?yōu)榕nD法;當μ很大時,式(15)變?yōu)樘荻认陆捣āR驗榕nD法在對最小誤差進行逼近時,收斂速度快、精度高,所以應使式(15)最終接近于牛頓法,使μ減??;僅在進行嘗試性迭代后的誤差性能增加的情況下,才使μ增加[6-7]。在MATLAB的Toolbox中,LM算法對應的訓練函數為trainlm。
建立數值優(yōu)化改進的BP神經網絡,主要包含網絡層數、隱層神經元個數、初始權值和學習率4個要素。
2.1 網絡層數的確定
根據ANN的函數逼近理論,1個3層BP網絡可以逼近任意非線性函數。網絡層數越多誤差越小,精度越高,但另一方面會增加網絡的復雜性,使訓練時間延長。一般來講,在預設的精度范圍內,具有單隱層的BP神經網絡足以逼近非線性函數。因此,本文在進行函數逼近實驗時,BP神經網絡采用單隱層結構。
2.2 隱層神經元個數
隱層神經元數目的冗余將使網絡龐大、訓練困難,而不足又會導致訓練失敗。隱層神經元數目與輸入、輸出層神經元數目相關。本文采用動態(tài)法來確定隱層神經元數,即一開始選用較少的隱層神經元,如果學習一定次數后效果不好,再增加隱層神經元,一直達到比較合理的隱層神經元數為止。經過多次實驗,隱層神經元數最終確定為13,可以達到逼近要求。
2.3 初始權值的選取
初始權值對于非線性的BP神經網絡的收斂程度和訓練時間影響很大。若初始權值過大,會造成輸入值在加權后落入傳遞函數的飽和區(qū),進而使得訓練停止。所以,本文在建立數值優(yōu)化BP神經網絡時,輸入值在加權處理后盡可能接近0,這樣可以保證初始權值的調整發(fā)生在S型傳遞函數的斜率最陡處。
2.4 學習率
學習率過大,系統(tǒng)就會不穩(wěn)定;相反,網絡的訓練時間就會延長,收斂速度緩慢,最終陷入局部最小值0,所以學習率一般選?。?.01,0.8)之間。本文為了兼顧系統(tǒng)穩(wěn)定性和較快的收斂速度,學習率選取為0.1。
針對共軛梯度算法、擬牛頓法和LM算法分別設計實現了7種數值優(yōu)化BP神經網絡,由樣本數據實現對如式(16)所示的非線性函數逼近。
MATLAB7.0作為計算機仿真平臺,輸入樣本數據為x∈[0,8],采樣間隔是0.1,樣本總數是80個。因為線性神經網絡的學習規(guī)則是Widrow-Hoff學習規(guī)則,又稱為最小均方誤差(Least Mean Error,LMS)學習算法,所以本文在建立數值優(yōu)化BP神經網絡時所選用的誤差準則為均方誤差(MSE),其計算公式如式為:
式(17)中,k=1,2,…,表示輸入向量與對應的期望輸出向量樣本對的數量,dk=(d1(k),d2(k),…),表示網絡的期望輸出向量,yk=(y1(k),y2(k),…)表示網絡的實際輸出向量。選取Sigmoid作為激活函數,在MSE預置誤差精度為0.000 01,學習率0.1,學習次數設為20 000次時,對共軛梯度算法、擬牛頓法和LM算法進行計算機編程,并對網絡進行訓練和仿真逼近,取20次計算機運算的平均值作為實驗最終結果。7種優(yōu)化算法對于目標函數的實際逼近結果如圖1~7所示。7種數值優(yōu)化改進BP算法仿真結果對比見表1。
表1 數值優(yōu)化改進BP算法仿真結果對比Table 1 Simulation result comparison of numerical optimization improved BP neural network algorithms
圖1 Fietcher-Powell算法逼近結果Fig.1 Approximation results of Fietcher-Powell algorithm
圖2 Polak-Ribiere算法逼近結果Fig.2 Approximation results of Polak-Ribiere algorithm
圖3 Powell-Beale算法逼近結果Fig.3 Approximation results of Powell-Beale algorithm
圖4 SCG算法逼近結果Fig.4 Approximation results of SCG algorithm
圖5 一步割線算法逼近結果Fig.5 Approximationresultsofone-step secantalgorithm
圖6 BFGS算法逼近結果Fig.6 ApproximationresultsofBFGS algorithm
由圖1~3可以看出,在4種典型的共軛梯度算法中,Fletcher-Reeves算法、Polak-Ribiere算法和Powell-Beale算法的逼近效果很差,在目標函數斜率變化較大處均出現了很大程度的逼近誤差,且在規(guī)定的最大收斂步數范圍內,最終未能完成逼近任務,均方誤差也未能達到逼近要求,且誤差很大。
圖7 LM算法逼近結果Fig.7 ApproximationresultsofLMalgorithm
由圖4和表1可以看出,在4種典型的共軛梯度算法的逼近性能中,采用SCG算法訓練較其他共軛梯度算法需要的迭代次數顯著減少,收斂速度較快,均方誤差明顯較其他3種典型的共軛梯度算法減小,達到了逼近誤差要求,完成了逼近任務,這是因為SCG算法不用進行行搜索。由圖5~6可以看出,BFGS和一步割線算法的整體逼近效果優(yōu)于4種典型的共軛梯度算法。由表1可以看出,在2種典型的擬牛頓算法中,BFGS算法的收斂步數較一步割線算法少,逼近精度也明顯優(yōu)于一步割線算法,但因為要存儲近似Hessian矩陣,BFGS算法每步迭代的計算量和內存需求大于共軛梯度法??偟膩碚f,在訓練稍小網絡時使用BFGS算法效果較好,擬牛頓法的逼近性能優(yōu)于共軛梯度法。LM算法收斂速度最快,且精度也最高,逼近結果遠遠小于其他數值優(yōu)化算法的均方誤差,具有最佳的逼近性能見圖7。
由于無法對所有非線性函數一一進行逼近,本文僅以一個函數為例設計了實驗。對于不同函數進行逼近實驗,BP神經網絡的學習時間有很大差別,但各類優(yōu)化算法誤差收斂快慢的優(yōu)劣趨勢沒有很大變化??梢钥吹贸龉曹椞荻确ǖ谋平Ч鄬^差。一般來講,共軛梯度算法要求在每次迭代時進行行搜索,而這種行搜索導致收斂速度明顯慢于LM算法和擬牛頓算法。在4種典型的共軛梯度算法中,SCG算法和其他3種共軛梯度算法相比,需要較少的迭代次數,勉強達到逼近精度要求。采用LM算法收斂速度最快,如果就訓練準確性和逼近精度來講,該算法明顯優(yōu)于其他幾種數值優(yōu)化算法,但該算法需要計算誤差函數的二階導數,算法的復雜度增大,因此,當BP神經網絡的結構相對簡單且網絡參數很少時,該算法比較容易實現,仿真效果好;當BP神經網絡的結構比較復雜時,該算法在計算過程中會產生大量的中間結果矩陣,需要較大的計算機內存空間,實現LM算法的難度會大大增加。所以在中小型網絡中應優(yōu)先采用LM算法進行逼近。盡管擬牛頓算法進行逼近時要求存儲近似Hessian矩陣,但仍比共軛梯度法的收斂速度要快,僅次于LM算法。所以,如果內存空間較小,也可以嘗試使用擬牛頓算法。
[1]高雪鵬,叢爽.BP網絡改進算法的性能對比研究[J].控制與決策,2001,16(2):167-171.
[2]周黃斌,周永華,朱麗娟.基于MATLAB的改進BP神經網絡的實現與比較[J].計算技術與自動化,2008,27(1):28-31.
[3]曹旭帆,葉舟,萬俊,等.基于BP神經網絡的函數逼近實驗及MATLAB實現[J].實驗室研究與探索,2008,27(5):34-38.
[4]丁碩,巫慶輝.基于改進BP神經網絡的函數逼近性能對比研究[J].計算機與現代化,2012(11):10-13.
[5]劉天舒.BP神經網絡的改進研究及應用[D].哈爾濱:東北林業(yè)大學,2011.
[6]DING S,WU Q H.A MATLAB-based study on approximation performances of improved algorithms of typical BP neural networks[J].Applied Mechanics and Materials,2013,313/314:1353-1356.
[7]智會強,牛坤,田亮,等.BP網絡和RBF網絡在函數逼近領域內的比較研究[J].科技通報,2005,21(2):193-197.
Comparative study of approximation performance of numerical optimization improved BP neural networks
DING Shuo,CHANG Xiao-heng,WU Qing-hu i,YANG You-Iin
(School of Industry,Bohai University,Jinzhou 121013,China)
We address numerical optimization improved BP neural network algorithms to compare their approximation capabilities. We establish three kinds of numerical optimization improved BP algorithms in MATLAB 7.0. Network training and simulation test are then performed for seven typical numerical optimization improved algorithms with non-linear function approximation as an example. We compare the approximation performance of different numerical optimization in defferent environments.
numerical optimization;BP neural networks;approximation performance;comparative study
TP391.9
A
1002-4026(2014)01-0068-05
10.3976/j.issn.1002-4026.2014.01.012
2013-07-02
國家自然科學基金(61104071);遼寧省教育廳科學研究一般項目(L2012402)
丁碩(1979-),男,講師,研究方向為動態(tài)檢測、測試信號處理以及虛擬儀器。Email:dingshuo2004@sina.com