中国科技核心期刊      中国指挥与控制学会会刊     军事装备类重点期刊
建模仿真与评估

基于仿真实验的智能并行训练方法

  • 马春华
展开
  • 电磁空间安全全国重点实验室, 四川 成都 610036

马春华(1991—),女,硕士,工程师,研究方向为军事博弈仿真与智能训练技术。

Copy editor: 张培培

收稿日期: 2023-04-18

  修回日期: 2023-05-09

  网络出版日期: 2024-02-21

Intelligent parallel training method based on simulation experiments

  • MA Chunhua
Expand
  • National Key Laboratory of Electromagnetic Space Security, Chengdu 610036, China

Received date: 2023-04-18

  Revised date: 2023-05-09

  Online published: 2024-02-21

摘要

智能训练是利用机器学习算法对神经网络智能体模型进行训练优化的过程,智能体模型通过不断试错的训练方式实现智能提升。大规模训练数据是智能训练的必要条件,通常难以从现实世界中直接获取,如何通过仿真的方式生成大量有效的训练数据,是智能训练的重要研究方向。对此提出一种基于仿真实验的智能并行训练方法,利用仿真实验管理可快速生成批量仿真实验想定,并支持节点自动部署和运行,通过合理的训练架构设计和有效训练流程设计实现智能并行训练。通过实际案例展示了智能训练的仿真实验管理过程,并结合训练效果证明了给出的方法提高了智能训练效率和智能体泛化性。

本文引用格式

马春华 . 基于仿真实验的智能并行训练方法[J]. 指挥控制与仿真, 2024 , 46(1) : 93 -99 . DOI: 10.3969/j.issn.1673-3819.2024.01.012

Abstract

Intelligent training is the process of using machine learning algorithms to train and optimize neural network agent models. The agent model achieves intelligent improvement through continuous trial and error training. Large scale training data is a necessary condition for intelligent learning training, which is usually difficult to obtain directly from the real world. How to generate a large amount of effective training data through simulation is an important research direction for intelligent agent training. This article proposes an intelligent parallel training method based on simulation experiments. By utilizing simulation experiment management, batch simulation experiment scenarios can be quickly generated, and nodes can be automatically deployed and run. Intelligent parallel training can be achieved through reasonable training architecture design and effective training process design. The simulation experiment management process of intelligent training is demonstrated through practical cases, and combined with training results, it is proven that the method proposed in this article improves the efficiency of intelligent training and the generalization of intelligent agents.

随着机器学习技术的发展,基于强化学习的智能训练受到广泛关注[1]。智能训练系统与仿真推演系统分别作为神经网络智能体的训练场和检验场,由仿真推演系统产生仿真数据后,通过交互中间件发送给智能训练系统,智能训练系统则根据仿真数据进行学习训练,更新神经网络参数,并生成决策控制指令,再通过交互中间件发送给仿真推演系统进行响应。在一次智能训练任务中,仿真推演系统通常基于一个固定的仿真想定文件进行仿真推演运行,训练得到的智能体泛化性较差,略微调整仿真想定后其运用效果就无法满足要求,因此,工程上通常通过手动调整仿真想定设计参数配置后,进行多次迭代训练,但是想定设计专业性强,尤其当可以调整的参数较多时,通过人工调整的方式任务量大,而且串行训练的效率低。
针对以上问题,本文提出一种基于仿真实验的智能并行训练方法,通过仿真实验设计软件实现自动调整仿真想定参数,在较短的时间内自动生成大量作战仿真想定样本,并通过仿真实验管控实现基于多仿真想定的仿真并行运行,从而支撑智能并行训练。

1 智能训练架构

1.1 智能训练架构

强化学习就是通过智能体在环境中不断探索和学习的过程,目的是通过不断向更高奖励方向前进,找到稳定获得最高奖励的神经网络参数,因此,智能体在学习训练的时候,需要环境产生大量样本数据作为其训练数据。图1是典型的基于执行者-评价者强化学习算法(Actor-Critic Algorithm,AC)[2]的智能训练架构,包括仿真推演系统与智能训练系统。仿真推演系统就是产生训练数据的环境,智能训练系统就是智能体的训练场。两个系统都可以作为整个训练过程的运行控制方,决定整个仿真和训练过程的开始、暂停、结束、重置等运行控制。基于强化学习的智能体在与仿真推演交互过程中不断学习训练,从而实现智能能力迭代提升,因此,仿真系统产生的训练样本数据的“数量”是智能体最终训练效果的重要因素之一。但是基于AC算法的智能训练架构是单线程的,训练过程中通过串行方式采集训练样本,无法满足复杂智能训练的时间要求。
图1 基于AC算法的智能训练架构图

