一种TensorFlow平台上目标意图识别模型设计与实现∗
2019-06-06李宁安
李宁安 张 剑 周 倜
(武汉数字工程研究所 武汉 430205)
1 引言
战场目标作战意图识别一直以来都是各级指挥员关注的重点,是决定下一步作战行动的基本依据,但近年来随着战场态势演变速度加快,导致信息化技术的发展信息量大、环境比较复杂,使得指挥员在短时间识别目标作战意图非常困难,因此需求智能化的作战指挥系统辅助指挥员进行下一步行动决策[1~2]。目前研究作战意图识别的方法主要有基于模板匹配[3]、专家系统[4]、贝叶斯网络[5]、神经网络[6]等传统的方法以及最近几年兴起的深度学习的方法。传统的方法一般有以下几个缺点,实现繁琐且难度很大,实时性、容错能力和学习能力较差,计算精度低以及泛化能力较弱。另外不易处理连续的属性特征数据。
短记忆型神经网络[7](Long Short-term Memory)是一种 RNN(Recurrent Neural Network)特殊的类型[8],是常用的用于处理时序属性数据的神经网络模型。本文主要针对问题时序的特点以及上述几种方法的缺点,使用LSTM构建深层的网络结构,克服了实时性差、实现难度大以及学习能力弱的缺点。
2 目标作战意图识别模型设计
2.1 目标意图识别问题概述
目标意图的识别是一个通过在环境比较复杂、信息比较多的战场上收集目标信息进行分类的一种问题。在作战中目标往往会隐蔽自己的作战意图,使得我方指挥人员识别时增加一定的难度,可能有一些误判的行为,另外,侦查目标的某一时刻的状态属性信息也不能得到有效的识别,因此作战意图识别会经常侦查目标的连续几秒的状态行为来进行判断它们的意图[9~10],这有利于提高意图识别的正确率。处理连续的属性特征,LSTM网络是一种目前比较流行的方法,其他模型相比容易实现,效果相对较好。
2.2 LSTM基本模型理论
基于LSTM神经网络模型实现空中目标作战意图的识别属于分类问题。在先验知识不充足和没有领域专家知识的条件下,仅通过Tensorflow平台构建深层的LSTM神经网络,并且训练学习空中作战目标的时序特征和意图的对应关系,然后用训练好的神经网络模型对实时作战目标意图进行识别。LSTM网络是一种具有记忆的神经网络模型,使得处理时序的属性数据具有很好的效果。标准LSTM网络架构中的核心单元。主要通过输入门,遗忘门以及输出门这3个门达到了对网络具有记忆效果。基本的LSTM网络模型以及核心单元如下[7]。
图1 展开标准的LSTM网络模型
图2 标准的LSTM的网络架构的核心单元(cell)
x0~xt表示时序的向量特征数据,x0表示0时刻的向量特征数据,x1表示下一时刻的向量特征数据。对应的H0~Ht表示对应的隐藏状态输出,Ct-1表示细胞状态,*表示矩阵的相乘,+表示矩阵的相加。图2即为图1中的A的部分,即标准LSTM的网络架构的核心单元。
LSTM的输入数据,一般分为两部分:时刻t的Xt输入数据以及t-1时刻的Ct-1细胞状态数据,作为时刻t的输入数据。对输入数据进行处理使得满足网络以及得到更好的效果。σ为Sigmoid层,输出0~1之间的数值,通过这个值进而决定目前t时刻信息和t-1时刻信息的记忆量。
Zf表示遗忘门对t-1时刻细胞信息记忆的概率,即选择Ct-1细胞信息有多少可以被记忆,有多少被遗忘,Zi表示输入门对t时刻输入信息的选择的概率。t-1时刻细胞状态信息与t时刻的输入信息共同做出决定更新的细胞状态。式(4)表示对细胞状态信息状态进行更新,作为t+1时刻的输入。
Zo表示输出门对t时刻信息输出的选择的概率,Ht作为输出由t时刻的细胞状态信息和输出门确定,yt通过Sigmoid层表示最终的输出。Wf、Wo、W 表示对应的权重值。
上述是对LSTM网络模型的基本理论的描述,它是通过旧细胞信息与当前输入的新信息做出决定更新的当前的细胞状态。
2.3 目标特征提取与样本预处理
2.3.1 目标特征提取
目标作战意图主要体现在战场上敌方目标的当前的状态特征中,通过观察目标的属性的改变,可以实现对目标的作战意图的识别,本文依据领域专家知识选取了与目标作战意图关系紧密的特征[11],如飞行速度、高度、航向角、方位角、距离、飞行加速度、对空雷达频段、对海雷达频段、通信频段、飞机类型共10维主要特征。空中目标作战意图本文主要考虑以下常见的8种意图[12]:侦查、预警探测、佯动、突防、攻击、电子干扰、诱敌和撤退。
2.3.2 样本预处理
本文应用的样本预处理技术为归一化、数值化、one-hot编码,这些基本的预处理技术在神经网络中都能使得网络训练更加准确和快速以及增加网络的稳定性。由于LSTM神经网络模型只能处理数值数据,战场上传感器获取的飞行速度、高度、距离、飞行加速度、航向角、方位角为数值数据,但由于不同类别数据间量级差别较大,需要进行归一化到0~1范围之间。对于对海雷达频段、对空雷达频段、通信频段为范围数据,飞机类型为类别数据,均需要进行数值化处理。对样本数据和意图标签进行预处理,目的是满足模型对数据的要求,消除量纲影响,从而增加网络模型的健壮性。
2.4 构建深度LSTM网络模型理论
LSTM神经网络模型输入和输出有很多种情况,一般是不同的情况组合对应不同的场景,比如一对一,一对多,多对一,多对多等情况来针对不同的应用[13]。本文研究的问题本质上属于分类问题,设计的输入-输出模型为多对一组合以及设计深层次的LSTM网络模型。
图3 深度LSTM网络模型
在神经网络模型中,隐层数和节点数这2个参数非常重要,可以降低网络误差,提高精度,但不合理的设计可能使网络复杂化、增加了网络的训练时间和出现过拟合。因此选择隐藏层的层次和节点的个数设计就很重要,这种参数设计只能在基本的理论和大量的实验中确定。图3是深度LSTM网络模型,A表示核心单元,Yt+s-1表示通过SoftMax归一化分类函数输出结果,从而实现目标意图的识别。
2.5 在Tensorflow平台上模型的实现
2.5.1 Tensorflow平台介绍
Tensorflow是谷歌在2015年开源的主流的深度学习框架,有很多比较好的优秀的特点[14]。如下:
1)高度的灵活性。
2)强大的可移植性,支持CPU、GPU、IOS、安卓等多种计算平台。
3)不需要通过反向传播求解梯度,Tensorflow支持自动求导。
4)数据流式图支持自由的算法表达,可实现深度学习以外的机器学习算法。
5)多语言支持Python/c++。
6)性能最优化,Tensorflow给予了线程、队列、异步操作等以最佳的支持。
2.5.2 使用Tensorflow平台构建LSTM网络模型
使用Tensorflow构建2.4节中的深层的LSTM神经网络结构。在TensorFlow中提供了BasicLSTMCell函数来搭建基本的LSTM模型。BasicLSTMCel提供了输入层、隐藏层、输出层的数据的输入,在其内部封装了LSTM隐藏层包含的遗忘门、输入门和输出门等结构,同时还可根据研究需要设置隐藏层结点个数。MultiRNNCell函数提供了多层的LSTM模型的搭建,MultiRNNCell中的内容是其按时间展开图,隐藏层用LSTMCell实现,其中可以包含多个隐藏层。可以根据自己研究问题进行自定义网络架构如图5。最后输出的Yt+s-1通过SoftMax层的激活函数,并用损失函数计算输出与真实的标签的误差。计算损失值后,使用Tensorflow提供的训练操作可以自动求Cost关于每个参数的微分导数并用梯度下降法对模型进行训练。
3 仿真实验和结论
3.1 样本数据
实验采用空中目标作战意图数据集,数据集为空中目标连续10s对应的属性特征仿真值,包括飞行速度、高度、航向角、方位角、距离、飞行加速度、对空雷达频段、对海雷达频段、通信频段、飞机类型数据,以及对应的标签,侦查、预警探测、佯动、突防、攻击、电子干扰、诱敌和撤退。数据集规模大小为100000,各个意图类型对应的比例为1/8,取80%作为训练集,20%作为测试集,训练模型。
3.2 模型设计实现
表1 LSTM网络模型参数设置
由2.4节可以知道神经网络的层次和节点不同会有不同的识别效果,因此需确定深度LSTM神经网络模型隐藏层层数和节点数量。学习率的选择也对网络的模型有影响,如果学习率设置过大,可能跳过最优解得到不理想的效果,如果学习率设置过小,会使得训练的速度比较慢。调整和确定网络架构是用训练集确定的,不能用测试集,测试集是用来评判网络的效果。本文使用Tensorflow平台从仿真的训练集中抽出随机顺序的批次进行训练神经网络模型并且用来调整模型结构。最终确定网络模型的参数如表1。
3.3 实验结果
在实验过程中,把生成的10000的样本数据随机打乱,分为80%的训练集和20%的测试集。图4和图5是LSTM网络模型的实验结果,图4为损失函数值,图5为测试集的正确率。从图4中可以看出损失函数值随着迭代的次数而下降,而目标意图的准确率随着迭代的次数而上升,最终两者的变化都将趋于平稳,这也符合神经网络模型的一般训练过程。从图中可以得知,标准的LSTM网络模型得到了比较好的准确率。
图4 (左侧)LSTM网络模型训练集和测试集损失函数值随迭代次数的变化
图5 (右侧)LSTM网络模型训练集和测试集准确率随迭代次数的变化
4 结语
空中目标意图识别是军事研究中重要的问题之一,由于空中目标的属性特征具有隐蔽性和欺骗性,根据单一时刻目标特征识别目标意图比较难,因此采取根据一系列时刻的目标特征识别意图,目标的属性是有序列特征的,使得问题解决更加复杂。结合这些问题特征,本文基于LSTM神经网络模型设计,构造深层次和合适的节点个数使得更加适合研究的问题,通过在复杂的作战环境中采集10s内连续的属性特征,输入到深层次的LSTM模型中进行训练,实验结果表明,验证了LSTM神经网络模型取得比较好的效果。