梁秀霞 庞荣荣 郭 鹭 张 燕
(河北工业大学 人工智能与数据科学学院,天津 300130)
间歇过程作为现代工业生产的一种重要方式,已经广泛应用于染料、食品、制药等众多领域[1]。过程安全是间歇过程生产的前提。故障的发生轻则影响生产,重则可能引发事故,威胁人员的生命安全。如果能根据当前的系统工况对系统未来是否会发生故障进行预测,在其还没有对整个系统造成重大危害时,及时发出预警、排除故障,就可以最大程度地减少故障对系统的影响[2]。
当前的故障预测技术主要分为两类,即基于物理模型的故障预测方法和基于数据驱动的故障预测方法。基于物理模型的故障预测方法将系统本身的物理特性转换为数学模型,如Zaidi等[3]使用隐马尔科夫模型对齿轮故障进行预测,具有较高的准确性。但间歇过程物理特性复杂,很难建立可以描述其本质特性的数学模型。基于数据驱动的故障预测方法包括贝叶斯网络、自回归滑动平均模型(ARMA)等统计学方法和长短期记忆网络(LSTM)、卷积神经网络(CNN)等人工智能方法。高学金等[4]采用自回归主元分析(AR-PCA)对间歇过程进行监测,项亚南等[5]采用ARMA与多向主元分析(MPCA)相结合的方式对间歇过程进行故障预测。但以上传统统计学方法不适用于当下大数据量的训练样本。基于LSTM、CNN等人工智能的故障预测方法具有强大的特征提取能力,能够从海量的训练数据中提取关键信息。其中,LSTM在原有循环神经网络(RNN)结构的基础上,将其隐藏层的神经元替换为具有门控机制的记忆单元,从而使得模型在长序列中有更好的表现。目前,LSTM已成功应用于股票预测[6]、文本处理[7]等方面。陈娇娇[8]使用LSTM模型对间歇过程进行故障预测;李炜等[9]采用LSTM模型来预测电源车故障,并与其他机器学习方法进行比较,结果表明 LSTM模型具有更高的预测精度;李京峰等[10]将LSTM与深度置信网络(DBN)相结合,对航空发动机的剩余寿命进行预测;何群等[11]建立LSTM模型对齿轮箱的故障状态进行预测,与其他传统方法相比,LSTM模型的预测性能更好,能够较早地预测故障的发生。
但与其他神经网络类似,LSTM中的某些参数如神经元个数、迭代次数、学习率等需要人为设置,这些参数通常根据经验获得,大大降低了模型精度[12]。因此,本文将融入了自适应变异和非线性递减惯性权重的粒子群优化算法(AMWPSO)与LSTM相结合,通过AMWPSO对LSTM中的参数进行自动寻优,使得基于LSTM的故障预测更为准确。并在阶段划分的基础上,提出一种基于AMWPSO-LSTM的多阶段间歇过程故障预测模型,之后分别与基于LSTM及基于粒子群优化算法(PSO)-LSTM的多阶段故障预测模型的预测结果相比较,验证了此模型具有更高的预测精度。
青霉素发酵过程是典型的间歇过程,其生产过程数据是一组随时间变化的随机变量,尽管组成时间序列的各个序列值不确定,但整个序列的变化具有一定的规律性[2],而LSTM擅于处理长时间序列的预测;同时,青霉素发酵过程受多方面因素的影响,具有复杂的非线性,而LSTM能很好地提取时间序列数据的非线性特征。因此,本文采用LSTM进行故障预测,通过建立LSTM故障预测模型,来预测下一批次青霉素发酵过程是否会发生故障。
青霉素发酵过程数据可以写成A(I×J×K)的三维数据矩阵,其中I是批次数量,J是过程变量个数,K是采样节点个数。多向主元分析法将A(I×J×K)沿着批次分解为二维矩阵A(I×KJ),然后按照一般的主元分析方法(PCA)进行分析,建立T2统计量控制限。PCA的具体计算方法可参考文献[13]。
(1)
式中,c是所选主元个数,Fα(c,I-c)是检验水平为α、自由度为c和I-c的F分布的临界值。
青霉素发酵过程由Pensim仿真平台模拟实现。用Pensim仿真平台模拟产生30批采样时间为400 h、采样间隔为1 h的正常数据和一批在采样时间为220~250 h时引入的斜坡为0.35%的充气率故障数据。利用MPCA方法沿批次分解正常数据,建立T2统计量控制限。
青霉素发酵过程有多种可在线测量变量,这些变量由系统运行累积得到,包含了系统的动态信息,能很好地表征系统的运行状态。本文将这些变量作为LSTM的输入,将T2统计量作为LSTM的输出,以此构建LSTM故障预测模型。通过可在线测量变量的值来预测系统未来T2统计量的值,若T2统计量预测值在控制限范围内,则正常,否则表示发生故障。
假设青霉素发酵过程时间序列集合为X
X={X1,X2,…,Xa,…,XL}
(2)
式中,L为输入的样本数量。
序列Xa表示为
Xa={x1,x2,…,xb}
(3)
式中,x1,x2,…,xb为多种可在线测量变量。
假设t时刻用于预测的历史数据长度为q,则t时刻的输入为
X′(t)={X(t-q+1),X(t-q+2),…,X(t)}
(4)
式中,t∈[q,L)。数据的输入类似于一个在原始序列上的滑动窗口。
输入数据经过LSTM神经网络,得到t时刻的输出,即下一个采样节点T2统计量的值。
与连续生产过程不同的是,间歇过程包含多个阶段,不同阶段具有不同的主导变量和过程特征[4],因此对整个生产过程建立单一的故障预测模型是不准确的,需要先对间歇过程进行阶段划分,然后分阶段建立故障预测模型。Lu等[14]采用K-means方法对间歇过程进行阶段划分,但K-means是一种硬性划分方法,具有“非彼即此”的性质。模糊C均值聚类(FCM)根据计算出的每个样本对于各个类的隶属度大小来进行聚类分析,相比K-means更合理,因此本文采取FCM方法对青霉素发酵过程进行阶段划分[15]。
将得到的30批正常数据X(30×17×400)先进行标准化处理,然后将按变量展开后的标准化数据沿采样节点切分为400个时间片矩阵,计算出每个时间片矩阵Te与其他时间片矩阵Tg的相似度Seg,并将相似度矩阵S作为FCM的输入[16]。相似度计算公式为
(5)
式中,I为批次数,J为变量个数,在本文中I=30,J=17。
阶段划分结果如图1所示。本文将生产过程分为3个阶段:第一阶段,0~160 h,菌体生长期;第二阶段,161~280 h,青霉素合成期;第三阶段,281~400 h,青霉素自溶期。
图1 阶段划分结果图
按照图1的划分结果对样本数据进行阶段划分,由于菌体生长期各变量不稳定,因此本文只针对第二阶段和第三阶段进行故障预测。
青霉素发酵过程共有10种可在线测量变量。多变量LSTM能很好地表征系统的运行状态,提高系统预测精度。但是如果变量中包含无关变量,则会大大降低模型的预测精度。因此,在将这10种可在线测量变量作为LSTM的输入之前,先通过Pearson相关系数对各阶段的这10种变量与T2统计量进行相关性分析,剔除无关变量,进而提高系统的预测精度。相关性分析结果如表1所示,将p<0.01且相关性大于0.2的变量作为相应预测模型的输入,T2统计量作为输出,以此来构建第二阶段和第三阶段的LSTM故障预测模型。
表1 Pearson相关性分析结果
由于不同阶段的过程特征是变化的,为了提高系统的准确性,利用MPCA方法沿着批次分解第二阶段样本数据A(30×17×120),建立第二阶段T2统计量控制限。同理,建立第三阶段T2统计量控制限。
与其他神经网络类似,LSTM中的某些参数需要人为设置,因此需采用优化算法对LSTM中的参数进行自动寻优。通常采用的优化算法有两种:遗传算法(GA)和粒子群优化算法。有文献将GA与LSTM相结合对股指进行预测[17]。但GA的编码过程比较复杂,因此本文采用PSO对LSTM中的参数进行自动寻优,并在原有PSO基础上融入自适应变异和非线性递减惯性权重,本文将其简称为AMWPSO。
在第2节的基础上,将AMWPSO与LSTM相结合,提出一种基于AMWPSO-LSTM的多阶段故障预测模型。将LSTM的神经元个数、迭代次数、学习率作为AMWPSO的优化对象,其中神经元个数决定模型的拟合能力,学习率和迭代次数影响模型的训练过程和效果[18]。通过AMWPSO算法的不断迭代更新,最终以最优参数构建LSTM故障预测模型。
PSO的基本原理为在一个D维空间中,m个粒子组成一个群体,每个粒子都有一个速度和位置;PSO被初始化为一组随机粒子,通过比较适应度值大小来迭代更新局部最优位置pbest和全局最优位置gbest[19],进而通过式(6)、(7)来更新粒子的速度和位置,直至达到最大迭代次数。
(6)
(7)
与其他算法相比,PSO算法结构简单,便于实现,但易陷入局部最优解。为了减小粒子陷入局部最优解的风险,本文在原有PSO的基础上融入自适应变异和非线性递减惯性权重,即AMWPSO,以此来提高PSO的参数寻优能力,具体步骤如下。
1)对PSO进行自适应变异
为避免粒子过早收敛,并提高种群多样性,对PSO进行自适应变异。自适应变异概率公式为
(8)
式中,rand函数是一个随机函数,产生[0,1)之间的随机数,t为迭代次数,tmax为最大迭代次数。开始时,t较小,rand大于不等式右边数值的几率较大;随着t的增大,不等式右边会由0.5不断向1趋近,rand大于右边数值的几率则逐渐变小。通过这种方式,前期变异率大,后期变异率小,降低了粒子陷入局部最优解的风险。
2)对PSO的惯性权重进行改进
在基本的PSO算法中,w的值是固定的,固定的w会限制PSO的全局搜索能力和收敛速度,因此本文将w改为如下形式
(9)
式中,wmax和wmin分别为w的最大值和最小值。当t较小时,w接近于wmax,此时算法的全局搜索能力较强;随着t的增大,w逐渐减小,此时算法的收敛速度较高。这样前期权重大,后期权重小,能够灵活地调整算法的全局搜索能力和收敛速度。
AMWPSO优化LSTM的流程图如图2所示,具体步骤如下。
图2 AMWPSO优化LSTM的流程图
1)获取样本数据,对样本数据进行阶段划分;
2)划分训练集和测试集,将前30批正常数据作为训练集,故障数据作为测试集;
3)对训练集数据做Pearson相关性分析,根据相关性分析结果对所有样本数据进行筛选,筛选出相关变量;
4)对经Pearson相关性分析和阶段划分后的样本数据进行标准化处理,得到标准化后的训练集和标准化后的测试集;
5)确定PSO中m、tmax、c1、c2、wmax和wmin的值,将LSTM的神经元个数、迭代次数、学习率作为PSO的优化对象,确定这3个参数的取值范围和搜索范围;
7)将标准化后的训练集输入到初始化参数的LSTM预测模型中进行预测得到预测值,将训练集的均方误差(MSE)作为适应度函数,将预测值代入适应度函数,计算每个粒子的适应度值;
8)判断是否对粒子群进行自适应变异,若是,返回步骤6);若否,继续下一步;
9)根据初始粒子适应度值确定初始局部最优位置pbest和全局最优位置gbest;将每个粒子的最佳位置作为其历史最佳位置,更新pbest和gbest,并按照式(6)和式(7)迭代更新每个粒子的速度和位置,进而更新LSTM预测模型的参数;
10)将标准化后的训练集输入到更新参数后的LSTM预测模型中进行预测,将预测值代入适应度函数中计算每个粒子的适应度值;转至步骤8),直至达到tmax,以此确定LSTM预测模型的参数值;
11)将标准化后的测试集代入到确定参数的LSTM预测模型中进行预测,并将预测结果与相应控制限比较,若超出控制限,则表示发生故障,发出预警;否则表示未发生故障。
利用 MPCA 方法沿批次分解正常数据X(30×17×400),建立T2统计量控制限。将10种可在线测量变量作为LSTM的输入,T2统计量作为LSTM的输出,同时将正常数据作为训练集,故障数据作为测试集,以此构建基于LSTM的全流程故障预测模型。
设定AMWPSO算法参数,其中m=20,tmax=20,c1、c2=1.5,wmax=0.8,wmin=0.6;设置LSTM参数的取值范围和搜索范围,其中神经元个数的取值范围和搜索范围均为[20,100],迭代次数的取值范围和搜索范围均为[30,200],学习率的取值范围和搜索范围均为[0.001,0.1]。
图3(a)为第二阶段PSO-LSTM算法的适应度结果, 图3(b)为第二阶段AMWPSO-LSTM算法的适应度结果。从图中可以看出,PSO算法约在第3次迭代时就很早地陷入了局部最优解,最终适应度值约为0.55;AMWPSO算法增强了寻优能力,在第16次迭代时依然具有寻找更优解的能力,最终适应度值约为0.51,表明AMWPSO的寻优能力更强。
图3 第二阶段各模型的适应度结果
经训练后,确定第二阶段LSTM的参数为[65,124,0.024],第三阶段LSTM的参数为[76,94,0.032],以此分别构建第二阶段和第三阶段基于AMWPSO-LSTM的故障预测模型。
图4是基于LSTM的全流程故障预测结果,即未对发酵过程进行阶段划分的故障预测结果。图5(a)、(b)分别为第二阶段、第三阶段基于LSTM的故障预测结果。图6(a)、(b)分别为第二阶段、第三阶段基于PSO-LSTM的故障预测结果。图7(a)、(b)分别为第二阶段、第三阶段基于AMWPSO-LSTM的故障预测结果。
图4 基于LSTM的全流程故障预测结果
图5 基于LSTM的多阶段故障预测结果
图6 基于PSO-LSTM的多阶段故障预测结果
图7 基于AMWPSO-LSTM的多阶段故障预测结果
从图4可以看出,基于LSTM的全流程故障预测模型的误差较大。在0~150 h阶段甚至出现了误报的情况,此时并没有加入扰动,但无论是T2的真实值还是预测值均超出控制限,这是因为此阶段为菌体生长期,各个变量是不稳定的。由此说明采用LSTM对整个生产过程进行预测是不准确的。从图4、5的对比可以看出,与基于LSTM的全流程故障预测模型相比,基于LSTM的多阶段故障预测模型的拟合效果更好,且滞后时间更短;同时,由于对不同阶段进行划分,避免了出现误报的情况。
从图5~7可以看出,基于LSTM的多阶段故障预测模型的预测值曲线在趋势上与真实值非常符合,然而预测值与真实值之间总保持有一定误差,且基于LSTM的故障预测模型在第二阶段峰值处的误差最大。这是由于LSTM 的参数都是通过经验获得的,并不是最优参数。基于PSO-LSTM的多阶段故障预测模型相比基于LSTM的多阶段故障预测模型,准确度有所提升,但是其在第二阶段峰值处的误差依然较大,并且滞后时间较长。而基于AMWPSO-LSTM的多阶段故障预测模型的拟合效果比前两个模型都要好,同时滞后时间短,能较准确地预测故障的发生时间,并且其在第二阶段峰值处的误差最小。以上结果验证了基于AMWPSO-LSTM的多阶段故障预测模型的有效性,同时也验证了利用AMWPSO优化LSTM的必要性。
本文以平均绝对百分比误差(MAPE)、均方根误差(RMSE)、平均绝对值误差(MAE)、希尔不等系数(TIC)和决定系数R2作为模型的评价指标,来进一步验证基于AMWPSO-LSTM的多阶段故障预测模型的预测性能。表2、表3分别给出了第二阶段、第三阶段各故障预测模型的评价指标计算结果。由表2的对比分析可知,与基于LSTM、PSO-LSTM的故障预测模型相比,基于AMWPSO-LSTM的故障预测模型的MAPE分别降低了59%、33.6%, RMSE分别降低了51.8%、32%,MAE分别降低了29.3%、15.9%,TIC分别降低了54.7%、32.4%,R2则分别提升了3.8%、1.3%。由表3的对比分析可知,与基于LSTM、PSO-LSTM的故障预测模型相比,基于AMWPSO-LSTM的故障预测模型的MAPE分别降低了28.2%、11.3%, RMSE分别降低了66.6%、62.1%,MAE分别降低了18.3%、8.1%,TIC分别降低了18.5%、6.9%,R2分别提升了0.5%、0.1%。
表2 第二阶段各模型的预测误差对比
表3 第三阶段各模型的预测误差对比
评价指标中MAPE、RMSE、MAE、TIC反映预测误差,它们的值越小越好;R2反映模型的拟合能力,其值越大越好。由表2、3的结果可以看出,基于PSO-LSTM的故障预测模型和基于AMWPSO-LSTM的故障预测模型的预测误差均比LSTM故障预测模型的小,同时拟合效果更好,这体现出对LSTM进行参数优化的必要性。而基于AMWPSO-LSTM的故障预测模型比基于PSO-LSTM的故障预测模型的各项表现都更优,这体现出对PSO算法进行改进的必要性。与基于LSTM的故障预测模型相比,基于PSO-LSTM的故障预测模型的预测误差准确性提升较小,这是因为PSO-LSTM模型虽拥有与AMWPSO-LSTM模型较为相近的网络结构,而AMWPSO-LSTM模型的突出优势是其对PSO算法进行了改进,减小了PSO算法陷入局部最优解的风险,所以该模型的预测结果比普通的PSO-LSTM故障预测模型的预测效果更好。
(1)针对LSTM的参数需要人为设置的问题,本文通过改进粒子群算法AMWPSO对LSTM的参数进行自动寻优。AMWPSO在传统PSO的基础上融入了自适应变异和非线性递减惯性权重,以此来减小传统PSO算法易陷入局部最优解的风险。针对间歇过程的多阶段性,采取FCM对间歇过程进行阶段划分;再在阶段划分的基础上,利用 Pearson 相关系数法对各阶段数据集进行相关性分析,剔除无关变量,分阶段建立故障预测模型。
(2)将基于LSTM、PSO-LSTM、AMWPSO-LSTM的多阶段故障预测模型进行比较,结果表明,基于AMWPSO-LSTM的多阶段故障预测模型比其他两类模型的预测误差更小,同时拟合效果也更好。这体现出对LSTM进行参数优化和对PSO算法进行改进的必要性。