羅 毅 趙聰杰 武博翔
(華北電力大學控制與計算機工程學院 北京 102206)
隨著自動化技術水平及計算機技術不斷進步,現在工業系統規模逐步趨向于大型化和復雜化,結構越來越復雜。控制系統中的結構相互關聯耦合,單一部件發生故障時,往往引起連鎖反應,造成重大安全事故[1]。在當前工業系統中,控制系統主要由控制器、執行器、被控對象和傳感器等組成。隨著智能化程度的提高,控制器和被控對象設備的穩定性和可靠性有了顯著的提高,傳感器故障和執行器故障成為控制系統中主要故障,占系統故障的80%左右。傳感器和執行器故障主要為恒增益故障、恒偏差故障、慢漂移故障和卡死等。傳感器和執行器作為控制系統中基本設備,其分布面廣,數量多,且其故障具有隨機性和隱蔽性[2]。目前針對控制系統的故障診斷手段主要還是巡檢等方法,浪費大量的人力和物力,難以及時有效地發現故障并修復故障。因此,建立快速高效的故障診斷系統及時發現故障、處理故障,對保障系統安全可靠的運行具有重要的意義。
目前,故障診斷方法主要為基于知識的方法、基于解析模型的方法和基于數據驅動的方法[3-4]。現階段,人工智能技術在工業過程中大力發展,現場總線控制系統和分布式控制系統在工業控制系統中得到廣泛應用。支持向量機(SVM)[5]、BP神經網絡[6]等基于數據驅動的機器學習算法在故障診斷領域得到大量的應用。1986年,Rumelhar等[7]首次提出自動編碼器(Auto-Encoder,AE)的概念,并將其用于處理高維復雜數據。Hinton等[8]在2006年提出了非監督逐層貪婪訓練的算法,使得棧式自編碼器成為可能。棧式自編碼器在無監督學習中具有巨大優勢,從較少的無標簽數據中,通過自學習提取故障特征,使模型具有強大的表達能力和魯棒性,廣泛地應用于回歸、分類領域。曲星宇等[9]提出Dropout降噪自編碼器來解決數據線性不可分和高復雜度的問題,將該方法應用于磨礦系統故障診斷中,具有較高的分類準確率。洪驥宇等[10]將降噪自編碼器與螢火蟲徑向網絡相結合對航空發動機氣路故障進行診斷,通過實例驗證了算法的優勢。陳仁祥等[11]建立棧式稀疏加噪自編碼器進行滾動軸承損傷程度診斷。孫文珺等[12]提出稀疏自編碼器深度神經網絡實現感應的故障診斷。另外,棧式自編碼器在圖像識別[13]和情感識別[14]等領域也得到廣泛的應用。
本文提出一種基于KPCA-SDAE神經網絡模型的控制系統故障診斷方法。利用KPCA良好非線性數據處理能力和棧式降噪自編碼器強大的故障特征提取能力,實現了控制系統中故障數據特征的有效提取,并通過Softmax分類器實現故障的分類,從而構建了完整的KPCA-SDAE神經網絡故障診斷模型。KPCA-SDAE神經網絡模型,通過較少的故障數據便能夠實現故障數據的深度挖掘,對于控制系統中故障數據少和特征不明顯的情況具有明顯的優勢,極大地提高了控制系統中慢漂移故障診斷的準確率。并通過人為對數據加入噪聲,使網絡模型對輸入信號具有更強的魯棒性。最后通過TE控制系統仿真實驗驗證了該算法的有效性。
核主成分分析是對主成分分析(Principal Component Analysis,PCA)的非線性擴展,PCA是線性的,但工業控制系統中的數據大多數為非線性數據,其對于非線性的數據往往顯得無能為力。KPCA通過核映射的方法,運用非線性函數將數據映射到高維特征空間,再在特征空間中對數據進行線性操作,深度挖掘數據的非線性信息,提取更多特征[15]。
通過非線性映射函數φ(·)將原空間數據X=(x1,x2,…,xm)映射到高維空間得到特征樣本數據Φ(X)=(φ(x1),φ(x2),…,φ(xm)),通過式(1)求得特征向量W=(w1,w2,…,wd):
Φ(X)Φ(X)TW=λW
(1)
式中:λ為特征向量W的特征值。
由式(1)得到式(2):
(2)

