?

幾種改進BP算法在電機故障診斷中的分析比較

2010-05-12 03:15王笑宇段廣建
山西電子技術 2010年3期
關鍵詞:內存梯度故障診斷

王笑宇,段廣建

(1.成都理工大學工程技術學院自動化工程系電氣教研室,四川樂山614000;2.太原市煤氣化公司供應處設備科,山西太原030024)

0 引言

對于BP神經網絡,有一個非常重要的定理,是對任何在閉區間內的一個連續函數都可以用單隱層的網絡來逼近。因而一個三層BP網絡就可以完成任意的n維到m維的映射[1],本文采用只包含一個隱層的BP神經網絡對電機發生的故障進行診斷。神經網絡輸入數據是提取相應特征頻率的幅值,輸出是對故障進行相應的編碼。從而建立故障模式與故障原因之間的映射關系,誰發生故障誰的期望輸出位是1,否則為0。根據本文研究的故障診斷對象,是通過對8個特征頻率的檢測來進行分析和診斷的[4,5],因此輸入神經元個數為8個。接下來確定網絡的輸出模式,由于對電機的故障診斷包括4種模式。因此可采用如下形式表示輸出:

無故障(0,0,0,0),匝間短路(1,0,0,0),轉子斷條(0,1,0,0),轉子偏心(0,0,1,0)。所以網絡的輸出神經元個數為4個。因此本文故障診斷采用的BP神經網絡是8-12-4的三層結構。

1 BP網絡算法的一些改進

標準的BP算法和Widrow-Hoff學習規則一樣,是一種梯度下降學習算法,它存在著容易陷入局部極小點,收斂速度緩慢等缺陷[2,3]。這些問題都在一定程度上限制了前饋神經網絡的實際應用。針對標準的BP算法存在的一些不足出現了一些改進學習算法,其中主要有:

動量BP算法(traingdm)、學習率可變的BP算法(traingdx)、彈性BP算法(trainrp)、比例共軛梯度算法(trainscg)、LM 優化法(trainlm)、擬牛頓法(trainbfg)等[6-8]。

本文用這些改進的算法逐一用于網絡訓練,把它們最后的訓練效果進行對比分析。為了便于比較上述幾種改進的BP算法工作性能,采用Matlab7.1神經網絡工具箱中的相關訓練函數進行網絡訓練,并把故障診斷所用BP神經網絡的拓撲結構,輸入樣本,輸出樣本,網絡訓練目標(10-5)、訓練步數(1000)等都設定為一致,僅采用不同的訓練函數。因為訓練函數的選取對誤差有較大的影響[9,10],訓練結果如圖1~圖6所示:

圖1 訓練函數:traingdm

圖2 訓練函數:traingdx

圖3 訓練函數:trainbfg

圖4 訓練函數:trainrp

圖5 訓練函數:trainlm

圖6 訓練函數:trainscg

整理以上的訓練結果,列出下表。

表1 訓練結果

2 改進算法訓練分析

在設定相同的隱層節點數和相同的訓練目標條件下,采用改進的BP算法后,網絡收斂速度明顯加快,訓練次數(Epochs)較小。從以上的表1中看出,當采用訓練函數為traingdm的方法在規定的訓練步數內,網絡訓練不收斂,所以我們不采用traingdm的方法。再進一步比較,可以看出采用trainlm的方法網絡訓練速度最快,誤差滿足要求,其次為trainscg和trainrp的方法,網絡訓練速度也比較快,誤差也滿足要求,而traingdx的方法網絡訓練速度較慢。

因此,可以選用trainlm、trainscg、trainrp作為訓練函數再進一步進行故障診斷分析??梢赃x用一組(30個)已經過歸一化處理的樣本作為檢驗樣本,帶入訓練好BP神經網絡進行測試。測試的結果如下:

(1)采用訓練函數為trainlm:27個樣本診斷正確,所以正確率為:27÷30×100%=90%。

