謝永成,劉磊峰,李光升,魏 寧
(裝甲兵工程學(xué)院控制工程系,北京 100072)
人工神經(jīng)網(wǎng)絡(luò)具有記憶功能和函數(shù)逼近功能[1]。BP 神經(jīng)網(wǎng)絡(luò)在對樣本訓(xùn)練的過程中,通過不斷地調(diào)整連接權(quán)值,從而得到一個輸入與輸出的、存在一定誤差的函數(shù)映射關(guān)系。將大量故障數(shù)據(jù)訓(xùn)練好的網(wǎng)絡(luò)權(quán)值和閾值存儲在故障診斷專家系統(tǒng)的知識庫中,使用的時候讀取相應(yīng)的網(wǎng)絡(luò),就可以進行數(shù)據(jù)的征兆提取。電路板故障征兆獲取的流程如圖1 所示。
在傳統(tǒng)的邏輯判斷中,一個被定義的、可判斷的事物,能用真和假對其進行描述。其中可用數(shù)字1 表示真,數(shù)字0 表示假,這是一種非此即彼的邏輯。

圖1 電路板故障征兆獲取流程
但在現(xiàn)實生活中,有許多事物不能確切地進行描述。例如:電壓值過高,“過高”是一個模糊概念,具體多高沒有一個明確的分界點。為了較為準(zhǔn)確的描述“過高”這一概念,需要用一個數(shù)來反映它隸屬于該模糊概念的程度。對于類似的問題不能用特征函數(shù),但可以用與特征函數(shù)相似的隸屬函數(shù)表征。
定義1:設(shè)A 是論域U 上的一個集合,對于任意的u∈U,令

則GA(u)為集合A 的特征函數(shù),特征函數(shù)GA(u)在u =u0處的取值GA(u0)稱為u0對A 的隸屬度。
定義2:A 是論域U 上的一個集合,μA是把任意u∈U 映射為[0,1]上的某個值的一種函數(shù),即: μA: U →[0,1],u→μA(u)。
其中μA是定義在U 上的隸屬度函數(shù),μA(u)(u∈U)構(gòu)成的集合A 是U 上的一個模糊集,μA(u)被稱為u 對A 的隸屬度。μA把所有的u∈U 中的元素都映射到[0,1]上的某個值μA(u),值越大說明隸屬于A 的程度越高。當(dāng)μA(u)的值僅為0 和1 時,A 就變成一個普通集合,隸屬函數(shù)就變成了特征函數(shù)。
BP 神經(jīng)網(wǎng)絡(luò)具有很強的映射能力,它能對網(wǎng)絡(luò)的輸入輸出進行處理,從實例中獲取知識,用訓(xùn)練好的網(wǎng)絡(luò)連接權(quán)值和閾值,記錄知識。
BP 神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)的特點是信號前向傳播,誤差反向傳播[5]。在前向傳播的過程中,信號經(jīng)過輸入節(jié)點、隱含節(jié)點、輸出節(jié)點,每個節(jié)點都會影響下一個節(jié)點的狀態(tài)。如果得不到期望的輸出,就進入反向傳播,根據(jù)預(yù)測誤差來調(diào)整網(wǎng)絡(luò)權(quán)值和閾值,最終使得網(wǎng)絡(luò)的預(yù)測輸出不斷的逼近期望輸出。BP 神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖如圖2 所示。

圖2 BP 神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
圖2中,X1,X2,…,Xn是BP 神經(jīng)網(wǎng)絡(luò)的輸入值,Y1,Y2,…,Ym是BP 神經(jīng)網(wǎng)絡(luò)的預(yù)測值,ωji和vlj為網(wǎng)絡(luò)權(quán)值。BP 神經(jīng)網(wǎng)絡(luò)可以看作一個非線性的函數(shù),網(wǎng)絡(luò)的輸入值和輸出值可以看作是函數(shù)的自變量和因變量。
BP 神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)規(guī)則的思想為: 對網(wǎng)絡(luò)權(quán)值和閾值的修正沿著表現(xiàn)函數(shù)下降最快的方向,即負(fù)梯度方向[1]。用公式表示為其中,xi為當(dāng)前的網(wǎng)絡(luò)權(quán)值或者閾值矩陣,ai為學(xué)習(xí)速率,gi為表現(xiàn)函數(shù)的梯度。

以三層BP 網(wǎng)絡(luò)為例,輸入節(jié)點xi,隱含節(jié)點yi,輸出節(jié)點zi,輸入節(jié)點與隱含節(jié)點的網(wǎng)絡(luò)權(quán)值為ωji,隱含節(jié)點與輸出節(jié)點的網(wǎng)絡(luò)權(quán)值為vlj,隱含閾值為θj,輸出閾值為θl,當(dāng)輸出節(jié)點的期望值為ci時,模型公式為
1)隱含節(jié)點輸出:

2)輸出節(jié)點輸出:

3)輸出節(jié)點誤差:

式(2)代入式(3)得:

式(1)代入式(4)得:

4)誤差函數(shù)對vlj求導(dǎo)得:

(E 中有多個zm,只有一個zl與vlj有關(guān),zm之間相互獨立)

所以,

輸入節(jié)點誤差:

則:

5)誤差函數(shù)對ωji求導(dǎo)得:

(E 中有多個zl,針對某一個ωji,對應(yīng)一個與所有zl有關(guān),zm之間相互獨立)
其中:

則:


隱含節(jié)點誤差為:

則:

6)權(quán)值的修正:
由于權(quán)值修正Δvlj、Δwji正比于誤差函數(shù)沿梯度下降,則有:

