神經(jīng)網(wǎng)絡-(6)BP網(wǎng)絡PPT課件_第1頁
神經(jīng)網(wǎng)絡-(6)BP網(wǎng)絡PPT課件_第2頁
神經(jīng)網(wǎng)絡-(6)BP網(wǎng)絡PPT課件_第3頁
神經(jīng)網(wǎng)絡-(6)BP網(wǎng)絡PPT課件_第4頁
神經(jīng)網(wǎng)絡-(6)BP網(wǎng)絡PPT課件_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2021/6/71人工神經(jīng)網(wǎng)絡及其應用第6章BP神經(jīng)網(wǎng)絡2021/6/72一、內容回顧二、BP網(wǎng)絡三、網(wǎng)絡設計四、改進BP網(wǎng)絡五、內容小結內容安排2021/6/73一、內容回顧 感知機自適應線性元件2021/6/74一、內容回顧 感知機感知機簡介神經(jīng)元模型網(wǎng)絡結構功能解釋學習和訓練局限性自適應線性元件2021/6/75一、內容回顧 感知機自適應線性元件Adline簡介網(wǎng)絡結構網(wǎng)絡學習網(wǎng)絡訓練2021/6/762.1 BP網(wǎng)絡簡介2.2 網(wǎng)絡模型2.3 學習規(guī)則2.4 圖形解釋2.5 網(wǎng)絡訓練二、BP網(wǎng)絡2021/6/77反向傳播網(wǎng)絡(Back-Propagation Network,簡稱BP網(wǎng)

2、絡)是將W-H學習規(guī)則一般化,對非線性可微分函數(shù)進行權值訓練的多層網(wǎng)絡 權值的調整采用反向傳播(Back-propagation)的學習算法它是一種多層前向反饋神經(jīng)網(wǎng)絡,其神經(jīng)元的變換函數(shù)是S型函數(shù)輸出量為0到1之間的連續(xù)量,它可實現(xiàn)從輸入到輸出的任意的非線性映射2.1 BP網(wǎng)絡簡介2021/6/782.1 BP網(wǎng)絡簡介BP網(wǎng)絡主要用于下述方面函數(shù)逼近:用輸入矢量和相應的輸出矢量訓練一個網(wǎng)絡逼近一個函數(shù)模式識別和分類:用一個特定的輸出矢量將它與輸入矢量聯(lián)系起來;把輸入矢量以所定義的合適方式進行分類;數(shù)據(jù)壓縮:減少輸出矢量維數(shù)以便于傳輸或存儲具有將強泛化性能:使網(wǎng)絡平滑地學習函數(shù),使網(wǎng)絡能夠合理

3、地響應被訓練以外的輸入 泛化性能只對被訓練的輸入輸出對最大值范圍內的數(shù)據(jù)有效,即網(wǎng)絡具有內插值特性,不具有外插值性。超出最大訓練值的輸入必將產(chǎn)生大的輸出誤差2021/6/792.2 網(wǎng)絡模型一個具有r個輸入和一個隱含層的神經(jīng)網(wǎng)絡模型結構 2021/6/7102.2 網(wǎng)絡模型感知器和自適應線性元件的主要差別在激活函數(shù)上:前者是二值型的,后者是線性的BP網(wǎng)絡具有一層或多層隱含層,除了在多層網(wǎng)絡上與前面已介紹過的模型有不同外,其主要差別也表現(xiàn)在激活函數(shù)上。BP網(wǎng)絡的激活函數(shù)必須是處處可微的,因此它不能采用二值型的閥值函數(shù)0,1或符號函數(shù)1,1BP網(wǎng)絡經(jīng)常使用的是S型的對數(shù)或正切激活函數(shù)和線性函數(shù)20

4、21/6/7112.2 網(wǎng)絡模型BP網(wǎng)絡特點輸入和輸出是并行的模擬量網(wǎng)絡的輸入輸出關系是各層連接的權因子決定,沒有固定的算法權因子通過學習信號調節(jié)。學習越多,網(wǎng)絡越聰明隱含層越多,網(wǎng)絡輸出精度越高,且個別權因子的損壞不會對網(wǎng)絡輸出產(chǎn)生大的影響只有當希望對網(wǎng)絡的輸出進行限制,如限制在0和1之間,那么在輸出層應當包含S型激活函數(shù)在一般情況下,均是在隱含層采用S型激活函數(shù),而輸出層采用線性激活函數(shù)2021/6/7122.2 網(wǎng)絡模型S型函數(shù)具有非線性放大系數(shù)功能,可以把輸入從負無窮大到正無窮大的信號,變換成-1到l之間輸出對較大的輸入信號,放大系數(shù)較??;而對較小的輸入信號,放大系數(shù)則較大采用S型激活

