深度置信网络在齿轮故障诊断中的应用

2019-02-25 08:56陈保家刘浩涛陈法法肖文荣赵春华
中国机械工程 2019年2期
关键词:隐层正确率齿轮

陈保家 刘浩涛 徐 超 陈法法 肖文荣 赵春华

1.湖北省水电机械设备设计与维护重点实验室(三峡大学),宜昌,4430022.湖北特种设备检验检测研究院宜昌分院,宜昌,443002

0 引言

作为机械传动系统的关键一环,齿轮传动系统若发生故障,极易引发整个机械系统瘫痪,从而影响正常的生产活动。作为旋转机械中最为常用的传动形式,齿轮传动系统也最容易发生故障和失效。由于需要诊断的装备量大面广、每台装备测点多、数据采样频率高、装备服役时间长,故海量的诊断数据被获取,从而推动故障诊断领域进入了“大数据”时代[1]。针对故障诊断大数据多样性、非线性、高维性的特点,利用先进的理论方法,从大数据中挖掘信息,高效、准确地识别装备健康状况,成为机械装备大数据健康监测面临的新问题。2006年,Hinton等[2]首次探讨了深度学习理论,开启了深度学习在学术界和工业界的浪潮。自2011年以来,微软研究院先后采用深度神经网络,将语音识别的错误率降低了20%~30%,成为语音识别领域十多年来的突破性进展[3]。

2014年,Google通过建立更深层的模型,将Image Net 图像识别准确率提高到93.3%[4]。2016年,Google 宣布Google Translate新模型上线,利用循环神经网络,将翻译结果与人类翻译准确率的差距缩小了55%~85%,相比谷歌已经投入生产的基于短语的系统,翻译误差平均降低了60%[5]。显然,深度学习已成为大数据分析的一种重要手段,研究并利用先进的深度学习理论,从机械故障大数据中高效、准确地挖掘故障信息,已成为当下机械智能故障诊断的一种主流趋势。雷亚国等[6]分析了机械智能故障诊断大数据的特点,从信号获取、特征提取、故障识别与预测3个环节,综述了机械智能故障诊断的国内外研究进展和发展动态。FENG等[7]提出了一种深度归一化卷积神经网络(deep normalized convolutional neural network,DNCNN)框架,克服了卷积神经网络健康状况分配不平衡和特征提取模糊等问题。JING等[8]针对传统特征提取方法存在的缺陷,提出了基于卷积神经网络的故障诊断方法,并用实验数据验证其具有良好的诊断效果。朱乔木等[9]将深度学习方法引入电力系统暂态稳定评估,提出了一种深度置信网络(deep belief network,DBNs)的暂态稳定评估方法。王丽华等[10]利用堆叠降噪自编码方法提取信号特征,结合Softmax分类器,实现了高效准确的电机故障诊断。曹玉良等[11]利用基于自动编码器构建的深度学习模型,对离心泵的4类空化状态成功进行了分类识别。

深度学习理论较传统诊断方法有以下优势:①通过组合低层特征形成更加抽象的深层特征,能从大数据中自动提取特征,减少了对专业知识和先验知识的依赖;②模拟大脑的深层组织结构,建立深层模型,高效表征信号与健康状况之间复杂的映射关系。本文基于深度学习理论,提出了一种基于深度置信网络的齿轮故障诊断方法。

1 基于深度置信网络的故障诊断原理

深度置信网络既可以用于非监督学习,类似于一个自编码机;也可以用于监督学习,作为分类器来使用。非监督学习目的是尽可能地保留原始特征的特点,同时降低特征的维度。监督学习的目的在于使分类错误率尽可能地小。不论监督学习还是非监督学习,DBNs的本质都是 Feature Learning 的过程,即如何得到更好的特征表达。

1.1 DBNs网络结构及训练过程

