人工神經(jīng)網(wǎng)絡(luò)5BP神經(jīng)網(wǎng)絡(luò)ppt課件-PPT精選_第1頁
人工神經(jīng)網(wǎng)絡(luò)5BP神經(jīng)網(wǎng)絡(luò)ppt課件-PPT精選_第2頁
人工神經(jīng)網(wǎng)絡(luò)5BP神經(jīng)網(wǎng)絡(luò)ppt課件-PPT精選_第3頁
人工神經(jīng)網(wǎng)絡(luò)5BP神經(jīng)網(wǎng)絡(luò)ppt課件-PPT精選_第4頁
人工神經(jīng)網(wǎng)絡(luò)5BP神經(jīng)網(wǎng)絡(luò)ppt課件-PPT精選_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1人工神經(jīng)網(wǎng)絡(luò)(Artifical Neural Network)張凱 副教授武漢科技大學(xué) 計算機(jī)學(xué)院2第五章 BP神經(jīng)網(wǎng)絡(luò)1. 研究背景2. 學(xué)習(xí)規(guī)則3. 感知機(jī)結(jié)構(gòu)4. 感知機(jī)學(xué)習(xí)規(guī)則研究背景羅斯布萊特的感知機(jī)學(xué)習(xí)規(guī)則和伯納德和瑪西婭的 LMS 算法是設(shè)計用來訓(xùn)練單層的類似感知器的網(wǎng)絡(luò)的。如前面幾章所述,這些單層網(wǎng)絡(luò)的缺點(diǎn)是只能解線性可分的分類問題。羅斯布萊特和伯納德均意識到這些限制并且都提出了克服此類問題的方法:多層網(wǎng)絡(luò)。但他們未將這類算法推廣到用來訓(xùn)練功能更強(qiáng)的網(wǎng)絡(luò)。研究背景韋伯斯(Werbos)在他1974年博士的論文中第一次描述了訓(xùn)練多層神經(jīng)網(wǎng)絡(luò)的一個算法,論文中的算法是在一般網(wǎng)絡(luò)

2、的情況中描述的,而將神經(jīng)網(wǎng)絡(luò)作為一個特例。論文沒有在神經(jīng)網(wǎng)絡(luò)研究圈子內(nèi)傳播。研究背景直到20 世紀(jì)80 年代中期,反向傳播算法才重新被發(fā)現(xiàn)并廣泛地宣揚(yáng),這個算法因被包括在并行分布式處理(Parallel Distributed Processing)RuMc86一書中而得到普及,才使之成為迄今為止最著名的多層網(wǎng)絡(luò)學(xué)習(xí)算法BP 算法,由此算法訓(xùn)練的神經(jīng)網(wǎng)絡(luò),稱之為BP 神經(jīng)網(wǎng)絡(luò)。研究背景David Rumelhart J. McClelland 研究背景BP 網(wǎng)絡(luò)廣泛應(yīng)用于函數(shù)逼近、模式識別/分類、數(shù)據(jù)壓縮等,80% -90%的人工神經(jīng)網(wǎng)絡(luò)模型是采用BP網(wǎng)絡(luò)或它的變化形式,它也是前饋網(wǎng)絡(luò)的核心部

3、分,體現(xiàn)了人工神經(jīng)網(wǎng)絡(luò)最精彩的部分。異或問題x1x2y000110110110多層網(wǎng)絡(luò)求解異或問題輸出函數(shù):用一個簡單的三層感知器就可得到解決多層網(wǎng)絡(luò)求解異或問題x1+x2+0.5=0 x1+x2-1.5=00.7*y1-0.4y2-1=0多層網(wǎng)絡(luò)求解異或問題BP神經(jīng)元及BP網(wǎng)絡(luò)模型BP神經(jīng)元及BP網(wǎng)絡(luò)模型 BP神經(jīng)元與其他神經(jīng)元類似,不同的是BP神經(jīng)元的傳輸函數(shù)為非線性函數(shù),最常用的函數(shù)是logsig 和tansig函數(shù),其輸出為:BP神經(jīng)元及BP網(wǎng)絡(luò)模型BP神經(jīng)元及BP網(wǎng)絡(luò)模型BP網(wǎng)絡(luò)一般為多層神經(jīng)網(wǎng)絡(luò)。由BP神經(jīng)元構(gòu)成的二層網(wǎng)絡(luò)如圖所示,BP網(wǎng)絡(luò)的信息從輸入層流向輸出層,因此是一種多層前

