?

基于RNN的故障預測算法及在GIS上的應用

2021-01-07 04:55張子賢苗紅霞
計算機測量與控制 2020年12期
關鍵詞:神經網絡預測信號

張子賢,李 敏,苗紅霞,孫 寧

(1.河海大學 物聯網工程學院,江蘇 常州 213022;2.國家電網江蘇省電力公司檢修分公司,江蘇 常州 211100)

0 引言

如今,為了滿足設備運行的高效性與可靠性,針對設備定期維護和故障發生后才維修等傳統方法的不足,故障預測在工程設備的維修與監測中的重要性逐漸增加。故障預測可以將各傳感器測得的信息,通過一定的理論、算法處理后,推測出故障發展的趨勢,它是比故障診斷更高級的維修手段,如果能在故障發生之前識別到故障發生的可能,從而對設備進行排查,對零件進行更換,可以大大減少故障風險,減少因故障造成的損失,節約資源,降低經濟成本。

由于故障預測是在故障發生之前進行的,所以往往具有故障幅值微小、故障特性不明顯、容易被噪聲掩蓋等特點,相對而言難以被檢測出,因此,對于故障發生前的信號處理與分析是故障預測技術研究的重點。近年來,在該方面的研究很是火熱,王姝等提出了一種結合多元統計技術(MPCA)與AR序列分析的緩變故障預測方法[1],該方法通過建立T2及Q 統計量的自回歸模型,預測下一批次統計量值,將所求值與控制限對比,進而實現漸變故障的預測,但是該方法假設故障的趨勢為線性的,并且每個統計量的預測過程、預測結果是獨立的,對于非線性、多耦合的數據較難預測;東南大學陸寧云等提出一種多層預測型貝葉斯網絡結構,根據工程系統自身固有的網絡拓撲結構,構建了多層貝葉斯網絡模型,利用定性趨勢分析法將時間信息融入網絡節點中,使得網絡具有處理時序信息的能力,便于進行故障傳播機理分析和故障預測[2],在該算法中需要構建隸屬度函數,通過一定的先驗知識去構造隸屬度函數,這些先驗知識的精確與否會直接影響該方法的準確性;文獻[3]利用深層神經網絡(DNN)與PCA相結合的方法實現了微小緩變故障早期診斷及壽命預測;文獻[4]則提出了一種使用深度卷積神經網絡(DCNN)預測方法,然而,上述兩種神經網絡結構由于沒有對應狀態變量的神經元,因此難以存儲之前時間的信息。

近年來,隨著計算機計算能力的提高,人工神經網絡的層數越來越多,深度學習的研究與應用也日益增加。深度學習的本質是特征提取,即通過組合低層次的特征形成更加抽象的高層表示,以達到獲得最佳特征的目的。具體應用可以抽象為將原始數據、信號作為低層次的特征送入神經網絡,把人們想要得到的信息作為高層表示的過程。在深度學習的應用上,循環神經網絡(RNN)主要用于與時間序列相關的數據,比如自然語言的處理、疾病預測等等,并體現出了良好的擬合能力[5-8]。故障預測與語言處理和疾病預測相似,各種設備的傳感器信號大多為時間序列,當前時刻的信號值與之前的信號值有不可分割的聯系,因此,在判斷設備狀態時僅僅關注當前信號是不夠的,還要考慮傳感器之前信號的狀態,這樣才能最大程度的挖掘出時間序列數據所蘊含的信息。

另一方面,對于大多數工程系統而言,從系統安裝運行到出現異常的正常工作階段,監測得到的數據一般比較平穩,沒有明顯的趨勢出現,而一旦發生故障,所監測的數據則會發生劇烈變化,如發動機、氣輪機、旋轉機械等的振動幅值信號,都具有這樣的特點,其故障劇烈程度近似于指數函數。出現異常的時間點一般被稱為異常點,對于異常點的確定是故障預測中較為關鍵的一環,異常點確定過早,會導致誤判發生,而過晚則失去了故障預測的意義。關于異常點的檢測,文獻[9]介紹了貝葉斯、廣義貝葉斯、極大極小值等方法,然而這些方法沒有自學習能力,并且假定數據的分布符合某種規律,比如高斯分布,而現實情況下的數據往往并不符合這些特殊的分布,因此這些方法在實際工程中難以應用,為了解決該問題,在此,應用了一種逐步逼近的神經網絡訓練方法。

