潜油往复抽油机的DBN网络故障诊断方法与流程

文档序号:11773066阅读:379来源:国知局
潜油往复抽油机的DBN网络故障诊断方法与流程

本发明涉及一种潜油往复抽油机的故障诊断方法。



背景技术:

1、现有故障诊断方法具有局限性,不适用于潜油往复抽油机的故障诊断:

因潜油往复抽油机这一举升工艺的提出时间较短,目前较为完善的故障诊断方法多适用于游梁式抽油机,比如利用其地面示功图进行其运行状态的判定。但是,潜油往复抽油机无法利用井上设备进行载荷以及位移的测量,所以无法使用地面示功图等方法进行工况状态的诊断。

2、现有潜油往复抽油机井下测量设备的技术尚不完善,可靠性较低:

近年来,随着井下测量设备技术的发展,人们提出了很多利用潜油往复抽油机的井下运行参数进行其运行状态的判定。但是大多数使用的井下设备仍是两参数测量设备:井下入口温度和入口压力。仅仅凭借这两个参数尚不能够反映出抽油机的运行状态。此外,虽然多参数测量设备也已经开始投入使用,但井下环境十分复杂,条件恶劣,其可靠性尚待验证,目前尚未大范围投入油田的生产使用。因此,利用井下测量设备进行潜油往复抽油机的故障诊断,尚不能满足油田实际生产的要求。

3、现有故障诊断方法具有一定的弊端,潜油往复抽油机的故障诊断率较低:

现在常用的故障诊断方法有专家系统,bp神经网络、学习向量量化(lvq)神经网络、故障树以及支持向量机等诊断方法。上述这些方法通常需要与传统的特征提取方法进行结合,才能够实现故障诊断。传统的特征提取方法通常需要经过繁琐的运算以及依赖一定的人为理解经验才能够完成。这种方式无法充分挖掘原始数据中包含的故障信息,不利于其工况状态的诊断,有时需要多种特征提取方法结合在一起才能够满足一定的要求。



技术实现要素:

本发明为了解决现有的潜油往复抽油机的故障诊断方法存在的所采集的参数不能真实反映抽油机的运行状态的问题,以及诊断准率低的问题。

潜油往复抽油机的dbn网络故障诊断方法,包括以下步骤:

步骤1、采集原始运行数据:

通过油井的井上参数测量设备对潜油电机的各种工作状态下的运行电流进行实时测量与记录,一个工作状态下井上测量设备在一个完整冲程内采集原始运行电流值z=1,2,…,f;f为井上测量设备在一个完整冲程内采集原始运行电流值的个数;f个原始运行电流值形成一个原始运行数据向量i=[i1,i2,i3,…,if]t;将各种工作状态下的原始运行数据向量i=[i1,i2,i3,…,if]t与工作状态一一对应,将工作状态作为标签数据;

步骤2、构造输入向量:

对原始运行电流值按式(1)进行归一化处理;

式中:为归一化电流值;为原始运行电流值;为一个完整冲程内原始运行电流值中的最大值;为一个完整冲程内原始运行电流值中的的最小值;

根据原始运行数据向量i=[i1,i2,i3,…,if]t得到故障诊断模型的输入向量x,并将x与i对应的工作状态对应;

步骤3、构建并训练dbn网络故障诊断模型,dbn网络故障诊断模型底部由若干个rbm结构堆叠而成,即第一层为可视层,第二层至第k层为隐含层;顶层是分类层;

dbn网络故障诊断模型的训练过程包含无监督的逐层预训练和有监督微调;

步骤4、针对待诊断的潜油往复抽油机,采集潜油电机的原始运行电流并归一化,然后根据步骤3得到的dbn网络故障诊断模型进行潜油往复抽油机的诊断。

进一步地,步骤3构建并训练dbn网络故障诊断模型的具体过程包括以下步骤:

dbn网络故障诊断模型底部由若干个rbm网络堆叠而成,即第一层为可视层,第二层至第k层为隐含层;顶层是分类层;

步骤(1)、初始化dbn网络的最大层数,每层节点数、最大迭代次数以及网络参数θ;

