陳子兆,矯文成,孫慧賢,李月武
(陸軍工程大學石家莊校區,河北 石家莊 050003)
故障診斷[1]是指在系統運行過程中,通過各種監測手段判別其工作是否正常,分析指出系統當前所處的狀態,便于管理人員維修的一種技術診斷方法分為基于圖論的方法[2]、基于專家系統的方法[3]、基于解析模型的方法[4]、基于數據驅動的方法[5]等。基于深度置信網絡的故障診斷方法便是基于數據驅動方法中較為常用的一種。
深度置信網絡(deep belief network)是一種具有高維數據訓練能力的多層神經網絡模型[6]。其通過訓練多層限制波爾茨曼機(restricted boltzmann machine)對輸入數據特征進行學習和識別,已成功應用于文本檢測[7]、序列預測[8]、情感分析[9]等領域。在故障診斷[10]領域,基于深度置信網絡的故障診斷方法也已經在模擬電路[11]、機械軸承[12]、風力電機[13]等方向展露風采。美中不足的是,該故障診斷方法仍存在著諸多關鍵問題亟待解決,其一是深度置信網絡(DBN)出現過擬合后,導致故障診斷的準確率下降的問題,目前較好的解決方法是Hinton教授提出dropout策略[14-15]和添加稀疏正則項[16]策略;其二是訓練小樣本數據時,網絡模型訓練不充分導致準確率低的問題,現階段主要有遷移學習、強化特征提取、重復訓練數據集、增加數據集數據量等解決方案。
遷移學習也稱為歸納學習,是將某個領域上學習到的知識應用于不同但相關的領域中的一種學習策略,文獻[17—19]中便成功將遷移學習應用于小樣本數據集上。但是由于無法確定遷移學習中原域和目標域的界限,所以遷移學習在故障診斷中的應用也十分有限。在強化特征提取的解決方案中,文獻[20]受神經科學啟發,在深度置信網絡中添加一層膠質細胞層,強化相鄰的隱藏層神經元的激活概率,從而優化學習過程中的關聯性和特征提取能力。
針對深度置信網絡對小樣本故障數據集故障診斷時準確率低的問題,本文提出了基于改進深度置信網絡的故障診斷方案。
受限玻爾茲曼機(RBM)作為深度置信網絡模型的基本單位,是由可視層v和隱藏層h構成的雙層神經網絡。類似于熱動力學,其能量函數定義為:

(1)
式(1)中,θ=[Wij,ai,bj]分別表示可視層與隱藏層之間網絡權重、可視層偏置和隱藏層偏置,n為可視層節點數,m為隱藏層節點數。
限制玻爾茲曼機的本質是一種概率生成模型,可見層與隱藏層的聯合概率分布和可見層的概率分布可表示為:

(2)
由此可以推導出隱藏節點的激活概率與可視節點重構激活概率分別為:

(3)
而傳統的深度置信網絡模型(圖1)是由多層限制波爾茨曼機堆疊構成的。其在訓練過程中采用了對比散度(CD)算法、貪婪學習算法、梯度下降算法(GD)等方法,訓練目標是使誤差函數最小。深度置信網絡訓練的本質就是求取最大似然概率的過程。

圖1 DBN(3 hidden layer)結構模型圖Fig.1 Structural model of DBN(3 hidden layer)
自適應諧振(adaptive resonance theory)神經網絡是一種無監督學習網絡模型,在學習無標簽數據方面具有較大的靈活性。自適應諧振(ART Ⅰ)神經網絡模型如圖2所示,其中比較層C負責對匹配程度與參考閾值進行比較;識別層R依據比較層的比較結果做出對應的操作,復位信號Reset、邏輯控制信號G1和G2作為神經網絡的控制信號。

