郭俊锋, 王淼生, 王智明
(兰州理工大学 机电工程学院, 兰州 730050)
随着机械设备趋向于高精度化、高复杂化、大型化和智能化,机械设备的健康状况影响着生产过程的安全性以及产品质量的稳定性.滚动轴承作为旋转机械的核心支撑部件,旋转机械的安全平稳运行离不开轴承正常工作.因此在实际生产中,对滚动轴承的运行状态进行实时的动态检测、故障分析与预测具有重要意义.
在滚动轴承运行过程中,疲劳、过载以及载荷变化过大等原因极易使轴承内外圈产生表面剥落,导致轴承受到损伤.这种剥落现象的出现是因为轴承内外圈及其滚动体长时间处于弹性变形,并且反复扭曲与弯折.如果主轴弯曲或者损坏,轴承运行过程中也会承受反复的冲击载荷而导致其出现损伤.此外,如果轴承润滑不够或密封不足导致异物侵入,也会使其剧烈磨损导致剥落类故障.因此,对轴承的剥落故障进行状态监测与诊断是保证机械设备正常工作的基础.
机械设备运行过程中的振动信号是进行故障诊断重要且可靠的依据[1-2].传统的故障诊断方法是从原始振动信号中提取有用的故障特征信息,如时域分析方法[3]、频域分析方法[4]等,但其十分依赖于技术人员的工作经验,对于经验不足的工作人员来说,这些方法很难达到期望的诊断效果.而且现今机械设备的原始振动信号呈现出海量与复杂的特点,传统的故障诊断方法很难实现对大量复杂数据的精确分析与处理[5].
随着人工智能技术的深入发展,基于深度学习的诊断方法开始应用于机械设备的故障诊断[6],这种方法可以从海量的振动数据中自动地学习提取故障特征信息,提取到的信息有助于实现准确的故障分类,减少人工经验对结果的影响,提高故障识别准确率.文献[7]中提出了一种基于深度信念网络的多传感器故障诊断方法,实现了飞机发动机的健康管理;文献[8]中提出了一种基于卷积神经网络结构的轴承故障诊断方法,在噪声环境下具有很高的准确性和鲁棒性;Zhao等[9]提出了一种基于自适应稀疏算法和无监督极限学习机相结合的滚动轴承故障诊断方法,解决了故障诊断过程中的过拟合和效率低的问题;Zhang等[10]提出了一种基于深度卷积神经网络的多模型集成深度学习方法,实现对高维数据的故障识别.对于基于深度学习的故障诊断方法而言,如果要实现准确的故障诊断,需要大量带有标签且平衡的训练数据[11].实际应用中,机械设备在正常工作状态下,可以收集到足够多的正常数据,而故障数据很少,由于成本和时间的限制,机械设备不可能在长时间的故障工况下运行,这就造成了数据集的不平衡.除此之外,基于深度学习的故障诊断方法还存在以下问题:①深度学习模型只有在训练数据集和测试数据集均服从相同分布的情况下才能取得较好的诊断效果;②在转速、负载复杂多变的工况中,基于深度学习的故障诊断模型并不通用;③难以在不同工况下获得足够多带标签的样本训练深度学习模型.
针对上述问题,提出一种基于对不平衡数据集进行二次迁移学习的滚动轴承剥落类故障诊断方法.在该方法中,生成对抗网络(GAN)是一种用于图像生成的深度学习模型,能将一维轴承原始振动信号转换为二维时频图像,更好地发挥其数据生成能力.该方法首先利用小波变换将源域和目标域数据转变为时频图,并使用源域和目标域的少量数据通过条件梯度惩罚GAN(CWGAN-GP)生成过渡数据集,然后使卷积神经网络在源域数据集、过渡数据集和目标域数据集之间进行两次迁移学习得到迁移后的模型,最后使用目标域的少量数据对迁移后的模型微调得到最终的故障诊断模型,从而进行故障诊断.实验结果表明,该方法对不同工况下滚动轴承不平衡数据集的剥落类故障有很好的诊断精度.
时频分析是一种将原始振动信号的时域频域信息转换到时频域的技术,它比单纯的时域或频域分析更具有优势.轴承振动信号具有非平稳的特性,而小波变换对非平稳信号具有很好的分析效果.虽然短时傅里叶变换也可以将振动信号转换为时频图像,但是其变换的窗口大小是固定的.因此利用小波变换将原始振动信号转换为时频图像,能使信号在低频段具有较高的频率分辨率和较低的时间分辨率,在高频段具有较低的频率分辨率和较高的时间分辨率,这非常符合信号的转换特性[12-13].小波变换定义[14]为
(1)
式中:x(t)为给定的时间序列;φ为母小波,φ*为φ的复共轭;a为控制小波展开的比例;b为标识其位置的平移因子.
GAN是一种深度生成模型,最初由Goodfellow等[15]提出,用于图像生成,模型包括生成器和判别器两部分.该模型能够很好地学习数据的特征并生成与之非常相似的数据,其训练过程是一个零和博弈过程.它以简单的噪声作为输入,通过生成器G将其映射到与真实数据相同的数据空间,判别器D则用来判断生成数据和真实数据,并且在判断过程中提高不被生成数据欺骗的能力.当判别器无法判断时,就说明生成数据的分布与真实数据的分布非常接近.GAN的目标函数如下式所示:
Ex~Pr[logD(x)]+Ex~Pg[log(1-D(x))]
(2)
式中:Pr为真实数据的分布;Pg是由两个隐式x=G(z)和z~p(z)定义的生成数据分布,其中z从简单的噪声分布中采样得到;D(x)为判别器认为x是真实样本的概率,D的目标是识别输入样本来自真实样本的概率,并将其最大化;G的目标是使生成样本的分布无限接近于真实样本分布;E为数学期望.
但是GAN在训练过程中存在梯度消失、模式崩溃、训练困难、生成数据没有指向性以及生成数据质量差的问题.为了解决GAN存在的上述问题,CWGAN-GP[16]被提出,该模型将衡量两个分布距离的Jensen-Shannon(JS)散度改为Earth-Mover(EM)距离,也被称为Wasserstein-1距离.同时该模型用梯度惩罚解决了Wasserstein GAN(WGAN)[17]权重裁剪的问题,并且在模型训练过程中加入标签信息y用于指导模型的训练过程,这些改进解决了GAN 的上述问题,并且在几乎不调节超参数的情况下,就可以生成高质量数据.结构示意图如图1所示.
图1 CWGAN-GP结构示意图
CWGAN-GP的目标函数式为
(3)
(4)
式中:ε从分布N[0,1]中采样得到.
迁移学习是将某个领域或任务上学习到的知识或模式应用到不同但相关领域中的方法.根据特征、目标域和学习方法分类,迁移学习可分为基于样本的迁移学习、基于特征的迁移学习、基于参数的迁移学习和基于关系的迁移学习[18].基于样本、特征、关系的迁移学习方法有特定的适用范围,很难达到理想的迁移效果.在实际应用中,基于参数的迁移学习方法可以共享源域和目标域的模型参数,只需对神经网络进行微调就可以很好地适应目标域,这使得基于参数的迁移学习方法具有通用性和普遍性[19].
迁移学习的域由特征空间χ和边缘概率分布P(X)两部分组成.假设源域DS以及源任务HS为
DS={χS,P(XS)}
(5)
HS={YS,fS(·)}
(6)
式中:YS为标签空间;fS(·)为预测函数.迁移学习可以将源域{(xS1,yS1), …, (xSn,ySn)}的知识信息应用到目标域DT{χT,P(XT)},从而更加准确地预测目标域特征χT对应的输出YT的类别.迁移学习的原理如图2所示.
图2 迁移学习原理示意图
在迁移学习中,如果源域和目标域差异较大,模型将无法很好地学习源域数据集的信息.本文利用CWGAN-GP构建源域向目标域迁移的过渡数据集,消除了因源域和目标域数据分布差异过大而导致的负迁移[20]问题.过渡数据集的构造方法如下:首先利用小波变换将源域和目标域原始一维振动信号转变为时频图,然后在目标域与源域训练集中随机选取相等的数据混合形成融合数据集,最后使用融合的数据集训练CWGAN-GP模型,模型收敛后,取出CWGAN-GP的生成器生成过渡数据集.
CWGAN-GP的结构如图3所示,模型结构如下:首先生成器采用反卷积结构,共有5个反卷积层.服从高斯分布的100维噪声随机变量通过卷积,被映射和整形为许多的特征图,最后转换成64像素×64像素×3大小的图像,其中3表示通道数.然后判别器采用卷积结构,共有4个卷积层,输入为64像素×64像素×3的图像,随后通过卷积,被映射和整形为许多卷积表示的特征图.最后,将全连接层作为输出层.在生成器中,前四层卷积核的大小为5×5,最后一层为3×3.在判别器中,卷积核的大小均为3×3.
图3 CWGAN-GP结构
提出的故障诊断方法首先利用小波变换,将源域和目标域数据的一维原始振动信号转换为时频图,并用源域数据集训练卷积神经网络进行一次迁移,然后用CWGAN-GP生成的过渡数据集再次对一次迁移后的卷积神经网络模型进行训练,然后进行二次迁移,随后用目标域的少量数据对训练好的模型微调,最后进行故障诊断.卷积神经网络结构如图4所示,故障诊断流程图如图5所示.
图4 卷积神经网络结构图
图5 二次迁移学习故障诊断流程图
故障诊断具体步骤如下:
步骤1利用小波变换将源域和目标域的原始振动信号转换为时频图像,并分为训练集和测试集.
步骤2在目标域和源域数据中选取少量数据混合成为融合数据集,同时将目标域的少量数据用于对二次迁移后的模型微调.
步骤3用融合数据集训练CWGAN-GP模型直到其收敛,取出CWGAN-GP的生成器生成数据构造过渡数据集.
步骤4利用源域数据集训练卷积神经网络,并用测试集进行测试,调整参数直到准确率满足要求,进行一次迁移.
步骤5在源域数据集的知识进行一次迁移以后,用过渡数据集进行再次训练,直到准确率满足要求,进行二次迁移.
步骤6固定二次迁移后得到的模型卷积层参数,利用目标域的少量数据对模型进行微调,最后得到故障诊断模型.
步骤7利用目标域的测试集对模型进行测试,得到故障诊断结果.
实验数据集来自凯斯西储大学的公开轴承数据集,该数据集利用电火花对滚动轴承进行损伤,模拟轴承内圈、外圈以及滚动体剥落故障.损伤直径分别为0.007、0.014、0.021和0.028英寸(1 英寸=25.4 mm).试验台的运行负载为0~3 HP(原始数据集中负载单位为HP,1 HP≈745 W),数据集包含轴承4种工作状态,即正常状态、内圈故障、外圈故障以及滚动体故障.数据集的振动信号通过加速度计从试验台采集,试验台如图6所示.该试验台由2 HP电动机(左)、扭矩传感器(中心)、测力计(右)和控制电子设备组成,测试轴承支撑着电动机轴.驱动端轴承型号为SKF6205,风扇端轴承型号为SKF6203.
图6 凯斯西储大学轴承试验台
实验中,将采样频率为12 kHz的风扇端和驱动端的轴承振动信号分别作为源域和目标域数据集.以风扇端工作负载0,转速 1 797 r/min,且损伤直径分别为0.007、0.014、0.021英寸的故障轴承作为源域研究对象.同时,以驱动端工作负载/转速分别为 0 HP/1 797 r/min、1 HP/1 772 r/min 和 2 HP/1 750 r/min 且损伤直径分别为0.007、0.014、0.021英寸的故障轴承作为目标域研究对象.将上述内圈、滚动体、外圈3种不同类型且不同损伤直径的故障分别记为I(i)、B(i)、O(i)(其中i=1,2,3,分别代表0.007、0.014、0.021英寸的故障大小).对于原始振动信号,为了获得尽可能多的训练样本,采取重叠采样方法,以600个点的长度为一个样本,相邻的段之间有300个点重复.负载为0 时,目标域原始振动信号如图7所示,其中Normal表示无故障的滚动轴承.
图7 目标域原始振动信号
样本分割完成后,对每个样本进行小波变换转变为时频图,在每种工作状况下,可以得到400张时频图像.将风扇端的时频图组成源域数据集,将驱动端每种工况下的时频图组成不同的目标域数据集,每种工况的轴承数据集包含10种状态.源域和目标域数据集的详细信息如表1所示.
表1 源域和目标域数据集信息
目标域中,负载在0下的数据小波变换后的结果如图8所示.在本实验中,实验的电脑系统为Windows10;CPU为Intel Core i7-9700F,3.00 GHz;RAM为16 GB;显卡为GTX1660.编程语言为Python3.6版本,深度学习框架为Keras.
图8 预处理后的样本
从图8中可以发现,小波变换后的时频图具有很好的特征辨识性,轴承每类故障之间的时频特征基本没有重叠,这说明利用小波变换将原始振动信号转换为时频图,并将其作为卷积神经网络的输入具有优势.此外,时频图可以使卷积神经网络具有更快的训练速度,取得更好的训练效果,提高故障诊断的准确率.
为了证明所提的二次迁移方法对轴承不平衡数据集剥落类故障诊断的有效性,进行了3项故障诊断任务,分别为源域0 HP向目标域0 HP、源域0 HP向目标域1 HP、源域0 HP向目标域2 HP迁移的故障诊断实验.为了训练故障诊断模型,将源域数据集按7∶3的比例划分为训练集和测试集,将目标域数据集按1∶1的比例划分为训练集和测试集.为了模拟目标域训练数据集的不平衡,将目标域的训练集中各故障类型的数据缩减到原来数据的10%,即训练数据集的不平衡率为10∶1.
同时,为了说明在不平衡数据集下,传统的各种故障诊断方法性能将会被制约,故在不进行迁移学习的情况下,使用上述不平衡数据集分别训练了多层感知器(MLP)、支持向量机(SVM)以及卷积神经网络作为对比实验.此外,为了证明不同迁移学习方法对故障诊断的效果,基于上述源域和目标域数据集进行了以下实验:一次迁移后的卷积神经网络方法(Pre-CNN)、不使用过渡数据集仅对一次迁移后的网络进行微调的方法(TCNN)以及提出的基于生成对抗的二次迁移故障诊断方法(GAN-TCNN).之后,除SVM方法外,对不使用迁移学习的方法训练30个Epoch,使用迁移学习的方法在每个迁移阶段训练30个Epoch,并在每种方法下进行10次实验,其中Epoch表示将训练数据集中的所有样本都且仅过一遍的训练过程.在不同负载下,各故障诊断方法在目标域测试集上的故障诊断平均准确率如图9所示.
图9 不同故障诊断方法在目标域上的准确率
图9结果表明,Pre-CNN的故障诊断准确率均小于30%,这说明源域和目标域的数据有很大的差异性,仅利用源域数据对模型进行训练然后进行故障诊断的方法不可行.SVM、MLP、CNN三种方法的故障诊断准确率最高达到84%左右,这说明不平衡的数据集对故障诊断的准确率有很大的影响,其中,基于SVM的浅层机器学习方法的故障诊断准确率高于基于MLP 的方法,这说明全连接的神经网络在特征提取方面的效果并不理想.虽然基于SVM的方法较好,但是其故障诊断准确率也很难再提高,并且不平衡的数据集也很容易使其过拟合.在基于TCNN的方法中,目标域负载为0时准确率达到了90%,高于CNN方法,但是当目标域的负载为 1 HP 和2 HP时,其准确率均低于CNN方法,这很可能是因为当源域和目标域数据相似时,源域数据对故障诊断起到了积极的促进作用,当源域和目标域数据差别较大时,源域数据对故障诊断产生了消极的影响.基于GAN-TCNN的方法在3种目标域负载下,均取得了最高的准确率,远远高于其他方法,这说明源域和目标域之间的过渡数据集对基于迁移学习的不平衡数据集的故障诊断起着非常重要的作用,过渡数据集将源域和目标域数据集特征联系了起来,避免了因源域和目标域差异过大而导致的负迁移问题.综上所述,所提出的方法对于不平衡数据集的滚动轴承剥落类故障能够进行很好地识别.同时负载和转速的对应关系也可说明,不管源域和目标域转速是否相同,所提方法同样能够取得不错的诊断效果.这也在一定程度上验证所提方法能够适用于识别一定转速范围内的轴承剥落类故障,但是限于实验条件的有限性,还需要进一步验证.
为了进一步评估基于GAN-TCNN的方法对不同工况下目标域轴承各类故障进行识别的能力,将该模型在每个迁移阶段训练100个Epoch后,绘制了对目标域3种工况下轴承进行故障诊断的混淆矩阵,如图10所示.
图10 不同工况下的混淆矩阵
图10结果表明,基于GAN-TCNN的方法在3种工况下对各故障类型进行故障诊断的准确率均在95%以上.其中当目标域轴承负载为2 HP时,其准确率最高,达到了99%以上.当目标域轴承负载为1 HP时,其准确率最低也达到了95%.这进一步说明所提出方法能够很好地对数据集不平衡的滚动轴承剥落类故障实现良好诊断效果.除此之外,从图中可以发现,造成故障诊断准确率低的原因可能是轴承的滚动体故障和外圈故障特征非常相似.
一般来说,深度学习的学习过程很难理解和解释,迁移学习过程更是如此.但是,通过可视化隐藏层的特征可以在一定程度上理解和解释迁移学习的故障诊断过程.为了直观地呈现GAN-TCNN迁移学习方法的学习能力和过程,在不同负载下对目标域的测试集使用t分布随机近邻嵌入(t-SNE)进行降维可视化,展示GAN-TCNN迁移学习方法在一次迁移、二次迁移和微调学习阶段提取的特征.
如图11所示,不同的颜色代表不同的故障类型.每组图从左到右依次为一次迁移、二次迁移和微调过程.从每组的一次迁移中可以发现,10种故障的特征混淆在一起,不能很好分开,这表明一次迁移后的模型进行故障诊断的效果很差,说明当训练集和测试集的分布不同时,基于深度学习的故障诊断方法无法取得很好的诊断结果.相比一次迁移,在二次迁移的图中可以看到10种故障已经很好地被区分开,但是仍有部分点混淆在一起,这说明通过构造过渡数据集作为源域和目标域的桥梁,可以对迁移学习起到积极的作用.同时,相比二次迁移,微调过程的图变化不大,但是从中可以发现,不同类型的故障特征点更加聚集,10种故障已经很好区分,只有非常少的点混淆在一起,这说明利用目标域数据对二次迁移后的模型进行微调可以提高迁移学习模型对目标域数据进行故障诊断的能力.综上所述,随着迁移学习过程的进行,相同故障类型数据的分布趋于聚集,使得分类器可以更好分类,将 GAN-TCNN 迁移学习方法用于不平衡数据集进行故障诊断是可行的.
针对基于深度学习的故障诊断模型对数据集不平衡的滚动轴承剥落类故障难以识别的问题,提出了一种二次迁移学习的故障诊断方法.该方法以轴承原始振动信号为研究对象,利用小波变换将其转换为时频图,再将其作为模型的输入,通过构建过渡数据集消除迁移学习中因源域和目标域数据集不相似而导致的负迁移和故障诊断准确率低的问题,同时在不同负载和不同转速的工况条件下也取得了较好的故障诊断效果.与不使用迁移学习以及只对源域模型进行微调的迁移学习方法相比,所提方法具有更好的泛化能力和鲁棒性,能够有效地对不平衡数据集的滚动轴承剥落类故障进行故障识别.但提出的方法依旧存在训练过程复杂、GAN训练时间长等不足之处.并且由于实验条件的限制,也未能在多个数据集上进行测试,有待进一步验证其通用性.