步骤(2)、将归一化后得到的输入向量x送入dbn网络的第一层,然后依据rbm原理得到dbn网络第二层隐含层的初始状态,之后再得到第一层的重构状态以及第二层的重构状态,根据重构状态与初始状态数值之间的差异进行其权值阈值的更新,重复上述过程直至最大迭代次数,结束该层rbm训练;

步骤(3)、训练完第一个rbm层之后,将dbn网络的第二层作为可视层,第三层作为隐含层,形成第二个rbm网络,重复步骤(2)的操作直至完成该层rbm的训练,即得到dbn第三层隐含层的状态;

步骤(4)、依次经过训练得到dbn网络的各隐含层,直至得到第k层隐含层的状态;

步骤(5)、进入有监督训练过程,将dbn网络的第k层输出作为顶层分类器的输入,顶层输出为数据的类别标签,再根据当前工作状态对应的分类标签使用反向传播算法训练顶层分类器,并对dbn网络的各层参数进行微调;

步骤(6)、达到最大迭代次数或者满足规定的误差值,模型训练结束;

进一步地,步骤(5)中所述的顶层分类器选用softmax分类器进行分类判定。

进一步地,步骤(2)的具体过程包括以下步骤:

假设rbm网络的所有单元均为二值变量,即激活状态为1,反之为0;假定可视层v中有i个单元,隐含层h有j个单元,将rbm作为一个系统,具有的能量定义为

式中,i为可视层的单元数,j为隐含层的单元数,vn为可视层单元n的状态,hm为隐含层单元m的状态,an为可视层单元n的阈值,bm为隐含层单元m的阈值,wnm为可视层单元n与隐含层单元m之间的权值;v是可视层所有单元的状态向量,h是隐含层所有单元的状态向量;θ为rbm参数权值w、可视层阈值a和隐含层阈值b的简记;

由于每层的单元之间的相互独立性,能够得到(v,h)的联合概率分布为

式中,为所有可视层和隐含层单元之间的能量值之和;

由于rbm网络的特殊结构即层间有连接,层内无连接的特点,当给定可见单元或者隐含层单元的状态时,能够求出隐单元m或者可视单元n的激活概率:

式中,为sigmoid函数;

依据式(5)和式(6),在给定可视层各单元的状态后,能够通过计算隐含层的条件概率p(h|v)的值确定隐含层所有单元的初始状态向量h0;然后通过计算可视层的条件概率p(v|h)得到可视层的重构状态向量v1,最后再次通过隐含层的条件概率p(h|v)得到隐含层的重构状态向量h1,可视层的重构状态向量v1和可视层的初始状态向量v0拥有相同的单元数,隐含层的重构状态向量h1和隐含层的初始状态向量h0拥有相同的单元数,最后根据可视层以及隐含层的重构状态向量和初始状态向量之间的差异进行参数θ的更新调整。

进一步地,所述的参数θ是采用对比散度算法实现更新调整的。

进一步地,所述采用对比散度算法更新调整参数θ的过程包括以下步骤:

(a)、对rbm网络参数θ进行初始化,确定训练最大迭代次数,将输入向量x作为可视层的初始状态向量v0

(b)、计算隐含层各单元初始激活概率然后从条件分布概率中抽取h0~p(h0|v0);为隐含层单元m的初始状态值,为可视层单元n的初始状态值;

σ(·)是sigmoid函数;

(c)、计算可视层各单元的重构状态向量的初始激活概率然后从条件分布概率中抽取v1~p(v1|h0);v1为可视层的重构状态向量,为可视层单元n的重构状态值;

(d)、计算隐含层各单元为隐含层单元m的重构状态值;

(e)、网络参数更新:

w=w+ρ[p(h0=1|v0)v0t-p(h1=1|v1)v1t];

a=a+ρ(v0-v1);

b=b+ρ[p(h0=1|v0)-p(h1=1|v1)];

式中,v0t和v1t分别为可视层的初始状态向量和重构状态向量的转置,ρ为学习率;

(f)、重复步骤(b)到(e),直至最大迭代次数,结束该层rbm训练。

本发明具有以下有益效果:

