,, ,,2
(1.北京航天测控技术有限公司,北京 100041; 2.北京市高速交通工具只能诊断与健康管理重点实验室,北京 100041)
基于深度学习的故障检测方法
吴魁1,王仙勇1,孙洁1,黄玉龙1,2
(1.北京航天测控技术有限公司,北京100041; 2.北京市高速交通工具只能诊断与健康管理重点实验室,北京100041)
针对传统故障诊断方法中特征提取技术难度大、故障样本获取困难等问题,在深度学习计算框架下提出了一种半监督训练的故障检测方法,利用深度信念网络中的受限波茨曼机堆栈结构实现了数据高层特征的自动提取,结合支持向量数据描述方法实现了异常数据检测,只需利用正常工况的数据样本进行网络训练和模型拟合,无需故障样本数据,也无需人工干预进行信号特征提取,即能实现对故障数据进行的实时检测和判别;经采用标准轴承实验数据的三组故障数据进行验证,故障识别率达到100%,具有很强的工程应用价值。
深度学习;深度置信网络;故障检测
随着科技的进步,航空、航天、航海和高铁等领域的设备日趋复杂和精密,系统组成环节和影响因素的增加以及运行环境和工况的复杂化,使得系统的可靠运行和维修保障面临很大的挑战[1]。故障诊断技术是一种多学科交叉的综合性技术,其目的就是通过分析反映设备相关信息的数据,准确判断设备及其内部组件是否出现故障,以决定其能否正常运行或需要进行维修和防护[2]。有效的故障诊断不仅能够提高复杂设备的安全性和可靠性,还可以减少设备操作和维护成本。
传统的故障诊断方法包括基于机理模型的故障诊断方法和基于知识规则的故障诊断方法。基于机理模型的故障诊断方法是最直接、最全面的一种方法, 该方法需要对被诊断对象的结构、原理、功能和工作机制有一个清晰的认识,并能够建立描述系统的数学模型,在获取设备监测数据后可通过系统模型进行精确的诊断[3]。但是,由于基于机理模型的故障诊断方法必须建立清晰的系统模型,使其在现代复杂系统的故障诊断应用中受到很大的限制。基于知识规则的故障诊断方法不需要建立描述复杂设备的数学模型,而采用专家系统、故障库等方式完成判据规则的建立,在获取设备监测数据后利用判据规则进行故障诊断[4]。基于知识规则的故障诊断方法重度依赖于专家经验、知识等,如何高效地获取、管理和应用专家知识本身也存在技术难度,同时由于新技术、新装备的快速发展也造成了经验知识的匮乏,因此该方法的实际工程应用也面临一定的困境。
随着信号处理、模式识别和人工智能等技术的发展,尤其是近年来机器学习(machine learning)技术研究取得的突破和显著的应用效果,基于数据驱动的故障诊断方法已经成为研究热点[5],其一般方法为:采集设备系统相关监测数据,利用各种信号处理技术对采集来的原始数据进行故障特征提取形成特征状态空间,再利用分类算法根据特征状态进行分类,从而实现故障状态的诊断识别,如图1所示。
其中原始信号的故障特征提取是该方法中影响诊断效果的关键。虽然国内外学者开展了许多不同方面的研究[6],但由于设备的多样性及迅猛发展,仍然存在以下不足:1)故障特征的确定和提取要求对采集的信号有深刻的理解并具备丰富的信号处理经验,需要构建复杂的信号处理算法;2)某些工程应用中故障现象难以找出与之相对应的故障特征值;3)故障特征提取方法和故障分类方法互相关联,难以建立适应不同问题的通用处理算法;4)以上过程需要相应工程领域专家针对不同的信号设计不同的特征提取算法和分类算法,难以实现故障诊断的自动化处理,应用技术门槛很高。
深度学习(Deep Learning)作为机器学习领域的一种新兴方法,以其强大的自动特征提取能力已经在图像、语音识别等领域已经取得了辉煌的成果[7-8]。深度置信网络(DBN,Deep Belief Network)作为深度学习的经典算法之一,以其优异的特征提取和训练算法,成功的解决了诸如特征提取、故障分类等问题[9]。将DBN应用在故障诊断领域主要有以下点优势:1)能从数据中自动提取特征,减少了因故障诊断过程中人工确定特征提取方法的局限性,降低了因特征提取方法不同导致的故障诊断结果的不确定性;2)与人工神经网络应用方式相似,在确定网络结构之后不再需要人工干预,可通过网络的训练实现对不同信号的自学习诊断,具有很强的通用性和实用性。
在基于DBN的故障诊断技术研究中,根据数据训练特点不同,可分为监督学习(supervised learning)、半监督学习(semi-supervised learning)和无监督学习(unsupervised learning)3种方式。其中:监督学习是指训练数据中包括了分布标识为正常和异常(或故障分类)的样本数据;半监督学习是指训练数据中只有标识为正常的样本数据,没有标识为异常(或故障分类)的数据;无监督学习是指训练数据不做任何标识。目前基于DBN的故障诊断研究成果集中在监督学习方面[10]。但是,在航空、航天等高可靠性要求的工程领域,通过试验获取明确标识为故障的数据往往成本很高,但获取设备的正常状态数据则相对容易,因此半监督深度学习的故障诊断方法具有很高的应用价值。
本文提出了一种基于改造DBN的故障检测方法,在利用DBN自动提取特征的能力的同时,结合了SVDD异常检测方法,实现了半监督学习的故障检测算法。经过标准轴承故障振动实验数据的分析应用,故障识别率为100%的结果,效果十分理想。
DBN是一个概率生成模型,由多个限制波尔兹曼机(RBM,restricted boltzmann machine)堆叠而成。其核心就是用逐层贪婪学习算法去优化深度神经网络的连接权重,即使用无监督学习方式进行逐层训练,有效提取测量信号中的特征。DBN的一般结构是在堆叠RBM之后增加相应分类器,如图2所示,通过带标签的样本数据进行反向传播(BP,Back Prorogation)的微调,这种方式与传统BP神经网络的微调方式相同,用于优化DBN 的诊断分类能力。
图2 DBN的一般结构
本文提出的方法对DBN的结构进行了改造,在堆叠RBM之后不再连接分类器,而是连接基于SVDD的异常检测器,从而实现故障的检测。下面将依次介绍本算法中的RBM及DBN结构、故障特征的提取、异常检测算法等进行介绍。
1.1 RBM原理
RBM模型是的基于能量的神经网络,由一个可视层V与一个隐含层H组成,如图3所示。
图3 受限波茨曼机RBM结构
图3中可视层V=(v1,v2,…,vn),隐含层H=(h1,h2,…,hm),其能量函数定义:
(1)
式中,αi为可视层第i个单元的偏置,bj为隐藏层第j个单元的偏置,Wij为可视层第i个单元与隐藏层第j个单元的连接权重。
由式(1)可得到可视层V和隐含层H之间的联合分布概率为:
(2)
其中:
(3)
由可视层V与隐藏层H的联合概率分布定义和各隐藏节点间的条件独立可求得,在给定的可视层节点状态的基础上,隐藏层第j个节点hj被激活的概率为:
(4)
由式中激活函数σ(x)选用Sigmoid函数。同时,可视层第i个节点vi被激活的概率为:
(5)
RBM 的本质就是使得训练后的模型与输入样本分布相符合的概率最大,即在给定训练数据的情况下,通过调节相应的参数使得式(5)的概率值能达到最大。通过使用极大似然估计可对式(2)两边执行随机梯度下降法,但直接计算式(4)和(5)式将导致训练时间非常长。为此Hinton[11]提出利用对比散度(Contrastive Divergence,CD-k)准则,在保持精度的同时能快速收敛。
1.2 基于RBM堆栈堆叠的特征自动提取
DBN的特征自动提取功能由RBM堆叠结构完成。如图4所示是一个三层的DBN网络,其特征提取功能由两个RBM堆叠结构完成,即第一层神经元和第二层神经元组成第一个RBM,第二层和第三层组成第二个RBM。原始信号输入经过无监督预训练后的RBM堆叠结构进行前向传输,其输入就是该信号的特征向量,可作为分类器或异常检测器的输入做进一步处理。从该过程可以看出,首个RBM的输入层节点数有原始信号的维数决定,而最后一个RBM的输出层节点数由要提取的特征点维数决定。
图4 DBN结构及预训练
DBN与其它神经网络相比其主要特点就在于对RBM堆叠结构无监督预训练,通过依次对多个RBM进行前向传递、反向重构可视层、权重更新的过程使得其最大似然于输入信号,实现了用多层次深度特征表达输入信号,从而实现特征的自动提取。
1.3 SVVD异常检测算法
支持向量数据描述(SVDD,support vector data description)是一种异常检测方法, 其基本原理是通过非线性映射Ø将原始训练样本xi映射到高维内积空间,在其中寻找一个包含全部或大部分被映射到特征空间的训练样本且体积最小的超球体(最优超球体)的内积空间[12]。新样本点检测时通过Ø映射在内积空间中的像如果落入最优超球体内, 则该样本被视为一个正常点;否则,视为一个异常点。SVDD已成功应用于数据库中检测异常样本、高光谱遥感成像的异常检测、如泵故障检测等方面[13-15]。
对于已知训练样本集x,SVDD方法就是求球体的球心a和半径R,求得以下最优化解:
(6)
其中:ξi是一个松弛变量, 它允许异常点进入目标数据集的可能. 常数C控制球体体积与错误率之间的折衷。引入拉格朗日乘子αi,γi构造拉格朗日函数,
L(R,α,ξi,αi,γi)=R2+C∑iξi-
∑iαi[R2+ξi-(xi-α)·(xi-α)]-∑iγiξi
(7)
令L关于R,a和ξi的偏导数全为0, 分别得到以下约束条件:
(8)
将式(8)代入式(7), 得到优化问题(6)式的对偶问题:
(9)
求解(9)的最优化问题,可求得ai,球的半径R为球心a到任何满足0<αi (10) 则点z在球内属于正常点,否则判定为异常点。 SVDD方法可采用不同的满足梅斯定理的核函数K(xi·xj)代替xi·xj以利用核函数非线性特性。本文采用径向基核函数将目标数据映射到特征空间中的有界球形区域内,将异常样本映射到该球形区域的外部。 本文提出的方法,将DBN中RBM堆栈与SVDD异常检测器结合,从而实现了基于深度学习的故障检测方法,其网络结构如图5所示。 图5 DBN-SVDD故障检测器结构 该方法利用DBN高层次的特征提取能力,能够增强输入数据的区分能力,削弱输入数据的不相关因素。DBN-SVDD故障检测模型将多个数量的RBM 和SVDD故障检测器结合,通过设置一定的层数和隐含层单元数目能够在提取高层次特征,再将特征值输入到SVDD异常检测器中进行判读,从而实现故障的检测。 DBN-SVDD方法的应用主要包括DBN参数设置、DBN预训练、SVDD参数拟合、故障判定估计等步骤, 如图6所示,具体包括: 1)DBN参数设置:根据DBN模型的一般应用方法设定相关的参数,根据输入信号数量确定输入层即可视层节点数量,确定网络层数,确定每个RBM的学习率、最大选代次数和各隐含层节点数等。 2)DBN 预训练:使用逐层贪婪算法去逐层训练每个RBM,即将训练完的低一层RBM 输出作为未训练的高一层RBM 输入,依次训练,直到最后一个RBM训练完成。此时,最高层节点输出即可视为对输入信号提取的特征。 3)SVDD模型参数拟合:DBN的输出特征值作为样本数据,用于拟合SVDD模型的参数,计算其超球体中心a和半径R,指定允许误差范围等其它参数,建立SVDD异常检测判定模型。 4)故障检测:待检测样本作为输入值通过DBN前向计算得到特征值,再输入SVDD异常检测模型进行判定,如异常则判定为故障。 图6 DBN-SVDD故障检测流程 3.1 实验数据 本文使用的数据集为美国凯斯西储大学电子工程实验室采集和公布的旋转轴承数据[16],测试轴承安装在两个马达驱动的机械系统上。该实验装置可通过固定在电机驱动端轴承上方机壳上的加速度传感器采集振动数据,以12 kHz的采样频率在4种不同的负荷下采集数据。 本文选取了该实验室发布的4个数据集合,分别为轴承的正常状态和内圈裂痕深度分别为0.07英寸、0.14英寸、0.21英寸等3种故障状态数据,每个数据集合截取长度为102 400个样本。将这4种原始振动信号按窗口长度128进行划分,每种数据均包含800组数据。其中正常状态数据随机选取70%作为训练样本,剩余30%作为检测样本。因本方法为半监督学习方法,只实现故障检测而不进行分类,因此其余3种共2 400组数据均作为检测数据。 表1 实验数据情况表 试验数据原始信号时域波形见图7。 图7 实验数据原始信号时域幅值波形 由于RBM模型的输入范围为[0,1],因此对各组数据进行线性归一化变换使其范围满足输入要求。与其它故障诊断方法必须通过信号变换提取特征不同,本方法只需对原始信号进行线性归一化处理,而无需其它更多的信号处理。线性归一化处理后的试验数据时域波形如图8所示。 图8 实验数据归一化信号时域幅值波形 3.2 DBN网络预训练与SVDD模型拟合 在获取归一化试验数据之后,按图6所示流程完成参数设置、DBN网络训练和SVDD模型拟合。 本次实验的DBN网络采用3个RBM堆栈即4层网络结构。根据信号分组情况,每一组样本长度为128,所有第一层可视层单元数目为128,其余3层单元数目分别选择为1000、500、500,预训练次数为100,RBM学习率为0.05,采用表1中N0数据集对网络进行预训练,其重构误差曲线如图9所示。 图9 RBM堆栈结构预训练误差曲线 由图9的迭代训练误差曲线可知,此网络在经过36次训练之后时其重构误差已经无明显变化,说明算法收敛并且网络结构、参数设置与训练样本的匹配度较好。 本次实验的SVDD模型选用径向基函数RBF作为核函数,分布参数sigma选择为0.1,样本允许误差范围nu设置为0.05。将表1中N0数据集,通过预训练完毕的DBN网络进行前向传递,得到输出特征值训练样本,完成SVDD模型的拟合。 3.3 结果分析 完成DBN网络训练和SVDD模型拟合之后,可按图5所示的故障检测流程开展实际信号故障检测应用。依次将表1中所有数据集输入DBN网络进行前向传播,将DBN输出的特征值输入异常检测器中进行判定,结果如表2所示。对于训练样本N0进行故障检测是出现了5%的虚警率,这与SVDD模型中允许误差范围参数nu设置为0.05一致,说明SVDD模型拟合正确,正常数据集N1出现了5%的虚警率也是同样原因造成。为避免SVDD故障检测模型出现过拟合,其nu不宜设置过小,由此带来的虚警现象从理论上来说不可避免,但其值是预先可知的。在实际工程应用中可为报警数据再专门增加一个小nu值异常检测器环节,进一步筛选数据以降低虚警率。 表2 实验数据故障检测结果表 故障数据集F1、F2、F3的故障识别率均为100%,效果十分理想。 本文提出的基于深度学习的半监督故障检测方法,利用DBN网络对高层特征自动提取的能力,结合SVDD异常检测模型实现了故障的实时检测。在对标准轴承故障实验数据验证中,该方法实现了100%的故障判别率,效果十分理想。 本文提出的方法在工程应用中还具有以下优势:1)只需提供正常工况数据作为训练样本,无需故障数据样本,样本数据获取比较方便;2)无需应用领域专家选择故障特征和信号处理专家编制特征提取算法,而由DBN网络自动提取,技术门槛大幅度降低;3)该方法还具备普适性,可广泛应用到各种信号的故障检测当中,可推广至航空、航天、高铁等具备实验大数据条件的系统的故障检测应用。 深度学习可以从各类试验数据中直接挖掘有价值信息,后续将针对大型复杂系统普遍采用的多传感器监测方式,利用深度学习方法进行多源信息融合的故障诊断技术研究,进一步拓展基于深度学习的故障诊断技术应用深度和范围。 [1] 傅建中. 智能制造装备的发展现状与趋势[J].机电工程, 2014 , 31 ( 8) :959-962. [2] 叶银忠,潘日芳,蒋慰孙. 动态系统故障检测及诊断方法[J].信息与检测, 1986,15(6):27-34. [3] 李 睿,郭迎清,吴文斐. 航空发动机传感器故障诊断设计与验证综合仿真平台[J]. 计算机测量与控制,2010, 18(3). [4] 吴明强,史 慧,朱晓华,等. 故障诊断专家系统研究的现状与展望. 计算机测量与控制,2005(13):12. [5] 彭 宇,刘大同. 数据驱动故障预测和健康管理综述[J]. 仪器仪表学报, 2014,35 (3) : 481-495. [6] 王国彪,何正嘉, 陈雪峰,等. 机械故障诊断基础研究何去何从 [J] . 机械工程学报, 2013, 49 (1): 63-72. [7] Bengio, Yoshua, Hinton G E. Deep learning [J]. Nature, 2015,521(14539): 436-444. [8] Bengio Y. Learning deep architectures for AI, Found. Trends Mach Learn,2009, 2(1):1-127. [9] Liu Y, Zhou S, Chen Q. Discriminative deep belief networks for visual data classi?cation [J].Pattern Recognition,2011,44(10): 2287-2296. [10]葛强强. 基于深度置信网络的数据驱动故障诊断方法研究[D]. 哈尔滨:哈尔滨工业大学, 2016. [11] Hinton G E,Osindero S,Whye Y. A fast learning algorithm for deep belief nets [J].Neural Computation,2006(18) : 1527-1554. [12] Tax D, Duin R. Support vector data description [J]. Mach Learn, 2004, 54 (1):45-66. [13] Banerjee A, Burlina P, Diehl C. A support vector method for anomaly detection in hyperspectral imagery [J]. IEEE Trans. on Geoscience and Remote Sensing, 2006, 44(8):2282-2291. [14] 黄光鑫. 支持向量数据描述与支持向量机及其应用[D]. 成都:电子科技大学, 2011. [15] Lee S, Park J, Lee S. Low resolution face recognition based on support vector data description [J]. Pattern Recognition, 2006, 39 (9):1809-1812. [16] The Case Western Reserve University Bearing Data Center[EB/OL].URL , http://csegroups.case.edu/bearingdatacenter/home. FaultDetectionMethodBasedontheDeepBeliefNetwork Wu Kui1,Wang Xianyong1,Sun Jie1,Huang Yulong1,2 (1.Beijing Aerospace Measure & Control Corp.,Ltd., Beijing 100041, China;2.Beijing Key Laboratory of High-speed Transport Intelligent Diagnostic and Health Management, Beijing 100041, China) This paper presents a semi-supervised fault detection method based on deep learning framework, which utilizes the stack of Restricted Boltzmann Machines in Deep Belief Network to abstract high-level features from original signal data automatically, and apply Support Vector Data Description model to implement fault data detection. This method only needs normal status data as training samples and no any labeled fault data is required. Meanwhile, real-time detection and auto-recognition of fault data can be carried out without expert intervention. As result, the fault recognition rate achieves 100% in treating the standard bearings experiment data, which shows a significant effect and strong application value. deep learning; deep belief network; fault detection 2017-08-16; 2017-08-27。 吴 魁(1977-),男,江西南昌人,研究员,主要从事数据处理、故障诊断方向的研究。 1671-4598(2017)10-0043-05 10.16526/j.cnki.11-4762/tp.2017.10.012 TP311 A2 DBN-SVDD故障检测算法
3 实验及分析
4 结论