基于改进交替迁移学习的滚动轴承故障诊断算法

2024-03-19 07:08李丹青
振动与冲击 2024年5期
关键词:源域故障诊断轴承

王 鹏,李丹青,王 恒

(南通大学 机械工程学院,江苏 南通 226019)

滚动轴承是机械旋转设备的关键零部件,机械设备的整体性能和工作效率与滚动轴承的运行状态息息相关,持续的损伤诱因和恶劣的运行环境都会导致轴承发生故障,使得实际的生产效率大大降低[1]。

传统的滚动轴承故障诊断方法利用信号分析的方法对轴承的振动信号进行特征提取[2]。不足之处在于过多依赖于人工的先验知识[3],并且往往需要针对特定的诊断任务调整计算过程中的参数,很难具有良好的泛化能力[4]。近年来,基于深度学习的轴承故障智能诊断,以卷积神经网络(convolutional neural network,CNN) 为代表的方法可以特征自提取以完成故障诊断[5]。雷春丽等[6]提出一种基于马尔科夫转移场(Markov transition field,MTF) 与条纹池化卷积神经网络(stripe pooling convolutional neural networks,SPCNN) 的小样本滚动轴承变工况故障诊断方法。Xu等[7]利用在线传递卷积神经网络(online transfer convolutional neural network,OTCNN) 提出了滚动轴承故障诊断模型,通过离线卷积神经网络的参数初始化离在线卷积神经网络的参数。上述研究表明CNN取得了很好的诊断效果,但是需要满足两个基本假设:①有大量的样本数据以供训练;②样本数据需要满足独立同分布。实际中采集的轴承信号,因设备复杂、多变的运行工况,很难满足以上假设,导致深度学习模型的分类效果大大降低。

迁移学习(transfer learning,TL)[8]可以在样本数据缺失条件下帮助深度学习模型实现高精度故障诊断,在视觉处理等领域取得了成功应用。同时跨域的数据分布差异问题也得到解决,在轴承故障诊断领域也有应用[9]。Zhou等[10]针对CNN面临着训练不完整和训练时间长的问题,提出了一种残差网络结合迁移学习的滚动轴承诊断方法。Wang等[11]针对实际工业中小故障样本上训练的模型精度较差,提出一种具有迁移学习和集成学习的长短期记忆(long short term memory,LSTM) 神经网络,提高模型的精度。邵海东等[12]采用仿真数据驱动获得丰富的故障信息以降低对试验台资源的依赖,提高无监督跨域场景下的故障诊断精度。

以上方法主要针对同种型号轴承变工况迁移的故障诊断。相比于同种型号的轴承,不同型号轴承之间的振动信号数据分布差异更大,所需要的模型的泛化能力更高。加上实际中采集的轴承故障信号多为小故障样本或者无故障样本,这给故障特征提取带来了巨大的难度,使得轴承故障诊断识别率很难提高。加上现研究阶段大多迁移学习只是将不同的损失函数进行加权组合,这会增加反向传播的计算难度,进而影响网络的训练时间和训练效率。

针对以上问题,本文提出了一种基于改进交替迁移学习的滚动轴承故障诊断算法,采用美国凯斯西储大学(Case Western Reserve University,CWRU)滚动轴承数据集进行了变工况、跨轴承型号和小样本条件下的迁移试验研究。与其他算法对比,本文算法有效地减少了源域与目标域数据之间的特征分布差异,具有较高的故障分类准确率,证明了本文算法的有效性和可行性。

1 基础理论

1.1 卷积神经网络

CNN属于前馈神经网络[13],网络结构可分为输入层、卷积层、池化层、全连接层和输出层。卷积层的卷积核按照设置的步长对输入进行局部卷积运算,再经过激活函数后输出特征。

池化层可以实现二次特征提取、降低卷积层输出的特征维度和减少CNN的参数。原输入特征经过池化层大小为n×n的运算后,输出特征变为原来的1/n2,个数保持不变。

CNN的最后是全连接层,全连接层可以将卷积层和池化层运算得到的特征映射到目标低维空间进行展平。全连接层再经过基于激活函数后即可获得模型的学习成果,实现数据的多分类。

1.2 迁移学习

迁移学习过程如图1所示。在迁移学习中有领域(domain)和任务(task)两个概念[14],领域D分为源域DS和目标域DT,对应的任务T也分为源任务TS和目标任务TT。领域D由特征空间X以及对应的边缘概率分布P(X)构成。

