一种基于BP神经网络自回归模型的动态过程监测方法与流程

文档序号:15997485发布日期:2018-11-20 19:01阅读:219来源:国知局

本发明涉及一种数据驱动的过程监测方法,尤其涉及一种基于BP神经网络自回归模型的动态过程监测方法。



背景技术:

现代流程工业过程通常都是处于持续与高效的生产状态中,保证产品质量稳定性、生产安全性、以及运行状态稳定性等操作要求对过程监测系统的可靠性与有效性的期望是越来越高。在工业大数据潮流下,利用机理模型实施过程监测的技术手段已越来越不适合于现代流程工业过程的监测要求。此外,对工业大数据的利用程度体现出了工业管理的高水平程度。因此,数据驱动的过程监测方法技术在这个大背景下备受青睐。由于先进仪表技术的发展,采样时间间隔大为缩短,采样数据之间的时序自相关性是数据驱动的过程监测方法所必须考虑的一个问题,因为时序自相关性的异常变化同样能反映出被监测过程对象已进入非正常工况。最经典的动态过程监测方法莫过于基于增广矩阵的动态主成分分析(Dynamic Principal Component Analysis,DPCA)方法,其基本思想就是为各个训练样本数据引入延时测量值构成增广矩阵,从而使增广矩阵可以同时将样本数据时序自相关性与变量之间的交叉相关性考虑进来。

除此之外,还有学者提出使用自回归模型(Auto-Regression Model,ARM)来挖掘采样数据之间的序列自相关性,ARM的参数一般可由偏最小二乘算法估计出来。使用ARM的优势在于,ARM模型中对输出的误差不在存在序列自相关性,且误差的变化情况同样能反映出原采样数据序列自相关性的异常变化情况,可谓是一举两得。从这以角度看,利用ARM实施动态过程监测的思想核心在于如何过滤掉原采样数据的时序自相关特征。

然而,考虑到现代工业过程规模的复杂化,采样数据之间的自相关性使用线性的ARM进行描述已不再合适,理应使用非线性的ARM来描述。作为一种经典的非线性建模算法,神经网络技术得到了广泛的研究与应用,在模式识别、非线性系统辨识、市场分析等领域都可以找到身影。这其中,误差反向传播(Back Propagation,BP)学习算法是最常见的前馈神经网络学习算法,相应的神经网络模型通常称之为BP神经网络模型。值得一提的是,神经网络模型在训练时,需要给出输入与输出数据。而过程监测的训练数据通常是建立单分类的模型,一般无法将采样数据简单的分成哪些作为输入哪些作为输出,因为任何测量变量的异常变化都是故障的一种外在体现。这也是为何在数据驱动的过程监测领域,鲜有使用神经网络的过程监测方法出现。



技术实现要素:

本发明所要解决的主要技术问题是:如何利用BP神经网络建立非线性的自回归模型,并在此基础上实施动态过程监测。具体来讲,本发明方法的主要核心首先在于利用BP神经网络识别出被监测对象采样数据的自相关模型,其次在于利用BP神经网络自回归模型过滤后的误差实施过程监测。

本发明解决上述技术问题所采用的技术方案为:一种基于BP神经网络自回归模型的动态过程监测方法,包括以下步骤:

(1)采集生产过程正常运行状态下的样本,按采样时间先后组成训练数据集X∈Rn×m,将矩阵X=[x1,x1,…,xn]T中的后n-d个样本数据xd+1,xd+2,…,xn组成自回归模型的输出矩阵Y=[xd+1,xd+2,…,xn]T,自回归模型的输入矩阵Z构建方式如下所示:

其中,n为训练样本数、m为监测对象的测量变量数、R为实数集、Rn×m表示n×m维的实数矩阵、d为延时测量数据的个数、N=n-d、上标号T表示矩阵或向量的转置。

(2)根据如下所示公式对输入矩阵Z与输出矩阵Y中的各个列向量分别实施归一化处理,即:

x=(x-xmin)/(xmax-xmin) (2)

上式中,x表示矩阵Z或矩阵Y中的任意一个列向量,xmax与xmin分别表示向量x的最大值与最小值。

(3)构建一个三层的BP神经网络:输入层的节点数为dm、输出层的节点数为m、隐含层的节点数建议设置为2dm、隐含层的激活函数为S型函数、输出层的激活函数为线性函数。

