APP下载

基于多变量卷积神经网络的发酵过程故障监测

2021-01-20高学金刘爽爽高慧慧

高校化学工程学报 2020年6期
关键词:精确度卷积神经网络

高学金, 刘爽爽, 高慧慧

(1. 北京工业大学 信息学部, 北京 100124; 2. 数字社区教育部工程研究中心, 北京 100124;3. 城市轨道交通北京实验室, 北京 100124; 4. 计算智能与智能系统北京市重点实验室, 北京 100124)

1 前 言

发酵过程是现代流程工业中常见的一种生产方式[1],通常表现出动态性、非线性等固有特性,难以建立模型在线监测。因此,亟需建立合适的监测模型实现过程安全稳定运行。基于数据驱动的多元统计方法在工业过程领域取得广泛应用,典型方法有主成分分析(principal component analysis,PCA)[2-3]、独立分量分析(independent component analysis, ICA)[4-5]、时间片典型相关分析(canonical correlation analysis,CCA)[6],但传统多元统计方法模型较为简单,不能自适应提取数据深层特征,在当今的大数据背景下,面对数据量大、数据复杂多变等问题,监测能力远远不足。

深度学习[7-9]在大数据特征提取上具有其他算法不可比拟的优势,通过逐层的非线性特征提取能深入挖掘数据内在信息,表现出强大的信息学习能力和表达能力,并且对时序相关的序列数据同样具有较强的适用性。近年来深度学习方法因优越性能被广泛用于工业过程,如深层置信网络[10]、循环神经网络[11]、堆叠去噪自编码[12]和卷积神经网络(convolution neural network,CNN)[13],尤其是CNN 优越的特征提取能力越来越受到科研人员的青睐。Lee 等[14]提出故障检测和分类卷积神经网络方法,应用于半导体制造过程。Zhang 等[15]提出一种第一层宽卷积核的深度卷积神经网络方法,解决CNN 应用于故障诊断准确率不高的问题。Jiang 等[16]针对齿轮箱振动信号固有的多尺度特性,提出一种多尺度卷积神经网络结构,实现齿轮箱振动信号的多尺度特征提取和分类。但多数学者直接处理原数据训练模型用于轴承、齿轮等故障诊断。

过程扰动实际上发生在不同的时间尺度上,即测量过程数据具有时序相关性[17]。数据的动态特性对于统计量的统计特性影响很大,进而影响过程的监测结果[18]。Zhang 等[19-21]研究讨论了此问题,但研究中仍然假设不同时间段提取的潜在变量特征为独立状态,与变量先前值和其他变量之间不相关。Zhao 等[22-23]提出慢特性分析挖掘批处理过程时变动态信息,依赖于复杂的核计算,并且不能自动学习内在时变特征。

鉴此,本文提出一种多变量深度卷积神经网络(multivariable deep convolution neural network,MDCNN)故障监测方法。利用深度卷积神经网络提取分解变换后数据的高层次特征。该方法对具有动态性的多个过程变量进行时频分析,更完整地表征数据特征,使模型监测准确性大大提高。

2 LeNet-5 卷积神经网络

卷积神经网络最早于20 世纪 80 年代末提出,随后几年卷积神经网络性能持续提升[24]。LeNet-5[25]是典型的 CNN 模型,包含输入层,2 个交替的卷积和池化层,2 个全连接层,用于分类的输出层。LeNet-5 卷积网络模型如图1 所示。

图1 卷积神经网络模型Fig.1 Schematic diagram of the convolutional neural network model

3 基于MDCNN 的故障监测

3.1 数据预处理

发酵过程数据为三维数据结构,还有变量间和时刻间耦合相关特性,需将三维数据X(I×J×K)按变量方向展开为二维矩阵X(KI×J),其中,I、J、K 分别为批次数、过程变量、采样时刻。

滑动窗在很多领域用来分析动态信号。采用滑窗对测量的所有变量在采样时间上进行滑动截取,如图2所示。对一个批次,令滑动窗的大小为k×j,k 为截取的采样时刻数,j 为所有测量变量数,滑动步长为1,可以获得所有变量每个采样时刻的时序相关性,直至获得所有批次数据。

