王強(qiáng)
(山西工程職業(yè)學(xué)院 山西省太原市 030009)
人工神經(jīng)網(wǎng)絡(luò)越來越受到眾多領(lǐng)域?qū)W者的關(guān)注,80%—90%的人工神經(jīng)網(wǎng)絡(luò)模型是采用誤差反傳算法或其變化形式的網(wǎng)絡(luò)模型。BP 神經(jīng)網(wǎng)絡(luò)在實(shí)際應(yīng)用中,具有較好的自組織、自學(xué)習(xí)、非線性逼近能力、容錯(cuò)性等等。目前主要應(yīng)用于函數(shù)逼近、目標(biāo)識別、分類和數(shù)據(jù)分析或數(shù)據(jù)挖掘。本文通過5 組從圖像中提取的特征值向量作為樣本數(shù)據(jù)參數(shù),并通過BP 網(wǎng)絡(luò)模型的學(xué)習(xí)、訓(xùn)練,模擬實(shí)現(xiàn)數(shù)據(jù)的分析或分類識別[1]。
人工智能,是以機(jī)器的交互來模仿人腦或神經(jīng)反射的控制方式,是人類從認(rèn)識自身、認(rèn)識自然,到改造自然的發(fā)展趨勢。人工神經(jīng)網(wǎng)絡(luò)是人類大腦神經(jīng)元網(wǎng)絡(luò)進(jìn)行數(shù)學(xué)抽象,建立數(shù)學(xué)模型,由大量的節(jié)點(diǎn)(或稱神經(jīng)元)之間相互聯(lián)接,組成不同的網(wǎng)絡(luò)。通過對人腦生理結(jié)構(gòu)研究,結(jié)合人腦的微觀結(jié)構(gòu)及其智能行為的研究,用計(jì)算機(jī)控制系統(tǒng)來對人腦進(jìn)行宏觀功能的智能模擬,也就是符號處理方法的模擬。從人的思維活動(dòng)和行為的心理學(xué)特性出發(fā),探索和模擬人的感覺、思維、行為的規(guī)律,設(shè)計(jì)具有人類智能的運(yùn)算模型或系統(tǒng)。人工神經(jīng)網(wǎng)絡(luò)基本模型如圖1 所示。
BP 神經(jīng)網(wǎng)絡(luò)模型是一種前饋網(wǎng)絡(luò),以誤差反向傳播算法的方式,來實(shí)現(xiàn)對多層感知器的訓(xùn)練,表現(xiàn)出很好的非線性逼近能力,并且通過非線性的適應(yīng)性實(shí)現(xiàn)數(shù)據(jù)信息的處理,具有較好的容錯(cuò)性,經(jīng)常用作對大規(guī)模數(shù)據(jù)的并行處理。BP 模型以其很好的自學(xué)習(xí)、自組織、自適應(yīng)能力,廣泛應(yīng)用在數(shù)據(jù)的分析和預(yù)測、樣本分類、聚類的目標(biāo)識別等領(lǐng)域[3]。
1.2.1 BP 神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)
BP 神經(jīng)網(wǎng)絡(luò)是一個(gè)多層網(wǎng)絡(luò)結(jié)構(gòu),包括輸入層、輸出層,以及兩層之間的一個(gè)或多個(gè)隱含層構(gòu)成。其中,隱含層中的神經(jīng)元稱為隱單元,它們與外界沒有直接的聯(lián)系,但其狀態(tài)的改變,對輸入、與輸出之間的關(guān)系也會造成影響。各層中的神經(jīng)元之間通過權(quán)重連接,并接受前后一級神經(jīng)元的輸出和反饋,經(jīng)過神經(jīng)元權(quán)重的調(diào)整和閾值的作用輸出,從而對其他神經(jīng)元產(chǎn)生作用[2]。三層BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。
1.2.2 BP 神經(jīng)網(wǎng)絡(luò)的特點(diǎn)
BP 神經(jīng)網(wǎng)絡(luò)具有非線性映射、并行分布處理、多變量控制、自學(xué)習(xí)和自適應(yīng)、數(shù)據(jù)融合等特點(diǎn)。具體表現(xiàn)為,BP 神經(jīng)網(wǎng)絡(luò)能以任意精度逼近任何非線性連續(xù)函數(shù),以分布儲存和并行處理的方式處理數(shù)據(jù)信息,處理速度很快、容錯(cuò)性很強(qiáng)。同時(shí),網(wǎng)絡(luò)的輸入變量、輸出變量的數(shù)目可以是任意的,可以忽略各個(gè)系統(tǒng)之間的解耦問題,提供了一種通用的系統(tǒng)描述方式。在利用樣本對網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí),泛化能力很好,即可以根據(jù)輸入、輸出的數(shù)據(jù)形成相應(yīng)的規(guī)律性,調(diào)整網(wǎng)絡(luò)中間隱層的權(quán)值,然后將調(diào)整后的權(quán)值應(yīng)用于一般情形。BP 神經(jīng)網(wǎng)絡(luò)模型還可以同時(shí)處理定量信息和定性信息,體現(xiàn)了人工智能技術(shù)(符號處理)和傳統(tǒng)工程技術(shù)(數(shù)值運(yùn)算)的融合。
圖1:人工神經(jīng)網(wǎng)絡(luò)基本模型
圖2:三層BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型
圖3:訓(xùn)練誤差變化曲線
1.2.3 BP 模型激活函數(shù)
在選擇BP 神經(jīng)網(wǎng)絡(luò)的激活函數(shù)時(shí),需要滿足此函數(shù)處處可導(dǎo)的條件,一般的,S 型函數(shù)經(jīng)常用作BP 網(wǎng)絡(luò)的激活函數(shù)。此函數(shù)具有單調(diào)性,從圖像上看具有連續(xù)性,無限次可導(dǎo)或可微。此外,S 型函數(shù)也可以作為輸出函數(shù)。按照權(quán)值大小情況來分類,權(quán)值如果比較大,則S 型函數(shù)可以用作閾值函數(shù);雖然從圖像上看是非線性函數(shù),但如果權(quán)值很小,則可以當(dāng)作線性函數(shù)來使用。使用S 型激活函數(shù)時(shí)BP 網(wǎng)絡(luò)輸入與輸出的關(guān)系如下:
表1:圖像特征值(網(wǎng)絡(luò)輸入量)
表2:識別情況對照表
需要注意的是,在對網(wǎng)絡(luò)模型進(jìn)行樣本數(shù)據(jù)學(xué)習(xí)訓(xùn)練時(shí),net的值應(yīng)該控制在收斂比較快的范圍內(nèi)。
BP 算法是用有導(dǎo)師的學(xué)習(xí)規(guī)則,將實(shí)際輸出與預(yù)計(jì)目標(biāo)之間的誤差通過隱層逐層向輸入端反向傳輸,同時(shí),這個(gè)誤差會在反饋過程中,分?jǐn)偨o各層的所有神經(jīng)元,各層單元?jiǎng)t以這個(gè)誤差信號為參照,來調(diào)整單元權(quán)值。在外界輸入樣本的刺激下,通過不斷調(diào)整網(wǎng)絡(luò)連接的權(quán)值,達(dá)到減少或減弱網(wǎng)絡(luò)的實(shí)際輸出與預(yù)計(jì)目標(biāo)間誤差的目的,這種有導(dǎo)師的反饋調(diào)節(jié)方式,能達(dá)到不斷優(yōu)化網(wǎng)絡(luò)的學(xué)習(xí)性能的目的。
具體的,把樣本送入BP 網(wǎng)絡(luò)的輸入層,通過各隱層的處理、計(jì)算,最后傳送到輸出層。當(dāng)輸出層的實(shí)際輸出與預(yù)計(jì)目標(biāo)或?qū)熜盘栂嗖畋容^大時(shí),就需要開始進(jìn)行反向傳輸;誤差通過反向傳播到達(dá)各層單元,修正各層單元的權(quán)值;接著,再次開始正向傳輸過程,如果網(wǎng)絡(luò)輸出的誤差減少到可以允許的程度,或進(jìn)行到預(yù)先設(shè)定的學(xué)習(xí)次數(shù),訓(xùn)練停止。
利用BP 神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)進(jìn)行分析或進(jìn)行分類識別,可以針對其網(wǎng)絡(luò)模型,把具有識別特征或代表性的數(shù)據(jù)作為網(wǎng)絡(luò)的輸入,把我們期望得到的識別目標(biāo)類型作為輸出,即可通過BP 網(wǎng)絡(luò)的自學(xué)習(xí)和自適應(yīng)功能,實(shí)現(xiàn)目標(biāo)識別。
現(xiàn)以圖像特征值向量為例,分別從5 張圖像中提取出5 組特征值,作為網(wǎng)絡(luò)的訓(xùn)練樣本輸入,輸出即為相應(yīng)的識別類型,通過設(shè)置BP 網(wǎng)絡(luò)模型的各個(gè)參數(shù)的初始參考值,來對BP 網(wǎng)絡(luò)進(jìn)行訓(xùn)練、學(xué)習(xí)。
在圖像分析研究中,特征值提取是識別技術(shù)中的一個(gè)最基本的問題,和普通的機(jī)械振動(dòng)數(shù)據(jù)、溫度數(shù)據(jù)、噪聲數(shù)據(jù)一樣,都可以看作是數(shù)據(jù)分析處理的一種方法。把二維圖像當(dāng)中的特征數(shù)據(jù)或信息通過相關(guān)的變換算法提取出來,使其特征轉(zhuǎn)換成最能反映出其本質(zhì)的一維特征信息。提取出比較穩(wěn)定的、有一定表征性的、區(qū)分性較好的數(shù)值或特征量,不再以二維圖像的形式表達(dá)。把提取出的特征值,做為網(wǎng)絡(luò)的樣本輸入值進(jìn)行訓(xùn)練,模擬達(dá)到識別結(jié)果。
通過圖像特征提取算法,對5 張圖像提取出相應(yīng)的特征值,每組特征值即可作為一組特征向量,并把這些特征向量當(dāng)作訓(xùn)練樣本,輸入BP 網(wǎng)絡(luò),把預(yù)計(jì)的識別目標(biāo)作為輸出,建立網(wǎng)絡(luò)模型進(jìn)行模擬仿真。提取出的特征值如表1 所示。
對BP 神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,使圖像進(jìn)行特征提取后的特征量當(dāng)作訓(xùn)練樣本,送入BP 神經(jīng)網(wǎng)絡(luò)的輸入端,進(jìn)行網(wǎng)絡(luò)模型訓(xùn)練,同時(shí)要對初始的訓(xùn)練參數(shù)進(jìn)行設(shè)置。一般的,設(shè)置初始權(quán)值,-0.3-0.3;學(xué)習(xí)率,0.1;動(dòng)量因子,0.95;最大迭代次數(shù),1000。對于輸出的設(shè)置,受S型激活函數(shù)特性的影響,如果要規(guī)定網(wǎng)絡(luò)輸出0、1,BP 神經(jīng)網(wǎng)絡(luò)模型在訓(xùn)練時(shí)將無法收斂。所以,這里用0.0001 來代替0、0.9999 代替1,就可以避免出現(xiàn)這個(gè)問題。
訓(xùn)練完成應(yīng)設(shè)置三層BP 識別模型。利用5 組特征值作為輸入層的樣本,為了與樣本的數(shù)量保持一致,設(shè)置輸出層與輸入層的神經(jīng)元數(shù)目為5,隱含層神經(jīng)元的數(shù)目由多次實(shí)驗(yàn)得出為10;選用正切S 型函數(shù)tansig,對網(wǎng)絡(luò)進(jìn)行集中訓(xùn)練。在訓(xùn)練過程中,當(dāng)總體均方誤差數(shù)值等于或小于目標(biāo)1e-005 時(shí),即可停止網(wǎng)絡(luò)模型的樣本訓(xùn)練。從圖3 訓(xùn)練誤差變化曲線所示,經(jīng)過938 次迭代之后,訓(xùn)練達(dá)到目標(biāo)而停止,此時(shí)網(wǎng)絡(luò)的總體均方誤差為9.9082e-006,達(dá)到了訓(xùn)練目的。
BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練完成以后,將圖像的特征向量輸入已經(jīng)訓(xùn)練完成神經(jīng)網(wǎng)絡(luò),在輸出層上如果出現(xiàn)某個(gè)神經(jīng)元的值最大,即對應(yīng)識別某張圖像。
從表2 可以看出,BP 神經(jīng)網(wǎng)絡(luò)經(jīng)過有導(dǎo)師的引導(dǎo)學(xué)習(xí),具有了相應(yīng)的識別能力,從而可以達(dá)到對數(shù)據(jù)的分析、分類識別,網(wǎng)絡(luò)經(jīng)多次訓(xùn)練成功率比較高。
綜上所述,BP 神經(jīng)網(wǎng)絡(luò)是通過模擬人腦的思維模式,建立對應(yīng)函數(shù)模型來處理問題,對噪聲數(shù)據(jù)、振動(dòng)數(shù)據(jù)、二維圖像數(shù)據(jù)等類型的數(shù)據(jù)分析都顯示出其網(wǎng)絡(luò)功能的優(yōu)勢。BP 神經(jīng)網(wǎng)絡(luò)具有柔性的網(wǎng)絡(luò)結(jié)構(gòu),并且具有很強(qiáng)的非線性映射能力,其隱層的層數(shù)、以及神經(jīng)元的個(gè)數(shù),都可以根據(jù)實(shí)際情況而做出調(diào)整。而且隨著BP 網(wǎng)絡(luò)結(jié)構(gòu)的不同,其性能也呈現(xiàn)出差異性。