基于卷积神经网络的滚动轴承故障诊断方法

2023-09-27 08:20刘林密崔伟成李浩然桑德一
计算机测量与控制 2023年9期
关键词:故障诊断卷积神经网络

刘林密,崔伟成,李浩然,桑德一

(海军航空大学,山东 烟台 264001)

0 引言

滚动轴承是旋转机械设备的核心构件,它能够支撑转动的轴及轴上的零件,实现滑动与滚动摩擦之间的转化,改变了转动的轴与轴座之间的摩擦方式,承载能力比较高。由于长时间运行,轴承的故障率较高,因此滚动轴承故障诊断是一个热点问题。振动信号分析是滚动轴承故障诊断的常用方法,由于很难直接观察振动信号给出故障与否的结论,通过故障特征提取、运行状态自动判别是研究的主要方向[1]。

故障特征提取一般在时域、频域和时频域进行。时域分析法是一种应用较早且比较直观的诊断方法,多将峰值、峭度、均方根等时域特征作为滚动轴承故障诊断的依据[2-4]。频域分析法先将时域信号变换至频域,再提取特征参数进行故障诊断[5]。由于滚动轴承振动信号是非平稳、非线性的,时频分析法可以比较全面地提取时域及频域特征,主要有小波变换[6]、短时傅里叶变换[7]、经验模态分解[8]等方法。在分类器应用研究方面,国内外的专家学者逐渐将机器学习等人工智能技术用于滚动轴承的故障识别中,机器学习算法主要有支持向量机(SVM)[9]、随机森林(RF)[10]、人工神经网络(ANN)[11]等。

虽然这些故障诊断方法可以获得不错的效果,但分析过程大多需要研究者具备一定的专业知识,而且处理过程比较复杂。随着科技的进步以及需求的发展,上述诊断方法的评估速度和准确性有待提高。

近年来,深度学习在故障诊断领域有了一定的应用,也显示出无可比拟的优势。Shao H[12]等对深度置信网络(DBN)进行了优化,即使轴承工作在较复杂环境中也可以对故障做出准确诊断。Wei Zhang[13]等研究了一种基于深度CNN的滚动轴承故障判别方法,获得了不错的判别效果。Malh[14]等利用循环神经网络实现了滚动轴承故障判别,该模型需要先对振动信号进行小波变换处理后再输入到网络中。此外,还有堆叠自动编码(SAE)[15]等模型也能够实现对机械设备的故障诊断。但深度学习在故障诊断领域的发展仍处在起步阶段,在这个领域理论和应用还不成熟,需要进一步研究。

卷积神经网络(CNN,convolutional neural network)是一种局部连接的网络模型,具有权值共享、下采样的特点,可以尽可能保留重要参数,去掉大量不重要的参数,便于自动提取特征,达到好的学习效果。现已在图像处理、自动驾驶以及语音识别等领域[16-17]有着较普遍的应用。

为了寻求一种结构相对简单、计算速度适中、不需先验知识的故障诊断方法,本文充分利用卷积神经网络的特征提取能力,建立了一种基于卷积神经网络的滚动轴承故障诊断模型。将轴承振动原始数据进行简单的变换生成二维矩阵作为输入,经过模型参数的合理选择,卷积神经网络能准确识别滚动轴承的运行状态,结合实测数据验证了方法的有效性。最后分析了卷积核大小、批大小、学习率、迭代次数等网络模型参数对识别结果的影响,并结合网络模型层数分析,将本文方法与现有的相关文献的方法对比,结果表明本文方法在处理较低级信息的能力以及提取数据特征上存在着巨大潜力。

1 卷积神经网络

1.1 网络结构框架

卷积神经网络的出现与生物学中对感受机制的研究有关,是通过模拟大脑视觉皮质的工作方式实现对图像中某些特征的提取和识别的。现在已经在图像处理、自动驾驶以及语音识别等诸多领域有着较普遍的应用,而且取得了不错的成果。卷积神经网络现在已经有诸多不同的结构框架,但其结构框架通常都包含卷积层、池化层、全连接层和激活函数等,参数学习更新采用反向传播算法[16-17]。

1)卷积层:

卷积层能够实现对输入数据有关特征的提取,主要通过卷积核(又叫滤波器)来实现,不同的卷积核能够提取出数据不同类型的特征。经卷积运算后可以使某些特征信息得以加强,并获得相应的特征映射。权值共享与局部连接是卷积层的两个重要的特点,两者的关键作用是大大减少了参数的数量,使得运算更加简洁和高效,提高了网络模型的性能,同时也可以使得模型更为简化。