图2 按变量展开数据滑窗获取Fig.2 Schematic diagram of expand data window acquisition by variables

3.2 时频图获取

当工业过程发生故障时,信号的幅值、相位和频率都会发生变化,故障监测实质上也是信号分析处理的过程。希尔伯特-黄变换(Hilbert-Huang transform,HHT)[26]是性能较好的时频分析方法。它包含2部分:经验模态分解(empirical mode decomposition,EMD)和希尔伯特变换。HHT 方法在机械等方面对单变量进行分析,本文针对发酵过程多批次的多个变量进行时频分析,具体步骤如下:

1) 首先利用 EMD 方法对滑窗获得数据中每个变量分解为有限个本征模态函数(intrinisic mode function,IMF),所分解出来的各IMF 分量包含原信号的一段时间尺度的局部特征信号;公式为

如图3 所示为EMD 分解图和多个变量m 个时刻的时频图。

图3 EMD 分解图和多变量 m 个时刻的时频图Fig.3 EMD decomposition diagram and time-frequency diagram of multivariable at m-times

3.3 MDCNN 网络训练

针对发酵过程特有的动态性和非线性,本文提出MDCNN 的网络如图4 所示。

图4 MDCNN 网络Fig.4 Schematic diagram of mDCNN network

CNN 输入层每个输入分布并不一致,批量归一化(BN)[27]层旨在减少内部协方差的转移,加速深层神经网络的训练过程。在本节中,基于LeNet-5 模型加入BN 层来提高模型训练精度,在第2 层卷积层之后加入BN 层。批量归一化操作为

在大型网络训练中容易产生过拟合,dropout 通过在训练阶段的迭代中省略一些节点来避免过拟合现象,在实验中设置dropout 率ρ=0.5 在全连接层使用,卷积层没有很多参数,不设置dropout。

MDCNN 监测方法的结构决定着特征提取的完整与否和模型训练时间;参数、深度和神经元个数直接影响实验结果的精度。实验多种MDCNN 网络,其模型结构如表1 所示。网络的深度实验在表1中从1 层卷积到4 层卷积层,更深层次的网络监测时间会大大提高,耗时较多,但监测准确性提高不明显。所以在其合适的范围内设计实验,表1 中列出7 个模型进行对比分析,具有最好故障监测性能的网络作为实验模型。对于网络参数的确定,以发酵过程的数据特性和训练模型的精确度与耗时长短为依据研究网络的参数大小选择。参数主要包括每个卷积层的滤波器数量和FC 层的输出长度。

一个样本为采用滑窗截取大小为 32×10 的二维输入数据序列,例如模型5,包含2 个卷积层(C),2 个池化层(P),1 个全连接层(FC)和 1 个输出层(O)。在 2 个卷积层中,内核大小为5×5,步幅为 1。第 1 个卷积层包含64 个滤波器,第2 个卷积层包含32 个滤波器;BN 层加在第2 个卷积层之后进行映射;2 个最大池化层位于第1 和第2 卷积层之后,2×2 为在2 个池化层中的内核大小;FC 层的输入是一维向量,大小为(20×8×32);20 为FC 层的输出行,“dropout”用于该层。输出层具有“softmax”函数的样本矩阵类,模型的输出长度为2 的向量,表示监测结果的二分类。

表1 用于发酵过程故障监测的MDCNN 模型结构设计Table 1 Design of MDCNN network structure for fault monitoring of fermentation processes

3.4 基于MDCNN 的发酵过程故障监测

发酵过程具有周期性,在监测过程中,样本分为正常批次和故障批次,在建立模型时分为离线和在线阶段。训练阶段样本既包含正常批次也包含故障批次,经过数据预处理变换之后的数据作用于监测过程样本。基于MDCNN 故障监测方法如图5 所示。

图5 基于MDCNN的故障诊断方法框架Fig.5 Fault diagnosis framework based on MDCNN

离线阶段:

步骤1:从发酵过程数据库中获取历史数据;

