一种基于粒子群鲁棒优化自编码器的异常检测方法

文档序号:35625517发布日期:2023-10-05 22:08阅读:42来源:国知局
一种基于粒子群鲁棒优化自编码器的异常检测方法

本发明涉及一种工业过程运行异常检测方法,特别涉及一种基于粒子群鲁棒优化自编码器的异常检测方法。


背景技术:

1、近年来,随着先进测量仪表与计算机辅助生产系统的大面积推广与应用,基于实时数据采集和处理的数据驱动异常检测方法在工业过程,尤其是化工工业过程中,得到了技术工程师的广泛的好评。利用温度,压力,流量,液位等常见的传感器,可实时采集化工生产过程的采样数据,这些数据为实施化工过程控制和在线异常检测提供了坚实的数据基础。由于化工过程一般都是处于正常运行状态,相应的历史采样数据库中存在大量的正常工况采样数据,这就导致了现有的异常检测方法都是以采样数据的无监督特征学习和表示为技术核心。然而,即时在长时间的正常运行中,生产过程的数据采集系统获取到的数据也可能会出现存在粗大误差的离群采样数据。这个问题的存在就要求相应的异常检测方法必须是鲁棒的。

2、由于离群采样数据同样采集自正常工况,训练数据集中的离群采样数据会导致正常数据的变化范围变得更宽泛,从而影响实施异常检测的灵敏度。现有技术文献资料中存在一些专门识别离群采样数据的方法,但是这类方法也只能解决离群采样数据识别问题,不能用来解决异常检测问题。一种可行的解决方案是先进行离群采样数据识别,再实施无监督的特征学习。但是,识别出来的离群采样数据不用于无监督特征学习会导致一部分数据有用信息的丢失,这也不利于后续实施在线异常检测。此外,采样数据间的非线性关系也会对离群采样数据的识别带来技术上的困难,关键是采样数据在非线性关系上的异常也可以用来反映运行状态的异常。

3、在非线性的特征学习与表示方面,以神经网络为基础的自编码器可以提供一个较好的非线性特征表示方法,通过编码环节得到非线性特征,再通过解码环节对输入数据进行估计,从而可同时使用非线性特征和估计误差的变化异常来反映工业过程的运行异常。然而,训练神经网络时使用的梯度下降算法是无法直接处理训练数据集中的离群采样数据,离群采样数据的存在会对神经网络的训练造成非常直观的负面影响。可想而知,若是能研究设计鲁棒的自编码器,不仅可以从异常检测的角度应对离群采样数据的影响,而且还能从非线性特征表示与学习的角度实施针对工业过程的异常检测。


技术实现思路

1、本发明所要解决的主要技术问题是:如何设计自编码器的鲁棒优化训练过程,从而针对含有离群采样数据的训练数据直接实施鲁棒非线性特征学习,进而通过监测实时采样数据对应的估计误差的变化来检测相应工业过程运行中的异常。具体来讲,本发明方法首先设计了相应的鲁棒归一化方式对训练数据实施鲁棒归一化处理,再以整个批次估计误差的中位数为最小化目标,采用粒子群优化(particle swarm optimization,英文缩写:pso)算法来鲁棒优化训练自编码器的网络参数。

2、本发明方法解决上述问题所采用的技术方案为:一种基于粒子群鲁棒优化自编码器的异常检测方法,具体包括以下所示步骤。

3、首先,优化自编码器前的准备,具体包括以下三个方面。

4、(1)准备训练用的输入矩阵和实施鲁棒归一化处理的鲁棒最小值和鲁棒最大值,具体包括以下所示步骤(1.1)至步骤(1.3)。

5、步骤(1.1):从工业过程对应的历史采样数据库中,获取最近n个采样时刻的n组采样数据,并将各组采样数据分别表示成一个m×1维的数据向量,从而对应得到n个m×1维的数据向量x1,x2,…,xn后,再将其合并成一个m×n维的数据矩阵x=[x1,x2,…,xn];其中,工业过程在每个采样时刻都可以通过m个测量仪表对应获取m个测量值,并将由这m个测量值组成的一组采样数据表示成一个m×1维的数据向量。

6、步骤(1.2):将x中的第1行向量,第2行向量,至第m行向量依次记为z1,z2,…,zm后,再依次设置序号m=1,2,…,m,并同时执行如下所示步骤至步骤从而对应得到实施鲁棒归一化处理的鲁棒最小值f1,f2,…,fm和鲁棒最大值f1,f2,…,fm。

7、步骤确定zm中n个元素的中位μm后,根据公式对zm进行鲁棒中心化处理,对应得到1×n维的行向量其中,zm表示x中的第m行向量。

8、步骤确定中n个元素的中位数后,再根据公式计算zm中n个元素的中位绝对差δm。

9、步骤根据公式fm=μm-3δm和fm=μm+3δm分别确定实施鲁棒归一化处理的鲁棒最小值fm和鲁棒最大值fm。

