林 濤,張 達,王建君
(河北工業(yè)大學人工智能與數(shù)據(jù)科學學院,天津 300130)
傳感器廣泛應(yīng)用于能源化工、危險可燃氣體監(jiān)測等領(lǐng)域。這些應(yīng)用場景的工況復雜,導致傳感器的敏感元件十分容易受到灰塵等各種因素的干擾,這些干擾會使得傳感器的輸出值偏離實際值。將偏離實際值的數(shù)據(jù)用于系統(tǒng)控制會給系統(tǒng)造成災(zāi)難性的后果。因此,對傳感器的運行狀態(tài)進行評估,并對其故障時輸出的數(shù)據(jù)進行重構(gòu)顯得十分重要[1]。
文獻[2]利用小波變換來判斷傳感器是否發(fā)生故障,如果發(fā)生故障則用誤差反向傳播BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)對傳感器輸出數(shù)據(jù)進行預(yù)測,通過計算預(yù)測值與實際輸出值之間的殘差大于閾值的頻率進行故障類型的識別。該方法的小波基函數(shù)一旦選定,就會使得模型的轉(zhuǎn)換特性固定,從而導致模型的自適應(yīng)能力變?nèi)?。文獻[3]對傳感器的輸出信號進行經(jīng)驗?zāi)B(tài)分解,得到一組模態(tài)函數(shù),將每個模態(tài)函數(shù)的樣本熵作為傳感器的故障特征,將這些特征通過稀疏表達分類器SRC(Sparse Representation-based Classifier)進行分類得出傳感器的故障狀態(tài)。該方法分類效果優(yōu)異,但容易受到噪聲干擾產(chǎn)生虛假分量的影響,不適用于噪聲干擾大的場合。文獻[4,5]分別通過徑向基函數(shù)RBF(Radial Basis Function)神經(jīng)網(wǎng)絡(luò)和廣義回歸神經(jīng)網(wǎng)絡(luò)GRNN(General Regression Neural Network)對時序數(shù)據(jù)進行預(yù)測,如果預(yù)測值與傳感器實際輸出之間的差值超過閾值,就將傳感器的運行狀態(tài)判定為故障,并用預(yù)測值重構(gòu)傳感器的輸出值。這2種方法可以實現(xiàn)傳感器的故障診斷與數(shù)據(jù)重構(gòu),且故障診斷的準確率較高。但是,由于只是將殘差與固定值進行比較,所以只能診斷出傳感器是否發(fā)生故障,而無法診斷出傳感器發(fā)生了何種故障,在故障診斷功能上具有一定的局限性。
傳感器采集的數(shù)據(jù)為時序數(shù)據(jù),其在時間上具有很強的關(guān)聯(lián)性,長短期記憶LSTM(Long Short-Term Memory)網(wǎng)絡(luò)可以將之前的狀態(tài)、現(xiàn)在的記憶和當前輸入的信息結(jié)合在一起,特別適用于處理時間、空間序列上有強關(guān)聯(lián)的信息[6]。同時,對于LSTM細胞核來說,傳感器所采集的信息在通過細胞核內(nèi)各個門時其信息的遺忘和保留是相對的,所以可以通過對LSTM細胞核的改進來提高算法的收斂速度和準確率。通過預(yù)測值與傳感器采集值的殘差序列來獲得傳感器工作狀態(tài)的過程,可以看作對殘差序列進行分類的過程,由于殘差序列的維度較高,所以此分類過程是對高維數(shù)據(jù)分類的過程。隨機森林RF(Random Forest)算法通過建立的多個決策樹共同投票來決定分類結(jié)果,特別適用于高維數(shù)據(jù)分類[7]?;诖?,本文提出一種改進的LSTM-RF的算法,用于傳感器的故障診斷與故障數(shù)據(jù)重構(gòu)。該算法將傳感器故障診斷與故障數(shù)據(jù)重構(gòu)分別看作分類和回歸的問題,并將二者合二為一。判斷傳感器屬于哪種工作狀態(tài)的依據(jù)為預(yù)測值與實際值殘差序列的幅值與排序;數(shù)據(jù)是否重構(gòu)的依據(jù)取決于傳感器的工作狀態(tài),如果狀態(tài)為故障,則重構(gòu)故障數(shù)據(jù)。最后,本文利用NO2傳感器采集的數(shù)據(jù),通過實驗表明了所提算法的有效性。
LSTM是增加了記憶功能的循環(huán)神經(jīng)網(wǎng)絡(luò)。在組成結(jié)構(gòu)上LSTM的隱藏層有3個門,分別為輸入門、遺忘門和輸出門。這些門的輸出值大小都在0~1,輸出值的大小決定了通過門的輸入量的大小[8]。當門的輸出值為0時,表示門關(guān)閉,此時任意量都無法通過;當門的輸出值為1時,此時任意量都可以通過。LSTM通過這3個門來實現(xiàn)對輸出值狀態(tài)和隱藏層狀態(tài)的保護和控制。
圖1為標準的LSTM隱藏層細胞結(jié)構(gòu),其中ft為遺忘門的激活值,ot為輸出門的激活值。ht和ht-1分別為t時刻和t-1時刻記憶單元的輸出。ct和ct-1分別為t時刻和t-1時刻記憶單元的狀態(tài),為記憶單元候選狀態(tài)[9]。設(shè)輸入時間序列為(x1,x2,…,xt,…,xn),則在t時刻有式(1)~式(6):
it=σ(Wi*[ht-1,xt]+bi)
(1)
其中,it為輸入門的激活值,σ為激活函數(shù),Wi為輸入門的權(quán)重向量 ,ht-1為t-1時刻記憶單元的輸出,xt為t時刻記憶單元的輸入,bi為輸入門輸入控制的偏置。
gt=tanh(Wc*[ht-1,xt]+bc)
(2)
其中,gt為記憶單元的候選狀態(tài),Wc為輸入門候選狀態(tài)的權(quán)重向量,ht-1為t-1時刻記憶單元的輸出,xt為t時刻記憶單元的輸入,bc為輸入門候選狀態(tài)的偏置。
ft=σ(Wf*[ht-1,xt]+bf)
(3)
其中,ft為遺忘門的激活值,σ為激活函數(shù),Wf為遺忘門的權(quán)重向量,ht-1為t-1時刻記憶單元的輸出,xt為t時刻記憶單元的輸入,bf為遺忘門的偏置。
ct=it*gt+ft*ct-1
(4)
其中,ct為t時刻記憶單元的狀態(tài),it為輸入門的激活值,gt為記憶單元的候選狀態(tài),ft為遺忘門的激活值,ct-1為t-1時刻記憶單元的狀態(tài)。
ot=σ(Wo*[ht-1,xt]+bo)
(5)
其中,ot為輸出門的激活值,σ為激活函數(shù),Wo為輸出門的權(quán)重向量,bo為輸出門的偏置,ht-1為t-1時刻記憶單元的輸出,xt為t時刻記憶單元的輸入。
ht=ot*tanh(ct)
(6)
其中,ht為記憶單元的輸出,ot為輸出門的激活值,ct為t時刻記憶單元的狀態(tài)。
Figure 1 Standard LSTM hidden layer cell structure圖1 標準LSTM細胞結(jié)構(gòu)
改進型LSTM的細胞核如圖2所示。通過與圖1對比可知,本文主要對標準的LSTM細胞核做了以下2點改進:(1)在標準LSTM的遺忘門和輸出門上增加了孔連接,使遺忘門和輸出門都能接受上一時刻的記憶單元ct-1作為輸入。改進后的結(jié)構(gòu)使得模型能夠更加充分地選擇將要保留和遺忘的歷史信息。(2)與標準的LSTM模型相比,改進的LSTM的記憶單元耦合了輸入門和遺忘門,因為傳感器采樣的歷史值是時序數(shù)據(jù),對于此類時序數(shù)據(jù)來說,遺忘的信息和保留的信息是相對的,當遺忘的信息被確定后,那么剩下的信息就是需要保留的信息[10],即輸入門激活值=1-遺忘門激活值,這使得之前被遺忘的信息狀態(tài)僅受新的輸入值的影響,模型的邏輯更加直觀,效果也更好。經(jīng)過對LSTM細胞核的改進,此時式(3)為變?yōu)槭?7),式(5)變?yōu)槭?8),式(4)變?yōu)槭?9):
ft=σ(Wf*[ct-1,ht-1,xt]+bf)
(7)
其中,ft為遺忘門的激活值,σ為激活函數(shù),Wf為遺忘門的權(quán)重向量,ct-1為t-1時刻記憶單元的狀態(tài),ht-1為t-1時刻記憶單元的輸出,xt為t時刻記憶單元的輸入,bf為遺忘門的偏置。
ot=σ(Wo*[ct-1,ht-1,xt],bo)
(8)
其中,ot為輸出門的激活值,σ為激活函數(shù),Wo為輸出門的權(quán)重向量,bo為輸出門的偏置,ct-1為t-1時刻記憶單元的狀態(tài),ht-1為t-1時刻記憶單元的輸出,xt為t時刻記憶單元的輸入。
ct=ft*ct-1+(1-ft)gt
(9)
其中,ct為t時刻記憶單元的狀態(tài),gt為記憶單元的候選狀態(tài),ft為遺忘門的激活值,ct-1為t-1時刻記憶單元的狀態(tài)。
Figure 2 Improved LSTM hidden layer cell structure圖2 改進LSTM的細胞結(jié)構(gòu)
隨機森林是由一系列決策樹組合而成的分類器,由Breiman在Bagging算法上改進而成的[11]。
隨機森林的訓練過程包括2個步驟,第1步是采用bagging抽樣技術(shù),從原始的訓練集中隨機生成具有一定重復性的K個訓練子集為每棵樹生成一個訓練集。第2步是在得到每棵樹的訓練集后,從總特征中隨機選取一些特征來訓練每個訓練集,生成K個決策樹,從而形成一個隨機森林[12]。
傳感器故障分類所使用的隨機森林算法結(jié)構(gòu)圖如圖3所示,構(gòu)造的多棵決策樹組成了隨機森林分類器,通過多棵決策樹共同投票,從而使故障分類的準確率有了很大的提高。
Figure 3 Structure of random forest algorithm圖3 隨機森林算法結(jié)構(gòu)
對改進LSTM-RF故障診斷模型與數(shù)據(jù)重構(gòu)的建模過程如圖4所示,其步驟可以總結(jié)如下:
Figure 4 Training flowchart of the improved LSTM-RF algorithm圖4 改進LSTM-RF算法訓練流程圖
(1)取訓練樣本中無故障數(shù)據(jù),生成集合(x1,x2,…,xn)。
(2)構(gòu)造時間序列。時間序列的樣本和標記分別為(X1,X2,…,Xm)和(y1,y2,…,ym)。其中X1為(x1,x2,…,xk-1)組成的向量,y1為xk,X2為(x2,x3,…,xk)組成的向量,y2為xk+1。依次類推:Xm為(xm,xm+1,…,xm+k-1)組成的向量,ym為xm+k。
(3)針對時間序列進行歸一化處理,本文所用的歸一化的方法為X′=(x-xmin)/(xmax-xmin)。
(4)構(gòu)建改進LSTM網(wǎng)絡(luò)模型。模型的輸入與輸出分別為時間序列的樣本和標記。損失率為均方根誤差k。
(5)針對構(gòu)建的改進LSTM模型,使用BPTT反向傳播法對其進行訓練。
(6)損失函數(shù)設(shè)定為均方根誤差,激活函數(shù)為adam,當模型的損失率趨于穩(wěn)定后,停止訓練,并保存訓練完的改進LSTM模型M1。
(7)取訓練樣本中有故障數(shù)據(jù),生成集合(e1,e2,…,en)。
(8)針對故障數(shù)據(jù)集合(e1,e2,…,en),與步驟(2)所示方法一致,生成故障序列的樣本(E1,E2,…,Ej)和標記(l1,l2,…,lj),Em為(em,em+1,…,em+k-1)組成的向量。
(11)構(gòu)造隨機森林分類器。
(12)訓練隨機森林模型,輸入為殘差數(shù)據(jù)集合(r1,r2,…,rj)和標記集合(l1,l2,…,lj)。
對傳感器的運行狀態(tài)進行故障診斷與故障數(shù)據(jù)重構(gòu)的步驟如圖5所示,其步驟總結(jié)如下:
(1)取傳感器測量數(shù)據(jù),生成傳感器測量數(shù)據(jù)集合(x1,x2,…,xn)。
(2)構(gòu)造時間序列,時間序列的樣本和標記分別為(X1,X2,…,Xm)和(y1,y2,…,ym)。其中X1為(x1,x2,…,xk-1)組成的向量,y1為xk,X2為(x2,x3,…,xk)組成的向量,y2為xk+1。依次類推:Xm為(xm,xm+1,…,xm+k-1)組成的向量,ym為xm+k。
(3)針對時間序列進行歸一化處理,本文所用的歸一化的方法為X′=(x-xmin)/(xmax-xmin)。
(6)殘差數(shù)據(jù)集合中數(shù)據(jù)的幅值和排序蘊含著傳感器的運行狀態(tài),使用隨機森林模型M2對殘差數(shù)據(jù)集合進行分類,分類的結(jié)果為當前傳感器的運行狀態(tài)。
Figure 5 Flowchart of sensor fault diagnosis and fault data reconstruction based on improved LSTM-RF algorithm圖5 改進LSTM-RF算法故障診斷與數(shù)據(jù)重構(gòu)流程圖
本文使用2種不同類型的傳感器產(chǎn)生的數(shù)據(jù)集來驗證所提的改進LSTM-RF算法在傳感器故障診斷與數(shù)據(jù)重構(gòu)中的有效性,這2個傳感器分別為NO2傳感器與風機齒輪箱溫度傳感器。2個數(shù)據(jù)集分別標注了傳感器在7種狀態(tài)下采集的數(shù)據(jù),7種狀態(tài)分別為傳感器正常狀態(tài)、傳感器偏差故障、傳感器沖擊故障、傳感器周期性干擾故障、傳感器漂移故障、傳感器噪聲干擾故障和傳感器輸出恒定值故障。在故障嚴重程度上風機齒輪箱溫度傳感器數(shù)據(jù)集的故障幅度和漂移的偏移量要小于NO2傳感器數(shù)據(jù)集中的相應(yīng)值。
本文采用網(wǎng)格搜索法來確定改進型LSTM和隨機森林的超參數(shù)。限于文章篇幅,以NO2傳感器數(shù)據(jù)集為例展開分析。圖6為改進型LSTM的Epoch參數(shù)值對訓練集和測試集上均方根誤差的影響。從圖6中可以看出,當Epoch值小于4時,訓練集和測試集的均方根誤差都在減小;當Epoch大于4時,訓練集的均方根誤差在緩慢地下降,但是測試集的均方根誤差卻在增加,并出現(xiàn)了很大的振蕩,這說明由于模型的訓練過度而導致了其在訓練集上的精度不斷提升,而在測試集上的精度卻發(fā)生了下降。訓練過度會造成模型發(fā)生過擬合,因此本文選定超參數(shù)Epoch為4來訓練模型。圖7為隨機森林所包含決策樹的數(shù)量對傳感器故障診斷準確率的影響。從圖7中可以看出,在訓練集上,隨著決策樹數(shù)量的增多,訓練集的準確率一直在增加,而測試集上的準確率在決策樹數(shù)量為22之后出現(xiàn)了明顯的下降,并且發(fā)生了很大的振蕩,這說明隨機森林模型由于決策樹數(shù)量過多而導致模型訓練過度,從而使得模型發(fā)生了過擬合。因此,本文所構(gòu)建的隨機森林里決策樹數(shù)量的大小選為22。
Figure 6 Different forest accuracy based on improved LSTM under different Epoch圖6 改進LSTM預(yù)測精度隨Epoch變化曲線
Figure 7 Different diagnosis accuracy under different numbers of decision trees圖7 故障診斷準確率隨決策樹數(shù)量變化曲線
傳感器故障數(shù)據(jù)重構(gòu)是指傳感器發(fā)生故障后,對傳感器故障時輸出的數(shù)據(jù)進行重構(gòu),使得輸出數(shù)據(jù)更加符合真實數(shù)據(jù)。限于文章篇幅,本文僅以NO2傳感器數(shù)據(jù)重構(gòu)為例進行分析,NO2傳感器故障數(shù)據(jù)重構(gòu)如圖8所示。從圖8中的傳感器輸出值和實際值這2條曲線可以看出,由于傳感器發(fā)生了偏置故障,傳感器的輸出值與實際值之間的偏差非常大。相較于傳感器的輸出曲線,數(shù)據(jù)重構(gòu)曲線更加靠近實際值曲線,這說明重構(gòu)后的數(shù)據(jù)比傳感器的輸出數(shù)據(jù)更加靠近實際值,所建模型取得了
Table 1 Accuracy of sensor fault diagnosis表1 傳感器故障診斷的準確率 %
Figure 8 Curve of fault data reconstruction圖8 故障數(shù)據(jù)重構(gòu)曲線
良好的故障數(shù)據(jù)重構(gòu)效果。
近年來梯度提升樹GBDT(Gradient Boosting Decision Tree)、支持向量機SVM(Support Vector Machine)和樸素貝葉斯NBM(Naive Bayesian)等機器算法在很多數(shù)據(jù)集中都被證明具有很強的分類能力[13]。本文在相同的殘差數(shù)據(jù)集上將隨機森林算法與這3種算法的準確率和在測試集與訓練集上所用的時間進行了對比,結(jié)果如圖9所示。由圖9可知,在2個數(shù)據(jù)集上樸素貝葉斯分類算法的訓練時間和測試時間要小于隨機森林、梯度提升樹和支持向量機的,但是在準確率上隨機森林的準確率要高于梯度提升樹、樸素貝葉斯和支持向量機的。綜合考慮模型故障診斷的時間和所需消耗的時間,隨機森林算法在傳感器故障診斷上的綜合性能更好。
為了說明改進型LSTM在故障數(shù)據(jù)重構(gòu)上的優(yōu)越性,本文使用改進型LSTM與標準的LSTM、門控循環(huán)單元GRU(Gated Recurrent Unit)對2個故障數(shù)據(jù)集進行了故障數(shù)據(jù)重構(gòu),實驗結(jié)果如圖10所示。從圖10中可以看出,對于相同的數(shù)據(jù)集,改進的LSTM的收斂速度更快,這與其將輸入門與遺忘門相融合簡化了模型相吻合。同時比較3個算法的收斂值,發(fā)現(xiàn)改進型LSTM在故障數(shù)據(jù)重構(gòu)時的均方根誤差要小于標準的LSTM和GRU的,這說明改進型LSTM的故障數(shù)據(jù)重構(gòu)效果更好。
Figure 9 Comparison of different accuracy and required time with different recurrent neural networks圖9 各算法對相同殘差序列分類的準確率與分類使用的時間對比圖
Figure 10 Curve of fault data reconstruction with different algorithms圖10 多種算法的數(shù)據(jù)重構(gòu)誤差曲線
為了提高傳感器系統(tǒng)在運行過程中的穩(wěn)定性和可靠性,本文結(jié)合長短期記憶(LSTM)網(wǎng)絡(luò)在時序數(shù)據(jù)預(yù)測上的優(yōu)勢與隨機森林RF在分類上的優(yōu)勢,提出了改進型LSTM-RF算法,用于傳感器的故障診斷與數(shù)據(jù)重構(gòu)。
本文提出的改進型LSTM-RF算法對于不同的傳感器檢測效率不同。對于NO2傳感器,本文算法的故障診斷平均準確率達到了98.4%,對于風機齒輪箱溫度傳感器平均診斷準確率達到97.3%,所提算法在2個數(shù)據(jù)集上的綜合效果優(yōu)于梯度決策樹、SVM和樸素貝葉斯算法。在2個數(shù)據(jù)集上故障數(shù)據(jù)重構(gòu)的均方根誤差均小于4%,數(shù)據(jù)重構(gòu)的效果優(yōu)于標準的LSTM和GRU算法。
綜上所述,本文通過對LSTM細胞核結(jié)構(gòu)的改進以及與隨機森林算法的組合使用,在傳感器故障診斷與數(shù)據(jù)重構(gòu)上取得了較為理想的效果。但是,本文在尋找改進LSTM和隨機森林超參數(shù)時,采取的是網(wǎng)格搜索方法,缺少相應(yīng)的理論依據(jù)。后續(xù)可以進一步研究如何有效地選取各個機器學習算法的超參數(shù),更好地解決本文所提的問題。