基于深度强化学习算法的火力-目标分配方法

news2024/10/5 12:51:40

源自:指挥控制与仿真

作者:李伟光  陈栋

注:若出现无法显示完全的情况,可 V  搜索“人工智能技术与咨询”查看完整文章

摘 要

针对火力-目标分配问题解空间较大、离散、非线性等特点,提出了一种基于DQN的深度强化学习算法,通过将6层全连接前馈神经网络与Q-learning算法相结合,充分发挥了深度学习的感知能力和强化学习的决策能力,通过模型性能测试对比,该方法拟合能力较强、收敛速度较快、方差抖动性较小,并通过实际作战场景对算法进行了验证,所得的分配结果符合作战期望,可为指挥员火力打击分配问题决策提供一定参考。

关键词

火力-目标分配;深度强化学习;Q-learning算法;DQN算法

火力-目标分配是炮兵作战任务规划的关键环节,其分配结果直接影响着作战火力体系打击效能的发挥,对战场态势和战局走向起着关键作用。火力-目标分配属于资源调度组合优化问题,国内外学者对其研究起步较早,相关模型较为成熟。传统的目标分配方法有枚举法、割平面法、分支界定法、遍历搜索法等方法[1],但上述方法当目标增多时计算量庞大,求解十分困难,已逐步退出历史舞台。智能优化算法对目标函数的凸性、连续性和解析表达式要求较低,在相当一段时间内被广泛研究与应用,比较代表性的算法有遗传算法[2]、蚁群算法[3]、模拟退火算法[4]、粒子群算法[5]、强化学习算法[6]等,这些算法虽然具有较好的实用性,但随着战争形态转变,正逐渐暴露出收敛速度慢、易陷于局部最优、难以应对大规模数据等问题。本文提出一种基于深度强化学习的动态目标分配方法,可充分结合深度学习的感知能力和强化学习的决策能力,在解决动态资源调度分配等类型问题上具有显著优势,可实现整体作战效益最大化。

1 火力-目标分配问题描述

火力-目标分配问题通常是指如何把不同毁伤能力和经济价值的弹药,分配到不同威胁态势和性质的目标,以达到毁伤效果最大、弹药消耗成本最低的目的。其分配过程常用马尔可夫[7]决策过程作经典描述:假设有i个种类弹药对j个目标进行打击,其分配过程如图1所示。

图片

图1 武器目标动态分配过程示意图

图中,St表示状态变量,at表示动作变量,aij表示分配策略,炮兵目标分配的结果就是将我方具备相应打击能力的弹药与相应的打击目标进行匹配,分配的结果就是找到一个使整体达到最优的分配策略。

1)状态集

状态集是马尔可夫决策过程中所有可能出现的状态的集合。炮兵火力打击目标分配问题,主要考虑如何充分发挥武器装备整体打击优势,目标是尽量使得整体毁伤效果最大,所受敌威胁最小,同时弹药消耗量最低。据此,选取武器装备对目标打击的毁伤效果K、命中概率H、弹药消耗A及目标威胁程度T作为模型状态集信息,可表示为

图片

其中,Kij表示第i个火力对第j个目标打击的毁伤效果指标;Hij表示第i个火力对第j个目标打击的命中概率指标;Aij表示第i个火力对第j个目标打击所消耗的弹药指标;Tj表示第j个目标的威胁程度,

图片

为目标原有的威胁程度,可用下式表示:

图片

2)动作集

动作集是马尔可夫决策过程中能够采取的所有行动的集合。在炮兵DWTA问题中,每种武器平台均可能对目标实施打击,所以动作集可用向量α=αij来表示,并且存在:

图片

其中,N表示目标数量,即每个火力单元同一时刻最多打击一个目标。

3)奖励函数

奖励函数表示马尔可夫决策过程中,由状态到动作所得到的回报奖励值,是对动作执行的评价,用于指导后期动作的选择。其主要围绕求解问题的目标设定,奖励函数设定结果直接影响着目标分配系统在当前分配状态下的奖励值和惩罚值,进而影响最终的分配结果。因此,为明确地表明所选分配状态的优劣,发挥火力体系整体打击优势,本文提出三个关键状态特征来定义奖励函数。

首先,定义火力打击效果为第一个状态特征f1(x),如式(1)所示:

图片

(1)

其次,定义受敌威胁程度为第二个状态特征f2(x),如式(2)所示:

图片

(2)

再次,定义弹药消耗量为第三个状态特征f3(x),如式(3)所示:

图片

