APP下载

基于AMCNN-BiGRU的滚动轴承故障诊断方法研究

2023-10-10鹏,军,

振动与冲击 2023年18期
关键词:注意力故障诊断卷积

徐 鹏, 皋 军, 邵 星

(1. 盐城工学院 机械工程学院,江苏 盐城 224051;2. 盐城工学院 信息工程学院,江苏 盐城 224051)

由于现代工业生产的迅速发展,滚动轴承的使用范围日益广阔,同时其运行条件和工作环境也变得异常的复杂。当滚动轴承长期处于高速、高负荷、高温度等恶劣环境中,就很容易出现点蚀、磨损、剥落等状况,导致整体设备出现故障,带来巨大的潜在维护成本,甚至是引发安全事故。据统计,在工业领域中大约30%的旋转机械故障是由滚动轴承的缺陷引起的[1]。因此,滚动轴承的健康状况影响着整个机械设备的性能、稳定性和生命周期。

采用故障诊断技术,可以有效地监测机械设备的运行状态,能够识别出故障的损伤程度及故障类型,有效提高机械设备的可靠性[2]。因此,针对滚动轴承进行故障诊断方法研究,对于提高整个设备系统的安全性有重大意义[3]。传统的故障诊断方法一般包括3个步骤:特征提取、特征选择和故障分类。通过信号处理方法对输入信号进行特征提取,并对提取的特征进行筛选,然后利用分类模型对筛选后的特征进行故障分类。虽然,这类传统方法在故障诊断领域已经获得相关成果,但是在特征提取方面较为依赖专家经验和专业知识,存在人为干扰,诊断结果不确定性高,因而制约了该类方法的实际应用[4]。

近年来,随着深度学习的快速发展,一种端到端的故障诊断方法逐渐成为故障领域的热点方向。在实际应用中,传感器所采集的振动信号多是一维时间序列,而不是二维图像。一些研究表明,在使用二维卷积神经网络模型之前,必须先对采集的振动信号进行预处理。张训杰等[5]利用格拉姆角场将滚动轴承一维振动信号转换为二维彩色图像,既保留了信号完整的信息,也保持着信号对于时间的依赖性,最后由分类器实现分类识别。Zhang等[6]利用连续小波变换将在不同频率变化条件下采集的滚动轴承一维时频信号变换到二维时频灰度图,并将灰度图输入到具有多个并行卷积层的卷积神经网络中进行训练,该方法有效提高滚动轴承在变工况下的故障检测精度。以上方法,通过不同的预处理方式将原始的一维信号转换为二维图像,虽在某些方面有一定的优势但容易损失原始振动信号中的时序信息;而且,采集到的故障信号一般是一维的振动信号,直接使用一维的卷积神经网络进行诊断理论上是比还需要维度转换的网络更加直接高效[7]。Wei等[8]采用原始的一维信号作为带训练干扰的卷积神经网络的输入,同时对训练样本采用重叠切片的方式来增加训练样本数量。他们的研究表明,使用原始信号作为卷积神经网络(convolutional neural networks, CNN)的输入,在复杂的操作环境中具有更好的泛化能力和鲁棒性。昝涛等[9]采用多输入层输入一维原始信号,同时对样本进行重叠采样,提升了传统卷积模型的准确率。虽然,以上方法使用重叠采样可以有效增加样本数量,但是未考虑到样本本身长度问题,增加了网络模型的训练时间。

卷积神经网络更多的是提取局部空间特征,无法记住历史数据信息,而循环神经网络(recurrent neural networks,RNN)对序列的非线性特征学习具有特殊优势,可以学习不同位置的时间和隐藏特征,但在进行反向传播时容易出现的梯度问题导致传统的RNN可能无法捕获长期的依赖关系[10]。门控循环单元(gated recurrent unit,GRU)使用了一种门控机制来有效克制RNN的梯度问题,它是RNN的变体。但仅考虑单向传播是不合适的,因此选择一种参数更少,性能更强的双向门控循环单元(bidirectional gated recurrent unit,BiGRU)。张立鹏等[11]利用预处理后的机械振动信号,搭建BiGRU故障诊断模型,并采用注意力机制对模型进行优化,有效提高特征提取效率。Zhang等[12]提出一种DCA-BiGRU的小样本故障诊断方法,能够在各种复杂情况下有效地进行诊断。

