李聰波 王 睿 張 友 蔣立君 孫 皓
1.重慶大學機械傳動國家重點實驗室,重慶,4000442.重慶通用工業(集團)有限責任公司,重慶,401336
離心鼓風機作為典型的旋轉流體機械,是能源、環境等領域不可或缺的關鍵設備[1]。離心鼓風機結構復雜、子系統繁多,加之運行在高溫、高粉塵等惡劣環境下,極易出現設備劣化現象,導致設備故障停機,造成嚴重損失。使用多種傳感器對設備運行過程進行監控,從監測數據中挖掘隱藏的設備健康信息,實現離心鼓風機故障的準確預警,從而及時安排維修以避免設備故障發生,具有重要的學術價值和現實意義。由于故障樣本不夠豐富、故障數據缺乏等原因,設備故障預警模型通常使用設備正常運行時的監測數據建立,使用多項式回歸[2]、狀態估計[3]、高斯混合模型[4]、證據K最鄰近[5](evidential K-nearest neighbor,EKNN)、主成分分析[6]等方法建立正常運行狀態監測數據的估計模型,然后基于模型估計值和實際觀測值提出故障預警指標計算方法,最后通過數理統計方法或人工經驗等為預警指標設定閾值。在實際預警中,將實時監測數據輸入模型得到估計值,然后計算出預警指標并判斷是否超過預警閾值,當超過時,表示設備偏離正常狀態,需要及時發出預警信息。
以上預警方法難以處理海量高維數據,而自編碼(autoencoder,AE)模型擅長從海量數據中挖掘有效信息,越來越多的學者將其用于故障預警中。CHEN等[7]用風力發電機正常運行數據訓練多層級加噪自編碼網絡,將網絡輸入向量和輸出向量之間的馬氏距離作為故障預警指標并確定預警閾值,實現風力發電機故障預警。WANG等[8]使用重構的玻爾茲曼機初始化和反向傳播微調完成深度自編碼網絡的搭建,通過數理統計方法確定重構誤差的預警上下限,實現風力發電機葉片破損預警。李曉彬等[9]引入一批標準化算法優化堆疊自編碼網絡,提出將相似度作為預警指標,通過人工經驗劃定預警閾值實現磨煤機故障預警。RENSTROM等[10]使用風力發電機數據采集與監視控制(supervisory control and data acquisition,SCADA)系統的監測數據,研究自編碼網絡超參數對網絡性能的影響,提出一種超參數選擇策略建立自編碼故障預警模型,實現風力發電機整機故障預警。ALFEO等[11]將自編碼模型用于制造設備異常的監測,通過八個案例驗證了該自編碼模型在異常預警方面優于孤立森林(isolation forest,IF)模型。
自編碼網絡在一定程度上實現了設備故障的預警,但仍然存在以下問題:①由于數據遠程傳輸和現場噪聲影響,工廠實際運行環境下采集的離心鼓風機數據具有較高的噪聲水平和較多異常值,極易導致自編碼對無關信息進行學習,嚴重影響模型挖掘設備監測數據的相關關系和隱藏特征,極大降低模型的準確度;②現有研究通過人工經驗判斷數據采集時段設備是否正常運行,主觀性較大,極易將故障狀態數據納入正常運行數據,而當訓練樣本中含有異常情況數據時,會導致異常識別的準確性和有效性下降[12]。遷移學習能將源域的數據、知識或模型,經過一系列遷移流程后應用到相關的目標領域,從而提高目標域模型性能,在變工況故障預警[13]和刀具壽命預測[14],不同種機械設備[15]、工況[16]、運行環境下[17-18]故障診斷等機械領域取得成功應用,因此,將實驗室建立的高精度模型遷移后,用于工廠實際運行環境下離心鼓風機故障預警,提高預警準確度是可行的。
離心鼓風機制造完成后,需要在實驗室進行試車測試后再投入工廠使用,基于實驗室數據的故障預警模型難以復用于工廠實際運行環境。為此,本文提出一種基于遷移學習的離心鼓風機故障預警方法,基于源域(實驗室條件)數據集建立源域模型,通過遷移學習對源域模型進行調整,快速構建目標域(工廠實際運行條件)模型,實現工廠實際運行環境下設備的準確預警。
遷移學習能夠將源域知識或模型遷移到相關的目標域中,提高目標域模型精度[19]。實驗室能夠模擬設備在各種工況下的運行情況,包括各種極端工況,收集到豐富的設備正常運行數據,而工廠環境下,采集的數據噪聲水平較高。將離心鼓風機實驗室采集的設備運行數據Ds視為源域數據,工廠的實際運行數據Dt視為目標域數據,則它們可以分別表示為Ds={Xs,P(Xs)}、Dt={Xt,P(Xt)},其中P(·)為數據的概率分布。由于數據分布差異較大,源域數據不能直接用于建立目標域自編碼模型,因此,本文提出一種遷移學習方法,實現源域模型向目標域遷移,提高目標域模型精度。
源域模型建立流程如圖1所示,考慮采集的時間序列具有記憶性,使用滑動時窗對實驗室采集的離心鼓風機正常運行數據進行重采樣,得到數量為m的源域樣本S。使用源域樣本數據,通過最小化重構誤差,對融合稀疏正則項的自編碼網絡進行訓練,發掘正常狀態下設備運行數據的隱藏特征,完成源域自編碼模型建立。

