CN114707404A - 一种分布并行多智能体协同训练系统及方法 - Google Patents
一种分布并行多智能体协同训练系统及方法 Download PDFInfo
- Publication number
- CN114707404A CN114707404A CN202210246396.2A CN202210246396A CN114707404A CN 114707404 A CN114707404 A CN 114707404A CN 202210246396 A CN202210246396 A CN 202210246396A CN 114707404 A CN114707404 A CN 114707404A
- Authority
- CN
- China
- Prior art keywords
- simulation
- training
- agent
- model component
- information
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Geometry (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开一种分布并行多智能体协同训练系统及方法,所述系统包括:分布式仿真环境模块,仿真训练调度器,观察构建模块,智能体决策算法模块,训练控制器,经验池模块;本申请构建了多智能体分布并行训练调度框架,充分利用分布式仿真环境的并行训练能力,实现了基于集中训练‑分散执行多智能体强化学习框架进行多智能体分布并行协同建模和训练。本申请新增了仿真训练调度器,仿真训练调度器核心在于调度管理强化学习决策算法和仿真模型组件,维护按时间顺序排列的事件队列,处理仿真模型组件产生的仿真事件,实现了基于集中训练‑分散执行多智能体强化学习框架进行多智能体分布并行协同建模和训练能力,提高了分布并行仿真训练效率。
Description
技术领域
本申请涉及多智能体协同训练技术领域,更具体地,本申请涉及一种分布并行多智能体协同训练系统及方法。
背景技术
军事仿真推演可以通过多次训练和评估提高指挥员能力和水平,其中对手行为的模拟十分重要,红方指挥员只有和逼真而强大的对手训练,才能达到训练效果。这方面最成功的案例是美国辛辛那提大学与美国空军研究实验室合作开发的Alpha AI空战模拟系统。Alpha AI通过自博弈仿真技术实现美军协同打击能力从固定协同打击链向根据战场态势和任务动态可重构的打击体系演进。2016年6月Alpha AI机器飞行员在空战模拟器上完胜著名空军战术教官。在国内,中国指挥与控制学会从2017年开始组织全国兵棋推演大赛,军地院校、科研院所等军事爱好者在中国电子科学研究院多智能体对抗仿真环境MACA(Multi-agent Combat Arean)、华戍防务技术有限公司“墨子.未来指挥官系统”等多智能体对抗与训练平台研究人机对抗智能技术在军事领域实践,推动了国内人机对抗智能在军事上的应用研究。
当前采用深度强化学习解决多智能体系统的研究正在逐步深入。从解决问题的角度,多智能体研究可以分为完全合作任务、完全竞争任务、混合竞争与合作任务三类。在完全合作任务中,多智能体与环境进行交互学习,在此过程中,每个智能体获取全局奖励,即使每个智能体获得各自的奖励,也可以通过加权求和等方式形成全局奖励。这类任务的学习目标是最大化折扣累积全局奖励,即所有智能体一起努力,将全局奖励最大化。在解决方法方面有两种思路:第一种是采用基于单智能体强化学习的方法,将所有智能体动作视为一个动作向量,学习一个策略能够在每种状态下输出动作向量,使得折扣累积奖励最大;第二种是采用多智能体强化学习的方法,将每个智能体进行单独学习,每个智能体决定自己的动作,然后所有智能体的经验都会放到一起处理,是一种分散执行、中心训练的方法。现实中特别在军事作战领域,大量零和博弈的团体间对抗十分常见,多智能体的协作问题也应运而生。相对单智能体强化学习问题,多智能体协作具有更高的复杂度:一方面随着智能体数量的增加,策略空间呈指数级增加;另一方面随着异构智能体的加入,多智能体间的通信、协作和配合变得更加重要。当前多智能体强化学习算法主要包括:COMA、VDN、MAVEN、IDL、QMIX等,并在星际争霸等游戏场景取得了较好的成功,上述方法均在集中式仿真环境中进行并行训练。然而上述方法在面对复杂作战仿真,特别是分布式仿真系统时,上述方法较难适用。因此,本文提出了一种分布并行多智能体协同训练系统及方法。
发明内容
本发明的目的在于提供一种分布并行多智能体协同训练系统及方法,解决现有集中训练-分散执行框架的多智能体强化学习均在集中式仿真环境中进行,无法有效应对复杂仿真系统,特别是分布式仿真系统的问题。
为了达到上述目的中至少一个,本申请采用下述技术方案:
本申请第一方面提供一种分布并行多智能体协同训练系统,包括:
分布式仿真环境模块,通过仿真引擎生成分布仿真训练节点上的仿真模型组件的模型组件代理,加载信息流、加载实验框架文件和实例化仿真模型组件,对所述仿真模型组件进行初始化,提供分布式仿真环境,完成分布式仿真推演;
仿真训练调度器,用于在分布仿真训练节点加载本地的仿真模型组件,向所述仿真引擎上报所述仿真模型组件的信息和状态,接收所述仿真引擎的初始化、仿真推进和销毁的指令,生成仿真事件存入事件队列,维护管理所述事件队列,在仿真时间变更时产生时间推进请求向所述仿真引擎请求时间推进,并将仿真经验数据存入经验池模块;
观察构建模块,用于为所述仿真训练调度器提供观察构建函数,构建每个智能体决策算法的观察信息和奖励信息;
智能体决策算法模块,用于接收所述观察构建模块的观察信息和奖励信息,根据所述观察信息和奖励信息执行智能体决策算法产生执行动作,将所述执行动作输出给分布仿真训练节点的仿真模型组件;
训练控制器,用于启动仿真训练,实现训练过程中的参数定义;
其中,所述参数包括:训练局数、每局步长、学习频率、网络更新频率;
验池模块,用于存放智能体的经验数据;
其中,所述经验数据包括:观察信息、奖励信息、动作信息、下一步观察信息;
在一个具体实施例中,所述系统还包括:
仿真模型组件应用接口模块,用于为模型组件提供标准仿真模型交互接口。
在一个具体实施例中,所述仿真引擎内部创建模型组件代理,仿真引擎进行事件管理、时间管理和数据分发管理;
其中,
所述事件管理为根据所述实验框架文件,给所述仿真模型组件发送初始化、仿真推进和销毁指令;
所述时间管理为处理所述训练调度器的时间推进请求,计算所述仿真推演运行允许推进的时间值;
所述数据分发管理为根据所述信息流中定义的端口连接关系,接收所述训练调度器发送的端口数据并进行数据分发。
在一个具体实施例中,所述仿真引擎还用于提供配置每个所述仿真模型组件调度模式的用户界面,生成仿真模型组件调度配置文件。
在一个具体实施例中,所述仿真训练调度器还用于维护处理所述仿真模型组件产生的初始化、仿真推进和销毁事件;
所述观察构建模块的观察信息根据所述仿真模型组件输出的原始仿真数据生成满足所述智能体决策算法的观察数据组织形式。
在一个具体实施例中,所述智能体决策算法为:
集中训练-分散执行的多智能体决策算法。
在一个具体实施例中,所述交互接口包括:
仿真模型组件实例化、初始化、事件处理、仿真时间推进和消息收发的应用接口;
所述仿真引擎和仿真训练调度器通过所述仿真模型组件应用接口模块提供的标准仿真模型交互接口进行信息交互。
本申请第二方面还提供一种分布并行多智能体协同训练方法,包括:
S1、所述训练控制器创建红军作战单位和蓝军作战单位,并启动军事对抗仿真训练;
S2、仿真训练调度器加载本地配置文件,获取仿真模型组件路径,加载所述仿真模型组件,向仿真引擎上报所述仿真模型组件的信息和状态,接收所述仿真引擎的初始化、仿真推进和销毁的指令,生成仿真事件存入事件队列,维护管理所述事件队列,并产生时间推进请求向所述仿真引擎请求时间推进;
S3、分布式仿真环境模块通过仿真引擎加载信息流、加载实验框架和实例化仿真模型组件,加载仿真模型组件调度配置文件,对所述仿真模型组件进行初始化,提供分布式仿真环境,完成分布式仿真推演;
S4、仿真训练调度器调用观察构建模块的观察构建函数,获得观察信息,输出给智能体决策算法模块;
S5、所述智能体决策算法模块接收所述观察信息和奖励信息,执行智能体决策算法产生执行动作,将所述执行动作输出给分布仿真训练节点的仿真模型组件;
S6、所述仿真训练调度器执行所述事件队列中的事件,并向所述仿真引擎请求时间推进,仿真训练调度器调用仿真模型组件的回调函数,得到智能体的状态、动作、奖励和下一步状态的信息;
S7、仿真训练调度器将所述智能体的状态、动作、奖励和下一步状态的信息存入经验池模块;
S8、仿真结束,若达到设定的训练时刻,从经验池模块中获取一组数据,计算这组数据对应的目标全局价值函数值,进行模型学习,并更新动作策略;
若训练结束或达到学习更新频率,则更新整个网络参数。
在一个具体实施例中,所述S3还包括:
通过在所述仿真引擎内部创建仿真模型组件代理进行事件管理、时间管理和数据分发管理;
其中,
所述事件管理为根据所述实验框架文件,下发仿真模型组件的初始化、仿真推进和销毁的指令;
所述时间管理为处理所述训练调度器的时间推进请求,计算所述军事对抗仿真推演运行推进的时间值;
所述数据分发管理为根据所述信息流中定义的端口连接关系,接收所述训练调度器发送的端口数据并进行数据分发。
在一个具体实施例中,所述S5还包括:
通过集中训练-分散执行练的多智能体决策算法产生所述执行动作。
本申请的有益效果如下:
针对目前现有技术中存在的问题,本申请提供一种分布并行多智能体协同训练系统及方法,构建了多智能体分布并行训练调度框架,实现了基于集中训练-分散执行多智能体强化学习框架进行多智能体分布并行协同建模和训练的能力。本申请的多智能体分布并行训练调度框架新增了仿真训练调度器,仿真训练调度器核心作用在于调度管理强化学习决策算法和模型组件,维护按时间顺序排列的事件队列,处理模型组件产生的仿真事件,充分利用分布式仿真训练环境下并行能力,通过仿真引擎与仿真训练调度器的交互,使得集中训练-分散执行多智能体强化学习框架与分布式仿真系统有效融合,实现了基于集中训练-分散执行多智能体强化学习框架进行多智能体分布并行协同建模和训练能力,提高了分布并行仿真训练效率。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明。
图1示出本申请的一个实施例中的现有技术中的多智能体强化学习在集中式仿真环境中并行训练系统模块图。
图2示出本申请的一个实施例中的一种分布并行多智能体协同训练系统模块图。
图3示出本申请的一个实施例中的一种分布并行多智能体协同训练系统仿真引擎与仿真训练调度器信息交互图。
具体实施方式
在下述的描述中,出于说明的目的,为了提供对一个或者多个实施方式的全面理解,阐述了许多具体细节。然而,很明显,也可以在没有这些具体细节的情况下实现这些实施方式。
在本申请的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
还需要说明的是,在本申请的描述中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
单智能体强化学习方法在多智能体环境中会面临诸多问题,多智能体强化学习方法应运而生。而现有集中训练-分散执行框架的多智能体强化学习均在集中式仿真环境中进行,无法有效应对复杂仿真系统,特别是分布式仿真系统。
现有的集中训练-分散执行框架的多智能体强化学习在集中式仿真环境中并行训练的系统,如图1所示,由集中式仿真环境辅以观察构建模块,基于多智能体强化学习的并行训练环境(简称训练环境)和经验池构成,实现了多智能体集中仿真并行训练。其主要模块功能如下:
集中式仿真环境模块,由仿真引擎承担核心对抗推演功能,负责载入作战场景,对外输出仿真环境数据和奖励信息,接收训练环境输出的动作控制信息,执行一系列位置、朝向、攻击决策等动作,实现对抗仿真推演过程,同时具备显示及仿真数据记录等功能;
观察构建模块,是训练环境与推演环境的交互接口,构建每个智能决策算法的观察信息,由原始仿真数据生成满足决策算法的观察数据组织形式(状态);
基于多智能体强化学习并行训练环境,包括训练控制器和智能体决策算法模块;
所述训练控制器负责启动对抗训练,可实现对抗过程多种参数的定义,如场景选择、双方对抗程序选择、训练局数、每局步长、学习频率和网络更新频率等参数,如果学习频率达到设定的阈值,从经验池中采样一批数据,计算这批数据对应的目标全局价值函数值,并进行模型学习和更新;如果达到设定的模型更新频率,训练环境更新整个网络参数。
智能体决策算法模块用于执行单智能体决策算法,接收仿真环境的状态和奖励信息,通过向仿真环境发送单智能体决策进程输出的执行动作,并向经验池存放经验数据;
经验池模块:存放单智能体输出的状态、动作、奖励、下一步状态、单智能体行为价值等经验数据。
现有集中训练-分散执行框架的多智能体强化学习在集中式仿真环境中并行训练的方法运行流程如下:首先,仿真引擎读取场景的地图文件和红蓝双方配置文件,其中,配置文件包括作战单位的名称,数量,位置,所属方,奖励以及是否是目标单位等信息;之后,训练控制器会与集中式仿真环境进程通信,获取作战单位信息,性能参数信息等,再根据配置文件中的信息查找相关作战单位在仿真环境中的Id,创建相应的作战单位,配置单智能体决策进程,并启动决策进程,完成初始化工作;接下来,训练环境中的单智能体会发出动作指令,传给集中式仿真环境执行,仿真环境返回当前的状态信息以及奖励给单智能体;每个智能体会将状态,动作,回报,下一步状态存入经验池;红蓝双方一旦有一方取得胜利,训练控制器和仿真环境会重置场景,重置之后会进行下一轮的训练;如果达到设定的学习频率,训练控制器从经验池中采样一批数据,计算这批数据对应的全局动作价值函数值,进行模型学习,并利用这个值更新每个智能体执行动作策略;如果达到设定的模型更新频率或者达到训练局数,训练控制器更新整个模型网络参数。
但上述现有系统及方法无法有效应对复杂仿真系统,特别是分布式仿真系统。
为解决现有技术中存在的问题,本申请的一个实施例提供一种分布并行多智能体协同训练系统,如图2所示,包括:
分布式仿真环境模块,用于通过仿真引擎加载信息流、加载实验框架和实例化仿真模型组件,对所述仿真模型组件进行初始化,提供分布式仿真环境,运行军事对抗仿真推演;
在一个具体实施例中,所述仿真引擎内部创建模型组件代理,在一个具体实施例中,创建了三个模型代理组件,分别是第一模型组件代理、第二模型组件代理和第三模型组件代理,仿真引擎通过模型组件代理用于进行事件管理、时间管理和数据分发管理;
其中,
所述事件管理为根据所述实验框架文件,给仿真模型组件下发初始化、仿真推进、销毁等指令;
所述时间管理为处理训练调度器的时间推进请求,计算所述军事对抗仿真推演运行推进的时间值;
所述数据分发管理为根据所述信息流中定义的端口连接关系,接收训练调度器发送的端口数据并进行数据分发;
在一个具体实施例中,所述仿真引擎还用于提供配置每个所述仿真模型组件调度模式的用户界面。
仿真训练调度器,用于在分布仿真训练节点加载本地的仿真模型组件,向所述仿真引擎上报所述仿真模型组件的信息和状态,并在时间变更时产生时间推进请求向所述仿真引擎请求时间推进;
在一个具体实施例中,所述仿真训练调度器还用于维护单智能体的按时间顺序排列的事件队列,处理所述仿真模型组件产生的初始化、仿真推进和销毁等事件;
在一个具体实施例中,所述仿真训练调度器还接收智能体决策算法模块输出的执行动作,调度仿真模型组件运行,并将仿真模型组件等状态更新消息发送给仿真引擎;
观察构建模块,用于为所述仿真训练调度器提供观察构建函数,构建每个智能体决策算法的观察信息和奖励信息;
在一个具体实施例中,所述观察构建模块的观察信息根据所述仿真模型组件输出的原始仿真数据生成满足智能体决策算法的观察数据组织形式或状态。
智能体决策算法模块,用于根据所述观察信息制定并执行智能体决策算法,接收所述仿真引擎的状态和奖励信息,通过所述仿真训练调度器向所述仿真引擎发送智能体决策算法输出的执行动作,并向经验池模块存放经验数据和事件队列;
在一个具体实施例中,所述智能体决策算法模块制定红军策略和蓝军策略,所述红军策略和蓝军策略都能够通过重写进行用户自定义,可以为固定规则策略或者基于多智能体强化学习算法生成的策略;
训练控制器,用于创建红军作战单位和蓝军作战单位,并启动军事对抗仿真训练;
在一个具体实施例中,所述训练控制器能够实现对抗过程多种参数定义,包括场景选择、双方对抗程序选择、训练局数、每局步长、学习频率和网络更新频率等参数;
在一个具体实施例中,如果参数学习频率达到设定的阈值,则从经验池模块中获取一组数据,计算这组数据对应的目标全局价值函数值,并进行模型学习和更新,如果达到设定的模型更新频率,训练环境更新整个网络参数。
经验池模块,用于存放单智能体的经验数据,
在一个具体实施例中,所述经验数据包括单智能体的状态、动作、奖励和下一步状态信息。
在一个具体实施例中,所述系统还包括:
仿真模型组件应用接口模块,用于为模型组件提供标准仿真模型交互接口;
在一个具体实施例中,所述交互接口包括:
仿真模型组件实例化、初始化、事件处理、仿真时间推进和消息收发的应用接口;
所述仿真引擎和仿真训练调度器通过所述仿真模型组件应用接口模块提供的标准仿真模型交互接口进行信息交互,创建仿真模型组件实例、调度仿真模型推进和收发仿真交互信息。
本申请第二方面提供一种分布并行多智能体协同训练方法,包括:
S1、所述训练控制器创建红军作战单位和蓝军作战单位,并启动军事对抗仿真训练;
S2、仿真训练调度器加载本地配置文件,获取仿真模型组件路径,加载所述仿真模型组件,向仿真引擎上报所述仿真模型组件的信息和状态,并产生时间推进请求向所述仿真引擎请求时间推进;
S3、分布式仿真环境模块通过仿真引擎加载信息流、加载实验框架和实例化仿真模型组件,加载仿真模型调度配置文件,对所述仿真模型组件进行初始化,提供分布式仿真环境,运行军事对抗仿真推演;
S4、仿真训练调度器调用观察构建模块的观察构建函数,获得观察信息,输出给智能体决策算法模块;
S5、所述智能体决策算法模块接收所述观察信息,制定并执行单智能体决策算法,接收所述仿真引擎的状态和奖励信息,通过仿真训练调度器向所述仿真引擎发送单智能体决策算法输出的执行动作,并向经验池模块存放经验数据和事件队列;
在一个具体实施例中,所述S5还包括:
所述智能体决策算法模块制定红军策略和蓝军策略,所述红军策略和蓝军策略都能够通过重写进行用户自定义,可以为固定规则策略或者基于集中训练-分散执行的多智能体强化学习算法生成的策略;
S6、所述仿真训练调度器执行所述事件队列中的事件,并向所述仿真引擎请求时间推进,仿真训练调度器调用仿真模型组件的回调函数,得到智能体的状态、动作、奖励和下一步状态的信息;
S7、仿真训练调度器将所述智能体的所述仿真训练调度器将状态、动作、奖励和下一步状态的信息存入经验池模块;
S8、仿真结束,若达到设定的训练时刻,从经验池模块中获取一组数据,计算这组数据对应的目标全局价值函数值,进行模型学习,并更新动作策略;
若训练结束或达到学习更新频率,则更新整个网络参数。
在本申请中,分布式并行训练情况下,需要仿真训练调度器管理模型组件,与仿真引擎保持通信,实现分布式并行训练。本申请提供的一种分布并行多智能体协同训练方法,在初始化时,仿真引擎负责加载信息流、加载实验框架文件,并根据本地配置文件中的模型信息加载仿真模型组件,通过模型组件代理、仿真训练调度器远程连接分布节点中的模型组件;在仿真过程中,分布式的仿真训练调度器调用观察构建函数获取状态和奖励等数据输出给智能体决策算法模块,同时,接收智能决策算法输出的执行动作给仿真模型组件,并接收初始化、仿真推进、销毁等指令,生成仿真事件,维护按时间序列排列的事件队列;在时间变更时向仿真引擎请求时间推进,并将模型组件的状态更新消息发送给仿真引擎;仿真引擎统一处理所有模型组件的时间推进请求,计算允许推进的时间值,在模型组件的请求时间小于该值时允许其时间推进请求,仿真引擎的数据分发根据信息流中定义的端口连接关系,接收仿真训练调度器数据并进行数据分发。仿真训练调度器会将状态,动作,回报,下一步状态存入经验池。在一轮仿真结束后,仿真训练调度器和仿真引擎会重置场景,重置之后会进行下一轮的训练;如果达到设定的学习频率,训练控制器从经验池中获取一组数据,计算这组数据对应的全局动作价值函数值,进行模型学习,并利用这个值更新单个智能体执行动作策略;如果达到设定的模型更新频率或者达到训练局数,训练控制器更新整个网络参数。
下面,本申请以基于多智能强化学习的蓝军智能体对战基于固定策略的红军智能体为例,对本申请的分布并行多智能体协同训练方法进行说明:
S1、所述训练控制器创建红军作战单位和蓝军作战单位,并启动军事对抗仿真训练;
S2、仿真训练调度器加载本地配置文件,获取仿真模型组件路径,加载所述仿真模型组件,向仿真引擎上报所述仿真模型组件的信息和状态。用户通过仿真引擎的用户界面配置每个仿真模型组件的调度模式,生成仿真模型组件调度配置文件,仿真引擎接收分布式节点的仿真训练调度器上报的模型组件信息和状态,加载仿真模型调度配置文件,设置每个模型组件的调度方式;
S3、分布式仿真环境模块创建仿真模型组件代理,通过仿真引擎加载信息流、加载实验框架和实例化仿真模型组件;仿真引擎加载仿真想定文件,根据仿真想定文件,初始化仿真模型组件,向对应的仿真训练调度器发送仿真模型组件初始化消息,要求仿真模型组件设置初始化参数,至此,仿真初始化结束;
S4、训练仿真调度器调用观察构建函数,获得观察信息,将观察信息输出给智能体决策算法模块;
S5、红方智能体基于固定规则策略,根据输入状态,返回动作,输出给仿真模型组件,仿真模型组件生成事件,放入经验池模块的事件队列;蓝方智能体基于集中训练-分散执行多智能体强化学习算法QMix,根据输入状态,从可选动作集合中,为每一个智能体选择最大价值动作,返回动作,输出给仿真模型组件;
其中,
红军规则策略为固定策略,所述策略可通过重写进行自定义,在本实施例中,策略为:
1)战机自动搜索蓝军作战单位,一旦发现蓝军作战单位立即攻击;
2)火力单元原地待命,若蓝军单位进入攻击范围立即攻击;
蓝军策略通过集中训练-分散执行多智能体强化学习得到,所述策略可通过重写进行自定义,在本实施例中,多智能体强化学习算法为Qmix,包括:
1)实例化智能体的策略网络,每个智能体包括一个Q网络和一个Mixer网络;
2)Q网络由RNN(循环神经网络,Recurrent Neural Network)构成,可以将过去观测到的信息也纳入决策的参考信息;RNN的每一个时间步输入包括当前时刻的观测信息和上一个时刻的动作信息;
3)Mixer网络用于将所有智能体的动作价值函数进行融合从而得到全局的动作价值函数,但是由于需要保持单调融合的特性,因此不能采用一般的方式去学习Mixer网络的参数。为此在本实施例中,引入一个超网络,其输入为当前时刻的观测信息,而输出结果会经过绝对值函数的处理保证其参数为正整数,从而确保Mixer网络的单调性;
4)全局动作价值函数是在更新网络参数时需要使用的变量,在进行决策时,只需要将每个智能体所对应的Q网络中动作价值最大的动作输出;
S6、训练仿真调度器开始执行事件队列中的事件,事件执行时,根据事件队列中时间戳最小的事件的时间,向仿真引擎请求时间推进,得到时间推进允许后,仿真训练调度器会通过仿真模型组件应用接口模块调用模型组件实例的回调函数,进行下一步推演得到下一时刻的状态,奖励和是否本轮仿真结束等信息;
S7、训练仿真调度器将状态,动作,回报,下一步状态存入经验池;
S8、一轮仿真结束,如果达到设定的训练时刻,从经验池模块中获取一组数据,计算这组数据对应的目标全局价值函数值,进行模型学习,并利用这个值更新动作策略;如果训练结束/达到学习更新频率,更新整个网络参数。
单智能体强化学习方法在多智能体环境中会面临不稳定问题,而现有集中训练-分散执行框架的多智能体强化学习均在集中式仿真环境中进行,无法有效应对复杂仿真系统,特别是分布式仿真系统。本文提出了一种分布并行多智能体协同训练系统及方法,构建了多智能体分布并行训练调度框架,实现了基于集中训练-分散执行多智能体强化学习框架进行多智能体分布并行协同建模和训练的能力。本申请的多智能体分布并行训练调度框架新增了仿真训练调度器,仿真训练调度器核心作用在于调度管理强化学习决策算法和模型组件,维护按时间顺序排列的事件队列,处理模型组件产生的仿真事件,充分利用分布式仿真训练环境下并行能力,通过仿真引擎与仿真训练调度器之间等交互,如图3所示,使得集中训练-分散执行多智能体强化学习框架与分布式仿真系统有效融合,提高分布并行仿真训练效率。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (10)
1.一种分布并行多智能体协同训练系统,其特征在于,包括:
分布式仿真环境模块,通过仿真引擎生成分布仿真训练节点上的仿真模型组件的模型组件代理,加载信息流、加载实验框架文件和实例化仿真模型组件,对所述仿真模型组件进行初始化,提供分布式仿真环境,完成分布式仿真推演;
仿真训练调度器,用于在分布仿真训练节点加载本地的仿真模型组件,向所述仿真引擎上报所述仿真模型组件的信息和状态,接收所述仿真引擎的初始化、仿真推进和销毁的指令,生成仿真事件存入事件队列,维护管理所述事件队列,在仿真时间变更时产生时间推进请求向所述仿真引擎请求时间推进,并将仿真经验数据存入经验池模块;
观察构建模块,用于为所述仿真训练调度器提供观察构建函数,构建每个智能体决策算法的观察信息和奖励信息;
智能体决策算法模块,用于接收所述观察构建模块的观察信息和奖励信息,根据所述观察信息和奖励信息执行智能体决策算法产生执行动作,将所述执行动作输出给分布仿真训练节点的仿真模型组件;
训练控制器,用于启动仿真训练,实现训练过程中的参数定义;
其中,所述参数包括:训练局数、每局步长、学习频率、网络更新频率;
经验池模块,用于存放智能体的经验数据;
其中,所述经验数据包括:观察信息、奖励信息、动作信息、下一步观察信息。
2.根据权利要求1所述的系统,其特征在于,所述系统还包括:
仿真模型组件应用接口模块,用于为模型组件提供标准仿真模型交互接口。
3.根据权利要求1所述的系统,其特征在于,
所述仿真引擎内部创建模型组件代理,仿真引擎进行事件管理、时间管理和数据分发管理;
其中,
所述事件管理为根据所述实验框架文件,给所述仿真模型组件发送初始化、仿真推进和销毁指令;
所述时间管理为处理所述训练调度器的时间推进请求,计算所述仿真推演运行允许推进的时间值;
所述数据分发管理为根据所述信息流中定义的端口连接关系,接收所述训练调度器发送的端口数据并进行数据分发。
4.根据权利要求1所述的系统,其特征在于,
所述仿真引擎还用于提供配置每个所述仿真模型组件调度模式的用户界面,生成仿真模型组件调度配置文件。
5.根据权利要求1所述的系统,其特征在于,
所述仿真训练调度器还用于维护处理所述仿真模型组件产生的初始化、仿真推进和销毁事件;
所述观察构建模块的观察信息根据所述仿真模型组件输出的原始仿真数据生成满足所述智能体决策算法的观察数据组织形式。
6.根据权利要求1所述的系统,其特征在于,所述智能体决策算法为:
集中训练-分散执行的多智能体决策算法。
7.根据权利要求2所述的系统,其特征在于,所述交互接口包括:
仿真模型组件实例化、初始化、事件处理、仿真时间推进和消息收发的应用接口;
所述仿真引擎和仿真训练调度器通过所述仿真模型组件应用接口模块提供的标准仿真模型交互接口进行信息交互。
8.一种分布并行多智能体协同训练方法,其特征在于,包括:
S1、所述训练控制器创建红军作战单位和蓝军作战单位,并启动军事对抗仿真训练;
S2、仿真训练调度器加载本地配置文件,获取仿真模型组件路径,加载所述仿真模型组件,向仿真引擎上报所述仿真模型组件的信息和状态,接收所述仿真引擎的初始化、仿真推进和销毁的指令,生成仿真事件存入事件队列,维护管理所述事件队列,并产生时间推进请求向所述仿真引擎请求时间推进;
S3、分布式仿真环境模块通过仿真引擎加载信息流、加载实验框架和实例化仿真模型组件,加载仿真模型组件调度配置文件,对所述仿真模型组件进行初始化,提供分布式仿真环境,完成分布式仿真推演;
S4、仿真训练调度器调用观察构建模块的观察构建函数,获得观察信息,输出给智能体决策算法模块;
S5、所述智能体决策算法模块接收所述观察信息和奖励信息,执行智能体决策算法产生执行动作,将所述执行动作输出给分布仿真训练节点的仿真模型组件;
S6、所述仿真训练调度器执行所述事件队列中的事件,并向所述仿真引擎请求时间推进,仿真训练调度器调用仿真模型组件的回调函数,得到智能体的状态、动作、奖励和下一步状态的信息;
S7、仿真训练调度器将所述智能体的状态、动作、奖励和下一步状态的信息存入经验池模块;
S8、仿真结束,若达到设定的训练时刻,从经验池模块中获取一组数据,计算这组数据对应的目标全局价值函数值,进行模型学习,并更新动作策略;
若训练结束或达到学习更新频率,则更新整个网络参数。
9.根据权利要求7所述的方法,其特征在于,所述S3还包括:
通过在所述仿真引擎内部创建仿真模型组件代理进行事件管理、时间管理和数据分发管理;
其中,
所述事件管理为根据所述实验框架文件,下发仿真模型组件的初始化、仿真推进和销毁的指令;
所述时间管理为处理所述训练调度器的时间推进请求,计算所述军事对抗仿真推演运行推进的时间值;
所述数据分发管理为根据所述信息流中定义的端口连接关系,接收所述训练调度器发送的端口数据并进行数据分发。
10.根据权利要求7所述的方法,其特征在于,所述S5还包括:
通过集中训练-分散执行练的多智能体决策算法产生所述执行动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210246396.2A CN114707404A (zh) | 2022-03-14 | 2022-03-14 | 一种分布并行多智能体协同训练系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210246396.2A CN114707404A (zh) | 2022-03-14 | 2022-03-14 | 一种分布并行多智能体协同训练系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114707404A true CN114707404A (zh) | 2022-07-05 |
Family
ID=82167878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210246396.2A Pending CN114707404A (zh) | 2022-03-14 | 2022-03-14 | 一种分布并行多智能体协同训练系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114707404A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115203982A (zh) * | 2022-09-14 | 2022-10-18 | 环球数科集团有限公司 | 一种用于公交车辆智能运行的并行计算方法和仿真系统 |
CN115759298A (zh) * | 2023-01-09 | 2023-03-07 | 白杨时代(北京)科技有限公司 | 一种决策动作确定方法、装置、设备及介质 |
CN116523030A (zh) * | 2023-06-30 | 2023-08-01 | 支付宝(杭州)信息技术有限公司 | 动态调度模型训练资源的方法及装置 |
-
2022
- 2022-03-14 CN CN202210246396.2A patent/CN114707404A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115203982A (zh) * | 2022-09-14 | 2022-10-18 | 环球数科集团有限公司 | 一种用于公交车辆智能运行的并行计算方法和仿真系统 |
CN115759298A (zh) * | 2023-01-09 | 2023-03-07 | 白杨时代(北京)科技有限公司 | 一种决策动作确定方法、装置、设备及介质 |
CN116523030A (zh) * | 2023-06-30 | 2023-08-01 | 支付宝(杭州)信息技术有限公司 | 动态调度模型训练资源的方法及装置 |
CN116523030B (zh) * | 2023-06-30 | 2023-09-15 | 支付宝(杭州)信息技术有限公司 | 动态调度模型训练资源的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114707404A (zh) | 一种分布并行多智能体协同训练系统及方法 | |
CN110147883B (zh) | 用于作战仿真的模型的训练方法、装置、设备和存储介质 | |
Tweedale et al. | Innovations in multi-agent systems | |
CN112364500B (zh) | 面向强化学习训练与评估的多并发实时对抗系统 | |
Bogdanowicz et al. | Optimization of weapon–target pairings based on kill probabilities | |
Zook et al. | Automatic game design via mechanic generation | |
CN107193639A (zh) | 一种支持联合作战的多核并行仿真引擎系统 | |
CN106446427A (zh) | 指控为核心的组合式作战实体模型及其构建方法 | |
Mota et al. | Multi-robot coordination using setplays in the middle-size and simulation leagues | |
Xiao et al. | A method of workflow scheduling based on colored Petri nets | |
CN108205266B (zh) | 基于信息流的指挥决策建模方法及存储介质 | |
CN115099124A (zh) | 一种多智能体分布协同训练仿真方法 | |
Shafi et al. | A survey of learning classifier systems in games | |
CN109544082A (zh) | 一种用于数字化战场对抗的系统和方法 | |
Källström et al. | Design of simulation-based pilot training systems using machine learning agents | |
Pons et al. | Scenario control for (serious) games using self-organizing multi-agent systems | |
Schatten et al. | Towards an agent-based automated testing environment for massively multi-player role playing games | |
Nissenbaum et al. | Markov and Semi-Markov Models of Real-Time Quests in Information Security Education | |
Stensrud et al. | Mixed-initiative approaches in the Design of a trusted shift of Coordination Forms: Supporting Collaboration to handle Imperfect Partners | |
Xu et al. | MiaoSuan Wargame: A Multi-Mode Integrated Platform for Imperfect Information Game | |
Pandey et al. | Aerial war game simulation | |
Zhang et al. | A Game Agent Design Method in Simulation Training System | |
Ramsey et al. | A semantic data model for simulating information flow in edge organizations | |
Certo et al. | A generic strategic layer for collaborative networks | |
Rojas et al. | An agent-based simulation model to analyze team performance on jobs with a stochastic structure |
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 |