基于注意力机制的CNN-LSTM模型的航迹预测

2023-12-27 07:18周志崇曹明松胡延达
空军工程大学学报 2023年6期
关键词:航空器航迹注意力

王 堃,周志崇,曲 凯,曹明松,胡延达

(1.93886部队,乌鲁木齐,830001;2.空军工程大学空管领航学院,西安,710051;3.陕西师范大学计算机科学学院,西安,710119)

空中交通管理(air traffic management,ATM)的一项重要职能是对航空器在空中飞行时的航路、高度、速度、起降等行为进行指导和控制,确保航空器在空中飞行过程中的安全和有序。其目标是对航空器进行安全有效的管理并致力于在空域管理系统中提供最优的空域容量[1]。完成上述目标要求管制员对航空器进行排序和分离,管制员通常使用决策支持系统(decision support systems,DST)监视每架航空器的状态,并解决飞行冲突[2]。为了确保空域航空器密度在安全范围内,管制员使用DST从其他监视系统中获得的未来空中交通流量信息执行流量管理决策,这些监视系统功能的核心是轨迹预测。轨迹预测是在给定航空器状态和环境信息的前提下,预测航空器未来的位置。不准确的轨迹预测会对ATM和DST的性能产生负面影响,例如,会降低管制员扇区内最大航空器容量,增加冲突的数量和系统负担,增加因躲避其他航空器而导致的燃料消耗,更多燃料消耗会导致环境污染。因此,轨迹预测效果对DST的性能表现尤为重要。目前,ATM正朝着基于轨迹的运行模式(trajectory-based operations,TBO)发展[3]。

由于空中交通量的不断增大及航空资源的日益短缺,ATM系统在航空交通管理中面临巨大压力[4]。尽管之前的轨迹预测精度已经能够在一定程度上应对空中交通环境,但是面临日益拥堵的空域,还需要提高轨迹预测的精度以应对复杂的空中交通状况。利用详细的数据并使用先进的方法才能让ATM系统自动化、智能化地做出决策,进而打造出安全、有序和高效的空中交通环境[5]。

伴随深度学习的不断发展,其在自动驾驶[6]、机器人控制[7]、视频监控[8]等领域具有广泛的应用,并且表现优异。深度学习同样可以用于轨迹预测,其中包括预测物体、人或车辆等在未来几秒或几分钟内的运动轨迹[9-11]。使用深度学习进行轨迹预测的好处在于不仅可以从大量历史数据中学习轨迹的运动规律和特征,提高预测的准确度,而且可以更好地应对复杂场景。

随着人工智能和大数据研究的不断发展,机器学习的方法逐渐成为航迹预测不可或缺的方法。该方法的优点在于只需要对过去的航迹进行处理,更多地依赖于航迹的相似性,可以将输入与输出的维度进行重构[12]。

机器学习方法初期使用回归模型进行航迹预测。文献[13]针对航空器中短期的轨迹预测问题,提出一种新方法。该方法基于局部线性泛函回归,其中涉及局部化、数据预处理和利用小波分解求线性回归。此方法不使用任何航空和物理参数,只使用了过去航空器的轨迹。文献[14]提出利用航空器航线数据和气象数据,对航空器进行排序和合并的轨迹预测方法。该方法使用历史航迹信息训练模型以达到预测飞行时间的目的。模型的输入分别为航空器的地面速度、航空器的类型、航空器到达航信起点处的高度、高空风、地面风。该模型用于检查冲突和跑道吞量,并且可以通过该模型对连续下降航空器之间的初始距离间隔进行判断。