5、函數(shù)可以處理和逼近非線性輸入/輸出關系2021/6/7132.3 學習規(guī)則BP算法屬于算法,是一種監(jiān)督式的學習算法主要思想對于q個輸入學習樣本:P1,P2,Pq,已知與其對應的輸出樣本為:T1,T2,Tq使網(wǎng)絡輸出層的誤差平方和達到最小用網(wǎng)絡的實際輸出A1,A2,Aq, 與目標矢量T1,T2,Tq之間的誤差修改其權值,使Am與期望的Tm,(ml,q)盡可能接近2021/6/7142.3 學習規(guī)則BP算法是由兩部分組成,信息的正向傳遞與誤差的反向傳播正向傳播過程中,輸入信息從輸入層經(jīng)隱含層逐層計算傳向輸出層,每一層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)如果在輸出層未得到期望的輸出,則計算輸出層的誤

6、差變化值,然后轉向反向傳播,通過網(wǎng)絡將誤差信號沿原來的連接通路反傳回來修改各層神經(jīng)元的權值直至達到期望目標2021/6/7152.3 學習規(guī)則假設輸入為P,輸入神經(jīng)元有r個,隱含層內有s1個神經(jīng)元,激活函數(shù)為F1,輸出層內有s2個神經(jīng)元,對應的激活函數(shù)為F2,輸出為A,目標矢量為T2021/6/7162.3 學習規(guī)則信息的正向傳遞隱含層中第i個神經(jīng)元的輸出輸出層第k個神經(jīng)元的輸出定義誤差函數(shù)2021/6/7172.3 學習規(guī)則利用梯度下降法求權值變化及誤差的反向傳播 輸出層的權值變化 其中 同理可得2021/6/7182.3 學習規(guī)則利用梯度下降法求權值變化及誤差的反向傳播 隱含層權值變化 其

7、中 同理可得2021/6/7192.3 學習規(guī)則對于f1為對數(shù)S型激活函數(shù),對于f2為線性激活函數(shù)2021/6/7202.4 誤差反向傳播圖形解釋誤差反向傳播過程實際上是通過計算輸出層的誤差ek,然后將其與輸出層激活函數(shù)的一階導數(shù)f2相乘來求得ki由于隱含層中沒有直接給出目標矢量,所以利用輸出層的ki反向傳遞來求出隱含層權值的變化量w2ki。然后計算同樣通過將ei與該層激活函數(shù)的一階導數(shù)f1相乘,而求得ij,以此求出前層權值的變化量w1ij如果前面還有隱含層,沿用上述同樣方法依此類推,一直將輸出誤差ek逐層的反推算到第一層為止2021/6/7212.4 誤差反向傳播圖形解釋2021/6/722

8、2.5 網(wǎng)絡訓練訓練BP網(wǎng)絡,需要計算網(wǎng)絡加權輸入矢量以及網(wǎng)絡輸出和誤差矢量,然后求誤差平方和當所訓練矢量的誤差平方和小于誤差目標,訓練停止;否則在輸出層計算誤差變化,且采用反向傳播學習規(guī)則來調整權值,然后重復此過程網(wǎng)絡完成訓練后,對網(wǎng)絡輸入一個不是訓練集合中的矢量,網(wǎng)絡將以泛化方式給出輸出結果2021/6/7232.5 網(wǎng)絡訓練為了能夠較好地掌握BP網(wǎng)絡的訓練過程,我們用兩層網(wǎng)絡為例來敘述BP網(wǎng)絡的訓練步驟初始化:用小的隨機數(shù)初始化每一層的權值W和偏差B,保證網(wǎng)絡不被大的加權輸入飽和期望誤差最小值error_goal最大循環(huán)次數(shù)max_epoch修正權值的學習速率1r,一般情況下k0.0l,