DBNs网络由多层限制玻尔兹曼机(restricted boltzmann machine,RBM)堆叠而成,图 1为一个由3层RBM堆叠而成的DBNs,由于网络分类输出层不在RBM网络之内,故将该DBNs网络视为4层的DBNs网络,网络框架可简易表示为N-n1-n2-n3,即数据输入层点数为N,一、二、三层隐层神经元数目分别为n1、n2、n3。

图1 DBNs网络结构Fig.1 DBNs network structure

在RBM中,任意两个相连的神经元之间有一个权值w表示其连接强度,每个神经元自身有一个偏置b和c来表示其自身权重。则可用以下函数表示一个RBM的能量[12-13]:

(1)

式中,Wij为权值矩阵W的元素;n为可见层单元数;m为隐层单元数。

在RBM网络的训练过程中,会用到对数似然函数:

(2)

θ={W,a,b}

式中,W为权值矩阵;a为隐层偏置量;b为可见层偏量。

在RBM中,样本真实的分布和RBM网络表示的边缘分布的KL距离就是两者之间的差异性,样本的真实分布与RBM网络表示的边缘分布的KL距离为

(3)

要使KL距离最小,就要求lnp(x)的值最大,即输入样本的最大似然估计最大:

(4)

根据计算结果,分别对w、b、c求导,有

(5)

(6)

(7)

DBNs提取故障特征的过程见图2。

图2 DBNs逐层特征提取过程Fig.2 DBNs layer-by-layer feature extraction process

1.2 DBNs故障诊断流程

利用DBNs对故障数据集进行特征提取的过程,实际上就是利用DBNs网络对数据集进行无监督预训练、得到高层特征的过程,在预训练过程中没有用到任何标签信息。在多个RBM逐层训练完成后,通过BP算法对整个网络通过交叉熵共轭梯度下降算法进行微调,确定各层之间的权值和偏置量[14-15]。基于DBNs算法的整个故障诊断流程见图3,其具体过程如下。

图3 DBNs故障诊断模型Fig.3 DBNs fault diagnosis process

(1)收集故障数据,构建数据集,在DBNs预训练之前对备用数据集进行归一化处理,并将其赋值给DBNs网络的v1层,即第一层显层。

(2)初始化DBNs网络参数,包括网络层数L、各层网络神经元数目h(l)、学习率ε、权值矩阵W(l)和偏置向量b(l)。

(3)利用v1层数据计算隐层中每个神经元被激活的概率,从被激活的概率分布中采用吉布斯采样定理随机抽取一个样本,得到第一层RBM的隐层h1。

(4)利用h1层数据反推显层,计算v1层中每个神经元被激活的概率,采用吉布斯采样定理,从被激活的概率分布中随机抽取一个样本以重构RBM的显层v1。

(5)利用v1层数据反推隐层,计算h1层中每个神经元被激活的概率,从被激活的概率分布中采用吉布斯采样定理随机抽取一个样本以重构RBM的显层h1。

(6)通过上述步骤,第一层RBM已经训练完成,将第一层RBM的隐层h1作为第二层RBM的显层v2,即v2←h1,然后重复步骤(3)~(5),直至所有RBM网络预训练完成。

(7)所有RBM网络预训练完成后,在最后一层RBM后面接入分类输出层,然后利用BP算法进行反向微调,完成整个DBNs网络的训练。

(8)在整个DBNs网络的训练完成之后,输入待诊断故障样本,利用softmax分类器对输入数据进行故障分类。

2 齿轮故障实验及诊断实例

2.1 齿轮故障实验过程

从基于DBNs的特征提取过程可以看出,DBNs网络的第一层是数据层,所以构建合理的数据集对提高故障识别能力至关重要。本文中用于DBNs网络的数据来源于实验室齿轮模拟故障试验台,数据集分为训练集和测试集。试验平台系统主要包括驱动电机、传动轴、齿轮减速箱、加载系统、直流调速系统、传感器、CA-1型电荷放大器、CDSP数据采集仪、若干信号传输线和用于实时监测的计算机组成,见图4、图5。测试信号为齿轮振动加速度信号,为有量纲数据,采样频率fs=10 kHz。

