BP神經(jīng)網(wǎng)絡的基本原理很清楚之歐陽德創(chuàng)編_第1頁
BP神經(jīng)網(wǎng)絡的基本原理很清楚之歐陽德創(chuàng)編_第2頁
BP神經(jīng)網(wǎng)絡的基本原理很清楚之歐陽德創(chuàng)編_第3頁
BP神經(jīng)網(wǎng)絡的基本原理很清楚之歐陽德創(chuàng)編_第4頁
BP神經(jīng)網(wǎng)絡的基本原理很清楚之歐陽德創(chuàng)編_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、歐陽德創(chuàng)編5.4 BP 神經(jīng)網(wǎng)絡原理時間:創(chuàng)作:歐陽德BP(Back Propagation )網(wǎng)絡是1986 年 Rinehart McClelland為首的科學家小組提,是一種按誤差逆?zhèn)鞑ニ惴ㄓ柧毜膶忧梆伨W(wǎng)絡,是目前應用最廣泛的經(jīng)網(wǎng)絡模型之一。BP 絡能學習和存貯大量的輸 輸出模式映 射關系,而無需事前示描述這種映射關系的數(shù)學 方程。它的學習規(guī)則使用最速下降法,通過反向 傳播來不斷調(diào)整網(wǎng)絡權值和閾值,使網(wǎng)絡的誤差 平方和最小。 BP 神經(jīng)網(wǎng)絡模型拓撲結(jié)包括輸入 層(input)、隱層(hide 和輸出層output layer)(如圖 5.2 所示)。 BP 神經(jīng)圖 給出了第 j 個基本

