技术领域
[0001] 本发明涉及一种智能博弈对抗平台。
相关背景技术
[0002] 2016年3月,Deepmind科研团队的围棋程序AlphaGo以4∶1的成绩战胜韩国围棋世界冠军李世石,这一研究成果在全球范围内引起巨大轰动,人工智能研究再一次吸引了世界的目光。在攻克围棋这一艰巨任务之后,Deepmind将研究重点转向更加复杂的领域——多智能体博弈游戏,并与美国电子游戏公司暴雪娱乐(Blizzard Entertainment)合作,在星际争霸II的游戏环境基础上开发了可进行更高水平人工智能研究的学习环境。实时策略游戏——星际争霸具有实时对抗、巨大的搜索空间、非完全信息博弈、多异构智能体协作、时空推理、多复杂任务、长远全局规划等特点,同时这些也是人工智能领域极具挑战的难题。鉴于此,国内外众多科研单位也竞相投入到这一领域当中。多智能体博弈游戏不仅在人工智能研究领域极具研究价值,其在社会管理、智能交通、经济、军事等领域同样具有巨大的潜在应用价值。
[0003] 在智能化时代,多智能体博弈游戏具有实时对抗、群体协作、非完全信息博弈、庞大的搜索空间、多复杂任务和时间空间推理等特点,是当前人工智能领域极具挑战的难题。人工智能要想在智能指挥和博弈中取得突破,是与深度强化学习技术的进展分不开的。深度学习的成功主要归因于三大因素——大数据、大模型、大计算。基于计算机技术和大数据的发展,通过容器技术和容器编排工具快速部署多个试验场景同步训练,封装环境接口实现智能算法和仿真环境的快速交互,使得基于深度学习算法来训练智能体变得更加高效,支撑智能算法模型的高效开发和快速训练提升。
[0004] 因此,综合考虑应用平台环境的多场次同步部署需求,利用容器具备高资源利用率、灵活封装与迁移、一致性部署与测试、系统隔离等特性,将仿真推演平台封装成镜像文件,使用容器编排管理工具产生容器生成训练对抗平台,形成对抗训练试验环境原型。支撑智能体的神经网络深度学习算法进行训练,保障智能博弈对抗仿真验证。
具体实施方式
[0059] 本发明提供了一种智能博弈对抗平台,包括以下部分:
[0060] 1.博弈对抗平台设计系统的功能分系统组成
[0061] 博弈对抗平台主要由两个部分组成,如图1所示,分别是仿真推演平台和AI对抗训练环境管理分系统。
[0062] (1)仿真推演平台
[0063] 仿真推演平台是整个对抗平台的核心,负责整个对抗环境的仿真模拟,并且实时接收外部干预指令。仿真推演平台主要包含仿真引擎、任务管理、指令管理、实体模型、编队管理、时钟管理等模块。
[0064] ①仿真引擎模块
[0065] 仿真引擎根据规则库的标准规范,按照时钟和事件顺序调度资源管理器,处理按照时间逻辑排序的事件或者输入的条件事件信息,同时更新状态管理器的状态,推动整个仿真模拟系统运行。
[0066] ②时钟管理模块
[0067] 时钟管理模块负责管理仿真环境的时间控制、加速倍数控制,支持平台推演速度按照实时对抗和训练的不同需要,选择不同的速率运行。
[0068] ③实体模型模块
[0069] 实体模型包含战斗飞机、轰炸机、预警机、干扰机、无人机、舰艇、地面防空、地面雷达、导弹等12种仿真模型,各实体挂载有侦察设备、武器模型、毁伤模型、指挥官模型、物理模型等,模拟作战装备在航迹规划、侦察预警、情报融合、武器打击等功能,实现模型的不同粒度多种功能仿真。
[0070] ④编队管理模块
[0071] 编队管理模块负责对实体单元进行编队建模,实现编队建立、编队解除、重新组编等功能,支持实体单元按照编队任务和单体任务执行任务切换,同时记录编队任务执行状态。
[0072] ⑤指令管理模块
[0073] 指令管理模块负责接收AI对抗智能体发过来的作战指令,进行指令校验、指令转换、指令调度,同时保障指令高效并发处理。
[0074] ⑥任务管理模块
[0075] 任务管理模块主要管理当前实体任务的执行校验、任务分解,存储当前实体单元的任务状态和任务执行情况。
[0076] ⑦状态管理模块
[0077] 状态管理模块对所有实体单元当前的名称、属性、类型、编队状态、位置、速度、航向、导弹数量、攻击事件、任务状态等信息进行维护。状态管理模块将所有实体单元的状态信息通过网络数据端口发送出去,形成态势信息。
[0078] ⑧情报管理模块
[0079] 情报管理模块按照对抗双方属性类别,通过情报融合、目标识别等手段,分别管理双方的情报信息,并对外报送。
[0080] (2)AI对抗训练环境管理分系统
[0081] AI对抗训练环境管理分系统是仿真环境的调度和管理者,负责整个仿真环境的启停和运行控制。仿真环境的训练框架从仿真推演平台实时获取态势信息,根据当前的对抗形势及作战目标,通过神经网络的深度学习算法采取行动策略,并对仿真推演平台下达作战指令。仿真推演平台一共提供包括航路机动、区域侦察、火力分配、电子对抗等几十种任务指令接口,支持智能体从区域部署、行动规划到具体的目标打击等不同层面的方案规划,凸显指挥决策层次性、协调性和复杂性。
[0082] AI对抗训练环境管理分系统主要包含环境配置、容器管控、运行控制、智能体关联、行为决策、数据记录等功能部分。
[0083] ①环境配置
[0084] 其中环境配置脚本主要配置仿真推演平台的运行环境,以及对抗训练的条件设置。具体包括想定路径、想定名称、端口映射等基本信息配置,还包括对抗双方属性配置、训练场次设置等。
[0085] ②容器管控
[0086] 容器管控主要负责对仿真容器进行创建、启动、停止、删除等操作。在进行大规模对抗训练任务时,通常都是由容器编排工具来进行容器资源调度和管理集群操作,由于容器本身具备占用资源少、部署快、易移植等特点,依赖现有容器管理工具不仅方便易用,而且多容器的并行推演大大节省了训练时间,获取大量训练数据,便于训练算法更快生成智能体。因此,采用Kubernetes进行容器的管控,通过内置的负载均衡策略对应用实例进行管理、发现、访问,省去复杂的手工配置和处理。
[0087] ③运行控制
[0088] 运行控制模块负责对仿真推演平台进行加载想定、初始化、开始、暂停、结束等操作,以及下达仿真倍速指令、设置仿真结束条件等操作,使仿真推演平台便于加载不同想定、按照不同的仿真推演速率进行运行,以及控制仿真推演平台的启停操作,实现人机交互能力。
[0089] ④智能体关联
[0090] 智能体关联主要用于将仿真推演平台的态势信息与相应的对抗双方属性进行绑定,控制态势权限,以确保对抗双方符合实际对抗环境中只能掌握局部态势的真实性。同时,在信息不完全、企图不明确的博弈条件下,使智能体从更贴合实际情况的角度出发进行自主深度学习。
[0091] ⑤行为决策
[0092] 行为决策主要是智能体依据深度强化学习的算法,不断训练智能体进行决策优化。而其技术难度在于,对抗双方的企图和位置不确定、信息不完全的情况下,进行博弈策略的选择可能由于策略保守导致失败,也可能由于收益反馈滞后导致行为决策不够及时。因此,构建合理、可靠的配试仿真推演环境,能够提高智能决策算法的敏捷开发、快速训练与高效对抗的可行性。
[0093] ⑥数据记录
[0094] 数据记录模块则是进行数据收集,用于回溯分析和数据回放等功能。其中涉及到网络连接、数据文件的记录与组织、按照不同倍速和不同起点时刻进行回放、数据回溯分析、数据分发转换等功能。
[0095] 2.博弈对抗平台交互关系
[0096] 博弈对抗平台交互关系如图2所示,基于Linux操作系统的容器管理工具,将仿真推演平台软件载入容器内部,并运用Docker工具将其封装成仿真推演平台镜像文件。AI对抗训练环境管理模块制定环境运行配置信息。配置文件信息包含想定配置、镜像配置、网络和端口配置、连接配置、路径配置、挂载脚本映射、记录文件映射等。通过配置文件的设置,可以灵活的选择容器运行的环境配置,可以选择是否挂载脚本运行,方便进行持续改进和部署,体现了docker的易用性,便于持续部署和测试。容器管控模块负责仿真推演平台容器的创建、停止、删除等操作,并将仿真推演平台镜像通过挂载配置文件的形式创建成仿真推演平台容器,同时开启4个端口(数据端口、Docker控制端口、AI智能体行动控制端口、调试观测端口),并加载想定,设置好仿真推演倍速以及仿真结束条件,启动仿真推演平台引擎开始运行。
[0097] 仿真推演平台容器通过数据端口报送出实体目标状态数据、任务数据、事件状态等信息。态势显示端将接收的数据实时上图显示当前作战态势,态势显示端可以实时观测对抗双方行动策略,并展示出双方兵力对比及战损战果信息。同时,所有实体数据、状态数据、事件、任务、情报等各类数据通过数据记录模块记录下来,用于后续的数据回放和回溯分析。
[0098] AI智能体获取观测数据后,分析当前形势和地方意图,采取行动策略通过AI智能体行动控制端口发送战役智能体的决策指令到仿真推演平台。智能体通过大量训练,以神经网络迭代学习算法找到最佳网络参数,从而生成最终战役智能体。
[0099] (3)博弈对抗平台设计流程
[0100] 博弈对抗平台设计流程如图3所示。步骤如下:
[0101] 1.首先配置仿真推演平台容器运行的环境参数脚本和基本参数脚本,主要包括Docker镜像名称、功能动态库关联、想定名称和路径信息、仿真引擎推演倍速、推演对抗时长、平台对抗局数,以及端口配置信息。其中,网络配置的端口有4个,分别是数据端口、Docker控制端口、AI智能体行动控制端口、调试观测端口。
[0102] 2.将Docker容器内部的日志记录文件路径与外部挂载文件路径形成映射关系。例如:
[0103]
[0104]
[0105] 3.根据配置的镜像名称和指定的端口配置信息,通过Docker创建仿真推演平台容器,同时将外部挂载的运行脚本、想定、功能动态库等复制到新建容器的相应路径中。
[0106] 4.将生成的Docker容器的对应端口与AI智能体进行绑定,形成对抗平台。
[0107] 5.设置对抗局数计数器。
[0108] 6.判断当前局数是否小于设定的对抗局数。若是,对抗局数计数器加1,并跳到步骤7;若否,执行步骤17。
[0109] 7.加载对抗想定文件。
[0110] 8.设置推演引擎仿真倍速,启动推演引擎。
[0111] 9.获取仿真推演平台送出的态势观测数据,进行数据解析。
[0112] 10.判断是否达到对抗目的,已经成功夺取目标。若否,跳到步骤11,若是,跳到步骤15。
[0113] 11.判断对抗时间是否达到指定时长,若否跳到步骤12,若是,跳到步骤15。
[0114] 12.智能体依据当前态势数据,围绕作战目标,下定指挥决策行动指令给仿真推演平台。
[0115] 13.仿真推演平台中对应的实体单元收到指令以后,根据当前自己的任务状态判断是否可以接收新的指令。如果可以执行,则执行指令,否则,丢弃指令。
[0116] 14.跳到步骤9重复执行。
[0117] 15.结束推演引擎。
[0118] 16.跳到步骤6重复执行。
[0119] 17.结束。
[0120] 本发明提供了一种智能博弈对抗平台,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。