圖2 ART Ⅰ結構模型圖Fig.2 Structural model of ART Ⅰ
自適應諧振神經網絡訓練步驟可以分為匹配階段、比較階段、搜索階段和學習階段四個階段,具體訓練流程如下:
1) 匹配階段
當輸入數據X通過比較層C前向傳遞至識別層R時,與識別層R神經元前向權值bij進行匹配度計算:
(4)
選擇具有最大匹配度的競爭獲勝神經元:
(5)
2) 比較階段
使得識別層R中獲勝的神經元j激活,將其相連的反向權值aij與該輸入數據X進行相似度計算:
(6)
因為輸入數據X為二進制數據,N0實際表示獲勝神經元的代表向量與輸入模式向量之間向量同為1的次數。計輸入模式向量中的非零個數為N1。設定門限閾值ρ,如果兩者比值大于ρ則進入學習階段,否則進入搜索階段。
3) 搜索階段
網絡進入搜索階段,使得競爭獲勝的神經元持續受到抑制,并且重復匹配階段和比較階段,直至大于門限閾值ρ。如果所有神經元都無法滿足要求,則在網絡中增加一個神經元并用該輸入模式向量作為該神經元的代表向量,然后進入匹配階段。
4) 學習階段
學習階段主要是對獲勝神經元的權值向量進行調整,使得再次出現該模式相似的輸入數據時獲得更大的共振和相似度。修改反向權值aij和前向權值bij公式如下:
(7)
自適應神經網絡在學習無標簽數據方面具有極大的靈活性。其通過強化特定神經元的連接權值,使得網絡學習過程中具有相似特征的數據聚成一類,達到對無標簽數據分類的目的。深度置信網絡在學習過程中,通過逐層激活神經元,提取數據深層特征,從而對標簽數據進行學習和無標簽數據進行識別。當面對相同或相似輸入數據時,因為具有相似的有效特征,各隱藏層層激活的神經元應當大致相同。
受到兩種模型的啟發,本文嘗試將自適應諧振神經網絡模型與深度置信網絡模型相結合,將自適應諧振神經網絡的訓練過程與深度置信網絡訓練過程相結合,提出了一種改進的網絡模型ART-DBN,通過利用自適應諧振神經網絡對無標簽數據的學習和分類優勢,強化深度置信網絡隱藏層中相關神經元節點的激活概率,進一步強化深度置信網絡的特征提取和分類能力,最終達到提升深度置信網絡分類準確率,改善網絡訓練效果的目的。
網絡模型整體設計的思路是對相似度較大且差異度大的隱藏層神經元進行權值強化,使得其相似度進一步增大而差異度減少,從而強化對數據特征的提取能力;對相似度較大而差異度較小的隱藏層神經元,因為其激活概率較大且模式代表向量與輸入模式向量類型相似,故而跳過對其權值的調整。
同時為了避免特征向量全1或者全0時出現差異度全局過小而陷入死循環,首先應當對初始化特征代表向量進行0或1的隨機賦值;再者考慮到輸入數據與權值參數的維度和度量上不一致,在相似度度量指標上選取用余弦距離替代歐式距離;最后因為以匹配度為調整指標的網絡模型中,權值參數在調整過程中會使得相似程度和匹配程度不斷增大,最終使得多次權值參數的更新只是針對同一個或幾個神經元,反而導致準確率極度下降,所以我們拋棄了匹配度而選擇差異度作為調整指標,以期對更多的神經元進行優化。
綜上所述,改進網絡模型的RBM結構如圖3所示,在每一層RBM中添加了一層由星形表示的ART層,ART層由與隱藏層節點數相同的ART神經元組成,ART神經元分別與對應的隱藏層節點相連,與可視層神經元節點全連接。對此,符合要求的隱藏層節點便可通過ART層影響整個RBM,進而影響由ART-RBM堆疊構成的ART-DBN。

圖3 ART-RBM結構模型圖Fig.3 Structural model of ART-RBM
深度置信網絡作為一種基于數據驅動的故障診斷方法,能夠自動從復雜的原始故障數據分布中提取有效的特征向量,通過自帶的Softmax分類器對故障類型進行分類診斷。基于數據驅動的故障診斷方法需要在龐大的故障數據支持下才能較好地完成診斷任務,但是在實際應用中,因為設備發生故障的幾率微小,而發生故障時因為設備損壞又難以獲取數據等原因,導致能夠采集得到的故障數據極其稀少,極大程度地影響著故障診斷結果的準確率。因此本文提出了一種基于改進深度置信網絡模型的故障診斷方法,圖4直觀地表示出基于傳統深度置信網絡的故障診斷方法和基于改進深度置信網絡的故障診斷方法的區別。