本发明方法中使用的线性与S型激活函数分别如下所示:

g(u)=u (3)

上式中,u表示函数自变量、g(u)为线性激活函数、f(u)为S型激活函数。

(4)将归一化后的输入Z与输出Y送到BP神经网络进行训练操作,得到BP神经网络优化后的各神经元节点的权重系数,具体实施过程如下所示:

①随机初始化神经网络各神经元节点的权重系数。

②计算隐含层与输出层的输出值。

③通过神经网络模型的实际输出值与输出层的输出值来计算在当前权重系数条件下的误差大小,并根据误差判断是都满足误差精度要求?若满足,则神经网络模型优化结束;若不满足,则转至步骤④。

④判断是否达到了最大迭代次数?若是,则神经网络模型优化结束;若否,则根据误差调节隐含层与输出层各神经元节点的权重系数后,返回步骤②。

(5)对BP神经网络模型的输出误差中的每列实施标准化处理,得到均值为0、标准差为1的新数据矩阵

(6)建立基于主成分分析算法的故障检测模型,保留模型参数集Θ={P,Λ,Dlim,Qlim},其中为神经网络模型的输出层输出数据矩阵、P为投影变换矩阵、Λ为主成分的协方差矩阵、Dlim与Qlim分别为监测统计指标D与Q的控制上限,具体的实施过程如下所示:

①计算的协方差矩阵

②求解C所有特征值γ1≥γ2≥…≥γm所对应的特征向量p1,p2…,pm;

③设置保留的主成分个数k为满足如下所示条件的最小值,并将对应的k个特征向量组成载荷矩阵P=[p1,p2…,pk];

④根据如下所示公式计算监测统计指标D与Q的控制上限Dlim与Qlim:

上式中,F(α,k,N-d-k)表示自由度为k与N-d-k的F分布在置信度α(一般取99%)下的取值、表示自由度为h=2a2/v的卡方分布在在置信度α下的取值、加权系数g=v/(2a)、a与v分别表示Q监测指标的估计均值与估计方差。

上述步骤(1)~(6)为本发明方法的离线建模阶段,如下所示步骤(7)~(11)为本发明方法的在线动态过程监测实施过程。

(7)收集最新采样时刻的数据样本xt∈Rm×1,并找出其延时测量数据xt-1,xt-2,…,xt-d以组成自回归模型的输入向量z=[xt-1T,xt-2T,…,xt-dT],其中下标号t表示当前最新采样时刻。

(8)对输入z与输出xt实施与步骤(1)中相同的归一化处理。

(9)将向量z输入进步骤(4)中训练得到的BP神经网络,从而得到神经网络输出层的输出

(10)对误差实施与步骤(5)中相同的标准化处理,得到数据向量

(11)调用步骤(6)中保留的参数集实施在线故障检测,具体的实施过程包括:

①依据如下所示公式计算监测统计指标D与Q的具体数值:

②根据D与Q的具体数值以及相应的控制上限Dlim与Qlim决策发生故障与否,即判断是否满足条件:D≤Dlim且Q≤Qlim?若是,则当前样本为正常工况采样,返回步骤(7)继续实施对下一个新样本数据的监测;若否,则当前采样数据来自故障工况。

与传统方法相比,本发明方法的优势在于:

首先,本发明方法利用BP神经网络的非线性拟合能力建立非线性的自回归模型,以达到剔除了测量变量中的非线性自相关特征的目的;其次,本发明方法将误差作为被监测对象,不仅利用了误差具备的能够反映非线性自相关特征异常变化情况的能力,而且误差数据不再出现时间序列上的自相关性同样为后续基于PCA算法的过程监测模型的建立提供了便利。可以说,本发明方法更适合于动态过程建模与监测。

附图说明

图1为本发明方法的实施流程图。

图2为BP神经网络的具体实施步骤示意图。

图3为误差中自相关特征剔除示意图。

图4为TE过程物料C进口温度故障的监测详情对比图。

具体实施方式

下面结合附图与具体的实施案例对本发明方法进行详细的说明。

如图1所示,本发明公开一种基于BP神经网络自回归模型的动态过程监测方法。下面结合一个具体的工业过程的例子来说明本发明方法的具体实施过程。

