m神經(jīng)網(wǎng)絡(luò)工具箱算法比較_第1頁
m神經(jīng)網(wǎng)絡(luò)工具箱算法比較_第2頁
m神經(jīng)網(wǎng)絡(luò)工具箱算法比較_第3頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、計算機第 23卷 第 5期2006年 5月文章編號: 1006 - 9348 ( 2006) 05 - 0142 - 03神經(jīng)網(wǎng)絡(luò)工具箱 BP算法比較蒲春 ,孫政順 ,趙世敏(自動化系,北京 100084)摘要 : BP前饋網(wǎng)絡(luò),應(yīng)用的最為廣泛的神經(jīng)網(wǎng)絡(luò),目前擁有許多算法。研究了神經(jīng)網(wǎng)絡(luò)工具箱提供的多種 BP算法函數(shù)各自的優(yōu)勢和不足,以能在各種不同條件面對不同問題時選用更合適更快速的算法。在介紹了這些算法的基本原理的基礎(chǔ)上,以一級倒立擺模型為例進行研究。分別選用簡單網(wǎng)絡(luò)和復雜網(wǎng)絡(luò),并對學習步長做了改變,對比了各種 BP算法在不同情況下的迭代次數(shù)和時間,驗證了新型 BP算法的優(yōu)勢,得出了對簡單網(wǎng)

2、絡(luò)和復雜網(wǎng)絡(luò)應(yīng)該如何選用 BP算法的結(jié)論。:神經(jīng)網(wǎng)絡(luò)工具箱; 反向算法; 倒立擺號 : TP391. 9文獻標識碼 : ACom par ison of BP A lgor ithm s inNN ToolboxPU Chun, SUN Zheng - shun, ZHAO Shi - m in(Dep t. of Autom ation, Tsinghua University,100084, China)ABSTRACT:BP feed forward network, the mostwidely used neural network, hasmany algorithm s at p

3、 resent. Advan2tages and disadvantages of various BP algorithm s p rovided inneural netwo rk too lbox are studied so that peop lecan choose more suitable and faster algorithm s when different conditions and different p roblem s are faced. After intro2 ducing the basic p rincip le of these algorithm

4、s, study of sim ulation is carried out by using a single inverted pendulumas examp le. Choosing simp le and comp lex nets respectively, and changing the learning step s, the iteration step s and sim ulation time of various BP algorithm s in different conditions are compared. Advantages of new BP alg

5、orithm s are validated. Advice on how to select BP function is given.KEYW O RD S:Neural network too lbox; BP algorithm; Inverted pendulum1 引言神經(jīng)網(wǎng)絡(luò)是從微觀結(jié)構(gòu)和功能上模擬人腦的組織結(jié)構(gòu)和運行機制 ,由大量簡單的神經(jīng)元分層組織在一起 ,實現(xiàn)人腦的某些功能。它不需要對被描述的對象建模 ,能夠較好地描述非線性系統(tǒng)和不確定性系統(tǒng)。神經(jīng)網(wǎng)絡(luò)具有可并行計BP前饋網(wǎng)絡(luò)是應(yīng)用的最為廣泛的神經(jīng)網(wǎng)絡(luò)。標準的BP網(wǎng)絡(luò)是根據(jù) W idrow - Hoff規(guī)則 ,采用梯度下降算

6、法 ,反向計算各層系數(shù)的增量。在實用中 BP算法存在著兩個重要問題:收斂速度慢和目標函數(shù)存在局部極小。這大大限制了BP網(wǎng)絡(luò)的應(yīng)用。隨著研究新的快速有效的算法出現(xiàn)了。對 BP網(wǎng)絡(luò)的深入研究 ,許多以神經(jīng)網(wǎng)絡(luò)為基礎(chǔ) ,包算、分布式信息應(yīng)用在非線性、自適應(yīng)和自學習功能強等優(yōu)點 ,被廣泛領(lǐng)域。網(wǎng)絡(luò)的學習過程由正向和反向傳含著大量 BP網(wǎng)絡(luò)的作用函數(shù)和算法函數(shù) ,為 BP網(wǎng)絡(luò)的研究提供了便利的工具。眾多的算法各自有各自的特點 ,在不同情況下選用合適的算法可以達到事半功倍的效果。播二部分組成。在正向過程中 ,工作信號由施加輸入信號后向前,通過與神經(jīng)元的權(quán)值和作用函數(shù)進行作用產(chǎn)生輸出 ,直到輸出端得到實際輸

7、出的信號。反向中 ,實際輸出與期望輸出的誤差 ,從輸出端逐層的反向過程。神經(jīng)網(wǎng)絡(luò)工具箱中各種 BP算法函數(shù)2在反向的過程中修改各層神經(jīng)元的權(quán)值。這二個過程1) traingd:最基本的 BP算法。反向采用的是梯度的交替反復 ,使得網(wǎng)絡(luò)的實際輸出逐漸向期望輸出逼近。下降法 ,按照梯度下降的方向修正各連接權(quán)的權(quán)值。權(quán)值的dX = lr 3 dperf / dX, 其中 d表示微分 (下同 ) , lr為修正量收稿日期: 2005 - 01 - 21學習步長 , X 為神經(jīng)元連接權(quán)值 , perf 為網(wǎng)絡(luò)性能函數(shù) , 默認 142 的一種折衷方法。權(quán)值根據(jù) X = X + a 3 dX修正 , dX