10、步骤(1.3):根据公式对z1,z2,…,zm分别实施鲁棒归一化处理,对应得到m个1×n维的行向量再将合并成一个m×n维的输入矩阵其中,中的第1行向量,第2行向量,至第m行向量分别等于

11、(2)确定自编码器的结构参数,具体包括:隐层神经元个数等于h,神经元激活函数g(u)=1/(1+e-u);其中,u表示自变量,e表示自然常数;

12、(3)设置实施粒子群鲁棒优化的预设参数,具体是:粒子总数等于k,最大迭代次数等于d,全局加速因子等于α,局部加速因子等于β,粒子位置的最大值和最小值分别等于1和-1,粒子速度的最大值和最小值分别等于0.1和-0.1,惯性系数的最大值和最小值分别等于λ1和λ2。

13、其次,对自编码器实施粒子群鲁棒优化,确定自编码器中连接输入层神经元和隐层神经元的权重系数矩阵w和阈值向量ζ,连接隐层神经元和输出层神经元的权重系数矩阵v和阈值向量b,具体的实施过程如步骤(a)至步骤(h)所示。

14、步骤(a):从区间[-1,1]中随机生成k个n×1维的数据向量,对应表示k个粒子ξ1,ξ2,…,ξk,从区间[-0.1,0.1]中随机生成k个n×1维的数据向量,对应表示k个速度向量v1,v2,…,vk,再分别设置迭代次数d=0,全局最优粒子ξ0及其对应的适应度值l0分别等于ξ1和m;其中,n=2mh+h+m,第k个粒子ξk是一个n×1维的数据向量,粒子编号k=1,2,…,k。

15、步骤(b):根据如下所示公式(1)为k个粒子ξ1,ξ2,…,ξk分别组建对应的连接输入层神经元和隐层神经元的权重系数矩阵w1,w2,…,wk和阈值向量ζ1,ζ2,…,ζk,根据如下所示公式(2)为k个粒子ξ1,ξ2,…,ξk分别组建对应的连接隐层神经元和输出层神经元的权重系数矩阵v1,v2,…,vk和阈值向量b1,b2,…,bk:

16、

17、

18、其中,wk和ζk分别表示第k个粒子ξk对应的连接输入层神经元和隐层神经元的权重系数矩阵和阈值向量,vk和bk分别表示ξk对应的连接隐层神经元和输出层神经元的权重系数矩阵和阈值向量,表示第k个粒子ξk中的第g个元素,g=1,2,…,n。

19、在公示(1)和公式(2)中,根据第k个粒子ξk中的n个元素依次组建wk,ζk,vk和bk,即:分别表示ξk中的第1个元素,第2个元素,至第h个元素,分别表示ξk中的第h+1个元素,第h+2个元素,至第2h个元素,分别表示ξk中的第mh-h+1个元素,第mh-h+2个元素,至第mh个元素,分别表示ξk中的第mh+1个元素,第mh+2个元素,至第mh+h个元素,分别表示ξk中的第mh+h+1个元素,第mh+h+2个元素,至第mh+h+m个元素,以此类推,则分别表示ξk中的第2mh+h+1个元素,第2mh+h+2个元素,至第n个元素,而n=2mh+h+m。

20、步骤(c):为k个粒子ξ1,ξ2,…,ξk分别计算对应的适应度值l1,l2,…,lk后,再将最小的适应度值及其对应的粒子分别记为和其中,计算第k个粒子ξk对应的适应度值lk的具体实施过程如步骤(c-1)至步骤(c-3)所示。

21、步骤(c-1):依次根据公式和计算隐层输出矩阵sk和输出层输出矩阵yk;其中,h×n维的阈值矩阵ak中各列向量都等于ζk,m×n维数的阈值矩阵bk中各列向量都等于bk,表示调用神经元激活函数g(u)对中的各个元素分别进行计算。

22、步骤(c-2):根据公式计算误差矩阵ek后,再分别确定ek中第1行向量的n个元素,第2行向量的n个元素,至第m行向量的n个元素的中位数,分别记为θ1,θ2,…,θm;其中,θ1表示ek中第1行向量的n个元素的中位数,θ2表示ek中第2行向量的n个元素的中位数,θm表示ek中第m行向量的n个元素的中位数。

23、步骤(c-3):根据公式计算ξk对应的适应度值lk;其中,|θm|表示计算θm的绝对值,θm表示ek中第m行向量的n个元素的中位数,序号m=1,2,…,m。

24、步骤(d):根据公式λ=λ1-(λ1-λ1)/(d/d)2更新惯性系数λ,并从区间[0,1]中随机生成两个k×1维的概率向量φ1和φ2后,再根据公式分别更新k个速度向量v1,v2,…,vk;其中,和分别表示φ1和φ2中的第k个元素。