在介绍具体实施案例之前,需简要介绍下BP神经网络的基本原理。设BP神经网络的输入模式为α=[α1,α2,…,αdm]、隐含层的输出为β=[β1,β2,…,β2dm]、输出层的输出为γ=[γ1,γ2,…,γm],神经网络实际的输出值为y=[y1,y2,…,ym]。根据BP神经网络原理,可得到隐含层输出β为:

上式中,βj表示隐含层第j个神经元的输出、w0j=θ、x0=-1,在本实施例中,θ=0。

类似的,输出层第k个神经元的输出γk的计算方式为:

那么,在当前权重系数条件下的误差为:

BP神经网络调整权重系数的思路是根据公式(7)中所示的误差减小最快的方法迭代调整。因此,可设定一个步长η,每次沿负梯度方向调整η个单位,即每次权值的调整量为:

BP神经网络的调整顺序为:

首先,调整隐含层到输出层的权值,设vk为输出层第k个神经元的输入,则有:

于是,隐含层到输出层的权值迭代调整公式为:

wjk=wjk-η(yk-γk)g′(vk)βj (11)

类似的,可推理得到从输入层到隐含层的权值调整迭代公式为:

上式中,uk为隐含层第k个神经元的输入。

按照上述几个公式进行迭代调整,误差会逐渐减小,直至达到实现设定的精度或最大的迭代次数,BP神经网络的具体实施步骤如图2所示。

应用对象是来自于美国田纳西-伊斯曼(TE)化工过程实验,原型是伊斯曼化工生产车间的一个实际工艺流程。目前,TE过程因其流程的复杂性,已作为一个标准实验平台被广泛用于故障检测研究。整个TE过程包括22个测量变量、12个操作变量、和19个成分测量变量。该TE过程对象可以模拟仿真多种不同的故障类型,如物料进口温度阶跃变化、冷却水故障变化等等。为了对该过程进行监测,选取如表1所示的33个过程变量。由于采样间隔时间较短,TE过程采样数据不可避免的存在序列自相关性。而且,由于TE过程的复杂特性,采样数据间的非线性特征较明显,理应实施非线性建模。接下来结合该TE过程对本发明具体实施步骤进行详细的阐述。

表1:TE过程监测变量。

首先,利用TE过程正常工况下的960个采样数据建立动态过程监测模型,包括以下步骤:

步骤(1):采集生产过程正常运行状态下的样本,按采样时间先后组成训练数据集X∈R960×33,将矩阵X=[x1,x1,…,xn]T中的后n-d=958个样本数据x3,x4,…,x960组成回归模型输出矩阵Y=[x3,x4,…,x960],回归模型的输入矩阵Z如下所示:

步骤(2):对输入矩阵Z与输出矩阵Y中的各个列向量分别实施归一化处理。

步骤(3):构建一个三层的BP神经网络。

步骤(4):将归一化后的输入Z与输出Y送到BP神经网络进行训练操作,得到BP神经网络优化后的各神经元节点的权重系数。

步骤(5):对BP神经网络模型的输出误差中的每列实施标准化处理,得到均值为0、标准差为1的新数据矩阵

步骤(6):建立基于主成分分析算法的故障检测模型,保留模型参数集Θ={P,Λ,Dlim,Qlim}。

为验证误差中已经不再包含非线性自相关特征,特将误差矩阵中前18列向量对应的自相关示意图显示于图3中。从图3中可以发现,原训练数据的自相关特征已经剔除,误差中不存在自相关性。

其次,采集TE过程物料C进口温度发生故障变化条件下的测试数据集,实施在线过程监测。值得指出的是,该测试数据集前160个样本数据采集自正常工况,故障工况从161个时刻起引入。

步骤(7):收集最新采样时刻的数据样本xt∈R33×1,并找出其延时测量数据xt-1,xt-2以组成自回归模型的输入向量z。

步骤(8):对输入z与输出xt实施与步骤(1)中相同的归一化处理。

步骤(9):将向量z输入进步骤(4)中训练得到的BP神经网络,从而得到神经网络输出层的输出

步骤(10):对误差实施与步骤(5)中相同的标准化处理,得到数据向量

步骤(11):调用步骤(6)中保留的参数集实施在线故障检测。

最后,将本发明方法对物料C进口温度变化的过程监测详情显示于图4中。从图4中可以发现,本发明方法在该故障发生后,能持续不断的触发故障警报。

上述实施案例只用来解释说明本发明的具体实施,而不是对本发明进行限制。在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改,都落入本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1