8、是搜索方向 , a 用來沿著搜索方向最小化性能函數(shù)。最初的搜索方向沿著梯度的負方向 , 再之后的迭代中按照 dX = - gX + A c 3 X step + B c 3 dgX 來修改 ,其中 X step是前次迭代權(quán)值的變化 , dgX 是最近一次迭代梯度的變化 , A c與 B c是新是平均平方誤差 m se。tra ingd的收斂速度很慢 , 學習步長的選擇很重要 , 過大容易振蕩 ,無法收斂到深窄的極小點 , 過小則容易爬行 , 或者陷于局部極小。2) traingdm:附加動量的梯度下降法。該方法是在反向法的基礎(chǔ)上 ,在每一個權(quán)值變化上加上一項正比于前次權(quán)值變化的值 ,并根據(jù)反向

9、來產(chǎn)生新的權(quán)值的變化 ,其的搜索方向的調(diào)整參數(shù)。由于不需要Hessian 矩陣 ,公式為 dX = m c 3rev + lr 3 ( 1 - m c) 3 dperf / dX,trainoss算法單步需要的計算量和比共軛梯度法略大。量都比 trainbfg要小 ,prev表示上一輪學習的參數(shù) , mc為動量項。3) 以上兩種是最原始的 BP算法。它們確實可以解決多層網(wǎng)絡(luò)的學習問題 ,但是收斂速度的過于緩慢阻礙了神經(jīng)網(wǎng)絡(luò)的發(fā)展。簡單的網(wǎng)絡(luò)用其學習還可以應(yīng)用 ,當網(wǎng)絡(luò)結(jié)構(gòu)比較復雜的時候 ,學習的時間會很長。4) traingda, traingdx: 這兩種算法都是自適應(yīng)學習步長法。學習步長可

10、以根據(jù)誤差性能函數(shù)進行調(diào)節(jié) ,能夠解決標準 BP算法中學習步長選擇不當?shù)膯栴}。自適應(yīng)學習步長法檢查權(quán)重的修正值是否真正降低了誤差函數(shù)。如果確實如此 ,則說明選取的學習步長有上升的空間 ,可以對其增加一個量。如若不是 ,那么就應(yīng)減小學習步長的值。當性能函數(shù)m se ( k + 1) < m se ( k) 的時候 ,增大步長 lr = lr inc 3 lr;當m se ( k + 1) > 1. 04 3 m se ( k) 時 ,減小步長 lr = lr dec 3 lr; 當 m se ( k + 1) 位于 m se ( k) 與 1. 04 3 m se ( k) 之間的時

11、候 , 步長不變。 traingda和 traingdx的區(qū)別在于 , traingdx是 traing2 da的附加動量形式。5) trainrp:彈性 BP算法。這種方法消除偏導數(shù)的大小對權(quán)值的有害影響 ,只利用導數(shù)的符號表示權(quán)更新的方向 , 而不考慮導數(shù)的大小。dX = deltaX. 3 sign ( gX) , gX 是梯度 , deltaX 是權(quán)值更新值 ,會根據(jù) gX 出現(xiàn)的反復和符號的異同進行修正。這種算法具有收斂速度快和占用內(nèi)存小的優(yōu)點。6) traincgf, traincgp, traincgb, trainscg: 四種共軛梯度法。分別采用 Fletcher - Ree

12、ves算法、Polak - R ibiers算法、Powell- Beale算法、成比例的共軛梯度算法。這幾種方法收斂速度比普通的梯度下降法要快很多。前三種方法都需要線性9) trainlm: Levenberg - Marquardt優(yōu)化算法 ,權(quán)值根據(jù) dX= - ( jXT 3 jX + I3 m u) - 1 jXT 3 E進行修正 ,其中 jX為誤差對權(quán)值微分的 Jacobian矩陣 , E為誤差向量 , mu為調(diào)整量。該方法學習速度很快 ,但占用內(nèi)存很大 ,對于中等規(guī)模的網(wǎng)絡(luò)來說 ,是最好的一種訓練算法。對于大型網(wǎng)絡(luò) ,可以通過置參數(shù) m em - reduc將 Jacobian矩

13、陣分為幾個子矩陣。這樣可以減少內(nèi)存的消耗 ,但學習時間會增大。10) trainbr:貝葉斯規(guī)則法。對 Levenberg - Marquardt算法進行修改 ,降低了確定最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)的難度。3 對一級倒立擺的比較下面以一個一級倒立擺的模型為例比較一下各種 BP算法的學習時間與迭代次數(shù)。倒立擺系統(tǒng)是一個典型的多變量、非線性、強耦合和快速運動的自然不穩(wěn)定系統(tǒng)。為一階倒立擺系統(tǒng)做如下假設(shè) :1) 各部分得摩擦力 (力矩 ) 與相對速度 (角速度 ) 成正比;2) 整個對象系統(tǒng) (除絲繩外 )視為剛體;3) 絲繩無伸縮現(xiàn)象;4) 電路中信號傳遞和機械傳遞遲延不計。定義符號意義如下:r 小車位移 擺相

14、對小車角位移擺質(zhì)量M 小車質(zhì)量mJ 擺對質(zhì)量重心的轉(zhuǎn)動慣量L 擺的重心至轉(zhuǎn)軸的長度搜索 ,量的要求依次增大 ,對收斂速度來講 ,不同的問題F 小車系統(tǒng)的摩擦系數(shù)F1白的摩擦阻力矩系數(shù)會不同。Trainscg不需要線性搜索 ,比前三種方法需要的迭G0 直流放大器和電機的放大系數(shù) , 即小車上的牽引力與直流放大器的輸入電壓之比對一級倒立擺做運動分析 ,并在平衡點附近做線性化 ,得到倒立擺的狀態(tài)方程:代次數(shù),但每次迭代的計算量要小許多。共軛梯度算法的計算代價比較低 ,在較大規(guī)模問題中十分有用。7) trainbfg:擬牛頓算法。權(quán)值根據(jù) X = X + a 3 dX修改 , dX 是搜索方向 , a

15、用來沿著搜索方向最小化性能函數(shù)。最初的搜索方向沿著梯度的負方向 , 再之后的迭代中按照 dXx?1 x?2 x?3x?4x1 x2 x3x40I23 20= -3 gX 來修改 , H 為近似 Hessian矩陣。Trainbfg算H- 1=+u3 - 1 33 - 1 33 - 1 3MNMFMG法需要的迭代次數(shù)比較少 ,但由于要每步都要Hessian矩陣 ,所以單步計算量和量都很大 ,適合小型網(wǎng)絡(luò)。8) trainoss:一步割線算法。為共軛梯度法和擬牛頓法其中令: 143 0分別取 0. 0001 和 0. 00001;復雜網(wǎng)絡(luò)為 4 層 ,各層神經(jīng)元數(shù)分別為 30, 50, 20, 1

16、,目標誤差取 0. 0001。經(jīng)過多組訓練 ,得到的結(jié)論基本相同。取其中一組 ,訓M + mmLm l- F033M=, F=J + mL2- F1Go00N 3, G3) T( r r?) TX = ( x x x x=1 2 3 4練時間迭代次數(shù)如表 1 (劃 X的因其劣勢很明顯 ,未做,0 m gL0其中 traingd和 traingdm 簡單網(wǎng)絡(luò) ( goal = 0. 0001)學習步長為0. 05,其余對步長未做改動 )對倒立擺用各種 BP算法進行學習 ,分別以 1 個簡單網(wǎng)絡(luò)和復雜網(wǎng)絡(luò)進行。簡單網(wǎng)絡(luò)為兩層 ,各層神經(jīng)元數(shù)分別為 12, 1,目標誤差表 1 對一級倒立擺的比較簡單

17、網(wǎng)絡(luò) ( goal = 0. 0001)簡單網(wǎng)絡(luò) ( goal = 0. 00001)復雜網(wǎng)絡(luò) ( goal = 0. 0001)BP函數(shù)時間 ( s)時間 ( s)時間 ( s)迭代次數(shù)迭代次數(shù)迭代次數(shù)1. 9558 × 103traingd42997Xtraingdm23061949. 6570X2. 9487 × 103traingda13905559. 6250XX228012. 5544 × 103traingdx6203223. 9530684372646273. 1410trainrp81729. 31206802150. 947020642. 45

18、30traincgf21914. 469044221. 992016538. 3600traincgp23615. 359080434. 569027461. 0790traincgb16012. 094043019. 678014439. 0940trainscg46829. 328068025. 576022655. 12501. 9175 × 103trainbfg586. 984025313. 279037trainoss46531. 29706219240. 386019949. 7030trainlm112. 3120145. 14808286. 43705. 0967 × 103trainbr1213. 65701295. 8310334 結(jié)論由表 1的動量法 ,需要的步長 0. 01的時候 ,算法 J . 科技通報, 2002, 19 ( 2) : 130 - 135. 2 蘭雪梅,等. BP網(wǎng)絡(luò)的19 ( 1) : 6 - 9.實現(xiàn) J . 微型電腦應(yīng)用, 2003,結(jié)果可以看出 ,原始的 BP算法和其附加時間過長 ,基本不適用。采用默認學習出現(xiàn)嚴重的爬行 ,步長的選擇極大的范輝. 倒立擺京:系統(tǒng)設(shè)計及

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論