將式(2)代入到式(1)并左乘Φ(X)T得到:
Φ(X)TΦ(X)Φ(X)TΦ(X)A=λΦ(X)TΦ(X)A
(3)
令核矩陣K=Φ(X)TΦ(X)得到式(4):
KA=λA
(4)
通過式(4)求取高維空間下的特征值,將求得的特征值進行排序,得到:λ1≥λ2≥…≥λd,取K中最大的d個特征值對應的特征向量,得到核主成分分析后的降維數據,完成特征提取。
自編碼器是一種無監督學習算法,多用于高維數據處理。自編碼器分為兩個部分:編碼器和解碼器[7]。單層自編碼器是一種對稱的三層網絡結構,如圖1所示。

圖1 自編碼器網絡結構

編碼過程可表示為:
h=f(x)=Sf(Wx+b)
(5)
式中:Sf為編碼器的激活函數;編碼器的參數為θ={W,b},其中W為編碼器權重矩陣,b為編碼器偏置矩陣。
解碼過程可表示為:
y=g(x)=Sg(W′x+b′)
(6)
式中:Sg為解碼器的激活函數;解碼器的參數為θ′={W′,b′},其中W′為解碼器權重矩陣,b′為解碼器偏置矩陣。
自編碼器通過訓練數據,不斷修正重構誤差,使得誤差最小化,從而得到最優網絡參數θ和θ′。重構誤差函數表達式為:
J(W,b)=minL(x,y)=minL(s,g(f(x)))
(7)
式中:L(·)表示為損失函數。根據不同數據的形式,損失函數可用平方誤差函數或者交叉熵損失函數,分別如式(8)和式(9)所示,本文模型選用交叉熵損失函數。
(8)

(9)
通過訓練得到隱藏層編碼矢量h,再經過解碼得到重構數據y。如果損失函數與原始輸入x誤差較小,則認為經過自編碼器訓練,對數據實現了重構,學習到復現原始數據的能力,完成故障特征提取。
降噪自編碼器(Denoising Auto-Encoder,DAE)[16]通過在輸入樣本數據中添加噪聲,使樣本部分被破壞,將經過處理的數據作為自編碼器訓練數據,使輸出數據盡可能地復現原始數據。DAE經過編碼器和解碼器的學習重構,使模型獲得的數據特征更具魯棒性,降低對微小擾動的敏感。降噪自編碼器的基本原理如圖2所示。

圖2 降噪自編碼器
SDAE神經網絡將前一層DAE的輸出作為下一個DAE的輸入,經過多層DAE的數據特征提取,能夠有效地挖掘出故障數據之間的關系,使得SDAE具有更加強大的表達能力[11-12]。多層DAE網絡為無監督學習,通過層層特征提取只能輸出為原始數據的重構,為使SDAE具有分類識別的功能,在SDAE最后輸出層加入Softmax分類器。Softmax分類器通過計算給出每個類別的概率,能夠實現多個故障分類,在多分類問題上具有廣泛的優勢[17]。經SDAE提取的特征,作為Softmax的輸入,輸出為故障的類型,其中輸出層中神經元的個數為故障種類數。SDAE神經網絡結構如圖3所示。

圖3 SDAE網絡結構
本文將KPCA與SDAE相結合,KPCA將故障數據映射到高維空間,對其進行主導成分特征提取,經處理后的數據,故障特征更加明顯,輸入到SDAE神經網絡模型中。SDAE神經網絡模型經過無監督訓練獲得隱藏層網絡參數,實現故障特征的檢測,并與Softmax級聯作為整體網絡模型進行有監督訓練,實現系統故障的分類。將KPCA與SDAE相結合,通過KPCA高維映射處理和SDAE神經網絡模型的網絡訓練兩次數據分析處理,能夠有效地提取控制系統非線性故障數據特征,極大地提高了模型對慢漂移故障數據變化的檢測識別能力和故障診斷精度。
針對控制系統故障特性,構建4層神經網絡。其中第1層為SDAE的輸入層;第2層和第3層為隱藏層,通過無監督方式對數據逐層預訓練,獲得初始權重和偏置;第4層為分類層,通過帶標簽數據對整個神經網絡進行有監督的微調,提升SDAE的性能表現。其算法實現流程如圖4所示。

