摘要:人工神經(jīng)網(wǎng)絡(luò)有很多模型,但是目前應(yīng)用最廣泛的、基本思想最直觀、最容易理解的是前饋神經(jīng)網(wǎng)絡(luò)中的誤差逆?zhèn)鞑W(xué)習(xí)算法(Error Back Propagation),簡稱為BP神經(jīng)網(wǎng)絡(luò)。它是前饋神經(jīng)網(wǎng)絡(luò)中的核心部分,也是最精華的部分。
關(guān)鍵詞:神經(jīng)元;神經(jīng)網(wǎng)絡(luò);局限性
中圖分類號:Q983+.6 文獻標(biāo)志碼:A文章編號:1002—2589(2008)22—39—02
一 、人工神經(jīng)網(wǎng)絡(luò)的基本原理
人工神經(jīng)網(wǎng)絡(luò)或稱作連接模型(Connectfonist-Model),是對人腦或自然神經(jīng)網(wǎng)絡(luò)(NaturalNeuralNet-work)若干基本特性的抽象和模擬。人工神經(jīng)網(wǎng)絡(luò)以大腦的生理研究成果為基礎(chǔ),其目的在于模擬大腦的某些機理與機制,實現(xiàn)某個方面的功能。參照生物神經(jīng)元網(wǎng)絡(luò)發(fā)展起來的人工神經(jīng)網(wǎng)絡(luò)現(xiàn)已有許多種類型,但它們中的神經(jīng)元結(jié)構(gòu)是基本相同的。
(一)生物神經(jīng)元的結(jié)構(gòu)與功能
1.生物神經(jīng)元的結(jié)構(gòu)。生物神經(jīng)元有一條軸突和若干樹突,它通過軸突與其它細(xì)胞的樹突相連接。樹突是腦神經(jīng)元的輸入器,軸突則是信息傳遞的通道。生物神經(jīng)元有興奮和抑制兩種狀態(tài),每一個神經(jīng)元都是在與之相連的興奮性突觸和抑制性突觸共同作用下活動的。它本身的興奮和抑制作用又對其他神經(jīng)元產(chǎn)生作用。當(dāng)神經(jīng)元接受到大量的興奮性突觸傳來的信息時,信息被綜合處理后神經(jīng)元膜電位升高,超過一定閾值時,神經(jīng)元被激活,細(xì)胞體產(chǎn)生輸出信息。但神經(jīng)元沒有接收到信息或者接收到信息經(jīng)綜合后沒能超過閾值,神經(jīng)元則處于抑制狀態(tài)。只有神經(jīng)元所有輸入的總效應(yīng)達到閾值電平,它才能開始工作。無論什么時候達到閾值電平,神經(jīng)元就產(chǎn)生一個全強度的輸出脈沖,從細(xì)胞體經(jīng)軸突進入軸突分枝。這時的神經(jīng)元就稱為被觸發(fā)。學(xué)習(xí)發(fā)生在突觸附近,而且突觸把經(jīng)過一個神經(jīng)元軸突的脈沖轉(zhuǎn)化為下一個神經(jīng)元的興奮或抑制。
2.生物神經(jīng)元的功能。第一,空間整合功能。神經(jīng)元對于同一時間通過不同突觸傳入的神經(jīng)沖動具有空間整合功能,兩種功能相互結(jié)合,具有時空整合的輸入信息處理功能;第二,興奮與抑制狀態(tài)。神經(jīng)元具有兩種常規(guī)工作狀態(tài),首先是興奮:當(dāng)傳入沖動的時空整合結(jié)果使得細(xì)胞膜電位升高,并超過被稱為動作電位的閾值時,細(xì)胞進入興奮狀態(tài),產(chǎn)生神經(jīng)沖動,由軸突輸出,用“1”表示;其次是抑制:當(dāng)輸入沒有達到閾值時,細(xì)胞進入抑制狀態(tài),無神經(jīng)沖動輸出,用“0”表示;第三,學(xué)習(xí)、遺忘和疲勞。由于結(jié)構(gòu)可塑性,突觸的傳遞作用有增強,減弱和飽和,所以細(xì)胞具有相應(yīng)的學(xué)習(xí)功能,遺忘或疲勞效應(yīng)(飽和效應(yīng))。可見,神經(jīng)元并不是簡單的雙穩(wěn)態(tài)邏輯元件,而是超級的微型生物信息處理機和控制機。
(二)人工神經(jīng)元的組成和分類
人工神經(jīng)元的組成。人工神經(jīng)元就是根據(jù)生物神經(jīng)元結(jié)構(gòu)而設(shè)計出來的。根據(jù)神經(jīng)元的特性和功能,可以把神經(jīng)元抽象為一個簡單的數(shù)學(xué)模型。它有四個基本要素:a.一組連接,連接強度由各連接上的權(quán)值表示,權(quán)值為正表示激活,為負(fù)表示抑制。b.一個求和單元,可以求出各輸入單元的加權(quán)和。c.一個非線性激活函數(shù),起非線性映射作用并將神經(jīng)元輸出幅度限制在一定范圍內(nèi)(通常限制在O和1之前或-1到+l之間)。d.閾值。e.是神經(jīng)元的輸入信號 ,稱為連接權(quán),是和的線性組合結(jié)果,是激勵函數(shù),y是神經(jīng)元的輸出。激勵函數(shù)有以下幾種類型:
(I)躍階函數(shù)。躍階函數(shù)是經(jīng)典的M-P模型采用的激勵函數(shù)類型。該模型對模式分類的問題特別有效,其函數(shù)表達式為:
(II)線性函數(shù)。線性函數(shù)類似于一個放大系數(shù)為1的放大器,跟蹤輸入信號的變化。線性激勵函數(shù)與輸入的激發(fā)總量成正比,可作為信息跟隨裝置,其函數(shù)表達式為:
(III)sigmoid函數(shù)Sigmoid函數(shù)表達式為:
其中a為可控制斜率參數(shù),其值為大于0的數(shù)。Sigmoid激勵函數(shù)或稱S型函數(shù)是把輸入信號鎖定在0和1之間的值,在后面要講到的BP網(wǎng)絡(luò),S型函數(shù)是主要激勵函數(shù)。
二 、BP神經(jīng)網(wǎng)絡(luò)模型的建立
BP神經(jīng)網(wǎng)絡(luò)是人工神經(jīng)網(wǎng)絡(luò)的一個典型模型,全稱是反向傳播模型(Back-propagation),是一種多層感知器結(jié)構(gòu),由若干層神經(jīng)元組成,網(wǎng)絡(luò)不僅有輸入層節(jié)點,輸出層節(jié)點,而且還可以有一層或多層隱含層節(jié)點。由于B-P算法過程包含從輸出節(jié)點開始,反向地向第一隱含層(即最接近輸入層的隱含層)傳播由總誤差引起的權(quán)值修正,所以稱為“反向傳播”。
其中:傳遞函數(shù)為S型函數(shù):;誤差函數(shù): 這里為理想輸出,為網(wǎng)絡(luò)的計算輸出。
BP網(wǎng)絡(luò)對于輸入的信號,要先向前傳播到隱含層節(jié)點,經(jīng)過作用函數(shù)后,再把隱含層節(jié)點的輸出信息傳播到輸出層節(jié)點,最后輸出結(jié)果。假定BP網(wǎng)絡(luò)每層有n個處理單元,神經(jīng)元的變換函數(shù)為S型的作用函數(shù):
該作用函數(shù)使得輸出量為 0-1 之間的連續(xù)量,因此可以實現(xiàn)從輸入到輸出的任意非線性映射。人工神經(jīng)元將其接收到的信息(前一層的輸出)O1,O2,…,On用W1,W2,…,Wn連接強度以點積的形式構(gòu)成自己的輸入I1再經(jīng) Sigmoid 函數(shù)轉(zhuǎn)換,便得到這個單元的輸出O1。訓(xùn)練集包括 m個樣本模式對(XK,YK)。第 p個訓(xùn)練樣本記為(p=1,2,…,M),單元 j 的輸入總和(即激活函數(shù))記為,輸出記為,則
;
如果任意設(shè)置網(wǎng)絡(luò)初始權(quán)值,那么對每個輸入模式 p,網(wǎng)絡(luò)輸出于期望輸出一般總有誤差,定義網(wǎng)絡(luò)誤差為:
表示對第 p 個輸入模式輸出單元 j 的期望輸出, δ 學(xué)習(xí)規(guī)則的實質(zhì)是利用梯度最速下降法,使權(quán)值沿誤差的負(fù)梯度方向改變,若權(quán)值的變化量記為,由于
;
令 則
在網(wǎng)絡(luò)學(xué)習(xí)過程中,輸出層于隱含層的誤差計算是不相同的,當(dāng)表示輸出層單元的輸出時,其誤差為:
當(dāng)表示隱含層輸出時,其誤差為:
其中k表示與單元j輸出相連的上一層單元,即:
它反映了隱層單元有誤差修正量是通過加權(quán)求和所有與單元 j 輸出相連的上一層單元的誤差修正量,根據(jù)作用函數(shù)的導(dǎo)數(shù)項按比率減小得到的。BP 算法可以通過以下具體過程實現(xiàn): (1)建立網(wǎng)絡(luò)模型,初始化網(wǎng)絡(luò)及學(xué)習(xí)參數(shù); (2)提供訓(xùn)練模式,選實例作學(xué)習(xí)訓(xùn)練樣本;訓(xùn)練網(wǎng)絡(luò),直到滿足學(xué)習(xí)要求;(3)前向傳播過程,對給定訓(xùn)練模式輸入,計算網(wǎng)絡(luò)的輸出模式,并與期望模式比較,若誤差不能滿足精度要求,則誤差反向傳播,否則轉(zhuǎn)到(2); (4)反向傳播過程。
總之,BP 算法是一個很有效的算法,它把一組樣本的輸入、輸出問題變成一個非線性優(yōu)化問題,并使用了優(yōu)化問題中最普遍的梯度下降法,用迭代運算求解權(quán)相應(yīng)于學(xué)習(xí)記憶問題,加入隱含層節(jié)點是優(yōu)化問題的可調(diào)參數(shù)增加,從而可以得到更精確的解。如果把這種神經(jīng)網(wǎng)絡(luò)看成是一個從輸入到輸出的映射,則這個映射是一個高度非線性的映射。
神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程是一個反復(fù)迭代的過程,由正向傳播和反向傳播組成。其算法的基本思想是根據(jù)網(wǎng)絡(luò)輸出層的誤差,從輸出層開始,反過來調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,最后使得輸出的均方誤差最小。對一定的樣本進行這樣的“學(xué)習(xí)”后,網(wǎng)絡(luò)所持的權(quán)值便是網(wǎng)絡(luò)通過自適應(yīng)學(xué)習(xí)得到的正確的內(nèi)部表示。這是將待識別樣本的特征數(shù)據(jù)輸入訓(xùn)練好的網(wǎng)絡(luò),網(wǎng)絡(luò)就可以對樣本的屬性進行自動推理、識別。
三、BP人工神經(jīng)網(wǎng)絡(luò)的局限性
BP網(wǎng)絡(luò)只是一個非線性映射,BP算法的網(wǎng)絡(luò)誤差曲面有很多全局最小的解;存在平坦區(qū),對于不同的映射范圍各不相同;存在不少局部最小點,在某些初值的條件下,算法的結(jié)果會陷入局部最小;BP算法的收斂速度較慢,且網(wǎng)絡(luò)隱層節(jié)點個數(shù)的選取尚缺少統(tǒng)一而完整的理論(即沒有很好的解析式來表示)。
參考文獻:
[1] 劉春平.神經(jīng)網(wǎng)絡(luò)的應(yīng)用與發(fā)展[J].電子工藝技術(shù),2005(26).
[2] 魏海坤.神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計的理論與方法[M].北京:國防工業(yè)出版社,2005.
[3]楊建剛.人工神經(jīng)網(wǎng)絡(luò)實用教程[M].杭州:浙江大學(xué)出版社,2001.
[4] 閻平凡.人工神經(jīng)網(wǎng)絡(luò)與模擬進化計算[M].北京:清華大學(xué)出版社,2005.
[5]韓力群.人工神經(jīng)網(wǎng)絡(luò)理論、設(shè)計及應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2002.
(責(zé)任編輯/石銀)
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文