張 成 趙麗穎 鄭百順 戴絮年 李 元*
1(沈陽化工大學理學院 遼寧 沈陽 110142) 2(沈陽化工大學技術過程故障診斷與安全性研究中心 遼寧 沈陽 110142)
隨著工業過程產品質量和運行安全的要求提高,工業過程的復雜性持續增加。在這種情況下,生產過程一旦發生故障,將導致生產中斷等嚴重后果,造成巨大的經濟損失。因此故障檢測是生產過程中必不可少的環節。近年來,基于多元統計分析方法的復雜工業過程故障檢測成為研究熱點[1-3]。
主元分析PCA、動態主元分析DPCA和偏最小二乘(Partial Least Squares,PLS)等經典的多元統計分析方法在半導體、石油和化工等故障檢測領域的應用中取得了豐碩的成果[4-9]。PCA通過一組線性映射將原始數據投影至低維空間,有效去除變量間的相關性,簡化原始過程特性分析的復雜性[10]。DPCA引入時滯參數來構造增廣矩陣,然后對增廣矩陣進行PCA建模提取過程的動態信息[11]。PLS是從過程數據中提取有效的信息并建立過程模型的降維技術[12]。對于在線檢測過程,PCA、DPCA和PLS方法要求運行數據近似服從單峰高斯分布。但是,在工業過程中,由于原料、產品規格、設定值和制造策略等各種因素的變化,操作條件經常會發生變化[13]。當一個進程在完全不同的運行條件下運行時,在正常運行數據中平均值和協方差的變化是顯著的。在多模態過程中,數據往往不服從單峰多元高斯分布,限制了傳統的多元統計方法在此類過程中的應用。Zhao等[14-15]提出了用于多模式過程監控的多模型PCA(Multiple PCA Models,MPCA)和多模型PLS(Multiple PLS Models,MPLS)。MPCA和MPLS需要過程的先驗知識將運行數據按模態劃分為對應于各自操作模式的數據組。此外,用戶必須預定義一個相似性閾值,以合并相似的數據組。在工業實踐中,上述條件對自動過程檢測很難實現。
He等[16]針對多模態過程中的故障檢測問題提出了一種K近鄰KNN故障檢測方法。KNN通過比較測試樣本與近鄰訓練樣本的距離和正常樣本與近鄰訓練樣本的距離來檢測故障[17]。與傳統的多元統計方法相比,KNN方法具有更好的故障檢測性能,并且成功應用于半導體制造中的故障檢測。然而,KNN方法也具有一定的局限性。KNN是基于距離的故障檢測方法,而實際工業過程中數據的均值和方差會隨著操作條件的切換而發生變化,使得正常數據的統計距離異常擴大,導致故障樣本未被有效識別。然而由于KNN處理高維數據時,計算量較大,因此He等[18]提出了一種基于主成分的KNN(Principal Component based KNN,PC-KNN)故障檢測方法減少KNN的計算量。但該方法應用于主成分空間進行故障檢測,忽略了殘差子空間中的故障。針對PC-KNN的缺陷,郭小萍等[19]提出了一種基于特征空間的KNN故障檢測方法,改進了故障檢測性能。為了避免KNN方法受到參數K值的選取的影響,Song等[20]提出局部信息KNN(Locally Informative KNN,LI-KNN)和全局信息KNN(Globally Informative KNN,GI-KNN)方法。馮立偉等[21]提出了基于權重K近鄰(Weighted KNN,WKNN)的多模態故障檢測方法。WKNN通過引入近鄰距離的權重,保持數據離散程度的一致性。但是在實際工業過程中,WKNN在搜索近鄰時必須遍歷所有樣本,導致計算成本高昂。
監控多模態過程的主要挑戰是如何確定歷史數據中的模式數和在線樣本的操作模式。因此高斯混合模型GMM被提出用于解決此問題[22]。GMM是一種無監督學習算法,采用混合高斯概率密度函數來模擬多變量數據集的統計分布,并已成功地應用到多個領域中[23-24]。Choi等[25]將GMM與PCA和DA集成,用于檢測和隔離非線性、多狀態或動態過程中的故障。PCA-GMM將每個監控樣本確定地歸類到一個特定的高斯聚類中,然后選擇相應的局部PCA模型進行故障檢測。Yoo等[26]將類似的策略與多路主成分分析相結合,用于監控生物批處理過程。
針對復雜多工況過程故障檢測問題,本文提出一種基于高斯分量標準化的K近鄰GCS-KNN故障檢測策略。首先對數據進行預處理,運用GMM將預處理后的數據分解為多個高斯分量,計算每個高斯分量的均值和協方差;然后應用每個高斯分量的統計信息對樣本進行標準化;最后利用KNN方法對過程進行檢測。GCS-KNN不僅能夠消除數據的多模態特征,并且可以減少建立模型的個數,極大地降低了檢測過程的復雜度。通過數值例子和半導體蝕刻過程仿真實例,進一步證實本文方法相比于其他方法具有明顯的優勢。
假設X∈RN×m,N為樣本數,m為維度。其中X={x1,x2,…,xN}每個樣本x的概率密度函數表示為:
(1)
式中:k為GMM中高斯分量的個數;ωi為第i個高斯分量的權重。
θi={μi,Σi}
(2)
Θ={θ1,…,θk}={μ1,Σ1,…,μk,Σk}
(3)
式(2)和式(3)分別代表局部和全局高斯模型的參數(μi為均值向量,Σi為協方差矩陣),第i個高斯分量的高斯密度函數表示為:
(4)
采用極大似然估計(Maximum Likelihood Estimation,MLE)方法求解Θ={{ω1,μ1,Σ1},…,{ωk,μk,Σk}}參數,數據集X的對數似然函數如下:
(5)
參數估計問題進一步表示為:

(6)
MLE方法通過令對數似然函數的一階導數為零來分析估計參數Θ。但是由于解析解可能導致高斯模型參數的奇異或病態估計,因此,使用EM算法來估計最大似然分布參數。通過重復期望步驟(E-step)和最大化步驟(M-step)來迭代計算后驗概率。然后計算相應的分布參數,直到滿足對數似然函數的收斂準則。
(1) E-步驟:
(7)
式中:p(s)(ck|xj)表示經過s次迭代后第j個訓練樣本屬于第k個高斯分量的后驗概率。
(2) M-步驟:
(8)
(9)
(10)

KNN方法主要通過判斷測試樣本到其K近鄰的距離與正常樣本到其K近鄰的距離大小來檢測樣本狀態。在訓練樣本中找到每個樣本的K個近鄰,并計算樣本與其K個近鄰的歐氏距離平方和,如下:
(11)
(12)

在多模態過程故障檢測中,常用的KNN方法由于其模型簡單,并且具有無須估計參數、精度高對異常值不敏感等特點,使其具有較好的檢測結果。但是KNN也具有一定的局限性,當樣本分布不均衡且模態間方差差異較大時,KNN會根據較大的統計量確定控制限,若產生微小故障,會造成漏報的后果。為了避免這一現象,本文提出了基于高斯分量標準化的K近鄰故障檢測策略。
假設X∈RN×m為來自多工況過程的數據,N為樣本數,m為維度。利用GMM建立高斯混合模型,通過式(7)-式(10)計算出每個高斯分量的統計信息。根據式(13)計算樣本屬于第k個高斯分量的后驗概率。
(13)
將樣本X分解為多個高斯分量子集{Y1,Y2,…,Yk},其中Y1表示第一個高斯分量的樣本集,Y1={y1,y2,…,yk}。通過GMM將訓練數據分解為多個高斯分量,并對每個樣本應用高斯分量的統計信息進行標準化處理:
(14)
式中:yi、μi和Σi分別為第i個高斯分量的樣本、均值和協方差。應用式(14)對每個高斯分量進行標準化處理,原本稀疏模態的數據由發散向中心聚攏,密集模態的數據由中心向外擴散。也就是說,正常數據從多峰結構轉換為遵循單峰多元高斯分布的結構,從而消除了多峰特性的影響。最后應用KNN方法對過程進行檢測。將GMM與高斯分量標準化方法相結合,不僅降低了模型的復雜度,簡化計算量,而且有效地提高了檢測率。GCS-KNN的檢測過程由離線建模和在線檢測兩部分組成,其檢測流程如圖1所示。