圖4 KPCA-SDAE算法流程
該算法流程主要包括:
(1) 故障數據采集并對數據進行標準化和歸一化預處理,將其值歸一化到[-1,1]范圍內。
(2) 將預處理后的數據進行KPCA處理,將非線性數據映射到高維空間進行主元分析,提取主導成分,實現數據的降維。將數據分為訓練數據和測試數據,作為SDAE的輸入數據。
(3) 設置神經元個數、加噪比例,初始化網絡結構,進行無監督訓練,每一層的輸出作為下一層的輸入,利用批量訓練法隨機選取批量數據進行迭代運算,獲取最優權值W和偏置b。
(4) 以Softmax分類層作為輸出層,根據故障個數確定輸出神經元個數,對數據進行one-hot編碼,通過有標簽數據進行有監督訓練,最后用BP算法對網絡參數進行微調優化。
(5) 將測試樣本輸入到訓練好的SDAE中,輸出故障類型,實現對控制系統的故障診斷。
本文選取TE(Tennessee Eastman)控制系統[18]模型為實驗仿真模型,對控制系統進行故障診斷研究。TE過程是美國Eastman化學公司依據一個實際化工控制系統開發的化工模型仿真平臺,TE過程產生的數據具有強耦合、非線性的特征,能夠有效地測試控制系統故障診斷模型。
TE控制系統中共有53個變量,操作變量為12個,過程測量變量為41個。在41個測量變量中,過程變量為22個,成分變量為19個。TE仿真控制系統中共預設有21種不同的故障,其中故障1-7為階躍故障,故障8-12為隨機故障,故障13為慢漂移故障,故障14-15為控制閥粘住故障,故障16-21為未知故障[19]。每一種故障包含測試數據960組和訓練數據480組。測試數據仿真時間為25 h,每3 min采集一次數據,故障發生在系統運行1 h后;訓練數據仿真時間為48 h,故障發生在8 h后。
本文選取故障1、故障4、故障6、故障10、故障13和故障14共6個故障進行實驗研究。以上6種故障的具體描述見表1所示。

表1 TE過程故障描述
針對這6種故障,每個故障選取480個訓練數據,200個測試數據。SDAE神經網絡模型學習率設置為0.01,加噪比例設置為0.3,輸出神經元為6,批量數據設置為128,每層訓練迭代次數為500次。
激活函數選擇tanh函數,其運算簡單、收斂速度快,在神經網絡中具有很好的擬合效果,其數學形式為:
(10)
損失函數選取交叉熵函數,交叉熵函數刻畫的是真實概率與預測概率之間的距離,在分類問題上具有廣泛的優勢。
優化器選取自適應學習率優化器Adam算法,Adam算法依據訓練次數而自動改變學習率,在實驗中能夠快速地實現梯度下降。
數據的標簽選用one-hot編碼為數據標簽。本文共有6個故障,所以設置向量[1 0 0 0 0 0]表示故障1,向量[0 1 0 0 0 0]表示故障2,以此類推表示系統的故障。
首先對6個故障數據進行KPCA分析處理,提取故障數據的主導成分,故障數據維數降為37,經過處理的后的數據添加0.3倍高斯噪聲作為SDAE網絡模型的輸入。SDAE神經網絡模型每個隱藏層以重構輸入數據為目標進行無監督學習,獲得最優權值W和偏置b,完成故障特征提取。最后將第2層隱藏層輸出數據作為Softmax分類器的輸入數據,利用標簽數據進行有監督訓練。并通過BP神經網絡對整個神經網絡模型進行微調優化,完成模型訓練,最后利用測試數據對訓練好的KPCA-SDAE模型進行故障測試。
為檢驗故障診斷結果,選取BP神經網絡和RBF神經網絡、SDAE神經網絡與KPCA-SDAE神經網絡作對比。RBF神經網絡分類結果如圖5所示。

