版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
反向傳播神經(jīng)網(wǎng)絡(luò)第1頁/共38頁反向傳播網(wǎng)絡(luò)(Back—PropagationNetwork,簡(jiǎn)稱BP網(wǎng)絡(luò))是將W—H學(xué)習(xí)規(guī)則一般化,對(duì)非線性可微分函數(shù)進(jìn)行權(quán)值訓(xùn)練的多層網(wǎng)絡(luò)。BP網(wǎng)絡(luò)是一種多層前向反饋神經(jīng)網(wǎng)絡(luò),其神經(jīng)元的變換函數(shù)是S型函數(shù),因此輸出量為0到1之間的連續(xù)量,它可以實(shí)現(xiàn)從輸入到輸出的任意的非線性映射。由于其權(quán)值的調(diào)整采用反向傳播(Backpropagation)的學(xué)習(xí)算法,因此被稱為BP網(wǎng)絡(luò)。第2頁/共38頁BP網(wǎng)絡(luò)主要用于:1)函數(shù)逼近:用輸入矢量和相應(yīng)的輸出矢量訓(xùn)練一個(gè)網(wǎng)絡(luò)逼近—個(gè)函數(shù);2)模式識(shí)別:用一個(gè)特定的輸出矢量將它與輸入矢量聯(lián)系起來;3)分類:把輸入矢量以所定義的合適方式進(jìn)行分類;4)數(shù)據(jù)壓縮:減少輸出矢量維數(shù)以便于傳輸或存儲(chǔ)。第3頁/共38頁6.1BP網(wǎng)絡(luò)模型與結(jié)構(gòu)一個(gè)具有r個(gè)輸入和一個(gè)隱含層的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)第4頁/共38頁感知器和自適應(yīng)線性元件的主要差別在激活函數(shù)上:前者是二值型的,后者是線性的。BP網(wǎng)絡(luò)具有一層或多層隱含層,除了在多層網(wǎng)絡(luò)上與前面已介紹過的模型有不同外,其主要差別也表現(xiàn)在激活函數(shù)上。BP網(wǎng)絡(luò)的激活函數(shù)必須是處處可微的,所以它就不能采用二值型的閥值函數(shù){0,1}或符號(hào)函數(shù){—1,1},BP網(wǎng)絡(luò)經(jīng)常使用的是S型的對(duì)數(shù)或正切激活函數(shù)和線性函數(shù)。第5頁/共38頁圖6.2BP網(wǎng)絡(luò)S型激活函數(shù)因?yàn)镾型函數(shù)具有非線性放大系數(shù)功能,它可以把輸入從負(fù)無窮大到正無窮大的信號(hào),變換成-1到l之間輸出,對(duì)較大的輸入信號(hào),放大系數(shù)較??;而對(duì)較小的輸入信號(hào),放大系數(shù)則較大,所以采用S型激活函數(shù)可以去處理和逼近非線性的輸入/輸出關(guān)系。第6頁/共38頁只有當(dāng)希望對(duì)網(wǎng)絡(luò)的輸出進(jìn)行限制,如限制在0和1之間,那么在輸出層應(yīng)當(dāng)包含S型激活函數(shù),在一般情況下,均是在隱含層采用S型激活函數(shù),而輸出層采用線性激活函數(shù)。BP網(wǎng)絡(luò)的特點(diǎn):1、輸入和輸出是并行的模擬量;2、網(wǎng)絡(luò)的輸入輸出關(guān)系是各層連接的權(quán)因子決定,沒有固定的算法;3、權(quán)因子是通過學(xué)習(xí)信號(hào)調(diào)節(jié)的,這樣學(xué)習(xí)越多,網(wǎng)絡(luò)越聰明;4、隱含層越多,網(wǎng)絡(luò)輸出精度越高,且個(gè)別權(quán)因子的損壞不會(huì)對(duì)網(wǎng)絡(luò)輸出產(chǎn)生大的影響第7頁/共38頁6.2BP學(xué)習(xí)規(guī)則BP算法屬于δ算法,是一種監(jiān)督式的學(xué)習(xí)算法。其主要思想為:對(duì)于q個(gè)輸入學(xué)習(xí)樣本:P1,P2,……Pq,已知與其對(duì)應(yīng)的輸出樣本為:T1,T2,……Tq。學(xué)習(xí)的目的是用網(wǎng)絡(luò)的實(shí)際輸出A1,A2,……Aq,與目標(biāo)矢量T1,T2,……Tq,之間的誤差來修改其權(quán)值,使Al,(l=l,2…,q)與期望的Tl盡可能地接近;即:使網(wǎng)絡(luò)輸出層的誤差平方和達(dá)到最小。第8頁/共38頁BP算法是由兩部分組成:信息的正向傳遞與誤差的反向傳播。在正向傳播過程中,輸入信息從輸入經(jīng)隱含層逐層計(jì)算傳向輸出層,每一層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)。如果在輸出層沒有得到期望的輸出,則計(jì)算輸出層的誤差變化值,然后轉(zhuǎn)向反向傳播,通過網(wǎng)絡(luò)將誤差信號(hào)沿原來的連接通路反傳回來修改各層神經(jīng)元的權(quán)值直至達(dá)到期望目標(biāo)。第9頁/共38頁圖6.3具有一個(gè)隱含層的簡(jiǎn)化網(wǎng)絡(luò)圖設(shè)輸入為P,輸入神經(jīng)元有r個(gè),隱含層內(nèi)有s1個(gè)神經(jīng)元,激活函數(shù)為F1,輸出層內(nèi)有s2個(gè)神經(jīng)元,對(duì)應(yīng)的激活函數(shù)為F2,輸出為A,目標(biāo)矢量為T。第10頁/共38頁6.2.1信息的正向傳遞1)隱含層中第i個(gè)神經(jīng)元的輸出為:2)輸出層第k個(gè)神經(jīng)元的輸出為:3)定義誤差函數(shù)為:(6.1)(6.2)(6.3)第11頁/共38頁6.2.2利用梯度下降法求權(quán)值變化及誤差的反向傳播(1)輸出層的權(quán)值變化對(duì)從第i個(gè)輸入到第k個(gè)輸出的權(quán)值有:其中:同理可得:(6.4)(6.5)(6.6)(6.7)第12頁/共38頁(2)隱含層權(quán)值變化對(duì)從第j個(gè)輸入到第i個(gè)輸出的權(quán)值,有:其中:同理可得:(6.8)(6.9)(6.10)第13頁/共38頁通過MATLAB的實(shí)現(xiàn)過程:1)對(duì)于(6.1)式所表示的隱含層輸出,若采用對(duì)數(shù)S型激活函數(shù),則用函數(shù)logsig.m;若采用雙曲正切S型激活函數(shù),則用函數(shù)tansig.m;2)對(duì)于(6.2)式所表示的輸出層輸出,若采用線性激活函數(shù)有purelin.m與之對(duì)應(yīng);3)對(duì)于(6.3)式所表示的誤差函數(shù),可用函數(shù)sumsqr.m求之;4)有l(wèi)earnbp.m函數(shù)專門求(6.4)、(6.7)、(6.8)和(6.10)式所表示的輸出層以及隱含層中權(quán)值與偏差的變化量;5)由(6.5)和(6.9)式所表示的誤差的變化有函數(shù)deltalin.m、deltatan.m、deltalog.m來解決。它們分別用于線性層、雙曲正切層和對(duì)數(shù)層。第14頁/共38頁6.2.3誤差反向傳播的流程圖與圖形解釋誤差反向傳播過程實(shí)際上是通過計(jì)算輸出層的誤差ek,然后將其與輸出層激活函數(shù)的一階導(dǎo)數(shù)f2’相乘來求得δki。由于隱含層中沒有直接給出目標(biāo)矢量,所以利用輸出層的δki反向傳遞來求出隱含層權(quán)值的變化量Δw2ki。然后計(jì)算并同樣通過將ei與該層激活函數(shù)的一階導(dǎo)數(shù)f1’相乘,而求得δij,以此求出前層權(quán)值的變化量Δw1ij。如果前面還有隱含層,沿用上述同樣方法依此類推,一直將輸出誤差ek一層一層的反推算到第一層為止。第15頁/共38頁圖6.4誤差反向傳播法的圖形解釋第16頁/共38頁6.3BP網(wǎng)絡(luò)的訓(xùn)練過程為了訓(xùn)練一個(gè)BP網(wǎng)絡(luò),需要計(jì)算網(wǎng)絡(luò)加權(quán)輸入矢量以及網(wǎng)絡(luò)輸出和誤差矢量,然后求得誤差平方和。當(dāng)所訓(xùn)練矢量的誤差平方和小于誤差目標(biāo),訓(xùn)練則停止,否則在輸出層計(jì)算誤差變化,且采用反向傳播學(xué)習(xí)規(guī)則來調(diào)整權(quán)值,并重復(fù)此過程。當(dāng)網(wǎng)絡(luò)完成訓(xùn)練后,對(duì)網(wǎng)絡(luò)輸入一個(gè)不是訓(xùn)練集合中的矢量,網(wǎng)絡(luò)將以泛化方式給出輸出結(jié)果。第17頁/共38頁為了能夠較好地掌握BP網(wǎng)絡(luò)的訓(xùn)練過程,我們用兩層網(wǎng)絡(luò)為例來敘述BP網(wǎng)絡(luò)的訓(xùn)練步驟。1)用小的隨機(jī)數(shù)對(duì)每一層的權(quán)值W和偏差B初始化,以保證網(wǎng)絡(luò)不被大的加權(quán)輸入飽和;并進(jìn)行以下參數(shù)的設(shè)定或初始化: a)期望誤差最小值error_goal; b)最大循環(huán)次數(shù)max_epoch; c)修正權(quán)值的學(xué)習(xí)速率1r,一般情況下k=0.0l~0.7; d)從1開始的循環(huán)訓(xùn)練:forepoch=1:max_epoch;第18頁/共38頁2)計(jì)算網(wǎng)絡(luò)各層輸出矢量A1和A2以及網(wǎng)絡(luò)誤差E:A1=tansig(W1*P,B1);A2=purelin(W2*A1,B2);E=T-A;3)計(jì)算各層反傳的誤差變化D2和D1并計(jì)算各層權(quán)值的修正值以及新權(quán)值:D2=deltalin(A2,E);D1=deltatan(A1,D2,W2);[dlWl,dBl]=learnbp(P,D1,lr);[dW2,dB2]=1earnbp(A1,D2,1r);W1=W1十dW1;B1=B1十dBl;W2=W2十dW2;B2=B2十dB2;第19頁/共38頁4)再次計(jì)算權(quán)值修正后誤差平方和:SSE=sumsqr(T-purelin(W2*tansig(W1*P,B1),B2));5)檢查SSE是否小于err_goal,若是,訓(xùn)練結(jié)束;否則繼續(xù)。以上所有的學(xué)習(xí)規(guī)則與訓(xùn)練的全過程,仍然可以用函數(shù)trainbp.m來完成。它的使用同樣只需要定義有關(guān)參數(shù):顯示間隔次數(shù),最大循環(huán)次數(shù),目標(biāo)誤差,以及學(xué)習(xí)速率,而調(diào)用后返回訓(xùn)練后權(quán)值,循環(huán)總數(shù)和最終誤差:TP=[disp_freqmax_epocherr_goal1r];[W,B,epochs,errors]=trainbp(W,B,’F’,P,T,TP);第20頁/共38頁[例6.1]用于函數(shù)逼近的BP網(wǎng)絡(luò)的設(shè)計(jì)。P=-1:0.1:1;T=[-0.960.577-0.07290.3770.6410.660.4610.1336-0.201-0.434-0.5-0.393-0.16470.09880.30720.3960.34490.1816-0.0312-0.2183-0.3201];比較trainbpx和trainbp的速度差別。exc4.m第21頁/共38頁泛化性能:使網(wǎng)絡(luò)平滑地學(xué)習(xí)函數(shù),使網(wǎng)絡(luò)能夠合理地響應(yīng)被訓(xùn)練以外的輸入。要注意的是,泛化性能只對(duì)被訓(xùn)練的輸入/輸出對(duì)最大值范圍內(nèi)的數(shù)據(jù)有效,即網(wǎng)絡(luò)具有內(nèi)插值特性,不具有外插值性。超出最大訓(xùn)練值的輸入必將產(chǎn)生大的輸出誤差。第22頁/共38頁6.4BP網(wǎng)絡(luò)的設(shè)計(jì)6.4.1網(wǎng)絡(luò)的層數(shù)理論上已經(jīng)證明:具有偏差和至少一個(gè)S型隱含層加上一個(gè)線性輸出層的網(wǎng)絡(luò),能夠逼近任何有理函數(shù)。增加層數(shù)主要可以更進(jìn)一步的降低誤差,提高精度,但同時(shí)也使網(wǎng)絡(luò)復(fù)雜化,從而增加了網(wǎng)絡(luò)權(quán)值的訓(xùn)練時(shí)間。一般情況下,應(yīng)優(yōu)先考慮增加隱含層中的神經(jīng)元數(shù)。能不能僅用具有非線性激活函數(shù)的單層網(wǎng)絡(luò)來解決問題呢?結(jié)論是:沒有必要或效果不好。第23頁/共38頁6.4.2隱含層的神經(jīng)元數(shù)網(wǎng)絡(luò)訓(xùn)練精度的提高,可以通過采用一個(gè)隱含層,而增加其神經(jīng)元數(shù)的方法來獲得。這在結(jié)構(gòu)實(shí)現(xiàn)上,要比增加更多的隱含層要簡(jiǎn)單得多。在具體設(shè)計(jì)時(shí),比較實(shí)際的做法是通過對(duì)不同神經(jīng)元數(shù)進(jìn)行訓(xùn)練對(duì)比,然后適當(dāng)?shù)丶由弦稽c(diǎn)余量。第24頁/共38頁6.4.3初始權(quán)值的選取一般取初始權(quán)值在(—1,1)之間的隨機(jī)數(shù)。威得羅等人在分析了兩層網(wǎng)絡(luò)是如何對(duì)一個(gè)函數(shù)進(jìn)行訓(xùn)練后,提出一種選定初始權(quán)值的策略。在MATLAB工具箱中可采用函數(shù)nwlog.m或nwtan.m來初始化隱含層權(quán)值W1和B1。其方法僅需要使用在第一隱含層的初始值的選取上,后面層的初始值仍然采用隨機(jī)取數(shù)。第25頁/共38頁6.4.4學(xué)習(xí)速率學(xué)習(xí)速率決定每一次循環(huán)訓(xùn)練中所產(chǎn)生的權(quán)值變化量。大的學(xué)習(xí)速率可能導(dǎo)致系統(tǒng)的不穩(wěn)定。小的學(xué)習(xí)速率導(dǎo)致較長(zhǎng)的訓(xùn)練時(shí)間,可能收斂很慢,不過能保證網(wǎng)絡(luò)的誤差值不跳出誤差表面的低谷而最終趨于最小誤差值。所以在一般情況下,傾向于選取較小的學(xué)習(xí)速率以保證系統(tǒng)的穩(wěn)定性。學(xué)習(xí)速率的選取范圍在0.01—0.8之間。第26頁/共38頁6.4.5期望誤差的選取在設(shè)計(jì)網(wǎng)絡(luò)的訓(xùn)練過程中,期望誤差值也應(yīng)當(dāng)通過對(duì)比訓(xùn)練后確定一個(gè)合適的值。這個(gè)所謂的“合適”,是相對(duì)于所需要的隱含層的節(jié)點(diǎn)數(shù)來確定,因?yàn)檩^小的期望誤差值是要靠增加隱含層的節(jié)點(diǎn),以及訓(xùn)練時(shí)間來獲得的。一般情況下,作為對(duì)比,可以同時(shí)對(duì)兩個(gè)不同期望誤差值的網(wǎng)絡(luò)進(jìn)行訓(xùn)練,最后通過綜合因素的考慮來確定采用其中一個(gè)網(wǎng)絡(luò)。第27頁/共38頁6.5限制與不足(1)需要較長(zhǎng)的訓(xùn)練時(shí)間(2)完全不能訓(xùn)練通常為了避免這種現(xiàn)象的發(fā)生,一是選取較小的初始權(quán)值,二是采用較小的學(xué)習(xí)速率,但這又增加了訓(xùn)練時(shí)間。(3)局部極小值BP算法可以使網(wǎng)絡(luò)權(quán)值收斂到一個(gè)解,但它并不能保證所求為誤差超平面的全局最小解,很可能是一個(gè)局部極小解。第28頁/共38頁6.6反向傳播法的改進(jìn)方法主要目標(biāo)是為了加快訓(xùn)練速度,避免陷入局部極小值。6.6.1附加動(dòng)量法附加動(dòng)量法使網(wǎng)絡(luò)在修正其權(quán)值時(shí),不僅考慮誤差在梯度上的作用,而且考慮在誤差曲面上變化趨勢(shì)的影響,其作用如同一個(gè)低通濾波器,它允許網(wǎng)絡(luò)忽略網(wǎng)絡(luò)上的微小變化特性。利用附加動(dòng)量的作用則有可能滑過局部極小值。第29頁/共38頁該方法是在反向傳播法的基礎(chǔ)上在每一個(gè)權(quán)值的變化上加上一項(xiàng)正比于前次權(quán)值變化量的值,并根據(jù)反向傳播法來產(chǎn)生新的權(quán)值變化。帶有附加動(dòng)量因子的權(quán)值調(diào)節(jié)公式為:其中k為訓(xùn)練次數(shù),mc為動(dòng)量因子,一般取0.95左右。附加動(dòng)量法的實(shí)質(zhì)是將最后一次權(quán)值變化的影響,通過一個(gè)動(dòng)量因子來傳遞。當(dāng)動(dòng)量因子取值為零時(shí),權(quán)值的變化僅是根據(jù)梯度下降法產(chǎn)生;當(dāng)動(dòng)量因子取值為1時(shí),新的權(quán)值變化則是設(shè)置為最后一次權(quán)值的變化,而依梯度法產(chǎn)生的變化部分則被忽略掉了。在MATLAB工具箱中,帶有動(dòng)量因子的權(quán)值修正法是用函數(shù)learnbpm.m來實(shí)現(xiàn)的。第30頁/共38頁trainbpm.m可以訓(xùn)練一層直至三層的帶有附加動(dòng)量因子的反向傳播網(wǎng)絡(luò)。下面是對(duì)單層網(wǎng)絡(luò)使用函數(shù)trainbpm.m的情形:[W,B,epochs,errors]=trainbpm(W,B,’F’,P,T,TP);第31頁/共38頁6.6.2誤差函數(shù)的改進(jìn)包穆(Baum)等人于1988年提出一種誤差函數(shù)為:不會(huì)產(chǎn)生不能完全訓(xùn)練的麻痹現(xiàn)象。第32頁/共38頁6.6.3自適應(yīng)學(xué)習(xí)速率通常調(diào)節(jié)學(xué)習(xí)速率的準(zhǔn)則是:檢查權(quán)值的修正值是否真正降低了誤差函數(shù),如果確實(shí)如此,則說明所選取的學(xué)習(xí)速率值小了,可以對(duì)其增加一個(gè)量;若不是這樣,而產(chǎn)生了過調(diào),那么就應(yīng)該減小學(xué)習(xí)速率的值。下式給出了一種自適應(yīng)學(xué)習(xí)速率的調(diào)整公式:MATLAB工具箱中帶有自適應(yīng)學(xué)習(xí)速率進(jìn)行反向傳播訓(xùn)練的函數(shù)為:trainbpa.m。它可以訓(xùn)練直至三層網(wǎng)絡(luò)。使用方法為:[W,B,epochs,TE]=trainbpa(W,B,’F’,P,T,TP)第33頁/共38頁可以將動(dòng)量法和自適應(yīng)學(xué)習(xí)速率結(jié)合起來以利用兩方面的優(yōu)點(diǎn)。這個(gè)技術(shù)已編入了函數(shù)trainbpx.m之中。這個(gè)函數(shù)的調(diào)用和其他函數(shù)一樣,只是需要更多的初始參數(shù)而已:TP=[disp_freqmax_epocher
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)管理服務(wù)咨詢服務(wù)簡(jiǎn)單合同
- 沖孔灌注樁施工勞務(wù)分包合同
- 三方合同補(bǔ)充協(xié)議書
- 資產(chǎn)買賣合同
- 給水、污水泵設(shè)備安裝合同
- 地毯購(gòu)銷合同范本地毯購(gòu)銷合同
- 在線教育系統(tǒng)共建共享合同
- 產(chǎn)品銷售合同范本集錦
- 醫(yī)療器械銷售合同簡(jiǎn)易模板
- 社區(qū)團(tuán)購(gòu)平臺(tái)搭建及運(yùn)營(yíng)合同
- 2024年濰坊工程職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫完美版
- GB/T 44823-2024綠色礦山評(píng)價(jià)通則
- 人教版英語高考試卷與參考答案(2024年)
- 紅樓夢(mèng)服飾文化
- 浙江省中小學(xué)心理健康教育課程標(biāo)準(zhǔn)
- 《共情的力量》課件
- 2022年中國(guó)電信維護(hù)崗位認(rèn)證動(dòng)力專業(yè)考試題庫大全-上(單選、多選題)
- 水平二(四年級(jí)第一學(xué)期)體育《小足球(18課時(shí))》大單元教學(xué)計(jì)劃
- 《關(guān)于時(shí)間管理》課件
- 醫(yī)藥高等數(shù)學(xué)智慧樹知到課后章節(jié)答案2023年下浙江中醫(yī)藥大學(xué)
- 城市道路智慧路燈項(xiàng)目 投標(biāo)方案(技術(shù)標(biāo))
評(píng)論
0/150
提交評(píng)論