赵志宏,吴冬冬
(1.省部共建交通工程结构力学行为与系统安全国家重点实验室,河北石家庄 050043;2.石家庄铁道大学信息科学与技术学院,河北石家庄 050043)
滚动轴承作为广泛应用的基础零部件,其工作状态直接关系整台设备的稳定性,在旋转机械中发挥重要作用[1]。轴承发生故障轻则影响生产效率,重则造成安全事故危及人命,因此进行轴承故障诊断研究十分必要。
自2006年HINTON等[2]提出深度学习理论后,深度神经网络以其自动提取特征能力,在计算机视觉[3]和自然语言处理[4]领域发展尤为迅速。近年来,国内外利用深度学习进行故障诊断的研究越来越多,已经用于故障诊断的深度神经网络模型有卷积神经网络[5]、循环神经网络[6]和自编码器[7]等,这些神经网络模型需要大量的样本进行训练。由于轴承故障样本获取困难,很难获得充足的训练样本,导致深度神经网络模型经常出现过拟合现象,影响了故障识别的准确性。因此,小样本条件下的轴承故障诊断研究越来越得到研究人员的重视。
近几年,基于小样本学习的神经网络在处理数据稀缺问题方面取得很大进展,成为机器学习中的研究热点。小样本学习概念最先由LI等提出[8],旨在通过一个或几个样本就可以学习出有效模型,对未知类别进行分类。王德文、魏波涛[9]使用变分自编码器提取原始训练数据的高层语义特征,然后由两个训练好的变分自编码器的编码器部分组建孪生网络的输入结构,最后通过分类器对样本进行识别,提出基于孪生变分自编码器的小样本图像分类方法。VINYALS等[10]提出匹配网络,该网络可将带标签的数据和不带标签的数据映射到对应的标签上,能够从小数据集中快速学习新的概念。余浩帅等[11]提出一种基于混合自注意力原型网络的风电齿轮箱故障诊断方法,通过原型网络将振动信号映射至特征度量空间,采用混合自注意力模块学习风电齿轮箱各状态下的原型,最后进行模式识别,实现小样本条件下的风电齿轮箱故障诊断。吕枫等人[12]利用关系网络构建嵌入关系空间,使得在该空间下可以有效度量已标记样本和未标记样本之间的相似性,并结合伪标签学习方法实现少量标记样本的扩充,取得较好的齿轮箱故障辨识效果。这些模型能够在小样本条件下奏效,由于实际工程中,采集的轴承数据故障种类多,每种类别样本较少,故考虑使用孪生网络。
孪生网络在1993年被ROOPAK等[13]提出,用于解决手写签名验证问题。随后,该网络在很多领域广泛应用。2005年CHOPRA等[14]采用孪生网络在人脸数据集上进行训练和测试,取得较好的识别效果。2015年,ZAGORUYKO、KOMODAKIS[15]对经典的孪生网络进行改进,将孪生网络的双分支合并,借助空间金字塔池化[16]实现将不同大小的图片输入网络。2016年,MUELLER、THYAGARAJAN[17]利用两个共享权重的长短期记忆网络将两个不同长度的句子分别编码为相同长度的向量,以此比较两个句子的相似性,利用孪生网络实现了文本匹配。2017年,TAO等[18]首次利用孪生网络实现目标跟踪,通过孪生网络对相似性度量函数进行学习,然后在上一帧的特征空间寻找最相近的区域块。2019年,CHANG等[19]将孪生网络用于医疗领域,通过孪生网络比较疼痛膝关节和无痛膝关节的磁共振成像,可以区分出膝关节类型并识别与膝关节疼痛相关的特征。2020年,CHEN、HE[20]基于简单稳定的孪生网络提出Simsiam结构,进一步挖掘了孪生网络的潜力,为自监督任务提供新的思路。孪生网络属于元学习中基于度量学习的一种方法,在小样本的分类任务中具有显著优势。该网络不仅提取输入样本的特征进行学习,还对同类样本的相似性与非同类样本间的差异性规律进行学习,因而在数据集仅有少量样本的情况下能够获得较强的泛化能力,同时可以缓解过拟合现象。
为了解决基于深度神经网络的轴承故障诊断方法在小样本条件下故障准确度较低的问题,本文作者提出一种将传统神经网络扩展为孪生网络结构的框架,通过将卷积神经网络(Convolutional Neural Networks,CNN)和长短期记忆网络(Long Short-Term Memory,LSTM)分别扩展为孪生网络结构,提高了在小样本条件下的轴承故障诊断性能。
孪生网络结构是利用骨干网络对输入样本对进行特征提取,然后通过对比两个特征向量之间的距离来判断是否属于同一类别。传统孪生网络结构如图1所示,可知:孪生网络是由两个神经网络构成的一种耦合结构,每次输入两个样本x1和x2,通过权值共享的特征提取网络,将提取后的特征映射到特征向量空间中,利用特征向量之间的距离比较两个输入样本的相似度。当输入样本对为相同类别时,标签为1;当输入样本对为不同类别时,标签为0。采用对比损失函数进行训练,对比损失计算公式为
(1)
图1 传统孪生网络结构
当孪生网络的输入为同类样本对时,对比损失函数为
(2)
孪生网络中的参数更新过程为
(3)
(4)
当孪生网络的输入为不同类别的样本对时,对比损失函数为
(5)
只有样本对特征向量间的距离在该阈值内时,损失函数才发挥作用。当Ew>d时,max(d-Ew,0)2=0,损失函数梯度为0,参数不需要更新;当Ew (6) (7) 很多传统神经网络可以扩展为孪生网络结构。CNN网络扩展为孪生CNN网络的伪代码如表1所示,样本1输入左分支,样本2输入右分支,然后搭建由卷积层和池化层堆叠的CNN网络,经同一个CNN网络编码得到两个样本的特征向量,然后计算两特征向量之间的距离,得到两个样本的相似度。将传统神经网络扩展为孪生网络结构是通过建立两个分支、一个特征提取骨干网络以实现对样本对的特征提取。 表1 扩展为孪生网络结构的伪代码 设数据预处理后的训练集为xtrain,标签为ytrain。 (1)从训练集中随机抽取n个训练样本。 (2)构造训练样本对。定义样本对(xtr1,xtr2,l),其中xtr1是训练样本中的任意一个样本,xtr2也是训练样本中的任意一个样本。规定该样本对的标签为 (8) 式中:ytr1为样本xtr1的标签;ytr2为样本xtr2的标签。 设数据预处理后的测试集为xtest,标签为ytest。 (1)从测试集中随机抽取m个测试样本。 (2)构造测试样本对。从训练集的每个类别中分别各取一个样本,构成支持集{xtr}。将从测试集中抽取的样本与支持集内的每个样本构成测试样本对,定义为(xte,{xtr})。 (3)设训练集中有k个类别,则构成km个测试样本对。 基于孪生网络的轴承故障诊断方法如图2所示,可知:训练过程是将已构造的训练样本对作为孪生网络的输入,经过骨干网络提取特征后,得到两个输出张量进行差值计算,利用Sigmoid函数将差值计算结果转化为样本对的相似概率,用Adam优化器优化网络。Sigmoid函数公式为 (9) 图2 基于孪生网络的故障诊断方法 不同于已有的孪生网络直接采用对比损失函数,文中孪生网络采用二分类交叉熵作为损失函数。由于须通过Sigmoid函数将样本对之间的距离映射到[0,1]之间,以表示样本对的相似度,在分类任务中交叉熵损失与Sigmoid函数常搭配使用,故考虑采用二分类交叉熵损失函数。为了防止网络过拟合,在损失函数中添加L2权重衰减,公式为 (10) 式中:h0(x1,x2)为样本对的相似值;y′(x1,x2)为样本对的标签;λ为自定义的超参数;n为样本对的数量;w为权重值。 (11) 得到测试样本与10个训练样本属同一类的概率,概率值越大,样本对越相似。选择概率值最大的轴承状态作为测试样本的轴承状态,该测试过程为单样本测试,计算公式为 (12) 使用凯斯西储大学轴承数据进行实验,实验轴承型号为深沟球SKF6205,信号采样频率为12 kHz。使用电火花加工技术在被测轴承的内圈、滚动体以及外圈上设置单点故障,每个位置上的3种故障直径分别为0.177 8、0.355 6、0.533 4 mm,共9种故障类型。 使用滑动窗口技术对训练集进行采样,采样过程如图3所示。可知:从原始振动信号的起始点开始,每次采集1 024个数据点,采集完成后滑动窗口向后移动80个数据点继续采集,直到采集完整个原始数据。数据集的划分如表2所示,该数据集在0.746、1.491、2.237 kW三种混合负载下制作,包含9个故障类型和1个正常类型,总共10种类型,共计10 000个训练样本和750个测试样本。CWRU轴承样本划分如表2所示。 表2 CWRU轴承样本划分 图3 滑动窗口采样 为了研究不同骨干网络对孪生网络结构性能的影响,考虑采用具有代表性的CNN和LSTM作为孪生网络的骨干网络。孪生网络的骨干网络主要用来提取特征,利用CNN提取轴承振动信号的空间特征,利用LSTM提取轴承振动信号的时序特征。使用CNN与孪生CNN模型(Siamese CNN,SCNN)对比,LSTM与孪生LSTM模型(Siamese LSTM,SLSTM)对比。该实验从训练集的每类样本中分别随机选取50个样本,共500个训练样本进行训练,全部 750个测试样本进行测试,学习率为0.001,batch_size为32。为了更准确判断故障识别效果,将准确率、F1分数、精确率和召回率作为评价指标。 3.2.1 骨干网络为CNN神经网络 设置四层卷积网络作为骨干网络搭建的卷积孪生网络模型如图4所示。可知:卷积网络模型具有对称性,无论样本对的顺序如何,预测的结果相同。第一层CNN采用尺寸为64×1较大的卷积核,卷积核个数为16,较大的卷积核能够在第一层过滤掉噪声干扰;第二层CNN采用尺寸为3×1较小的卷积核,卷积核个数为32;第三层CNN和第四层CNN同样采用尺寸为3×1较小的卷积核,卷积核个数为64,较小的卷积核可以充分挖掘振动信号隐含的故障特征。每一个卷积层后面紧跟一层池化层,池化层的主要作用是降维。为了在降维的同时不丢掉过多的信息,设置池化层的尺寸为2×1。依次堆叠不同层数的CNN做实验,经过实验验证,五层卷积效果同四层卷积效果持平,故只做四层CNN的对比。 图4 卷积孪生网络模型 骨干网络为CNN的故障诊断效果如表3所示,可知:两层CNN、三层CNN和四层CNN在使用孪生网络结构之后准确率、F1分数、精确率和召回率性能都有提高,准确率平均提高1.08%。体现了将孪生网络结构用于故障诊断的优越性。 表3 骨干网络为CNN的故障诊断效果 3.2.2 骨干网络为LSTM神经网络 LSTM是一种循环神经网络,参数较多,训练速度较慢。采用Keras中的CuDNNLSTM函数建立网络模型,CuDNNLSTM在GPU上运行,可以大幅度提高运行速度。骨干网络为LSTM模型的参数值如表4所示。LSTM一般使用两到四层[21]。由表4可知,将LSTM的隐藏神经单元设置为28,后面连接一个展平层和节点数为100的全连接层。为避免模型过拟合,加入Dropout操作,网络中的神经元以0.2的概率被置为0。 表4 骨干网络为LSTM模型的参数值 骨干网络为LSTM的故障诊断效果如表5所示,可知:二层孪生LSTM模型、三层孪生LSTM模型和四层孪生LSTM模型的故障分类准确率分别为92.72%、94.68%和91.60%,比二层LSTM模型、三层LSTM模型和四层LSTM模型分别提高6.72%、4.42%和3.20%。扩展为孪生网络结构后准确率明显上升,平均提高4.78%,其中骨干网络使用三层LSTM效果最佳,体现出孪生网络结构在轴承故障分类任务中有助于改善故障诊断效果。三层孪生LSTM模型在训练集上的损失和测试集上的准确率曲线如图5所示。可知:在迭代2 000轮左右时,模型开始收敛,损失波动较小并趋于稳定。 表5 骨干网络为LSTM的故障诊断效果 图5 三层孪生LSTM模型的准确率P和损失L曲线 为了直观地展示提取到的特征,利用t-SNE进行特征可视化。三层孪生LSTM模型对测试集进行特征提取后通过t-SNE降至2维的结果如图6所示,可以看到:不同类别故障信号之间有着清晰的界限,能够区分不同类别的故障信号。 图6 三层孪生LSTM模型特征降维结果 三层孪生LSTM模型提取到的特征在三维空间中的分布如图7所示,可以看到:10种轴承类间间距较大,特征分类明显,类内间距较小,样本聚集程度高,不同故障类别的特征得到了较好的分类效果。 图7 特征在三维空间中的分布 由第3.2节实验知四层CNN与三层LSTM分别作为孪生网络的骨干网络提取特征效果较好,故该实验选用四层CNN和三层LSTM作为孪生网络的骨干网络,其中CNN模型与孪生CNN模型的骨干网络参数保持一致,LSTM模型与孪生LSTM模型的骨干网络参数保持一致。为降低实验数据的偶然性,每个模型在数据集上各重复做5次实验,取平均值。 从数据集训练样本每类中随机选取4、8、16、24、40、80个样本进行5 000轮训练,每组实验均使用全部750个测试样本进行测试,将训练样本数小于测试样本数作为小样本数据量的界限,诊断结果如表6所示。可知:CNN模型、LSTM模型、孪生CNN模型和孪生LSTM模型的识别准确率都随着训练样本数量的增加而提高;利用传统的LSTM模型在样本较少时进行诊断,在测试集上的准确率并不高,与文献[22]结果相符;当训练样本的数量达到800时,孪生CNN和孪生LSTM模型准确率都能达到90% 以上,均有较高的分类精度。当训练样本为80个时,孪生CNN模型比CNN模型高2.00%,孪生LSTM模型比LSTM模型高10.40%;当训练样本数量仅有40个时,孪生CNN和孪生LSTM诊断准确率显著高于同条件下的CNN和LSTM模型。训练样本数量越少,扩展为孪生网络结构后准确率提升效果越明显,说明了孪生网络在小样本故障诊断中的优越性。 表6 训练样本数量对诊断结果的影响 针对轴承故障样本有限情况下,基于传统深度神经网络的故障诊断方法准确率低的问题,作者将传统的CNN和LSTM网络模型扩展为孪生网络模型,在公开数据集上进行大量故障诊断实验,对测试结果进行对比及分析,得到以下结论: (1)传统神经网络可通过构建两个分支扩展为孪生网络结构的框架。 (2)传统网络模型扩展为孪生网络结构后,准确率、F1分数、精确率和召回率都有上升,提高了故障诊断的性能。 (3)在小样本条件下,孪生网络结构提升诊断效果更明显。在训练样本数量为80个时,孪生CNN网络结构的识别准确率达到88% 以上。 本文作者的贡献是通过使用不同的骨干网络进行实验,提供将骨干网络扩展为孪生网络结构的方法,表明了孪生网络结构在小样本轴承故障诊断中的优越性,有助于提升诊断效果。下一步的研究内容是把信号转成二维图像输入到孪生网络中,进一步探究孪生网络的性能。1.2 传统神经网络扩展为孪生网络结构
2 基于孪生网络的故障诊断方法
2.1 构造训练样本对
2.2 构造测试样本对
2.3 孪生网络结构的轴承故障诊断方法
3 实验
3.1 数据来源与数据处理
3.2 不同骨干网络对孪生网络结构的影响
3.3 不同样本数量对孪生网络的影响
4 结论