当前位置:首页 期刊杂志

基于迁移堆栈自编码器的轴承故障诊断方法

时间:2024-08-31

贾美霞,韩宝坤,王金瑞,张 骁,郭 雷,赵伟涛

(1.山东科技大学机械电子工程学院,山东 青岛 266000;2.特雷克斯(常州)机械有限公司,江苏 常州 213022)

滚动轴承作为旋转机械设备的关键部件,一旦出现故障极易引发事故。实际工程中滚动轴承发生故障的类型多种多样,轴承失效会影响整个机械系统的正常运行,因此对轴承进行故障诊断和状态监测具有重要的意义[1]。研究人员一直致力于找到合适的方法进行故障诊断并预警,早期的故障诊断方法需要对检测数据进行手动特征提取,如经验模态分解[2]、小波分解[3]、信息熵[4],根据先验知识进行特征对比来识别故障,制约了识别率的提高。

近年来,随着深度学习技术的发展,深度学习在滚动轴承故障检测诊断中的应用取得了成功。如:唐立力等[5]利用遗传算法进行BP神经网络的权值和阈值优化,实现故障诊断。李晴晴等[6]基于改进的Dropout方法构建自编码网络模型,采用逐层贪婪算法提取高维数据的有效特征。徐活耀等[7]基于堆栈稀疏自编码器和Softmax 层构建的深度神经网络,通过逐层贪婪学习从振动信号中提取时域特征构建特征向量和高级特征。上述文献表明,深度学习具有强大的表征能力,能有效提取振动信号的特征,解决轴承故障诊断问题,但是对于不同工况轴承故障诊断的泛化能力不够。

迁移学习是近年来人工智能领域的一个重大突破,旨在运用已有的知识解决相关但不完全相同领域中的问题[8]。迁移学习能减小领域数据的分布差异,能够利用原有的模型解决工况改变后样本数据不带标签和少样本的问题。安增辉等[9]利用域适应方法度量不同域数据特征分布的相似性,提高模型的泛化性,实现了不同工况下滚动轴承故障诊断。张振良等[10]提出一种基于迁移学习的半监督集成学习器,分别迁移不同目标空间的高相似度样本加入到源样本空间进行训练。赵宇凯等[11]将轴承原始振动信号数据用转图像方法进行处理,利用VGG16卷积神经网络与迁移学习实现故障诊断。上述研究内容实现单一工况改变条件下轴承故障诊断,不能同时解决单一与多工况都改变条件下的问题和小样本目标域的问题。

结合上述迁移学习的应用,为了解决单一及多工况都改变条件下无标签故障类型和少样本的分类问题,本文提出一种基于迁移堆栈自动编码器的轴承故障诊断方法。该方法采用带标签的源域数据预训练堆栈自编码器分类模型,得到相应的模型参数并加以微调,利用多核最大均值差异作为评价源域和目标域的距离指标,对单一及多工况改变和少样本的目标域数据集进行故障诊断,能取得较好的分类效果。

1 理论背景

1.1 自编码器

自编码器(Auto-Encoder,AE)一种无监督的神经网络,它通过提取高维抽象特征达到降维的目的。AE由输入层、隐层、输出层(重构数据)3层网络结构组成。其中输入层到隐层的正向传导称为编码(Encoder),隐层到输出层的正向传导称为解码(Decoder),隐层主要起到特征提取的作用,自编码器网络结构如图1 所示。AE 的目的是尽可能地通过输入数据的重构以获得代表性的特征表示,其基本公式为如式(1)至式(3)所示。

图1 自编码器结构图

AE的编码过程:

AE的解码过程:

AE的损失函数:

其中:f(·)为编码器函数,g(·)为解码器函数,W1为编码器权重,b1为编码器偏置,W2为解码器权重,b2为解码器偏置,M为输入样本维数,xi表示输入数据,xi表示输出重构数据。

1.2 堆栈自编码器

堆栈自编码器(Stacked Auto Encoders,SAE)是以AE 为基本模型构建的一种深度全连接前向神经网络。一个n层SAE 就是先训练出一个自编码器,然后使用该编码器的编码输出部分作为第二个编码器的输入,继续训练下一个自编码器,以此类推。最后采用Softmax分类层[12],其神经元个数与故障类别数相同,以(x1,…,xi,…,xm)为输入,其网络结构如图2所示。

图2 SAE网络结构图

