基于判别核主元空间k近邻的批次过程监视

2018-10-16 03:11郭青秀
计算机应用 2018年8期
关键词:校验模态样本

张 成,郭青秀,李 元

(沈阳化工大学 技术过程故障诊断与安全性研究中心, 沈阳 110142)(*通信作者电子邮箱li-yuan@mail.tsinghua.edu.cn)

0 引言

随着现代工业发展,批次过程监控逐渐成为保证生产质量的重要技术手段,许多学者在此领域进行了深入的研究与探索并取得了可喜的成果[1-2]。近年来,主元分析方法(Principal Component Analysis, PCA)作为一种基于历史数据的过程监控和故障诊断技术受到了学术界和工业界的广泛关注。PCA方法通过引入 Hotelling’s T2和SPE监控指标进行故障检测并具有较低的误检率和漏检率[3-5]。PCA在计算时通常假设数据服从多元高斯分布,这种假设使其使用范围受到了一定的限制。

针对批次生产过程非线性问题,Lee等提出了基于核主元分析(kernel Principal Component Analysis, kPCA)的故障检测方法并与其他方法进行了比较,得出了易于理解和实现的结论[6-9]。kPCA将输入空间通过非线性变换映射到特征空间,虽然进行了非线性变换,但kPCA并不在高维特征空间进行运算,而是通过引入核函数将特征空间点积运算形式转化为输入空间核运算形式,这种转化使kPCA计算量得到极大的简化;但kPCA是单模型检测方法,处理多模型问题会导致检测性能降低。

针对批次生产过程多模态特征, He等[10]提出了一种基于k近邻规则的故障检测方法(Fault Detection based on thek-Nearest Neighbor Rule, FD-kNN),该方法能够降低半导体蚀刻过程数据非线性和多工况特征的影响;然而,FD-kNN存在计算量大、占用内存大、样本不平衡等问题,并且在模态间方差差异较大时,故障检测不够敏感。针对上述问题,He等[11]提出基于PCA降维的k近邻故障检测方法,该方法在主元空间建立FD-kNN检测模型,可以有效提高FD-kNN的计算效率;但PC-kNN方法只监控样本在主元空间的变化,因此其检测性能并不优于传统的FD-kNN。针对批次过程的批次数据不等长问题,张成等[12]提出一种基于统计模量故障检测方法,并将其应用在批次生产过程中,同时给出了与kNN、PCA等方法的结果对比分析。统计模量方法能有效提升检测性能,同时降低了批次不等长、多工况等特征对故障检测的影响。

针对工业过程中多模态和非线性问题,本文提出基于判别核主元k近邻的故障检测方法(Fault Detection based onkNearest Neighbors Rule in Discriminated kernel Principle Component Analysis, Dis-kPCkNN)。首先,应用kPCA进行数据降维,其中核参数β通过在类内窗宽和类间窗宽判别选取获得;接下来,在判别核主元空间中应用k近邻规则针对批次生产过程进行故障检测。该方法既保持了kPCA处理非线性问题的性能,又继承了k近邻方法处理多模态的能力,可以有效提高过程监控质量。

1 基于k近邻规则的故障检测方法

FD-kNN方法认为正常测试样本轨迹与训练样本的轨迹相似,而异常测试样本轨迹会偏离训练轨迹。该方法可以有效处理具有多模态等数据特征的故障检测问题。FD-kNN故障检测框架由两部分组成:模型建立和在线检测。

假设训练集为X={xi}(i=1,2,…,m),其中m为样本数。具体流程如下:

步骤1 模型建立。

②计算xi其与k近邻距离的平方和:

(1)

③确定用于检测故障的控制限。由于D2近似符合偏χ2分布[13],可以依据显著性水平α确定控制限:

(2)

为了方便,L也可以应用统计中无参数估计——核密度估计(Kernel Density Estimation, KDE)进行确定[14]。

步骤2 在线检测。

对于测试样本x*,其检测过程也是由三步构成:

2 判别核主元分析

2.1 核主元分析

设输入训练集为X={xi},应用非线性映射Φ:Rn→F将输入空间Rn映射到高维特征空间F,特征空间中训练数据的协方差矩阵为:

(3)

与PCA相似,kPCA通过计算协方差矩阵C的特征向量将特征空间F分解为主元子空间和残差子空间。协方差矩阵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故障检测是通过监控统计量T2和SPE的变化实现的。T2和SPE的计算公式分别为:

