夏 懿, 徐文学
(1. 安徽大学 电气工程与自动化学院, 合肥 230601;2. 安徽大学 安徽省人机共融系统与智能装备工程试验室, 合肥 230601)
滚动轴承作为很多旋转机构的核心零件,对其进行故障诊断能够有效保证设备正常平稳运行及防止重大事故发生[1]。近年来,基于机器学习、模式识别的智能故障诊断由于其较高的准确率以及良好的鲁棒性日益受到业界和学界的广泛重视。早期的智能故障诊断其一般步骤如下:针对不同轴承故障的传感器数据,首先提取其相应的分类特征,如时、频域特征以及统计学特征;然后利用这些特征通过有监督或者无监督的方式来训练一个分类模型,如支持向量机(support vector machines,SVM)[2]、人工神经网络[3]等;最后利用这些分类模型进行故障类型的预测从而实现故障诊断。传统的故障诊断方法其准确率很大程度上取决于特征提取的有效性,这就需要大量的专家知识和反复的特征选择,因此过程复杂[4]。近年来,随着深度学习技术的蓬勃发展,通过端到端的网络设计并利用大数据来学习数据的内在特征从而实现所谓的自动特征提取,这一思路已经在很多领域取得了巨大成功。在机械系统故障诊断领域,卷积神经网络(convolutional neural networks, CNN)[5]、自编码器[6]等深度神经网络不仅可以实现强分类能力特征的提取,并且具有较强的泛化能力,特别适合大数据背景下的故障诊断。
基于深度网络模型的机械故障诊断其训练需要大量的标签数据,但在实际工业应用中,针对每一个新工作环境下的机器,难以采集足够多的典型故障样本。再者,将一个事先训练的深度模型直接应用到变工况条件下的故障诊断,其隐含假设是有标记的训练数据(源域)和无标记的测试数据(目标域)来自相同的分布。然而由于工作条件的变化以及机器的差异,目标域和源域数据分布通常会出现不匹配现象,导致模型在新的工作条件下诊断性能显著下降[7]。针对这一问题,域自适应技术利用大量有标签的源域数据和无标记或者少量标记的目标域数据,力图实现模型对不同域数据分布的跨域自适应,从而提高目标域未标记数据的分类准确率,进而促进故障诊断模型的实际应用和部署[8]。Tzeng等[9]采用最大均值差异(maximum mean discrepancy,MMD )距离来度量特征向量在源域和目标域之间的距离,并通过最小化MMD距离来缩小数据特征的边缘分布在不同域之间的偏差。作为上述工作的改进,Zhu等[10]提出一种多层多核的最大均值差异分析框架并成功应用于变工况条件下的轴承故障诊断。Han等[11]将基于对抗学习的域分类器作为正则化方法引入到卷积神经网络中,提出一种新的深度对抗卷积神经网络,从而学习边缘分布跨域差异化最小的特征向量,并应用于轴承故障的跨域诊断。Chen等[12]提出利用Wasserstein距离来度量条件分布在不同域之间的差异,相应设计了一种条件自适应网络,并在4个数据集上验证了Wasserstein距离用于条件分布匹配的优越性。
实际情况中,不同域的数据不仅在边缘分布上有显著差异,在条件分布上也存在显著差异。对齐数据在不同域的边缘分布,可以学习到域不变的特征向量,但是由于没有考虑数据在不同域之间的条件分布差异,因此难以获得跨域的最优分类超平面。另一方面,如果要获取数据的条件分布在不同域之间的最佳匹配,则需要利用边缘分布的对齐来获取一个跨域的不变特征空间,进而在该空间拉近不同类别之间的条件分布。本文将多核MMD度量和Wasserstein度量结合起来,分别用于跨域的边缘分布对齐和条件分布对齐,并应用到不同工况条件下的轴承故障诊断中。两种分布的联合对齐能进一步提升样本特征与样本类别之间的关联性,得到分类性能更佳的源域到目标域的迁移模型,试验通过轴承的两种跨域故障诊断验证了该方法的有效性。
为了构建能够连接差异化使用场景的模型,域自适应技术[13]得到了广泛的研究和应用。域自适应技术本身是迁移学习的一个分支,它试图通过挖掘域不变特征来减少数据分布在不同域之间的差异。下面给出域、任务以及域自适应学习的定义:
域的定义:设样本集X=[x1,x2,…,xn]∈χ,χ为一个特征空间,数据的边缘分布为P(X),χ和P(X)构成一个域D。若有χt≠χs或者P(Xt)≠P(Xs),则Dt和Ds为两个不同的域。
任务的定义:学习任务T由标签空间Y以及标签预测函数F(X)构成。这里F(X)可以通过数据X学习得到。如果Y或函数F(X)不同,那么两个任务Tt和Ts就被认为是不同的。
域自适应学习:给定一个源域Ds以及相应的学习任务Ts,一个目标域Dt及其相应的学习任务Tt,域自适应学习利用源域Ds和学习任务Ts所积累的先验知识来建立目标域的学习任务Tt。这里一般情况下Ds≠Dt,Ts≠Tt。
传统的基于机器学习的故障诊断,为了简化问题,通常假设Ds=Dt,Ts=Tt,这显然会降低模型在不同工作条件下的诊断准确率。因此,近年来基于边缘分布和条件分布匹配的跨域自适应模型被提出,并且取得了一定的成功。
假设测试数据和训练数据来自不同但相近的域,分别是未标记的目标域Dt:{Xt}和有标记的源域Ds:{Xs,Ys}。下面分布给出边缘分布和条件分布自适应的定义,然后再引出本文所提的联合分布自适应。
1.2.1 边缘分布自适应
设目标域和源域的边缘分布分别为P(Xt)和P(Xs),且一般有P(Xt)≠P(Xs),域自适应深度模型通过学习得到嵌入特征F(Xt)和F(Xs),使得P(F(Xt))≈P(F(Xs)),从而建立从源域到目标域的知识转移。如图1的①、②,在目标域中直接使用源域训练好的判别超平面会导致大量的误分类,边缘分布自适应通过对齐两个分布的中心点来提高模型的跨域分类性能,从而减少了分类错误。
1.2.2 条件分布自适应
在实际应用中,不同数据域下的分类任务可能会有不同的判别超平面,仅仅匹配数据的边缘分布是不够的,还要考虑它们基于类别的结构信息,让源域和目标域属于同一类别的数据分布尽可能的对齐。为实现这一目标,文献[14-15]提出利用标签信息来匹配不同域的条件分布P(Y|X)。不失一般性,可以假设源域和目标域的条件分布是相同的,也即存在P(Yt|Xt)=P(Ys|Xs)。根据贝叶斯原理
(1)
为使这一假设成立,在匹配好边缘分布P(X)的情况下,还需要匹配P(X|Y)和P(Y)。进一步简化问题,假设P(Yt)=P(Ys),也即在不同的工作环境下,各类故障发生的概率是不变的,因此寻找跨域不变的条件分布使得P(Xt|Yt)≈P(Xs|Ys)就可以实现式(1)所表达的类别条件分布的对齐。从图1的②、③可知,条件分布P(Y|X)在源域和目标域的对齐,使得目标域的类别分布尽可能在结构上匹配源域的类别分布,进一步减少了分类错误,提高了域自适应的效果。
图1 不同分布自适应效果图
1.2.3 联合分布自适应
本文力图实现边缘分布和类别条件分布在源域和目标域的同时匹配,这一自适应模型为联合分布自适应。基于联合分布自适应的智能诊断模型同时最小化目标域与源域的边缘分布和条件分布min(P(F(Xt)),P(F(Xs)))和min(P(F(Xt)|Yt),P(F(Xs)|Ys)),从而可以进一步利用有标记数据的先验知识,提高跨域条件下的故障诊断准确率。
卷积神经网络是深度学习常用网络,它具有强大的特征学习能力,可以有效避免局部信息的丢失,在图像分类领域表现优异。其基础结构在Lecun等[16]提出的LeNet-5之后基本就被确定了下来。卷积神经网络由输入层、卷积层、池化层、全连接层和输出层构成,如图2所示。
图2 卷积神经网络基本结构
由于本文的输入信号是一维的,因此卷积被设计成一维运算,如图3所示。
图3 一维卷积神经网络基本结构
(2)
式中:*为一维卷积操作;n为卷积核的数量;bc为相应的偏移值;f(·)为一种激活函数。
池化操作是接着卷积后的下一步操作,对卷积后的特征进行降维,让学习到的卷积特征具有移不变性。本文使用最大池化函数,返回某一子区域内的最大值,用k表示池化长度,则第j个点的池化输出
pj=max{cj×k∶(j+1)×k}
(3)
最后采用全连接网络将卷积得到的高维特征映射成低维特征f
f=δ(wTs+b)
(4)
式中:w为连接两个全连接层的权值矩阵;b为对应的偏移值;s为输入数据;δ(·)同样表示一种激活函数。
最大均值差异MMD定义为再生核希尔伯特空间(reproducing kernel Hilbert space,RKHS)中数据分布的核嵌入距离的平方。近年来,MMD被广泛应用到域自适应领域中,通过最小化源域和目标域之间的MMD距离来进行特征的跨域自适应。MMD计算公式如下
(5)
式中:H为再生核希尔伯特空间RKHS,φ:Xs,Xt→H;ns和nt分别为源域和目标域的样本数。
为了计算特征分布在不同域之间的距离,经验上一般采用核函数法。于是,MMD的实际计算为
(6)
式中,k(*,*)为高斯核函数,其表达式为
(7)
式中,δ为核函数的带宽,可以取多个不同的值来计算MMD并叠加其计算结果,形成所谓的多核MMD,本文利用这一函数来度量边缘分布的跨域差异。
Wasserstein度量是指在给定度量空间(M,ρ)上不同概率分布之间的距离,其中的ρ(x,y)是集合M中两个样本对x和y的距离函数。两个Borel概率之间的第p阶Wasserstein距离定义为
(8)
式中:P和Q为M上具有有限p阶矩的两个概率度量;Γ(P,Q)为M×M上所有测度的集合。
根据Kantorovich-Rubinstein对偶原理[17],当M为可分离变量,1阶Wasserstein距离可等价于
(9)
本文所提联合自适应网络(joint adaptation network, JAN)结构,如图4所示,主要有3个模块:特征提取器fs,Wasserstein度量网络fw和分类器fc,其中fw和fc均为全连接网络。图4中:Conv1、Conv2为卷积层;Pool1、Pool2为池化层;F1、F2、Fc1、Fc2、Fw1和Fw2为全连接层;hs和ht分别为特征提取器提取源域和目标域隐层特征;Lc为分类损失函数;Ld为边缘分布匹配损失函数;Lwcd为条件分布匹配损失函数,网络通过优化这3种损失函数既可以针对有标签的源域数据保持较高的分类精度,同时通过联合匹配源域和目标域数据的边缘分布和条件分布,将基于源域有标签数据的诊断模型有效迁移到数据无标签的目标域空间。
图4 联合自适应网络结构
(10)
式中,K为不同高斯核的数量。
fw将源域和目标域的特征映射到一个实数,其相应的参数矩阵可以通过网络的学习得到。于是,Wasserstein距离W1(Xs,Xt)的计算如下
EPht[fw(fs(xt))]
(11)
由式(11),给定数据标签条件下的特征条件分布在源域和目标域之间的Wasserstein距离计算如下
Wcd(Xs,Xt)=EPxs[fw(fs(xs))|ys]-
(12)
由于目标域标签是未知的,本文采用一种相关标签迁移算法来获取目标域的伪标签。在源域和目标域之间的类别分布一致的情况下,针对一个训练数据批中有标签的源样本和无标签的目标样本,并不是直接利用分类网络fc所预测的后验类别概率来给这些无标签的目标样本进行标签标记。本文所采用的思想是:针对某个考虑中的无标签数据以及所有有标签数据,分类网络fc均输出一个类别概率,将距离无标签数据类别概率分布最近的某个有标签数据的类别作为该无标签数据的类别。这一过程随着网络的优化迭代,无标签数据类别预测的准确率也逐渐提高。更加具体一点,设通过fc网络预测源域和目标域的标签后验分布分别为ps,j=p(ys=c|xs)=fc(fs(xs))以及pt,i=p(yt=c|xt)=fc(fs(xt)),其中j∈ns,i∈nt。则概率分布ps,j和pt,j之间的距离或者近似度可通过kL(Kullback-Leibler)距离计算如下
(13)
得到目标域数据的伪标签后,特征条件分布在源域和目标域之间的Wasserstein距离计算为
Lwcd(Xs,Xt)=Wcd(Xs,Xt)=
(14)
在域自适应的过程中,分类器网络fc可以保证分类的准确性,同时其误差的反向传播有助于1维卷积网络学习域不变特征。fc的输出采用典型的Softmax函数,分类损失函数采用监督学习中广泛使用的交叉熵函数,具体计算如下
(15)
综合以上,最终的优化目标L如式(16),并采用自适应动量项算法 (algorithm with an adaptive momentum term,Adam)[21]来进行目标函数L(θ)优化,同时通过误差逐层传递反向更新模型参数。
L(θ)=Lc+λ1Ld+λ2Lwcd
(16)
式中,λ1和λ2为一对权衡参数,代表两种不同分布的域自适应性在目标函数中的重要性。
在轴承故障诊断中,凯斯西储大学轴承数据集[22]是目前学界广泛使用的标准试验数据库。该数据集一共有4种轴承状态的数据,即健康状态、内圈故障、外圈故障和滚子故障,并分别以12 kHz频率和48 kHz频率采样。同时,每种故障类型的数据,还根据故障严重程度的不同(0.177 8 mm、0.355 6 mm和0.533 4 mm故障直径)分为3类。每种类型的故障轴承都配有测试电机,负载分别为0、746 W、1 492 W、2 238 W,相应的电机转速分别为:1 797 r/min,1 772 r/min,1 750r/min,1 730 r/min。根据测试电机的负载不同,数据又分为4个小类。数据采集的传感器分别位于电机壳体的驱动端和风扇端,它们的位置如图5所示。
图5 试验设备
用于本文试验的不同负载、不同故障类型、不同故障尺寸的数据分布如表1所示。根据不同的故障诊断任务场景,分别设计了如下两个转移场景。
表1 试验所使用数据的分布情况
负载下的转移根据负载的不同,分别用A、B、C、D来标记0、746 W、1 492 W、2 238 W下的数据,于是它们之间的两两转移一共构成12个转移任务,具体的转移场景如表2所示。例如,转移任务A→B表示代表源域的0数据向代表目标域的746 W数据的转移,其他的均类似。每个转移任务中,源域和目标域数据均有4种故障类型,每种类型共收集300个样本(每种类型针对3种不同故障尺寸大小分别采集100个样本),每个样本包含1 200个时域数据点。
传感器位置下的转移这里本文采用文献[23]的方案,将负载0和负载2 238 W下的数据混合在一起进行故障诊断,这样每种故障类型在源域和目标域分别有2 400个样本。两个转移任务的设置如表2所示,其中E→F代表源域的驱动端数据向代表目标域的风扇端数据转移,反之用F→E表示。另外这里设置10个不同的随机种子将目标域数据随机划分10次进行测试并计算报告其结果的平均值和标准差。
表2 传输场景和任务的总结
作为预处理,通过对原始振动信号进行傅里叶变换(fast Fourier transform,FFT),从而得到其相应的频率谱信号,并以此作为网络模型的输入信号。训练数据由所有有标签的源域数据和随机抽取一半的无标签目标域数据所构成,另一半目标域数据用于测试。
试验中,联合自适应网络的参数设置,如表3所示。此外,本文工作中批处理的个数为200,学习率设置为0.000 2,采用5种不同的高斯核δ=[0.01,0.1,1.0,10.0,100.0],权重参数λ1和λ2分别设置为1.0和0.5。
表3 网络层的拓扑结构
为了评估联合自适应网络在轴承故障诊断问题上的有效性,试验中也选用了其他的深度学习方法以进行比较。
(1) 卷积神经网络不使用域自适应转移技术,网络结构与本文卷积网络一样,只用源域数据训练,目标域数据测试。
(2) 域对抗神经网络(domain adversarial training of neural networks,DANN)采用域鉴别器对模型进行对抗训练,从而学习跨源域和目标域的域不变特征。
(3) 深度适应网络(deep adaptation network,DAN)[24]使用多核MMD最小化源域和目标域之间的特征分布。
(4) 深度多层自适应网路(deep transfer learning based convolutional neural network,DTLCNN)使用多核MMD分别对特征层和分类层进行多层域自适应。
不同负载下的轴承故障诊断结果如表4所示,不具有域自适应的CNN平均诊断精度为93.30%。深度域自适应网络DANN和DAN在CNN的基础上嵌入了域自适应技术,它们的平均诊断精度分别为97.68%和98.44%,相对于CNN都有了很大的提升,说明深度域自适应对跨域故障诊断有很好的促进作用。DTLCNN平均精度为99.00%,相对DAN略有提高,说明多层特征自适应效果要好于单层特征域自适应。本文方法JAN是在DAN的基础上嵌入条件分布自适应,在各种转移任务中精度都达了100%,优于其他的深度特征自适应方法,体现了联合自适应方法的有效性。为了更好的展示联合自适应网络JAN与无域自适应网络以及其他特征自适应网络之间的对比,在图6中用柱状图显示了CNN、DAN、JAN在12项转移任务中的诊断精度。可以看出在A→D、C→A和D→A几个域差别较大的转移任务中,JAN有着比较明显的优势。
图6 负载下12项转移任务中的3种方法比较
表4 不同负载迁移的诊断结果
为了进一步验证本文网络的有效性,不同传感器位置所采集的数据也进行了知识迁移学习,其故障诊断的结果如表5所示。相对于不同负载下的知识迁移,不同位置传感器数据所体现的域之间的差别较大,为了进一步验证本文算法在这一任务上的有效性,本文又加入了传统的SVM分类方法以及传统的迁移分量分析法(transfer component analysis,TCA)[25]来进行对比试验。TCA是一种常用的迁移学习方法,使用MMD正则化子空间学习,提取一些基于专家知识的手动特征,然后使用SVM分类。
表5 不同传感器位置的诊断结果
从表5可以看出,在不同传感器位置下的知识迁移学习任务中,JAN相对其他方法有着最高的精度和最小的标准差,进一步说明本文方法可以学习到更稳定,更一致的特征。传统方法SVM直接分类,效果较差,准确率只有25%左右,传统的迁移学习方法TCA,由于使用MMD提取域相关的分类特征,相对于SVM,其分类精度有了显著的提升。无域自适应的深度学习方法CNN达到了70%以上的诊断精度,这表明深度学习相对于传统方法可以更好的学习各类故障的有效分类特征。具有深度特征自适应方法的DANN、DAN、DTLCNN,它们的分类精度在无域自适应CNN的基础上有了进一步的提高,平均诊断精度分别为87.73%、89.35%、90.05%,均比CNN提高了超过10个百分点以上,说明深度特征自适应模型可以通过深度特征匹配来最大程度的消除源域和目标域之间的差异。本文所提的联合自适应方法JAN通过同时匹配深度特征的边缘分布和条件分布,相对于其他深度特征自适应方法其分类精度又有了进一步的提升,尤其是在风扇端到驱动端F→E的转移任务中,诊断精度接近100%,比第二名的方法JAN_MMD准确率高出4.08%。JAN_MMD尝试用MMD代替Wasserstein去度量条件分布,虽然相对其他深度自适应方法有着更高的识别精度,但仍然在多数情况下不如本文所提JAN的性能好。因此,同时匹配特征的边缘分布和条件分布是非常有必要的,并且在条件分布自适应上采用Wasserstein距离去度量分布差异也是一个非常有前景的技术。
图7显示了3种代表性方法在训练过程中的分类精度,这3种方法分别为无域自适应的CNN模型,深度特征自适应的DAN模型,以及JAN模型。图7中横坐标是迭代次数,纵坐标是相应的分类准确率。由于在源域上是有监督训练,随着迭代次数的增加,3种方法在源域上的诊断精度很快就收敛到接近100%的精度。然而在无监督的目标域测试中,无域自适应的CNN模型,诊断效果比较差,由于域之间的差别,当训练达到一定的阈值,容易出现过拟合。图7中,CNN模型在50次迭代后其目标域的诊断结果就出现了过拟合现象。DAN模型由于引入了域之间的相互适应机制,因而没有出现CNN模型那样明显的过拟合现象。本文的JAN模型在目标域的诊断精度最终稳定在近100%的精度,相对前面两个模型无论是精度上,还是稳定性上,都有了很大的提升。这里需要注意的是模型在训练的时候,尽管源域很早就饱和收敛,但DAN和JAN由于具有域自适应性能,随着训练的迭代,源域和目标域的特征分布逐渐匹配,因而模型在目标域的诊断性能在后期仍然在进一步提升。针对上述3种模型,引入t分布随机邻接嵌入(t-distributed stochastic neighbor embedding, t-SNE)来非线性降维网络的最后一层特征,从而实现特征分布的可视化,不同类别的特征图显示在图8中。从图8的3个子图可以看出,CNN、DAN、JAN 3种模型所提供的特征在源域中能够很好的区分4种故障样本,但在目标域中则存在着明显的区别。如图8(a)所示,4种故障类别的目标域样本在分布上存在很大的重叠区域,而且源域和目标域的同类别特征分布也没有很好的对齐,这表明CNN所提取特征不仅在边缘分布上存在域差异,在条件分布上也存在域差异,因此导致诊断结果的退化。在图8(b)和图8(c)中,可以发现在域自适应学习框架下,分布的域自适应有了明显的改善,尤其是JAN很好地对齐了域之间同一类别的条件分布,并且可以观察到源域类别和目标域类别都有着清晰的分类结构。
(a) CNN
(a) CNN
接着,本文分析了参数学习率对本文JAN模型的影响,分别从精度上和效率上进行了分析,如图9所示,左边的纵坐标表示诊断精度,右边的纵坐标表示网络开始稳定收敛的迭代次数,横坐标表示不同的学习率。迭代次数越多,收敛速度越慢。可以清晰的看出,使用0.000 05~0.001 00的学习率,测试精度都是先增大后减小。当学习率为0.000 20时,性能达到峰值。同时,收敛速度会随着学习率的增大而加快。在性能和收敛效率之间进行权衡,将学习率设置为0.000 20。此外,本文将JAN方法在转移任务FE→DE中的3种训练损失可视化,如图10所示。可以看到JAN模型的分类损失收敛是最快的,在160次迭代之后基本趋于稳定,边缘分布匹配损失和条件分布匹配损失需要一个域自适应的过程,收敛速度慢一点,总体大概在400次迭代之后都趋于稳定。
图9 JAN模型在F→E转移任务中不同学习率下的性能
图10 JAN在F→E转移任务中的训练损失
针对不同工况下的轴承故障诊断,本文基于传统基于边缘分布对齐的深度特征自适应,考虑可利用的有标签信息以及伪标签信息,力图实现同类别特征分布在源域和目标域尽可能的对齐,最终提出一种深度联合自适应网络,分别使用最大均值差异(MMD)测度以及Wasserstein度量网络来进行数据深度特征边缘分布和条件分布的同时匹配,从而更好的学习域不变特征去实现不同故障的分类,提升模型的跨域诊断性能。试验中设计了两个迁移学习场景,即不同负载环境下的迁移和不同传感器位置环境下的迁移,前者域之间的差异较小,而后者的域差异则较大。凯斯西储大学轴承数据集上的试验结果验证了本文方法的有效性,且相对于其它深度自适应模型,本文方法不仅有着较高的跨域诊断精度,还有着不错的跨域稳定性。