本发明所述的dbn网络故障诊断模型是利用井上设备测取的潜油电机的运行电流状态来判定抽油机的非正常状态,使得监控参数值更加可靠,有效避免了井下参数测量过程中出现的弊端,实用性更强。

该方法直接将抽油机的原始运行数据作为输入向量,诊断模型自动从原始数据中提取故障特征,避免了传统特征提取方法中出现的人为经验的干扰,更加能够充分挖掘故障信息,有利于潜油往复抽油机运行状态的判定。因此,该故障诊断方法能够为潜油往复抽油机控制系统提供比较准确可靠的工况信息,实现其生产效率高、连续稳定运行的目标

相对于以往的故障诊断方法如、mea-bp神经网络以及支持向量机等,dbn网络故障诊断方法的强大学习能力使得其在较少的样本量下便能够达到很高的诊断准确率。比bp网络、mea-bp以及svm模型的诊断结果分别高了10.4%、5%和6.7%,十分适用于潜油往复抽油机小样本的工况特点,可以很好的达到生产控制过程中对潜油往复抽油机故障信息的要求。

附图说明

图1是气体影响故障状态下的运行电流曲线图;

图2是砂堵故障状态下的运行电流曲线图;

图3是结蜡故障状态下的运行电流曲线图;

图4是油管漏失故障状态下的运行电流曲线图;

图5为dbn网络故障诊断模型结构示意图;

图6为dbn训练过程流程图;

图7为rbm结构示意图;

图8为带有分类结果的dbn网络诊断模型结构示意图;

图9为实施例实验平台实物图;

图10为实施例实验平台的结构示意图;

图11为实施例诊断准确率与预训练学习率、迭代次数之间的关系图;

图12为不同训练样本下的诊断结果图;

图13为使用pca方法提取原始数据集的可视化图;

图14dbn网络第二层特征提取可视化图;

图15dbn网络第三层特征提取可视化图;

图16dbn网络第四层特征提取可视化图。

具体实施方式

具体实施方式一:

潜油往复抽油机的dbn网络故障诊断方法,包括以下步骤:

步骤1、采集原始运行数据:

潜油往复抽油机工作于间歇式模式,其运行周期包括“上冲程—上间歇—下冲程—下间歇”四个状态;当抽油机处于非正常运行状态时,其运行电流曲线将会发生相应的变化,部分故障状态下的运行电流曲线如图1至图4所示;通过对潜油电机的运行电流状态进行判定,便可以实现潜油往复抽油机的故障诊断;

通过油井的井上参数测量设备对潜油电机的各种工作状态(正常状态以及不同故障状态)下的运行电流进行实时测量与记录,一个工作状态下井上测量设备在一个完整冲程内采集原始运行电流值f为井上测量设备在一个完整冲程内采集原始运行电流值的个数;f个原始运行电流值形成一个原始运行数据向量i=[i1,i2,i3,…,if]t;将各种工作状态下的原始运行数据向量i=[i1,i2,i3,…,if]t与工作状态一一对应,将工作状态作为标签数据;

步骤2、构造输入向量:

虽然只有运行电流一个运行参数,但其数据的最大值与最小值之间却差了一个数量级,为了尽可能减小数量级对模型诊断效果的影响,对原始运行电流值按式(1)进行归一化处理;

式中:为归一化电流值;为原始运行电流值;为一个完整冲程内原始运行电流值中的最大值;为一个完整冲程内原始运行电流值中的的最小值;

根据原始运行数据向量i=[i1,i2,i3,…,if]t得到故障诊断模型的输入向量x,并将x与i对应的工作状态对应;

步骤3、构建并训练dbn(深度置信网络)故障诊断模型,dbn网络故障诊断模型的具体结构图如图5所示,dbn网络故障诊断模型底部由若干个rbm(受限玻尔兹曼机)结构堆叠而成,即第一层为可视层,第二层至第k层为隐含层;顶层是分类层;

dbn网络故障诊断模型的训练过程包含无监督的逐层预训练和有监督微调;