2、BP 神經(jīng)元(節(jié)點),只 模仿了生物神經(jīng)元所有的三個最基本也是最重要歐陽德創(chuàng)編歐陽德創(chuàng)編的功能:加權、求和轉(zhuǎn)移。其中 x x x1 2 in分別代表來自神經(jīng)元 1、2 輸入; 、j1w w w 則分別表示神經(jīng)元 1、2in 與第 j2 ji 個神經(jīng)元的連接強度即權值 b 為閾值;f()j傳遞函數(shù); 為第 j 神經(jīng)元的輸出。j第 個神經(jīng)元的凈輸入值 為(5.12其中:若視 , ,令 及包括 及 ,于是節(jié)點 j 的凈輸入 可表示:(5.13歐陽德創(chuàng)編歐陽德創(chuàng)編凈輸入 通傳遞函(Transfer )f ()后,便得到第 j 個神經(jīng)元的輸出 :(5.14)式中 f()是調(diào)上升函數(shù),而且必須是有界函數(shù),

3、 因為細胞傳遞的信號可能無限增加,必有一最大 值。 BP 網(wǎng)絡BP 算法由數(shù)據(jù)流的前向計算(正向傳播和誤差 信號的反向傳播兩個程構成。正向傳播時,傳播 方向為輸入層隱層輸出層,每層神經(jīng)元的狀態(tài) 只影響下一層神經(jīng)元 若在輸出層得不到期望的輸 出,則轉(zhuǎn)向誤差信號反向傳播流 。通過這兩個 過程的交替進行, 在向量空間執(zhí)行誤差函數(shù)梯度 下降策略 ,動態(tài)迭代索一組權向量,使網(wǎng)絡誤差 函數(shù)達到最小值,從完成信息提取和記憶過程。 正向傳播歐陽德創(chuàng)編歐陽德創(chuàng)編設 BP 網(wǎng)絡的輸入層有 n 個節(jié)點,隱層 q 個節(jié)點,輸出層有 m 個 節(jié)點,輸入層與隱層間的權值為 ,隱層與輸出 層之間的權值為 ,圖 5.4 所示

4、。隱層的傳遞函 數(shù)為 f ,輸出層的傳遞函數(shù)為 f (),則隱層節(jié)1 點的輸出為(將閾值入求和項中):k=1,2, q (5.15 )輸出層節(jié)點的輸出為j=1,2, m (5.16)至此 B-P 網(wǎng)絡就完成了 n 維空向量對 維空間 的近似映射。 反向傳播1)定義誤差函數(shù)歐陽德創(chuàng)編歐陽德創(chuàng)編輸入 個學習樣本,樣本輸入到網(wǎng)絡后得輸出來表示。第 個(j=1,2,m)。采用平方型誤差函數(shù),是得到第 樣本的誤差 :p(5.17式中: 為期望輸出對于 個樣本,全局差為:2)輸出層權值的變化采用累計誤差 BP 法調(diào)整 小,即(5.18),使全局誤差 變(5.19)式中: 學習率定義誤差信號 為:歐陽德創(chuàng)編

5、歐陽德創(chuàng)編(5.20其中第一項:( )第二項:( )是輸出層傳遞函數(shù)的微分。 于是:( 由鏈定理得:(5.24)于是輸出層各神經(jīng)元權值調(diào)整公式為:( 歐陽德創(chuàng)編歐陽德創(chuàng)編3)隱層權值的變化(5.26)定義誤差信號為:( )其中第一項:( )依鏈定理有:( 第二項:( )是隱層傳遞函數(shù)的偏分。 于是:歐陽德創(chuàng)編歐陽德創(chuàng)編(5.31)由鏈定理得:(5.32)從而得到隱層各神經(jīng)的權值調(diào)整公式為:(5.33) BP 算法改進BP 算法理論具有依據(jù)可靠、推導過程嚴、精度 較高、通用性較好等點, 準 BP 法存在以 下缺點:收斂速度緩;容易陷入局部極小值;難 以確定隱層數(shù)和隱層點個數(shù) 在實際應用中, 算法

6、很難勝任,因此現(xiàn)了很多改進算法。1)利用動量法改進 BP 算法標準 BP 算法實質(zhì)上是一種簡單的最速降靜態(tài)尋 優(yōu)方法, 在修正 W(K),只按照第 K 的負梯度 方向進行修正 ,而沒考慮到以前積累的經(jīng)驗,即歐陽德創(chuàng)編歐陽德創(chuàng)編以前時刻的梯度方向從而常 常使學習過程發(fā)生振,收斂 緩慢。動量法權值調(diào)算法的 具體做法是:將上一權值調(diào)整量的一部分迭加到本次誤差計算所得的權值調(diào) 整量上,作為本次的際權值調(diào)整量,即:(5.34)其中:為量系數(shù),通常 00.9學習 率,范圍在 0.00110 之間。這種方法所加的動量 因子實際上相當于阻項,它減小了學習過程中的 振蕩趨勢,從而改善收斂性。動量法降低了網(wǎng)絡 對

7、于誤差曲面局部細的敏感性,有效的抑制了網(wǎng) 絡陷入局部極小。2)自適應調(diào)整學習速率標準 BP 算法收斂速度緩慢的一個重要因是學習 率選擇不當,學習率得太小,收斂太慢;學習率 選得太大,則有可能正過頭,導致振蕩甚至發(fā) 散??刹捎脠D 5.5 示的自適應方法調(diào)整學率。歐陽德創(chuàng)編歐陽德創(chuàng)編調(diào)整的基本指導思想:在學習收斂的情況下,增 大,以縮短學習時間;大致使不能收斂時, 要及時減小,直到收斂止。3)動量 -自適應學習率調(diào)整算法采用動量法時,BP 算法可以找到更優(yōu)解;采用 自適應學習速率法時 BP 法可以縮訓練時 間。將以上兩種方法合起來,就得到動 -自適 應學習速率調(diào)整算法4) L-M 學規(guī)則L-M )

