刘家学 尹 鹏
(中国民航大学电子信息与自动化学院 天津 300300)
随着航空运输的不断发展,航空煤油的消耗量逐年增长,民航业在能源、环境方面面临着越来越大的挑战。对民航业而言,精细化燃油管理有助于减少燃油消耗,因此设计良好的油耗模型对提高燃油利用率减少民航碳排放具有重大意义[1-2]。
飞机飞行过程主要包括爬升、巡航和下降三个阶段,这三个阶段的油耗量占整个飞行过程的90%以上,当航程越短时,下降段油耗量占比越大。许多学者在飞机油耗估计领域做了深入研究,并提出多种方法进行建模分析,如线性回归模型[3-4]、模糊逻辑控制模型[5]、支持向量回归模型[6]等。这些方法虽然不同程度地提高了估计精度,但由于飞机下降段油耗会受到气象条件和飞机性能衰减的影响,估计精度和鲁棒性并不高。为了解决以上问题,文献[7]提出了基于BP神经网络的油耗估计模型,利用神经网络良好的抗干扰和非线性映射能力,提高了估计精度和鲁棒性;文献[8]利用遗传算法对BP神经网络模型进行了优化,进一步提高了模型性能和油耗估计精度。然而飞机下降段油耗影响因素众多,非线性关系复杂,BP神经网络模型属于浅层模型,对复杂函数的表达能力有限。深度信念网络(DBN)[9]模型由多个受限玻尔兹曼机(RBM)堆叠而成,具有深层非线性网络结构,可以用来解决复杂非线性问题,但是RBM可见层的输入被限制为二值[10],当处理连续油耗输入数据时会导致信息丢失,影响模型估计精度。
针对现有方法存在的不足,本文提出了一种基于改进DBN模型的下降段油耗估计方法。通过引入高斯-伯努利受限玻尔兹曼机(GBRBM),解决受限玻尔兹曼机(RBM)在处理连续油耗输入数据时信息丢失问题;采用自适应步长(AS)减少DBN训练时间。本文利用改进DBN模型的深层非线性网络结构[11]来实现油耗影响因素与油耗之间复杂非线性函数关系的逼近。先通过多层RBM对油耗影响因素输入向量做逐层非线性变换,再利用顶层的BP网络对变换后的数据进行油耗估计,最后得到油耗估计值。文中以均方根误差、平均绝对百分比误差以及拟合优度为评价基准,判断模型的实用性。
飞机快速存储记录器(Quick Access Recorder,QAR)中记录了许多下降段油耗影响因素数据,包括飞机重量、下降距离、下降率、风速等诸多参数。各影响因素对油耗的影响程度不尽相同,以下降段油耗与下降距离关系为例,随着下降距离的增加飞机油耗不断增多,下降距离对下降段油耗影响显著,且下降距离与油耗之间呈非线性关系。
本文根据QAR数据中记录的油耗影响因素数据,逐一分析与油耗的关系,最终选取飞机总重、下降距离、下降率、风速、风向、大气总温、俯仰角、迎角、左发转速、右发转速等10个参数作为油耗估计模型输入。各参数与油耗呈非线性关系且相比之前方法模型参数增多导致模型更加复杂,本文利用改进的深度信念网络(GBRBM-DBN)模型解决这些问题。
Hinton等在2006年提出深度学习的概念。深度信念网络(DBN)是深度学习中常用的一种网络模型,它是基于能量概率分布的模型,由多个RBM模型堆叠而成,上一层(低层)RBM的隐藏层(输出层)作为下一层(高层)RBM的可见层(输入层),每一层训练后的输出都是对输入的非线性变换。GBRBM-DBN油耗估计模型利用高斯-伯努利受限玻尔兹曼机(GBRBM)替代第一层RBM,处理连续的油耗输入数据。
受限玻尔兹曼机(RBM)是一个两层的无向图模型,包含一个可见层V和一个隐藏层H,如图1所示。可见层和隐藏层的神经元在层内无连接,层间全连接。可见层用于接收输入数据,隐藏层对可见层进行重构。
图1 RBM结构
假设所有的可见层单元v和隐藏层单元h均为二值分布,即∀i,j,vi∈{0,1},hj∈{0,1}。对于给定的一组状态(v,h),RBM的能量函数为:
式中:n为可见层单元数目;m为隐藏层的单元数目;θ={wij,ai,bj}是RBM的参数;wij是隐藏层单元与可见层单元之间的连接权重;ai和bj分别表示可见层和隐藏层单元的偏置。根据能量函数,可以得出这组状态(v,h)的联合概率分布为:
式中:Zθ为归一化因子。在给定可见层单元v或隐藏层h的基础上,计算出RBM隐藏层单元h和可见层单元v的条件概率分布分别为:
式中:
当给定一组训练样本集合S={v1,v2,…,vn}时,其目标就是最大化如下似然函数:
式中:N为训练样本数量。
高斯-伯努利受限玻尔兹曼机(GBRBM)[13]引入高斯函数,使得输入向量不再局限于必须符合伯努利分布(二值分布),解决了RBM处理连续输入向量时信息丢失问题。类比RBM,GBRBM的能量函数改为:
(8)
式中:σ是高斯函数的标准差;vi表示可见层的第i个实值输入向量,即第i个油耗影响因素输入向量;hj仍为二值,即hj∈{0,1};m为可见层单元数目,即油耗影响因素输入向量个数;n为隐藏层的单元数目。根据能量函数,得到GBRBM可见层单元和隐藏层单元的条件概率分别为:
(10)
文中N(μ,σi)为具有均值μ和标准差σ的高斯函数。GBRBM的训练过程与RBM一样,均采用无监督训练机制进行训练。
本文提出的GBRBM-DBN油耗估计模型,根据潘广源等[14]提出的基于重构误差的DBN网络深度确定方法,确定隐藏层层数为3。因此GBRBM-DBN油耗估计模型包含一个GBRBM、两个RBM,并在顶层连接一个BP神经网络,GBRBM的可见层接收油耗影响因素输入向量,其隐藏层作为第一个RBM的可见层。同样,第一个RBM的隐藏层作为第二个RBM的可见层,经过逐层非线性变换后,再通过BP网络进行油耗估计。建立的GBRBM-DBN油耗估计模型架构如图2所示。
图2 GBRBM-DBN油耗估计模型架构
GBRBM-DBN油耗估计模型利用K步对比散度(CD-K)算法分别对GBRBM和RBM进行预训练[15],参数θ更新公式如下:
(12)
式中:η表示步长;〈·〉P表示概率分布P的期望。但在实际情况下联合概率分布Pθ(v,h)的期望很难求出,因此利用CD算法中的K步Gibbs采样方法得到其近似值。
由于在CD算法中每个RBM均需要进行多次迭代,且每次迭代后的参数更新方向不尽相同,所以需要选择适当的步长η。如果选择的η较大,容易引起振荡;如果η较小,则会导致收敛速度缓慢。为解决这个问题,提出了一种自适应步长(AS)的方法[16]。
式中:α>1表示η的增加系数;β<1表示η的减小系数,且0<β<α。如果两次连续的参数更新方向相同,则η增加;如果方向相反,则η减小,从而避免了步长选择不当造成的问题,并提高了CD-K算法的收敛速度。
本文利用GBRBM-DBN模型进行油耗估计,模型输入是下降段油耗影响因素,设第i个油耗影响因素输入向量为Xi=[xi1,xi2,…,xij],其中xij为第i个影响因素的第j个输入样本值,模型输出是下降段油耗估计值Y。对输入数据进行归一化转化为相同量纲,归一化公式如下:
在GBRBM-DBN模型中,将归一化的油耗数据赋值给GBRBM的可见层单元,通过GBRBM和RBM对输入向量X进行非线性变换,重构到另外一个向量空间Z,即H(X)→Z。然后给定一组向量空间Z与目标油耗Y的配对组合{(Z1,Y1),(Z2,Y2),…, (Zn,Yn)}来学习BP网络模型Yn+1=G(Z),通过最小化目标损失函数L,得到估计模型的适合参数W:
LW=‖Y-G(Z)‖2
(15)
GBRBM-DBN油耗估计模型的训练分为预训练和反向微调两部分,过程如下:
(1) 预训练阶段。用CD-K算法分别对GBRBM和RBM进行无监督预训练,K一般取值为1;在预训练过程中,采用自适应步长(AS)方法更新步长η;更新参数θ,这里θ={wij,ai,bj}。
(2) 反向微调阶段。在模型顶层利用BP算法进行自上而下的参数微调[17]。由于模型在预训练阶段已经得到模型参数,在利用BP算法参数微调时只需要对已知参数空间进行局部搜索即可[18]。具体的GBRBM-DBN油耗估计算法流程如图3所示。
图3 算法流程
在GBRBM-DBN油耗估计模型训练完成后,给定一组油耗影响因素输入数据,便可以得到对应的油耗估计值。
本文实验数据来源于某航空公司同一航线和机型的下降段QAR数据,选取飞机总重、下降距离、下降率、风速、风向、大气总温、俯仰角、迎角、左发转速、右发转速等10个参数作为油耗估计模型输入,以油耗值作为输出。总共获得8 000多组下降段数据,以80%数据作为训练样本,20%数据作为测试样本。
文中选取10个油耗影响因素作为模型输入,因此GBRBM的可见层节点数为10,隐藏层节点数为8,两个RBM的隐藏层节点数逐层递减,分别为6和4,BP神经网络的节点数为3。经过多次实验发现,当迭代次数大于2 000后,均方误差的值不再发生变化,因此设定迭代次数为2 000。
对于GBRBM-DBN油耗估计模型,本文以均方根误差(RMSE)、平均绝对百分比误差(MAPE)以及拟合优度值(R)作为评价体系,这三种指标的定义分别为:
(16)
(18)
3.3.1实验结果
实验程序编码在MATLAB 2009a平台上完成,计算机处理器为Intel-I7,内存为8 GB。将选取出的油耗影响因素实验数据X归一化后输入到GBRBM-DBN油耗估计模型中,通过GBRBM和RBM进行非线性变换得到Z=H(X),再利用顶层连接的BP神经网络对变换后的数据进行油耗估计得到油耗估计值Y=G(Z)。仿真实验结果如图4和图5所示。
图4 油耗估计值和实际值
图5 相对误差
图4为部分样本的油耗估计值和实际值的对比结果,图5为油耗估计值和实际值的相对误差。GBRBM-DBN模型各评价指标值如下:均方根误差为58.74,平均绝对百分比误差为2.67%,拟合优度为0.972 3。
根据图4和图5以及评价指标值可以看出,GBRBM-DBN估计模型的油耗估计值与实际值偏差较小,考虑到下降段油耗还会受到天气状况和航路拥堵等其他因素的影响,所以允许误差存在,本文提出的油耗估计模型在误差允许范围内具有可行性。
3.3.2不同步长时间复杂度比较
在不同步长时间复杂度的对比实验中,用自适应步长与三种不同的固定步长(η=0.1,η=0.5,η=0.9)进行比较。对于自适应步长来说,初始步长设置为0.1,增加系数α和减小系数β的值分别为1.2和0.6。表1为自适应步长与三种固定步长的时间复杂度对比。可以看出,自适应步长优于固定步长。
表1 不同步长时间复杂度对比
3.3.3不同模型油耗估计结果比较
文中分别对BP神经网络模型、RBM-DBN模型以及本文提出的GBRBM-DBN模型的油耗估计结果进行了比较。由式(16)-式(18)分别计算得出这三种模型油耗估计结果的MSE、MAPE和拟合优度R,计算结果如表2所示。
表2 不同模型结果对比
由表2可以看出,GBRBM-DBN模型的非线性拟合能力要优于BP神经网络模型和RBM-DBN模型,估计精度也有小幅度提高;GBRBM-DBN模型在飞机下降段油耗估计方面有较大优势。
为准确估计飞机燃油消耗量,本文针对飞机下降阶段提出了一种基于改进DBN模型的油耗估计方法。通过实验验证了在引入GBRBM后,改进DBN油耗估计模型的非线性拟合能力和估计精度均有小幅度提高;在CD-K训练算法中加入自适应步长(AS)加快了收敛速度,降低了时间复杂度。分析改进DBN油耗估计模型的评价指标值,考虑实际误差存在的原因,可以得出,本文提出的方法是一种有效的飞机下降段油耗估计方法,可为其他飞行阶段的油耗估计提供一定的参考。