图1 迁移学习过程

D={x,P(X)}

(1)

任务T由特征空间γ和目标函数f(·)组成。

T={γ,f(·)}

(2)

迁移学习可以将从源域DS到源任务TS中学到的知识迁移到与源域DS相似的目标域DT和目标域任务TT中,通过减少跨域的分布差异、学习域不变特性,进行分类。在轴承故障诊断领域,源域中的数据一般都是带标签的轴承故障数据,多来自实验室,目标域数据大都不带数据标签。本文使用基于模型参数的迁移学习方法,针对轴承型号、故障类型、运行工况等,按照是否带标签,将滚动轴承的振动信号分成源域与目标域,对源域的任务学习得到的知识进行迁移,实现对目标域数据的准确分类。

2 基于改进交替迁移学习的滚动轴承故障诊断算法

2.1 CNN网络结构参数的设计

本文提出模型的特征提取模块由改进的深度卷积神经网络构成。针对轴承故障诊断对CNN参数进行试验选择。

(1) 卷积层、池化层设计

卷积层在CNN中负责完成对二维图像的特征提取,卷积运算表达式为

(3)

池化层对卷积层中输出的图像特征进行池化操作,具有降维效果,简化网络的计算复杂度,便于提取主要特征。较多的网络层会带来过拟合域复杂的计算量,较少的网络层则能以处理复杂问题,因此网络层的选取对特征提取的结果有很大的影响。本文选取多种卷积层与池化层方案组合进行对比试验,以选择最优网络结构构建模型。

(2) 批量标准化层优化网络结构

批量标准化层(batch normalization,BN)[15],通过规范化手段,把每层网络的输入值的分布服从(0,1)的标准正态分布,这样网络的输出值不会突变,以获得较大的梯度,避免梯度消失,同时梯度变大代表学习收敛速度变得更快,能大大加快训练速度。因此,本文在每一个卷积层后添加BN层,达到加快网络的训练和收敛的速度、降低梯度发散的概率和防止过拟合的目的。

(3) 激活函数

ReLU(·)函数不仅运算简单、计算高效,还可以加快梯度下降的收敛速度,避免出现梯度消失的问题,因此具有良好的稀疏性。本文分别选择ReLU(·)函数与Softmax(·)函数作为隐藏层与全连接层的激活函数。

2.2 改进的交替迁移学习算法

现有的迁移学习都是将损失函数进行加权组合相加,这会使得网络的计算量在反向传播的过程中大大地增加。为了进一步缩小滚动轴承在不同领域之间的距离,找到它们之间的内在不变性,本文在文献[16]的基础上,对迁移学习的损失函数及其训练方式进行了改进,提出了一种改进的交替迁移学习(improved alternately transfer learning,IATL)算法,即在第一个卷积层后计算CORAL[17]损失函数,CORAL损失函数是通过计算不同领域之间的协方差,缩小网络训练中从源域和目标域学习到的特征值的大小和范围;在全连接层中计算领域数据的最大均值差异(maximum mean discrepancy,MMD)损失与分类损失和作为损失函数。这样在不同的层中交替计算损失函数,并完成网络参数交替更新,以提高迁移学习的效果。

定义CORAL损失函数为L1,MMD损失与分类损失和作为损失函数L2。源域数据集与目标域数据集的特征协方差矩阵CS与CT定义为

(4)

(5)

式中:DS为源域数据集;DT为目标域数据集;nS为源域中样本数量;nT为目标域中样本数量。

则源域和目标域特征的二阶统计量的距离为

(6)

由深度卷积神经网络代表的模块,对源域数据与目标域数据进行特征提取,再通过域分类器分类,得到样本数据集特征标签的概率分布,最后计算真实标签与预测标签之间的特征分布差异,可以得到样本数据的分类损失,即交叉熵函数,公式为

(7)

假设两域数据的特征集合为Ds和Dt,在CNN中,源域数据集与目标域数据集通过网络的特征提取后,两个数据集的特征分布差异留在全连接层。特征集合Ds和Dt在再生核希尔伯特空间(reproducing kernel Hilbert space,RKHS) 中的分布差异用MMD来度量,MMD的定义为

(8)

则损失函数L2公式为

L2=LC+λ·DH(Ds,Dt)

(9)

(10)

