基于堆疊自編碼器的遞階故障分類方法
1.本發明涉及基于數據驅動的故障分類方法領域,特別是針對非線性大規模化工過程提出的一種基于堆疊自編碼器的遞階故障分類方法。
背景技術:
2.隨著現代工業過程的日益復雜,保證工業過程的安全穩定運行的挑戰性也在增加。故障檢測與診斷(fault detection and diagnosis,fdd)技術對于提高化工過程的可靠性和安全性起重要作用。故障分類是fdd的一個重要方面。故障分類是對故障樣本進行分類。故障分類方法包括基于模型的方法、基于知識的方法和數據驅動的方法。由于計算機技術和傳感器技術的發展,大量的工業過程歷史數據可以被采集和存儲,基于數據驅動的方法受到了廣泛的關注。
3.多元統計分析是數據驅動方法的一種。主成分分析(principal component analysis,pca)和費歇判別分析(fisher discriminant analysis,fda)等多元統計分析的方法已成功應用于故障分類方法。針對非線性數據,核pca和核fda已被提出。為了考慮工業過程數據的多模態性,并強調關鍵故障變量,稀疏局部fda已被提出。而多元統計方法只能提取淺層特征,可能對故障分類的性能有不利的影響。深度神經網絡由多個隱含層組成,能夠提取數據的非線性深層特征。基于深度神經網絡的故障分類方法受到了越來越多的關注。深度信念網絡(deep belief network,dbn)、卷積神經網絡(convolutional neural network,cnn)、堆疊自編碼器(stacked autoencoder,sae)等深度神經網絡已應用于故障分類。sae是一種無監督模型,已經成功應用于工業過程的故障分類中。為了使sae在工業過程故障分類中具有更好的性能,很多改進的sae模型已被提出,如判別信息自編碼器(discriminant information-based autoencoder,diae)、嵌入式字典學習自編碼器(autoencoder embedded dictionary learning,aedl)、堆疊監督自編碼器(stacked supervised autoencoder,ssae)等。而現代工業過程往往具有大規模的特性,由多個操作單元組成,只建立單一的故障分類模型,可能不利于大規模工業過程的故障分類性能。
技術實現要素:
4.為了提高大規模工業過程的故障分類性能,本發明提出了一種基于堆疊自動編碼器的遞階故障分類方法(hierarchical fault classification based on stacked autoencoder)。針對工業過程大規模的特性,利用先驗知識和相關性將整個工業過程劃分為若干子塊。然后,為了避免故障類型的誤劃分,將每個子塊上容易誤分類的故障類型作為一個復合類,在此基礎上,為每個子塊建立sae-softmax分類模型。然后,為了處理多個sae-softmax分類結果之間的沖突,提出一種改進的d-s證據理論對多個子塊的分類結果進行決策融合,以提高決策融合的精度。最后,建立sae-softmax,對決策融合無法分類的故障樣本進行分類。
5.基于堆疊自編碼器的遞階故障分類方法,其特征在于包括以下步驟:
6.a.離線階段:
7.1)獲得歷史數據作為訓練數據x∈rn×m,其中n表示樣本總量,m表示樣本包含的變量數,計算正常條件下訓練數據的均值和標準差s,標準化訓練數據x得到
[0008][0009]
2)根據工業過程的b個操作單元,對標準化后的訓練數據進行變量劃分,得到b個子塊,b個子塊對應的數據集為其中b表示第b個子塊,表示里第i個變量,為了考慮子塊間的相關性,利用互信息評價兩個變量之間的相關性,計算第b個子塊里的變量與其他變量之間的互信息值
[0010][0011]
其中表示的邊緣概率密度,表示的邊緣概率密度,表示和的聯合概率密度,計算與第b個子塊里所有變量之間的互信息值,得到一維向量與第b個子塊里所有變量之間的互信息值,得到一維向量其中j=1,2,
…
,mb,計算第b個子塊外其他所有變量與第b個子塊內變量間的互信息值,則可以得到m
–
mb個一維向量:計算m
–
mb個一維向量的均值得到其中為為的均值,若存在則變量是第b個子塊的相關變量,則將加入第b個子塊中,則加入相關變量后的第b個子塊更新為其中mb′
為第b個子塊的變量數,且mb′
》mb,k>1是人為設置的參數,作用是避免子塊包含過多的變量;
[0012]
3)為每個子塊分別建立sae模型:
[0013]
為了避免故障類別的誤劃分,首先將每個子塊上容易誤劃分的故障類型作為一個復合類,故障樣本的故障類別即為標簽,利用復合類數據和不易誤劃分的故障數據為每個子塊訓練sae分類模型,sae由l個自編碼器(autoencoder,ae)組成,具有提取深層特征的能力,每個ae由輸入層、隱含層和輸出層組成,隱含層輸出為ae提取的特征,輸入層和隱含層為編碼器,隱含層和輸出層為解碼器,每個ae的輸入層為上一個ae的隱含層,ae的編碼器和解碼器可以表示為:
[0014]
h=f(wx+b)
??????????????????????????????????
(3)
[0015][0016]
其中x表示ae的輸入,h表示ae提取的特征,表示ae的輸出,w表示輸入層到隱含層的權值矩陣,b表示隱含層的偏置向量,表示隱含層到輸出層的權值矩陣,表示輸出層的偏置向量,f(
·
)表示隱含層的激活函數,g(
·
)表示輸出層的激活函數,f
encoder,l
(
·
)表示sae中第l個ae的編碼器,f
decoder,l
(
·
)表示sae中第l個ae的解碼器,則為第b個子塊建立的sae的解碼部分和編碼部分可以表示為:
[0017][0018][0019]
其中,hb為輸入是時sae提取的特征,為輸入是時sae的輸出;為了實現故障分類,在sae的編碼部分后連接一個softmax層,sae的訓練分為預訓練和微調兩個階段,在預訓練階段,對sae中的每個ae單獨訓練,利用均方誤差損失函數訓練ae,均方誤差損失函數可以表示為:
[0020][0021]
其中,x(i)表示ae的第i個樣本的輸入,表示ae的第i個樣本的輸出,在微調階段,由于復合類包含多種故障類型,而每種故障類型的樣本數量一致,則復合類的樣本多于其他故障類型的樣本,因此存在樣本不均衡的問題,針對樣本不均衡,利用加權交叉熵損失函數的思想訓練sae模型,采用的損失函數可以表示為:
[0022][0023]
其中yj表示樣本的真實標簽即故障類別,表示softmax的預測標簽,w是權值,當yj的真實標簽是復合類時,w=1,當yj的真實標簽不是復合類時,w=nc+1,nc為復合類包含故障類型的個數;
[0024]
4)在sae的編碼部分后連接一個softmax層實現對故障樣本的分類,使用d-s證據理論對多個sae-softmax的分類結果進行決策融合,d-s證據理論能夠融合不準確和不完整的信息,已應用于故障診斷領域,θ={a1,a2,...,a
p
}是識別框架,其中的元素是兩兩互斥的可能性假設,在本方法中θ為所有故障類別的集合,基本概率分配函數(basic probability assignment,bpa)也可稱為m函數,可以表示為:
[0025]
m:2
θ
→
[0,1]
??????????????????????????????????
(9)
[0026]
m函數滿足以下條件:
[0027][0028]
對b個證據體e1,e2,
…
,eb,m函數分別為m1,m2,
…
,mb,d-s證據組合規則可以表示為:
[0029][0030]
其中為對b個證據體組合的結果,k為歸一化系數可以表示為:
[0031][0032]1–
k為證據體之間的沖突程度且0《1
–
k《1,如果1
–
k越大,則證據體之間越沖突,若1–
k接近1,組合結果可能是錯誤的,在本方法中,b個sae-softmax為b個證據體,故障類型的集合為識別框架,softmax的輸出即故障樣本故障類別的概率作為m函數,而當多個sae-softmax的輸出之間存在高度沖突時,d-s證據理論可能會得到不合理的決策融合結果,為了更加有效地處理多個分類器的沖突,對d-s證據理論進行改進,首先對m函數做出改進:
[0033][0034]
其中q為每個子塊上可能發生的故障類別數量,m
′
(ai)為改進后的m函數,meanm為m(a1),m(a2),
…
,m(aq)的均值,maxm為m(a1),m(a2),
…
,m(aq)的最大值,為了進一步提高決策融合的精度,對d-s組合規則進行改進,計算兩個證據體之間的歸一化系數,ei和ej之間的歸一化系數表示為:
[0035][0036]
對于證據體ei,可以得到ei與其他證據之間b
–
1個歸一化系數,對b
–
1個歸一化系數求均值可得:
[0037][0038]
其中ki越大,ei與其他證據的沖突越小,ei的可信程度越高,根據ki計算ei的權重wi:
[0039][0040]
在進行決策融合時,利用wi對ei的證據體的m函數進行加權,則改進的d-s組合規則可以表示為:
[0041][0042]
其中k
′
可以表示為:
[0043][0044]
5)使用d-s證據理論對多個sae-softmax的分類結果進行決策融合之后,可能存在不能被分類的故障樣本,則將這些故障類型作為復合類,并為這些故障類型訓練一個sae-softmax分類模型,記為第b+1個sae-softmax;
[0045]
b.在線階段:
[0046]
1)采集在線樣本x
′
,對x
′
標準化得到
[0047][0048]
其中為訓練數據x的均值,s為訓練數據x的標準差,與公式(1)中的和s相等;
[0049]
2)對進行變量劃分得到
[0050]
3)將輸入離線建模中的第b個子塊的sae-softmax模型,得到第b個sae-softmax的分類結果;
[0051]
4)利用改進的d-s證據理論對b個sae-softmax的分類結果進行決策融合;
[0052]
5)若決策融合結果為復合類,則利用第b+1個sae-softmax實現分類,若決策融合結果不是復合類,則融合結果即為分類結果。
[0053]
有益效果
[0054]
本發明針對非線性大規模工業過程,將整個工業過程劃分為多個子塊并分別建立sae-softmax分類模型,降低了sae分類模型的復雜度且提高了sae-softmax分類模型的精度,對工業過程的故障診斷具有重要的意義。
附圖說明
[0055]
圖1所示為本發明方法的流程圖;
[0056]
圖2所示為ae的示意圖;
[0057]
圖3所示為te過程的流程圖;
[0058]
圖4所示為5個子塊的sae-softmax分類結果;
[0059]
圖5所示為改進d-s證據理論的融合結果;
具體實施方式
[0060]
te過程是真實化工過程的仿真模擬,經常用于驗證故障診斷方法的性能。如圖3所示為te過程的流程圖。te過程能夠模擬正常狀態和21種故障狀態,采集52個變量。本次實驗使用的是其中33個變量。te過程包含5個操作單元,分別是輸入單元,反應器,分離器,汽提器以及壓縮機,每個單元包含的變量如表1所示。本實驗的數據集使用的是其中18種故障數據,即故障1,2,4,5,6,7,8,10,11,12,13,14,16,17,18,19,20,21,訓練數據每類故障包含480個樣本,測試數據每類故障包含800個樣本。
[0061]
表1每個單元的變量
[0062][0063]
基于以上描述,按照發明內容,將具體過程實現如下:
[0064]
a.離線階段:
[0065]
1)對訓練數據x∈r
500
×
33
進行標準化,計算x的均值和標準差s,利用公式(1)對x標準化得到
[0066]
2)根據表1對進行變量劃分,得到5個子數據集分別為其中為了考慮到子塊間的相關性,利用互信息評價
兩個變量之間的相關性,計算第b個子塊內的變量與其他變量之間的互信息值
[0067][0068]
其中表示的邊緣概率密度,表示的邊緣概率密度,表示聯合概率密度,計算與第b個子塊里所有變量之間的互信息值,得到一維向量與第b個子塊里所有變量之間的互信息值,得到一維向量其中j=1,2,
…
,mb,計算第b個子塊外其他所有變量與第b個子塊內變量間的互信息值,則可以得到m
–
mb個一維向量:計算m
–
mb個一維向量的均值得到其中為為的均值,若存在則變量是第b個子塊的相關變量,則將加入第b個子塊中,則加入相關變量后的第b個子塊為其中mb′
為第b個子塊的變量數,且mb′
》mb,k=1.04,如表2所示為子塊劃分的結果和每個子塊上發生的故障類型,其中[
·
]表示復合類,在表2中只有故障19是只發生在第5個子塊的故障,因此,當只有第5個子塊檢測到異常時,可確定發生故障為故障19,只有故障20是發生在第3個子塊、第4個子塊和第5個子塊,因此當第3個子塊,第4個子塊和第5個子塊檢測到異常時,可判斷發生的故障為故障20,因此,不需要sae就可以識別故障19和故障20,對每個子塊取窗寬為40的滑動窗,得到動態數據
[0069]
表2子塊劃分的結果和每個子塊上發生的故障類型
[0070][0071][0072]
3)以為訓練數據,分別訓練5個sae-softmax模型,5個sae-softmax的結構如表3所示,其中“神經元數量”表示sae-softmax的每一層神經元的數量,五個sae-softmax均有3個隱含層,輸出層為softmax層,5個sae的3個隱含層和輸出層的激活函數分別為高斯函數-線性函數-線性函數-sofmax,其中高斯函數和線性函數分別表示為:
[0073][0074]flinear
(z)=z
???????????????????????????????????
(22)
[0075]
其中z表示輸入向量,所有sae的優化器均是adam優化器,學習率是0.001;
[0076]
表3五個子塊sae的結構
[0077][0078]
4)使用d-s證據理論對多個sae的分類結果進行決策融合,d-s證據理論能夠融合不準確和不完整的信息,已應用于故障診斷領域,識別框架為θ={f1,f2,f4,f5,f6,f7,f8,f
10
,f
11
,f
12
,f
13
,f
14
,f
16
,f
17
,f
18
,f
21
},其中f1表示故障1,f2表示故障2,
…
,f
21
表示故障21,softmax的輸出值作為基本概率分配函數的值即m函數值,對m函數做出改進:
[0079][0080]
其中fi為sae-softmax可能的分類結果(i=1,2,
…
,q),q為sae-softmax可能發生故障的類別數量,m
′
(fi)為改進后的m函數,meanm為m(f1),m(f2),
…
,m(fq)的均值,maxm為m(f1),m(f2),
…
,m(fq)的最大值,為了提高決策融合的精度,提出改進的d-s組合規則:
[0081][0082]
其中f為θ中的一個故障類型,為融合后的m函數,fi為第i個子塊上發生的故障類型,k
′
為歸一化系數:
[0083][0084]
wi為mi′
函數的權值,可以通過以下公式得到
[0085][0086]
其中k
i,j
表示第i個sae-softmax和第j個sae-softmax分類結果之間的歸一化系數,ki為第i個sae-softmax與其他sae-softmax分類結果兩兩之間歸一化系數的均值;
[0087]
5)由于故障11和故障14發生在第2個子塊且都屬于復合類,決策融合無法區分這
兩個故障,將這兩個故障記為fc1,由于故障5,8,10,12,13,16,18發生在5個子塊且都是復合類里的故障類型,因此決策融合也無法區分這些故障,將這些故障記為fc2,以故障5、8、10、11、12、13、14、16、18的動態數據訓練第6個sae-softmax分類模型,動態數據通過對故障5、8、10、11、12、13、14、16、18的訓練數據取窗寬為40的滑動窗得到,訓練數據中的每個樣本具有33個變量,該模型由一個輸入層,三個隱含層和一個輸入層組成,神經元個數分別是1320,660,330,165,16,3個隱含層和輸出層的激活函數分別為高斯函數,線性函數,線性函數,softmax,優化器均是adam優化器,學習率是0.001;
[0088]
b.在線階段:
[0089]
1)采集在線樣本x
′
,利用公式(1)對x
′
標準化得到
[0090]
2)按照表2對進行變量劃分得到對取窗寬為40的滑動窗得到動態數據
[0091]
3)將輸入離線建模中的第b個子塊的sae-softmax模型,得到第b個sae-softmax的分類結果;
[0092]
4)利用改進的d-s證據理論對5個sae-softmaxs的分類結果進行決策融合;
[0093]
5)若決策融合結果為fc1或者fc2,則將輸入第6個sae-softmax分類模型中實現故障分類,否則,決策融合結果為故障分類的結果;
[0094]
上述步驟即為本方法應用在te過程故障分類的具體應用。本實驗利用故障診斷率(fdr)評估方法的性能,fdr是指正確分類為c類的樣本數量與c類樣本的總量,fdr越大則表明方法的性能越好。如圖4為5個子塊的sae-softmaxs分類結果,其中22,23,24,25,26表示復合類,圖5為改進d-s證據理論的融合結果,為了說明本方法的有效性,將本方法與sae-softmax,線性判別分析(lda)和支持向量機(svm)相比較,如表4所示為本方法、sae-softmax、lda和svm對te過程16種故障的fdrs。sae-softmax由一個輸入層、三個隱含層和一個輸出層組成,神經元數量分別為1320,660,330,165,16,激活函數為高斯函數-線性函數-線性函數-softmax。本方法在故障8,10,11,12,13,16,17,18下的fdrs均高于其他三種方法,且本方法的fdrs的均值是四種方法中最高的,因此,本方法故障分類的性能有所提升。除此之外,本方法建立的sae-softmax模型的結構比單一的sae-softmax模型結構更簡單,這意味著本方法更有利于大規模工業過程的故障分類。因此本方法不僅簡化了sae-softmax分類模型的結構也提高了sae模型的分類性能。
[0095]
表4本方法、sae、lda和svm對te過程16種故障的fdrs
[0096][0097]
