李 陽 黃 偉
(上海電力大學自動化工程學院 上海 200090)
在燃氣輪機運行過程中,渦輪葉片需要承受高溫、高壓和劇烈振動等沖擊,蠕變、氧化、熱疲勞等是葉片常見的故障類型,不僅影響燃氣輪機的壽命,還會造成很大的經(jīng)濟損失[1],因此渦輪葉片的狀態(tài)監(jiān)測和故障診斷非常重要,是燃氣輪機狀態(tài)監(jiān)測和故障診斷的熱門研究方向之一。狀態(tài)監(jiān)測是一種挖掘系統(tǒng)運行信號識別其運行狀態(tài)的技術(shù)[2],若能正確從振動信號提取得到故障特征,就可以準確地判斷機器的運行狀態(tài)[3]。目前,使用葉片振動分析和振動特征分析葉片缺陷已被廣泛研究。
特征提取通常是對振動信號的時域或頻域特征進行分析概括,提煉出較為顯著的特征,主要采取的方法有傅里葉變換和小波變換[4],能將時間域信號變換到頻率域,但是頻域圖只能反映信號的頻域信息,沒有考慮其在時域上的特性。經(jīng)驗?zāi)B(tài)分解(Empirical Mode Decomposition,EMD)在對非線性、非平穩(wěn)的信號分析時具有良好自適應(yīng)性,該方法已經(jīng)在各種故障診斷領(lǐng)域中得到應(yīng)用:文獻[5]針對齒輪振動信號的非平穩(wěn)特征的實際情況,利用EMD將處于不同狀態(tài)下的信號分解到多個本征模態(tài)函數(shù)(Intrinsic Mode Function components,IMF),將其中具有故障信息的IMF分量作為故障特征,提出了一種基于支持向量機和EMD的齒輪故障診斷方法。文獻[6]通過EMD對透平排溫的時間序列進行預(yù)處理,提取各頻帶能量作為特征參數(shù),成功應(yīng)用于葉片工作狀態(tài)和故障類型識別。文獻[7]把自適應(yīng)濾波算法和EMD相結(jié)合,提取出能夠表征定子繞組故障的特征,實驗表明該方法能夠有效消除電機電磁噪聲的干擾。上述所采用的識別方法主要是基于“淺層學習”的算法,對信號采集和特征處理的要求高,不僅非常耗時,而且非常依賴于技術(shù)人員的經(jīng)驗與技術(shù),因此很難保證每次都能夠很好地提取到樣本特征。
深度學習(Deep Learning,DL)是一種實現(xiàn)人工智能的強大技術(shù),可以自動從原始數(shù)據(jù)中挖掘特征,有效解決了人為組合特征的不全面和耗時問題,獲得了比傳統(tǒng)機器學習方法更好的效果[8-9]。卷積神經(jīng)網(wǎng)絡(luò)根據(jù)輸入數(shù)據(jù)的不同,可以分為一維、二維和三維卷積神經(jīng)網(wǎng)絡(luò),其中:二維卷積神經(jīng)網(wǎng)絡(luò)主要應(yīng)用在圖像處理、計算機視覺等領(lǐng)域;一維卷積神經(jīng)網(wǎng)絡(luò)更適合處理工業(yè)中的一維時序數(shù)據(jù)。該方法已經(jīng)在實時電機故障診斷中得到應(yīng)用:文獻[10]使用深度卷積神經(jīng)網(wǎng)絡(luò)對齒輪箱故障進行診斷,提取振動信號的時域特征與頻域特征,輸入到模型中進行故障識別;文獻[11]從原始數(shù)據(jù)中提取特征,利用最大平均差異減小訓(xùn)練集和測試集的差異懲罰,實現(xiàn)滾動軸承的故障診斷。這些方法處理的對象是一維的時間序列信號,因此在特征提取的過程中容易出現(xiàn)特征丟失現(xiàn)象,而目前二維卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)并不能直接適用于一維振動信號[12],給模型的設(shè)計帶來一定的難度,造成了診斷效果和效率的局限性。瞿合祚等[13]提出一種時域信號的二維映射方法,采用灰度表達對應(yīng)信號采樣點的值,運用卷積神經(jīng)網(wǎng)絡(luò)對電能質(zhì)量擾動事件進行分類;陳敏等[14]將心電信號轉(zhuǎn)為二維圖像,通過對相應(yīng)的圖像分類來實現(xiàn)心血管疾病的診斷,對疾病的治療和預(yù)防有重要意義。
受文獻[13-14]的啟發(fā),本文引入格拉姆角場將屬于時間序列的原始振動信號轉(zhuǎn)為二維黑白圖像,通過SA-2DCNN對轉(zhuǎn)換得到圖片進行學習和訓(xùn)練,將與之對應(yīng)的振動信號進行分類,實現(xiàn)葉片的故障診斷。以三菱M701F4燃氣輪機的歷史運行數(shù)據(jù)進行實驗,與目前特征提取和樣本分類兩階段的診斷方法進行對比,驗證了本文方法的有效性。
Gram矩陣用于度量向量兩兩之間的相關(guān)性,能體現(xiàn)出不同向量間的緊密程度,其表達式為:
(1)
式中:〈ai,aj〉表示兩個向量的內(nèi)積?!碼i,aj〉計算公式為:
(2)
(3)
根據(jù)Gram矩陣可以確定特征之間的關(guān)系,由于時間序列是一維的,內(nèi)積運算不能區(qū)分有價值的信息和高斯噪聲,必須將一維時間序列映射到二維空間[15]。
將原始時間序列X={x1,x2,…,xn}中的xt(其中t=1,2,…,n)歸一化到[-1,1]之間有:
(4)
(5)
(6)
經(jīng)過上述的變換有ρt∈(0,1]、θt∈[0,π]。這種編碼是雙映射的,與笛卡爾坐標相比,極坐標能夠通過ρt保留絕對的時間性。
根據(jù)式(5)可知每個向量的范數(shù)會隨著時間增加,兩個不同觀測向量之間的內(nèi)積將偏向于后者[16],原來在笛卡爾坐標系內(nèi)的內(nèi)積公式會受到一定的限制,因此在極坐標當中對內(nèi)積重新定義:
〈ai,aj〉=cos(θi+θj)=
(7)
將式(7)代入式(3)中得到GAF:
(8)
根據(jù)式(8)可知,GAF的對角線對應(yīng)了縮放后時間序列的值,在一維序列轉(zhuǎn)為二維矩陣的同時保持了時間依賴性,能夠表征原始信號在時間維度上的特征。
二維卷積神經(jīng)網(wǎng)絡(luò)采用局部連接和權(quán)重共享的方式,對原始數(shù)據(jù)進行更高層次和更抽象的處理,能夠有效自動提取數(shù)據(jù)中的內(nèi)部特征,結(jié)構(gòu)如圖1所示。
圖1 2DCNN結(jié)構(gòu)
X∈Rn×m表示輸入矩陣,經(jīng)過卷積運算得到:
oc=ReLU(X?Wc+bc)
(9)
式中:?表示卷積運算;卷積核Wc∈Rj×m是權(quán)值矩陣;j為卷積核尺寸;bc為該層的偏置,激活函數(shù)ReLU能夠加速模型收斂;oc為卷積核特征映射結(jié)果。池化(pooling)運算用于選擇卷積層序列最重要的特征,形成池化層。全連接層對全局特征進行抽象組合得到:
od=f(op(last)×Wd+bd)
(10)
y=softmax(od×Wo+bo)
(11)
式中:Wo為輸出層的權(quán)值矩陣;bo為偏執(zhí);激活函數(shù)為Softmax。
自注意力機制的靈感來自人類的翻譯機制:在翻譯句子時,譯者通常不會閱讀整個文本,而是閱讀部分文本并進行翻譯,然后重復(fù)該過程至全部工作完成。SA對不同的信息計算相應(yīng)的注意力權(quán)重,得到含有概率分布的特征編碼,突出重要的特征向量,從而提升模型性能[17]。圖2為SA機制的示意圖,xi(i=1,2,…,n)為所有輸入的信息,αi為對應(yīng)的權(quán)重,Xi(i=1,2,…,m)為輸出的特征向量,SA機制控制了每個屬性組合可能產(chǎn)生的影響:比如單獨的x1、x2可能對于目標值的影響不大,但是二者的組合卻對目標值有巨大決定作用,在這種情況下SA能夠調(diào)整特征組合的重要度。
圖2 自注意力機制的結(jié)構(gòu)
殘差神經(jīng)網(wǎng)絡(luò)是由殘差塊構(gòu)建的,深度去噪卷積神經(jīng)網(wǎng)絡(luò)(Depth Denoising Convolution Neural Network,DnCNN)由具有殘差結(jié)構(gòu)的級聯(lián)卷積層組成,DnCNN將殘差塊和批歸一化算法(Batch Normalization,BN)引入到深度卷積神經(jīng)網(wǎng)絡(luò)模型中,能夠剔除輸入矩陣中的干擾噪聲,降低了網(wǎng)絡(luò)訓(xùn)練難度,提高模型的訓(xùn)練速度和性能。
長期運行在惡劣工作環(huán)境中的渦輪葉片要承受高溫、高壓和劇烈振動等沖擊,渦輪葉片斷裂是燃氣輪機最主要的故障,占燃氣輪機總故障的42%[18],導(dǎo)致該故障發(fā)生的原因主要有疲勞、蠕變、腐蝕、磨損,將這四種異常狀態(tài)和正常狀態(tài)分別用編號1-5來表示。
在故障診斷領(lǐng)域,故障樣本的數(shù)量總是遠遠少于正常樣本,因此對于四種故障樣本存在較高的錯分率,需要對樣本進行不平衡處理。合成少數(shù)類過采樣技術(shù)(Synthetic Minority Oversampling Technique,SMOTE)解決了隨機過采樣引起的過擬合問題[19],其步驟如下:
(1) 依次選取少數(shù)類樣本中每個樣本xi作為合成新樣本的根樣本。
(2) 根據(jù)向上采樣倍率m從xi的同類別的j個近鄰樣本中隨機選擇一個作為合成新樣本的輔助樣本,重復(fù)m次。
(3) 在樣本xi與每個輔助樣本間進行線性插值,最終生成m個合成樣本。
將采用SMOTE方法平衡后的所有樣本轉(zhuǎn)為二維黑白圖像,以葉片在正常狀態(tài)下的一組振動信號為例,原始信號包含6 000個觀測值,如圖3(a)所示,序列長度太大會導(dǎo)致得到的GAF過于復(fù)雜,因此需對原始序列進行降維。
(a) 原始序列
(b) PAA降維后的序列
(c) 歸一化后的序列
(d) 極坐標變換 (e) GAF可視化圖3 信號-圖像轉(zhuǎn)換過程
分段聚合近似(Piecewise Aggregate Approximation,PAA)能夠減小數(shù)據(jù)存儲并提高計算效率,PAA將長度為n的序列S=[s1,s2,…,sn]分成k段,每段的平均值為新的值,得到序列Q=[q1,q2,…,qk],其中n>m,k=n/m,Q中元素的計算公式為:
(12)
經(jīng)過PAA得到的序列能對時間序列數(shù)據(jù)進行數(shù)據(jù)降維,提高數(shù)據(jù)挖掘算法的效率。通過PAA對原始序列降維后得到圖3(b)中長度為100的序列,按照式(4)將該序列的值縮放到[-1,1]的區(qū)間內(nèi),然后根據(jù)式(3)和式(6)將其從笛卡爾坐標系當中轉(zhuǎn)化到極坐標中,如圖3(d)所示,圖3(e)為GAF矩陣的可視化結(jié)果,以大小為28×28的圖片格式保存。
在現(xiàn)場實時測量振動信號會受到一定程度的噪聲干擾,需要對轉(zhuǎn)換得到的圖片進行降噪處理。構(gòu)建的DnCNN每個殘差塊包含了7個卷積層,第一卷積層的卷積核尺寸大小f1=3,對應(yīng)的卷積核個數(shù)為64,中間層的卷積核尺寸f2=3,卷積核個數(shù)為128,最后一層的卷積層的卷積核尺寸f3=1,對應(yīng)的卷積核個數(shù)為3。設(shè)置Padding=“same”的填充方式,實現(xiàn)殘差塊的跳躍連接,保證輸出向量具有同樣的維度。利用DnCNN對渦輪葉片在五種狀態(tài)下的振動信號轉(zhuǎn)換的圖片進行去噪,效果如圖4所示。
圖4 DnCNN去噪前后對比
建立的SA-2DCNN模型包括3個卷積層、3個池化層、注意力層和全連接層,首先利用卷積層壓縮參數(shù)數(shù)量,經(jīng)過池化層進行特征降維,通過注意力機制對重要的特征賦予更高的權(quán)重,產(chǎn)生更具有分辨性的特征向量,然后由全連接層轉(zhuǎn)換為一維結(jié)構(gòu),最后通過輸出層的Softmax函數(shù)得到相應(yīng)的類別。模型結(jié)構(gòu)及參數(shù)如表1所示,卷積核寬度、卷積核高度和當前層輸入特征圖深度分別用CH、CW和CC表示;S指池化層池化帶寬度;Strides表示卷積核的移動步長;Dropout表示以一定概率把神經(jīng)元之間的連接斷開,有利于抑制過擬合現(xiàn)象,提高模型的泛化性。
表1 SA-2DCNN結(jié)構(gòu)參數(shù)
續(xù)表1
在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中,模型的超參數(shù)會影響最終的分類準確率,選擇哪種優(yōu)化方法尋找超參數(shù)對模型的性能有很大的影響。
隨機梯度下降(Stochastic Gradient Descent,SGD)沒有引入動量的概念,導(dǎo)致其收斂速度太慢,容易陷入局部最優(yōu)值。自適應(yīng)動量估計(Adaptive Moment Estimation,Adam)同時利用了一階動量和二階動量,即:
mt=β1·mt-1+(1-β1)·gt
(13)
(14)
式中:β1和β2分別為兩個移動平均的衰減率,通常取值為β1=0.9、β2=0.99。
使目標函數(shù)以更快速度收斂,避免陷入局部最優(yōu),但是由于其自適應(yīng)性會導(dǎo)致學習率在學習過程中發(fā)生劇烈變化,目標函數(shù)有可能無法收斂[20]。內(nèi)斯特羅夫加速梯度(Nesterov Accelerated Gradient,NAG)是對一階動量的改進:在更新過程中是以下一個時刻的梯度而非當前時刻的梯度[20],此時梯度定義為:
(15)
式中:ωt表示損失函數(shù);α表示學習率,通常設(shè)為0.001。
NAG利用了目標函數(shù)的二階導(dǎo)數(shù)信息,使超參數(shù)隨時間變化,保證學習率穩(wěn)定變化。將NAG與Adam結(jié)合得到的Nadam能夠?qū)W習率有更強的約束,實現(xiàn)更好的搜索[21]。
實驗數(shù)據(jù)來自某發(fā)電廠M701F4型燃氣輪機的歷史運行結(jié)果,通過SMOTE和GAF得到用于故障診斷的數(shù)據(jù)集,80%作為訓(xùn)練集,20%作為測試集。診斷流程如圖5所示,包括對已有的歷史數(shù)據(jù)集與現(xiàn)場信號數(shù)據(jù)進行“信號-圖像”轉(zhuǎn)換、模型訓(xùn)練與模型驗證。
圖5 故障診斷模型結(jié)構(gòu)
首先對已有的歷史數(shù)據(jù)集進行轉(zhuǎn)換,得到相應(yīng)的圖片集,設(shè)置相應(yīng)的優(yōu)化算法、迭代次數(shù)和損失函數(shù)對模型進行訓(xùn)練,通過損失函數(shù)變化情況來判斷訓(xùn)練的進度,根據(jù)準確率變化判斷模型性能的優(yōu)劣,從而得到一個具有良好識別能力的分類模型;在進行異常診斷時,將振動傳感器實時采集到的信號轉(zhuǎn)換成圖像,作為測試目標,通過DnCNN對其進行降噪處理,根據(jù)分類模型輸出的類別判斷當前葉片的工作狀態(tài),實現(xiàn)葉片早期的異常診斷。
由于不同的優(yōu)化算法對模型的性能有很大的影響,分別利用SGD、Adam和Nadam算法對SA-2DCNN模型進行訓(xùn)練。在訓(xùn)練過程中,設(shè)置迭代步數(shù)epoch為500,批樣本個數(shù)batch_size為50,損失函數(shù)loss選擇交叉熵categorical_crossentropy,模型在訓(xùn)練過程中對應(yīng)不同優(yōu)化算法的損失函數(shù)和準確率變化趨勢分別如圖6(a)和圖6(b)所示。
(a) 損失函數(shù)變化情況
(b) 準確率變化情況圖6 訓(xùn)練過程中損失函數(shù)和準確率的變化趨勢
從圖6(a)可以看出,SGD算法對應(yīng)的訓(xùn)練速度最慢,損失函數(shù)最終為0.266,Adam在epoch為420時loss值為0.112,而Nadam更快,僅用350個epoch損失函數(shù)達到穩(wěn)定值0.059,表明選擇Nadam能夠更快地訓(xùn)練模型;根據(jù)圖6(b)可知,SGD在epoch為500時候準確度僅為0.792,而Adam和Nadam分別在epoch為420和350時達到穩(wěn)定值0.937和0.962,三種優(yōu)化算法對應(yīng)的模型在測試集上準確率分別為0.775、0.925、0.951,說明模型沒有出現(xiàn)過擬合。統(tǒng)計模型在測試集上的相關(guān)指標如表2所示,可以看出通過Nadam算法訓(xùn)練得到的模型具有最優(yōu)的表現(xiàn)。
表2 模型在測試集上的性能
為體現(xiàn)引入注意力機制可以有效提升模型對重要特征學習的能力,采用主成分分析(Principal Components Analysis,PCA)提取全連接層神經(jīng)元的分量,通過t-SNE將模型對圖片訓(xùn)練識別得到的復(fù)雜特征進行降維和歸一化處理,得到的二維散點圖如圖7所示。
圖7 SA-2DCNN訓(xùn)練后的特征可視化
圖7的散點圖坐標軸無實際意義,用系數(shù)PC1和PC2作為兩個坐標軸的名稱??梢钥闯?2DCNN可以有效地提取樣本特征:相同類別的樣本很好地聚集在一起,有著明顯的匯聚中心,不同類別的樣本也可以明顯地區(qū)分。第5類樣本(正常狀態(tài))和其他四種故障樣本有著很遠的距離,這說明該模型可以很好地判別該樣本是否為故障信號;四種故障樣本之間也有著很明顯的邊界,體現(xiàn)了該模型能夠準確地從“序列-圖像”轉(zhuǎn)化后的圖片中判斷出原始振動信號的類型。
表3為SA機制引入前后的2DCNN和SA-2DCNN模型在測試集上的分類結(jié)果,可以看出后者的準確率更高、耗時更短,這是因為SA機制能夠加強模型對GAF主對角線上信息的學習效率,使模型聚焦于重要的特征向量,在克服信息冗余的同時減小了模型的復(fù)雜度,從而獲得更好的診斷性能。
表3 自注意力機制引入前后的模型性能對比
在現(xiàn)場實際測量振動信號時,環(huán)境、人員、儀器等眾多不確定因素會導(dǎo)致測量結(jié)果受到噪音干擾。為驗證本文方法對噪音信號的抵抗能力,給數(shù)據(jù)集中的測試信號添加0~10 dB的白噪聲,然后再進行同樣的“序列-圖像”變換。對未進行去噪和利用DnCNN去噪后的圖片集分別進行測試,得到的準確率如表4所示。
表4 降噪處理前后的模型識別準確率對比
在考慮不同程度的噪聲干擾時,模型對未降噪的測試集識別率較低,在較大噪聲的情況下準確率大幅度降低。對于利用DnCNN處理過的圖像集,模型保持了較高的準確率,能夠保持準確率損失小于0.04,由此說明DnCNN去噪處理能夠保證分類模型的識別能力,對實現(xiàn)精確的診斷有重要意義。
為了驗證提出的SA-2DCNN模型具有更好的診斷性能,首先與經(jīng)典的故障診斷方法對比,將非平穩(wěn)的振動信號進行經(jīng)驗?zāi)B(tài)分解,計算每個IMF的能量,將不同頻段上信號的能量熵作為特征向量,將特征輸入到分類模型如K最近鄰(k-Nearest Neighbour,KNN)、隨機森林(Random Forest,RF)和反向傳播神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network,BPNN)當中進行訓(xùn)練,實現(xiàn)樣本分類和故障診斷。引入精確率(precision)、召回率(recall)和F1系數(shù),定義如下:
(16)
(17)
(18)
式中:TP表示樣本真實類別是i,預(yù)測是i;FP表示樣本真實類別不是i,預(yù)測是i類;TN表示樣本真實類別不是i,預(yù)測不是i類;FN表示樣本真實類別是i,預(yù)測不是i類。將上述每種方法各進行5次實驗,將平均值作為該方法的性能評估指標,統(tǒng)計不同方法的診斷結(jié)果如表5所示。
表5 SA-2DCNN與傳統(tǒng)方法的性能對比
由于KNN、RF與BPNN的輸入特征需要基于EMD分解和專家經(jīng)驗得到,每次選擇的特征存在一定波動,測試準確率并不高,二維卷積神經(jīng)網(wǎng)絡(luò)的準確率比傳統(tǒng)方法提高了0.05~0.10。
為驗證“二維”卷積神經(jīng)網(wǎng)絡(luò)具有更好的故障診斷能力,對比文獻[22-23]中的長短時記憶(Long Short Term Memory,LSTM)神經(jīng)網(wǎng)絡(luò)、去噪自動編碼器(Denosing Auto-Encoder,DAE)深度學習模型診斷方法,同時建立1DCNN模型[24],包含六個卷積層、六個池化層和一個全連接層,采用滑動窗口的方式對去除噪音干擾后的信號進行截取,將其作為模型的輸入,窗口的寬度即為樣本的長度,設(shè)置窗口的寬度為1 200,移動步長為800,全連接層激活函數(shù)為ReLU,輸出層激活函數(shù)為Softmax。統(tǒng)計不同方法的診斷結(jié)果如表6所示。
表6 SA-2DCNN與一維深度學習模型的性能對比
LSTM直接將預(yù)處理后的原始非線性數(shù)據(jù)作為輸入,雖然識別難度增大,但是在保證準確率的同時提高了時間分辨率,降低了對故障數(shù)據(jù)長度的依賴性;DAE對原始信號進行第一層特征提取,并堆疊多個自動編碼器構(gòu)成深度網(wǎng)絡(luò),提取深層次特征進行樣本分類,具有較好的識別效果;1DCNN受輸入信號的長度和數(shù)量的限制,導(dǎo)致其卷積層的感受野不夠大,只能通過增加網(wǎng)絡(luò)層數(shù)來克服,而過高的復(fù)雜度會導(dǎo)致訓(xùn)練非常耗時,不能徹底發(fā)揮卷積神經(jīng)網(wǎng)絡(luò)處理大規(guī)模樣本的能力;與上述三種一維深度學習模型不同的是,SA-2DCNN的輸入是二維圖像,具有拉伸不變性,通過二維卷積層和二維池化層可以更深入地挖掘圖像中包含的信息,二維卷積神經(jīng)網(wǎng)絡(luò)憑借精簡的結(jié)構(gòu)和廣闊的視野,依靠自注意力機制能夠更好地聚焦于重要特征,準確率提高了0.03~0.05,具有更好的分類識別性能。
本文采用格拉姆角場將渦輪軸承的振動信號把一維時間序列變換為二維圖像,在2DCNN當中引入自注意力機制對變換得到的二維圖像中主對角線上的特征進行學習,同時結(jié)合Nadam優(yōu)化算法進行訓(xùn)練,提出一種基于SA-2DCNN的渦輪葉片故障的診斷方法,對比了傳統(tǒng)的故障診斷方法,得出以下結(jié)論:
(1) 與SGD、Adam優(yōu)化算法相比,Nadam能更精確、更快速地訓(xùn)練網(wǎng)絡(luò)模型,避免了因?qū)W習率劇烈下降帶來的精度降低問題。
(2) GAF的主對角線元素保留了原始信號在時間維度上的信息,引入自注意力機制可以得到模型的重點關(guān)注,消除冗余的信息,從而節(jié)省更多的時間,有利于提高分類的精度。
(3) SA-2DCNN的識別準確率比傳統(tǒng)模型提高了0.05~0.10,比一維深度學習模型提高了0.03~0.05,能夠更好地辨識渦輪葉片狀態(tài),進而根據(jù)葉片早期的異常表現(xiàn)進行定期維護和及時檢修,提高發(fā)電的安全性和經(jīng)濟性。