圖1 源域自編碼模型Fig.1 The AE model of source domain
監測的離心鼓風機運行狀態數據包括溫度、壓力等時間序列,具有記憶性,尤其是溫度等緩變量,當前溫度值受到前一時刻溫度值的影響較大。因此使用寬度為β的滑動時窗,一次移動一個時間點對原始數據進行重采樣,使每個重采樣樣本包含β個時間點數據[20]。原始數據記為
(1)
式中,n為監測參數的種類;m為采集的樣本個數。
重采樣后數據為
(2)
k=1,2,…,m-β+1
自編碼模型是一種無監督深度學習模型,由結構對稱的編碼器和解碼器構成,分別表示為[21]
h=f(WEx+bE)
(3)
y=f(WDh+bD)
(4)
式中,WE、bE和WD、bD為編碼器和解碼器的權重與偏置;f(·)為sigmoid函數;x、y分別為網絡輸入和輸出;h為編碼器輸出的低維特征。
自編碼網絡的目標是最小化輸入與輸出的差異,通常是輸入向量x(i)與輸出向量y(i)的均方誤差(LAE),即
(5)
為防止網絡層之間簡單復制,在損失函數中引入稀疏正則項,使網絡在稀疏約束下學習數據特征[22],通過迫使隱藏層神經元的平均激活度接近于0來實現各網絡層稀疏化。隱藏層神經元r平均激活度為
(6)
式中,x(i)為輸入神經元r的第i個樣本。
使用KL(Kullback-Leibler)散度LSP描述平均激活度與稀疏參數的差異:
(7)
其中,R為神經網絡隱藏層神經元數量;ρ為稀疏參數。因此,自編碼網絡的損失函數為
Lloss=LAE+λLSP
(8)
其中,λ為稀疏正則項系數。
如圖1所示,源域自編碼網絡建立步驟如下:
(1)重采樣。設置滑動時窗寬度β,對歸一化后的源域數據Xs進行重采樣,得到自編碼網絡模型的訓練樣本集S。
(2)初始化。設定網絡層數和神經元個數,對自編碼網絡的權重和偏置進行隨機初始化,設置稀疏參數為0.05和稀疏正則項系數λ為0.1。
(3)網絡訓練。從樣本集S中選取小批量樣本進行前向傳播,得到網絡的損失函數值;使用Adam算法,對自編碼網絡參數進行逐層更新,直到損失函數值收斂或迭代次數超過設定次數,完成源域的自編碼訓練。
由于離心鼓風機實驗室環境和工廠實際運行環境下采集數據分布差異較大,故源域訓練完成的自編碼模型不能直接用于實際使用的離心鼓風機故障預警。本文通過減小源域和目標域特征的最大均值差異(maximum mean discrepancy,MMD)值來尋找源域和目標域可遷移成分,實現源域模型到目標域的領域適應,模型遷移方法見圖2。