Fig.1 Intelligent training architecture diagram based on AC algorithm

1.2 智能并行训练架构

为提高训练样本数据量,通常通过并行训练提高训练数据的生成能力。异步优势执行者-评价者算法(Asynchronous Advanced Actor-Critic Algorithm,A3C)[3]是基于AC算法衍生出的同策略并行训练方法,基于A3C算法的智能训练架构如图2所示。该架构采用集中式学习分布式决策的训练方式,图中每一个训练节点为一个训练分身,利用多个训练节点并行地采集训练数据,并同步或者异步上传给学习训练模块进行全局神经网络更新,同时利用本地神经网络进行节点策略生成,一定时间后,根据学习训练模块的全局神经网络更新节点的本地神经网络。
图2 基于A3C算法的智能并行训练架构图

Fig.2 Intelligent parallel training architecture diagram based on A3C algorithm

并行训练使得智能体同时和多个仿真推演系统进行交互并完成学习,使得智能体能够在更短的时间内获得更多的训练数据,支撑智能训练加速迭代。但是除了训练样本数据的“数量”,其“质量”也是智能体最终训练效果的重要因素之一。现有的智能并行训练相关研究[4-6]通常由智能训练系统作为运行控制方,训练开始通过复制自动部署多套仿真推演系统副本,因此,各系统加载相同的想定文件,导致训练样本数据的“质量”方差小,最终训练生成的智能体泛化性不足。

2 基于仿真实验的智能并行训练方法

2.1 基于仿真实验的智能并行训练架构

为了提高智能训练效率和智能体泛化性,在图2的智能并行训练架构基础上,本文提出一种基于仿真实验的智能并行训练架构,如图3所示,在仿真推演系统中增加仿真实验管理模块,主要进行仿真实验设计和实验运行管控。在基于仿真实验的智能并行训练架构中,由仿真端作为运行控制方,根据自动生成的批量仿真实验想定,自动分配或手动分配硬件资源后,通过自动部署仿真节点和训练节点,实时监控整个仿真和训练运行过程。基于仿真实验的智能并行训练架构同样采用集中式学习、分布式决策的训练方式,多个训练节点并行地采集训练数据,为全局策略网络提供训练样本集,并基于本地策略网络参数进行实时决策控制,一定时间或条件后根据全局网络更新本地策略网络。
图3 基于仿真实验的智能并行训练架构图

Fig.3 Intelligent parallel training architecture diagram based on simulation experiments

其中,仿真节点与训练节点之间通过交互中间件进行数据交互,交互内容包括运行控制信息、仿真模型数据以及智能控制指令等。为减少仿真端和智能端的耦合性,本文提出的架构支持仿真节点和训练节点采用异部署方式,根据不同的交互内容,分别采用gRPC和HTTP的方式进行通信,运行控制信息通过HTTP报文方式交互,仿真模型数据和智能控制指令通过gRPC的请求应答方式交互。

2.2 面向智能训练的仿真实验管理

仿真实验管理作为智能并行训练架构的核心控制单元,主要包括仿真实验设计和实验运行管控两种功能,利用软件工程的思想构建仿真实验设计软件和实验运行管控软件[7],辅助研究人员根据实验目标,在较短的时间内自动生成批量仿真实验想定,并实现针对大规模实验想定的运行节点硬件资源规划和自动部署运行。
1)仿真实验设计
为同时提高训练样本数据的“数量”和“质量”,在训练准备阶段,快速构建多套差异化的仿真实验想定是最有效的方法。针对作战仿真想定设计专业性强、任务量大和易出错等特点,利用仿真实验设计软件自动调整仿真想定参数,并在较短时间内批量生成仿真实验想定文件。面向智能训练的仿真实验设计具体步骤如图4所示。
图4 智能训练的仿真实验设计流程图

