卢占标,黄细霞,姬 克,鲍佳松
(上海海事大学 航运技术与控制工程交通行业重点实验室,上海201306)
在现代工业中旋转机械的健康状况监测和故障诊断具有重要意义[1]。如变速箱,其在机械传动系统中起着至关重要的作用。齿轮箱的任何故障都可能导致不必要的停机、昂贵的维修,甚至造成人员伤亡。齿轮箱故障多样,如裂齿、齿面磨损、齿面剥落、齿面变形等故障,早期故障对旋转机械的稳定性影响较小,处理简单。由于早期故障的特征不太明显[2],很容易被背景噪声所覆盖,利用传统方法依靠工程师或专家的经验,通过手工提取特征来分析故障是不现实的。如建立支持向量机(support vector machine,SVM)[3,4]模型分类预测。近年来,深度学习模式识别领域的最新研究成果,由于其强大的建模和表征能力,已在机电设备故障诊断领域得到应用,其可以从原始数据中自动学习具有代表性的特征和复杂的非线性关系[5]。多通道稀疏矩阵卷积神经网络用于检测当中[6],以及使用卷积神经网络(convolutional neural network,CNN)模型对轴承和齿轮箱故障诊断做研究[7~9]。
本文通过分析来自多个传感器不同方向、位置测得原始数据之间存在特征关系提出了一种多通道输入连续CNN-SVM早期故障诊断模型。
CNN是一类包含卷积计算且具有深度结构的前馈神经网络。传统的CNN[10]由三种类型的层构成:卷积层、子采样层(池化层)和全连接层。
1)卷积层:将输入与卷积核进行卷积计算,其输入为前一层的输出,卷积运算的结果通过激活函数得到输出。近年来,整流线性单元(Relu)由于其计算量小、训练速度快等特点,被广泛用作激活函数。卷积层的数学模型可以用以下方程来描述
(1)
式中 *为卷积运算;l为网络的第l层;k为卷积核,为二维矩阵;f为一个非线性激活函数;b为偏置。
2)池化层:在卷积层之后连接的就是下采样层(池化层)。池化层不会改变输入矩阵的深度,但可以缩小矩阵的大小。通过池化层,可以减小后面全连接层中的节点个数,从而减少了整个神经网络中的参数数量。池化层可通过以下方程式进行数学描述
(2)
式中 down()为子采样函数。
3)全连接层:是一种传统的前馈神经网络,采用SoftMax函数作为激活函数输出。全连接层的每一个神经元都与上一层的所有神经元相连,把前边提取到的特征综合起来进行分类。SoftMax函数在多分类过程中,将多个神经元的输出,映射到(0,1)区间内,从而来进行多分类。SoftMax函数定义如下
(3)
(4)
SVM是一种经典的二分类模型。本文提出的CNN-SVM方法主要采用非线性SVM作为后端多分类器。通常,旋转机械故障数据是线性不可分的。假设训练数据是Z={(x1,y1),…,(xi,yi),…,(xn,yn)},xi∈Rn,yi∈{-1,+1},其中,xi为第i个输入特征向量,yi为xi的类别标签,通过引入松弛变量ξi,将线性不可分问题可以描述未一个软区间最大化问题
s.t.yi(wi·xi-b)≥1-ξi,∀(xi,yi)∈Z
ξi≥0,i=1,2,…,N
(5)
式中w,b为优化参数;ξi为松弛变量;C为惩罚因子。
以上只适用样本严格线性可分的情况。在非线性情况下,SVM通过适合的核函数将样本映射到高维空间,使样本集在高维空间中线性可分。本文CNN-SVM模型使用高斯径向基函数作为模型的核函数。径向基函数定义为
(6)
最终模型的分类决策函数为
(7)
以上模型只能将样本分为两类,而在处理多分类问题时,需要构造合适的多分类器。而本文构造的SVM多分类模型为一对一。其原理是在l类训练样本中构造所有可能的两类分类器,每个分类器仅在l类中的两类训练样本上训练,故共构造N=l(l-1)/2个分类器,对N个分类器的结果进行投票,如果某个二分类器的输出结果为i类,则i类得票数加1,如果输出结果为j类,则j类得票数加1,最后统计得票最多的类别,分类的结果就是该类别。
CNN具有局部感知域、权重共享和池化的特点,大大降低了网络复杂度和过拟合风险。本文利用CNN强大的特征提取能力,将其应用到行星齿轮箱的故障诊断。特征提取过程中采用连续卷积减少可学习参数,通过Relu激活函数防止梯度消失,收敛快。从全连接层提取特征作为SVM的输入,训练模型。最后把测试集输入模型分类,通过测试准确率来检验模型效果。模型结构如图1所示,完成检验步骤如下:1)将来自多个传感器不同方向、位置测得原始数据,将取部分原始数据样本为多通道二维图像输入到改进的CNN模型中进行预训练,完成训练,保存CNN模型参数。2)利用训练好的CNN模型作为特征提取工具,从新的故障原始数据中提取具有代表性的特征。3)将全连接层提取的稀疏代表性特征向量输入到支持向量机分类。4)保存训练好的模型,用于现场检测。
图1 多维输入CNN-SVM故障诊断流程图
数据来源于东南大学小组从传动系动态模拟器(DDS)采集,本文采用负载设置为20_0数据,包括4类故障数据和1类健康数据。每类数据都是由8个信号源组成。为了充分利用数据的信息,本文把8只传感器得到的原始数据全部用来分析,将数据重构,每类故障类型1 024个样本,其中预训练样本256个,训练测试样本768个,每个样本8 192个数据点。
将原始一维时间序列振动信号,重构成二维特征图,将其进行图像增强操作。每个样本是一个8通道一维时间序列数据(1 024,8)重建三维输入特征图(32,32,8),其中,8表示8通道,32表示特征图高度,32表示特征图的宽度。
将原始数据按70 %为训练集(537×5=2 685个样本),30 %为测试集(231×5=1 155个样本)。再在训练集中随机抽取20 %的样本作为验证集(训练样本430×5=2 150个,验证样本107×5=535个)。每个样本长度为1 024×8=8 192个数据点。本文设置验证集,目的为了验证训练后的CNN-SVM模型的准确性。当验证集上的误差大于训练集上的误差时,表明模型可能过拟合,模型训练及时停止。最后,利用测试数据集对模型进行最终故障分类和精度评估。
实验基于Keras深度学习框架,模型结构由连续卷积CNN和SVM分类器构成如图2所示,每层的设置超参数如图3所示,Adam超参数设置为η=0.001,β1=0.9,β2=0.999,在CNN结构中加入Dropout参数防止模型过拟合。卷积1和卷积2中的卷积核为(3,3),卷积3和卷积4中卷积核为(4,4)。激活函数使用Relu 激活函数。
图2 8通道输入CNN-SVM网络结构
从全连接层得到特征输入多分类SVM,为了查看CNN对数据的特征提取能力,对测试集1 155个样本,在测试数据下的t分布随机邻居嵌入(t-SNE)散点图如图3共构造10个分类器。由于输出特征是非线性数据,本文采用径向基函数对高维数据进行映射。
图3 测试数据t分布随机邻居嵌入(t-SNE)散点
本文采用的是8通道输入CNN-SVM模型,绘制训练过程的精度如图4所示,由图可知模型的收敛速度比较快,在40次训练就基本开始收敛了。
图4 8通道输入CNN-SVM模型训练过程的精度和损失率
当把全连接层的提取的特征作为输入给SVM,用混淆矩阵表示测试集的效果如图5所示,横轴表示真实标签,纵轴表示预测标签,由图可知故障2有1个样本误为故障3;其余都预测正确。正确率高达99.91 %。
图5 CNN-SVM方法建立故障诊断结果的多类混淆矩阵
为了验证本文提出的方法的可靠性做了以下对比实验。把每类数据用其中某只传感器采集原始数据作为单通道输入,CNN-SVM模型训练过程如图6所示,由图分析可知模型的波动性很大不稳定。对多通道数据输入,能够保存更多的故障的信息,并增强了模型的泛化能力。
图6 单通道的CNN-SVM模型准确率和损失率
由表1可以得知,一个是用预训练训练好的模型CNN-SoftMax,另一个是本文提出CNN-SVM模型。两种模型对比可知,本文提出的模型测试准确率要高于用SoftMax分类器模型。两种模型训练时间相差不大,但是本文采用的模型测试时间为0.072 s,明显优于CNN-SoftMax模型的0.483 s。减少测试时间对故障的快速诊断和故障的在线实时监控具有重要意义。
表1 CNN-SVM模型的诊断结果
将本文所提的训练好的模型对测试数据进行10次试验,识别率平均约99.94 %,证实了该模型的准确性。本文还建立二维卷积神经网络(2DCNN)和主成分分析—支持向量机(PCA-SVM)模型进行对比分析,对三种模型分别对测试数据进行10实验,后二者的准确率分别为99.21 %,85.19 %,本文所提出的模型精确性更高。
提出了一种多通道输入数据融合的CNN-SVM故障诊断模型。该模型通过在传统CNN中引入融合模型来实现多维数据的特征学习;对传统的CNN改进加入连续卷积减少学习参数,加快模型更快收敛。该模型可以直接从原始振动信号中提取特征,避免人为特征选取的不确定性和复杂性。模型可以利用多个输入层直接从信号中自动有效地学习不同数据类型的互补性和丰富的故障特征,大大提高了特征提取和故障识别的能力。本文通行星齿轮箱实验验证了模型的有效性。在实际应用应考虑齿轮箱运行环境不同而对模型进行迁移学习。