李洁松, 刘 韬, 伍 星
(1.昆明理工大学 机电工程学院,昆明 650500;2. 云南省先进装备智能制造技术重点实验室,昆明 650500; 3.云南机电职业技术学院,昆明 650203)
轴承作为旋转机械关键部件,对旋转机械安全运行起到关键的作用。轴承的有效监测和故障诊断对减少经济损失和人员伤亡至关重要[1-2]。
随着轴承诊断技术的不断发展,基于深度学习的智能故障诊断方法已经被成功的应用于轴承故障诊断[3-5]。但是深度模型的训练通常需要大量有标签数据。在工程实践中,很难获取足够的数据和对应标签,这导致监督模型存在严重的过拟合问题,影响模型的有效训练[6]。
生成对抗神经网络(generative adversarial network, GAN)[7]是一种无监督网络,GAN可以生成大量与现有样本相似的新样本,从而实现对现有样本的增强。由于原始GAN易出现训练不稳定和模式崩溃问题,导致网络训练难以平衡和生成数据相似性过高[8]。针对该问题,近年来有学者通过改进GAN解决旋转机械故障诊断中故障样本不足的问题[9-11]。
但是这些方法没有考虑到实际工业现场环境噪声的干扰和设备运行条件的频繁变化。采集的训练和测试数据存在一定程度的偏移,导致从训练数据集中学习到的模型诊断性能不佳[12]。因此单纯的增强已有样本并不适用于复杂工业场景。针对变工况,自适应增强数据才能稳定生成多模式样本,提高故障诊断的可靠性。
循环一致对抗网络(cycle-consistent adversarial networks,CycleGAN)是Zhu等[13]在2017年提出的一种图像风格迁移网络。CycleGAN设计了一个种循环结构,大大的增强了网络的可靠性。因此CycleGAN被广泛的应用于图像领域,例如图像风格迁移,图像去噪以及语音信号转换的研究[14-16]。目前已经有部分学者从图像识别的角度开展迁移故障诊断研究[17],但是CycleGAN在一维振动故障诊断领域研究较少。
基于上述的说明,本文结合CycleGAN以及谱归一化(spectral normalization,SN)方法,设计适合一维振动信号的SN-1DCycleGAN,获得不同工况下自适应的映射数据,实现变工况条件下的轴承故障诊断。首先研究的源域是在某种工况下的轴承正常状态数据,目标域是和正常状态相同工况的故障信号,通过SN-1DCycleGAN建立源域和目标域的相互映射关系。因为被测机器处于正常状态时的数据通常很容易获取[18],通过不同工况的健康状态信号获得相应工况的故障信号。最后结合两种常用数据质量评价指标,以及提出一种特征分布衡量指标进行生成数据质量评估。并通过分类器准确率的提升有效证明了本文提出的方法的可行性。
GAN由一个生成器(G)和一个判别器(D)构成。生成器建立了一种令输入数据pz(z)分布接近真实数据pdata(x)分布的映射关系,从而获得生成数据G(z)。判别器则需要将真实数据x与生成数据G(z)区分开。两个网络通过损失函数进行训练,损失函数如式(1)所示。
LGAN(GMax,DMin)=Ex~pdata(x)[logD(x)]+
Ez~pz(z){log{1-D[G(z)]}}
(1)
式中:E为期望;L为损失。
Arjovsky等[19]改进了GAN损失函数提出了WGAN(wasserstein GAN),使D网络满足Lipschitz约束条件获得更稳定的生成结果,Lipschitz约束条件如式(2)所示
(2)
但WGAN的强制限制网络参数方式导致网络参数结构被破坏,降低了训练过程的稳定性。实际上,如果GAN训练网络的神经元激活函数满足Lipschitz约束条件,其影响可以忽略,此时输出可以看做网络参数矩阵与输入矩阵之间的线性映射。基于此,Miyato等[20]提出了谱归一化方法,
首先定义一个满足Lipschitz约束充要条件的映射矩阵A∶Rn→Rm,如式3所示。
(3)
对式(3)求解可得
(4)
式中,λi为矩阵A的特征值。
根据式(5)奇异值分解公式可以求得奇异值。
(ATA)vi=λivi
(5)
谱归一化保留了GAN训练网络参数间关系,但是在实际计算的时候奇异值分解计算效率低,通常采用幂迭代法来近似计算矩阵最大的奇异值,从而提升运算速度。
CycleGAN引入了循环思想其结构有4个网络,分别是GA2B∶A→B,GB2A∶B→A,DA,DB。假设有两个分布pdataA(A)和pdataB(B),GA2B和GB2A两个网络需要分别建立两个分布之间的映射关系,而DA和DB用来判断映射出分布的可靠性。
CycleGAN的损失主要由3个部分组成,分别是LGAN,LCyc以及LIde,3个部分的计算如式(6)所示。
(6)
LGAN计算生成数据与真实数据的损失;LCyc计算循环生成的数据与真实数据的1范数;LIde是防止网络过拟合的损失计算。CycleGAN的总损失函数如式(7)所示。
LCycleGAN=LGAN(GA2B,DB)+LGAN(GB2A,DA)+
λCyc*LCyc+λIde*LIde
(7)
式中:λCyc为控制LCyc的权重参数;λIde为控制LIde的权重参数。
针对1DCycleGAN在应用中存在训练网络损失下降慢、损失波动大,收敛慢等问题,在判别器的1D卷积层加入谱归一化从而减缓损失波动。网络的生成器结构如表1所示。输入数据的格式为Batch_size*channels*length。
表1 网络生成器结构Tab.1 Network generator structure
表1中:Conv1D为一维卷积层;Re_Conv1D为一维逆卷积;Ic(input channels)为输入通道数量,Oc(output channels)为输出通道数量;Ks(kernel size)为卷积核尺寸;S(strides)为卷积步长;Rp(reflection padding)为反射填充;IN(instance normlization)为实例规范化;P(padding)为卷积前数据填充的数量。网络使用Relu函数进行激活,最后一层使用Tanh激活。
生成器共有19层,其中第1层和第19层使用7×7卷积核获得范围更大的感受视野,同时进行多通道特征提取。第2层~第5层通道数增加一倍,数据长度减少一半。第6层~第14层是由残差网络构成。第15层~第18层则是将前面层提取的特征通过逆卷积重构为与输入数据尺寸相同的输出数据。
判别器的结构如表2所示。表2中:SN为谱归一化;Ap(averagepooling)为平均池化。判别器由5层全卷积层构成,需要注意的是第一层Conv1D的输出不需要规范化。每一层均由Leaky_Relu层进行激活,Leaky_Relu层设置的斜率为0.2。最后一层使用平均池化层将1×(n/16)的输入转化为Channel×1的输出。
表2 网络判别器结构Tab.2 Network discriminator structure
为了定量的分析生成数据的质量,评估网络架构的优势,本文提出了一种名为特征偏移方差(feature offset variance,FOV)的指标用来衡量生成数据特征分布和目标数据分布的偏移程度。除此之外结合经典的GAN生成数据质量评价指标(Fréchet inception distance, FID)以及迁移学习常用评价指标最大平均差异(maximize mean discrepancy,MMD)对生成信号的质量进行评估。其中:FID评价了数据之间的相关性,MMD和FOV则反映了数据特征之间的相关性。
FOV可有效表达两个数据集分布偏移程度,因此被用于评价数据分布接近程度,值越小代表分布越接近,反之亦然。具体计算如式(8)所示。
(8)
MMD度量了分布p和q之间的相似性,如式(9)所示。对于以分布生成的样本空间为输入的所有函数φ(·),如果两个分布生成的样本在φ(·)上的对应均值相等,则认为这两个分布是同一分布。
DH(x,y)=supφ∈H{Ex~p[φ(x)-Ey~qφ(y)]}
(9)
式中:sup(·)为输入集合总和;H为再生希尔伯特空间;φ(·)为非线性映射函数。本文中函数φ(·)选择高斯核函数,计算公式如式(10)所示。
(10)
本文高斯核函数的带宽选择为10。将式(10)代入式(9)简化得到式(11)。
(11)
式中:m为x的数据长度;n为y的数据长度。
FID是衡量GAN生成数据质量与多样性的指标之一,当两个分布的均值与方差相同的时候,认为两个分布相等。FID的计算公式如式12所示。
(12)
式中:μ为均值;Cov(·)为协方差;Tr(·)为矩阵的迹。
本文使用轴承仿真故障数据集和轴承模拟故障试验数据集进行理论验证。据统计在轴承故障中90%是由内圈故障和外圈故障引起的[21]。因此本文对轴承内圈故障(inner ring fault,IRF)和外圈故障(outer ring fault,ORF)进行仿真,其中仿真数据的详细推导过程如Liu等[22]所示。信号采样频率1.28×103,数据格式为256×8 192,信噪比25 dB。轴承仿真故障数据集使用的轴承型号为6206-2RZ, 滚动体直径9.525 mm,节圆直径48 mm,压力角0°,滚动体9个。由于轴承正常运行时,其振动信号分布更接近随机信号,难以得到不同转速下的正常状态轴承运行仿真信号,因此仿真试验验证部分的正常数据使用与转频相同的正弦信号代替。
轴承仿真故障数据集的详细参数如表3所示。
本文使用的轴承模拟故障试验数据集是美国凯斯西储大学的模拟轴承故障数据集[23]。试验选择了正常状态电机端3种工况的数据作为源域。选择正常状态数据对应工况故障尺寸为0.007的负载端内圈故障数据和六点钟方向的外圈故障数据作为目标域,采样频率12×103。数据的详细参数如表4所示。凯斯西储数据集的数据长度有限,采用重叠复制的方法将数据尺寸处理为256×8 192。
表4 试验数据集参数Tab.4 Test dataset parameters
算法验证的流程如图1所示。在试验之前将数据预处理为适合网络训练的尺寸。
图1 算法验证流程图Fig.1 Algorithm verification flowchart
首先是数据集划分。数据集被划分为SN-1DCycleGAN数据集和分类器数据集。其中SN-1DCycleGAN数据集如表3和表4所示。在表中:train为训练集;test为测试集;test后面的数字代表不同工况。分类器数据集为随机抽取SN-1DCycleGAN数据集中训练集故障数据的50% 作为二分类的训练集。将不参与训练的剩余50%以及SN-1DCycleGAN数据集中两种测试工况故障信号的50%作为测试集,模拟转速波动对分类准确率的影响。
其次是训练网络。输入A_train经过GA2B:A→B得到fake_B_train,输入B_train经过GB2A:B→A得到fake_A_train。A_test通过已经训练好的GA2B网络,生成变工况的故障数据fake_B_test。同时使用分类器数据集训练K最邻近算法(K-nearest neighbor,KNN)、概论神经网络(product network,PNN)、支持向量机(support vector machines,SVM)3种分类器,并得到相应的分类准确率。
最后,对生成的信号进行评估。对比生成信号和目标信号的时域和频域初步评估信号的有效性。振动信号很难通过直观感受对质量进行评估,因此提取数据的特征,画出特征散点图进一步分析数据的可靠性,本文提取了9个特征进行评估,分别是均值、有效值、歪度、峭度、峰值、峰峰值、脉冲因数、峰值因数、裕度。使用FID,MMD,FOV 3个指标用来定量衡量生成数据和目标数据的相似性。最后使用生成数据增强原始数据对3种分类器的准确率的提升证明方法的有效性。
在网络训练中,D和G学习率设置0.000 2。Batch_size为1。共训练200个epoch,在100epoch的时候学习率线性下降,在200epoch时为零。生成器的Lambda_L设置为5,Lambda_C设置为10。
训练环境为Python3.7,Pytorch1.40。所有程序在GPU型号NVIDIA quadroRTX5000(16 G),CPU型号Intel(R) Reon(R) W-2245(64G)的台式工作站运行。
仿真数据验证中,通过SN-1DCycleGAN分别对轴承外圈和内圈故障进行训练。生成结果如图2所示。在图2中图2(1)和图2(7)为测试集源域数据时域;图2(4)和图2(8)为对应生成时域;图2(3)和图2(9)为目标域的时域;图2(4)和图2(10)、图2(5)和图2(11)、图2(6)和图2(12)则分别为对应的频域。
图2 SN-1DCycleGAN生成结果Fig.2 SN-1DCycleGAN generation results
随着测试集的变化,输出也会随着变化。且峰值频率以及共振频率与真实信号相似。但是从频域来看,生成的信号信噪比较低。通过t-SNE(t-distributed stochastic neighbor embedding)对提取的特征进行降维处理进行可视化,特征散点图如图3所示。
图3 特征散点图Fig.3 Feature scatter plot
由图3可知,随着源域数据的变化,目标域的数据也会发生相应的变化,并接近真实信号分布。设计一个消融试验进一步验证1DCycleGAN-SN(1S)优势。将网络层数以及谱归一化作为变量。将生成器Resnet层前后两层卷积数量从4层减小到2层,用D1S表示;网络层数减小到2层,判别器不使用谱归一化,用O1表示。通过FID,MMD和FOV评价指标对3种方式生成的结果进行评估,结果如表5所示。
表5 各指标计算结果Tab.5 Calculation results of each indicator
由表5可知,浅层网络结构的内圈故障信号生成效果较好,但外圈较差。这是由于模拟输入转频的正弦信号,外圈模拟信号没有调制现象。因此浅层网络结构下内圈故障生成的结果优于外圈故障。由此可知,当生成网络的输入与输出没有较强对应关系时,需要更复杂的网络进行映射。
本文利用凯斯西储数据集模拟在变转速和变负载复杂工况下的数据生成条件。生成的时域和频域结果如图4所示。
在图4(a)和图4(b)中:(1)为正常状态工况为负载0时域;(4)为正常状态工况为负载2时域;(2)和(5)为对应生成故障信号;(3)和(6)为目标信号。
图4(c)和图4(d)中:(1)为负载0工况频谱;(2)为负载2。可以看出深色线条与浅色线条重合度较大。在变负载以及转速的复杂工况下,内圈故障信号的共振带频率在2 000~4 500 Hz,外圈故障信号的共振带频率在2 500~4 000 Hz,而SN-1DCycleGAN生成的内圈故障数据的频率成分和真实数据相似。消融试验评价指标结果如表6所示。
由表6可知,1S模型在IRF生成中比O1提升了1倍,同时也优于D1S。特别是ORF的生成,FID指标说明O1出现了较严重的模式崩溃,但谱归一化优化网络的生成数据质量明显提升。并且1S比D1S在FID指标上提升了9倍,MMD和FOV指标提升了1倍。证明本文提出的1S模型结构在试验数据中拥有更好的生成能力。
为了评估生成信号对数据的增强作用,本文设计了一个分类策略,通过准确率、相对准确率进行评估。首先提取信号特征。然后对分类器进行训练。分类器数据集为随机抽取表4中50%的IRF_ train和ORF_ train作为二分类的训练集。将不参与训练的IRF_ train和ORF_ train以及两种测试工况故障信号(IRF_ test 1, ORF_ test 1, IRF_ test 2, ORF_ test 2)的50%作为测试集。最后,将生成的信号加入训练集中,重新训练网络。在测试集不变的情况下,评估生成信号对准确率的影响。准确率与相对准确率的计算如式(13)所示。
(13)
将分类结果绘制成为混淆矩阵如图5所示。
图5 分类器混淆矩阵Fig.5 Classifier confusion matrix
在图5中:标签1~标签3为IRF 3种工况数据;标签4~标签6为ORF 3种工况数据。误分位置仅代表识别IRF或者ORF,不代表误分到某一个标签。
可以看出,在3种分类器中ORF_test1数据在分类结果中表现不佳,错误的分类到IRF中。在训练数据中加入生成数据后,ORF_test1的分类准确率都提升了40%左右。证明本文SN-1DCycleGAN网络结构可以对变工况数据进行增强,获得更高的分类准确率。
本文设计了一种名为SN-1DCycleGAN的数据迁移生成网络,用于变工况条件下的数据增强,提升分类器的准确率。在变工况故障诊断过程中,使用谱归一化方法,优化了一种适用于一维数据生成的CycleGAN架构,并且通过该网络建立了健康数据和故障数据的映射关系。根据变工况条件下的健康数据得到自适应的故障数据,实现不同工况数据的迁移。该网络结构直接进行数据层面的映射,减少了特征提取和特征选择带来的问题。在公共数据集上的验证试验结果表明,生成的迁移数据可以在变工况的情况下有效提升分类器的准确率。
目前,生成的数据信噪比较低。并且网络训练时输入与输出的潜在关系对网络性能影响巨大。变工况条件下生成更高质量的数据,仍是一个值得研究和关注的问题。在未来的工作,考虑从模型优化和模型输入与输出关系对生成结果影响进行研究。