步骤2:将三维数据变量方法展开为二维数据,采用滑动窗采集m×n 的数据矩阵,进行时频分析,获得所需样本,并用相应的类别标记,包括“正常”及“故障”类别标签;

步骤3:将包括其相应标签的样本分为训练集和测试集;

步骤4:设计网络模型,输入训练样本进行模型训练;

步骤5:输入测试样本进行模型测试;

步骤 6:如果测试结果精确度较高,输出测试结果,用于在线故障监测;否则,重新设计网络进行训练。

在线监测:

步骤1:从发酵过程获取新批次的m 时刻数据;

步骤2:对获得的变量数据采用离线模型数据处理方式获得所需样本;

步骤3:将在线获得样本输入模型测试其监测结果,分为有故障和无故障类型;

步骤4:监测结束之后,若测试结果准确度较高,在线数据可作为历史数据训练模型。

4 实验验证

4.1 青霉素发酵过程仿真验证

青霉素是人类大规模用于临床的一种抗生素[28],其发酵过程是一种典型的生化反应过程。复杂工业过程中一个变量的波动可能会引起其他多个变量的波动,采用单变量监控会导致各监测结果之间难以综合考虑,影响监测的质量。所以实验选取发酵过程的 10 个变量(x1,x2,……x10)进行监测,实现对过程运行在线监测。所选变量如表2 所示。

青霉素发酵过程每个批次的反应时间为400 h,采样间隔为0.5 h。实验数据集使用Pensim 2.0 平台仿真得到的5 批正常工况数据和5 批故障数据作为训练样本,3 批不同于训练样本的故障数据作为测试样 本 , 即 三 维 数 据 X(10×10×800)、Y(3×10×800),实验进行二分类,测试结果分为有故障和无故障。发酵过程故障大致分为 3 大类:传感器故障、过程故障(包括误操作)、机械与电气故障。目前仿真的故障主要集中在过程故障和机械故障上。Pensim 可以设定的故障变量和故障扰动类型如表3 所示。

表2 青霉素发酵过程变量Table 2 Process variables of penicillin fermentation

表3 青霉素实验故障类型Table 3 Fault types of penicillin fermentation

在完成MDCNN 网络结构构建之后,为了显示故障监测的实验结果,定义实验的精确度计算。所有训练数据集都训练一次,称为epoch,批次大小设为256。训练阶段,1 个批次样本通过网络训练一次,包含一次前向传播和一次后向传播,每迭代一次权重更新一次;测试阶段,1 个批次样本通过网络测试一次包含一次前向传播,一次epoch 需要完成的批次数量等于迭代次数。对于不同的数据集,数据的多样性会影响合适的 epoch 数量,随着epoch 的增加,训练和测试的样本集呈现不同精确度,如图6 所示。

当网络训练次数 epoch>100 时,精确度为饱和状态,每训练一次耗时将增加,实验设为 epoch=90,训练样本精确度为98.05%,测试样本精确度为 95.2%。在达到训练的快速性的同时保证精确度。

表4 列出了表1 中模型的测试平均精确度和训练时间。模型6 训练和测试平均精确度最高(98.05%、95.2%),训练时间30 s×90=45 min。模型1 和2 浅层的结构具有较低的故障监测精确度,相对于模型4,在卷积层之后加入BN 层。虽然训练时间相对增加,但测试精确度却大幅度提高。模型 5 训练精确度与模型6 相近,但测试精确度低。综合比较,选择模型6 为下面实验模型。通过实验,将模型 6 的参数设置为{C(64)、C(64)、C(32)、FC(20)}。

图6 迭代过程的训练精度和测试精度Fig.6 Training accuracy and testing accuracy of the iteration processes

图7 多个模型监测结果Fig.7 Monitoring results of multiple models

表4 模型平均监测精度Table 4 Average monitoring accuracy of different models