9、0.72021/6/7242.5 網(wǎng)絡訓練變量表達:計算網(wǎng)絡各層輸出矢量A1和A2以及網(wǎng)絡誤差EA1tansig(W1*P,B1);A2purelin(W2*A1,B2);ET-A;權值修正:計算各層反傳的誤差變化D2和D1并計算各層權值的修正值以及新權值:D2deltalin(A2,E);D1deltatan(A1,D2,W2);dlWl,dBllearnbp(P,D1,lr);dW2,dB21earnbp(A1,D2,1r);W1W1十dW1;B1B1十dBl;W2W2十dW2;B2B2十dB22021/6/7252.5 網(wǎng)絡訓練計算權值修正后誤差平方和 SSEsumsqr(T-purel

10、in(W2*tansig(W1*P,B1),B2)檢查:SSE是否小于err_goal。若是,訓練結束;否則繼續(xù)以上所有的學習規(guī)則與訓練的全過程,可以用函數(shù)trainbp.m來完成它的使用只需定義有關參數(shù):顯示間隔次數(shù),最大循環(huán)次數(shù),目標誤差,以及學習速率。調用后返回訓練后權值,循環(huán)總數(shù)和最終誤差 TPdisp_freq max_epoch err_goal 1r W,B,epochs,errorstrainbp(W,B,F(xiàn),P,T,TP)2021/6/726三、網(wǎng)絡設計3.1 網(wǎng)絡的層數(shù)3.2 隱含層神經(jīng)元數(shù)3.3 初始權值的選取3.4 學習速率3.5 期望誤差的選取3.6 應用舉例3.7

11、局限性2021/6/7273.1 網(wǎng)絡的層數(shù)理論上已經(jīng)證明:具有偏差和至少一個S型隱含層加上一個線性輸出層的網(wǎng)絡,能夠逼近任何有理函數(shù) 定理:增加層數(shù)主要可以進一步的降低誤差,提高精度,但同時也使網(wǎng)絡復雜化,從而增加了網(wǎng)絡權值的訓練時間。 一般情況下應優(yōu)先考慮增加隱含層中神經(jīng)元數(shù) 僅用具有非線性激活函數(shù)的單層網(wǎng)絡來解決問題沒有必要或效果不好線性問題非線性問題2021/6/7283.2 隱含層神經(jīng)元數(shù)網(wǎng)絡訓練精度的提高,可以通過采用一個隱含層,而增加其神經(jīng)元數(shù)的方法來獲得。這在結構實現(xiàn)上,要比增加更多的隱含層簡單得多定理:實現(xiàn)任意N個輸入向量構成的任何布爾函數(shù)的前向網(wǎng)絡所需權系數(shù)數(shù)目為在具體設計

12、時,比較實際的做法是通過對不同神經(jīng)元數(shù)進行訓練對比,然后適當?shù)丶由弦稽c余量2021/6/7293.3 初始權值的選取一般取初始權值在(-1,1)之間的隨機數(shù)威得羅等人在分析了兩層網(wǎng)絡是如何對一個函數(shù)進行訓練后,提出一種選定初始權值的策略選擇權值的量級為在MATLAB工具箱中可采用函數(shù)nwlog.m或nwtan.m來初始化隱含層權值W1和B1。其方法僅使用在第一隱含層的初始值的選取上,后面層的初始值仍然采用隨機取數(shù)2021/6/7303.4 學習速率學習速率決定每一次循環(huán)訓練中所產(chǎn)生的權值變化量大的學習速率可能導致系統(tǒng)的不穩(wěn)定小的學習速率導致較長的訓練時間,可能收斂很慢,不過能保證網(wǎng)絡的誤差值不

13、跳出誤差表面的低谷而最終趨于最小誤差值所以在一般情況下,傾向于選取較小的學習速率以保證系統(tǒng)的穩(wěn)定性。學習速率的選取范圍在0.01-0.8之間2021/6/7313.5 期望誤差值選取在設計網(wǎng)絡的訓練過程中,期望誤差值也應當通過對比訓練后確定一個合適的值這個所謂的“合適”,是相對于所需要的隱含層的節(jié)點數(shù)來確定,因為較小的期望誤差值是要靠增加隱含層的節(jié)點,以及訓練時間來獲得一般情況下,作為對比,可以同時對兩個不同期望誤差值的網(wǎng)絡進行訓練,最后通過綜合因素的考慮來確定采用其中一個網(wǎng)絡2021/6/7323.6 應用舉例求解函數(shù)逼近問題有21組單輸入矢量和相對應的目標矢量,試設計神經(jīng)網(wǎng)絡來實現(xiàn)這對數(shù)組

14、的函數(shù)關系P=-1:0.1:1T=-0.96 0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 -0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.3449 0.1816 -0.0312 -0.2183 -0.3201測試集P2=-1:0.025:12021/6/7333.6 應用舉例目標矢量相對于輸入矢量的圖形 初始網(wǎng)絡的輸出曲線 2021/6/7343.6 應用舉例訓練1000次 2000次2021/6/7353.6 應用舉例訓練3000次 5000次2021/6/7363.7 限制與不足需要

