阎 栋,苏 航,朱 军
(清华大学计算机科学与技术系,北京 100086)
随着军事技术的不断发展,各种高精尖武器在战争中的地位日益凸显。反舰导弹作为海上作战的主要武器,以其对敌的精准打击和高效毁伤能力在历次海战中均取得不俗的战绩。与此同时,为了有效拦截反舰导弹,舰船的各种防御设施对于反舰导弹的预警、侦查、拦截和干扰技术都有显著的提高,因此如何提升反舰导弹对敌方舰船的毁伤能力就成为现代海上作战的关键环节,而保证反舰导弹安全快速突防和精确高效打击就是其中的核心。在给定反舰导弹自身技战术性能的前提下,如何进行反舰导弹的火力分配决定了攻击的最终毁伤效果。
反舰导弹的火力分配是以对敌方舰艇编队的毁伤效果最大化为目标[1]。目前国内外对于反舰导弹攻击舰艇编队的火力分配问题基本都是针对特定的场景进行建模[11-12],对于特定的情况反舰导弹火力分配在考虑打击的代价和收益的情况下,将问题转化为最大化打击收益和最小化打击代价的算法问题。但是由于在实际复杂战场环境下综合求解上述问题涉及参数过多,传统的求解方法(枚举法、分支定界法和动态规划的方法[2])易于实现但搜索速度太慢,智能算法(遗传算法、神经网络算法)存在难以扩展的问题。例如文献[3]提出的一种基于神经网络的火力分配求解方法,该方法合理地使用了神经网络但容易得到不稳定的解。目前大多数的反舰导弹火力分配模型在方法上存在着一定的缺陷和不足,优化效果有限且无法推广到大规模、高强度的军事对抗当中,因此如何建立更加准确、全面和合理的火力分配模型以及如何改进传统的智能优化算法成为当前的研究热点。
随着人工智能技术的突破性进展,特别是强化学习技术在智能控制领域的发展给反舰导弹的火力分配问题带来了新的思路。强化学习算法的机制类似人类的决策过程,智能体的每一个动作都是在策略的驱动下完成的,而策略是智能体通过与环境的交互得到的。智能体通过交互式的学习从环境中得到奖励或者惩罚,并根据学习过程中的累加回报值不断更新策略。强化学习主要包含两类算法,一类是基于值函数估计的方法,如Q-learning[3]和SARSA[4]等,这类方法具有较好的理论基础,算法的收敛性和解的质量相对有保证;另一类是在参数空间中进行求解的方法,其中典型方法包括TRPO[5]和Actor-Critic[6]等,其主要思想是将策略参数化,直接在参数空间中对问题进行求解,在许多场景下求解效率较高,但缺乏理论保证。如前所述,这两类经典的强化学习算法仅能够解决一些小规模问题。在面对现实世界中大规模、复杂的问题时,由于无法遍历整个状态空间,所以不能在一个合理的时间内给出结果。近年来,深度神经网络与强化学习相结合,形成了深度强化学习方法。利用深度神经网络[7]来解决强化学习中状态空间的泛化问题,在许多领域取得了突破[8,13-15]。其中用深度神经网络拟合Q值函数,同时使用Q-learning更新规则来迭代Q值函数的方法称为深度Q值网络(Deep Q-value Network, DQN)。使用深度Q值网络训练的智能体在视频游戏上的表现达到或者超过了人类专家的水平[9]。本文针对反舰导弹火力分配问题,利用深度Q值网络在高维度的解空间学习反舰导弹火力分配策略并最终实现打击效果的优化。
反舰导弹对目标舰艇编队实施攻击,目标舰艇编队对来袭反舰导弹实施电子干扰、舰空导弹拦截和密集阵火力拦截。为了简化反舰导弹的火力分配模型,本文采用单一类型的反舰导弹,以多弹协同的方式打击舰艇编队,综合考虑导弹飞行及目标捕获的可靠性、抗干扰能力、抗导弹拦截能力和密集阵拦截等对抗全过程,计算打击任务成功率。
整个过程中可假设反舰导弹和防空导弹均做匀速直线运动,在攻击过程中舰艇编队的队形保持不变,舰艇编队可将态势信息进行共享。反舰导弹到达指定位置后导引头开机,开始搜索目标舰艇,一旦捕获目标即对目标进行识别并判断相关威胁,此时由于目标舰艇编队发现来袭反舰导弹,开始捕捉跟踪并将相关数据同步传送给其他舰艇。
舰艇编队一共有四种不同的阵型设定,如图1所示,从左上到右下依次为3支舰艇、6支舰艇、8支舰艇和10支舰艇。舰艇位置在图中以小圆点形式表示,其中:红色为宙斯盾驱逐舰,拥有8个火力通道,冷却时间20s,防空导弹拦截半径为20km;蓝色为普通驱逐舰,拥有4个火力通道,冷却时间25s,防空导弹拦截半径为15km;黄色为补给舰,没有火力通道。各个舰艇的防空范围在图中以绿色圆圈表示。所有舰艇都拥有密集阵拦截能力,密集阵拦截半径为3km,在图中为简洁起见不予展示。
图1 舰艇编队设定Fig.1 Fleet formation setting
为了衡量突防策略的优劣,此处对舰艇编队毁伤概率模型进行简要说明。假设一共有N枚反舰导弹同时在指定位置发射,每一枚导弹从发射到命中的过程相互独立。该过程一共需要经历如下4个步骤:
1)可靠飞行及目标捕获流程
反舰导弹之间相互独立,其概率分布符合二项分布,N0发导弹中有i枚导弹捕获攻击目标的概率为
(1)
其中,N0为导弹初始弹量,P1为单弹能够可靠飞行并成功捕获目标的概率,其值为0.98。
2)各类干扰流程
在准备拦截反舰导弹的过程中,舰艇编队对反舰导弹实施干扰,默认在准备使用干扰设备的情况下一定会使用该设备,且干扰一旦释放所有的反舰导弹都会受到干扰。根据反舰导弹的抗干扰概率计算突防弹量,概率分布采用二项分布计算。各导弹之间相互独立,其概率分布符合二项分布,N1枚导弹中有N2枚导弹对抗干扰成功的概率计算方法如下
(2)
(3)
3)防空导弹拦截
当反舰导弹到达舰艇防空导弹的防御边界时,舰艇发射防空导弹对反舰导弹进行拦截。对于单次拦截事件,按照独立事件处理,防御舰船火力通道有限,一个火力通道只能导引一枚防空导弹对反舰导弹进行拦截,在考虑协防的情况下,需要计算拦截次数。在整个拦截过程中,拦截次数可以分为目标舰艇对反舰导弹的拦截以及协防舰艇对反舰导弹的拦截两种。对于协防舰艇,在保证自身安全的情况下对目标舰艇提供保护,每次用一枚防空导弹拦截反舰导弹,不存在多枚防空导弹拦截一枚反舰导弹的情况。
在防空导弹对反舰导弹的拦截过程中,各导弹之间相互独立,其概率分布符合二项分布,经过一次防空导弹拦截后,N1枚导弹中有N2枚导弹成功突防的概率为
(4)
其中,P3为单弹突破防空导弹拦截的概率,N1和N2均为非负整数,n为本次拦截的可用火力通道数目。
4)密集阵拦截
其中记一枚导弹在暴露于密集阵时所飞行的距离为d,密集阵拦截半径为d0=3km;如果单弹在全过程中完全暴露于密集阵,则面对密集阵拦截时能够成功突防的概率为P4=0.5。
给定上述4个拦截步骤,设第i枚导弹能够击中其目标舰艇j的概率为Pij,则有
所以最终目标为最大化舰队中所有舰船的毁伤概率之和pfleet,即将所有导弹的毁伤概率线性加和为
强化学习研究未知环境下的序列决策问题,其基本理念是基于环境给出的反馈来决定行为,以取得最大化的累积奖励。与监督学习相比,强化学习的训练并不需要预设的输入/输出对,可通过与环境的交互自动改善性能。由于其训练理念的普适性,它在许多其他领域如运筹学、博弈论、控制论、群体智能、信息论、统计学以及遗传算法等都有相关研究。在机器学习的语境下,强化学习更加注重在线规划,需要在探索(在未知的领域)和遵从(现有知识)之间找到平衡。
在强化学习中,未知环境通常被建模为马尔可夫决策过程。马尔可夫决策过程包括如下5个元素,状态空间S、动作空间A、变迁函数T(s,a,s′)、奖励函数R(s,a)以及折扣因子λ。在舰队火力分配问题中,状态空间S为当前已发射导弹和舰队毁伤状况;动作空间A为所有可选舰船目标;变迁函数T(s,a,s′)为发射一枚导弹之后舰队从状态s转移到状态s′的概率;奖励函数R(s,a)为发射导弹后增加的毁伤数值;折扣因子λ取0.99.
具体地,假设在t-1时刻已发射了t-1枚导弹,将计算得到每一艘舰艇j的当前毁伤概率向量Pj(t-1)作为状态s。将t时刻,智能体进行的动作a定义为给定当前状态s选择第t枚导弹所瞄准的舰艇和它的发射位置。随后根据T(s,a,s′)得到状态s′,即t时刻每一艘舰艇的毁伤概率Pj(t)。而这次动作所获得的奖励为Pj(t)-Pj(t-1)。
强化学习的目标是最大化累计奖励值,因此可用未来可能获得的累计奖励值来评价从一个状态出发选择每个动作的的优劣。使用Q(s,a)来表示从状态s出发选择动作a所可能获得的累计奖励值,在后续的文中称其为Q值。在获得正确的Q值后,在每个状态选择Q值最大的动作,就是智能体的最佳策略。Q值学习算法的核心思想就是通过与环境的交互,迭代逼近真实的Q值,其公式如下
Q(st,at)=Q(st,at)+α(rt+
Q值学习算法给每个状态动作对一个随机的初始值。从初始状态出发,选择Q值最大的动作,按照这个过程不断的积累数据。每一组数据表示为一个五元组(st,a,st+1,r,t),将每一组数据代入上述公式更新相应的Q值,交替进行数据的积累和Q值的更新,直到Q值收敛。其算法具体流程如表1所示。
表1 深度Q值网络算法流程
传统的Q值学习算法只能处理低维数据,而现实生活中的实际问题的状态空间往往非常巨大,无法采用遍历的方式更新。因此,研究人员采用深度神经网络解决Q值在不同状态之间的泛化问题,从而提出了深度Q值网络[10]。
如图2所示,本文所采用深度Q值网络由两层全连接层组成。值得说明的是,由于本文所处理问题的状态可以表示为一维概率向量,所以网络结构中没有采用常见深度Q值网络中的卷积层。深度Q值网络采用ReLU作为激活函数,每层的神经元数量均为128,采用随机方式对网络权重初始化。
图2 深度Q值网络结构示意图Fig.2 Structural diagram of deep Q-value network
Q值学习为确定性算法,为保证算法能够找到最优值,本文在训练过程中采用epsilon贪心法来探索新的动作序列,其中epsilon值随训练进行而线性递减。训练深度Q值网络的所有相关参数如表2所示。
表2 深度Q值网络训练参数
在实验部分,本文通过在四种不同的舰队配置下计算深度Q值网络和其他三种策略的毁伤概率来验证深度Q值网络的实际效果。图3展示了在10艘舰艇,最多64枚导弹的设定下,深度Q值网络的训练情况。其中横轴为训练周期数,纵轴为毁伤效能;图4则展示了在相同设定下深度Q值网络损失函数的变化情况。
图3 深度Q值网络训练效果Fig.3 Training result of deep Q-value network
图4 深度Q值网络收敛曲线Fig.4 Convergence of deep Q-value network
从图3中可以看出,在前60个训练周期中深度Q值网络所给出的毁伤值都处在较低的水平。这是由于在这个阶段,深度Q值网络输出的策略主要被epsilon贪心策略决定,以探索各种可能的策略为主。经过前60个训练周期之后,深度Q值网络对整个样本空间有了一个相对全面的采样。在此基础上,神经网络通过训练不断对Q值进行泛化,同时epsilon探索值也下降到了0.1,因此从60个训练周期开始性能逐步上涨直到训练结束。
图4展示了损失函数随训练时间的变化,从图4中可以看到,在前30个训练周期中,epsilon贪心策略的探索值从0.9线性下降到0.5,因此深度Q值网络损失函数显露出先下降后上升的波动趋势。而在经过前30个训练周期后,探索值从0.5逐步下降到0.1,此时过去与环境交互获得的经验开始占据主导地位,因此损失函数不断下降,直至趋近于0。
图5展示了在4种编队阵型(舰船数目依次为3,6,8,10)的设定下,给定不同的导弹数目上限值,每个策略所能达到的最好表现。横轴表示导弹数目,纵轴表示各个舰艇的平均毁伤概率。除了深度Q值网络之外,还引入了其他3个策略进行比较:
1)随机策略:在离舰队中心50km的圆上随机选择每一枚导弹的发射位置,并且随机选择其目标舰艇;
2)最近攻击策略:将导弹发射位置均匀分布在50km圆上,每枚导弹只会打离自己发射位置最近的舰艇;
3)平均攻击策略:给每一艘舰艇分配几乎相同数量的导弹去攻击,并且如果2枚导弹的目标是同一艘舰艇,那么它们的发射位置完全重合,这样能最大限度减小密集阵拦截的效果。
从图5中可以看出,深度Q值网络(图标为DQN,红色曲线)在各个场景中均比其他策略有着明显的优势,最近攻击策略(图标为heuristic 1,黄色曲线)和平均攻击策略(图标为heuristic 2,绿色曲线)表现不相上下,随机策略(图标为random,蓝色曲线)表现最差。在3艘舰艇的配置下,由于其防御能力不足,各个策略在导弹数目达到一定数量之后的差距不是很明显,但是导弹数目较少时深度Q值网络一直保持明显优势;6艘和8艘舰艇的场景下,深度Q值网络在各个导弹上限设置下均有着比其他方法更加明显的优势,虽然在导弹数目增多之后,性能逐渐被其他两种策略追上;10艘舰艇防御能力最强,但是深度Q值网络仍然取得了最佳的毁伤效果,并且遥遥领先其他策略,直至导弹数目增加到上限64时仍相对其他策略保持着巨大的优势。
图5 不同策略在不同设定下的最优表现Fig.5 Experiment results with different settings
更进一步地考察深度Q值网络的火力分配策略可以发现,在反舰导弹数目未满足饱和攻击标准的情况下,对任何一种舰艇编队,深度Q值网络均能自动学习出集火策略,即集中攻击舰队中防御较弱的普通驱逐舰,避开防御能力较强的宙斯盾驱逐舰。在火力分配问题上,深度Q值网络不仅求解效果优于其他策略,而且能够很好地为人类所理解。
本文针对反舰导弹的火力分配问题,提出了一种基于深度Q值网络的解决方案。算法分析与实验结果表明,与传统方案相比,深度Q值网络在各种舰船编队下都能取得最佳的毁伤效果,且具有良好的可解释性。在不使用任何先验信息的情况下,深度Q值网络通过纯粹的训练过程,自动学到了集中火力攻击舰队防空薄弱角度的策略。
目前的舰队防空模型与真实情况相比,做了较多简化处理。未来可通过进一步细化防空模型使其更加贴近真实情况,从而使得深度Q值网络的计算结果更加符合作战要求。