在工业过程故障诊断研究中,Wu 等[29]提出的基于 DCNN 的模型用于田纳西伊斯曼(tennessee eastman, TE)过程取得了很好的诊断结果。为了说明本文方法的性能,将实验模型和其他模型用于发酵过程数据的结果进行比较,如图7 所示。对于训练数据集,基于支持向量机(support vector machine,SVM)、BP 神经网络的模型,训练精确度在90%以下。基于DCNN 的模型在训练数据集的故障监测表现出了较高准确度,而本文提出MDCNN 模型精确度高达98.05%,比DCNN 模型精确度高2.91%,比标准CNN模型精确度高出4.99%。对于测试数据集,本文方法平均精确度达到95%以上,表现出优异的监测性能。

如图8 所示为发酵过程二分类可视化结果,图(a)~(d)分别为SVM,CNN,DCNN,MDCNN 监测结果。图中框图表示为期望(标签)测试集分类结果,星号表示实际测试集分类结果,横坐标为样本个数,如果框图和星号重叠度越高表明监测的精确度越高。从图中可以看出本文方法基本没有错分和漏分情况,其测试精确度高达95%以上,说明将滑动窗和时频分析综合考虑之后采用深度卷积神经网络进行模型训练,测试精确度更高,更贴近实际生产过程。

图8 青霉素发酵过程监测可视化结果Fig.8 Visual monitoring results of penicillin fermentation processes

4.2 大肠杆菌发酵过程实验研究

用于大肠杆菌发酵过程故障监测的实验数据来源于工厂,实际的生产环境往往存在诸多不确定因素,对于算法研究更具有现实意义[30]。

实验选用来源于北京某生物制药厂的大肠杆菌发酵数据。发酵罐容量15 L,发酵时间为6~7 h,采样间隔为5 min。由于实际数据批次之间的差异,本实验采取批次之间的等长78 时刻样本数据,选取了7 个主要过程变量,变量名如表5 所示。

为验证所研究监测方法的有效性,用于模型训练和测试的数据共15 批,包含7 批正常数据和8 批故障数据,其中,6 批正常数据和6 批故障数据用于训练;1 批正常数据和2 批故障数据用于测试。测试所用故障类型如表 6 所示,分别模拟大肠杆菌发酵过程中可能发生的搅拌电机故障和蒸汽管道故障。用于实验的MDCNN的网络结构为模型6。

表7 是作用于实际大肠杆菌数据的模型监测结果,从结果中可以看出,在测试实际生产数据中,与其他模型相比,本文提出的模型取得了较好的结果。平均监测精度高达93.42%,优于其他所有方法。其他模型只有DCNN 达到90% 以上,基于SVM 和BP 神经网络模型监测效果较差,足以证明本文提出方法具有显著的实际监测性能。

表5 大肠杆菌发酵过程变量Table 5 Variables of E.coli fermentation processes

表6 大肠杆菌实验故障类型Table 6 Fault types of E.coli fermentation

表7 实验模型与其他模型监测结果Table 7 Monitoring results of current model and other models

如图9 所示为大肠杆菌发酵过程监测可视化结果,图(a)~(d)为SVM,CNN,DCNN,MDCNN 模型监测结果。从图中可以看出本文方法分类准确度最高,具有较好的监测结果。

图9 大肠杆菌发酵过程监测可视化结果Fig.9 Visual monitoring results of Escherichia coli fermentation processes

5 结 语

本文提出一种基于多变量深度卷积神经网络的故障监测方法。该方法针对具有动态性和非线性的发酵过程,利用希尔伯特-黄变换提取多变量动态数据的初级特征,更好地表征了数据时频域信息;然后输入卷积神经网络自动学习数据的高层特征,提高了分类准确度和监测性能。本文在青霉素发酵过程和大肠杆菌生产数据上分别进行了实验验证。结果证明本文所提方法具有更高的监测精度,在实际工业生产中有较强的应用价值。

猜你喜欢

精确度卷积神经网络
基于3D-Winograd的快速卷积算法设计及FPGA实现
研究核心素养呈现特征提高复习教学精确度
“硬核”定位系统入驻兖矿集团,精确度以厘米计算
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于神经网络的中小学生情感分析
基于傅里叶域卷积表示的目标跟踪算法
基于神经网络的拉矫机控制模型建立
基于支持向量机回归和RBF神经网络的PID整定