RT2=[t1,t2,…,tp]Λ-1[t1,t2,…,tp]T

(10)

(11)

其中p为主元数。

2.2 窗宽参数判别选择方法

核函数一般可以选高斯核函数:exp(-‖x-y‖2/β)。β的选取通常采用迭代算法和搜索算法,以搜索算法居多。此外,将核参数的优化和特征选择同时进行也是一种方法[15-16]。

本节提出一种基于类别标签判别选择窗宽参数的方法,具体过程如下。

假设训练集为X={xi,li},li∈{1,2,…,M}, 其中li为xi的分类标签,M为类别数。记βw和βB分别为样本的类内窗宽与类间窗宽。

(12)

其中:βw(P)表示训练集中第P类样本的类内窗宽,NP为第P类样本数量。

(13)

其中:βB(P,Q)表示训练集中第P类样本与第Q类样本的类间窗宽,NPQ为P类样本与Q类样本数量之积。

因此,判别高斯核可以定义为:

(14)

其中:

(15)

式(15)中,当li=lj=P时,βij=βw(P);当li=P,lj=Q,P≠Q时,βij=min{βw(P),βw(Q),βB(P,Q)}。

(16)

其中:τ为判别常数,用于调整βij的影响程度。通常τ取值为1,2,3。在本文中,通过判别核窗宽方法确定的高斯核称为判别高斯核。

3 Dis-kPCAkNN

传统kPCA方法采用统计量T2和SPE监视测试数据在核主元空间和残差空间的变化。由于T2统计量控制限在多元主元空间呈现一个超椭圆结构,这为多模态数据检测带来了严重影响。kNN中的近邻距离平方和能够降低多模态影响,可以有效处理多模态检测问题。因此,本文针对非线性、多模态故障检测问题,首先应用Dis-kPCA计算核主元,接下来在核主元空间中应用kNN方法进行故障检测。

步骤1 对训练集和测试集应用判别核主元分析进行特征提取。

①训练集、测试集归一化处理,分别记为X和x*;

②依据训练集X样本分类标签,通过式(12)、(13)计算样本类间窗宽βB和类内窗宽βw;

③应用判别核窗宽方法式(14)~(16),确定训练集的核矩阵K和测试样本的核向量k*;

⑤应用式(9),计算训练集X和测试样本x*在核主元空间的得分向量,分别为T和t*。

步骤2 在矩阵T和t*进行kNN建模和故障检测。

③依式(2)确定检测控制限L;

④对于测试样本得分向量t*,返回步骤2的①;

4 仿真实验与分析

4.1 数值模拟实例

实验数据采自三个模态,具体构成情况如下:

(17)

其中:参数ei是均值为0、方差为0.1的高斯噪声序列。由式(17),每个模态生成55个样本数据。在每个模态的55个样本中随机选择5个样本作为校验样本,余下样本作为训练样本。另外,依据三个模态生成方法,生成5个故障样本,其中2个来自模态M1,2个来自模态M2,1个来自模态M3。如图1所示,训练样本分别为M1、M2、M3;校验样本标号为1~15,类标签为1,1,1,1,1,2,2,2,2,2,3,3,3,3,3;故障样本标号为16~20,类标签为1,1,2,2,3。

接下来,应用kPCA-T2、kPCA-SPE、kNN、Dis-kPCA及Dis-kPCkNN-T2、Dis-kPCkNN-SPE对过程进行故障检测。约定:检测图4~7中,○为训练样本;▉为校验样本;★为故障样本。在本例实验中,检测控制限阈值设置为0.95,方差累积贡献率85%确定主元数pcs=2。关于近邻数的选择,本文采用样本近邻误选率方法确定。样本近邻误选率定义为:

ER=n/k

(18)

其中:k为近邻数,n为近邻选取过程中被选取的近邻出现在其他类别的累积数量。如图2所示,在FD-kNN方法中,原始数据未经处理直接选取近邻,随着k值的增加(k=3,20,40,70),样本近邻误选率随之增加。这对数据原始结构信息的提取带来影响,同时制约过程检测的正确率。图3显示当k=3时,样本近邻误选率为0,过程中每个样本的近邻均在相同模态中选择,因此,本例中依据样本近邻误选率确定k=3。

图1 训练样本、校验样本和故障样本散点图(数值模拟实例)

图2 FD-kNN近邻类别误选率(数值模拟实例)

