基于改进卷积神经网络的柴油机故障诊断方法研究

2022-03-27 11:56张俊红孙诗跃朱小龙周启迪戴胡伟林杰威
振动与冲击 2022年6期
关键词:池化柴油机故障诊断

张俊红, 孙诗跃, 朱小龙, 周启迪, 戴胡伟, 林杰威

(1. 天津大学 内燃机燃烧学国家重点实验室,天津 300072;2. 天津大学 仁爱学院,天津 301636)

柴油机作为工业、农业、核电及其他领域的主要动力源,由于其内部结构复杂,工作环境恶劣,容易诱发故障[1],而振动分析法因其适用范围广,信号检测便捷而被大量应用于柴油机故障诊断当中。传统基于振动分析的柴油机故障诊断方法主要包含信号处理、特征提取、模式识别3个过程。文献[2]提出了自适应参数选取的改进集合经验模态分解信号分解方法并进行了柴油机气缸磨损诊断。文献[3]采用自适应可调品质因子小波变换滤波器进行了微弱故障的特征提取。文献[4]提出了基于人工神经网络、信念规则推理以及证据推理的集成模式识别算法。传统故障诊断方法需要对振动信号进行大量前处理,且难以表征被测信号与故障之间的复杂映射关系[5],特征提取与模式识别部分并不连贯,不利于实现柴油机的在线故障诊断。

近年来,为了解决传统故障诊断提取的特征对故障敏感性低、模块不连贯的问题,卷积神经网络 (convolutional neural network,CNN)因其自适应特征提取能力被广泛应用于柴油机故障诊断。文献[6]研究了基于加窗与CNN的柴油机拉缸故障诊断方法。文献[7]提出了基于一维卷积长短期记忆网络的柴油机工况识别方法,识别精度达到了99.08%。文献[8]针对柴油机失火故障提出了基于随机丢弃与批标准化的深度CNN,取得了较高的准确率。CNN优异的机械故障分类能力是建立在海量训练样本基础之上的,工程实际中可用的故障样本往往十分有限,此时CNN的训练常常伴随着参数量过大、过拟合、收敛速度较慢的问题。

基于此,本文提出了一种基于小批量训练与全局平均池化的CNN(mini-batch training and global average pooling based convolutional neural network,MGCNN)作为柴油机故障诊断方法,该方法直接将一维振动信号作为输入,利用两个卷积模块自适应提取故障特征,采用全局平均池化(global average pooling,GAP)层进行特征整合,采用指数线性单元(exponential linear units,ELU)作为激活函数及小批量训练方法加速模型收敛,实现了“端到端”的故障诊断。以柴油机典型故障试验为例,与未改进的CNN算法、传统的时频特征提取方法以及Jiang等和张康等的深度学习模型进行对比,验证了所提方法的有效性。

1 MGCNN理论

1.1 CNN理论

CNN一般由卷积层、池化层(也称降采样)、全连接层以及输出层构成[9],其中,卷积层与池化层一般会视具体问题而取若干个来提取样本的局部特征,激活函数使模型能够提取非线性特征,这些特征随着卷积层与池化层的堆叠而从低级转向高级,之后由全连接层整合这些局部特征,输出层根据这些特征判定样本的类别[10]。

1.1.1 卷积层

卷积层由多个特征面组成,特征面由多个神经元组成,而神经元通过卷积核与上一层的输出相连,其中卷积核等同于一个权值矩阵,一维CNN卷积过程示意图,如图1所示。

图1 一维CNN卷积过程

图1左侧为单个卷积核的卷积过程,卷积核大小为3×1,卷积步长为1。卷积及激活运算过程可以用式(1)表示。

xout,nk=fcov(xin,1h×w1(h)n(k)+xin,1(h+1)×w1(h+1)n(k)+xin,1(h+2)×w1(h+2)n(k)+…+bn)

(1)