4、饋神經(jīng)網(wǎng)絡(luò)。BP神經(jīng)元及BP網(wǎng)絡(luò)模型如果多層BP 網(wǎng)絡(luò)的輸出層采用S形傳輸函數(shù)(如logsig),其輸出值將會限制在較小的范圍內(nèi)(0,l);用線性傳輸函數(shù)則可以取任意值。BP神經(jīng)元及BP網(wǎng)絡(luò)模型前一層的輸出是后一層的輸入 網(wǎng)絡(luò)的輸入 網(wǎng)絡(luò)的輸出 BP神經(jīng)元及BP網(wǎng)絡(luò)模型BP網(wǎng)絡(luò)的學(xué)習(xí) 在確定了BP網(wǎng)絡(luò)的結(jié)構(gòu)后,要通過輸入和輸出樣本集對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,亦即對網(wǎng)絡(luò)的閾值和權(quán)值進(jìn)行學(xué)習(xí)和修正,以使網(wǎng)絡(luò)實(shí)現(xiàn)給定的輸入/輸出映射關(guān)系。BP網(wǎng)絡(luò)的學(xué)習(xí)BP 網(wǎng)絡(luò)的學(xué)習(xí)過程分為兩個階段: 第一個階段是輸入已知學(xué)習(xí)樣本,通過設(shè)置的網(wǎng)絡(luò)結(jié)構(gòu)和前一次迭代的權(quán)值和閾值,從網(wǎng)絡(luò)的第一層向后計算各神經(jīng)元的輸出。 第二個階段

5、是對權(quán)值和閾值進(jìn)行修改,從最后一層向前計算各權(quán)值和閾值對總誤差的影響(梯度),據(jù)此對各權(quán)值和閾值進(jìn)行修改。BP網(wǎng)絡(luò)的學(xué)習(xí) 以上兩個過程反復(fù)交替,直到達(dá)到收斂為止。由于誤差逐層往回傳遞,以修正層與層間的權(quán)值和閾值,所以稱該算法為誤差反向?qū)2?error back propagation)算法,這種誤差反傳學(xué)習(xí)算法可以推廣到有若干個中間層的多層網(wǎng)絡(luò),因此該多層網(wǎng)絡(luò)常稱之為BP 網(wǎng)絡(luò)。BP網(wǎng)絡(luò)的學(xué)習(xí) 標(biāo)準(zhǔn)的BP 算法也是一種梯度下降學(xué)習(xí)算法,其權(quán)值的修正是沿著誤差性能函數(shù)梯度的反方向進(jìn)行的。針對標(biāo)準(zhǔn)BP 算法存在的一些不足,出現(xiàn)了幾種基于標(biāo)準(zhǔn)BP算法的改進(jìn)算法,如變梯度算法、牛頓算法等。函數(shù)逼近 直

6、到現(xiàn)在為止,在本書中看到的神經(jīng)網(wǎng)絡(luò)的應(yīng)用多是在模式分類方面。神經(jīng)網(wǎng)絡(luò)在本質(zhì)上也可被看作是函數(shù)逼近器。例如,在控制系統(tǒng)中,目標(biāo)是要找到一個合適的反饋函數(shù)。應(yīng)用舉例求解函數(shù)逼近問題有21組單輸入矢量和相對應(yīng)的目標(biāo)矢量,試設(shè)計神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)這對數(shù)組的函數(shù)關(guān)系2022/7/2223函數(shù)逼近 它能將測量到的輸出映射為控制輸入。 考慮圖中的兩層的1 -2 -1網(wǎng)絡(luò)。 函數(shù)逼近此例中,第一層的傳輸函數(shù)是logsig函數(shù)第二層的是線性函數(shù)。函數(shù)逼近 注意網(wǎng)絡(luò)的響應(yīng)包括兩步,每一步對第一層中的一個logsig形神經(jīng)元的響應(yīng)。通過調(diào)整網(wǎng)絡(luò)的參數(shù),每一步的曲線形狀和位置都可以發(fā)生改變 , 如在下面討論中將會見到的那