(a) RBF神經網絡分類輸出
BP神經網絡分類結果如圖6所示。

(a) BP神經網絡分類輸出
SDAE神經網絡分類結果如圖7所示。

(a) SDAE神經網絡分類輸出
KPCA-SDAE神經網絡分類結果如圖8所示。

(a) KPCA-SDAE神經網絡分類輸出
通過四種神經網絡分類結果圖形對比,可以看出四種方法都能夠準確分類故障1,對于故障4、故障10、故障14,RBF神經網絡分類能力較弱。對于故障6,BP有較明顯的錯分情況,準確率較低。錯誤故障分類多集中在故障13上。對于故障分類誤差,RBF的分類誤差較大,多分布在兩類誤差之上;BP相對較小,差距在一類誤差之間居多,SDAE的分類誤差明顯較小且多分布于一類誤差之間,KPCA-SDAE分類誤差個數較少,相對比較分散,相較于SDAE神經網絡、BP神經網絡和RBF神經網絡具有一定的優勢。故本文方法在控制系統故障分類中要優于其他三種方法。為更進一步地將KPCA-SDAE方法與另外三種神經網絡模型進行比較,將三種方法的各故障分類準確率進行分析,如表2所示。

表2 故障分類準確率結果(%)
可以看出,對于故障1,四種算法基本都能準確分類,準確率都在95%以上。對于故障4、故障10、故障14三種故障,RBF神經網絡故障診斷準確率較低,SDAE故障診斷效果較好,準確率最高,BP神經網絡故障診斷準確率高于RBF神經網絡,KPCA-SDAE模型準確率雖然不是最高,但依舊維持在一個較高的水平,能夠準確地識別故障類型。而對故障6的診斷中BP神經網絡準確率要低于RBF神經網絡,RBF神經網絡、SDAE和KPCA-SDAE均達到了100%的準確率,BP神經網絡只有87.68%。針對故障13,三種算法準確率都比較低。故障13為慢漂移故障,特征不明顯,SDAE神經網絡模型難以完成其故障診斷,故障特征較為隱蔽。KPCA通過將故障數據映射到高維空間,在高維空間對其進行線性變換,有效地提取出故障13種故障特征,將處理后的數據輸入到SDAE神經網絡模型中,識別出其微小特征,解決了故障特征不明顯導致故障診斷錯誤的問題。
綜合分析,KPCA-SDAE神經網絡故障診斷準確率優于BP神經網絡、RBF神經網絡和SDAE神經網絡,尤其在控制系統慢漂移故障診斷中,其準確率要遠高于其他三種故障診斷方法。因此,本文提出的KPCA-SDAE神經網絡模型在控制系統中具有更強故障診斷能力和故障診斷精度。
本文提出的KPCA-SDAE模型在控制系統故障診斷中具有較好的性能并通過實驗驗證了該方法的有效性。KPCA具有強大的非線性非高斯數據處理能力,能夠深度挖掘非線性數據的信息,降低數據的維數。經過 KPCA處理的數據故障特征更加明顯,訓練速度更快。SDAE神經網絡方法通過數據降噪能力的學習,使得訓練模型能有效地降低噪聲數據的干擾,增強模型魯棒性。通過實驗結果證明在控制系統故障診斷中KPCA-SDAE神經網絡故障診斷效果最優,雖然SDAE神經網絡方法具有降維的功能,但是其在故障診斷效果并不好,尤其對于慢漂移故障診斷精度相較于SDAE模型有了顯著提高,解決了控制系統中慢漂移故障診斷效果差的問題,驗證了該模型的可行性和優勢。但是KPCA-SDAE神經網絡模型針對的只是已經發生過此類故障的診斷,對于新故障,難以及時有效地進行監測和診斷。如何使模型實現自我更新,提高網絡自適應能力,實現故障的識別與分類,需要進行更深入研究。