王海龙,夏筱筠,孙维堂
(1. 中国科学院沈阳计算技术研究所,沈阳 110168; 2. 中国科学院大学,北京 100049)
滚动轴承是机械设备中最常用的部件,同时也是很容易被损坏的部件,它的健康状况对机器的稳定性和寿命有很大的影响。因此滚动轴承的故障诊断被国内外众多学者所研究,提出了众多的方法。一般的思路是,提取原始振动信号的特征,然后将特征向量作为输入,通过各种分类器进行分类识别。如于婷婷[1]提出时域特征和频域特征作为BP神经网络输入的诊断方法;杨宇等[2]提出将振动信号经验模态分解后提取各频带能量作为特征参数的神经网络诊断方法。该思路的问题是所提出的特征具有人为主观因素,并很难将故障特征完全反应出来,因此难以达到很高的准确度。
近年来,深度学习以其他方法不可比拟的优势,逐步的被引入到对轴承故障的诊断中来,并为之提供了新思路和新方法。单外平等[3]将深度信念网络(DBN)引入轴承故障诊断中,并得出DBN可以直接通过原始数据对轴承故障进行高效识别的结论。Wang等[4]提出了基于希尔伯特包络谱和DBN的轴承故障诊断方法。卫洁洁等[5]用深度神经网络对滚动轴承故障进行诊断取得了比传统方法更好的结果。
被广泛应用于模式识别领域的卷积神经网络,以它独有的优势,包括:局部感受野、权值共享以及池化,开始被引入滚动轴承的故障诊断中来。Lu等[6]将以时间序列重构的二维矩阵作为CNN输入诊断滚动轴承的故障,并验证了该方法在噪声环境下的鲁棒性。李恒等[7]提出基于短时傅里叶变换和卷积神经网络的轴承故障诊断方法。其核心思想是,如何将一维的故障振动信号转化成适应于CNN处理的二维矩阵数据。
本文提出了一种将EMD与卷积神经网络结合的方法。通过对振动信号进行经验模态分解后,将分解的模态和原始振动数据组成的二维的特征图作为CNN的输入,对正常、内圈故障、外圈故障及滚子故障的多种故障程度进行诊断识别。实验结果表明,该方法具有很高的识别准确度。
EMD方法是由Huang N E[8]于1998年提出的一种自适应的对信号稳定化处理的方法。它可以将信号中的不同尺度的波动或趋势逐级分解出来,将信号细分为若干固有模态分量之和,非常适合非线性、非平稳信号,目前已在机械故障诊断领域得到广泛应用。
分解过程在很多文献中都有详细介绍,可以参考[8]。其分解式为:
(1)
式中,ci为第i阶IMF;r为残差;n为IMF的阶数[9]。通常该方法分解出来的前几个IMF往往集中了原始信号中最显著最重要的信息。
卷积神经神经网络是一类包含卷积或相关计算且具有深度结构的前馈神经网络。它受视觉神经机制的启发而设计,通过建立多个滤波器提取输入数据的特征。这些滤波器对输入数据进行逐层卷积和池化,不断提取蕴含在输入数据中的特征。网络层数越深入,提取到的特征越抽象,最终从原始输入数据中得到具有平移、扭曲、缩放不变性的鲁棒特征。CNN在图像识别和目标检测方面被广泛应用,近年来也有部分学者将CNN 引入到故障诊断领域[10-12]。
一个典型的CNN网络是由输入层、卷积层、池化层、全连接层和输出层组成。如图1所示。
图1 CNN结构图
卷积层是对输入数据进行特征提取的一层,由多个特征面组成,每个特征面由多个神经元组成,每一个神经元通过卷积核与上一层特征面的局部区域相连,该局部区域在文献中被称为感受野。卷积核是一个权值矩阵,它依次扫过前一层输出的特征,并进行卷积操作,利用激活函数可获得卷积层中每个神经元的输出值,其数学模型可以描述为:
(2)
池化层通常接在一层或者多层的卷积层之后,旨在通过降低特征面的分辨率来获得具有空间不变性的特征。它的泛化能力更强,更不易产生过拟合。通过池化操作使得特征对噪声和变形具有鲁棒性。
在多个卷积层和池化层后,连接着一个或多个全连接层。全连接层中的每个神经元与其前一层的所有神经元进行全连接。它有可以整合卷积层或池化层中具有类别区分的局部信息。通过丢失数据(dropout)技术避免训练过拟合。
将滚动轴承的振动数据切分成一定长度的样本集,按一定比例随机选取训练集与测试集。之后对每个样本进行经验模态分解,得到若干个模态分量。不同样本长度经验模态分解后的模态分量个数不同,一般样本越长,模态分量个数越多。通常前几个模态分量集中了原始信号中最显著最重要的信息。如图2是滚动轴承正常状态下样本长度为400的模态分解后的各模态分量。
将各个模态分量与原始振动信号一起构成二维的特征图,如样本长度为400模态分量有5个,那么特征图由400×6的矩阵表示,作为卷积神经网络的输入。且大量的训练试验发现,加入原始振动信号能得到更高的准确率。
图2 各模态分量
接下来调整CNN的结构。因为CNN实现过程实际上已经包含了特征提取过程,并且层数越高,特征的表现形式也越抽象,能够表示的特征空间也就越大,网络学习能力也越强,计算更复杂。
因此,在实际需要多次选取网络深度、特征面数目、卷积核的大小和数目、池化层的大小及层数、全连接层的神经元数目、卷积时滑动的步长、迭代次数、批次大小、激活函数及初始权重等参数。按照排列组合的方式不断尝试,直到找到一个分类准确率够好,同时训练时间可控的CNN结构。其流程如图3所示。
图3 滚动轴承故障诊断流程图
对于不同样本长度的输入,需要对CNN的结构进行重新调整,尽可能找出适合不同样本长度的CNN结构。随着样本长度的增加,往往需要更大的样本集,更复杂的网络结构。
采用美国凯斯西储大学所公开的轴承试验数据进行实验分析。电动机转速为1730~1797 r/min,采样频率为12 kHz,故障种类包括内圈、滚子和外圈,损伤直径为0.07 mm、0.14mm及0.21mm,因此共10种故障分类,例如内圈直径0.07mm的故障类型是2。其编码为[0,1,0,0,0,0,0,0,0,0]。每种分类样本数约为300组。随机选取80%作为训练集,20%作为测试集。
对如何确定CNN的结构及参数还没有明确的方法,需要不断的调整参数来找出适合的值,很大程度上取决于经验。本文在LetNet-5[13]基础上,进行了一些改变,找出了一个适应于滚动轴承故障诊断的CNN模型。激活函数选择修正线性单元(ReLU),它具有更加有效率的梯度下降以及反向传播,较好的避免了梯度爆炸和梯度消失问题,并且由于偏导数简单简化了计算过程,同时活跃度的分散性使得神经网络整体计算成本下降。网络结构如表1所示。
表1 卷积神经网络的结构
通过选取不同样本长度进行训练,发现样本长度取400左右测试集准确率最高,能达到99.5%,如图4所示。
图4 测试集样本真实值与预测值
1代表正常轴承,以后依次表示内圈、滚子及外圈故障在三种损伤直径。多次试验发现,几乎不会对正常轴承错误诊断,错误诊断一般发生在对滚子故障诊断中。训练过程中训练集与测试集的准确率及损失如图5、图6所示。
图5 训练集与测试集准
图6 训练集及测试集的损失
可以看出,本方法只需要很少次数的迭代,便可以收敛得到很高准确率且较小损失的结果。
多种方法各样本长度准确度对比如图7所示。方法1为时域特征和频域特征作为BP神经网络输入的诊断方法,即取峭度、峰值因子、脉冲因子、裕度因子、波形因子、均方根频率、频率标准差这7个参数作为BP神经网络的特征输入;方法2为振动信号经验模态分解后提取各模态分量的能量作为特征参数的神经网络诊断方法;方法3为滚动轴承原始信号作为深度置信网络输入的诊断方法。
图7 多种方法诊断结果对比
与方法1、方法2相比,本文提出的方法具有更高的识别准确率,更加智能的特征提取避免了人为主观因素的影响,更加适合处理大数据的故障诊断方法。方法3对深度置信网络的结构很难调整,容易出现过拟合,且识别的平均准确率不如本文所提出的方法高。综上对比可以看出,本文提出的方法是对滚动轴承故障检测的有效方法。
基于EMD和CNN的滚动轴承故障诊断方法,利用CNN可以直接从低层到高层逐层智能学习得到很好的特征表示,避免了人为对特征的提取与选择增强了识别过程的智能性。并且CNN是一种数据驱动的故障诊断方法,随着数据量的增大,它的故障模式能表达的更完整,诊断的效果也就越好。结合EMD方法,能够很好对滚动轴承的各种故障进行分类和识别。实验结果表明通过增加训练样本的数量可以提高该方法的鲁棒性,更加适合处理针对大数据的故障诊断。