上述回归模型也存在问题,即每次建立飞行模型都需要使用大量的航迹数据。随着循环神经网络在序列预测上的优势逐渐显现,长短期记忆网络(long-short-term memory,LSTM)作为循环神经网络的变体,其在处理时序问题上有着优异的表现,因此经常被应用于时序预测问题中。航迹预测方面,也逐渐采用该网络进行轨迹预测[15]。文献[16]通过LSTM网络模型对航空器的轨迹进行预测。LSTM通过门结构使得当前预测任务中包含过去序列的信息。LSTM中使用滑动窗口保持了长序列中相邻状态的连续,有利于航迹预测精度的提高。该方法分别对三维航迹和四维航迹分别实验,其性能表现优于马尔科夫模型和加权马尔科夫模型。文献[17]将蚁狮优化算法与LSTM网络相结合,利用蚁狮优化算法的优点对LSTM网络的阈值和初始权值进行优化,提高了预测结果的精度和模型的收敛速度,有效避免了算法陷入局部最优解,提高了LSTM的性能。通过与BP神经网络和LSTM神经网络的对照实验表明,算法的航迹预测能力更强。文献[18]提出了基于“当前”统计模型的机动目标模糊自适应滤波算法(fuzzy adaptive CSAF,FACSAF),该算法既不存在突变问题,也没有加速度区间限制。仿真结果表明,在预测精度方面效果较好。文献[19]利用不同的深度学习模型,对飞行器航迹从不同角度进行预测。一方面,通过深度前馈神经网络(deep neural networks,DNN)对实际航迹与目标航迹之间经纬度之间的偏差进行预测。另一方面,通过LSTM对未来几个时刻的飞行轨迹做长期预测。DNN模型对单步范围的预测结果更加准确,LSTM虽然预测的精度不如DNN,但是却可以实现多步预测,通过2个模型的结合,使得算法在航迹预测及飞行安全方面具有更好的效果。此外,模型的不确定性采用贝叶斯方法进行表征。

由于机器学习方法在航迹预测方面表现优异,本文也将在下面的章节中采用机器学习方法对航空器轨迹进行实时预测。

1 基于注意力机制的CNN-LSTM模型

4D(航班的三维空间位置和时间)航迹预测是指在空中交通控制系统中,通过对航空器航迹进行预测和规划,使得不同航班的飞机能够在同一时空上安全地交错飞行。

卷积神经网络(convolutional neural networks,CNN)与LSTM相结合的网络模型在4D航迹预测任务中表现优异,但是该模型的泛化能力较差,无法关注航迹数据中最重要的部分,容易受不相关信息的影响;该模型的鲁棒性不强,容易受到航迹数据中噪声和变化的影响。

受文献[20]的启发,本文提出了基于注意力(Attention)机制的CNN-LSTM模型,即CNN-LSTM-Attention,与文献[20]提出的模型重名。本模型受到了其将Attention机制结合到LSTM想法的启发,因此采用相同的命名。该模型首先使用一维卷积对航迹数据的多维度特征进行提取,从而减少输入特征的数量。然后利用卷积层获取的多维度时序数据作为LSTM的输入,通过LSTM提取上下文的信息。最后借用注意力机制的基本思想,即帮助学习网络权重分布[21],为不同时序节点的输出赋予权重,以聚焦关键航迹信息,达到提高预测模型泛化能力和鲁棒性的效果。下面将对模型的整体架构和超参数设定进行介绍。

1.1 模型整体框架

基于注意力机制的CNN-LSTM模型是由CNN网络、LSTM网络和注意力机制组合而成的,如图1所示。输入层是通过构造数据样本,将时序数据构造成矩阵格式,输入CNN网络中;CNN层中使用卷积操作对输入的数据进行降维和特征提取。LSTM层将提取到的特征以时序数据的形式输入LSTM网络;注意力层对 LSTM网络隐藏层输出使用注意力机制进行加权平均计算;输出层是通过全连接层输出最终的预测轨迹。

图1 基于注意力机制的CNN-LSTM网络结构

1.2 模型的输入与输出