2)池化层:

池化层(也叫汇聚层)能够压缩卷积层提取的特征图像的大小,并够获得其主要特征,减小数据处理量,有效避免过拟合。其本质是降采样,将图像某个特定区域内的所有像素处理合并为一个代表值,在一定程度上可以补偿图像中心和倾斜的对象。与之相反的一个过程是上采样,可以把原图像放大,获得更高的分辨率。上采样一般用内插值法将合适的元素插入到原来的像素点之间。池化在一定意义上也可以看做一种卷积运算,但池化作用的区域是不重叠的,而且池化层是固定的。池化也可以使得网络对局部细微的变化具有一定的不变性。

3)全连接层:

全连接层对提取出的特征进行整合连接,然后将输出交给相应的分类函数处理,实现特征分类。通常把最末的池化层所提取出的特征图平摊变为一维向量,再把其输入到全连接层,配合输出层进行分类。

4)激活函数:

激活函数能够增加神经网络非线性表达能力,解决线性模型表达能力不足的问题,使模型可以用于更复杂的情况。

5)反向传播算法:

反向传播是卷积神经网络参数学习更新的一个重要方法,其核心思想是链式求导法则。在数据输入到网络后,首先会经过前向传播获得一个输出,然后再通过反向传播求得相应误差并更新权值,如此反复循环直至误差达到预期范围内。网络中有关参数的更新就是在这一过程中实现的,从而对模型进行训练。卷积神经网络中各层参数学习的原理同样也是基于此,但运算过程中可能会含有矩阵的运算,而且就池化层反向传播过程来说则是对相应区域进行上采样操作得到对应的误差矩阵,也就是进行了池化过程的逆操作。

1.2 LeNet5卷积神经网络

本文使用的是LeNet5卷积神经网络,LeNet5的结构相对简单,但又是一个经典的网络模型。LeNet5是一个为手写数字识别而特地设计的最为典型的卷积神经网络结构,在发展初期提出的卷积神经网络中,其被认为是最具有代表意义的架构之一。在使用MNIST数据集的测试中,LeNet5模型的识别正确率能够达到99.4%左右,早期在银行进行支票手写字识别中常使用的手写数字识别系统,就是根据此神经网络模型而设计出的[16-17]。图1是LeNet5网络模型的构架图。

图1 LeNet5网络模型的构架图

本文应用的网络模型是以其为基本框架,同样定义了卷积层、池化层、全连接层等,针对轴承不同部位的不同程度的故障最后分成10种输出类型。

2 基于卷积神经网络的滚动轴承故障诊断方法

本文以LeNet5网络模型为基本框架,在数据预处理阶段,进行数据截取、归一化处理及生成二维矩阵3个步骤;在训练与测试阶段,核心是网络模型参数设置与分类输出函数选择,在分类输出方面选择轴承不同部位、不同程度的故障,可输出多种类型。故障诊断的模型构架如图2所示。

图2 故障诊断的网络模型构架

2.1 数据预处理

1)数据截取:

模型输入数据量的大小需要综合识别精度与计算速度来权衡。在截取数据时,如果所截样本数据点过少会使得模型的学习效果不佳,但若数据点过多会使输入显得过于冗余造成资源的浪费。本文中认为当每个样本包括轴承旋转两圈左右的数据点输入网络模型后,模型便能够使充分地学习到数据特征,并且能够达到不错的诊断效果。

可先由式(1)计算轴承旋转一周时的采样点个数。

(1)

式中,n为转速(r/min),f为采样频率(Hz)。

再取2*N作为单个样本的数据点。例如,当转速为2 000 r/min,采样频率为12 kHz时,可算得轴承转一周采样点数为450,故在截取数据时每个样本取900个数据点较合适。

2)归一化处理:

为更好地提升网络模型的泛化性能,把截取后的数据输入到模型进行训练之前对其作归一化处理,再进行进一步的训练及测试。归一化就是将数据的相关指标统一到同一量级,可以消除量纲的影响,原始数据在经过这样的标准化处理后,会使得不同数据样本之间具有一定的可比性。在实际情况下,轴承的工作环境相对较为复杂,而且传感器的工作状态受其电阻及电压等条件的影响,使得采集的数据不可避免地存在一些噪声或奇异值。一方面,归一化能够在某种程度上消除或弱化这种数据的影响,有利于网络模型的快速收敛;另一方面,归一化处理在一定意义上可以提高网络模型诊断的可靠性及准确性,使得网络模型不仅仅局限于所选数据集,若有不同传感器采集的同一类型数据也可以输入到网络中得到较好的识别效果。

采用式(2)将每个样本归一化到[-1,1]之间:

(2)

式中,ymax是归一化区间的最大值;ymin是归一化区间的最小值;xmax是样本中的最大值;xmin是样本中的最小值。

3)生成二维矩阵:

传统的数据驱动诊断方法中,对数据预处理较为关键,这是由于大部分方法的模型都不能直接对原始信号进行处置。其预处理的过程就是要从原始数据中提取出合适的特征,这些特征在一定意义上能够决定识别结果的好坏,但这又是一项繁杂的工作。所以本文所建立模型数据预处理的思想是要尽可能地使用所采集的原始数据,尽量简化对原始信号的处理过程,而且要达到较好的诊断效果。由于数据集中的数据文件多是向量的形式,而卷积神经网络的输入为图像,因此本文提出了一种对原始信号进行处理的有效方法,基本思想就是将原始的时域信号转换为矩阵的形式,而矩阵中每个数值又可视为图像的像素,这样输入矩阵就被当作灰度图像输入到网络模型中。将原始信号数据按顺序排列成矩阵的形式,即构成了灰度图像的像素点,处理后作为网络模型的输入。这种方法提供了一种对振动信号进行预处理的思路,而不需要预先定义参数进行计算,尽可能减少了专家经验,实现起来简便。二维矩阵生成方法见图3。

图3 二维矩阵生成方法

2.2 网络模型设置

1)网络模型参数设置:

合适的网络模型参数可以使模型更好地学习相关特征,达到较好的识别效果。由数据预处理过程知,对数据截取后,会将其作归一化处理并转化为二维矩阵的形式以作为网络模型的输入。当网络模型直接将原始信号转换为矩阵作为输入,为了对输入的灰度图获得更好的特征提取能力,应选择使用较大的卷积核,再结合理论及实验分析,适当进行调整。

批大小是指每次训练选取的样本个数,参数更新时先计算其中每个样本对应的调整值再取平均作为最终的调整值,利于获取数据整体的某些特征。模型优化的会受到批训练大小的影响,太小会使得训练数据难以收敛,太大虽然可以提高相对处理速度但同时会增加所需内存容量,选择正确的批训练的大小有利于数据的收敛以及计算机处理效率的提高。在训练过程中,学习率会影响模型的收敛速度,合适的学习率可以使模型在较短的时间内达到最佳的效果。迭代次数是指在网络训练时,把全部的训练样本都输入网络模型进行训练的次数,选择一个合适的大小可以有效提高模型的准确率,而过小会使准确率大大降低,过大则会浪费大量时间而且准确率也不会有明显提升。

2)分类输出函数选择:

模型选用sigmoid函数进行多标签分类,函数表达式为:

(3)

当作为逻辑回归输出的预测函数时数学表达式为:

(4)

式中,θ是参数向量。对于hθ(x)的直观解释是:对于给定的输入x,hθ(x)表示其对应类别标签为1的概率,即属于正例的概率。

在网络模型中,网络最后得到的输出结果由sigmoid函数进行转换,将预测的值映射到[0,1]区间,这个值越接近于1,那么当前样本越有可能是预测的当前类别。sigmoid函数在多分类时其先将其中的一种类型作为一类,然后将剩余的类型归为另一类,这样训练得到一系列分类模型。在最后输入测试样本数据进行预测时,模型会把分类器都运行一遍,最后选择所得概率最大的一个作为输出,然后通过对比这个输出的标签与其期望输出对应的标签来判断类别划分的正确与否,这样获得的预测相对比较可靠。

3 试验分析

3.1 试验及验证条件

1)试验条件:

采用美国凯斯西储大学电气工程实验室的轴承振动数据进行算法验证[18]。其试验装置构造见图4。

图4 试验装置构造图

装置驱动部分为一台感应电动机,功率为2马力(1.47 kW),电机轴的驱动端和风扇端均安装了轴承,在驱动轴上还安装了扭矩传感器、编码器及测功机。实验轴承为SKF公司的6205-2RS JEM深沟球轴承,其尺寸参数如表1所示。