圖4 兩種故障診斷方法的對比Fig.4 Comparison of two fault diagnosis methods
與基于傳統模型的故障診斷方法相比,改進方法將傳統的DBN模型替換為改進的ART-DBN網絡模型,同時使用改進的訓練規則對整個改進ART-DBN模型進行訓練調優。待改進模型訓練完成后,以優化后的權值參數和網絡結構對輸入的原始故障數據進行特征提取、分類識別,完成對故障類型的識別診斷。
傳統的DBN采用一步對比散度(CD-1)算法訓練RBM模型,在此我們仍遵循Hinton教授在文獻[21]給出訓練RBM的相關建議,同時結合ART神經網絡的訓練規則,提出ART-RBM的訓練規則。
改進的ART-RBM訓練規則如下:
步驟1 輸入訓練數據v1,計算隱藏層激活狀態h1:
h1←sigmoid(Wijv1+bj)
對隱藏層神經元賦值0或1:
ifh1> 0到1之間隨機數
thenh1= 1
elseh1= 0
依據CD-1算法重構可視層神經元:
v2←sigmoid(Wijh1+ai)
對隱藏層神經元賦值0或1:
ifv2> 0到1之間隨機數
thenv2= 1
elsev2= 0
再次計算隱藏層激活概率h2:
h2←sigmoid(Wijv2+bj)
步驟2 根據CD-1算法更新網絡參數:
Wij←Wij+Wv
ai←ai+av
bj←bj+bv
步驟3 計算輸入數據與隱藏層神經元之間的相似度:
選取相似度最優的隱藏層神經元:
Sk←Fmax(Scos(j))
步驟4 選取最優隱藏層神經元的特征代表向量與重構后的輸入向量v2計算差異度:
對滿足不同條件差異度的神經元采取不同的措施:
ifσ>ρ
thenWik←Wik+kασWik
Wi,j≠k←Wi,j≠k-kασWik
dik←dikv2
else拋棄最優神經元,重新搜索
步驟5 重復迭代直至達到最大網路迭代次數epoch。
作為構成ART-DBN模型的基礎單元,改進的ART-DBN訓練規則與傳統DBN訓練規則的流程相似,ART-DBN也是采用貪婪學習算法的方法逐層訓練ART-RBM,而后采用反向傳播算法對ART-DBN模型全局調優。不同的是將傳統的DBN網絡中針對RBM預訓練步驟更新為針對ART-RBM的預訓練步驟。故而基于ART-DBN網絡模型的故障診斷方法如圖5所示。

圖5 基于ART-DBN網絡的故障診斷圖Fig.5 Fault diagnosis based on ART-DBN network
ART-DBN網絡模型通過對原始故障數據的訓練和學習,完成對已知故障類別的識別,然后將待診斷的故障數據輸入網絡模型中,由模型提取待診斷故障數據的特征向量并進行識別診斷,完成對待診斷故障數據的診斷工作。
本章首先在三種網絡公開數據集上,將提出的ART-DBN網絡模型與傳統的神經網絡模型、文獻[17]所提出的改進網絡模型(以下簡稱SP-DBN)等進行對比實驗,以觀察提出的ART-DBN網絡模型的性能優劣;然后將所提出的網絡應用于實際的小樣本數據集故障診斷以檢驗模型的實時性和實用性。
實驗中設定的各項基本參數為:學習率α為0.01,稀疏正則化參數λ為0.000 5,沖量p為0,批訓練量batchsizes在ORL數據集下為30,在MNIST和CIFAR-10數據集下為100,網絡搜索次數epoch在ORL數據集下為1 000次,在MNIST和CIFAR-10數據集下為3 000次。實驗開發環境為Matlab R2015b。
本節首先對所提出的ART-DBN網絡、傳統的DBN網絡和稀疏DBN網絡三種模型在ORL數據集上進行可視化操作,以檢驗三種模型的特征提取能力。實驗一中,三種模型均選取可視層節點數為784和隱藏層節點數為100的RBM網絡結構,模型學習得到的可視化圖形如圖6所示。

