神經網絡的實現范例6篇

前言:中文期刊網精心挑選了神經網絡的實現范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。

神經網絡的實現

神經網絡的實現范文1

關鍵詞:人工神經網絡;BP算法;程序

中圖分類號:TP183文獻標識碼:A文章編號:1009-3044(2008)05-00ppp-0c

1 引言

人工神經網絡是一種信息處理系統,它有很多種模型。其中有一種用誤差傳播學習算法(Error Back-Propagation,即BP算法)進行訓練的多層前饋神經網絡,簡稱為BP網絡。它是目前人工神經網絡中應用最為廣泛的網絡,在文字識別、模式分類、文字到聲音的轉換、圖像壓縮、決策支持等方面都有廣泛的應用。本文對BP算法進行簡單的介紹,并給出其在VC++6.0中的實現方法。

2 BP算法的原理

2.1 BP網絡的結構

BP網絡是由一組相互連接的運算單元組成,其中每一個連接都有相對應的權值。網絡結構如圖1(以三層網絡為例)所示,它包括輸入層節點、輸出層節點,一層或多層隱含層節點。在BP網絡中,層與層之間采用全互連方式,同一層的節點之間不存在相互連接。

2.2 BP算法的原理

BP算法簡單的來說,是把訓練樣本從輸入層輸入,通過每個節點對應的閾值、函數以及節點之間連接權值的運算,經過輸入層、隱含層,傳播到輸出層得到計算輸出,該輸出和其對應的期望輸出比較,得出誤差。如果誤差不符合要求,將誤差沿輸入相反的方向進行傳播并沿誤差降低方向調節權值和函數的閾值。用多個訓練樣本對網絡進行反復的訓練,直至誤差符合要求。

2.3 算法中主要的數據結構和用到的公式

為方便說明,對算法中的主要數據結構做如下約定。網絡為三層,P[m]為單個樣本輸入數據, m為輸入向量維數,也等于輸入層節點數;T[n]為單個樣本期望輸出數據,n為輸出向量維數,也等于輸出層節點數;W[h][m]為輸入層至隱層權值,其中h為隱層節點數;V[n][h]為隱層至輸出層權值;X[h]為隱層的輸入;O[h]為隱層的輸出;U[n]為輸出層的輸入;Y[n]為輸出層的計算輸出;YZH[h]為隱層的閾值;YZO[n]為輸出層的閾值;DeltaO[n]為輸出層一般化誤差;DeltaH[h]為隱層一般化誤差;E為預先設定的總體誤差;η為學習速率參數;設隱含層和輸出層的激活函數采用S型函數,即lxg02.tif。

算法中主要公式如下:

隱層第 個單元的輸入:lxg03.tif(1)

隱層第 個單元的輸出:lxg04.tif (2)

輸出層第 個單元的輸入: lxg05.tif (3)

輸出層第 個單元的輸出: lxg06.tif (4)

輸出層單元 的一般化誤差:DeltaO[i]=(T[i]-Y[i])?Y[i]?(1-Y[i]) (5)

隱含層單元 的一般化誤差:lxg07.tif(6)

輸出層至隱含層的權值調整:V[i][j]=η?DeltaO[i]?O[j] (7)

輸出層閾值調整:YZO[i]=η?DeltaO[i] (8)

隱含層至輸入層的權值調整:W[i][j]= η?DeltaH[i] ?P[j] (9)

隱含層閾值調整:YZH[i]=η?DeltaH[i] (10)

2.4 算法的描述

算法可描述如下:

(1)初始化:在小隨機值上初始化連接權值和閾值;給出各層節點數、η、預定誤差。

(2)輸入訓練樣本集中一個樣本。

(3)依據式1、2、3、4計算該樣本的實際輸出,和教師信號做比較,依據公式5和6分別求輸出層單元和隱含層單元一般化誤差。

(4)依據誤差根據公式7、8、9、10分別調整輸出層和隱含層的連接權和閾值。

(5)對訓練樣本集中所有樣本重復2到4。

(6)訓練次數加1。

(7)如果總誤差小于預定值則執行8,否則對訓練樣本集返回2重復訓練。

(8)記下權值和閾值,結束本次訓練。

3 BP算法關鍵步驟在VC++6.0中實現

首先按照2.3所述定義數據結構,再定義一個放學習樣本的結構:

struct {

double input[m];

double teach[n];

}Study_Data[N];

以下是實現算法公式的各個子程序:

/*初始化權、閾值子程序*/

initial()