1 基于RNN的故障預測算法

1.1 整體算法流程

基于RNN的故障預測算法整體流程如圖1所示,該算法主要由數據處理模塊與RNN網絡識別模塊構成。數據處理模塊用于對傳感器輸出信號進行處理,而RNN網絡識別模塊用于對經過處理的輸入信號進行故障預測的操作。

圖1 整體算法流程圖

在數據處理模塊中,先對所采集的歷史數據進行處理;再使用數學函數賦值的方法來構造待訓練RNN模型的訓練與測試樣本。

在RNN網絡識別模塊中,首先確定RNN模型結構;然后使用RNN模型進行異常點檢測,為訓練樣本數據貼上標簽;再使用數據處理模塊構建的訓練樣本對RNN模型進行訓練,調整模型參數,確定故障預測模型;最后將數據輸入RNN模型對設備進行故障預測。

1.2 數據處理模塊

通常,使用循環神經網絡進行預測前,對于傳感器采集的數據都需要先進行特征提取。若構建特征提取模型進行特征提取,不僅費時費力,而且會延緩識別速度,給識別帶來困難,因此,這里采用數學函數賦值的方法來構建輸入矩陣,對輸入數據進行處理。

首先采集設備多種傳感器上較長時間內的各種信號數據,作為歷史數據,并對這些歷史數據進行采樣。接著通過數學函數賦值的方法構造待訓練RNN模型的訓練樣本數據,并使用相同的方法構造測試數據。

數學函數賦值的方法為:

對于裝置中的信號,設置k個傳感器采集不同的信號,并將采集到的k個信號波形函數a(1,t)到a(k,t)中的若干采樣點提取到一個多維矩陣b中,該矩陣的每一列代表一個樣本,假設總共有n個樣本。矩陣為:

其中:b是輸入矩陣。函數a(1,t)到a(k,t)分別是k個傳感器波形函數,t是歷史數據的時間。X是歷史數據的起點。該方法可以根據設備的故障特征確定輸入矩陣形式。

1.3 RNN網絡識別模塊

1.3.1 循環神經網絡

由于各種原因,傳感器采集到的數據會夾雜噪聲信號,而數學方法如貝葉斯和極大極小原理等需要精確的數據才能得出較為可靠的預測結果,因此需要一種不易被噪聲信號影響的算法。循環神經網絡能夠通過學習歷史數據來區分噪聲信號與故障信號,RNN可以在迭代的訓練過程中,不斷調整參數,直到滿足精度要求。因此它在解決時間序列問題的實際使用過程中有更高的預測精度。

在傳統的前饋神經網絡(FNN)中,神經元的信息傳遞是通過網絡層與網絡層之間的單向傳遞完成的,此模式使得FNN變得更容易學習,但在一定程度上也削弱了FNN模型的能力。在實際情況中,輸出不僅和當前輸入相關,也有可能和上一個時刻的輸出相關。循環神經網絡(RNN)是FNN的一種改進體,是一類具有短期記憶能力的神經網絡。RNN形成的環路的網絡結構,使得神經元既可以接收到其他神經元的信息,也能接收到本身的信息。所以,相比之下,RNN在處理與時序數據相關的預測問題時有著比FNN更明顯的優勢。在實際應用中,需要根據故障模型構建合適的RNN網絡結構,并需要兼顧快速性、魯棒性與準確性。

FNN的訓練過程通過后向傳播算法(BP)來實現,而RNN可以被看作是一個展開的多層FNN,這樣就需要依次在時間維上疊加對后向傳遞的結果。

假設輸入RNN的是長度為T的序列X,并且RNN的輸入層、隱含層與輸出層的神經元個數分別是為I、H與K。

那么RNN前向傳播算法公式如(1)~(3)所示:

(1)

(2)

(3)