Fig.4 Flow chart of simulation experiment design for intelligent training

①管理实验方案,实验方案是仿真实验的入口,用户可进行新建、编辑、删除等操作对仿真实验进行管理。
②关联想定文件,初始想定文件是仿真实验的基准,加载并解析选中的初始想定文件,提取可以进行参数调整的实验因子,通常包括想定基本信息、仿真实体属性、环境属性等[8]
③设计实验因素,实验因素设计包括实验因子选择和实验水平设计,根据实验目的选取实验因子后,根据实验因子的数据类型进行实验水平设计,通常包括参数取值范围、数值单位、水平数量等。
④选择实验方法,实验方法是自动生成实验样本的技术手段,常用的实验设计方法有均匀设计、随机设计、析因设计、正交设计等[9]。均匀设计针对一个实验因子,在实验参数取值范围内,按照等差数列规律产生指定水平数量的实验参数值。随机设计针对一个实验因子,在实验参数取值范围内,按照随机取值规律产生指定水平数量的实验参数值。析因设计针对两个以上实验因子,把全部实验因子的各实验水平进行完全排列组合。正交设计针对三个及以上实验因子,通过选择合适的正交表实现多因子、多水平的实验,并采用统计分析法进行实验结果分析。
⑤生成实验想定:通过实验方法快速生成具有不同的实验因子和实验水平值的实验样本,并自动保存为可执行的仿真实验想定文件。
2)实验运行管控
为提高智能并行训练过程的自动化程度,通过实验运行管控对基于大规模实验想定的运行节点硬件资源进行规划,并进一步实现仿真节点和训练节点自动化部署和运行监控[10]。面向智能训练的实验运行管控具体步骤如图5所示。
图5 智能训练的实验运行管控流程图

Fig.5 Flow chart of simulation experiment control for intelligent training

①仿真实验想定筛选:基于仿真实验设计生成的仿真实验想定文件,通过进一步人工筛选确定需开展实验的想定文件集,通过筛选出的想定实验文件数量,可以确定仿真节点与训练节点的运行数量。
②硬件资源规划:根据运行节点数量以及各运行节点的最低硬件资源需求,通过自动或手动配置的方式规划空闲的硬件资源。
③仿真节点打包部署:根据硬件资源分配方案,完成仿真运行环境打包分发,并自动部署仿真运行环境。
④训练节点自动生成:根据仿真节点的部署情况,自动实例化生成对应的训练节点,包括交互中间件的实例化生成。
⑤运行状态监控:训练开始后,各仿真节点开始并行运行并控制相应的训练节点运行和交互。基于实验运行监控界面,实现运行状态以及硬件资源使用情况监控等功能。

2.3 基于实验管控的智能并行训练流程

实验运行管控是整个训练运行的控制中心,不仅对仿真节点的部署运行进行控制,而且对训练节点的生成和运行进行控制。训练开始后,首先由实验运行管控通过HTTP发出启动指令。仿真系统收到启动指令后,依次启动多仿真节点对应的仿真引擎,产生仿真节拍并驱动仿真模型计算;训练系统收到启动指令后,实例化对应训练节点并与对应的仿真系统建立交互关系。由实验运行管控通过HTTP收集各节点训练结束状态以及人工结束指令,并控制整个训练过程结束。本文提出的基于实验管控的智能并行训练流程如图6所示。
图6 基于实验管控的智能并行训练流程图

Fig.6 Flow chart of Intelligent parallel training based on experimental control

