王 琦, 邓林峰, 赵荣珍
(兰州理工大学 机电工程学院,兰州 730050)
滚动轴承广泛应用于工业生产设备中,是旋转机械的核心部件,其健康状态对机械设备的性能、效率和使用寿命有巨大影响[1]。因此,滚动轴承状态监测及识别对于维护机械设备稳定运行至关重要。轴承振动信号中包含轴承状态信息,通过对其进行分析处理可识别轴承故障状态。然而随着轴承监测点增多,数据量增大,传统故障诊断方法已不能满足大数据故障分析识别的要求[2]。因此,基于大数据技术的智能故障诊断方法成为当前一个研究热点。
近年来,数据驱动的深度学习[3]方法以其强大的非线性关系表达和特征提取能力被广大学者引入机械故障诊断领域,诸如深度置信网络、堆叠自编码器、循环神经网络和卷积神经网络(convolutional neural network,CNN)等深度学习方法在故障诊断中得到广泛应用[4]并取得了较好的研究成果。Tamilselvan等[5]提出了一种基于深度置信网络的故障诊断方法,分别对飞机发动机和变压器进行了故障辨识,验证了深度学习方法在故障模式识别方面的优势及可行性。郭亮等[6]通过集成信号的时域、频域和小波域的混合特征,利用3层堆叠稀疏自编码器和Softmax回归分类,最终实现了滚动轴承故障的准确诊断。Liu等[7]提出了一种基于循环神经网络和自编码的滚动轴承故障诊断方法,可对噪声环境下的滚动轴承故障实现有效诊断。
作为深度学习技术的一种主流算法,卷积神经网络以局部计算、权值共享和端对端等特点,受到特别多的关注并应用于机械故障诊断。Zeng等[8]将原始振动信号经过S变换后的时频图作为CNN输入,能够自动提取故障特征并识别出齿轮箱故障。李恒等[9]将原始时域信号进行快速傅里叶变换后的时频谱图输入CNN,实现了滚动轴承故障的准确辨识。Hoang等[10]通过将原始振动信号转换为二维灰度图像并结合卷积神经网络的策略,对滚动轴承故障能够进行准确诊断。Peng等[11]提出了一种包含残差块的一维卷积神经网络模型,该模型使用宽卷积和Dropout技术增强网络的泛化能力,通过试验验证,并与其他深度学习模型进行对比发现,该模型可以达到更高的故障诊断精度。
虽然以上基于深度学习的故障诊断方法都取得了一定的研究成果,但并没有考虑过多的模型参数会导致学习效率降低的缺陷,这在很大程度上将影响模型的应用性能,使其在解决实际诊断问题时难以达到期望效果。针对上述问题,本文提出一种基于改进一维卷积神经网络的滚动轴承故障识别(fault recognition based on improved one-dimensional convolutional neural network, FRICNN-1D)方法。其在传统CNN基础上,使用1×1卷积核增强模型非线性表达能力,同时结合全局平均池化降低模型参数量和计算量,以增强其适应性和稳定性。最后,利用滚动轴承故障数据对该方法的性能进行了验证,并通过与多种故障诊断方法对比分析,进一步证实了该方法的有效性。
CNN是一种特殊结构的前馈神经网络,主要由输入层、卷积层、池化层、全连接层和输出层构成。
卷积层使用设置的卷积核对所在层的输入特征图按照步长依次对其进行局部卷积运算,在输入特征图上遍历一次卷积运算后输出相应的特征图。由于卷积核的参数共享机制,每一个卷积核都会输出一个特征图,卷积核的数目则为输出特征图的深度。具体的卷积运算如式(1)所示。
(1)
通常在卷积层之后使用激活函数对其输出特征图进行非线性变换,提高网络的非线性表达能力。本文采用线性整流(rectified linear unit,ReLU)函数来加速模型的收敛,其计算过程如式(2)所示。
yl=f(xl)=max{0,xl}
(2)
式中:xl为式(1)卷积运算得到的输出特征图;yl为xl经过ReLU激活操作后的输出值。
池化层的主要目的是通过改变特征图的宽度来减少网络参数和计算量,同时保留重要特征。池化主要分为平均池化和最大池化,本文将采用最大池化操作,也就是将输入特征图在池化核感知域中的最大值输出。具体的最大池化运算过程如式(3)所示。
(3)
全连接层的作用是将交替的卷积层和池化层所提取到的特征进行整合并再次提取。具体的做法是将最后一个卷积层或者池化层的输出特征图展平为一维特征向量,并进一步对特征进行提取,全连接层的运算过程如式(4)所示。
yl=f((wl)Txl-1+bl)
(4)
式中:xl-1为第l-1层的输出值;wl为权重;yl为l层的输出;bl为偏置项;f(·)为激活函数。最后将输出和SoftMax分类器连接,完成分类任务。Softmax函数的计算过程如式(5)所示。
(5)
式中:xi为输出层第i个神经元的激活值;C为类别数;p(xi)为输出层神经元的概率输出。Softmax函数将每个神经元的输出映射到(0,1)概率空间,概率值越大对应类别的可能性越高[12]。
全局平均池化[13](global average pooling, GAP)操作分别将最后一个卷积层或池化层的输出特征图进行空间平均操作。与全连接层相比,GAP层能够增强特征与目标类别之间的相关性,同时GAP层中没有需要训练的参数,因此可以大幅减少网络的参数和计算量,有效防止过拟合,使得学习到的特征鲁棒性更好。GAP的具体计算公式如式(6)所示。
(6)
批量归一化(batch normalization, BN)操作类似于一种标准化操作,在卷积神经网络中添加BN层的目的是减少内部协变量转移,以提高网络的性能和增强网络的泛化能力。BN层主要放置在卷积层之后,其具体计算过程如式(7)所示。
(7)
yl=γxl+β
本文在CNN的基础上,提出基于改进一维卷积神经网络的滚动轴承故障识别模型(FRICNN-1D),具体的模型结构如图1所示。其包括9个卷积层,3个最大池化层以及1个全局平均池化层,各层之间的两个箭头分别表示网络的前向传播和反向传播过程。相比传统的CNN,FRICNN-1D主要做了如下改进。
(1) FRICNN-1D直接以原始的时域振动信号作为输入,为了适应一维时域振动信号时间序列的结构特性,FRICNN-1D的卷积核和池化核均为一维结构。
(2) FRICNN-1D的第一层采用大尺寸卷积核,目的是为了增大感受野,获取更多的数据并为网络后续层提供更多信息。对于实际故障诊断而言,大卷积核可以更好地抑制高频噪声[14]。
(3) 每层卷积操作后,再进行批量归一化操作以增强模型的泛化能力。
(4) 在FRICNN-1D结构中使用1×1卷积核,其作用为:①在不显著增加模型训练参数的前提下,增强模型的非线性表达能力[15-16];②压缩特征通道并保留显著特征;③实现跨通道特征融合。
(5) 使用GAP层代替全连接层,可减少模型参数和计算复杂度,且能防止过拟合现象。由于GAP层的输出和Softmax分类器相连接,需将FRICNN-1D最后一个卷积层的卷积核数量设置为故障类别数。
图1 FRICNN-1D的结构
Fig.1 The structure of FRICNN-1D
本文构建的FRICNN-1D模型以原始时域振动信号作为输入,前向传播并通过交替的卷积层和最大池化层逐层完成故障特征的自动提取,利用GAP对所提取的特征进行全局整合,并通过Softmax分类器进行故障辨识。然后以交叉熵度量Softmax函数的输出概率分布和故障类别的概率分布间的差异性,并将其作为损失函数。交叉熵的具体计算公式如式(8)所示。
(8)
式中:p(x)为样本x的真实分类结果;q(x)为样本x的Softmax输出分类结果。最后通过反向传播来更新权值和偏置使损失函数最小,以达到FRICNN-1D的设计要求。
基于FRICNN-1D的滚动轴承故障识别方法主要分为3个环节:①数据集准备;②模型训练;③模型测试。其具体实施步骤如下:
步骤1将采集的滚动轴承故障信号分为训练集和测试集,并做标记。
步骤2对FRICNN-1D模型的权值和偏置参数进行初始化。
步骤3将训练集输入FRICNN-1D,并前向传播。
步骤4根据式(8)计算损失函数Loss,并通过反向传播更新模型的权值和偏置,使Loss的值最小。
步骤5若满足训练要求,则完成FRICNN-1D的训练;若不满足训练要求,则返回步骤3。
步骤6使用训练好的FRICNN-1D对测试集进行故障分类识别。
与上述步骤对应的流程如图2所示。
图2 故障识别方法的流程图
试验数据取自凯斯西储大学(CWRU)滚动轴承故障数据集[17]。其轴承型号为深沟球轴承SKF6205,轴承的运行状态包括正常(N)、内圈故障(IF)、滚动体故障(BF)和外圈故障(OF),且每类故障都包含0.177 8 mm、0.355 6 mm和0.533 4 mm 3种故障直径,因此可形成10种运行状态。故障数据的采样频率为12 kHz。
考虑到训练FRICNN-1D所需样本数量,本文采用重叠采样[18]的方式来获取数据样本。采样方式如图3所示,即从原始信号中进行截取训练样本时,每一个样本与其后一个样本部分重叠。采用重叠采样技术既满足FRICNN-1D的训练要求,也可避免由于常规截取方式导致信号边缘特征丢失的现象。
图3 重叠采样技术
本文选用的试验数据是驱动端采集得到的,其中每个数据样本包含2 048个数据点[19]。试验验证共准备了4个数据集,其具体信息如表1所示。
表1 试验数据集
在构建卷积神经网络时,针对不同任务,选择恰当合理的参数对模型性能有很大提升。因此,本文在构建FRICNN-1D过程中,对一些影响模型准确率和训练速度的参数进行选取,如卷积核尺寸和步长、批处理样本数目(Batchsize)、优化器类型等。通过重复试验选取模型参数,选取过程遵循单一变量原则,最终得到FRICNN-1D的结构参数如表2所示。
表2 FRICNN-1D结构参数
在模型的训练过程中,通常将训练集分为多个Batchsize,并依次输入模型进行训练。但是,Batchsize太小会导致模型不易收敛,太大会降低模型的泛化性能。因此,为选择合适的Batchsize,分别设置其为16、32、64和128时进行试验,结果如图4所示。
从图4可见,当Batchsize为32和64时,初始训练阶段模型准确率较高,且在训练至第10个迭代批次(Epoch)时趋于收敛。虽然当Epoch小于7时,Batchsize为32的模型准确率比Batchsize为64的更高,但在第7个Epoch之后二者基本保持一致;同时,考虑到Batchsize对模型训练速度的影响,本文选取Batchsize为64。
针对不同的深度学习模型和分类任务,选择合适的优化器对于提高模型训练速度和分类准确率具有重要作用[20]。因此,在训练FRICNN-1D过程中分别选择Adagrad、Adam、Adadelta、RMSprop和SGD 5种优化器进行分析对比,结果如图5所示。从图5可以看出,Adam使得模型的训练过程最快收敛,且准确率也最高,故本文选取Adam作为优化器。
图5 不同优化器对训练结果的影响
本文试验是在以Tensorflow为后端的Keras环境中进行,为避免试验结果的随机性偏差,所有试验均采用5折交叉验证法。
为说明本文方法的有效性,将其与CNN-1D、Zhang等和周奇才等的方法3种智能故障识别模型进行对比。其中,CNN-1D模型是将FRICNN-1D中的1×1卷积核去除,并使用神经元个数为100的全连接层代替全局平均池化层,同时为防止过产生拟合现象,在其全连接层使用Dropout操作。
试验结果如表3所示,可以看到4种智能故障识别模型在表1所示的4个数据集上都达到了很高的故障识别率,说明CNN具有出色的故障特征提取和分类能力。但相比之下,本文所提出的FRICNN-1D模型可以达到更高的故障识别率,尤其对数据集A、C和D的识别准确率达到了100%,且平均准确率为4种模型中最高的99.98%;此外,本文所构建的模型相比其他3种模型具有更少的参数,所以模型训练过程也相对更简单,易收敛。因此,本文方法不仅具有更高的故障识别能力,而且训练时间更短,效率更高。
表3 不同故障诊断模型的诊断结果对比
为验证本文方法的泛化能力,分别使用数据集B和C训练模型,然后利用剩余3个数据集测试模型的识别准确率,并与3.3节中所述3种智能故障识别模型进行对比分析,结果如图6所示。图中B→A表示使用数据集B训练模型,使用数据集A测试模型。
图6 变负载轴承的故障识别结果
从图6可见,当训练集和测试集是轴承在不同负载状况下采集的数据时,4种方法的故障识别率均出现不同程度的下降,这主要是负载发生变化导致轴承故障数据集间存在一些分布差异。但是,本文方法在上述情况下的故障识别率均明显高于其他3种故障识别方法,且无论以数据集B还是数据集C作为训练数据,本文方法对剩余3个数据集的识别准确率都超过了96%,明显高于其他3种方法。由此说明,当故障数据集存在一定分布差异时,FRICNN-1D仍可以实现轴承故障的准确识别。
为了进一步分析本文方法的有效性,利用t-分布邻域嵌入(t-distribution stochastic neighbor embedding, t-SNE)算法分别对数据集A在FRICNN-1D各层上提取到的故障特征进行二次处理,以获取更重要敏感的故障特征信息,处理得到的结果如图7所示。其中,图7(a)~图7(l)分别表示FRICNN-1D各层上所提取的故障特征经t-SNE处理后的前两维特征分布状态。
由图7可见:① 原始信号经过第一层大尺寸卷积核卷积操作后,与故障特征交叠的正常信号特征已经分离并聚集在一起,并且部分不同类别的故障特征也有逐渐分离的趋势;② 经过第二层1×1卷积操作后,同一类别的故障特征也开始逐渐靠近;③ 经过Conv3卷积操作后,不同类别的故障特征基本上可以区分开,只有少数故障特征仍交叠在一起;④ Conv4卷积操作可将交叠在一起的IF0.355 6和OF0.355 6故障特征有效分离;⑤ 随着模型深度增加,各类故障特征的可分性和聚集性越来越好,说明随着深度增加,FRICNN-1D的非线性表达能力越强;⑥ 全局平均池化层能将提取到的故障特征进行全局整合并通过Softmax函数完成故障数据的分类。
(a) Input
综上,本文构建的FRICNN-1D模型能够从原始故障数据集中提取出重要故障特征信息,并实现轴承故障的准确识别。
为进一步验证方法的广泛适用性及稳定性,将本文所构建的FRICNN-1D故障识别模型用于如图8所示的HZXT-DS-001型双跨综合故障模拟试验台的轴承故障识别。轴承型号为NSK6038深沟球轴承,其状态包括正常(N)、滚动体故障(BF)、内圈故障(IF)、外圈故障(OF)及保持架故障(CF)共5种状态。振动信号的采样频率设为8 kHz。
图8 HZXT-DS-001型双跨综合故障模拟试验台
转子的平稳转速为2 600 r/min,考虑到故障特征信息的完整性及分析处理过程的高效性,取每个振动信号样本的采样点为2 048。采集轴承5种运行状态的原始时域振动信号,如图9所示。
从图9可见,滚动轴承5种运行状态的振动信号存在一定差别,尤其对于内圈故障状态,与其他4种状态相比,其振动信号中存在明显的冲击成分,且幅值较大,几乎是其他状态信号幅值的10倍。但是,仍难以通过5种运行状态的原始振动信号直接对轴承故障状态进行准确地分类辨识,需要对原始振动信号做后续处理,才能实现轴承不同状态的有效识别。
(a) N
为准确识别上述滚动轴承5种运行状态,每种状态取训练样本数为100,测试样本数为50,然后利用本文所构建的FRICNN-1D模型对样本信号进行分析处理;同时,为显示本文方法更强大的轴承故障状态识别能力,使用3.3节中所述其他3种智能故障识别模型也分别处理样本信号,并将4种方法的故障识别结果进行对比,结果如图10所示。
从图10可见,本文构建的FRICNN-1D模型的故障识别率明显高于其他3种故障识别模型,且准确率的误差限也最小。由此说明,对于实际的滚动轴承故障识别任务,本文方法与其他3种智能故障识别模型相比,具有更好的适用性和更高的准确率。
图10 不同模型的故障识别结果
(1) 本文提出了一种基于改进一维卷积神经网络的滚动轴承故障识别方法。该方法可直接作用在原始一维振动信号上,无需进行人工特征提取。
(2) 通过在模型的第一层使用大尺寸卷积核,可以获取更多故障信息并传递给网络的后续层;通过引入1×1卷积核,在只增加少量模型参数的同时增强了模型的非线性表达能力;使用全局平均池化层代替了传统卷积神经网络的全连接层,很大程度上减少了模型的参数和计算量,可有效防止过拟合现象。
(3) 试验结果表明,该方法相比于其他智能故障识别模型可以达到更高的故障识别率,且模型的参数更少,易于训练;同时该方法可以有效识别实际滚动轴承的故障状态,具有广泛的适用性。