苏卉 任焕焕
(中国汽车技术研究中心)
为应对日益严苛的油耗标准法规,整车企业在产品规划层面对油耗越来越重视,企业平均燃料消耗量是否达标是企业产品规划的重要考虑因素,因此对单车车型油耗的模拟也就更为重要。单车油耗试验需耗费较大人力物力,基于对影响单车油耗的相关因素分析,从数理统计分析角度建立单车油耗预测模型,对单车油耗水平进行预测是十分必要的。而影响油耗的因素很多,属于非线性问题,鉴于神经网络在处理非线性问题所具有的独特优势,文章将基于神经网络对单车油耗进行预测。
汽车油耗的高低是汽车内在因素和外界环境综合作用的结果。排除道路条件及驾驶员习惯等外界因素,从车辆自身的性能角度出发,影响乘用车燃料消耗量的因素主要有车辆基本参数、发动机性能、传动效率及节能技术的应用4个方面[1]。
以“树形结构”为构建指标体系的基本模型,采用层层递进的方法,将指标体系的构建分为目标层、控制层和指标层。具体指标体系的树形结构,如表1所示。
表1 乘用车燃料消耗量影响因素评价指标体系
在人工神经网络领域中,具有误差反向传播学习功能的BP神经网络结构比较简单,只包括输入层、隐含层和输出层3种网络层次,其中每一层都是由简单的神经元组成。它可以基于过去已有的实例样本进行自学习,使BP神经网络的实际输出与期望输出之间的误差达到最小,通过在网络训练学习过程中不间断地调整各层神经元之间的连接权值和各层神经元的阈值这一方法,最终达到学习BP神经网络输入数据和输出数据背后所隐藏的规律的目的[2]。BP算法的具体算法步骤如下。
1)为每个隐含层连接权值(wij)、输出层连接权值(vjt)及其相应阈值(θj,γt)分配一个随机的初始值,初始值的区间范围为(-1,1)。
式中:p——隐含层节点数。
4) 使用 bj,vjt,γt分别计算出输出层的每一个神经元的输入(Lt),再将Lt输入到输出层的传递函数,进而计算出输出层的每一个神经元的输出(Ct)。
式中:q——输出层节点数。
5)使用BP神经网络预先设定好的输出数据Yk=和 Ct,计算出输出层的每一个神经元的一般化误差
其中,t=1,2,…,q;j=1,2,…,p;a∈(0,1)。
式中:N——第N个神经元。
其中,i=1,2,…,n;j=1,2,…,p;β∈(0,1)。
9)再选取BP神经网络的下一组输入和输出数据,从步骤3)开始继续对BP神经网络进行训练,直到所有的输入和输出数据都训练完毕。
10)重新选取一些新的输入和输出数据,从步骤3)开始使用BP神经网络进行测试。如果BP神经网络中的误差比预先设定的误差值小,则完成BP神经网络的训练任务;否则,BP神经网络仍未收敛,则继续训练。BP神经网络算法流程,如图1所示。
在可以调整BP神经网络的隐含层神经元数的情况下,一个3层的BP神经网络就足可以任意逼近任何非线性连续函数。因此,对于乘用车燃料消耗量预测的应用,文章建立的BP神经网络预测模型的拓扑结构由输入层、隐含层和输出层三部分构成。
3.1.1 网络结构设计
1)输入层设计。输入层的节点数与网络的输入神经元个数相同,文章选取了影响乘用车平均燃料消耗量的19个技术指标作为BP神经网络的输入,因此网络输入层的节点数为19。其中整车整备质量、驱动形式、轮胎宽度、轮辋直径、风阻系数、迎风面积、轴距及前后轮距为绝对值变量;变速器形式、气缸数、转向助力、是否有怠速启停,VVT,VVL,EGR,供油方式及进气方式为区分其差别而设定的虚拟变量。
2)隐含层设计。隐含层节点数的选择是一个十分复杂的问题,通常是由经验和多次试验来得出比较合适的数值。增加隐含层神经元的数目虽然可以降低预测误差并且能够进一步提高BP神经网络的非线性映射能力,但如果隐含层神经元的数目太多或者超过了一定的值,不仅会使BP神经网络更加复杂化、网络性能下降,也会导致训练效果不佳、训练学习的时间变得冗长以及误差不一定最小,则可能设计出不合适的神经网络。因此,要根据应用问题的具体情况来选择最佳的隐含层单元数,文章通过多次试验最终得出神经元数目的最优值为12。
3)输出层设计。输出层的节点数是基于解决具体的问题要设计的节点数目。基于BP神经网络的乘用车燃料消耗量预测模型的实际输出为油耗值,因此,文章预测模型的输出层单元数为1。
综上,文章建立了一个19-12-1的3层BP神经网络预测模型。
3.1.2 网络参数设计
由于BP神经网络所要解决的问题往往是非线性的,因此初始值的选取对于BP神经网络能否达到收敛的结果以及学习训练的误差能否满足要求有着直接的影响[3]。初始值的连接权值和阈值一般取随机数,文章BP神经网络模型的初始连接权值和阈值是通过Rand函数产生的。
由于不同的训练学习算法对BP神经网络的性能能够产生很大的影响,因此综合考虑BP神经网络的性能要求、设计原则及各种学习算法的特点来选择参数。文章选择Tansig函数作为BP神经网络隐含层神经元的传递函数;选择Purelin直线型对数函数作为BP神经网络输出层神经元的传递函数;训练函数采用L-M优化算法trainlm。
通过神经网络模型对乘用车企业平均燃料消耗量进行预测的拟合图,如图2所示。从图2中可以看出,18组数据的拟合效果比较好,真实值和预测值较为接近,其稳定性也比较高,神经网络模拟乘用车燃料消耗量的效果较好[4]。
为了进一步检验模型的准确率,运用相对误差率来描述模型的预测精度,相对误差率越小,模型精度越高。样本的相对误差率,如表2所示,最大相对误差率为3.06%,模拟效果较好,文章建立的BP神经网络模型能够用于乘用车平均燃料消耗量的预测。
表2 BP神经网络模型预测结果的相对误差
文章分析了乘用车平均燃料消耗量的主要影响因素,并通过不断调试和验证,最终构建了基于BP神经网络的乘用车燃料消耗量预测模型,网络模型的预测效果较好,最大相对误差率为3.06%。基于BP神经网络的乘用车燃料消耗量预测模型具有结构简单、快速收敛及精度较高的优点,为单车油耗的预测提供了一种新的思路[5]。