式中:超参数λ为最大均值差异权重系数;p为当前的训练进度,范围为0~1,例:设置网络的训练次数为100次,当前网络已经迭代训练了50次,则p=0.5。

本文提出改进的交替迁移学习算法通过交替计算不同的损失函数并完成其反向传播,降低了网络的计算难度,在每一次网络的前向传播中只计算一次领域数据之间的特征分布差异,实现不同损失函数之间的优势互补,可以最大限度地提高不同损失在迭代中的性能,从而获得更好的训练效果。

基于改进交替迁移学习的滚动轴承故障诊断算法示意如图2所示。

图2 基于改进交替迁移学习的滚动轴承故障诊断

2.3 算法步骤

本文提出基于改进交替迁移学习的故障诊断算法流程如图3所示。步骤如下:

图3 故障诊断算法流程图

(1) 将采集得到的轴承振动信号进行源域和目标域的划分,将其中的源域数据带标签,目标域数据不带标签,标签为故障标签。

(2) 从每个样本数据中截取数据,构建二维灰度矩阵,以发挥CNN对二维特征优秀的提取能力,并对数值做归一化处理,用于模型的特征提取。将数据集划分为训练集和测试集,分别用于训练模型和验证模型的有效性。

(3) 建立深度卷积神经网络故障诊断模型,并初始化网络结构参数、损失函数的最大迭代次数、Epoch值和超参数λ。

(4) 将源域数据与目标域训练集数据对深度卷积神经网络模型进行预训练,并保存预训练模型。

(5) 在卷积层1后计算CORAL损失(即损失函数L1),接着进行提取特征,利用反向传播算法更新各层网络权重与偏置参数,对模型进行更新。

(6) 由分类器对源域数据与目标域数据进行分类,得到的对应的特征概率分布和标签差异,计算分类损失(交叉熵损失)与分布差异(MMD损失),最后输出总损失(即损失函数L2),利用反向传播算法更新各层网络权重与偏置参数,对模型进行更新。

(7) 重复步骤(5)和(6),直到达到最大迭代次数,然后停止训练。

(8) 将目标域的测试集数据和对应的真实标签输入训练好的模型,进行故障类型的识别,计算模型对目标域测试集数据的诊断精度。

3 试验验证

3.1 试验数据

本文试验采用美国凯斯西储大学电气工程实验室的滚动轴承数据开展应用研究。该试验中,驱动端与风扇端轴承型号为SKF公司的6203-2RS和6205-2RS深沟球轴承,采样频率为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。轴承故障是电火花加工的单点故障,轴承有4种运行状态:正常状态(N)、外圈故障(O)、内圈故障(I)和滚动体故障(R),轴承故障损伤直径有0.177 8 mm、0.355 6 mm和0.533 4 mm三种类型,共10种不同的故障工况。

3.2 试验方案

试验1:跨工况迁移故障诊断试验

以6203-2RS轴承为例,选取不同的工况将轴承数据集划分为4组(A、B、C、D),每组数据集包括正常状态和3种故障状态,故障状态中又包含3种故障尺寸,共10种故障工况。为了验证本文迁移算法的有效性,在不同的数据集上设置不同的故障类型的迁移任务,即跨工况迁移故障诊断试验。

以迁移任务A→B为例,则A为源域数据集,B为目标域数据集,该迁移任务的试验数据具体构成如表1所示。

表1 试验1迁移任务A→B的数据集构成

根据CWRU采样数据长度,将每个任务中的分类标签分成300个数据样本,共计3 000个数据样本,样本长度为1 024。对每一个样本进行数据预处理,转给为二维灰度图,并将源域数据集与目标域的80%轴承数据随机分为训练集,剩余的20%分为测试集。

试验2:跨轴承型号迁移故障诊断试验

选择试验1中6203-2RS风扇端轴承信号为目标域数据,6205-2RS驱动端轴承信号为源域数据,进行跨轴承型号迁移故障诊断试验。目标域数据集由6203-2RS轴承构成,与试验1一致;源域数据集由6205-2RS轴承构成,源域数据按照不同的工况将轴承数据集划分为4组(0、1、2、3),试验2的域数据故障工况划分方式与试验1相同。为了验证本文算法在跨轴承型号迁移故障诊断的有效性,在不同的数据集上设置不同的故障类型的迁移任务,即跨轴承型号迁移故障诊断试验。