本模型使用航迹数据作为模型的输入。某一时刻t的位置以时间(t)、横轴坐标(x)、纵轴坐标(y)、竖轴坐标(z)、正北风速(windy)和正东风速(windx)这6个特征进行表示。t时刻航空器状态表示Xt,如式(1)所示。模型的输出是未来时刻的时间(t)、横轴坐标(x)、纵轴坐标(y)和竖轴(z)作为模型的输出。t+1时刻,模型的输出Yt+1,表示为式(2)。将6个连续时刻的航迹特征数据X(t-5),…,X(t-1),X(t)作为模型的输入,将t+1时刻的航空器位置及时间Y(t+1)作为模型的输出,如式(3)所示。

X(t)={t,x,y,z,windx,windy}

(1)

Y(t+1)={t,x,y,z}

(2)

Y(t+1)=f({X(t-5),…,X(t-1),X(t)})

(3)

1.3 模型的训练流程

CNN层通过一维卷积对航迹进行降维和特征提取。具体过程如下:首先是卷积操作,由于模型采用的一维卷积,卷积核将按照单一的方向进行卷积。然后,使用ReLU函数进行激活。最后经过最大池化将所得向量输入多层LSTM中。本文设计的模型共有3层LSTM,并在每层LSTM后都设置了dropout避免过拟合。dropout是一种常用的正则化技术,可以用于减少过拟合现象,提高模型的泛化能力。上一层LSTM输出的隐藏状态作为下一层LSTM的输入,以此类推,最后一层输出的隐藏状态将会传递给注意力层进行加权计算。注意力机制可以提高重要时刻航迹点对最终结果的影响,提升模型预测的精度。将多层LSTM中最后一层的隐藏状态Hi作为注意力层的输入,对输入向量做加权求和。使用一个全连接层进行训练,设置激活函数为tanh,得到隐藏状态的分数为Si,如式(4)所示。全连接层的输出Si使用softmax函数进行归一化,得到隐藏状态的权重αi,αi代表每一个时间步对预测结果的重要性,计算公式如式(5)所示。注意力训练过程表示如下:利用得到的权重与隐藏状态向量进行加权求和得到最终的输出Ci,如式(6)所示。

Si=tanh(WHi+bi)

(4)

αi=softmax(Si)

(5)

(6)

2 数据预处理

本节将介绍4D航迹预测的数据集构造工作。首先,对航空轨迹数据进行介绍和数据预处理,数据预处理包括去除重复点、去除离机场过远的点和建立三维坐标系表示航空器的位置、补齐缺失数据点等操作。其次,对模型的训练样本和标签进行定义,最后,将数据进行归一化操作后,完成数据的预处理。

2.1 制作数据集

由于目前的航空轨迹数据集中航迹数据缺乏明确的分类,并且航迹多为高空航迹,缺乏进离场航空器轨迹,故本文将对所需的数据集进行制作。例如,使用来自某机场的真实航迹数据,数据中包含机场中多架航空器的航迹及航行过程中的天气状况。数据集中包含了96 d的有效航迹数据。数据集中的航迹数据是通过ADS-B设备得到航空器精确位置和时间戳,气象数据是通过机场自动天气观测系统获得的,通过时间戳的匹配,将气象数据附加到航迹数据后面。得到原始数据后,还需要对原始数据预处理以达到训练模型的要求。预处理包括删除没有位置信息的坏点;去除航空器标识和位置信息相同的重复点;去掉距离跑道头或跑道尾超过5 km并且高度在1.8 km以上的点;建立三维坐标系,将数据转换为坐标点,其中左边原点位于跑道尾,x轴指向跑道;在上述坐标系中,对飞速沿着跑道和垂直于跑道进行分解;对于缺失的数据点,采用三次线性插值法补充缺失点;处理后的数据以7∶3的比例被划分为训练集和测试集。航迹数据格式,如表1所示。

表1 航迹数据展示

其中x、y、z表示的是航空器在以跑道末端为原点的三维坐标系中的位置,其中x轴与跑道平齐。Windx和Windy分别表示x轴方向和y轴方向的风速。本文制作的数据集以3维坐标的形式记录航空器位置,可以更好地挖掘3个维度的特征;数据集中具有风速信息,可以更好地探究环境对航迹预测影响;数据集均为进离场航班,可以更好地研究进离场航空器航迹的特点。

