神經(jīng)網(wǎng)絡(luò)前向傳播算法范文
時間:2023-10-30 17:30:39
導(dǎo)語:如何才能寫好一篇神經(jīng)網(wǎng)絡(luò)前向傳播算法,這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。
篇1
【關(guān)鍵詞】 圖像識別技術(shù) 神經(jīng)網(wǎng)絡(luò)識別
模式識別研究的目的是用機(jī)器來模擬人的各種識別能力―比如說模擬人的視覺與聽覺能力,因此圖像識別的目的是對文字、圖像、圖片、景物等模式信息加以處理和識別,以解決計算機(jī)與外部環(huán)境直接通信這一問題??梢哉f,圖像識別的研究目標(biāo)是為機(jī)器配置視覺“器官”,讓機(jī)器具有視覺能力,以便直接接受外界的各種視覺信息。
一、圖像識別系統(tǒng)
一個圖像識別系統(tǒng)可分為四個主要部分:被識圖像、圖像信息獲取、圖像預(yù)處理、圖像特征提取、分類判決。
二、圖像識別方法
圖像識別的方法很多,可概括為統(tǒng)計(或決策理論)模式識別方法、句法(或結(jié)構(gòu))模式識別方法、模糊模式識別方法以及神經(jīng)網(wǎng)絡(luò)識別方法。重點介紹神經(jīng)網(wǎng)絡(luò)識別方法。
2.1神經(jīng)網(wǎng)絡(luò)識別方法
2.1.1人工神經(jīng)網(wǎng)絡(luò)的組成
人工神經(jīng)網(wǎng)絡(luò)(簡稱ANN)是由大量處理單元經(jīng)廣泛互連而組成的人工網(wǎng)絡(luò),用來模擬腦神經(jīng)系統(tǒng)的結(jié)構(gòu)和功能。而這些處理單元我們把它稱作人工神經(jīng)元。
2.1.2人工神經(jīng)網(wǎng)絡(luò)的輸出
2.1.3人工神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)
人工神經(jīng)網(wǎng)絡(luò)中,各神經(jīng)元的不同連接方式就構(gòu)成了網(wǎng)絡(luò)的不同連接模型。常見的連接模型有:前向網(wǎng)絡(luò)、從輸入層到輸出層有反饋的網(wǎng)絡(luò)、層內(nèi)有互聯(lián)的網(wǎng)絡(luò)及互聯(lián)網(wǎng)絡(luò)。
2.1.4 學(xué)習(xí)算法
1)感知器模型及其算法
算法思想:首先把連接權(quán)和閾值初始化為較小的非零隨機(jī)數(shù),然后把有n個連接權(quán)值的輸入送入網(wǎng)絡(luò)中,經(jīng)加權(quán)運算處理后,得到一個輸出,如果輸出與所期望的有較大的差別,就對連接權(quán)值參數(shù)按照某種算法進(jìn)行自動調(diào)整,經(jīng)過多次反復(fù),直到所得到的輸出與所期望的輸出間的差別滿足要求為止。
反向傳播模型也稱B-P模型,是一種用于前向多層的反向傳播學(xué)習(xí)算法。
算法思想是:B-P算法的學(xué)習(xí)目的是對網(wǎng)絡(luò)的連接權(quán)值進(jìn)行調(diào)整,使得調(diào)整后的網(wǎng)絡(luò)對任一輸入都能得到所期望的輸出。學(xué)習(xí)過程包括正向傳播和反向傳播。正向傳播用于對前向網(wǎng)絡(luò)進(jìn)行計算,即對某一輸入信息,經(jīng)過網(wǎng)絡(luò)計算后求出它的輸出結(jié)果;反向傳播用于逐層傳遞誤差,修改神經(jīng)元之間的連接權(quán)值,使網(wǎng)絡(luò)最終得到的輸出能夠達(dá)到期望的誤差要求。
B-P算法的學(xué)習(xí)過程如下:
第一步:選擇一組訓(xùn)練樣例,每一個樣例由輸入信息和期望的輸出結(jié)果兩部分組成;第二步:從訓(xùn)練樣例集中取出一樣例,把輸入信息輸入到網(wǎng)絡(luò)中;第三步:分別計算經(jīng)神經(jīng)元處理后的各層節(jié)點的輸出;第四步:計算網(wǎng)絡(luò)的實際輸出和期望輸出的誤差;第五步:從輸出層反向計算到第一個隱層,并按照某種原則(能使誤差向減小方向發(fā)展),調(diào)整網(wǎng)絡(luò)中各神經(jīng)元的權(quán)值;第六步:對訓(xùn)練樣例集中的每一個樣例重復(fù)一到五的步驟,直到誤差達(dá)到要求時為止。
3)Hopfield模型及其學(xué)習(xí)算法
它是一種反饋型的神經(jīng)網(wǎng)絡(luò),在反饋網(wǎng)絡(luò)中,網(wǎng)絡(luò)的輸出要反復(fù)地作為輸入再送入網(wǎng)絡(luò)中,使得網(wǎng)絡(luò)具有了動態(tài)性,因此網(wǎng)絡(luò)的狀態(tài)在不斷的改變之中。
算法思想是:
(a) 設(shè)置互連權(quán)值
其中xis是s類樣例的第i個分量,它可以為1或0,樣例類別數(shù)為m,節(jié)點數(shù)為n。
(b) 未知類別樣本初始化。 Yi(0)=Xi 0≤i≤n-1
其中Yi(t)為節(jié)點I在t時刻的輸出,當(dāng)t=0時,Yi(0)就是節(jié)點I的初始值,Xi為輸入樣本的第I個分量。
(c) 迭代直到收斂
篇2
關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò);BP算法;網(wǎng)絡(luò)模型
中圖分類號:TP183
1 BP網(wǎng)絡(luò)的定義
誤差反向傳播算法(Error Back Propagation,EBP,簡稱BP)在于利用輸出層的誤差來估計輸出層的直接前導(dǎo)層的誤差,再用這個誤差估計更前一層的誤差。如此下去,就獲得了所有其他各層的誤差估計。這樣就形成了將輸出表現(xiàn)出的誤差沿著與輸入信號傳送相反的方向逐級向網(wǎng)絡(luò)的輸入端傳遞的過程。因此,人們就又將此算法稱為向后傳播算法,簡稱BP算法。使用BP算法進(jìn)行學(xué)習(xí)的多層前向網(wǎng)絡(luò)稱為BP網(wǎng)絡(luò)。雖然這種誤差估計本身的精度會隨著誤差本身的“向后傳播”而不斷降低,但它還是給多層網(wǎng)絡(luò)的訓(xùn)練提供了十分有效的辦法。所以,多年來該算法受到了廣泛的關(guān)注。BP網(wǎng)絡(luò)應(yīng)用廣泛,學(xué)習(xí)采用最小均方差,由輸入層、若干隱層和輸出層構(gòu)成,它是一種典型的前饋網(wǎng)絡(luò)。
圖1 三層神經(jīng)網(wǎng)絡(luò)模型
常用的BP網(wǎng)絡(luò)是三層前向網(wǎng)絡(luò)(如圖1所示),即:輸入層、中間層和輸出層。它的學(xué)習(xí)分為以下幾個過程:由每個神經(jīng)元網(wǎng)絡(luò)的輸入節(jié)點經(jīng)中間層向輸出層的一個正向傳播,若網(wǎng)絡(luò)的實際輸出與期望輸出有誤差,將這個誤差經(jīng)輸出層到中間層再傳給輸入層調(diào)整權(quán)值再學(xué)習(xí)的一個逆?zhèn)鞑?。通過不斷的學(xué)習(xí),最后的輸出要在誤差范圍之內(nèi)。
2 BP算法的基本思想
BP算法的基本思想歸結(jié)如下:BP網(wǎng)絡(luò)對于輸入信號,通過輸入層傳播到隱含層,經(jīng)過激勵函數(shù)的作用,再將隱含層的輸出作為輸出層的輸入傳播到輸出層,最后輸出結(jié)果。對于每一個輸入樣本,神經(jīng)網(wǎng)絡(luò)的實際輸出與目標(biāo)輸出不可能完全一樣,兩者之間必然會有一定的誤差,定義均方差為:
3 BP算法的學(xué)習(xí)過程及兩種改進(jìn)算法的思想
學(xué)習(xí)是人工神經(jīng)網(wǎng)絡(luò)最重要的一個特點,學(xué)習(xí)的目的在于能對任何一個樣本的輸入通過調(diào)整相關(guān)參數(shù)輸出期望的結(jié)果。學(xué)習(xí)的方法可以從以下幾步闡述:第一步,向神經(jīng)網(wǎng)絡(luò)模型輸入一系列樣本,每一個樣本都有包含輸入和期待的輸出兩部分,把采集到的樣本向神經(jīng)網(wǎng)絡(luò)輸入后,先由第一個隱層進(jìn)行相關(guān)計算然后逐層向下一層傳遞,直到傳至輸出層。第二步,將輸出的結(jié)果與期望輸出的結(jié)果做比較,如果誤差不能滿足要求,就按原來的路徑逐層返回,神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)能力這時候就要發(fā)揮作用了,它要根據(jù)誤差的結(jié)果對權(quán)值、閥值做適當(dāng)修改,再從第一個隱層開始重復(fù)的計算傳遞,直到輸出的結(jié)果滿足要求。
本文論述的算法都是以三層網(wǎng)絡(luò)結(jié)構(gòu)出發(fā)進(jìn)行討論的。
BP算法的改進(jìn)主要集中在兩個方面:其一是避免陷入局部極小值,一旦陷入要想辦法逃出;其二是改進(jìn)迭代算法,加快收斂速度,較常用的方法是共軛梯度法、Levenberg-Marquardt法等。
BP網(wǎng)絡(luò)學(xué)習(xí)過程收斂速度慢的因素有兩方面:(1)學(xué)習(xí)率s和勢態(tài)因子α在訓(xùn)練中值不變。BP網(wǎng)絡(luò)實際就是優(yōu)化計算中的梯度下降法,利用輸出的誤差作為對權(quán)值、閥值調(diào)整的參考,目的是確保最終的輸出誤差最小。考慮到算法的收斂性,學(xué)習(xí)率s必須小于某一固定上界。BP網(wǎng)絡(luò)中的學(xué)習(xí)率s和慣性因子α在訓(xùn)練過程中為一固定值。這一限制決定了BP網(wǎng)絡(luò)的收斂速度不可能很快。(2)學(xué)習(xí)過程中出現(xiàn)“假飽和”。實際輸出和期望輸出的誤差產(chǎn)生以后,通過調(diào)整網(wǎng)絡(luò)訓(xùn)練的權(quán)值,不斷學(xué)習(xí)后這種誤差應(yīng)該越來越小,如果多次學(xué)習(xí)后誤差沒有減小,經(jīng)過一段時間后,誤差才下降,稱這種現(xiàn)象為學(xué)習(xí)過程中的“假飽和”。在BP網(wǎng)絡(luò)中,初始權(quán)值、閾值一般是在一個范圍內(nèi)人為確定的。若作為網(wǎng)絡(luò)輸入的神經(jīng)元的個數(shù)與閾值差別較大,考慮到神經(jīng)元具有飽和非線性特征,那么神經(jīng)元的實際輸出只有兩種結(jié)果:極大值或極小值。當(dāng)輸出層接收到的神經(jīng)元的總輸入進(jìn)入到飽和區(qū),且實際輸出與目標(biāo)輸出相互矛盾,就是“假飽和”。這時對權(quán)值作大的修改才行,而實際上,由于此時導(dǎo)數(shù)值趨近于零,導(dǎo)數(shù)權(quán)值修改量很小。導(dǎo)致學(xué)習(xí)速度下降。對中間層的神經(jīng)元也是一樣。學(xué)習(xí)一旦進(jìn)入“假飽和”狀態(tài),很難退出這種“假飽和”狀態(tài),可能需要一定的時間,有時可能會陷入僵局,要重新開始網(wǎng)絡(luò)訓(xùn)練。
傳統(tǒng)的BP算法主要的優(yōu)點是簡單、易于實現(xiàn)。但是BP算法有兩個不可克服的缺陷:(1)BP算法很可能陷入局部極小值;(2)收斂速度慢。
像熱導(dǎo)氣體分析儀這類的儀器經(jīng)常會用于一些惡劣而又危險的環(huán)境中,且要求其測量周期短暫,所以系統(tǒng)需要較強(qiáng)的抗震蕩學(xué)習(xí)網(wǎng)絡(luò)?;跓釋?dǎo)傳感器測量的主要因素,提出一種新的BP網(wǎng)絡(luò)學(xué)習(xí)算法,對學(xué)習(xí)因子進(jìn)行模糊自適應(yīng)調(diào)節(jié),這樣系統(tǒng)能夠快速、準(zhǔn)確地將干擾因素與熱導(dǎo)傳感器的原始測量值進(jìn)行擬合,有效減小測量誤差。這種模糊自適應(yīng)算法思想一樣可用于發(fā)電機(jī)匝間短路故障的在線檢測。
4 結(jié)束語
通過以上對BP算法的學(xué)習(xí)與分析總結(jié)如下:(1)傳統(tǒng)的BP算法采用最小均方差的學(xué)習(xí)方式,是使用最廣泛的網(wǎng)絡(luò),可用于語言綜合、語言識別、自適應(yīng)控制等,它是一種典型的前饋網(wǎng)絡(luò),優(yōu)點是簡單、易于實現(xiàn),缺點是可能陷入局部極小值、收斂速度慢。(2)BP算法的改進(jìn)主要集中在兩個方面:其一是避免陷入局部極小值,一旦陷入要想辦法逃出;其二是改進(jìn)迭代算法,加快收斂速度。(3)多層前饋神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過程中,對學(xué)習(xí)因子進(jìn)行模糊自適應(yīng)調(diào)節(jié),自動調(diào)節(jié)步長、勢態(tài)因子、可以明顯地提高收斂速度和誤差精度。在一些特殊領(lǐng)域的應(yīng)用取得較好的效果。從目前已有的研究成果來看,設(shè)計的模糊自適應(yīng)算法有良好的研究方向。
參考文獻(xiàn):
[1]黃麗.BP神經(jīng)網(wǎng)絡(luò)算法改進(jìn)及應(yīng)用研究[D].重慶師范大學(xué)圖書館,2007.
[2]劉彩紅.BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法的研究[D].重慶師范大學(xué)圖書館,2006.
[3]王建梅,覃文忠.基于L-M算法的BP神經(jīng)網(wǎng)絡(luò)分類器[J].武漢大學(xué)學(xué)報,2005(10):928-931.
篇3
關(guān)鍵詞:Matlab;BP神經(jīng)網(wǎng)絡(luò);預(yù)測
中圖分類號:TP183文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2008)19-30124-02
Based on Matlab BP Neural Network Application
YANG Bao-hua
(Institute of Information and Computer, Anhui Agricultural University, Hefei 230036, China)
Abstract: BP learning algorithm is a one-way transmission of multi-layer to the network, Matlab toolbox is based on the theory of artificial neural network, based on Matlab toolbox, with watermelon-heavy forecasts, BP neural network forecast the feasibility of re-watermelon is verified, and fast convergence, small error, should be promoted in the forecast crop growth.
Key words: Matlab; BP Neural Networks; Forecast
1 引言
人工神經(jīng)網(wǎng)絡(luò)是人工構(gòu)造的模擬人腦功能而構(gòu)建的一種網(wǎng)絡(luò),BP神經(jīng)網(wǎng)絡(luò)是結(jié)構(gòu)較簡單、應(yīng)用最廣泛的一種模型,BP神經(jīng)網(wǎng)絡(luò)是Rumelhart等在1986年提出的。它是一種單向傳播的多層前向網(wǎng)絡(luò),一般具有三層或三層以上的神經(jīng)網(wǎng)絡(luò),包括輸入層、中間層(隱層)和輸出層[1],其模型見圖1所示。
■
圖1 BP網(wǎng)絡(luò)模型
Matlab中的神經(jīng)網(wǎng)絡(luò)工具箱是以人工神經(jīng)網(wǎng)絡(luò)理論為基礎(chǔ),利用Matlab語言構(gòu)造出許多典型神經(jīng)網(wǎng)絡(luò)的傳遞函數(shù)、網(wǎng)絡(luò)權(quán)值修正規(guī)則和網(wǎng)絡(luò)訓(xùn)練方法。網(wǎng)絡(luò)的設(shè)計者可根據(jù)自己的需要調(diào)用工具箱中有關(guān)神經(jīng)網(wǎng)絡(luò)的設(shè)計與訓(xùn)練的程序,免去了繁瑣的編程過程。
紅籽瓜(Red-seed Watermelon)種子即瓜子富含有蛋白質(zhì)、脂肪、鈣、磷及多種維生素,含油率達(dá)55%左右,營養(yǎng)頗為豐富,經(jīng)過精細(xì)加工,味道鮮美,市場十分暢銷[4]。為了提高瓜子的產(chǎn)量,需要關(guān)注很多因素,這些因素的改變會影響瓜子的產(chǎn)量,所以確定哪些因素能預(yù)測產(chǎn)量,如何預(yù)測是本文研究的內(nèi)容。本文利用紅籽西瓜的測量數(shù)據(jù),以單果重,種子數(shù),千粒重,種子重作為輸入因子,仁重為輸出因子,選擇合適的隱層,構(gòu)建影響紅籽西瓜種仁重量的BP網(wǎng)絡(luò)模型,運用Matlab軟件進(jìn)行預(yù)測。
2 BP神經(jīng)網(wǎng)絡(luò)設(shè)計的基本方法
Matlab的NNbox提供了建立神經(jīng)網(wǎng)絡(luò)的專用函數(shù)newff()[5]。用newff函數(shù)來確定網(wǎng)絡(luò)層數(shù)、每層中的神經(jīng)元數(shù)和傳遞函數(shù),其語法為:
net=newff(PR,[S1,S2,…,SN],{TF1,TF2,…,TFN},BTF,BLF,PF)
式中:PR表示由每個輸入向量的最大最小值構(gòu)成的R×2矩陣;Si表示第i層網(wǎng)絡(luò)的神經(jīng)元個數(shù);TF表示第i層網(wǎng)絡(luò)的傳遞函數(shù),缺省為tansig,可選用的傳遞函數(shù)有tansig,logsig或purelin;BTF表示字符串變量,為網(wǎng)絡(luò)的訓(xùn)練函數(shù)名,可在如下函數(shù)中選擇:traingd、traingdm、traingdx、trainbfg、trainlm等,缺省為trainlm;BLF表示字符串變量,為網(wǎng)絡(luò)的學(xué)習(xí)函數(shù)名,缺省為learngdm;BF表示字符串變量,為網(wǎng)絡(luò)的性能函數(shù),缺省為均方差“mse”。
2.1 網(wǎng)絡(luò)層數(shù)
BP網(wǎng)絡(luò)可以包含不同的隱層,但理論上已經(jīng)證明,在不限制隱層節(jié)點數(shù)的情況下,兩層(只有一個隱層)的BP網(wǎng)絡(luò)可以實現(xiàn)任意非線性映射。
2.2 輸入層節(jié)點數(shù)
輸入層起緩沖存儲器的作用,它接受外部的輸入數(shù)據(jù),因此其節(jié)點數(shù)取決于輸入矢量的維數(shù)。
2.3 輸出層節(jié)點數(shù)
輸出層節(jié)點數(shù)取決于兩個方面,輸出數(shù)據(jù)類型和表示該類型所需的數(shù)據(jù)大小。在設(shè)計輸人層和輸出層時,應(yīng)該盡可能的減小系統(tǒng)規(guī)模,使系統(tǒng)的學(xué)習(xí)時間和復(fù)雜性減小。
2.4 隱層節(jié)點數(shù)
一個具有無限隱層節(jié)點的兩層BP網(wǎng)絡(luò)可以實現(xiàn)任意從輸入到輸出的非線性映射。但對于有限個輸入模式到輸出模式的映射,并不需要無限個隱層節(jié)點,這就涉及到如何選擇隱層節(jié)點數(shù)的問題,至今為止,尚未找到一個很好的解析式,隱層節(jié)點數(shù)往往根據(jù)前人設(shè)計所得的經(jīng)驗和自己進(jìn)行試驗來確定。一般認(rèn)為,隱層節(jié)點數(shù)與求解問題的要求、輸入輸出單元數(shù)多少都有直接的關(guān)系。另外,隱層節(jié)點數(shù)太多會導(dǎo)致學(xué)習(xí)時間過長;而隱層節(jié)點數(shù)太少,容錯性差,識別未經(jīng)學(xué)習(xí)的樣本能力低,所以必須綜合多方面的因素進(jìn)行設(shè)計。
隱層節(jié)點數(shù)的初始值可先由以下兩個公式中的其中之一來確定[2,3]。
1=■+a (1)
或 1=■(2)
式中,m、n分別為輸入結(jié)點數(shù)目與輸出結(jié)點數(shù)目,a為1~10之間的常數(shù)。
2.5 數(shù)據(jù)歸一化
因為原始數(shù)據(jù)幅值大小不一,有時候還相差比較懸殊。如果直接投人使用,測量值大的波動就壟斷了神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程,使其不能反映小的測量值的變化。所以,在網(wǎng)絡(luò)訓(xùn)練之前,輸人數(shù)據(jù)和目標(biāo)矢量都要經(jīng)過歸一化處理。
根據(jù)公式可將數(shù)據(jù)“歸一化”,即限定在[0,1]區(qū)間內(nèi)。歸一化公式為:
■ (3)
也可以使用歸一化函數(shù)Premnmx,及反歸一化函數(shù)Postmnmx。
3 BP學(xué)習(xí)算法及實例
3.1 BP學(xué)習(xí)算法
1) 初始化網(wǎng)絡(luò)及學(xué)習(xí)參數(shù);
2) 從訓(xùn)練樣本集合中取一個樣本,并作為輸入向量送入網(wǎng)絡(luò);
3) 正向傳播過程,對給定的輸入樣本,通過網(wǎng)絡(luò)計算得到輸出樣本,并把得到的輸出樣本與期望的樣本比較,如有誤差超出限定范圍,則執(zhí)行第4步;否則返回第2步,輸入下一個樣本;
4) 反向傳播過程,即從輸出層反向計算到第一隱層,修正各神經(jīng)元的連接權(quán)值,使用誤差減小。
3.2 實例
為了提高瓜籽產(chǎn)量,需要關(guān)注很多因素,濾去相關(guān)度過低的因子,根據(jù)經(jīng)驗確定輸入因子為單果重,種子數(shù),千粒重,種子重,輸出因子為仁重?,F(xiàn)以表1所示的2000~2002年測量數(shù)據(jù)作為訓(xùn)練樣本進(jìn)行訓(xùn)練,對2003年的數(shù)據(jù)進(jìn)行預(yù)測。輸出層結(jié)點代表仁重量,神經(jīng)網(wǎng)絡(luò)的預(yù)測模型采用4-4-1,即輸入層4個神經(jīng)元,根據(jù)公式(2)計算隱層神經(jīng)元數(shù)確定為4,1個輸出神經(jīng)元。設(shè)定最大的迭代次數(shù)為500次,系統(tǒng)全局誤差小于0.001。傳遞函數(shù)為tansig,訓(xùn)練函數(shù)為trainlm。
根據(jù)經(jīng)典的BP算法,采用Matlab編程,樣本訓(xùn)練結(jié)果見圖2,2003的數(shù)據(jù)作為預(yù)測樣本,預(yù)測結(jié)果如下:
TRAINLM, Epoch 0/500, MSE 0.316381/0.001, Gradient 2.8461/1e-010
TRAINLM, Epoch 4/500, MSE 0.00056622/0.001, Gradient 0.0830661/1e-010
TRAINLM, Performance goal met.
SSE = 0.0102
y = 0.269 0.267 0.27 0.269 0.2679 0.2679
表1 紅籽西瓜數(shù)量性狀表
瓜籽仁重實際值為0.265,0.282,0.264,0.269,0.265,0.287,誤差為0.0102,當(dāng)樣本較少時可以接受的誤差范圍內(nèi)。并且收斂速度快。
■
圖2訓(xùn)練函數(shù)為trainlm的訓(xùn)練結(jié)果
采用traingd函數(shù)進(jìn)行訓(xùn)練,則5000次仍未達(dá)到要求的目標(biāo)誤差0.001,說明該函數(shù)訓(xùn)練的收斂速度很慢。見圖3所示。所以訓(xùn)練函數(shù)的選擇也非常關(guān)鍵。
■
圖3 訓(xùn)練函數(shù)為traingd的訓(xùn)練結(jié)果
4 結(jié)論
用Matlab編編寫的基于BP網(wǎng)絡(luò)的仁重預(yù)測程序,計算結(jié)果表明,誤差較小,預(yù)測值與實測值吻合較好,所建立的模型具有較好的實用性,說明單果重,種子數(shù),千粒重,種子重的數(shù)據(jù)影響瓜子的產(chǎn)量,同時驗證BP算法可以用于瓜仁產(chǎn)量的預(yù)測。
目前所進(jìn)行的預(yù)測試驗中數(shù)據(jù)的樣本較少,且生長動態(tài)變化,今后擬建立一個動態(tài)預(yù)測系統(tǒng),為紅籽瓜品種培育、提高產(chǎn)量提供新的方法,值得在預(yù)測作物生長中推廣。
參考文獻(xiàn):
[1] 飛思科技產(chǎn)品研發(fā)中心.神經(jīng)網(wǎng)絡(luò)理論與Matlab 7實現(xiàn)[M].北京:電子工業(yè)出版社.2006:100-105.
[2] 徐廬生.微機(jī)神經(jīng)網(wǎng)絡(luò)[M].北京:中國醫(yī)藥科技出版社,1995.
[3] 高大啟.有教師的線性基本函數(shù)前向三層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)研究[J].計算機(jī)學(xué)報,1998,21(1):80-85.
[4] 欽州農(nóng)業(yè)信息網(wǎng):.
篇4
[關(guān)鍵詞] 前饋神經(jīng)網(wǎng)絡(luò) Levenberg-Marquardt算法 BP算法
前饋神經(jīng)網(wǎng)絡(luò)BP學(xué)習(xí)算法在理論上具有逼近任意非線性連續(xù)映射的能力,在非線性系統(tǒng)的建模及控制領(lǐng)域里有著廣泛的應(yīng)用。然而BP 算法存在一些不足, 主要是收斂速度很慢; 往往收斂于局部極小點; 數(shù)值穩(wěn)定性差, 學(xué)習(xí)率、動量項系數(shù)和初始權(quán)值等參數(shù)難以調(diào)整,非線性神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法Levenberg-Marquardt可以有效地克服BP算法所存在的這些缺陷。
一、前饋神經(jīng)網(wǎng)絡(luò)
前饋神經(jīng)網(wǎng)絡(luò)由輸入層、隱層和輸出層組成。令u=[u1,u2,Λ,um]T,y=[y1,y2,Λ,yn]T絡(luò)的輸入、輸出向量, 令X=[x1,x2,Λ,xN]T為網(wǎng)絡(luò)的權(quán)及閾值的全體所組成的向量。給定P組輸入輸出訓(xùn)練樣本定義網(wǎng)絡(luò)的誤差指標(biāo)函數(shù)為:
(1)
(2)
然后就可以按照各種學(xué)習(xí)算法開始對X進(jìn)行訓(xùn)練, 得到最優(yōu)Xopt, 使得
二、Levenberg-Marquardt神經(jīng)網(wǎng)絡(luò)算法
1.給定初始點X(0), 精度,σ,k=0。
2.對i=1,2,…,M求fi(X(k)),得向量
對i=1,2,…,M求得Jacobi矩陣
3.解線性方程組求出搜索梯度方向h(k)。
4.直線搜索,其中λk滿足
5.若則得到解Xopt,轉(zhuǎn)向7(停止計算); 否則轉(zhuǎn)向6。
6.F(X(k+1))<F(X(k)),則令,k=k+1, 轉(zhuǎn)向2; 否則=*ξ,轉(zhuǎn)向3。
7.停止計算
在實際操作中,是一個試探性的參數(shù),對于給定的,如果求得的h(k)能使誤差函數(shù)Ep(X)降低,則被因子ξ除;若誤差函數(shù)Ep(X)增加,則乘以因子ξ。在仿真中,選取初始值=0.01,ξ=10。在采用Levenberg-Marquardt算法時,為使收斂速度更快,需要增加學(xué)習(xí)率因子α,取α為0.4。Levenberg-Marquardt算法的計算復(fù)雜度為為網(wǎng)絡(luò)權(quán)值數(shù)目,如果網(wǎng)絡(luò)中權(quán)值的數(shù)目很大。則計算量和存儲量都非常大。因此,當(dāng)每次迭代效率顯著提高時,其整體性能可以大為改善,特別是在精度要求高的時候。
三、結(jié)論
前饋神經(jīng)網(wǎng)絡(luò)中,BP 算法存在收斂速度很慢,收斂于局部極小點等缺陷,而Gauss-Newton的改進(jìn)算法Levenberg-Marquardt算法能有效克服BP 算法的缺陷。
參考文獻(xiàn):
[1]徐嗣鑫 戴友元:前向神經(jīng)網(wǎng)絡(luò)的一種快速學(xué)習(xí)算法及其應(yīng)用.控制與決策, 1993, 8(4): 284~ 288
篇5
關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò);計算機(jī);智能信息;應(yīng)用
中圖分類號:TP183
文獻(xiàn)標(biāo)識碼:A
文章編號:16723198(2009)20028602
1神經(jīng)網(wǎng)絡(luò)的定義
一般情況下,人工神經(jīng)元網(wǎng)絡(luò)是作為信息處理單元來模仿大腦,執(zhí)行特定的任務(wù)或完成感興趣的功能。關(guān)于它的定義有很多種,而下面的HechtNielsen給出的神經(jīng)網(wǎng)絡(luò)定義最具有代表意義: 神經(jīng)網(wǎng)絡(luò)是一種并行的分布式信息處理結(jié)構(gòu),它通過稱為連接的單向信號通路將一些處理單元互連而成。每一個處理單元都有一個單輸出到所期望的連接。每一個處理單元傳送相同的信號――處理單元輸出信號。處理單元的輸出信號可以是任一種所要求的數(shù)學(xué)類型。在每一個處理單元中執(zhí)行的信息處理在它必須完全是局部的限制下可以被任意定義,即它必須只依賴于處理單元所接受的輸入激勵信號的當(dāng)前值和處理單元本身所存儲記憶的值。
2神經(jīng)網(wǎng)絡(luò)的基本屬性
(1)非線性: 人腦的思維是非線性的,故人工神經(jīng)網(wǎng)絡(luò)模擬人的思維也應(yīng)是非線性的。
(2)非局域性: 非局域性是人的神經(jīng)系統(tǒng)的一個特性,人的整體行為是非局域性的最明顯體現(xiàn)。神經(jīng)網(wǎng)絡(luò)以大量的神經(jīng)元連接模擬人腦的非局域性,它的分布存儲是非局域性的一種表現(xiàn)。
(3)非定常性: 神經(jīng)網(wǎng)絡(luò)是模擬人腦思維運動的動力學(xué)系統(tǒng),它應(yīng)按不同時刻的外界刺激對自己的功能進(jìn)行修改,故而它是一個時變的系統(tǒng)。
(4)非凸性:神經(jīng)網(wǎng)絡(luò)的非凸性即是指它有多個極值,也即系統(tǒng)具有不只一個的較穩(wěn)定的平衡狀態(tài)。這種屬性會使系統(tǒng)的演化多樣化。
3神經(jīng)網(wǎng)絡(luò)模型的分類
(1)按照網(wǎng)絡(luò)的結(jié)構(gòu)區(qū)分,則有前向網(wǎng)絡(luò)和反饋網(wǎng)絡(luò)。
(2)按照學(xué)習(xí)方式區(qū)分,則有教師學(xué)習(xí)和無教師學(xué)習(xí)網(wǎng)絡(luò)。
(3)按照網(wǎng)絡(luò)性能區(qū)分,則有連續(xù)型和離散性網(wǎng)絡(luò),隨機(jī)型和確定型網(wǎng)絡(luò)。
(4)按照突觸性質(zhì)區(qū)分,則有一階線性關(guān)聯(lián)網(wǎng)絡(luò)和高階非線性關(guān)聯(lián)網(wǎng)絡(luò)。
(5)按對生物神經(jīng)系統(tǒng)的層次模擬區(qū)分,則有神經(jīng)元層次模型,組合式模型,網(wǎng)絡(luò)層次模型,神經(jīng)系統(tǒng)層次模型和智能型模型。
通常人們較多地考慮神經(jīng)網(wǎng)絡(luò)的互連結(jié)構(gòu)。一段而言,神經(jīng)網(wǎng)絡(luò)有分層網(wǎng)絡(luò)、層內(nèi)連接的分層網(wǎng)絡(luò)、反饋連接的分層網(wǎng)絡(luò)、互連網(wǎng)絡(luò)等4種互連結(jié)構(gòu)。在人們提出的幾十種神經(jīng)網(wǎng)絡(luò)模型中,人們較多用的是Hopfield網(wǎng)絡(luò)、BP網(wǎng)絡(luò)、Kohonen網(wǎng)絡(luò)和AR雙自適應(yīng)共振理論網(wǎng)絡(luò)。
Hopfield網(wǎng)絡(luò)是最典型的反饋網(wǎng)絡(luò)模型,它是目前人們研究得最多的模型之一。Hopfield網(wǎng)絡(luò)是由相同的神經(jīng)元構(gòu)成的單層,并且不具學(xué)習(xí)功能的自聯(lián)想網(wǎng)絡(luò)。它需要對稱連接。這個網(wǎng)絡(luò)習(xí)以完成制約優(yōu)化和聯(lián)想記憶等功能。
BP網(wǎng)絡(luò)是誤差反向傳播(Back Propagation)網(wǎng)絡(luò)。它是一種多層前向網(wǎng)絡(luò),采用最小均方差學(xué)習(xí)方式。這是一種最廣泛應(yīng)用的網(wǎng)絡(luò)。它可用于語言綜合,識別和自適應(yīng)控制等用途。BP網(wǎng)絡(luò)需有教師訓(xùn)練。
Kohonen網(wǎng)絡(luò)是典型的自組織神經(jīng)網(wǎng)絡(luò),這種網(wǎng)絡(luò)也稱為自組織特征映射網(wǎng)絡(luò)SOM。它的輸入層是單層單維神經(jīng)元;而輸出層是二維的神經(jīng)元,神經(jīng)元之間存在以“墨西哥帽”形式進(jìn)行側(cè)向交互的作用。因而,在輸出層中,神經(jīng)元之間有近揚遠(yuǎn)抑的反饋特性,從而使Kohonen網(wǎng)絡(luò)可以作為模式特征的檢測器。
ART網(wǎng)絡(luò)也是一種自組織網(wǎng)絡(luò)模型。這是一種無教師學(xué)習(xí)網(wǎng)絡(luò)。它能夠較好地協(xié)調(diào)適應(yīng)性,穩(wěn)定性和復(fù)雜性的要求。在ART網(wǎng)絡(luò)中,通常需要兩個功能互補(bǔ)的子系統(tǒng)相互作用.這兩個子系統(tǒng)稱注意子系統(tǒng)和取向子系統(tǒng)。ART網(wǎng)絡(luò)主要用于模式識別,它不足之處是在于對轉(zhuǎn)換、失真和規(guī)模變化較敏感。
4誤差反向傳播的前饋網(wǎng)絡(luò)(BP網(wǎng)絡(luò))
學(xué)習(xí)是神經(jīng)網(wǎng)絡(luò)一種最重要也最令人注目的特點。自從40年代Hebb提出的學(xué)習(xí)規(guī)則以來,人們相繼提出了各種各樣的學(xué)習(xí)算法。其中以在1986年Rumelhart等提出的誤差反向傳播法,即BP(error BackPropagation)法影響最為廣泛。直到今天,BP算法仍然是最重要、應(yīng)用最多的有效算法。
(1)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)機(jī)理和機(jī)構(gòu):在神經(jīng)網(wǎng)絡(luò)中,對外部環(huán)境提供的模式樣本進(jìn)行學(xué)習(xí)訓(xùn)練,并能存儲這種模式,則稱為感知器,感知器采用有教師信號進(jìn)行學(xué)習(xí)。感知器的學(xué)習(xí)是神經(jīng)網(wǎng)絡(luò)最典型的學(xué)習(xí)。這種學(xué)習(xí)系統(tǒng)分成三個部分:輸入部,訓(xùn)練部和輸出部。
輸入部接收外來的輸入樣本X,由訓(xùn)練部進(jìn)行網(wǎng)絡(luò)的權(quán)值W調(diào)整,然后由輸出部輸出結(jié)果。在這個過程中,期望的輸出信號可以作為教師信號輸入,由該教師信號與實際輸出進(jìn)行比較,產(chǎn)生的誤差去控制修改權(quán)值W。
(2)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的梯度算法:從感知器的學(xué)習(xí)算法可知,學(xué)習(xí)的目的是在于修改網(wǎng)絡(luò)中的權(quán)值,使到網(wǎng)絡(luò)對于所輸入的模式樣本能正確分類。當(dāng)學(xué)習(xí)結(jié)束時,也即神經(jīng)網(wǎng)絡(luò)能正確分類時,顯然權(quán)值就反映了同類輸人模式樣本的共同特征。換句話講,權(quán)值就是存儲了的輸人模式。由于權(quán)值是分散存在的,故神經(jīng)網(wǎng)絡(luò)自然而然就有分布存儲的特點。
感知器學(xué)習(xí)算法相當(dāng)簡單,當(dāng)函數(shù)不是線性可分時求不出結(jié)果,而且不能推廣到一般前饋網(wǎng)絡(luò)中,為此出現(xiàn)了另一種算法-梯度算法((LMS)。梯度算法把神經(jīng)元的激發(fā)函數(shù)改為可微分函數(shù),例如非對稱Sigmoid函數(shù)為f (x) = l/(1 + e-x ),或?qū)ΨQSigmoid函數(shù)f (x) = (1 - e-x )/ (1 + e-x ) 梯度法比原來感知器的學(xué)習(xí)算法進(jìn)了一大步。
(3)反向傳播學(xué)習(xí)的BP算法:感知機(jī)學(xué)習(xí)算法是一種單層網(wǎng)絡(luò)的學(xué)習(xí)算法。在多層網(wǎng)絡(luò)中,它只能改變最后權(quán)值。因此,感知機(jī)學(xué)習(xí)算法不能用于多層神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)。1986年,Rumelhart提出了反向傳播學(xué)習(xí)算法,即BP算法。這種算法可以對網(wǎng)絡(luò)中各層的權(quán)值進(jìn)行修正,故適用于多層網(wǎng)絡(luò)的學(xué)習(xí)。
它含有輸人層、輸出層以及處于輸入輸出層之間單層或多層的中間層,即隱含層。隱含層雖然和外界不連接,但是,它們的狀態(tài)則影響輸入輸出之間的關(guān)系。這也是說,改變隱含層的權(quán)值,可以改變整個多層神經(jīng)網(wǎng)絡(luò)的性能。
篇6
關(guān)鍵詞:BP網(wǎng)絡(luò) 旋轉(zhuǎn)觸探儀 神經(jīng)網(wǎng)絡(luò)預(yù)測 訓(xùn)練函數(shù)
中圖分類號:TP751 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-098X(2014)12(c)-0004-02
隨著計算機(jī)技術(shù)的快速發(fā)展,人工神經(jīng)網(wǎng)絡(luò)在數(shù)學(xué)p物理p工程p巖土等行業(yè)得到廣泛應(yīng)用。Matlab軟件提供了神經(jīng)網(wǎng)絡(luò)的工具箱,提供了多種神經(jīng)網(wǎng)絡(luò)庫函數(shù),為數(shù)值計算提供了計算平臺。巖土工程問題的復(fù)雜多變性,在運用神經(jīng)網(wǎng)絡(luò)分析和預(yù)測時,其結(jié)果往往受各種因素的影響,關(guān)鍵還是網(wǎng)絡(luò)結(jié)構(gòu)的構(gòu)建和訓(xùn)練函數(shù)的選取。因此,應(yīng)該對網(wǎng)絡(luò)的訓(xùn)練函數(shù)的選取進(jìn)行深入研究。
該文在大量的旋轉(zhuǎn)觸探試驗的基礎(chǔ)上,結(jié)合土的物理性質(zhì)指標(biāo)含水量、干密度,土的強(qiáng)度參數(shù)粘聚力和內(nèi)摩擦角,以及埋深情況,建立土的旋轉(zhuǎn)觸探模型,建立BP神經(jīng)網(wǎng)絡(luò),采用不同的訓(xùn)練函數(shù)對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
1 BP神經(jīng)網(wǎng)絡(luò)
BP網(wǎng)絡(luò)是一種單向傳播的多層前向網(wǎng)絡(luò),具有三層或三層以上的神經(jīng)網(wǎng)絡(luò),包括輸入層、中間層(隱層)和輸出層。在人工神經(jīng)網(wǎng)絡(luò)的實際應(yīng)用中,BP網(wǎng)絡(luò)廣泛應(yīng)用于函數(shù)逼近、模式識別/分類、數(shù)據(jù)壓縮等,人工神經(jīng)網(wǎng)絡(luò)模型采用BP網(wǎng)絡(luò)或它的變化形式,它是前饋網(wǎng)絡(luò)的核心部分,體現(xiàn)了人工神經(jīng)網(wǎng)絡(luò)最精華的部分。BP算法的基本思想[1]是,學(xué)習(xí)過程由信號的正向傳播與誤差的反向傳播兩個過程組成。正向傳播時,輸入樣本從輸入層傳入,經(jīng)各隱層逐層處理后,傳向輸出層。若輸出層的實際輸出與期望的輸出不符,則轉(zhuǎn)入誤差的反向傳播階段。誤差反傳是將輸出誤差以某種形式通過隱層向輸入層逐層反傳,并將誤差分?jǐn)偨o各層的所有單元,從而獲得各層單元的誤差信號,此誤差信號即作為修正各單元權(quán)值的依據(jù)。這種信號正向傳播與誤差反向傳播的各層權(quán)值調(diào)整過程,是周而復(fù)始地進(jìn)行的。權(quán)值不斷調(diào)整的過程,也是網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練過程。此過程一直進(jìn)行到網(wǎng)絡(luò)輸出的誤差減少到可以接受的程度,或進(jìn)行到預(yù)先設(shè)定的學(xué)習(xí)次數(shù)為止。
2 BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練函數(shù)
BP神經(jīng)網(wǎng)絡(luò)中的訓(xùn)練算法函數(shù)是根據(jù)BP網(wǎng)絡(luò)格式的輸入、期望輸出,由函數(shù)newff 建立網(wǎng)絡(luò)對象,對生成的BP 網(wǎng)絡(luò)進(jìn)行計算,修正權(quán)值和閾值,最終達(dá)到BP網(wǎng)絡(luò)的設(shè)計性能,從而完成網(wǎng)絡(luò)的訓(xùn)練和預(yù)測。BP 神經(jīng)網(wǎng)絡(luò)幾種主要的訓(xùn)練函數(shù)及其特點分述如下[2]。
(1)traingda、trainrp函數(shù)和trainlm函數(shù)。
traingda函數(shù)是最基本的自適應(yīng)學(xué)習(xí)步長函數(shù),其最大優(yōu)點可以根據(jù)誤差容限的性能要求調(diào)節(jié)函數(shù),彌補(bǔ)標(biāo)準(zhǔn)BP算法中的步長選擇不當(dāng)問題。trainrp函數(shù)可以消除偏導(dǎo)數(shù)的大小權(quán)值帶來的影響,只考慮導(dǎo)數(shù)符號引來的權(quán)更新方向,忽略導(dǎo)數(shù)大小帶來的影響。trainlm函數(shù)。該函數(shù)學(xué)習(xí)速度較快,但占用內(nèi)存很大,從理論上來說適用于中等規(guī)模的網(wǎng)絡(luò)。
(2)共軛梯度算法:traincgf函數(shù)、traincgp函數(shù)、traincgb 函數(shù)、trainscg函數(shù)。
共軛梯度算法是介于最速下降法與牛頓法之間的一個方法,其利用一階導(dǎo)數(shù)信息,但克服了最速下降法收斂慢的缺點,又避免了牛頓法需要存儲和計算Hesse矩陣并求逆的缺點。上述四種共軛梯度算法前三種收斂速度比梯度下降快很多,其需要線性搜索,對于不同的問題會產(chǎn)生不同的收斂速度。而第四種不需要線性搜索,其需要較多的迭代次數(shù),但是每次迭代所需計算量很小。
(3)Newton算法:trainbfg函數(shù)、trainoss函數(shù)。
trainbfg 算法的迭代次數(shù)較少,由于每步迭代都要Hessian矩陣,其每次迭代計算量和存儲量都很大,適合小型網(wǎng)絡(luò)。Trainoss為一步割線算法。它是介于共軛梯度法和擬牛頓算法的方法,其需要的存儲和計算量都比trainbfg要小,比共軛梯度法略大。
上述各算法由于采用的訓(xùn)練函數(shù)不同,其計算速度、收斂速度及其迭代次數(shù)不盡相同,并且對內(nèi)存要求依研究對象的復(fù)雜程度、訓(xùn)練集大小、網(wǎng)絡(luò)的大小及誤差容限的要求等存在差異。在運用BP網(wǎng)絡(luò)解決相關(guān)工程性問題時,需要選擇合理的訓(xùn)練函數(shù)。
3 網(wǎng)絡(luò)訓(xùn)練函數(shù)的選取
該文著重研究BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練函數(shù)的選擇,所用數(shù)據(jù)樣本均來自于實踐中用新型微機(jī)控制旋轉(zhuǎn)觸探儀采集到的數(shù)據(jù),經(jīng)過歸一化處理建立了網(wǎng)絡(luò)的樣本數(shù)據(jù)庫,根據(jù)訓(xùn)練函數(shù)的特點選擇其隱含層數(shù)為2。文選擇非線性函數(shù)為Sigmoid,輸出層的傳遞函數(shù)為Purelin,可以用來模擬任何的函數(shù)(必須連續(xù)有界)。
采用不同的訓(xùn)練函數(shù)對網(wǎng)絡(luò)的性能也有影響,比如收斂速度等等,下面采用不同的訓(xùn)練函數(shù)(trainbr、traingd、traingdm、traingdx、traincgf、trainlm、trainb)對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,并觀察其結(jié)果,如表1所示。
對比可知,trainlm訓(xùn)練函數(shù)的收斂效果較好,trainbr、trainlm訓(xùn)練函數(shù)得到的絕對誤差相對較小,其它訓(xùn)練函數(shù)的收斂性能較差。trainbr訓(xùn)練樣本的絕對誤差比trainlm訓(xùn)練函數(shù)的絕對誤差小,且分布比較均勻,但是trainbr訓(xùn)練函數(shù)的收斂精度卻相對較差,這可能是出現(xiàn)局部最優(yōu)化的問題,通過測試樣本的進(jìn)一步分析如表2所示,trainbr訓(xùn)練以后的網(wǎng)絡(luò)對于預(yù)測樣本的預(yù)測精度較低,偏差較大,進(jìn)一步驗證了該訓(xùn)練函數(shù)在訓(xùn)練過程中訓(xùn)練收斂精度相對較差,并出現(xiàn)局部最優(yōu)化[3]。
綜合考慮,可以看到trainlm訓(xùn)練函數(shù)具有訓(xùn)練速度快且預(yù)測精度高的特點,所以本文中選用trainlm作為訓(xùn)練函數(shù)。
4 結(jié)論
該文以Matlab神經(jīng)網(wǎng)絡(luò)的作為工具,基于觸探模型作為研究對象,對不同的訓(xùn)練函數(shù)進(jìn)行了仿真比較,結(jié)果表明采用不同的訓(xùn)練函數(shù)其存在明顯的差異。綜合考慮干密度誤差,含水量誤差,干密度誤差(樣本順序),含水量誤差(樣本順序)以及迭代次數(shù)和性能誤差等因素,選用trainlm作為訓(xùn)練函數(shù),trainlm函數(shù)由于其訓(xùn)練速度較快且計算精度較高而顯現(xiàn)出一定的優(yōu)勢。
參考文獻(xiàn)
[1] 葛哲學(xué),孫志強(qiáng).神經(jīng)網(wǎng)絡(luò)理論與MATLAB R2007實現(xiàn)[M].電子工業(yè)出版社,2007.
篇7
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò) 現(xiàn)場可編程門陣列 并行結(jié)構(gòu)
中圖分類號:TP183 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2015)12-0000-00
1 引言
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)具有良好的處理能力、自學(xué)能力及容錯能力,可以用來處理復(fù)雜的環(huán)境信息,例如,背景情況不明,推理規(guī)則不明,樣品存有一定程度的缺陷或畸變的情況。所以,卷積神經(jīng)網(wǎng)絡(luò)被廣泛應(yīng)用于目標(biāo)檢測、物體識別和語音分析等方面[1]?,F(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA),作為可編程使用的信號處理器件,其具有高集成度、運行高速、可靠性高及采用并行結(jié)構(gòu)的特點,易于配合CNN處理數(shù)據(jù)。
2 國內(nèi)外研究現(xiàn)狀
2.1 神經(jīng)網(wǎng)絡(luò)的模型結(jié)構(gòu)
根據(jù)研究角度、數(shù)據(jù)傳遞方式、數(shù)據(jù)處理模式、學(xué)習(xí)方法等的不同,多種神經(jīng)網(wǎng)絡(luò)模型被構(gòu)建出來。目前主要有四種模型被廣泛應(yīng)用中[2][3]:
(1)前饋型神經(jīng)網(wǎng)絡(luò)。此類神經(jīng)元網(wǎng)絡(luò)是由觸突將神經(jīng)原進(jìn)行連接的,所以網(wǎng)絡(luò)群體由全部神經(jīng)元構(gòu)成,可實現(xiàn)記憶、思維和學(xué)習(xí)。此種類型的網(wǎng)絡(luò)是有監(jiān)督學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)。(2)遞歸型神經(jīng)網(wǎng)絡(luò)。此種神經(jīng)網(wǎng)絡(luò)又稱為反饋網(wǎng)絡(luò),以多個神經(jīng)元互相連接,組織成一個互連的神經(jīng)網(wǎng)絡(luò),使得電流和信號能夠通過正向和反向進(jìn)行流通。(3)隨機(jī)型神經(jīng)網(wǎng)絡(luò)。此種神經(jīng)網(wǎng)絡(luò)的運行規(guī)律是隨機(jī)的,通過有監(jiān)督學(xué)習(xí)方法進(jìn)行網(wǎng)絡(luò)訓(xùn)練。(4)自組織競爭型神經(jīng)網(wǎng)絡(luò)。此種神經(jīng)網(wǎng)絡(luò)通過無監(jiān)督的學(xué)習(xí)方法進(jìn)行網(wǎng)絡(luò)訓(xùn)練,一般具有兩層網(wǎng)絡(luò)結(jié)構(gòu),輸入層和競爭層。兩層間的各神經(jīng)元實現(xiàn)雙向全連接。
2.2 神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法
神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法用來解決調(diào)整網(wǎng)絡(luò)權(quán)重的問題,是指完成輸入特征向量映射到輸出變量之間的算法,可以歸納為三類[4-7]:
(1)有監(jiān)督的學(xué)習(xí)。在學(xué)習(xí)開始前,向神經(jīng)網(wǎng)絡(luò)提供若干已知輸入向量和相應(yīng)目標(biāo)變量構(gòu)成的樣本訓(xùn)練集,通過給定輸入值與輸出期望值和實際網(wǎng)絡(luò)輸出值之間的差來調(diào)整神經(jīng)元之間的連接權(quán)重。(2)無監(jiān)督的學(xué)習(xí)。此種學(xué)習(xí)方法只需要向神經(jīng)網(wǎng)絡(luò)提供輸入,不需要期望輸出值,神經(jīng)網(wǎng)絡(luò)能自適應(yīng)連接權(quán)重,無需外界的指導(dǎo)信息。(3)強(qiáng)化學(xué)習(xí)。此種算法不需要給出明確的期望輸出,而是采用評價機(jī)制來評價給定輸入所對應(yīng)的神經(jīng)網(wǎng)絡(luò)輸出的質(zhì)量因數(shù)。外界環(huán)境對輸出結(jié)果僅給出評價結(jié)果,通過強(qiáng)化授獎動作來改善系統(tǒng)性能。此種學(xué)習(xí)方法是有監(jiān)督學(xué)習(xí)的特例。
2.3 卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)為識別二維或三維信號而設(shè)計的一個多層次的感知器,其基本結(jié)構(gòu)包括兩種特殊的神經(jīng)元層,一為卷積層,每個神經(jīng)元的輸入與前一層的局部相連,并提取該局部的特征[8];二是池化層,用來求局部敏感性與二次特征提取的計算層[8]。作為部分連接的網(wǎng)絡(luò),最底層是卷積層(特征提取層),上層是池化層,可以繼續(xù)疊加卷積、池化或者是全連接層。
3 FPGA實現(xiàn)神經(jīng)網(wǎng)絡(luò)的并行體系結(jié)構(gòu)
(1)卷積神經(jīng)網(wǎng)絡(luò)的計算架構(gòu)。卷積神經(jīng)網(wǎng)絡(luò)可以使用“主機(jī)”與“FPGA”相結(jié)合的體系模型,主機(jī)用來控制計算的開始和結(jié)束,并在神經(jīng)網(wǎng)絡(luò)前向傳播計算過程中,提供輸入圖像等數(shù)據(jù)。主機(jī)與FPGA之間的通信可以通過標(biāo)準(zhǔn)接口,在主機(jī)進(jìn)行任務(wù)分配的過程中可以對FPGA上的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行硬件加速。當(dāng)卷積神經(jīng)網(wǎng)絡(luò)開始啟動計算,通過標(biāo)準(zhǔn)接口接收到主機(jī)傳輸?shù)膱D像時,F(xiàn)PGA開始進(jìn)行計算,并且使用FPGA中的存儲器來存儲卷積核權(quán)值。FPGA將會先完成卷積神經(jīng)網(wǎng)絡(luò)前向傳播過程的計算,然后將其最后一層計算得到的結(jié)果輸出給主機(jī)。(2)卷積神經(jīng)網(wǎng)絡(luò)并行體系架構(gòu)。一、單輸出并行結(jié)構(gòu):每次計算一個輸出圖像,其中會將多個輸入圖像和多個卷積核基本計算單元同時進(jìn)行卷積運算,然后將全部卷積運算的結(jié)果與偏置值進(jìn)行累加,再將結(jié)果輸入非線性函數(shù)和自抽樣子層進(jìn)行計算。二、多輸出并行結(jié)構(gòu):若卷積神經(jīng)網(wǎng)絡(luò)的計算單元中含有多個單輸出的并行結(jié)構(gòu),那么輸入數(shù)據(jù)可同時傳送到多個單輸出計算單元的輸入端,從而組成多個單輸出計算單元組成的并行結(jié)構(gòu)。在卷積神經(jīng)網(wǎng)絡(luò)的并行計算結(jié)構(gòu)中,每個卷積核計算單元在進(jìn)行卷積操作時都要進(jìn)行乘加運算,所以,有必要將單個的卷積運算拆分實現(xiàn)并行化,并且可以嘗試將同一層內(nèi)的多個卷積運算進(jìn)行并行化。
4 結(jié)語
本文對卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行了介紹,總結(jié)了國內(nèi)外的研究現(xiàn)狀,結(jié)合卷積神經(jīng)網(wǎng)絡(luò)運算的特點與FPGA的快速計算單元數(shù)量及功能方面的優(yōu)勢,嘗試闡述了在FPGA映射過程的卷積神經(jīng)網(wǎng)絡(luò)的并行體系結(jié)構(gòu)。
參考文獻(xiàn)
[1] Fan J,Xu W,Wu Y,et al. Human tracking using convolutional neural networks[J].IEEE Transactions on Neural Networks,2010(10):1610-1623.
[2] 楊治明,王曉蓉,彭軍.BP神經(jīng)網(wǎng)絡(luò)在圖像分割中的應(yīng)用.計算機(jī)科學(xué)[J].2007(03):234-236.
[3] Simon Haykin . Neural networks ,a comprehensive foundation[M].second edition,Prentice Hall,1998.
[4] Herta J , et al.Introduction to Theory of Neural Compution[M].Sant Fee Complexity Science Series,1991.156.
[5] 戴奎.神經(jīng)網(wǎng)絡(luò)實現(xiàn)技術(shù)[M].長沙:國防科技大學(xué)出版社,1998.
[6] 焦李成.神經(jīng)網(wǎng)絡(luò)系統(tǒng)理論[M].西安:西安電子科技大學(xué)出版社,1996.
篇8
摘要:工程造價估算是招標(biāo)投標(biāo)中的重要一環(huán),探尋一套快速、簡捷、實用的工程造價估算方法已經(jīng)成為建筑行業(yè)的迫切需要。為了建設(shè)工程造價估算技術(shù)的發(fā)展及文聯(lián)面臨的問題,提出在建設(shè)工程造價估算技術(shù)系統(tǒng)中應(yīng)用人工神經(jīng)網(wǎng)絡(luò)技術(shù)來提高估算精確度,并且給出系統(tǒng)的設(shè)計模型。
關(guān)鍵詞:人工神經(jīng)網(wǎng)絡(luò);工程造價;造價估算
人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeuralNetworks,簡寫為ANNs)也簡稱為神經(jīng)網(wǎng)絡(luò)(NNs)或稱作連接模型(ConnectionistModel),它是一種模范動物神經(jīng)網(wǎng)絡(luò)行為特征,進(jìn)行分布式并行信息處理的算法數(shù)學(xué)模型。這種網(wǎng)絡(luò)依靠系統(tǒng)的復(fù)雜程度,通過調(diào)整內(nèi)部大量節(jié)點之間相互連接的關(guān)系,從而達(dá)到處理信息的目的。人工神經(jīng)網(wǎng)絡(luò)具有自學(xué)習(xí)和自適應(yīng)的能力,可以通過預(yù)先提供的一批相互對應(yīng)的輸入-輸出數(shù)據(jù),分析掌握兩者之間潛在的規(guī)律,最終根據(jù)這些規(guī)律,用新的輸入數(shù)據(jù)來推算輸出結(jié)果,這種學(xué)習(xí)分析的過程被稱為“訓(xùn)練”。
一、神經(jīng)網(wǎng)絡(luò)的建立
雖然人們還并不完全清楚生物神經(jīng)網(wǎng)絡(luò)是如何進(jìn)行工作的,但還是幻想能否構(gòu)造一些“人工神經(jīng)元”,然后將這些神經(jīng)元以某種特定的方式連接起來,模擬“人腦”的某些功能。
在1943年,心理學(xué)家W. McCulloch和數(shù)學(xué)家W. Pitts合作,從數(shù)理邏輯的角度,提出了神經(jīng)元和神經(jīng)網(wǎng)絡(luò)最早的數(shù)學(xué)模型(MP模型),是神經(jīng)網(wǎng)絡(luò)研究的開端,更為后面的研究發(fā)展奠定了基礎(chǔ)。經(jīng)歷了半個多世紀(jì),神經(jīng)網(wǎng)絡(luò)度過了萌芽期、第一次期、反思低潮期、第二次期、再認(rèn)識與應(yīng)用研究期五個階段。目前,神經(jīng)網(wǎng)絡(luò)已成為涉及多種學(xué)科和領(lǐng)域的一門新興的前沿交叉學(xué)科。
神經(jīng)元分為分層網(wǎng)絡(luò)和相互連接型網(wǎng)絡(luò)。所謂分層網(wǎng)絡(luò),就是一個網(wǎng)絡(luò)模型中的所有神經(jīng)元按功能分層,一般分為輸入層、中間層(隱含層)、輸出層,各層按順序連接,隔層之間均采用的是全互連接,但對于同一單元間,不互相連接。分層網(wǎng)絡(luò)可細(xì)分為簡單前向網(wǎng)絡(luò)、反饋前向網(wǎng)絡(luò)和層內(nèi)互相連接的網(wǎng)絡(luò)。人工神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)是一種多層的網(wǎng)絡(luò)結(jié)構(gòu),一個典型的前向網(wǎng)絡(luò)。
某個神經(jīng)元 j 的輸入―輸出關(guān)系為
其中,θj為閥值,ωji為連接權(quán),f(•)為變換函數(shù),也稱活化函數(shù)(activation function)
對于人工神經(jīng)網(wǎng)絡(luò)模型,我們只可能在某種程度上去描述我們所了解的情況。同樣,人工神經(jīng)網(wǎng)絡(luò)也只可能是在某種程度上對真實的神經(jīng)網(wǎng)絡(luò)的一種模擬和逼近。
二、在工程造價中的運用
成都市工程造價計價模式后選取了基礎(chǔ)類型、結(jié)構(gòu)類型、工期、層數(shù)、建址、層高、內(nèi)裝修、門窗、單位造價等10個影響工程造價和工程量的特征作為模型的輸入。考慮到各個工程中門和窗數(shù)量差別很大為提高估算的精度我們把門數(shù)量和窗數(shù)量作為輸入,其數(shù)量在工程施工圖紙上很容易查得,不需作復(fù)雜的計算。對于其他文字性表達(dá)的工程特征需轉(zhuǎn)變成數(shù)字后作為網(wǎng)絡(luò)的輸入。
很明顯的看出,測試樣本總體誤差率比較小,平均誤差為283%,基本滿足估算要求,隨著工程資料的不斷積累,選取有代表性的數(shù)據(jù)作為樣本,誤差將不斷縮小。
意義:
通過這次研究,我們了解了人工神經(jīng)網(wǎng)絡(luò)的基本原理,即通過誤差反向傳播建立多層前饋網(wǎng)絡(luò)的學(xué)習(xí)收斂過程,該過程主要包括三個層次,即輸入層、隱含層和輸出層。在訓(xùn)練中通過計算輸出值與期望值之間的誤差,來求解輸出層單元的一般化誤差,再將誤差進(jìn)行反向傳播,求出隱含層。并了解了基于人工神經(jīng)網(wǎng)絡(luò)之上的建設(shè)項目的投資估算模型,了解了平滑指數(shù)法、類比系數(shù)法、模糊數(shù)學(xué)估算法的基本原理與其自身的優(yōu)勢與不足,也讓我們更深刻地認(rèn)識到,人工神經(jīng)網(wǎng)絡(luò),作為90年代逐漸被運用的人工智能技術(shù)之一,能像一個經(jīng)驗深厚的造價師,根據(jù)工程類型、特征及其相關(guān)情況,結(jié)合數(shù)據(jù)和經(jīng)驗,準(zhǔn)確的估算出其造價。我們也通過計算驗證了模型的可行性。對于我們從事建筑造價的大學(xué)生來說,是一次難能可貴的研究機(jī)會,能夠較深層次的了解行業(yè)中的專業(yè)知識。隨著中國改革開放和市場經(jīng)濟(jì)的不斷深入,中國建筑企業(yè)在面臨很好的機(jī)遇的同時,也面臨著嚴(yán)峻的考驗?,F(xiàn)在的市場競爭機(jī)制已表現(xiàn)得越來越明顯,他要求我們提高效率,盡快拿出自己招投標(biāo)方案,但是傳統(tǒng)的預(yù)算方法以及現(xiàn)行的計算軟件都必須花費較長的時間才能計算出結(jié)果,而且計算的結(jié)果準(zhǔn)確度還不是很高。怎樣解決這個問題,成了建筑界的熱門話題。同時作為建設(shè)方的業(yè)主,他們同樣對快速預(yù)算很感興趣。因為確定工程造價是建設(shè)工作中十分重要的一環(huán),在不同階段有著不同的方法。如建設(shè)前期的工程造價估算、初步設(shè)計階段編制概算、施工圖設(shè)計階段編制預(yù)算,特別是建設(shè)前的估算是我們工作的重點,因為它是我們進(jìn)行成本控制的起點。對于建設(shè)單位而言,它們不僅能在進(jìn)行設(shè)計招標(biāo)之前大致確定該工程的造價,而且還能在工程施工招標(biāo)前定出合理的標(biāo)底。可見快速預(yù)算有其很現(xiàn)實的發(fā)展研究背景。近幾年許多學(xué)者都在這方面努力探索,并取得了很好成果。 神經(jīng)網(wǎng)絡(luò)和模糊數(shù)學(xué)的快速發(fā)展應(yīng)用為工程快速預(yù)算提供了很好的思路。我們通過查閱資料了解了模糊數(shù)學(xué)和神經(jīng)網(wǎng)絡(luò)的結(jié)合原理,認(rèn)識了基于模糊神經(jīng)網(wǎng)絡(luò)和工程預(yù)算原理的工程快速估價的模型,并通過住宅建筑估價模型的建立,說明模型的實現(xiàn)方法且驗證其實用性。這次研究對于行業(yè)經(jīng)驗不足的我們十分寶貴,我們通過書籍等資料更加全方位的了解了我們未來所講從事的行業(yè)的知識,為我們以后的工作做了良好的鋪墊,積累了寶貴財富,我們將在了解這些專業(yè)知識之后熟練地運用,以更好地促進(jìn)行業(yè)的發(fā)展。(西華大學(xué);四川;成都;610039)
參考文獻(xiàn):
① 汪應(yīng)洛、楊耀紅,工程項目管理中的人工神經(jīng)網(wǎng)絡(luò)方法及其應(yīng)用[J].中國工程科學(xué).2004,6(7):26-33.
② 袁曾仁,人工背景:神經(jīng)網(wǎng)絡(luò)及其應(yīng)用[M]清華大學(xué)出版社,1991
篇9
關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò)、圖像分割、特征提取
Abstract: the image recognition process including the image preprocessing, feature extraction, image understanding and analysis. Which BP artificial neural network in the image segmentation using better; In the feature extraction phase BP neural network is also very good find application, and obtain the better feature extraction results; In the image understanding and the analysis phase using neural network classifier design, can get accurate classification results.
Keywords: BP neural network, image segmentation, feature extraction
中圖分類號:TP183 文獻(xiàn)標(biāo)識碼:A文章編號:
引言
BP人工神經(jīng)網(wǎng)絡(luò)算法是現(xiàn)今應(yīng)用較為廣泛的多層前向反饋式神經(jīng)網(wǎng)絡(luò)算法,BP人工神經(jīng)網(wǎng)絡(luò)有較好的容錯能力、魯棒性、并行協(xié)同處理能力和自適應(yīng)能力,受到了國內(nèi)外眾多領(lǐng)域?qū)W者的關(guān)注。由于神經(jīng)網(wǎng)絡(luò)高效率的集體計算能力和較強(qiáng)的魯棒性,它在圖像分割方面的應(yīng)用已經(jīng)很廣泛,Jain和Karu采用了多通道濾波與前向神經(jīng)網(wǎng)絡(luò)相結(jié)合的方法實現(xiàn)圖像紋理分割算法。神經(jīng)網(wǎng)絡(luò)算法在特征提取階段,壓縮特征數(shù)量,以提高分類速度和精度。在圖像識別領(lǐng)域中神經(jīng)網(wǎng)絡(luò)作為分類器的研究也得到了很大的進(jìn)展,尤其是其學(xué)習(xí)能力和容錯性對于模式識別是非常有利的,在一定程度上提高了訓(xùn)練速度和識別率。Le Cun等人提出了多層特征選擇(Multilayer Selection Procedure)方法用于字符識別,每一層神經(jīng)網(wǎng)絡(luò)處理較低層次的特征,獲取該層特征信息并傳給上一層。
BP神經(jīng)網(wǎng)絡(luò)的基本原理
人工神經(jīng)網(wǎng)絡(luò)的研究起源于對生物神經(jīng)系統(tǒng)的研究,它將若干處理單元(即神經(jīng)元)通過一定的互連模型連結(jié)成一個網(wǎng)絡(luò),這個網(wǎng)絡(luò)通過一定的機(jī)制可以模仿人的神經(jīng)系統(tǒng)的動作過程,以達(dá)到識別分類的目的。人工神經(jīng)網(wǎng)絡(luò)區(qū)別于其他識別方法的最大特點是它對待識別的對象不要求有太多的分析與了解,具有一定的智能化處理的特點。神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程實際上就是不斷地調(diào)整權(quán)值和閾值的過程。根據(jù)有無訓(xùn)練樣本的指導(dǎo)可以將神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方式分為兩種:監(jiān)督學(xué)習(xí)方式和非監(jiān)督學(xué)習(xí)方式,也稱為有導(dǎo)師指導(dǎo)學(xué)習(xí)方式和無導(dǎo)師指導(dǎo)學(xué)習(xí)方式。監(jiān)督學(xué)習(xí)方式,是在給定固定的輸入輸出樣本集的情況下,由網(wǎng)絡(luò)根據(jù)一定的學(xué)習(xí)規(guī)則進(jìn)行訓(xùn)練學(xué)習(xí),每一次學(xué)習(xí)完成后,通過對比實際的輸出和期望的輸出,以此決定網(wǎng)絡(luò)是否需要再學(xué)習(xí),如果還沒有達(dá)到期望的誤差,則將實際誤差反饋到網(wǎng)絡(luò),進(jìn)行權(quán)值和閾值的調(diào)整,使實際的誤差隨著學(xué)習(xí)的反復(fù)進(jìn)行而逐步減小,直至達(dá)到所要求的性能指標(biāo)為止。非監(jiān)督學(xué)習(xí)方式,是在沒有外界的指導(dǎo)下進(jìn)行的學(xué)習(xí)方式,在學(xué)習(xí)過程中,調(diào)整網(wǎng)絡(luò)的權(quán)重不受外來教師的影響,但在網(wǎng)絡(luò)內(nèi)部會對其性能進(jìn)行自適應(yīng)調(diào)節(jié)。
BP神經(jīng)網(wǎng)絡(luò)分類器的設(shè)計
BP神經(jīng)網(wǎng)絡(luò)是基于誤差反向傳播算法(Back Propagation Algorithm,BPA)的多層前向神經(jīng)網(wǎng)絡(luò),由輸入層、輸出層、一個或多個隱含層所組成。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)確定之后,通過對輸出和輸入樣本集進(jìn)行訓(xùn)練,反復(fù)修正網(wǎng)絡(luò)的權(quán)值和閾值,達(dá)到學(xué)習(xí)訓(xùn)練的期望誤差,以使網(wǎng)絡(luò)能夠?qū)崿F(xiàn)給定的輸入輸出映射關(guān)系。BP人工神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程分為兩個階段,第一階段是輸入己知的學(xué)習(xí)樣本數(shù)據(jù),給定網(wǎng)絡(luò)的結(jié)構(gòu)和初始連接權(quán)值和閾值,從輸入層逐層向后計算各神經(jīng)元的輸出;第二階段是對權(quán)值和閾值進(jìn)行修改,即根據(jù)網(wǎng)絡(luò)誤差從最后一層向前反饋計算各層權(quán)值和閾值的增減量,來逐層修正各層權(quán)值和閾值。以上正反兩個階段反復(fù)交替,直到網(wǎng)絡(luò)收斂。具體實現(xiàn)步驟如下:
(1) 網(wǎng)絡(luò)的初始化:首先對輸入的學(xué)習(xí)訓(xùn)練樣本進(jìn)行歸一化處理,對權(quán)值矩陣W和閾值向量賦初值,將網(wǎng)絡(luò)計數(shù)器和訓(xùn)練次數(shù)計數(shù)器置為1,網(wǎng)絡(luò)誤差置為0。
(2) 輸入訓(xùn)練樣本,計算輸入層,隱含層以及輸出層的實際輸出。
(3) 計算網(wǎng)絡(luò)輸出誤差。將實際的輸出和期望的輸出值進(jìn)行對比,采用均方根誤差指標(biāo)作為網(wǎng)絡(luò)的誤差性能函數(shù)。
(4) 若誤差還沒達(dá)到期望標(biāo)準(zhǔn),則根據(jù)誤差信號,逐層調(diào)整權(quán)值矩陣和閾值向量。
(5) 若最終調(diào)整之后的網(wǎng)絡(luò)輸出達(dá)到了誤差范圍之內(nèi),則進(jìn)行下一組訓(xùn)練樣本繼續(xù)訓(xùn)練網(wǎng)絡(luò)。
(6) 若全部的訓(xùn)練樣本訓(xùn)練完畢,并且達(dá)到了期望的誤差,則訓(xùn)練結(jié)束,輸出最終的網(wǎng)絡(luò)聯(lián)接權(quán)值和閾值。
BP神經(jīng)網(wǎng)絡(luò)可以逼近任意連續(xù)函數(shù),具有很強(qiáng)的非線性映射能力,而且BP神經(jīng)網(wǎng)絡(luò)中間層數(shù)、各層神經(jīng)元數(shù)及網(wǎng)絡(luò)學(xué)習(xí)速率等參數(shù)均可以根據(jù)具體情況設(shè)定,靈活性較強(qiáng),所以BP神經(jīng)網(wǎng)絡(luò)在許多領(lǐng)域中廣泛應(yīng)用。一般來說,神經(jīng)網(wǎng)絡(luò)方法應(yīng)同傳統(tǒng)的人工智能方法相聯(lián)系的。神經(jīng)網(wǎng)絡(luò)本身結(jié)構(gòu)及性能上的特點使其對問題的處理更富有彈性,更加穩(wěn)健。神經(jīng)網(wǎng)絡(luò)的基本特點是采用自下而上的設(shè)計思路,使其容易確定具體的目標(biāo)分割或識別算法,在增加了不確定因素的同時也產(chǎn)生了網(wǎng)絡(luò)最優(yōu)化的問題,這就是所謂的偽狀態(tài)(pseudo-trap)。盡管在實踐中并非所有的偽狀態(tài)對應(yīng)完全失敗的結(jié)果,但是畢竟這不符合對之完美的或者說合理的期望。人工智能則一般采用自上而下的方法,偏重于邏輯推理建立系統(tǒng)模型。因此將神經(jīng)網(wǎng)絡(luò)同人工智能結(jié)合起來,相當(dāng)于賦予神經(jīng)網(wǎng)絡(luò)高層指導(dǎo)的知識及邏輯推理的能力,具有潛在的優(yōu)勢。
輸入層中間層 輸出層
圖1 BP人工神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練
4.1 BP神經(jīng)網(wǎng)絡(luò)的設(shè)計
BP神經(jīng)網(wǎng)絡(luò)的設(shè)計主要包括兩方面內(nèi)容:一是神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的確定,特別是隱含層層數(shù)及隱含層單元數(shù)目的確定;二是高精度收斂問題,隱含層和隱含層單元數(shù)過多,將導(dǎo)致訓(xùn)練時間過長并出現(xiàn)過度擬和的問題,隱含層單元數(shù)過少又導(dǎo)致網(wǎng)絡(luò)收斂速度慢甚至不收斂,達(dá)不到誤差精度要求。在確定隱含層層數(shù)以及隱含層單元數(shù)目時,沒有一個嚴(yán)格的理論依據(jù)指導(dǎo),需要根據(jù)特定的問題,結(jié)合經(jīng)驗公式確定大致范圍來進(jìn)行逐步試算比較得到。
4.2 數(shù)據(jù)預(yù)處理
為了加快網(wǎng)絡(luò)的訓(xùn)練速度,通常在網(wǎng)絡(luò)訓(xùn)練前進(jìn)行神經(jīng)網(wǎng)絡(luò)輸入和輸出數(shù)據(jù)預(yù)處理,即將每組數(shù)據(jù)都?xì)w一化變?yōu)閇-1,1]之間的數(shù)值的處理過程。
4.3 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練
%當(dāng)前輸入層權(quán)值和閾值
inputWeights=net.IW{1,1}
inputbias=net.b{1}
%當(dāng)前網(wǎng)絡(luò)層權(quán)值和閾值
layerWeights=net.LW{2,1}
layerbias=net.b{2}
%設(shè)置訓(xùn)練參數(shù)
net.trainParam.show = 1000;%限時訓(xùn)練迭代過程
net.trainParam.lr = 0.1; %學(xué)習(xí)率,缺省為0.01
net.trainParam.epochs = 100000; %最大訓(xùn)練次數(shù),缺省為100
net.trainParam.goal = 0.001; %訓(xùn)練要求精度,缺省為0
[net,tr]=train(net,P,T);%調(diào)用 TRAINGDM 算法訓(xùn)練 BP 網(wǎng)絡(luò)
A = sim(net,P) %對 BP 網(wǎng)絡(luò)進(jìn)行仿真
E = T - A;%計算仿真誤差
MSE=mse(E)
結(jié)束語
BP網(wǎng)絡(luò)因為具有較強(qiáng)的學(xué)習(xí)性、自適應(yīng)型和容錯性,在很多領(lǐng)域均已經(jīng)大量運用。本文將BP人工神經(jīng)網(wǎng)絡(luò)運用于圖像的識別,探索人工神經(jīng)網(wǎng)絡(luò)在圖像識別領(lǐng)域中的重要的現(xiàn)實意義。研究表明,BP人工神經(jīng)網(wǎng)絡(luò)應(yīng)用于圖像識別在一定程度上提高了識別的效率和準(zhǔn)確率。但是,BP神經(jīng)網(wǎng)絡(luò)算法還存在以下幾點不足之處:(1)權(quán)的調(diào)整方法存在局限性,容易陷入局部最優(yōu);(2)網(wǎng)絡(luò)的結(jié)構(gòu)需要提前指定或者在訓(xùn)練過程中不斷的修正;(3)過分依賴學(xué)習(xí)樣本,由于學(xué)習(xí)樣本是有限的或者學(xué)習(xí)樣本質(zhì)量不高,那么會導(dǎo)致訓(xùn)練達(dá)不到效果;(4)對于規(guī)模較大的模式映射問題,存在收斂速度慢、容易陷入局部極小點、判斷不準(zhǔn)確等缺陷??傊?,如何解決以上問題,如何進(jìn)一步提高識別精度,擴(kuò)大識別范圍,使之更具有更好的工程實用性,是有待進(jìn)一步研究的內(nèi)容。
參考文獻(xiàn):
[1] WE Blanz,S L Gish.A Connectionist Classifier Architecture Applied to Image Segmentation.Proc.10th ICPR,1990,272-277.
[2] Y Le Cun,L D Jackel,B Boser,J S Denker,H P Graf,I Guyon,D Henderson,R E Howard,and W Hubbard,Handwriten Digit Recognition:Applications of Neural Network Chips and Automatic Learning,IEEE Comm.Magazine.Nov.1989.
[3] A K Jain and K Karu,Automatic Filter Design for Texture Discrimination,Proc.12th Int’l Conf.NeuralNetworks,Orlando,Oct.1994,454-458.
[4] 邊肇其,張學(xué)工.模式識別(第二版)[M].清華大學(xué)出版社,北京.1999,12.
[5] 陳書海,傅錄祥.實用數(shù)字圖像處理[M].科學(xué)出版社,北京.2005.
[6] 萬來毅,陳建勛.基于BP神經(jīng)網(wǎng)絡(luò)的圖像識別研究[J].武漢科技大學(xué)學(xué)報(自然科學(xué)版).2006,6.
[7] 叢爽.面向MATLAB工具箱的神經(jīng)網(wǎng)絡(luò)理論與應(yīng)用(第2版)[M].北京:中國科學(xué)技術(shù)出版社,2003.
[8] 王娟,慈林林等.特征方法綜述[J].計算機(jī)工程與科學(xué).2005.27(12).68-71.
[9] 賈花萍.基于神經(jīng)網(wǎng)絡(luò)的特征選擇與提取方法研究[J].網(wǎng)絡(luò)安全.2008,7.33-35.
[10] 龔聲榮,劉純平等編著.?dāng)?shù)字圖像處理與分析[M].清華大學(xué)出版社,北京.2006.7.
篇10
伴隨著人民生活水平的提高,汽車已經(jīng)成為了人民生活中重要組成部分。但是伴隨著的汽車自身某些故障的產(chǎn)生,使得汽車故障的研究成為了人們研究的重點,文獻(xiàn)[1]指出計算機(jī)和信息化技術(shù)的廣泛運用到汽車中,其中傳感器逐步應(yīng)用到汽車控制中,它能夠?qū)ζ囆畔⑦M(jìn)行感知,采集,轉(zhuǎn)換和處理。將感知的信息轉(zhuǎn)換其他需要的信息輸出。汽車傳感器是汽車電子控制的關(guān)鍵部件,也是汽車電子技術(shù)的核心部分。文獻(xiàn)[2-3]提出一種基于數(shù)據(jù)驅(qū)動的多模型傳感器故障軟閉環(huán)容錯控制方法,并對非線性系統(tǒng)中卡死、恒增益、恒偏差等常見傳感器故障進(jìn)行了研究。文獻(xiàn)[4]指出目前傳感器控制主要是分布是針對衡秤體下方,通過傳感器輸出來完成故障傳感器輸出信號,但容易偏離中心,影響估計精度。文獻(xiàn)[5]指出數(shù)字稱重傳感器可以實現(xiàn)不間斷工作,能夠在短時間內(nèi)獲得故障信號,但缺點是價格昂貴。文獻(xiàn)[6]提出基于結(jié)構(gòu)振動響應(yīng)特性利用改進(jìn)的模態(tài)濾波方法對陣列式傳感器系統(tǒng)進(jìn)行故障診斷。
本文主要BP神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上引入靜態(tài)模糊控制,對汽車傳感器控制的故障進(jìn)行有效、準(zhǔn)確的分類。并針對汽車傳感器的故障準(zhǔn)確的進(jìn)行診斷和恢復(fù),從而可以有效的來保證汽車傳感器的正常的運作。
1.汽車傳感器控制故障模型矩陣
汽車傳感器的輸出信號主要是電壓信號,當(dāng)汽車傳感器與(傳感器與發(fā)動機(jī)控制裝置)之間的接線發(fā)生斷路的時候,電壓信號就會超出正常范圍從而引起故障。通常設(shè)定汽車傳感器器的輸出信號電壓的正常范圍為,如果實際輸入ECU信號電壓大于或小于,則認(rèn)為該信號不可靠,表示傳感器有故障。只有傳感器信號持續(xù)一定時間后,才會判斷為有故障。假設(shè)車輛傳感器網(wǎng)絡(luò)中傳感器節(jié)點個數(shù)為,每個節(jié)點在數(shù)據(jù)采集過程進(jìn)行次采樣,單節(jié)點數(shù)據(jù)長度為。單個節(jié)點采集數(shù)據(jù)作為矩陣的列,則網(wǎng)絡(luò)數(shù)據(jù)可表示為
為便于表述,將各節(jié)點數(shù)據(jù)以此銜接,網(wǎng)絡(luò)數(shù)據(jù)可寫為向量形式
(1)
其中,。
網(wǎng)絡(luò)數(shù)據(jù)的測量過程可由如下的矩陣向量形式表示:
其中,,測量矩陣。(2)
2.改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)在汽車傳感器診斷
2.1汽車靜態(tài)模糊函數(shù)構(gòu)建
汽車傳感器網(wǎng)絡(luò)故障具有一定的隨機(jī)性,是一種典型的非線性結(jié)構(gòu),而靜態(tài)模糊函數(shù)可以很好找到傳感器故障中的死亡節(jié)點。靜態(tài)模糊基函數(shù)構(gòu)造如下:
(3)
通過將汽車節(jié)點傳感器能量(設(shè)定為)輸入公式(3)中,得到相應(yīng)的改進(jìn)節(jié)點能量如下:
(4)
在公式(6)中,其中表示傳感器節(jié)點的個數(shù)。為固定參數(shù),通過在模糊函數(shù)中構(gòu)造靜態(tài)函數(shù)如下:
(5)
在公式5)中,為模糊變量,表示參考參考模糊變量集。其中設(shè)定為0-1之間的實數(shù),表示的可能性是;該準(zhǔn)則設(shè)定的含義是當(dāng)達(dá)到的時候,的可能性則是。設(shè)定用mamdani蘊涵表示,通過采用mamdani來進(jìn)行推理得出。使用公式(8)對進(jìn)行自學(xué)習(xí)得到,其中的精度遠(yuǎn)大于。
(6)
將公式(4),(5)和(6)進(jìn)行三者結(jié)合,得到針對汽車傳感器的靜態(tài)控制節(jié)點的自學(xué)習(xí)能力函數(shù),從而能夠快速的對汽車傳感器節(jié)點能量損失進(jìn)行判斷。
2.2BP神經(jīng)網(wǎng)絡(luò)
BP神經(jīng)網(wǎng)絡(luò)是一種單向傳遞的網(wǎng)絡(luò),通常是由輸入層,隱含層,輸出層組成。它將信號進(jìn)行前向傳遞和反向傳播。其中反向傳播時權(quán)值按Delta學(xué)習(xí)規(guī)則進(jìn)行調(diào)整。在前向傳遞中依次按式(9)計算各層的輸入輸出直到輸出層。當(dāng)輸出層得不到期望的輸出則進(jìn)行反向傳播,根據(jù)期望與實際輸出之間的誤差調(diào)整權(quán)值和閾值。權(quán)值的調(diào)整公式見式(10)。
(7)
在公式(1)中為第層節(jié)點的激活值,為閾值,為輸入信號,為第節(jié)點與第節(jié)點的連接權(quán)系數(shù),為節(jié)點的輸出值。
(8)
在公式(8)中,為神經(jīng)網(wǎng)絡(luò)期望輸出與實際輸出的誤差。
2.3本文算法的描述
本文首先通過自學(xué)習(xí)中的靜態(tài)模糊函數(shù)來確定汽車傳感器故障的支撐集,然后通過BP神經(jīng)網(wǎng)絡(luò)算法來針對傳感器的故障進(jìn)行快速分類,從而縮短檢測時間,提高檢測效率。通過求解以為自變量的目標(biāo)函數(shù)的極小值
:(9)
其中對。正則化參數(shù)、分別對變換系數(shù)和生成矩陣的稀疏度進(jìn)行加權(quán)。為便于表述,不妨假設(shè),稀疏度量使用1范數(shù)。
3.試驗仿真與分析
本文選取本公司下屬的汽車修理廠中的汽車故障100組數(shù)據(jù),每組分為為50組數(shù)據(jù),前30組用于訓(xùn)練,余下20組用于測試。然后通過靜態(tài)模糊函數(shù)來分類進(jìn)行故障樣本,同時設(shè)計1個BP神經(jīng)網(wǎng)絡(luò)分類器,以此來驗證靜態(tài)模糊函數(shù)自學(xué)習(xí)的作用。兩組BP神經(jīng)網(wǎng)絡(luò)分類器診斷結(jié)果比較如表1所示。選取沖擊傳感器故障下的三組數(shù)據(jù)如表2所示,BP神經(jīng)網(wǎng)絡(luò)分類器的實際輸出數(shù)據(jù)如表3所示。
從表1-3中發(fā)現(xiàn)利用改進(jìn)的BP網(wǎng)絡(luò)算法對汽車傳感器故障樣本數(shù)據(jù)進(jìn)行處理后,神經(jīng)網(wǎng)絡(luò)的輸入層從20個減少為8個,訓(xùn)練次數(shù)大幅度減少為100次顯然CPU的耗時明顯縮短。并且基本保持故障識別率不變。通過采用靜態(tài)模糊函數(shù)保證識別率的同時,簡化了BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),提高了診斷速度,是實現(xiàn)增加BP神經(jīng)網(wǎng)絡(luò)對故障樣本分類實時性的行之有效的方法。
4.結(jié)束語
本文提出了基于BP網(wǎng)絡(luò)神經(jīng)中引入靜態(tài)模糊控制的方法對故障進(jìn)行快速分類,首先對故障樣本的輸入數(shù)據(jù)運用靜態(tài)模糊函數(shù)進(jìn)行數(shù)據(jù)收集,再對神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果進(jìn)行數(shù)據(jù)數(shù)據(jù)分類。同時具體的實驗數(shù)據(jù)表明本文的算法在保證故障準(zhǔn)確率的同時簡化了神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),提高了故障診斷速度。
參考文獻(xiàn):
[1]趙炯等.基于傳感器融合技術(shù)的電動汽車自動駕駛系統(tǒng)的開發(fā)[J].制造業(yè)自動化,2013.35(5):43-46
[2]李煒,張婧瑜.多模型傳感器故障軟閉環(huán)容錯控制研究[J].計算機(jī)應(yīng)用研究,2015,32(2):447-450
[3]王千等.K-means聚類算法研究綜述[J].電子設(shè)計工程,2012,20(7):40-43
[4]BLISSD,STICKELC,BENTZJW.Loadcelldiagnosticsandfailurepredictionweighingapparatusandprocess[P].UunitedStatePatent:728638,2000
[5]PENGXF.Applicationofdigitalloadcells[J].IndustrialMeasurement,2008,(01):62-63
[6]JIANMINGL,YonggonL,SCOTTDS,etal.Selforganizingradialbasisfunctionnetworkforreal-timeapproximationofcontinuous-timedynamicalsystems[J].IEEETrans.NeuralNetworks,2008,19(3):460-474