各种方法检测图见图4~7,检测率见表1。由图4可以看出,kPCA方法只能检测出故障17、18和20。虽然kPCA方法能够捕获过程的非线性和多模态结构信息,但是T2和SPE两个统计量并不能检测全部故障。主要原因是上述统计量更适合单模态过程监视,将其应用于多模态过程时通常会产生较低的故障检测率。同时,由于本例的3个模态具有不同的方差结构,这将引起统计量具有较强的自相关性,这也是影响kPCA故障检测性能的一个原因。图5给出了应用判别核主元分析方法的T2和SPE检测结果。由于统计量T2和SPE适用于单模态过程故障监视,其故障检测率低于本文方法,同时还出现校验样本的误报情况。

表1 检测结果分析(数值模拟实例)

图3 Dis-kPCkNN近邻类别误选率(数值模拟实例)

图4 kPCA应用T2和SPE检测结果(数值模拟实例)

FD-kNN是一种有效的多模态过程故障检测方法。但是,当不同模态的方差结构具有明显差异时,FD-kNN方法同样具有较低的故障检测性能,如图6所示。本例中,模态3具有较高的分散程度,这将使得模态3中的样本kNN统计值明显大于前两个模态的相应统计值。这个特征将使得前两个模态微弱故障的统计值被第3模态统计值淹没。因此,在本例中FD-kNN同样具有较低的故障检测率。

图5 Dis-kPCA应用T2和SPE检测结果(数值模拟实例)

图6 FD-kNN检测结果(数值模拟实例)

本文方法可以对校验样本和故障样本有效地进行识别,如图7所示。经判别选择窗宽方法确定核主元,再结合k近邻样本距离平方和指标作为统计量,可以有效处理带有非线性、多模态等特点的检测问题。因此,本文方法在降低距离计算复杂度的同时,又继承了k近邻方法处理非线性、多模态过程故障检测的能力,同时扩展了k近邻算法的应用范围。通过在线检测的累计耗时分布图(图8)所示,可以看出随着数据维数与测试样本数量的增加,Dis-kPCkNN能够有效提高检测效率,为生产及时提供产品质量信息。

4.2 工业仿真实例

数据采集自半导体铝堆蚀刻工艺过程。数据集包括来自三个不同试验(L29、L31和L32)的129个晶片数据: 107个正常晶片,21个故障晶片,由于故障晶片中2个晶片数据丢失,即已成为明显故障,因此本文只使用其中107个正常晶片和19个故障晶片的数据进行分析。更多关于故障的说明可以参考文献[17]。原始数据包括40个变量,本文只使用其中的19个变量,这些变量与产品的生产过程和最终状态密切相关。

图7 Dis-kPCkNN检测结果(数值模拟实例)

图8 FD-kNN与Dis-kPCkNN累计耗时(数值模拟实例)

1)数据分析。正常晶片数据中试验L29、L31和L32分别包含34、36和37个批次。 各试验批次中对变量Endpoint A进行统计分析,如图9所示。可以看出,在试验过程中,三个试验同一变量呈现不同的轨迹分布,进一步说明数据集采自不同工况(图中模态M1、M2、M3分别为L29、L31、L32的类标签)。

图9 变量Endpt A批次图(半导体蚀刻过程仿真)

半导体蚀刻工艺具有如下特点:

①批次宽度不等长:在107个批次中,批次持续生产时间由95 s变化到112 s。

②工序宽度不等长:各批次数据采自蚀刻过程的第四步和第五步,图9说明不同批次中的第四步铝蚀刻持续的时间不同,由44 s变化至52 s(图9中MiS4,i=1,2,3)。等长批次中第四步铝蚀刻不遵循相似的时间轨迹。

③进程漂移:对于蚀刻过程,由于材料不同、蚀刻范围不同等原因都可以导致进程轨迹漂移。

④非高斯分布:批次数据同一变量不服从高斯分布。

为满足仿真要求,现将试验数据进行初始化设置,在L29、L31、L32试验中按表2所示构造训练集、校验集和故障集,其中:故障集的批次1~8属于L29试验故障,类标签设置为M1;批次9~14属于L31试验故障,类标签设置为M2;批次15~19属于L32试验故障,类标签设置为M3。

表2 仿真试验数据(半导体蚀刻过程仿真)

