袁洪芳, 张晓宁, 王华庆
(1. 北京化工大学 信息科学与技术学院,北京 100029; 2. 北京化工大学 机电工程学院,北京 100029)
滚动轴承是机械设备中至关重要的零部件,其工作状态和机械设备的运行状态密切相关,对轴承进行故障诊断研究具有重要意义。最初,常常通过传统信号处理方法来判断故障是否存在[1-3]。随着机器学习的发展,开始将传统的信号处理方法与机器学习方法如支持向量机、K近邻算法等相结合实现故障信号的特征提取和识别[4-5]。近些年来,作为人工智能领域的前沿技术,深度学习被广泛地应用到旋转机械的故障诊断领域中,取得了突出的成果。经典的深度学习方法包括自编码器(autoencoder,AE)[6]、卷积神经网络(convolutional neural networks,CNN)[7]和门控循环神经网络(gate recurrent unit,GRU)[8]等,其中CNN最为常用,并出现了Alexnet[9]、Resnet[10]等多种网络结构。Wang等[11]将挤压激励模块和CNN相结合,对轴承的对称点模式特征进行识别。吴晨芳等[12]用轴承信号的二维灰度图作为输入,并对LeNet-5进行改进,可以在不完备故障样本中学习故障共性特征。牛锐祥等[13]针对模型泛化性能不足的问题,提出一种改进的Densenet实现端到端的诊断。
然而,由于实际工业环境复杂,轴承的不同部位往往同时损坏并相互影响,这就导致复合故障的产生。这时,常常会出现某一种故障的严重程度远远大于另一种故障的情况,复合故障的特征受到更严重故障的影响,严重性较弱的故障很容易被忽略[14]。因此,复合故障诊断的难度大大增加。
针对复合故障的检测,目前的研究大致有两个方向。一是通过传统分离提取方法分离不同类型的信号:Li等[15]提出了一种多重稀疏表示算法,有效地实现了轴承和齿轮箱复合故障的分离和检测;齐咏生等[16]对故障信号进行解卷积运算,用Teager能量算子增强信号,并作傅里叶变换分析故障特征频率,有效分离复合故障特征。二是结合多标签分类,通过深度学习方法自动识别分类:Huang等[17]首次提出了一种基于多标签学习的一维深度卷积神经网络,可以实现旋转机械复合故障的识别和解耦;Liang等[18]用小波变换提取二维时频特征,建立多标签卷积神经网络模型实现齿轮箱的复合故障诊断。
但是,要保证CNN的学习能力,往往需要大量的样本用于训练,在实际工程中可能无法满足。并且,它对不同特征的相对位置并不关注,缺少可用的空间信息,会不可避免的导致错误结果。2017年,Sabour等[19]提出了一种新型的网络架构——胶囊网络,其核心思想是构造向量神经元代替传统神经网络的标量神经元,保留空间信息,提高模型的特征提取能力。杨平等[20]提出了一种卷积胶囊网络,在噪声污染和载荷变化的情况下得到了较好的诊断效果。Li等[21]提出一种双卷积胶囊网络,用于小样本条件下的旋转机械故障诊断。Ke等[22]将胶囊网络和长短期记忆网络(long short-term memory, LSTM)相结合用于检测模块化多电平换流器发生子模块产生的复合故障,证明了其用于复合故障诊断的可行性。然而,以上研究中所用的胶囊网络通过动态路由算法进行胶囊层之间的信息传递,常常需要耗费大量的资源。Mazzia等[23]提出了一种高效的胶囊网络,用自注意路由代替动态路由,相较于原始胶囊网络性能有了明显提升。本文对胶囊网络进行改进,在网络的前端特征提取部分中增加了关注通道特征信息的挤压激励模块,并使用自注意路由进行胶囊层之间信息的传递,提出了一种改进的胶囊网络用于复合故障诊断。利用实验室数据进行验证,结果表明该方法可以有效地实现复合故障诊断。
卷积神经网络是一种前馈式神经网络模型,具有稀疏连接和权重共享的特性。它主要包括卷积层、池化层和全连接层。
卷积层通过对输入信号进行卷积运算来提取特征。对于输入x,卷积运算可表示为
h=f(w*x+b)
(1)
式中:w为卷积核的权重;b为偏置项;符号*为卷积运算;f(·)为非线性激活函数,常用的有relu函数,可以写成
f(x)=max(0,x)
(2)
池化层也称为下采样层,主要作用是降维,也可以加快训练。常用的方式为最大池化
h=f[max(x)+b]
(3)
式中:x和h分别为输入和输出特征;b为偏置项;max(·)为取最大值函数;f(·)为激活函数。
全连接层起到一个分类器的作用,可以实现所提取特征和样本标签的映射,完成分类任务。
挤压激励模块是Hu等[24]首次提出的一种新结构,该模块专注于通道信息,通过学习的方式自动获取每个特征通道的重要程度,并根据学习到的重要程度提升有用特征抑制用处不大的特征。它主要包括挤压和激励两种操作,网络结构如图1所示。
图1 挤压激励模块网络结构图
挤压操作通过全局平均池化将每个特征通道的空间信息压缩为一个代表通道全局特征信息的值。统计信息z∈Rc在空间维度W×H上压缩成,z的第c个元素可以通过式(4)计算
(4)
式中:Fsq(·)为压缩操作;uc为第c个特征。
激励操作通过两个全连接层实现:第一个全连接层将特征维度压缩到输入的1/r,并使用relu函数激活;第二个全连接层进行升维操作来恢复原始特征维度,再利用sigmoid函数控制得到归一化权重。该操作可表示为
s=Fex(z,W)=σ[g(z,W)]=σ[W2δ(W1,z)]
(5)
式中:Fex(·)为激励操作;σ(x)为sigmoid激活函数;δ(x)为relu激活函数;降维层参数W1∈R(c/r)×c,升维层参数W2∈Rc×(c/r),r为维度缩减率。
最后,通过加权操作将归一化后的权重加权到每个通道的特征上
(6)
式中,Fscale(uc,sc)为特征映射uc∈RH×W和标量sc之间的对应通道乘积。
胶囊网络的核心思想是将传统神经网络的标量神经元组合为向量,以向量的形式保存更丰富的信息,减少特征信息的丢失,提高模型的特征提取能力。
胶囊网络通常包含卷积层、初级胶囊层和高级胶囊层。网络首先和卷积神经网络一样通过卷积运算进行特征提取,所提取的特征被输入到初级胶囊层。
1.3.1 初级胶囊层
初级胶囊层首先进行卷积运算,然后将神经元组合为向量。经过初级胶囊层的操作后,网络的基本元素不再是单个的神经元,而是一个胶囊向量。在这一层中,使用squash函数[25]对向量进行激活
(7)
式中,s为单个胶囊。该函数既能使向量保持方向,又能确保短向量收缩到几乎为0的长度,长向量收缩到略小于1的长度。而且该函数对接近0的小变化更加敏感,在训练过程中可以实现梯度提升。
1.3.2 高级胶囊层
高级胶囊层以初级胶囊层的输出作为输入,通过自注意路由算法以聚类的方式建立低层胶囊到高层胶囊之间的非线性映射。两个胶囊层之间的整体架构和全连接网络非常相似,只是增加了一个由自注意路由带来的分支,如图2所示。
图2 自注意路由
在图2中:Un1,d1为初级胶囊层有n1个胶囊,每个胶囊的维度为d1;Un2,d2为高级胶囊层有n2个胶囊,每个胶囊的维度为d2;W为权重矩阵,包含前后两层胶囊的仿射变换;Bn1,n2为先验矩阵;Cn1,n2为系数矩阵。
(8)
高级胶囊层中的胶囊可以用式(9)来计算
(9)
式中:先验矩阵Bn1,n2包含所有权重的判别信息;Cn1,n2为耦合系数矩阵。不同于传统胶囊网络使用的动态路由算法,Cn1,n2自注意路由算法生成的。在该网络中,每个胶囊都包含一个自注意张量A(:,:,n2),计算如下
(10)
(11)
将该耦合系数应用于式(9)中,便可计算得到高级胶囊层中的胶囊向量,由此完成胶囊层之间的映射。
本文提出了一种改进的胶囊网络模型用于滚动轴承的复合故障诊断。它以原始一维振动信号作为输入,无需手动特征提取和选择,可以自动完成识别分类。其核心部分由卷积层、挤压激励模块、初级胶囊层和高级胶囊层组成,网络结构如图3所示。
图3 改进胶囊网络结构图
由图3可知,改进的模型共有8层结构。首先,用卷积层提取输入信号的特征,使用宽卷积核增加模型的感受野,保留更多的特征信息,同时减小噪声的影响。其次通过最大池化层降低特征维度,提高运算效率。中间重复使用两个卷积层,用小卷积核充分提取底层特征。随后添加了一个挤压激励模块,可以充分考虑不同通道特征的重要性,实现通道维度特征的重新校正,并将加权后的特征信息传递到初级胶囊层。为了进一步优化模型,在特征提取部分的每一个卷积层后都使用了批标准化层,防止梯度消失,增强泛化能力。模型中所有的卷积层均使用了L2正则化来防止过拟合。
初级胶囊层首先进行卷积运算,将卷积结果构造成向量形式作为高级胶囊层的输入。高级胶囊层通过自注意路由算法计算胶囊层之间的相关度以实现对所提取特征的归类,得到x个输出向量,其中x表示单一信号类别数,在本文中为4。输出层对输出向量分别求模长,即得到样本的预测结果。
如图4所示,传统分类器与多标签分类器有明显区别。传统的深度学习分类器将概率最大的类别作为预测结果,只能识别单一故障,而多标签分类器可以同时输出单个类别或多个类别预测单一或复合故障。在本研究中,每个样本的标签是一个允许多个索引同时为1的向量,而不是独热码。同时,选择支持多种类别同时存在的二元交叉熵函数作为损失函数,最终得以实现轴承复合故障的解耦和识别。
图4 传统分类器和多标签分类器的区别
轴承的复合故障诊断是一个多标签分类问题,评价指标不同于传统的二分类和多分类。本文通过计算样本准确率(Accuracy)对模型的性能进行评估[26],定义如下
(12)
试验所用数据采集自如图5所示滚动轴承诊断试验台。该试验台主要由感应电动机、滚动轴承和加速度传感器组成。轴承型号为NTN N204,采样频率为100 kHz。在此条件下共采集了轴承六种状态下的振动数据,分别为:健康状态数据、内圈故障数据、外圈故障数据、滚动体故障数据、内圈和滚动体复合故障数据、外圈和滚动体复合故障数据。
1.电机; 2.加速度传感器; 3.轴承; 4.主轴
分别采集转速为1 300 r/min,900 r/min和500 r/min三种条件下的振动信号。以转速1 300 r/min为例,图6展示了六种类型信号的时域波形。将所采集的振动信号以每1 024个数据点划分为一个样本,选择每种类型的样本各800个用于试验,不同类型信号和其对应标签如表1所示。随机选取70%的数据用于训练,30%用于测试。为了避免试验结果受随机性的影响,本文中所有数据都是试验10次取均值的结果。
表1 信号类型和对应标签
图6 不同类型的时域信号图
在模型的训练过程中,使用Adam优化器进行优化,学习率采用指数衰减的方式,初始学习率为0.001,衰减率为0.9。模型的具体参数设置如表2所示,输入维度为(1 024,1)。Batchsize设置为30,卷积层使用relu函数作为激活函数,胶囊层使用squash函数激活。初级胶囊层胶囊向量的维度为4,高级胶囊层胶囊向量维度为16。本试验在Linux环境下进行,使用的编程语言为Python,深度学习框架为Tensorflow,GPU为NVIDIA Tesla V100。
表2 改进胶囊网络的模型参数
首先验证了所提出的模型在不同转速数据集上的性能。用转速分别为1 300 r/min,900 r/min和500 r/min三种状态下的数据集进行测试,当转速为1 300 r/min时训练集和测试集的准确率曲线,如图7所示。由图7可以看出,随着迭代次数的增加,两者的准确率都不断提高,后期趋于稳定。
图7 转速为1 300 r/min时训练集和测试集的准确率曲线
为了验证模型改进部分对试验结果的影响,设置了一些对比试验。模型一为和本文方法具有相同结构、但使用动态路由算法的胶囊网络,其中动态路由迭代3次;模型二未使用挤压激励模块;模型三为和本文方法结构相似的卷积神经网络,将胶囊层换为两个全连接层,第一个全连接层神经元个数为32,第二个全连接层为分类层,输出个数为4,并使用sigmoid函数作为分类函数。四种方法在三种数据集上的分类准确率如表3所示。
表3 不同转速下的试验结果
由表3可知,本文方法在三种数据集上分别达到了98.70%,98.04%和94.72%的准确率,说明该方法在轴承复合故障诊断方面取得了令人满意的成果。与此同时,对于三种不同转速的数据集,本文方法与模型一几乎达到了相同的诊断效果。但是由表4可以发现,本文方法迭代100次仅需要144.30 s,而模型一需要582.98 s,训练速度大幅度提升。这是因为模型一中使用的动态路由算法在计算耦合系数的过程中需要不断地迭代以实现从低级胶囊到高级胶囊的转化。这个过程涉及到大量的运算,必然会消耗大量的时间和资源。而自注意路由的过程是非迭代且高度并行的,比动态路由更高效。与模型三相比,本文方法的性能并未有明显提升。
表4 两种胶囊网络所需时间对比
综合来看,起到最明显的提升作用的是挤压激励模块。与模型二相比,改进的方法在三种数据集上的准确率分别提高了3.15%,2.21%和3.04%。为了直观地对比本文方法和模型二的特征提取能力,用t-SNE可视化来观察其特征分布情况。模型二的聚类结果如图8(a)和图8(c)所示,本文方法的聚类结果如图8(b)和图8(d)所示。
图8 t-SNE特征可视化
图8中每个点代表一个样本,不同形状表示不同类型的样本。从初级胶囊层的可视化结果可以看出,模型二只将外圈滚动体复合故障样本成功地聚类,其他类型的样本混合在一起难以区分。但是改进的网络中各种类型的样本已经逐渐聚类到一起。由高级胶囊层的可视化结果可知,模型二中多个内圈、外圈和内圈滚动体复合故障样本被错误的归类。相比之下,改进的方法只有少量样本被错误聚类。总的来说,本文方法的表现优于模型二。这表明挤压激励模块聚焦于通道间的关系,自动学习每个通道特征的权重,选择性地增强有用的特征,可以有效地提高故障诊断的分类准确率。
为了检验样本量不同时本文方法的诊断能力,使用转速为1 300 r/min的数据集进行测试,四种方法的表现如表5所示。
表5 四种方法在不同样本量下的准确率
由表5可知,随着样本量的增加,各个模型的分类准确率也随之增加。当每种类别样本只有100个时,使用胶囊网络结构的模型一和本文方法的准确率分别达到了94.03%和94.12%,表现出优异的诊断能力。相比之下使用卷积神经网络结构的模型三只达到了81.51%,比本文方法和模型一分别减少了12.61%和12.52%。当每种类别的样本分别增加到200个、400个和600个时,本文方法的准确率分别比模型三提升了1.89%,0.53%和0.27%,差距逐渐减小。当每种类别样本增加至800个时,本文方法和模型三达到了几乎相同的诊断效果。可以发现,卷积神经网络往往需要大量的训练样本才能得到比较好的诊断效果,而胶囊网络用向量神经元代替标量神经元,可以保留更丰富的信息,在小样本故障诊断方面有更突出的表现。
由于轴承的实际工作环境复杂,所采集到的信号会不可避免的受到噪声的干扰,因此验证改进模型在噪声环境下的鲁棒性非常必要。向原始振动信号中添加不同信噪比(signal-noise radio,SNR)的高斯白噪声来评估模型的抗噪性能,SNR的计算公式为
(13)
式中:PS为原始信号的功率;PN为噪声功率。
以转速1 300 r/min条件下的外圈故障信号为例,向该信号中加入信噪比为-10 dB的高斯白噪声,原始信号和含噪信号的时域波形如图9所示。由图9可以看出,加入噪声后信号的幅值发生了改变,原始信号中的故障特征被淹没,难以单纯通过观察时域波形来确定信号类型。选择转速1 300 r/min条件下每种信号类型样本各200个,分别验证网络第一层宽卷积核大小以及模型改进部分对抗噪性能的影响。
图9 原始信号和含噪信号
3.5.1 第一层宽卷积核大小对抗噪性能的影响
首先验证第一层宽卷积核大小对模型抗噪性能的影响,将其分别设置为16,32,64,96和128。信噪比为-3~10 dB时不同卷积核大小的分类结果如表6所示。由表6可以发现,当卷积核为96时,本文方法在信噪比为-3 dB和10 dB时分别达到了86.22%和96.89%的准确率。但当卷积核为16时,准确率只有84.67%和93.95%。总的来说,卷积核大小为96时比其他小卷积核的表现更好。这表明,第一层使用宽卷积核有助于保留更多的特征信息,减少噪声的影响。但是,卷积核并不是越大越好。当卷积核为128时,该模型在不同信噪比下准确率都有所降低。因此,第一层宽卷积核的大小最终设置为96。
表6 不同信噪比下的准确率
3.5.2 改进部分对抗噪性能的影响
在这一部分,使用含信噪比为-10~25 dB的数据集对四种模型进行评估,结果如表7所示。显而易见,随着信噪比的减小,四种方法的准确率都明显降低。本文方法在不同的信噪比环境下平均准确率达到了93.37%,分别比其他方法高出0.11%,5.54%和1.66%,其抗噪性能与模型一相当,明显优于模型二和模型三。在-10 dB的强噪声下,本文方法仍然可以达到85.51%的准确率,比模型二和模型三分别高出6.07%和3.42%。
表7 四种方法在不同信噪比下的准确率
通过对比试验可以充分说明,改进后的胶囊网络在未经过任何去噪预处理的情况下依然表现出优越的抗噪性能和泛化性能。
为了进一步说明本文方法的优越性,与其他方法如Resnet18、改进的LeNet-5、深度卷积神经网络(deep convolutional neural networks, DCNN)、双卷积胶囊网络(dual convolutional capsule network, DCCN)、和Capsnet+LSTM等进行了比较。为了更好地适应数据集,对这些网络的参数进行了微调,五种方法均以一维时域振动信号作为输入,网络结构和参数设置如下:
(1)Resnet18——He等提出的经典方法,包括8个常规残差模块,输出层节点改为4,分类函数使用sigmoid函数,损失函数使用二元交叉熵函数;
(2)改进LeNet-5——吴晨芳等人提出的改进方法,将其中的二维卷积改为一维卷积,输出层节点为4,分类函数改为sigmoid函数,损失函数为二元交叉熵损失函数,其他参数相同;
(3)DCNN——Huang等提出的方法,将输出层节点改为4,其他结构和参数均相同;
(4)DC-CN——Li等提出的方法,输出层参数为4,其他参数相同;
(5)Capsnet+LSTM——Ke等提出的方法,包括两个卷积层,一个池化层,一个LSTM模块和两个胶囊层。其中两个卷积层卷积核大小分别为64×1和6×1,步长均为2,第一个胶囊层向量维度为8,第二个胶囊层向量个数为4,其他参数相同。
在转速为1 300 r/min的数据集上进行试验,结果如图10。可以看出本文提出的方法比其他五种方法的准确率分别提高了1.52%,8.44%,6.19%,1.85%和4.12%,证明该方法在轴承复合故障诊断方面有更好的表现。
图10 不同方法的结果
为了充分验证所提出方法的泛化性,采用帕德博恩数据集[27]进行试验,其中滚动轴承型号为6203。选取其中的健康状态数据、内圈故障数据、外圈故障数据和内外圈复合故障数据等四种类型进行试验,本文方法在不同大小数据集上的表现如表8所示。由表8可知,本文方法在总样本量仅为200的情况下分类准确率可以达到93.25%,说明其可以有效地诊断不同型号的滚动轴承复合故障,具有良好的泛化性能。
表8 帕德博恩数据集试验结果
本文提出了一种基于改进胶囊网络的智能复合故障诊断方法。该模型直接将原始振动信号作为输入,利用卷积层和挤压激励模块自适应地提取故障特征,构建胶囊向量并通过自注意路由进行胶囊层之间的信息传递,最终实现多标签分类。利用实验室采集的数据进行试验,结果表明本文方法中改进的部分均起到了积极作用:挤压激励模块帮助自适应提取更有用的特征,提高了识别准确率;与同样结构的卷积神经网络对比,本文方法用向量代替传统神经元保留更细节更丰富的信息,在小样本情况下表现出了明显的优势;与使用动态路由的胶囊网络相比,本文方法的诊断效率大大提高。综合来看,本文方法可以高效地实现复合故障诊断。在后续的研究中将考虑更复杂的复合故障诊断,如包含更多故障类别的复合故障等,以便更好的应用于实际工业场景中。