一个n层SAE的每一个编码过程如下:

一个n层SAE的每一个解码过程如下:

其中:hl表示编码的输出值,hnl+l表示解码的输出值,f(·)表示编码函数,g(·)表示解码函数,hl-1表示编码层的输入,hhl+l-1表示解码层的输入,Wl、bl表示编码层参数,Whl+l、bnl+l表示解码层参数。

输出层采取Softmax 多层进行分类,类型的标签有k个,样本中包括m个训练样本,即目标函数采用交叉熵的形式:

其中,1{·}表示指示函数,y(i)=j为样本的条件概率,当成立时返回1,不成立返回0,θ表示所有参数的集合。

1.3 多核最大均值差异

最大均值差异(Maximum mean discrepancies,MMD)是一种非参数度量,用于衡量两个分布差异性的重要指标,可以简单理解成两个不同分布的特征在样本空间连续函数上的期望。给定两个样本足够多数据分布s和t,通过映射函数f(⋅)来计算两域的MMD:

其中:F表示样本空间上函数集合,f(⋅)表示样本空间上的连续函数,Xs和Xt分布表示s和t上的特征,E代表求期望。MMD越大说明分布的差异性越大。

Gretton 等[13]在研究中证明当F是通用再生希尔伯特空间单位球内的一系列函数时,可使式(7)得到一定程度的简化,简化形式为:

其中:φ(⋅)为特征空间到希尔伯特空间ℋ的映射,ns和nt分别是s和t的样本大小。

低维空间线性不可分通过非线性映射映射到高维空间时可能实现线性可分,但是极易出现“维数灾难”,核函数k(Xs,Xt)能很好解决这一问题[13-14]。将核函数的公式代入(8)中可展开MMD,表达式为:

多核最大均值差异(Multi-kernel maximum mean discrepancies,MK-MMD)是MMD 的延伸。采用单一的核函数处理分布不均衡的数据时,其效果通常不够理想[15]。为改变这一状况,本文采用多个高斯径向基核函数进行组合,达到获取最佳特征映射的目的。

2 所提方法

2.1 模型构建方法

通过SAE对带标签源域S=进行训练,源域xsi通过SAE 模型后转化为重构数据xsi,隐含层特征经过Softmax后转化为分类数据osi,通过其损失函数Lce的迭代训练,得到源域故障分类。通过SAE 对不带标签目标域T={xt,…,xti,…,}xtM进行训练得到隐含层的特征。

通过构造多核函数将源域和目标域的数据映射到一个再生的希尔伯特空间,用于缩小数据的分布差异。其公式为:

其中:k表示核函数的个数,Hsi、Hti是源域和目标域第i层向量特征,λi是调节参数,ep表示迭代次数。

通过MK-MMD 损失函数Ld的迭代减小源域和目标域的隐含层特征的分布距离,采用多个核函数计算前三层源域和目标域的距离。

联立式(6)和式(12)可得总的损失函数为:

2.2 模型训练方法

本文提出的基于迁移堆栈自编码器的轴承故障诊断方法的总框架分为两部分:SAE 模型训练分类和MK-MMD迁移,所提出方法的主要步骤如下,其结构如图3所示。

图3 迁移堆栈自编码器网络结构图

(1)采集不同工况下模拟试验台的数据,对采集到的数据进行快速傅里叶转换,把转换后的数据分类成源域数据和目标域数据。

(2)采用SAE 网络对带标签源域数据进行分类,为防止过拟合在前三层加入Dropout层并逐层加入批标准化(BN)层。

(3)把不带标签的目标域网络放入训练好的SAE 网络,使用前三层用于测量源域和目标域隐含特征的分布差异。

(4)通过随机梯度下降优化对损失函数L(θ;xs,ys,xt)的参数进行迭代更新,最终确定目标域的分类结果。

3 实验验证

3.1 实验装置与数据

为了检验基于迁移堆栈自动编码器的轴承故障诊断方法在不同工况下故障诊断的结果,设计了一个模拟轴承故障的实验平台,如图4(a)所示。该平台主要有电动机、转盘、轴承座、齿轮箱和制动器组成。