(3)

因此,结合上述三种状态特征,可采用式(4)对动作执行结果进行评价:

图片

(4)

式中,C1、C2、C3分别为打击效果、受敌威胁程度、弹药消耗量在评价结果中的权重,通常取值为1/3,当目标不可打击时奖励函数取值为-1。这样,可以由每一次的状态-动作所获得的即时回报来反馈当前动作的即时奖励,根据奖励值的大小可找到最优的分配策略。

2 基于DQN算法的DWTA问题求解

深度Q网络(Deep Q Network,DQN)算法是DeepMind团队提出的一种深度强化学习算法,该算法将神经网络和Q-learning算法相结合,可有效解决连续状态空间和离散动作空间问题[8]。

2.1 Q-learning算法

Q-Learning算法是一种无模型的、离线的强化学习算法。它通过体验行动所带来的结果,使智能体能够在马尔可夫决策过程中学习以最优方式行动[9]。其基本思想是建立一个表格,表格中的行和列分别代表智能体的状态和动作,表格用来存储智能体在每个状态下采取不同动作所获得的Q值,通过反复尝试所有的状态和动作,可得到最优的状态对应的最好的行为,然后智能体就可以通过查表来进行决策,选取每一步的最佳动作。

对于任何马尔可夫决策过程,Q-Learning在从当前状态开始的所有后续动作中以最高奖励期望值为目标来找到最优的策略。在给定足够的探索时间和相应的随机策略情况下,Q-Learning可以为任何马尔可夫决策过程确定最优的动作选择策略。Q-Learning在开始学习之前,Q表被初始化为使用者需要的固定值,如表1所示。然后,智能体在每个时间t选择动作at,并观察奖励rt,进入新的状态st+1,并更新Q值,得到新的Q表,如表2。该算法的核心思想是Q值不断迭代更新的过程,其算法更新公式为

图片

(5)

图片

表1 初始化Q表值

虽然Q-learning算法整体运算逻辑清晰,并且能通过学习适应各类不确定性环境,在解决决策优化问题中也被广泛应用,但Q-learning算法这种采用表格的方式来记录状态和动作对应Q值的方法,在处理大规模问题时会随着状态和动作空间的增多而变得迟缓,当状态和动作空间达到一定数值时,查询Q表的时间会非常长,将导致Q-learning算法在时间上和实时性上不再有意义。

为解决该问题,DeepMind团队将神经网络和Q-learning算法结合在一起,提出了DQN算法,该算法取代用一张表格记录Q值,而是直接将状态作为神经网络的输入,通过神经网络计算出动作价值,并选出一个最大值作为输出,也可将状态和动作都作为神经网络的输入,直接输出对应的Q值,可极大提升算法计算能力,并有效处理大规模的决策优化问题。

2.2 DQN算法描述

DQN算法主要是通过目标函数、经验回放机制和目标网络三项核心技术处理智能体和环境交互的信息[10],从而为智能体提供可选择的策略,其训练交互过程如图2所示。

图片

图2 DQN训练过程

1)目标函数

由于在Q-Learning算法中通过表格形式记录Q值,只能适用于离散且低维度的状态空间,而当状态空间维度较大时,求解过程将出现“维度爆炸”的问题。因此,在DQN算法中采用深度神经网络拟合Q,即通过深度神经网络中的权值参数θ使动作价值函数逼近最优动作价值。如式(6)所示:

图片

(6)

2)经验回放机制

DQN算法在训练时并不立即将交互信息进行处理,而是采用经验池存储经验序列,并在训练过程中采样经验。经验池存储了智能体在训练过程中的交互(动作、状态、奖励、下一状态)样本信息,在训练神经网络时从中随机取出一定数量的样本进行训练。

经验回放机制的引入可以对交互信息数据进行一个有效的备份,同时小批量的采样可以减少训练数据之间的依赖性和相关性,从而减少估计值函数时产生的不必要偏差,使训练网络更容易收敛。

3)目标网络

由于单个神经网络训练时,智能体与环境的交互存在一定的不确定性,神经网络在多次迭代过程中产生的误差会反映到下一轮迭代计算中,这样就会导致模型训练的不稳定性。因此,DQN算法引入了目标网络(Target NetWork)[11],先暂时将TD误差目标中的Q网络固定住,这样就不会导致训练过程中目标发生改变,进而优化智能体与环境的交互不确定性所产生的误差。

DQN采用近似表示值函数的优化目标,每次迭代的优化目标Q值为

图片

(7)

