杜小磊,陈志刚,张楠,许旭
(1.北京建筑大学 机电与车辆工程学院,北京 100044;2.北京市建筑安全监测工程技术研究中心,北京 100044)
滚动轴承是旋转机械的重要部件,一旦出现故障,轻则使设备工作异常,降低生产质量;重则造成生产事故,给企业造成重大损失。因此,及时诊断轴承故障具有重要意义。特征提取和状态识别是轴承故障诊断的两个重要步骤。传统的基于时域和频域的信号特征提取,通常将信号的平均统计量作为特征,但轴承振动信号受外界干扰严重,多个振源的激励和响应相互耦合,导致难以进行有效特征提取[1]。在时频联合分析方法中,短时傅里叶变换不能满足时频局部化;经验模态分解[2]、固有时间尺度分解[3]和局部均值分解[4]存在模态混叠和端点效应;Wigner-Ville分布存在交叉项干扰;连续小波变换(continuous wavelet transform,CWT)可以较好表达信号的局部时频性质,但分辨率较低,为提高CWT的时频可读性,I.Daubechies等[5]提出同步压缩小波变换(synchrosqueezed wavelet transform,SST),改善了CWT的能量发散状况,从而提高了时频分辨率。
在轴承故障识别方面,广泛使用的人工神经网络(artificial neural networks,ANN)和支持向量机(support vector machine,SVM)均属于浅层模型,在当今大数据时代,这些浅层模型面临维数灾难问题,难以表征被测信号与故障之间复杂的映射关系。深度学习[6]克服了浅层模型的缺陷,通过贪婪逐层训练算法解决了深层网络的训练问题,在很大程度上摆脱了依赖于诊断专家经验的信号处理与特征提取,并已应用于故障诊断领域[7]。温江涛等[8]将深度稀疏自编码器用于轴承故障诊断;张绍辉等[9]将轴承振动信号的包络线作为深度自编码器的输入,取得98%的识别率。但目前大多数有关深度学习的故障诊断研究只考虑到信号的时域或频域等单一信息,且网络所使用的大都为S型激活函数,难以建立各种故障状态与输入信号之间的精确映射[10]。脊波[11](ridgelet)可在小波特有的参数外,增添对信号方向性的表示,包含尺度因子、位移因子和方向因子,位移因子使脊波沿着信号的时间轴进行遍历性分析,尺度因子用于分析信号不同的频率,方向因子用于分析信号不同方向的特性。因此,将脊波函数和深度学习相结合,具有更明显的优势。
在SST、脊波和深度学习的基础上,本文提出一种新的滚动轴承故障诊断方法:首先,对轴承振动信号进行SST变换;其次,将得到的时频图像进行双向二维主成分分析(two-directional two dimensional principal components analysis,TD-2DPCA)压缩,TD-2DPCA能有效去除二维矩阵行与列之间的相关性,显著降低二维矩阵的维数,并保留原始矩阵的主要信息,很大程度上减小计算量,从而提高计算效率,其详细算法见文献[12];最后,构建深度脊波网络(deep ridgelet network,DRN),对压缩的时频图像进行深层特征提取,以实现故障识别。
轴承故障诊断领域已越来越多地用到时频分析技术。一种好的时频分析技术应具有较高的时频分辨率,以便能清楚地观察到信号的结构,这对于识别轴承运行工况和提取轴承故障特征都有积极的意义。为改善CWT的能量发散状况,从而提高时频可读性,SST应运而生。SST通过小波系数重排技术提高CWT的时频分辨率,且能重建原始信号。
定义函数f(t)的CWT为
W(a,τ)=
(1)
式中:a和τ分别为尺度因子和平移因子;ψa,τ(t)为小波函数。
SST基本原理为:由式(1)求得信号f(t)的CWT系数为W(a,τ),对于时间-尺度平面上任一点(a,τ),若W(a,τ)不为0,则f(t)的瞬时频率w(a,τ)计算式为
(2)
定义f(t)的SST变换为
(3)
式中:T(w,τ)为SST系数;w为瞬时频率,Δw为频率离散间隔;ak为离散小波尺度;Δa为尺度离散间隔,频率范围为(w-Δw/2,w+Δw/2)。
为验证SST的效果,需要进行仿真信号分析,模拟信号设为
(4)
f(t)由3个分量叠加而成,f1(t)为余弦信号,f2(t)和f3(t)为调频信号,设置采样时间2 s,采样间隔2 ms。图1和图2分别是仿真信号的SST时频谱和CWT时间-尺度谱。由图1~2可知,CWT时间-尺度谱模糊严重,分辨率低,在真实瞬时频率附近存在一定宽度的伪频率成分;SST通过“挤压”使能量回到真实瞬时频率上,很大程度上提高了信号时频分辨率。
图1 SST时频谱Fig.1 SST time-frequency diagram
图2 CWT时间-尺度谱Fig.2 CWT time-scale diagram
深度自编码器(deep auto-encoder,DAE)为无监督深度模型,由多个自编码器(auto-encoder,AE)组成,每个AE包括输入层、隐含层和输出层,输入层维数和输出层维数相同。AE的目的是最小化输入和输出之间的重构误差,以逼近一个恒等函数,从而完成自动特征提取。而脊波自编码器(ridgelet auto-encoder,RAE)结合了脊波函数的时-频及方向局部特性和AE自动特征提取的优点,使用脊波函数代替AE的S激活函数,具有比AE更好的特征提取和表示的性能。DRN由多个RAE构成,标准RAE和DRN的结构如图3所示。
设RAE输入层和输出层为m个神经元,隐层为L个神经元,Wjk是连接输入层神经元k和隐层脊波神经元j的权值,aj、cj和uj分别为隐层脊波神经元j的尺度因子、平移因子和方向因子。给定m维输入向量
x=[x1,…,xm]T,
图3 RAE和DRN结构Fig.3 Structures of standard RAE and DRN
脊波神经元j的输出为
(5)
其中,Ψ为Morlet小波激活函数的实部,表达式为
(6)
则隐层脊波神经元j的输出重写为
(7)
输出层神经元i的输出为
(8)
S(t)=1/(1+e-t),
(9)
其中,Wij为输出层神经元i和隐层神经元j的连接权值。训练RAE就是不断地调整参数,最后找到一组最优的参数θRAE={Wij,Wjk,aj,cj,uj},使输入和输出之间的重构误差最小化,重构误差函数通常为均方误差代价函数。DRN堆叠多个RAE,采取逐层化训练方法,将上一层RAE隐层输出作为下一层RAE的输入,并保证重构误差最小化,从而构成多层次网络结构,直到整个DRN完成训练。RAE各参数更新公式一般为
(10)
式中:η为学习率;LRAE(k)为RAE第k次迭代的重构误差。
原始RAE抗噪能力弱,泛化能力弱,为此,改进误差函数,加入收缩自编码机制并改进权重更新策略,详细如下。
(1)标准RAE重构误差函数一般使用均方误差代价函数,使得对复杂信号的特征学习鲁棒性低,而文献[13]提出的最大相关熵损失函数对复杂非平稳背景噪声不敏感,可以有效弥补均方误差函数的缺陷。本文采用最大相关熵设计RAE误差函数。设两个随机变量A=[a1,a2,…,aN]T,B=[b1,b2,…,bN],相关熵近似计算如式(11)所示,σ为高斯核函数尺寸,
(11)
则RAE损失函数可以通过最大化以下函数实现,
(13)
式中:m为样本个数;xi为输入样本向量;yi为输出样本向量。
(2)收缩自编码机制。收缩自编码器(contractive auto-encoder,CAE)以AE的激活函数对于输入的雅克比矩阵的Frobenius Norm为惩罚项,使CAE学到的特征对输入的狭小变动具有鲁棒性。惩罚项为
(14)
式中:m和L分别为输入数据和隐含层输出数据的维度;Wjk为输入层与隐含脊波神经元间的权值;hj为隐层脊波神经元j的输出。则改进后的RAE的损失函数为
(15)
式中:λ1为惩罚参数,用于调节收缩惩罚项在目标函数中的所占比例;Dm为m个输入样本集合;λ2为权重衰减项系数,用于防止网络过拟合;sl是第l层的神经元个数,s1=s3=m,s2=L;WIJ(l)为第l层权重,WIJ(1)=Wij,WIJ(2)=Wjk。
(3)权重更新策略改进。对于式(10)所示的参数更新算法,学习率η是一个全局性的常数,η过大不利于网络收敛,η过小耗时过多,因此,引入自适应调整策略,以Wij更新为例,更新公式为
(16)
该方法在网络迭代开始阶段,使网络有较大的学习率,从而使误差函数快速衰减,随迭代增加,学习率逐渐减小,有助于模型收敛。
为进一步优化所提取的特征,在DRN最后一层加上有监督的Softmax分类器,使用带标签的样本数据结合BP算法对网络进行微调。Softmax分类器针对多类分类问题,类别标签y为向量形式,表示当前样本类别在所有可能类别中的分布概率。Softmax分类器的详细训练算法见文献[14]。
综上,所提出方法的总流程如图4所示,主要步骤如下。
图4 本文方法整体流程Fig.4 Overall flowchart of the proposed method
(1)首先采集轴承不同类型的故障信号并进行SST变换,得到时频图像。
(2)将时频图像经双向主成分分析压缩至28×28维度,从压缩后的时频图像样本集随机选取70%作为训练样本,其余作为测试样本,训练样本中随机选取90%作为无标签样本,10%作为有标签样本进行微调。
(3)将时频矩阵按行重组成一列,根据实际数据大小确定网络深度、各层神经元数量和学习率等参数。
(4)进行网络训练,逐层训练RAE,将上一层RAE隐层输出作为下一层RAE的输入,逐层提取特征信息,将最后一层RAE隐层输出作为Softmax分类器的输入,通过带标签样本结合BP算法微调整个网络。
(5)使用测试样本测试训练后模型的性能。
为验证本文方法的有效性,以轴承故障模拟实验台为对象,采集不同故障类型、不同故障程度的7种轴承工况。实验台如图5所示,美国SpectraQuest公司生产,由驱动器、电磁制动器等组成,加速度传感器置于驱动端附近,使用电火花技术在轴承的内圈、外圈和滚动体上加工故障直径分别为0.18,0.36 mm的切槽,采样频率12 kHz,转速1 800 r/min,负载735 W,转轴转1圈,传感器采集400(12 000×60/1 800=400)个数据点。最后得到每种工况下1 000个样本,每个样本由800个采样点组成。表1为7种轴承工况,表2为轴承参数。为减少噪声干扰,将轴承原始信号归一化到[0,1]。图6为轴承7种工况时域波形,可以看出,轴承内圈和外圈故障信号出现周期性冲击成分,但早期故障信号噪声干扰严重,部分冲击淹没在噪声中,振动情况复杂,难以区分故障类型及故障程度。由于传统特征提取方法的不确定性,轴承早期轻微故障和复合故障特征难以提取,有必要引入深度学习,以建立故障与信号之间的精确映射关系。
图5 轴承故障诊断实验台Fig.5 Experimental platform of roller bearing fault diagnosis
表1 7种轴承工况Tab.1 Seven bearing working conditions
表2 轴承参数Tab.2 Parameters of bearing
图6 7种轴承工况的振动信号波形
Fig.6 Vibration signals of seven bearing conditions
以轴承外圈故障为例,分析SST的效果。轴承外圈故障特征频率计算式为
(17)
由式(17)计算求得轴承外圈故障特征频率,为101.23 Hz,转频fr为30 Hz。图7~8分别为轴承外圈振动信号SST和CWT变换得到的时-频图和时间-尺度图。从SST时频谱中可以比较清晰地看出故障外圈故障频率,而CWT时间-尺度谱受干扰项影响严重,故障频率不够清晰。
图7 SST时频图Fig.7 SST time-frequency diagram
为验证本文方法的优越性,使用ANN、SVM、深度信念网络(DBN)和深度稀疏自编码器(DSAE)进行分析对比。本文方法输入的是SST压缩数据(784维),ANN和SVM的输入是24个特征(11个时域特征和13个频域特征),这24个特征的详细计算见文献[15]。DRN虽然省去了大量的人工特征提取时间,但是其隐含层层数和隐含层节点数的确定依然依赖人力。AutoKeras开源软件利用贝叶斯优化,通过每次选择最佳运算来引导结构搜索空间,能根据所给定的数据集,自动搜索在上面执行某个任务时可以达到最佳表现的神经网络结构。本文基于AutoKeras软件,搜索得到最优DRN的隐含层数目和隐含层节点数目。根据本文方法,将训练样本输入AutoKeras,AutoKeras将自动搜索在执行滚动轴承故障识别任务时可以达到最佳表现的DRN。输出如下:输出6层DRN模型,包括输入、输出层及4个隐层,结构为784-392-196-98-49-7。RAE的迭代次数为120,整体微调次数为1 000。超参数设置方法见文献[16],设置如下:高斯核函数尺寸σ为3.26,惩罚参数λ1为0.03,权重衰减项系数λ2为0.003,RAE的初始学习率为0.5。其他方法的主要参数如下。
方法2(24个特征参数输入SVM):SVM采用高斯核函数,核函数的惩罚因子和半径分别为27和0.17,由10折交叉验证法确定。
方法3(24个特征参数输入ANN):ANN结构为24-48-7,学习率0.04,迭代次数800,由10折交叉验证法确定。
方法4(SST压缩数据输入DSAE):DAE的结构为784-392-196-98-49-7,学习率、动量参数和迭代次数分别为0.05,0.1和1 900。
方法5(SST压缩数据输入DBN):DBN的结构为784-392-196-98-49-7,学习率、动量参数和迭代次数分别为0.08,0.2和1 900。
为减小随机因素影响,进行5次测试,取平均结果。表3列出了测试阶段的平均诊断准确率和标准差,图9为在每次试验中使用不同方法的详细诊断结果。
表3 不同方法的平均诊断结果Tab.3 Diagnosis results of different methods
图9 不同方法的5次测试结果Fig.9 Detailed testing results of different methods for five trials
从表3可以看出,与其他方法相比,本文方法具有更高的测试准确率和更小的标准差,平均测试正确率达到98.89%,标准差仅0.16。由图9可知,5次试验的准确率分别为98.82%,99.49%,99.01%,98.87%,98.80%,均高于其他方法,主要原因是ANN和SVM等传统浅层模型的性能在很大程度上依赖于繁琐的人工特征提取与选择,导致诊断精度和泛化能力低;与其他深度模型相比,本文方法改进了编码器损失函数并充分利用了脊波函数的优良特性,进一步提高了对复杂非平稳振动信号的特征学习能力,因此,具有更高的稳定性。图10给出了使用本文方法第1次测试得到的多分类混淆矩阵,由图10可知,复合故障状态b和c的分类正确率较低。
图10 多分类混淆矩阵Fig.10 Multi-class confusion matrix
图11和图12是平均分类精度与惩罚参数λ1、权重衰减项系数λ2之间的关系。分析可知,识别精度对惩罚参数和权重衰减系数敏感,较小的惩罚参数值和权重衰减系数值有助于网络取得较好的性能。
图11 惩罚参数λ1对平均测试准确率的影响Fig.11 Effects of penalty parameter λ1 on the testing accuracy
图12 权重衰减系数λ2对平均测试准确率的影响Fig.12 Effects of weight decay parameter λ2 on the average testing accuracy
分别对本文方法、SDAE和DBN学习得到的深层特征进行评价和比较。以第1次试验为例,采用主成分分析(PCA)对各网络最后一层特征进行二维可视化,如图13~15所示,PC1和PC2分别表示前两个主成分。可以看出,SDAE和DWNN所提取的特征在不同的故障工况之间存在一定的重叠,而本文提出的模型具有更强的从非平稳振动信号逐层学习从而获取具有代表性的信息的能力。
图13 本文模型深层特征2维可视化Fig.13 Two-dimensional visualizations of the deep features learned by the proposed model
图14 SDAE深层特征2维可视化Fig.14 Two-dimensional visualizations of the deep features learned by the SDAE
图15 DBN深层特征2维可视化Fig.15 Two-dimensional visualizations of the deep features learned by the DBN
提出一种基于SST和DRN的轴承故障诊断方法,实现了较高精度的轴承故障识别,较其他轴承故障识别方法更具优势,主要结论如下:
(1)对轴承故障振动信号进行SST变换,提高了信号的时频分辨率,更有利于故障特征提取。
(2)将深度学习和脊波理论相结合,使深层网络具有更强大的自动提取特征的能力,避免了复杂的人工提取特征过程,且改进了RAE的误差函数和优化算法,又引入收缩自编码机制,使网络对信号的特征学习的鲁棒性增强,较其他方法具有更大的优势,具有较好的理论意义和一定的工程应用价值。但是,目前还没有系统的理论体系指导网络参数的选择,往往还需要根据经验选取,而且网络训练耗时,这是今后需要进一步研究的方向。