圖2 模型遷移方法Fig.2 Method of proposed transfer learning
使用相同的滑動時窗對目標域數據進行重采樣,得到長度為N的目標域樣本數據集T。復制源域編碼器的權重和偏置作為目標域編碼器的初始值,固定源域編碼器,將源域樣本數據和目標域樣本數據批量輸入編碼器,逐層前向傳播獲取源域特征hs和目標域特征ht,并計算源域特征和目標域特征的MMD值LMMD[23],其計算方法如下:
(9)
式中,k(·)為核函數運算。
不同的核函數會將數據映射到不同的空間,對MMD值起著決定性的作用。為降低核函數的影響,選用多核函數而不是單一核函數進行求解,如下式所示:
(10)
式中,kj(·)為不同的核函數,本文選擇五個帶寬分別為1、2、4、8、16的徑向基核函數[23]。
復制源域編碼器參數作為目標域編碼器初始值,然后通過誤差反向傳播方法,以最小化源域特征和目標域低維特征的MMD值,應用梯度下降算法逐層更新目標域編碼器[22]。首先將源域數據輸入訓練完成的源域編碼器中得到低維特征hs,目標域數據輸入目標域編碼器獲得ht,計算hs和ht的MMD值,然后根據下式更新網絡參數:
(11)
其中,p、q分別代表第l層第p個節點和第l+1層第q個節點;η為學習率。此過程中保持源域自編碼器參數不變,直到MMD值收斂或者迭代次數達到設定次數,從而完成目標域編碼器訓練。
目標域編碼器訓練完成后,將解碼器偏置均初始化為0.1,通過權重綁定方法初始化解碼器權重[24],即解碼器第一層的權重為編碼器最后一層權重的轉置,解碼器第二層權重為編碼器倒數第二層權重的轉置,以此類推,完成解碼器參數初始化。然后固定目標域編碼器,將重采樣過后的目標域數據輸入自編碼網絡進行重構,以最小化重構誤差為訓練目標,采用誤差反向傳播方式,使用較小學習率對解碼網絡進行微調,使之學習使用現場噪聲情況,完成目標域自編碼模型建立。
自編碼是一種無監督深度學習方法,它通過最小化輸出與輸入誤差,挖掘數據相關關系和隱藏信息。在輸入新監測數據到訓練完成自編碼網絡過程中,若設備正常運行,則自編碼網絡能夠準確重構輸入的監測數據,若設備發生故障,則監測數據的相關關系發生變化,導致輸出向量和輸入向量出現較大差異。基于流形學習思想,高維數據實際上是一種低維的流形結構嵌入在高維空間中,自編碼網絡能夠將高維數據映射回低維空間,揭示數據的本質,廣泛用于特征降維[25]等。采集到的離心鼓風機正常運行狀態數據相關性強,冗余度高,使用自編碼網絡學習數據的低維流形,挖掘產生數據的內在規律是可行的。本文使用自編碼網絡學習數據低維流形具有以下特點:訓練樣本來自離心鼓風機正常運行狀態下采集的數據,即自編碼網絡不需要重構不屬于正常狀態下的輸入數據;設置稀疏約束項,降低網絡對輸入的敏感度,防止其學習過程中簡單地將輸入復制到輸出。基于以上特征,使用自編碼網絡能學習到在流形上表現良好但給定不在流形上的輸入會導致異常的映射函數。訓練完成后的自編碼網絡能夠很好地重構離心鼓風機正常運行數據,輸入實際運行數據到自編碼模型進行設備故障預警時,在設備偏離正常狀態,當輸入數據偏離正常流形時,自編碼網絡重構值將出現異常,基于此原理實現設備故障預警。
為更加直觀地展示自編碼網絡輸入值和重構值的異常,及時識別出設備早期故障現象,提出離心鼓風機故障預警指標ζ,計算公式如下:
(12)
其中,deuc、dcos分別為重構向量Y和輸入向量X的歐氏距離和余弦距離,表示兩向量位置和方向的差異;dot(·)表示向量的點積運算。當離心鼓風機正常運行時,輸入和輸出向量差異較小,ζ值較小;當設備偏離正常狀態時,輸出向量出現異常,ζ值變大。
故障預警策略包括確定閾值和發出預警的前提條件,對正常狀態下監測指標分布進行估計,再使用假設檢驗方法確定預警閾值。由于分布規律未知,故本文采用核密度估計方法。核密度估計法從樣本出發,不需要分布的先驗知識或對數據分布進行假定,其定義如下[2]:

(13)