为了提高过程监视自动化程度, 简化预处理步骤, 对于批次数据的不等长问题, 本文采用最短时间法[10]处理。首先去掉前5个采样点, 然后取后续 85 个采样点, 这样, 该过程的训练批次、校验批次和故障批次数据依次可以表示为:

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)过程检测结果与分析。为了说明Dis-kPCkNN 批次过程监视算法的有效性, 本文分别进行了Dis-kPCAT2、Dis-kPCASPE、FD-kNN、Dis-kPCkNN批次过程监视方法实验研究, 并对不同方法的实验结果进行比较。约定:故障检测图11~13中,○为训练批次;▉为校验批次;★为故障批次。应用Dis-kPCkNN方法进行检测。由累计贡献率法确定主元数为2,依据样本近邻误选率,k近邻数为3,τ=1。统计量均取95%控制限。

a)从数据降维的角度分析:Dis-kPCA方法将高维数据(1 445维)降至低维(2维)空间,图10是训练样本、故障样本、校验样本经过Dis-kPCA降至二维空间的分布情况,可以看出故障点、校验点分离,同时训练数据三个模态特征得到充分体现。

图10 Dis-kPCA主元空间(半导体蚀刻过程仿真)

b)从检测结果的角度分析:PCA-T2对故障的检测能力较弱,绝大多数故障点位于控制限内并且被误判为正常样本点。依据T2统计量的定义可知,其控制限在二维空间为椭圆结构,椭圆结构是制约检测效果的主要原因。kPCA-T2方法也具有以上缺陷。因此,由图10可以看出,如果继续使用T2进行检测,图中所有故障点均分布在T2控制限椭圆内部,检测失败。本文在图10所示的判别核主元空间,应用k近邻规则进行分析,采用k近邻距离和进行统计,可以回避数据非线性、多模态结构对检测结果的影响。图11给出了应用本文算法的检测结果,只有一个故障批次(19)未被检出,检测效果优于传统的PCA方法和kPCA方法。PC-kNN和kPC-kNN是指分别在PCA和kPCA的主元空间应用kNN方法进行检测。虽然都继承了kNN处理非线性与多模态的能力,但是由于数据降维过程中难以从几何结构上分离故障点,因此检测效果不及本文方法。图12给出了应用判别核方法的T2和SPE检测结果,由于统计量T2和SPE的特点,故障点没有检测成功,检测率低于本文方法,检测结果见表3。

图11 Dis-kPCkNN检测结果(半导体蚀刻过程仿真)

图12 Dis-kPCA应用T2和SPE检测结果(半导体蚀刻过程仿真)

c)从计算效率角度分析:在训练数据集X上直接应用FD-kNN方法,结果如图13所示。可以看出4个故障批次未被检测到,同时该方法需要频繁计算1 445高维数据的距离,严重影响了故障检测的实时性;并且该方法需要占据大量计算内存,图14给出了Dis-kPCkNN和FD-kNN在线检测过程累计耗时曲线,可以看出Dis-kPCkNN具有优于FD-kNN的检测效率。PC-kNN、kPC-kNN和Dis-kPCkNN都是在降维之后的低维(2维)主元空间进行k近邻距离的计算,相对1 445维而言,计算效率明显提高,计算内存占用降低。

图13 kNN检测结果(半导体蚀刻过程仿真)

方法未检出批次检测率/%本文方法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累积耗时分析(半导体蚀刻过程仿真)

5 结语

针对非线性、多模态的批次生产过程特点,本文提出了一种基于判别核主元空间的k近邻故障检测方法。该方法首先通过样本类别标签确定核窗宽,进而计算得出核矩阵,该核矩阵可以有效描述样本的结构信息和分布特征。接下来应用传统的PCA方法对特征空间进行分解,确定核主元空间。在核主元空间引用k近邻规则确定统计模型,进行故障检测。本文方法保持了kPCA处理非线性数据的能力,又继承了kNN处理多模态故障检测问题的优势。通过对半导体蚀刻工艺过程进行仿真实验,验证了本文方法对批次过程故障检测的优越性,在实际生产中具有较强的指导意义。

猜你喜欢
校验模态样本
基于BERT-VGG16的多模态情感分析模型
多模态超声监测DBD移植肾的临床应用
使用Excel朗读功能校验工作表中的数据
电能表在线不停电校验技术
跨模态通信理论及关键技术初探
规划·样本
随机微分方程的样本Lyapunov二次型估计
基于FPGA的CRC32校验查找表算法的设计
浅谈微电子故障校验
日版《午夜凶铃》多模态隐喻的认知研究