式中:xout,nk为卷积层中输出特征面n第k个神经元的输出值;xin,mh为其输入特征面m第h个神经元的输出值;bn为输出特征面n的偏置值;fcov(·)为激活函数。

1.1.2 池化层

卷积层的输出即为池化层的输入。池化层旨在降低特征的分辨率来获得具有空间不变性的特征。常见的池化方法有最大池化、平均池化,最大池化是指取局部接受域中值最大的点;平均池化,即取局部接受域中所有值的均值。池化运算过程可以用式(2)表示。

tout,nl=fsub[tin,nq,tin,n(q+1)]

(2)

式中:tout,nl为池化层中第n个输出特征面第l个神经元的输出值;tin,nq为池化层中第n个输入特征面第q个神经元输入值;fsub(·)为取最大值或者取均值操作。

1.1.3 全连接层与输出层

在卷积模块之后,往往会添加一层或多层全连接层,全连接层之后会添加一层输出层,全连接层和输出层的每个神经元都与前一层的所有神经元进行全连接,二者的区别在于采用的激活函数以及神经元个数的不同,输出层的激活函数一般为Softmax,其作用是将分类概率进一步放大,输出层的神经元个数一般为预测的类别数量。全连接层的神经元个数以及激活函数则需依据具体问题类型人为设定。

1.2 MGCNN介绍

尽管CNN训练时有批标准化、随机丢弃等技巧来提高网络训练速度,但在处理小规模数据集时依然存在收敛速度较慢、容易过拟合等问题。针对这一问题,提出了基于小批量训练与全局平均池化的卷积神经网络MGCNN。

MGCNN的基本结构,如图2所示。其由两层卷积模块组成,每一个卷积模块又由卷积层、激活层以及最大池化层构成。其输入为原始一维振动信号,第一个卷积层设置规格为64×1的卷积核,设置卷积步长为4以降低模型对高频噪声的敏感性;第二个卷积层设置3×1的卷积核,卷积步长为1以提取更细微的局部特征[11]。全局平均池化层将卷积模块提取的特征整合。最后由Softmax分类器完成分类。

图2 MGCNN结构

工程实际中采集到的柴油机故障数据量往往有限,不利于深度学习模型的训练。因此MGCNN在结构以及训练方法上均作了改进。

1.2.1 数据增强

根据柴油机工作特点,一个工作循环长度的信号即可反映其工作状况,所以可在测得的一段振动信号中截取一个工作循环长度的信号作为一个样本。据此,本文采取了如图3所示的数据增强方式。

图3 数据增强方式

通过一个发动机工作循环长度的窗口从信号的一端以一定的步长滑动到另一端,窗口所经过的地方即为筛选出来的样本。这种增强方式可以增加训练样本的数量,使得模型训练更加稳定,同时又能符合柴油机工作特点,使得模型具有更强的鲁棒性。

1.2.2 小批次训练

在深度学习模型的训练中,训练批次大小是一个很重要的超参数,因为批次的统计信息决定了梯度下降的方向,进而决定了模型的收敛速度。小批次训练可以降低计算机的内存占用,又能使批统计值波动范围更大,给训练过程增加随机性,进而增强模型的泛化性能。训练批次大小的选择往往取决于数据规模以及计算机性能。

1.2.3 ELU激活函数

激活操作旨在将卷积的结果进行一次非线性变换从而提高模型的非线性拟合能力。MGCNN所采用的激活函数为ELU[12],相比线性激活单元(rectified linear unit,ReLU),ELU存在负值,对输入变化或噪声更具鲁棒性,可以将激活函数的输出均值向0推进,起到批标准化效果的同时具有更低的计算复杂程度,从而使模型快速收敛。ELU的定义为

(3)

1.2.4 全局平均池化

