基于改进卷积生成对抗网络的少样本轴承智能诊断方法
2022-10-18邢晓松
郭 伟 邢晓松
电子科技大学机械与电气工程学院,成都,611731
0 引言
随着通信行业5G时代的到来,工业互联网的故障预测与健康管理(prognosis and health management,PHM)技术迎来了蓬勃发展[1]。旋转机械及其关键部件的故障诊断一直是PHM的研究热点[2]。近年来深度学习飞速发展,基于深度神经网络的智能故障诊断[3-4]越来越受到专家们的青睐,与振动信号预处理[5-6]等算法结合可进一步提高诊断的准确性。近年来智能诊断模型在工程领域的应用逐渐增多,少样本、样本不平衡[7-8]和迁移学习[9]的研究与应用已成为故障诊断的热点问题。
工程应用中,轴承的监测数据包含大量的正常样本,故障样本极少或故障类型不完备。由于缺乏故障样本,且训练阶段和测试阶段相互独立,难以获得足够的诊断知识,导致故障识别准确率不高[10-11]。WANG等[12]利用支持向量机(support vector machine,SVM)的优势改进预处理双树SVM,利用集成SVM来增强少样本的学习能力。ADIL等[13]针对少样本问题提出将指数判别分析与故障诊断结合实现故障检测与隔离。LI等[14]将异常检测与少样本在线自适应学习结合,兼具了故障分类与数据聚类的功能。ZENG等[15]提出了半监督完全核Fisher判别方法,从大量无标签样本中提取数据的全局结构,与有标签的少样本相结合,辅助提高数据投影向量的提取效果,进而提高少样本的分辨准确性。WANG等[16]指出诊断的准确性极大地依赖于故障样本的数量和类型,但是工业过程不能确保完全覆盖未来可能的故障模式,因此提出将SVM与改进粒子群算法结合,综合少样本中诊断知识与在线数据分析,提高SVM对少样本数据的分类性能。ZHANG等[17]提出了一种多故障少样本的混合诊断方法,融合了自适应局部迭代滤波、多尺度熵和核稀疏表示分类三种方法,通过信号预处理和多尺度熵来挖掘少量样本中的故障特征。
近年来,生成对抗网络(generative adversarial network,GAN)[18]为少样本难题的解决提供了新思路,衍生出许多改进的GAN网络和对抗类学习策略,如条件生成对抗网络[19]、最小二乘生成对抗网络[20]和Wasserstein生成对抗网络[21]等。在故障诊断领域,XIE等[22]提出了循环一致性GAN方法,根据其他工况下的样本生成模拟样本,实现了不同工况下的轴承故障诊断;LI等[23]构建了多个生成模型,用于不同运行条件下的轴承故障诊断;GUO等[24]提出了基于对抗学习的轴承故障诊断方法,构建了一个包含条件识别和领域自适应的诊断模型;何强等[25]提出了基于梯度惩罚Wasserstein距离的生成对抗网络,用于负载不平衡下少样本轴承数据的生成,结合注意力卷积神经网络进行故障诊断;余浩帅等[26]提出了少样本下混合自注意力原型网络,融合位置自注意力机制和通道自注意力机制来获取更具判别性的特征信息。因此,复杂工况下的少样本诊断准确性仍然是研究者关注的热点问题。
在已有研究基础上,本文提出一种基于改进卷积生成对抗网络的少样本智能诊断方法,通过改进网络的结构和性能来提高复杂数据的学习能力和诊断准确性。一方面,为了提高生成样本的质量,以卷积神经网络(convolutional neural network,CNN)为特征提取手段,构建了一种解决少样本问题的深度卷积生成对抗网络(deep convolutional GAN,DCGAN),增强数据生成能力,用以弥补少样本的不足。另一方面,改进CNN网络的结构和设置,增加网络的深度与广度,用以提高复杂数据的学习能力。最后,采用美国凯斯西储大学滚动轴承和列车轮对轴承的少样本和变工况数据对本文所提方法进行验证和分析。
1 GAN简介
GAN[18]是基于对抗理论而产生的深度学习架构,已在计算机视觉、医学图像等多个领域获得成功应用。GAN的模型框架一般包含两个部分,即生成器和判别器,如图1所示。
图1 GAN基本框架Fig.1 Framework of GAN
GAN的训练过程就是生成器和判别器相互对抗的过程。将随机噪声z输入生成器获得模拟数据,对应标签为“假”;然后由判别器判断其输入是来源于真实数据x,还是来源于生成器的模拟数据x′。通过迭代循环,二者相互对抗,使生成器所得的模拟数据能够无限逼近于真实数据,而判别器无法辨别输入数据的来源,则模型训练达到其预计目标,即纳什均衡。
GAN的优化过程是一个最大最小化过程,表达式如下[18]:
Ez~Pz(z)[lg(1-D(G(z)))]
(1)
式中,G、D分别为生成器和判别器;V(D,G)为目标函数;E为期望值;z为随机噪声;x为真实数据;Pdata为真实数据的分布;Pz为输入的随机噪声的分布。
在训练过程中,GAN的优化过程实际包含了生成器和判别器两部分的优化[18],即最大化表达式Ex~Pdata(x)[lgD(x)]+Ex~Pg(x)[lg(1-D(x))]和最小化表达式Ex~Pg(x)[lg(1-D(x))]。其中,Pg为生成器所生成的模拟数据的样本分布。训练时,固定一个网络的参数而更新另一个网络的参数,此过程交替进行。训练完成后,生成器输出的模拟数据分布与真实数据分布相似,此时判别器无法辨别数据来源。利用少量的真实数据,通过生成器和判别器的对抗学习,可以获得与真实数据接近的模拟数据,用以弥补少样本的不足。更多GAN的原理与算法说明可参考文献[18-19]。
2 少样本的智能故障诊断方法
针对少样本问题,本文提出了基于改进卷积生成对抗网络(GAN)的智能诊断方法,方法框图见图2。
图2 基于改进卷积GAN的少样本智能诊断方法框图Fig.2 Block diagram of intelligent fault diagnosis with few samples based on improved convolutional GAN
首先,将少样本的轴承数据输入DCGAN进行训练,输出模拟数据,以达到扩充样本的目的;然后,改进卷积神经网络用以辨识扩充后的数据,实现轴承数据的智能分类。为叙述方便,将本文提出的方法缩写为DCGAN-DDCNN。
2.1 深度卷积生成对抗网络
采用CGAN的对抗学习框架,其中判别器主要由多个卷积层构成,生成器由多个反卷积(转置卷积)构成,所得的网络称之为深度卷积生成对抗网络(DCGAN)。DCGAN中判别器网络结构如图3所示。判别器包含4个卷积层和2个全连接层,激活函数选取ReLU。判别器的网络设置如表1所示,网络的输入设定为56×56的二维数据,卷积核大小均采用3×3,卷积核数量按倍数依次递增,最终达到128个;每次卷积操作后会进行一次2×2最大池化层,用以降低特征图的维度;经过多次卷积以及全连接层后,输出为K维向量。
图3 DCGAN判别器结构示意图Fig.3 Diagram of the discriminator of DCGAN
表1 DCGAN判别器参数设置
DCGAN中生成器的网络结构如图4所示,网络包括一次重塑和4次反卷积操作,反卷积的卷积核大小设置为5×5。网络第一层输入为随机噪声,通过重塑操作将输入的随机噪声维度调整为7×7×128,为后续反卷积操作做准备。后续网络层均为反卷积层,通过反卷积操作还原数据大小和拓展数据信息。生成器的网络参数设置如表2所示。
图4 DCGAN生成器结构示意图Fig.4 Diagram of the generator of DCGAN
Tab.2 Parameter setting for generator ofDCGAN
2.2 改进CNN网络
为了提高多故障类型和复杂工况的轴承数据分析能力,本文在卷积神经网络中引入了密集块网络DenseNet[27]和扩容卷积(dilated convolutions)[28],构建出改进的卷积网络,称之为密集扩容卷积神经网络(dense dilated convolutional neural network,DDCNN),用于提升复杂数据的学习能力,辅助提高混合数据(轴承少样本与DCGAN生成数据)的故障分类性能。
2.2.1DenseNet网络
源于ResNet模型构建思想,HUANG等[27]提出了密集卷积神经网络,使用更少的网络参数缓解了梯度消失和模型退化的问题。该网络的核心思想是跨层连接,网络中每一层的输入都会将前面所有层输出的特征信息作为输入,同时该层的特征也会直接传递给后面的所有层作为输入,以保证层级之间最大程度的信息传输。
DenseNet由三个密集块(dense block)组成,每个密集块中包含多个网络层。在密集块内部,任意层都会通过短连接与之后的每一层相连接,因此后一层的输入是该层之前所有层的串联。因此,第l层接收了之前所有层的特征映射,即x0,x1,…,xl-1:
xl=Hl([x0,x1,…,xl-1])
(2)
其中,[x0,x1,…,xl-1]表示在0,1,…,l-1层生成的特征映射的串联,Hl(·)为一个复合函数,包含了批标准化、以ReLU为激活函数的线性化和3×3卷积核。为了便于实现,将式(2)中多个复合函数Hl(·)串联成一个张量。如果每个复合函数Hl产生k个特征映射,那么第l层将有k0+k×(l-1)个特征映射输入,这里k0指输入层的通道数。
2.2.2扩容卷积
扩容卷积[28]亦称为空洞卷积,最早用于解决图像语义分割中部分特征在池化过程中丢失的问题。扩容卷积采用了稀疏的卷积核,可以在不增加网络参数的情况下,扩大网络的感受野,获得与交替使用卷积操作和池化操作相同的效果。图5展示了不同扩容率的3×3卷积核。
(a)扩容率为1 (b)扩容率为2 (c)扩容率为3图5 设定扩容率为1、2和3时卷积神经网络的感受野示意图Fig.5 Schematic diagrams of receptive field in CNN by setting dilation rates of 1 in (a), 2 in (b), and 3 in (c)
在图5中,当扩容率为1时,扩容卷积和普通卷积一致;当扩容率为2时,3×3卷积核的感受野大小为5×5;当扩容率为3时,卷积核的感受野大小为7×7。因此,对于一个k×k的卷积核,当扩容率为l时,感受野的边长为k+(k-1)×(l-1)。
2.2.3改进卷积神经网络
本文在DenseNet中加入扩容卷积,形成了改进的卷积神经网络,即DDCNN,其结构如图6所示。
图6 DDCNN网络结构示意图Fig.6 Diagram of the DDCNN
数据输入之后会先进行一次卷积操作。然后会依次进入密集块和过渡层(transition layer),如图7所示。整个网络包含4个密集块和3个过渡层的交替连接,即形成堆叠的密集网络单元,此结构可以降低特征图的尺寸,结合密集块结构缓解深度网络的梯度消失问题。
图7 DDCNN中密集网络单元的结构图Fig.7 Block diagram of a dense block in DDCNN
图7中箭头汇集处的短连接代表各阶段特征图的串联。在经过4个密集块和3个过渡层之后,网络提取的特征进入一个分类层(classification layer)。在分类层采用全局平均池化(global average pooling,GAP)并利用SoftMax函数得到最终的分类结果,网络参数细节设置如表3所示。在不增加参数计算量的情况下增大卷积核的感受野,从深度和广度两个维度提高网络的特征提取能力,并通过短连接缓解了深层网络的梯度消失问题。下面将通过实验对本文方法进行验证和对比。
表3 DDCNN网络参数设置
3 实验结果与对比
3.1 实验数据说明
本节所用实验数据为美国凯斯西储大学公开的轴承振动数据[29]。待检测的轴承人工损伤直径包括0.007 in(0.178 mm)、0.014 in(0.356 mm)、0.021 in(0.534 mm)、0.028 in(0.712 mm)和0.04 in(0.102 mm),损伤位置分别设在3点钟、6点钟、12点钟方向,采样频率为12 kHz。实验中选取了前三种故障程度较轻的轴承,用以分析较小故障时的分类性能。
3.2 数据处理
(1)数据增强。通过信号分割充分利用采集到的振动数据。考虑到轴承冲击信号与电机转速有关,参考电机转速来设定每段信号的长度,如每段信号长度应大于或等于电机旋转一圈所采集到的数据点,使其包含至少一个完整的冲击信号周期。
对于美国凯斯西储大学的数据集,驱动端轴承故障数据采样频率为48 kHz,电机的转速为1724 r/min,电机旋转一圈大约可以采集到1670个信号点。因此,综合考虑数据的周期性以及网络模型的输入尺寸需求,设定每段信号长度为3136个数据点,相邻信号段之间有一定重叠,表达式如下:
n=(N-1)(Lseg-Loverlap)+Lseg
(3)
式中,n为样本总长度;N为样本数量;Lseg为每个样本的长度;Loverlap为相邻样本的重叠程度。
本实验中每个采集信号提取出500个样本。
(2)样本设置。实验轴承包含不同故障和不同损伤程度,共计10个类别,每种类别提取出500个样本,则总样本数为5000。设定训练和测试数据比例为4∶1,因此每种类别随机取400个样本用于训练,剩余100个样本用于测试,详情如表4所示。其中,“0”表示无损伤,“1”表示损伤直径0.007 in(0.178 mm),“2”表示损伤直径0.014 in(0.356 mm),“3”表示损伤直径0.021 in(0.534 mm);“500(4∶1)”表示500个样本中随机取400个用于训练,其余100个用于测试。
表4 美国凯斯西储大学轴承数据健康状态及标签
3.3 实验结果
下面验证DCGAN的样本生成性能。对于表4中每个类别,从400个训练样本中随机抽取5、10、50和100个作为DCGAN网络中的真实数据,由生成器输出模拟数据,通过对抗学习提高生成器的数据模拟能力。生成器和判别器均采用Adam算法进行优化,学习率设定为0.001。
随机选取一个生成数据与真实数据进行对比。图8a显示了真实数据样本的频谱0~4 kHz的部分,图8b显示了生成器经过训练后获得的模拟样本的主要频谱,图8c为二者叠加的对比图,二者的频谱特性基本一致。当真实数据更多时,生成器可以较快收敛。采用此方法将表4中每个类别的训练样本扩充至400个,即训练样本为模拟数据,而测试样本源于真实数据,每个类别包含100个样本,用于后续的故障分类。
(a)真实数据
3.4 方法比较
为了对比DDCNN网络的性能,引入以下两种方法进行对比,简要说明如下:
(1)多尺度CNN(multi-scale CNN,MSCNN)[30]由一个proposal子网络和一个检测子网络组成。proposal子网络中,在多个尺度输出层进行检测,使接受域匹配不同尺度的对象,将这些不同尺度的检测结果组合构造出一个多尺度检测器。通过优化多任务损失函数,可实现网络的端到端学习。
(2)包含密集块的CNN网络,简写为DCNN,此网络结构与本文方法相似,只是网络中未设置扩容卷积。
上述两种方法的输入与DDCNN一致,结果如图9所示。从图中可以看出:当训练样本中真实样本数量大于等于10时,DDCNN的诊断准确率超过了99%;采用相同的生成数据时,MSCNN和DCNN方法的准确率略低。表明DCGAN在训练样本数大于或等于10时能够很好地拟合真实数据的分布,与DDCNN结合可以获得更准确的诊断结果。
图9 4种深度网络在少样本时的故障诊断准确率对比Fig.9 Comparison of fault diagnosis accuracies obtained by applying four deep networks to bearings with few samples
当真实样本数仅为5时,DDCNN仍能获得96.54%的准确率,另外两种网络的准确性明显下降,但仍维持在90%以上,说明DCGAN具有较好的数据生成能力,可以在样本量十分小的情况下模拟分析数据的分布。而三种卷积网络结构差异导致诊断性能不同,卷积结构的改变确实有助于提高网络的分类性能。
图9中CGAN为原始对抗网络,与本文方法相比,当采用相同分类器DDCNN时,其分类准确性相比DCGAN明显偏低,表明后者的数据模拟能力更强,可以较好地还原真实数据的分布。
4 变工况轮对轴承故障识别
4.1 数据说明
轮对轴承试验台如图10所示,试验台包括驱动电机、皮带传送装置、轮轴、轮对轴承、载荷施加装置等,其中轮对轴承位置标记为图10中①的位置,外圈与轴承座固定不旋转,通过轴承上方安装的加速计采集振动信号。实验采集了不同工况条件下的振动数据,采样频率为12.8 kHz。为确保安全,实验工况只达到现场实验能允许的载荷和速度。轴承状态分为10类,详细样本情况如表5所示。待分析数据中包含10种不同类型数据,包括正常和不同程度的故障数据和故障类型,用以检验网络性能。
图10 轮对轴承试验台Fig.10 Test platform for the wheelset bearing
表5 轮对轴承样本类型及分类标签
4.2 实验结果与对比
将采集到的振动数据进行分割,每段样本的长度为3136个数据点,相邻样本重叠500个数据点;设置4种少样本情况,从每类实验数据中随机抽取5、10、50和100个真实样本分别输入DCGAN,分别通过生成器获得400个样本用于训练;从实验数据中每类提取100个样本用于测试。在DCGAN生成的数据中随机选取一个样本进行对比,结果如图11所示。图11a为轮对轴承一个真实数据的部分频谱图,图11b为生成器输出的模拟数据从局部频谱图,图11c所示为二者对比的情况,结果表明生成器具有较强的模拟能力。
图12对比了3种分类器DDCNN、MSCNN和DCNN的分类结果。根据实验结果可以发现:
(1)DCGAN的数据生成能力使其可以利用少量样本模拟真实数据,不论选用何种分类器,均可获得较为准确的识别结果,轴承状态识别准确率最低为88.68%,最高为99.21%,可有效缓解少样本导致的模型学习能力变差的问题。
图12 3种深度学习方法对轮对轴承少样本的诊断结果Fig.12 Accuracy comparisons using three deep learning algorithms for few samples of wheel bearings
(2)DDCNN具有更好的类别区分能力。与MSCNN和DCNN相比,DDCNN对轮对轴承的多状态分类具有较高的识别准确率,能够区分不同轴承的健康状态与转速变化;而MSCNN因其具有多尺度检测能力,与加入密集块结构的DCNN相比,前者的类别区分能力略好。
4.3 噪声敏感性和不平衡样本测试与对比
本节对上述3种深度网络的噪声敏感性和不平衡样本情况进行对比分析。
首先,实验中在DDCNN的训练样本中添加一定程度的高斯白噪声,信噪比(signal-to-noise ratio,SNR)定义为有用信号的功率和噪声功率的比值:
(4)
式中,Ps和Pn分别为有用信号s和噪声信号n在周期T时间段内的平均功率。
选取10个实验样本生成的模拟数据分别添加了不同程度的高斯白噪声,相应的信噪比为0 dB、-1 dB和-2 dB,表6显示了3种网络在此种情况下的分类准确性。对比表中结果可以看出,3种深度网络的分类准确性相比图12的结果有明显的下降,但输入样本未经过信号预处理,通过深度学习依然可以提取出数据中的主要特征,能够较为准确地区分轴承状态。同时,与其他两种方法相比,本文所提DDCNN仍具有较高的分类准确率,结果表明所构建的网络对噪声的敏感性较低,若与信号预处理方法结合可适应比较复杂的诊断情况。
表6 噪声和不平衡样本情况下3种深度网络分类性能对比
其次,选取表5中的3种不同轴承类别,分别设置较少的训练样本,用以分析多分类模型在样本不均衡时网络的学习能力。表6中“C9-10”表示设定表5中的类别C9对应的训练样本为10个,而其他类别训练样本仍为400个,用以对比网络性能差异。对其他两类轴承数据C4和C6也将样本数量设置为不均衡模式,分类结果见表6。其结果与图12中10个真实样本情况相近,表明不同类别间的样本不平衡对网络诊断性能影响较小,尽管部分类别的样本较少,但生成器只需对该类别进行模拟即可,所得误差较小,在实际使用时无需对每个类别采集同样数量的数据。
通过实验轴承与轮对轴承的验证与分析结果表明,本文提出的DCGAN-DDCNN的结构能够更好地应对复杂工况下的少样本数据分析,并具有更好的类别辨识能力,能够完成较为复杂的数据学习与智能诊断任务。
5 结论
本文提出了一种基于改进卷积生成对抗网络的少样本轴承智能诊断方法。利用生成对抗网络的对抗学习功能,可从少量真实数据中提取其特征,进而生成相似的数据,用以缓解少样本导致的网络学习不充分的问题。同时,将密集块与扩容卷积融入卷积神经网络中,从网络的深度和广度两个维度增强网络的学习能力,同时避免深度网络中的梯度消失问题,使其可以满足较为复杂的故障诊断需求。在实验轴承和轮对轴承数据上的验证和对比结果表明,设定不同的损伤程度与运行工况(变转速)等多个类别,DCGAN可以从较少的样本上获取数据分布,用模拟数据降低少样本的影响;对比不同的深度卷积网络,DDCNN可以更好地区分不同类别之间的差异,进而对轴承状态做出准确判断。当存在噪声和样本不均衡时,DCGAN与DDCNN的结合可以共同提高复杂工况、少样本情况下的网络故障诊断的准确性,在实际轴承智能故障诊断中具有可行性。