采用优化概率神经网络的质量异常识别方法
2021-11-10李丽丽高建民冯增行
李丽丽,陈 琨,高建民,李 辉,冯增行,张 建
(西安交通大学 机械制造系统工程国家重点实验室,陕西 西安 710049)
0 引言
质量控制的目标是及早发现质量问题并采取适当的措施加以解决,使生产系统能长期保持稳定状态。统计过程控制(Statistical Process Control,SPC)是目前应用最广泛的质量控制方法。控制图由美国SHEWHART首先提出,根据一定的处理方法在控制图上画出一系列点的分布状态,以确定生产过程是否处于稳定和受控状态。基于显著性统计原理,控制图将生产系统的波动分为系统波动和异常波动,并认为系统波动总是一直存在且不能消除,而异常波动会在控制图上显示一定的规律,可以通过一定的控制手段消除[1]。
由于控制图可以监测生产系统的运行状态,预测可能出现的质量问题,质量异常的识别主要是识别SPC控制图的异常模式。早期主要采用基于规则的专家系统(Expert System, ES)来确定异常模式[2]。事实上,在基于统计特性的ESs中,使用规则的困难在于相似的统计特性可能来自不同的模式,易产生错误识别的问题[3]。此外,构建基于规则的专家系统的异常判定方法需要建立大量的判定规则,这将导致规则组合爆炸的问题,而且由于随机因素的存在,系统的识别精度也会受到很大影响[4]。人工神经网络具有良好的学习能力和自组织能力,在控制图模式识别领域得到了广泛的应用。针对控制图模式识别中存在的特征相似时模式难以区分的问题,GUH等[5]提出一种人工神经网络(Artificial Neural Network, ANN),用于在线控制图模式的检测和判别;EL-MIDANY等[6]提出一种基于人工神经网络的多变量过程控制图模式识别框架;WU等[7]研究了基于小波神经网络的控制图模式识别方法;EBRAHIMZADEH等[8]提出一种基于改进的帝国主义竞争算法和K-means算法(the Modified Imperialist Competitive Algorithm and the K-means algorithm, K-MICA) 聚类和神经网络的混合智能控制图模式识别方法;ADDEH等[9]结合新的训练算法和实际特点,提出一种基于径向基函数神经网络(Radial Basis Function Neural Network, RBFNN) 的控制图模式识别方法。自20世纪90年代末到2010年,基于特征和小波去噪的输入表示技术一直是提高人工神经网络识别性能的研究热点,最有意义的工作包括小波神经网络[10]、形状特征神经网络[11]和统计特征神经网络[12]。
以往的研究大多采用原始过程数据作为控制图模式识别(Control Chart Pattern Recognition, CCPR)的输入向量[13]。近年研究主要集中在特征提取和分类算法改进上。由于输入数据的维数过高,直接基于原始数据识别和诊断异常可能导致算法训练时间过长。因此,一些研究首先提取了控制图的特征,然后识别控制图的模式。ZHANG等[14]将形状和统计特征与主成分分析(Principal Component Analysis, PCA)相结合,实现特征维数的减少;GAURI等[15]首先基于分类与回归树(Classification And Regression Tree, CART)提取了控制图的7个特征,然后利用ANN进行模式识别,取得了良好的效果;XANTHOPOULOS等[16]研究了统计特征提取和加权支持向量机相结合的控制图模式识别方法;ZHAO等[17]研究了采用改进的监督局部线性嵌入和支持向量机的控制图模式的识别方法,有效地消除了特征集中的冗余特征,降低了分类模型的复杂度;ZAN等[18]提出一种基于卷积神经网络的控制模式识别方法,并通过Monte Carlo仿真验证了该方法的可行性和有效性。此外,一些新的神经网络如Elman网络[19]、Spiking神经网络(Spiking Neural Network, SNN)[20]等也被应用于异常模式的识别。综上所述,大多数学者在CCPR领域采用人工神经网络,因为人工神经网络具有显著的优势,但是人工神经网络难以选择神经网络模型的拓扑和结构,而且人工神经网络的网络结构和训练参数也很难确定。针对这一问题,GUH[21]采用遗传算法(Genetic Algorithm, GA)来进化ANN模型的结构和训练参数集,以解决在线CCPR问题。ADDEH等[22]研究了一种精确的控制图模式识别系统的设计方法,并应用布谷鸟优化算法(Cuckoo Optimization Algorithm, COA)寻找径向基函数神经网络的最优参数。
近年来,人工神经网络(ANN)和支持向量机(Support Vector Machine, SVM)等多种机器学习技术在CCPR领域得到了成功应用和深入研究,但对于并发CCPs(同时发生两个或两个以上的基本控制图模式(Control Chart Pattern, CCP)的识别问题,国内外学者较少关注。YANG等[23]使用极值点对称模式分解和极值学习机完成了并发控制图模式的识别和量化;ZHANG等[24]研究了基于融合特征约简和焰火算法优化的多类别支持向量机(Multiclass Support Vector Machine, MSVM)的混合控制图模式识别方法。然而,目前对并发CCPs的识别研究还不够深入,需要进一步探索。
尽管以上研究为后续研究工作提供了非常重要的参考,但都存在一定的缺陷。神经网络模型的拓扑结构难以选择,网络结构和训练参数也难以确定;支持向量机(SVM)是一种双分类器,在异常模式的多分类识别问题上效率不高。此外,在大多数情况下,实际生产中往往会遇到几种异常模式同时出现的情况,目前的研究大多集中在单一模型的识别上。因此,有关CCPR的研究需要进一步拓展。
综上所述,本文提出一种基于概率神经网络(Probabilistic Neural Network, PNN)的质量异常识别方法,采用改进的单目标优化遗传算法(Single-objective Genetic Algorithm, SGA)对PNN的关键参数进行寻优,以消除经验取值的不足。同时,在本文提出的方法中加入了混合异常模式识别的内容。仿真实验表明,该方法在异常模式识别的准确性、网络训练的快速性和方法的易用性等方面具有一定的优势。
1 质量异常模式及其描述
西方电气公司于1958年率先提出了控制图模式的问题,并总结了控制图的异常模式[25],后来的学者们据此对控制图的异常模式及其识别问题做了深入的研究。随着人工智能技术的发展,使用人工智能技术进行控制图的异常模式识别和判定成为质量诊断领域的重要研究内容之一。控制图的基本模式共有6种,如图1所示。不同的异常模式以及异常模式的组合反映了生产过程的不同状态以及不稳定因素。从控制图的异常模式入手,能发现当前生产过程中存在的质量隐患,进而及时采取相应的解决措施。生产过程可以表示为:
x(t)=μ+d(t)+r(t)。
(1)
式中:t表示生产数据的采样时刻;x(t)表示生产过程的观测值;μ表示生产稳定时质量特性的均值;d(t)表示特殊因素引起的异常波动,d(t)的不同导致了生产过程出现不同的异常模式,正常情况下d(t)为0;r(t)表示随机因素引起的正常波动,服从均值为0、方差为σ2的正态分布。
正常情况下,d(t)=0,控制图呈现正常模式,上面的点随机分布;d(t)=A×sin(2πt/T)是处于周期模式,A和T分别为幅值和周期;向上(向下)趋势模式时d(t)=±k×t,k为趋势的斜率,向上时为正,向下时为负;向上(向下)阶跃模式中d(t)=±1(t-t0)×s,t0为阶跃发生的时刻,s为阶跃幅度,当t≥t0时,1(t-t0)=1,否则1(t-t0)=0。对于混合异常模式,可以描述为基本异常模式异常波动d(t)的相加,在此不再赘述。
2 基于优化概率神经网络的质量异常识别模型
本文提出的基于优化概率神经网络(PNN)的质量异常识别模型如图2所示,主要可分为特征提取、模式分类、参数优化3个阶段。在特征提取阶段,根据PCA方法将高维原始样本数据降低到一定的维度,保留85%原始数据的信息;利用PNN进行控制图模式的识别,包括基本模式和混合的模式识别;采用改进的单目标优化遗传算法(SGA)对网络主要参数进行寻优,以训练样本的准确率作为算法的适应度函数。
模型详细步骤如下:
步骤1产生样本数据。利用蒙特卡罗方法模拟产生6种基本模式和4种混合模式的样本数据。
步骤2特征提取。使用PCA方法将样本数据降低到一定维度,作为PNN网络的输入。
步骤3建立PNN。确定网络结构,设定参数范围,用于后续的模式识别和算法优化。
步骤4优化参数。改进的SGA用于优化参数。以PNN的识别准确率作为适应度函数,寻找最优的平滑系数σ。
步骤5分类。结合优化参数后的PNN网络实现对控制图异常模式的识别。
2.1 基于PCA的控制图特征提取与降维
本文采用的基于PCA的特征提取方法,是除去计算形状与统计特征和小波变换之外的一种新的可行的控制图模式数据处理方法。PCA免去了需要计算多种特征的复杂性,也不需要如小波变换一般需要选取适当的分解层数和小波水平,经实验证明可以达到同样的处理效果。
PCA是数据处理中用于特征降维的最常用手段,可以从复杂的多维数据中提取主要成分,在尽量不损失模型质量的情况下,大大提高模型的训练速度[26]。PCA方法从原始的数据分布空间中找到一组相互正交的坐标轴,第一个新坐标轴是原始数据中方差最大的方向,第二个新坐标轴是与第一个轴正交的平面中方差最大的,以此类推可以得到一系列这样的坐标轴。在这些坐标轴中,取前几个包含了大部分方差的坐标轴,以实现对数据特征的降维处理。
如图3所示为原始数据和PCA处理后数据的二维散点图,图4所示为原始数据和PCA处理后数据的三维散点图。从两图可以清楚地看出,经过PCA后,不同异常类型的数据明显被区分开,便于后续进行概率神经网络的分类识别。
2.2 基于概率神经网络的异常识别方法
概率神经网络(PNN)属于径向基神经网络的一种,以指数函数替代神经网络中常用的S形激活函数,进而能够计算出接近于贝叶斯最佳判定面的非线性判别边界[27]。PNN基于贝叶斯最优分类决策理论和统计学中的概率密度函数的非参数估计方法[28],与传统神经网络使用的反向传播算法不同,是一种前向传播算法,没有反馈。典型的PNN结构如图5所示。
PNN由输入层、样本层、求和层和输出层(竞争层)构成。输入层计算输入向量与所有训练样本向量之间的距离,其神经元个数是特征向量的维数,即PCA处理后的数据维度;样本层包括所有训练样本,神经元个数是所有训练样本的个数,激活函数为高斯函数;求和层神经元个数是类别的个数,将样本层的输出按类相加;输出层也叫竞争层,只有一个神经元,取概率值最大的那一类输出为1。
本文用于异常识别的PNN输入层为PCA处理后控制图数据,输入层神经元个数由PCA处理的结果确定;样本层神经元为训练样本的数量;求和层神经元个数为10,表示异常情况的10种类别,包括6种基本模式和4种混合模式。相比传统BP神经网络和RBF神经网络,PNN学习过程简单,学习速度快,分类更准确,对错误以及噪声的容忍高,没有局部极小值问题,当有代表性的训练样本数量增加到足够大时,分类器一定能达到贝叶斯最优。
2.3 基于遗传算法的PNN参数优化
PNN模型中,唯一需要调整的参数是σ,也称为平滑参数。若σ太小,对单独训练的样本仅仅起到隔离的作用,本质上是最近邻分类器;若σ太大,不能够完全区分细节,对于界限不明显的不同类别,可能得不到理想的分类效果,接近于线性分类器。
GA是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法[29]。遗传算法以生物进化原理为基础,在每一代群体中,不断按照个体适应度大小选择并进行交叉和变异,产生新的群体,使种群得以不断进化,同时以全局并行搜索技术进行搜索优化最优个体,以求得问题的近似最优解。遗传算法不受函数连续与可微的限制,结果全局最优。因此本文采用遗传算法对PNN的平滑系数进行优化,寻找最优的参数。具体流程如下:
(1)设定平滑因子σ的取值范围,随机产生初始种群{σ1,σ2,σ3,…,σM},M为种群的规模,当前代数t=1;
(2)根据由染色体获得的平滑因子,构建PNN,计算分类正确的个数以及准确率,据此计算染色体的适应度函数;
(3)选择优胜的个体,进行交叉、变异等操作,得到下代种群;
(4)更新当前代数t=t+1;
(5)检查t是否满足终止条件,即达到设定的迭代次数,若满足结束条件则算法停止,否则返回(2);
(6)输出适应度值最优的个体作为算法优化的结果代入PNN,得到最终的识别模型。
3 仿真实验分析
3.1 数据仿真与参数设置
利用Monte-Carlo方法生成6种基本模式和4种混合模式各1 000个样本,共10 000个控制图模式样本。选取其中70%作为训练集,30%作为测试集。其中每个控制图样本包括的数据点为25个,根据美国汽车工业行动集团(Automotive Industry Action Group,AIAG)的TS16949系列质量技术标准中SPC手册的控制图标准而设定。各个异常模式的参数取值如表1所示。
表1 各种异常情况的参数设置
3.2 特征提取和降维
使用PCA对原始数据进行降维处理和特征提取,一般取前85%的维度,恰好为前9个维度的和。因此,取方差贡献率之和为85%的主成分作为降维后的数据。如图6所示为累计方差贡献率之和为85%的主成分及其分别所占比重。
根据PCA分析结果,将原本25维的数据降低到只有9个维度。以9个主成分作为降维后的数据输入PNN进行模式识别学习训练,可以大大降低模型的训练时间,同时增加识别结果的准确率。
3.3 算法参数优化
改进的SGA没有采用标准的遗传算法流程,而是先进行交叉和变异生成子代,然后父子两代合并,再从合并的种群中择优保留,从而实现了精英保留,使算法收敛速度更快。
优化算法每代种群有100个个体,共进化200代。SGA运行时,先随机产生一组平滑参数σ,然后进行交叉变异产生子代,再将父代和子代合并从中选择适应度高的个体存活下来。最终寻优结果如图7所示,实线表示种群个体平均目标函数值,虚线表示种群最优个体目标函数值。算法在运行到第11代的时候种群中最优个体的训练准确率达到最高,由此得到最优的平滑参数为1.738 5,进而得到的最优的目标函数值即训练准确率为95.10%。而采用传统遗传算法得到的最优平滑参数为0.816 1,得到的最优的目标函数值即训练准确率为81.69%,其优化结果如图8所示。通过与传统遗传算法的优化结果进行对比,本文采用的改进的SGA具有明显的优势,训练准确率相比传统遗传算法有了显著的提高。
3.4 模型测试结果
将优化后的参数代入模型,输入测试样本数据,得到最终的识别结果如表2所示。
从表2的模型测试结果可以看出,本文提出的方法对于基本模式的识别准确率较高,大部分都在97%以上,对于混合模式的识别也有平均90%以上的准确率。但在识别准确率相对较低的循环阶跃模式、循环趋势阶跃模式以及循环趋势模式中,有相当一部分被识别成了其他模式,说明模型对于控制图中的趋势成分和阶跃成分的区分还有待进一步改进。
表2 质量异常识别模型测试结果
3.5 与其他方法的对比
为了与本文提出的PCA-SGA-PNN方法进行对比,分别建立BP,PNN和PCA-PNN控制图识别模型。其中:①BP神经网络的输入层神经元为25,隐含层个数为3;②利用PNN进行模式识别,不进行数据处理;③利用PCA降维后的数据输入PNN网络进行识别,不进行参数的优化;④通过改进的SGA方法对PNN参数优化再进行识别,即本文所采用的方法;⑤使用粒子群算法优化的SVM建立识别模型。几种方法的对比结果如表3所示。
表3 不同方法的对比
分析表3结果可得以下结论:
(1)单一的BP神经网络或者PNN识别精度都比较低,而先进行PCA分析降维的模型识别精度有明显提高,说明特征提取有助于控制图基本模式和混合模式的识别。
(2)利用SGA对PNN参数优化后模型的准确率有了进一步的提高。通过参数寻优,避免了依靠经验取值时的盲目,从而得到更好的识别率。
(3)与粒子群优化的SVM相比,本文方法的准确率更高,说明PNN在控制图模式识别问题上有一定的优势,是一种可行且有效的识别方法。
4 结束语
本文提出一种基于遗传算法优化概率神经网络的质量异常模式识别方法。本方法使用主成分分析(PCA)对控制图原始数据进行降维处理,减少模型的训练时间;利用PNN网络结构简单,识别效果好的特点实现控制图单一模式和混合模式的识别;通过改进的SGA对PNN的关键参数寻优,以消除经验取值的不足;最后通过仿真实验对所提方法进行了验证,并与传统的BP网络、单一的PNN、未进行参数优化的PCA-PNN模型以及粒子群优化(PSO)的SVM模型进行了对比,证明了本文所提方法的有效性。本文提出的方法对于促进控制图在实际生产中的应用以及帮助企业及时发现生产过程中的质量异常现象具有一定的积极意义。
未来可能考虑对这两种模式采取其他措施进行分类识别,如对不同模式取不同的平滑参数,使得模型的识别效果更好。