圖1 GCS-KNN故障檢測流程
(1) 首先對訓練樣本中的數據采用z-score方法進行預處理。
x*=(x-μ)σ-1
(15)
式中:μ為訓練樣本的均值;σ為訓練樣本的標準差對角矩陣。
(2) 將標準化后的樣本應用GMM分解為多個高斯分量,通過式(7)-式(10)得到每個高斯分量的參數μk、Σk和ωk。
(3) 通過式(14)對分量進行高斯分量標準化處理,消除多模態特征。
(1) 測試樣本采用式(15)中的μ和σ進行預處理。
(2) 應用式(13)計算測試樣本x*屬于第k個高斯分量的后驗概率,判斷其所屬的高斯分量。
(3) 利用式(14)對每個樣本進行高斯分量標準化處理。


本節通過改進文獻[27]中的一個數值例子對本文方法進行驗證,具體模型如下:
Xj=Ξjsj+ejj=1,2,3
(16)
式中:sj=[s1,j,s2,j]T是高斯隨機向量,ej服從均值為零和標準差為0.05的正態分布,變換矩陣為Ξj∈R3×2。
(17)
每個模態根據式(16)和式(17)產生300個樣本,共產生900個樣本作為正常的訓練數據,同時每個模態各產生50個樣本作為校驗樣本。另外,在第一個模態上添加了階躍故障生成100個故障樣本。表1列出各模態產生訓練數據集的參數。數據分布如圖2所示,為了清晰展示數據結構,將故障樣本所屬的模態數據放大。

表1 各模態參數設置

圖2 數據散點圖
由圖2可知,數據呈現多模態結構且各模態方差差異明顯。本節分別使用PCA、DPCA、KNN、WKNN和GCS-KNN對該數值例子進行檢測。根據主元貢獻率達到85%,PCA主元個數選取為2[28]。DPCA的時滯參數和主元個數確定為2,WKNN的權重參數k選取為3,WKNN、KNN和GCS-KNN近鄰數K均確定為5,具體參數設置如表2所示。各方法的置信度為99%。首先應用PCA和DPCA檢測此數據集,在置信度為99%的情況下,其檢測結果如圖3、圖4所示。由于PCA和DPCA均使用統計量T2作為檢測指標,而此數據集具有顯著的多峰分布特征,不滿足統計量的假定前提要求,故導致出現漏報的情況,檢測效果較差。

表2 各方法參數設置

圖3 PCA檢測結果

圖4 DPCA檢測結果
KNN方法通常用于有多模態特征的數據,但是,當多個模態的方差差異較大時,控制限則根據較大的統計值確定。若在方差較小的模態附近產生微小故障時,會出現漏報的現象。本例為方差差異較大的多模態數據,此時,KNN統計信息無法反映故障數據與正常數據之間的差異。由于KNN由方差較大的模態數據確定控制限,而此數據集的故障發生在較小方差模態的附近,所以KNN檢測方法針對此數據集的檢測效果較差,如圖5所示。WKNN通過引入距離權重,消除KNN無法檢測出多模態過程中微小故障的局限性,故能夠檢測出大部分故障,其檢測結果如圖6所示。但是WKNN在對數據量大的過程進行故障檢測時,存在計算量大、及時性差等問題,并且模型的性能易受到參數的影響,因此在故障檢測時存在局限性。

圖5 KNN檢測結果

圖6 WKNN檢測結果
GMM對樣本的分類結果如圖7所示,將訓練數據分解為3個高斯分量。圖8為各個高斯分量標準化后的數據散點圖,高斯分量標準化可將故障數據和正常樣本分離,消除了多峰特征的影響,數據遵循多元高斯分布,符合統計量的假設前提條件,為后續的檢測過程提供了較好的數據基礎。經過標準化后的樣本采用KNN進行故障檢測,樣本中的所有故障都能夠被檢測出來,如圖9所示。該數值例子表明本文方法能夠通過高斯分量標準化消除數據的多模態特征,因此可以有效地檢測多模態過程。