2.2 数据样本构造方法

本实验使用的数据包含时间、横轴坐标、纵轴坐标、竖轴坐标、横轴方向风速、纵轴方向风速共6个特征。构造数据样本时,将所有时间步的6个轨迹数据造成一个二维矩阵,矩阵的行数为样本的总个数,列数为特征数6。模型选用6个时间步的数据对下一时间步中的时间、横轴坐标、纵轴坐标和竖轴坐标进行预测。参照CNN在处理图像数据的方法,采用6×6的滑动窗口在矩阵上由上至下滑动,如图2所示,滑动步长为1,其中滑动窗口中的数据作为训练样本。滑动窗口的下一行中的时间、横轴坐标、纵轴坐标、竖轴坐标作为标签。依次类推,直到标签到达最后一行为止。

图2 样本构造示意图

2.3 样本归一化处理

归一化是一种用于训练深度神经网络的技术。它的目的是将输入数据进行归一化处理,使得网络在训练过程中更加稳定、收敛更快、避免梯度消失等问题。本文采用离差标准化的方式将航迹样本数据归一化[22]。离差标准化(min-max scaling)是一种常见的数据标准化方法,用于将数值型的数据缩放到一个固定的区间范围内,通常是[0,1]或[-1,1]。本文采用的离差标准化公式如式(7)所示:

(7)

反归一化是一种将标准化后的数据转换回原始数据的方法。在训练模型时,通常需要将输入航迹样本数据进行归一化处理,以提高模型的训练效果。但是,在使用模型对新的航迹样本进行预测时,需要将预测结果进行反归一化,以得到原始数据的结果。反归一化的方法与归一化的方法相对应。如果归一化是将原始数据缩放到[0,1]的范围内,那么反归一化就是将标准化后的数据恢复到原始的航迹数据范围内。本文反归一化的公式如式(8)所示:

(8)

3 实验与结果分析

3.1 模型训练

本文模型基于TensorFlow框架实现,实验所采用的硬件环境为:Intel Xeon E5-2630 V4处理器,64 GB内存,NVIDIA TITAN XP GPU显卡。将模型的超参数设置如下:

3.1.1 输入层参数设置

设置输入数据的参数,其中包含批处理大小、时间窗的设置和特征数。本模型将批处理大小设置为128,时间窗口设置为6,特征数设置为6,一条航迹样本可以用6×6的实数矩阵R6×6进行表示,R6×6中第i个时间步的航迹向量记为xi。

3.1.2 CNN参数设置

航迹样本数据在CNN中会经过卷积、池化操作。本模型对航空轨迹数据采取一层一维卷积进行处理,其中卷积核的大小为3,数目为32,滑动步长设为1。进行一维卷积时,依次选取R6×6中第i个时间步到第i+2个时间步的二维矩阵进行卷积操作。激活函数选用ReLU。经过一维卷积的提取,得到6×1形状的特征图,共有32个卷积核,最终得到32个特征图。对所得特征图进行最大池化,池化窗口大小为2,步长为2,最终得到32个3×1形状的特征图。将所得特征图表示为32×3的二维矩阵,该二维矩阵表示不同卷积核下航迹数据的联系。将该数据输入到LSTM网络中。

3.1.3 LSTM参数设置

(1)理想整体发电效率随负荷增加而单调增大。由于给水流量波动导致的实时参数滞后,以及环境温度对背压和发电效率的影响,直接空冷机组的实际整体发电效率、汽轮发电机整体效率、汽轮机理想循环热效率随负荷增加并未表现出明显单调递增的规律。

在LSTM层,主要对LSTM层数、隐藏层节点个数、激活函数和丢弃率进行设置。LSTM的层数设置为3。将LSTM层隐藏节点的个数均设置为50,其激活函数使用默认的Sigmoid和Tanh。考虑模型和数据情况,将本模型丢弃率dropout设置为0.25。