其中,φ(S')为下一时刻的状态,A'为所有可能的动作,ω为目标网络的参数。Q的预测当前值网络使用的是最新参数,而Q的现实值目标网络使用的是之前参数。经过一定次数的迭代后,把当前值的参数复制给目标网络,通过最小化当前Q值和目标Q值之间的均方误差来更新网络参数。可得DQN的损失函数为

图片

(8)

2.3 DQN-DWTA算法设计

用深度强化学习方法解决炮兵火力-目标分配这类DWTA问题时,可看成是在连续状态空间、离散动作空间上的多步强化学习过程。学习任务的目标就是找到一个最优分配策略实现最大化累计回报。与Q-learning算法设计相同,DQN算法仍以打击效果最大、受威胁程度最小、成本最低为模型目标,在Q-learning算法设计基础上,引入可用于训练与推理的神经网络模型,以解决高维状态空间中的火力-目标分配问题。

1)神经网络结构设计

本节选择具有较强的分类能力和模式识别能力的全连接前馈神经网络作为深度学习框架,以非图像状态数据向量作为输入,以值函数中每个动作对应的Q值作为输出。为了兼顾网络架构的深度与性能,本文设计一个深度为6层的全连接前馈神经网络,首先为网络数据输入口,第1层到第5层为隐藏层,第6层为输出层。网络构造如图3所示。

图片

图3 网络结构设计

2)损失函数

本文采用交叉熵损失函数作为全连接前馈神经网络的参数学习函数。对于样本(x,y),其损失函数为

图片

(9)

其中,y∈{0,1}。

给定训练集为

图片

,将每个样本x(n)输入前馈神经网络,得到网络输出为 

图片

,其在数据集D上的机构化风险函数为

图片

(10)

其中,W和b分别表示网络中所有的权重矩阵和偏置向量;

图片

 是正则化项,用来防止过拟合;λ>0为超参数。λ越大,W越接近于0。这里的

图片

 常使用Frobenius范数:

图片

(11)

根据学习准则和训练样本,网络参数可以通过梯度下降法来进行学习。在梯度下降方法的每次迭代中,第l层的参数W(l)和b(l)参数更新方式为

图片

(12)

图片

(13)

其中,α为学习率。

3)参数学习

在确定损失函数后,需通过梯度下降法来计算损失函数对参数的偏导数,在神经网络训练中常用反向传播算法来计算梯度。

根据链式法则可得到:

图片

(14)

其中,

图片

称为误差项δ(l)。

2.4 算法描述

根据深度强化学习原理和DWTA问题模型,本文设计了基于DQN的深度强化学习算法解决目标分配问题的具体操作流程,如图4所示。

图片

图4 目标分配算法流程

3 改进算法性能测试及分析

为验证基于DQN的深度强化学习模型算法的性能优势,将其与Q-learning算法进行比较测试。测试环境的输入、输出参数如表3所示。

图片

表3 深度强化学习模型算法测试环境与输入、输出参数

Q-learning算法测试结果如图5、图6所示,可以看到,Q-learning算法的性能在100多次迭代后很快得到提升,最终收敛到策略的最优回报值200附近。同时可以看到,在Q-learning算法的性能收敛后,会持续出现一定程度的震荡,这主要是Q-learning算法会以一定概率继续探索低回报值附近领域所带来的影响。

图片

图5 Q-learning迭代信息输出

图片

图6 Q-learning回报值意图(左图:平滑前,右图:平滑后)

基于DQN的深度强化学习模型算法测试结果如图7、图8所示。可以看出,DQN算法的性能在50多次迭代后很快得到提升,200多次迭代后趋于平稳抖动较小。通过两种算法收敛情况对比可以看出,基于DQN的深度强化学习算法比Q-learning算法收敛速度更快、方差抖动更小。这首先得益于DQN的记忆存储单元使更新权重时每一个样本都可能被抽到,从而提高数据的利用效率;其次得益于DQN随机地从记忆存储单元抽取样本数据,打乱了样本之间的相关性,从而提高了学习效率。

图片

图7 基于DQN的深度强化学习算法迭代信息输出

图片

图8 基于DQN的深度强化学习算法回报值意图(左图:平滑前,右图:平滑后)

为检验DQN算法分配结果的合理性,以一次火力打击目标分配为例加以验证。假设在一次火力打击行动中,我炮兵旅采用常规的9种武器弹药,对敌方指挥所、通信枢纽、坦克、火炮发射阵地等5个炮兵部队典型作战的目标实施火力打击,各类型武器弹药对目标的毁伤效果、命中率、弹药消耗量以及目标威胁程度数据分别如表4、5、6、7所示,表中数据均已进行无量纲处理。对上述分配模型进行测试分析。

