羅 毅,趙聰杰,武博翔
(華北電力大學 控制與計算機工程學院,北京102206)
在復雜工業系統中,結構復雜,單一部件發生故障時,往往難以準確地判斷其發生位置,進而可能造成嚴重的安全事故。傳統的基于神經網絡的故障診斷方法[1]多為淺層神經網絡,難以適應當前復雜的工業系統故障診斷需求。
深度學習作為機器學習[2]的一個新發展方向,具有強大的處理復雜數據的能力,能自動學習、提取數據隱含特征,取得了較好的效果,已經在圖像識別[3]、故障診斷[4]等領域取得了快速發展。
本文通過將深度學習理論應用于復雜工業系統故障診斷中,提出棧式降噪自編碼器與核主成分分析算法相結合方法構建深度學習故障診斷模型。并在此模型基礎上進一步對KPCA-SDAE 模型參數進行分析研究[5],通過對不同激活函數和優化器等參數的設置,比較模型測試數據的準確率、訓練速度等結果,得出不同參數設置對KPCA-SDAE 模型的影響,找出模型的最優參數設置。
通過非線性映射函數φ將原空間數據X=(x1,x2,…,xm)映射到高維空間得到特征樣本數據φ(X)=[φ(x1),…,φ(xm)],可得:

通過式(1),求得特征向量W=(w1,w2,…,wd),得到:

將式(2)帶入到式(1)并左乘Φ(X)T得到:

用核矩陣K 代替Φ(X)TΦ(X)得到:

通過式(4)求取高維空間下的特征值和特征向量,進而得到經過核主成分分析處理后的數據。
SDAE 神經網絡由多層DAE 構成,將前一層DAE 的隱含層輸出作為下一個DAE 的輸入,通過DAE 疊加構建深度神經網絡的模型。為了使SDAE 具有分類識別的功能,在SDAE 最后輸出層加入了softmax 分類器,以實現系統故障的分類。
本文先通過KPCA 對數據進行非線性化處理,挖掘數據非線性信息,提取故障特征,降低數據維數,將經過KPCA處理后的數據作為棧式降噪自編碼器的輸入數據。
棧式降噪自編碼器將無監督自學習與有監督學習相結合,進行模型訓練,對訓練好的模型進行微調,提高模型故障診斷正確率。針對復雜工業系統故障特性,本模型為四層神經網絡模型,第一層為輸入層,二、三層為隱含層,第四層為分類層。
本文選取TE(Tennessee Eastman)復雜工業系統[6]模型為實驗仿真模型,對復雜工業系統進行故障診斷研究。選擇TE 系統21 個故障中的6 個故障進行實驗驗證。這6 個故障中包含3 個階躍故障、1 個隨機故障、1 個慢漂移故障和1個執行器卡死故障,每個故障選取880 個訓練數據,400 個測試數據。
損失函數選取交叉熵函數,交叉熵函數在分類問題上具有廣泛的優勢,其數學表達式為:

式(5)中:c 為模型的損失值;a 為預測值;y 為真實值的分類。
數據的標簽選用one-hot 編碼為數據標簽,例如向量[1 0 0 0 0 0]表示故障1,向量[0 1 0 0 0 0]表示故障2,以此類推表示系統的故障。
2.2.1 激活函數的選擇
激活函數選擇不同,模型的正確率也會不同,選用Sigmoid 函數、Tanh 函數、Softplus 函數、Elus 函數以及Relu函數進行模型訓練。
對于不同的激活函數,模型的訓練速度和正確率會有差別,比較了不同激活函數對模型的影響。各激活函數下模型損失值比較結果如圖1 所示。

圖1 不同激活函數下模型損失值變化
由圖1 可看出,以Relu 函數和Tanh 函數作為激活函數的的訓練效果最優,損失值下降速度最快。其中,Elus 函數相比于Relu 函數和Tanh 函數雖有較好的優勢,但損失值的下降速度要低于Relu 函數和Tanh 函數。Softplus 函數和Sigmoid 函數效果最差,難以尋到最優值,在本模型中具有一定的缺陷。
為了進一步驗證激活函數對模型的影響,對各激活函數訓練時間和正確率進行研究,具體如表1 所示。

表1 不同激活函數對模型的影響
表1 中,Softplus 函數的運行時間最長,正確率卻只有91.75%,要低于其他激活函數,Relu 函數作為激活函數,運行時間是225.47 s,其正確率最高。Tanh 激活函數的正確率與Relu 函數接近,但是程序運行時間要高于Relu 函數,Sigmoid 函數的運行時間和Tanh 的運行時間相差不大,但是其正確率要低于Tanh 函數。
綜合圖1 損失值變化情況,Relu 激活函數在KPCASDAE 神經網絡模型中具有較大的優勢,選擇Relu 函數作為模型激活函數。
2.2.2 優化算法的選擇
優化算法代表著深度學習模型的優化方向,不斷逼近最小偏差尋找模型的最優解。常用的優化器有GradientDescent算法、Momentum 算法、Adagrad 算法、Adadelta 算法、Adam算法等。
選用以上5 種優化算法對模型進行訓練,比較各優化函數損失值變化,如圖2 所示。

圖2 不同優化算法下模型損失值變化
由圖2 可以看出Adam 優化函數具有良好的尋優效果。其中,Adagrad 優化算法、GradientDescent 優化算法以及Momentum 優化算法尋優效果區別不大,比較相近,但是Momentum 優化算法在200 輪訓練以后會發生波動,效果變差。Adadelta 優化算法優化效果最差,難以準確快速地尋優。為了進一步比較各個優化算法對模型的影響,對其訓練時間和故障診斷正確率進行比較,如表2 所示。

表2 不同優化算法對模型的影響
由表2 可看出,Adam 算法的正確率最高,準確性方面具有較大的優勢。其中,Adagrad 算法和Momentum 運行時間都是222 s,Adagrad 算法的正確率要低于Momentum 算法,Adadelta 算法和GradientDescent 算法的正確率都在90%以下,在所選擇的這5 個優化算法中具有一定的劣勢,且Adadelta 算法的運行時間最長。綜上所述,Adam 算法的運行時間雖然不是最短的,但其正確率要遠高于其他算法,且通過圖2 也可看出Adam 優化算法在本模型KPCA-SDAE 中的優化效果最好。
綜上所述,Adam 算法和Relu 激活函數在KPCA-SDAE深度學習算法中能夠有效地逼近最小偏差,其模型故障診斷效果最好,參數選擇Adam 優化算法和Relu 激活函數,KPCA-SDAE 模型的性能最好。
本文提出的KPCA-SDAE 模型在復雜工業系統故障診斷中具有較好的性能,并通過TE 過程驗證了不同的激活函數和優化算法對模型正確率和尋優速度的影響。激活函數和優化算法是訓練深度學習模型的重要超參數,模型參數選擇正確與否,對神經網絡模型性能起著至關重要的作用。