基于以上问题,本文提出一种基于注意力模块的卷积神经网络-双向门控循环单元(attention-based multi-scale convolutional neural network and bidirectional gated recurrent units, AMCNN-BiGRU)的滚动轴承故障诊断模型。同时,在样本数量固定的情况下,对样本进行下采样操作,每7位数据点保留一个。通过两种不同核大小的CNN从下采样后的原始振动信号中提取不同尺度的特征信息,利用通道注意力模块(efficient channel attention,ECA)对不同通道的特征进行加权融合处理,增强相关特征并抑制无关特征,然后利用BiGRU实现对时间特征的提取,最后经过Softmax函数将神经元输出转换为关于10种滚动轴承故障类型的概率分布。AMCNN-BiGRU模型具有以下优点:

(1) 使用经过下采样的一维原始振动信号作为输入,在保证准确率的情况下,有效减少了模型的训练时间。

(2) 利用ECA-net通道注意力机制可以有效对不同通道特征进行权重划分,避免冗余特征对诊断过程的干扰。

(3) 结合CNN和BiGRU两种不同网络,充分提取原始信号中的空间和时序特征,提高了诊断准确率。

整个模型不仅解决了传统故障诊断方法需要人工提取特征、诊断结果不确定性高的问题,而且模型训练时间大大减少,实现了端到端的故障诊断。最后,通过在凯斯西储大学(Case Western Reserve University,CWRU)和江南大学数据集下的多组试验,验证了AMCNN-BiGRU具有良好的准确性和鲁棒性。

1 相关理论

1.1 卷积神经网络

CNN具有局部连接、权值共享的特点,一般使用多个不同大小的卷积核进行卷积计算,并将计算结果传递给非线性激活函数,生成下一层的特征图,增强了表示能力,使学习的特征具有可分性。卷积的具体过程如式(1)所示。

(1)

池化层常添加在卷积层之后,目的是为了降低卷积层输出的维度,从而减少网络中参数量,有效的防止发生过拟合现象。常见的池化方式包括平均池化和最大池化。在一维时间序列任务中,最大池化的性能常优于平均池化。因此,采用最大池化方式,它对输入特征进行局部极大值运算,具体公式如式(2)所示。

(2)

1.2 门控循环单元

GRU使用一个更新门替代输入门和遗忘门,同时将细胞状态和隐藏状态相混合,从而有效的减少了参数量[13]。GRU单元由重置门rt和更新门zt组成,t为当前时刻。将上一时刻隐藏层状态ht-1和当前时刻的输入xt输入到rt和zt,对应的权值分别为Wr和Wz,具体公式如式(3)~式(6)所示。

rt=σ[Wr(h(t-1),xt)]

(3)

zt=σ[Wz(h(t-1),xt)]

(4)

(5)

(6)

BiGRU是GRU的变体,由正向和反向的GRU共同组成,其输出由两个GRU的状态共同决定,所以BiGRU能够充分提取到容易被忽略特征信息,有效提高GRU的性能[14]。BiGRU的运算过程与GRU类似,只是在GRU的基础上加入了反向运算[15]。

1.3 注意力机制

注意力机制在自然语言处理、图像和语音识别、文本分类等各项任务中均获得了显著的成功[16]。本文将ECA-net引入滚动轴承故障诊断领域,它是基于SE-net的扩展,使用了一种无降维的局部跨通道交互策略,避免降维对学习通道注意力带来的影响,适当的跨通道交互可以在提高性能的同时又显著降低模型的复杂度[17]。计算融合特征yi的通道注意力仅考虑其k个相邻的通道集合,公式如下