图片

表4 毁伤效果指标/%

图片

表5 命中率/%

图片

表6 弹药消耗量/%

图片

表7 目标威胁程度/%

通过本文的DQN算法进行弹目分配,分配结果如图9所示,即:A目标由第9种弹药打击;B目标由第3种弹药打击;C目标由第6种弹药打击;D目标由第7种弹药打击;E目标由第8种弹药打击。每种目标均选取打击效果、威胁程度、弹药消耗综合指标最好的弹药进行打击,符合现实战场火力打击需求,并且能够清晰观察出每种弹药对目标实施打击的综合指标情况,也有利于突发情况下寻找替代弹药。

图片

图9 目标分配结果示意图

4 结束语

火力-目标分配问题是一项较为复杂的决策优化问题[12],本文运用马尔可夫决策过程对DWTA问题进行了描述,提出一种基于DQN的深度强化学习算法,采用全连接前馈神经网络作为深度学习框架,设计一个深度为6层的全连接前馈神经网络。通过与Q-learning算法对比,基于DQN的深度强化学习算法具有更快的收敛速度。通过模型计算的分配结果符合实际战场需求,可为指挥员指挥决策提供一定参考意义。但该模型还局限于每种目标只能使用一种弹进行打击,不能实现多弹种协同打击,下一步将重点研究多弹种协同打击问题。

声明:公众号转载的文章及图片出于非商业性的教育和科研目的供大家参考和探讨,并不意味着支持其观点或证实其内容的真实性。版权归原作者所有,如转载稿涉及版权等问题,请立即联系我们删除。

注:若出现无法显示完全的情况,可 V  搜索“人工智能技术与咨询”查看完整文章

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1821869.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法02 递归算法及其相关问题

递归 在编程中,我们把函数直接或者间接调用自身的过程叫做递归。 递归处理问题的过程是:通常把一个大型的复杂问题,转变成一个与原问题类似的,规模更小的问题来进行求解。 递归的三大要素 函数的参数。在用递归解决问题时&…

大模型赛道有前景吗?

前言 随着人工智能技术的飞速发展,大模型作为新一代AI技术的核心驱动力,正在全球范围内掀起一场科技革命。在这个浪潮中,大模型赛道以其巨大的发展潜力、广泛的应用前景,成为了众多企业和投资者关注的焦点。本文将从多个角度探讨…

VirtualHere 允许通过网络远程使用 USB 设备,就像本地连接一样!

传统上,USB 设备需要直接插入计算机才能使用。有了 VirtualHere,就不再需要这样做,网络本身就变成了传输 USB 信号的电缆(也称为 USB over IP、USB/IP、USB over WiFi、USB over Ethernet、USB 设备服务器)。 此 USB …

振弦采集仪在水利工程中的应用与效果评估

振弦采集仪在水利工程中的应用与效果评估 河北稳控科技振弦采集仪是一种用于测量和监测结构振动的设备,广泛应用于水利工程中。它能够实时监测结构的振动情况,帮助工程师评估结构的安全性和稳定性。 在水利工程中,振弦采集仪主要用于以下几个…

JS 中的各种距离 scrollTop?clientHeight?

