CN112221149B - 一种基于深度强化学习的炮兵连智能作战演练*** - Google Patents
一种基于深度强化学习的炮兵连智能作战演练*** Download PDFInfo
- Publication number
- CN112221149B CN112221149B CN202011051742.9A CN202011051742A CN112221149B CN 112221149 B CN112221149 B CN 112221149B CN 202011051742 A CN202011051742 A CN 202011051742A CN 112221149 B CN112221149 B CN 112221149B
- Authority
- CN
- China
- Prior art keywords
- combat
- artillery
- reinforcement learning
- mission
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/822—Strategy games; Role-playing games
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B9/00—Simulators for teaching or training purposes
- G09B9/003—Simulators for teaching or training purposes for military purposes and tactics
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于计算机仿真领域,具体涉及一种基于深度强化学习的炮兵连智能作战演练***。该***包括包括任务管理模块、算法决策模块和可视化演示模块。针对强化学习、矩阵对策、影响图对策、遗传算法和遗传模糊树等方法存在的“维度灾难”、“人类主观性影响”、“规则漏洞”等问题,本发明采用深度强化学习算法,通过其与环境的交互对神经网络进行训练,避免了人类主观影响;不需要经典样本案例;通采用深度神经网络避免“维度灾难”问题。本发明在炮兵连军事演练中战术研究、火力打击、装备性能评估等领域具备广泛的应用前景。
Description
技术领域
本发明属于计算机仿真领域,具体涉及一种基于深度强化学习的炮兵连智能作战演练***。
背景技术
炮兵是陆军的重要组成部分,遂行地面火力突击任务的兵种,是陆***力突击的中坚力量。因其具备火力强大、射程较远以及精确打击目标等特点,可在战场中支援、掩护步兵、装甲兵等兵种的作战行动,因此炮兵的火力行为对战场态势具有重要影响。着眼于炮兵训练需求,伴随着演习的仿真程度越高,投入的成本和精力也就随之增加,这种情况将会不可避免地消耗我军大量的人力物力及财力,甚至可能对我军战斗人员造成伤亡。所以,将计算机仿真技术作为技术手段,构建一套炮兵仿真训练***,借助计算机进行仿真训练成为当前炮兵火力打击领域的迫切需求。
炮兵连智能作战演练***自主决策主要是通过数学优化、人工智能等方法构建由作战态势到行为指令的映射。当前求解映射的主要方式有强化学习、矩阵对策、影响图对策、遗传算法和遗传模糊树等方法。强化学习中的经典算法Q-learning是一种离线策略的学习算法,根据策略所选取的动作与当前环境相互交互,产生相应的奖励值以及下一步的状态来不断地更新Q表,得到更优的Q函数,从而探索出更优的应对战场新态势的作战方案。但是随着从空间和时间上作战任务趋于多样化,加之炮兵战场地形复杂情况,战场态势情况已经庞大到无法通过Q表进行存储,所以这仍然面临着“维度灾难”问题。除此之外,这些方法还将受“人类主观性影响”、“规则漏洞”等问题的困扰。所以,当仿真***战场中出现难以预知的复杂状况时,决策的不确定性也随之提升。
发明内容
针对强化学习、矩阵对策、影响图对策、遗传算法和遗传模糊树等方法存在的“维度灾难”、“人类主观性影响”、“规则漏洞”等问题,本发明采用深度强化学习算法,通过其与环境的交互对神经网络进行训练,避免了人类主观影响;不需要经典样本案例;通采用深度神经网络避免“维度灾难”问题,所以深度强化学习在炮兵连智能作战演练***的研究中有着较好的应用前景。
本发明中根据地图数据、环境数据以及双方的兵力布置等数据信息,结合双深度Q网络(Double Deep Q Network,DDQN)深度强化学习算法,驱使炮兵智能体与作战环境相互交互,不断地试错学习,最终在战术行动上实现与外军炮兵的感知、火力、协同等行为相一致,实时地、动态地反映出演习双方的各项数据。
为了达到上述目的,本发明采用了下列技术方案:
一种基于深度强化学习的炮兵连智能作战演练***,包括任务管理模块、算法决策模块和可视化演示模块;
所述任务管理模块采用客户/服务器模式的网络架构,用于作战任务的新建、作战任务的查询、作战任务的控制;所述作战任务的新建为任务管理模块提供表单填写页面并呈现给用户,以供用户录入对应的作战任务数据,录入过程进行合法性检测,检测完毕后任务管理模块会对录入的作战任务数据进行序列化,之后将序列化后的数据储存在自动生成的文件目录,供算法决策模块和可视化演示模块调用;所述作战任务的查询分为任务列表的查询和单个任务详细信息的查询,单个任务详细信息的查询由任务管理模块向算法决策模块的输出反馈单元发送查询请求,算法决策模块的输出反馈单元查询任务对应的数据并返回给任务管理模块;所述作战任务的控制每隔三秒刷新一次当前任务的状态,用于作战任务的修改、作战任务的撤销、停止DDQN深度强化学习算法的推演和开启作战任务的动画演示;
所述算法决策模块用于训练神经网络进行,使作战演练中的智能体通过不断地仿真训练,具备环境感知、火力感知以及协同作战等较高的智能行为,继而在复杂度较高的战场环境中顺利完成对敌军基地的精确打击演练任务,包括工作台创建单元、计算分析单元和输出反馈单元;所述工作台创建单元调用序列化后的数据并将其进行反序列化,并创建以对应ID命名的文件夹,并持久化各类作战任务信息文件;所述计算分析单元读取作战任务信息文件,采用DDQN深度强化学习算法对其进行训练,得到一个具备高智能行为的炮兵智能体模型,并且输出一个当前最优的炮兵智能体行为决策序列;所述输出反馈单元将当前最优的炮兵智能体行为决策序列持久化储存供可视化演示模块使用,所述输出反馈单元将DDQN深度强化学习算法当前迭代轮数以及每轮迭代所走步数数据持久化存储供任务管理模块使用;
所述可视化演示模块基于Unity3D游戏引擎,根据炮兵智能体行为决策序列对炮兵智能体模型进行行为演示,包括动画预处理单元、逻辑控制单元和粒子特效单元;所述动画预处理单元调用序列化后的数据初始化各个对象的属性,完成各个对象的复制与实例化、动画位置的刷新;所述逻辑控制单元根据当前最优的炮兵智能体行为决策序列对各个对象实体的逻辑控制,将所述炮兵智能体模型的动作分为移动动作和攻击动作;所述粒子特效单元利用火焰与烟雾特效给予用户更好的视觉效果。基于Unity3D游戏引擎对智能体训练后的结果进行演示将抽象的当前最优决策序列以动画的形式展现出来,提供给用户更好的视觉效果。
进一步,所述合法性检测主要检查用户填写表单内容是否正确、逻辑是否合法,以防止用户键入非法的作战任务内容,出现作战任务逻辑冲突等情况。
进一步,所述当前最优的炮兵智能体行为决策序列是DDQN深度强化学习算法历代迭代中所走步数最少的迭代所对应的行为数据文件。
进一步,所述输出反馈单元将DDQN深度强化学习算法当前迭代轮数以及每轮迭代所走步数数据持久化储存供任务管理模块使用,具体为:任务管理模块每隔三秒向算法决策模块的输出反馈单元发送请求获取对应作战任务的DDQN深度强化学习算法当前迭代轮数以及每轮迭代所走步数,以刷新DDQN深度强化学习算法演算过程的折线图,通过折线图,用户可直观的判断算法决策模块的训练结果。
进一步,所述计算分析单元开启对单个炮兵智能体模型特训功能,在多智能体协同作战情况下确保每一个炮兵单智能体模型都可获得正向的奖励,以实现多兵协同作战的目的。
进一步,所述计算分析单元每隔一定轮数以较高的随机值训练炮兵智能体,迭代出更优的解法。
进一步,所述对象为防御工事、己方作战单位、敌方作战单位、敌方基地;所述复制与实例化调用Unity的Instantiate方法完成;所述动画位置的刷新采用Unity脚本中的FixedUpdate()方法。该方法会以固定的时间间隔执行,因此本***以固定的时间间隔去演示每一个决策动作。
进一步,所述移动动作总共有8个,它们在***中的动作编号为0~7,分别代表炮兵智能体模型向上、下、左、右、左上、右上、左下、右下八个方向移动;所述攻击动作分为两种,一种为对敌方基地的攻击动作,其动作编号为8,另外一种为对敌方炮台的攻击动作,其动作编号从9开始,总个数是敌方作战单位的数目,分别对应炮兵智能体模型攻击敌方各个作战单位的动作。
更进一步,所述己方作战单位的移动采用Unity的Navigation寻路功能实现,虽然执行一个特定的移动动作不需要用到寻路算法,但是由于平台的Navigation寻路功能可以自动控制移动对象的转向、移动速度等细节,将小尺度的移动细节交给Navigation处理可以降低代码的复杂度,也会使动画更加流畅自然。敌方作战单位在己方作战单位移动后,会根据己方单位的动作做出相应的反应,例如己方作战单位进入敌方作战单位的射程范围后,敌方作战单位会播放攻击动画。双方作战单位在收到攻击时,会播放被攻击动画等。
进一步,所述火焰与烟雾特效利用Unity的粒子***组件实现,并且使用Additive(soft)着色器。火焰特效的制作方法是准备一张火焰的图片并将其附加到材质中,在Texture SheetAnimation设置两行两列分割,shape属性下选择box。然后将火焰位置限制在作战单位的攻击炮口前,并将其持续时间设置为1秒,如此就能实现火焰特效的正常演示以及自动消失。烟雾特效的周期控制与火焰特效的类似,不同之处是将烟雾材质附加在粒子***上,并设置其旋转并扩大的属性,从而使其更加真实。
序列化:序列化指把Java对象转换为字节序列的过程,目的是在传递和保存对象时保证对象的完整性和可传递性,对象转换为有序字节流,以便在网络上传输或者保存在本地文件中。
反序列化:反序列化指把字节序列恢复为Java对象的过程,目的是根据字节流中保存的对象状态及描述信息,通过反序列化重建对象。
算法理论:
1.强化学习
强化学习(Reinforcement Learning,RL)是一种从环境状态映射到动作的学习算法,目标是使agent在与环境的交互过程中获得最大的累积奖赏,主要用于描绘和解决在与环境交互的过程中学习对象使用某种学习策略以实现某目标的问题。
RL的基本原理为在智能体的某一个动作使环境或其本身的状态发生变化后产生一个奖惩信号,通过奖惩信号去优化智能体的决策算法后继续去用新的状态去尝试下一个动作。RL问题可以用马尔可夫决策过程(Markov Decision Process,MDP)来进行建模。
2.马尔可夫决策过程
马尔可夫决策过程(MDP),其主要是指在具有马尔可夫性质的环境里模拟智能体随机策略与回报的数学模型。环境具有马尔可夫性是指只要当前环境的状态明确,那么不需要借助该环境的历史信息就可以借助下一步的动作明确未来的状态。用状态转移概率公式描述马尔可夫性:
Pss'=P(St+1=s'|St=s)
如果当前状态与下一个状态的转换概率不仅与前一个状态有关,而且与之前的若干个状态有关,那么很难对当前的环境建立模型,所以为了简化算法的建模难度,我们必须将环境定义为具有马尔可夫性。
马尔可夫决策过程可以被一个二元组<S,P>定义。其中S为全部状态的集合,P为状态转移矩阵。
2.1片段与任务分类
假设S0为状态集的初始状态,St为状态集的终止状态,那么由S0到St转换的序列就可以被定义为片段。如果一个任务有确定的终止状态则可以把这个任务定义为片段任务。反之没有终止状态的任务则可被定义为连续性任务。
2.2马尔可夫奖励过程
马尔可夫奖励过程是在马尔可夫决策过程的基础上对不同状态的不同动作赋予不同的奖惩值,马尔可夫奖励过程由四元组<S,P,R,γ>组成。
其中S、P的定义与马尔可夫决策过程中的定义相同,新增的R是一个奖励值函数,其定义为:
Rs=E[Rt+1|St=s]
该公式中Rt+1是在t+1时刻获取的奖励值,St是指在t时刻的状态。
γ表示衰减因子,其描述了一个衰减的过程,因为可以影响未来状态并不仅仅包含当前的状态,当前状态对未来的影响是一个不断衰减的值,其随着时间的增加而衰减。
在衰减因子的基础上可以定义回报值Gt,其表示从t时刻开始经过衰减因子γ影响后的奖励值的和,回报值的公式为:
其中T在连续性任务中趋于无穷大,在片段任务中T为片段的长度。
强化学习问题的模型都可以用马尔可夫决策过程表示其模型,其用一个五元组<S,P,R,A,γ>表示,其中A为有限动作集,剩余四个元素都与马尔可夫奖励过程的四元组元素相同。
3.价值函数和Bellman方程
某个状态的价值函数的定义为在马尔可夫奖励的过程中从某一状态开始其回报值的期望函数如下:
v(s)=E[Gt|St=s]
通过价值函数可以推出Bellman方程的基本形态为:
Gt=Rt+1+γRt+2+γ2Rt+3+...
Gt=Rt+1+γ(Rt+2+γRt+3+...)
Gt=Rt+1+γ(Rt+2+γGt+1)
根据其回报值的期望函数和价值函数可推出:
v(s)=E[Rt+1+γv(St+1)|St=s]
上式即为针对马尔可夫奖励过程的Bellman方程,使用Bellman方程可以求解马尔可夫过程的最优策略。
4.Q-Learning算法
Q-Learning算法是一种无模型的强化学习技术,其已被证明对于任何有限的马尔可夫决策过程都可以找到最优策略。
首先定义动作价值函数Q(s,a),其表示状态集S中某一特定的状态s执行动作集A中某一特定的动作a时的评价分数。动作价值函数可由价值函数扩展而来,其在Q-Learning算法中定义式为:
Q(st,at)=Rt+γ(max(Q(st+1,at+1)))
其含义为t时刻的状态St和第t次执行的动作at的评估值,可由下一时刻的动作价值函数Q(st+1,at+1)乘以迭代因子γ转移而来。Q-Learning算法主要原理是不断迭代动作价值函数,以不断优化决策。
5.Deep Q Network(DQN)算法
本发明中使用Q-Learning算法虽然可以求出最优策略,但是Q-Learning算法无法解决维度灾难问题,算法中为了实现状态动作函数的不断迭代,将状态动作函数的值储存于内存中。但是计算机的内存空间是极其有限的,假如在一个大小为50*50的战场有10个炮兵单位,那么仅仅是炮兵单位的位置就有约1033种不同的情况,显然大多数计算机的内存是无法存储这么巨大的状态表的。
DQN算法是由Mnih等人将卷积神经网络与传统的强化学习中的Q学习算法相结合所提出的,使用神经网络来表示价值近似函数,将深度学习的概念融入强化学习中,采用价值近似函数去对状态价值函数Q进行近似估计,故而解决了Q-Learning算法的维度灾难问题。
DQN的算法的过程如下:
(1)初始化记忆回放单元。
(2)初始化神经网络,对神经网络的权重参数进行随机初始化。
(3)初始化战场环境、作战单位状态。
(4)随机选择是从目标值神经网络中获取动作或者随机选择一个动作。
(5)获取执行对应动作后的奖励、下一个网络的输入单元。
(6)将当前状态放入记忆回放单元中。
(7)从记忆回放单元中随机获得一定个数的状态,并进行神经网络权重更新。
5.1 DQN模型结构
DQN模型运用的是Q-Learning的一种变种训练深度卷积神经(CNN),算法模型的输入是初始战场的状态信息,将该输入信息离散化后经过CNN的非线性变换,最终在输出层产生每个动作相应的Q值,DQN算法结构图如图8所示。
5.2目标网络
DQN采用近似表示值函数的优化目标,其将值函数参数化表示为Q(s,a;θi),每次迭代的优化目标Q值为:
其中s'为下一时刻的状态,a'为所有可能的动作,θ'为目标网络的参数。预测Q估计的当前值网络使用的是最新的参数,而预测Q现实的目标网络使用的是之前的参数。每经过一定次数的迭代,再将当前值的参数复制给目标网络,通过最小化当前Q值和目标Q值之间的均方误差来更新网络参数。DQN的损失函数为:
对上式中参数θ求偏导,求得损失函数梯度:
DQN采用增加目标网络的方式降低了当前Q值和目标Q值的相关性,从而提高了算法稳定性,DQN算法训练流程图如图9所示。
5.3记忆回放机制
与Q-Learning算法相比较,DQN还具备一个较大的优势,DQN采用记忆回放机制训练状态价值网络,因为状态之间的关联性较大,经验回放可以打破样本间彼此的关联性,所以可以使神经网络的训练更加收敛且稳定,可有效的提高学习效率。
6.Double Deep Q Network算法
然而DQN算法在学习过程中常常会出现过高估计Q值的问题,其原因是DQN在进行值函数优化目标时,动作选择和策略评估都是基于目标值网络的参数θ',因此每次迭代选取的都是下一个状态中最大Q值所对应的动作。
为了解决DQN算法在学习中过高估计值的问题,Hasselt等人基于DQN和双Q学习(Double Q-learning)算法提出双DQN(Double DQN,DDQN)算法,DDQN算法则是将动作选择和策略评估分开进行,使用当前值网络的参数θ来选择最优动作,使用目标值网络的参数θ'来评估该最优动作,DDQN能够估计出更加准确的Q值,可获得更稳定有效的策略。DDQN的优化目标Q值为:
7.算法详细设计
7.1记忆回放单元的相关参数设置
本***出于任务复杂性的考虑,将记忆回放单元的大小设置为1000,每次训练神经网络所用到的回放记忆单元的状态个数为50个。
在每次获取到动作所对应的激励值后,***将执行动作前的智能体状态、执行动作后的智能体状态、动作和奖励值***记忆回放单元。若记忆回放单元已满,则弹出当前存储的最早的状态。每次训练神经网络时将随机在记忆回放单元中抽取50条记录以完成对神经网络的训练。
7.2神经网络的初始化及更新
设隐藏层每层偏置设置为b,本***初始化b为0.01。设连接每层网络的矩阵为w,本***使用正态分布初始化神经网络的参数。
隐藏层神经网络的深度和广度过大或者过小后都会使拟合的效果饱和或负增长,所以我们应该根据当前任务的复杂度设置一个较为中肯的神经网络大小,以使该神经网络在各种情况下都适用。由于大多数作战任务完成目标的打击时所经历的状态数集中在10000以内,本***将隐藏层的第一层广度设置为2500,之后每一层的广度依次递减,所以如此设置可以节省计算时间和空间。
本***通过Adam优化器对神经网络进行优化,该优化器可以通过自适应梯度对学习效率优化,其与随机梯度优化过程存在一定区别,具体表现在对于每个参数都有不同的学习率。根据网络逆向传播,通过动作的预期值和实际值得到误差值,再根据所得误差值对整个神经网络进行反向传播来更新神经网络。每次更新神经网络时,将随机从记忆回放单元中选择一些状态进行神经网络的更新,即利用这些状态通过Adam优化器对每个神经网络的参数进行优化以完成神经网络的更新。
与现有技术相比本发明具有以下优点:
1.本发明中根据地图数据、环境数据以及双方的兵力布置等数据信息,通过算法驱使炮兵智能体与作战环境相互交互,实时地、动态地反映出演习双方的各项数据,作战人员采用计算机仿真软件进行训练,可有效降低军队训练成本及人员伤亡。针对强化学习、矩阵对策、影响图对策、遗传算法和遗传模糊树等方法存在的“维度灾难”、“人类主观性影响”、“规则漏洞”等问题,本发明采用深度强化学习算法,通过其与环境的交互对神经网络进行训练,避免了人类主观影响;不需要经典样本案例;通采用深度神经网络避免“维度灾难”问题。本发明在炮兵连军事演练中战术研究、火力打击、装备性能评估等领域具备广泛的应用前景。
2.本发明采用客户/服务器模式的网络架构,与peer-to-peer架构相比较,具有如下优势:
(1)***的可靠性与维护性高;
(2)数据全部存于服务端,***的安全性高;
(3)数据集中存储,易于对数据进行管理,而若采用peer-to-peer模式则既耗时又易出错;
(4)由于执行算法程序比较耗费计算机资源,采用客户/服务器模式可有效节省硬件开销,提高数据处理能力与算法执行效率。
附图说明
图1为本发明***的结构图;
图2为本发明创建作战任务界面;
图3为本发明作战任务具体信息界面;
图4为DQN算法训练折线图;
图5为DDQN算法训练折线图;
图6为DDQN算法近十次训练折线图;
图7为DDQN深度强化学习算法的总控流程图;
图8为DQN算法结构图;
图9为DQN算法训练流程图;
图10为第一人称视角战场;
图11为鸟瞰视角战场。
具体实施方式
如图1所示,一种基于深度强化学习的炮兵连智能作战演练***,它包括任务管理模块、算法决策模块和可视化演示模块。
所述任务管理模块采用客户/服务器模式的网络架构,用于作战任务的新建、作战任务的查询、作战任务的控制;所述作战任务的新建为任务管理模块提供表单填写页面并呈现给用户,以供用户录入对应的作战任务数据,录入过程进行合法性检测,检测完毕后任务管理模块会对录入的作战任务数据进行序列化,之后将序列化后的数据储存在自动生成的文件目录,供算法决策模块和可视化演示模块调用;
如图2所示,本发明创建作战任务界面中作战任务录入采用数据绑定的方式,将View层和Model层的数据相互绑定,Model层的数据随着用户的键入而改变,重载JavaFx框架下的UnaryOperator类以实现对用户输入内容的限定,保证了***的易用性与安全性。同时本发明采用动态创建控件的方式,以实现用户可以根据需要动态地添加多个作战对象的信息。
所述作战任务的查询分为任务列表的查询和单个任务详细信息的查询,在用户点击单个作战任务的详细信息后,任务管理模块会再次请求算法决策模块的输出反馈单元,获取该作战任务的具体信息,作战任务具体信息界面如图3所示。任务管理模块每隔三秒会向算法决策模块发送请求获取对应任务的演算情况,以刷新算法演算过程的迭代折线图。
图4为DQN算法训练折线图,DDQN算法训练折线图如图5所示。在初始战场状态相同的情况下,分别使用DQN算法和DDQN算法对神经网络依次进行训练,训练结束后,通过对两个算法的训练折线图进行比较。可以观察到DDQN算法训练迭代到200余次,步数稳定在40步左右,相反,DQN算法训练结果步数上下浮动较大,训练结果不能够有效收敛。实验结果显示,DDQN算法较DQN算法稳定有效,更适用于本发明。
为了更好的研究算法稳定性,方便查看最新的算法演算结果,客户端的算法训练折线图也可以选择只显示最近的十次迭代信息,近十次训练折线图如图6所示。
所述作战任务的控制每隔三秒刷新一次当前任务的状态,用于作战任务的修改、作战任务的撤销、停止DDQN深度强化学习算法的推演和开启作战任务的动画演示;
如果检测到当前作战任务正在进行算法演算,则显示“关闭远程算法演算”的按钮,若检测到当前作战任务已演算结束,则显示“开启演示”按钮。“关闭远程算法演算”按钮可以访问算法决策模块关闭算法的接口,获取算法决策模块返回的信息后再次查询作战任务状态接口更新UI。“开启演示”按钮会访问算法决策模块以获取演示结果,若获取失败则提示用户,若获取成功则进行演示。
所述算法决策模块用于训练神经网络进行,主要使用深度强化学习算法对输入数据进行处理并输出决策,决策模块本***最重要也是核心的一个模块,包括工作台创建单元、计算分析单元和输出反馈单元;
所述工作台创建单元调用序列化后的数据并将其进行反序列化,并创建以对应ID命名的文件夹,并持久化各类作战任务信息文件;
所述计算分析单元读取作战任务信息文件,采用DDQN深度强化学习算法对其进行训练,得到一个具备高智能行为的炮兵智能体模型,并且输出一个当前最优的炮兵智能体行为决策序列,当前最优的炮兵智能体行为决策序列是DDQN深度强化学习算法历代迭代中所走步数最少的迭代所对应的行为数据文件,DDQN深度强化学习算法的总控流程图如图7所示;计算分析单元开启对单个炮兵智能体模型特训功能,确保每一个炮兵智能体模型都可获得正向的奖励;计算分析单元每隔10轮以50%随机值训练炮兵智能体,迭代出更优的解法。
所述输出反馈单元将当前最优的炮兵智能体行为决策序列持久化储存供可视化演示模块使用;输出反馈单元将DDQN深度强化学习算法当前迭代轮数以及每轮迭代所走步数数据持久化存储供任务管理模块使用:任务管理模块每隔三秒向算法决策模块的输出反馈单元发送请求获取对应作战任务的DDQN深度强化学习算法当前迭代轮数以及每轮迭代所走步数,以刷新DDQN深度强化学习算法演算过程的折线图;
所述可视化演示模块基于Unity3D游戏引擎,根据炮兵智能体行为决策序列对炮兵智能体模型进行行为演示,包括动画预处理单元、逻辑控制单元和特效单元;
所述动画预处理单元调用序列化后的数据初始化各个对象(防御工事、己方作战单位、敌方作战单位、敌方基地)的属性,调用Unity的Instantiate方法完成各个对象的复制与实例化、采用Unity脚本中的FixedUpdate()方法动画位置的刷新,该方法会以固定的时间间隔执行,因此本***以固定的时间间隔去演示每一个决策动作。
己方作战单位的移动采用Unity的Navigation寻路功能实现。虽然执行一个特定的移动动作不需要用到寻路算法,但是由于平台的Navigation寻路功能可以自动控制移动对象的转向、移动速度等细节,将小尺度的移动细节交给Navigation处理可以降低代码的复杂度,也会使动画更加流畅自然。敌方作战单位在己方作战单位移动后,会根据己方单位的动作做出相应的反应,例如己方作战单位进入敌方作战单位的射程范围后,敌方作战单位会播放攻击动画。双方作战单位在收到攻击时,会播放被攻击动画等。
所述逻辑控制单元根据当前最优的炮兵智能体行为决策序列对各个对象实体的逻辑控制,将所述炮兵智能体模型的动作分为移动动作和攻击动作;移动动作总共有8个,它们在***中的动作编号为0~7,分别代表炮兵智能体模型向上、下、左、右、左上、右上、左下、右下八个方向移动;攻击动作分为两种,一种为对敌方基地的攻击动作,其动作编号为8,另外一种为对敌方炮台的攻击动作,其动作编号从9开始,总个数是敌方作战单位的数目,分别对应炮兵智能体模型攻击敌方各个作战单位的动作。
所述特效单元利用火焰与烟雾特效给予用户更好的视觉效果。火焰与烟雾特效利用Unity的粒子***组件实现,并且使用Additive(soft)着色器。火焰特效的制作方法是准备一张火焰的图片并将其附加到材质中,在Texture Sheet Animation设置两行两列分割,shape属性下选择box。然后将火焰位置限制在作战单位的攻击炮口前,并将其持续时间设置为1秒,如此就能实现火焰特效的正常演示以及自动消失。烟雾特效的周期控制与火焰特效的类似,不同之处是将烟雾材质附加在粒子***上,并设置其旋转并扩大的属性,从而使其更加真实,动画演示场景如图10和图11所示,其中图10为第一人称视角战场,图11为鸟瞰视角战场。
Claims (10)
1.一种基于深度强化学习的炮兵连智能作战演练***,其特征在于,包括任务管理模块、算法决策模块和可视化演示模块;
所述任务管理模块采用客户/服务器模式的网络架构,用于作战任务的新建、作战任务的查询、作战任务的控制;所述作战任务的新建为任务管理模块提供表单填写页面并呈现给用户,以供用户录入对应的作战任务数据,录入过程进行合法性检测,检测完毕后任务管理模块会对录入的作战任务数据进行序列化,之后将序列化后的数据储存在自动生成的文件目录,供算法决策模块和可视化演示模块调用;所述作战任务的查询分为任务列表的查询和单个任务详细信息的查询,单个任务详细信息的查询由任务管理模块向算法决策模块的输出反馈单元发送查询请求,算法决策模块的输出反馈单元查询任务对应的数据并返回给任务管理模块;所述作战任务的控制每隔三秒刷新一次当前任务的状态,用于作战任务的修改、作战任务的撤销、停止DDQN深度强化学习算法的推演和开启作战任务的动画演示;
所述算法决策模块用于训练神经网络,包括工作台创建单元、计算分析单元和输出反馈单元;所述工作台创建单元调用序列化后的数据并将其进行反序列化,并创建以对应ID命名的文件夹,并持久化各类作战任务信息文件;所述计算分析单元读取作战任务信息文件,采用DDQN深度强化学习算法对其进行训练,得到一个具备高智能行为的炮兵智能体模型,并且输出一个当前最优的炮兵智能体行为决策序列;所述输出反馈单元将当前最优的炮兵智能体行为决策序列持久化储存供可视化演示模块使用,所述输出反馈单元将DDQN深度强化学习算法当前迭代轮数以及每轮迭代所走步数数据持久化存储供任务管理模块使用;
所述可视化演示模块基于Unity3D游戏引擎,根据炮兵智能体行为决策序列对炮兵智能体模型进行行为演示,包括动画预处理单元、逻辑控制单元和粒子特效单元;所述动画预处理单元调用序列化后的数据初始化各个对象的属性,完成各个对象的复制与实例化、动画位置的刷新;所述逻辑控制单元根据当前最优的炮兵智能体行为决策序列对各个对象实体的逻辑控制,将所述炮兵智能体模型的动作分为移动动作和攻击动作;所述粒子特效单元利用火焰与烟雾特效给予用户更好的视觉效果,所述各个对象为防御工事、己方作战单位、敌方作战单位、敌方基地。
2.根据权利要求1所述的一种基于深度强化学习的炮兵连智能作战演练***,其特征在于,所述合法性检测主要检查用户填写表单内容是否正确、逻辑是否合法,以防止用户键入非法的作战任务内容。
3.根据权利要求1所述的一种基于深度强化学习的炮兵连智能作战演练***,其特征在于,所述当前最优的炮兵智能体行为决策序列是DDQN深度强化学习算法历代迭代中所走步数最少的迭代所对应的行为数据文件。
4.根据权利要求1所述的一种基于深度强化学习的炮兵连智能作战演练***,其特征在于,所述输出反馈单元将DDQN深度强化学习算法当前迭代轮数以及每轮迭代所走步数数据持久化储存供任务管理模块使用,具体为:任务管理模块每隔三秒向算法决策模块的输出反馈单元发送请求获取对应作战任务的DDQN深度强化学习算法当前迭代轮数以及每轮迭代所走步数,以刷新DDQN深度强化学习算法演算过程的折线图。
5.根据权利要求1所述的一种基于深度强化学习的炮兵连智能作战演练***,其特征在于,所述计算分析单元开启对单个炮兵智能体模型特训功能,确保每一个炮兵智能体模型都可获得正向的奖励。
6.根据权利要求1所述的一种基于深度强化学习的炮兵连智能作战演练***,其特征在于,所述计算分析单元每隔一定轮数以较高的随机值训练炮兵智能体,迭代出更优的解法。
7.根据权利要求1所述的一种基于深度强化学习的炮兵连智能作战演练***,其特征在于,所述复制与实例化调用Unity的Instantiate方法完成;所述动画位置的刷新采用Unity脚本中的FixedUpdate()方法。
8.根据权利要求1所述的一种基于深度强化学习的炮兵连智能作战演练***,其特征在于,所述移动动作总共有8个,它们在***中的动作编号为0~7,分别代表炮兵智能体模型向上、下、左、右、左上、右上、左下、右下八个方向移动;所述攻击动作分为两种,一种为对敌方基地的攻击动作,其动作编号为8,另外一种为对敌方炮台的攻击动作,其动作编号从9开始,总个数是敌方作战单位的数目,分别对应炮兵智能体模型攻击敌方各个作战单位的动作。
9.根据权利要求7所述的一种基于深度强化学习的炮兵连智能作战演练***,其特征在于,所述己方作战单位的移动采用Unity的Navigation寻路功能实现,所述敌方作战单位在己方作战单位移动后,会根据己方单位的动作做出相应的反应。
10.根据权利要求1所述的一种基于深度强化学习的炮兵连智能作战演练***,其特征在于,所述火焰与烟雾特效利用Unity的粒子***组件实现,并且使用Additive(soft)着色器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011051742.9A CN112221149B (zh) | 2020-09-29 | 2020-09-29 | 一种基于深度强化学习的炮兵连智能作战演练*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011051742.9A CN112221149B (zh) | 2020-09-29 | 2020-09-29 | 一种基于深度强化学习的炮兵连智能作战演练*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112221149A CN112221149A (zh) | 2021-01-15 |
CN112221149B true CN112221149B (zh) | 2022-07-19 |
Family
ID=74120783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011051742.9A Active CN112221149B (zh) | 2020-09-29 | 2020-09-29 | 一种基于深度强化学习的炮兵连智能作战演练*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112221149B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112802091B (zh) * | 2021-01-28 | 2023-08-29 | 北京理工大学 | 一种增强现实条件下基于dqn的智能体对抗行为实现方法 |
CN113660241B (zh) * | 2021-08-11 | 2023-05-23 | 积至(海南)信息技术有限公司 | 一种基于深度强化学习的自动化渗透测试方法 |
CN113836009B (zh) * | 2021-09-14 | 2024-06-21 | 广东新安怀科技发展有限公司 | 一种基于强化学习的智能合约模糊测试方法及*** |
CN116452011B (zh) * | 2023-03-14 | 2023-10-24 | 中国人民解放军32370部队 | 一种用于智能体决策的数据处理方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729879A (zh) * | 2013-12-20 | 2014-04-16 | 浙江大学 | 基于力觉计算的虚拟手稳定抓取方法 |
US9117316B1 (en) * | 2012-12-20 | 2015-08-25 | Lockheed Martin Corporation | Social identity models for automated entity interactions |
CN106247848A (zh) * | 2016-07-26 | 2016-12-21 | 中北大学 | 一种复杂自动供输弹***的早期故障诊断方法 |
CN108520664A (zh) * | 2018-03-28 | 2018-09-11 | 北京华如科技股份有限公司 | 陆空实兵实装对抗训练*** |
CN109472043A (zh) * | 2018-09-17 | 2019-03-15 | 北京晶品镜像科技有限公司 | 一种随伴炮兵连的自主射击决策方法 |
CN109656319A (zh) * | 2018-11-22 | 2019-04-19 | 亮风台(上海)信息科技有限公司 | 一种用于呈现地面行动辅助信息方法与设备 |
CN110138764A (zh) * | 2019-05-10 | 2019-08-16 | 中北大学 | 一种基于层次攻击图的攻击路径分析方法 |
CN110278249A (zh) * | 2019-05-30 | 2019-09-24 | 天津神兔未来科技有限公司 | 一种分布式群体智能*** |
CN110770761A (zh) * | 2017-07-06 | 2020-02-07 | 华为技术有限公司 | 深度学习***和方法以及使用深度学习的无线网络优化 |
CN110930483A (zh) * | 2019-11-20 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 一种角色控制的方法、模型训练的方法以及相关装置 |
CN111625930A (zh) * | 2020-04-28 | 2020-09-04 | 南京邮电大学 | 一种桌面式自行火炮模拟训练*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9555328B2 (en) * | 2005-11-30 | 2017-01-31 | Daybreak Game Company Llc | Modeling complex environments using an interconnected system of simulation layers |
US9602738B2 (en) * | 2011-11-23 | 2017-03-21 | Avigilon Fortress Corporation | Automatic event detection, text generation, and use thereof |
US20200158471A1 (en) * | 2018-11-19 | 2020-05-21 | Cubic Corporation | Artillery unit control panel emulator integration with training system |
-
2020
- 2020-09-29 CN CN202011051742.9A patent/CN112221149B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9117316B1 (en) * | 2012-12-20 | 2015-08-25 | Lockheed Martin Corporation | Social identity models for automated entity interactions |
CN103729879A (zh) * | 2013-12-20 | 2014-04-16 | 浙江大学 | 基于力觉计算的虚拟手稳定抓取方法 |
CN106247848A (zh) * | 2016-07-26 | 2016-12-21 | 中北大学 | 一种复杂自动供输弹***的早期故障诊断方法 |
CN110770761A (zh) * | 2017-07-06 | 2020-02-07 | 华为技术有限公司 | 深度学习***和方法以及使用深度学习的无线网络优化 |
CN108520664A (zh) * | 2018-03-28 | 2018-09-11 | 北京华如科技股份有限公司 | 陆空实兵实装对抗训练*** |
CN109472043A (zh) * | 2018-09-17 | 2019-03-15 | 北京晶品镜像科技有限公司 | 一种随伴炮兵连的自主射击决策方法 |
CN109656319A (zh) * | 2018-11-22 | 2019-04-19 | 亮风台(上海)信息科技有限公司 | 一种用于呈现地面行动辅助信息方法与设备 |
CN110138764A (zh) * | 2019-05-10 | 2019-08-16 | 中北大学 | 一种基于层次攻击图的攻击路径分析方法 |
CN110278249A (zh) * | 2019-05-30 | 2019-09-24 | 天津神兔未来科技有限公司 | 一种分布式群体智能*** |
CN110930483A (zh) * | 2019-11-20 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 一种角色控制的方法、模型训练的方法以及相关装置 |
CN111625930A (zh) * | 2020-04-28 | 2020-09-04 | 南京邮电大学 | 一种桌面式自行火炮模拟训练*** |
Non-Patent Citations (5)
Title |
---|
Intrinsic and scattering attenuation as derived from fluid induced microseismicity at the German Continental Deep Drilling site;D. Fielitz;《Geophysical Journal International》;20150430;第201卷(第3期);全文 * |
一种权重平均值的深度双Q网络方法;吴金金;《计算机研究与发展》;20200315;第57卷(第3期);全文 * |
基于模拟演练***智能体的设计与实现;邵鹏;《中国优秀硕士学位论文全文数据库信息科技辑》;20150115(第1期);全文 * |
炮兵部队跨区基地化演练中的车辆保障;王红良;《军事交通学院学报》;20191215;第21卷(第12期);全文 * |
空战战场环境模拟关键技术研究;黄进;《中国优秀硕士学位论文社会科学I辑》;20160315(第3期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112221149A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112221149B (zh) | 一种基于深度强化学习的炮兵连智能作战演练*** | |
CN112329348A (zh) | 一种面向非完全信息条件下军事对抗博弈的智能决策方法 | |
CN101977662B (zh) | 将推测物理学建模与基于目标人工智能组合的方法和*** | |
CN111291890A (zh) | 一种博弈策略优化方法、***及存储介质 | |
CN113688977B (zh) | 面向对抗任务的人机共生强化学习方法、装置、计算设备及存储介质 | |
Buro et al. | RTS games as test-bed for real-time AI research | |
CN112131786A (zh) | 基于多智能体强化学习的目标探测与分配方法及装置 | |
Gmytrasiewicz et al. | Bayesian update of recursive agent models | |
CN112742028B (zh) | 一种对抗博弈的编队决策方法、***、介质及设备 | |
CN114404975A (zh) | 决策模型的训练方法、装置、设备、存储介质及程序产品 | |
Smolyakov et al. | Design of the software architecture for starcraft video game on the basis of finite state machines | |
Zhao et al. | Shuffled frog leaping algorithm with non-dominated sorting for dynamic weapon-target assignment | |
Swiechowski et al. | Granular games in real-time environment | |
CN116596343A (zh) | 一种基于深度强化学习的智能兵棋推演决策方法 | |
CN114565261B (zh) | 基于gmqn的协同作战控制方法、***、设备及介质 | |
CN114662655A (zh) | 一种基于注意力机制的兵棋推演ai分层决策方法及装置 | |
Liu et al. | Soft-actor-attention-critic based on unknown agent action prediction for multi-agent collaborative confrontation | |
Patel et al. | Improving behavior of computer game bots using fictitious play | |
Wei et al. | Research on combat simulation agent modelling methods combined with reinforcement learning | |
Woolley et al. | Genetic evolution of hierarchical behavior structures | |
Porto et al. | Evolution of intelligently interactive behaviors for simulated forces | |
Hogg et al. | Game AI for domination games | |
Ou et al. | A New Decision-Making Approach via Monte Carlo Tree Search and A2C | |
CN117217330A (zh) | Ai模型的训练方法、装置、设备及存储介质 | |
CN118095481A (zh) | 一种基于克隆学习的多智能体强化学习训练方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |