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

下載本文檔

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

文檔簡(jiǎn)介

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

2、絡(luò)和復(fù)雜網(wǎng)絡(luò)應(yīng)該如何選用 BP算法的結(jié)論。:神經(jīng)網(wǎng)絡(luò)工具箱; 反向算法; 倒立擺號(hào) : TP391. 9文獻(xiàn)標(biāo)識(shí)碼 : 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)和運(yùn)行機(jī)制 ,由大量簡(jiǎn)單的神經(jīng)元分層組織在一起 ,實(shí)現(xiàn)人腦的某些功能。它不需要對(duì)被描述的對(duì)象建模 ,能夠較好地描述非線性系統(tǒng)和不確定性系統(tǒng)。神經(jīng)網(wǎng)絡(luò)具有可并行計(jì)BP前饋網(wǎng)絡(luò)是應(yīng)用的最為廣泛的神經(jīng)網(wǎng)絡(luò)。標(biāo)準(zhǔn)的BP網(wǎng)絡(luò)是根據(jù) W idrow - Hoff規(guī)則 ,采用梯度下降算

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

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

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

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

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

11、候 , 步長(zhǎng)不變。 traingda和 traingdx的區(qū)別在于 , traingdx是 traing2 da的附加動(dòng)量形式。5) trainrp:彈性 BP算法。這種方法消除偏導(dǎo)數(shù)的大小對(duì)權(quán)值的有害影響 ,只利用導(dǎo)數(shù)的符號(hào)表示權(quán)更新的方向 , 而不考慮導(dǎo)數(shù)的大小。dX = deltaX. 3 sign ( gX) , gX 是梯度 , deltaX 是權(quán)值更新值 ,會(huì)根據(jù) gX 出現(xiàn)的反復(fù)和符號(hào)的異同進(jìn)行修正。這種算法具有收斂速度快和占用內(nèi)存小的優(yōu)點(diǎn)。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進(jìn)行修正 ,其中 jX為誤差對(duì)權(quán)值微分的 Jacobian矩陣 , E為誤差向量 , mu為調(diào)整量。該方法學(xué)習(xí)速度很快 ,但占用內(nèi)存很大 ,對(duì)于中等規(guī)模的網(wǎng)絡(luò)來(lái)說(shuō) ,是最好的一種訓(xùn)練算法。對(duì)于大型網(wǎng)絡(luò) ,可以通過(guò)置參數(shù) m em - reduc將 Jacobian矩

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

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

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

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

17、網(wǎng)絡(luò) ( goal = 0. 0001)簡(jiǎn)單網(wǎng)絡(luò) ( goal = 0. 00001)復(fù)雜網(wǎng)絡(luò) ( goal = 0. 0001)BP函數(shù)時(shí)間 ( s)時(shí)間 ( s)時(shí)間 ( 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的動(dòng)量法 ,需要的步長(zhǎng) 0. 01的時(shí)候 ,算法 J . 科技通報(bào), 2002, 19 ( 2) : 130 - 135. 2 蘭雪梅,等. BP網(wǎng)絡(luò)的19 ( 1) : 6 - 9.實(shí)現(xiàn) J . 微型電腦應(yīng)用, 2003,結(jié)果可以看出 ,原始的 BP算法和其附加時(shí)間過(guò)長(zhǎng) ,基本不適用。采用默認(rèn)學(xué)習(xí)出現(xiàn)嚴(yán)重的爬行 ,步長(zhǎng)的選擇極大的范輝. 倒立擺京:系統(tǒng)設(shè)計(jì)及

溫馨提示

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

評(píng)論

0/150

提交評(píng)論