15、較長的訓練時間 完全不能訓練 選取較小的初始權值采用較小的學習速率,但同時又增加了訓練時間局部極小值 BP算法可以使網(wǎng)絡權值收斂到一個解,但它并不能保證所求為誤差超平面的全局最小解,很可能是一個局部極小解2021/6/737四、BP網(wǎng)絡的改進4.1 目標4.2 附加動量法4.3 誤差函數(shù)改進 4.4 自適應學習速率2021/6/7384.1 目標加快訓練速度避免陷入局部極小值2021/6/7394.2 附加動量法 利用附加動量的作用則有可能滑過局部極小值修正網(wǎng)絡權值時,不僅考慮誤差在梯度上的作用,而且考慮在誤差曲面上變化趨勢的影響,其作用如同一個低通濾波器,它允許網(wǎng)絡忽略網(wǎng)絡上微小變化特性該方

16、法是在反向傳播法的基礎上在每一個權值的變化上加上一項正比于前次權值變化量的值,并根據(jù)反向傳播法來產(chǎn)生新的權值變化2021/6/7404.2 附加動量法 帶有附加動量因子的權值調節(jié)公式其中k為訓練次數(shù),mc為動量因子,一般取095左右附加動量法的實質是將最后一次權值變化的影響,通過一個動量因子來傳遞。當動量因子取值為零時,權值變化僅根據(jù)梯度下降法產(chǎn)生當動量因子取值為1時,新的權值變化則是設置為最后一次權值的變化,而依梯度法產(chǎn)生的變化部分則被忽略掉了 促使權值的調節(jié)向著誤差曲面底部的平均方向變化,當網(wǎng)絡權值進入誤差曲面底部的平坦區(qū)時,i將變得很小,于是,wij(k+1)wij (k),從而防止了w

17、ij=0的出現(xiàn),有助于使網(wǎng)絡從誤差曲面的局部極小值中跳出 2021/6/7414.2 附加動量法 在MATLAB工具箱中,帶有動量因子的權值修正法是用函數(shù)learnbpm.m來實現(xiàn)的trainbpm.m可以訓練一層直至三層的帶有附加動量因子的反向傳播網(wǎng)絡下面是對單層網(wǎng)絡使用函數(shù)trainbpm.m的情形:W,B,epochs,errorstrainbpm(W,B,F(xiàn),P,T,TP)2021/6/7424.3 誤差函數(shù)改進當ak趨向1時,E趨向一個常數(shù),即處于E的平坦區(qū), f(n)0,可能造成完全訓練的麻痹現(xiàn)象當一個網(wǎng)絡的誤差曲面存在著平坦區(qū)時,可以選用別的誤差函數(shù)f(tk, ak)來代替(tk

18、-ak)2的形式,只要其函數(shù)在ak=tk時能達到最小值2021/6/7434.3 誤差函數(shù)改進包穆(Baum)等人于1988年提出一種誤差函數(shù)為不會產(chǎn)生不能完全訓練的麻痹現(xiàn)象2021/6/7444.3 誤差函數(shù)改進與常規(guī)的誤差函數(shù)的情況ij=f(n)(tk-ak)相比較,其中的f(n)項消失了當n增大,進入激活函數(shù)的平坦區(qū),使f(n)0時,不會產(chǎn)生不能完全訓練的麻痹現(xiàn)象但由于失去了f(n)對w的控制作用,過大的w又有可能導致網(wǎng)絡過調或振蕩 1989年,范爾曼(S.Fahlman)提出一種折中的方案,即取kf(n)+0.1(tk-ak)一方面恢復了f(n)的某些影響另一方面當|n|變大時,仍能保

19、持k有一定的大小,從而避免了麻痹現(xiàn)象的發(fā)生 2021/6/7454.4 自適應學習速率通常調節(jié)學習速率的準則是,檢查權值的修正值是否真正降低了誤差函數(shù),如果確實如此,則說明所選取的學習速率值小了,可以對其增加一個量;否則可認為產(chǎn)生過調,應該減小學習速率的值一種自適應學習速率的調整公式2021/6/7464.4 自適應學習速率MATLAB工具箱中帶有自適應學習速率進行反向傳播訓練的函數(shù)為 trainbpa.m可訓練直至三層網(wǎng)絡。使用方法W, B, epochs, TEtrainbpa(W,B,F(xiàn),P,T,TP)可以將動量法和自適應學習速率結合起來以利用兩方面的優(yōu)點。這個技術已編入了函數(shù)trainbpx.m之中函數(shù)的調用和其他函數(shù)一樣,只是需要更多的初始參數(shù)而已TPdisp_freq max_epoch error_goal lr 1r_inc 1r_dec mom_const err_ratio;W,B,epochs,error; lrtr

溫馨提示

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

評論

0/150

提交評論