APP下载

基于深度学习的柴油机部分失火故障诊断

2023-01-09宋业栋王彦军张振京高文志张攀庞皓乾

车用发动机 2022年6期
关键词:残差准确率卷积

宋业栋,王彦军,张振京,高文志,张攀,庞皓乾

(1.潍柴动力股份有限公司内燃机可靠性国家重点实验室,山东 潍坊 261061; 2.天津大学内燃机燃烧学国家重点实验室,天津 300072)

失火是一种常见的发动机故障,而部分失火是失火的一种特殊形式。发动机部分失火是缸内虽能够着火燃烧,但是燃烧所产生的缸压不能达到正常值的现象。发动机缸内的不完全燃烧不仅会使热效率降低,耗油量增加,也会使曲轴的扭振恶化,引起曲轴的早期疲劳损坏。因此,研究发动机的部分失火是十分重要的。

目前,国内外的学者在失火故障诊断领域提出了许多诊断方法,大致分为三类:基于解析模型的失火故障诊断[1-4]、基于数据驱动的方法[5-9]以及基于模型和数据结合的方法[10-14]。由于建立一个准确的发动机估计模型所需要的参数较多,各参数的误差会影响模型的准确性,并且建立模型时间周期较长,需要大量的试验验证,所以限制了基于解析模型的失火诊断方法以及基于模型和数据结合方法的发展。随着智能化技术的发展,可以采集大量的数据并保存,基于数据驱动的方法只需利用发动机的历史数据即可进行数据处理与故障诊断,不需要精确的数学模型,因此,基于数据驱动的方法在失火诊断中被广泛研究与应用。

张攀等[15]通过提取发动机瞬时转速的不同谐次的幅值和相位的信息,并结合相应的人工神经网络可实现多种模式的失火诊断。GU Cheng 等[8]通过经验模态分解并结合支持向量机来实现柴油机失火故障的诊断。李卫星等[16]利用同步压缩小波、时域统计方法来提取发动机振动信号中的故障特征,并通过极限梯度树的方式进行失火评估。贾继德等[17]利用连续小波变换并结合深度置信网络可有效诊断失火故障。Sharma Abhishek等[18]通过对比不同的决策树算法,提出了一种利用线性模型树技术判断发动机是否发生失火的方法。黄永生等[19]利用角频域分析方法提取发动机瞬时转速信号中的故障特征,并通过模糊逻辑运算进行失火诊断。

综上所述,现有的失火诊断方法主要是利用小波变换、时频域分析、经验模态分解等方式人为地提取故障特征,然后再通过传统的机器学习来实现对失火故障的诊断,并且目前大多数的研究都是针对发动机的完全失火故障,对发动机的部分失火故障的研究较少。部分失火故障相比较完全失火故障,其相关的信号特征变化不明显,并且特征提取准则不确定和提取过程复杂也容易导致诊断算法的误诊率升高。

因此,本研究通过发动机的振动信号结合能够自动提取特征功能的卷积神经网络,实现发动机的部分失火故障诊断。为了进一步提升诊断的准确性,利用网络层数较多的残差网络提取发动机振动信号中更深层次的信息与更复杂的特征,最终经过大量的数据训练与测试,验证了所设计的残差网络对柴油机部分失火故障诊断的效果。

1 试验方案与数据处理

1.1 试验方案

发动机的部分失火试验是在1台直列四冲程6缸柴油机上进行的,其缸径和行程分别为102 mm和118 mm,总排量为5.8 L,压缩比为17.5。该柴油机的发火顺序为1—5—3—6—2—4,转速范围为800~2 200 r/min,标定功率为85 kW。试验台架如图1所示。

在试验中,振动信号通过BK公司生产的三轴压电式加速度传感器采集,该传感器的型号为4525-B-001,可测信号的频率范围为1 Hz~10 kHz,电压灵敏度为10 mV/g。在柴油机的部分失火试验中,将振动传感器安装在柴油机第4缸的缸盖位置,采样频率为51.2 kHz。

在部分失火故障试验中,通过ECU改变某缸的供油系数设置部分失火故障。由于柴油机的供油系数在40%以下,在部分负荷工况下可能是未燃烧的状态,所以为了避免将部分失火故障识别成完全失火,对于部分失火故障只设置了柴油机某个缸的供油系数为0%,50%,70%,100%四种类型,其中0%和100%供油系数分别代表完全失火和正常工作状态。为了简化数据集的处理过程,在计算中只选择第1缸和第5缸的部分失火数据来训练所设计的深度学习网络(选择其余缸的部分失火数据也可以),探究所设计的网络是否可以诊断柴油机的部分失火故障。部分失火故障的试验工况如图2所示。