7、樣。函數(shù)逼近目標(biāo)矢量相對于輸入矢量的圖形 初始網(wǎng)絡(luò)的輸出曲線 2022/7/2227函數(shù)逼近2022/7/2228訓(xùn)練1000次 訓(xùn)練2000次函數(shù)逼近2022/7/2229訓(xùn)練3000次 訓(xùn)練5000次函數(shù)逼近 從這個例子中,可以看到多層網(wǎng)絡(luò)的靈活性。看起來,只要在隱層中有足夠數(shù)量的神經(jīng)元,我們可以用這樣的網(wǎng)絡(luò)來逼近幾乎任何一個函數(shù)。 事實(shí)上,研究已表明兩層網(wǎng)絡(luò)在其隱層中使用S形傳輸函數(shù),在輸出層中使用線性傳輸函數(shù),就幾乎可以以任意精度逼近任何感興趣的函數(shù),只要隱層中有足夠的單元可用( Host89)。函數(shù)逼近 我們已經(jīng)有了對多層感知機(jī)網(wǎng)絡(luò)在模式識別和函數(shù)逼近中的能力一些概念,下一步是要設(shè)計

8、一個算法來訓(xùn)練這樣的網(wǎng)絡(luò)。反向傳播算法反向傳播算法 如前所述,多層網(wǎng)絡(luò)中某一層的輸出成為下一層的輸入。描述此操作的等式為: 這里,M是網(wǎng)絡(luò)的層數(shù)。第一層的神經(jīng)元從外部接收輸入: 它是等式的起點(diǎn)。最后一層神經(jīng)元的輸出是網(wǎng)絡(luò)的輸出: 多層網(wǎng)絡(luò)的BP算法是 LMS 算法的推廣。兩個算法均使用相同的性能指數(shù):均方誤差。算法的輸入是一個網(wǎng)絡(luò)正確行為的樣本集合:這里是網(wǎng)絡(luò)的輸入,是對應(yīng)的目標(biāo)輸出。每輸入一個樣本,便將網(wǎng)絡(luò)輸出與目標(biāo)輸出相比較。算法將調(diào)整網(wǎng)絡(luò)參數(shù)以使均方誤差最小化:性能指數(shù) 近似誤差的最速下降法為,這里 是學(xué)習(xí)速度。性能指數(shù) 這里,x是網(wǎng)絡(luò)權(quán)值和偏置值的向量。若網(wǎng)絡(luò)有多個輸出,則上式的一種形

9、式為:這里,均方誤差的期望值被第k次迭代時的均方誤差所代替。敏感性的反向傳播 現(xiàn)在還需要計算敏感性,正是這個過程給出了反向傳播這個詞,因?yàn)樗枋隽说趍層的敏感性通過第m+1層的敏感性來計算的遞推關(guān)系。誤差不是隱層中的權(quán)值的顯式函數(shù)偏導(dǎo)數(shù)不易求得鏈法則鏈法則計算隱層偏導(dǎo)數(shù)設(shè)有一個函數(shù) f,它是變量n的顯示函數(shù)。函數(shù)n是w的顯示函數(shù)。現(xiàn)在球 f 關(guān)于第三個變量w的導(dǎo)數(shù)。若鏈法則梯度計算梯度計算敏感性梯度最速下降Jacobian矩陣Jacobian矩陣Jacobian矩陣反向傳播(敏感性) 現(xiàn)在我們可以看到反向傳播算法得名的原因了。敏感性從最后一層通過網(wǎng)絡(luò)被反向傳播到第一層:初始化(最后一層) 第一

