基于BiLSTM的滚动轴承故障诊断研究
2021-01-16赵志宏赵敬娇魏子洋
赵志宏, 赵敬娇, 魏子洋
(1.石家庄铁道大学 信息科学与技术学院,石家庄 050043;2.石家庄铁道大学 省部共建交通工程结构力学行为与系统安全国家重点实验室,石家庄 050043)
滚动轴承作为机械基础器件在高速动车组、飞机等现代设施,以及风力发电机组、空气压缩机、燃气轮机等大型设备都不可或缺。由于长时间工作在恶劣、复杂的环境中,滚动轴承极易发生故障,为保证机械设备正常运行,对滚动轴承进行故障诊断十分必要[1]。滚动轴承的故障诊断包括两部分:确定故障部位的定性诊断,确定损坏程度的定量诊断[2]。故障位置的定性诊断可以及时对故障部位进行单独的维护和维修,避免整个机械设备受损;损坏程度的定量诊断可以了解轴承的使用情况,在损坏前及时更换,减少损失,避免机械出现事故。
目前众多滚动轴承故障诊断方法中,基于振动信号分析技术的故障诊断方法是使用最多的。滚动轴承故障识别方法一般由特征提取和状态识别[3]两部分组成。传统滚动轴承故障诊断方法主要是从原始输入信号中提取出如峰值、峭度、峰值因子等时域特征、频域特征、时频域特征[4-5],再结合模式识别的方法进行诊断。在传统故障识别方法方面,国内外已经有许多研究成果。徐涛等[6]根据谐波小波包技术分解振动信号数据得到特征能量,利用多类SVM识别故障类型。孟宗等[7]用局部均值分解(LMD)分解故障信号,得到瞬间能量作为故障特征输入,隐马尔科夫模型(HMM)作为分类器进行模式识别。赵志宏等[8]根据EEMD原理,提出将EEMD分解振动信号得到的样本熵作为特征输入,再用SVM识别故障类别。Ocak等[9]用小波包分解技术从正常和故障轴承的振振动信号中提取选定节点能量作为特征,用HMM分类器识别故障类型。Qu等[10]利用双树复小波包变换得到不同频带分量,将分量能量归一化后作为特征输入,用多分类器识别故障类型。
轴承数据每时每刻都在不断增加,形成了庞大的数据,由于传统滚动轴承故障诊断需要人工提取特征向量,依靠专业技术人员手动分析并不现实。深度学习模拟人脑学习的过程,通过构建深层次的模型,能够对输入逐层认知、抽象,进行表征学习,挖掘深层次的内在规律[11-12],利用训练数据不断学习其内在特征,最终得到一个好分类结果。
深度学习的方法既可以用于特征提取,也可以用于模式识别。赵春华等[13]选用降噪自编码器提取信号特征,以WOA-SVM为分类器进行故障诊断。廖宁等[14]先提取瞬时能量作为特征输入,再利用深度置信网络进行分类,实现了滚动轴承故障的诊断。已有研究表明,利用采集的滚动轴承的加速度的幅值作为学习样本,通过神经网络进行特征自提取以及模式识别,可以建立一个有效的端到端的智能滚动轴承故障模型。
用于轴承故障诊断的深度学习神经网络有卷积神经网络、自编码器、循环神经网络等。卷积神经网络在处理图像方面具有一定的优越性,但对于轴承的时域振动信号的处理的表现并不突出;浅层自编码器特征提取能力有限,无法很好地表征特征;循环神经网络具有记忆性,在时序数据处理方面更有优势。长短期记忆网络[15](LSTM)是循环神经网络的一种,在故障诊断方面取得了较好的成果。王鑫等[16]提出了一种基于LSTM的故障时间序列预测方法,省去了人工特征提取的环节,证明其在故障诊断方面的可行性。陈伟[17]提出了一种RS-LSTM的轴承故障诊断方法,取得了优异的诊断精确度。Graves等[18]将BiLSTM模型应用于分类问题,证明在分类问题方面BiLSTM神经网络的效果更好。Zhao等[19]将CNN和BiLSTM结合,提出了一种预测刀具磨损情况的CBLSTM模型,利用CNN提取局部特征,然后用BiLSTM对时间信息进行编码,实验结果表明该模型优于当前的RNN、LSTM等方法。葛瑞等[20]利用BiLSTM提取时空特征的优越性,将其应用到视频行为识别中。本文设计并实现了一种基于BiLSTM神经网络的滚动轴承故障诊断模型,并与其它方法进行了比较,实验结果表明该模型在滚动轴承故障诊断具有一定的优越性。
1 双向长短期记忆网络
1.1 长短期记忆网络
长短期记忆网络是循环神经网络的改进模型,具有循环神经网络的可记忆性优点,能够高效地学习时间序列的非线性特征。并且,由于LSTM的内部结构中隐层节点激活方式非常复杂,通过有选择的记忆,遗忘作用小的信息,记住时间间隔较大处的有用信息,解决了长时间序列的梯度消失和梯度爆炸[21]的问题。LSTM的记忆单元由输入门、输出门和遗忘门三个门结构组成,其网络结构如图1所示。这些门保证了信息能够有选择的通过,而传输单元的状态仅仅由一些线性运算得到,从而保证了信息在传输时的不变性。通过有选择的记忆信息,能够保证有效利用样本数据中的大部分信息,学习其深层特征,进而进行故障诊断。
图1 LSTM的网络结构
在LSTM中,样本数据会经历以下三步:经过遗忘门,决定哪些信息需要保留,哪些信息需要遗忘;经过输入门,实现细胞状态的更新以及确定更新的信息;经过输出门,得到输出信息。
当前样本输入xt与上一序列输出ht-1共同确定细胞状态Ct-1中的哪些信息需要被记忆下来。
ft=σ(Wf·(ht-1,xt)+bf)
(1)
式中:σ为sigmoid激活函数;Wf为权重;bf为偏置。Ct-1表示细胞状态,用来保存前一时刻记忆信息,ft表示遗忘门对细胞状态的遗忘程度。通过输入门决定需要加入到细胞状态的新信息,并且更新细胞状态。
it=σ(Wi·(ht-1,xt)+bc)
(2)
(3)
(4)
ot=σ(Wo·(ht-1,xt)+bo)
(5)
ht=ot·tanh(Ct)
(6)
式中:ot代表输出门的信息输出,ht为隐藏层的输出。同时输出ht也将输入下一个LSTM单元。
其中,sigmoid函数为
σ(x)=(1+e-x)-1
(7)
Tanh函数为
h(t)=σ(W1x(t)+b1)
(8)
1.2 双向长短期忆网络
LSTM神经网络虽然具有记忆功能,能够学习到历史信息,但是其只能学习到前向信息,而无法有效利用后向信息。双向长短期记忆神经网络模型是对LSTM的改进,有效的解决了这一问题,较LSTM学习能力进一步得到提高。BiLSTM结构如图2所示,BiLSTM神经网络有两个方向的传输层,前传层前向训练时间序列,后传层后向训练时间序列,前传和后传层都与输出层连接。
图2 BiLSTM结构图
原始振动信号直接通过输入层将信息输入到BiLSTM网络层,输入的样本信号经过正向LSTM计算得到一个值,同时经过反向LSTM计算得到一个值,传入隐藏层的值由这两个值共同决定。公式如下:
(9)
(10)
(11)
2 基于轴承故障诊断模型设计
传统的轴承故障识别方法都是将源数据预处理,再人工提取时域特征信息或频域特征信息,继而进行模式识别,而故障诊断的准确性主要依靠特征选择和特征提取[22]。利用深度学习理论,将原始振动信号数据直接输入滚动轴承故障诊断模型,而无需人工提取特征。通过人工神经网络学习其深层信息,输出故障类型,实现端到端的智能故障诊断。LSTM网络作为深度神经网络的一种,不仅能够提取特征,而且具有循环神经网络的“记忆功能”,能够克服长期依赖的问题。由于轴承故障诊断数据为时域振动加速度数据,BiLSTM循环神经网络考虑到前向信息的输入的同时也考虑到后向信息的输入,较单向LSTM能更有效的利用振动信号信息。
滚动轴承时域振动信号有一定的周期性,但是由于不同数据正向传递和反向传递的信号数值不尽相同,而BiLSTM能利用双向信息学习其内在特征,从而提高故障识别准确率。基于BiLSTM的滚动轴承故障诊断模型如图3所示。振动数据样本输入到BiLSTM,经由计算前向输出值和后向输出值,二者相加成为BiLSTM隐层的输出,再经过softmax网络层,对样本进行分类。通过网络训练不断优化网络模型参数,最终实现故障诊断。基于BiLSTM的故障诊断步骤:
图3 基于BiLSTM的轴承故障诊断模型
步骤1 获取滚动轴承的时域加速度数据,将不同状态的轴承振动数据截取成固定时间长度的序列,进行统一的标准化预处理,再分别编号。将其划分成训练集和测试集,作为深度神经网络故障诊断模型输入。
步骤2 BiLSTM层初始化权重以及偏置,在训练过程中将训练样本分批次输入网络,选择合适的学习率、BiLSTM单元数等参数以及训练次数。
步骤3 通过BiLSTM层对时序数据进行双向计算,计算值整合后输入到softmax层。
步骤4 Softmax层实现对故障状态的分类,根据样本的输出概率与真实值对比,得出损失率,再根据梯度下降算法不断优化权重以及偏置。
步骤5 达到训练次数后模型训练完成,将测试样本输入模型中,根据建立的模型计算预测分类的输出结果,并与真实的类别作比较,进而计算测试集上的分类准确率。
3 实验验证
3.1 实验数据
实验数据采用美国凯斯西储大学轴承数据中心[23]的SKF型轴承的DE驱动端加速度数据,轴承转速为1 730 r/min,样本采样频率为48 kHz。滚动轴承实验台如图4所示。实验选用轴承单点直径损伤分别为0.177 8 mm、0.355 6 mm、0.533 4 mm的故障。此外,根据损伤部位的不同,分为滚动体、内圈、外圈六点钟方向故障。图5为抽取的部分正常及不同故障状态的样本振动信号。
图4 滚动轴承实验台
实验数据集采用文献[24]的方法,样本共10类,详细数据及标签如表1所示。样本包含9种故障类型数据和1类正常数据。每类样本数据选取290个,其中训练数据样本240个,测试数据样本50个,每个样本的采样点数为1 600。
3.2 实验参数及结果分析
数据长度为1 600的滚动轴承振动信号数据输入BiLSTM网络,设定BiLSTM的单元数为1 600;然后将相应的信息再通过softmax输出层,将BiLSTM网络层的输出维度与最后的分类数目相匹配,学习率设置为0.001。采用梯度下降优化器,不断更新网络参数,得到一个滚动轴承故障诊断模型。根据模型得到预测分类结果输出,将其与真实的类别作比较,计算测试集上的分类预测准确率。
(a) 正常状态
(b) 0.177 8 mm的滚动体故障
(c) 0.177 8 mm的内圈故障
(d) 0.177 8 mm的外圈六点钟方向故障
表1 实验数据集
3.2.1 基于BiLSTM轴承故障诊断模型结果
准确率是判别滚动轴承故障诊断模型优异的重要判断依据,现阶段滚动轴承故障诊断的目标主要是不断提高诊断精度,保证滚动轴承能够得到及时维护。测试样本诊断结果如表2所示,该模型在识别中仅出现1个错误,将正常状态误判为0.355 6 mm的内圈故障,其余故障都识别无误,总测试准确率为99.8%。经过多次实验,结果表明提出的BiLSTM模型用于滚动轴承故障诊断的效果非常好。
表2 测试样本诊断结果表
基于轴承故障诊断模型准确率及损失率变化曲线如图6所示。由于权重和偏置为随机设置,初始训练测试集故障识别准确率不高,仅为10%左右。但随着训练增加,150次的训练后准确率便达到了99%以上。训练200次后,识别准确率缓慢上升并趋于稳定。最终,基于BiLSTM的故障诊断模型识别准确率达到99.8%以上。损失率曲线显示前50次损失率波动较大,训练次数增加后,损失率曲线平稳下降,在训练200步后损失率逐渐平稳且趋近与0。由此可见,随着不断学习,能实现对故障状态诊断的准确识别。
(a) 模型准确率曲线图
(b) 模型损失率曲线图
3.2.2 不同参数取值和优化器选择的影响
优化器的选择影响参数优化的速度和模型最终的准确率,合适的优化器能大大提高训练效率。学习率和BiLSTM单元数是影响模型性能的重要参数。学习率直接影响深度学习网络的学习速度和模型的准确率。一般而言,学习率过大会导致权重更新过大,模型性能剧烈振动;而学习率过小又会导致学习速度缓慢。两者均可能得不到全局最优的结果。隐层的BiLSTM单元数表示用于记忆和储存过去状态的节点个数,其单元数量将会影响诊断速度以及准确率。
基于以上原因,实验研究了优化器、不同参数设置对实验结果的影响。最终确定基于BiLSTM故障诊断模型的学习率、BiLSTM单元数以及优化器。
(1) 优化器选择的影响
本文选用GradientDescent、Adadelta、RMSPro、Adam优化器进行对比实验。不同优化器训练结果如图7所示,从图中可知,GradientDescent和Adam优化器训练稳定且速度更快。
(a) GradientDescent
(b) Adadelta
(c) RMSPro
(d) Adam
(2) 学习率的影响
实验参数设置为输入为1 600,batch为2 400,BiLSTM单元数为1 600,训练次数为1 000,不同学习率条件下训练200次的准确率及损失率结果如表3所示。可以看到学习率为0.001时的准确率最高,此时其损失率也最低;训练1 000次时的准确率及损失率如表4所示,学习率为0.001时准确率达到了100%,而且损失率也较低,因此本文学习率设置为0.001。
表3 不同学习率在训练200次时的准确率及损失率
表4 不同学习率在训练1 000次时的准确率及损失率
(3) 单元数的影响
实验参数设置输入为1 600,batch为2 400,训练次数为1 000,学习率设置为0.001。不同BiLSTM单元数下的准确率如图8所示。结果显示:当LSTM单元数设置低于400时其准确率低,且后期准确率上升缓慢;当LSTM单元数设为800、1 600时,在500次训练后准确率就能够达到99.8%以上。
图8 不同单元数的准确率
LSTM单元数设置较大时,时间消耗过大,对于准确率的贡献并不大,因此对LSTM单元数的选择不宜过大,经过多次的反复实验,LSTM单元数选择1 600能达到较好的效果。
3.2.3 与其它模型的比较
在相同数据集、同等条件下,本文也进行了LSTM神经网络的模型测试。参数相同情况下,训练500次的LSTM和BiLSTM网络模型准确率如图9所示。经过前200次的训练,BiLSTM准确率能达到99.3%,而LSTM模型仅97.2%。训练500次后,BiLSTM模型准确率为100%。训练500次的LSTM和BiLSTM网络模型损失率如图10所示,200次训练后,BiLSTM较LSTM的损失率低。训练500次后,BiLSTM损失率为2.44%。从结果来看,BiLSTM虽然较单向LSTM初始阶段波动大,但收敛速度快,训练更高效。
图9 BiLSTM和LSTM准确率曲线对比图
图10 BiLSTM和LSTM损失率曲线对比图
利用文献[24]结果,在相同数据集下,不同模型准确率如表5所示,CNN的准确率为98.8%,DNN的准确率为80.8%,而传统的故障诊断方法如EMD与决策树的方法准确率仅为77%。对比本文的基于BiLSTM的神经网络诊断模型,准确率最终能达到99.8%以上,说明本文提出的模型优于以上其它神经网络模型。
表5 不同模型准确率
虽然单向LSTM也能达到较高准确率,但与之相比,BiLSTM效率更高,能更快学习到故障特征信息,收敛速度更快。循环神经网络比起CNN网络模型和DNN网络模型在识别准确率上明显效果更好。与传统故障诊断方法相比,基于BiLSTM故障诊断模型实现了故障特征自提取的智能故障诊断。
4 结论
(1) 本文设计并实现了一种基于BiLSTM的滚动轴承故障模型,避免人工提取特征的不便,实现了端到端的轴承故障诊断。
(2) 相比传统的故障诊断方法,基于BiLSTM的故障诊断模型能更加便捷、有效地实现故障诊断,并且准确率较高。
(3) 轴承早期故障诊断、轴承损伤程度的识别仍需要进一步研究。