(7)

(8)

该策略可以通过1D卷积有效的实现。具体公式为

ω=σ[C1Dk(y)]

(9)

式中,C1D为1D卷积,只涉及k个参数信息。这样做仅涉及极少的参数,可以有明显的性能提升,有效地避免了模型的复杂性。

同时,该模块对于局部跨通道交互的覆盖范围通过自适应选择一维卷积的核大小k,避免了因人工选择带来的干扰。具体公式为

(10)

式中:C为特征通道数; |t|odd为最接近t的奇数;γ和b固定设置为2和1。ECA模块的基本结构如图1中的注意力模块,因为本模型的输入为一维振动信号,所以ECA模块的输入由(宽度、高度、通道数)更改为(宽度、通道数),全局池化操作也更改为GlobalAveragePooling1D。后根据试验证明,选用的ECA模块是有效可行的。

图1 基于AMCNN-BiGRU的故障诊断模型Fig.1 Fault diagnosis model based on AMCNN-BiGRU

2 AMCNN-BiGRU模型

本研究的目的是使用下采样后的一维原始振动信号实现高准确率的轴承故障诊断。通过对采样后的原始信号进行特征提取以获得内部特征表示,并利用注意力模块对所提取的不同特征进行权重划分,最后将具有不同权重的特征输入到分类器进行故障分类,从而快速检测出滚动轴承发生故障时的故障类型。本模型的基本结构包括卷积模块、注意力模块和分类器模块,如图1所示。卷积模块由两个并行的具有不同核大小和深度的一维CNN组成,这样设计的目的是宽卷积核比小卷积核能更好地抑制高频噪声,而多层的小卷积核可以使得网络更加深入,有助于获得对输入信号的良好表示,提高网络的性能。同时,在卷积层之后池化层之前加入批量归一化层,不仅可以增强模型泛化能力,同时也降低了模型过拟合的风险。注意力模块在不增加参数的原则上,首先对每个通道进行全局平均池化,然后使用局部跨通道交互策略即使用卷积核大小为k的一维卷积对不同通道进行权值计算,并通过Sigmoid函数输出。将计算得到的权值和卷积模块所提取的特征进行逐元素乘积,得到新的融合特征。

分类器模块使用了BiGRU和全连接层,用于建构输入和输出之间的复杂非线性模型。BiGRU能够通过正向反向相结合的方式同时获取时序信号的特征,确保模型能拥有双向的积聚依赖信息,达到丰富特征信息的目的。最终,特征信息包含原始信号的空间特征和时间特征,将其展平后由Softmax函数将神经元输出转换为关于10种滚动轴承故障类型的概率分布。

3 试验及结果分析

本文所提出的滚动轴承故障诊断方法整体流程图,如图2所示。获取原始振动信号经下采样后,将其随机划分成训练集、验证集和测试集。训练集和验证集用于网络模型的训练,在测试集上检验模型对轴承故障类型诊断的准确性。

图2 故障诊断整体流程图Fig.2 Overall flow chart of fault diagnosis

3.1 试验设置

试验使用Tensorflow1.12.0和Keras2.2.4深度学习框架搭建模型,编程语言为Python,在Windows10中运行。模型主要层的参数,如表1所示。其中卷积层7是注意力模块中的1D卷积层,k为卷积核大小,由式(10)根据通道数自动计算得出。训练过程中采用Adam自适应优化器,Warm-up预热策略,损失函数使用Mean_squared_error函数,学习率设置为0.000 6,batch_size为16,epochs为400。

表1 AMCNN-BiGRU模型参数设置Tab.1 AMCNN-BiGRU model parameter settings

3.2 案例一:来自CWRU数据集

3.2.1 数据的描述和划分

