徐天宏,王 鵬,汪 勇,陳榮澤,司風(fēng)琪
(1.東南大學(xué) 能源熱轉(zhuǎn)換及過程測控教育部重點實驗室,南京 210096;2.上海發(fā)電設(shè)備成套設(shè)計研究院責(zé)任有限公司,上海 200240)
近年來,工業(yè)過程安全生產(chǎn)問題越來越受到關(guān)注,故障監(jiān)測與診斷作為工業(yè)過程重要手段,在國內(nèi)外眾多學(xué)者的研究和探索中,已經(jīng)取得了一定的進(jìn)展。工業(yè)過程的狀態(tài)監(jiān)測及故障診斷總體可分為基于解析模型的方法和基于數(shù)據(jù)模型的方法[1]?;诮馕瞿P偷姆椒ㄊ峭ㄟ^對研究對象進(jìn)行機(jī)理分析,建立數(shù)學(xué)模型,根據(jù)數(shù)據(jù)實際值與模型預(yù)測值的殘差進(jìn)行狀態(tài)分析。該方法在簡單的研究對象中可以取得不錯的效果,但隨著工業(yè)生產(chǎn)規(guī)模的不斷擴(kuò)大,設(shè)備運行特性越來越復(fù)雜,建立解析模型的難度也越來越大。因此,通過對歷史運行數(shù)據(jù)進(jìn)行分析,從而實現(xiàn)工業(yè)過程中狀態(tài)監(jiān)測及故障診斷的數(shù)據(jù)模型方法受到了關(guān)注[2]。常見的基于數(shù)據(jù)的故障診斷方法有多元統(tǒng)計方法、機(jī)器學(xué)習(xí)方法等[3]。多元統(tǒng)計方法一般通過概率模型來監(jiān)測故障,對新類型故障的識別診斷率不高[4];機(jī)器學(xué)習(xí)方法需要高質(zhì)量的數(shù)據(jù)樣本來保證故障診斷模型的準(zhǔn)確性[5],而復(fù)雜多樣的電站設(shè)備數(shù)據(jù)并不能滿足此要求。
基于案例推理的故障診斷方法,作為數(shù)據(jù)模型方法的一類,通過模擬人類的思考過程,提取現(xiàn)有關(guān)鍵信息按照推理邏輯,在故障診斷領(lǐng)域取得了一定的成果[6]。通過案例表示可提取故障信息構(gòu)建案例庫,并基于案例庫檢索相似案例從而達(dá)到高效診斷的目的,以及通過案例更新實現(xiàn)自動更新模型[7]。近年來,基于案例推理的故障診斷方法被廣泛用在農(nóng)業(yè)信息決策、車輛交通規(guī)劃及緊急事件處理上[8-10]。
在基于案例推理的故障診斷流程中,案例表示是構(gòu)建故障案例庫的基礎(chǔ)。栗宇[11]使用本體理論對汽輪發(fā)電機(jī)組的故障關(guān)系進(jìn)行表示,通過系統(tǒng)定義整個汽輪發(fā)電機(jī)組之間的知識關(guān)系,構(gòu)建汽輪發(fā)電機(jī)組典型故障案例庫。但對于電站設(shè)備故障診斷來說,故障信息由故障的相關(guān)參數(shù)的歷史數(shù)據(jù)構(gòu)成,不需要使用本體理論表示其中的知識關(guān)系,因此應(yīng)選取故障案例的數(shù)據(jù)表示方法。傳統(tǒng)的故障診斷過程大致可以分為故障監(jiān)測、故障隔離和故障識別三個階段。ALCALA C F等[12]從故障隔離的角度出發(fā)提出使用相關(guān)變量組合作為故障表示方法,并通過匹配變量組合來實現(xiàn)故障識別。但該方法需要人工設(shè)置閾值,并且無法將故障量化,導(dǎo)致診斷率偏低。
案例檢索是案例推理流程中用于診斷案例狀態(tài)類屬問題的方法。它通過計算案例之間的相似度,尋找最相似案例進(jìn)行匹配。近年來,神經(jīng)網(wǎng)絡(luò)因其強(qiáng)大的特征提取和擬合能力在監(jiān)督學(xué)習(xí)領(lǐng)域取得了顯著的成果。因此,相比于其他算法,在案例檢索過程中使用神經(jīng)網(wǎng)絡(luò)算法可以取得較高的診斷識別率[13]。
鑒于上述方法的優(yōu)缺點,筆者提出了基于主成分分析(PCA)-改進(jìn)最小角回歸(ILARS)-深度神經(jīng)網(wǎng)絡(luò)(DNN)案例推理模型的電站設(shè)備故障診斷方法?;赑CA-ILARS算法進(jìn)行案例表示來提取故障信息,構(gòu)建具有統(tǒng)一特征狀態(tài)的案例庫,然后采用基于DNN的案例檢索算法實現(xiàn)故障診斷,并通過電站磨煤機(jī)的真實故障案例進(jìn)行驗證與分析。
PCA算法是一種經(jīng)典的故障監(jiān)測方法。設(shè)觀測的歷史數(shù)據(jù)用X∈Rm×n表示,X為由實數(shù)組成的向量,X=[x1,x2,x3,…,xm]T。根據(jù)X的平均數(shù)和方差對數(shù)據(jù)進(jìn)行歸一化,其協(xié)方差矩陣S可表示為:
(1)
對S進(jìn)行特征值分解得到:
(2)
PCA模型主要采用統(tǒng)計量SPE(Square Projection Error)指標(biāo)(用SPE表示)和T2(Hotelling)指標(biāo)來進(jìn)行故障監(jiān)測。
SPE用來的監(jiān)測變量X在殘差空間的映射,即
(3)
(4)
T2用來的監(jiān)測X在主成分空間的映射,即
T2=XTPΛ-1PTX=XTDX
(5)
(6)
基于PCA模型,將故障案例通過ILARS案例表示方法提取案例數(shù)據(jù)。
最小角回歸(LARS)算法是一種經(jīng)典的故障隔離算法,是通過逐步逼近目標(biāo)來解決稀疏回歸的問題[14]。
(7)
采樣時間間隔為15 s,通過ILARS算法,將觀測量(見圖1)X∈R1×n提取生成數(shù)據(jù)樣本D∈R1×n,n為參數(shù)數(shù)量。
圖1 原始數(shù)據(jù)時序圖
所研究的稀疏回歸問題如式(8)所示。
(8)
算法首先設(shè)置變量活動集A,并通過對變量與當(dāng)前殘差的相關(guān)度來選擇最大相關(guān)度變量加入,其與前向選擇方法類似,都是逐步地進(jìn)行,每步增加一個變量到活動集中,但不同點是最小角度是當(dāng)目前變量和下一個變量與當(dāng)前殘差具有相同的相關(guān)度時,加入另一個變量到活動集,達(dá)到回歸預(yù)測的精度時停止計算,并記錄每次殘差的變化值MSE和變量變化的步長β。
由于M是對稱正定矩陣,根據(jù)Cholesky分解,存在V使得M=VVT,則式(8)可轉(zhuǎn)化為:
s.t.{β|?β,MSE≤ξ}∩‖β‖0=t
(9)
式中:ξ為限值;t為迭代次數(shù)。
通過ILARS算法逐漸逼近故障方向,當(dāng)監(jiān)測指標(biāo)小于限值時停止,可實現(xiàn)對觀測值x的故障分離。
故障案例D可表示為:
(10)
(1)初始定義β為零矩陣,X為任意時刻被檢測為故障的觀測值向量;活動集A為空集。
(5)根據(jù)βi平均分配每次迭代的MSE,將分配的MSE作為案例樣本D提取出來。
以圖1為基準(zhǔn)的PCA-ILARS案例表示時序圖見圖2。
圖2 PCA-ILARS案例表示時序圖
DNN也稱多層感知機(jī)(MLP),是具有多個隱藏層的神經(jīng)網(wǎng)絡(luò)。按不同層的位置劃分,DNN內(nèi)部的神經(jīng)網(wǎng)絡(luò)層由第一層的輸入層、中間層的隱含層和最后一層的輸出層組成(見圖3)。層與層之間是全連接的,第i層的任意一個神經(jīng)元一定與第i+1層的任意一個神經(jīng)元相連。每個神經(jīng)元在激活函數(shù)σ(z)處滿足z=∑Wixi,其中:Wi是第i層神經(jīng)元的權(quán)值,xi是第i層的輸入值。
圖3 DNN結(jié)構(gòu)圖
DNN可使用梯度下降法進(jìn)行訓(xùn)練,即
(11)
式中:η為學(xué)習(xí)率;C為損失函數(shù);wij(t)表示第t次訓(xùn)練時第i層的第j個節(jié)點的權(quán)值。
案例推理理論屬于人工智能領(lǐng)域的算法。特定領(lǐng)域的知識可通過案例表示儲存在案例庫中,然后利用案例檢索算法比較新案例和舊案例的相似度,從而得到正確的解決方法。案例推理通常由案例表示、案例檢索、案例應(yīng)用、案例修正、案例保存等構(gòu)成。
基于案例推理的故障診斷具體流程見圖4。利用故障監(jiān)測模型獲取故障狀態(tài)的常規(guī)信息,通過PCA-ILARS案例表示方法將常規(guī)信息轉(zhuǎn)變?yōu)榻y(tǒng)一形式的故障案例,并利用案例檢索找到相似案例進(jìn)行匹配。如果案例相似度大于匹配閾值,則進(jìn)行案例應(yīng)用與修正,并將成功應(yīng)用的案例進(jìn)行保存與更新學(xué)習(xí)。否則,則需要利用外部專家知識對案例進(jìn)行人工標(biāo)注,案例經(jīng)修正后應(yīng)用于現(xiàn)場,并將成功應(yīng)用的案例進(jìn)行保存與更新學(xué)習(xí)。
圖4 案例推理故障診斷流程圖
具體的案例檢索過程見圖5。
圖5 基于PCA-ILARS-DNN案例檢索流程圖
首先,運用PCA-ILARS算法將故障數(shù)據(jù)提取成故障案例,構(gòu)成故障案例庫。其次,將案例庫中的案例數(shù)據(jù)預(yù)處理之后,利用故障案例庫中的帶有標(biāo)簽的案例訓(xùn)練DNN,生成DNN判別模型。當(dāng)需要診斷的案例數(shù)據(jù)首先經(jīng)由PCA-ILARS算法提取為診斷案例,數(shù)據(jù)預(yù)處理之后,通過DNN判別模型進(jìn)行訓(xùn)練,DNN判別模型最后一層的激活函數(shù)采用softmax函數(shù)表示為:
(12)
式中:zi表示最后一個隱含層的節(jié)點輸出;k為輸入節(jié)點個數(shù);yi為輸出值。
若輸出層節(jié)點最大值大于閾值,則認(rèn)為該節(jié)點表示的類型為故障類型,輸出結(jié)果,進(jìn)行案例應(yīng)用,并將判別類型放入故障案例集中保存。輸出層中若沒有節(jié)點數(shù)值大于閾值,則為匹配失敗,為待審核故障案例,需要通過專家人工修正,判斷是否采用新故障案例進(jìn)行處理。閾值θ為經(jīng)驗系數(shù),一般選取所有訓(xùn)練集softmax輸出層節(jié)點最大值組成集合中的最小值。
(13)
式中:yi為softmax節(jié)點輸出值;k為輸出層節(jié)點個數(shù);m為訓(xùn)練樣本數(shù)。
以某電站磨煤機(jī)為對象,驗證所提方法的故障診斷效果。首先,根據(jù)磨煤機(jī)的運行特性,選擇與磨煤機(jī)相關(guān)的27個變量參數(shù)建立故障診斷模型,并選擇40個真實故障案例的13 220個數(shù)據(jù)點作為樣本數(shù)據(jù)。其中,故障包括磨煤機(jī)棚煤、液壓跳閘、拉桿斷裂、拉桿脫落和清掃鏈跳閘。磨煤機(jī)相關(guān)參數(shù)見表1。
表1 磨煤機(jī)相關(guān)參數(shù)
為驗證PCA-ILARS案例表示算法的優(yōu)勢,與原始的案例表示方法和經(jīng)典的故障隔離算法進(jìn)行對比,并通過DNN檢索模型驗證結(jié)果準(zhǔn)確率。DNN模型的訓(xùn)練集分別由案例總數(shù)的5%、10%、20%、30%、50%的比例按照時序等間隔選擇樣本組成,測試集為全部樣本。將所有案例作為測試集進(jìn)行測試。算例中DNN模型設(shè)置為5層,每層的節(jié)點數(shù)分別為27、32、64、32和5。層與層直接選擇全連接方式,節(jié)點的激活函數(shù)除最后一層輸出層使用softmax激活函數(shù)外,其余層均使用tanh激活函數(shù),學(xué)習(xí)率設(shè)置為0.001,尋優(yōu)方法為RMSprop,損失函數(shù)為交叉熵,評價指標(biāo)為準(zhǔn)確率。使用Python平臺的庫設(shè)置相關(guān)參數(shù)來搭建DNN模型。準(zhǔn)確率為正確分類樣本數(shù)與總樣本數(shù)的比值。
將案例相關(guān)的27個參數(shù)的歷史數(shù)據(jù)作為原始數(shù)據(jù),分別通過數(shù)據(jù)表示、故障隔離表示和PCA-ILARS算法表示。圖6~圖8是磨煤機(jī)棚煤案例的故障相關(guān)參數(shù)和無關(guān)參數(shù)用數(shù)據(jù)表示、故障隔離表示和PCA-ILARS算法表示的時序圖。由圖6~圖8可以發(fā)現(xiàn):磨煤機(jī)棚煤時,數(shù)據(jù)表示方法無法直觀觀察故障變化;故障隔離方法可以診斷出故障發(fā)生,但是無法量化故障發(fā)生的程度;PCA-ILARS算法表示顯現(xiàn)出給煤機(jī)瞬時質(zhì)量流量和出口一次風(fēng)溫隨著時間的變化逐漸變大,這與實際情形下的故障特征一致,說明此方法有一定的物理意義。
圖6 磨煤機(jī)數(shù)據(jù)表示時序圖
圖7 磨煤機(jī)參數(shù)故障隔離表示時序圖
圖8 磨煤機(jī)參數(shù)PCA-ILARS算法表示時序圖
為進(jìn)一步對比PCA-ILARS算法提取特征的優(yōu)勢,將參數(shù)通過數(shù)據(jù)表示、故障隔離表示和PCA-ILARS算法表示后通過降維算法投影到二維空間(見圖9)??梢园l(fā)現(xiàn),數(shù)據(jù)表示方法無法區(qū)分故障,而故障隔離方法和PCA-ILARS算法能夠?qū)⒐收洗笾路蛛x,并且PCA-ILARS算法的分離效果更好。
圖9 二維空間散點圖
為驗證PCA-ILARS算法對于故障檢索的影響,將案例表示后經(jīng)基于DNN的案例檢索模型進(jìn)行診斷。不同訓(xùn)練樣本比例的診斷結(jié)果見表2。PCA-ILARS算法表示的樣本經(jīng)DNN案例檢索模型后的診斷率可以達(dá)到96.2%以上,大于數(shù)據(jù)表示和故障隔離表示的診斷率,達(dá)到工業(yè)過程故障診斷的要求。
表2 基于DNN的案例檢索方法與其他方法處于不同訓(xùn)練樣本比例下的準(zhǔn)確率
針對故障診斷率不高的問題提出了一種基于PCA-ILARS-DNN案例推理模型的故障診斷方法。先通過PCA-ILARS算法對故障原始案例進(jìn)行表示,接著使用DNN案例檢索模型進(jìn)行故障診斷,并使用磨煤機(jī)真實故障案例進(jìn)行驗證。主要結(jié)論如下:
(1)為更好地提取故障信息和特征,提出了PCA-ILARS算法,并與數(shù)據(jù)表示和經(jīng)典故障隔離表示進(jìn)行對比,結(jié)果證明PCA-ILARS算法具有更有效地提取有關(guān)參數(shù)與無關(guān)參數(shù)的特征。
(2)針對故障診斷過程準(zhǔn)確率低的問題,提出了PCA-ILARS-DNN的案例推理方法,結(jié)果表明此方法優(yōu)于傳統(tǒng)的故障診斷方法,可以達(dá)到故障診斷要求,提高電站設(shè)備運行的安全性。
(3)構(gòu)建了基于案例推理的故障診斷模型,案例的保存保留了案例信息的時序特性,為后續(xù)提取動態(tài)特征等提供了基礎(chǔ)模型。