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