采用CWRU轴承数据集,该数据集常被用来检验模型的效果,具有一定代表性[18]。试验平台如图3所示。试验的对象为图中的SKF-6205电机驱动端轴承,利用放置在电机驱动端的加速度计在0,745.7 W,1 491.4 W,2 237.1 W 4种工况下分别采集所需的振动信号,信号的采样频率包括12 kHz和48 kHz。故障由电火花加工制作而成,分别位于轴承的滚动体、内圈和外圈(3点钟、6点钟、12点钟位置)。这3个位置的故障又分别分为0.177 8 mm,0.355 6 mm,0.533 4 mm 3种不同程度的损失,共计9种损伤类型。加上正常状态,每种工况下轴承的实际状态可以分为10类。

图3 CWRU数据采集试验平台Fig.3 CWRU data acquisition text platform

本试验选取的数据来自放置在驱动端的加速度计,电机工况、采样频率和转速分别固定在3 hp,48 kHz和1 730 r/min。具体数据集描述如表2所示,每类有240个长度为2 000的样本。将所有数据按7∶1.5∶1.5随机划分为训练集、验证集和测试集用于模型训练和测试,其中训练集样本数量为1 680,验证集和测试集样本数量均为360,总计2 400个样本即每种状态仅240个样本。

表2 CWRU数据集描述Tab.2 CWRU dataset description

3.2.2 数据下采样

考虑到采用的试验数据是连续测量的时序信号,正常情况下每位数据点与其相邻的数据点是高度相似的,所以本次试验没有选择使用重叠采样技术以增多样本个数,而是利用一种下采样技术对样本长度进行裁剪,每隔7位选择一个数据点,则样本实际长度由2 000缩减为250。选取局部振动加速度信号进行绘制,如图4所示。左边展示了正常和9种故障状态下的原始振动信号,右边展示了下采样后的振动信号。由图4可知,下采样后的数据基本依然能反应出原始数据的特点,但是输入数据量大大减少。

图4 下采样前后的10种轴承状态原始振动信号Fig.4 Raw vibration signals of 10 bearing states before and after downsampling

3.2.3 试验结果

为了验证下采样操作所带来的实际提升,分别构建输入长度为2 000和250的AMCNN-BiGRU模型,试验结果如表3所示。经下采样后的样本依然能够和未进行下采样的样本一样达到100%的准确率,而且网络模型的训练时间缩短为原来的1/8左右。说明下采样后的样本虽长度被裁剪但并未丢失重要的原始数据特点,分析发现下采样操作对于卷积神经网络来说,效果和池化层比较类似,一般以少量数据代替全部数据,从而达到压缩的目的,而池化层的作用包括增加网络感受野抑制噪声,降低信息冗余减少参数和计算量,防止过拟合。所以,采用下采样技术一定程度上在保证诊断准确率的同时减轻网络的输入量,从而缩短网络的训练时间,提高网络的鲁棒性。

表3 不同样本长度的试验结果Tab.3 Test results with different sample lengths

混淆矩阵图,如图5所示。图5中:横坐标为预测故障类型的标签;纵坐标为实际故障类型的标签,对角线上的数字表示正确分类的样本数量,可以看出每一类故障都可以正确诊断。模型对应训练过程中诊断准确率随着训练次数变化的曲线图,如图6所示。由图6可知,模型收敛速度很快,约20个epochs就可以达到98%以上的准确率,在此之后虽有小幅度波动的迹象,但随后就趋于稳定状态,准确率可达到100%。证明本模型可以在更短的时间内,取得更好的诊断效果。

图5 混淆矩阵图Fig.5 Confusion matrix diagram

图6 准确率与训练次数曲线图Fig.6 Accuracy and training times curve

3.2.4 噪声环境下的试验

通常轴承的工作环境都是复杂多变的,传感器采集的信号中会包含不同程度的噪音,为了验证本模型在噪声环境下的鲁棒性,在信号中加入高斯白噪声。当SNR(signal to noise ratio)为0时,复合噪声信号图,如图7所示。可以明显看出,原始的振动信号已经被破坏,很难提取故障信息。SNR的公式为

图7 复合噪声信号形成图Fig.7 Complex noise signal formation diagram

(11)