元素的各种距离 DOM 对象 属性描述offsetWidth只读,返回元素的宽度(包括元素宽度、内边距和边框,不包括外边距)offsetHeight只读,返回元素的高度(包括元素高度、内边距和边框,不包括外边距&am…

VS2019中添加FFTW3库 + cmake工程

一、FFTW3官网 http://www.fftw.org/install/windows.html 二、我这里是选的64位的版本,可根据自己的需要选择对应的版本 三、解压得到 四、根据官网的说明,需进行编译生成.lib文件 4.1 在解压目录打开cmd 4.2 生成 .lib 文件 终端依次输入 lib /machine…

解决:安装MySQL 5.7 的时候报错:unknown variable ‘mysqlx_port=0.0‘

目录 1. 背景2. 解决步骤 1. 背景 吐槽1,没被收购之前可以随便下载,现在下载要注册登录吐槽2,5.7安装到初始化数据库的时候就会报错,而8.x的可以一镜到底,一开始以为是国区的特色问题,google了一圈&#x…

动力学仿真平台:让模型配置与仿真测试更高效!

背景概述 动力学仿真平台是一种基于计算机技术的模拟工具,旨在模拟和分析物理系统中的动力学行为。通过建立数学模型,并借助高效的数值计算方法来模拟复杂系统的运动规律,为科研、设计、工程等领域提供重要的决策支持。动力学仿真平台的重要性…

Python高效处理海量气溶胶数据;MODIS和CALIPSO气溶胶数据下载、处理与反演分析

目录 专题一 碳中和下气溶胶的研究意义 专题二 夯实Python语言基础及代码讲解 专题三 MODIS气溶胶数据处理与反演分析 专题四 CALIPSO气溶胶数据处理及反演分析 专题五 总结与扩展 更多应用 在当前全球气候变化和环境污染问题日益突出的背景下,气溶胶研究显得…

Codeforces Round 950 G. Yasya and the Mysterious Tree 【树上异或和差分、01Trie】

G. Yasya and the Mysterious Tree 题意 给定一颗 n n n 个节点的树,每条边有一个初始的权值 现在定义两种操作: ^ y \; y y,给所有的边的权值异或上 y y y? u x u \; x ux,在树上任选一个不等于 u u u 的点,在…

用 Azure OpenAI 服务开发生成式 AI

简介 在当今迅速发展的技术环境中,生成式人工智能(AI)成为了众多企业创新和优化业务流程的重要工具。微软的 Azure OpenAI 服务为开发生成式 AI 解决方案提供了强大的平台和工具。本文将介绍如何利用 Azure OpenAI 服务开发生成式 AI 解决方…

Flink作业执行之 2.算子 StreamOperator

Flink作业执行之 2.算子 StreamOperator 前文介绍了Transformation创建过程,大多数情况下通过UDF完成DataStream转换中,生成的Transformation实例中,核心逻辑是封装了SimpleOperatorFactory实例。 UDF场景下,DataStream到Transf…

免费听歌,电脑或手机免费听歌,落雪音乐安装详细步骤

近年来,由于资本的力量导致各种收费,看个电视想听歌都必须要付费了,否则你听不完整,吃相非常难看,特别是电视,吸血鬼式吸收各种会员费,各种APP也是铺天盖地的广告,渐渐迷失了自我&am…

【C++】AVL树/红黑树实现及map与set的封装

前言 【C】二叉树进阶(二叉搜索树) 这篇文章讲述了关于二叉搜索树知识,但是二叉搜索树有其自身的缺陷,假如往树中插入的元素有序或者接近有序,二叉搜索树就会退化成单支树,时间复杂度会退化成O(N)&#xff…

CCAA质量管理体系 (2021)

一、考试大纲 中 国 认 证 认 可 协 会 质量管理体系基础考试大纲 第 1 版 文件编号:CCAA-TR-105-01:2021 发布日期:2021 年 3 月 2 日 实施日期:2021 年 4 月 1 日 质量管理体系基础考试大纲(第 1 版)1.总则 本大…

大数据集成平台建设方案(Word方案)

基础支撑平台主要承担系统总体架构与各个应用子系统的交互,第三方系统与总体架构的交互。需要满足内部业务在该平台的基础上,实现平台对于子系统的可扩展性。基于以上分析对基础支撑平台,提出了以下要求: 基于平台的基础架构&…

LabVIEW电源适应能力检测系统

随着工业自动化程度的提高,电源质量直接影响设备的稳定运行。利用LabVIEW开发一个单相电源适应能力检测系统,该系统通过智能化和自动化测试,提高了测试效率,减少了人为错误,保证了电源质量的可靠性。 项目背景 在现代…

软件系统设计开发规程(Word文件)

技术解决方案过程包括: 1、选择最佳解决方案; 2、制定架构设计; 3、制定概要设计; 4、制定详细设计和数据库设计; 5、利用准则进行接口设计; 6、实现设计; 7、进行单元测试; 8、进行…

知乎社招1年Go开发123+HR面经,期望22k

面经哥只做互联网社招面试经历分享,关注我,每日推送精选面经,面试前,先找面经哥 一面‍ 0、自我介绍 1、你才工作一年为什么就想找机会了(为什么想跳)【甩锅给公司,反正不是我的问题】 2、对…

boot项目配置邮箱发送

最近项目准备进入测试阶段,时间相对充沛些,便对邮箱的信息发送记录下! 邮箱设置-开启smtp协议及获取授权码 以QQ邮箱为例,其他邮箱大同小异! 开启协议 获取授权码 具体代码 基于javax.mail实现 原文可看 前辈帖子…