8、算法比前述幾種 使用梯度下降法的 BP 算要快得多,對于復雜 問題,這種方法需要當大的存儲空間 L- M(Levenberg-Marquardt) 優(yōu)化方法的權值調(diào)整 率選為(5.35其中:誤差向量;網(wǎng)絡誤差對權值導數(shù)的 可比( )矩陣;標量,當很時上 式接近于梯度法,當很上式變成了 Gauss-歐陽德創(chuàng)編歐陽德創(chuàng)編 法,在這種法中,也自適應調(diào)整 的。綜合考慮,擬采用 L-M 習規(guī)則和動量法分別作為 神經(jīng)網(wǎng)絡的訓練函數(shù)學習函數(shù)。 BP 神經(jīng)網(wǎng)絡的訓練策略及結(jié)果本文借助于 MATLAB 神經(jīng)網(wǎng)絡工具箱來實現(xiàn)多層 前饋 BP 網(wǎng)絡(Multi-layer feed-forward backprop

9、agation )顏色空間轉(zhuǎn)換, 免去了許多編寫計算程序的煩惱。神經(jīng)網(wǎng)絡的實 際輸出值與輸入值以各權值和閾值有關,為了使 實際輸出值與網(wǎng)絡期輸出值相吻合,可用含有一 定數(shù)量學習樣本的樣集和相應期望輸出值的集合 來訓練網(wǎng)絡。訓練時然使用本章 5.2 節(jié)中所述的 實測樣本數(shù)據(jù)。另外,目前尚未找到好的網(wǎng)絡構造方法。確定神 經(jīng)網(wǎng)絡的結(jié)構和權系來描述給定的映射或逼近一 個未知的映射,只能過學習方式得到滿足要求的 網(wǎng)絡模型。神經(jīng)網(wǎng)絡學習可以理解為:對確定的 網(wǎng)絡結(jié)構,尋找一組足要求的權系數(shù),使給定的歐陽德創(chuàng)編歐陽德創(chuàng)編誤差函數(shù)最小。設計層前饋網(wǎng)絡時,主要側(cè)重試 驗、探討多種模型方,在實驗中改進,直到選取

10、一個滿意方案為止,按下列步驟進行:對任何實 際問題先都只選用一隱層;使用很少的隱層節(jié)點 數(shù);不斷增加隱層節(jié)數(shù),直到獲得滿意性能為 止;否則再采用兩個層重復上述過程。訓練過程實際上是根目標值與網(wǎng)絡輸出值之間誤 差的大小反復調(diào)整權和閾值,直到此誤差達到預 定值為止。 確定 絡的結(jié)構確定了網(wǎng)絡層數(shù)、每節(jié)點數(shù)、傳遞函數(shù)、初始權 系數(shù)、學習算法等也確定了 網(wǎng)。確定這些 選項時有一定的指導則,但更多的是靠經(jīng)驗和試 湊。)隱數(shù)的確定:1998 年 Hecht-Nielson 證明了對何在閉 區(qū)間內(nèi)的連續(xù)函數(shù),可以用一個隱層的 BP 絡 來逼近,因而一個三的 BP 網(wǎng)絡可以成任意的歐陽德創(chuàng)編歐陽德創(chuàng)編n 維到

11、 維的映照。因此我們從含有一個隱層的網(wǎng) 絡開始進行訓練。) BP 網(wǎng)絡常用傳遞函數(shù)BP 網(wǎng)絡的傳遞函數(shù)有多種 Log-sigmoid 型函數(shù) 的輸入值可取任意值輸出值在 0 和 之間; sigmod 型傳遞函數(shù) tansig 的入值可取任意值, 輸出值在 -1 到+ 之間;線性傳遞函 purelin 的輸 入與輸出值可取任意。 網(wǎng)通常一個或多 個隱層,該層中的神元均采用 sigmoid 型傳遞函 數(shù),輸出層的神經(jīng)元采用線性傳遞函數(shù),整個網(wǎng) 絡的輸出可以取任意。各種傳遞函數(shù)如圖 5.6 示。只改變傳遞函數(shù)而其參數(shù)均固定,用本章 5.2 所述的樣本集訓練 BP 網(wǎng)時發(fā)現(xiàn),傳函數(shù)使用歐陽德創(chuàng)編歐陽德