10、步,通過網(wǎng)絡(luò)將輸入向前傳播BP算法總結(jié)下一步,通過網(wǎng)絡(luò)將敏感性反向傳播BP算法總結(jié)最后,使用最速下降法更新權(quán)值和偏置值BP算法總結(jié)BP算法總結(jié)1-2-1Network+-taep例子: 函數(shù)逼近 網(wǎng)絡(luò)1-2-1Networkap初始條件 下一步定義網(wǎng)絡(luò)要解決的問題。假定我們用此網(wǎng)絡(luò)來逼近函數(shù) 訓(xùn)練集可以通過計算函數(shù)在幾個 p值上的函數(shù)值來得到。初始條件 在開始BP算法前,需要選擇網(wǎng)絡(luò)權(quán)值和偏置值的初始值。通常選擇較小的隨機(jī)值。下一章將討論為什么要這樣做?,F(xiàn)在,選擇的值 網(wǎng)絡(luò)對這些初始值的響應(yīng)如圖所示,圖中還包括要逼近的正弦函數(shù)的曲線。初始條件 現(xiàn)在可以開始執(zhí)行算法了。對初始輸入,我們選擇p=1

11、 :第一層的輸出為前向傳播 第二層的輸出為誤差將為 前向傳播 算法的下一階段是反向傳播敏感性值。在開始反向傳播前需要先求傳輸函數(shù)的導(dǎo)數(shù) 和 。對第一層:反向傳播 對第二層: 下面可以執(zhí)行反向傳播了。起始點(diǎn)在第二層。 反向傳播 第一層的敏感性由計算第二層的敏感性反向傳播得到: 反向傳播 算法的最后階段是更新權(quán)值。為簡單起見,學(xué)習(xí)速度設(shè)為 。權(quán)的修正 權(quán)的修正 這就完成了BP算法的第一次迭代。下一步可以選擇另一個輸入,執(zhí)行算法的第二次迭代過程。迭代過程一直進(jìn)行下去,直到網(wǎng)絡(luò)響應(yīng)和目標(biāo)函數(shù)之差達(dá)到某一可接受的水平。權(quán)的修正 接著討論與反向傳播法的實(shí)際實(shí)現(xiàn)相關(guān)的一些問題,包括網(wǎng)絡(luò)結(jié)構(gòu)的選擇、網(wǎng)絡(luò)收斂性

12、和一般化的問題。1.網(wǎng)絡(luò)結(jié)構(gòu)的選擇 如本章前面所述,多層網(wǎng)絡(luò)可用來逼近幾乎任一個函數(shù),只要在隱層中有足夠的神經(jīng)元。然而,通常并不能說,多少層或多少神經(jīng)元就可以得到足夠的性能。本節(jié)中我們通過一些例子來考察這個問題。反向傳播應(yīng)用第一個例子:假定要逼近如下的函數(shù): 其中 i 取值1、2、4 和8 。隨 i 的增加,函數(shù)變得更為復(fù)雜,在 的區(qū)間內(nèi)將有更多的正弦波周期。當(dāng) i 增加時,很難用隱層中神經(jīng)元數(shù)目固定的神經(jīng)網(wǎng)絡(luò)來逼近g(p) 。網(wǎng)絡(luò)結(jié)構(gòu)的選擇 對這個例子,我們使用一個1-3-1 網(wǎng)絡(luò),第一層的傳輸函數(shù)為 “l(fā)ogsig”形,第二層的傳輸函數(shù)是線性函數(shù)。根據(jù)前面的函數(shù)逼近例子,這種兩層網(wǎng)絡(luò)的響應(yīng)

13、是三個 “l(fā)ogsig”形函數(shù)之和(或多個logsig形函數(shù)之和,只要隱層中有同樣多的神經(jīng)元). 顯然,對這個網(wǎng)絡(luò)能實(shí)現(xiàn)的函數(shù)有多么復(fù)雜有一個限制。圖618是網(wǎng)絡(luò)經(jīng)訓(xùn)練來逼近g(p)(對 i = 1,2,4,8)后的響應(yīng)曲線。最終的網(wǎng)絡(luò)響應(yīng)用圖中畫出的曲線來表示。網(wǎng)絡(luò)結(jié)構(gòu)的選擇 網(wǎng)絡(luò)結(jié)構(gòu)的選擇 1-3-1 Networki = 1i = 2i = 4i = 8由于網(wǎng)絡(luò)的能力受隱層中神經(jīng)元數(shù)目的限制,盡管BP算法可以獲得使均方誤差最小化的網(wǎng)絡(luò)參數(shù),網(wǎng)絡(luò)的響應(yīng)卻不能精確逼近所期望的函數(shù)。 i=1i=2i=4i=8網(wǎng)絡(luò)結(jié)構(gòu)的選擇 可以看到,對 i=4,這個1-3-1網(wǎng)絡(luò)達(dá)到了它的最大能力。當(dāng) i4

