張 成,郭青秀,李 元
(沈陽化工大學(xué) 技術(shù)過程故障診斷與安全性研究中心, 沈陽 110142)(*通信作者電子郵箱li-yuan@mail.tsinghua.edu.cn)
隨著現(xiàn)代工業(yè)發(fā)展,批次過程監(jiān)控逐漸成為保證生產(chǎn)質(zhì)量的重要技術(shù)手段,許多學(xué)者在此領(lǐng)域進(jìn)行了深入的研究與探索并取得了可喜的成果[1-2]。近年來,主元分析方法(Principal Component Analysis, PCA)作為一種基于歷史數(shù)據(jù)的過程監(jiān)控和故障診斷技術(shù)受到了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注。PCA方法通過引入 Hotelling’s T2和SPE監(jiān)控指標(biāo)進(jìn)行故障檢測并具有較低的誤檢率和漏檢率[3-5]。PCA在計算時通常假設(shè)數(shù)據(jù)服從多元高斯分布,這種假設(shè)使其使用范圍受到了一定的限制。
針對批次生產(chǎn)過程非線性問題,Lee等提出了基于核主元分析(kernel Principal Component Analysis, kPCA)的故障檢測方法并與其他方法進(jìn)行了比較,得出了易于理解和實現(xiàn)的結(jié)論[6-9]。kPCA將輸入空間通過非線性變換映射到特征空間,雖然進(jìn)行了非線性變換,但kPCA并不在高維特征空間進(jìn)行運算,而是通過引入核函數(shù)將特征空間點積運算形式轉(zhuǎn)化為輸入空間核運算形式,這種轉(zhuǎn)化使kPCA計算量得到極大的簡化;但kPCA是單模型檢測方法,處理多模型問題會導(dǎo)致檢測性能降低。
針對批次生產(chǎn)過程多模態(tài)特征, He等[10]提出了一種基于k近鄰規(guī)則的故障檢測方法(Fault Detection based on thek-Nearest Neighbor Rule, FD-kNN),該方法能夠降低半導(dǎo)體蝕刻過程數(shù)據(jù)非線性和多工況特征的影響;然而,F(xiàn)D-kNN存在計算量大、占用內(nèi)存大、樣本不平衡等問題,并且在模態(tài)間方差差異較大時,故障檢測不夠敏感。針對上述問題,He等[11]提出基于PCA降維的k近鄰故障檢測方法,該方法在主元空間建立FD-kNN檢測模型,可以有效提高FD-kNN的計算效率;但PC-kNN方法只監(jiān)控樣本在主元空間的變化,因此其檢測性能并不優(yōu)于傳統(tǒng)的FD-kNN。針對批次過程的批次數(shù)據(jù)不等長問題,張成等[12]提出一種基于統(tǒng)計模量故障檢測方法,并將其應(yīng)用在批次生產(chǎn)過程中,同時給出了與kNN、PCA等方法的結(jié)果對比分析。統(tǒng)計模量方法能有效提升檢測性能,同時降低了批次不等長、多工況等特征對故障檢測的影響。
針對工業(yè)過程中多模態(tài)和非線性問題,本文提出基于判別核主元k近鄰的故障檢測方法(Fault Detection based onkNearest Neighbors Rule in Discriminated kernel Principle Component Analysis, Dis-kPCkNN)。首先,應(yīng)用kPCA進(jìn)行數(shù)據(jù)降維,其中核參數(shù)β通過在類內(nèi)窗寬和類間窗寬判別選取獲得;接下來,在判別核主元空間中應(yīng)用k近鄰規(guī)則針對批次生產(chǎn)過程進(jìn)行故障檢測。該方法既保持了kPCA處理非線性問題的性能,又繼承了k近鄰方法處理多模態(tài)的能力,可以有效提高過程監(jiān)控質(zhì)量。
FD-kNN方法認(rèn)為正常測試樣本軌跡與訓(xùn)練樣本的軌跡相似,而異常測試樣本軌跡會偏離訓(xùn)練軌跡。該方法可以有效處理具有多模態(tài)等數(shù)據(jù)特征的故障檢測問題。FD-kNN故障檢測框架由兩部分組成:模型建立和在線檢測。
假設(shè)訓(xùn)練集為X={xi}(i=1,2,…,m),其中m為樣本數(shù)。具體流程如下:
步驟1 模型建立。
②計算xi其與k近鄰距離的平方和:
(1)
③確定用于檢測故障的控制限。由于D2近似符合偏χ2分布[13],可以依據(jù)顯著性水平α確定控制限:
(2)
為了方便,L也可以應(yīng)用統(tǒng)計中無參數(shù)估計——核密度估計(Kernel Density Estimation, KDE)進(jìn)行確定[14]。
步驟2 在線檢測。
對于測試樣本x*,其檢測過程也是由三步構(gòu)成:
設(shè)輸入訓(xùn)練集為X={xi},應(yīng)用非線性映射Φ:Rn→F將輸入空間Rn映射到高維特征空間F,特征空間中訓(xùn)練數(shù)據(jù)的協(xié)方差矩陣為:
(3)
與PCA相似,kPCA通過計算協(xié)方差矩陣C的特征向量將特征空間F分解為主元子空間和殘差子空間。協(xié)方差矩陣C的特征值λ和特征向量v滿足:
(4)
λ〈Φ(xj),v〉=〈Φ(xj),Cv〉
(5)
(6)
λα=Kα/m
(7)
接下來,將核矩陣K均值中心化,即:
(8)
其中E=[ei,j]∈Rm×m,ei,j=1/m。同時為滿足‖v‖2=1的要求,則α滿足‖α‖2=1/mλ。
與PCA相仿,任一樣本x在特征空間中的第j個主元為:
(9)
kPCA故障檢測是通過監(jiān)控統(tǒng)計量T2和SPE的變化實現(xiàn)的。T2和SPE的計算公式分別為:
RT2=[t1,t2,…,tp]Λ-1[t1,t2,…,tp]T
(10)
(11)
其中p為主元數(shù)。
核函數(shù)一般可以選高斯核函數(shù):exp(-‖x-y‖2/β)。β的選取通常采用迭代算法和搜索算法,以搜索算法居多。此外,將核參數(shù)的優(yōu)化和特征選擇同時進(jìn)行也是一種方法[15-16]。
本節(jié)提出一種基于類別標(biāo)簽判別選擇窗寬參數(shù)的方法,具體過程如下。
假設(shè)訓(xùn)練集為X={xi,li},li∈{1,2,…,M}, 其中l(wèi)i為xi的分類標(biāo)簽,M為類別數(shù)。記βw和βB分別為樣本的類內(nèi)窗寬與類間窗寬。
(12)
其中:βw(P)表示訓(xùn)練集中第P類樣本的類內(nèi)窗寬,NP為第P類樣本數(shù)量。
(13)
其中:βB(P,Q)表示訓(xùn)練集中第P類樣本與第Q類樣本的類間窗寬,NPQ為P類樣本與Q類樣本數(shù)量之積。
因此,判別高斯核可以定義為:
(14)
其中:
(15)
式(15)中,當(dāng)li=lj=P時,βij=βw(P);當(dāng)li=P,lj=Q,P≠Q(mào)時,βij=min{βw(P),βw(Q),βB(P,Q)}。
(16)
其中:τ為判別常數(shù),用于調(diào)整βij的影響程度。通常τ取值為1,2,3。在本文中,通過判別核窗寬方法確定的高斯核稱為判別高斯核。
傳統(tǒng)kPCA方法采用統(tǒng)計量T2和SPE監(jiān)視測試數(shù)據(jù)在核主元空間和殘差空間的變化。由于T2統(tǒng)計量控制限在多元主元空間呈現(xiàn)一個超橢圓結(jié)構(gòu),這為多模態(tài)數(shù)據(jù)檢測帶來了嚴(yán)重影響。kNN中的近鄰距離平方和能夠降低多模態(tài)影響,可以有效處理多模態(tài)檢測問題。因此,本文針對非線性、多模態(tài)故障檢測問題,首先應(yīng)用Dis-kPCA計算核主元,接下來在核主元空間中應(yīng)用kNN方法進(jìn)行故障檢測。
步驟1 對訓(xùn)練集和測試集應(yīng)用判別核主元分析進(jìn)行特征提取。
①訓(xùn)練集、測試集歸一化處理,分別記為X和x*;
②依據(jù)訓(xùn)練集X樣本分類標(biāo)簽,通過式(12)、(13)計算樣本類間窗寬βB和類內(nèi)窗寬βw;
③應(yīng)用判別核窗寬方法式(14)~(16),確定訓(xùn)練集的核矩陣K和測試樣本的核向量k*;
⑤應(yīng)用式(9),計算訓(xùn)練集X和測試樣本x*在核主元空間的得分向量,分別為T和t*。
步驟2 在矩陣T和t*進(jìn)行kNN建模和故障檢測。
③依式(2)確定檢測控制限L;
④對于測試樣本得分向量t*,返回步驟2的①;
實驗數(shù)據(jù)采自三個模態(tài),具體構(gòu)成情況如下:
(17)
其中:參數(shù)ei是均值為0、方差為0.1的高斯噪聲序列。由式(17),每個模態(tài)生成55個樣本數(shù)據(jù)。在每個模態(tài)的55個樣本中隨機(jī)選擇5個樣本作為校驗樣本,余下樣本作為訓(xùn)練樣本。另外,依據(jù)三個模態(tài)生成方法,生成5個故障樣本,其中2個來自模態(tài)M1,2個來自模態(tài)M2,1個來自模態(tài)M3。如圖1所示,訓(xùn)練樣本分別為M1、M2、M3;校驗樣本標(biāo)號為1~15,類標(biāo)簽為1,1,1,1,1,2,2,2,2,2,3,3,3,3,3;故障樣本標(biāo)號為16~20,類標(biāo)簽為1,1,2,2,3。
接下來,應(yīng)用kPCA-T2、kPCA-SPE、kNN、Dis-kPCA及Dis-kPCkNN-T2、Dis-kPCkNN-SPE對過程進(jìn)行故障檢測。約定:檢測圖4~7中,○為訓(xùn)練樣本;▉為校驗樣本;★為故障樣本。在本例實驗中,檢測控制限閾值設(shè)置為0.95,方差累積貢獻(xiàn)率85%確定主元數(shù)pcs=2。關(guān)于近鄰數(shù)的選擇,本文采用樣本近鄰誤選率方法確定。樣本近鄰誤選率定義為:
ER=n/k
(18)
其中:k為近鄰數(shù),n為近鄰選取過程中被選取的近鄰出現(xiàn)在其他類別的累積數(shù)量。如圖2所示,在FD-kNN方法中,原始數(shù)據(jù)未經(jīng)處理直接選取近鄰,隨著k值的增加(k=3,20,40,70),樣本近鄰誤選率隨之增加。這對數(shù)據(jù)原始結(jié)構(gòu)信息的提取帶來影響,同時制約過程檢測的正確率。圖3顯示當(dāng)k=3時,樣本近鄰誤選率為0,過程中每個樣本的近鄰均在相同模態(tài)中選擇,因此,本例中依據(jù)樣本近鄰誤選率確定k=3。
圖1 訓(xùn)練樣本、校驗樣本和故障樣本散點圖(數(shù)值模擬實例)
圖2 FD-kNN近鄰類別誤選率(數(shù)值模擬實例)
各種方法檢測圖見圖4~7,檢測率見表1。由圖4可以看出,kPCA方法只能檢測出故障17、18和20。雖然kPCA方法能夠捕獲過程的非線性和多模態(tài)結(jié)構(gòu)信息,但是T2和SPE兩個統(tǒng)計量并不能檢測全部故障。主要原因是上述統(tǒng)計量更適合單模態(tài)過程監(jiān)視,將其應(yīng)用于多模態(tài)過程時通常會產(chǎn)生較低的故障檢測率。同時,由于本例的3個模態(tài)具有不同的方差結(jié)構(gòu),這將引起統(tǒng)計量具有較強(qiáng)的自相關(guān)性,這也是影響kPCA故障檢測性能的一個原因。圖5給出了應(yīng)用判別核主元分析方法的T2和SPE檢測結(jié)果。由于統(tǒng)計量T2和SPE適用于單模態(tài)過程故障監(jiān)視,其故障檢測率低于本文方法,同時還出現(xiàn)校驗樣本的誤報情況。
表1 檢測結(jié)果分析(數(shù)值模擬實例)
圖3 Dis-kPCkNN近鄰類別誤選率(數(shù)值模擬實例)
圖4 kPCA應(yīng)用T2和SPE檢測結(jié)果(數(shù)值模擬實例)
FD-kNN是一種有效的多模態(tài)過程故障檢測方法。但是,當(dāng)不同模態(tài)的方差結(jié)構(gòu)具有明顯差異時,F(xiàn)D-kNN方法同樣具有較低的故障檢測性能,如圖6所示。本例中,模態(tài)3具有較高的分散程度,這將使得模態(tài)3中的樣本kNN統(tǒng)計值明顯大于前兩個模態(tài)的相應(yīng)統(tǒng)計值。這個特征將使得前兩個模態(tài)微弱故障的統(tǒng)計值被第3模態(tài)統(tǒng)計值淹沒。因此,在本例中FD-kNN同樣具有較低的故障檢測率。
圖5 Dis-kPCA應(yīng)用T2和SPE檢測結(jié)果(數(shù)值模擬實例)
圖6 FD-kNN檢測結(jié)果(數(shù)值模擬實例)
本文方法可以對校驗樣本和故障樣本有效地進(jìn)行識別,如圖7所示。經(jīng)判別選擇窗寬方法確定核主元,再結(jié)合k近鄰樣本距離平方和指標(biāo)作為統(tǒng)計量,可以有效處理帶有非線性、多模態(tài)等特點的檢測問題。因此,本文方法在降低距離計算復(fù)雜度的同時,又繼承了k近鄰方法處理非線性、多模態(tài)過程故障檢測的能力,同時擴(kuò)展了k近鄰算法的應(yīng)用范圍。通過在線檢測的累計耗時分布圖(圖8)所示,可以看出隨著數(shù)據(jù)維數(shù)與測試樣本數(shù)量的增加,Dis-kPCkNN能夠有效提高檢測效率,為生產(chǎn)及時提供產(chǎn)品質(zhì)量信息。
數(shù)據(jù)采集自半導(dǎo)體鋁堆蝕刻工藝過程。數(shù)據(jù)集包括來自三個不同試驗(L29、L31和L32)的129個晶片數(shù)據(jù): 107個正常晶片,21個故障晶片,由于故障晶片中2個晶片數(shù)據(jù)丟失,即已成為明顯故障,因此本文只使用其中107個正常晶片和19個故障晶片的數(shù)據(jù)進(jìn)行分析。更多關(guān)于故障的說明可以參考文獻(xiàn)[17]。原始數(shù)據(jù)包括40個變量,本文只使用其中的19個變量,這些變量與產(chǎn)品的生產(chǎn)過程和最終狀態(tài)密切相關(guān)。
圖7 Dis-kPCkNN檢測結(jié)果(數(shù)值模擬實例)
圖8 FD-kNN與Dis-kPCkNN累計耗時(數(shù)值模擬實例)
1)數(shù)據(jù)分析。正常晶片數(shù)據(jù)中試驗L29、L31和L32分別包含34、36和37個批次。 各試驗批次中對變量Endpoint A進(jìn)行統(tǒng)計分析,如圖9所示??梢钥闯觯谠囼炦^程中,三個試驗同一變量呈現(xiàn)不同的軌跡分布,進(jìn)一步說明數(shù)據(jù)集采自不同工況(圖中模態(tài)M1、M2、M3分別為L29、L31、L32的類標(biāo)簽)。
圖9 變量Endpt A批次圖(半導(dǎo)體蝕刻過程仿真)
半導(dǎo)體蝕刻工藝具有如下特點:
①批次寬度不等長:在107個批次中,批次持續(xù)生產(chǎn)時間由95 s變化到112 s。
②工序?qū)挾炔坏乳L:各批次數(shù)據(jù)采自蝕刻過程的第四步和第五步,圖9說明不同批次中的第四步鋁蝕刻持續(xù)的時間不同,由44 s變化至52 s(圖9中MiS4,i=1,2,3)。等長批次中第四步鋁蝕刻不遵循相似的時間軌跡。
③進(jìn)程漂移:對于蝕刻過程,由于材料不同、蝕刻范圍不同等原因都可以導(dǎo)致進(jìn)程軌跡漂移。
④非高斯分布:批次數(shù)據(jù)同一變量不服從高斯分布。
為滿足仿真要求,現(xiàn)將試驗數(shù)據(jù)進(jìn)行初始化設(shè)置,在L29、L31、L32試驗中按表2所示構(gòu)造訓(xùn)練集、校驗集和故障集,其中:故障集的批次1~8屬于L29試驗故障,類標(biāo)簽設(shè)置為M1;批次9~14屬于L31試驗故障,類標(biāo)簽設(shè)置為M2;批次15~19屬于L32試驗故障,類標(biāo)簽設(shè)置為M3。
表2 仿真試驗數(shù)據(jù)(半導(dǎo)體蝕刻過程仿真)
為了提高過程監(jiān)視自動化程度, 簡化預(yù)處理步驟, 對于批次數(shù)據(jù)的不等長問題, 本文采用最短時間法[10]處理。首先去掉前5個采樣點, 然后取后續(xù) 85 個采樣點, 這樣, 該過程的訓(xùn)練批次、校驗批次和故障批次數(shù)據(jù)依次可以表示為:
X={xi,li};i=1,2,…,96,xi∈R1×1445
V={vj,lj};j=1,2,…,11,vi∈R1×1445
F={fk,lk};k=1,2,…,19,fi∈R1×1445
l*∈{M1,M2,M3}
2)過程檢測結(jié)果與分析。為了說明Dis-kPCkNN 批次過程監(jiān)視算法的有效性, 本文分別進(jìn)行了Dis-kPCAT2、Dis-kPCASPE、FD-kNN、Dis-kPCkNN批次過程監(jiān)視方法實驗研究, 并對不同方法的實驗結(jié)果進(jìn)行比較。約定:故障檢測圖11~13中,○為訓(xùn)練批次;▉為校驗批次;★為故障批次。應(yīng)用Dis-kPCkNN方法進(jìn)行檢測。由累計貢獻(xiàn)率法確定主元數(shù)為2,依據(jù)樣本近鄰誤選率,k近鄰數(shù)為3,τ=1。統(tǒng)計量均取95%控制限。
a)從數(shù)據(jù)降維的角度分析:Dis-kPCA方法將高維數(shù)據(jù)(1 445維)降至低維(2維)空間,圖10是訓(xùn)練樣本、故障樣本、校驗樣本經(jīng)過Dis-kPCA降至二維空間的分布情況,可以看出故障點、校驗點分離,同時訓(xùn)練數(shù)據(jù)三個模態(tài)特征得到充分體現(xiàn)。
圖10 Dis-kPCA主元空間(半導(dǎo)體蝕刻過程仿真)
b)從檢測結(jié)果的角度分析:PCA-T2對故障的檢測能力較弱,絕大多數(shù)故障點位于控制限內(nèi)并且被誤判為正常樣本點。依據(jù)T2統(tǒng)計量的定義可知,其控制限在二維空間為橢圓結(jié)構(gòu),橢圓結(jié)構(gòu)是制約檢測效果的主要原因。kPCA-T2方法也具有以上缺陷。因此,由圖10可以看出,如果繼續(xù)使用T2進(jìn)行檢測,圖中所有故障點均分布在T2控制限橢圓內(nèi)部,檢測失敗。本文在圖10所示的判別核主元空間,應(yīng)用k近鄰規(guī)則進(jìn)行分析,采用k近鄰距離和進(jìn)行統(tǒng)計,可以回避數(shù)據(jù)非線性、多模態(tài)結(jié)構(gòu)對檢測結(jié)果的影響。圖11給出了應(yīng)用本文算法的檢測結(jié)果,只有一個故障批次(19)未被檢出,檢測效果優(yōu)于傳統(tǒng)的PCA方法和kPCA方法。PC-kNN和kPC-kNN是指分別在PCA和kPCA的主元空間應(yīng)用kNN方法進(jìn)行檢測。雖然都繼承了kNN處理非線性與多模態(tài)的能力,但是由于數(shù)據(jù)降維過程中難以從幾何結(jié)構(gòu)上分離故障點,因此檢測效果不及本文方法。圖12給出了應(yīng)用判別核方法的T2和SPE檢測結(jié)果,由于統(tǒng)計量T2和SPE的特點,故障點沒有檢測成功,檢測率低于本文方法,檢測結(jié)果見表3。
圖11 Dis-kPCkNN檢測結(jié)果(半導(dǎo)體蝕刻過程仿真)
圖12 Dis-kPCA應(yīng)用T2和SPE檢測結(jié)果(半導(dǎo)體蝕刻過程仿真)
c)從計算效率角度分析:在訓(xùn)練數(shù)據(jù)集X上直接應(yīng)用FD-kNN方法,結(jié)果如圖13所示??梢钥闯?個故障批次未被檢測到,同時該方法需要頻繁計算1 445高維數(shù)據(jù)的距離,嚴(yán)重影響了故障檢測的實時性;并且該方法需要占據(jù)大量計算內(nèi)存,圖14給出了Dis-kPCkNN和FD-kNN在線檢測過程累計耗時曲線,可以看出Dis-kPCkNN具有優(yōu)于FD-kNN的檢測效率。PC-kNN、kPC-kNN和Dis-kPCkNN都是在降維之后的低維(2維)主元空間進(jìn)行k近鄰距離的計算,相對1 445維而言,計算效率明顯提高,計算內(nèi)存占用降低。
圖13 kNN檢測結(jié)果(半導(dǎo)體蝕刻過程仿真)
方法未檢出批次檢測率/%本文方法1994.7kNN2,4,5,878.9PCA-T21,2,4,5,8,9,10,13,14,1647.4PCA-SPE2,4,584.2kPCA-T21,2,4,5,8,9,10,11,13,14,15,16,1831.6kPCA-SPE1,2,4,5,8,9,10,13,14,15,16,1936.8PC-kNN2,5,8,1078.9kPC-kNN2,5,8,1078.9Dis-kPCA-T2全部未檢出0.0Dis-kPCA-SPE13,15,16,18,19,20,21,24,3047.3
圖14 Dis-kPCkNN與FD-kNN累積耗時分析(半導(dǎo)體蝕刻過程仿真)
針對非線性、多模態(tài)的批次生產(chǎn)過程特點,本文提出了一種基于判別核主元空間的k近鄰故障檢測方法。該方法首先通過樣本類別標(biāo)簽確定核窗寬,進(jìn)而計算得出核矩陣,該核矩陣可以有效描述樣本的結(jié)構(gòu)信息和分布特征。接下來應(yīng)用傳統(tǒng)的PCA方法對特征空間進(jìn)行分解,確定核主元空間。在核主元空間引用k近鄰規(guī)則確定統(tǒng)計模型,進(jìn)行故障檢測。本文方法保持了kPCA處理非線性數(shù)據(jù)的能力,又繼承了kNN處理多模態(tài)故障檢測問題的優(yōu)勢。通過對半導(dǎo)體蝕刻工藝過程進(jìn)行仿真實驗,驗證了本文方法對批次過程故障檢測的優(yōu)越性,在實際生產(chǎn)中具有較強(qiáng)的指導(dǎo)意義。