基于堆叠降噪自编码的给水泵轴承故障诊断
2021-07-14程德权
韩 辉,程德权,徐 赫
(沈阳理工大学机械工程学院,沈阳 110159)
0 引言
给水泵是电厂锅炉供水系统中十分重要的设备。随着社会发展进步,工业生产和日常生活对用电的需求大大提高,这就迫使电厂锅炉必须维持长时间的运行,并且对其强度的要求也超过了以往,这也进一步导致水泵出现故障问题的概率明显增高了。电动给水泵组由给水泵、液力耦合器、电动机3部分组成,通过液力耦合器来驱动给水泵的转动,水泵两侧由轴承支撑。根据某电厂采集到的数据发现,给水泵发生故障大部分都是出现在轴承上,所以有必要对水泵轴承进行故障诊断。基于人工智能的故障诊断方法,已经广泛应用于旋转机械的故障诊断并取得了较好的效果[1]。
传统的数据驱动方法通常先尝试设计一组合适的特征,然后将它们放入一些浅层的机器学习模型中,如贝叶斯网络、支持向量机(SVM)。Samanta[2]提取了轴承健康状况的时域特征,并比较了采用粒子群优化算法优化的神经网络和支持向量机的诊断结果;袁胜发等[3]通过对传统支持向量机的研究,在其基础上添加了一种网格多分类算法,并且将这种新型的支持向量机应用于涡轮泵试验台多故障诊断中,得到了很好的准确率。但是这些工作通常侧重于手动特征提取(统计特征、频率和时间-频率特征),这些特征总是需要大量的人力。同时,这些特征的选择离不开专业知识,所以对人的专业技能有很大要求。
最近几年,深度学习快速发展,应用深度学习方法的特征学习在机器学习领域中激发了人们研究学习的兴趣。深度学习,也叫做深度神经网络(Deep neural net⁃work,DNN),是在机器学习的基础上演变的一种新的特征学习方法,具有多层隐含表示层。这种复杂的深层结构与简单的浅层结构比起来,能够学习具有多级抽象的复杂原始数据的表示,这使得其可以很容易地提取用于构造分类器或预测器的有用特性[4-6]。堆叠自编码(Stacked auto-encoders,SAE)网络由RANZATO等[7]提出,是深度学习领域中的一种具有代表性的网络结构模型,经过试验与验证,已经证明了该网络模型的优异性,目前在图像分类及故障诊断等领域应用非常成功。比如郭亮等[8]提出了一种基于SAE网络的滚动轴承故障方法,该方法从测得的轴承故障信号中提取出时域、频域和时频域多种特征,之后将这些提取到的特征输入到SAE网络中学习,得到了很好的分类识别效果,证明了SAE网络的优越性。Zhou Xiang等[9]针对滚动轴承在转速和载荷均发生变化时的故障诊断,提出了一种基于Tea⁃ger计算顺序谱(TCO谱)和堆叠自动编码器(SAE)的诊断方法。诊断结果表明,无论转速和负载如何变化,该方法都能够自适应地从滚动轴承的振动信号中学习特征。
SAE网络能够很好地从数据中提取有用的特征,但是SAE网络有一个明显的缺点,就是只在训练集上简单地对输入数据进行还原重构,这样学习得到的特征泛能力不高[10]。因此VINCENT等[11]提出一种SDAE网络模型,DAE以一个被破坏的数据版本作为输入,对原始输入进行重构或去噪,这不仅防止AE简单地学习输入与重构输出之间的身份映射,而且可以从有噪声的数据中捕捉到更有效的表示。与SAE相比,学习到的特征具有更好的鲁棒性。王丽华等[12]提出了一种新的工具磨损状态识别方法,该方法基于堆叠式降噪自动编码(Stacked de-noising auto-encoders,SDAE),通过测得的工具声发射信号输入到内置的SDAE神经网络中进行学习,并对自编码网络进行监督和微调,以实现对工具磨损状态的准确识别。YU[13]提出了一种具有负相关学习的选择性堆叠去噪自编码器(SDAE)用于齿轮箱故障诊断,该方法从振动噪声信号中提取出了有效的故障特征,并且建立了可靠的故障诊断模型,从而取得了更好的故障诊断准确率。
相对于锅炉、汽轮机这些大型设备来说,电动给水泵这类设备并没有被给予足够的重视,是设备状态监测的薄弱环节。某电投电力集团公司2013—2018年机组非停机事故共64次,其中因电动给水泵的转子不平衡振动故障、轴承故障、电机故障和液力耦合器故障等导致的非停机事故达27起,占42.18%,最多的还是轴承故障。所以有必要对电动给水泵的轴承进行故障监测与诊断。实际工作环境中,电动给水泵工作采集到的数据中,测得的信号会有噪声干扰,目前没文献对给水泵轴承提出故障诊断方法,并且没考虑实际环境的噪声,因此本文提出了一种基于SDAE网络的水泵轴承故障诊断。本文实验数据来自美国凯斯西储大学(Case Western Reserve University)轴承数据库,根据轴承的故障类型制定标签,搭建SDAE网络,网络的输入向量为测得的轴承振动时域信号,通过SDAE网络实现了对轴承故障类型的识别。
1 算法介绍
1.1 自编码器原理
自动编码器(AE)是Rumelhart[14]提出的一种典型的单隐层神经网络。因为这个网络使输入和输出尽可能一致,在这种情况下,隐含层特征提取和参数学习以无监督的方式实现,被称为AE。在AE结构中,神经元在输入层和输出层拥有相同数量的数据。自动编码器网络结构示意图如图1所示。
图1 自编码网络结构
自编码网络各神经元采用全连接的方式将输入向量X=(x1,x2,…,xn),经过加权求和,然后加上偏置后通过激活函数,得到隐藏层的编码向量Y=(y1,y2,…,ym);编码向量通过解码网络重新映射到输出向量;最后要保证输入、输出层尽可能相似,即以重构误差最小为目标对权值和偏置进行调整优化。自编码网络的数学表述如下:
式 中:Wa∈Rn×m、Ws∈Rm×n、ba∈Rm、bs∈Rn为 权 值 和 偏置;σa(∙)、σs(∙)为激活函数。
1.2 降噪自编码
在实际应用中,由于环境原因,会有噪声混入到训练样本数据中,从而导致数据的真实性不高。因为噪声的原因,通过自动编码器得到的特征就会产生误差。降噪自编码器(denoisingauto-encoder,DAE)[15]就是为了要消除这种噪声的干扰而被提出来的,结构如图2所示。通过对数据样本人工加噪声后再输入到DAE网络,通过隐含层的提取还原,尽可能消除噪声的干扰,还原出同原始样本相同的数据[16]。
图2 降噪自编码网络结构
在训练样本x中加入将随机分布噪声qD,其表达式如下:
式中:x͂为加入噪声后的样本;qD为二项分布随机噪声。
DAE通过在训练样本中加入随机噪声,这样自动编码器必须学习去除噪声以获得真正的没有被噪声污染的原始信号特征,从而使系统具有更强悍的泛化能力。
1.3 堆叠降噪自编码
想得到更好的特征表达,SDAE可以将多个DAE编码器部分在每一层叠加,将上一层隐藏的降噪编码器作为下一层的输入,形成一个由多个DAE上下连接而成的模型结构[17]。图3所示为SDAE网络结构图。网络结构分为有监督与无监督网络,SDAE网络结构属于后者即无监督网络,这就使得其本身没有办法进行样本区分,为了实现样本分类这个功能,本文在SDAE网络的最后1层加入1个Softmax分类器[18],使整个网络成为有监督的网络。
图3 SDAE结构
2 轴承故障诊断网络的搭建
基于SDAE的轴承故障诊断流程如图4所示。
图4 SDAE故障诊断流程
训练和测试算法流程如下:
(1)从西储大学轴承数据库中获取数据,经过数据预处理,将处理好的时域信号作为SDAE网络的输入;
(2)参数设置,设置诊断网络的网络层数以及各项参数;
(3)SDAE训练,训练分两部分,先训练DAE,训练好之后保存DAE模型,接着训练SDAE网络;
(4)训练好之后输出诊断结果。
3 故障诊断试验与分析
3.1 试验数据
本次试验数据来自美国凯斯西储大学(Case West⁃ern Reserve University)轴承数据库,图5所示为实验装置,结构有3部分,分别为电机、扭矩传感器、功率计。实验中为了模拟轴承故障,通过使用电火花人工添加故障,分别在轴承滚动体外圈、内圈上加工了3种不同故障尺寸(0.17 mm/0.35 mm/0.53 mm)来代表轴承不同的故障程度。将振动加速度传感器分别安装在风扇端、电机驱动端和基座,用来采集振动信号,采用的传感器的采样频率为12 000 Hz。轴承转速为1 797 r/min,电机负载为0。驱动端模拟水泵吸入侧,风扇端模拟水泵吐出侧。所有数据文件都是Matlab(*.mat)格式。其中:DE为驱动端传感器数据,FE为风扇端传感器数据,BA为基座传感器数据。故障模拟类型如表1所示。
图5 试验装置
表1 故障模拟类型
3.2 数据预处理
以被侧轴承旋转一圈传感器采集的样本量nc作为一组数据,样本量的大小与传感器采样频率fs和转速m相关,其计算公式为[19]:
经计算,轴承旋转一圈传感器采集400个点。将n行1列的基座振动故障数据转换为[n/400,400]的矩阵,其中n为故障数据的样本量,并且在矩阵转换过程中,去掉不足一圈采样点的最后一行。同理,驱动端和风扇端传感器的序贯故障数据进行矩阵变换,以轴承旋转一圈过程中,基座、驱动端和风扇端传感器的样本集作为一个故障样本,可得:
按照上述思路构建11类故障的样本空间,并构建相应的标签矩阵。经过预处理获得的样本空间可以视为以1 200个属性表征故障。将样本的2/3作为训练集,1/3作为测试集。
3.3 网络层数和隐含层神经元节点数对轴承故障状态识别结果的影响
因为经过上面数据预处理,轴承振动信号具有1 200个维度,因此被输入到网络中,SDAE网络输入层中的神经元个数为1 200。由于轴承加工故障状态有11种,因此相应网络的输出层中的节点数设置为11。SDAE网络实质上是将几个DAE网络按照要求进行堆叠的,因此,整个网络的训练效果与网络层数和隐含层神经元节点数有着很大关系。网络提取的最终特征向量由网络层数和隐含层神经元节点数决定,能否恰当选取网络层数和隐含层神经元节点数影响着轴承故障状态识别的精确度。为了得到识别效果最好的网络参数,在其他网络参数(表2)不变的情况下,本文对比了在不同网络结构下轴承故障状态识别的准确率,识别结果如表3所示。由表可知,当SDAE网络具有相同的层数时,网络的测试精度不会随着隐含层神经元节点数的增加而增加。另外,当增加网络层数时,SDAE网络的测试精度并不会提高。其结果表明,SDAE网络的隐藏层神经元节点数和网络层数不是越多越好,而是要选择恰当的。在实验中,网络层数为5层,结构为1200-600-300-150-50-11的准确率最高,所以本次实验选用该种结构。
表2 SDAE网络参数
表3 不同网络结构下SDAE网络识别结果
3.4 网络噪声系数对轴承故障状态识别结果的影响
为了寻找合适的网络噪声系数,本节采用上节中的最优网络结构1200-600-300-150-50-11进行分析,测试结果如表4所示。在对不同噪声系数进行分析时,其他参数保持不变。
表4 不同噪声系数识别准确率及时间
噪声自编码的主要思想是从具有缺陷的原始输入数据中重建或去噪,即在原始输入中添加统计噪声。即,从“受污染”的输入中了解更强大的功能。降噪自编码网络的特定参数旨在控制将输入随机隐藏为零的部分,并确定降噪自编码网络在哪个节点上重构输入数据。当噪声率为0.6时,将随机隐藏60%的输入数据,而40%的节点将重建数据。但是,在实际应用中,大多数隐藏的输入部分小于0.5,因此在此实验中,最大值设置为0.6。随着噪声率的增加,识别率整体上增加。当噪声率为0时,该网络是常规的自编码神经网络。
降噪自编码网络的性能明显优于传统的自编码神经网络。当噪声率达到0.3时,网络性能最佳,识别率也达到最高。训练所需的时间受噪声率的影响,并且随着噪声率的增加而增加。例如,当噪声率为0.3时,训练时间为115 s,而当噪声率为0.4时,时间为125 s。
3.5 批处理大小对轴承故障状态识别结果的影响
批处理大小(Batchsize)在深度学习网络训练中起着重要作用,其表示在训练过程中一次性输入到网络中的样本数量。适当的Batchsize有3个好处:(1)高效的内存利用率;(2)可减少迭代次数和缩短实验时间;(3)在一定范围内,Batchsize越大,引起的训练震荡越小。
本文分别选取不同大小的Batchsize进行SDAE网络训练,为了比较不同Batchsize对网络的影响,在网络结构为1200-600-300-150-50-11的情况下,分别对网络的测试准确率作对比分析,结果如表5所示。由表可以看出,只有当Batchsize为100时,测试准确率才达到了98.6%,在其他情况下准确率均不太高,因此最终选取Batchsize为100。
表5 不同Batchsize识别准确率
综合上述试验,确定的网络最优参数,对轴承故障诊断,得到的准确率以及损失函数如图6所示。由图可知,准确率维持在较高水平,并且误差也比较小。
图6 准确率及损失函数
4 结束语
本文提出了一种基于SDAE网络的水泵轴承故障诊断方法,该方法以西储大学轴承实验装置模拟实际水泵吸入侧和吐出侧轴承发生故障的情况,并考虑到实际水泵工作现场有环境噪声干扰的可能,将测得的模拟信号经过数据预处理直接输入到SDAE网络中,得到了较高的测试准确率,能达到98.5%。同时该方法克服了传统方法通常侧重于手动特征提取的缺点,节省了时间,提高了诊断准确率。
由于SDAE网络的几个关键参数对其网络性能有影响,因此分别比较了不同网络结构、噪声系数和批量大小,从而确定了最优组合。从实验结果中可以得出,网络结构以及神经元节点数并不是越复杂网络效果就越好。网络太复杂可能导致网络陷入局部最优导致过拟合;当噪声系数设置太大时,网络就很难从被破坏的数据中恢复原始数据,会导致准确性大大降低;选择合适的批次大小可以使网络快速收敛,获得最高的识别准确率。