图4 实验系统简易示意图Fig.4 Simple schematic diagram of experimental system

图5 加速度传感器的布置Fig.5 Acceleration sensor distribution

齿轮箱是由三轴式二级变速器组成的,输入轴与输出轴上齿轮均为正常齿轮,中间轴上齿轮为二联齿轮(大直齿轮,齿数为64,模数为2 mm)和三联齿轮(小直齿轮,齿数为40,模数为2 mm),上面布置有各种齿轮故障,见图6,故障的变换由齿轮箱前后两个换挡手柄调节。

图6 中间轴故障齿轮分布情况Fig.6 Intermediate shaft fault gear distribution

测试所得的齿轮振动信号共分为3种转速nr(400 r/min、700 r/min、1 000 r/min)、7种状态(剥落、点蚀、断齿、裂纹、磨损、偏心、正常),其中,转速为400 r/min的齿轮各状态的时域、频域信号见图7。为了检验DBNs在不同数据条件下的诊断结果,构建后的数据集主要分为两种,第一种为直接截取(截取点数为2048)原始时域信号构成的时域数据集;第二种则是将时域信号进行FFT变换后得到的频谱(点数为1 024)构建而成频谱数据集,其中,训练集样本数为6 000,测试集样本数为1 000。将实验数据集导入DBNs网络之前,需对数据集进行整体归一化处理。

图7 齿轮振动时域、频域信号(nr=400 r/min)Fig.7 Gear vibration time domain signal(nr=400 r/min)

图8 齿轮故障数据集构建过程Fig.8 Gear fault data set construction process

2.2 齿轮故障诊断实例

在构建DBNs网络时,需要定义网络的深度L(RBM层数),每层RBM的神经元数目n,学习率ε以及对应的权值W、b,除了权值会不断更新外,其他参数都是固定不变的。因此,在构建DBNs网络的过程中,需要选择合适的网络深度L、隐层神经元数目n和学习率ε,以尽可能提高故障识别正确率。设转速为nr,采用单一变量法分别研究网络框架参数L、n、ε对故障识别结果的影响(图9~图11),所用数据集为齿轮故障信号频谱数据集。

从图9中可明显看出,当DBNs网络层数为3(即隐层数为2)时,故障识别正确率最高,并且随着网络隐层数的增加,DBNs故障识别正确率整体呈下降趋势。这是因为在理论上,只有当训练数据集足够大时,深度学习网络的深度越大,故障识别的效果才会越好,而本文所用训练数据集有限,当网络层数为3时就完成数据的充分学习,当网络层数继续增加时,则会出现过拟合现象,导致故障识别正确率降低,另外,网络的识别率不仅与网络层数有关,而且与训练算法、神经元个数、学习率等因素有关。为了研究隐层神经元数目对DBN故障识别正确率的影响,下文将分析当DBNs网络层数为3时,隐层神经元数目对故障识别正确率的影响。将两层隐层神经元数目设置成相等的数目,以便于分析。

图9 不同网络层数对应的故障识别正确率(隐层神经元数目均为100)Fig.9 Corresponding fault identification accuracy of different network layers

从图10中可以看出,当隐层神经元数目在50~300之间变化时,DBN故障识别正确率稳定在95%~98%之间,并且未出现明显增大或减小的趋势,可见隐层神经元数目对网络故障识别正确率的影响很小。下面分析当DBN网络层数为3、网络框架为1024-100-100时,学习率对故障识别正确率的影响。

图10 不同隐层神经元数目对应的故障识别正确率Fig.10 Corresponding fault identification accuracy of different hidden layer neurons

从图11中可以看出,当学习率ε=0.2时,DBN网络的故障识别正确率最高。虽然学习率在0.1~1之间变化时,DBN网络故障识别正确率的变化很小,但随着学习率的增加,DBN网络故障识别正确率依然出现了缓慢下降的趋势,由此可见,学习率的大小在一定程度上会影响DBN网络的故障识别正确率。