圖7 數據分類圖

圖8 標準化后的數據圖

圖9 GCS-KNN檢測結果
本節以半導體蝕刻工藝為例,驗證GCS-KNN的有效性[29]。該數據包含108個正常晶片和21個故障晶片。由于兩片晶片丟失大量數據信息,故本節實驗僅使用107片正常晶片和20片故障晶片用于測試。在本次仿真實驗中,選取96批正常數據作為訓練數據建立模型,11批校驗數據,20批故障數據用于測試模型。半導體工藝具有間歇時間不等、步長不等、過程漂移以及多模態等特點。為了提高不等長批處理過程的故障檢測性能和降低算法的復雜度,利用統計模量分析(Statistical Pattern Analysis,SPA)對半導體數據進行展開[30]。
本節分別采用PCA、DPCA、KNN、WKNN和GCS-KNN對半導體數據進行故障檢測并進行對比分析。本節中各參數設置如下,其中PCA主元個數選取為3,DPCA主元數和時滯參數分別選取為13和2,根據交叉驗證,KNN和GCS-KNN的近鄰數為9,WKNN的參數K和k設置為9。各方法置信度為99%。
圖10和圖11分別為PCA和DPCA方法用于該例的檢測結果,可知PCA和DPCA用于該例的檢測率較低。其主要原因是半導體過程的數據是由相隔數周的多次實驗中收集的,受到不同批次生產工具狀態變化的影響,導致不同批次數據間存在不同的均值和協方差信息。此外,由圖12可以發現降維后的主元空間仍然具有多模態結構,影響PCA與DPCA檢測模型的檢測性能。圖13為使用KNN對該例進行故障檢測的結果,KNN算法對多模態數據具有較好的檢測效果,但是前提是多模態數據為模態方差差異不明顯的數據。否則其控制限會由較大的統計值決定,導致出現漏報的情況,因此KNN方法的檢測率也較低。WKNN的檢測結果如圖14所示,WKNN通過引入權重將每個模態的稀疏程度調整為相同的尺度,消除了模態間不同離散程度對故障檢測的影響。但是,WKNN的計算量很大,原因是在搜索近鄰時必須遍歷所有樣本。

圖10 PCA檢測結果

圖11 DPCA檢測圖

圖12 主元空間散點圖

圖13 KNN檢測結果

圖14 WKNN檢測結果
圖15為半導體數據經過高斯分量標準化處理的數據圖,由圖知高斯分量標準化有效地消除了數據的多模態特征。同時,由圖16可以發現,大部分故障能夠和正常數據分離,為后續的檢測過程帶來了良好的數據基礎。標準化后的數據應用KNN進行故障檢測,大部分故障均能夠被檢測,GCS-KNN的檢測率達到0.95。由表3可知GCS-KNN故障檢測率明顯高于其他方法。綜上,實驗結果驗證了本文方法的有效性。

表3 各方法故障檢測率

圖15 GCS標準化的數據圖

圖16 GCS-KNN檢測結果
本文提出一種高斯分量標準化的方法消除數據的多模態特征,在此基礎上,結合高斯分量標準化與KNN,提出了一種多模態過程檢測方法。首先,該方法利用高斯分量標準化描述多模態過程,從而提高了基于KNN方法在復雜過程中的檢測性能;其次,GMM將過程數據分解為多個高斯分量,且各分量中的數據服從多元高斯分布,為后續的檢測過程提供了較好的數據基礎。由數值例子和半導體蝕刻過程的仿真實驗驗證該方法的有效性。仿真結果表明高斯分量標準化能夠有效將多模態數據轉化為單一分布的數據,提高KNN在多模態工業過程中的檢測效果。然而GCS-KNN在已知過程數據模態個數先驗知識的前提下具有良好的檢測效果,因此如何獲取過程數據模態個數成為下一步的研究方向。