式中,Ps和Pn分别为信号功率和噪声功率。

对所提出的AMCNN-BiGRU模型和MCNN-LSTM等其他经典模型在下采样后的带有噪声的信号上进行了对比测试。其中,CNN、LSTM(long short-term memory)和BiGRU模型的网络结构尽量保持与MCNN-LSTM和AMCNN-BiGRU模型对应的模块相同,为了保证试验的可靠性,部分相关超参数的设置保持与3.1节试验设置部分相同,详细模型介绍如表4所示。以CNN为例,In[250×1],50C[20×1],P[2×1],De[10]分别为尺寸为250×1的输入,50个尺寸为20×1的卷积核,池化层大小为2×1,神经元个数为10的Dense层,花括号表示包含两个并行的卷积通道。对比的噪声范围为-2~10 dB,其诊断准确率如表5所示。根据表5的具体结果绘制了这5种方法在不同噪声环境下的准确率对比图,如图8所示。由图8可知,随着SNR的增加,每个模型的准确率都在稳步提升,在SNR=-2 dB时,LSTM的准确率最低仅为68%,所提出的模型与BiGRU可以取得相对较好的结果,但也只有80%左右,可以看出在高噪声环境下模型的诊断效果均有待提高。在SNR达到4以上时,其他4种模型的准确率比较接近,而所提模型的准确率提高了8%左右。在SNR=10 dB时,所有模型均可以取得较高的诊断结果,其中本模型的准确率更是达到了99.55%,基本可以忽略噪声的影响,验证了模型具有很好的鲁棒性。

表4 不同模型的相关参数Tab.4 Relevant parameters for different models

表5 不同模型在不同噪声环境下的诊断结果Tab.5 Diagnosis results of different models in different noise environments

图8 不同噪声环境下的不同模型对比图Fig.8 Comparison of different models in different noise environments

3.3 案例二:来自江南大学数据集

3.3.1 数据的描述和划分

为了验证本模型在不同轴承环境下的通用性,采用江南大学的轴承数据集,试验装置包括电动机、信号记录仪和加速度传感器等[19]。该数据集分别在转速为600 r/min,800 r/min和1 000 r/min下采集数据,采样频率为50 kHz。故障由线切割加工制作而成,包括健康、内圈故障、外圈故障和滚动体故障4种健康状态。

本次试验选取3种不同转速下的轴承数据,具体数据集描述如表6所示。根据转速将其划分为数据集A,B和C,其中样本长度同样利用下采样技术进行裁剪,由2 000裁剪成250个数据点。同样对每个数据集采用7∶1.5∶1.5随机划分为训练集、验证集和测试集用于模型训练和测试,其中训练集样本总数量为672,验证集和测试集样本总数量均为144,共计960个样本。

表6 江南大学轴承数据集描述Tab.6 Description of Jiangnan University bearing dataset

3.3.2不同负载下的试验

为了证明本模型在不同负载下依然能够保持较高的准确率,对于不同转速的数据集A,B,C分别进行试验,同时将本模型与一些改进的CNN模型[20]进行对比,诊断结果如表7所示。可以看出本模型明显优于其他3种模型,尤其是在数据集B,C上可以达到100%的准确率。在数据集A上的表现稍差一点,但仍然比其他3种模型高出7%以上。证实了本模型能够适应在不同负载情况下对轴承健康状态进行诊断。同时,对比两个案例中CWRU和江南大学数据集的诊断结果发现,其准确率均接近100%,说明本模型在不同数据集下都能够准确的识别出轴承的故障类型,而不是仅适用于某个特定的数据集。

表7 不同工况下的不同模型的准确率对比

3.4 可视化