12、創(chuàng)編tansig 函數(shù)時要比 logsig 函數(shù)的誤差小。于是在 以后的訓練中隱層傳函數(shù)改用 tansig 函數(shù),輸 出層傳遞函數(shù)仍選用 purelin 函。) 每層節(jié)點數(shù)的確定:使用神經(jīng)網(wǎng)絡的目的實現(xiàn)攝像機輸出 RGB 顏色 空間與 CIE-XYZ 色空間轉(zhuǎn)換,因此 BP 網(wǎng)絡的輸入 層和輸出層的節(jié)點個分別為 3 。面主要介紹隱 層節(jié)點數(shù)量的確定。對于多層前饋網(wǎng)絡來,隱層節(jié)點數(shù)的確定是成敗 的關鍵。若數(shù)量太少則網(wǎng)絡所能獲取的用以解決 問題的信息太少;若量太多,不僅增加訓練時 間,更重要的是隱層點過多還可能出現(xiàn)所謂“過 渡吻合”(Overfitting問題,即測試誤差增大導 致泛化能力下降,因

13、合理選擇隱層節(jié)點數(shù)非常重 要。關于 隱層數(shù)及其點數(shù)的選 較復雜, 一般 原則是:在能正確反輸入輸出關系的基礎上,應 選用較少的隱層節(jié)點,以使網(wǎng)絡結(jié)構盡量簡單。 本論文中采用網(wǎng)絡結(jié)增長型方法,即先設置較少 的節(jié)點數(shù),對網(wǎng)絡進訓練,并測試學習誤差,然歐陽德創(chuàng)編歐陽德創(chuàng)編后逐漸增加節(jié)點數(shù),到學習誤差不再有明顯減少 為止。 誤差的選取在神經(jīng)網(wǎng)絡訓練過程選擇均方誤差 MSE 較為合 理,原因如下: 標準 BP 算中,誤差定義為:(5.36每個樣本作用時,都權矩陣進行了一次修改。由 于每次權矩陣的修改沒有考慮權值修改后其它樣 本作用的輸出誤差是也減小,因此將導致迭代次 數(shù)增加。 累計誤差 BP 算法的全局

14、誤差定義:(5.37)這種算法是為了減小個訓練集的全局誤差,而不 針對某一特定樣本,此如果作某種修改能使全局 誤差減小,并不等于每一個特定樣本的誤差也都歐陽德創(chuàng)編歐陽德創(chuàng)編能同時減小。它不能來比較 和 不同的網(wǎng)絡 性能。因為對于同一絡來說 P 越大, 也越 大; P 值,m 越大 也大。 均方誤差 :(5.38其中: 節(jié)點的個數(shù), 訓練樣本數(shù)目,網(wǎng)絡期望輸出值, 網(wǎng)絡實際輸出值。均方誤 差克服了上述兩種算的缺點,所以選用均方誤差 算法較合理。 訓練結(jié)果訓練一個單隱層的三 網(wǎng)絡,根據(jù)下經(jīng)驗公 式選擇隱層節(jié)點數(shù) :(5.39)式中: 為輸入節(jié)點個數(shù), m 為輸出節(jié)點個數(shù), 為 1 到 10 間的常

15、數(shù)。針對本論文 n 取值范圍為1313。訓練結(jié)果如表 5.1 所示。歐陽德創(chuàng)編歐陽德創(chuàng)編表 5.1 隱層節(jié)點數(shù)與誤差的關系隱層神經(jīng)元個數(shù)345678910111213由上表可以看出:訓練誤差1.256610.7977460.6318490.5702140.5528730.4451180.3855780.2596240.1857490.1838780.168587測試誤差1.12750.82320.72780.67070.68950.65750.64970.45550.66440.480.6671增加隱層節(jié)點數(shù)可以少訓練誤差,但超過 10 后測試誤差生波動,即泛化能力發(fā)生 變化。綜合比較隱層點數(shù)

16、為 10 12 訓練誤差 和測試誤差,決定隱節(jié)點數(shù)選用 。訓練誤差和測試誤差很 ,而收斂速度極慢(訓練過程如 5.7 所示,這個問題可以 通過對輸出量進行歸化來解決。根據(jù) Sigmoid 型傳遞函數(shù)輸入和輸出的圍,對 輸入變量不進行歸一處理,只對輸出變量進行歸 一化,這是因為在輸數(shù)據(jù)要求歸一化的同時,對歐陽德創(chuàng)編歐陽德創(chuàng)編輸入數(shù)據(jù)也進行歸一的話,權值的可解釋性就更 差了。目標值按下式行變化:(5.40)使目標值落在 0.05 之間,這樣靠近數(shù)據(jù)變 化區(qū)間端點的網(wǎng)絡輸值就有一波動范圍,網(wǎng)絡的 性能較好。用新生成訓練樣本與測試樣本對隱層 節(jié)點數(shù)為 12 的網(wǎng)絡進行訓練得到的訓練誤差為,測試誤差為 ,達到了預定的目標(訓練過如圖 5.8 所示)。 終訓練后的神網(wǎng)絡結(jié)構采用三層 BP 網(wǎng)絡實現(xiàn)攝像機輸出 RGB 色空與 CIEXYZ 色空間轉(zhuǎn)換,其中隱層有 個節(jié)點,傳 遞函數(shù)采用 函數(shù);輸層傳遞函數(shù)選用 purelin 數(shù)。經(jīng)過測試后結(jié)果滿意可以認為該 神經(jīng)網(wǎng)絡可以用來實這個關系映射。網(wǎng)絡的結(jié)構 如圖 所示:得到的 神經(jīng)網(wǎng)絡的權值和閾值為 章小結(jié)歐陽德創(chuàng)編歐陽德創(chuàng)編1)定量地分析了用線性系轉(zhuǎn)換攝像機 RGB空間到 CIE-XYZ 空間數(shù)據(jù)后產(chǎn)生的均方誤差,表明 攝像機與標準察者之間有比較明顯的差 別,也就是說 RGB CIE-XYZ 間的轉(zhuǎn)換是非線性 的。2

溫馨提示

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

評論

0/150

提交評論