(2)采用訓練函數為trainscg:25個樣本診斷正確,正確率為:25÷30×100%=83.33%。

(3)采用訓練函數為trainrp:25個樣本診斷正確,正確率為:25÷30×100%=83.33%。

從結果上看,采用trainlm的方法,診斷的準確率最高,網絡誤差最小,穩定性比較好,但是由于這種算法在求解網絡連接權值時,涉及到較多的高階矩陣運算,在進行數據運算時占用計算機內存數量較大,其存儲量比其它算法要大[11]。該算法對于中等規模的BP神經網絡具有最快的收斂速度。所以在內存充足的情況下,用trainlm算法比較好。采用trainrp的訓練方法,其訓練速度,也比較快,它不需要存儲網絡權值和閾值的改變量,所以它所需的存儲空間比其它算法相對較小。但它的性能有時會隨著目標誤差的減小而變差。

比例共軛梯度算法trainscg。在共軛梯度算法,需要在每個訓練周期中線性地搜索網絡的調整方向,這種線性的搜索方式在每次的搜索中,都需要多次對所有樣本進行計算,這樣就消耗了大量時間[12]。而比例共軛梯度算法就將模值信賴的算法與共軛梯度算法結合起來,有效地減少了上述的搜索時間,它的內存需求量相對低一些,尤其在網絡規模較大的場合,其性能很好,它不像trainrp算法隨著目標誤差的減小而性能下降。

經過以上分析,得出在內存充足的情況下,用trainlm算法比較好,如果實際應用中的網絡規模太大而且需要占用大量內存,那么可以使用trainscg,其次可選用trainrp算法比較好。針對本文對電機故障診斷的實際情況,由于網絡規模不是太大,所以在討論的幾個BP改進算法中,選用trainlm是比較好的算法。

[1]鄂加強.智能故障診斷及其應用[M].長沙:湖南大學出版社,2006:1-130.

[2]虞和濟,陳長征,張省.基于神經網絡的智能診斷[M].北京:冶金工業出版社,2000:1 -20.

[3]王道平,張義忠.故障智能診斷系統的理論與方法[M].北京:冶金工業出版社,2001:1 -20.

[4]沈標正.電機故障診斷技術[M].北京:機械工業出版社,1996:1-380.

[5]梁霖.基于電流的鼠籠異步電機故障特征提取及自動診斷[D].西安:西安交通大學,2001.

[6]王耀南,孫煒.智能控制理論及應用[M].北京:機械工業出版社,2008:47-51.

[7]張仰森.人工智能原理與應用[M].北京:高等教育出版社,2004:317-334.

[8]楊善林,倪志偉.機器學習與智能決策支持系統[M].北京:科學出版社,2004:160-162.

[9]占玉林,王長耀,牛錚.基于BP網絡的降雨一水位預報模型應用研究[J].中國科學院研究生院學報,2007,24(1):81 -85.

[10]吳志鋼,林中達.運用模糊神經網絡的凝汽器故障診斷系統[J].發電設備,2008(1):70 -73.

[11]盛立,劉希玉,高明.一種新的全局優化BP網絡[J].計算機應用研究,2006(2):211-212.

[12]周開利,康耀紅.神經網絡模型及其MATLAB仿真程序設計[M].北京:清華大學出版社,2005:70-100.

猜你喜歡
內存梯度故障診斷
基于包絡解調原理的低轉速滾動軸承故障診斷
一個改進的WYL型三項共軛梯度法
外部高速緩存與非易失內存結合的混合內存體系結構特性評測
一種自適應Dai-Liao共軛梯度法
“春夏秋冬”的內存
一類扭積形式的梯度近Ricci孤立子
因果圖定性分析法及其在故障診斷中的應用
基于LCD和排列熵的滾動軸承故障診斷
高速泵的故障診斷
地溫梯度判定地熱異常的探討
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合