設某一小概率值α,當設備正常運行時,指標值將落在置信度為1-α的置信區間[0,ζth]。當指標值處于置信區間外,即小概率事件發生時,可以認為出現異常,ζth可以設置為報警閾值,其關系如下:
(14)
考慮使用現場出現短時強噪聲和數據采集異常值情況,導致ζ短時超過閾值,為降低此類情況導致的誤報警,提出連續越限次數Q及其閾值Qth,當預警指標連續超過預警閾值的次數多于Qth時,發出故障預警信息。Qth計算方法如下:
Qth=max(Qmax,β)
(15)
其中,Qmax為正常數據重構時,預警指標ζ連續超過閾值的最大次數[20]。
本文提出的離心鼓風機故障預警流程分離線訓練和在線監測兩部分,流程如圖3所示。

圖3 故障預警流程圖Fig.3 Flow chart of proposed fault warning method
為驗證該方法的有效性,在重慶某離心鼓風機制造企業開展案例研究。該企業研發的遠程運維平臺能實時采集離心鼓風機運行數據,包括用戶和實驗室試車的離心鼓風機。如圖4所示,離心鼓風機主要由控制系統、驅動電機、潤滑系統和機體構成,傳感器對設備的振動、溫度和壓力等重要參數進行采集,從而實現鼓風機運行狀態監控。

圖4 離心鼓風機和部分外接傳感器Fig.4 Centrifugal blower and sensors
圖5為遠程運維平臺界面,具體監控參數如表1所示。除振動數據外,其他數據的采樣頻率均為1 Hz,其中振動數據為電渦流傳感器采集的位移數據,實際采樣頻率為512 Hz,為降低數據傳輸壓力,平臺上傳的振動數據為1 s內振動的峰峰值,因此,振動數據采樣頻率也為1 Hz。

圖5 離心鼓風機遠程運維平臺界面Fig.5 Interface of remote maintenance system for centrifugal blowers

表1 離心鼓風機監測參數Tab.1 Monitoring parameters of centrifugal blowers
為驗證本文方法效果,對某臺離心鼓風機的一次故障進行預警分析。該臺離心鼓風機在2019年6月制造完成后,一次性通過性能實驗室對其進行的試車。該臺鼓風機在2020年7月10日發生故障自動停機。經過現場拆機分析,查明停機是由于葉輪與殼體發生碰摩,觸發了設備自動保護系統。故障轉子磨損圖見圖6,磨損區由于碰撞摩擦,出現了明顯的刮痕和高溫導致的變藍現象。

圖6 轉子磨損圖Fig.6 Wear of the rotor
從遠程運維平臺導出該臺離心鼓風機在2019年6月20日的11 030組實驗室試車數據作為源域數據。該臺鼓風機在7月20日交付給用戶并進行試運行,導出當日試運行的3500組數據作為目標域數據。以上所有數據可認為均來源于鼓風機正常運行狀態。該設備在2020年7月10日12時37分12秒自動停機,選取當日開機到故障停機的38 890組數據作為測試數據,進行故障預警效果分析。
3.2.1源域模型建立
將源域數據加窗后作為自編碼網絡訓練數據,編碼器各層神經元個數分別為輸入數據維度18β、150、35、3,解碼器結構和編碼器對稱,學習率設為0.01,批量設為256。滑動時窗的寬度影響自編碼網絡重構效果,分別用1、4、7、10、13的窗口寬度對數據進行重采樣,分析重構值和輸入值的平均絕對誤差(MAE)、最大誤差(ME)和標準差(STD)來量化輸入和輸出的差異,評價不同窗口寬度對重構效果的影響。其中MAE用來評價自編碼網絡的整體重構效果,ME和STD反映模型是否能夠穩定地重構輸入向量,對故障預警有著重要意義。MAE、ME和STD值的計算式如下:
(16)
(17)
(18)
f=1,2,…,n
其中,f表示監測參數種類。圖7所示為不同窗口寬度下,進行10次重構求得的MAE、ME和STD的均值和誤差棒。當窗口寬度β為1和7時,ME和STD值均較小,但β=1時誤差棒較長,并且窗口寬度為7時,MAE值最小,因此為充分考慮時序數據的相互影響,使自編碼網絡能夠準確重構輸入數據,窗口寬度設置為7。

