




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、BP神經(jīng)網(wǎng)絡的基本原理-一看就懂5.4 BP神經(jīng)網(wǎng)絡的基本原理輸入層 隱層 輸出層圖5 2 BP神經(jīng)網(wǎng)絡結(jié)構(gòu)示意圖BP (Back Propagation )網(wǎng)絡是 1986年由 Rinehart 和McClelland為首的科學家小組提出,是一種按誤差逆?zhèn)鞑?算法訓練的多層前饋網(wǎng)絡,是目前應用最廣泛的神經(jīng)網(wǎng)絡 模型之一。BP網(wǎng)絡能學習和存貯大量的輸入-輸出模式映射 關(guān)系,而無需事前揭示描述這種映射關(guān)系的數(shù)學方程。它 的學習規(guī)則是使用最速下降法,通過反向傳播來不斷調(diào)整網(wǎng)絡的權(quán)值和閾值,使網(wǎng)絡的誤差平方和最小。BP神經(jīng)網(wǎng)絡模型拓撲結(jié)構(gòu)包括輸入層(input )、隱層(hide layer) 和輸
2、出層(output layer) (如圖 5.2 所示)。5.4.1 BP神經(jīng)元圖5.3給出了第j個基本BP神經(jīng)元(節(jié)點),它只模仿了生物神經(jīng)元所具有的三個最基本也是最重要的功能:加權(quán)、求和與轉(zhuǎn)移。其中 X1、X2XXn分別代表來自神經(jīng)元1、2 - i - n的輸入;Wi、W2Wi-w/n則分別表示神經(jīng)元1、2 - i - n與第j個神經(jīng)元的連接強 度,即權(quán)值;bj為閾值;f()為傳遞函數(shù);yj為第j個神經(jīng)元的輸出。第j個神經(jīng)元的凈輸入值J為:(5.12)邑=2或吊+& =那/ +與 2-1圖5.3 BP神經(jīng)元其中:號叫"心工%嗎若視麗=1 ,嗎'u 二 % ,即令左
3、及叫包括而及嗎。,則X二扇石馬看勺叫=鬲。叫1嗎?嗎嗎于是節(jié)點j的凈輸入邑可表示為:3它嗎內(nèi)=用/(5.13)凈輸入邑通過傳遞函數(shù)(Transfer Function ) f ()后,便得到第j個神經(jīng)元的輸出:匕=芥J=二斤軀5(5.14)式中f()是單調(diào)上升函數(shù),而且必須是有界函數(shù),因為細胞傳遞的信號不可能無限增加,必有一最大值。5.4.2 BP 網(wǎng)絡BP算法由數(shù)據(jù)流的前向計算(正向傳播)和誤差信號的反向傳播兩個過程構(gòu)成。正向傳播時,傳播方向為輸入層一隱層一輸出層,每層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元。若在輸出層得不到期望的輸出,則轉(zhuǎn)向誤差信號的反向傳播流程 。通過這兩個過程的交替進行,在權(quán)向
4、量空間執(zhí)行誤差函數(shù)梯度下降策略,動態(tài)迭代搜索一組權(quán)向量,使網(wǎng)絡誤差函數(shù)達 到最小值,從而完成信息提取和記憶過程。5.4,2.1 正向傳播設BP網(wǎng)絡的輸入層有n個節(jié)點,隱層有q個節(jié)點,輸出層有m個節(jié)點,輸入層與隱層之 間的權(quán)值為限,隱層與輸出層之間的權(quán)值為 卬*,如圖5.4所示。隱層的傳遞函數(shù)為fi(),輸出層的傳遞函數(shù)為f2(),則隱層節(jié)點的輸出為(將閾值寫入求和項中):ni-6k=1,2,(5.(15)輸出層節(jié)點的輸出為:片=尻嗎nJj=1.2,(5.(16)至此B-P網(wǎng)絡就完成了 n維空間向量對m維空間的近似映射。5.4.2.2反向傳播1)定義誤差函數(shù)輸入尸個學習樣本,用/,爐,工,工F來
5、表示。第9個樣本輸入到網(wǎng)絡后得到輸出 門(j=1,2,項。采用平方型誤差函數(shù),于是得到第 p個樣本的誤差B:1 獨n(5.17)式中:4為期望輸出。對于尸個樣本,全局誤差為:i p Mp(5.18)碇,£蜉-居)=匯耳 二 j-i?-i2)輸出層權(quán)值的變化采用累計誤差BP算法調(diào)整勺%使全局誤差之變小,即旗 己 ¥ ,雙(5.19)式中:平一學習率定義誤差信號為:(5.20),_珥 _ _ 叫 dy- 廣一兩=一匹西其中第一項:方日青2葉-平-引(5.21 )第二項:(5.22)是輸出層傳遞函數(shù)的偏微分。(5.23)于是:由鏈定理得:郎* 皿叫«r=出"(
6、5.24)于是輸出層各神經(jīng)元的權(quán)值調(diào)整公式為:,"摳=Z £療穹-必)為舟)勺(5.25)/-1 丁3)隱層權(quán)值的變化%dE 習? 尸(5.26)定義誤差信號為:b =-莖=一逑2雙 西科(5.27)其中第一項:嗎也臬=3揖弓-訓=-力管(5.(28)依鏈定理有:嗎嗎啊八口、初二西菽7MsMt第二項:= fi 崗)是隱層傳遞函數(shù)的偏微分。(5.(29)(5.(30)于是:(5.31 )由鏈定理得:雙加n就制廂=菽'標=mW防)也八M(5.(32)從而得到隱層各神經(jīng)元的權(quán)值調(diào)整公式為:=££不-必)力(邑泗Ji貧上)號?馬/1(5.(33)5.4.
7、3 BP算法的改進NY計亶所得VW款增大n(q = Y A)BP算法理論具有依據(jù)可靠、推導過程嚴謹、精度較高、通用性較好等優(yōu)點,但 標準BP算法存在以下缺點:收斂速度緩慢;容易陷入局部極小值;難以確定隱層數(shù)和隱層節(jié)點個數(shù)。在實際應用中,BP算法很難勝任,因此出現(xiàn)了很多改進算法。圖5.5自適應學習1)利用動量法改進BP算法標準BP算法實質(zhì)上是一種簡單的最速下降靜態(tài)尋優(yōu)方法,在修正W(K7寸,只按照第K步的負梯度方向進行修正,而沒有考慮到以前積累的經(jīng)驗,即以前時刻的梯度方向,從而常 常使學習過程發(fā)生振蕩,收斂緩慢。動量法權(quán)值調(diào)整算法的具體做法是:將上一次權(quán)值調(diào) 整量的一部分迭加到按本次誤差計算所得
8、的權(quán)值調(diào)整量上,作為本次的實際權(quán)值調(diào)整量, 即:&W=一斤或同+必畋髓(5.34)其中:a為動量系數(shù),通常0< a <0.9 ;刀一學習率,范圍在0.00110之間。這種方法所 加的動量因子實際上相當于阻尼項,它減小了學習過程中的振蕩趨勢,從而改善了收斂 性。動量法降低了網(wǎng)絡對于誤差曲面局部細節(jié)的敏感性,有效的抑制了網(wǎng)絡陷入局部極 小。2)自適應調(diào)整學習速率標準BP算法收斂速度緩慢的一個重要原因是學習率選擇不當,學習率選得太小,收斂太慢;學習率選得太大,則有可能修正過頭,導致振蕩甚至發(fā)散??刹捎脠D5.5所示的自適應方法調(diào)整學習率。調(diào)整的基本指導思想是:在學習收斂的情況下,增
9、大T,以縮短學習時間;當7偏大致使不能收斂時,要及時減小7),直到收斂為止。3)動量-自適應學習速率調(diào)整算法采用動量法時,BP算法可以找到更優(yōu)的解;采用自適應學習速率法時,BP算法可以縮短訓練時間。將以上兩種方法結(jié)合起來,就得到動量 -自適應學習速率調(diào)整算法。4) L-M學習規(guī)則L-M (Levenberg-Marquardt )算法比前述幾種使用梯度下降法的 BP算法要快得多,但對 于復雜問題,這種方法需要相當大的存儲空間。L-M(Levenberg-Marquardt)優(yōu)化方法的權(quán)值調(diào)整率選為:w 二 ("皿尸(5.35)其中:e一誤差向量;J網(wǎng)絡誤差對權(quán)值導數(shù)的雅可比(Jaco
10、bian)矩陣;以一標量,當以 很大時上式接近于梯度法,當n很小時上式變成了Gauss-Newton法,在這種方法中,仙也是自適應調(diào)整的。綜合考慮,擬采用L-M學習規(guī)則和動量法分別作為神經(jīng)網(wǎng)絡的訓練函數(shù)和學習函數(shù)。5.5 BP神經(jīng)網(wǎng)絡的訓練策略及結(jié)果本文借助于MATLAB申經(jīng)網(wǎng)絡工具箱來實現(xiàn)多層前饋 BP網(wǎng)絡(Multi-layer feed-forward backpropagation network )的顏色空間轉(zhuǎn)換,免去了許多編寫計算機程序的煩惱。神經(jīng) 網(wǎng)絡的實際輸出值與輸入值以及各權(quán)值和閾值有關(guān),為了使實際輸出值與網(wǎng)絡期望輸出值 相吻合,可用含有一定數(shù)量學習樣本的樣本集和相應期望輸出
11、值的集合來訓練網(wǎng)絡。訓練 時仍然使用本章5.2節(jié)中所述的實測樣本數(shù)據(jù)。另外,目前尚未找到較好的網(wǎng)絡構(gòu)造方法。確定神經(jīng)網(wǎng)絡的結(jié)構(gòu)和權(quán)系數(shù)來描述給定的映 射或逼近一個未知的映射,只能通過學習方式得到滿足要求的網(wǎng)絡模型。神經(jīng)網(wǎng)絡的學習 可以理解為:對確定的網(wǎng)絡結(jié)構(gòu),尋找一組滿足要求的權(quán)系數(shù),使給定的誤差函數(shù)最小。設計多層前饋網(wǎng)絡時,主要側(cè)重試驗、探討多種模型方案,在實驗中改進,直到選取一個 滿意方案為止,可按下列步驟進行:對任何實際問題先都只選用一個隱層;使用很少的隱 層節(jié)點數(shù);不斷增加隱層節(jié)點數(shù),直到獲得滿意性能為止;否則再采用兩個隱層重復上述 過程。訓練過程實際上是根據(jù)目標值與網(wǎng)絡輸出值之間誤差
12、的大小反復調(diào)整權(quán)值和閾值,直到此 誤差達到預定值為止。5.5.1 確定BP網(wǎng)絡的結(jié)構(gòu)確定了網(wǎng)絡層數(shù)、每層節(jié)點數(shù)、傳遞函數(shù)、初始權(quán)系數(shù)、學習算法等也就確定了BP網(wǎng)絡。確定這些選項時有一定的指導原則,但更多的是靠經(jīng)驗和試湊。1)隱層數(shù)的確定:1998年Robert Hecht-Nielson 證明了對任何在閉區(qū)間內(nèi)的連續(xù)函數(shù),都可以用一個隱層 的BP網(wǎng)絡來逼近,因而一個三層的 BP網(wǎng)絡可以完成任意的n維到m維的映照。因此我們 從含有一個隱層的網(wǎng)絡開始進行訓練。2) BP網(wǎng)絡常用傳遞函數(shù):圖BP網(wǎng)絡常用的隹遞函數(shù)BP網(wǎng)絡的傳遞函數(shù)有多種。Log-sigmoid型函數(shù)的輸入值可取任意值,輸出值在0和1
13、之問;tan-sigmod型傳遞函數(shù)tansig的輸入值可取任意值,輸出值在-1到+1之間;線性傳 遞函數(shù)purelin的輸入與輸出值可取任意值。BP網(wǎng)絡通常有一個或多個隱層,該層中的神 經(jīng)元均采用sigmoid型傳遞函數(shù),輸出層的神經(jīng)元則采用線性傳遞函數(shù),整個網(wǎng)絡的輸出 可以取任意值。各種傳遞函數(shù)如圖 5.6所示。只改變傳遞函數(shù)而其余參數(shù)均固定,用本章5.2節(jié)所述的樣本集訓練BP網(wǎng)絡時發(fā)現(xiàn),傳遞函數(shù)使用tansig函數(shù)時要比logsig函數(shù)的誤差小。于是在以后的訓練中隱層傳遞函數(shù)改用tansig函數(shù),輸出層傳遞函數(shù)仍選用 purelin函數(shù)。3)每層節(jié)點數(shù)的確定:使用神經(jīng)網(wǎng)絡的目的是實現(xiàn)攝像
14、機輸出RGB®色空間與CIE-XYZ色空間轉(zhuǎn)換,因此BP網(wǎng)絡的輸入層和輸出層的節(jié)點個數(shù)分別為3。下面主要介紹隱層節(jié)點數(shù)量的確定對于多層前饋網(wǎng)絡來說,隱層節(jié)點數(shù)的確定是成敗的關(guān)鍵。若數(shù)量太少,則網(wǎng)絡所能獲取 的用以解決問題的信息太少;若數(shù)量太多,不僅增加訓練時間,更重要的是隱層節(jié)點過多 還可能出現(xiàn)所謂“過渡吻合” Overfitting )問題,即測試誤差增大導致泛化能力下降,因 此合理選擇隱層節(jié)點數(shù)非常重要。關(guān)于 隱層數(shù)及其節(jié)點數(shù)的選擇 比較復雜,一般原則是: 在能正確反映輸入輸出關(guān)系的基礎上,應選用較少的隱層節(jié)點數(shù),以使網(wǎng)絡結(jié)構(gòu)盡量簡 單。本論文中采用網(wǎng)絡結(jié)構(gòu)增長型方法,即先設置較
15、少的節(jié)點數(shù),對網(wǎng)絡進行訓練,并測 試學習誤差,然后逐漸增加節(jié)點數(shù),直到學習誤差不再有明顯減少為止。5.5.2誤差的選取在神經(jīng)網(wǎng)絡訓練過程中選擇均方誤差 MSER為合理,原因如下: 標準BP算法中,誤差定義為:1 W凡=R蜉7h,、2 口(5.36)每個樣本作用時,都對權(quán)矩陣進行了一次修改。由于每次權(quán)矩陣的修改都沒有考慮權(quán)值修 改后其它樣本作用的輸出誤差是否也減小,因此將導致迭代次數(shù)增加。 累計誤差BP算法的全局誤差定義為:1 p mp£ =另工£0-呼)=Z斗上。蜀»。蜀(5.37)這種算法是為了減小整個訓練集的全局誤差,而不針對某一特定樣本,因此如果作某種修 改
16、能使全局誤差減小,并不等于說每一個特定樣本的誤差也都能同時減小。它不能用來比 較P和m不同的網(wǎng)絡性能。因為對于同一網(wǎng)絡來說,P越大,E也越大;P值相同,m越大E也越大。 均方誤差MSEMSE = 三£%-為尸際皿1(5.38)其中:陽一輸出節(jié)點的個數(shù),聲一訓練樣本數(shù)目,,班一網(wǎng)絡期望輸出值,同一網(wǎng)絡實際 輸出值。均方誤差克服了上述兩種算法的缺點,所以選用均方誤差算法較合理。5.5.3訓練結(jié)果訓練一個單隱層的三層BP網(wǎng)絡,根據(jù)如下經(jīng)驗公式選擇隱層節(jié)點數(shù)12”(5.39) 式中:n為輸入節(jié)點個數(shù),m為輸出節(jié)點個數(shù),a為1到10之間的常數(shù)。針對本論文ni取 值范圍為313。訓練結(jié)果如表5.
17、1所示。表5.1隱層節(jié)點數(shù)與誤差的關(guān)系隱層神經(jīng)元個數(shù)訓練誤差測試誤差31.256611.127540.7977460.823250.6318490.727860.5702140.670770.5528730.689580.4451180.657590.3855780.6497100.2596240.4555110.1857490.6644120.1838780.48130.1685870.6671由上表可以看出: 增加隱層節(jié)點數(shù)可以減少訓練誤差,但超過 10以后測試誤差產(chǎn)生波動,即泛化能 力發(fā)生變化。綜合比較隱層節(jié)點數(shù)為 10與12的訓練誤差和測試誤差,決定隱層節(jié)點數(shù)選 用12。 訓練誤差和測
18、試誤差都很大,而且收斂速度極慢(訓練過程如圖 5.7所示),這個問題可以通過對輸出量進行歸一化來解決。根據(jù)Sigmoid型傳遞函數(shù)輸入和輸出的范圍,對輸入變量不進行歸一化處理,只對輸出變 量進行歸一化,這是因為在輸出數(shù)據(jù)要求歸一化的同時,對輸入數(shù)據(jù)也進行歸一化的話, 權(quán)值的可解釋性就更差了。目標值按下式進行變化:/xQ,9 + 03d皿 一 "mi(5.40使目標值落在0.050.95之間,這樣靠近數(shù)據(jù)變化區(qū)間端點的網(wǎng)絡輸出值就有一波動范圍,網(wǎng)絡的性能較好。用新生成的訓練樣本與測試樣本對隱層節(jié)點數(shù)為12的網(wǎng)絡進行訓練,得到的訓練誤差為9.89028X10",測試誤差為1.9
19、899 X10- ,達到了預定的目標(訓練 過程如圖5.8所示)。dPeflQfrrwioe 措 Q.i孱 0.0001to ,- W -三 3 T W三- T *導 4 旱»-»- -«> T + 導 -b*詈一一號#»- -s- ET- -1 !> 省K - ' 3 -wi*-t*-tilI|罵割;謂集避堤港空建屋里提里提思搜運翡,擺國部r E L » L “L,«, 小 T L - E -H ' E'A E F . E 1 T Q F T+ 一 T« / 一七 :F E 1'
20、in min iiuCi in it bti in nk iitui iiiiii irii utiajiti in HiJiiiiiiiui n K 3 二 HH fi -工 E I 3 43 E X H 3 1 IIX £ S -H. I S H 3 3 I .U 3 X A X 鼻工工133L 卑工.1! X . X !.工-101. *國.A la > L3 E :rs :*: II: :1!;: M:!:1:- T- - :3: :-Z>:": IS: :C:-:-T-C :L:-:卜*7個子di十JinniiniHiiiiHLSHUiJHaniiii
21、iUnsniMiEHiHninHiiiiHnnpa£i -二* - I7 + 金 Rp金.三.小職TFTT .1 注 >> - a® 4 “ i«*、曰z*IflKl曲Bi則嗽 圜唾1典幽IH典譙型颼電噩健單驅(qū)鷺 一£一,T -一:一 4一 *>*-*-1 - -H口曲電南"電帆嘉自幽痛通廛仃聚m通履加百1面&畫uh”!鉗31注市網(wǎng)由即胃訕"向EMI; h“舒而王行詠工酬而即可組和超:二二:二二二率二二:笆:二二;:二爭:;:斗;二:":”:二強二;二二:二卞:可:;:片:二:一 43 NM 443
22、一事碑,一 A - 4 * - a. 4 4T 工 4KI44SI .4 =4 = 4 q J 占一占二否44£4 國B j圖5 7陵層節(jié)點數(shù)為12的神經(jīng)網(wǎng)絡訓練過程Hgtp_coclOJm 中 HEEed.Performance s 9.95TO5e-COS, GoaJ is 0.00015.6 最終訓練后的神經(jīng)網(wǎng)絡結(jié)構(gòu)采用三層BP網(wǎng)絡實現(xiàn)攝像機輸出 RG捌色空間與CIEXYZ色空間轉(zhuǎn)換,其中隱層含有 12個節(jié)點,傳遞函數(shù)采用tansig函數(shù);輸出層傳遞函數(shù)選用purelin函數(shù)。經(jīng)過測試后結(jié)果滿意,可以認為該神經(jīng)網(wǎng)絡可以用來實現(xiàn)這個關(guān)系映射。網(wǎng)絡的結(jié)構(gòu)如圖5.9所示:其中,R-輸入層節(jié)點數(shù) S1-E急層節(jié)點敏刈一輸出層節(jié)點戴 圖59 三層BP網(wǎng)絡結(jié)構(gòu)得到的BP神經(jīng)網(wǎng)絡的權(quán)值和閾值為:-0.0029-0 0088-0 00980.07920.00670.0030-0.0043-0 00110.13920.0094-00031-0.02140.0237 - 0.00980.0095 - 0 01220.00190.0004-0.1199 0.03240.0341 - 0 01290.0104 - 0.0129-0.0142 - 0 0127-0 0016 0 0005-0.12S
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年籃球裁判員考場應對與試題及答案
- 提升自信與專業(yè)素養(yǎng) 2024年試題及答案
- 三年級數(shù)學計算題專項練習匯編及答案
- 模具設計項目中的知識管理與經(jīng)驗總結(jié)試題及答案
- 2024年3月23日江蘇省事業(yè)單位招聘考試《綜合知識和能力素質(zhì)》管理崗客觀題試題真題試卷答案解析
- 應對農(nóng)業(yè)挑戰(zhàn)的植保員試題及答案
- 肉羊產(chǎn)業(yè)鏈項目可行性研究報告(范文)
- 2024年籃球裁判員心理調(diào)適方法試題及答案
- 與眾不同的游泳救生員考試技巧試題及答案
- 城鎮(zhèn)污水管網(wǎng)擴建項目可行性研究報告(僅供參考)
- 防艾教育課件下載
- 《關(guān)于強化危險化學品“一件事”全鏈條安全管理的措施》學習解讀
- 2025中交第一航務工程局限公司招聘69人易考易錯模擬試題(共500題)試卷后附參考答案
- 施工現(xiàn)場質(zhì)量、安全生產(chǎn)管理體系
- 2025年醫(yī)院感染知識題庫及答案
- 2025年山東濰坊市再擔保集團股份限公司社會招聘11人自考難、易點模擬試卷(共500題附帶答案詳解)
- (高清版)DB11∕T2326-2024油氣管道高后果區(qū)識別與管理規(guī)范
- 液壓升降平臺施工方案
- 房產(chǎn)中介法律知識
- 2024年11月-礦山隱蔽致災因素普查
- 【2025新教材】教科版一年級科學下冊全冊教案【含反思】
評論
0/150
提交評論