基于循环神经网络的SPMA 协议信道状态智能检测改进算法
2023-03-31张彦晖吕娜缪竞成高旗王翔陈卓
张彦晖,吕娜,*,缪竞成,高旗,王翔,陈卓
(1.空军工程大学 信息与导航学院,西安 710077;2.中国人民解放军 94619 部队,六安 237000)
作为数字化战场的“黏合剂”和“倍增器”,数据链战术通信系统有机链接不同作战任务单元,显著提升作战效能[1]。21 世纪初研制的战术瞄准网络 技 术(tactical target network technology,TTNT)数据链,有机连通侦察单元和火控单元,实现对时敏目标的协同探测、协同定位和精确打击[2-3]。
精确火力打击对TTNT 数据链战术信息的时效性、可靠性提出了极高要求,如时延小于2 ms,高优先级信息可靠性99%[4-6]。TTNT 数据链采用基于统计优先的多址接入(statistical priority-based multiple access, SPMA)协议,通过随机竞争接入、多信道并行传输、信道状态统计检测、多优先级分级处理等机制[7-15],确保战术信息的低时延、高可靠传输。
SPMA 协议的信道状态检测算法通过周期性统计网络中传输的流量脉冲数目,对信道占用状态进行判断,以一个周期内信道占用率的平均值作为当前发送时刻信道状态的检测值。TTNT 数据链在协同探测、定位和打击过程中,生成和传输的信息多样,不仅有目标探测、态势感知、任务决策、战术协同等信息,也有火力协同、精确制导和威胁告警等信息。这些信息流量的带宽需求变化大,如窄带的态势、任务分发等信息,宽带的目标图像、视频等信息;另外,信息流量的生成规律多样,有周期性、随机性、阶段性等;信息流量的信道接入需求变化较大,高优先级信息需要立即接入信道、低优先级信息排队接入信道等。可见,TTNT 数据链中交互传输的信息流量变化复杂,具有阶段突发性和强波动性。对于这些流量特点,基于统计平均的信道状态检测存在较大判决误差,无法准确反映波动特点。而目前对SPMA 协议的研究主要集中在多优先级业务的排队性能理论分析[13]、信道状态阈值动态设置[10]等,信道状态检测算法的改进研究较少。因此,为减小检测误差,更加准确地判断信道瞬时状态,需要设计一种能够适应TTNT数据链流量变化的信道状态检测算法。
流量预测通常采用预测模型按照特定的规律对未来某段时间的流量变化进行预测[16]。传统的流量预测模型如泊松过程、马尔可夫、自回归、卡尔曼滤波模型等,将网络中流量建模成某种数学模型,理论基础较为成熟,评价易于表达,但TTNT数据链流量特点复杂,将其理想化为某种数据模型会带来较大误差。考虑到流量变化的本质来源于用户的行为,产生了基于用户行为建模的流量预测方法,通过分析用户的行为特点,计算用户在不同空间和时间的通信概率,从而实现流量预测,但是这种方法结构复杂,且在TTNT 数据链应用背景下,对用户行为的学习难度较大,计算效率和准确性偏低,难以大规模推广。
随着人工智能的发展,产生了基于深度学习的流量预测方法并不断发展。文献[17]分析对比了人工神经网络(artificial neural networks, ANN)和几种传统的平稳时间预测模型的性能,得出ANN 模型的综合性能要优于其他几种模型的结论。文献[18]提出了基于BP 神经网络的非线性网络流量预测方法,并证明了其有效性。文献[19]将ANN 与多层感知器、堆叠自编码器模型进行对比,证明ANN 的计算复杂度较小且准确性相对较高,并指出循环神经网络(recurrent neural networks, RNN)与其他类型的神经网络相比,具有更高的预测性能。文献[20]进一步将几种常见的RNN 模型进行对比,发现长短期记忆网络(long short-term memory network, LSTM)和门控循环单元(gated recurrent unit, GRU)的性能好于其他ANN 模型。文献[21]详细总结了各种类型神经网络流量预测模型的优缺点和适应场景。文献[22-23]提出在RNN 中引入注意力机制,进一步降低了计算复杂度。
本文结合应用人工智能的流量预测算法与SPMA协议信道检测机制的关联性,针对SPMA 协议的信道状态检测算法对TTNT 数据链流量的突发性和强波动性特点适应性不足问题,提出一种基于RNN的SPMA 协议信道状态智能检测改进算法。使用RNN 预测当前到达的流量脉冲数,从而较为准确地得到当前的信道状态。
1 问题描述
1.1 SPMA 协议及其信道状态检测机制
SPMA 协议作为TTNT 数据链的信道接入协议,通过控制用户接入信道发送数据的时机,保证了数据传输的实时性和可靠性。SPMA 协议按照不同消息的服务质量(quality of service,QoS)需求把消息划分成不同的优先级,并分别设置不同优先级的信道占用率阈值。消息到达后进入不同的优先级队列,高优先级消息优先进入待发送状态。其信道接入控制流程如图1 所示。当有数据包进入待发送状态时,先进行信道状态检测,将当前信道占用率与对应待发送数据包的阈值对比,若小于阈值,信道状态为闲,发送数据;若大于阈值,信道状态为忙,数据包回退一段时间,若在回退时间内有更高数据包到达,则更新待发送状态的数据包为更高优先级数据包,再次进行信道状态检测,若回退时间内无更高优先级数据包到达,则回退时间结束后再次进行信道状态检测。直到信道状态检测结果为闲,发送数据。
图1 SPMA 协议信道接入控制流程Fig.1 Flow chart of SPMA protocol channel access control
SPMA 协议传统的信道状态检测算法是通过周期性地检测系统在该周期内传输的数据脉冲总数计算出信道占用率,进而与阈值对比,判断信道忙闲状态。
信道占用率的计算公式为
由式(4)可判断出根据周期内到达的流量脉冲数,即可判断信道忙闲状态。
1.2 问题分析
1.1 节对SPMA 协议的信道状态检测算法进行了数学描述,用周期内的平均信道占用率作为依据判断信道忙闲状态,而理论上只有周期T 无限趋近于0 时才能计算出当前时刻信道状态的瞬时值,本节对理想条件下的信道状态检测机制进行了理论分析,并与实际的检测结果进行对比,总结了SPMA协议信道状态检测算法存在的问题。由式(4)、式(8)和式(9)的结果可知,SPMA 协议的信道状态检测算法关注的是一个周期内网络中传输的流量脉冲数来判断信道忙闲状态,而理论上必须已知当前时刻待传输的流量脉冲数才能判断信道忙闲状态,由式(9)可知,信道状态检测算法更关注平均值,而真正需要检测的是瞬时值,信道状态检测算法的检测结果较理论上的真实值存在一定误差。不同样本情况下信道状态检测算法检测情况如图2 所示。当周期内流量脉冲数变化较小时,信道状态检测算法能够较准确地表示当前信道状态;而当周期内流量脉冲数变化较大时,信道状态检测算法将会带来较大的误差,影响信道状态判断结果。综上所述,为降低信道状态检测的误差,需要对历史周期数据进行处理,得到一个尽量接近当前时刻待传输流量脉冲数,从而相对准确地判断出信道忙闲状态。流量预测技术可以通过历史的流量数据来对下一刻的流量进行预测,恰好与SPMA 的信道状态检测问题契合。
图2 不同样本下信道状态检测算法误差Fig.2 Error of channel state detection algorithm under different samples
2 信道状态智能检测改进算法
针对第1 节中分析的SPMA 协议信道状态检测算法存在的问题,提出一种基于RNN 的SPMA协议信道状态智能检测改进算法。为提高信道状态检测的准确性,引入流量预测技术,采用基于RNN 的流量预测算法,通过对历史流量数据的学习,较为准确地预测当前时刻到达的流量脉冲数,设计流量脉冲数阈值,进而对比判断出信道忙闲状态。图3 为改进后SPMA 协议信道接入控制流程。为叙述方便,将SPMA 协议信道状态检测算法简称为传统算法,将SPMA 协议信道状态智能检测改进算法简称为改进算法。
图3 改进后SPMA 协议信道接入控制流程Fig.3 Flow chart of improved SPMA protocol channel access control
2.1 预 处 理
预处理主要根据原始数据特点和流量预测模型的输入格式,将原始数据处理成流量预测模型可以接收且易于学习的数据。
2.1.1 处理思路
上层数据是流量变化曲线,流量预测模型主体是循环神经网络,适合处理序列数据,因此预处理要把流量曲线转化成序列。
进一步分析序列的构建方法。传统算法将时间划分成周期,每周期仅计数一次,作为信道的估计,为能反映各信道的情况,周期通常不能选的过小。与传统算法不同,采用基于RNN 的流量预测算法需要更多的数据来反映流量的变化规律,且根据1.2 节的理论分析,采用小时隙块来表示当前信道状态更接近真实值,因此要将时间划分成小的时隙。计算出每个时隙内到达的流量脉冲数,则将流量数据转化成RNN 擅长处理的时间序列。
2.1.2 时隙块大小
关于时隙块大小的选择,理论上选择单个流量脉冲发送时间 δ能够最为准确地表示信道状态,但在四信道情况下,容易导致序列出现长0 或者长4 的情况,不能较好地反映出流量变化趋势,综合流量脉冲长度和信道带宽,最终选择10 ms为一个小时隙块,能够显著反映流量变化。则一段时间内的流量脉冲数可表示为
借鉴文献[10]中传统算法的周期100 ms,不增加计数时间,选择前9 个时隙数据作为RNN 的输入,下一时隙数据作为输出,并向后滑动,构建训练集:
2.2 流量预测模型
序列预测通常采用RNN 的2 个变体:LSTM和GRU。LSTM 包含2 个隐态和3 个门,参数较多,网络较为复杂,相比之下GRU 在性能上与LSTM 相差不大,但其网络结构更为简单,因此采用GRU 搭建流量预测模型,进行流量预测。GRU最早在文献[24]中提出,并在应用中不断改进发展,本文模型在经典GRU 的基础上,在门函数内增加偏置以提高拟合能力。GRU 包含2 个门和1 个隐态,分别为更新门、重置门和状态信息,结构如图4 所示。
图4 门控循环单元结构Fig.4 Structure diagram of gated recurrent unit
具体的流量预测神经网络结构如图5 所示。
图5 流量预测神经网络结构Fig.5 Structure diagram of traffic prediction neural network
2.3 训练及预测
训练过程是神经网络进行线下学习数据特征规律,预测是完成训练的神经网络在线上实现预测功能。通过分析数据特点,合理设计训练及预测过程有助于提升模型的预测性能。
如图6 所示,空战背景下,TTNT 数据链用户在完成不同任务或者完成任务的不同阶段产生的业务种类及其QoS 需求不同,而不同时间下的各种类型业务在网络中传输所产生的流量不同,导致流量具有周期性、突发性、强波动性的特点,即用户行为特征决定业务特征,业务特征决定流量脉冲特征。
图6 循环神经网络特征学习过程Fig.6 Feature learning process of recurrent neural network
在同样或者相似的作战背景中,历史的用户行为和实时的用户行为是具有相关性的,其传输的业务即历史统计业务和实时业务,也是具有相关性的,而作为底层的流量脉冲也必然会承载着用户行为特征信息和业务特征信息,通过线下对历史流量脉冲的学习,能够学习到隐藏的序列特征和脉冲序列上层的特征,即用户行为特征和业务特征,从而在线上实现对实时情况的预测。
图7 为流量预测模型的结构及其训练和预测过程。由图5 可知,神经网络能够实现式(13)所示的映射关系:
图7 流量预测模型的训练和预测过程Fig.7 Training and prediction process of traffic prediction model
3 仿真验证
3.1 数 据 集
本文实验数据利用wireshark 软件在TTNT 数据链仿真平台进行抓包构建,用TTNT 数据链仿真平台模拟实际作战场景中TTNT 数据链从发现目标到摧毁目标到最后的评估过程,为TTNT 数据链设置各种类型的业务,模拟真实作战中产生的各种业务,每次任务模拟5 min,共模拟5 次任务。
对5 次模拟作战任务的全过程进行抓包,以10 ms为间隔统计流量脉冲数,生成流量脉冲序列,每个序列含30 000 个数据。前4 次抓包产生的数据作为训练集,最后1 次产生的数据作为测试集进行实验,并在测试集中抽取具有代表性的连续的700 个数据进行分析。
3.2 流量预测准确性分析
算法预测准确性采用4 个常用指标评判,即均方误差(mean squared error, MSE)、均方根误差(root mean squared error, RMSE)、平均绝对误差(mean absolute error, MAE)、R2值:
式中:MSE、RMSE 和MAE 表示检测值的均方误差、均方根误差和平均绝对误差,误差越小检测值越准确;R2值表示检测算法对数据的拟合能力,R2值越大表示算法的拟合能力越强,越适合处理该类型数据。
图8 和图9 分别为传统算法和改进算法的流量预测结果。可以看出,当流量脉冲数波动较小、较为平滑时,2 种算法均能达到较好的预测结果,而当出现突发流量或者流量波动性较强的情况,传统算法的预测结果存在显著的误差,而改进算法仍能够实现较为准确的预测。
图9 改进算法的检测结果Fig.9 Detection results of improved algorithms
表1 为2 种算法预测结果的评价指标对比。改进算法在4 个评价指标均大幅度优于传统算法,证明了改进算法的检测准确性更强,对TTNT 数据链流量数据的拟合能力更好,更适合检测TTNT 数据链的信道状态。
表1 两种算法检测准确性对比Table 1 Comparison of detection accuracy of two algorithms
3.3 忙闲状态误判率对比
3.2 节中对比了流量预测的准确性,但是SPMA的信道状态检测机制最终是要判断出信道的忙闲状态,从而决定是否发送数据。为进一步证明本文算法的有效性,本节对改进算法与传统算法的信道忙闲状态的误判率进行对比。0 为信道闲,数据可以发送;1 为信道忙,数据不能发送。为对比改进算法对不同优先级消息的信道忙闲状态的检测情况,本节设置高、中、低3 个优先级,为保证高优先级消息优先传输,高优先级消息阈值大于低优先级消息阈值,将高优先级消息阈值设置为数据的3 倍均方根174、中优先级消息阈值设置为2 倍均方根116、低优先级消息阈值设置为1 倍均方根58。若当前信道状态小于阈值,信道闲,输出为0;信道状态大于阈值,信道忙,输出为1。图10 对比了真实数据流量和真实信道忙闲状态与传统算法和改进算法检测流量和信道忙闲状态,图中所选阈值为58。
图10 两种算法检测的流量脉冲及信道忙闲状态与真实数据的对比Fig.10 Comparison of traffic pulses and channel busy/idle status detected by two algorithms with real data
从图10 中可以看出,改进算法的误判率明显低于传统算法,但在流量波动较小的情况下,2 种算法的误判率差异不大,而在流量波动较大的情况下,传统算法难以对信道状态进行准确判断。
表2 为不同类型流量下对低中高优先级消息的忙闲状态误判率。突发流量情况下,改进算法对低优先级消息的误判率明显低于传统算法;对于中高优先级消息,2 种算法均不会出现误判。通过分析突发流量与各个优先级消息的阈值可以得出,当突发流量脉冲数低于阈值时,突发流量不会导致信道忙闲状态误判;当突发流量脉冲数高于阈值时,则会导致信道忙闲状态误判,且改进算法的误判率较传统算法显著降低。流量平稳情况下,2 种算法基本上不会产生误判,这是因为一方面该区间真实值均稳定在阈值以下,另一方面2 种算法均能较好地拟合流量波动小的情况,不会产生过大的误差导致检测值超过阈值。流量具有强波动性的情况,改进算法相对于传统算法误判率明显降低,在各个优先级阈值下的误判率降低了4.91%~15.23%。
表2 两种算法在不同类型流量下对低中高优先级消息的忙闲状态误判率Table 2 Misjudgment probability of busy and idle status of two algorithms for low, medium and high priority messages under different types of traffic
3.4 处理时延对比
改进算法在提高信道检测精度的同时也增加了一定的算法复杂度,导致处理时延增加,为验证改进算法是否满足TTNT 数据链实时性需求,对改进算法的处理时延进行分析。
实验选用一台内存为16 GB、搭载2.5 GHz 主频处理器的64 位Win 10 操作系统PC 代替TTNT数据链端机,由于算法单次运算时延过小,测量单次数据误差较大,实验中取算法运行1 000 次的时延进行分析,如表3 所示。
表3 两种算法时延对比Table 3 Time Delay comparison of two algorithms
从实验结果看,改进算法的时延较传统算法增加了0.044 1 ms,但SPMA 协议的信道检测和信道接入是并行处理的,信道检测机制实时地检测信道状态,每隔固定的周期更新信道状态,改进算法多带来的0.044 1 ms 对于信道状态更新周期10 ms 来说几乎可以忽略,而信道接入时只需要将当前信道状态与阈值对比决定是否发送信息,因此改进算法的处理时延不会对通信时延造成影响,不会影响TTNT 数据链的实时性。
4 结 论
1)对SPMA 协议信道检测机制进行了完整的数学分析,指出SPMA 协议信道检测机制对TTNT数据链流量突发性和强波动性特点适应性不足的问题。
2)引入流量预测技术,提出基于循环神经网络的SPMA 信道状态检测智能改进算法。
3)改进算法预测结果的MSE 为313.56、RMSE为17.70、MAE 为7.78、R2为0.89。预测性能相比于传统算法有明显提高,尤其是存在突发流量和强波动性流量数据。
4)不同阈值下,改进算法的忙闲状态误判率较传统算法有所降低。分析验证集各段(模拟不同流量特点)的误判率,在存在突发流量和流量波动大的情况下,改进算法的误判率较传统算法降低了4.91%~15.23%。
5)本文算法在提升检测精度的同时也导致了一定的处理时延,通过实验计算改进算法带来的平均时延为0.048 3 ms,但改进算法带来的时延不会影响TTNT 数据链通信的实时性。
本文算法虽在检测准确性和忙闲状态误判率2 个指标上有明显提升,但预测误差和忙闲状态误判率仍存在降低空间,可以进一步调整优化算法以达到更高的性能。