基于改进卷积神经网络的滚动轴承智能故障诊断研究
宫文峰 陈辉 张泽辉 张美玲 管聪 王鑫
摘要:卷积神经网络(Convolutional Neural Network,CNN)作为一种高效的深度学习算法已逐渐成为智能故障诊断领域研究的热点。传统CNN模型的全连接层结构存在训练参数量过多的不足,使得模型训练和测试的时间较长。为此,提出了一种改进CNN的新方法用于滚动轴承故障的快速智能诊断。该方法引入全局均值池化技术代替传统CNN的全连接层部分,有效解决了传统CNN模型参数量过多的问题,并运用数据增强、Dropout等深度学习训练技巧防止模型过拟合。最后将提出的方法应用于滚动轴承故障实验数据的智能诊断,并与传统智能诊断算法进行对比验证。结果显示,改进的CNN算法的故障识别准确率高达99.04%,在诊断准确率及测试时间方面明显优于传统CNN和其他智能算法。整个诊断过程无需任何手工特征提取,“端到端”的算法结构具有较好的可操作性和通用性。
关键词:故障诊断;滚动轴承;卷积神经网络;全局均值池化;深度学习
中图分类号:THl65+.3;TH133.33文献标志码:A 文章编号:1004-4523(2020)02-0400-14
DOI:10.16385/j.cnki.issn.1004-4523.2020.02.021
引言
近年来,中国在先进航空发动机、高性能舰船推进电机和大型风力发电机组等为代表的精密旋转机械方面取得了突破性进展,滚动轴承作为旋转机械中的核心支撑回转部件,其运行精度和安全可靠性直接影响旋转机械的总体性能。滚动轴承在复杂多变的载荷环境下长时问高速连续运转,常因冲击交变载荷、热疲劳和机械磨损等影响而发生各种故障。从故障的演化机理可知,任何显著性故障都是由早期微小故障累积演变而来的,微小故障对设备总体安全性影响较小且易于处理,但是其初期特征不明显,诊断难度远高于显著故障,若处理不及时可能会快速发展为“物理目测级”显著性故障,对系统造成重大安全影响。因此,研究滚动轴承早期微小故障的诊断方法极为必要,目前已得到国内外学者的广泛关注。
近年来,随着机器学习研究的不断兴起,基于数据驱动的智能故障诊断方法逐渐成为故障诊断领域的主流应用。传统的智能故障诊断方法通常包含特征提取、特征选择和故障分类三个步骤。特征提取是故障诊断的关键环节,目前常用的方法有小波变换法(WT)、谱分析法(sA)_9]、经验模态分解法(EMD)。和傅里叶变换法(FFT)等。特征选择是在提取后的特征中剔除灵敏度低、效用低的特征,从而精减特征个数,常用的方法主要包括主元分析法(PCA)和独立元分析法(ICA)等。故障分类是将精选的特征输入故障分类器进行模式识别,通过反复迭代训练最终输出故障分类结果,BP神经网络(BPNN)、支持向量机(sVM)和K近邻法(KNN)已被广泛用作后端的故障分类器,并取得了较好的效果。经过多年的应用验证,以上三种算法因其浅层的网络结构导致特征提取能力较差,从而难以挖掘和提取故障数据更深层次的微小特征。业内学者通常采用手工特征提取与浅层机器学习算法相结合的方法进行智能故障诊断,这种方法虽然有一定效果,但是仍然突显出许多不足:一方面,特征选择必须依赖于工程师的经验和专业知识完成,存在较大的主观和盲目性;人工提取的故障特征不全面,反映微小故障的特征易被误删或被噪音掩盖;另一方面,提取的特征主要用于解决特定故障问题,通用性差,且在大数据样本环境下难以完成。产生上述缺陷的主要原因是现有的智能故障诊断算法中使用的网络模型大多是浅层结构,其特征提取能力较弱。
2006年,Hinton等提出深度学习理论(DeepLearning,DL),DL利用深层神经网络结构对输入样本数据逐层特征提取,逐层贪婪学习数据与标签之问的内在联系,摆脱了对手工特征提取和专家经验的依赖,克服了传统智能诊断方法的固有缺陷,目前已成功应用于语音识别、图像识别和自然语言处理等领域,近5年开始受到故障诊断领域学者的关注。Jia等提出了一种基于深度自编码(DAE)的故障诊断方法对滚动轴承和行星齿轮箱进行了故障诊断,但是需要将原始数据转变为频谱信号。Tamilselvan等提出了一种基于深度信念网络(DBN)的故障诊断方法,分别对飞机发动机和电力变压器进行了故障诊断。李巍华等将一个3层的DBN网络应用于轴承的故障诊断实验中,但是轴承的故障采用切槽的方式模拟,故障特征属于显著性故障的范畴,难以体现对微小故障诊断的效果。卷积神经网络(Convolutional Neural Net-work,CNN)是深度学习的重要分支之一,它具有强大的特征提取能力,具备提取微小故障特征的潜力,目前主要应用于图像识别。近年来有部分学者将CNN应用于故障诊断领域,文献[11,21]分别将卷积神经网络用于滚动轴承和异步电机的故障诊断中,兩者虽然都用到了CNN算法,但是仍然需要用传统的特征提取方法对原始振动数据进行特征提取,未能充分利用CNN强大的特征提取能力,限制了故障诊断效果的进一步提升。曲建岭等提出了一种基于一维CNN的算法用于滚动轴承故障诊断,但是该CNN模型的全连接层的训练参数量过大,导致训练和测试时问较长,不利于故障的快速诊断。
针对以上不足,本文提出了一种改进的卷积神经网络算法,并将该算法用于轴承的微小故障智能诊断。该方法通过改进传统的CNN模型结构,设计了全局均值池化层代替全连接层结构,极大地减少了模型训练参数量和计算时问,并运用数据增强、Dropout和批量归一化等多种深度学习训练技巧防止模型过拟合,使得提出的方法更适用于故障的在线监测和快速诊断。“端到端”的算法结构使整个诊断过程无需任何手工特征提取,摆脱了传统方法过度依赖专家先验知识的不足。最后将改进的CNN算法应用于滚动轴承实验数据集进行故障诊断,并与传统的SVM,KNN,BP网络和DNN算法对比分析,验证了改进CNN算法的优越性和有效性。
1卷积神经网络
卷积神经网络是一种深度前馈式神经网络,最早于1989年受灵长类动物视觉系统神经元启发而提出。CNN具有强大的特征提取能力,专门用于处理网状结构数据,它通过构建多个能够提取输入数据特征的滤波器,并运用这些滤波器逐层提取隐藏在输人数据中的代表特征,同时结合稀疏式连接和参数权共享机制在时问和空问上降维采样精减数据维度,减少了训练参数量,有效避免算法过拟合。同时它对缩放、倾斜和平移等其他形式的变换具有不变性,因此得到广泛的应用。图1为传统的CNN模型的基本架构。
如图1所示,CNN模型一般主要由卷积层、激活层、池化层、全连接层和Softmax分类器组成。通过交替堆叠多个卷积、激活和池化组合即可构建深层的CNN网络。
1.1卷积层
卷积运算是CNN的核心模块,它采用矩形的卷积核遍历图片上的每一个像素点,采用参数共享机制,同一输入特征图使用了相同的卷积核权重。输入特征图与卷积核相重合区域内对应点相乘后求和,再加上偏置,最后得到输出特征图中的一个值。卷积操作的数学形式为
1.3池化层
池化的主要目的是降维,由于卷积操作增加了输出特征图的个数,使得特征提取能力提升的同时输出维度也急剧增加,容易造成维数灾难。池化的主要功能是在保持原有主要特征不丢失的基础上最大限度地降低输出特征图的尺寸维度,既减少参数计算量又筛选了主要代表特征。CNN中应用最多的是最大池化,方法是从池化核所对应区域内取出最大值作为代表值,它对纹理特征很敏感,其数学表达式为
经过长期实践发现:如图1所示的传统CNN模型中,由全连接层所带入的参数量几乎占据了CNN模型总参数量的80%-90%,这一问题将CNN通过池化降维减少训练参数量的优势抵消,尤其是包含多个隐层的全连接层,参数量将随层数增加呈指数级增长,全连接层的结构设计既占用了过多的计算资源,同时又容易引起模型计算过拟合;更重要的是,训练好的带有全连接层的CNN模型因参数量过多使得用在故障在线诊断时测试耗时过长,不利于实时快速诊断。
2改进的CNN智能诊断算法
针对传统CNN模型和现有浅层智能诊断算法的不足,本文提出了一种改进的CNN算法用于滚动轴承的微小故障智能诊断,如图2所示。该方法采用多层CNN作为特征提取器,通过改进传统CNN结构,引入全局均值池化技术代替全连接层部分,减少模型的训练参数量和测试时问。提出的方法在整个故障诊断过程中无需对原始数据做任何的手工特征提取和特征变换操作,只需将滚动轴承的原始故障数据输入改进的CNN模型,故障诊断结果自动输出,“端到端”的算法结构具有更好的可操作性和通用性。
如图2所示,改进的CNN算法结构中主要由输入层、特征提取层和分类输出层组成,其中特征提取层与传统的CNN相类似,可包含多个依次堆叠的卷积层、激活层和池化层,在最后一组特征提取层的卷积层之后设计了全局均值池化层代替全连接层,然后连接Softmax分类器。改进的CNN智能故障诊断方法的基本流程如图3所示。
在图3中包含了训练过程和测试过程2个阶段。在模型的训练过程中,首先将Softmax函数与CNN组合,通过Softmax函数进行误差反向传播,使损失函数J(ω)最小化,完成CNN模型参数的训练;在模型的测试阶段,同样采用已训练好的CNN模型对新故障数据进行特征提取,得到新故障数据的稀疏低维代表特征向量,最后再把该低维特征数据输入给Softmax分类器完成最终的故障分类,直接输出故障诊断的结果。该算法的具体的实现步骤如下:
1)获取滚动轴承的原始数据信号(如振动、噪声信号),用于训练CNN模型;
2)将采集的故障数据进行规范化、归一化和数据格式标准化;
3)将数据划分为训练集、验证集和测试集;
4)设计CNN模型結构,初始化参数;
5)用训练集数据对CNN模型进行预训练,反复执行前向传播和反向传播迭代计算过程,进行调参,并用验证集数据验证训练后的模型诊断准确率是否满足实际要求,满足执行步骤6,否则跳转到步骤4,修改模型参数,直到获取合适的模型超参数和训练参数为止,并保存相对最佳的模型;
6)最后把测试集数据输入到已训练的CNN模型中,最终得到轴承故障诊断的分类结果。
改进的CNN算法的基本组成单元如下。
2.1输入数据层
输入层用于对获取的原始数据进行必要的标准化及格式归整等操作,将原始数据转化为CNN模型可训练的类型。通常输人CNN模型的原始数据格式是二维像素网格数据(如图像数据)或三维立体数据(如CT扫描或彩色视频数据)。对于滚动轴承采集的一维时问序列故障振动信号可通过数据重构法转化为二维的输人特征图形式。
2.2特征提取层
特征提取层由传统CNN的卷积层、激活层和池化层组成,并且根据诊断对象的需要通过交替堆叠多个卷积层、激活层和池化层即可构建深层的特征提取层。具体的卷积层、激活层和池化层见1.1,1.2,1.3节所示,此处不再赘述。
2.3全局均值池化层
全局均值池化层是用来解决全连接网络参数过多而提出的新技术,与池化层操作相类似,全局均值池化是对最后一层卷积操作输出的特征图取全局平均值。在CNN的故障诊断应用中,最终输入到Softmax分类器的维度数即是故障类别的个数,由于本文改进的CNN中将全局均值池化层直接与Softmax分类器连接,而全局均值池化层的前一层是CNN的卷积层,因此对于n分类问题,可将CNN中的最后一个卷积层的卷积核的输出维度设置为n,从而得到n个输出特征图,再采用n个全局均值池化核,每个池化核的大小和步长与输出特征图的尺寸相同,然后求取每个池化核对应的平均值,使每一张特征图生成一个值,即可得到n个与全连接层输出效果同等的值,最后输入到Softmax分类器中。全局均值池化的数学表达式为