常见的全局池化方式有两种:全局最大池化(global max pooling,GMP)以及全局平均池化(global average pooling,GAP)。本文用到的GAP操作指的是取卷积模块后每一个特征面的平均值。GAP等于在整个网络架构上做正则化进而防止全连接层的参数过多导致的过拟合同时又避免了随机丢弃等正则化方法的超参数引入,通过加强特征面与类别间对应关系赋予每个特征面具体意义[13]。

综上所述,针对柴油机故障数据集特点,MGCNN采用浅层的网络提取信号故障特征;采用ELU代替传统CNN中的激活函数ReLU,起到激活与批标准化的双重作用同时不用引入多余可训练参数;采用全局平均池化代替全连接层将可训练参数个数进一步从40 630降低到2 806;此外,MGCNN采用的小批量训练方式使其在处理柴油机振动信号这种小样本数据集时,能拥有较快的收敛速度且进一步提升模型的准确率与稳定性。

2 柴油机故障试验

试验对象为某六缸柴油机,通过PCB 356A26型三向加速度传感器采集缸盖和缸体振动信号,采用光电转速传感器测量上止点信号以对振动信号进行时间定位[14]。为了降低高转速下喷油量、燃烧爆压和转速波动对故障试验的影响,本次测试在怠速950 r/min下进行。采样频率为25 kHz,试验系统如图4所示。三向加速度传感器“1”和加速度传感器“2”安装在第六缸缸盖和缸体上;反光标签粘贴在飞轮盘与第六缸上止点对应位置,利用光电传感器“3”检测柴油机上止点信号。

图4 试验装置及传感器布置

本试验模拟的燃油系统故障包括:供油提前角偏大、偏小,失火故障和燃烧不良故障,其中失火故障通过切断供油实现。配气机构故障包括:进气门间隙异常和排气门间隙异常,气门间隙异常通过塞卡尺调节气门螺栓实现,气门间隙调整方式如图5所示,正常的进、排气门间隙为0.25 mm、0.5 mm,其中气门间隙偏大故障是指比正常间隙大0.1 mm。

图5 气门间隙调整方案

试验还模拟了进气滤清器阻塞和排气管阻塞等故障,其中进气滤清器堵塞通过硬纸板遮挡进气口实现。故障设置具体如表1所示。实测振动信号的时域波形如图6所示。

表1 故障类型设置

图6 部分工况时域波形

3 基于MGCNN的柴油机故障诊断

3.1 MGCNN诊断流程

基于MGCNN的故障诊断流程如图7所示。主要包括以下3个步骤。

图7 MGCNN故障诊断流程

步骤1获取柴油机的原始振动信号,将采集的故障数据以一定的数据增强方式划分为训练集、验证集与测试集。

步骤2用训练集对MGCNN进行训练,反复调整模型参数。用验证集验证训练后的模型性能,直到符合停止准则,保存此时训练好的模型。

步骤3用测试集测试训练好的模型,得到最终诊断结果。

停止准则指的是达到了一定的训练代数或者在连续两代训练时模型在训练集上的准确率提升不超过0.001。本文所有诊断结果均为20次试验测试准确率的平均值。

3.2 数据集划分

选择3.1节中的发动机6种工况为诊断对象,最终每种工况下测得长度为94 560的振动信号,选择窗口规格为3 160×1,滑动步长为500截取试验样本,按照8∶1∶1的比例划分训练集,验证集以及测试集,具体情况如表2所示。

表2 数据集划分

3.3 MGCNN训练批次选择

为了验证训练批次大小对网络性能的影响,考虑数据集的规模,选取了从4~128 6种不同批次的训练方式进行对比,6种模型除了训练批次设置不同之外,其余参数均相同。试验平台为i5-4570,8 GB内存,试验环境为python3.7.4,后端为tensorflow2.0,取30代训练后模型在测试集上的表现,最终结果如图8所示。

图8 不同训练批次模型性能表现