以迁移任务0→B为例,则0为源域数据集,B为目标域数据集,该迁移任务的数据集如表2所示,试验2数据样本标签具体设置、数据预处理与试验1相同。

表2 试验2迁移任务0→B的数据集构成

试验3:少量带故障标签样本条件下迁移故障诊断试验

为了验证本文算法在目标样本较小条件下的可行性,在试验2的基础上,仅使用5%的目标域数据集进行训练,剩余95%数据集作为测试集数据,以测试本文算法在小样本故障数据下的轴承诊断效果。

3.3结果分析

为验证本文所提算法的有效性,与迁移成分分析(transfer component analysis,TCA)、深度域适应网络(deep domain adaptation network,DAN)、卷积神经网络(CNN)、CNN-MMD、CNN-CORAL和LATL。其中TCA是一种传统迁移学习算法,将处于不同分布的领域映射到高维空间中,在最小化域间距离的同时保留原有属性;CNN网络结构中不加入迁移学习成分,且构架与本文提出的相同;CNN-MMD与CNN-CORAL指单独使用该损失表示迁移损失,以降低领域间的特征分布差异,CNN-MMD与CNN-CORAL的网络构架也与本文相同;LATL网络结构与文献[16]保持一致。

试验1:

选取多种卷积层与池化层方案组合进行对比试验,对比结果如表3所示。5个卷积层和2个池化层的准确率最高,为99.22%,损失率最低,为1.74%。故本文选择5个卷积层和2个池化层。

表3 不同网络层对比

最终,试验1选取的深度卷积神经网络特征提取模块结构参数如表4所示。每次循环批量大小Batch size=64,学习率ε=0.001,迭代次数Epoch=100。

表4 深度卷积神经网络结构参数

基于跨工况迁移故障诊断试验,设置了12种迁移任务。将本文算法与其它四种算法在本文所提的模型上进行测试,本试验取5次结果的平均值,故障诊断结果如表5所示。

表5 试验1不同算法下故障诊断结果

根据表5中的数据,可以得到以下结论:

(1) 对于12个迁移任务,本文算法故障诊断准确率最高均值达到了97.73%,优于所有对比算法。

(2) 在该试验中,TCA虽是在高维空间中最小化源域与目标域距离,但因其衡量分布差异能力较弱,丢失了有用的分布信息,导致该算法的准确率最低。CNN可以从二维信号中学习到分布特征,平均诊断率为85.21%,究其原因是训练集数据与测试集数据分布差异较大,说明CNN需要借助迁移学习以获得更高的准确率。

(3) 由于CNN-MMD只计算源域数据与目标域数据之间的距离损失,只获得均值为85.91%诊断精度。而CNN-CORAL在网络训练中,在卷积层使用CORAL损失函数以减小了领域间数据的特征分布差异,进一步缩小从领域间数据学习得到的特征大小和特征范围,诊断结果优于CNN-MMD,获得均值为87.90%诊断精度。

(4) LATL虽然具有复杂的网络结构,交替计算两种损失函数,但是其训练时间过长,无法满足应用场景下的监测系统实时性的需要,且在本文设置的试验一中,其故障诊断准确率均值为94.92%,低于本文算法。

由于篇幅有限,仅可视化基于本文算法下的迁移任务A→B的过程和结果。迁移任务A→B的源域与目标域的时域波形与灰度图如图4所示,由于不同故障尺寸的时域波形与灰度图较为相似,本文仅展示4种故障类型的时域波形与灰度图。可见源域数据集A与目标域数据集B的时域波形与灰度图存在一定差异,表明领域间数据具有不同的分布特征。迁移结果准确率见表5,部分算法迁移结果的混淆矩阵如图5所示。可以看出,本文算法分类准确率较高,基本达到99%,有效地减少混淆样本的数量,对其他算法中错误分类的样本进行了正确分类。

(a) 源域

(a) CNN

试验2:

网络的结构参数选择方法与试验1相同,由于篇幅原因不予展示,基于跨轴承型号迁移故障诊断试验,设置了16种迁移任务。本试验取5次结果的平均值,对不同迁移任务使用不同诊断算法,故障诊断结果如表6所示。

表6 试验2不同算法下故障诊断结果

结果说明:

(1) 在跨轴承型号的迁移任务中,本文算法平均诊断率均值达94.58%,优于其他4种算法。证明本文算法在跨轴承型号条件下对轴承的故障也有较高识别率。