图11 不同学习率对应的故障识别正确率Fig.11 Corresponding fault recognition accuracy rates for different learning rates

由图9~图11的分析结果,确定了适用于齿轮振动信号频谱数据集的最优网络层数为3,最优学习率ε=0.2。为了突出DBNs方法的优势,用图5中基于DBNs的故障诊断方法与其他模式识别方法进行对比。实验所用数据为图7中所创建的时域数据集和频谱数据集,各种诊断模型对7种故障数据的判别结果见表1。

表1不同诊断模型的故障识别正确率

Tab.1Faultdiagnosisrateofdifferentdiagnosticmodels%

模型转速(r/min)4007001000时域信号-DBN58.756.552.1FFT-BP79.381.383.9EMD-ApEn-BP81.483.2.684.8FFT-SVM85.887.288.6FFT-DBNs99.099.899.7

表1中的第一种方法为直接用本文所述的DBN故障诊断方法对齿轮的原始时域振动信号进行故障诊断,所用DBNs网络框架为2048-100-100,学习率ε=0.2;第二种方法为先对振动信号进行FFT变换获得信号频谱,再利用BP网络对信号频谱进行故障分类。第三种方法为先对振动信号进行经验模态分解(empirical mode decomposition,EMD),然后利用近似熵(approximate entropy,ApEn)求得分解分量(IMF)的熵值,最后结合BP分类器进行故障诊断。第四种方法为利用支持向量机(support vector machines,SVM)对信号频谱进行故障识别,选用RBF核函数,交叉验证数v=5。第五种方法为用DBN网络对信号频谱进行故障分类,所用DBNs网络框架为1024-100-100,学习率ε=0.2。

从表1中可知,当直接用DBN网络对原始时域信号进行故障诊断时,故障识别的正确率明显偏低,最高不超过60%,达不到故障诊断的要求;当对原始信号进行FFT变换,再进行DBN故障诊断后,故障判别效果有了质的提升,正确率最高达99.7%,并且故障识别能力明显优于另三种机器学习方法,完全满足齿轮故障诊断的需要。为了复现DBNs方法优异的模式识别能力,可使用通用的手写数字标准数据集mnist_uint8进行验证,学习率ε=0.5,迭代次数为100,结果见表2。

表2手写数字识别结果

Tab.2Handwrittendigitrecognitionresult

DBNs网络结构识别正确率(%)784-50-5092.1784-100-10094.0784-100-100-10094.5784-100-100-100-10095.0

3 结论

(1)网络框架参数L、n、ε在一定程度上都会影响DBN网络的故障识别率,其中,网络深度L是最主要的影响因素。

(2)对齿轮原始时域故障信号进行简单的前期处理(FFT变换)后再进行DBN故障诊断,会在很大程度上提高DBN网络的故障识别正确率。

(3)在数据集有限的的情况下,需要选择合适的网络层数,否则当网络层数超出一定值时,DBN网络会出现过拟合现象。

(4)在相同数据集的情况下,DBN网络的故障识别能力明显优于BP网络和SVM的故障识别能力。

(5)本文利用深度学习理论代替了传统的故障诊断方法对齿轮故障进行识别,打破了传统时、频域特征提取的束缚,直接将原始时域振动信号或其频谱作为DBNs网络的显层输入,避免了传统神经网络故障诊断方法繁琐的外部特征提取手段。由于DBNs网络中对比散度算法的优越性,即使网络输入数据量过大,也不会使网络训练时间过长,从而大大节省了网络运行时间。

猜你喜欢
隐层正确率齿轮
基于RTD可编程逻辑门的n变量函数实现算法
一种自适应确定隐层节点数的增量半监督超限学习机算法
个性化护理干预对提高住院患者留取痰标本正确率的影响
东升齿轮
门诊分诊服务态度与正确率对护患关系的影响
一种深度梯度提升回归预测模型
你找到齿轮了吗?
异性齿轮大赏
骑车上班日
基于RDPSO结构优化的三隐层BP神经网络水质预测模型及应用