深度学习神经网络在管道故障诊断中的应用研究
2018-01-24王新颖宋兴帅杨泰旺
王新颖,宋兴帅,杨泰旺
(常州大学环境与安全工程学院,江苏 常州 213164)
由于油气管道在不同输运状态时产生的声发射信号不同,所以利用声发射信号对管道进行检测成为无损监测中的一种有效方法[1-2]。近些年,随着人工智能技术和计算机的迅速发展,国内外专家基于已采集的声发射信号提出了反向传播神经网络(BPNN)[3-5]、DS融合[6-7]和支持向量机(Support Vector Machine,SVM)[8-10]等方法对管道故障进行智能诊断。然而BPNN方法存在收敛速度过慢的问题,并且容易陷入局部最优;DS融合方法通常在识别过程中无法获得大量的样本数据;SVM方法其实是一个针对二分类问题的分类器,而针对多分类问题,其存在参数和核函数不容易确定等缺点,并且分类器的构造比较困难,最终的分类效果也不佳。此外,以上几种方法大多是浅层机器学习方法,其学习能力都受到了一定限制,而且特征的提取和选择也大多都是根据人工经验来完成,其诊断结果不能令人满意;而且,以上方法对数据样本的完整性要求较高,因此无法充分利用声发射检测系统中的大量无标签数据。
深度机器学习是由Hinton教授等[11]在2006年提出的,深度学习神经网络就是其中之一,较强的自动学习能力是它的最大特点,主要体现在可以对输入数据进行逐层的特征学习,并能够转换重构新的特征,避免了特征的人工选择和提取,所以其渐渐成为了近几年国内外的研究热点之一[12-14]。深度学习神经网络是用无监督的方式对样本数据进行训练,将采集到的声发射无标签样本数据对深度学习神经网络分类模型进行预训练和参数优化,从而使分类模型的辨识率有一定的提升。如今,这种方法已成功地应用于文字识别、图片识别、人脸识别等方面[15-17],但是在油气管道故障诊断方面的应用研究才刚开始。
本文在深度学习神经网络的基础上,建立了深度学习神经网络分类模型,并以4个经典机器学习分类数据集为样本进行分类性能测试,同时根据管道声发射检测系统中已采集的数据样本与故障状态,提出了一种基于深度学习神经网络的管道故障诊断方法。该方法以半监督的方式进行特征学习,以其较强的特征学习能力可以得出管道不同运行状况的出现概率,能够为工作人员判断抢修和检修管道提供依据。为了验证该方法的有效性,本文将该方法应用于实验室油气储运管道检测系统中,并在相同的条件下与BPNN方法和SVM方法进行了分析比较。
1 深度学习神经网络
深度学习神经网络(Deep Learning Neural Network,DLNN)是一种通常含有3个或3个以上隐含层的机器学习神经网络,能够对特征进行提取和转换,并以这种方式实现了机器自动学习、数据本质属性的挖掘,从而更有利于样本的分类,也使辨识准确率在一定程度上有所提升。DLNN常用的方法有:卷积神经网络(Convolutional Neural Network,CNN)、自动编码器(Auto-Encoder,AE)、深度信念网络(Deep Belief Network,DBN)和限制波尔兹曼机(Restricted Boltzmann Machine,RBM)。其中,CNN大多数情况下用于图像、语音等方面的识别,而RBM和DBN对数据样本要求过高,这里选取自动编码器(AE)作为深度神经网络分类的基本模型。
1. 1 自动编码器(AE)
由美国斯坦福大学Andrew教授的课程笔记[18]可知,自动编码器(AE)是一种以输出信号来代替输入信号的神经网络。为了实现输出信号和输入信号尽可能的一致,AE就必须提取出具有原数据本质成分的特征来代表输入信号。具体的实现过程如下:首先,以非/半监督方式来学习无标签数据的本质特征;其次,由编码器输出特征来训练下一层,并这样循环逐层训练;最后,进行有监督的微调。
对于一般情况,最基本的AE是一个三层的神经网络,如图1所示,x为输入层,h为隐含层,y为输出层,x和y一般有相同的节点。将样本从x到h转换的过程叫作编码,而将h到y转换的过程叫作解码,如图2所示。假设f为编码函数,g为解码函数,则两个函数的表达式如下:
h=f(x)=Sf(Wx+p)
(1)
y=g(h)=Sg(WT+q)
(2)
式中:Sf和Sg一般取Sigmoid函数;Wx为x和h之间的权值矩阵;WT为h和y之间的权值矩阵;p为h的偏置向量;q为y的偏置向量。
图1 自动编码器网络图Fig.1 Network diagram of AE
图2 自动编码器机理图Fig.2 Mechanism diagram of AE
为了更加准确地将特征表示出来,AE参数W、p和q简记为θ。
假设训练样本集S={x1,x2,…,xn},对AE进行预训练实际上是通过S对参数θ进行训练。因此,通常先把训练后的目标定义出来,即解码后输出的y应该与输入x尽最大限度地逼近,重构误差函数L(X,Y)可以用来表示这种逼近程度,L(x,y)可定义为
L(x,y)=∑ni=1[xiln(yi)+(1-xi)ln(1-yi)]
(3)
基于上式关于训练样本集S的损失函数可表示为
JAE(θ)=1N∑x∈SL[x,g(f(x))]
(4)
式中:JAE(θ)为关于参数θ的损失函数;N为训练样本集中输入样本的个数。
每层AE的参数θ就是将式(4)进行最小化处理得到的。但是,对于大多数的实际应用,假如仅仅将损失函数做极小化处理,很多时候或许会获得一个恒等函数。为了避免这种情况的出现,使用AE的一种变体——稀疏自动编码器进行处理。
1. 2 稀疏自动编码器
一般情况下,自动编码器有两种变体:稀疏自动编码器(Sparse Auto-Encoder)和降噪自动编码器(Denosing Auto-Encoder)。为了避免恒等式的出现,这里选择稀疏自动编码器对损失函数进行处理。稀疏自动编码器就是在AE的基础上加上一些规则限制条件,以便使获得的编码尽可能稀疏,其中稀疏的表达方式是各种表达方式中最好的一种。针对以上损失函数容易出现恒等的问题,能够通过对其进行稀疏性限制来解决,又称作稀疏自编码。这里选用一种基于相对熵的方法来实现,下式表示具体的损失函数:
JAE+sp(θ)=∑x∈SL[x,g(f(x))]+β∑mj=1KL(ρ·ρ∧j)
(5)
式中:β为权重系数;ρ为稀疏性参数;ρ∧j为xi在隐含层上第j个神经元的平均激活度。
其中,KL(ρ·ρ∧j)的表达式为
KL(ρ·ρ∧j)=ρlnρρ∧j+(1-ρ)ln1-ρρ∧j
(6)
从公式(6)中可以看出,ρ∧与ρ差值的增大可以使KL(ρ·ρ∧j)渐渐减小,只有两者的值相等时才能获得最小值0。因此,ρ∧j与ρ的差值逼近于0的过程能够通过最小化函数来实现。
2 深度学习神经网络分类模型的建立与测试
2. 1 深度学习神经网络分类模型的建立
本文建立了深度学习神经网络分类(Classification Deep Learning Neural Network,CDLNN)模型,它是由输入层、若干个AE层、分类层、输出层组合而成,其中若干个AE层是以堆叠的形式存在的。CDLNN模型的框架见图3。为了解决多分类的问题,选择SOFTMAX作为分类器,由于该分类器能够输出分类结果的概率,而且可以与AE较好地结合,通常能够得到较佳的分类效果[19-20]。
图3 深度学习神经网络分类模型Fig.3 The CDLNN model
CDLNN模型解决多分类问题的训练过程通常有预训练和微调两个过程:预训练的第一步就是选取无标签数据或者去标签数据构建输入样本,然后利用BP算法使一系列AE参数完成初始化;微调就是利用带有标签的样本对整个网络参数进行调整,使输出特征与输入数据样本的误差最小,从而使CDLNN模型的识别性能达到最佳。
2. 2 CDLNN模型分类性能的测试
本文利用所建立的CDLNN模型对Iris、Adult、Wine、Car Evaluation这4个经典机器学习数据集进行分类性能测试,初始学习速率值设置为0.1,网络参数θ初始化遵从高斯分布的随机较小值,参数更新速率值设置为0.01。表1为CDLNN模型对4个数据集的分类性能测试结果。
表1 CDLNN模型对4个数据集的分类性能测试结果
由表1可见,CDLNN模型对各个数据集的分类效果均达到了令人满意的结果,平均分类正确率均达到96%以上,这表明建立的CDLNN模型能够用来解决多分类的问题。
3 基于CDLNN模型的管道故障诊断方法
3. 1 选取样本数据
为了使样本集不至于太偏斜,又确保能够获得充足的数据样本,本次研究选用近期实验室多次管道泄漏试验所采集的声发射数据,由于这些数据没有标签,因此可以作为预训练样本。实验室进行燃气管道泄漏试验时,用断铅来模拟管道断裂时管道发出的声发射信号,用纱布摩擦来模拟管道发生裂纹时管道发出的声发射信号,打开泄漏阀模拟燃气管道泄漏状态时管道发出的声发射信号,并采集正常输运情况下管道发出的声发射信号。由于微调需要用少量的带标签样本,所以本次研究将模拟管道故障时获得的数据作为微调所需样本。
3. 2 选取特征变量
参照声发射检测系统采集到的数据,并根据CDLNN模型的自动学习、转换特征和分类的能力,选取幅值、绝对能量、振铃计数、上升时间、持续时间、平均信号电平、有效值电压和事件计数这8个反映管道运行状态的特征变量,为了使各特征变量之间的差异尽可能缩小,也为了使计算更加精确,利用下式对各个特征变量进行标准化处理:
xnew=x-xmeanxstd
(7)
式中:xnew为特征参数标准化后的值;x为特征参数原来的值;xmean为各样本集中此特征参数的均值;xstd为样本集中此特征参数的标准差值。
3. 3 管道运行状态编码
参照管道实际输运过程中容易出现的故障,将故障的诊断结果归纳为4种类型,并将各种故障类型进行了编码,见表2。
表2 管道运行状态编码
3. 4 管道故障诊断CDLNN模型的建立
图4为管道故障诊断CDLNN模型的结构。输入模型中是已标准化处理的8个特征参数值,输出模型中则是管道各输运状态的概率值,其中最大概率所对应的运行状态就是管道故障诊断的结果。
图4 管道故障诊断CDLNN模型的结构Fig.4 Structure of the pipeline fault diagnosis model based on CDLNN model
管道故障诊断CDLNN模型的训练过程与CDLNN模型相似,主要分为预训练和微调两个过程。首先将已标准化处理的8个特征参数输入模型,并利用大量的训练样本对一系列AE参数进行初始化;然后对参数进行微调,利用少量带有标签的数据样本对整个网络进行调整,从而使CDLNN模型的故障诊断效果获得最佳;最后输出管道各输运状态的概率,其中最大的概率所对应的管道运行状态即为诊断结果。
3. 5 基于CDLNN模型的管道故障诊断流程
基于CDLNN模型的管道故障诊断流程如下(见图5):
图5 基于CDLNN模型的管道故障诊断流程Fig.5 Flowchart of pipeline fault diagnosis based on CDLNN model
(1) 采集管道故障数据:对被测管道加以断铅、纱布摩擦、打开泄漏阀等激励措施,在声发射采集系统中采集不同故障状态下的声发射信号。
(2) 数据预处理:将采集到不同类型故障数据标准化,并划分为训练样本和测试样本。
(3) 编码及CDLNN模型的建立:针对管道不同的故障状态进行编码,并构建CDLNN模型。
(4) 初始化网络:将网络的结构和相关参数进行初始化,一般包括AE网络层数、学习率、特征向量维数和迭代次数等。
(5) AE预训练:输入管道故障声发射信号的训练样本集逐层训练堆叠自动编码器,直到达到收敛标准才结束训练。
(6) 全局微调:使用BP算法或CD算法输入堆叠自动编码器的特征输出和相应的类别标签来训练整个网络。
(7) 诊断性能测试:将已训练好的网络保存,并用选取的测试样本进行故障诊断测试。
(8) 输出诊断结果。
4 检测试验与结果分析
4. 1 试验设计
为了验证该方法的有效性,本试验设计了实验室管道泄漏声发射检测系统,并在该系统中模拟管道故障点两侧放置2个声发射传感器,分别采集若干周期的管道运行正常、管道泄漏、管道断裂、管道裂纹的信号数据。图6为实验室管道泄漏声发射检测系统,该系统是由数据采集及处理、管道储运和测量仪器仪表3个单元组成,测量仪器为PCI-Ⅱ声发射卡、S/N2462026504放大器、R15单端宽频带声发射传感器。图7为两个R15单端宽频带声发射传感器,这两个声发射传感器放置在管道故障点的两侧。
图6 实验室管道泄漏声发射检测系统Fig.6 Acoustic emission detection system in laboratory
图7 故障点两侧的两个声发射传感器Fig.7 Two acoustic emission sensors on two sides of the point of failure
试验数据采集过程如下:由空气压缩机为管道提供空气模拟燃气管道,对被测管道进行断铅、纱布摩擦、打开泄漏阀等操作以模拟管道断裂、管道裂纹、管道泄漏,并且不对管道进行任何操作以模拟管道正常运行;通过图7中的两个R15单端宽频带声发射传感器进行声发射数据的采集,继而采用小波分析法对两个传感器信号数据进行特征提取,选择幅值、绝对能量、振铃计数、上升时间、持续时间、平均信号电平、有效值电压和事件计数这8个特征参数作为输入模型的原始数据。
本试验选取正常、故障和近似故障样本去标签数据共2 500组作为预训练集,将故障、正常状态带标签数据共600组作为微调集和测试集,其比例为2∶1,利用已建立的CDLNN模型对管道故障诊断进行测试。
4. 2 试验结果与分析
4.2.1 不同AE层数时CDLNN模型的管道故障诊断效果
在实际情况中,AE的层数并不是固定不变的,而是要根据当前解决的问题进行不断尝试后选取的,因此本试验依次选取0~10的AE层数对CDLNN模型的管道故障诊断效果进行了测试,其测试结果见图8。
图8 AE层数为0~10时CDLNN模型的管道故障诊断效果Fig.8 Effect of CDLNN based pipeline fault diagnosis when the layer number of AE is 0 to 10
由图8可见,当AE层数达到4层时,CDLNN模型的管道故障平均诊断正确率已经非常高,但随着AE层数的逐渐增加,其平均诊断正确率的增长急剧变缓,并且CDLNN模型的训练时间也会变长,因此为了以最少的训练时间得到最佳的诊断效果,本试验中将AE的层数设置为4层。
4.2.2 不同预训练集样本数量时CDLNN模型的管道故障诊断效果
针对不同预训练集样本数量时CDLNN模型的管道故障诊断效果测试结果,见表3。
表3 不同预训练集样本数量时CDLNN模型的管道故障 诊断效果测试结果
由表3可见,CDLNN模型的管道故障平均诊断正确率随着预训练集样本数量的增加而不断提升,当预训练集样本数量达到2 500组时,管道故障平均诊断正确率已经达到了90%以上,这表明CDLNN模型有较优的故障诊断性能,并且可以适用于不同管道故障情况的诊断。
目前应用于管道故障诊断的方法较多,其他常用的方法还有BPNN方法和SVM方法,本文将这两种方法在相同的试验条件下进行了管道故障诊断效果测试,并与本文方法进行了对照比较,其测试结果见表4。其中,BPNN方法的最大训练迭代次数cepochs取1 500,学习速率vIr取0.01;SVM方法的规则化系数C取2 048,核函数参数γ取0.03,向量机核函数选用RBF函数。
表4 不同训练集样本数量时SVM方法和BPNN方法的 管道故障诊断效果测试结果
通过比较表3和表4中的管道故障诊断效果测试结果可知:本文研究方法对管道故障的平均诊断正确率最高,SVM方法次之,其诊断效果相比传统的BPNN方法要好,但SVM方法一般适用于二分类问题,对于多分类问题,则在寻找最优参数方面存在不足,而且必须依靠多次试验才能获得理想的判别效果;而本文研究方法的管道故障诊断效果更优于SVM方法,且避免了BPNN方法和SVM方法人工提取和选择特征的过程,该方法从输入数据中自动地逐层学习特征,提取重构出代表故障信号本质的特征,并输入到适用于多分类问题的分类器SOFTMAX中进行分类。因此,本文的研究方法相比于BPNN方法、SVM方法在管道故障诊断上具有更优的诊断效果,能够为抢、检修人员判断管道是否故障提供更科学的参考依据。此外,在试验中发现,CDLNN模型的管道故障平均诊断准确率会随着训练集样本数量的增加而提高,当训练集样本数量达到一定程度时,其准确率提高的速度会明显变慢;而SVM方法和BPNN方法在对训练集样本数量达到400组时,管道故障平均诊断准确率就基本保持不变了,这说明采用半监督式学习的CDLNN方法比采用监督式学习的SVM方法和BPNN方法具有更强的学习能力和扩展能力。
5 结 论
本文针对管道故障模式识别方法中存在的识别率低、人工选取特征复杂等弊端,提出了一种基于深度学习神经网络的管道故障诊断方法,并将该方法应用于实验室油气储运管道泄漏检测系统中,试验结果表明:该方法能够较好地应用于管道故障检测领域,管道故障平均诊断准确率达92.86%,显著提高了管道故障诊断的准确率和可操作性。
[1] 于蕊.泄漏声发射信号特征提取与识别方法研究[D].昆明:昆明理工大学,2016.
[2] 孙立瑛,李一博,曲志刚,等.EMD信号分析方法的声发射管道泄漏检测研究[J].振动与冲击,2007,26(10):161-163.
[3] 杨宏宇.基于小波分析与BP神经网络的管道泄漏诊断方法的研究[D].沈阳:东北大学,2009.
[4] 孙晓松,谭兴强.基于小波分解的管道泄漏神经网络检测与定位[J].石油机械,2006,34(8):56-58.
[5] 李群燕,幸福堂,桂瞬丰,等.基于BP神经网络的机械系统故障诊断[J].安全与环境工程,2015,22(6):116-119.
[6] 王新颖,江志伟,于永亮,等.多信息融合的城市燃气管道泄漏诊断技术研究[J].中国安全科学学报,2014,24(6):165-171.
[7] Ai L M,Wang J,Wang X L.Multi-features fusion diagnosis of tremor based on artificial neural network and D-S evidence theory[J].SignalProcessing,2008,88(12):2927-2934.
[8] 骆正山,毕傲睿,王小完.基于PCA-SVM的高含硫油气混输管道腐蚀预测[J].中国安全科学学报,2016,26(2):85-89.
[9] 姚琦,牛瑞卿,赵金童,等.基于经验模态分解-支持向量机的滑坡位移预测方法研究[J].安全与环境工程,2017,24(1):26-31.
[10]Guyon I,Weston J,Barnhill S,et al.Gene selection for cancer classification using support vector machines[J].MachineLearning,2006,12(3):222-225.
[11]Hinton G E,Salakhutdinov R R.Reducing the dimensionality of data with neural networks [J].Science,2006,313 (5786):504-506.
[12]Bengio Y.Learning deep architectures for AI[J].FoundationsandTrendsinMachineLearning,2009,2(1):1-127.
[13]Hinton G E,Osindero S,Teh Y W. A fast learning algorithm for deep belief nets[J].NeuralComputation,2006,18 (7):1527-1554.
[14]Hinton G E.UMTLTR2010-003APracticalGuidetoTrainingRestrictedBoltzmannMachines[R/OL].(2011-08-02)[2011-11-09]. https://www.cs.toronto.edu/~hinton/absps/guideTR.pdf.
[15]Baker J,Deng L,Glass J,et al. Developments and directions in speech recognition and understanding,Part 1[J].IEEESignalProcessingMagazine,2009,26(3):76-80.
[16]Yu D,Deng L. Deep learning and its applications to signal and information processing [J].IEEESignalProcessingMagazine,2011,28( 1) :146-153.
[17]Kalal Z,Mikolajczyk K,Matas J. Face-TLD:Tracking-learning-detection applied to faces[C]//2010InternationalConferenceonImageProcessing(ICIP),September 26-29,2010,Hong Kong.[S.l.]:IEEE,2010:3789-3792.
[18]Bengio S,Dean T,Ng A.UFLDLTutorial[EB/OL].[2011-11-09].http://openclassroom.stanford.edu/MainFolder/CoursePage. php?course=DeepLearning.
[19]孙劲光,蒋金叶,孟祥福,等.一种数值属性的深度置信网络分类方法[J]. 计算机工程与应用,2014,50(2):113-114.
[20]马勇,鲍长春,夏丙寅. 基于辨别性深度信念网络的说话人分割[J]. 清华大学学报(自然科学版),2013,53(6):805-807.