对单个运行节点基于强化学习的训练流程和方法进行分析,在训练运行时间t时,仿真节点Simi驱动对应仿真模型实例运行。仿真模型计算产生的训练数据通过gRPC通信方式实时发送给对应的训练节点Trai,Trai采集并处理后生成观测空间 S t i,并根据 S t i 计算出环境反馈的奖励回报 R t i。为了最大化奖励回报,Trai利用策略神经网络参数 ω t i 选择合适的决策动作 A t i,并通过gRPC通信方式发给对应Simi,对应的仿真模型按照指令执行动作,然后进入下一个仿真时间t+1。因此,全部仿真节点反馈的观测空间St、奖励回报Rt和动作空间At组成了训练样本集,用于支撑学习训练中心的价值神经网络参数 ω t 0 更新,学习训练中心采用on-policy策略梯度方法[6] ω t 0 进行更新:
$ \begin{array}{l} \omega_{t+1}^{0}=\omega_{t}^{0}+\alpha \delta_{t} Q_{\omega}\left(S_{t}, A_{t}\right) \\ \delta_{t}=R_{t}+\gamma Q_{\omega}\left(S_{t+1}, A_{t+1}\right)-Q_{\omega}\left(S_{t}, A_{t}\right) \end{array}$
其中,αγ都是权重系数,δt是时序差分法计算出的误差值,Qω(St,At)是Actor-Critic估计值函数,对估计值求导∇表示让 ω t 0 沿着梯度下降的方向前进直到收敛。采用on-policy策略,表示Actor网络和Critic网络采用相同的网络参数,因此,在一段时间后更新各Simi对应的策略网络参数 ω t i,使得各训练节点都能从仿真节点获取更高的奖励回报 R t i
基于实验运行管控软件对智能并行训练运行进行自动控制,支撑多个仿真节点与训练节点按照强化学习的训练流程并行地对智能体的Actor网络和Critic网络进行更新优化,最终收敛到能获取最高奖励回报的神经网络。

3 实例分析

3.1 实验设置

本文基于某军事仿真推演系统和开源的TensorFlow深度学习平台开展智能并行训练实验。首先在仿真推演系统构建初始仿真想定,在50 km×50 km作战区域内红蓝双方两架战斗机进行空战博弈,摧毁对方全部兵力的一方判为胜利方。基于TensorFlow深度学习平台完成初始智能体模型设计,根据表1完成智能体模型状态空间、决策空间、奖励函数、神经网络等核心组件开发。
表1 智能体模型核心组件设计

Tab.1 Design of core components of the intelligent agent model

核心组件 详细设计
观测空间S 外部仿真环境反馈的我方飞机位置、速度、状态、载荷工作状态、目标感知信息。
决策空间A 智能体决策内容包括平台机动方向、侦察方向、武器发射时机。
奖励函数R 实时奖励包括侦察到目标、躲避武器跟踪等,全局奖励包括目标被摧毁。
神经网络ω 输入网络采用全连接网络、特征转换网络提取兵力特征,采用长短时记忆网络处理历史信息;输出网络采用全连接网络生成决策策略选择。
本文提出的基于仿真实验的智能并行训练需要构建如图7所示的智能训练仿真实验设计软件,以初始仿真想定为基础,自动从想定文件中解析出想定基础信息、仿真实体属性等实验因子,并选择红方飞机的最大侦察距离作为实验因子,设置实验参数水平值为10,参数范围为[200 km],选择均匀设计实验方法,点击生成实验想定,快速地自动生成了10个实验想定文件。通过实验运行管控软件自动部署10个仿真节点,并对应自动生成10个训练节点。
图7 面向智能并行训练的仿真实验设计界面

Fig.7 Simulation experiment design interface for intelligent parallel training

为了对比实验效果,针对本文设计的初始仿真想定和初始智能体模型,分别基于图1的智能训练架构、图2的并行智能训练架构和图3中本文提出的智能并行训练架构进行了智能训练实验。

3.2 结果分析

训练开始后,通过实验运行管控可实时监控训练过程,如图8所示,可以单独查看总的训练时长以及各运行节点的迭代次数,也可以实时监控硬件资源使用情况。
图8 面向智能并行训练的仿真实验控制界面

Fig.8 Simulation experiment control interface for intelligent parallel training

训练过程中,可实时查看智能训练奖励收敛效果,如图9所示,红线是基于图1的单节点智能训练奖励值收敛图,绿线是基于仿真实验的智能并行训练奖励值收敛图,两种方式都在经过100 k总运行步数左右时收敛,且收敛到相近的奖励值,但是前者收敛用时约19 h,后者收敛用时约4 h,训练速度提高5倍左右,证明了本文提出的基于仿真实验的并行训练大大提高了学习训练的效率。
图9 智能训练的奖励值收敛过程图