隱含節(jié)點誤差δ'j中的∑δl·vlj表示輸出節(jié)點zl的誤差δl通過權(quán)值vlj向節(jié)點yj反向傳播成為隱含節(jié)點的誤差。
7)閾值的修正:
閾值也是變化的,同樣需要修正。誤差函數(shù)對輸出節(jié)點閾值求導(dǎo):

輸出節(jié)點的閾值修正:

誤差函數(shù)對隱含節(jié)點閾值求導(dǎo):

其中:

所以,

隱含節(jié)點閾值修正:

2.3.1 組建樣本集
組建樣本集是進行神經(jīng)網(wǎng)絡(luò)設(shè)計的基礎(chǔ),電路板故障特征集和故障模式組成了神經(jīng)網(wǎng)絡(luò)的輸入和輸出序列。輸出是代表了神經(jīng)網(wǎng)絡(luò)要完成的功能,對問題進行分類歸納。輸出的表示方法較為簡單,通常用0 和1 表示正常和故障。輸入則需要選擇對輸出影響較大的變量,同時要求輸入之間的關(guān)聯(lián)關(guān)系較小。
2.3.2 隱層數(shù)設(shè)計
單層隱層設(shè)計能夠反映所有的連續(xù)函數(shù),兩個隱含層能夠反映不連續(xù)函數(shù)。對于兩層神經(jīng)網(wǎng)絡(luò),第一層隱含節(jié)點少,第二層隱含節(jié)點多,有利于改善多層前饋網(wǎng)絡(luò)的性能。對于單層網(wǎng)絡(luò),如果增加節(jié)點數(shù)量不能夠達(dá)到明顯的誤差下降,就應(yīng)該考慮增加隱含層數(shù)。
2.3.3 隱含節(jié)點數(shù)設(shè)計
節(jié)點的作用是從樣本中提取知識,并存儲內(nèi)在的規(guī)律,每個節(jié)點都有若干個權(quán)值,每個權(quán)值都是增強網(wǎng)絡(luò)映射能力的一個參數(shù)。節(jié)點數(shù)越少,它獲取信息的能力就差;節(jié)點過多,又會出現(xiàn)“過度吻合”的問題。所以確定節(jié)點數(shù)主要采用經(jīng)驗公式

m 為隱層節(jié)點數(shù);n 為輸入節(jié)點數(shù);l 為輸出節(jié)點數(shù);a 為1 ~10 的常數(shù)。
模擬電路參數(shù)的測試較為容易,但具體的故障判斷就顯得十分困難。以信號放大器電路板(圖3)為例,在獲取其故障征兆的過程其實就是把癥狀空間上的向量映射到故障空間的過程。首先,對輸入數(shù)據(jù)進行預(yù)處理,選取U1,U2,U3構(gòu)建數(shù)據(jù)空間;其次,將得到的數(shù)據(jù)空間通過故障隸屬度函數(shù)獲取數(shù)據(jù)中的不變特征,得到故障模式空間;最后,經(jīng)過神經(jīng)網(wǎng)絡(luò)訓(xùn)練,將故障模式空間映射到故障特征空間。

圖3 放大器電路
采用常用的故障路數(shù)函數(shù)為

其函數(shù)曲線圖如圖4 所示。

圖4 隸屬函數(shù)曲線
取a=1,e=0,t=x0,改變U1和U2放大器輸入電壓值,測試U1、U2、U3三個放大器輸出電壓值,然后將3 個電壓值通過上述隸屬度函數(shù)歸一化到[0,1]上。如表1 所示。

表1 輸出電壓歸一化處理
根據(jù)神經(jīng)網(wǎng)絡(luò)設(shè)計,選取網(wǎng)絡(luò)結(jié)構(gòu)為3—5—3,以第一組和第二組數(shù)據(jù)為訓(xùn)練數(shù)據(jù),用第三組數(shù)據(jù)作為測試數(shù)據(jù),得到表2 中的結(jié)果。
在保證一定精度的情況下,采用BP 神經(jīng)網(wǎng)絡(luò)能夠獲取電路板的故障征兆。通過訓(xùn)練后得到的神經(jīng)網(wǎng)絡(luò)可以適應(yīng)不同故障狀態(tài)下的U1、U2、U3電壓值。得到的故障征兆精度較高,能夠解決故障的判斷問題。

表2 訓(xùn)練和測試數(shù)據(jù)的電壓值
[1]郎榮玲,潘磊,呂永樂.基于飛行數(shù)據(jù)的民航飛機故障診斷專家系統(tǒng)[M].北京:國防工業(yè)出版社,2014.
[2]張鵬.民航飛機故障診斷方法研究[D].天津:中國民航大學(xué),2008.
[3]張景新.專家系統(tǒng)知識獲取方法研究與應(yīng)用[D].北京:北京航空航天大學(xué),2009.
[4]劉陶.基于飛行參數(shù)的故障診斷技術(shù)研究[D].北京:北京航空航天大學(xué),2008.
[5]梁春泉,李崢嶸.基于BP 神經(jīng)網(wǎng)絡(luò)的小麥病害診斷知識獲取[J].微計算機信息,2008,24(5):203-205.
[6]李敏,夏躍武,喬斌.基于STM8 和nRF24L01 的智能車庫門控制系統(tǒng)設(shè)計[J]. 重慶工商大學(xué)學(xué)報:自然科學(xué)版,2014,31(7):81-84.
[7]趙守偉,馬颯颯,吳國慶.基于故障仿真的診斷知識獲取關(guān)鍵技術(shù)研究[J].計算機仿真,2008,25(1):31-35.