{

srand( (unsigned)time( NULL ) );

for(int i=0;i

{

for(int j=0;j

W[i][j]= (double)((rand()/32767.0)*2-1);

}

for(int ii=0;ii

{for(int jj=0;jj

V[ii][jj]= (double)((rand()/32767.0)*2-1);

}

for(int k=0;k

{YZH[k=(double)((rand()/32767.0)*2-1);

}

for(int kk=0;kk

{YZO[kk]=(double)((rand()/32767.0)*2-1);

}

return 1;

}

/*第m個學習樣本輸入子程序*/

input_P(int m)

{

for (int i=0;i

P[i]=Study_Data[m].input[i];

return 1;

}

/*第m個樣本教師信號子程序*/

input_T(int m)

{

for (int k=0;k

T[k]=Study_Data[m].teach[k];

return 1;

}

/*隱層各單元輸入、輸出值子程序*/

H_I_O(){

double sigma;

int i,j;

for (j=0;j

sigma=0.0;

for (i=0;i

sigma+=W[j][i]*P[i];

X[j]=sigma - YZH[j];

H[j]=1.0/(1.0+exp(-X[j]));

}

return 1;

}

/*輸出層各單元輸入、輸出值子程序*/

O_I_O()

{

double sigma;

for (int k=0;k

sigma=0.0;

for (int j=0;j

sigma+=V[k][j]*H[j];

}

Y[k]=sigma-YZO[k];

O[k]=1.0/(1.0+exp(-Y[k]));

}

return 1;

}

/*輸出層至隱層的一般化誤差子程序*/

double d_err[n];

Err_O_H(int m)

{

double abs_err[n];

double sqr_err=0;

for (int k=0;k

abs_err[k]=T[k]-O[k];

sqr_err+=(abs_err[k])*(abs_err[k]);

d_err[k]=abs_err[k]*O[k]*(1.0-O[k]);

}

err_m[m]=sqr_err/2;

return 1;

}

/*隱層至輸入層的一般化誤差子程序*/

double e_err[h];

Err_H_I(){

double sigma;

for (int j=0;j

sigma=0.0;

for (int k=0;k

sigma+=d_err[k]*V[k][j];

}

e_err[j]=sigma*H[j]*(1.0-H[j]);

}

return 1;

}

/*輸出層至隱層的權值調整、輸出層閾值調整計算子程序*/

Delta_O_H(int m)

{

for (int k=0;k

for (int j=0;j

{V[k][j]+=a*d_err[k]*H[j];

YZO[k]+=a*d_err[k];

}

return 1;

}

/*隱層至輸入層的權值調整、隱層閾值調整計算子程序*/

Delta_H_I(int m)

{

for (int j=0;j

for (int i=0;i

{W[j][i]+=b*e_err[j]*P[i];

}

YZH[j]+=b*e_err[j];

}

return 1;

}

/*N個樣本的全局均方誤差計算子程序*/

double Err_Sum()

{

double total_err=0;

for (int m=0;m

total_err+=err_m[m];

}

return total_err;

}

參考文獻:

[1]徐勇,等,譯.神經網絡模式識別及實現[M].電子工業出版社,1999.

[2]戴葵,等,譯.神經網絡設計[M].機械工業出版社,2002.

[3]Berthold M,D J Hand,et al.Intelligent Data Analysis-An Introduction[M].Springer Berlin,1999.

收稿日期:2007-12-20

神經網絡的實現范文2

關鍵詞:溫度控制系統;研究;實現

國內市場中的注塑機溫度控制系統大多采用比例積分微分(pid)控制和模糊控制。在塑料機械中,料桶的溫度控制非常關鍵,低于或者高于塑料的適宜熔融標準都會影響產品的最終成型質量。由于產品成型過程復雜而且可影響因素多,如果可以做好料桶的溫控就可以對整個生產起到事半功倍的效果。但是這幾種控制方式都需要建立精確的數學模型,而注塑機溫度控制系統是一個大滯后、強耦合、非線性的時變系統,建立精確的數學模型是非常困難的,因此pid溫控系統的效果并不是很理想,鑒于這種情況,本文引入一個基于bp神經網絡的溫度pid控制系統來改善注塑機溫度控制。神經網絡具有表達任意非線性映射的能力,能夠對非線性系統進行建模。利用神經網絡的這一特點建立動態模型,作為預測控制器的預測模型,可用于熱力過程的預測和控制,應用bp神經網絡,通過學習和訓練逼近對象的真實模型。對溫度控制的各相關指標的相對權重確定。影響溫度變化各相關因素在輸入預測和評估模型時, 需要一組決定其相對重要性的初始權重,權重的確定需要基本的原則作支持。例如確定溫度的上限及下限,純加熱控制段的比例,不同位置的溫度控制段的默認pid參數等。目前本文使用的是基于經驗的三層架構的bp神經網絡架構,通過輸入層對采樣數據的輸入,隱含層的各種計算,并把計算結果通過輸出傳遞出去,這樣經過在線指導后,可以滿足bpn-pids系統的算法的實現。其中各層的連接權值首先通過隨機賦值的方式進行,然后根據各指導案例的學習,得到健壯的權重值。

本文的主要工作是設計并實現了一個基于bp神經網絡的溫度pid控制系統(bp neural network pid system簡稱為bpn-pids),其核心是 pid神經網絡,如圖1-2 bpn-pids控制算法所示。本文主要參考了如下的相關技術:pid控制原理,bp神經網絡(如圖1-1神經網絡圖所示),matlab軟件,b/s軟件架構以及asp開發工具,xml數據庫存儲以及opc行業標準。對于具有多變量強耦合時變特性的溫度控制系統,本文所構建的pid神經網絡可以通過在線學習建立科學的預測和評估指標體系及設計相應的模型計算方法與學習參數;同時,根據對象參數發生變化時對系統輸出性能的影響來調整連接權值,改變網絡中比例、積分和微分作用的強弱,使系統具備良好的動態和靜態性能,達到系統解耦和溫度控制的目的。本文結合不同塑料的具體實際特性, 對指標和模型體系進行了實證分析, 解決了普通pid控制系統的非確定性、非固定性元素。

bpn-pids系統已借助matlab軟件進行了仿真與實現。系統架構如圖1-3系統框架所示,包括服務器應用端程序,注塑機端相應的應用。

服務器應用端分為通訊模塊,控制功能模塊與數據庫服務,其中控制功能模塊為核心。

通訊模塊的作用為服務器應用端與注塑機端的通訊并傳遞相應數據。

控制功能模塊為核心模塊,通過對傳遞到的數據分析與運算,進行整個系統的控制。

數據庫服務則為控制功能模塊服務,它將數據存儲到數據庫中,需要的時候則可以提取出來。

注塑機端應用分為:上位機應用,下位機應用其中,上位機應用主要作用是采集下位機的數據,經過處理后通過通訊模塊給應用程序控制模塊進行相應的分析,然后接受控制模塊的輸出指令,傳遞給下位機。

下位機的主要作用是通過a/d模塊采集料筒的實際溫度,然后傳遞給上位機。再接受上位機的控制指令,對料筒進行是否加熱的指令。

由于采用了c/s結構,本文中注塑機端最多可以接連255個客戶端。

i)總體結構

設bp神經網絡是一個采用三層bp結構,它有m個輸入節點,其中,根據算法結構,m=3,q個隱含節點,3個輸出節點。輸入節點對應所選的系統運行狀態量,如系統不同時刻和輸入量和輸出等,必要時進行歸一化處理。輸出節點分別對應pid控制器的三個參數kp、ki、kd,由于這三個參數都不能為負,所以輸出層神經元激活函數一定要取非負的sigmoid函數。此處根據經驗,當q值過小,則算法有可能失敗,當q值過大,則算法速度太慢,同時占用資源過多,所以取q=5。

ii)學習算法請參看圖1-4 bp神經網絡學習算法

(a)、確定bp網絡結構,即確定輸入層節點數m和隱含層

點數q,并給出各層的加權系數的初值,選定學習速率η和慣性系數α。初值隨機賦值,學習速率與慣性系數取習慣值,此時k=1。

(b)、采樣得r(k)和y(k),計算該時刻誤差e(k)=r(k)-y(k)

(c)、計算神經網絡各層神經元得輸入、輸出,nn得輸出即為pid控制器得三個可調參數kp、ki、kd。

(d)、根據增量式算法計算pid得輸出u(k)。

(e)、進行神經網絡得學習,通過數據庫的存儲讀取,離線調整加權系數,實現pid控制器參數得自適應調整置,重復步驟(b)-(e)。

(f)、置k=k+1,返回到b步驟

在仿真中,比較常規pid與bpn-pids系統仿真。從中可以得知通過優化和混合仿真傳統pid控制器能夠獲得很好的系統性能,bpn-pids獲得了平滑的變換,但存在靜態誤差。當模型參數變化時,比較兩者的魯棒性,顯示了當時延增大時,傳統pid出現了振蕩。傳統pid控制在注塑機溫度控制系統中能達到較好的控制性能和控制精度。但是,當系統的參數發生變化時,常規pid的魯棒性就很差了。而神經pid雖然存在靜態誤差,但仍然有很穩定的平滑性。bpn-pids同樣也能獲得更為平滑的過渡過程,但是系統存在著靜態誤差。bpn-pids具有自學習和自調整的能力,當模型參數改變時,bpn-pids仍然有平滑的過渡過程,這就證明bpn-pids的魯棒性比傳統pid更強,適應能力更強。通過matlab實現了bpn-pids算法,解決了普通pid控制方法中的非確定性,非固定的問題,通過bp神經網絡的在線自學習能力,為今后不同材料,不同模具的應用達到了良好,健壯的溫度控制。 從圖1-5信號跟蹤圖中可以看出:控制變量u變化規則,擾動較小,跟蹤曲線光滑,跟蹤誤差小,達到穩定狀態后,誤差波動小。

圖1-6誤差曲線圖為系統的誤差曲線,可以看出,系統跟蹤誤差非常小大約在(0.008~-0.008 內),跟蹤效果很理想。

圖1-7 pid參數變化圖反映了整個過程中參數kp,ki,kd 隨時間變化的情況,可以看出, kp,ki,kd 在不斷調整,從而使控制效果最佳。

本文以基于神經網絡的解耦控制和pid控制作為研究的出發點,經過查閱資料、理論研究以及實際測試,取得的研究結論可簡要的歸納如下:

(1)就基于神經網絡的參數自適應pid控制算法進行了分析研究。利用神經網絡所具有的任意性表達能力,通過對系統的學習來實現具有最佳組合的pid控制。避免了憑經驗選取pid控制參數的不確定性,而且可以實現控制器參數的在線調整和整定。算法主要由兩個部分組成:

a.經典的pid控制器,控制算法為經典增量式。直接對被控對象進行閉環控制,而且三個參數為在線調整方式。

b.神經網絡,根據系統的運行情況,根據學習算法,在線調整pid控制的參數使得給定性能指標最優,輸出層神經元的輸出狀態讀對應于pid控制器的三個可調參數。

(2)給出了一種基于神經網絡的分散解耦算法bpn-pids算法。這種分散解耦算法從本質上仍屬于串聯解耦的一種特殊情況,但他與串聯解耦又有所不同。

(3)將基于神經網絡的參數自適應pid控制算法與分散解耦算法結合,并能過matlab軟件中實現了bpn-pids算法,并實現了在線的整定的算法,既避免了當單獨采用自適應pid算法時,如多變量被控對象耦合嚴重,則控制效果不佳的問題;又避免了當采用分散解耦算法時,如出現多變量被控對象模型參數發生變化,原有的控制器參數不能適應變化后的對性的問題。將該算法應用與料筒的溫度控制,結果表明可以取得較為滿意的控制效果。

本文工作對具有多變量強耦合時變特性的控制系統的設計與實現具有較好的參考價值。

參考文獻

[1](美)martin t.hagan,等.神經網絡設計[m].機械工業出版社,2002)9).

神經網絡的實現范文3

關鍵詞:神經網絡;非線性;控制

中圖分類號:TP3 文獻標識碼:A 文章編號:1009-3044(2015)27-0139-03

Abstract: In this paper, one for uncertain nonlinear systems adaptive neural network control program common, of which only a neural network controller and at the same time as the identifier, the controller uses the generalized backpropagation learning algorithm (GBP) as controllers learning algorithm to achieve a unified learning error and control error learning process controller is to control law to control update algorithm update process, no additional control algorithms. The control scheme is simple algorithm, control speed, real-time, is a highly non-linear neural network control scheme.

Key words: neural network; nonlinear; control

神經網絡的應用相當廣泛,一般常用于優化、決策、分類問題以及預測等方面。因為神經網絡是一種具利用大量的運算單元(神經元),以平行且分散的方式進行運算,具有學習、回想與歸納推演的能力,所以神經網絡技術在非線性不確定系統的識別和控制方面得到應用。

根據神經網絡的特點,提出來一種對傳統神經網絡改進的結構,通用非線性神經自適應控制可以在傳統的神經網絡基礎上進行了改進,不需要獨立的識別器,集成了識別器和控制器,減少了控制誤差,系統的閉環控制穩定系數提高,控制器采用了廣義的反向傳播學習方法,使神傳統經網絡的算法和處理速度得到提升。

1 傳統神經網絡 BP 算法與廣義反傳控制

神經網絡是一種并行分布處理數據的處理器,具有適應環境變化對突發變化的情況可以隨機變化。此外,在一個動態環境中,突觸權重可以根據自身的設計進行改變。多樣化的神經網絡的能力都來自其適應能力的突觸權重,如學習能力,識別能力的自適應控制能力[1]。神經網絡的學習算法決定著突觸權值的學習適應能力,神經網絡較為傳統的算法就是BP算法,BP算法的識別過程如圖1所示。

所以BP神經網絡的學習過程是對神經元的修正和積累,可以將神經網絡與未知系統出的誤差降到最低,從而對數據的處理近似到精確值。

廣義反傳控制是對BP神經網絡的算法的一個擴展,對傳統的BP神經網絡算法中的非線性未知系統包含在誤差反傳過程中,廣義反傳算法GBP可以自適應控制,在控制過程中不需要傳統的識別功能,在控制過程即可對其識別,減少了單獨識別過程,廣義反傳控制過程如圖2所示。

2 廣義反傳控制算法

為簡化起見,此處只考慮單輸入單輸出系統,相應的情況很容易擴展到多輸入多輸出系統。對于公式(8)式,表示我們把被控的未知系統看成是一個復雜的單神經元,權值固 定為1:對于GBPNNC隱藏層的神經元,局域梯度的計算規則和突觸權值的更新規則與經典的BP學習算法是一致的,為了保證輸入至未知系統的輸入的有界性,我們給出了適用于非線性系統的GBP控制律,由以下的規則構成:

規則1:由GBPNNC和被控系統構成的整個系統可以看成一個整體的神經網絡,被控系統被看成為一個復雜神經元,被當做整個神經網絡的輸出層,整個神經網絡由GBPNNC以及未知系統神經元構成,GBPNNC的突觸權值更新規則遵守GBP算法,即GBPNNC的突觸權值更新規則由式公式(3))確定,當神經元為GBPNNC輸出層神經元時,局域梯度公式(3)按公式(8)計算,其他情況按公式(5)計算[3]。

3 GBP 控制方案的收斂性與穩定性分析

GBP控制方案是基于GBP學習算法的,從更新規則(3.3)可以看出,為了保證控制方案的收斂性和穩定性,合適的學習率是必需的。本節將基于Lyapunov函數方法導出一種自適應的學習率。

4 仿真與結果

GBP控制方案是一種通用的神經網絡控制方案,因為未知系統可以被看成是一個黑箱,象[中一樣,對于被控非線性系統沒有階數的限制。因此它可以應用于單輸入單輸出或多輸入多輸出系統,連續系統或離散系統。為了演示基于GBP算法的建議方案的控制性能,我們給出了一個仿真例子。

考慮未知系統方程(1)的非線性系統的控制:

在圖3中,實線為輸出層神經元的學習率變化情況,虛線為隱藏層和輸入層神經元的學習率變化情況,從圖3可以得出,通過改變傳統神經網絡的算法,可以縮短誤差和計算時間,提高了運算效率。在圖4中可以看出,GBPNNC控制方法與直接逆神經控制方法進行的比較,自適應學習率的GBPNNC控制方法優于固定學習率的GBPNNC方法,本文提出的這種控制方法減少了控制誤差和提高了收斂速度。

5 結語

本文提出了一種基于神經網絡的通用非線性神經自適應控制方案,該方案是在傳統的BP算法上進行了改進,得到廣義反傳GBP算法,將識別和控制在一定程度上進行了統一,控制誤差得到了降低,該方案操作簡單,實時性能好,收斂速度快,在非線性不確定控制方面起到了一定的效果。

參考文獻:

[1] 古勇, 蘇宏業, 諸健. 循環神經網絡建模在非線性預測控制中的應用[J]. 控制與決策, 2000, 15(2): 254 -256.

[2] 陳增強, 趙天航, 袁著祉. 基于Tank-Hopfield 神經網絡的有約束多變量廣義預測控制[J].控制理論與應用, 1998, 15(6): 847 -852.

神經網絡的實現范文4

關鍵字:木材表面缺陷,神經網絡,BP網絡

Abstract: from now neural network in pattern recognition of the development perspective, in large network structure optimization problem and network learning problems is still open to solve and improve. Therefore, to study various neural network in the wood surface defect recognition of the practicability and accuracy, wood surface defect recognition to promote the study of the method, has very important practical significance.

Key word: wood surface defect, neural network, and BP network

中圖分類號:F762.4 文獻標識碼:A 文章編號:

隨著科學技術的發展,神經網絡理論作為一門新興學科,近年來被廣泛應用于木材表面缺陷的識別分類中,以達到神經網絡具有的實時性、容錯性以及學習性等特點。然而,由于木材表面缺陷種類繁多,隨機性比較強,這些都給分類器提出了很高的要求?,F階段,人們普遍采用都是基于誤差逆傳播算法(BP)的神經網絡,然而BP網絡的缺點是對干擾量非常敏感、隱含層節點數需要經過多次嘗試、學習速度慢且易陷入局部極小點。

1.誤差逆傳播神經網絡(BP網絡)

按照誤差逆傳播學習算法進行訓練的多階層神經網絡被直接稱為誤差逆傳播神經網絡,即BP網絡。BP網絡是一種具有三層神經元的階層神經網絡,不同階層神經元之間實現權重連接,而每層內各個神經元之間不連接。

2.木材缺陷特征提取

⑴ 劃分缺陷區域并確定缺陷的尺寸和位置

在二值化圖像中,相互連接的黑像素的集合稱為一個區域。在這部分程序設計中,通過對圖像內每個區域進行標記操作(標號),求得這樣區域的數目(也就是在這幅二值圖像中存在的缺陷數),進而計算每個缺陷的邊界,再按照求得條件進行區域劃分,把每個缺陷均劃在一個區域中,使一幅圖像分成多幅圖像。然后分別對每個小幅圖像進行計算,確定缺陷的位置及尺寸。

⑵ 根據缺陷位置及尺寸提取灰度特征

根據M[][]數組中的缺陷位置數據,從二值化前的灰度圖像中提取缺陷的灰度特征,由此依次地得到缺陷特征數組BB[Rmax-Rmin][Lmax-Lmin]。其中缺陷部分為具體的灰度值,其它均為0。

3.BP網絡設計

BP神經網絡是目前所有神經網絡中算法最為成熟,應用最為廣泛的一種神經網絡,且具有簡單、易于實現等特點。

⑴ 輸入層和輸出層的設計

BP神經網絡的輸入,輸出層維數完全根據使用者的要求來設計。本實驗研究對象為木材缺陷圖像,輸入為表征木材圖像缺陷特征的特征向量,在圖像處理過程中,我們提取了缺陷的3個特征數據:缺陷灰度均值、缺陷灰度方差和缺陷形狀。

如果把它們作為網絡的輸入,則網絡的輸入層的單元個數便確定為3個,根據所達到的識別要求,對木材的十種缺陷進行有效識別,選擇輸出層單元的個數十個,即每個單元的輸出代表一種缺陷類型,這樣便確定了網絡的輸入和輸出層單元數目,再根據這兩個數據確定中間層(隱層)單元數。

⑵ 隱層的設計

1989年,RobertHeeht-Nielson證明了對于任意在閉區間內的一個連續函數都可以用含一個隱層的BP神經網絡來逼近,因而一個單隱層的BP神經網絡可以完成任意的n維空間到m維空間的映射,隱層神經元數目選擇是一個十分復雜的問題,往往需要根據設計者的經驗和多次試驗來確定,不存在一個理想的解析式來計算。

⑶ 初始值的選取

由于系統是非線性的,初始值對于學習能否達到局部最小和是否能夠收斂的結果關系很大。一個重要的要求是:初始值在輸入累加時使每個神經元的狀態值接近于零,權值一般取隨機數,要比較小。輸入樣本也同樣希望進行歸一化處理,使那些比較大的輸入仍落在傳遞函數梯度大的地方。

⑷ 傳遞函數的選擇

BP神經網絡傳遞函數必須是可微的,根據網絡的要求和所要達到的網絡輸出目的,選擇網絡中間層的傳遞函數為s形函數,它主要根據值的大小作出運算和判斷,它的輸出性質與所要求的網絡輸出具有相同的性質。

⑸ 網絡學習算法的構成

木材缺陷的識別應用BP神經網絡模型,網絡訓練采用梯度下降法,使輸出誤差最小,直到滿足給定的精度要求。利用圖像處理模塊部分構成網絡的輸入特征量,即把缺陷的灰度均值、灰度方差和形狀的長寬比作為輸入向量{xl、x2、x3)選擇值。這一步也就是向神經網絡輸入的待識別圖像的數字特征通過計算機利用一定的算法對這些數字化特征進行分類。當神經元的非線性函數是s型時,由神經元組成的前傳型網絡的傳遞函數是連續可微的,故誤差反向傳播算法可以用LMS法則進行。

⑹識別網絡的系統模型及構成

板材表面特征通常是表現為存在表面缺陷和無表面缺陷兩種情況,所以適合選用兩級神經網絡板材表面缺陷檢測模型。一級神經網絡用于檢測圖像是否存在缺陷,如果存在缺陷,則圖像存入緩沖區,利用二級神經網絡對緩沖區的圖像進行分析處理,如果沒有缺陷,則不保存圖像,直接輸出檢測結果;二級神經網絡根據缺陷圖像特征參數對缺陷進行分類,確定圖像中每個缺陷的位置。

將人工神經網終與有效的特征提取結合起來,有可能獲得更為滿意的識別效果。根據圖像處理模塊分析提取反映缺陷形態的特征向量,這些特征向量既可直接輸入神經網絡的輸入節點,作為網絡訓練或形態識別的參數,也可導入形態識別特征數據庫。另外,為了提高網絡的自適應性,進一步完善識別診斷模型,還可在原有的訓練的網絡基礎上,對神經網絡模型進行再學習。

4.識別結果與討論

訓練后的BP網絡是否滿足需要,必須經過檢驗才能確定。驗證網絡的正確性一般采用與實際樣本數據相比較的方法,即先把驗證樣本的數據經初始化后輸入模型號,經BP網絡模型計算,輸出相應數據,然后將對照樣本的實際值與網絡輸出值相比較,若誤差在允講范圍內,此網絡是可用的,否則要重新訓練。

5.結束語

神經網絡算法識別給傳統模式識別法帶來了巨大的挑戰。它具有記憶、學習和算法多樣等功能,在識別中能夠得到非常準確的識別結果,所以神經網絡識別在對于板材表面缺陷識別這一方面具有可行性和應用價值。由于實驗尚處于對神經網絡開發的初級階段,所選擇的網絡算法((BP算法)是神經網絡算法中比較成熟的算法,它具有構造、學習等比較容易的優點,但它的一些不可克服的缺點卻影響了它在應用中效果。但是這些缺點是可以克服的,神經網絡識別的強大優勢和識別效果是非常吸引人的。應用一些新型的網絡算法,在多次實驗研究的基礎上,可以根據對板材表面缺陷識別的一些特有的要求來構造有利于這一識別的新型網絡,那么神經網絡方法對表面缺陷的識別即可達到優于其它傳統識別方法的性能。所以,神經網絡算法上的改進是今后研究木材表面缺陷神經網絡識別首先解決的工作。

參考文獻:

[1]王業琴等 計算機視覺木材表面色差檢測的研究[J] 林業科技 2005

[2]趙茂程等 基于BP網絡的樹形識別系統研究[J] 林業科學 2004

神經網絡的實現范文5

1986年,rumelhart提出了反向傳播學習算法,即bp(backpropagation)算法。反向傳播bp(back propagation)神經網絡是一種按誤差逆傳播算法訓練的多層前饋網絡,是目前應用最廣泛的神經網絡模型之一[1]。這種算法可以對網絡中各層的權系數進行修正,故適用于多層網絡學習。bp算法是目前應用最廣泛的神經網絡學習算法之一,在自動控制中是最有用的學習算法,它含有輸人層、輸出層以及處于輸入輸出層之間的中間層。中間層有單層或多層,由于它們和外界沒有直接的聯系,故也稱為隱層。在隱層中的神經元也稱隱單元。隱層雖然和外界不連接,但是,它們的狀態影響著輸入輸出之間的關系。也就是說,改變隱層的權系數,可以改變整個多層神經網絡的性能[2]。

1bp 神經網絡模型

bp 神經網絡模型由一個輸入層、一個輸出層以及一個或多個隱含層構成,同一層中各神經元之間相互獨立。輸入信號從輸入層神經元開始依次通過各個隱含層神經元,最后傳遞到輸出層神經元, 圖1給出了包含一個隱含層的bp網絡模型結構,隱含層神經元個數為m。理論研究表明:具有一個輸入層,一個線性輸出層以及sigmoid 型激活函數的隱含層bp 網絡能夠以任意精度逼近任何連續可微函數[3]。

三層感知器中,輸入向量為x=(x1,x2…xi…xn)t,圖1中x0=-1是為隱層神經元引入閾值而設置的,隱層輸入向量為y=(y1,y2…yj…ym,)t,圖中y0=-1是為輸出層神經元引入閾值而設置的;輸出層輸出向量o=(o1,o2, …,ok,ol)t,期望輸出向量為d=(d1,d2, …,dk,dl)t,輸入層到隱層之間的權值矩陣用v表示,v=(v1,v2, …,vj, …vm)t,隱層到輸入層之間的權值矩陣用w表示,w=(w1,w2, …,w,k …wl)t,下面分析各層信號之間的關系[4]。

圖1三層bp網絡

對于輸入層:

ok=f(netk) k=1,2, …,l,netk=∑mj=0wjkyj k=1,2, …,l;

對于隱層:

yj=f(netj)j=1,2, …,m,netj=∑ni=0vijxij=1,2, …,m;

以上兩式中,激活函數都是sigmoid函數。

f(x)=11+e-x,f(x)具有連續、可導的特點且f’(x)= f(x)[1- f(x)]。

根據以上公式,我們可以推導出權值調整量δwjk和δvjk分別是:

δwjk=ηδokyj=η(dk-ok)ok(1-ok)yj,δvij=ηδyjxi=η(∑lk=1δokwjk)yj(1-yj)xi

2智能公交實時調度模型總體設計

公交公司的行車計劃一般在年初就制定完成,調度員根據行車計劃進行調度,遇到節假日、雨天等突況時,就憑調度員的工作經驗調度。因此,可以考慮使用bp神經網絡算法,在智能公交實時調度中加入誤差反向傳播算法,利用誤差反向傳播算法超強的學習能力和泛化能力,通過對公交海量歷史調度數據的學習,建立公交車到達目的站點的預測模型。通過實時gps數據,就可以預測車輛到達目的地的大概時間,為建立智能公交調度提供極大的方便。智能公交實時調度模型如圖2所示。

圖2智能公交實時調度模型

從圖2可以看出,智能公交實時調度模型分為3個主要模塊。

(1)數據處理分析模塊。智能公交實時調度模型的基礎模塊,數據來源于兩個部分:一是公交歷史行車數據,包括發車時間、天氣等數據;二是gps定位系統采集的實時數據,主要是各個時刻采集的運行數據。該模塊根據各預測模型的需要,選擇合理的數據輸入,并對數據進行處理。

(2)預測模型模塊。通過對現有數據的分析、預測,得到車輛到達調度站的運行時間預測結果。

(3)智能實時調度模塊。輸入預測模型可以得到車輛運行時間,根據公交歷史調度計劃以及公交客流數據,可以適當改變當前調度計劃,臨時下達調度指令,為建立與實際客流相結合的調度方法提供決策支持。

(4)基于bp神經網絡的預測模型。公交車輛的運行時間總的來說還是比較固定的,但是有時候會隨著道路擁擠情況、節假日、天氣情況等有所改變。由于神經網絡具備以任意精度逼近連續函數功能,具有較強的自我學習能力和泛化能力,能夠充分體現輸入數據與輸出數據之間復雜的映射關系。因此,本文采用bp神經網絡來預測車輛到達時間。

2.1輸入變量對公交運行時間的影響

把公交車運行時間分

為幾個階段,車輛到達目的地所需要的時間往往與該公交車處于的階段有著某種必然的聯系,根據車輛實時gps數據及車輛運行過程中所處的時間,設ti為公交車實時時間,所以ti在那個階段對車輛運行有直接影響, ti可以根據gps數據實時取得。

車輛位置:車輛在運行過程中所處的位置對公交車到達目的站有著一定的影響,根據gps實時數據,可以計算出車輛離終點站有多少距離,將車輛在ti時刻距調度站的距離作為影響因素。

天氣情況:天氣的好壞對公共汽車的運行產生比較大的影響,一般情況下,公交車在晴天的運行時間要比雨天少,車速比雨天快。

星期情況:從周一到周日,不同日子有著不同的客流,所以星期情況對公交的運行產生一定的影響。

節日:重大節日客流量明顯增多,車輛的運行時間也會有所延長。

2.2變量獲取

bp神經網絡需要大量數據作為輸入、輸出樣本,因此在構建bp神經網絡前,首先要做的工作就是獲取這些數據。利用先進的信息技術,可以獲取公交車輛運行的gps數據,而天氣、星期情況、是否節假日這些變量則可以在大量的歷史數據中獲得。

2.3基于神經網絡的車輛預測模型

預測模型將采用三層bp神經網絡,即一個輸入層,一個隱層以及一個輸出層,輸入層一共有5個變量,分別是時間、車輛位置、天氣情況、星期情況以及節假日。隱含層節點數目一共有11個節點。輸出層為1個節點,采用有導師的學習方法。至此本文建立的bp網絡結構為5×11×1,bp網絡結構如圖3所示。

圖3bp神經網絡結構

bp神經網絡的車輛運行時間測算模型如圖4所示。

其中:t 為當前時刻,w(t-t),當前時刻t之前t時刻神經網絡輸入層與隱層以及隱層與輸出層之間的權值矩陣。

f(t):車輛從起始站到當前時刻車輛的運行時間。

f’(t):預測樣本的輸出時間。

xi(t):t時刻的第i個輸入向量,i∈[0,1],其中xi為車輛在t時刻到達調度站的距離的輸入向量,x2為天氣情況輸入向量,x3為車輛運行所處的星期輸入向量,x4為車輛運行當天是否節日的輸入向量,x5為gps采集數據的時刻向量。

圖4bp神經網絡的車輛運行時間測算模型

2.4樣本數據取值及歸一化方法

(1)gps定位數據。在車輛運行過程中,對車載gps數據進行采集,采集完成后通過一定的方法進行計算,從而得出車輛離到達站的距離,設該距離為一對一使用歸一化處理,使得轉換后的數值就落在(0,1)上。

(2)天氣情況。在一段時間內,公交車會碰到不同的天氣,不同的天氣對公交的運行產生不同的影響。我們把天氣進行分類,一共分為7種狀況,分別是大雨、小雨、雪、大霧、小霧、晴天和陰天,用不同的數字來表示這7種天氣情況。

(3)星期情況。對于不同的星期采用不同的分類方法表示,從星期一到星期日也采用不同的數字表示。

(4)節假日。節假日可以用布爾變量來表示,true是節假日,false為非節假日。

3結語

國內大多數公交調度優化研究都是著眼于靜態調度,而本文將研究重點放在了實時調度方面,在智能公交實時調度中加入bp神經網絡技術,用誤差反向傳播算法超強的學習能力和泛化能力,通過對公交海量歷史調度數據的學習,建立公交車到達目的站點的預測模型。通過實時gps數據,就可以預測車輛到達目的地的大概時間,為建立智能公交調度提供極大的方便。

參考文獻參考文獻:

\[1\]李翔,朱全銀.adaboost算法改進bp神經網絡預測研究[j].計算機工程與科學,2013(8).

神經網絡的實現范文6

關鍵詞:卷積神經網絡 現場可編程門陣列 并行結構

中圖分類號:TP183 文獻標識碼:A 文章編號:1007-9416(2015)12-0000-00

1 引言

卷積神經網絡(Convolutional Neural Network, CNN)具有良好的處理能力、自學能力及容錯能力,可以用來處理復雜的環境信息,例如,背景情況不明,推理規則不明,樣品存有一定程度的缺陷或畸變的情況。所以,卷積神經網絡被廣泛應用于目標檢測、物體識別和語音分析等方面[1]。現場可編程門陣列(Field Programmable Gate Array, FPGA),作為可編程使用的信號處理器件,其具有高集成度、運行高速、可靠性高及采用并行結構的特點,易于配合CNN處理數據。

2 國內外研究現狀

2.1 神經網絡的模型結構

根據研究角度、數據傳遞方式、數據處理模式、學習方法等的不同,多種神經網絡模型被構建出來。目前主要有四種模型被廣泛應用中[2][3]:

(1)前饋型神經網絡。此類神經元網絡是由觸突將神經原進行連接的,所以網絡群體由全部神經元構成,可實現記憶、思維和學習。此種類型的網絡是有監督學習的神經網絡。(2)遞歸型神經網絡。此種神經網絡又稱為反饋網絡,以多個神經元互相連接,組織成一個互連的神經網絡,使得電流和信號能夠通過正向和反向進行流通。(3)隨機型神經網絡。此種神經網絡的運行規律是隨機的,通過有監督學習方法進行網絡訓練。(4)自組織競爭型神經網絡。此種神經網絡通過無監督的學習方法進行網絡訓練,一般具有兩層網絡結構,輸入層和競爭層。兩層間的各神經元實現雙向全連接。

2.2 神經網絡的學習方法

神經網絡的學習方法用來解決調整網絡權重的問題,是指完成輸入特征向量映射到輸出變量之間的算法,可以歸納為三類[4-7]:

(1)有監督的學習。在學習開始前,向神經網絡提供若干已知輸入向量和相應目標變量構成的樣本訓練集,通過給定輸入值與輸出期望值和實際網絡輸出值之間的差來調整神經元之間的連接權重。(2)無監督的學習。此種學習方法只需要向神經網絡提供輸入,不需要期望輸出值,神經網絡能自適應連接權重,無需外界的指導信息。(3)強化學習。此種算法不需要給出明確的期望輸出,而是采用評價機制來評價給定輸入所對應的神經網絡輸出的質量因數。外界環境對輸出結果僅給出評價結果,通過強化授獎動作來改善系統性能。此種學習方法是有監督學習的特例。

2.3 卷積神經網絡的結構

卷積神經網絡為識別二維或三維信號而設計的一個多層次的感知器,其基本結構包括兩種特殊的神經元層,一為卷積層,每個神經元的輸入與前一層的局部相連,并提取該局部的特征[8];二是池化層,用來求局部敏感性與二次特征提取的計算層[8]。作為部分連接的網絡,最底層是卷積層(特征提取層),上層是池化層,可以繼續疊加卷積、池化或者是全連接層。

3 FPGA實現神經網絡的并行體系結構

(1)卷積神經網絡的計算架構。卷積神經網絡可以使用“主機”與“FPGA”相結合的體系模型,主機用來控制計算的開始和結束,并在神經網絡前向傳播計算過程中,提供輸入圖像等數據。主機與FPGA之間的通信可以通過標準接口,在主機進行任務分配的過程中可以對FPGA上的卷積神經網絡進行硬件加速。當卷積神經網絡開始啟動計算,通過標準接口接收到主機傳輸的圖像時,FPGA開始進行計算,并且使用FPGA中的存儲器來存儲卷積核權值。FPGA將會先完成卷積神經網絡前向傳播過程的計算,然后將其最后一層計算得到的結果輸出給主機。(2)卷積神經網絡并行體系架構。一、單輸出并行結構:每次計算一個輸出圖像,其中會將多個輸入圖像和多個卷積核基本計算單元同時進行卷積運算,然后將全部卷積運算的結果與偏置值進行累加,再將結果輸入非線性函數和自抽樣子層進行計算。二、多輸出并行結構:若卷積神經網絡的計算單元中含有多個單輸出的并行結構,那么輸入數據可同時傳送到多個單輸出計算單元的輸入端,從而組成多個單輸出計算單元組成的并行結構。在卷積神經網絡的并行計算結構中,每個卷積核計算單元在進行卷積操作時都要進行乘加運算,所以,有必要將單個的卷積運算拆分實現并行化,并且可以嘗試將同一層內的多個卷積運算進行并行化。

4 結語

本文對卷積神經網絡進行了介紹,總結了國內外的研究現狀,結合卷積神經網絡運算的特點與FPGA的快速計算單元數量及功能方面的優勢,嘗試闡述了在FPGA映射過程的卷積神經網絡的并行體系結構。

參考文獻

[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].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] 戴奎.神經網絡實現技術[M].長沙:國防科技大學出版社,1998.

[6] 焦李成.神經網絡系統理論[M].西安:西安電子科技大學出版社,1996.

亚洲精品一二三区-久久