25、步骤(e):对v1,v2,…,vk中的各个元素分别实施修正,具体的修正方式是:若该元素大于0.1,则将该元素修改成0.1;若该元素小于-0.1,则将该元素修改成-0.1;其它情况保持该元素不变。

26、步骤(f):根据公式ξk=ξk+vk分别更新k个粒子ξ1,ξ2,…,ξk后,再对ξ1,ξ2,…,ξk中的各个元素分别实施修正,具体的修正方式是:若该元素大于1,则将该元素修改成1;若该元素小于-1,则将该元素修改成-1;其它情况保持该元素不变。

27、步骤(g):判断l0是否大于若是,则分别设置和后,再执行步骤(h);若否,则直接执行步骤(h)。

28、步骤(h):判断迭代次数d是否小于d;若是,则设置d=d+1后,返回步骤(b);若否,则根据全局最优粒子ξ0分别组建对应的连接输入层神经元和隐层神经元的权重系数矩阵w和阈值向量ζ,连接隐层神经元和输出层神经元的权重系数矩阵v和阈值向量b,具体的组建方式与步骤(b)相同。

29、从上述实施过程可以看出,本发明方法的每个粒子中的元素个数远超m,为了保证得到更优越的全局最优粒子,在优化前的准备阶段时,设置实施粒子群鲁棒优化的预设参数就要求粒子总数等于k尽可能的多,最大迭代次数d尽可能的大;更具体来讲,k不得小于100×n,d不得小于2000×m。

30、然后,确定误差的异常界限,具体包括以下所示步骤①至步骤②。

31、步骤①:依次根据公式y=g(vts+b)和分别计算隐层输出矩阵s,输出层输出矩阵y和误差矩阵e后,再将e中的第1行向量,第2行向量,至第m行向量分别标记为ε1,ε2,…,εm;其中,h×n维的阈值矩阵a中各列向量都等于ζ,m×n维的阈值矩阵b中各列向量都等于b,表示调用神经元激活函数g(u)对中的各个元素分别进行计算。

32、步骤②:依次设置m=1,2,…,m,并同时确定εm中n个元素的中位数ηm和中位绝对差wm后,再根据公式确定第m个误差的异常界限从而对应得到m个误差的异常界限其中,εm表示误差矩阵e中的第m行向量。

33、最后,保留实施在线异常检测的参数后,再循环利用工业过程在最新采样时刻获取的一组采样数据,实施在线异常检测;其中,保留的参数具体包括:步骤(1.2)中实施鲁棒归一化处理的鲁棒最小值f1,f2,…,fm和鲁棒最大值f1,f2,…,fm;步骤(h)中确定的连接输入层神经元和隐层神经元的权重系数矩阵w和阈值向量ζ,连接隐层神经元和输出层神经元的权重系数矩阵v和阈值向量b;步骤②中确定的异常界限实施在线异常检测的具体过程包括以下所示步骤㈠至步骤㈢。

34、步骤㈠:在最新采样时刻t,通过工业过程的m个测量仪表对应获取m个测量值,并将由这m个测量值组成的一组采样数据数据表示成一个m×1维的数据向量xt后,再根据公式对xt中的各个元素分别实施鲁棒归一化处理,对应得到一个m×1维的数据向量其中,和分别表示xt和中的第m个元素,m=1,2,…,m。

35、步骤㈡:依次根据公式和分别计算隐层输出向量st,输出层输出向量yt和误差向量μt后,再将μt中的第1个元素,第2个元素,至第m个元素分别标记为c1,c2,…,cm;其中,表示调用神经元激活函数g(u)对中的各个元素分别进行计算。

36、步骤㈢:根据以下所示公式(3)确定工业过程在最新时刻t的异常程度指标后,判断是否大于1,若是,则工业过程出现异常,并触发异常警报;若否,则工业过程未出现异常;再返回步骤㈠继续利用最新采样时刻获取的一组采样数据实施在线异常检测。

37、

38、其中,max{}表示选取大括号内的最大数据。

39、通过以上所述实施步骤,本发明方法的优势介绍如下。

40、本发明方法可直接利用掺杂有离群采样数据的训练数据集训练得到能进行非线性特征学习的自编码器,从而通过自编码器输出相应的估计误差用于实施工业过程的在线异常检测。从这个角度来讲,本发明方法相对于传统方法有两个技术优势:其一,能直接对掺杂有离群采样数据的训练数据集实施鲁棒的无监督特征学习;其二,能通过采样数据的非线性特征生成估计误差用于在线异常检测。

41、本发明方法在实施自编码器训练时创新的提出鲁棒归一化方法解决了神经网络训练的鲁棒数据预处理难题,训练过程中充分的利用了所有该利用的训练数据,保证了数据特征分析的全面性。因此,本发明方法是一种更为优选的工业过程采样数据驱动的异常检测方法。

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