14、時,網(wǎng)絡(luò)不能生成g(p)精確的逼近曲線。從圖右下方的圖中可以看致1-3-1網(wǎng)絡(luò)試圖逼近i=8時的函數(shù)g(p) 。 網(wǎng)絡(luò)的響應(yīng)和g(p)之間的均方誤差達(dá)到了最小化,但網(wǎng)絡(luò)響應(yīng)曲線只能與函數(shù)的一小部分相匹配。 網(wǎng)絡(luò)結(jié)構(gòu)的選擇 下一個例子中將從一個稍有些不同的角度來解決此問題。這次我們選擇函數(shù)g(p) ,然后使用越來越大的網(wǎng)絡(luò)直到能精確地逼近函數(shù)為止。 g(p) 采用 網(wǎng)絡(luò)結(jié)構(gòu)的選擇 1-5-11-2-11-3-11-4-1網(wǎng)絡(luò)的能力受隱層中神經(jīng)元數(shù)目的限制。若要逼近有大量拐點(diǎn)的函數(shù),隱層中就要有大量的神經(jīng)元。通常不知道多少層或多少神經(jīng)元就能得到足夠的性能。 BP網(wǎng)絡(luò)的局限性在人工神經(jīng)網(wǎng)絡(luò)的應(yīng)用中,

15、絕大部分的神經(jīng)網(wǎng)絡(luò)模型采用了BP網(wǎng)絡(luò)及其變化形式,但這并不說明BP網(wǎng)絡(luò)是盡善盡美的,其各種算法依然存在一定的局限性。BP 網(wǎng)絡(luò)的局限性主要有以下幾個方面:BP網(wǎng)絡(luò)的局限性(1) 學(xué)習(xí)率與穩(wěn)定性的矛盾 梯度算法進(jìn)行穩(wěn)定學(xué)習(xí)要求的學(xué)習(xí)率較小,所以通常學(xué)習(xí)過程的收斂速度很慢。附加動量法通常比簡單的梯度算法快,因?yàn)樵诒WC穩(wěn)定學(xué)習(xí)的同時,它可以采用很高的學(xué)習(xí)率,但對于許多實(shí)際應(yīng)用,仍然太慢。以上兩種方法往往只適用于希望增加訓(xùn)練次數(shù)的情況。如果有足夠的存儲空間,則對于中、小規(guī)模的神經(jīng)網(wǎng)絡(luò)通常可采用LevenbergMarquardt 算法;如果存儲空間有問題,則可采用其他多種快速算法,例如對于大規(guī)模神經(jīng)網(wǎng)絡(luò)采用trainscg 或trainrp 更合適。BP網(wǎng)絡(luò)的局限性(2) 學(xué)習(xí)率的選擇缺乏有效的方法 對于非線性網(wǎng)絡(luò),選擇學(xué)習(xí)率也是一個比較困難的事情。對于線性網(wǎng)絡(luò),我們知道,學(xué)習(xí)率選擇的太大,容易導(dǎo)致學(xué)習(xí)不穩(wěn)定;反之學(xué)習(xí)率選擇的太小,則可能導(dǎo)致無法忍受過長的學(xué)習(xí)時間。不同于線性網(wǎng)絡(luò),我們還沒有找到一種簡單易行的方法,選擇學(xué)習(xí)率的問題。對于快速訓(xùn)練算法,其默認(rèn)參數(shù)值通常留有裕量。BP網(wǎng)絡(luò)的局限性(3) 訓(xùn)練過程可能陷于局部最小 從理論上說,多層BP網(wǎng)絡(luò)可以實(shí)現(xiàn)

溫馨提示

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

最新文檔

評論

0/150

提交評論