刘戎翔,贺筱媛,陶九阳
(1.国防大学联合作战学院,北京 100091;2.陆军防化学院,北京 102205;3.陆军工程大学,南京 210007)
飞行目标自动识别作为解决自动监视与侦查、精确制导和敌我身份识别等问题的重要手段,在现代战争中占据非常重要的地位,是整个空情态势分析的基础。随着战场电磁空间复杂性日益增加,敌对双方电子对抗能力不断增强,飞行目标的各类图像特征信息易被遮蔽和干扰,使得空情传感器数据与作战决策之间还存在着较大的鸿沟。因此,如何在训练样本较少的情况下,提高识别模型的稳定性、泛化能力以及动态自适应能力成为解决这一问题的关键。
近年来,国内外学者在识别模型的构建方面进行了广泛的探索,最初的识别模型主要基于单一模型,采用支持向量机[1]、k 均值群聚类模型[2]、隐马尔科夫模型[3]等机器学习方法。这些模型虽然需要的训练样本较少,识别性能比较稳定,但在数据量较大、样本维度较高的情况下存在模型识别效率较低、泛化性较差的问题。为进一步提升识别模型的泛化能力,随着神经网络模型的不断进步发展,大量学者开始基于神经网络设计飞行目标识别模型[4-7]等。虽然神经网络模型能够通过逐层提取对样本特征进行有效的表达,具有较好的泛化能力,但这类模型对训练样本的要求较高,且存在网络学习收敛速度慢、容易陷入局部极小、训练网络不稳定、训练时间较长等问题。此外,已有的各类识别模型在线学习能力较差,无法根据识别情况进行动态学习调整。
集成学习方法作为一种模型的整合学习方式,可以融合多个学习器的特点,使模型获得更好的性能[8-9]。本文采用集成学习的方法,整合k 近邻学习模型和BP 神经网络模型的优长,构建飞行目标识别模型,为解决在小样本条件下,飞行目标识别模型不能同时获得较好训练稳定性与泛化性的问题提供思路。同时,通过算法设计使模型初步具备动态的结构以及自适应进化的能力,使模型的泛化能力得到进一步的提升。
集成学习是指通过构建并结合多个学习器来完成学习任务的方法。该方法一般先产生一组个体学习器,再利用某种策略将其组合起来[10]。集成学习将多个学习器进行结合,通常可获得比单一学习器更优越的泛化性能。集成学习方法根据个体学习器种类的不同可分为异态集成学习[11]和同态集成学习[12]两种方式。异态集成学习中个体学习器由不同的算法生成,使用各种不同的分类器进行集成是异态集成最根本的特点,例如同时包含决策树和神经网络。异态集成的两种重要方法分别是学习叠加法[13]和元学习法[14-15]。
本文充分利用k 近邻学习模型稳定性强、训练速度快以及BP 神经网络泛化能力好的特点,以异态集成学习方法中的元学习法对k 近邻模型和BP神经网络模型进行模型整合,在训练样本数量较少的情况下,实现两类模型的互补。同时通过设计集成权值动态更新模型,实现模型整体的结构动态,使模型具备自适应进化能力。模型利用飞行目标较不容易被干扰的特征(如:飞行速度、高度、在空时间等)作为输入,输出为飞行目标的机型(共计12类)。模型的整体框架如图1 所示。
图1 基于异态集成学习的飞行目标动态辅助识别模型整体框架
k 近邻学习模型作为一种传统的机器学习算法,训练结果较为稳定,对训练样本的数据量规模依赖较小,比较适合在小样本条件下的识别分类问题。同时k 近邻学习模型没有显式的训练过程,在训练阶段只是将样本保存起来,训练时间开销为零。但是k 近邻学习模型的泛化能力较差,随着数据集的不断增加,模型的预测速度也会相应下降。
本文中,主要利用k 近邻学习模型为目标识别模型提供稳定的识别能力,设待分类的飞行目标样本向量Di,有:
式中:v 为飞行目标的速度,h 为飞行目标的高度,t为飞行目标被发现后的累积在空时间,s1,s2,…,sn分别为飞行目标距离可能起飞的n 个机场的距离。基于k 近邻学习的目标识别模型以Di为模型输入,使用余弦距离作为样本向量间的距离度量,投票法进行分类预测。模型的输出为飞行目标的分类标签L,共计12 类,因此,k 近邻学习模型中的参数k=12。对样本Di的分类过程如算法1 所示。
例如某次识别任务中,0 号编队与训练集数据的欧式距离取前12 条可得:
表1 某次识别任务中0 号编队训练情况
依此查看编号为500、200、156…等训练数据的飞机机型,可获得0 号编队可能属于飞机机型6的概率为58.3 %、可能属于飞机机型2 的概率为25%、可能属于飞机机型10 的概率为16.7%。因此,模型输出0 号编队的预测分类为飞机机型6。
表2 基于投票法的k 近邻分类模型(采用欧氏距离为度量)
BP 神经网络模型主要是通过多层神经网络对输入样本的隐含特征进行自动提取,通过隐含特征实现对样本较好的识别,因此,模型具有较好的泛化能力。BP 神经网络模型是由多个简单处理单元(神经元)组合而成的大规模并行分布式学习模型。BP 神经网络模型能学习和存贮大量输入- 输出模式映射关系,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。
本文中主要利用BP 神经网络模型提高飞行目标识别模型的泛化能力。BP 神经网络模型同k 近邻学习模型一样,模型的输入为获取的飞行目标特征值,输出为飞行目标可能属于哪一类的概率。考虑到获得的样本数较少,为避免神经网络模型不收敛,本文最终采用三层神经网络结构,输出层为Softmax 层。其中输入层和输出层均为12 个节点,分别对应输入样本Di的12 个特征以及分类标签L 的12 个类别。隐含层的选择上采用经验式(2):
式中:n1为隐含层节点数,n 为输入层节点数,m 为输出层节点数,a∈[1,10]。利用训练集数据和验证集数据不断试验,最终来确定隐含层为13 个节点。具体架构如图2 所示。
图2 基于BP 神经网络的目标识别模型结构图
在基于k 近邻学习的目标识别模型和基于BP神经网络的目标识别模型基础上,本文使用集成学习对两个模型进行整合,使模型在训练样本数量较小的情况下,仍然可以保持较好的稳定性和泛化能力。同时,为了进一步提高模型的动态适应性,设计集成权值动态更新模型,使模型获得更强的自适应性。
2.3.1 集成权值动态更新模型
集成学习中对分类任务通常采用基于投票法的模型结合策略。由于在现实分类任务中,不同类型的个体学习器可能产生不同类型的预测输出值,又可将集成学习分为基于类标记的“硬投票”法以及基于类概率的“软投票”法。本文中采用基于类概率的加权整合方法,且为保证模型在运行过程中能够进一步动态学习,依据个体分类器的分类表现动态改变模型整合权重。
其中,Prediction_out、Prediction_KNN、Prediction_BP 分别为模型的最终输出结果,以及k 近邻学习模型模块和BP 神经网络模型模块的输出结果,α 为权值。
本文中,针对不同个体学习器在测试集上的正确率调整α,使正确率较高的模型具有较大的贡献率。同时参考集成学习的平均法结合策略中,当个体学习器性能相差较大时宜使用加权平均法,而在个体学习器性能相近时宜使用简单平均法。本文设计一个动态更新模型,以两类模型的正确率之差为输入,以更新后的权值为输出,使得在模型整体在动态更新中,当个体学习器性能相差较小时,结合策略能够退化为简单的相对多数投票,确保模型整体的预测性能。
式中,α 为动态更新的权值,Accuracy_BP、Accuracy_KNN 分别为两个体学习器在测试集上的正确率。f 为更新函数,更新函数如图3 所示:
图3 f 函数图
2.3.2 模型识别算法设计
模型的实现基于Tensorflow 平台,充分利用CPU 以及GPU 的计算资源,实现了个体学习器模型以及总体模型的动态优化。模型的识别流程如图4所示。
Step1:数据初始化。
Step2:基于k 近邻学习模型/BP 神经网络模型的飞行目标识别。即利用已训练好的k 近邻学习模型/BP 神经网络模型分别对样本进行识别,对错分的样本进行保存。
Step3:识别结果整合。即利用式(2)对k 近邻学习模型/BP 神经网络模型进行整合。
图4 基于异态集成学习的飞行目标动态辅助识别模型识别流程图
Step4:模型的更新优化。当模型的错分样本数超过设置的阈值后,需利用错分的样本对模型进行重新优化,使模型能够动态更新,确保模型的正确率。以BP 神经网络模型为例,在模型更新过程中,利用新训练集及初始训练中获得的网络权值,在此基础上进行模型训练,如表3 所示:
表3 BP 神经网络模型动态更新算法
模型更新后,需利用式(4)重新确定集成学习模型的整合权重,使集成学习模型的结构能够动态变化,进一步提高模型的识别准确率。
本文以某区域制空权争夺行动为研究对象,实验数据提取自某作战仿真系统,共获得样本13 116条。在确保各类飞行目标的数据分布均匀的情况下,分别构建训练样本集(含552 条数据样本)、校验样本集(含240 条数据样本,用于在模型训练中进行性能测试)、测试样本集(含12 324 条数据样本,用于最终检测模型性能)。模型仿真实验在Python 3.6,i7-4790 CPU@3.6 GHz,8 GB 内存的PC上进行。
模型的训练主要基于TensorFlow 平台,主要对数据进行初始化并对模型进行训练,训练流程如图5 所示。
Step1:训练数据的初始化。由于k 近邻学习模型和BP 神经网络模型的训练强烈依赖于训练样本的构建方法,且本文中仅使用在飞行目标探测中不易被干扰的12 类外部特征构件训练样本数据。同时,在训练样本选取时,采用随机重复采样的方法,进一步增强训练样本集中数据的扰动。此外,为提高模型的训练效率,还需要对数据集进行归一化处理,并采用One-Hot 方法对数据标签进行封装。
Step2:k 近邻学习模型和BP 神经网络模型的训练。训练数据初始化后,将其输入至k 近邻学习模型和BP 神经网络模型进行训练。对BP 神经网络模型,模型每次以50 条数据为一个数据集对BP 神经网络模型进行优化,共迭代4 000 次。模型训练结束后保存已训练好的权值,供分类预测以及模型更新时使用。
Step3:集成学习权值初始化。模型进行训练后,利用验证集测试模型的识别正确率,利用式(3)确定集成学习模型的整合权重。
某次测试实验中,首先对个体学习器进行训练,而后依照本文提出的方法对模型进行整合,最终获得个体学习器和模型整体在测试集上的正确率为:
表4 某次测试实验中各模型正确率
通过实验的测试结果可以看到,个体学习器在错分数超过设定的阈值后,会对模型进行更新,并保存较优的模型参数,具体情况如图6 所示。
图6 模型运行情况图
测试过程中,α 值随测试时间的变化如图7所示。
由此可见,本次实验测试中,随着模型的不断更新优化,k 近邻学习模型的表现要强于BP 神经网络模型,因此,α 值在不断下降,同时也证明了整体模型也在不断地动态更新。
将基于集成学习的飞行目标辅助识别模型与k近邻学习模型、BP 神经网络模型进行多次实验对比,实验过程中均采用相同的训练集和测试集,8 次实验后各模型正确率的情况如表5 所示。
图7 α 值随测试时间的变化情况图
表5 8 次测试实验中各模型正确率
由表5 可以看出,多次模型训练中,在训练数据样本数量较少的情况下,k 近邻学习模型的识别正确率较为稳定,识别正确率均值为89.08%,标准差为0.028,而BP 神经网络模型的识别正确率则浮动较大,识别正确率均值为80.94 %,标准差为0.060。此外,无论各个体学习器在测试集上的表现如何,使用本文所述的方法对模型进行整合后,基于集成学习的飞行目标辅助识别模型总体表现较为稳定,且能在表现较好的个体学习器模型的基础上,将正确率至少提高2 个百分点,识别正确率均值为91.50%,标准差为0.023。对实验测试8 结果进一步分析,得到个体学习器和集成学习模型的分类正确情况如表6 所示。
表6 个体学习器和集成学习模型的分类正确情况
同时,在每条样本下的各模型分类表现如表7所示,表中数字为模型分类标签。
由表4 可以看出k 近邻学习模型相对BP 神经网络模型而言分类表现较为稳定。但在表5 中可以看出,存在k 近邻学习模型分类错误而模型整体分类正确的情况(如样本58、137、147 等)。通过对实验数据的进一步分析可得,采用基于类概率的集成学习整合方法和动态变化的模型整合权值,通过类概率的加权求和,可以使个体学习器模型间“取长补短”,集成后的模型分类表现得到了提高。
表7 实验测试8 中各模型分类情况
战场电磁空间复杂性的日趋提升对飞行目标的准确识别提出了更大的挑战,无法准确判明飞行目标的类型将导致下步的空情处置难以有效开展。本文提出一种基于集成学习的飞行目标辅助识别方法,将k 近邻学习模型与BP 神经网络模型进行整合,并在使用过程中加入相应的反馈机制,使模型整体具备了自适应的动态结构。通过对比实验证明,该模型具备了k 近邻学习模型训练时间短、在数据量较小的情况下识别正确率较稳定,以及BP神经网络模型泛化能力较好的特点,较好地兼容了训练稳定性与泛化性。模型识别率稳定在90 %左右,且在个体学习器识别正确率的基础上至少提高2%。在下一步的工作中,可以将本文提出的模型与现有基于飞行目标雷达回波、可见光图像特征,以及电磁信号特征的识别方法进行整合,进一步提高飞行目标的识别正确率,有力地支撑空中作战意图的识别以及空情态势的判断。同时本文中提出的动态整合方法也可迁移至其他识别问题中,进一步提高识别模型的适应性和泛化能力。