張 成 趙麗穎 鄭百順 戴絮年 李 元*
1(沈陽化工大學(xué)理學(xué)院 遼寧 沈陽 110142) 2(沈陽化工大學(xué)技術(shù)過程故障診斷與安全性研究中心 遼寧 沈陽 110142)
隨著工業(yè)過程產(chǎn)品質(zhì)量和運(yùn)行安全的要求提高,工業(yè)過程的復(fù)雜性持續(xù)增加。在這種情況下,生產(chǎn)過程一旦發(fā)生故障,將導(dǎo)致生產(chǎn)中斷等嚴(yán)重后果,造成巨大的經(jīng)濟(jì)損失。因此故障檢測是生產(chǎn)過程中必不可少的環(huán)節(jié)。近年來,基于多元統(tǒng)計(jì)分析方法的復(fù)雜工業(yè)過程故障檢測成為研究熱點(diǎn)[1-3]。
主元分析PCA、動(dòng)態(tài)主元分析DPCA和偏最小二乘(Partial Least Squares,PLS)等經(jīng)典的多元統(tǒng)計(jì)分析方法在半導(dǎo)體、石油和化工等故障檢測領(lǐng)域的應(yīng)用中取得了豐碩的成果[4-9]。PCA通過一組線性映射將原始數(shù)據(jù)投影至低維空間,有效去除變量間的相關(guān)性,簡化原始過程特性分析的復(fù)雜性[10]。DPCA引入時(shí)滯參數(shù)來構(gòu)造增廣矩陣,然后對增廣矩陣進(jìn)行PCA建模提取過程的動(dòng)態(tài)信息[11]。PLS是從過程數(shù)據(jù)中提取有效的信息并建立過程模型的降維技術(shù)[12]。對于在線檢測過程,PCA、DPCA和PLS方法要求運(yùn)行數(shù)據(jù)近似服從單峰高斯分布。但是,在工業(yè)過程中,由于原料、產(chǎn)品規(guī)格、設(shè)定值和制造策略等各種因素的變化,操作條件經(jīng)常會發(fā)生變化[13]。當(dāng)一個(gè)進(jìn)程在完全不同的運(yùn)行條件下運(yùn)行時(shí),在正常運(yùn)行數(shù)據(jù)中平均值和協(xié)方差的變化是顯著的。在多模態(tài)過程中,數(shù)據(jù)往往不服從單峰多元高斯分布,限制了傳統(tǒng)的多元統(tǒng)計(jì)方法在此類過程中的應(yīng)用。Zhao等[14-15]提出了用于多模式過程監(jiān)控的多模型PCA(Multiple PCA Models,MPCA)和多模型PLS(Multiple PLS Models,MPLS)。MPCA和MPLS需要過程的先驗(yàn)知識將運(yùn)行數(shù)據(jù)按模態(tài)劃分為對應(yīng)于各自操作模式的數(shù)據(jù)組。此外,用戶必須預(yù)定義一個(gè)相似性閾值,以合并相似的數(shù)據(jù)組。在工業(yè)實(shí)踐中,上述條件對自動(dòng)過程檢測很難實(shí)現(xiàn)。
He等[16]針對多模態(tài)過程中的故障檢測問題提出了一種K近鄰KNN故障檢測方法。KNN通過比較測試樣本與近鄰訓(xùn)練樣本的距離和正常樣本與近鄰訓(xùn)練樣本的距離來檢測故障[17]。與傳統(tǒng)的多元統(tǒng)計(jì)方法相比,KNN方法具有更好的故障檢測性能,并且成功應(yīng)用于半導(dǎo)體制造中的故障檢測。然而,KNN方法也具有一定的局限性。KNN是基于距離的故障檢測方法,而實(shí)際工業(yè)過程中數(shù)據(jù)的均值和方差會隨著操作條件的切換而發(fā)生變化,使得正常數(shù)據(jù)的統(tǒng)計(jì)距離異常擴(kuò)大,導(dǎo)致故障樣本未被有效識別。然而由于KNN處理高維數(shù)據(jù)時(shí),計(jì)算量較大,因此He等[18]提出了一種基于主成分的KNN(Principal Component based KNN,PC-KNN)故障檢測方法減少KNN的計(jì)算量。但該方法應(yīng)用于主成分空間進(jìn)行故障檢測,忽略了殘差子空間中的故障。針對PC-KNN的缺陷,郭小萍等[19]提出了一種基于特征空間的KNN故障檢測方法,改進(jìn)了故障檢測性能。為了避免KNN方法受到參數(shù)K值的選取的影響,Song等[20]提出局部信息KNN(Locally Informative KNN,LI-KNN)和全局信息KNN(Globally Informative KNN,GI-KNN)方法。馮立偉等[21]提出了基于權(quán)重K近鄰(Weighted KNN,WKNN)的多模態(tài)故障檢測方法。WKNN通過引入近鄰距離的權(quán)重,保持?jǐn)?shù)據(jù)離散程度的一致性。但是在實(shí)際工業(yè)過程中,WKNN在搜索近鄰時(shí)必須遍歷所有樣本,導(dǎo)致計(jì)算成本高昂。
監(jiān)控多模態(tài)過程的主要挑戰(zhàn)是如何確定歷史數(shù)據(jù)中的模式數(shù)和在線樣本的操作模式。因此高斯混合模型GMM被提出用于解決此問題[22]。GMM是一種無監(jiān)督學(xué)習(xí)算法,采用混合高斯概率密度函數(shù)來模擬多變量數(shù)據(jù)集的統(tǒng)計(jì)分布,并已成功地應(yīng)用到多個(gè)領(lǐng)域中[23-24]。Choi等[25]將GMM與PCA和DA集成,用于檢測和隔離非線性、多狀態(tài)或動(dòng)態(tài)過程中的故障。PCA-GMM將每個(gè)監(jiān)控樣本確定地歸類到一個(gè)特定的高斯聚類中,然后選擇相應(yīng)的局部PCA模型進(jìn)行故障檢測。Yoo等[26]將類似的策略與多路主成分分析相結(jié)合,用于監(jiān)控生物批處理過程。
針對復(fù)雜多工況過程故障檢測問題,本文提出一種基于高斯分量標(biāo)準(zhǔn)化的K近鄰GCS-KNN故障檢測策略。首先對數(shù)據(jù)進(jìn)行預(yù)處理,運(yùn)用GMM將預(yù)處理后的數(shù)據(jù)分解為多個(gè)高斯分量,計(jì)算每個(gè)高斯分量的均值和協(xié)方差;然后應(yīng)用每個(gè)高斯分量的統(tǒng)計(jì)信息對樣本進(jìn)行標(biāo)準(zhǔn)化;最后利用KNN方法對過程進(jìn)行檢測。GCS-KNN不僅能夠消除數(shù)據(jù)的多模態(tài)特征,并且可以減少建立模型的個(gè)數(shù),極大地降低了檢測過程的復(fù)雜度。通過數(shù)值例子和半導(dǎo)體蝕刻過程仿真實(shí)例,進(jìn)一步證實(shí)本文方法相比于其他方法具有明顯的優(yōu)勢。
假設(shè)X∈RN×m,N為樣本數(shù),m為維度。其中X={x1,x2,…,xN}每個(gè)樣本x的概率密度函數(shù)表示為:
(1)
式中:k為GMM中高斯分量的個(gè)數(shù);ωi為第i個(gè)高斯分量的權(quán)重。
θi={μi,Σi}
(2)
Θ={θ1,…,θk}={μ1,Σ1,…,μk,Σk}
(3)
式(2)和式(3)分別代表局部和全局高斯模型的參數(shù)(μi為均值向量,Σi為協(xié)方差矩陣),第i個(gè)高斯分量的高斯密度函數(shù)表示為:
(4)
采用極大似然估計(jì)(Maximum Likelihood Estimation,MLE)方法求解Θ={{ω1,μ1,Σ1},…,{ωk,μk,Σk}}參數(shù),數(shù)據(jù)集X的對數(shù)似然函數(shù)如下:
(5)
參數(shù)估計(jì)問題進(jìn)一步表示為:
(6)
MLE方法通過令對數(shù)似然函數(shù)的一階導(dǎo)數(shù)為零來分析估計(jì)參數(shù)Θ。但是由于解析解可能導(dǎo)致高斯模型參數(shù)的奇異或病態(tài)估計(jì),因此,使用EM算法來估計(jì)最大似然分布參數(shù)。通過重復(fù)期望步驟(E-step)和最大化步驟(M-step)來迭代計(jì)算后驗(yàn)概率。然后計(jì)算相應(yīng)的分布參數(shù),直到滿足對數(shù)似然函數(shù)的收斂準(zhǔn)則。
(1) E-步驟:
(7)
式中:p(s)(ck|xj)表示經(jīng)過s次迭代后第j個(gè)訓(xùn)練樣本屬于第k個(gè)高斯分量的后驗(yàn)概率。
(2) M-步驟:
(8)
(9)
(10)
KNN方法主要通過判斷測試樣本到其K近鄰的距離與正常樣本到其K近鄰的距離大小來檢測樣本狀態(tài)。在訓(xùn)練樣本中找到每個(gè)樣本的K個(gè)近鄰,并計(jì)算樣本與其K個(gè)近鄰的歐氏距離平方和,如下:
(11)
(12)
在多模態(tài)過程故障檢測中,常用的KNN方法由于其模型簡單,并且具有無須估計(jì)參數(shù)、精度高對異常值不敏感等特點(diǎn),使其具有較好的檢測結(jié)果。但是KNN也具有一定的局限性,當(dāng)樣本分布不均衡且模態(tài)間方差差異較大時(shí),KNN會根據(jù)較大的統(tǒng)計(jì)量確定控制限,若產(chǎn)生微小故障,會造成漏報(bào)的后果。為了避免這一現(xiàn)象,本文提出了基于高斯分量標(biāo)準(zhǔn)化的K近鄰故障檢測策略。
假設(shè)X∈RN×m為來自多工況過程的數(shù)據(jù),N為樣本數(shù),m為維度。利用GMM建立高斯混合模型,通過式(7)-式(10)計(jì)算出每個(gè)高斯分量的統(tǒng)計(jì)信息。根據(jù)式(13)計(jì)算樣本屬于第k個(gè)高斯分量的后驗(yàn)概率。
(13)
將樣本X分解為多個(gè)高斯分量子集{Y1,Y2,…,Yk},其中Y1表示第一個(gè)高斯分量的樣本集,Y1={y1,y2,…,yk}。通過GMM將訓(xùn)練數(shù)據(jù)分解為多個(gè)高斯分量,并對每個(gè)樣本應(yīng)用高斯分量的統(tǒng)計(jì)信息進(jìn)行標(biāo)準(zhǔn)化處理:
(14)
式中:yi、μi和Σi分別為第i個(gè)高斯分量的樣本、均值和協(xié)方差。應(yīng)用式(14)對每個(gè)高斯分量進(jìn)行標(biāo)準(zhǔn)化處理,原本稀疏模態(tài)的數(shù)據(jù)由發(fā)散向中心聚攏,密集模態(tài)的數(shù)據(jù)由中心向外擴(kuò)散。也就是說,正常數(shù)據(jù)從多峰結(jié)構(gòu)轉(zhuǎn)換為遵循單峰多元高斯分布的結(jié)構(gòu),從而消除了多峰特性的影響。最后應(yīng)用KNN方法對過程進(jìn)行檢測。將GMM與高斯分量標(biāo)準(zhǔn)化方法相結(jié)合,不僅降低了模型的復(fù)雜度,簡化計(jì)算量,而且有效地提高了檢測率。GCS-KNN的檢測過程由離線建模和在線檢測兩部分組成,其檢測流程如圖1所示。
圖1 GCS-KNN故障檢測流程
(1) 首先對訓(xùn)練樣本中的數(shù)據(jù)采用z-score方法進(jìn)行預(yù)處理。
x*=(x-μ)σ-1
(15)
式中:μ為訓(xùn)練樣本的均值;σ為訓(xùn)練樣本的標(biāo)準(zhǔn)差對角矩陣。
(2) 將標(biāo)準(zhǔn)化后的樣本應(yīng)用GMM分解為多個(gè)高斯分量,通過式(7)-式(10)得到每個(gè)高斯分量的參數(shù)μk、Σk和ωk。
(3) 通過式(14)對分量進(jìn)行高斯分量標(biāo)準(zhǔn)化處理,消除多模態(tài)特征。
(1) 測試樣本采用式(15)中的μ和σ進(jìn)行預(yù)處理。
(2) 應(yīng)用式(13)計(jì)算測試樣本x*屬于第k個(gè)高斯分量的后驗(yàn)概率,判斷其所屬的高斯分量。
(3) 利用式(14)對每個(gè)樣本進(jìn)行高斯分量標(biāo)準(zhǔn)化處理。
本節(jié)通過改進(jìn)文獻(xiàn)[27]中的一個(gè)數(shù)值例子對本文方法進(jìn)行驗(yàn)證,具體模型如下:
Xj=Ξjsj+ejj=1,2,3
(16)
式中:sj=[s1,j,s2,j]T是高斯隨機(jī)向量,ej服從均值為零和標(biāo)準(zhǔn)差為0.05的正態(tài)分布,變換矩陣為Ξj∈R3×2。
(17)
每個(gè)模態(tài)根據(jù)式(16)和式(17)產(chǎn)生300個(gè)樣本,共產(chǎn)生900個(gè)樣本作為正常的訓(xùn)練數(shù)據(jù),同時(shí)每個(gè)模態(tài)各產(chǎn)生50個(gè)樣本作為校驗(yàn)樣本。另外,在第一個(gè)模態(tài)上添加了階躍故障生成100個(gè)故障樣本。表1列出各模態(tài)產(chǎn)生訓(xùn)練數(shù)據(jù)集的參數(shù)。數(shù)據(jù)分布如圖2所示,為了清晰展示數(shù)據(jù)結(jié)構(gòu),將故障樣本所屬的模態(tài)數(shù)據(jù)放大。
表1 各模態(tài)參數(shù)設(shè)置
圖2 數(shù)據(jù)散點(diǎn)圖
由圖2可知,數(shù)據(jù)呈現(xiàn)多模態(tài)結(jié)構(gòu)且各模態(tài)方差差異明顯。本節(jié)分別使用PCA、DPCA、KNN、WKNN和GCS-KNN對該數(shù)值例子進(jìn)行檢測。根據(jù)主元貢獻(xiàn)率達(dá)到85%,PCA主元個(gè)數(shù)選取為2[28]。DPCA的時(shí)滯參數(shù)和主元個(gè)數(shù)確定為2,WKNN的權(quán)重參數(shù)k選取為3,WKNN、KNN和GCS-KNN近鄰數(shù)K均確定為5,具體參數(shù)設(shè)置如表2所示。各方法的置信度為99%。首先應(yīng)用PCA和DPCA檢測此數(shù)據(jù)集,在置信度為99%的情況下,其檢測結(jié)果如圖3、圖4所示。由于PCA和DPCA均使用統(tǒng)計(jì)量T2作為檢測指標(biāo),而此數(shù)據(jù)集具有顯著的多峰分布特征,不滿足統(tǒng)計(jì)量的假定前提要求,故導(dǎo)致出現(xiàn)漏報(bào)的情況,檢測效果較差。
表2 各方法參數(shù)設(shè)置
圖3 PCA檢測結(jié)果
圖4 DPCA檢測結(jié)果
KNN方法通常用于有多模態(tài)特征的數(shù)據(jù),但是,當(dāng)多個(gè)模態(tài)的方差差異較大時(shí),控制限則根據(jù)較大的統(tǒng)計(jì)值確定。若在方差較小的模態(tài)附近產(chǎn)生微小故障時(shí),會出現(xiàn)漏報(bào)的現(xiàn)象。本例為方差差異較大的多模態(tài)數(shù)據(jù),此時(shí),KNN統(tǒng)計(jì)信息無法反映故障數(shù)據(jù)與正常數(shù)據(jù)之間的差異。由于KNN由方差較大的模態(tài)數(shù)據(jù)確定控制限,而此數(shù)據(jù)集的故障發(fā)生在較小方差模態(tài)的附近,所以KNN檢測方法針對此數(shù)據(jù)集的檢測效果較差,如圖5所示。WKNN通過引入距離權(quán)重,消除KNN無法檢測出多模態(tài)過程中微小故障的局限性,故能夠檢測出大部分故障,其檢測結(jié)果如圖6所示。但是WKNN在對數(shù)據(jù)量大的過程進(jìn)行故障檢測時(shí),存在計(jì)算量大、及時(shí)性差等問題,并且模型的性能易受到參數(shù)的影響,因此在故障檢測時(shí)存在局限性。
圖5 KNN檢測結(jié)果
圖6 WKNN檢測結(jié)果
GMM對樣本的分類結(jié)果如圖7所示,將訓(xùn)練數(shù)據(jù)分解為3個(gè)高斯分量。圖8為各個(gè)高斯分量標(biāo)準(zhǔn)化后的數(shù)據(jù)散點(diǎn)圖,高斯分量標(biāo)準(zhǔn)化可將故障數(shù)據(jù)和正常樣本分離,消除了多峰特征的影響,數(shù)據(jù)遵循多元高斯分布,符合統(tǒng)計(jì)量的假設(shè)前提條件,為后續(xù)的檢測過程提供了較好的數(shù)據(jù)基礎(chǔ)。經(jīng)過標(biāo)準(zhǔn)化后的樣本采用KNN進(jìn)行故障檢測,樣本中的所有故障都能夠被檢測出來,如圖9所示。該數(shù)值例子表明本文方法能夠通過高斯分量標(biāo)準(zhǔn)化消除數(shù)據(jù)的多模態(tài)特征,因此可以有效地檢測多模態(tài)過程。
圖7 數(shù)據(jù)分類圖
圖8 標(biāo)準(zhǔn)化后的數(shù)據(jù)圖
圖9 GCS-KNN檢測結(jié)果
本節(jié)以半導(dǎo)體蝕刻工藝為例,驗(yàn)證GCS-KNN的有效性[29]。該數(shù)據(jù)包含108個(gè)正常晶片和21個(gè)故障晶片。由于兩片晶片丟失大量數(shù)據(jù)信息,故本節(jié)實(shí)驗(yàn)僅使用107片正常晶片和20片故障晶片用于測試。在本次仿真實(shí)驗(yàn)中,選取96批正常數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)建立模型,11批校驗(yàn)數(shù)據(jù),20批故障數(shù)據(jù)用于測試模型。半導(dǎo)體工藝具有間歇時(shí)間不等、步長不等、過程漂移以及多模態(tài)等特點(diǎn)。為了提高不等長批處理過程的故障檢測性能和降低算法的復(fù)雜度,利用統(tǒng)計(jì)模量分析(Statistical Pattern Analysis,SPA)對半導(dǎo)體數(shù)據(jù)進(jìn)行展開[30]。
本節(jié)分別采用PCA、DPCA、KNN、WKNN和GCS-KNN對半導(dǎo)體數(shù)據(jù)進(jìn)行故障檢測并進(jìn)行對比分析。本節(jié)中各參數(shù)設(shè)置如下,其中PCA主元個(gè)數(shù)選取為3,DPCA主元數(shù)和時(shí)滯參數(shù)分別選取為13和2,根據(jù)交叉驗(yàn)證,KNN和GCS-KNN的近鄰數(shù)為9,WKNN的參數(shù)K和k設(shè)置為9。各方法置信度為99%。
圖10和圖11分別為PCA和DPCA方法用于該例的檢測結(jié)果,可知PCA和DPCA用于該例的檢測率較低。其主要原因是半導(dǎo)體過程的數(shù)據(jù)是由相隔數(shù)周的多次實(shí)驗(yàn)中收集的,受到不同批次生產(chǎn)工具狀態(tài)變化的影響,導(dǎo)致不同批次數(shù)據(jù)間存在不同的均值和協(xié)方差信息。此外,由圖12可以發(fā)現(xiàn)降維后的主元空間仍然具有多模態(tài)結(jié)構(gòu),影響PCA與DPCA檢測模型的檢測性能。圖13為使用KNN對該例進(jìn)行故障檢測的結(jié)果,KNN算法對多模態(tài)數(shù)據(jù)具有較好的檢測效果,但是前提是多模態(tài)數(shù)據(jù)為模態(tài)方差差異不明顯的數(shù)據(jù)。否則其控制限會由較大的統(tǒng)計(jì)值決定,導(dǎo)致出現(xiàn)漏報(bào)的情況,因此KNN方法的檢測率也較低。WKNN的檢測結(jié)果如圖14所示,WKNN通過引入權(quán)重將每個(gè)模態(tài)的稀疏程度調(diào)整為相同的尺度,消除了模態(tài)間不同離散程度對故障檢測的影響。但是,WKNN的計(jì)算量很大,原因是在搜索近鄰時(shí)必須遍歷所有樣本。
圖10 PCA檢測結(jié)果
圖11 DPCA檢測圖
圖12 主元空間散點(diǎn)圖
圖13 KNN檢測結(jié)果
圖14 WKNN檢測結(jié)果
圖15為半導(dǎo)體數(shù)據(jù)經(jīng)過高斯分量標(biāo)準(zhǔn)化處理的數(shù)據(jù)圖,由圖知高斯分量標(biāo)準(zhǔn)化有效地消除了數(shù)據(jù)的多模態(tài)特征。同時(shí),由圖16可以發(fā)現(xiàn),大部分故障能夠和正常數(shù)據(jù)分離,為后續(xù)的檢測過程帶來了良好的數(shù)據(jù)基礎(chǔ)。標(biāo)準(zhǔn)化后的數(shù)據(jù)應(yīng)用KNN進(jìn)行故障檢測,大部分故障均能夠被檢測,GCS-KNN的檢測率達(dá)到0.95。由表3可知GCS-KNN故障檢測率明顯高于其他方法。綜上,實(shí)驗(yàn)結(jié)果驗(yàn)證了本文方法的有效性。
表3 各方法故障檢測率
圖15 GCS標(biāo)準(zhǔn)化的數(shù)據(jù)圖
圖16 GCS-KNN檢測結(jié)果
本文提出一種高斯分量標(biāo)準(zhǔn)化的方法消除數(shù)據(jù)的多模態(tài)特征,在此基礎(chǔ)上,結(jié)合高斯分量標(biāo)準(zhǔn)化與KNN,提出了一種多模態(tài)過程檢測方法。首先,該方法利用高斯分量標(biāo)準(zhǔn)化描述多模態(tài)過程,從而提高了基于KNN方法在復(fù)雜過程中的檢測性能;其次,GMM將過程數(shù)據(jù)分解為多個(gè)高斯分量,且各分量中的數(shù)據(jù)服從多元高斯分布,為后續(xù)的檢測過程提供了較好的數(shù)據(jù)基礎(chǔ)。由數(shù)值例子和半導(dǎo)體蝕刻過程的仿真實(shí)驗(yàn)驗(yàn)證該方法的有效性。仿真結(jié)果表明高斯分量標(biāo)準(zhǔn)化能夠有效將多模態(tài)數(shù)據(jù)轉(zhuǎn)化為單一分布的數(shù)據(jù),提高KNN在多模態(tài)工業(yè)過程中的檢測效果。然而GCS-KNN在已知過程數(shù)據(jù)模態(tài)個(gè)數(shù)先驗(yàn)知識的前提下具有良好的檢測效果,因此如何獲取過程數(shù)據(jù)模態(tài)個(gè)數(shù)成為下一步的研究方向。