于洋,马军,王晓东,杨创艳
(1. 昆明理工大学 信息工程与自动化学院,云南 昆明 650500;2. 昆明理工大学 云南省人工智能重点实验室,云南 昆明 650500)
社会的发展需要运输行业的不断推进,其中铁路运输作为国家的重要运输方式,随着运量的不断增加,对列车安全运行提出了更高要求。滚动轴承作为高速列车机械传动系统中应用最广泛的关键部件之一,一旦发生故障,将造成巨大的经济损失[1-3]。传统故障诊断方法依赖于经验和专业知识,影响了滚动轴承故障诊断的准确率。近年来,随着深度学习研究的不断兴起,基于深度学习的智能故障诊断对保证机械设备安全平稳运行具有重要的价值[4]。滚动轴承振动信号具有较强的非线性和非平稳性,采用单一时域或频域信号特征提取方法只能提取到少量的故障特征,而时频图像包含了丰富的设备状态信息。因此,使用时频分析方法对一维信号进行图像转换,可以更加全面提取到滚动轴承的故障特征信息,进而提高滚动轴承智能诊断准确率[5]。目前常用的时频分析方法包括短时傅里叶变换(STFT)、小波变换、S变换等。STFT 克服了傅里叶变换不能反映时频局部特征的缺点,但由于其时频窗在变换过程中始终保持不变,会导致整个变换过程中时频分辨率始终不变。小波变换克服了STFT 窗函数不变的缺点,但小波变换仅是将一维信号分解为时间尺度域,不是严格的时频域。基于此,徐耀松等[6]提出了S 变换,同时具有傅里叶变换和小波变换的优点,可以更加全面表征信号的有效信息。但是,当S变换在处理高频部分时,时频窗变窄导致时间分辨率高,使得包含故障特征信息的频率的分辨率变低。为提高时频图像的时频分辨率,通过添加指数值调整S变换的标准差,有学者提出了可调节参数的广义S 变换(Generalized S transform,GST)。GST 通过引入时频聚集性度量来确定指数的最优值,使得时频窗的调整更加灵活和时频图像特征更加丰富。因此,本文选择利用GST 对滚动轴承振动信号进行预处理。CNN 作为深度模型的一种,可以自动提取特征,避免人工特征提取的影响,提高滚动轴承故障的识别准确率。许多学者将时频分析和CNN 结合,提出了一系列智能故障诊断方法。李恒等[7]提出了基于STFT 和CNN的故障诊断方法,实现了故障的有效识别,但STFT 需要人工设置窗口宽度,不利于图像的识别。袁建虎等[8]提出基于小波时频图和CNN 的诊断方法,先对振动信号进行连续小波变换得到时频图,接着进行灰度化处理,之后使用CNN 进行滚动轴承故障的识别。而广义S变换具有良好的时频分辨率,且计算相对简单,不需要人工设置窗口宽度。所以,利用GST 与CNN 的优势来对滚动轴承进行智能故障诊断。激活函数通过增强CNN 的非线性表达能力,极大影响了模型的分类性能,所以选取合适的激活函数对CNN 模型的性能至关重要[9]。Sigmoid 函数和Tanh 函数是最早被广泛使用的2 种激活函数。然而,Sigmoid 函数不是零中心的函数,这会导致权值更新时只能朝一个方向,从而影响收敛速度。Tanh是以0为中心的对称函数,收敛速度快,不容易出现损失值晃动。但2种激活函数属于饱和函数,所以均存在梯度消失的问题[10],导致模型参数得不到更新。为了解决梯度消失问题,WANG 等[11]提出了一种改进的激活函数ReLTanh,将饱和区域改为可学习的线性直线。本文在ReLTanh的基础上进行改进,通过加入弹性斜率和神经元噪声[12],提出了EReLTanh,防止模型过拟合并进一步提高模型的识别和泛化能力。综上所述,本文将GST 与CNN 相结合,充分利用时频图与CNN的优越性,结合改进的EReLTanh激活函数,提出一种有效识别滚动轴承故障类型及损伤程度的智能故障诊断方法。
广义S变换定义如式(1)所示:
其中:0<p≤1,p=1时即为标准S变换。
为了得到效果更好的时频表示,需要选择一个合适的p值。根据时频分布集中程度引入一个时频聚集性度量[13],公式如式(2)所示:
式中:Sp(t,f)表示离散广义S变换在(t,f)点的归一化能量,满足=1,k取大于1 的常数。M(p)越小说明广义S变换的时频聚焦特性越好,选择最小M(p)对应的值作为最优参数。
1.2.1 卷积神经网络框架
CNN 的局部连接、共享卷积层的权值等特性降低了网络模型复杂度,减少了过拟合,模型具备更好的泛化能力[14]。CNN 包括卷积层、激活层、池化层、全连接层和Softmax 分类层,第1 层采用较大的卷积核。结构参数[15]如表1所示。
表1 CNN模型结构参数Table 1 Structure parameters of CNN model
CNN 的卷积层通过卷积操作提取输入图像的不同特征,卷积核在输入特征图上移动,重合区域对应点相乘后求和,加上偏置后即可得到输出特征图的值。
激活层将卷积运算后的特征图通过激活函数作非线性变换,增强模型的非线性表达能力,大大提高了模型的泛化能力和分类性能。
池化层的主要目的是进行局部特征的提取,加速收敛,且能建立空间和结构不变性。
全连接层将最后一层卷积层输出的级联特征图进行全连接。
1.2.2 改进的卷积神经网络激活函数
激活函数增强了CNN 的非线性表达能力,运用ReLTanh激活函数[14]具有以下3个优点:
1)解决了梯度消失问题;
2) 其输出接近于零均值,因此受偏置偏移的影响较小,能加快和平稳训练过程;
3)阈值可学习的优点可以更接近全局最小值;
但在小样本数据中ReLTanh也存在过拟合的问题,为了解决这个问题,提出EReLTanh 激活函数。通过加入弹性斜率和高斯分布的神经元噪声,在一定程度上避免了过拟合,且提高了神经网络的识别和泛化能力[19]。EReLTanh公式如式(3)所示。
其中:阈值λ设置范围为0≤λ+≤0.5,λ-≤-1.5,同时λ也通过模型不断学习更新。
k=max(0,min(s,2)),s~N(1,σ),σ~U(0,ε),ε∈(0,1],当模型使用样本数量较少时,ε值从0.7~1.0中进行选择。
智能故障诊断流程图如图1所示,包含数据预处理、训练模型、智能故障诊断3个过程。具体步骤如下。
图1 智能故障诊断流程图Fig.1 Ⅰntelligent fault diagnosis flow chart
1) 数据预处理
先对不同故障类型及损伤程度的滚动轴承故障振动信号进行重叠采样,得到一维数据样本;然后利用广义S 变换将一维数据样本转换为时频图,获得时频图数据集;最后对时频图数据集进行压缩和归一化处理,并按3/5,1/5,1/5 的比例划分为训练集、验证集、测试集。
2) 训练模型
将改进的激活函数添加到CNN 模型中,初始化模型(优化器为Adam,损失函数为分类交叉熵,训练方式为min-batch,batch_size=48,迭代次数M);然后将训练集送入改进CNN 进行模型的训练,从全连接层输出特征;接着通过Softmax 层计算CNN 分类结果的损失函数,并进行反向传播优化更新参数;最后利用验证集验证每次迭代模型的准确率和损失函数,当模型满足收敛条件时,完成模型训练并保存模型参数;否则,重新修改M大小,直到满足收敛条件,最终得到训练好的改进CNN模型。
3) 智能故障诊断
将测试集数据送入训练好的改进CNN模型中,直接获得滚动轴承的故障诊断的分类结果,实现滚动轴承故障的智能诊断。
为了验证所提方法能有效识别不同故障类型,本文使用自制实验平台完成滚动轴承多种故障类型实验。自制实验平台由驱动电动机、转轴、液压油缸、测试轴承、传感器等部件组成,结构如图2所示。
图2 自制实验平台Fig.2 Self-made experimental platform
实验轴承是深沟球轴承,型号为6205-2RSH,实验中转速为1 797 r/min,采样频率为25.6 kHz,空载运行实验台。每组数据采集20 s,采集间隔为3 s。采集的数据同样包含9种故障类型和无故障类型,所有故障通过线切割的方法分别在测试轴承不同部分切一个与轴线平行的窄缝。10 种故障状态如表2 所示,其中ⅠR 表示轴承内圈故障,OR 表示轴承外圈故障,B 表示滚动体故障,Normal 表示无故障样本。
表2 10种不同故障类别Table 2 10 different fault categories
数据样本的数量对模型的泛化能力有重要作用,但滚动轴承的故障数据相对较少,需要增加样本数量。重叠采样方法可以保持振动信号的周期性和时变性,因此,使用重叠采样方法增加数据样本,原理如图3所示。
图3 数据重叠采样Fig.3 Data overlap sampling
为了对比说明GST 的优越性,选择正常状态和故障大小为0.4 mm 的滚动轴承内圈、外圈、滚动体数据,S 变换时频图、小波变换时频图和GST时频图,分别如图4~6 所示。从图4,图5 和图6时频图中可以看到,通过时频变换后时域信号被分解为不同频率成分,均包含丰富的时频域特征信息。正常状态样本和故障样本明显不同,正常状态样本时频能量集中在低频区域,而故障样本时频能量则集中在高频区域。通过对比图4和图6,从图4 可以明显看出S 变换存在低频处频率分辨率高,高频处时间分辨率高的问题;而从图6可以看出GST 通过参数调整窗函数大大改善了这个问题。进一步对比图5 和图6 可以看到小波变换时频能量主要集中在低频部分,GST 时频能量则在高频部分,而故障特征主要集中在高频部分,因此GST时频图可以有效提取到更多的时频特征。
图4 S变换时频图Fig.4 S-transform time-frequency diagram
图5 小波变换时频图Fig.5 Wavelet transform time-frequency diagrams
图6 广义S变换时频图Fig.6 Generalized S-transform time-frequency diagrams
引入时频聚集性度量指标对S变换、小波变换和GST 的性能进行表征,时频分辨率越高,时频聚集性度量越小,时频聚集性度量对比结果如表3所示。从表3 可以看出GST 的时频聚集性度量比S变换和小波变换时频聚集性度量更小,说明GST提高了时频图的时频分辨率,为下一步进行图像识别创造了有利条件。但是,由于GST 后生成的时频图相对较大,因此将生成的时频图同比例压缩至分辨率大小为64×64 的图像[16]。对压缩后的时频图数据集进行归一化处理,同时按照3/5,1/5,1/5 的比例随机分为训练集、验证集、测试集,此时时频图数量分别为4 800,1 600和1 600。
表3 时频聚集性度量Table 3 Time-frequency aggregation measures
实验使用的CNN 具体结构参数如表1 所示,模型超参数如算法流程中训练模型所述。将改进激活函数EReLTanh运用到CNN激活层,得到改进的CNN。实验采用Google 公司的Tensorflow 深度学习框架,运行环境为Windows10,设备配置为Core i5-9300H CPU 和NVⅠDⅠA GTX1650 GPU。
训练集(样本数为4 800)和验证集(样本数为1 600)输入改进的CNN 经过5 次迭代得到结果如图7 所示,从图7 中看出经过5 次迭代之后,模型验证集的识别准确率变换已经平稳且接近100%,损失函数已经减小到接近于0。因此,实验选择迭代次数M=5,此时准确率和损失函数已满足收敛条件,保存CNN 参数。训练好的CNN 为进行滚动轴承智能故障诊断做好了准备。
图7 训练及验证集准确率及损失函数Fig.7 Accuracy and loss functions of training and verification set
将得到的测试集送入训练好的改进的CNN 模型,并将ReLU,ELU 和ReLTanh 等3 种不同激活函数运用到CNN 激活层,得到实验结果同时对比不同激活函数对CNN 识别性能的影响。4 种不同激活函数对应的平均准确率和ReLTanh,EReLTanh 2 种激活函数CNN 平均损失函数如表4 所示。通过表4 可以看出在相同模型的情况下,使用EReLTanh 激活函数的CNN 的识别准确率最高,达到了99.89%,对比采用其他3 个激活函数的CNN准确率更高。其中采用ReLTanh 激活函数的CNN和EReLTanh 激活函数的CNN 准确率都达到99.00%以上。进一步选取准确率较高的2 个激活函数进行损失函数对比,从表4中可以看出,使用EReLTanh 激活函数的CNN 比使用ReLTanh 激活函数的CNN 损失函数更小。综上所述,EReLTanh 激活函数在模型的表现效果上更好,大大减少了需要先验知识造成判断错误的影响,在实际工程中能更加简单方便地判断出故障类型及损伤程度。
表4 测试集平均准确率和损失函数Table 4 Average accuracy and loss function of of test sets
为了证明改进的CNN 模型对于不同类别特征有较强的识别能力,CNN 全连接层输出特征进行t-SNE 降维可视化如图8 所示。通过图8 看到同种故障类型及损伤程度的特征数据点聚集在一起,区别于其他的故障,9 种类型的故障特征和正常样本特征降维后显示在不同的区域位置。从图中可以看出,图8(a)中有ⅠR0.6,OR0.4,OR0.6,B0.4和B0.6 相互混叠的特征点,图8(b)出现ⅠR0.6,OR0.6,OR0.6 和B0.6 等4 种特征点的混叠,图8(c)则同样有多种特征点的混叠,说明使用ReLU,ELU 和ReLTanh 等3 种激活函数的CNN 模型全连接层样本输出特征不能完全被分开。而图8(d)只有2 个OR0.6 混淆到B0.6 的特征点,其他不同类型的故障特征点则完全聚集在不同区域,说明使用EReLTanh 激活函数的CNN 模型能够将不同故障样本的输出特征进行相应的分类。
图8 全连接层t-SNE特征降维可视化图Fig.8 Visualization of full-connection layer t-SNE feature reduction
实验引入了多分类混淆矩阵对使用EReLTanh的CNN 模型识别能力进行对比和分析。如图9 所示,主对角线的值代表识别正确的样本,其他的值代表识别错误的样本。从图中可以看到使用ERLTanh 的CNN 除了有1 个B0.6 的故障被错误识别成ⅠR0.6 外,其余样本均识别正确,说明使用EReLTanh 激活函数运用在CNN 模型中完全可以满足工程中对正确识别样本的要求。
图9 采用EReLTanh的CNN模型混淆矩阵Fig.9 EReLTanh’s CNN model confusion matrix
分别使用S变换、小波变换和GST生成时频图样本,将不同的时频图数据集在使用EReLTanh 和ReLTanh 激活函数的CNN 中进行训练验证,同时对比使用Dropout技术的CNN 模型,得到表5 所示对比实验结果。
从表5可以看出:
表5 对比实验结果Table 5 Comparative experimental results
1)分别对比(1,2)、(3,4)和(4,5)可以看出基于激活函数EReLTanh 改进的CNN 模型识别准确率更高,损失函数更小一些,说明EReLTanh 激活函数相比于ReLTanh 激活函数和Dropout 方法有效地提高了模型的识别能力。
2)分别对比(1,3)、(2,4)和(4,6)可以看出,广义S 变化的优越性,说明GST 时频图相比S 变换时频图和小波变换时频图更适合作为神经网络模型的输入,对滚动轴承的故障识别更加有效。
3) 使用S 变换和ReLTanh 的CNN 模型识别准确率最低,使用GST 和Dropout 的CNN 损失函数最大。
1) 针对单一时域或频域信号分析特征提取相对少的问题,采用GST 生成特征信息更加丰富、时频分辨率更高的时频图作为神经网络模型的输入。
2) 为了解决使用ReLTanh 激活函数的CNN 存在过拟合的问题,将改进的EReLTanh 激活函数运用到CNN 中,得到识别和泛化能力都得到提升的改进CNN。
3) 使用自制实验平台采集到的故障数据验证了本文的方法,模型平均识别准确率达到99.89%,对比使用S 变换、小波变换和Dropout 的CNN,本文提出的方法识别率最高。同时也发现,CNN 模型训练参数较多,在诊断时效性方面有所欠缺,如何对CNN 模型进行优化降低使用的参数量是后续重点研究的内容。