当训练批次过小时,样本之间的差异性导致批次的统计特征变化范围很大,使得梯度下降的方向不稳定,所以诊断准确率波动幅度也很大,又因为过小的训练批次会增加计算机运算次数,其训练时间相对较长。相反,当训练批次过大时,由于训练集规模的限制,其梯度下降次数过少,不容易找到全局最优解,而且此时考虑的是大规模样本的统计特征,并不能准确地代表训练集的梯度更新方向。当训练批次大小为8时,模型训练时间相对较长,但其准确率与稳定性均最高,故MGCNN模型最终确定的训练批次大小为8。

3.4 MGCNN先进性验证

为了验证所提方法的先进性,用多列卷积神经网络(multi-column convolutional neural network,MCNN)(全连接层代替全局平均池化层)以及MGCNN(ReLU)算法(ReLU作为激活函数替代ELU)作为对照,两种方法的其余参数均保持一致。亦用Jiang等研究中的1D-CLSTM(one-dimensionalconvolutional long short-term network)以及张康等研究中的DBDCNN模型作为对比,取30代训练后模型在测试集上的准确率。各算法的表现如图9所示。

图9 不同模型的平均性能对比

5种深度学习模型中,MCNN全连接层的每个神经元都与前一层的所有神经元相连接,增大了模型参数量进而产生了过拟合现象。DBDCNN的模型复杂度过高,虽然采用了随机丢弃与批归一化方法来降低过拟合,但其5层卷积网络以及3层全连接层的总可训练参数量达到了将近10万,降低了收敛速度,模型稳定性也有所下降。1D-CLSTM方法增加了长短期记忆网络单元(long short-term memory, LSTM)来提取信号的时序相关性特征,相比前两种方法这些特征对柴油机故障敏感性更高,但LSTM的缺陷在于其参数量过大,训练时间过长,收敛速度慢,而且准确率波动也较大。用ReLU替代ELU作为激活函数时,算法的准确率与运算时间均稍有下降。MGCNN模型的可训练参数仅为2 806个,模型体积最小,在保证良好的拟合性能的同时极大地缩短了训练时长,模型稳定性也最高,对硬件算力的要求更低,因此也更适用于柴油机在线故障诊断系统的研发开发。

3.5 MGCNN学习过程可视化

为了更加清晰地展示MGCNN的训练过程,导出1~200代训练时MGCNN模型在验证集上的准确率并用MGCNN(ReLU)、DBDCNN、1D-CLSTM算法作为对照,4种方法的具体准确率波动如图10所示。其中MGCNN方法可以快速收敛,前30代训练在验证集上的准确率已经达到了100%且稳定性最高;MGCNN(ReLU)也能做到快速收敛,但训练过程中其准确率波动较大;而DBDCNN与1D-CLSTM方法收敛速度均较慢且更加不稳定。

图10 前200代训练模型在验证集的准确率

为了更加直观地展示MGCNN特征提取到最终模式识别的过程,用T-SNE算法将训练好的MGCNN模型特定层的数据维度降至二维。MGCNN的特征提取及分类过程如图11所示。

图11 MGCNN特征提取及分类过程

可以发现,数据通过第一个卷积模块的最大池化层后,由起始的杂乱无章的排列到有了小规模的聚类。通过第二层卷积以及池化,相同工况的数据开始了更大规模的聚集,网络开始学习到各种模式特有的内蕴流形分布。全局平均池化层综合32个特征图的信息,基本完成各种故障模式分类,此时各工况样本已无交叠。最后由多分类函数进一步放大分类效果,通过扩大不同模式数据的空间距离完成最终识别。

3.6 不同特征提取方法对比

为了检验所提出方法自适应特征提取的有效性,选用11种时域特征(time domain features,T_features),12种频域特征(frequency domain features,F_features),以及总共23种特征(ALL_features)作为对比[15],几种算法仅特征提取部分存在区别。不同方法平均诊断性能的对比,如图12所示。