1.2 数据处理

每种失火工况采集到的数据量能够达到百万级别,为了得到网络训练所需的样本,需要对采集到的数据进行分割处理。为了能够使每个样本中均包含足够的信息,每个样本需要至少包含柴油机运行一个循环的振动数据。因此根据振动传感器的采样频率及试验工况的最高转速,将每个样本所包含的数据设置为6 400,即网络的输入向量的维度为6 400*1。将发动机负荷为100 N·m和200 N·m的所有工况点作为训练网络的数据集,总共包括6 088组数据,其中的80%作为网络的训练集,剩余的20%数据作为网络的验证集。另外将发动机150 N·m负荷下,转速分别为1 000,1 200,1 600 r/min的数据用来验证网络的准确性及泛化性能。

为了防止模型的梯度消失,使网络更快收敛,对振动数据进行归一化处理。归一化处理方式如式(1)所示。

(1)

式中:x,xl为归一化前后的值;Max,Min分别为样本的最大值和最小值。

利用上述处理好的数据集,通过训练得到失火故障诊断的网络模型,将诊断模型嵌入到车辆的终端设备中,后续只需要采集发动机振动信号并进行适当的数据处理,最后通过训练好的网络模型进行前馈计算,即可诊断发动机是否发生部分失火故障以及部分失火的程度和失火缸。在诊断过程中,无需进行反馈传播来更新网络参数,可以大大缩短诊断时间。当发动机长时间运行,发动机运行状态有较大变化且影响失火诊断的准确性时,可以重新优化失火诊断模型,并在终端进行远程升级。

2 发动机部分失火故障诊断

2.1 卷积网络设计

卷积神经网络是一个具有卷积操作的前馈神经网络,与全连接神经网络相比,卷积神经网络具有局部连接、权值共享和下采样特点,因此进行网络训练的参数大大减少,提升了网络训练的效率。

所设计的卷积神经网络是针对不完全失火故障的失火程度以及失火缸诊断,且以振动信号为输入,将该网络简称为IDCV-CNN。所设计的网络结构由输入层、5个连续的特征提取模块(卷积层,BN层以及池化层)、全局平均池化层以及全连接层组成(见图3)。

图3 IDCV-CNN的网络结构

网络中出现的5个连续的特征提取模块可以自动提取振动信号中的特征。特征提取模块包括卷积层、BN(Batch Normalization, BN)层以及池化层。卷积层是深度网络的核心层,卷积层是将输入信号或上一层特征图的局部区域与卷积核进行卷积,然后将卷积后的输出值加上相应的偏置量后,并通过激活函数进行非线性变换,从而得到相应的特征图。对于卷积核,可以将其理解为一个可训练的特征提取器,在上一层的特征图上滑动来提取特征。主要计算过程如式(2)所示:

al=σ(al-1⊗wl+bl)。

(2)

式中:al-1为第l-1层卷积核的卷积区域中的元素;wl为第l层的卷积核的权值;bl为第l层的卷积核的偏置;al为第l层卷积经过激活函数作用后的输出。

卷积层后连接着BN层,BN层是对前一层的输入进行相应形式的标准化,引入该层后可以改善流经网络的梯度,从而允许选择较大的学习率,提升训练的速度。

特征提取模块的最后一层就是池化层,该层进一步压缩卷积层的输出特征,减少网络的参数,并且池化层本身没有任何参数,可以减少训练时间,同时也能控制过拟合。常见的池化方式为最大池化和平均池化。本研究选择最大池化方式,可以提取目标区域内最具有代表性的特征。

激活函数在网络中具有十分重要的作用。网络中加入了非线性的激活函数,可以使原先网络层实现非线性映射,从而提高网络的特征表达能力。随着神经元的增加或层数的加深,神经网络可以实现非线性的复杂的任意函数映射。常用的激活函数有Softmax,Tanh,ReLU。为了解决梯度消失和减少过拟合,选用的激活函数为ReLU。

分类评估函数是用来评估网络的输出向量与样本的实际标签两者的差异。损失函数的值越小,代表预测输出与实际标签之间的差值越小,也就说明构建的网络模型越好。本研究所设计的两个网络的分类评估函数均采用多分类交叉熵函数,计算公式如(3)所示:

(3)