圖7 不同窗口寬度的重構效果對比Fig.7 The reconstruction performance of different β
在網絡參數選定后對自編碼網絡進行訓練,訓練過程中重構誤差趨勢如圖8所示,當迭代到400代時,重構誤差趨于平穩,損失值收斂到0.01,說明源域自編碼模型能夠很好地重構輸入數據。

圖8 源域模型訓練過程損失變化Fig.8 Changing of loss during training for source AE
3.2.2模型遷移結果分析
由自編碼模型結構可知,數據的低維特征維度是3,通過繪制特征分布圖[13],對遷移學習效果進行分析(圖9)。圖9a所示為使用源域自編碼器分別提取源域和目標域數據的低維特征分布,由于數據分布差異較大,因此源域特征和目標域特征分布差異也較大,源域自編碼模型難以準確重構目標域數據。使用本文所提遷移學習方法完成目標域編碼器訓練,獲得的目標域數據低維特征如圖9b所示,可以看出,經過遷移后,目標域數據特征向源域低維特征靠近,且出現聚合現象,表明目標域自編碼模型能夠有效降低外界噪聲等干擾,提取到源域和目標域數據共同特征。

(a)遷移前低維特征分布
最后對目標域解碼器進行微調,完成目標域自編碼網絡訓練。選擇電機前軸承溫度分析重構效果,電機前軸承溫度觀測值、重構值如圖10a所示,重構相對誤差如圖10b所示,由圖10可知,重構值和觀測值曲線重合度高,相對誤差小于3%,表明自編碼網絡能夠準確重構出觀測值,學習到鼓風機正常運行狀態的數據特征。

(a)電機前軸承溫度重構
使用目標域自編碼模型對實際運行數據進行重構,計算得到預警指標ζ走勢如圖11和圖12所示。圖13是使用核密度估計法得到的密度函數曲線。選取預警指標的0.99分位數作為預警閾值,即ζth=0.3785。由圖12可知,圖11中a~f處連續超過預警指標的點數量分別為4、4、5、5、7、7,因此根據2.2節所述,設置連續越限閾值Qth為7,即在實際狀態監測過程中,預警指標連續超過7次時才發出故障預警信號,同時,當預警指標連續小于閾值7次時取消報警。

圖11 實際運行數據的故障預警指標Fig.11 The indicator’s value of data collecting at test run

(a)a處放大圖 (b)b處放大圖

圖13 指標分布Fig.13 The indicator value’s distribution
選取當日離心鼓風機開機至故障發生的38 890組數據作為測試數據進行故障預警分析,計算出預警指標ζ和報警結果如圖14a、圖14b所示。圖14a完整地展示了設備由正常到故障狀態的預警指標變化趨勢,在第I階段,設備運行良好未發生故障,模型能夠準確地重構輸入數據,故障預警指標ζ絕大部分處于報警閾值之下且并未觸發報警。在故障發生前期,即第Ⅱ階段,設備正在劣化,逐漸偏離正常狀態,模型難以準確重構輸入數據,預警指標出現變大趨勢。在故障發生的階段Ⅲ,在轉子和殼體發生碰撞的一瞬間,振動值瞬間變大,對應的預警指標發生躍變,如圖15所示。在第15 376點處連續7次超過報警閾值,觸發報警。在第Ⅳ階段,設備狀況進一步惡化,指標值持續變大,最后發生劇烈波動,符合碰撞摩擦的故障特征。本文方法發出故障預警信息比自動停機時刻提前了23 514 s,約6 h 31 min,且故障預警指標ζ變化趨勢高度符合工程實際,若在發出報警信號時及時檢修設備,能有效避免故障進一步擴大。

(a)測試數據的指標走勢圖

圖15 階段Ⅲ指標變化細節圖Fig.15 Indicator’s value of phase Ⅲ
為進一步驗證本文方法的有效性,選擇三種方法進行預警效果對比分析。前兩種方法分別只使用源域數據、只使用目標域數據實現工廠實際運行環境下設備故障預警,第三種是典型的基于自編碼網絡進行故障預警方法。下面給出對比方法的細節和預警結果。
(1)方法1:基于源域數據的故障預警。該方法直接使用源域訓練完成的自編碼網絡,不進行遷移和微調,對實際運行數據進行重構,求出實際運行數據指標分布,并按相同方法得出ζth、Qth,最后對測試數據進行故障預警分析,結果如圖16所示。

