简晓春,王利伟,闵 峰
(重庆交通大学 a.交通运输学院;b.机电与汽车工程学院,重庆 400074)
在发动机排放污染物检测和实时控制过程中,由于测量仪的测量点无法布置或实时测量仪条件不具备等,造成难以测量的问题。同时,发动机实时运行工况是非线性的,使得建立传统的数学模型相对困难,需作一系列简化,测量精度往往不高;而用经验公式计算,一般只考虑少数几个主要因素,得出的结果带有一定误差[1]。人工神经网络模拟生物神经结构与思维的过程,通过不依赖于对象的数学模型来解决多维空间的非线性问题[2]。BP神经网络是目前应用最为广泛和成功的神经网络之一,它能够处理任意复杂的非线性问题,具有自我学习和高容错性等特点[3-5]。本文以BP神经网络基本原理为基础,结合Levenberg-Marquardt优化算法建立了基于汽车排放污染物CO的LMBP神经网络软测量模型,为发动机的排放检测与实时控制提供依据。
BP神经网络模型处理信息的基本原理:输入信号xi通过中间节点(隐含层节点)作用于输出节点,经过非线性变换,产生输出信号zl,网络训练的每个样本包括输入向量X和期望输出量T、网络输出值Z与期望输出值T之间的偏差。通过调整输入节点与隐层节点间的网络权值wji、隐层节点与输出节点的网络权值vlj以及阈值,使误差沿梯度方向下降,经过反复学习训练,确定与最小误差相对应的网络参数(权值和阈值),训练即告停止。此时,经过训练的神经网络即能自行处理输出误差最小、且经过非线性转换的信息[6-8]。
具体步骤:
1)初始化,随机给定网络权值wji、vlj及阈值θj、θl;
2)由给定的输入输出模式对计算隐含层、输出层各单元输出:
式中:yj为隐含层第j个节点实际输出;zl为输出层第l个节点的实际输出。
其中:δl为输出层的校正误差;δ'l为隐层的校正误差。
3)计算新的网络权值及阈值,计算公式为:
式中 η、η'为学习系数(0<η <1,0<η'<1)。
4)选取下一个输入模式对,返回第2步反复训练,直到网络输出误差达到要求,结束训练。
理论上已经证明,存在阈值和至少1个S型隐含层加上1个线性输出层的BP网络具有可逼近任意非线性连续映射的能力[9],适合于非线性系统的建模,是目前使用较多的一种神经网络模型。一个3层的BP网络的结构如图1所示,图中:I、H、O表示3层的节点数;θj(k)表示隐层各节点的阈值;θl(k)表示输出层各节点的阈值。
图1 BP网络的结构
虽然BP算法有着广泛的应用,但在实际应用中BP算法的神经网络存在收敛速度慢、学习速率不易确定等缺点,很难应用于实际计算。目前常用的改进算法有附加动量算法、变速率算法、共轭梯度算法、高斯-牛顿算法及Levenberg-Marquardt算法(简称LM算法)[10-11]等,其中LM 算法收敛速度最快、鲁棒性最好。
Levenberg-Marquardt(简称LM)算法为非线性最小二乘无约束优化的主要算法,是一种利用标准数值优化技术的快速算法,既有牛顿法的局部收敛特性,又有梯度下降算法的全局特性[12]。该算法本质是牛顿法的变形,具有二阶收敛速度,所需要的迭代次数很少,而且不需要计算Hessian矩阵。对参数数目不太大的网络模型,该方法是一种快速有效的训练算法。而BP算法实际上就是要求导信号与网络输出信号的误差平方和达到最小,因此把LM算法应用到BP算法中是一种很有效的改进途径。
设Y表示迭代训练时各层权值与阈值组成的向量,Y的调节量是ΔY。调节Y,即调节网络的权值与阈值,从而达到训练学习的目的。
设表现函数
式中ei(Y)2,i=1~I表示误差的平方,那么,
式中:E(Y)表示ei(Y),i=1~I组成的向量;J(Y)是雅克比矩阵;S(Y)是误差函数。
由于LM算法是高斯-牛顿法的改进形式,则
式中:I是单位矩阵;μ>0是常数。
当μ=0时,LM算法转化为具有近似Hessian阵的高斯-牛顿法。当μ较大时,LM算法接近小步长的梯度法。在训练过程中,μ的修改系数设为α。如果训练成功,减小μ的值;如果训练失败,增加μ的值。这样表现函数最终会减小到一定值,达到学习的目的。
LM算法的迭代过程:
1)初始化。给出训练误差允许值ξ以及常数α和μ,初始化权值和阈值,令迭代次数k=0。
2)计算网络输出及表现函数P(Y)。
3)计算雅克比矩阵J(Y)。
4)计算ΔY。
5)如果P(Y)<ξ,则转到步骤6);否则,用Y+ΔY为权值和阈值向量重新计算表现函数P(Y)。此时如果P(Y)小于步骤2)中计算出来的P(Y)值,则令 k=k+1,μ =μ/α,且 Y=Y+ΔY,转到步骤2);否则,令μ=μ·α,转到步骤4)。
6)结束。
下面以函数逼近方面的应用为例来比较标准BP神经网络算法和LMBP神经网络算法。将要逼近的非线性函数设为正弦函数y=sin(k·pi·x),其频率参数k(k=1)可以调节。网络训练分别采用标准BP算法和LM算法,仿真结果如图2~3所示。仿真结果表明:标准BP算法训练100步时未能达到精度要求,误差值要高于精度要求;而LM算法在训练2步之后就能达到精度要求。由仿真结果可以看出,在逼近效果和收敛速度方面,LM优化算法较标准的BP算法具有明显优势。这为BP神经网络应用于实时性要求高的场合(如在线检测)提供了算法基础[13]。
图2 标准BP算法函数逼近仿真与训练误差曲线
图3 LM算法函数逼近仿真与训练误差曲线
采用神经网络软测量技术,可充分利用检测过程中易于获取的测量参数。按照这些参数与被测变量之间的关系(模型),通过计算、估计及推断来确定被测变量。该方法简单易行,便于检测操作,具有很好的实用价值[14]。将LMBP神经网络应用于发动机CO排放检测与实时控制中,所建立的排放模型如图4所示。
图4 CO排放的LMBP神经网络模型
基于人工神经网络的软测量技术,只需事先了解输入、输出状态。如果事先了解这些输入、输出状态,就可以利用前述的LMBP学习算法进行大量的学习训练,再将其应用于检测或实时控制中,从而弥补测量仪器和传统建模检测的不足。根据汽车发动机排放形成机理,CO排放主要与发动机的节气门开度、发动机转速有关,从而确定采用LM算法的BP神经网络的输入层节点数为2,分别为发动机的节气门开度、发动机转速;输出层节点数为1,即汽车排放污染物中的CO含量值。
已有理论证明,3层结构的BP网络可以逼近任意的非线性映射关系,因此实际的应用以3层结构的BP网络为主[15]。网络隐含层节点数对神经网络预测的精度有较大影响,在实际问题中,通常根据参考公式来确定节点数范围,式中:l为隐含层节点数;m为输入神经层节点数;n为输出神经层节点数;a为1~10的常数。通过网络训练,选取不同的隐含层节点数来确定最佳的节点数量。
表1列出了各种隐含层节点数选择数量及相应的训练步数和训练精度误差率。
表1 隐含层节点数与网络性能
从表1可以看出:当隐含层节点数为4和12时,训练步数多,训练精度相对较小。通过比较发现,当隐含层节点数为8时,训练步数相对较少,但训练精度最高,并且隐层节点数不多,网络不复杂。实际应用中,选择隐含层节点数为8的神经网络。
采用以上建立的排放模型,结合LM-BP算法对CA6102型汽油发动机CO排放进行实际训练与检测。网络训练数据来自对汽油机的排放试验,在点火初始提前角为3°CA前提下,采集以不同发动机转速、节气门开度为参数的CO排放数值300组。首先对采集的实际排放数据进行预处理,从中选择无明显误差的275组数据进行网络训练,精度要求为1E-3。将训练好的神经网络用Matlab进行仿真,并作反归一化处理。用实际排放数值进行验证,得到建立的CO排放模型输出值与实际测量值的比较结果,如表2所示(受篇幅限制,本文只列出部分数据组),网络训练误差变化曲线如图5所示。
表2 CO排放模型的仿真值与实测值比较
从表2可以得出,通过对LM算法改进的BP神经网络学习训练后,其仿真输出值与实际测量值的误差很小,最大相对误差为2.83%,在允许误差范围之内。证明用LM算法改进的BP神经网络模型可以很好地模拟发动机排放性能,对于排放物CO含量的测量是有效和准确的。
图5 网络训练误差变化曲线
此外,LMBP神经网络还可以实现对发动机CO排放实时检测的模糊控制。模糊控制中所用的经验和规则是预先确定的,对较复杂的不确定性过程的控制精度较低。由于神经网络具有较强的泛化能力和学习能力,将模糊控制与神经网络相结合能提高控制的精度[16]。在汽车排放污染物的模糊控制中,可用由上述排放模型输出的CO值与目标CO值的计算误差和误差变化率作为模糊控制的输入,并按模糊神经网络控制方案实施控制。在控制中,只需要利用发动机转速和节气门开度即可实时反映CO的排放量。因而,该控制方法可实现CO模糊控制的实时性和准确性。
发动机排放指标受许多因素影响,传统的建模方法复杂,且不能真实地反映发动机的排放情况。应用神经网络可使模型简化,而且将神经网络用于发动机排放检测,能很好地处理其非线性问题,解决测量仪器不足和测量点无法布置等问题。采用LM算法改进的BP神经网络,训练速度快且预测精度高,将其应用于汽车尾气排放研究中可为实现汽车尾气排放实时检测与控制提供一种新方法,具有一定实用价值。
[1]宫唤春.RBF神经网络软测量技术在汽油机CO排放中的应用[J].拖拉机与农用运输车,2007,34(5):48-49.
[2]李威,贾志新,孟惠荣.基于神经网络的车辆传动系统故障数据可靠性建模[J].机械,2002,29(1):4-5.
[3]张彤,肖南峰.基于BP网络的指纹识别系统[J].重庆理工大学学报:自然科学版,2010,24(1):47-50.
[4]郭庆春,何振芳,李力,等.基于BP神经网络的我国农民收入预测模型[J].安徽农业科学,2011(20):12471-12473.
[5]张彤,肖南峰.基于BP网络的数字识别方法[J].重庆理工大学学报:自然科学版,2010,24(3):43-47.
[6]张虹冕,孙世群.基于BP神经网络的大气环境质量评价模型[J].安徽农业科学,2010(31):17656-17657.
[7]李红连.BP神经网络在车辆组合导航中的应用研究[J].压电与声光,2011(1):45-48.
[8]武文红,杜贞栋,刘现伟,等.基于BP神经网络的土壤贮水量预报模型研究[J].安徽农业科学,2010(15):8211-8212.
[9]周瑞芬,姜民政,董康兴.基于LMBP算法的油田用抽油杆悬点载荷预测[J].化工机械,2011,38(4):428-431.
[10]Hagan M T,Menbaj M.Training Feedforward Networks with the Marquardt Algorithm[J].IEEE Transactions on Neural Networks,1994,5(6):295-301.
[11]Narendra K,Parthasarathy K.Nonlinear System Identification Using Neural Network[J].Int J Control,1990,1(1):1191-1214.
[12]常炳国.基于RBF神经网络的混合气体智能检测系统研究[J].湖南大学学报:自然科学版,2009,36(7):82-84.
[13]王赟松,许洪国.快速收敛的BP神经网络算法[J].吉林大学学报:工学版,2003,33(4):79-83.
[14]杜艾永,李树珉,夏均忠,等.软测量技术在车辆排放数据处理中的应用研究[J].中国测试技术,2007,33(3):41-43.
[15]唐磊.BP网络结构确定算法的研究及仿真[D].青岛:中国石油大学,2008.
[16]李小颖,侯志祥.神经网络软测量技术在汽车发动机排放中的应用[J].交通与计算机,2002,20(3):47-48.