曾浩然, 冯蕴雯, 路 成, 潘维煌
(西北工业大学航空学院, 陕西 西安 710072)
目前,全球民用飞机领域储存了大约600亿美元的航材,约占航空公司库存资金的70%[1]。现代航空业库存管理落后于欧美国家,存在紧急缺货和库存长时间积压问题,这直接造成飞机停场和资金积压浪费问题,导致航空公司运营成本常年居高不下[2],由此凸显航材精确化保障在降低库存管理成本、优化资金分配、提高飞行安全等方面的重要作用。而航材消耗预测准确性是实现精确化保障的基础。
随着计算机性能跨越式提升和计算机科学的快速发展,机器学习预测技术逐渐表现出相较前两种预测方法在高维数据分析与挖掘方面的优势,越来越多的学者对比展开相关研究与应用。支持向量机和神经网络作为典型的机器学习方法在预测问题上已取得了大量研究成果。文献[3]利用粗糙集理论在处理不完备信息系统问题上的优势,剔除了冗余的航材消耗影响因素,建立融合了粒子群优化算法的支持向量机航材消耗预测模型。文献[4]利用灰色关联度分析影响因素并引入活性因子和非线性惯性的改进粒子群算法,用以优化支持向量机,实现航材消耗预测。文献[5]利用Adam优化神经网络模型并输入与航材消耗量相关的9个影响因素(共22组原始数据)训练模型,取得了较好的预测精度。文献[6]针对航材消耗数据样本量较少的问题提出使用B样条拟合数据以增加样本数,再根据航材消耗特点建立基于反向传播(back propagation, BP)神经网络的备件消耗模型,并验证了模型的可行性。文献[7]利用灰色系统模型的特点优化神经网络模型,提高了神经网络的鲁棒性和学习性能。飞机备件非计划拆换数据是一种典型的时间序列数据,上述研究主要集中在建立消耗量与其影响因素的关系模型,未能充分挖掘时间序列数据在时间维度的潜在相关性。循环神经网络(recurrent neural network, RNN)理论的不断发展以及生成对抗网络(gene-rative adversarial network, GAN)[8]的提出,为深入挖掘数据时间维度的相关性信息提供了理论基础。GAN由两个神经网络模型交替训练并且不断博弈,从而实现生成十分逼近真实样本的数据,同时也可应用于数据回归预测,已在各个领域得到广泛应用,如图像超分辨率重建、医疗数据生成[9]、金融序列预测、信息安全、异常检测[10]等。一些GAN衍生模型中也包含了学习时间序列潜在信息的结构:连续RNN-GAN(continuous RNN-GAN, C-RNN-GAN)的生成器与判别器的构建使用了长短时记忆(long short-term memory, LSTM)网络进行,以提高模型对时间序列数据的泛化能力[11]。循环条件GAN(recurrent conditional GAN, RCGAN)同样采用类似的思想以增加潜在逐步依赖分布的学习能力[12-13]。
本文在以上研究的基础上,从挖掘航材消耗数据潜在时间相关性的角度出发,以提高航材消耗量预测精度为目标,将时序数据特征分为静态特征与时态特征,提出一种基于改进时间序列GAN(Time-sequence GAN)的生成模型和RNN预测模型的航材消耗预测方法。本文充分考虑了航材消耗特点,生成模型用实际消耗时序数据集进行监督训练以学习时间依赖关系,再使用合成消耗时序数据集和实际消耗时序数据集进行无监督训练,以学习时序数据整体分布,引入了联合训练损失,使该方法能够协调无监督训练和有监督训练,能更好地捕捉数据中的逐步依赖条件分布[14],提高模型生成接近真实数据的能力,从而提高了RNN预测模型的预测准确度。本文主要阐述基于改进时间序列生成网络的消耗数据生成模型方面的研究,通过算例分析对所提出的方法进行了有效性验证。
飞机机队航材消耗数据通常由飞机使用方进行统计,通常包括机队飞行数据、维修数据。飞行数据包含各架飞机的空中飞行时间、累计飞行小时数、累计飞行循环等。维修数据包括部件拆换时间、拆换地点、故障描述、处理措施等,各项数据均为典型的时间序列数据,且部件拆换与该部件可靠性设计指标和累计使用时间密切相关。某一部件消耗影响因素主要包含两个维度。
(1) 机队飞机运行架数。飞机运行架数主要受飞机计划停产和定期检查影响,其数值不随时间波动、较为稳定,故可将机队运行架数划分为航材消耗数据的静态特征和时态特征。静态特征和时态特征共同包含了影响航材消耗量的主要信息。
(2) 飞行小时和飞行循环。机队飞行小时、飞行循环随时间的波动变化具有季节性、周期性等特点,故将飞行小时、飞行循环划分为航材消耗数据的时变特征。时变特征中包含了影响航材消耗量的周期性、累计性信息,这些信息是静态特征不具备的。
本文以航材消耗数据的静态特征和时变特征为出发点,分别挖掘消耗总体分布与时间逐步依赖分布,航材消耗静态特征和时态特征如图1所示。
将Time-sequence GAN模型的学习目标分解为整体分布学习目标与时态逐步依赖分布学习目标[15]。
整体分布学习目标为:
(1)
逐步依赖分布学习目标:
(2)
Time-sequence GAN模型由嵌入网络、恢复网络、时间序列生成网络和时间序列判别网络构成。将自编码网络(前两个)与GAN(后两个)进行联合训练,使得模型实现整体分布、逐步条件学习、静态时态特征生成以及交替训练[16]。其模型结构和各部分功能及联系如图2所示。
图2 模型架构、各部分功能和联系Fig.2 Model architecture, functions and connections of each part
嵌入网络和恢复网络的作用,一是对航材消耗数据特征降维,形成低维潜在空间;二是获得特征和隐含空间之间的映射关系;三是在低维特征空间中学习消耗数据集的潜在逐步依赖分布[17]。本文分别使用RNN和带有前馈输出层的双向RNN[18]构建嵌入网络和恢复网络。
HJ,HS表示J,S对应的隐含向量空间,嵌入函数e:J×∏tS将静态特征和时态特征变换为隐含空间编码hJ,h1:T=e(J,S1:T),eJ:J→HJ和eS:HJ→HJ×HS×S→HJ分别为静态特征嵌入函数和时态特征嵌入函数。
(3)
(4)
嵌入网络和恢复网络的训练目标是从隐含空间编码hS,h1:T中更加精确地重建原始数据J,S1:T。嵌入网络和恢复网络的目标函数定义为重建损失:
(5)
生成网络生成无限接近真实数据整体分布和逐步依赖分布的合成数据,而判别网络则努力区分其输入是否是真实数据。生成网络和判别网络分别通过RNN和带有前馈输出层的双向循环网络实现。
ZJ,ZS表示高斯分布的向量空间,从ZJ和ZS中随机取一个静态特征向量和时态特征向量,输入生成函数g:ZJ×tZS→HJ×tHS后生成潜在空间编码gJ:ZJ→HJ是静态特征生成网络,gS:HJ→HJ×HS×ZS→HS为时态特征生成网络。
(6)
判别函数d:HJ×tHS→[0,1]×t[0,1]输入潜在空间静时态编码,输出分类结果和分别表示前向和后向隐藏状态序列,为循环函数,dJ,dS为输出层分类函数。
(7)
判别网络,则最大化判别输入数据是否真实的准确性[19]:
(8)
(9)
图3描述了模型训练的机制。训练过程采用Adam优化器更新网络参数[21],学习率取0.000 1,训练次数为5 000,取λ=1,η=10。
图3 Time-sequence GAN联合训练流程Fig.3 Time-sequence GAN joint training process
Time-sequence GAN模型主要由门控循环单元(gated recurrent units, GRU)[22]构成,GRU单元相比LSTM单元简化了网络参数量,提高了网络训练速度[23],其模型结构详细设置如表1和表2所示。
表1 嵌入网络、恢复网络、生成网络结构Table 1 Structures of embedding networks, recovering networks and generating network
表2 判别网络结构Table 2 Discriminating network structure
基于改进Time-sequence GAN的航材消耗预测实现流程如图4所示,具体步骤如下。
图4 基于改进Time-sequence GAN的航材消耗预测实现流程Fig.4 Implementation process of spare parts consumption forecast based on improved Time-sequence GAN
步骤 1收集整理航材历史消耗数、飞行小时数、飞行循环,使用位移采样划分出训练样本,对训练样本进行归一化处理;
步骤 2设置网络超参数,将训练样本输入模型进行训练;
步骤 3模型输出航材消耗预测数据;
步骤 4采用评估指标对预测结果进行评价分析。
无监督训练模型测试常因生成数据没有对应的真实标签而难以用常规指标评价模型性能。本文使用TSTR(train on synthetic, test on real)思想建立定量评价方法,辅以可视化降维t-SNE(t-distributed stochasitc neighbor embedding)方法作为定性分析方法,综合评估Time-sequence GAN模型,解决民机航材消耗预测的时间顺序数据预测问题的性能。
(1) t-SNE
t-SNE是一种可视化非线性降维方法,在二维或三维的低维空间中表示高维数据集,主要用于验证无监督学习算法的有效性以及实现可视化[24]。
(2) 预测分数
使用TSTR评价方法,向几种不同模型输入同一训练样本,分别得到几组生成数据,然后将各组生成数据分别训练一个同架构同初始参数的RNN,再分别向各个训练后的RNN输入真实样本预测下一时间步长的值,计算得到几组预测值绝对误差的均值和方差,共同作为表征模型学习航材消耗数据整体分布和逐步依赖分布能力的评分,评分用μ±σ表示。
绝对误差:
(10)
绝对误差均值:
(11)
绝对误差方差:
(12)
(1) 划分训练样本
某型国产民机机队维修数据包含2016年1月至2020年10月期间机队飞机架数、月飞行小时数、月飞行循环数和主起机轮月拆换次数共58期数据,部分数据展示如表3所示。
表3 前起机轮消耗数据Table 3 Front landing gear wheels consumption data
为使嵌入网络恢复网络学习逐步依赖条件分布,采用位移采样法将维修数据划分训练样本。以表3展示数据为例,各样本设置12时间步长,单次位移量为1,以2018.07期数据为位移采样起始点,经过3次位移采样处理得到4组训练样本,分别对应图5中黄、绿、蓝和紫框数据。
图5 位移采样法示意图Fig.5 Diagram of displacement sampling method
(2) 数据归一化
将航材消耗训练样本进行最大、最小归一化处理,将训练样本数值转化为[0,1]范围内的无量纲值。
(13)
(1) t-SNE
图6中,蓝点和红点分别表示模型训练某型国产民机前起机轮消耗样本后生成数据的二维空间映射数据和真实数据。通过图6可知,模型的红点集与蓝点集有大量重合,表明模型生成数据的分布与真实分布非常接近,具有一定适用性。
图6 Time-sequence GAN模型t-SNE分析结果Fig.6 Results of t-SNE analysis of Time-sequence GAN model
(2) 预测分数
本文选用原理类似的RCGAN[25]模型和C-RNN-GAN模型作为对比对象。向Time-sequence GAN、RCGAN和C-RNN-GAN模型输入某型国产民机前起机轮训练样本,分别得到3组生成数据,用3组生成数据分别训练3个双层LSTM构成的RNN预测模型,分别向预测输入真实样本预测下一时间步长的值,计算得到3组预测值绝对误差的均值和方差,如表4所示,加粗项表示性能最好。
表4 不同模型预测分数Table 4 Forecast scores of different models
通过表4可知,与C-RNN-GAN以及RCGAN相比,Time-sequence GAN模型在预测上都有着更好的分数,平均绝对误差降低了3%,模型学习数据整体分布和潜在逐步依赖分布的能力相比其他模型均有所提高,符合定性分析t-SNE的结果,表明Time-sequence GAN模型在航材消耗时间序列数据潜在信息利用方面有更高的效率。同时,该实验验证了该模型在时间序列预测问题,特别是航材消耗预测问题上有更好的精度。
本文从时间序列预测的角度对航材消耗预测问题进行了建模,针对航材消耗预测问题影响因素多,常用模型难以捕捉航材消耗数据在时间顺序上逐步依赖关系等问题,提出基于改进Time-sequence GAN模型,用于民用飞机航材消耗预测,主要特点如下:
(1) 融合了自回归模型有监督训练与对抗学习无监督训练的灵活性。
(2) 基于TSTR验证思想,以RCGAN和C-RNN-GAN为对比对象,分别从定性与定量的角度对Time-sequence GAN模型解决航材消耗预测问题的性能进行评价。
(3) 在某型国产民机机队的前起机轮历史消耗数据集上进行实验验证,Time-sequence GAN模型生成数据集分布与真实数据集分布较为接近,预测性能评估分数相较RCGAN和C-RNN-GAN的平均绝对误差降低了3%,表明其有着更好的预测精度。
本文通过实验验证了Time-sequence GAN模型解决航材消耗预测问题的有效性,可为民用飞机航材精确化保障工作提供理论支撑,以达到降低库存管理成本、优化资金分配、提高飞行安全的目的。