基于离子电流与LSTM神经网络的汽油机早燃判断
2022-03-23丁伟奇王金秋胡宗杰李明龙董光宇李理光
丁伟奇,王金秋,胡宗杰,李明龙,董光宇,李理光
(同济大学 汽车学院,上海 201804)
随着碳减排和环境保护的形势日趋严峻,寻求更高效的动力总成技术方案已成为全球汽车制造厂商的首要任务.火花控制压燃着火、可变配气、涡轮增压和缸内直喷等[1-2]技术已成为了有效提高汽油机热效率的重要手段.但在汽油机不断升级的过程中,早燃及其引起的超级爆震是限制提升热效率、降低排放的重要因素之一[3-4].早燃的出现较为随机且没有明显的征兆,可能是由缸内的随机热点引起,如碳粒和油滴[4-6],因而有必要研究能快速检测和抑制早燃的技术手段.
离子电流检测技术已经被证实是一种高效、快速、可靠且成本低廉的缸内燃烧检测手段.离子电流的产生源于缸内燃烧现象自身的离子反应,当在火花塞正、负极施加电压时,燃烧反应生成的正、负离子和电子会产生定向移动,从而形成离子电流.由于离子电流与燃烧息息相关,因而离子电流可以反映缸内燃烧状态[7].与基于脉谱和模型的控制方法相比,离子电流检测可实现燃烧的循环(4个行程或一个工作循环)内诊断,并用于实时反馈控制失火、爆震和早燃等非正常燃烧[8-10],由于离子电流判别早燃的根本目标在于准确并提前判断出早燃,为今后实现循环内诊断并抑制早燃提供可能,因而笔者在离线分析中模拟在线采集过程,确定不同判别模型的准确率和提 前性.
Wang等[7]研究发现,由于实际燃烧过程中测得的正常燃烧和早燃工况下的离子电流信号波形较为复杂,通过人为定义的方式来寻找早燃工况下离子电流信号波形的规律较为困难,实际判定的准确率有待提高.而从根本上来说,基于离子电流信号判定早燃是一种分类问题,神经网络是一种解决分类问题的重要方法.Arsie等[11]在汽油机上将循环神经网络(RNN)模型作为检测发动机当前燃烧循环NOx排放指标的虚拟传感器.Kamat等[12]通过一台5.7L的V8发动机,利用RNN模型检测当前工况下的空气质量流量、空燃比等参数.但RNN有梯度消失的问题,即对于时间序列上相隔较远的输入记忆关联性较差,这并不利于分析离子电流信号波形,因为在离子电流信号中,点火线圈的蓄能特征信号出现的相位比较早,而它对后续的燃烧信号特征判断仍有重要参考价值.长短期记忆(LSTM)神经网络利用3个门限单元可使该神经网络能够区分“长期”和“短期”记忆,可以解决RNN模型的梯度消失问题.
Panousakis等[13]利用神经网络和离子电流相结合的方法预测发动机循环内缸压,从而对燃烧状态进行判断.Johnson等[14]利用神经网络进行燃烧过程图像的识别,从而预测燃烧相位来判别是否早燃.因而神经网络与缸压传感器以外的检测手段相结合进行早燃判断已成为研究趋势,但高速摄影和纹影法等研究成本较高,且与神经网络结合后难以转化为在线检测方法,而在神经网络与离子电流相结合的研究中一般缺少针对早燃检测准确率和提前率的优化.
基于此,笔者介绍了根据离子电流信号输入特征值所建立的判断早燃的LSTM神经网络模型,基于K折交叉验证和粒子群优化法对神经网络结构、超参数进行优化,并与其他几种判别模型进行了对比,得出LSTM神经网络判别法是性能更优的分类模型,且更符合离子电流早燃判别的根本目标.
1 试验设置
试验用台架由直喷汽油机、自制离子电流检测设备、电涡流测功机和采集设备等组成,如图1所示.直喷汽油机的技术参数见表1.采用INCA连接ECU,对发动机运行参数进行实时监控.离子电流检测模块由点火线圈、IONtronic离子电流检测板、信号转换模块及连接线束构成,离子电流检测装置电路如图2所示.采用AVL燃烧分析仪和Kistler火花塞式缸压传感器进行基于缸压的燃烧分析.定义压缩上止点为0°CA.在-50°~90°CAATDC范围内,每0.1°CA采集一次缸压和离子电流信号等,在其他曲轴转角区间内,每0.5°CA采集一次,因而在每个工作循环(720°CA)内共采集2560次.定义早燃的初步判别标准为缸压峰值是否高于9MPa.如果某工作循环的缸压峰值超过9MPa,将保存之前100个循环和之后200个循环的缸压和离子电流信号数据.
图1 试验台架示意 Fig.1 Schematic of the test bench
图2 离子电流检测装置电路原理示意 Fig.2 Circuit schematic of ionic current detection device
表1 涡轮增压直喷汽油机基本参数 Tab.1 Specifications of a turbocharged GDI engine
笔者在转速为1500r/min、负荷为72%工况下进行试验.在试验过程中采集相关数据,再进行离线分析.在离线分析过程中,开发检测早燃的神经网络模型.在后期的离线分析中,燃烧开始相位定义为5%燃料质量已燃烧时的曲轴转角(CA5).当燃烧开始相位早于点火时刻时,判定此循环发生了早燃.
2 离子电流信号特征值分析
2.1 汽油机正常燃烧工况的离子电流信号
图3为某单个循环内的缸内压力和离子电流信号.缸内压力和离子电流信号出现了多个峰值.缸内压力信号的两个峰值分别是压缩峰和缸内压力燃烧峰.在一个工作循环内,离子电流信号的峰值可分为4类:(1)点火干扰,由于离子电流检测装置电路与点火线圈相连,火花塞点火时引起的电路震荡会对离子电流信号形成干扰.其中点火干扰1、2、4为其他3缸的点火干扰信号,因而较小;点火干扰3为当前缸内的点火干扰信号,因而较大.(2)蓄能峰,在火花塞的点火线圈开始蓄能的时刻,离子电流信号会出现两个三角形尖峰.(3)放电峰,火花塞放电完成后形成的电路振荡,是离子电流信号最强的峰.(4)离子电流峰,燃烧阶段缸内电子、离子浓度最高时产生的峰.放电峰后的离子电流信号可以反映燃烧时的火花塞附近的电子、离子浓度.可知离子电流峰和缸内压力燃烧峰出现的相位较为接近.
图3 正常燃烧工况离子电流波形 Fig.3 Ionic current of normal combustion condition
图4为点火时刻前、后的离子电流波形.早燃的发生时刻一般在点火线圈蓄能时刻与紧随其后的点火时刻之间.在转速为1500r/min下,蓄能峰和点火峰之间的早燃检测窗口最大为41°CA,且后续试验显示,所有早燃均发生在此检测窗口区间内.点火时刻的点火干扰峰和放电峰之间为离子电流检测早燃的空窗期,此时火花塞处于放电阶段,在点火线圈中引起的反向电动势较大,但被离子电流检测电路中的二极管滤除,因而该阶段无法检测到离子电流信号.
图4 汽油机燃烧区间正常燃烧工况离子电流波形 Fig.4 Ionic current of normal combustion condition in combustion area of gasoline engine
2.2 汽油机早燃工况的离子电流信号
目前,学者们普遍认为早燃是由缸内随机热点引发的.笔者采用在压缩上止点附近进行二次喷油,降低空燃比,使混合气过浓,二次喷油将燃油直接喷入高温缺氧的氛围内,可能会导致燃油碳化裂解,从而在燃烧室内快速形成积碳,火花塞上的积碳也十分明显,可以加速引发早燃.
一旦停止二次喷油,早燃几乎会立刻发生,之后随着积碳不断燃烧,早燃也逐渐消失.试验中记录了6154个工作循环,发生早燃的有272个循环,早燃发生率为4.42%.在笔者设计的早燃循环中,CA5的平均值为-24.3°CA ATDC.
由于受到了积碳的影响,离子电流波形也出现了一定的变化,受积碳影响的非早燃工况(正常燃烧工况)下的离子电流波形如图5所示.可知,与图4不同,早燃检测窗口中的离子电流信号很强.这是由于积碳使火花塞的两个电极之间的间隙减小、电阻率下降,从而在离子电流检测电路中形成电流[15].因此,尽管其间没有燃烧,但点火前早燃检测窗口中的“离子电流信号”明显大于0V.
图5 积碳影响下的非早燃工况离子电流波形 Fig.5 Ionic current under the influence of carbon deposition of normal combustion condition
当发生早燃时,离子电流受到积碳和早燃干扰的共同作用,其波形如图6所示.与非早燃工况检测窗口内的离子电流信号值始终保持下降趋势相比,早燃工况的离子电流信号值在早燃检测窗口前半段出现波动,在后半段信号值不降反升.另外,当早燃发生时,缸压幅值及放热率幅值明显上升,两者幅值出现的相位相比非早燃工况明显前移,同时,由早燃引发的爆震使得缸压峰值附近的波形出现了明显波动.
图6 积碳影响下的早燃工况的离子电流波形 Fig.6 Ionic current under the influence of carbon deposition of pre-ignition condition
2.3 离子电流信号特征
图7为早燃与非早燃工况的离子电流波形对比.当发生早燃时,其离子电流信号在第二蓄能峰和点火干扰峰之间出现了明显的上升趋势.这可能是火焰形成的离子电流与积碳信号共同作用的结果.由于积碳存在,将火花塞的电极导通,使得早燃检测窗口区域内的离子电流信号值大于0V;发生早燃后,火焰形成的离子电流信号与积碳本身的干扰信号 发生叠加,从而在早燃检测窗口期后半段中出现离子电流信号上升的趋势.
图7 早燃工况与非早燃工况离子电流波形对比 Fig.7 Comparison of ionic current between pre-ignition condition and normal combustion condition
对比大量早燃与非早燃工况的离子电流信号波形,笔者使用阈值判定算法制定了一个针对早燃的判断程序,如图8所示.如果对于3个连续的采样点,差值大于预设的早燃阈值,则当前循环被视为早燃循环.反之,则将当前循环归为正常燃烧循环.
图8 早燃判断常规程序原理示意 Fig.8 Schematic of conventional pre-ignition detection program
选用两个参数来衡量判别程序分类的有效性:真阳率和假阳率.真阳率是指程序正确地将早燃循环判断为早燃循环的概率;假阳率是指程序将非早燃循环误判为早燃循环的概率.笔者对272个早燃循环和5882个非早燃循环进行计算,阈值设置与程序真阳率和假阳率关系见表2.可知阈值降低会使真阳率和假阳率同时升高,无法同时满足提高真阳率和降低假阳率的需求,且图8中的算法也很难进一步优化.
表2 阈值设置与程序真阳率和假阳率关系 Tab.2 Relationship between threshold setting and true positive and false positive rate
图9为不同阈值的真阳率、假阳率.为了获得较高的真阳率和较低的假阳率,选取最靠近左上角点(0,1)的阈值点为最优判定阈值.因而最终选用0.14V作为判定阈值,此时的真阳率和假阳率将作为与神经网络模型判断结果的对比基准.
图9 不同阈值的真阳率、假阳率 Fig.9 True positive and false positive rate of different threshold
2.4 输入数据预处理
由于笔者利用神经网络对试验数据进行离线分析,而神经网络检测模型的最终目的为实现早燃的在线检测,因而需要模拟在线试验的采集方式,对输入LSTM神经网络的特征值序列进行预处理.
为保证输入神经网络的特征值序列长度一致,需要设定特征值序列的最大长度.在所采集的6154个循环中,离子电流第二蓄能峰出现的曲轴转角均值为(-37.52°±3.40°)CA ATDC.早燃工况的缸压峰值相位均值为-2°CA ATDC,若神经网络模型在此时刻之后判断出早燃,相比于利用缸压幅值的判别方法就不再具有提前性,因而选取最大长度为35个特征值,此时特征值序列末尾的平均曲轴转角为-2.5°CA ATDC,可以保证将所有具有早燃特征的离子电流特征值进行计算,即从第二蓄能峰后的第35个离子电流均值开始,LSTM神经网络不再采集离子电流信号值.同时,对于长度不足35个的特征值序列进行零值填充,使其达到最大长度.从离子电流信号的第二蓄能峰开始,将进入早燃检测窗口,由于第二蓄能峰峰值对于表征燃烧状态具有重要作用,因而将每个燃烧循环的第二蓄能峰峰值作为输入神经网络的特征值序列的第一个值.由于在-50°~90°CA ATDC区间内,每0.1°CA采集一次离子电流信号,从进入早燃检测窗口开始,笔者对每0.11ms(1°CA)内的10个采样点的离子电流信号求平均值.在任意时刻,将每0.11ms(1°CA)所求得的离子电流信号平均值按照时序依次排列,在第二蓄能峰峰值之后置入输入神经网络的特征值序列.对所有数据进行预处理后,共得出24384组数据,其中60%作为训练集用于神经网络模型训练,20%作为验证集,20%作为测试集用于最终的模型校核.
3 LSTM神经网络建立
3.1 LSTM神经网络及优化器原理
笔者在Python中的TensorFlow框架下进行编程和LSTM神经网络模型训练,同时调用Keras模块.
LSTM在RNN的基础上引入了3个门限单元(输入门it、遗忘门ft以及输出门ot)和细胞态Ct,可以表征神经网络记忆体在上一时刻的长期记忆Ct-1和当前时刻候选态共同作用下的状态,记忆体的输出为ht[16].在实际训练过程中,每一层循环神经网络都由若干个记忆体构成.当前时刻记忆体的输出ht会对下一时刻的记忆体产生影响,在具有多层循环神经网络时,前一层循环神经网络的ht会作为下一层循环神经网络的输入xt.记忆体输出ht为
细胞态Ct为
式中:Wc、Wi、Wf和Wo为待训练参数矩阵;bc、bi、bf和bo为待训练偏置项;σ为Sigmoid激活函数,有
在训练过程中,损失函数在迭代过程中不断地减小,待训练项也在迭代中不断更新,最终求解出适用于解决特定问题的神经网络模型[17].
选用自适应矩估计(adam)优化器,其待训练参数[17]更新公式为
式中:mt为t时刻的一阶动量;Vt为t时刻的二阶动量;β1和β2为动量修正的超参数,有
式中gt为t时刻损失函数关于当前参数的梯度.
3.2 神经网络超参数优化
神经网络的性能受到许多超参数的影响,如网络层数、每层的神经元数量、学习率和批处理尺寸等.由于超参数优化是一个组合优化问题,无法像一般参数那样通过梯度下降法进行优化,笔者采用K折交叉验证与粒子群优化法相结合的方式对超参数进行优化.
3.2.1 神经网络层数优化
神经网络层数对于神经网络性能具有较大的影响,增加神经网络层数通常可以提高拟合程度,从而提高精度,但同时也会增加计算成本并产生过拟合的倾向,降低模型的泛化性.笔者选用交叉熵损失函数,隐藏层层数Nh=[2,4,6,8,10],每两层隐藏层由一组LSTM层和Dropout层构成.输出层是维度为2的全连接层,采用Softmax激活函数,选用L2正则化,正则化系数为0.01,输出(1,0)表示未发生早燃的概率为100%,输出(0,1)表示发生早燃的概率为100%,实际在测试集的判断过程中设定早燃预测概率超过某个阈值时视为模型判断出早燃.在优化过程中固定设置LSTM层神经元个数Nunit=40,舍弃层(dropout layer)神经元舍弃概率为0.2、学习率lr=0.001、批处理尺寸bs=64且迭代次数epochs=100.
图10为经过4折交叉验证后的交叉熵.当隐藏层层数超过6层时,交叉熵损失函数下降不再明显,权衡神经网络性能与训练成本,最终选择隐藏层层数为6层.
图10 4折交叉验证后神经网络交叉熵 Fig.10 Cross entropy in 4 fold cross-validation
3.2.2 基于粒子群优化法的其他超参数优化
利用粒子群优化法对超参数进行优化,粒子群优化算法通过在D维搜索空间中的一系列粒子来寻找最优的适应度值,第i个粒子在空间中的位置为zi=(zi1,zi2,…,zid,…ziD),表示一组D个超参数的组 合[18].笔者进行粒子群优化法是为寻找一组超参数的粒子位置,使交叉熵损失函数的适应度值达到最小.在搜索迭代过程中,粒子通过向两个最优位置移动来寻找最优解:(1)局部最优解pbest,即粒子自身目前找到的最优位置,第i个粒子的pbest集合表示为pi=(pi1,pi2,…pid,…,piD);(2)全局最优解gbest,即所有粒子中目前所搜到的最优位置,集合表示为pg=(pg1,pg2,…,pgd,…,pgD).第i个粒子的速度v更新公式为
式中:k为迭代次数;w为惯性权重;c1、c2为学习因子,以避免算法陷入局部最优提高收敛速度;r1和r2为随机因子,以保证迭代过程中的多样性.
惯性权重w的表达式为
式中:kmax为设定的最大迭代次数.w可以调整全局和局部的寻优搜索能力,较大的w值利于粒子逃出局部极小值点,较小的w值可以加快算法收敛速度并提高解的精度[18].
第i个粒子的位置z更新公式为
笔者选择了以下超参数及搜索区间进行粒子群优化:批处理尺寸bs=[32,64,128],每个LSTM层的神经元数量Nunit=[20,30,40,50,60,70,80,90],学习率lr=(0.0001∶0.01),舍弃层舍弃概率dr=(0.1∶0.4),设定迭代次数kmax为170次,选用粒子数量为20.结合K折交叉后的损失函数与迭代次数的关系如图11所示,随着迭代次数增加,损失函数逐渐收敛在最小值附近.
图11 损失函数与迭代次数关系 Fig.11 Relationship between loss function and number of iterations
图12为不同超参数的优化结果.图12a~12b中,在离散量的优化中,随着迭代次数增加,粒子逐渐集中在最优的bs=32,Nunit=70.图12c~12d中,在连续量的优化中,随着迭代次数增加,粒子逐渐缩小搜索范围,lr在0.001附近波动,dr在0.3附近波动.最终得到最优的超参数组合为bs=32、Nunit=70、lr=0.001088和dr=0.3306.
图12 不同超参数粒子群优化法结果 Fig.12 Results of particle swarm optimization
4 结果分析
将优化后的超参数代入神经网络进行训练,随后在测试集上测试神经网络的表现,将早燃预测概率的阈值选为0.5,即当模型预测早燃概率大于0.5时,判定结果为早燃,此时其均方根误差(RMSE)为0.110,在4877个测试集中的判断正确率为98.50%.由于定义早燃起始时刻为CA5,因而当早燃判出时刻在CA5与CA10之间时,则模型具有良好的提前性;当判出时刻在CA10与CA50之间,则提前性一般;当判出时刻晚于CA50,则不具有提前性.在LSTM神经网络中,76.09%的早燃循环在CA10前就被判断出来,模型具有较好的提前性,为循环内采取早燃抑制手段提供了更多时间和可能性.
为了验证LSTM神经网络在离子电流早燃判断问题上的优越性,建立了前馈(BP)神经网络和支持向量机(SVM)判别模型作为对照,其中BP神经网络采用与LSTM神经网络相同的拓扑结构:1层输入层、6层隐藏层和1层输出层,每个隐藏层的神经元数量为70个;SVM对照组中采用高斯核函数,对SVM的超参数采用K折交叉验证配合粒子群优化法进行优化.3种模型的结果如表3所示,MAE为平均绝对误差,可知LSTM的各项误差要小于其他两种判别模型,在CA10前判断出早燃的概率也高于其他两种模型.
表3 3种判别模型的结果 Tab.3 Results of three discriminant models
同时利用受试者工作特征曲线法(ROC)对3种模型的分类性能进行比较.当改变模型早燃预测概率的判别阈值时,真阳率和假阳率也会发生相应的变化,每个阈值对应一组真阳率和假阳率.对于理想的分类模型,存在某一个阈值使假阳率为0,真阳率为1.通过对3种模型取不同的阈值,绘制出以假阳率为横坐标、真阳率为纵坐标的散点图,再将所有点依次连接得到ROC图,如图13所示.由ROC图曲线下面积(AUC)对模型分类性能进行量化,曲线下的面积越大,表征模型对早燃判别的能力越强.
图13 3种模型的ROC Fig.13 ROC of three models
表4为三者的AUC对比.完美判别模型的AUC=1.0,随机猜测的AUC=0.5,当AUC为0.5~0.7时,分类模型略优于随机猜测,具有较低的参考价值,当AUC为0.7~0.9时,模型具有中等参考价值,当AUC大于0.9时,为可靠的预测模型,具有很高的参考价值.可知LSTM模型AUC明显高于BP模型,且略优于SVM模型,具有更强的分类性能.
表4 3种模型的AUC值 Tab.4 AUC of three models
相比于基于阈值的判别方法(真阳率为89.71%和假阳率为8.77%),从ROC图中可见,LSTM神经网络判别模型明显具有更高的准确性,同时还保证了良好的提前性,对于发动机工作过程中早燃工况的循环内抑制更具有实际意义,符合基于离子电流判别早燃的根本目标.可知,综合考虑计算成本与计算准确率和提前量,LSTM神经网络判别法相比于阈值判别法更适用于离子电流早燃判定.
5 结 论
(1) 构造了针对离子电流早燃检测的LSTM神经网络模型,利用K折交叉验证配合粒子群优化法,优化了神经网络超参数,并最终在测试集中获得均方根误差为0.110、准确率为98.50%.
(2) 横向比较了LSTM神经网络、BP神经网络和SVM共3种深度学习判别模型;相比于BP神经网络和SVM,LSTM神经网络判别模型具有更低的误差和更高的准确率,同时76.09%的早燃循环在CA10前即可检出,具有更好的提前性;利用ROC判别法对3种模型进行对比,LSTM模型的AUC达到了0.9989,分类性能优于其他两种模型.
(3) 相比于常规离子电流阈值方法(真阳率为89.71%和假阳率为8.77%),LSTM神经网络判别法虽然计算成本更高,但具有更高的准确性,LSTM神经网络判别法更加符合离子电流早燃判别的根本目标,相比于其他方法更具有优越性.