Fig.9 Convergence process diagram of reward values for intelligent training

训练完成后,通过人工编辑的方式改变仿真参数,生成10个测试想定,对训练好的智能体进行测试验证,结果如图10所示,基于仿真实验的并行训练架构训练好的智能体胜率为80%,远远高于基于图2的传统并行训练架构训练得到的智能体40%的胜率,而且,从奖励值分布图也能看出,基于仿真实验的并行训练得到的智能体奖励值更稳定,证明了本文提出的基于仿真实验的并行训练大大提高了智能体的泛化性。
图10 训练好的智能体的测试效果图

Fig.10 Test rendering of trained intelligent agents

4 结束语

利用仿真实验功能可以快速生成批量仿真实验想定,并实现并行仿真自动部署和运行维护。本文提出了一种基于仿真实验的智能并行训练方法,给出了基于仿真实验的智能并行训练架构设计、面向智能训练的仿真实验管理设计和智能并行训练流程分析。本文结合实际案例,给出了智能体组件设计、智能训练的仿真实验设计软件和仿真实验监控软件的设计界面,并通过智能训练,证明了本文提出的基于仿真实验的智能并行训练方法比单线程训练效率更高,比传统并行训练架构泛化性更优。
[1]
VINYALS O, BABUSCHKIN I, CZARNECKI W M, et al. Grandmaster level in star craft II using multi-agent reinforcement learning[J]. Nature, 2019, 575(7782): 350-354.

DOI

[2]
Konda V R. Actor-Critic algorithms[J]. Advances in Neural Information Processing System, 2000(12):1008-1014.

[3]
ZHANG Y Z, CLAVERA I, TSAI B, et al. Asynchronous methods for model-based reinforcement learning[EB/OL]. 2019: arXiv: 1910.12453. https://arxiv.org/abs/1910.12453.

[4]
高开, 郭振华, 陈永芳, 等. 面向混合异构架构的模型并行训练优化方法[J]. 计算机工程与科学, 2021, 43(1): 42-48.

GAO K, GUO Z H, CHEN Y F, et al. A model parallel training optimization algorithm for hybrid heterogeneous platforms[J]. Computer Engineering & Science, 2021, 43(1): 42-48.

[5]
祝佳怡. 机器学习和深度学习的并行训练方法[J]. 现代计算机, 2022, 28(14): 42-48.

ZHU J Y. Parallel training methods for machine learning and deep learning[J]. Modern Computer, 2022, 28(14): 42-48.

[6]
孙正伦, 乔鹏, 窦勇, 等. 面向执行-学习者的在线强化学习并行训练方法[J]. 计算机学报, 2023, 46(2): 229-243.

SUN Z L, QIAO P, DOU Y, et al. PALA: parallel actor-learner architecture for distributed deep reinforcement learning[J]. Chinese Journal of Computers, 2023, 46(2): 229-243.

[7]
孙少斌, 韩志军. 通用仿真实验总体架构研究[J]. 科学技术创新, 2018(27): 29-30.

SUN S B, HAN Z J. Research on the general architecture of general simulation experiment[J]. Scientific and Technological Innovation, 2018(27): 29-30.

[8]
尹晋. 电子对抗作战仿真实验设计[J]. 电子技术与软件工程, 2017(22):76-77.

YIN J. Simulation experiment design of electronic countermeasures[J]. Electronic Technology & Software Engineering, 2017(22): 76-77.

[9]
王宗杰, 沈培志, 罗木生. 作战仿真实验设计软件体系框架研究[J]. 舰船电子工程, 2018, 38(12): 18-21, 179.

WANG Z J, SHEN P Z, LUO M S. Research on the frame of the operation simulation experiment design software frame[J]. Ship Electronic Engineering, 2018, 38(12): 18-21, 179.

[10]
李江涛, 张京涛, 张波, 等. 联合作战仿真实验中仿真引擎运行策略研究[J]. 指挥控制与仿真, 2022, 44(3): 80-87.

DOI

LI J T, ZHANG J T, ZHANG B, et al. Study on running strategy of joint operational simulation experiment simulation engine[J]. Command Control & Simulation, 2022, 44(3): 80-87.

文章导航

/