步骤4、针对待诊断的潜油往复抽油机,采集潜油电机的原始运行电流并归一化,然后根据步骤3得到的dbn网络故障诊断模型进行潜油往复抽油机的诊断。

具体实施方式二:

本实施方式所述步骤3构建并训练dbn网络故障诊断模型的具体过程包括以下步骤:

dbn网络故障诊断模型底部由若干个rbm网络堆叠而成,即第一层为可视层,第二层至第k层为隐含层;顶层是分类层;

首先在无监督预训练中,将输入向量x送入第一个rbm的可视层,即第一层可视层,通过rbm网络将值传递到第二层隐含层,反过来,用隐含层去重构可视层,根据重构层和可视层的差异去更新隐含层和可视层之间的权重,直到达到最大的迭代次数,得到调整后的隐含层;然后将得到调整后的隐含层作为可视层,对第三层隐含层进行调整,通过逐层堆叠,可以从原始数据中逐层提取特征,获得一些高层次表达;当预训练完成后,通过在网络结构的最顶层添加标签数据,对dbn网络进行有监督训练,即使用反向传播算法(backpropagation)对dbn网络的相关参数进行微调;通过对dbn网络进行有监督的训练将进一步减少训练误差和提高dbn网络分类模型的准确率;与无监督训练中每次训练一层相比,反向传播有监督微调同时对所有层的参数进行更新,深度置信网络具体训练过程的流程图如图6所示,具体步骤如下:

步骤(1)、初始化dbn网络的最大层数,每层节点数、最大迭代次数以及网络参数θ;

步骤(2)、将归一化后得到的输入向量x送入dbn网络的第一层,然后依据rbm原理得到dbn网络第二层隐含层的初始状态,之后再得到第一层的重构状态以及第二层的重构状态,根据重构状态与初始状态数值之间的差异进行其权值阈值的更新,重复上述过程直至最大迭代次数,结束该层rbm训练;

步骤(3)、训练完第一个rbm层之后,将dbn网络的第二层作为可视层,第三层作为隐含层,形成第二个rbm网络,重复步骤(2)的操作直至完成该层rbm的训练,即得到dbn第三层隐含层的状态;

步骤(4)、依次经过训练得到dbn网络的各隐含层,直至得到第k层隐含层的状态;

步骤(5)、进入有监督训练过程,将dbn网络的第k层输出作为顶层分类器的输入,顶层输出为数据的类别标签,再根据当前工作状态对应的分类标签使用反向传播算法训练顶层分类器,并对dbn网络的各层参数进行微调;

步骤(6)、达到最大迭代次数或者满足规定的误差值,模型训练结束;

其他步骤和参数与具体实施方式一相同。

具体实施方式三:

本实施方式所述步骤(5)中所述的顶层分类器选用softmax分类器进行分类判定。

其他步骤和参数与具体实施方式一相同。

具体实施方式四:

本实施方式所述步骤(2)的具体过程包括以下步骤:

rbm网络具有强大的学习能力,能够充分的从原始数据中挖掘故障特征信息,在于其特殊的结构原理;rbm的层内相邻神经元之间无连接,仅仅是层与层之间的神经元有连接,如图7所示;假设rbm网络的所有单元均为二值变量,即激活状态为1,反之为0;假定可视层v中有i个单元,隐含层h有j个单元,那么在给定了可视层中各单元的状态之后,隐含层各单元的激活状态便相对条件独立,同样地,在给定了隐含层各单元的状态之后,可视层各单元的状态之间也相对独立;针对这一结构特性,可以将rbm作为一个系统,具有的能量定义为

式中,i为可视层的单元数,j为隐含层的单元数,vn为可视层单元n的状态,hm为隐含层单元m的状态,an为可视层单元n的阈值,bm为隐含层单元m的阈值,wnm为可视层单元n与隐含层单元m之间的权值;v是可视层所有单元的状态向量,h是隐含层所有单元的状态向量;θ为rbm参数权值w、可视层阈值a和隐含层阈值b的简记;

由于每层的单元之间的相互独立性,能够得到(v,h)的联合概率分布为

式中,为所有可视层和隐含层单元之间的能量值之和;