发动机的振动信号所包含的信息十分丰富,为了更好地寻找振动信号与发动机部分失火故障之间的映射关系,通过叠加多层的特征提取层可以更好地提取振动信号中的故障特征,以便能够达到较好的诊断效果。IDCV-CNN网络的参数设置如表1所示。从表1中可以看到,网络中卷积核的尺寸根据输出特征图的输出规模进行相应的改变,而卷积核的步长也是根据输出特征图的输出规模和卷积核的尺寸而设置的。

表1 IDCV-CNN网络结构参数

续表

2.2 卷积神经网络的诊断结果

所设计的IDCV-CNN网络选择多类交叉熵作为损失函数,选用Adam优化器来更新网络的权值,学习率设置为0.001。IDCV-CNN网络经过150个训练周期,网络验证集的诊断准确率达到了96.29%。图4示出IDCV-CNN网络验证集的预测结果。可以看到,该网络整体的诊断准确率较高。仅在1号缸的50%供油系数的数据集(1#_50%)中,总共295个数据就存在39个数据被判断成了1号缸的70%供油系数(1#_70%)。对于该结果,虽然存在预测错误,但是能识别出部分失火故障的发生,并能诊断出相应的失火缸。

图4 IDCV-CNN网络验证集的预测结果

利用负荷为150 N·m下的1 000,1 200,1 600 r/min三个工况点来测试IDCV-CNN网络的准确性和泛化性,测试结果如图5所示。可以看到,对于未参加训练的三个测试工况的准确率分别为88.16%,88.50%,81.25%,相比于验证集的预测结果较差。

由图5还可以看出,主要存在两个方面的错误。第一是失火缸的诊断是正确的,但是失火程度诊断错误,如1 200 r/min的5#_50%以及1 600 r/min的1#_50%均是被诊断为相邻的工况点。第二是失火程度诊断正确,但是失火缸的诊断错误,如1 000 r/min与1 200 r/min的1#_70%工况被误认为5#_70%工况,1 200 r/min与1 600 r/min的5#_50%工况被误诊断为1#_50%工况。

图5 IDCV-CNN网络测试工况的预测结果

IDCV-CNN网络误诊率较高的原因可能是特征提取层数较少,网络提取的特征不够丰富,不能提取振动信号中更为复杂的特征,所以设计的IDCV-CNN网络对1号缸或5号缸的部分失火诊断准确率较低。

2.3 残差网络设计

有大量理论和经验表明,随着神经网络深度的增加,提取的特征层次也更丰富,其网络预测的准确率也更高,但随之而来也会出现网络退化问题。残差网络利用网络中的跳跃连接可缓解网络的退化问题,可以通过增加网络的深度提高网络的性能。针对IDCV-CNN网络的特征提取层数较少,不能提取振动信号中更为复杂的特征,误诊率较高的问题,提出利用残差网络来解决柴油机的部分失火故障诊断问题。

残差网络最核心的就是网络中的残差模块,残差模块的示意图见图6。如果让深层网络去拟合一个存在恒等映射关系的函数H(x)=x是比较难训练的,但若将网络设计成残差块的形式,如图6所示,x为该网络的输入,F(x)为堆叠的非线性层映射,其输出为H(x)=F(x)+x,这样就可以将网络的学习重心转换成学习一个残差函数F(x)=H(x)-x。对于拟合恒等映射,只需要F(x)为0,即权值全部为0,这是相对容易实现的。

图6 残差模块

所搭建的残差网络模型的具体结构参数如表2所示。该模型是以一维的时域振动信号作为输入,经过卷积层以及池化层的运算后,再经过8个残差模块,提取振动信号中多个底层以及高层特征,将这些提取到的特征再次经过全局平均池化层、平铺层、全连接层后得到最终的输出结果。

表2 残差网络结构参数

由于输入信号为一维数据,所以所有的卷积操作均为一维卷积。表2中,c=16代表特征图通道的数量即卷积核个数为16,k=128代表卷积核尺寸为128,s=2表示卷积核的步长为2,GAP代表全局平均池化。对于残差连接,若残差块的输入与输出的特征图的尺寸相同,则采用恒等连接即直接将残差块的输入向量与输出向量直接相加,而对于残差块的输入与输出的尺寸不一致的情况,则采用1*1卷积的方式来保证信号输入与信号输出的尺寸一致性。

本网络超参数的设置如下:将网络初始的学习率设置为0.05,将每个训练周期后的学习率的衰减变量decay设置为0.000 5。学习率的衰减趋势如图7所示。学习率按这个趋势设置,在训练的初始阶段网络参数能够以较大的幅度进行更新,而在训练的后期,网络参数以很微小的幅度进行改变。另外,选择动量的随机梯度下降算法 (Stochastic Gradient Descent-Momentum, SGD-M) 一起使用,动量的引入可以加快网络收敛的速度并能够避免出现局部最优。在进行计算时动量系数设置为0.9。

图7 学习率衰减曲线

权重的初始化决定了网络模型训练的起点。合适的初始化不仅会加快网络训练速度,同时还能避免模型收敛于某一局部最小值。为了防止在网络的训练过程中权重更新总沿着一个方向,应尽量避免网络的所有权值均初始化为同一个值,如全为0或全为1矩阵。本研究在权重初始化时使用了Glorot Uniform方式进行初始化。

(4)

2.4 残差网络的诊断结果

残差网络进行训练时,采用的数据集与IDCV-CNN网络所使用的数据集保持一致,以便进行比较。设置残差网络的一个小批次为32,设置训练周期为150,最终验证集的测试准确率达到了98.51%,比IDCV-CNN的准确率高了2.25%。从图8可以看到,验证集经过测试所得到的混淆矩阵,只有1#_50%和1#_70%工况有小部分数据被预测错误,从总的准确率来看,该残差网络可以达到相当好的诊断效果。

图8 残差网络验证集的测试结果

利用150 N·m负荷下的1 000,1 200,1 600 r/min不同转速工况来测试残差网络的准确性和泛化性,测试结果如图9所示。残差网络的3个测试工况的预测准确率分别达到94.37%,96.99%,94.38%。只有部分工况的个别数据出错,预测出错的数据可分为四类:第一类是网络能够精准地预测失火缸,但对失火程度存在预测误差,如1 000 r/min的5#_50%工况有16个数据被误认为5#_70%工况。若此类错误出现比例较小,这种故障能够及时止损,也方便后续维修。第二类是能够预测失火程度,但是对失火缸的诊断存在预测偏差,如1 000 r/min的1#_70%工况中存在23个数据被误认为5#_70%工况,误诊率为14.38%。该类诊断失误可以使用合适的诊断策略来避免,如通过多次信号采集及诊断来提高诊断的准确率。第三类是能够预测发动机发生失火故障,但是对于失火缸以及失火程度均预测错误。如1 600 r/min的1缸完全失火有9个数据被误认为5#_50%工况。此类故障诊断失误率为5.63%,也是可以通过相应的诊断策略避免诊断失误。第四类诊断错误是将失火故障诊断为正常,如1 200 r/min的1#_70%工况中有2个数据被误诊为发动机正常。由图9可知,对于三种验证工况,此种错误的误诊率非常低,几乎可以忽略不计。

图9 残差网络测试工况的预测结果

残差网络在三个验证工况的准确率与IDCV-CNN网络准确率比较如图10所示。可以看到,残差网络的诊断准确率在1 000,1 200,1 600 r/min分别达到94.37%,96.99%,94.38%,相比于IDCV-CNN网络的诊断准确率88.16%,88.5%,81.25%分别提高了6.21%,8.49%和13.13%。因此,在柴油机的部分失火的失火缸及失火程度的诊断上残差网络是优于IDCV-CNN网络的。

图10 残差网络与IDCV-CNN网络准确率对比

以上阐述的采用残差网络实现柴油机部分失火故障诊断的过程属于线下诊断,后续可将训练好的残差网络移植到GPU或FPGA开发板中,将实时采集的发动机振动信号进行处理和前馈计算,即可实现发动机部分失火故障的实时诊断。

3 结论

a) 利用卷积神经网络来诊断柴油机的部分失火故障,不需要人为的特征提取,能够利用网络强大的非线性的拟合能力自动提取故障特征,进而判断柴油机的失火状态;结果表明,所搭建的卷积神经网络对经过训练的工况点的部分失火诊断准确率能够达到96.29%,但对于未参与训练的工况点的诊断准确率只能达到85%左右,即所设计的卷积神经网络的泛化性能较差;

b) 利用残差网络提取振动信号中多个底层以及高层特征,解决柴油机的部分失火故障特征不明显与诊断困难的问题,同时通过加入正则化项,减小权重的绝对值,使模型简单化并防止过拟合;

c) 所设计的残差网络通过数据集训练后,对经过网络训练的工况点的诊断准确率能够达到98.51%,对于未经过网络训练的工况点的诊断准确率最低为94.37%,该结果表明层数更多的残差网络的准确性及泛化性能均优于设计的卷积神经网络,可以在较宽的工况范围实现对柴油机的部分失火故障的诊断。

猜你喜欢

残差准确率卷积
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
基于残差学习的自适应无人机目标跟踪算法
卷积神经网络的分析与设计
基于深度卷积的残差三生网络研究与应用
从滤波器理解卷积