张小刚,丁 华,王晓波,杨亮亮
(1.太原理工大学机械与运载工程学院,山西 太原 030024;2.煤矿综采装备山西省重点实验室,山西 太原 030024)
滚动轴承是旋转类机械传动系统的基本部件,长期的高速运转,轴承的内圈、外圈、和滚动体等部位容易发生故障,这直接影响到整台设备乃至整个生产线的安全[1]。因此,对轴承进行监测和诊断成为一项至关重要的任务。基于振动信号的分析是最常见的传统故障诊断方法,包括小波分析[2]、经验模态分析法[3]和局部均值分解法[4]等。然而基于振动信号处理的特征提取方法,在面对多工况交替、故障信息耦合严重、模式不明且多变的机械海量信号时,会导致其监测诊断能力与泛化性能欠佳[5]。近年来,深度学习模型CNN在轴承故障诊断方面的应用发展迅猛,显著的提高了故障识别准确率[6-7]。
传统的深度学习模型大多都是基于浅层的,如果网络层数不断加深,它在更新参数时层与层之间的权重不能更好的优化,会导致训练精度不变或下降。为了解决这个问题,文献[8]在2015年提出了深度残差网络(ResNet),它避免了深层网络在训练时所存在的缺陷。目前ResNet已经在图像处理方面得到了广泛应用。受其启发,将深度残差网络应用于基于振动信号的故障诊断,能够从更加复杂和多变的振动信号中捕捉更好的特征集合[9]。因此,通过深度残差网络实现滚动轴承的故障分类,并对分类结果进行对比实验与分析。
深度残差网络的核心在于残差学习模块,它的主要思想是在训练深层卷积神经网络的过程中保存了部分原始输入信息,从而转移了学习目标,避免了由网络深度而引起的分类精度饱和问题。残差学习模块主要由卷积层,BN层和ReLu组成,卷积层利用多个不同的卷积核提取原始振动信号的主要特征,实现特征降维。其公式可以表示为:
在对轴承进行故障诊断时,采用了预激活残差学习模块,它首先通过批量归一化层(BN)将数据集中在[0,1]范围内。其次,利用Relu进行预激活。最后,通过卷积层对预激活后的数据进行卷积运算,残差学习模块的最终输出y可表示为:
式中:x—输入;F(x,Wc)—包含BN层,Relu和卷积层路径的非线性函数;Wc—这条路径要优化的参数。
设计的残差单元模块具体内部参数,如表1所示。
表1 残差单元模块参数Tab.1 Residual Unit Module Parameters
预激活残差学习模块有恒等残差模块和卷积残差模块两种。当上一层的输出尺寸和下一层的输入尺寸相互匹配时,采用恒等残差模块,如图1(a)所示。反之,需要在捷径加入一个卷积层来匹配上一层的输出,即卷积残差模块,如图1(b)所示。其中,捷径上的卷积核大小设为(1×1),移动步长设为(1×2),卷积核数量N视具体结构而定。
图1 残差学习模块Fig.1 Residual Learning Module
构建的ResNet基本结构,如图2所示。ResNet共有13个卷积层,其中第一个卷积层采用宽卷积核,目的是为了提取短时特征。优点是它可以自适应的学习面向故障诊断的特征,提高分类精度[6]。卷积核的大小设为(64×1),移动步长设为(1×16),卷积核数量设为32。其余卷积层是由4个残差模块组成,每个残差模块包含3个卷积层。池化层有最大池化层和平均池化层两种,大小均为(2×1),移动步长均为(1×2),它们的主要作用是减少了中间层输出样本尺寸的大小和后面层参与训练参数的数量,加快了模型训练速度。同时为了防止过拟合,在平均池化层后面添加一个Dropout。全连接层将平均池化层输出的特征矢量首尾连接组成一维向量。Softmax分类器主要实现目标故障分类。
图2 深度残差网络基本结构Fig.2 Basic Structure of Deep Residual Network
ResNet故障诊断算法流程,如图3所示。
图3 故障诊断算法流程Fig.3 Fault Diagnosis Algorithmic Flow
首先将原始样本按半重叠的方式分割成多个不同子样本作为模型的输入。之后将子样本按0.64:0.16:0.2的比例划分为训练子样本,验证子样本和测试子样本。最后针对不同的子样本先后完成模型的训练,验证和测试。在模型训练时,比较实际输出和期望输出的误差。当误差不满足给定要求时,对模型反向更新权重。当误差满足给定值时,输出训练模型。在模型验证时,算法在每一轮迭代过程中会不断的调整网络的超参数,当完成一轮迭代更新后,算法会使用验证子样本进行一次验证,测试模型的改进效果,以更好的评估此模型的优劣。模型测试主要是将测试子样本直接作为训练模型的输入,通过训练模型实现轴承目标故障的分类。
为了验证模型的可行性,选取了美国凯斯西储大学的开放轴承数据库的样本进行实验验证,实验台,如图4所示。实验平台包括一个2马力的电机(左侧),一个转矩传感器(中间),一个功率计(右侧)和电子控制设备。使用电火花加工技术在轴承上布置了单点故障,故障直径分别为7、14和21mils。实验中,加速度传感器分别安装在电机壳体的驱动端和风扇端,用来采集故障轴承的振动信号。
图4 CWRU实验台Fig.4 CWRU Test Bench
实验选择了采样频率为12khz,负载为2hp,故障直径分别为7mils、14mils和21mils下的10种轴承状态数据,具体样本组成信息,如表2所示。由表2可知,实验数据共由1000个样本组成,样本长度为1000。在训练前,通过半重叠式的样本切割方式形成1999个子样本,并将其划分为1280个训练子样本,320个验证子样本和399个测试子样本。模型训练采用python软件中的Keras框架,批处理个数为32,epochs为5000,损失函数采用交叉熵损失函数,使用adam优化算法,其中学习率设为0.001。
表2 样本具体组成信息Tab.2 Sample Specific Composition Information
ResNet训练后训练集和验证集的准确率曲线,如图5所示。
图5 模型训练和验证的准确率曲线Fig.5 Accuracy Curve of Model Training and Verification
从图中可以看出,在模型训练过程中,随着epochs的不断增加,训练集的准确率收敛于1;验证集的准确率虽然在训练过程中有波动,但是总体收敛趋势表现良好。这表明ResNet模型在训练过程中能够更好学习到振动信号之间的特征关系。通过混淆矩阵更加清晰的显示测试集对滚动轴承状态的识别状况,如图6所示。从混淆矩阵可以看出,测试集中45个故障直径为7mils的滚动体损伤样本中有1个样本被误判为故障直径为7mils的外圈损伤,其余九种滚动轴承状态均分类正确,这表明了提出的ResNet模型具有较高的轴承故障识别率。
图6 测试集识别结果Fig.6 Test Set Recognition Results
利用当前主流的流行学习算法(t-SNE)[10]将每一个残差模块,最大池化层和平均池化层输出的高维特征映射到二维特征,并将其进行可视化,降维可视化结果,如图7所示。其中,不同的颜色代表不同的轴承故障类别。从图中可以看出,随着层数的不断加深,相同状态的数据点很好的聚集在一块,不同状态的数据点逐渐分离。以上结果表明,深度残差网络具有出色的特征提取能力。
图7 T-SNE降维可视化结果Fig.7 Dimension Reduction Visualization Results of T-SNE
为了验证提出的ResNet模型与其它故障诊断模型的识别性能,选取了深度神经网络(DNN)、深度置信网络(DBN)和四层的卷积神经网络(CNN-4)进行对比试验。其中,DNN和DBN是由输入层,两个隐藏层和输出层组成,其神经元个数分别为1000,100,100,10。CNN-4是由四个卷积层,四个最大池化层和全连接层组成。其中,第一个卷积核大小为(64×1),移动步长为16,其余卷积核大小均为(3×1),移动步长均为1,最大池化层大小为(2×1),移动步长为2。全连接层由32个神经元组成。所有对比模型均采用Softmax分类器。对比结果,如表3所示。
表3 不同模型的分类精度(%)Tab.3 Classification Accuracy of Different Models(%)
从表中可以看出,DNN和DBN模型对轴承状态的综合识别率较差,其原因在于浅层神经网络模型的特征学习能力有限,不能学习到更加有用的特征。相比DNN和DBN模型,CNN-4模型在诊断精度和稳定性均体现了较大的优势,其原因是它通过局部连接和权值共享保留了重要的参数,减少了大量参与训练的权重计算,达到了良好的学习效果。但是,与ResNet相比,ResNet通过多个残差模块相互堆叠,并且对其进行残差和卷积运算,使轴承状态达到了最高为99.75%的综合识别率。因此,ResNet模型学习到的特征具备很好的分类特性,能够很好的运用在轴承的故障诊断中。
针对传统故障诊断方法诊断效率低,耗费时间长等缺点,将深度残差网络成功的应用在滚动轴承的故障诊断中。首先将原始样本进行半重叠的样本分割,其次将分割后的子样本划分为训练子样本,验证子样本和测试子样本,最后通过对深度残差网络进行训练、验证和测试,实现了滚动轴承的故障分类。经过与其它故障诊断模型做对比实验,表明了深度残差网络在滚动轴承的状态识别上具有较高的准确率。同时,利用t-SNE降维可视化证明了残差网络具有很强的特征提取能力。然而,深度残差网络结构较为复杂,有大量的参数需要参与训练,训练花费时间较长,并且模型的训练参数选择需要经过反复的试验才能确定,所以将模型结构参数进一步优化成为下一步研究的重点。