由于rbm网络的特殊结构即层间有连接,层内无连接的特点,当给定可见单元或者隐含层单元的状态时,能够求出隐单元m或者可视单元n的激活概率:

式中,为sigmoid函数;

依据式(5)和式(6),在给定可视层各单元的状态后,能够通过计算隐含层的条件概率p(h|v)的值确定隐含层所有单元的初始状态向量h0;然后通过计算可视层的条件概率p(v|h)得到可视层的重构状态向量v1,最后再次通过隐含层的条件概率p(h|v)得到隐含层的重构状态向量h1,可视层的重构状态向量v1和可视层的初始状态向量v0拥有相同的单元数,隐含层的重构状态向量h1和隐含层的初始状态向量h0拥有相同的单元数,最后根据可视层以及隐含层的重构状态向量和初始状态向量之间的差异进行参数θ的更新调整。

其他步骤和参数与具体实施方式三相同。

具体实施方式五:

本实施方式所述所述的参数θ是采用对比散度(cd)算法实现更新调整的。

其他步骤和参数与具体实施方式四相同。

具体实施方式六:

本实施方式所述所述采用对比散度算法更新调整参数θ的过程包括以下步骤:

(a)、对rbm网络参数θ进行初始化,确定训练最大迭代次数,将输入向量x作为可视层的初始状态向量v0

(b)、计算隐含层各单元初始激活概率然后从条件分布概率中抽取h0~p(h0|v0);为隐含层单元m的初始状态值,为可视层单元n的初始状态值;

σ(·)是sigmoid函数;

(c)、计算可视层各单元的重构状态向量的初始激活概率然后从条件分布概率中抽取v1~p(v1|h0);v1为可视层的重构状态向量,为可视层单元n的重构状态值;

(d)、计算隐含层各单元为隐含层单元m的重构状态值;

(e)、网络参数更新:

w=w+ρ[p(h0=1|v0)v0t-p(h1=1|v1)v1t];

a=a+ρ(v0-v1);

b=b+ρ[p(h0=1|v0)-p(h1=1|v1)];

式中,v0t和v1t分别为可视层的初始状态向量和重构状态向量的转置,ρ为学习率;

(f)、重复步骤(b)到(e),直至最大迭代次数,结束该层rbm训练。

其他步骤和参数与具体实施方式五相同。

经过多层次的rbm网络,便能够自动从原始运行数据中获取高层次的故障特征,最后由顶层的分类器实现故障类别的判定,如图8所示。

实施例

本实施例选用潜油往复抽油机的实验仿真数据对dbn故障诊断模型的分类性能进行验证。在潜油往复抽油机实验仿真平台上,通过控制不同的装置器件模拟潜油往复抽油机在实际生产中出现的典型故障状态,并利用传感器采集记录各个故障状态下抽油机的运行电流值。实验平台实物与结构图分别见图9及图10所示。

实验中,设定潜油直线电机的冲程为8次/分钟,对运行电流进行0.05s定时采样,即每个周期将采集150个数据值。实验中分别模拟了正常、气体影响、砂堵、结蜡、油管漏失、液体充不满等6种典型状态,分别对每种状态下的运行电流值进行监测并记录下50个周期的数据值,这样本次实验中便获取了300个周期的运行电流值作为样本数据。

由于实验中对潜油往复抽油机的6种典型故障进行诊断识别,属于一个多分类问题,诊断结果有正常、气体影响、砂堵、结蜡、油管漏失、液体充不满等六种类别,下面依次对每种类别进行编码,如下表1所示。

表1状态类别编码

dbn诊断模型的输入层数据应为一个周期内采集的运行电流值,因此,输入层节点数设定为150,隐含层节点数依次呈递减趋势,顶层的标签层对应潜油往复抽油机的运行状态,针对本次实验而言,顶层节点数应为6,本文中dbn故障诊断模型采用典型的5层结构,即150-70-35-15-6的模型结构。实现潜油往复抽油机故障诊断的具体诊断步骤如下:

(1)利用仿真实验平台获取潜油往复抽油机在各种状态下的运行数据,从而获取一定量的样本数据;对样本数据进行标准化处理后按一定比例将其分为训练集和测试集。