對于RNN的時間后向傳播算法,首先要定義損失函數對神經元j在時刻t輸入值的偏導數,如式(4)~(6)所示:

(4)

(5)

(6)

從RNN的訓練過程可以看出,RNN能夠對輸入數據的序列特性進行“記憶”,因此更適合于解決時間序列問題[10]。

1.3.2 異常點檢測

通常,神經網絡訓練時需要使用大量的帶標簽樣本,而獲取大量有標簽樣本不僅耗費人力物力,難度也較大。因此,這里使用一種逐步逼近的神經網絡訓練算法——異常點檢測算法來對故障數據樣本給定標簽。使用該算法能夠在短時間內獲得樣本的標簽,能夠提高效率。

圖2 故障信號變化過程

大部分故障信號變化通常不是突然的,而是漸進的、緩慢的過程,如圖2所示,A點稱為故障趨勢起始點,在此之前,設備狀態是健康的,A點表示故障趨勢開始的時間,此時故障信號會有微小的變化,但設備仍能正常運行。到B點時,故障信號已經達到故障閾值,并且故障信號的變化開始由平緩趨于劇烈,設備將受到損壞。因此在建立故障模型時,可以使用指數函數來近似表達故障嚴重程度?;赗NN的故障預測算法針對這一故障變化趨勢建立了指數型故障預測模型,并利用異常點檢測算法對樣本數據進行反復迭代,從而逐次逼近得出故障發生前信號微小變化的時間,進而達到對設備故障進行預測的目的。

實際應用中,在故障信號有微小的變化的時候檢測出故障趨勢起始點A,接著檢測故障真正發生的點B,在T=B-A時間段對應的樣本貼上[0.1-1]的標簽。異常點檢測流程如圖3所示,具體做法為:

1)確定輸入輸出向量,建立RNN,確定神經元數目和隱藏層層數。

2)確定第一次訓練的假想異常點v1。

首先根據經驗選取異常點時刻v,且v點在時間上要偏晚,以確保有故障趨勢發生,v點與故障趨勢起始點A之間的一段時間稱為時間裕量M,將數據輸入RNN模型進行訓練。第一次訓練時,時間裕量M內的數據不放入RNN模型進行訓練。

圖3 異常點檢測流程圖

3)用函數P(t)對數據進行賦值。

從異常點v1到故障發生時刻B,按照式(7)利用函數P(t)對其進行賦值,故障模型時域為T=B-v1。

(7)

假定選定從v1時刻開始,將異常時刻v1的輸出值用P賦值,并令P值的變化與實際故障的變化趨勢相同,都是由平緩趨于劇烈的指數函數形式。留出時間裕量M的原因是真實的異常點A處于該時間段M內,此時并不能給出該段時間內的恰當的P值,因為不管P值超前或者滯后,都意味著在v-A這段時間中的數據會得到錯誤的P值。

由于猜想的異常點v是偏晚的,所以實際的P值要比公式(7)中的結果大一些。按式(8)對式(7)進行修正:

(8)

其中:自變量t表示從出現故障趨勢開始后的時間,B表示故障發生的時刻,v表示最終更新的異常點時刻。

5)將訓練數據放入網絡進行訓練,測試并觀察輸出值,調整網絡權值。

第一次訓練完成后,RNN網絡已經具有初步的故障預測能力,再放入數據,測試并觀察輸出值。

8)停止更新v值,此時的v值已經無限接近于故障趨勢起始點A的時刻,再根據最終的v值訓練神經網絡??梢?,此過程是一個逐次逼近的過程。

檢驗是否為故障趨勢起始點可依據式(9)進行,待定時間點的輸出值Pd若大于設備健康狀態時的輸出平均值相,則為故障趨勢起始點。

(9)

其中:Pd為待定點輸出值,Pk為k時刻健康狀態輸出值,s為比例系數。為防止將健康狀態誤判為具有故障趨勢的點,通常將s設定為略大于1,n為數據數目。

1.3.3 故障預測輸出

對于不同的設備,故障類型的數目不同,因此預測輸出的矩陣維數也不同。假設用于故障預測的設備有k種不同的故障類型,即a,b,c,,k,那么最終的預測輸出為:

