基于ISSAE和XGBoost的滚动轴承故障诊断研究*
2021-06-22任泽俊周佳慧
向 川,任泽俊,赵 晶,周佳慧
(1.大连海事大学 船舶电气工程学院,辽宁 大连 116026;2.国网山东省电力公司 电力科学研究院,山东 济南 250000)
0 引 言
滚动轴承作为旋转机械的一个重要组成部分,被广泛用于社会生产中的各个领域。经研究表明:在旋转机械设备发生的故障中,有大约30%是由滚动轴承的损伤所引起的[1],这对设备本身及生产安全都造成了严重危害;所以,针对滚动轴承的故障诊断具有重要的意义。
目前,对轴承进行故障诊断的常用方法中,其诊断过程可分为两个阶段:特征提取阶段与特征识别阶段(即故障类型的识别)[2]。在特征提取的过程中,主要包括了传统信号分析方法和深度学习方法两大类。
就传统信号分析方法来说:文献[3]通过频谱分析来判断电机轴承的故障类型;文献[4]利用了多重分形谱参数来表征不同的故障状态,通过比较不同的多重分形特征来进行故障状态的识别;文献[5]利用了奇异值分解及Hilbert变换,对轴承故障信号的瞬时幅值函数和频率函数进行了解调,最后通过观察瞬时故障特征频率,来识别轴承的故障状态。
这些信号分析法在故障诊断中可以达到不错的效果。但是,它们提取特征是通过人工选择的方式,这一过程需要大量的信号处理知识及故障诊断经验。此外,这种根据特定情况进行人工提取特征的方法,很可能在变换数据集后就不再适用了。
深度学习,如卷积神经网络(convolutional neural network,CNN)、深度神经网络(deep neural networks,DNN)、自编码网络(auto-encoder, AE)等,是近几年兴起的一种基于机器学习方法的扩展,它在图像、语音识别等领域已经取得了丰硕的成果。由于它在进行特征提取时,无需人工干涉,可以自行挖掘数据内部存在的特性,近年来其在故障诊断领域上的应用也越来越多。
文献[6]中,将局部放电的时域波形作为一维CNN的输入,学习其内部特征,在网络的最后一层加入了Softmax分类器,对局部放电信号进行分类;文献[7]中将轴承的振动信号输入到多层的DNN中,来诊断故障类型。以上基于DNN和CNN的方法虽然能取得不错的故障诊断准确率,但其网络结构通常较深,需要大量的数据才能达到理想的故障诊断效果。
AE属于机器学习中的非监督学习,是一种以重构输入信息为目标的神经网络。它可以在无标记的样本中自行学习数据的内在特征,并且具有较浅的网络结构和较强的特征学习能力。在深度学习中,经常使用它生成的特征来代替原始数据,以此达到更好的诊断效果。
文献[8]通过稀疏自编码(sparse auto-encoder,SAE)网络来获取轴承数据的内在特征,再动态调节网络的学习率,来提高故障诊断的准确率;文献[9]是将提取到的特征放入稀疏自编码网络中,进行学习,进而来判断其故障类型。但这些方法仅构建了浅层的自编码网络,没有充分利用到自编码网络的特性,也没有提取到数据深层的特征,因此,其网络的抗噪性能较差。
在特征识别方面,传统的机器学习方法和深度学习方法在进行这类分类问题时,都有着不错的效果。文献[10]使用粒子群优化支持向量机(support vector machine,SVM),进行对故障类别的判断;文献[11]使用深度置信网络(deep belief network, DBN),对轴承的故障进行了判断识别。XGBoost属于机器学习中集成学习的一种算法,在多分类、高维分布上,相对于传统机器学习方法,它有明显优势;相比较深度学习,其又有计算花销小、可解释性等优点。文献[12]使用XGBoost算法对处理后的风电机组数据进行了故障的诊断,取得了较好的结果。
本文提出一种基于改进堆栈稀疏自编码(ISSAE)网络和极端梯度提升(XGBoost)的轴承故障诊断方法。
1 算法介绍
1.1 AE原理
AE的结构框图及其展开结构如图1所示。
图1 AE结构图
y=f(x)
(1)
(2)
式中:f,g—分别为编码及解码过程的激活函数。
本文选择tanh函数作为网络的激活函数。AE所关注的并不是网络的输出值,而是中间的编码部分,即输入到编码的映射;编码信号y是对输入信号x的映射,其包含了原始数据中的内在隐含关系[13]。
(3)
式中:(W,b)—网络的参数集;W—权值矩阵;b—偏置向量;d—样本个数。
其通过迭代优化,使损失函数最小。此时,认为网络已经包含了输入向量的大部分信息,参数集获得了输入向量的最佳隐含关系。
1.2 ISSAE网络
SAE是在AE的基础上,通过增加约束条件得来的。为避免网络产生过拟合,在原损失函数的基础上,增加稀疏惩罚项来解决这一问题。
SAE一般选用Kullback-Leibler散度作为网络的惩罚项,其改进之后的损失函数J为:
(4)
(5)
式中:α—稀疏惩罚项系数;ρ—稀疏参数;ρm—隐藏层第m个节点的平均激活量。
普通的SAE仅有3层,难以学习到输入向量的全部内在特征,对数据缺乏足够的表征能力。因此,BENGIO Y等人[14]提出了堆叠自编码网络,将浅层的稀疏自编码(SAE)堆叠起来,就形成了堆栈稀疏自编码网络(SSAE)。在SSAE中,每一个SAE单独训练,低层SAE的隐藏层作为高层SAE的输入层,依次训练每个SAE网络,直到所有网络训练完成为止。
在自编码网络的重构误差上,加适当的正则项(惩罚项)可使网络获取更好的特性[15]。这一思想源于奥卡姆剃刀原理:即添加惩罚项,可降低构造函数的维度,使其具有更好的泛化性能。
因此,本文将在SSAE网络的基础上,增加额外的惩罚项,其最终使用的损失函数为:
(6)
其中:
(7)
式中:E(W)—增加的惩罚项;λ—控制惩罚项的参数;ej—编码过程的最后一层。
该惩罚项代表编码层对输入信号的偏导数的平方和,即编码层对于输入信号的雅克比矩阵Y:
(8)
式中:m—样本的数量;n—编码器提取到特征的数量。
在优化迭代最终改进的堆栈稀疏自编码(ISSAE)网络时,本文使用Adam算法完成优化,该算法是KINGMA D P等[18]在2015年提出的一种自适应学习率的优化算法。
1.3 XGBoost算法
极端梯度提升(XGBoost)算法是华盛顿大学的陈天奇博士提出来的一个基于决策树的算法,其定义的目标函数为:
(9)
Ω(fk)值越小,树的复杂度越低,泛化能力越强,即:
(10)
式中:T—叶子节点的个数;ω—节点的类别;λ,γ—比例系数;‖ω‖2—对ω进行L2正则化处理。
然后,利用二阶泰勒展开式展开式(9)的损失函数,并对其求一阶导数与二阶导数,最后经整理后可得:
(11)
式中:Gj—阶导数的和;Hj—二阶导数的和。
2 滚动轴承故障诊断流程
本文提出基于ISSAE-XGBoost网络的轴承故障诊断方法,以轴承的测量信号作为输入,将多个SAE叠加起来,在损失函数上添加惩罚项,形成ISSAE网络;ISSAE可以获取数据的深层内在特征向量,并提高网络的抗噪能力;最后利用XGBoost识别轴承的故障类型。
其具体的诊断流程如图2所示。
图2 ISSAE-XGBoost轴承故障诊断流程图
具体实现过程如下所述:
步骤1:将原始测量信号划分为训练集与测试集;
步骤2:为获取数据的内部特征,将训练集投入到ISSAE网络中,针对重构误差优化网络参数;
步骤3:为网络的最后一层添加分类器,将网络的输出与样本标签一同放入XGBoost模型进行训练,获得最终的诊断模型;
步骤4:将测试集放入训练好的ISSAE-XGBoost网络,得到故障诊断结果;将其与实际标签进行比较,以验证本文方法的有效性。
3 实 验
本文将采用美国凯斯西储大学的滚动轴承实验数据、深沟球轴承数据及圆锥滚子轴承数据,来验证ISSAE-XGBoost方法的有效性,及其在不同类型轴承实验中的适用性。
3.1 凯斯西储大学轴承故障诊断实验
本文先使用凯斯西储大学电子工程实验室的轴承故障实验数据集,验证提出的轴承故障诊断模型。其实验平台装置如图3所示。
图3 实验平台
图3中,实验台由1个电动机、1个扭矩传感器、1个功率测试计及电子控制器组成;轴承一般由内圈、外圈、滚动体及保持架组成,它的主要故障有内圈故障(IRF)、外圈故障(ORF)及滚动体故障(BAF)。
实验中,故障是由电火花加工单点损伤形成的,通过构造不同的损伤直径来增加故障类别,损伤直径有0.177 8 mm、0.355 6 mm、0.533 4 mm、0.711 2 mm和1.016 mm;ORF的损伤点可以设置在不同的地方,分别为时钟3点钟、6点钟及12点钟3个位置;在电动机的风扇端(FE)及驱动端(DE),各放置了1个加速度传感器来采集轴承的振动加速度信号,信号由16通道数据记录仪采集,采集频率为12 kHz或48 kHz。
3.1.1 样本训练集
在训练和测试故障诊断模型时,本文选取在3马力下,转速为1 730 r/min、采集频率为12 kHz的FE及DE的数据(虽然采样点不同,但对应的轴承故障是确定的)。数据集包含正常状态数据和9种故障数据,分别是损伤直径在0.177 8 mm、0.355 6 mm、0.533 4 mm下的BAF、IRF和ORF处数据,ORF的损伤点选择6点钟方向。
实验数据如表1所示。
由表1可知:每种故障选取102 400个连续的振动信号,正常状态选择204 800个振动信号组成整体的样本集;在对数据进行处理时,使用了快速傅里叶变换的方法,该方法每次分解一半的数据,共进行log2N次分解(N—样本的长度),所以单个样本长度的选择应为2n;本文选择将每1 024个数据点作为一组,则初始数据集的维度(20,102 400)变为(2 000,1 024),即共有2 000组样本,10种状态下各有200组样本。
表1 实验数据
3.1.2 ISSAE-XGBoost网络参数选择
在利用ISSAE-XGBoost网络对轴承进行诊断之前,需要先确定该ISSAE的隐含层结构形式(这里的隐含层结构表示编码部分),分别设置不同的隐含层层数l(l=2,3,4),对输入的振动信号进行识别,取5次结果的平均值作为最终结果,如表2所示。
表2 隐含层选择
从表2中可以看出:当隐藏层为3层时,故障识别的准确率最高。综合考虑识别效果和网络结构的复杂程度,本文选择隐含层数l=3,隐含层结构为1024-512-256-128-10。
本文采用Adam算法优化迭代ISSAE网络,在不同迭代次数下,与传统的随机梯度下降法(SGD)相比,其故障识别的准确率如表3所示。
表3 不同迭代次数下Adam与SGD算法的比较
由表3可知:在相同迭代次数下,本文所用Adam算法的故障识别准确率高于SGD,且SGD需要较多的迭代次数才能将识别率提升到较高水平。因此,Adam算法在时间与精度上都优于传统SGD算法。
本文故障诊断模型为隐层深度为3的ISSAE网络,选择Adam算法对其进行迭代优化,最后构造60棵不同的决策树,来判断待测轴承的状态,并比较普通SSAE网络与改进的ISSAE网络对各个故障类型的识别诊断状况。
两种方法各取两次实验结果,实验所得混淆矩阵的热力图如图4所示。
图4 故障诊断准确率热力图
图4中,SSAE网络故障诊断的准确率,其值为97%,95%;ISSAE网络的故障诊断准确率,其值为100%和99.7%。由此可见,使用SSAE网络进行故障诊断时,有较高的准确率;同时,在损失函数中添加惩罚项对其进行改进后,ISSAE网络可进一步提高故障诊断的准确率。
3.1.3 抗噪性验证
为验证改进的ISSAE-XGBoost的抗噪性,笔者对原始数据增加噪声,并与改进前SSAE-XGBoost比较此时故障诊断的准确率。
信噪比(SNR)是指一个设备或者系统中信号与噪声的比例,其表达式为:
(12)
式中:Psignal—有用的信号功率;Pnoise—噪声功率。
由上式可知:信噪比越高,噪声越小。
当SNR为-4时,本文方法与SSAE-XGBoost(方法1)、ISSAE-SVM(方法2)对故障进行诊断的效果比较结果,如图5所示。
图5 噪声环境下3种诊断方法准确率对比
图5中,横轴为SNR,纵轴为网络训练的迭代次数,二者对应的值为该信噪比及迭代次数下的故障诊断准确率。
由图5可知:增加噪声后,SSAE-XGBoost网络的故障识别准确率只有74%,使用改进的ISSAE网络搭配SVM分类器的准确率为86%,而本文所提ISSAE-XGBoost方法的识别准确率可达90%。
这表明在噪声环境下,使用ISSAE网络进行数据的重构及特征提取后,可使模型面对微小扰动时不产生影响,该网络仍将具有更高的故障诊断准确率;此外,还表明在特征提取阶段都采用ISSAE模型的情况下,使用XGBoost模型进行分类要比SVM等传统方法效果好。
3.2 本实验室轴承故障诊断实验
为进一步验证ISSAE-XGBoost在其他类型的轴承故障诊断中的适用性,下面采用本实验室深沟球轴承、滚子轴承对其进行试验验证。
3.2.1 深沟球轴承故障诊断实验
本实验室的深沟球轴承实验平台选用三菱的IPM作为电机驱动系统,其型号为PM75CL1A120,并用英特尔公司Altera的Cyclone IV E系列的FPGA作为其控制器;电机采用380 V电压、5.03 A电流、2.2 kW功率作为其参数,且其转速为1 430 r/min,极对数为2;试验电机的轴承为6206单滚道深沟球轴承,其节圆直径为46 mm,滚珠直径为9.6 mm。
在轴承的外环上设置4种不同直径的故障,采用型号为IT 60-S的霍尔电流传感器采集电流信号。在50 Hz的电源频率,1 kHz的采样频率下,采集正常状态及不同故障状态下的电机定子电流信号,并将其作为诊断模型的输入。
试验设备平台如图6所示。
图6 深沟球轴承故障诊断平台
该实验包含故障直径为0.3 mm、0.55 mm、0.8 mm及1 mm的外圈故障轴承和无故障轴承,将模型的输出由10类改为5类。其中,ISSAE-XGBoost网络参数的选择,以及网络的优化方法均与前文一致。
笔者在提取到的电流信号数据集中,添加SNR为-4的噪声。不同数量的训练样本条件下,用本文方法、方法1和方法2对深沟球轴承故障进行识别的准确率,如图7所示。
图7 不同方法的故障诊断准确率对比
由图7可知:随着样本数量的增加,3种方法对轴承故障的识别准确率均有提升;采用相同数量样本时,本文ISSAE-XGBoost方法的识别准确率最高;当样本数量超过100时,其识别准确率能达到99%以上;当样本数量较少时,本文方法也具有较高的识别准确率,如样本数量仅为20时,其识别准确率也能达到90%。
3.2.2 圆锥滚子轴承故障诊断实验
齿轮箱轴承采用圆锥滚子轴承,笔者在其驱动端放置振动传感器,以其采集的振动信号作为实验数据集。实验设置了3种故障状态,其故障类型如表4所示。
表4 圆锥滚子轴承故障类型
该实验构建了每个故障类别样本数为50的训练集,和每个故障类别样本数为20的测试集。将训练集输入ISSAE网络进行特征提取时,减少迭代的次数。在进行故障诊断前,由于只有4类数据,将XGBoost诊断网络的最后1层改为4,其余网络参数保持不变。
采用不同算法的故障诊断实验结果如表5所示。
表5 不同算法诊断结果准确率对比%
由表5可知:本文算法对几种故障类型的识别率均有较大提升;相比SSAE-XGBoost和ISSAE-SVM,本文改进算法的总体故障诊断准确率分别提升了7.98%和2%。这两个实验进一步验证了本文所提的轴承诊断方法具有较广的适用性。
4 结束语
本文建立了ISSAE-XGBoost滚动轴承故障诊断模型,将多个实验平台采集到的轴承振动信号、电流信号作为网络的输入,经ISSAE提取数据深层特征值后送入XGBoost分类器,对不同的轴承故障类型进行了诊断;多个实验平台的试验,验证了本文方法针对不同故障轴承的适用性及在小样本、含噪声的情况下的故障识别效果。
本文主要研究结论如下:
(1)提出的ISSAE-XGBoost模型在对轴承的测量信号进行特征提取时,无需分析信号的频谱或图谱,也无需大量的先验知识,简化了数据处理与特征提取的过程;
(2)对多个实验平台的轴承故障诊断结果表明:相比于SSAE-XGBoost和ISSAE-SVM,本文提出的ISSAE-XGBoost方法故障识别准确率更高,能达到99%。深沟球轴承故障诊断实验进一步表明本文方法在样本数量较少,如仅为20组时,其识别准确率也能达到近90%。圆锥滚子轴承故障诊断实验进一步验证本文方法不但故障诊断准确率高,且具有较广泛的适用性;
(3)在轴承原始测量信号中添加噪声后,改进的ISSAE-XGBoost模型故障准确率相比改进前有较大的提升,能达到90%以上。改进模型中添加的惩罚项可抑制微小扰动的干扰,对含有噪声的数据有一定的抗噪性。
由于本文只对有标签故障轴承样本进行训练,没有通过该方法训练无标签样本。在后续的研究中,笔者将对无标签样本进行研究。