基于一维卷积注意力门控循环网络和迁移学习的轴承故障诊断
2023-02-22石静雯侯立群
石静雯, 侯立群
(华北电力大学 控制与计算机工程学院,河北 保定 071003)
滚动轴承是旋转机械的重要部件。统计数据表明,近一半机械故障的发生与轴承有关[1]。因此,有效的轴承故障诊断方法备受关注[2]。传统的滚动轴承故障诊断方法常利用信号分析方法对轴承振动信号进行故障特征提取与诊断[3]。但是,传统方法难以处理复杂工况下的振动信号。近年来,深度学习以其强大的数据处理能力,被成功应用于轴承故障诊断领域。唐刚等[4]利用变分模态分解和深度置信网络,实现了轴承故障诊断。齐咏生等[5]提出了面向风电机组滚动轴承的最小熵解卷积与Teager能量算子相结合的故障诊断方法。Zou等[6]将多尺度加权熵形态滤波与双向长短期记忆神经网络(long short-term memory,LSTM)相结合,实现了滚动轴承故障诊断。Zhao等[7]利用STIM(signal-to-image mapping)映射将一维振动信号转化为二维灰度图像作为卷积神经网络的输入,并利用卷积网络实现了轴承故障诊断。
上述基于深度学习的轴承故障诊断方法虽然取得了不错的诊断结果,但其实现需要满足两个条件:①足够多的样本数据;②数据独立同分布。实际应用中,轴承运行状况复杂多变,实际获得的振动数据难以满足以上两个条件,这将直接影响故障诊断的准确性。因此,提高小样本条件下故障诊断的准确率成为目前的研究热点之一。
迁移学习能将模型已经学会的知识迁移到新的任务中[8]。其中,已学会的知识称为源域,新的任务称为目标域。迁移学习只要找到源域和目标域的相似性,就可以顺利地实现迁移。李俊卿等[9]将小波变换、卷积网络和迁移学习相结合,实现了小样本下滚动轴承的故障诊断。苏靖涵等[10]利用小波包变换方法和深度迁移自编码器提高了不同工况下的轴承故障诊断准确率。Chen等[11]首先利用连续小波变换将轴承振动信号转换为时频图,再用深度迁移卷积神经网络进行故障诊断,以提高小样本下的轴承故障诊断准确性。Shao等[12]提出了一种迁移学习深度对抗网络,解决了故障诊断标记样本不足的问题。总之,迁移学习能提高小样本或变工况下的故障诊断准确性。但文献[9-12]均是先利用小波变换、时频变换等信号处理方法进行故障特征提取,再进行故障诊断,这会造成故障信息的损失,影响故障诊断结果。
针对以上问题,本文提出了一种适用于小样本的轴承故障诊断方法。该方法首先利用一维卷积网络(1D convolutional neural networks,1DCNN)、门控循环单元网络(gated recurrent unit,GRU)和注意力机制(Attention)构建一种基于一维卷积注意力门控循环网络(1DCNN-Attention-GRU)的轴承故障诊断模型,并将轴承原始振动数据作为模型输入,以减小故障信息损失,避免故障特征提取对人工经验的依赖;然后采用基于预训练-微调的迁移学习方法,提高小样本下的轴承故障诊断的准确性。
1 理论介绍
1.1 GRU网络
图1 GRU结构图
应用深度学习算法训练网络时,迭代过程容易出现过拟合,为此,本文通过添加Dropout层来降低过拟合。对于卷积网络,一般直接将Dropout层添加到卷积层或池化层之前,但对于GRU、LSTM等循环网络来说,Dropout层的正确使用方法为:对每个时间步使用相同的Dropout掩码,简而言之就是将不随时间变化的Dropout掩码应用于层的内部循环激活(叫作循环Dropout掩码[13])。这样可以使网络沿着时间正确地传播学习误差,有利于学习过程。
1.2 注意力机制
注意力机制最早被广泛应用于自然语言处理、统计学习、语音识别等领域[14]。其核心目标是从众多信息中选择出对当前任务目标更关键的信息,从数学公式上Attention可以理解为加权求和,从形式上Attention可以理解为键值查询。对于循环卷积网络,人们通常直接将GRU层最后一个时间步作为网络的输出,这样会丢失一部分时间步的信息。本文在GRU层后面添加Attention层,这样可以从所有时间步中自动选择最相关的特征,实现对多个时间步信息的综合利用,解决长序列数据识别率低的问题,提高复杂环境下轴承故障诊断的准确性。
注意力机制结构如图2所示。将GRU网络的节点输出H=[h1,h2,…,hn],输入Attention层,进行加权求和计算,得到各项权重系数ai,即
图2 注意力机制结构图
ui=tanh(Wihi+bi)
(1)
(2)
然后将隐含变量和各项权重系数相乘,得到最终加权求和的时间步ct,即
ct=∑iaihi
(3)
式中,Wi,bs分别为隐含变量的权重矩阵和偏置。
1.3 迁移学习
迁移学习是指一种学习对另一种学习的影响,或习得经验对完成其他活动的影响[15]。Pan等[16]使用领域、任务和边际概率来描述迁移学习,定义为:领域D包含两部分,特征空间X和边缘概率分布P(X),即
D={x,P(X)}
(4)
另一方面,任务T也包含两部分,特征空间γ,目标函数f(·),即
T={γ,f(·)}
(5)
式中,f(·)为通过训练样本{xi,yi}学习得到的,从概率角度讲f(·)=P(γ|X)。
迁移学习的目标就是利用从源域DS和源任务TS中获取的相关知识提高目标域任务TT和目标域DT上的预测准确率,其中DS≠DT,TS≠TT。其学习原理图如图3所示。
按照学习方法的不同,迁移学习可分为四大类:基于实例的迁移学习、基于特征表示的迁移学习、基于模型参数的迁移学习、基于相关知识的迁移学习。本文采用的是基于模型参数的迁移方法,该方法从源域和目标域中找到他们之间共享的参数信息,以实现迁移。具体实现过程为:首先选择样本充足的数据集进行网络模型训练,确定模型参数信息;然后将卷积层、池化层、GRU层以及Attention层冻结,保留模型参数信息;添加新的全连接层,采用小样本数据对全连接层参数进行微调,得到最终的轴承故障诊断模型。
2 故障诊断模型构建
2.1 系统总体结构
为了实现在小样本变工况下的轴承故障诊断,本文利用1DCNN-Attention-GRU网络和迁移学习进行故障诊断。系统总体结构如图4所示,主要包括两部分:
图4 系统总体结构
(1) 第一部分是源域模型训练。将源域训练数据输入1DCNN-Attention-GRU网络,网络模型通过迭代训练,得到网络模型的最优参数。
(2) 第二部分是目标域模型训练。首先将源域训练好的模型中的权重参数迁移到目标域,再添加新的dense层;接着进行微调处理,冻结迁移过来的特征提取层,利用目标域少量样本数据对dense层进行微调,其余数据进行测试,完成轴承故障类型的识别。
2.2 1DCNN-Attention-GRU模型构建
为了避免特征提取依赖人工的问题,本文提出一种基于1DCNN、GRU和Attention的1DCNN-Attention-GRU故障诊断模型。其卷积层个数、优化器和dropout率需要根据实际情况进行设定,本文通过多次实验确定以上3个参数。
2.2.1 卷积层的选择
在卷积网络中,卷积层的作用是提取数据特征或进行信息匹配,池化层的作用是对输入特征进行降维,以简化网络计算复杂度,提取主要特征。因此,卷积部分网络层数的选择至关重要。如果网络层数较少,不能处理复杂问题;如果网络层数较大,计算量大大增加,简单的分类问题容易出现过拟合。本文选择不同的卷积层和池化层进行实验,实验结果如表1所示。卷积层数选择以准确率高,损失率低为标准。由表1可见,3个卷积层和两个池化层的准确率最高,达到了99.16%,损失率最低,为1.8%,因此,卷积部分选择3个卷积层和2个池化层。
表1 不同网络结构的对比
2.2.2 优化器选择
优化器的选择会影响模型的参数优化和收敛速度,本文通过多次实验比较了Adadelta、RMSprop和Adam这3种优化器的效果,实验结果如图5所示。本文以收敛速度和训练平缓程度为标准选择优化器。Adam优化器和Adadelta优化器的收敛速度相对更快,而Adam优化器的训练过程相对平缓。所以,本文选用了Adam优化器。
图5 不同优化器实验结果
2.2.3 dropout率选择
dropout是指在深度学习网络的训练过程中,按照一定的概率将该层的输出特征舍弃(设置为0)。dropout率指被设置为0的特征所占的比例。如果dropout率设置太低,其作用有限;如果dropout率设置太高,输出特征大大减少,使得训练不充分。本文将dropout率设置为0.1,0.2,0.5,0.8,比较其对网络的影响,结果如表2所示。dropout率的选择以准确率高,损失率低为标准。由表2可知,dropout率为0.2时,模型的准确率最高,损失率最低,可以有效防止神经网络的过拟合。因此本文的dropout率选为0.2。
表2 不同dropout率实验结果
通过上述实验,本文的网络模型选择了Adam优化器和0.2的dropout率,其结构参数如表3所示。
表3 网络结构参数
3 实验验证
本文使用深度学习框架Keras2.3.1和python实现和训练网络模型。实验所用硬件配置如下:CPU是Interl Core TM i5 CPU,处理器是NVIDIA GeForce MX350,内存12 G,固态硬盘512 GBPCIe 3.0。
3.1 实验数据
本文选用凯斯西储大学(Case Western Reserve University,CWRU)的轴承数据集对所提方法进行验证[17],该数据集被众多作者用来比较验证不同轴承故障诊断方法的有效性。CWRU的实验装置包括扭矩传感器、功率测试仪、电机、电子控制器和记录电机底座、驱动端和风扇端振动信号的3个加速度计。
本实验所用轴承型号为6205SKF,振动信号采样频率为12 kHz,电机转速为1 797 r/min,1 772 r/min,1 750 r/min或1 730 r/min,电机负载为0,745 W,1 470 W,2 205 W。选取上述工况下的电机驱动端振动信号构建实验数据集(D1,D2,D3,D4)。实验数据集的具体构成情况如表4所示。
表4 实验数据集
每个数据集中包括正常运行和3种故障工况(内圈故障、外圈六点钟故障、滚动体故障),故障点直径取0.177 8 mm,0.355 6 mm,0.533 4 mm,共计10种故工况。每种工况选取300个实验样本,共3 000个样本,每个样本包括1 024个采样点。
3.2 实验分析
实验一:1DCNN-Attention-GRU模型故障诊断效果验证。本实验使用数据集D1,从中随机抽取每种工况下70%,50%,30%,10%和3%的数据作为训练数据,其余数据作为测试数据,来评估所提方法的准确性。将1DCNN-Attention-GRU方法与方法1(使用1DCNN-GRU模型,不使用注意力机制)、方法2(单独使用GRU)和方法3(单独使用支持向量机(support vector machine, SVM))进行比较。
实验结果如图6所示。随着训练数据的增加,各种方法的故障诊断准确率也相应提高。当训练数据取70%和50%时,不带迁移学习的1DCNN-Attention-GRU方法和方法1(1DCNN-GRU)的诊断准确率均达到了97%。当训练数据为10%和3%时,诊断准确率大大降低。但在不同训练比例下,1DCNN-Attention-GRU算法的诊断准确率均高于方法1,说明Attention层能从所有时间步中自动选择最优值,实现对多个时间步信息的综合利用,达到提高故障诊断准确率的效果。此外,1DCNN-Attention-GRU算法的诊断效果也优于另外两种算法。
图6 实验结果
实验二:小样本、变工况条件下,故障诊断效果验证。为了验证本文所提出的带迁移学习的1DCNN-Attention-GRU方法在小样本、变工况条件下的准确性,本实验以0负载条件下的数据集作为源域,745 W,1 470 W,2 205 W负载的数据集分别作为目标域(记作D1-D2,D1-D3,D1-D4),比较了在不同样本比例下,带迁移学习的1DCNN-Attention-GRU(方法1)与不带迁移学习的1DCNN-Attention-GRU(方法2)这两种方法的故障诊断准确率。为了避免实验结果的偶然性,本实验取10次测试的平均值。实验结果如表5所示。
表5 不同样本比例下变工况故障诊断准确率
由表5可知,不同样本比例下方法1的故障诊断准确率均高于方法2。样本比例为3∶7,5∶5和7∶3时,方法1的准确率均高于99%,方法2的准确率也能达到94%以上,两种方法诊断效果相差不大。当样本比例为1∶29和1∶9时,方法1的准确率在97%以上,明显高于方法2。上述结果说明:①当目标样本较少时,本文方法可获得较高的故障诊断准确率,能在小样本条件下准确识别轴承故障;②该方法具有较好的泛化性,对不同目标域样本数据,均能得到较高的故障诊断准确率。
为了更加直观地分析所提方法的有效性,对一次D1-D2实验的结果进行了t-SNE(t-distributed stochastic neighbor embedding)可视化,如图7所示。
(a) 方法一
由图7(a)可知,方法1能对大部分样本进行正确分类。由图7(b)可知,方法2将部分B021故障样本(编号2,×图标)识别为B007故障(编号0,·图标)和B014故障(编号1,∇图标)。可见,迁移学习适合小样本数据下的轴承故障分类。
为进一步验证本文方法的优越性,又进行了D2-D3,D2-D4,D3-D4 3种迁移实验,其源域选择充足的训练样本进行训练,目标域仅使用3%的数据进行微调,剩余数据作为测试数据。本实验取5次测试的平均值,两种算法的分类结果如表6所示。
由表6可知,不带迁移学习的1DCNN-Attention-GRU方法在3种变工况实验条件下,平均故障诊断准确率为97.07%。这说明1DCNN-Attention-GRU方法具有一定的泛化能力。带迁移学习的1DCNN-Attention-GRU算法在3种变工况实验条件下的故障诊断准确率分别为99.79%,96.82%,99.51%,平均诊断准确率为98.69%,均高于不带迁移学习的方法。可见,在小样本和变工况条件下迁移学习进一步提升了方法的准确性和泛化能力。
表6 不同任务下故障诊断准确率
为了分析所提方法对具体故障的诊断情况,本文绘制了实验D2-D3中第一次诊断结果的混淆矩阵,具体如图8所示。其中,颜色的不同深浅程度代表了不同的分类准确性,颜色越深,分类准确率越高。由图8可见,本文方法仅在故障OR014处出现诊断错误,将外圈故障误判为内圈故障,总体故障诊断准确率为99.93%。
图8 混淆矩阵
4 结 论
针对轴承数据样本不足和训练、测试数据难以独立同分布的问题,本文提出了一种基于一维卷积注意力门控循环网络(1DCNN-Attention-GRU)和迁移学习的轴承故障诊断方法。并进行了实验验证,通过实验对比证明:
(1) 1DCNN-Attention-GRU故障诊断方法在不同训练样本比例下的诊断准确率均高于1DCNN-GRU、GRU或SVM故障诊断方法的准确率。
(2) 与无迁移学习的1DCNN-Attention-GRU方法相比,带迁移学习的1DCNN-Attention-GRU方法在小样本、变工况条件下的准确率更高,泛化性更好。
需要指出本文所提算法尚未在工业现场成功使用,利用实际工程数据验证该算法的有效性是我们下一步的研究重点。