圖6 特征可視化圖Fig.6 Feature visualization
從圖6可以看出,三類網絡結構與原圖相比,傳統的DBN網絡模型對特征提取較差,特征點分布的雜亂無章,無法人眼識別出所提取的內容;稀疏的DBN網絡模型對特征提取較好,圍繞著原圖形的亮點出現有規則的分布,人眼對少數圖片能識別出所提取的內容;ART-DBN網絡模型對特征提取最好,特征點基本與原圖形相吻合,人眼大致能識別出所提取的內容。
由此可以得出所提出的ART-DBN網絡模型通過添加ART層強化某一種類型的神經元,使得網絡模型對某一類圖形特征提取的能力顯著提高,能夠較好地學習輸入圖片中所包含的特征數據并且能較完整地還原出原圖形。
MNIST數據集包含10組,每組7 000張,共70 000張手寫黑白照片。本文選取其中每組6 000張照片,共60 000張照片作為訓練數據集用以訓練網絡,選取余下的每組1 000張照片,共10 000張照片作為測試數據集用以測試網絡性能。
在MNSIT數據集下,本小節進行了兩組實驗以驗證ART-DBN網絡模型的優越性。實驗二為雙隱藏層數200,100條件下,不同差異度取值的準確率比較,實驗結果如圖7所示。實驗三為固定差異度條件下,不同雙隱藏層節點數的準確率比較,實驗結果如表1所示。

表1 MNIST數據集上四種模型的準確度

圖7 MNIST數據集上差異度變化圖Fig.7 Different degrees on MNIST
從圖7可以看出,本文提出的ART-DBN網絡模型的準確率始終高于稀疏的DBN網絡模型的準確率,說明了MNIST數據集下改進的DBN較稀疏DBN網絡更加優異,同時可以看出ART-DBN網絡模型在200,100雙隱藏層條件下,準確率處于98%左右。選取差異度σ為0.45,具有一定的代表性。
表1為ART-DBN網絡模型與BP、傳統DBN、稀疏DBN三種網絡模型不同隱藏層數條件下的對比實驗,其中ART-DBN網絡模型中的差異度σ根據實驗四賦值為0.45。從表1中可以看出,BP網絡模型表現最差,稀疏DBN與傳統DBN網絡模型其次,ART-DBN網絡模型表現更為優異。實驗證明了BP神經網絡對于大數據量的學習與分類已不相適應,同時在MNIST數據集上,ART-DBN網絡模型較傳統的DBN網絡模型和稀疏的DBN網絡模型準確率更高。但是由于傳統的DBN網絡模型識別準確率已經達到98%,提升準確率的幅度不是很大。
CIFAR-10數據集包含10組,每組6 000張,共60 000張彩色圖像。本文提取所有彩色圖像RGB三色作為特征數據,可視層神經元節點數為3×1 024個。本文選取其中每組5 000張圖片,共50 000張圖片作為訓練數據集用以訓練網絡,選取余下的每組1 000張圖片,共10 000張圖片作為測試數據集用以測試網絡性能。
在CIFAR-10數據集下,本小節進行了兩組實驗以驗證ART-DBN網絡模型的優越性。實驗四為雙隱藏層數100,100條件下,不同差異度取值的準確率比較,實驗結果如圖8所示。實驗五為固定差異度條件下,不同雙隱藏層節點數的準確率比較,實驗結果如表2所示。
從圖8可以看出,在雙隱藏層數為100,100的條件下,變化差異度的取值,ART-DBN網絡模型較稀疏DBN網絡模型表現略有下降,準確率略有降低。分析原因可能是由于隱藏層數較少,網絡參數的更新調整使得網絡出現的正常范圍內波動。因為CIFAR-10數據集的可視層節點數為3 072,較一般數據集偏多,為此選取差異度為0.35,降低差異度的取值是為了使得ART層更易滿足差異度閾值,從而極大程度對神經元的權值更新調整。

圖8 CIFAR-10數據集上差異度變化圖Fig.8 Different degrees on CIFAR-10
表2為ART-DBN網絡模型與BP、傳統DBN、稀疏DBN三種網絡模型不同隱藏層數條件下的對比實驗結果,其中ART-DBN網絡模型中的差異度σ根據實驗四賦值為0.35。從表2中可以看出,BP網絡模型表現最差,稀疏DBN與傳統DBN網絡模型其次,ART-DBN網絡模型表現更為優異。因為對CIFAR-10數據集的學習,一般的深度神經網絡學習后準確率為50%左右,而BP神經網絡屬于淺層神經網絡,準確率有所下降。實驗證明了通過添加ART層的改進神經網絡較傳統DBN和稀疏DBN在準確率上有所改善。

