鄭修楷,曾憲文
(上海電機學(xué)院電子信息學(xué)院,上海 201306)
風(fēng)力發(fā)電是一種新能源發(fā)電方式,在全球能源緊缺、環(huán)境污染嚴重的情況下,受到了世界各國的高度重視。我國風(fēng)電設(shè)備通常建立在風(fēng)力資源豐富的西北地區(qū)和東南、華北沿海地區(qū),一旦發(fā)生停機事故,一方面維修復(fù)雜,另一方面根據(jù)實際情況,故障會造成3~8天的停機[1],帶來巨大的經(jīng)濟損失??紤]到風(fēng)機設(shè)備的故障機理多為應(yīng)力疲勞的累計,且應(yīng)力負載的累計難以統(tǒng)計和建模,在實際運行維護過程中,往往槳距角發(fā)生明顯的異常后才進行緊急停機處理[2]。
故障預(yù)測技術(shù)通過監(jiān)測設(shè)備的實時運行數(shù)據(jù),在故障發(fā)生之前以一定概率對未來的設(shè)備運行狀態(tài)進行預(yù)估[3],從而做好充分的準備工作,保證風(fēng)電機組的平穩(wěn)運行。目前,故障預(yù)測技術(shù)都是以數(shù)據(jù)為驅(qū)動,對歷史數(shù)據(jù)進行訓(xùn)練,形成對未來運行狀態(tài)的評估。Zhang等[4]運用自組織神經(jīng)網(wǎng)絡(luò)建立故障發(fā)展的描述變量,并對狀態(tài)變量進行跟蹤,從而預(yù)測軸承剩余壽命。馬玉峰[5]提出了一種小波神經(jīng)網(wǎng)絡(luò),利用傳感器檢測數(shù)據(jù)建立故障演變模型,預(yù)測軸承剩余壽命。但這些模型仍屬于淺層學(xué)習(xí)模型,風(fēng)機運行時,各部件之間具有復(fù)雜的耦合關(guān)系,淺層學(xué)習(xí)模型很難表示出其中的關(guān)聯(lián)性。
深度學(xué)習(xí)憑借其強大的特征學(xué)習(xí)能力,已廣泛應(yīng)用于圖像處理、語音識別等[6]各個領(lǐng)域,但目前在風(fēng)電機組故障領(lǐng)域的應(yīng)用較少。文獻[7]將長短時記憶(Long Short Term Memory,LSTM)網(wǎng)絡(luò)用于非結(jié)構(gòu)化文本的故障分類。Wang等[8]利用LSTM進行航空發(fā)動機的故障檢測,保證發(fā)動機正常運行。風(fēng)電設(shè)備各子部件之間相互關(guān)聯(lián)、耦合,使得數(shù)據(jù)存在空間上的關(guān)聯(lián)性,并且時序數(shù)據(jù)當前時刻值與歷史數(shù)據(jù)亦存在時間上的關(guān)聯(lián)性[9],這與LSTM善于處理高維、強耦合、高度時間相關(guān)性數(shù)據(jù)的特點相吻合。由于風(fēng)電機組發(fā)生故障是一個設(shè)備狀態(tài)逐漸演化的過程,具有強烈的時間特性,因此,提出了一種基于LSTM網(wǎng)絡(luò)的故障預(yù)測方法。通過上海電氣集團故障診斷平臺采集數(shù)據(jù),驗證了該模型在故障隨時間序列演變過程中,能盡早地做出預(yù)測,且具有較高的精確度。
傳統(tǒng)的前饋型神經(jīng)網(wǎng)絡(luò),輸入信號只能在相鄰信號源之間進行正向傳播,同層級的神經(jīng)元之間沒有相互連接,因此不能發(fā)現(xiàn)數(shù)據(jù)在時間上的相關(guān)性[9]。而循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)在前饋型神經(jīng)網(wǎng)絡(luò)同層級神經(jīng)元之間引入反饋機制,不僅能使隱藏層神經(jīng)元獲取輸入層的輸出信號,同時也能獲取來自其下一層的神經(jīng)元反饋信號,使得神經(jīng)網(wǎng)絡(luò)在處理數(shù)據(jù)時能獲取數(shù)據(jù)關(guān)于時間的相關(guān)性。
基本的RNN結(jié)構(gòu)可看作同一層神經(jīng)結(jié)構(gòu)在時間序列方向上的連接,形成完整的神經(jīng)網(wǎng)絡(luò)循環(huán)體,如圖1所示。圖中,x t為t時刻的輸入;yt為t時刻的輸出;st為t時刻的隱藏層狀態(tài)。神經(jīng)網(wǎng)絡(luò)在計算輸出值yt時會將當前時刻的隱藏層狀態(tài)傳遞到下一時刻,從而表達數(shù)據(jù)在時序上的相關(guān)性。
圖1 RNN模型圖
RNN的結(jié)構(gòu)比較簡單,相鄰兩個時刻的神經(jīng)元會相互共享隱藏層的信息,如圖2所示。但RNN在時間序列過長時很容易產(chǎn)生梯度爆炸和梯度消失的問題,導(dǎo)致在訓(xùn)練時梯度的傳遞性不高[10],即梯度不能在長序列中傳遞,使RNN無法檢測到長序列的影響。對LSTM神經(jīng)網(wǎng)絡(luò)引入門控機制,提高了網(wǎng)絡(luò)的長期依賴能力,解決了RNN的梯度爆炸和梯度消失問題[11]。
圖2 RNN結(jié)構(gòu)
圖2中,tanh為RNN模型的激活函數(shù),tanh的數(shù)學(xué)表達式為
tanh將輸入數(shù)據(jù)歸算到[-1,1]之間,使RNN模型減少迭代次數(shù)。
LSTM模型訓(xùn)練的關(guān)鍵是細胞狀態(tài)的更迭,ct表示細胞狀態(tài)的這條線水平地穿過圖的頂部。細胞的狀態(tài)類似于輸送帶,其在整個鏈上運行,只有一些小的線性操作,保持信息不變流過整個鏈[12]。而LSTM具有刪除或添加信息到細胞狀態(tài)的能力,這個能力是由被稱為門(Gates)的結(jié)構(gòu)所賦予。門是一種可選地讓信息通過的方式。LSTM單元中,包含3種類型的門控,通過門控對信息存儲和更新,如圖3所示。
圖3 LSTM模型
門控分別為:輸入門、遺忘門和輸出門。每個門結(jié)構(gòu)包含了一個以Sigmoid為激活函數(shù)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其輸出值(表示控制信息傳遞的比例)范圍為0~1。輸出值越小,信息傳遞的比例就越小,從而實現(xiàn)對歷史信息的選擇性遺忘。門控的一般形式可以表示為
其中,
式中:W為輸入向量的權(quán)重;b為輸入向量的偏置。
LSTM決定了上一步輸出結(jié)果st-1的丟失和遺忘。該決定由被稱為“遺忘門”的Sigmoid激活函數(shù)來實現(xiàn)。ft為“遺忘門”的門限,即歷史狀態(tài)ct-1被遺忘的比例,數(shù)學(xué)表達式為
式中:Uf、Wf分別為當前輸入值x t和上一時刻記憶單元中輸出st-1對應(yīng)的權(quán)重系數(shù)。
“遺忘門”決定了對上一時刻信息是否保留。當前輸出值為0時,前一時刻輸出值清除;輸出為1時,上一時刻輸出值保留。
“輸入門”決定了當前輸入值x t有多少被保留在ct之中,實現(xiàn)對狀態(tài)c的更新,其數(shù)學(xué)表達式為
式中:it為經(jīng)σ結(jié)構(gòu)計算當前輸入x t與歷史輸入st-1后輸入數(shù)據(jù)被保留下來的比例;Ui、Wi分別為當前輸入x t與歷史輸入st-1的權(quán)重系數(shù);c~t為當前時刻記憶單元所更新的狀態(tài)值;Uc、Wc為更新細胞狀態(tài)ct時刻輸入x t與歷史輸入st-1的權(quán)重系數(shù)。
“遺忘門”和“輸入門”可以實現(xiàn)對狀態(tài)c的刪除和更新。數(shù)據(jù)經(jīng)過“遺忘門”與“輸入門”之后被保留下來的狀態(tài)數(shù)據(jù)如下:
“輸出門”用來表示隱藏層的輸出,其數(shù)學(xué)表達式如下:
式中:ot為輸出門,決定當前記憶單元(cell)中的信息輸出程度,ot為0時表示數(shù)據(jù)完全不輸出,ot為1時表示數(shù)據(jù)完全輸出;Uo、Wo分別為x t、st-1的權(quán)重系數(shù)。
本文以風(fēng)電機組的齒輪箱為例,基于LSTM建立故障預(yù)測的數(shù)學(xué)模型,流程如圖4所示。其中,包括對歷史數(shù)據(jù)的學(xué)習(xí)和實時數(shù)據(jù)的監(jiān)測。通過經(jīng)驗設(shè)定故障閾值,當模型計算數(shù)據(jù)超出閾值時,發(fā)出故障預(yù)警信號。
圖4 風(fēng)電設(shè)備故障預(yù)測流程
1.3.1 模型構(gòu)建本文以加速度傳感器采樣得到齒輪在正常、磨損狀況下的振動信號。由于輸入信號維度較多,因此選取輸入軸電機側(cè)軸承y1、輸出軸電機側(cè)軸承y2,檢測得到數(shù)據(jù)構(gòu)造模型。模型的輸入為
1.3.2 模型參數(shù)優(yōu)化在LSTM中,參數(shù)的選擇關(guān)系到整個模型的性能,其中超參數(shù)對模型的復(fù)雜性和學(xué)習(xí)能力起著決定性的作用。因此,對其進行優(yōu)化能提高模型的學(xué)習(xí)能力和預(yù)測效果。優(yōu)化參數(shù)如下:
(1)激活函數(shù)。激活函數(shù)能夠給神經(jīng)網(wǎng)絡(luò)加入非線性因素,使得神經(jīng)網(wǎng)絡(luò)可以更好地解決較為復(fù)雜的問題[13]。雖然普遍使用tanh激活函數(shù),但在本模型中使用Softsign激活函數(shù)代替tanh函數(shù),Softsign函數(shù)相比tanh函數(shù),速度更快且不易飽和。Softsign函數(shù)公式為
(2)訓(xùn)練周期。一個訓(xùn)練周期的定義是完整地遍歷數(shù)據(jù)集一次。在訓(xùn)練中,一般應(yīng)讓訓(xùn)練持續(xù)多個訓(xùn)練周期,并將迭代次數(shù)設(shè)為一次。一般僅對非常小的數(shù)據(jù)集進行完整批次的訓(xùn)練時,才會采用大于1的迭代次數(shù)[14]。若訓(xùn)練周期數(shù)量太少,網(wǎng)絡(luò)就沒有足夠的時間選取合適的參數(shù);訓(xùn)練周期數(shù)量太多則有可能導(dǎo)致網(wǎng)絡(luò)對訓(xùn)練數(shù)據(jù)過擬合。
(3)批尺寸。批尺寸定義為一次訓(xùn)練所選取的樣本數(shù),其決定了訓(xùn)練樣本每次訓(xùn)練的樣本數(shù)量,代表控制更新網(wǎng)絡(luò)權(quán)重的頻率。
(4)正則化。正則化方法有助于避免在訓(xùn)練時發(fā)生過擬合。Dropout是一種常見的正則化方法[15],可以隨機地臨時選擇一些中間層的神經(jīng)元,使這些神經(jīng)在本次迭代中輸出為零,同時保持輸入層和輸出層的神經(jīng)元數(shù)目不變。在反向傳播并更新參數(shù)的過程中,與這些節(jié)點相連的權(quán)值不需要更新。但是這些節(jié)點并不從網(wǎng)絡(luò)中刪除,并且保留其權(quán)值,使這些節(jié)點在下一次迭代時重新被選中,作為起始作用點參與權(quán)值的更新。
(5)網(wǎng)絡(luò)層數(shù)和隱藏層神經(jīng)元個數(shù)。采用網(wǎng)格搜索的方法對網(wǎng)絡(luò)參數(shù)進行優(yōu)化。對比訓(xùn)練模型的輸出預(yù)測結(jié)果在不同模型層數(shù)、隱藏層神經(jīng)元個數(shù)下的均方根值和損失后,選擇模型表現(xiàn)最優(yōu)的參數(shù)值[16]。網(wǎng)絡(luò)參數(shù)如表1所示,模型設(shè)定了2層LSTM神經(jīng)網(wǎng)絡(luò),第1層記憶單元數(shù)為32個,第2層為16個。
表1 網(wǎng)絡(luò)參數(shù)
(6)網(wǎng)格搜索法。網(wǎng)格搜索法作為一種常見的調(diào)參手段,是一種窮舉方法。給定一系列超參數(shù),在所有超參數(shù)組合中窮舉遍歷,從所有組合中選出最優(yōu)的一組超參數(shù)作為最優(yōu)解。
本文數(shù)據(jù)來源于上海電氣集團故障診斷平臺。實驗平臺由風(fēng)機齒輪箱、變速驅(qū)動電機、軸承、傳感器、主軸等各部件組成,通過安裝、調(diào)試可模擬齒輪箱的各種故障。
選擇振動能量較為集中和突出的齒輪箱輸出端的軸承座作為測點位置,對輸入軸電機側(cè)軸承y1、輸出軸電機側(cè)軸承y2進行監(jiān)測,獲取其振動加速度信號。實驗采用電火花加工技術(shù)在不同的齒輪上分別植入損傷點,模擬高速軸小齒輪齒面磨損和低速軸大齒輪斷齒所引起的故障狀態(tài)。設(shè)定采樣頻率為(2 000×2.56)Hz,利用加速度傳感器在轉(zhuǎn)速為1 470 r/min,加載電流為0.1 A時正常、磨損狀態(tài)下的振動信號,對信號進行預(yù)處理得到齒輪振動信號50組,每種狀態(tài)各25組。
對數(shù)據(jù)劃分后,使用驗證數(shù)據(jù)集在LSTM模型上進行故障預(yù)測,驗證數(shù)據(jù)集有5 771個數(shù)據(jù)。為了反映預(yù)測模型對于該數(shù)據(jù)預(yù)測的精確程度,數(shù)據(jù)在迭代訓(xùn)練中的損失值如圖5所示。由圖可知,訓(xùn)練集的損失在0~60次訓(xùn)練中迅速下降,但稍有波動;在60~85次之間逐漸平緩,之后又出現(xiàn)波動??紤]到模型訓(xùn)練耗時,以及在訓(xùn)練過程中會出現(xiàn)過擬合的問題,選取訓(xùn)練次數(shù)為80次。
圖5 損失隨迭代次數(shù)變化曲線
根據(jù)經(jīng)驗設(shè)定閾值(在齒輪故障中設(shè)定閾值T=0.2)之后,對比模型輸出預(yù)測值和真實值加權(quán)殘差,故障殘差預(yù)測結(jié)果如圖6所示。
圖6 基于LSTM的故障預(yù)測結(jié)果
機組在正常運行狀態(tài)下其故障殘差很小,但故障狀態(tài)出現(xiàn)時數(shù)據(jù)殘差迅速增大,并且在隨后工作中殘差超出閾值線判定為故障,從而報警以利于盡早安排檢修以及供電計劃,避免故障的發(fā)生。
為了更好地反映LSTM模型的預(yù)測精確程度,迭代次數(shù)為80次時的預(yù)測結(jié)果分類混淆矩陣如圖7所示?;煜仃囍?,對角元素對應(yīng)預(yù)測結(jié)果的精確度。由圖7可知,利用LSTM模型進行故障預(yù)測,預(yù)測結(jié)果具有較高的準確率。
圖7 LSTM模型預(yù)測結(jié)果的混淆矩陣
本文針對風(fēng)電機組運行時,各監(jiān)測數(shù)據(jù)間耦合關(guān)系復(fù)雜的特點,提出以LSTM為模型的風(fēng)電機組故障預(yù)測技術(shù)。首先,建立健康狀態(tài)下的LSTM模型;然后,根據(jù)其運行數(shù)據(jù)與預(yù)測數(shù)據(jù)進行對比計算得出殘差,當殘差超出閾值時,預(yù)測其發(fā)生故障。但在建立模型過程中,模型計算時間相對較長,可進一步優(yōu)化隱藏層數(shù)與神經(jīng)元個數(shù),使預(yù)測準確率進一步提升,從而使模型能夠更快、更精確地預(yù)測出故障的發(fā)生,滿足風(fēng)電正常生產(chǎn)運行的需要。