3.1.4 Attention参数设置

在注意力层,要对LSTM输出的32×3状态矩阵进行处理(实际大小是32×LSTM隐藏层维度数),其结构如图3所示。32代表LSTM的seq_length,因此Attention层以32×3的矩阵为解码器的隐层状态(decoder hidden state),以其各行的1×3的矩阵为对应特征点的隐层状态(encoder hidden state),通过点乘计算得分。然后再利用Softmax对各得分进行计算,得到各32个特征点隐层状态的权重。将计算出的权重与对应的隐层状态相乘,得到加权后的隐藏状态。其结果为32个1×3的矩阵,连接为32×3的矩阵后,输入全连接层,最终输出1×4的航迹预测作为输出。

图3 Attention网络结构

注意力层有Soft Attention和Hard Attention 2种方案。Hard Attention的权重向量通常是一个One-Hot向量,这在某些情况下会具有更好的时效性,但是会牺牲一部分精度。由于本文模型的隐层状态只有32,对计算效率的影响并不大,因此只需在实验中比较2种方案的精确度。

3.1.5 其他超参数设置

其他超参数包括优化器、学习速率和迭代次数。本模型选用Adam优化器更新模型的参数以最小化损失函数,学习速率设置为0.001,迭代次数设置为1 000。

3.2 预测误差衡量指标

常用的衡量预测值与实际值之间误差大小的指标有均方根误差(root mean square error,RMSE)、平均绝对误差(mean absolute error,MAE)和平均绝对百分比误差(mean absolute percentage error,MAPE)。它们分别如公式(9)~(11)所示:

(9)

(10)

(11)

3.3 定性实验

为了验证本文提出的航迹预测模型的性能,本节对提出的基于注意力机制的CNN-LSTM模型与CNN-LSTM模型和LSTM模型进行定性对比实验,通过对比预测的航迹曲线分析模型的效果,本节以某航空器航迹为例给出3个模型的预测效果。3个模型的二维和三维航迹的对比如图4和图5所示。

图4 二维航迹对比

图5 三维航迹对比

图4中x、y表示的是航空器在以跑道末端为原点,沿跑道方向为x轴的二维坐标系中的位置。LSTM模型预测出的二维航迹可以拟合真实航迹的运行状态,但是仍存在一定程度的偏差,二维航迹曲线能够保持平滑地移动。CNN-LSTM模型预测出的二维航迹可以较好地拟合真实航迹的运行状态,与LSTM模型相比,二维航迹偏差明显减小,预测航迹曲线也更加平滑。CNN-LSTM-Attention模型可以很好地拟合真实航迹的运行状态。预测出的航迹曲线几乎与真实二维航迹曲线重合。

图5中x、y、z表示的是航空器在以跑道末端为原点,沿跑道方向为x轴的三维坐标系中的位置。LSTM模型的三维预测航迹已经可以拟合出航迹路线,但是与实际航迹的误差仍然较大,特别是在高度方面,可以明显观察到与实际航迹的差距,使用LSTM模型虽然可以进行4D航迹预测,但模型仍有提高的空间。CNN-LSTM模型的三维预测航迹与真实航迹的误差较小,虽然高度差距比LSTM模型小,但是仍存在一定程度的偏差。CNN-LSTM-Attention模型拟合出的三维航迹与真实航迹误差很小,可以很好地拟合实际飞行的航迹。

注意力机制分为2种变体,Hard Attention和Soft Attention。为选择出更适用于航迹预测的变体,进行对比实验,实验结果如图6所示。

图6 不同Attention机制的对比

Soft Attention的实验最终是使用SoftMax函数对LSTM层的状态进行权重分配,Hard Attention则只选择一个分数最大的位置进行关注,其余状态均被抛弃。为了表现出明显差异,选用一条较长的航迹进行对比预测。在实验结果中可以观察到,2种变体都对航迹进行了良好的预测,但是Soft Attention预测的航迹更为稳定,Hard Attention的预测则出现了震荡,且2种变体的计算时间没有明显差别,因此Soft Attention更适合用于航迹预测。