其中:矩陣a,b,c到k的行表示預測的當前設備故障類型的概率。a,b,c,,k的值越接近1,故障發生的可能性就越大,i代表在不同時刻的狀態及當時故障預測的結果。

2 基于RNN的故障預測算法在GIS上的應用

本次氣體絕緣開關(GIS)信號取自某電廠,取其在190天內傳感器采集的振動信號與局部放電信號作為歷史數據。在數據處理模塊中,使用數學函數賦值方法建立的樣本矩陣為:

將振動信號與局部放電信號數據錄入Matlab,并繪制波形,如圖4和圖5所示。當t=120天時,故障未發生,但開始有微小的信號變化;當t=140天時,故障發生??梢钥闯?,故障發生后,t>140天時,信號變化較為明顯;當120天

圖4 振動傳感器信號

圖5 電流傳感器信號

在RNN識別模塊中,首先要建立故障預測模型。在最終確定RNN網絡結構之前,分別嘗試過使用不同層數的RNN網絡、改變每層的神經元數量等來進行訓練。訓練結果顯示,網絡最終輸出的準確性以及響應速度與RNN網絡的結構關系很大。當每層神經元數量增加到20個時,訓練耗時會增加,然而精度的提高卻不甚明顯。而當把RNN網絡層數增加到8層時,網絡訓練時間上升到13 s,訓練進行了27次重復訓練,訓練精度雖有所提高,但耗時大大增加。因此,確定RNN網絡結構時需要綜合考慮快速性與準確性。

因為振動與電流信號并不非常復雜,信號類型不多,因此選用的RNN結構相對簡單。選用的RNN由一個輸入層、四個隱含層和一個輸出層構成。

將時間在40~135天內的數據作為異常點可能存在的區間,此區間的數據不放入網絡訓練。對故障發生前5個天的數據進行賦值,將賦值后的數據放入網絡訓練后,重新將所有數據放入網絡測試,訓練效果如圖6所示。

圖6 數據重新標簽前訓練效果

由圖6可見,整個RNN網絡的訓練過程一共耗時1 s,訓練期間重復了29次。在第23次訓練時,得到了最好的訓練效果。訓練后得到的結果如表1所示。

表1 時間裕度 M1=5時的輸出

由表1可知,健康狀態的輸出均值為0.029 4,取比例系數s=1.3,可以看出時間在131~135的5個數據中,有3個滿足式(9),于是將時間在131~140的數據重新標簽,并用于網絡訓練。重新將所有數據進行測試,訓練結果如圖7所示。

圖7 數據重新標簽后訓練效果

由圖7可見,此次訓練的最小均方誤差比第一次小,并且在訓練過程中不斷收斂,取得了較好的效果。訓練結果如表2所示。

表2 時間裕度M2=10時的輸出

圖8 最終預測結果

此時126~130天的輸出均滿足式(9)。將數據重新標簽后,再次訓練并測試網絡,直到找出真正的異常點時刻T=120。最終的預測結果見圖8,橫坐標是時間,縱坐標是P值??梢钥闯?,在t<120時,可以認為P為0;當t>120時(故障趨勢開始),P值開始變大,直到t=140(故障發生時),P值到達1,網絡能很好地分辨出t=120前后的健康狀態和之后的異常狀態。

3 結束語

針對設備極其微小的故障趨勢,設計了基于RNN的故障預測算法。通過在GIS上應用,驗證了該算法對時間序列數據具有強大的擬合能力,訓練后的系統能在故障發生前給出故障發生的概率,準確地預測故障類型,實現了故障預測功能。

猜你喜歡
神經網絡預測信號
無可預測
基于神經網絡的船舶電力系統故障診斷方法
選修2-2期中考試預測卷(A卷)
選修2-2期中考試預測卷(B卷)
選修2—2期中考試預測卷(A卷)
MIV-PSO-BP神經網絡用戶熱負荷預測
基于改進Hopfield神經網絡的對地攻擊型無人機自主能力評價
完形填空二則
基于神經網絡的中小學生情感分析
信號
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合