表1 滚动轴承6205-2RS的尺寸参数

实验轴承的故障是采用电火花技术设置的单点损伤,选取的轴承数据包括3个不同位置的损伤,分别处于外圈、内圈以及滚动体上,其中每个位置又有3种不同程度的损伤,损伤直径分别为0.007英寸(0.178 mm),0.014英寸(0.356 mm)和0.021英寸(0.533 mm)。数据分别在负载为1 hp(1 772 r/min),2 hp(1 750 r/min),3 hp(1 730 r/min)的条件下测得的,所以每种负载状态下都包括有轴承的正常状态和九种故障状态的数据。

2)数据集划分:

对数据预处理后,分别对三组数据进行训练和测试,每组数据划分1 000个样本,共有十种类型(包括一类正常、九类故障),划分为训练集与测试集,占比分别为80%与20%。样本以随机方式选取,所以测试集和训练集的样本不同。数据集具体划分如表2。

表2 数据集划分

3)最优参数:

经过多次对比实验,选定了最优的模型参数:第一个卷积层使用9*9大小的卷积核,第二层卷积使用8*8大小的卷积核,池化层大小为2*2。卷积层步长为1,池化层步长为2。池化方式为平均池化。学习率大小设置为0.9,批训练大小为8,迭代次数为250。模型参数影响分析后文会详述。

3.2 结果分析

1)准确率分析:

采用最优参数的识别结果见表3,三组数据集中两组训练集的准确率可达到100%,测试集的识别准确率也都能够达到99.50%,总体上看数据集的识别准确率都在99.50%以上的水平,故本模型对滚动轴承不同故障的区分效果比较好,能够进行较准确的故障判别。而且,通过进一步分析识别分类的效果可发现,若仅判断轴承的故障与否而不对具体的故障类别进行划分,则本文模型的的准确率能够达到100%。

表3 最优参数下的识别结果

对比文献[19]所给的小波包卷积神经网络方法,先对在输入网络前先对原始信号进行小波包分解提取能量谱,再进一步做归一化处理,获得各能量频带的概率,作为模型的输入,其识别结果见表4。

表4 小波包方法结果

通过对比实验数据可以看出,相较于本文所用方法,如果使用小波包分解提取频带能量先对数据集进行一定处理再输入网络,所得到的识别准确率不及本文所使用的方法。究其原因,虽然小波包分解可以较好地对信号的频带进行划分,理论上能够对信号做更精细的分解,获得信号较详细的特征,但选择能量频带的概率作为故障特征不一定能获得最佳的诊断效果,如何提取更优的故障特征有待进一步研究。

2)训练误差分析:

模型预测效果的好坏可以用代价函数来衡量,代价函数能够反映出模型的预测输出与实际数据存在的差异。本文网络模型使用均方误差代价函数来评判,当模型的输出为Yi,实际数据为Ti时,均方误差代价函数定义为:

(5)

训练过程中均方误差曲线如图5所示(以1 hp时为例)。

图5 训练误差曲线(1 hp)

可以看出,训练刚开始进行时模型误差相对较大,随着训练次数的增加,网络不断提取数据的相关特征并加以学习,模型的误差也随着不断减小直至最后逼近于零,达到了较好的识别效果。

3.3 网络模型参数影响分析

为了便于故障诊断方法的实施,本文对卷积核大小、批大小、学习率、迭代次数4个网络模型参数分别设置不同的值,对比分析各参数对识别结果的影响,并给出了基本的选择方法。

1)卷积核大小:

将两个卷积层的卷积核大小分别设置为5*5、4*4及3*3、7*7,其他参数不变,识别结果见表5~6。

表5 卷积核分别为5*5、4*4时的识别结果

表6 卷积核分别设置为3*3、7*7时的识别结果

由结果可以看出,当使用较小的卷积核而不改变其他条件时,模型识别的准确率会有所下降。当尝试不使用较大的卷积核,用多个小卷积核连续卷积来代替其功能时,模型不仅达不到较好的效果,而且会耗费过多的时间。卷积核实质上是滤波器,模型中使用较大尺寸的卷积核是要提取出输入原始信号的有效特征,使得网络模型更好地学习到不同故障数据特征的差异,进一步对模型进行训练。

2)批大小:

将批大小分别设置为16及5,其他参数不变,识别结果见表7、8。

表7 批大小为16时的识别结果

表8 批大小为5时的识别结果

可以看出,在相同的实验条件下,批训练大小过大或过小都导致网络模型识别的准确率不够好。过小时会导致模型训练时间增加,过大又会使模型拟合度不够好而导致精度较差,要想达到的一定的精度又必须通过增大迭代次数来实现,同样会使模型收敛缓慢以及训练时间的增加。经过多次对比实验后,可以得到此模型在批训练大小为8时的效率及准确率都比较高。

3)学习率:

将学习率分别设置为0.6及1.2,其他参数不变,识别结果见表9、10。

表9 学习率为0.6时的识别结果

可以看出,学习率为1.2时,1 hp和2 hp的测试集精度有所下降。合适的学习率可以使模型更高效地获得好的诊断效果,学习率控制着参数的更新速度。在学习率较小时模型可能处于欠拟合的状态,损失函数收敛速度较慢,导致测试集和训练集的精度都比较低,模型的总体表现不够好。随着学习率的增大,模型的表现逐渐倾向于过拟合的状态,则会使得损失函数难以收敛到最小值,从而导致测试集的精度下降而训练集的精度较高,由上表也可以看出,能够得出本实验模型的最佳学习率应该在0.6~1.2之间,经多组实验后确定为0.9,此时能够使各组数据训练集和测试集都能获得比较高的精度。

4)迭代次数:

将迭代次数分别设置为200、250、300,将1 hp、2 hp条件下的识别结果列于表11~12。

表11 1 hp时不同迭代次数对应的识别结果

表12 2 hp时不同迭代次数对应的识别结果

可以看出,在迭代次数较小时,模型还没有得到充分的训练故不能达到最佳的诊断效果,识别准确率还有提高的空间。但当迭代次数过大时,就可能显得冗余,反而过多消耗了计算机资源导致速度降低,也不会使得识别效果更好。因为当迭代次数达到某一数值的时候,网络模型识别的诊断效果已经达到了最佳,迭代次数若继续增加只会浪费了额外的资源。

3.4 网络模型层数分析

现有的相关文献中大多采用将原始信号转换的频谱图或者是时频图作为网络的输入来进行故障诊断的,但由于其输入图像尺寸较大,所以这种方法所使用的网络模型层数一般较深。而本文的网络模型层数相对较浅,如果同样要使用上述图像进行识别时,若直接输入网络则不能较好的提取出相关特征,若对图像进行一定的压缩处理又会使得图像丧失了原有的一些特征,同样都会使网络故障识别的效果大大下降。所以,这类方法在一些深层的网络模型中可能会有较好的效果,但在本文的网络结构中效果不佳。而且深层网络对信号的时频图像进行多层特征提取的过程,需要消耗很多计算资源,模型训练时间也比较长。而本文将原始振动信号不做过多处理就作为所建立的网络模型的输入,不但较好地实现了故障诊断任务,而且相对地节省了一些计算资源时间。直接把原始数据矩阵输入到网络模型中,而不是人工提取的特征向量,这种方法展示了该网络模型在处理较低级信息的能力以及提取数据特征上存在着巨大潜力。

4 结束语

本文结合滚动轴承故障诊断的需求,给出了一种基于卷积神经网络的滚动轴承故障诊断方法。对原始数据进行简单的变换生成二维矩阵作为输入,经卷积神经网络自动提取故障特征,可以准确地识别滚动轴承的运行状态。通过多组实验对比,在所使用的数据集以及网络模型的实验条件下,验证了所建立模型对故障诊断识别的准确性及相关参数设置的合理性。在本文的网络模型中,仅需对原始数据进行简单的变换生成二维矩阵便可作为输入,而且可以获得较准确的诊断效果,能够实现模型的预测功能。这种方法在一定程度上可以简化故障诊断的过程,并充分利用相关网络模型的优势实现高效准确地故障识别,达到了较好的诊断效果,具有一定的工程应用及理论研究价值。

猜你喜欢
故障诊断卷积神经网络
基于3D-Winograd的快速卷积算法设计及FPGA实现
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
基于神经网络的拉矫机控制模型建立
因果图定性分析法及其在故障诊断中的应用
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
一种基于卷积神经网络的性别识别方法
基于LCD和排列熵的滚动轴承故障诊断