(2) 对于在源域与目标域具有不同特征分布的样本数据,本文所提算法能学习更多的特征,进一步减少两域之间的混淆样本数量,证明本文提出的模型具有较好的泛化能力。

(3) 与其他算法相比,本文算法准确率最高,证明本文算法通过分次计算CORAL和MMD损失函数,发挥了两种损失函数的性能,降低了领域间特征分布差异,能有效地提高模型的诊断效果。

由于篇幅有限,仅可视化基于本文算法下的迁移任务0→A过程和结果,其中数据集0为源域,数据集A为目标域,也展示4种故障类型的时域波形与灰度图。迁移任务0→A的源域数据集0的时域波形与灰度图如图6所示。

图6 迁移任务0→A中源域的时域波形与灰度图

从图6中可以看出数据集0与数据集A的时域波形不同,对应的图7灰度图也存在一定差异,具有不同的特征。迁移结果准确率见表6,迁移结果的混淆矩阵如图7所示。可见,本文算法分类准确率较高,均值达到94.58%,减少了两类的混淆样本的数量,对其他算法中错误分类的样本进行了正确分类。

(a) CNN

试验3:

试验3网络的结构参数选择方法与试验1一致,基于少量带故障标签样本条件下迁移故障诊断试验,设置了16种迁移任务,迁移任务与试验2保持一致。本试验取5次结果的平均值,对不同迁移任务使用不同诊断算法,故障诊断结果如图8所示。

图8 不同算法下的故障诊断结果比较

由图8可知,在16个目标域的样本较少的迁移任务试验中,本文算法平均诊断率最佳,均值达87.65%,证明本文算法能在小样本数据条件下对轴承的故障有高识别率;与其他算法相比,本文算法准确率最高,证明通过交替计算CORAL和MMD损失函数,降低了计算难度,也充分发挥了不同损失函数的特点,实现了不同衡量域内数据特征分布差异公式的优势互补,能有效地提高模型的诊断效果。

由于篇幅有限,仅可视化基于本文算法下的迁移任务0→A的结果,迁移任务0→A的t-SNE可视化结果如图9所示。

图9 t-SNE可视化结果图

由图9可知,利用本文算法提取的特征在4种故障状态下的分布有较大区分度,且源域数据与目标域数据在这些故障状态下特征分布空间的位置也大致相同。可见,本文算法可以有效保证不同故障类别间的特征可分性,同时将不同领域数据间的特征分布差异缩小,即缩小类内距,使得模型的故障诊断识别率得到提高。

4 结 论

针对变工况下不同的滚动轴承故障信号特征分布差异大,导致特征提取困难,提出了一种基于改进交替迁移学习的滚动轴承故障诊断算法,通过试验对比证明,结论总结如下:

(1) 将轴承一维振动信号转化为二维灰度图输入到网络中,发挥CNN对二维特征的优秀提取能力,减少了信号在与处理中的丢失,有效地实现了对故障特征的提取。

(2) 使用IATL迁移学习方式,通过分层计算不同的损失函数,解决了源域数据与目标域数据特征知识空间内的分布差异大的问题,降低了网络的计算难度。同时发挥了不同损失函数之间的特点,可以最大限度地提高不同损失在迭代中的性能,获得了更好的训练效果。

(3) 针对变工况、跨轴承型号和小样本数据条件下进行迁移试验,本文模型泛化能力强,可以将源域数据与目标域数据有很大差异的特征对准,实现滚动轴承故障诊断,对故障的类型有很好的判别能力,有着较高准确率。

(4) 需要注意的是本文所提算法并未在实际场景中使用,实际场景中运行的滚动轴承不一定有足够的故障样本数据以供故障诊断。利用轴承机理模型产生与实际数据有相似特征的数据进行迁移学习,帮助实际场景中的轴承进行故障诊断,以及实现跨机械设备故障诊断是我们下一步研究的重点。

猜你喜欢
源域故障诊断轴承
多源域适应方法综述
轴承知识
轴承知识
轴承知识
轴承知识
基于参数字典的多源域自适应学习算法
因果图定性分析法及其在故障诊断中的应用
可迁移测度准则下的协变量偏移修正多源集成方法
基于LCD和排列熵的滚动轴承故障诊断
基于WPD-HHT的滚动轴承故障诊断