(a)方法1測試數據的指標走勢圖
(2)方法2:基于目標域數據的故障預警。該方法直接使用目標域的3500組實際運行數據,經過加窗重采樣后,訓練與源域結構相同的自編碼網絡,參數設置和訓練方法與源域模型建立過程保持一致。使用訓練完成后的網絡,輸入實際運行數據得出計算指標值,按相同的方法確定報警閾值和報警策略,最后對測試數據進行故障預警效果分析。由于20 000點后走勢和本文所提方法相似度高,因此,圖17只展示了測試數據的前20 000個預警指標值。

(a)方法2測試數據的指標走勢圖
(3)方法3[20]:使用文獻[20]所提的MW-SMDAE(moving window-stacked multilevel denoising autoencoder)方法建立自編碼模型。該臺離心鼓風機在制造完成后到此次故障前運行正常,未出現自動停機現象。采集故障前一天的12 123組運行數據,訓練文獻[20]所提出的多層級加噪的兩層自編碼網絡。訓練完畢后,計算得出訓練數據的指標值,然后根據數據分布確定報警閾值ζth、連續報警閾值Qth,并對測試數據進行故障預警分析,故障預警結果如圖18所示。

(a)方法3測試數據的指標走勢圖
如圖16a所示,方法1所得出的預警指標走勢和實際故障演化趨勢一致性較差,存在故障預警不及時等問題。由圖17a、圖18a可知,方法2、方法3和本文方法相似,指標走勢能較好地反映轉子磨損故障實際,但兩種方法在故障發生期間均出現較大躍變,而且方法2在故障進一步擴大期間,即18 000點后,指標值出現異常減小現象。另外,方法2和方法3在故障預警前出現較多誤報警。
為進一步分析各種方法預警效果,表2給出了各方法的報警閾值、報警點和誤報次數等詳細預警結果。由表2可知,方法1的預警閾值最大,故障提前時間最短,但在發出故障預警前存在大量超過閾值的點。方法2和方法3雖然報警提前時間優于本文方法,但存在誤報警點且多次報警前指標超過閾值,降低了故障預警精度。

表2 四種方法預警效果對比Tab.2 Comparison of four fault warning methods’performance
對四種故障預警方法進行對比分析如下:由于源域和目標域數據分布有差異,源域自編碼網絡不能準確地重構實際運行數據,導致預警閾值較大,且源域數據包含部分極端工況運行數據,因此方法1將一些早期故障狀態誤判為正常運行狀態,故障報警提前時間最短;方法2僅使用實際運行數據進行故障預警,由于訓練數據較少,因此自編碼網絡出現輕微過擬合現象,預警閾值最小,過擬合現象也導致了誤報次數較多;當訓練數據量增加,方法3誤報次數和報警前超限的點少于方法2誤報次數和報警前超限的點,但是由于采集的數據可能包含故障信息,加之現場噪聲影響,從而導致模型存在偏差,不能穩定重構正常狀態運行數據。本文所提方法故障預警提前時間較方法2和方法3短,但誤報警和報警前指標超限次數都少于其余三種方法,指標走勢高度符合故障演化趨勢,最滿足實際需求。可見本文方法能很好地將實驗室模型數據用于設備故障預警中,有效提高故障預警效果,降低現場噪聲、數據量不夠豐富或設備正常狀態判斷失誤對模型精度的影響。
本文結合離心鼓風機使用實際,提出一種遷移學習方法,將實驗室數據建立的模型用于實際使用過程中離心鼓風機的故障預警中,有效提高了預警準確度。首先對實驗室采集數據進行加窗重采樣,訓練融入稀疏限制的源域自編碼網絡;然后通過最小化特征的最大均值差異值和對模型進行微調,實現模型遷移;最后根據自編碼網絡提出故障預警指標并制定預警策略,實現離心鼓風機故障預警。
使用實際的離心鼓風機故障案例對本文所提方法進行故障預警分析,結果表明:故障預警指標能很好地反映設備故障演化趨勢,所提的遷移學習方法能有效地將實驗室數據和模型用于實際使用過程中設備故障預警模型的建立,有效提高預警精度,具有工程應用價值。