通常来说,神经网络模型都被视为一个黑匣子,很难理解其内部运行机制。为了更好的理解模型每层的操作过程,以CWRU数据集中外圈故障的振动信号作为模型输入信号为例,模型分类过程中每一层神经元的激活状态进行了可视化,如图9所示。采用亮度渐变方式表示激活的程度,深灰色表示神经元没有激活,浅灰色表示神经元最大激活。可以看出,模型是如何将一段原始的难以理解的振动信号逐渐转化为最后所输出的故障标签。低层可以很好包含原始振动信号的振荡信息,但随着层数的加深,所提取的特征越来越抽象,关于类别内在信息就越多,到最后一层则仅包含类别的关键信息,即为对应的故障标签。

同时,为了验证所提出的方法能够自动从原始振动信号中提取特征无需人工处理,可视化了样本在AMCNN-BiGRU模型上的神经元表达。10种状态的轴承故障信号在经过注意力模块后的神经元激活表达,如图10所示。图10中:深灰色表示神经元没有激活;浅灰色表示神经元最大激活。由图10可知,经过卷积模块和注意力模块后,不同故障类型的信号,激活AMCNN-BiGRU第二个特征融合层的神经元个数与位置也不相同。因此可证实本方法可以从原始振动信号中自动提取相应的特征,而无需人工干预。

图10 10种故障类型经过注意力模块后的神经元表达,浅灰为最大激活,深灰色为未激活Fig.10 Neuron expression of ten fault types after passing through the attention module, light gray is maximal activation, dar grey is non-activation

在图11中将t-SNE方法应用于不同层的可视化,其中不同的颜色表示不同的故障标签。首先,可以看出随着模型的不断深入,不同标签之间分布边界逐渐清晰,可分性越来越好。比较图11(a)~图11(c),可以看出卷积模块初步提取了特征,通过ECA-net注意力模块进一步分离了部分冗杂在一起的标签,如标签3、标签5、标签9。最后,通过BiGRU分类器模块提取不同位置的隐藏特征对样本进行分类。证实了注意力模块的引入有助于样本分类,及本模型最终能够对所有样本进行正确分类。

图11 不同层的可视化Fig.11 Visualization of different layers

为了进一步解释注意力机制的效果,使用Grad_CAM可视化方法提取注意力机制的卷积核特征图来计算类激活映射图,如图12所示。

图12 Grad-CAM下10种轴承状态的可视化Fig.12 Visualization of ten bearing states under Grad-CAM

随着颜色级别的提高,特征区分度就越高,用虚线矩形框圈出了CAM较高的部分。可以发现,正常状态(标签0)下的CAM值基本都处于中等级别,而对于不同故障类型的CAM值多位于级别两端且激活位置和区域大小也不相同,说明不同状态下注意力机制所重视的通道不同,所以无需人工干预也可以有效区分故障类型。

4 结 论

提出了一种新的端到端的滚动轴承故障诊断方法。模型包括卷积模块、注意力模块和分类器模块。利用多尺度CNN从经过下采样裁剪的原始振动信号中提取特征,并通过注意力机制对不同通道的特征进行权重划分,然后输入到由BiGRU组成的分类器模块中,最后通过Softmax函数将神经元输出转换为滚动轴承故障的概率分布。

所提出的AMCNN-BiGRU模型具有以下特点:

(1) 可以适应经过下采样的一维原始振动信号作为输入,在大大降低数据量从而缩短模型训练时间的同时依然能够保持高准确率。

(2) 利用ECA-net注意力机制可以有效对不同通道特征进行权重划分,弥补了通道特征丢失、卷积局部视野难以掌握全局特征的缺点。

(3) 无需人工干预,即可直接从原始信号中自动学习特征,并通过不同网络,充分挖掘原始信号中的空间特征和时间特征,最后训练的模型能够准确地识别不同的故障状态。在CWRU和江南大学轴承数据集上验证了本方法的可行性,且诊断准确率可以达到100%。通过多种可视化的分析,也印证所提出的方法具有良好的效果。

猜你喜欢

注意力故障诊断卷积
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
因果图定性分析法及其在故障诊断中的应用
一种基于卷积神经网络的性别识别方法
基于LCD和排列熵的滚动轴承故障诊断
基于WPD-HHT的滚动轴承故障诊断