卷积神经网络多变量过程特征学习与故障诊断
2020-06-24陈淑梅余建波
陈淑梅, 余建波
(同济大学 机械与能源工程学院, 上海 201804)
在过程监控与故障诊断中,高维过程信号的特征表达对故障模式的匹配和识别至关重要[13]. 近年来,相继开展了基于特征学习的故障检测方法的研究[14-15]. 基于深度学习(deep Learning)的特征提取方法能自动学习大数据中的特征,显著地提高了故障检测和诊断的准确率[16]. 深度神经网络(deep neural networks, DNN)在计算机视觉、自然语言处理和语音识别等领域取得了巨大的成功[17-25]. 近年来主要开发了基于DNN的机械故障诊断方案[21-23]. 但是,基于DNN的过程故障诊断的研究较少[24-25].
卷积神经网络(convolutional neural network,CNN)[26]以非监督或半监督的学习方式获取图像数据的高层抽象化表达,克服了传统的手工提取特征人力成本大、精度不高和不可泛化的缺点. 近年来,CNN在计算机视觉领域取得了突破性进展[27-29]. Lee等[30]用卷积神经网络从半导体的传感信号中自动提取故障的内部结构特征,开发了基于CNN的晶圆表面缺陷识别模型.
虽然基于CNN算法的机械或半导体的故障诊断方法近年来被广泛研究[26, 30-33],将机械或半导体产生的信号转为图像信号输入CNN进行故障诊断,但是,基于CNN特征学习的过程故障诊断还未见报道.
本文尝试将多变量过程信号转为图像信号,开发基于CNN的过程故障诊断方案,设计了一个轻量级的CNN模型,适用于样本量不大的多变量过程的特征学习. 本文的主要贡献有以下几个方面:1)提出了基于CNN的多变量过程特征学习模型(CNN-based feature learning for multivariate process,简称MPCNet);2)将一维过程信号转为二维的图像信号,以MPCNet提取的图像特征表征多变量过程状态;3)基于MPCNet提取的有效过程特征,提出了多变量过程故障诊断模型,显著地提高了系统的故障诊断性能.
1 MPCNet
MPCNet是一种由多层卷积滤波器与子采样滤波器交替构成的轻量级CNN网络,其特殊性表现为两个方面,即本地连接和权重共享. MPCNet的核心原理:输入图像通过局部感受和权值共享的下采样方式,映射到隐含层空间的有用信息具有某种尺度的不失真性. 在MPCNet中,神经元之间的一些连接在整个层上被复制,它们具有相同的权重和偏差.
如图1所示,MPCNet共有7层,包含两个卷积层,两个池化层,两个全连接层和一个输出层,卷积层和池化层的堆叠构成具有深层结构的CNN模型. 输入图像的像素为208,通道为3,卷积层卷积核的大小为3,通道数为16. 全连接层的神经元数为128,激活函数为ReLu,输出层的激活函数为Softmax,用于图像的分类.
图1 MPCNet网络结构Fig.1 Network structure of MPCNet
1)卷积层. 卷积层即特征提取层,MPCNet采用大小为3×3的卷积核从前一层中提取208×208图像的局部特征,作为卷积层中神经元的输入,卷积层确定了所有提取特征之间的位置关系. 传统神经网络层与层之间全连接的方式易占用计算空间,且执行任务效率不高. 而通过特征映射,提取输入图像的主要特征,通过卷积核的特征提取操作,图像由原来的208×208减少至104×104,实现了参数的降维,在降低计算成本的同时也提高了准确度. 在进行卷积操作时,图像每一维的步长均为2. 填充图像的方法为相同填充,即超出边界的区域使用0填充. 卷积计算过程如图2所示. 在训练过程中,用一个卷积核fx将图像中的局部区域通过特征提取和卷积核的权重Wx作用,以及偏置bx构成卷积层神经元的输入Cx,因此卷积核也被称为滤波器. 滤波器的学习参数(Wx和bx)可通过训练过程的迭代优化得到.
图2 卷积和下采样过程Fig.2 Convolution and down-sampling process
2)池化层. 池化层即特征映射层,MPCNet采用2×2的池化矩阵用以减少数据特征,移动步长为2,使用全0填充. 受到人脑视觉皮层抑制效用的启发,池化层在降低分辨率的同时使特征图中的重要信息得到最大化的保留,减少主要特征发生的位移和失真. 下采样过程如图2所示,MPCNet使用最大值下采样方式对图像上不同区域内的特征进行聚合统计,得到低维的概要统计特征,在提高性能的同时不容易产生过拟合. 其他下采样方式还包括权值可训练下采样、平均值下采样、高斯池化下采样.
3)全连接层. MPCNet输出层之前设置两个128全连接层,将原始数据经过特征映射层提取到的隐含特征全连接,对数据进行重新分类. 全连接层以矩阵乘法的形式对隐层特征进行空间提取整合,在降低维度的同时,最大化地保留有用信息. 理论上,多个全连接层可通过激活函数实现多种非线性变化,从复杂多变量过程的输入图像中学习数据特征的表达方法.
MPCNet在前向传播阶段通过卷积核对输入图像进行卷积操作而获得局部特征映射,通过反向传播方式更新网络参数. 输入层通过特征映射与内核卷积,在激活函数的非线性转化下形成输出特征映射. 卷积核可与多个输入映射组合形成对应的输出映射,计算过程如下:
(1)
子采样层提取输入映射的下采样特征,N个输入映射对应N个输出特征,输出特征的维度可能较小. 下采样计算过程如下:
在MPCNet的末端为具有8个神经元的全连接层用于执行8个过程故障类分类任务,输出层前的级联特征映射作为输出层的输入,记特征向量为fv,输出为
O=f(bo+wofv).
2 基于MPCNet的过程故障诊断方法
本文通过图像处理的方法将原始一维过程向量转为图像信号,从而可为MPCNet提供图像数据输入,构建具有多层结构的MPCNet模型(参数见表1)对输入图像进行特征提取,提取到的特征进一步输入至Softmax分类器中,以有监督的方式学习与过程状态匹配的显著性特征. 过程的异常状态可通过各类控制图(比如基于局部和全局主成分分析法(Local and global principle component analysis, LGPCA)构造的T2和Q2统计值加以判别[34]). 对于识别为异常状态的样本,则进一步进行故障诊断,判断样本所属的故障类别.
表1 MPCNet的模型参数Tab.1 Parameters of MPCNet model
基于MPCNet模型的复杂多变量过程的特征学习过程如图3所示.
图3 基于MPCNet的复杂多变量过程特征学习与故障诊断
Fig.3 Feature learning and fault diagnosis in complex multivariate process based on MPCNet
与一般故障诊断方法不同,本文将多变量高维过程信号转换为图像作为MPCNet的输入. CNN在图像识别中应用广泛,但收敛速度慢,对数据进行预处理可防止梯度弥散. 本文对数据进行归一化预处理,以加快模型收敛. 如图3所示,在一维过程向量转化为图像的过程中,为防止模型梯度爆炸,首先对训练数据进行归一化处理,用matlab绘图工具为每个过程信号样本生成一张图片,构成样本图片的训练集和测试集. 同时为提高模型的运算速度,在绘图时固定图片的大小和背景,并将图片的像素设为208×208. MPCNet采用大小为3×3的卷积核从前一层中提取图像的局部特征,通过卷积核的特征提取操作,图像由原来的208×208减少至104×104. 下采样过程用2×2的池化矩阵对图像进一步进行参数降维,使图像缩减至原来的1/4. 卷积层和下采样层构成特征映射平面,MPCNet采用两个特征映射平面提取输入图像的主要特征,实现了参数的降维,在降低计算成本的同时也提高了准确度. 后一个特征平面的卷积核尺寸和池化矩阵的大小与前面相同. 在MPCNet输出层前设置两个大小为128的全连接层,将原始数据经过特征映射层提取到的隐含特征全连接,作为分类层的输入. MPCNet通过Softmax层有监督的微调方式学习故障特征,与无监督学习方式相比,有监督的学习方式能通过提供有标签的训练样本数据提取更有效、稳定和抽象化的数据特征.
基于MPCNet的多变量过程故障识别的过程包含离线建模和在线识别两个过程. 离线建模过程包含以下4个步骤:
步骤 1收集各类过程样本,构建训练集;
步骤 2对训练集样本进行归一化处理,并将过程信号生成图像,作为MPCNet的输入;
步骤 3MPCNet从过程图像中提取故障模式特征;
步骤 4MPCNet将提取到的数据特征输入分类器,以有监督的学习方式调整和优化网络参数.
在线故障诊断过程包含以下5个步骤:
步骤1待测试样本进行归一化处理;
步骤2将过程信号转化为图像信号;
步骤3将图像输入到MPCNet产生过程特征;
步骤4输入特征到故障识别器,输出过程故障识别结果;
步骤5根据故障诊断结果制定过程维护决策.
3 实验结果分析
田纳西过程是复杂多变量过程故障诊断应用最为典型的一种化工生产仿真系统,具有5个操作单元,分别为反应器、冷凝器、循环压缩机、分离器和汽提塔. TEP有52个变量,其中包括12个操纵变量和40个测量变量. 在实际的工业过程中,TEP常见的故障模式有21种,本文选取8种故障模式进行研究,如表2所示. 在实验中,通常以3 min的采样间隔时间收集数据,构造训练集和测试集. 训练集包含500个正常样本和10 080个故障样本,其中每种故障类型的样本数为480. 在测试集中,正常样本和每种故障类型的样本数均为960个,每种故障类型在第161个样本开始引入异常. 本文选取的TEP故障类型为4、5、11、13、14、16、19和21共8种故障类型,如表2所示. 每个样本的数据维度为52. 每种故障的训练集和测试集的样本数量分别为480和800.
表2 TEP故障描述Tab.2 Description of faults in TEP
3.1 TEP故障诊断
在选取故障类别时,首先用常见的故障诊断方法(BPN, SDAE和SVM)测试21种故障数据的识别率. 故障类别依次增加,当故障类别增加到8类时,上述方法难以区分本文选取的8种故障类型. 本文选取的8种故障类型的数据特征具有相似性,在空间上表现为部分重叠,一般分类方法难以对这8种故障类型的数据进行区分. 本文利用CNN强大的特征学习能力提取这8种故障类型的内部结构特征,提高模型的故障识别率. 表3为MPCNet故障类型识别结果的混淆矩阵. 由于8种故障的数据特征在空间上交互重叠,MPCNet在对每种故障类型进行识别时均有一定程度的“类别混淆”情况. 除了在对故障4和故障5进行识别时,MPCNet将一小部分样本混淆为故障16和故障19外,在对其他类型的故障进行识别时,MPCNet基本能正确识别出特征模式所属的故障类别. 图4为MPCNet对TEP故障类型的识别结果,横坐标上的8类样本对应纵坐标上的故障4到故障21. 图中点的纵坐标代表对应样本的分类结果,点分布得越密集,每类样本属于对应类别的可能性越大. 如图4所示,每类样本的分类结果大都集中于对应类别的位置,有少数样本分布在其他类别. 因此,每种故障类型均有少数的“误分类”现象,但大多数的样本能被正确归类到所属的故障类别中.
表3 基于混淆矩阵的MPCNet故障识别结果Tab.3 Confusion matrix for fault diagnosis results based on MPCNet %
图4 基于MPCNet特征学习的TEP故障分类结果
Fig.4 Fault classification for TEP based on MPCNet feature learning
为进一步验证基于特征提取的MPCNet模型对数据分类的有效性,本文比较了传统分类器(分别为SDAE、BPN、SVMLK、SVMRBF、LVQ、KNN和DT分类器)对8种故障的类别识别性能. SDAE和BPN均采用“52-70-45-8”的网络结构,激活函数均为Sigmoid;SVMLK和SVMRBF采用的核函数分别为线性函核(linear kernel, LK)和径向基函数(radial basic function, RBF);LVQ的隐藏层大小为100. 表4为MPCNet模型和一般机器学习方法对所选取的8种故障类型识别准确率的比较结果. 除故障19外,基于特征学习的MPCNet模型对故障类型的识别率均显著高于其他分类器,且MPCNet模型的故障类别平均识别率高于其他机器学习方法,显著地提高了识别器的故障诊断能力.
表4 MPCNet与典型识别器的故障识别率比较Tab.4 Comparison of fault recognition rates between MPCNet and conventional classifiers %
3.2 特征可视化分析
为进一步说明MPCNet模型对高维数据的特征提取性能,本文通过t-SNE方法[35]将MPCNet模型第二层池化层提取到的图像特征进行二维平面可视化,如图5所示.
图5 MPCNet模型对故障数据的特征可视化Fig.5 Feature visualization for faulty data using MPCNe
MPCNet模型强大的特征提取能力使得每种故障类型的数据特征在空间上具有良好的聚簇性和可分性,这显著提高分类器对故障数据的分类精度.
本文将MPCNet提取到图像特征作为传统分类器KNN、BPN和SVM的输入,得到的识别率如表5所示. 比较表4与5可知,这些分类器的故障识别率均有大幅度提升,表明有效地过程特征提取有助于准确率更高、消耗更低的识别器的构建,在降低经验风险最小化的同时,也降低了模型的复杂度. MPCNet以分层提取的方式获得数据特征的抽象化表达,这种结构化特征提高了传统分类器对数据类别属性的理解,表现为故障识别准确率的显著提升.
表5 基于MPCNet提取特征的典型识别器识别率Tab.5 Fault recognition rates of conventional classifiers based on features extracted by MPCNet %
3.3 性能对比分析
为了进一步证明MPCNet模型提取特征的有效性,本文进行了五折交叉实验,对本文提出的MPCNet与深度学习方法(DBN和SDAE)[36]、最近几年流行的CNN结构(Vgg16、Vgg19、Resnet50)[37]和轻量级CNN模型(Mobilenet[38])进行故障识别率的比较,结果见表6.
表6 MPCNet与典型深度神经网络的五折交叉对比实验Tab.6 Comparison of five-cross validation between MPCNet and conventional deep network models %
本文提出的MPCNet的平均故障识别率显著高于其他分类器,说明MPCNet模型具有从图像中提取更高级特征的能力,这些对原始数据的抽象化表征使模型能迅速捕捉到数据所属类别标签间的区别,从而提高对数据的分类精度. DBN和SDAE分类器识别率非常低,无法应用于TEP故障诊断. Vgg16、Vgg19与Resnet50模型具有相似的平均故障识别率. Mobilenet的故障识别率与本文提出的MPCNet最为相似. Vgg16、Vgg19、Resnet50和Mobilenet是近几年较为流行的深度较大的CNN网络,网络模型使用的卷积核较小,瓶颈层和模块化的使用降低了计算量,从而提高了模型的运算效率. 但这几种CNN模型对TEP故障类型的识别率不高,原因在于网络训练所采用的数据集过小,不足以支持庞大网络进行正常的训练. 因此在训练样本集不大的情况下,使用较小的CNN网络识别TEP故障类型往往能取得更为理想的结果. 通过CNN中的局部连接、对权值共享和下采样的参数进行约束,可实现“较小”的CNN结构. MPCNet采用大小为3×3的卷积核、2×2的池化矩阵和大小为128的全连接层,减少了网络参数,使网络训练过程容易,不易过学习,这种轻量级的CNN模型更适合用于小样本数据量的过程诊断. CNN常用于处理图像数据[17,28, 38], 用于计算机视觉设计的CNN具有庞大的网络结构,如AlexNet,参数共计62 378 344个. MPCNet的参数量为2 085 072,与大型网络相比,MPCNet明显具有较小的网络结构,适用于样本量不大的多变量过程的故障诊断.
4 结 论
1)本文提出的基于CNN的多变量过程故障诊断方法,将过程信号转为图像信号,利用MPCNet从图像中提取故障特征向量进行模式识别,克服了传统人工提取特征主观性大、依赖性强和效率低等缺点.
2)与经典的分类器相比,基于MPCNet提取的特征进行故障模式识别可以得到更理想的结果,充分证明了MPCNet强大的特征学习能力.
3)本文为以CNN为代表的深度学习方法在多变量过程故障诊断的应用提供了较为充分的参考依据,也为将来开发更有效的多变量监测方案奠定了基础.
下一步工作可用MPCNet提取故障数据特征,并结合多变量统计过程方法开发多变量过程的过程监控方法.