除去Attention机制的选择外,还有一个参数尤为重要,即LSTM的层数。增加LSTM的层数可以增加模型的表示能力,使其能够更好地捕捉输入序列中的长期依赖关系和复杂模式。这对于航迹预测任务中的时序数据是重要的,因为航迹通常具有长期的时间依赖性。但是增加LSTM的层数会增加模型的复杂度,所以本文应用了Attention机制。为选择最合适的LSTM层数,进行对比实验,实验结果如图7所示。

图7 不同LSTM层数的对比

可以看出,在层数为1或3时,区别并不大,当层数逐渐增加,模型预测的精度不增反降,这可能是由于过多的层数引入的噪声或冗余导致的。为更好地捕获航迹的时序性,本文选择LSTM的层数为3。

总的来说,CNN-LSTM-Attention模型预测出的航迹拟合度最高,最接近真实航迹,CNN-LSTM模型效果次之,LSTM模型拟合度最低。由此看来,模型的4D航迹预测精度由高到低排名依次是CNN-LSTM-Attention模型、CNN-LSTM模型和LSTM模型。且其注意力机制中的Soft Attention更适用于航迹预测。

3.4 定量实验

为了验证本文提出的航迹预测模型的性能,本节对提出的基于注意力机制的CNN-LSTM模型与目前常用的4D航迹预测算法进行定量实验,通过对比特征的误差分析模型的效果,以某航空器航迹为例给出3个模型的预测效果。通过计算误差衡量指标RMSE、MAE和MAPE的值对预测航迹和真实航迹的误差进行定量分析,,衡量指标的数值越小,表示模型的预测误差越小。分别对LSTM模型、CNN-LSTM模型和基于注意力机制的CNN-LSTM模型的时间、横坐标、纵坐标和竖坐标进行误差定量分析,结果如表2所示。

表2 特征误差对比

通过对比表2中的参数发现,LSTM的特征误差最大,CNN-LSTM的特征误差次之,误差最小的是CNN-LSTM-Attention模型。CNN-LSTM-Attention模型在时间、横坐标、纵坐标和竖坐标的误差指标均小于CNN-LSTM模型,其中降低最多的是时间特征,误差平均降低36.70%;降低最少的是横坐标特征,误差平均降低14.16%,以上数据说明了Attention机制应用CNN-LSTM后,提高了模型的预测能力,同时验证了CNN-LSTM-Attention模型在处理时序预测问题的优越性能。

4 结语

本文首先提出了基于注意力机制的CNN-LSTM混合模型,将注意力机制引入CNN-LSTM模型中,对LSTM隐藏层的输出赋予注意力权重,提高模型预测精度,介绍了模型的整体框架、模型的输入与输出和模型的训练流程。然后介绍了数据预处理工作,包括制作数据集、数据样本构造和样本归一化处理。最后,进行了实验与结果分析,其中包括模型训练、误差衡量指标介绍、定性实验与定量实验。实验通过将预测航迹和真实航迹以二维与三维的形式绘制航迹,直观地展示出航迹之间的误差;定量实验通过误差评价指标RMSE、MAE、MAPE定量展示航迹的误差。通过定性实验与定量实验的比较,验证了本文所提出的模型在4D航迹预测上的性能优于其它对比模型。

猜你喜欢
航空器航迹注意力
让注意力“飞”回来
梦的航迹
自适应引导长度的无人机航迹跟踪方法
“扬眼”APP:让注意力“变现”
论航空器融资租赁出租人的违约取回权
视觉导航下基于H2/H∞的航迹跟踪
A Beautiful Way Of Looking At Things
航空器的顺风耳——机载卫星通信
火星航空器何时才能首飞
MSG-3在小型航空器系统/动力装置维修要求制订中的应用