表2 CIFAR-10數據集上四種模型的準確度
小樣本故障數據集是對軍內某通信控制裝備的正常狀態和六種故障狀態下的時域波形圖采樣1 000點并均值歸一化后得到的數據集,包含7組,每組200~1 000組數據不等,共計4 042組。本文選取每組80%左右數據,共3 470組數據作為訓練數據集用以訓練網絡,選取余下的數據,共572組數據作為測試數據集用以測試網絡性能。
在武器裝備故障數據集下,本小節進行了兩組實驗以驗證ART-DBN網絡模型的優越性。實驗六為固定差異度條件下,不同雙隱藏層節點數的準確率比較,實驗結果如表3所示。實驗七為固定網絡參數條件下,各網絡模型對故障數據集分類準確率上限的測試,實驗結果如表4所示。

表3 故障數據集上四種模型的準確度

表4 故障數據集上準確度的上限
表3為ART-DBN網絡模型與BP、稀疏DBN、SP-DBN三種網絡模型不同隱藏層數條件下的對比實驗結果,其中ART-DBN網絡模型中差異度σ賦值為0.7。從表3中可以看出,本文改進的DBN模型對裝備故障數據集的學習和分類能力強過傳統的BP、DBN網絡模型。但是由于本文未對時域波形圖采取如小波變化等方法的特征提取,所以準確較低。
表4為裝備故障數據集下,五種網絡模型準確率上限的測試實驗結果。通過反復實驗嘗試,得出改進DBN網絡模型的準確率上限為90%左右,較其他四種網絡模型有一定改善,在武器裝備故障診斷領域的表現優于其他四種網絡模型。
為了更好地評價改進的方案,我們引入準確率、召回率、精確率等指標全面衡量其性能優劣。如果以P(Positive)和N(Negative)分別代表真實的正常數據和故障數據的數量,以T(Ture)和F(False)代表模型判斷正確和錯誤的數量,那么TP則表示模型判斷為正常數據,實際也是正常數據的數量;TN則表示模型判斷為故障數據,實際也是故障數據的數量;FP則表示模型判斷為故障數據,但實際卻是正常數據的數量;FN則表示模型判斷為正常數據,但實際也是故障數據的數量。需要說明的是上述三種指標適用于基于二分類的機器學習方法,但在此處我們將所有的不同類型的故障數據統稱為故障數據,因此該指標參數同樣適用于本實驗。
由此即可定義:



實驗八為對上述三種模型在隱藏層為100-40條件下各識別結果的統計,結果如表5。

表5 故障數據集上各模型指標對比表
從表5可以得知:改進模型的召回率為45.45%,精確率為75%。分別與其他兩種模型對比發現,改進模型在召回率上表現最好,說明對于正常樣本,改進模型能起到很好的識別作用,同時計算得出在所有故障樣本中,改進模型識別為故障樣本的比例為95.73%,漏警概率為54.55%,在三種模型中表現最好。通過實驗可以證明小樣本數據集的故障診斷,改進模型性能優于其他兩種模型,一定程度上解決了小樣本故障數據集下網絡訓練效果差的問題。
不可否認的是通過在網絡中額外加入了一層用于強化特征提取的ART層,會導致網絡訓練的時間額外增加,故此又進行了一組實驗以測算改進模型用于故障診斷所耗費的時間。實驗九為在通信控制設備故障數據條件下的網絡訓練耗時測算實驗,實驗結果如表6所示。
從表6可以看出改進網絡模型較傳統模型訓練時間延長了2~3倍,但對于故障診斷領域,適當犧牲訓練時長而換取更好的訓練效果和更高的分類準確率是值得的。

表6 故障數據集上的訓練耗時
本文提出了基于改進深度置信網絡的故障診斷方法。該方法通過將深度置信網絡與自適應諧振神經網絡結合,優化網絡特征提取的能力,提升網絡學習和分類能力以減少網絡訓練對數據的依賴程度,利用ORL,MNIST和CIFAR-10等網絡公開數據集測試改進的深度置信網絡模型的性能,并將改進網絡模型應用于小樣本故障數據集上。實驗驗證結果表明,較基于傳統網絡模型的故障診斷而言,基于改進模型的方法通過添加新的隱藏層,強化了模型特征提取能力,提高了故障診斷的準確率。