频域特征组诊断准确率最低。单独提取时域特征做诊断能达到将近90%的准确率,准确率的波动也较F_features组下降很多。ALL_features组诊断准确率只有81.525%,这说明这些人工提取的时域、频域特征之间存在着一定量的信息冗余,进而导致准确率以及稳定性下降。最后本文所提出的MGCNN模型在20次试验中有10次在测试集的准确率达到了100%,20次诊断的平均准确率达到了99.18%,其自适应提取的特征故障敏感性更高且准确率波动最小。

MGCNN方法与T_F方法对所有样本分类的具体情况,如图13、图14所示。A1~A6分别代表正常、进气门间隙偏大、排气门间隙偏大、进气滤清器堵塞、第五缸失火、第六缸失火。

图13 T_features的预测混淆矩阵

图14 MGCNN的预测混淆矩阵

从具体分类情况看,时域特征对失火故障以及正常工况敏感性较强,但不足以准确区分配气机构故障。而MGCNN模型能够更加精确地识别6种发动机工况,其诊断准确率均保持在97%以上。

3.7 不同规模数据集模型适用性对比

为了检验所提方法对小样本数据集的识别效果,减小数据增强程度,以500为单位长度增大滑动步长,分别取6种不同规模的数据集,各增强方式及所得样本数量如表3所示。各算法在不同规模数据集上的测试结果,如图15所示。

表3 不同数据增强方式及样本量

图15 各模型在不同规模数据集上诊断效果

随着样本数量的减小,各种方法精确度均出现不同程度的下降,说明各模型尤其深度学习方法的训练需要大量样本的支持。其中MCNN方法诊断精度最低且受数据规模影响最大,全连接层不能有效地整合卷积层特征而产生过拟合现象,在处理小规模数据集时此弊端更加明显;1D-CLSTM与DBDCNN算法亦均存在过拟合现象且其收敛速度均过慢,不适合作为柴油机诊断系统的内置算法;而T_features模型则存在欠拟合现象,由于人为设定的特征故障敏感性较差且具有一定程度的信息冗余,其在训练集、验证集上的准确率均较低;MGCNN(ReLU)算法适用于小样本故障诊断,但其精度与稳定性较MGCNN均有降低;随着样本量减少,MGCNN算法的准确率最稳定,当训练集样本量仅为150时,其在测试集上仍能取得大于94%的诊断精度,因此也更适用于实际工程应用中的柴油机故障诊断系统开发。

4 结 论

针对传统方法提取的柴油机故障特征敏感性差、现有基于CNN的故障诊断算法收敛速度慢且易于过拟合、不适用于小样本数据集等问题,本文提出了一种 “端到端”的柴油机故障诊断方法MGCNN。

(1) 模型采用小批量训练及ELU激活函数提高了拟合效果,加快了收敛速度,采用全局平均池化代替全连接层减少了模型参数,避免了过拟合现象。MGCNN的平均诊断精度达到了99.18%。

(2) 与时/频域特征的对比证明了提出的MGCNN具备自适应特征提取能力;在缩减数据集规模后,与未改进算法、时域特征算法、DBDCNN以及1D-CLSTM模型进行对比,证明了MGCNN处理小样本数据集的优势。

(3) MGCNN具有模型体积小、收敛速度快、诊断精度与稳定性高、可处理小样本数据集等优点,对实现深度学习在柴油机状态监测上的工程应用,提升工业装备可靠性与安全性有重要意义。

猜你喜欢
池化柴油机故障诊断
基于高斯函数的池化算法
卷积神经网络中的自适应加权池化
基于包络解调原理的低转速滚动轴承故障诊断
美国FCA 推出第三代EcoDie s e l V6 柴油机
谭旭光:柴油机50年内仍大有可为
基于卷积神经网络和池化算法的表情识别研究
数控机床电气系统的故障诊断与维修
用于手写汉字识别的文本分割方法
基于量子万有引力搜索的SVM自驾故障诊断
现代柴油机的技术发展趋势