章浩偉 周琪馨 任筱倩
摘 要:為了保障風機的正常運行,提出基于自編碼(Autoencoder,AE)的風機故障檢測方法。依據(jù)法國風機ENGIE公開的風速傳感器數(shù)據(jù),建立欠完備自編碼模型(UAE)、去噪自編碼模型(DAE)與收縮編碼器(CAE)模型,對風機風速傳感器數(shù)據(jù)進行編碼和解碼,計算重構誤差并設定閾值進行故障檢測。用多風機風速傳感器數(shù)據(jù)建立PCA模型并與去噪編碼器模型對比。根據(jù)ROC曲線與AUC值對比,得出欠完備自編碼模型、去噪自編碼模型、收縮編碼器模型均可用于風機異常檢測,且收縮編碼器效果最好的結論。PCA模型也可用于故障檢測,同時多風機故障檢測效果高于單一風機。
關鍵詞:風機故障;自編碼;去噪自編碼;收縮編碼器
DOI:10. 11907/rjdk. 182849 開放科學(資源服務)標識碼(OSID):
中圖分類號:TP319文獻標識碼:A 文章編號:1672-7800(2019)009-0158-05
Anomaly Detection for Wind Turbines Based on Autoencoder Model
ZHANG Hao-wei,ZHOU Qi-xin,REN Xiao-qian
(College of Biomedical Engineering, University of Shanghai for Science and?Technology, Shanghai 200093, China)
Abstract:In order to achieve anomaly detection for wind turbines and keep the running of wind turbines,an anomaly detection method based on autoencoder is proposed. We obtained the ENGIE open data of the wind speed sensor on the French wind turbines and built the under-complete autoencoder model, the denoising autoencoder network model and the contractive autoencoder model. The power reconstruction error by encoding and decoding the power of wind turbines was calculated and the appropriate threshold value was selected as the decision criteria for anomaly detection. The PCA was built to be compared with denoising autoencoder model with four wind speed sensor data. According to the ROC curve and the AUC value, the under-complete autoencoder model, the denoising autoencoder model and the contractive autoencoder model can all be used for ?anomaly detection for wind turbines, and the contractive autoencoder model is better than the other two models. The PCA model can also be used for fault detection and the wind speed sensor data of four wind turbines is better than one single sensor data.
Key Words: anomalies of wind turbines; autoencoder; denoising autoencoder; contractive autoencoder
0 引言
風能年代久遠,是最重要的能源之一,具有儲藏量大、可再生、無污染、分布范圍廣的特點。目前,世界上已有82個國家把風電列入國家戰(zhàn)略性新興產業(yè),積極開發(fā)利用風能。風電數(shù)據(jù)[1]具有變量多、數(shù)據(jù)量大、類型復雜的特點。深度學習算法與傳統(tǒng)故障診斷方法相比,克服了傳統(tǒng)方法對診斷經驗的依賴性和大數(shù)據(jù)下模型診斷能力與泛化能力的不足。
自編碼器(Autoencoder,AE)是神經網絡的一種,經過訓練后能嘗試將輸入復制到輸出,主要包括欠完備編碼器(Undercomplete Autoencoder,UAE)、去噪編碼器(Denoising Autoencoder,DAE)、收縮編碼器(Contractive Autoencoder,CAE)與稀疏編碼器(Sparse Autoencoder,SAE),其中欠完備編碼器(UAE)又稱為深度自編碼器。自編碼模型利用風速傳感器數(shù)據(jù)作為輸入進行多層深度學習[2],訓練過程中對原始數(shù)據(jù)進行編碼和解碼,并以非監(jiān)督方式學習數(shù)據(jù)的固有結構和特征。在訓練過程中能使信息損失最小,且能夠準確保留抽象和深層的特征信息。
Meik Schlechtingen[3]使用數(shù)據(jù)挖掘方法成功對風機功率曲線進行了監(jiān)測;石鑫,朱永利[4]等提出了基于深度自編碼網絡的電力變壓器故障診斷方法,與基于反向傳播神經網絡(BPNN)、支持向量機(SVM)故障診斷方法相比,提高了診斷正確率;劉輝海[5]等提出了基于風電機組齒輪箱數(shù)據(jù)的深度自編碼網絡模型,驗證了深度自編碼網絡學習方法對齒輪箱數(shù)據(jù)故障檢測的有效性;Long Wang[6]則利用深度自編碼網絡(UAE)對風機葉片成功進行了故障檢測;Guoqian Jiang[7]利用去噪編碼器模型(DAE)對風機實現(xiàn)了故障檢測;Pingping Wen[8]建立了稀疏編碼器(SAE)模型成功對船舶葉片實現(xiàn)了故障檢測。本文首次建立收縮編碼器模型(CAE)用于風機故障檢測,并且與欠完備自編碼模型(UAE)、去噪編碼器模型(DAE)與PCA模型(Principal Component Analysis,PCA)進行對比,利用單一風機的風速傳感器數(shù)據(jù)對UAE、DAE與CAE三種模型進行實驗,利用4個風機風速傳感器數(shù)據(jù)進行PCA與DAE模型實驗。得知4種模型均可以用于風機故障檢測,收縮編碼器(CAE)故障檢測率最高,欠完備編碼器模型(UAE)最低,多風機傳感器數(shù)據(jù)可提高故障檢測率。
1 自編碼器與PCA
深度自編碼網絡也是欠完備自編碼網絡,由多層自編碼器AE堆疊成神經網絡,結構上與傳統(tǒng)多層神經網絡沒有區(qū)別。訓練時采用逐層訓練方法,即將前一層的輸出作為下一層的輸入依次訓練,有效解決了傳統(tǒng)神經網絡[9]訓練方法不適用于多層網絡訓練的問題。
1.1 欠完備編碼器
以一層自編碼AE為例,一個基本的AE可視為一個三層的神經網絡結構,即輸入層、隱藏層和輸出層。其中輸出層與輸入層規(guī)模相同。從輸入層到隱含層是編碼過程,從隱含層到輸出層是解碼過程。設[f(x)]和[g(h)]分別表示編碼和解碼函數(shù),則2個過程可分別表示為式(1)和式(2)。
其中,[Sf]和[Sg]通常為Sigmoid函數(shù)[10],[W]為輸入層與隱含層之間的權值矩陣,[W]為隱含層與輸出層之間的權值矩陣[11],通常為[WT];[p]和[q]分別為隱含層和輸出層上的偏置向量。為了下文表示方便,將AE的參數(shù)記為[θ],即[θ=W,p,q]。假設訓練樣本集[S=x(1),x(2),?,xN],預訓練AE的過程實質上就是利用[S]對參數(shù)[θ]進行訓練的過程。為此,首先定義1個訓練目標,即解碼后的[y]應與輸入[x]盡可能地接近,接近程度可表述為重構誤差函數(shù)[L(x,y)]:
基于重構誤差函數(shù),針對訓練數(shù)據(jù)集[S],損失函數(shù)[12]如式(4)所示。然后利用梯度下降法對損失函數(shù)進行極小化,得到該層AE參數(shù):
一層AE訓練完成之后,將其隱含層[13]單元的輸出向量作為下一層輸入。對下一層AE進行訓練,依次迭代,直至最終完成整個深度自編碼網絡訓練。
1.2 去噪自編碼器
去噪自編碼器[14]與欠完備編碼器的區(qū)別是輸入數(shù)據(jù)添加了噪聲。給定一個輸入[x],編碼器會用已經損壞的數(shù)據(jù)[x]代替原始數(shù)據(jù)[x]傳輸給隱藏層:
[f]是一個非線性的激活函數(shù),[W1∈Rd*m]是權重矩陣,[b∈Rd]在隱藏層中有d個節(jié)點,也是在編碼中要進行最優(yōu)化的偏置矢量。同理,變量[W2∈Rd*m]和[c∈Rm],解碼器利用一個非線性的轉換[x]映射生成重建矢量[15][x],輸出表達式如下:
[g(.)]也是一個非線性激活函數(shù),權重矩陣[W2]被選作為[W2=W1T],綁定權重學習效果更好。
給定輸入訓練集[xini=1],可通過[i=1nxi-xi2]計算重構誤差。去噪自編碼器訓練目標是通過最小化重構誤差[16]找到編碼和解碼過程中的最優(yōu)化參數(shù)[θ=W1,b,c],進而進行參數(shù)優(yōu)化得到最小化[θ]。
式(7)中的重建誤差計算是解碼器輸出結果(損壞的輸入重建后的結果)與原始輸入之間的差異,而不是與被破壞的輸入差異,即自動編碼器從有噪聲的輸入[x]再現(xiàn)原始輸入[x],使自動編碼器對具有噪聲的數(shù)據(jù)具有魯棒性。重構誤差[E∈RM*N],其為訓練輸入[X]與重建數(shù)據(jù)[X]間差異為:[E=X-X]。
1.3 收縮自編碼器
壓縮編碼器(CAE)與自動編碼器(AE)不同的是增加了額外的懲罰項,用以最小化與輸入有關的雅可比行列式的平方范數(shù)[17]。一個標準的自編碼器包括編碼器與解碼器,編碼器對輸入數(shù)據(jù)進行編碼到隱藏層,解碼器對隱藏層數(shù)據(jù)進行解碼到輸出。通常給定輸入[x∈Rdx],隱藏層表示為[h∈Rdh],編碼器通過[dh×dx]大小的矩陣[We]和偏置矢量[bh∈Rdh]進行參數(shù)化,解碼器通過[dx×dh]大小的矩陣[Wd]和偏置矢量[by∈Rdh]進行參數(shù)化,解碼器輸出[y∈Rdx]則為:
1.4 主成分分析(PCA)模型
主成分分析(PCA)是迄今為止最流行的降維算法[19],也是最經典的基于線性分類的分類系統(tǒng),其最大特點是利用線性擬合的方法把分布在多個維度的高維數(shù)據(jù)投射到幾個軸上。如果每個樣本只有兩個數(shù)據(jù)變量,這種擬合就是[a1x+a2x2=P],其中[x1]和[x2]分別是樣本的兩個變量,而[a1]和[a2]被稱為載荷[20],P值叫作主成份。當一個樣本只包含兩個變量,主成份分析本質上就是做一個線性回歸[21]。如果一個樣本有n個變量,則主成份就變?yōu)椋?/p>
A稱為主成分的載荷,P則為得分。如果自動編碼器僅使用線性激活函數(shù)且損失函數(shù)是均方誤差(MSE),則它最終執(zhí)行主成分分析。
2 分析步驟
風機正常工作狀態(tài)下,風速傳感器數(shù)據(jù)間的特征規(guī)則保持相對穩(wěn)定。風機故障時規(guī)則改變,重構誤差Re(Reconstruction Error,Re)的趨勢也改變。正常狀態(tài)下,Re維持在閾值[22]范圍內變化,當Re 變化越過閾值并保持在閾值之上,則判定風機發(fā)生故障。利用建立的自編碼模型計算數(shù)據(jù)集的重構誤差Re,將其作為風機的檢測量。通過分析Re變化趨勢[23]或突變程度,實現(xiàn)對風機的故障檢測。根據(jù)“受試者工作特征”(Receiver Operating Characteristic,ROC)曲線與ROC曲線下的面積AUC(Area Under Curve,AUC)[24],對比3種編碼器與PCA模型故障檢測效果。
基于自編碼模型的風機故障檢測步驟:①獲取法國Engie公開的風速傳感器數(shù)據(jù)建立變量數(shù)據(jù)集,對數(shù)據(jù)進行歸一化處理并分為訓練集和測試集;②建立欠完備自編碼網絡模型、去噪自編碼模型、收縮編碼器模型與PCA模型;③通過模型得到重構誤差,設定閾值并運用測試數(shù)據(jù)集實驗,檢測風機是否發(fā)生故障;④對比欠完備自編碼、去噪自編碼與收縮編碼器模型的故障檢測結果;⑤對比多風機風速傳感器數(shù)據(jù)與去噪自編碼模型故障檢測結果。
3 算例分析
選取法國ENGIE公司2017-2018年R80711、R80721、R80736、R80790四種公開數(shù)據(jù)的風機,每批次數(shù)據(jù)量均為8 125 × 7,時間為一天。DA 模型設定4 個隱含層,隱含層單元數(shù)分別為1 000、500、250、50,數(shù)據(jù)集按 ? 8∶2 分為訓練集和測試集。在訓練過程中,用訓練集學習每個隱含層的權值和偏置值,然后利用AE模型計算測試集的Re。AE模型的參數(shù)w、a、b 初始化為服從高斯分布的隨機較小值,初始學習率設為0.1,網絡更新速率設為0.001。
由圖1可以看出,自編碼模型可以學習到原始數(shù)據(jù)并能很好地預測原始數(shù)據(jù)趨勢,根據(jù)自編碼輸出與原始數(shù)據(jù)作差可以得到重構誤差Re。
由圖2可知欠完備自編碼[6]可用于故障檢測,神經元數(shù)目為25時故障檢測效果較好,AUC是0.831 2。
根據(jù)ROC 曲線可知,去噪自編碼網絡[7]可用于風機故障檢測,sigma為0.1、神經元數(shù)目為25時故障檢測效果較好,AUC是0.852 8,如圖3所示。
由表1可知欠完備自編碼模型、去噪自編碼模型、收縮編碼器模型與PCA模型均可以用于風機的故障檢測,且3種編碼器中收縮編碼器故障檢測效果最好,選取多風機數(shù)據(jù)可提高風機故障檢測率。
4 結語
本文建立了收縮自編碼模型(CAE)并成功用于風機故障檢測,提高了故障預測準確率,收縮自編碼網絡(CAE)與欠完備自編碼(UAE)、去噪自編碼(DAE)與PCA模型對比,收縮編碼器(CAE)模型故障檢測效果最好,AUC值為0.878 4,去噪編碼器(DAE)次之,AUC值為0.852 8。選取多風機數(shù)據(jù)可以提高故障檢測率,選取4個風機數(shù)據(jù)可以將去噪自編碼模型的故障準確率由0.852 8提高到0.864 7。今后可研究其它類型編碼器或綜合編碼器用于風機的故障檢測,提高風機故障檢測率。
參考文獻:
[1] 杭俊,張建忠,程明,等. 風力發(fā)電系統(tǒng)狀態(tài)監(jiān)測和故障診斷技術綜述[J]. 電工技術學報,2013,28(4): 262-271.
[2] 楊明,董傳洋,徐殿國. 基于電機驅動系統(tǒng)的齒輪故障診斷方法研究綜述[J]. 電工技術學報,2016,31(4): 58-63.
[3] SCHLECHTINGEN M,SANTOS I F,ACHICHE S. Using data-mining approaches for wind turbine power curve monitoring: a comparative study[J]. IEEE Transactions on Sustainable Energy,2016(4):671- 679.
[4] 石鑫,朱永利. 基于深度自編碼網絡的電力變壓器故障診斷[J]. 電力自動化設備,2016(5):122-126.
[5] 劉輝海. 基于深度自編碼網絡模型的風電機組齒輪箱故障檢測[J]. 電工技術學報,2017,32(17): 58-63.
[6] WANG L, ZHANG Z, XU J, et al. Wind turbine blade breakage monitoring with deep autoencoders[J]. IEEE TRANSACTIONS ON SMART GRID, 2018,9(7):4-9.
[7] JIANG G Q, XIE P. Wind turbine fault detection using a denoising autoencoder with temporal information[J]. IEEE/Asme transactions on mechatronics,2018,26(2):100-108.
[8] WEN P P,WANG T Z. Blade imbalanced fault diagnosis for marine current turbine based on sparse autoencoder and Softmax regression[C]. Nanjing:2018 33rd Youth Academic Annual Conference of Chinese Association of Automation (YAC),2018.
[9] 趙光權,葛強強,劉小勇,等. 基于DBN 的故障特征提取及診斷方法研究[J]. 儀器儀表學報,2016,39(7): 1946-1953.
[10] 雷亞國, 賈峰, 周昕, 等. 基于深度學習理論的機械裝備大數(shù)據(jù)健康監(jiān)測方法[J]. 機械工程學報,2015, 51(21): 49-56.
[11] WANG X C, GUO P, HUANG X B. A Review of wind power forecasting models[C]. The Proceedings of International Conference on Smart Grid and Clean Energy Technologies,2011:770-778.
[12] HONG Y Y, CHANG H L, CHIU C S. Hour-ahead wind power and forecasting using simultaneous perturbation stochastic approximation(SPSA) algorithm and neural network with fuzzy inputs[J]. Energy,2010,35(9):3870-3876.
[13] 胡昭華,宋耀良. 基于Autoencoder網絡的數(shù)據(jù)降維和重構[J]. 電子與信息學報,2009,31(5):1189-1192.
[14] VINCENT P, LAROCHELLE H, BENGIO Y, et al. Extracting and composing robust features with denoising autoencoders[C]. 25th International Conference on Machine Learning, 2008: 1096-1103.
[15] JIANG G, HE H, XIE P, et al. Stacked multilevel-denoising autoencoders: a new representation learning approach for wind turbine gearbox fault diagnosis[J]. ?IEEE Transactions on Instrument and Measurement, 2017,66(12):2391-2402.
[16] VINCENT P, LAROCHELLE H, LAJOIE I,et al. Stacked denoising autoencoders: learning useful representations in a deep network with a local denoising criterion[J]. Journal of Machine Learning Research, 2010(11):3371-3408.
[17] RIFAI, SALAH, MESNIL, et al. Higher order contractive autoencoder[J]. Machine Learning and Knowledge Discovery in Databases,2011(1):645-660.
[18] RIFAI, SALAH, VINCENT,et al. Contractive autoencoders: explicit invariance during feature extraction[C]. Proceedings of the 28th International Conference on Machine Learning (ICML-11),2011:833-840.
[19] 方健,李自品,袁輝,等. 基于主成分分析的 BP 神經網絡的應用[J]. 變壓器,2011,48(1):47-51.
[20] 葉永偉,劉志浩,黃利群. 基于PCA 的汽車涂裝線設備信號特征提取[J]. ?儀器儀表學報,2011,32(10):2363-2370.
[21] 唐勇波,桂衛(wèi)華,彭濤,等. PCA 和KICA 特征提取的變壓器故障診斷模型[J]. 高電壓技術,2014,40(2):557-563.
[22] ALCALA C F,QIN S J. Reconstruction-based contribution for process monitoring[J]. ?Automatica, 2009,45(7):1593-1600.
[23] MA L,LUAN S Y. A review on the forecasting of wind speed and generated power[J]. Renewable and Sustainable Energy Reviews,2009,13(4):915-920.
[24] ZHANG W ?Y,WU J,WANG Z J,et al. Performance analysis of four modified approaches for wind speed forecasting[J]. Applied Energy,2012(99):324-333.
(責任編輯:杜能鋼)