(2)对其6种状态类别进行编码;

(3)合理设定dbn网络的层数及各层节点数,并初始化dbn诊断模型参数为服从高斯分布的较小随机数值;

(5)利用训练样本集中的无标签样本数据对模型底部的rbm层进行预训练;

(6)利用训练集中的标签样本数据通过bp算法对整个网络进行调优;

(7)保存训练之后的网络模型,并对其诊断性能进行测试。

仿真实验分析

(1)故障诊断能力与学习率、迭代次数的关系

将300组样本集按照比例4:1分为训练集和测试集,首先用240组训练集对模型进行训练调优,然后使用60组测试集对模型进行测试分析。实验结果表明,当样本集固定不变时,模型的故障诊断能力与预训练过程中的学习率δ以及迭代次数ite的取值有关,如图11所示。

从图11的结果中可以看出,当训练集样本量固定的情况下,诊断准确率会随着训练过程迭代次数的增加呈现上升趋势,而随着学习率的变化,诊断准确率在一定范围内呈现先上升后下降趋势。可以推知,实验中该模型的最佳学习率取值约为0.2。此外,当模型的预训练迭代次数达到1000时,虽然训练集仅仅只有240组,诊断能力却能达到98.3%;若迭代次数达到1500,诊断准确率高达100%。这表明该模型的诊断能力随着迭代次数的增加而提高,而且其学习率具有最佳取值区域。

(2)故障诊断能力与训练集数量之间的关系

在确定了故障诊断模型的学习率的最佳取值后,进一步分析训练集数量的不同对其诊断能力的影响。实验中将预训练过程中使用的训练样本量依次设为100、150、200和240,并将学习率设定为0.2,然后分别记录下相应的训练集下的诊断准确率,测试结果如图12所示。可以看出,在预训练的迭代次数相同时,样本量为100时的诊断能力明显较弱,随着样本量的增加诊断能力快速提高;因模型具有极强的学习能力,即使在样本量极少的情况下,也能够通过提高训练的迭代次数增强其诊断能力;在训练集的数量为200,ite为1500时,该模型对60组测试集的诊断准确率为100%。表明该模型能够满足样本量较少情况下的诊断要求。

(3)在最佳参数下,故障数据的分类情况

在上述实验分析结果的基础上,深入探究dbn网络模型的特征提取能力。首先将故障诊断模型的预训练学习率δ设为0.2以及迭代次数设为1500,然后测试模型对240组训练集进行特征提取分析。首先使用pca方法提取原始数据集的前3个主成分(图13中的pc1、pc2、pc3),原始数据集的可视化图如图13所示。

从图13中可以看出,潜油往复抽油机在不同工作状态下的运行电流参数的特征重叠交叉在一起,难以进行状态类别的区分。

然后,利用dbn网络模型对240组原始数据集的特征进行逐级提取,结果见图14、图15以及图16所示。

根据具体的实验结果可知,dbn网络能够很好的实现原始数据的特征提取过程,将原本重叠在一起的特征值进行了有效的区分。接着在顶层的bp层实现类别的识别,最终实现故障诊断功能。因此,本文中的dbn模型能够成功地对潜油往复抽油机的原始运行参数值进行特征提取,并实现故障类别的诊断。

为了验证该故障诊断模型对潜油往复抽油机的故障诊断能力,采用相同的240组训练集合60组测试集对bp网络、mea—bp模型、支持向量机以及dbn故障诊断模型训练与测试,对于前三种方法,需要先采用传统的特征提取方法对原始数据集进行预处理即特征提取,然后再执行训练和诊断过程,而dbn故障诊断模型则直接利用原始数据集进行训练与诊断,实验结果见表2所示。

表2潜油往复抽油机数据集的诊断结果

通过对比各个模型的诊断结果可知,dbn故障诊断模型的诊断效果最佳,可以高达100%,比单纯的bp网络、mea-bp以及svm模型的诊断结果分别高了10.4%、5%和6.7%。因此,本文提出的适用于潜油往复抽油机的dbn故障诊断模型具有较好的识别能力。

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