收集到的数据集包括9种健康状况:正常(NC)、外圈故障(OF 0.2 mm、OF0.4 mm)、内圈故障(IF0.2 mm、IF0.4 mm)、滚珠故障(RF0.2 mm、RF0.4 mm)、混合故障(ROF0.2 mm、ROF0.4 mm),其状况类型如图4(b)所示。本文选取1 个数据集作为源域,用DS 表示。选取3个数据集作为目标域,分别用DT1、DT2、DT3 表示,其工况描述如表1 所示。从表1 可以看出,与DS相比较,DT1仅载重工况改变,DT2仅转速工况改变,DT3为转速和载重工况同时改变。

图4 模拟试验台及其故障状况

表1 源域和目标域数据描述

在模拟试验台上采集原始振动信号,抽取每种健康状况的信号200 段,每段包括2 400 个样本点。对样本进行快速傅里叶变换将其转换为频域信号,样本长度为1 200 维。本文设计的SAE 网络结构维数为[1 200,600,200,100,9],在SAE 隐含层加入Softmax 层,除最后分类层外,其余采用ReLU 作为激活函数,学习率为0.001,采用批训练方法,共训练400 次。对于通过SAE 的前三层基于MK-MMD 测量源域和目标域的距离。

3.2 单工况改变条件下的迁移测试

对充足数据样本DS-DT1 进行迁移训练,随着优化的进行MK-MMD 测量层的损失函数都在减小,两域的分布距离都在下降,三层MK-MMD损失函数和准确率优化曲线如图5所示。其中Ld1、Ld2、Ld3 分别表示第一层、第二层、第三层MMD 测量函数损失值,Acctrain、Acctest 分别表示源域和目标域的准确率。

图5 优化函数损失值和准确率对比图

为避免偶发性,所有的迁移模型均执行15次重复试验。DS-DT1的分类平均准确率为99.4%,其混淆矩阵如图6(a)所示。DS-DT2 迁移的分类平均准确率为99.1 %,其分类的混淆矩阵如图6(b)所示。为形象展示,采用一种非线性降维算法即t-SNE 算法[16]对所有故障类型训练样本的高维特征向量分别进行降维处理,基于DS-DT1得到可视化映射见图7(a),基于DS-DT2得到可视化映射图见图7(b)。图中S-表示DS域故障类型,T-表示DT1域故障类型。

通过图6 和图7 可以看出对于9 种健康状况,DS-DT1、DS-DT2 对正常(NC)和单一的故障类型(IF、OF、RF)分类准确。对于混合故障(ROF),DSDT1的分类准确率为0.987和0.999,DS-DT2的分类准确率为0.994 和0.993,虽略有差异但都表明分类效果较好。

3.3 双工况改变条件下的迁移测试

DT3 对应转速和载重双工况同时改变的情况,对DS-DT3进行迁移,其准确率平均为96.8%,其分类的混淆矩阵如图8 所示。与图6 中的混淆矩阵进行对比,由图8 可知DS-DT3 迁移混合故障(ROF)分类和单一故障(IF0.4、RF0.4)分类出现差异,但结果依然令人满意。

图6 混淆矩阵对比图

图7 降维可视化对比图

图8 DS-DT3迁移混淆矩阵

3.4 少样本数据条件下迁移测试

当数据集的样本较少时,在进行模型训练时不能充分提取数据集的隐含特征,极易出现过拟合[17]。由于采用少样本训练的模型泛化能力差,在进行未知特征提取时,模型不再适用,本文提出的模型将能有效解决这个问题。分别选取DT1 的5 %、10 %、20%、50%、100%进行迁移学习,每种情况训练15次,取平稳后的50 次的平均值,其目标域准确率如表2 所示。从表2 可以看出模型在目标域训练样本较少情况下,依然能达到比较准确的分类效果。

表2 少样本条件下目标域准确率

由表2可知,基于100%目标域数据集的平均准确率为99.4 %,基于5 %目标数据集的准确率为95.2%。可以看出随着样本的减少准确率的平均值和标准差降速平稳。

4 结语

堆栈自编码器网络作为一种深度学习的模型,具有强大的中间特征提取能力,能够很好提取数据集的特征。但是在实际工程中,带有标签的数据通常是稀缺的,且采集的健康状况数据通常不充足。数据的不充足在深度神经网络强大的表征能力下极易导致过拟合现象的产生。提出的基于迁移堆栈自编码器的轴承故障诊断方法能很好解决这两个问题。实验表明不论单一工况改变还是双工况同时改变,在进行迁移时采用该方法都能取得较好的分类效果。即使样本在不充足情况下,采用该方法进行迁移依然能取得较好的分类效果。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!