王 军,张维通,闫正兵,朱志亮
(温州大学 电气数字化设计技术国家地方联合工程研究中心,浙江 温州 325035)
在工业互联网下游,工业机器人等旋转机械因其高效的生产力和自动化等一系列因素被广泛应用。但旋转机械长期在高转速、重负荷和强冲击的条件下工作,难免出现故障。一旦出现故障将耗时耗力,并还会造成大量的经济损失。据文献[1]研究发现轴承故障占电机驱动系统故障的40%左右。因此,轴承故障诊断对提高旋转机械的可靠性,避免经济损失具有重要意义。检测轴承故障的一种常用的方法是用测量仪器附着在电机轴承上采集轴承的振动信号,分析振动信号。轴承故障诊断方法可分为两大类:基于信号处理的方法和数据驱动的方法[2]。基于信号处理的方法就是利用傅里叶变换[3]、短时傅里叶变换[4]、Hilbert-Huang变换[5-6]等将时域序列信号变换到频域,然后捕捉频域特征进行故障判别。但这种方法需要先验知识和处理复杂的信号困难[7],且不智能也不可扩展。数据驱动的方法,基于收集和分析大量数据来解决问题的方法。机器学习和深度学习因能够自动学习和发现故障模式,并捕捉复杂关系,从而提高故障诊断的准确性和效率,被广泛应用在轴承故障诊断,特别是深度学习。例如:文献[8]提出了一种将一维时域信号转化为二维图像,然后使用LeNet-5网络对这些图像进行分类的方法,并取得了较好分类的效果。文献[9]提出了一种基于残差注意力卷积神经网络(CSRA-CNN)的迁移学习算法,用于提高滚动轴承的故障诊断精度。文献[10]提出一种新的深度学习方法,即深度残差收缩网络,以提高对高噪声振动信号的特征学习能力,达到较高的故障诊断精度。文献[11]提出一种基于CNN-BiGRU孪生网络的轴承故障诊断方法缓解传统深度神经网络在小样本情况下容易出现过拟合现象的问题。文献[12]提出了迁移堆栈自编码器的轴承故障诊断,可以缓解在实际中不同工况下含标注的监测数据严重缺乏,导致智能故障诊断的模型难以有效构建的问题。文献[13]提出WDCNN模型,该模型在第一层采用宽卷积核作为1D信号的信号提取器,在多个轴承故障基准测试中取得了满意的结果。由于WDCNN模型对轴承故障诊断的优异性能,文献[14]和文献[15]基于WDCNN设计了更先进的模型。随着深度学习中各种注意力模块的出现文献[16-18]在1D-CNN中加入不同注意力模块,帮助模型关注故障特征,进一步增强特征提取能力,不仅提高了网络的分类精度,而且使网络具有可解释性。文献[19]将注意力模块融合到MSCNN-BiLSTM模型,提升了模型的特征提取能力。文献[20]提出将卷积注意力模块与残差网络结合和多注意头的Transformer的轴承故障诊断。
尽管深度学习模型在轴承故障检测方面取得了很大的进步,但深度学习模型在轴承故障诊断的应用中,仍然存在如下两方面问题:
1)抗噪性,信号被噪声严重影响时,深度学习模型的性能会急剧下降[21]。
2)工况数据不平衡,轴承的工况变换频繁,不同样本数据采集困难,很难收集到足够多的某类故障样本。
针对上述问题,本文提出基于迁移QCNN的孪生网络轴承故障诊断方法,预训练QCNN(quadratic convolutional neural network)获取判别性强的模型参数,然后将参数迁移到孪生网络中,然后正常训练孪生网络获取模型,最后将测试数据与故障数据组成数据对输入模型,即可得到测试数据的故障类型。该方法将QCNN与孪生网络相结合,其中QCNN模型的Quadratic神经元[22]具有很高的特征提取能力,孪生网络具有一定的抗噪性,将QCNN模型的Quadratic神经元与孪生网络结合可以使模型更具有抗噪性。此外,孪生网络共享参数可以学习共同特征,在加上Quadratic神经元强大的特征提取能力可以缓解工况数据不平衡问题。
受生物神经系统中神经元多样性的启发,文献[22]提出了一种新的神经元类Quadratic神经元,以促进深度学习中的神经元多样性。Quadratic神经元在非线性激活前对输入向量进行两个内积和一个幂项内积进行积分。Quadratic神经元数学如式(1)所示:
σ(h(x)) =
σ[(xTwr+br)(xTwg+bg) + (x⊙x)Twb+c)]
(1)
式中,σ(·)为非线性激活函数,⊙为哈达玛积,wr,wg,wb为权重向量,br,bg,c为偏置,Quadratic神经元的参数为3n,较一般的二阶神经元的参数更少。Quadratic神经元是一种具有增强表示能力的神经元,它的增强并不是通过增加参数来实现的,而是通过引入额外的非线性计算来实现的。与传统神经元不同,传统神经元的非线性映射仅由激活函数提供,而二次神经元通过使用二次聚合函数来添加额外的非线性映射。如果采用相同的Relu激活函数的情况,传统神经元的组合只能得到分段线性函数,而二次神经元可以得到分段多项式函数。因此,Quadratic神经元较传统的机器学习算法有更强的特征提取能力和泛化能力,可以更好提取共同特征和额外特征。
孪生网络(Siamese Network)是一种特殊的神经网络结构,其由具有相同结构的两个神经网作为子网络组成[23]。孪生网络的两个子网络共享权重(结构和参数相同)[24],其通过两个子网络并生成两列特征向量,计算特征向量之间相似度[25],其表达如式(2)所示:
f(x,z)=f(φ(x)-φ(z))+b
(2)
式中,φ(x),φ(z)分别表示输入向量x,z经过φ(·)进行特征提取后的特征,b表示偏移量。孪生网络共享权重提取故障的共同特征,可以缓解工况数据不平衡问题。共享权重和相对关系的训练方式,使得孪生网络在处理带有噪声的数据时能够保持较好的性能。孪生网络主要用于处理相似性比较和度量学习的任务,如人脸识别、图像检索、文本相似性判断等。
针对深度学习模型在轴承故障诊断中存在抗噪性不足,工况数据不平衡等问题,本文提出了一种基于迁移QCNN的孪生网络轴承故障诊断方法,先预训练QCNN获取具有较强判别性的模型参数,将预训练的参数迁移到QCNN作为子网络的孪生网络中,然后正常训练孪生网络获取模型,最后将测试数据与故障数据组成数据对输入模型,即可得到测试数据的故障类型。如图1所示,孪生网络双输入的结构,使其训练与测试的方式与正常模型有所不同,其训练流程包括:预训练QCNN网络、参数迁移及模型训练3大部分。
图1 基于迁移QCNN孪生网络训练图
1)预训练QCNN,将数据划分不同数据集,归一化,以256批量,输入到5层Q卷积和池化,然后经Flatten层展开,Dense层压缩为100×1的向量,在经softmax层输出one-hot编码,最后使用categorical_crossentropy损失函数和Adam优化器优化参数。
2)参数迁移,将训练好的QCNN中的5层Q卷积层和池化层、Flatten层及Dense层的参数迁移到孪生网络的主干网络上,并使两支主干网络的参数共享,其中将预训练的权重迁移到孪生网络中,使孪生网络具有判别性强的初始参数,提高模型精度。
3)模型训练,首先,将归一化的数据,进行正负样本匹配。
(3)
(4)
(5)
最后,使用式(6)的二元交叉熵损失函数和Adam优化器优化参数,其参数如式(7)、(8)所示:
(6)
(7)
(8)
其测试方法:将测试集的数据分别与不同故障的数据组成数据对输入到训练好的模型中,得到数据与不同故障数据的相似度,相似度最大的故障类型,为该数据的故障类型,如式(9):
Y=argmax(p1,p2…pn)
(9)
式中,Y为故障类别,pi为数据与故障i的相似度。
本文使用CWUR的滚动轴承数据集进行了抗噪性和工况数据不平衡验证,引用江南大学的轴承数据集进一步验证本文所提方法对轴承故障的识别性能。
3.1.1 CWUR数据集介绍
CWUR[26]轴承数据包含正常数据8组、外圈损伤数据53组、内圈损伤数据23组及滚动体损伤数据11组。本实验使用CWUR轴承数据中的深沟球轴承型号为SKF6205、采样频率48 kHz、负载0 HP转速1 797 r/min、负载1 HP转速1 772 r/min、负载2 HP转速1 750 r/min、负载3 HP转速1 730 r/min的数据验证本文方法。首先根据负载和转速的不同的工况,本文将数据根据负载分为A、B、C、D共4个不同工况的数据集,并且根据轴承的故障的位置和损伤尺寸将每个工况分为9类故障和一类正常数据,共10类(故障类型如表1所示),其中每类数据约有2万。本文以长度为2 048的窗口,28的步长,滑动采样,每类采样900样本,700为训练样本,200为测试样本,其中滑动窗口设置为2 048可以防止轴承数据特征丢失,提高故障诊断精度。
表1 故障类型
3.1.2 单工况场景实验
本文使用A、B、C、D数据集验证所提方法在不同工况情况下故障诊断的效果,并与传统机器学习支持向量机(SVM)、神经网络FFNN(前馈神经网络)和最近提出的WDCNN、QCNN深度学习网络模型以及未迁移的孪生网络模型,进行试验对比分析,其中QCNN的参数与WDCNN类似,区别是WDCNN的参数卷积层为一般卷积,QCNN的卷积是Q卷积,QCNN模型参数设置如表2所示。
表2 QCNN模型参数设置
试验结果如图2所示,本文模型较传统机器学习等模型具有更好的故障识别效果。其中本文模型在不同工况下的故障诊断精度的平均值最高,达到了99.48%,较SVM提升了23.33%,较FFNN提升了20.4%,较WDCNN提升了0.68%,较QCNN提升了0.4%,较未迁移的孪生网络模型提升了0.36%。
图2 模型精度对比图
3.1.3 噪声实验
在实际工作场景中,轴承振动数据采集中往往伴随着杂音,而大多数深度学习模型在有噪声信号影响下的故障识别率往往不是很理想。对此,本文将QCNN与孪生网络结合,QCNN中的Quadratic神经元较一般卷积可以更好的提取轴承振动信号特征,孪生网络的结构可以抑制噪声,两者结合就使得本文模型具有更好的抗噪性。为了模拟实际应用中不同噪声水平下的数据情况,本文为数据分别添加信噪比为-6、-4、-2、0、2、4、6的高斯白噪声,模拟不同噪声环境,验证本文模型在不同噪声环境下的性能,模拟从-6~6共7个级别的信噪比的高斯白噪声,包括了较低的到高的信噪比情况覆盖一定范围内的噪声强度。这样可以更全面地考察模型对不同噪声水平下的处理能力,进而提高模型的鲁棒性和应用性。其中信噪比(SNR)定义为信号功率与噪声功率之比,其表达式如式(10)所示:
SNRdb=10lg(Psinal/Pnoise)
(10)
式中,Psinal,Pnoise分别为信号和噪声的功率。
实验结果如表3所示,电机负载为0 HP(数据集A)下,本文模型对不同噪声的平均准确率最高,为97.84%,较WDCNN模型提高了2.37%,较QCNN提高了0.68%,较未迁移的孪生网络模型提高了0.07%。电机负载为1 HP(数据集B)下,本文模型对不同噪声的平均准确率最高,为95.37%,较WDCNN模型提高了2.58%,较QCNN提高了0.6%,较未迁移的孪生网络模型提高了0.41%。电机负载为2 HP(数据集C)下,本文模型对不同噪声的平均准确率最高,为95.20%,较WDCNN模型提高了1.36%,较QCNN提高了1.26%,较未迁移的孪生网络模型提高了0.47%。电机负载为3 HP(数据集D)下,本文模型对不同噪声的平均准确率最高为96.16%,较WDCNN模型提高了,1.87%,较QCNN提高了0.66%,较未迁移的孪生网络模型提高了0.68%。
表3 噪声实验表
本文以0 HP工况和-6 SNR的白高斯噪声的数据下模型为例,使用混淆矩阵查看本文所提模型对每类故障诊断情况,与WDCNN、QCNN、未迁移的孪生网络模型对每类故障诊断情况进行对比分析,展示所提模型的有效性。如图3所示,添加-6 SNR的白高斯噪声的数据使所有模型对故障2的故障识别影响较大,其中本文模型受-6 SNR的白高斯噪声影响较小,对故障2的识别率最高。同时,本文使用T-SNE算法对WDCNN模型、QCNN模型、未迁移的孪生网络模型和本文所提模型提取的0 HP工况和-6 SNR噪声下轴承数据的特征进行数据降维可视化,如图4所示,在0 HP工况和添加-6 SNR的白高斯噪声的数据下,本文模型提取的特征,在特征空间中的同类分布,较WDCNN模型、QCNN模型提取和未迁移的孪生网络模型的同类特征分布更紧凑,类与类之间距离更分明。
图3 WDCNN、QCNN与本文模型的混淆矩阵
图4 WDCNN、QCNN与本文模型的特征降维可视化图
3.1.4 工况数据不平衡实验
在实际的工作场景下,轴承的工况往往随着机器实现的任务的不同而不同的,轴承的工况变换频繁,不同样本数据采集困难,因此很难收集到某类故障足够多的样本。而深度学习模型要准确识别某类故障,需要大量的数据训练模型。而数据迁移可以有效缓解工况数据不平衡问题,即变工况,使用有足够的数据的工况数据预训练,在使用数据不足的工况数据稍微训练,本文使用所提模型进行变工况故障试验,可以缓解实际工作场景下工况数据不平衡问题,即分别在A、B、C、D数据集下训练模型,然后将模型迁移到不同工况下,用该工况的20%数据再进行重新训练测试。如A→B表示在数据集A下训练模型,然后用B数据集的20%数据再进行训练测试。其试验结果如图5所示,本文所提方法平均准确率最高,达到了96.62%,较WDCNN提高了5.81%,较QCNN提高了5.06%,较未迁移的孪生网络模型提高了0.91%。
图5 工况迁移图
为了验证本文模型对其他轴承数据也有很好故障识别性能,引用了江南大学的轴承数据集进一步验证[27]。江南大学轴承数据集包含600 r/min、800 r/min、1 000 r/min转速的正常、内圈故障、外圈故障、滚动体故障滚动轴承振动数据。本文根据滚动轴承的故障位置和转速,将数据划分为3个数据集E、G、F,每个数据集有3类故障和1类正常数据,共4类(故障类型如表4所示)。本文以长度为2 048的滑动窗口,28的步长,对数据进行滑动采样,每类采样900样本,700为训练样本,200为测试样本。
表4 故障类型
本文模型对江南大学轴承数据集的故障诊断效果,如图6所示:本文模型在不同工况下的平均准确率最高为99.03%,较WDCNN提升了2.47%,较QCNN提升了0.43%,较未迁移的孪生网络模型提升了0.36%,其中在数据集E(600 r/min)下模型故障识别率达到98.4%,较WDCNN提升了1.6%,较QCNN提升了0.4%,较未迁移的孪生网络模型提升了0.2%,在数据集F(800 r/min)下模型故障识别率达到99.82%,较WDCNN模型提升了1.42%,较QCNN提升了0.02%,较未迁移的孪生网络模型提升了0.01%,数据集G(1 000 r/min)下模型故障识别率达到98.9%,较WDCNN提升了4.4%,较QCNN提升了0.9%,较未迁移的孪生网络模型提升了0.9%。
图6 江南大学数据集下模型精度
针对基于深度学习的轴承故障方法的精度易受噪声影响和采集大量不同工况的数据困难等问题。本文提出了一种基于迁移QCNN的孪生网络的轴承故障诊断方法,先预训练QCNN获取具有较强判别性的模型参数,将预训练的参数迁移到QCNN作为子网络的孪生网络中,然后正常训练孪生网络获取模型,最后将测试数据与故障数据组成数据对输入模型,即可得到测试数据的故障类型。其中QCNN中的Quadratic神经元具有很高的特征提取能力,孪生网络具有一定的抗噪性,将QCNN的Quadratic神经元与孪生网络相结合使模型更具有抗噪性,另外孪生网络因结构优势可以更好的缓解工况数据不平衡问题。对此,本文进行的单工况、噪声、工况数据不平衡试验验证方法的有效性。实验结果表明:本文所提模型相对其他模型在相同噪声下具有更好的性能,在相同的工况迁移情况下的效果更好,最后,本文还引用江南大学轴承数据集进一步验证所提方法对轴承故障的识别性能,结果显示,本文方法在其他轴承数据集上的故障识别性能也很好。