程 恺, 陈 刚, 余晓晗, 刘 满, 邵天浩
(陆军工程大学指挥控制工程学院, 江苏 南京 210007)
兵棋是一种研究战争内在规律和训练指挥员指挥决策能力的工具,分为手工兵棋和计算机兵棋。随着信息技术的飞速发展,计算机兵棋逐渐成为当前兵棋推演的主要方式。特别是近年来人工智能(artifical intelligence, AI)技术在AlphaGo、德州扑克以及星际争霸等游戏领域取得突破[1-7],从简单环境下的完全信息博弈,到不完全信息博弈,再到复杂环境下的不完全信息博弈,这些游戏AI在与人的博弈中均展现出了高水平的智能性。由于兵棋推演也是一种复杂环境下的不完全信息博弈过程,因此如何将相关AI技术应用到兵棋推演中[8-9],设计实现兵棋AI辅助指挥员进行感知、判断、决策和行动(observe orient decide act,OODA),已成为当前兵棋推演研究的热点问题。
国外兵棋系统发展较早,美军通过联合战区级兵棋系统(joint theater level simulation,JTLS) 和联合冲突战术兵棋系统(joint conflict and tactical simulation,JCATS)[10]等对作战方案进行分析与评估。2020年美国兰德公司发布了《思维机器时代的威慑》报告,讨论的核心问题是兵棋推演中AI和自主技术如何随着事件的发展影响局势升级和威慑方式[11]。美国国防高级研究计划局(defense advanced research projects agency,DARPA)最近也启动了“兵棋突破者”项目,旨在研究开发兵棋AI帮助人类指挥官在真实战斗中击败对手[12]。国内兵棋系统起步较晚,通过借鉴国外成熟的兵棋技术并与实际相结合,在兵棋系统研发与运用方面也取得了较快的发展。研制了战略战役级兵棋系统,并分析了AI特别是深度学习运用在兵棋系统上需要解决的问题[8]。自2017年首次推出“CASIA-先知1.0”兵棋推演人机对抗AI以来,陆续推出了分队级AI “AI-alphawar V1.0”以及群队级AI “紫冬智剑V1.0”,一直在探索如何将人工智能技术应用于复杂场景下不完全信息博弈的兵棋推演领域[13-14]。近期上线的“庙算·智胜”即时策略人机对抗平台更是为相关科研人员研究兵棋AI提供了良好的平台环境[15]。此外,2019年由指控学会和华戍防务共同推出的专业级兵棋《智戎·未来指挥官》,作为《“墨子”联合作战推演系统》的民用版本,在第三、四届全国兵棋推演大赛中成为官方指定平台。2020年由中央军委装备发展部举办的联合作战智能博弈挑战赛,采用了陆海空一体的联合战役级兵棋系统。这些比赛都极大促进了智能博弈技术在兵棋推演中应用,取得了良好的效果。
分析梳理现有的兵棋AI研究,可以看出主要是利用强化学习、迁移学习、深度神经网络、行为树、有限状态机、启发式搜索、博弈优化等技术提升兵棋AI在态势感知与判断、指挥决策、行动执行等方面的智能性[16-19]。当前,各种智能博弈技术相互交织,迫切需要从整体架构上对兵棋AI的设计进行研究[20-21],充分发挥各类技术的优势并避免其不足,从而提升兵棋AI的整体智能性。因此,本文在分析知识型兵棋AI与学习型兵棋AI优缺点的基础上,提出了知识加学习的混合型AI设计思路,进一步在知识牵引与数据驱动背景下设计了兵棋AI开发框架,并针对框架中涉及的关键技术进行了深入探讨,最后分析了该框架的可扩展性问题。
知识推理型和数据学习型兵棋AI是目前兵棋推演中主要使用的两类决策模型,它们各自具有一定的优势及不足。
知识推理型兵棋AI是通过人工抽取作战规则、条令条例、指挥员经验等非结构化信息形成领域知识,并以此为基础进行推理决策的模型。
1.1.1 知识推理型兵棋AI的优点
(1) 无需训练,可解决智能体的冷启动问题
通过人工编辑将军事知识转化成计算机可以识别的结构化数据库,作为兵棋AI进行推理决策的依据,一旦知识库建立完成,不需要经过长时间的训练,知识推理型兵棋AI即可运行。
(2) 具备高层战法智能性,取决于领域知识的完善程度
人工抽取的知识大都是指挥员多年累积的经验规则,例如体现指挥艺术的战法策略,因此知识推理型兵棋AI能够体现符合军事常识的策略层面决策,其高层智能性水平取决于领域知识的完善程度。
1.1.2 知识推理型兵棋AI的缺点
(1) 人工建模领域知识,效率低下
知识和经验大都来自领域专家,通常领域专家并不是计算机专家,需要计算机专家理解领域专家的知识后,再建立结构化数据库让计算机可读,这个过程非常艰难,需要高度的协同且成本昂贵,费时费力。
(2) 确定性规则,智能化水平有上限
通常知识推理型兵棋AI都是基于确定性的规则进行推理决策,其上限是领域专家的个人经验,难以突破产生超越人类智慧的水平,且展现出来的行为动作比较固定,很容易被对手发现缺陷。
数据学习型兵棋AI是基于大量数据及与环境的交互,通过深度学习、强化学习等方式不断学习训练得到的决策模型。
1.2.1 数据学习型兵棋AI的优点
(1) 通过算法自动从数据中学习知识,自动化程度高
不需要人工提炼领域知识,依靠算法和强大的算力,可以处理大量数据,从数据中获取经验知识,通过不断优化学习展示出一定的智能性。
(2) 探索未知套路,灵活性高
由于是从数据获取知识而不是人工编码知识,数据学习型兵棋AI可能从自我博弈的数据中发现未知的行动套路,基于态势输出动作,展示出较高的灵活性。
1.2.2 数据学习型兵棋AI的缺点
(1) 状态空间大,奖励延迟长,学习训练代价高昂
对于较为复杂的决策场景,模型学习训练的搜索空间极其巨大,并且对于持续的序惯决策而言,随着序惯长度的增加,模型的奖励延迟加长,造成学习训练的计算代价高昂。
(2) 模型解释能力较差,泛化能力较弱
通常训练得到深度神经网络模型,知识隐藏在结点与结点的连接及其权重上,人类对这些形式的知识难以理解和解释。如果模型训练的场景与实际应用时的场景差别较大,效果通常较差。
(3) 高层战法策略学习困难
基于数据进行训练,得到的大多是底层动作级模型,即状态-动作响应输出模型,很难从数据中学习得到较高层面的战法策略型知识,而往往这些战法策略型知识更能体现出高水平的智能性。
从上述对知识推理型兵棋AI与数据学习型兵棋AI的优缺点分析可以看出,知识推理型兵棋AI具有无需训练、高层智能的优势,而数据学习型兵棋AI具有自动学习、灵活性高的优势,因此考虑将这两者的优势有机结合起来,形成优势互补的知识与数据混合的兵棋AI,如图1所示。
图1 优势互补的知识数据混合型AIFig.1 Hybrid AI of knowledge and data withcomplementary advantages
在知识与数据混合的思想指导下,以知识牵引AI的整体策略,以数据驱动AI的具体动作,设计基于知识牵引与数据驱动的兵棋AI框架。该框架分为宏观和微观两个层面,宏观层面AI为知识推理型,实现高层策略设计,主要通过作战任务规划技术产生作战行动序列,微观层面AI为数据学习型,实现底层态势-动作执行,接收宏观AI输出的作战行动序列,主要基于深度强化学习技术,产生算子最终执行的动作行为,如图2所示。
图2 基于知识与数据的兵棋AI设计框架Fig.2 Wargame AI design framework based on knowledge and data
知识主要包括战法艺术类、行动规则类、对抗经验类等,为宏观AI提供推理决策依据。其中战法艺术类知识主要指高层的作战策略,体现指挥员的指挥艺术,例如声东击西、两路夹击等策略,用于指导基于联盟博弈的空间域任务分解。行动规则类知识主要指将复杂的任务分解为若干行动的分解规则,例如对于火力打击任务,可分解为机动、火力输出等行动,用于指导基于层次任务网的时间域任务分解。对抗经验类知识主要指局部的选择规则,体现指挥员实战经验,例如如何选择最佳的射击点、如何选择最佳的安全点等,用于指导基于遗传模糊系统的关键点推理。时间域和空间域的任务分解都会产生需要完成的任务或行动,而对于动态变化的战场态势,初始规划的行动序列可能会部分无法执行,从而无法达到作战目标,因此需要对行动序列进行计划修复或者重规划,通过不断调整行动序列应对各种不确定因素,保证预期作战目标的达成。
数据主要包括约束规则数据、自博弈数据、复盘数据等,为微观AI提供学习训练基础。其中约束规则类数据主要指基本的约束条件,例如武器在冷却时间内不能再次射击、高程差过大的路段车辆无法通行等,为基于深度强化学习的算子动作生成提供约束条件,避免产生明显不符合规则的行动。自博弈类数据主要指智能体自己和自己对抗产生的数据,为基于深度强化学习的算子动作策略不断优化提供数据基础。复盘数据主要指人类选手的对抗数据,通过对其分析挖掘,对敌方位置和行动等进行预测,进而将不完全信息的战场态势变得更加透明,即基于数据补全的战场态势感知。
宏观AI完成的作战任务规划,其本质就是形成任务执行主体,行动的先后顺序,执行任务的地点,需要执行的任务。空间域的任务分解主要解决从顶层目标任务到分队任务的分解,对算子进行分组形成不同分队,并为其分配相应的分队任务。通过引入博弈论中的联盟博弈方法,期望实现分队与分队之间最大收益的协同作战。时间域的任务分解主要解决从分队任务到行动序列的分解,需要根据分队任务明确分队内每个算子的行动,并指定这些行动之间的先后顺序。通过基于层次任务网的规划技术,实现满足作战规则的行动序列生成。无论是分队任务还是单个算子行动,都需要明确执行任务的地点,通过引入遗传模糊系统实现关键点的推理,为任务和行动的执行提供最佳位置。微观AI则主要解决“如何做”的问题,针对上层输入的行动,采用深度强化学习技术得到态势动作输出模型,通过一系列的动作执行完成上层输入的行动。
上下分层的设计框架,能够充分发挥知识推理型和数据学习型AI各自优势,并且避免其不足。宏观AI具备一定战法智能,在全局场景下针对目标任务,充分发挥已有知识的牵引作用,通过任务规划设计战争。微观AI具备一定的动作智能,在局部场景下针对特定行动,充分发挥算法学习与计算的能力,通过态势-动作响应模型来生成动作完成行动。如此一来,既实现了宏观层面指挥员的战法艺术,又实现了微观层面灵活快速的动作输出。
下面按照OODA的顺序对知识牵引与数据驱动的兵棋AI框架中所涉及的关键技术进行阐述。
早期不完全信息博弈的代表是德州扑克等牌类游戏,主要通过概率统计和对对手建模减弱不完全信息的影响,像星际争霸等即时策略(real-time strategy,RTS)游戏,其不完全信息受观察范围和屏幕大小的约束,主要的处理方式为利用长短记忆(long short-term memory,LSTM)网络进行处理。
在战争对抗领域,优秀的指挥员必然能很好的透过战争迷雾,准确地分析敌方态势和意图。兵棋不完全信息主要是因为观察距离限制或者地形遮挡而导致的敌方棋子信息不可观察。一方面,对于从未观察到的敌方棋子,其信息具有很强的随机性,与对方指挥员的指挥风格相关性较大;另一方面,对于曾经观察到的敌方棋子,当前时刻无法观察,其随机性相对较低,对其预测是一种条件概率预测。
在图像处理领域,数据补全技术可以根据部分图像生成其余的全部图像[22-23]。兵棋态势信息可以看作一张或多张图片,因此考虑将图像领域中的数据补全技术迁移到兵棋态势感知领域中,根据部分态势补全完整的态势信息,揭开战争迷雾,基本思路如图3所示。其中,条件变分自动编码机(conditional variational auto encoder,CVAE)能够根据特定的前提条件,随机生成特定类型的图像。神经高斯过程(neural processes,NP)是对CVAE框架的发展,其将图片的已知信息作为概率预测的条件,对图像未知的部分进行多样性预测。模型训练时基于大量的历史复盘数据,得到态势补全与预测的生成模型。算法输入数据具有高度灵活性,既能够根据当前时刻的已知态势补全未知态势,又能够对未来下一时刻或者一段时间内的态势进行预测生成,较好地满足了不同战场态势感知的需求。
图3 基于数据补全的战场态势感知Fig.3 Battlefield situation awareness based on data completion
该技术主要针对OODA中的观察环节,将图像处理领域中的数据补全技术迁移到兵棋的态势感知中来,解决态势中的部分可观察问题。
遗传模糊系统是遗传算法与模糊系统结合的一类模型。该模型既可以依托模糊系统建模专家知识,又可以借助遗传算法挖掘经验数据中的可靠信息,是一种能够同步应用知识和数据的方法。在应对少量数据学习的问题时,该方法能够尽可能地利用人类专家知识,从而实现更好的训练效果[24-25]。
在本文框架中,遗传模糊系统被用于作战任务规划中关键地点的推理,如图4所示。通过建模专家知识,构造出初步的关键地点推理模糊系统,这是显性知识的学习。之后,通过对对抗经验的学习,对初步模糊系统中的规则和参数进行调优,实现隐性知识的学习。
图4 基于遗传模糊系统的作战任务规划关键地点推理Fig.4 Reasoning of key points in operational mission planning based on genetic fuzzy system
经过训练的遗传模糊系统可以在各类作战任务规划中推理出作战任务的关键地点。例如为进攻任务推理“进攻点”,为防守任务推理“防守点”,为侦察任务推理“侦察点”等。自动推理作战任务的关键地点是实现自主任务规划的关键,可以提高作战任务规划的泛化能力。
该技术主要针对OODA中的判断环节,将遗传算法与模糊系统相结合,解决任务规划中关键地点的自动推理问题。
从决策任务的复杂程度来看,国际象棋的决策空间是10123,围棋是10360,王者荣耀(1V1)是1018 000,腾讯实验室用了600 000个CPU以及1 064个GPU(Tesla P40+V100)训练70 h能够达到专业水平的AI智能体。
对于兵棋推演等决策空间更加巨大的作战问题,如果通过单纯的训练想得到较高水平的指挥决策AI智能体,其所需的计算资源将更加庞大。
为此,可以采用多层次任务分解的思想,将决策空间划分为策略层、分队层和个体层3个层次分别求解。针对复杂问题,对其进行不同层次的划分,降低了在每个层次上问题求解的决策空间,如图5所示。
图5 多层次决策空间的分解Fig.5 Decomposition of multi-level decision space
层次任务规划与作战过程中指挥员的思维方式很类似,都是将一个大的复杂任务不断的分解细化,最终产生行动的过程[26-28]。因此在宏观AI层面,采用层次任务规划的方法,逐层分解产生行动序列,如图6所示。
图6 引入博弈的时空域层次任务规划Fig.6 Hierarchical task planning in time and space domain with game theory
对于总体作战任务,可以先划分阶段任务,这部分通常比较固定,可分为机动部署阶段、侦查打击阶段、火力夺控阶段、守点防御阶段等。然后针对每个阶段的任务,分解产生在本阶段不同分队的任务,例如侦查任务、打击任务、保障任务等。最后针对每个分队任务,再分解产生每个算子的作战行动序列。从阶段任务到分队任务的分解、从分队任务到作战行动序列的分解都涉及到分解方法的选择问题,传统的层次任务网在选择分解方法时通常只考虑己方的情况,为此将博弈论引入,通过联盟博弈和动态博弈选择合适的分解方法,既考虑己方之间的协同,又考虑到对手策略的影响,使产生的分队任务和行动序列能够获取最大的收益。
该技术主要针对OODA中的决策环节,在层次任务网的基础上引入博弈论,解决任务规划中的协同和对抗问题。
由于作战过程是一个高度动态的过程,初始规划的行动序列由于战场的种种不确定因素变得不可执行。任务规划中处理不确定因素有两种方式:反应式与预测式。反应式方法在计划执行中动态调整,灵活多变但需要准确感知化;预测式方法在计划执行中无需介入调整,鲁棒性高但计划制定复杂。单纯的反应式或预测方法虽各有优势,但也都存在一定缺陷。
因此,可以将二者结合,设计一套反应与预测相结合的混合式行动序列监视与执行方法,解决在合适的时机选择合适的重规划算法对初始行动序列进行调整的问题[29-30],如图7所示。
图7 应对不确定因素的重规划方法Fig.7 Replanning method to deal with uncertain factors
状态监测主要是确定重规划介入的时机,包括两个方面。一是从前向后的基于效果期望的差异监测,针对不确定因素对已经完成行动效果的影响问题,比较已完成行动的累积效果与实际效果,监视是否存在执行效果无效而导致的差异,从而判断是否需要进行重规划。二是从后向前的基于任务期望的差异监测,针对不确定因素未执行行动前提条件的影响问题,比较所有未执行行动的前提条件是否满足从最终效果期望倒推而来小约束,从而判断是否需要进行重规划。
差异映射主要是根据差异的大小选择不同的重规划算法。其中计划修复通过建立修复规则,针对个别行动进行局部调整,无需调用规划器,局部重规划针对还未完成或未执行的分队任务进行局部调整,需要调用规划器重新分解分队任务,全局重规划针对总体目标任务或者阶段任务进行全局调整,需要调用规划器对高层任务进行全面的调整。
最终通过状态监测和差异映射确定在恰当的时机选择合适的重规划算法,提升任务规划与执行过程中应对战场不确定因素的能力。
该技术主要针对OODA中的决策环节,将反应式与预测式规划相结合,解决计划执行中受到不确定因素影响的问题。
基于深度强化学习的算子动作策略优化主要解决底层最佳动作的输出问题[31-32],如图8所示。
图8 算子动作策略优化方法Fig.8 Operator action strategy optimization method
作为微观AI的动作输出模型,强化学习器的网络结构包括状态的编码与策略的强化学习,从而最终预测输出动作。模型的输入数据包括基于数据补全生成的态势数据、基于层次任务规划产生的行动序列数据、从兵棋系统获取的算子状态数据等,这些数据通过由卷积层或全连接层组成的预处理网络进行编码。策略的强化学习采用近端策略优化方法(proximal policy optimization,PPO),PPO是一种基于策略梯度优化的深度强化学习算法,通过区分采样策略和学习策略,可以在多个训练步骤实现小批量的更新,并且适合于分布式的离线学习。在兵棋系统中,不同类型的算子通过一个策略网络进行学习是比较困难的,因此可以通过对目标函数的解耦合,达到对不同类型算子解耦合的目的。根据解耦合后的目标函数利用PPO算法分别学习每类算子的动作输出网络,例如产生坦克算子动作输出网络,步兵算子动作输出网络等。最终由算子动作输出网络输出当前态势下最佳的动作,例如机动、射击、夺控等。
预处理网络与态势复杂程度相关,在两个算子与两个算子对抗条件下,态势、行动、算子状态都相对简单,此时的预处理网络较为简单。而随着算子数量的增多,从两个到多个,从分队到群队,输入的数据将变得十分复杂,此时的预处理网络也将变得较为复杂。然而,各类算子动作输出网络与输入的数据无关,其只与预处理网络的输出结果有关,这就将算子的动作输出与态势的复杂度分离了。算子动作输出网络可以单独训练,训练完成后可以进行模块化组合,从而使整个网络模型能够快速适应新的情况。
该技术主要针对OODA中的执行环节,在深度强化学习的基础上引入解耦合的思想,解决训练大规模兵棋算子动作输出的问题。
基于知识牵引与数据驱动的兵棋AI设计具备良好的可扩展性,能够根据不同的应用场景加载不同的模块,动态适应分队级AI、群队级AI以及人机混合AI的应用需求。
(1) 分队级AI设计与技术架构
针对分队级AI,只需要在宏观AI中去掉基于联盟博弈的空间域任务分解模块,给定分队任务,调用基于层次任务网的时间域任务分解模块即可,其他模块无需改变。
(2) 群队级AI设计与技术架构
针对群队级AI,需要完整的宏观AI和微观AI,通过基于联盟博弈的空间域任务分解模型实现将目标任务分解为各个分队任务,即上述基于知识牵引与数据驱动的兵棋AI框架,不再赘述。
(3) 人机混合AI设计与技术架构
针对人机混合智能,在宏观层面以指挥员为主进行任务规划,其根据作战意图进行任务的逐层分解,并为各个分队分配任务。与此同时,宏观AI将指挥员的作战意图映射为目标任务,自动的对目标任务进行分解与分配,并生成行动序列,为指挥员的任务规划提供辅助决策。这样,在宏观层面以指挥员为主、宏观AI为辅进行任务规划,而微观AI自动地完成行动序列到动作的输出,形成宏观层面以人为主的人机混合以及宏微观之间人机混合的技术架构。
随着人工智能技术在星际争霸、DOTA、王者荣耀等游戏领域取得的突破,智能博弈对抗技术已成为目前国内外人工智能领域研究的热点。兵棋推演作为一种复杂环境下的不完全信息博弈过程,同样受到越来越多的关注。本文着眼于智能兵棋推演的需求,首先分析了知识型兵棋AI与学习型兵棋AI的优势与不足,提出了一种知识加数据的兵棋AI设计思路。其次,进一步提出了基于知识牵引与数据驱动的兵棋AI设计框架。然后,针对框架中涉及的态势感知、关键点推理、任务规划与重规划、动作策略优化等关键技术进行了深入分析。最后,讨论了该框架的可扩展性问题。在该框架以及相关关键技术的支撑下,设计并实现了分队级、群队级的兵棋AI,在多个作战想定背景下,与多个AI团队以及人类兵棋选手的比赛中均取得了优异的成绩,说明本文所提框架具有较强的适应性,不仅能够满足不同场景下兵棋推演应用需求,而且能够适用于解决一般的博弈对抗问题。
总之,人工智能尤其是强化学习、深度神经网络等技术的发展给智能博弈对抗问题的解决带来了契机。如何将新兴的基于数据驱动的模型与传统的基于知识规则的模型进行有机融合,是有效解决复杂环境下不完全信息博弈问题的关键所在。因此,未来的工作就是在此框架下,结合领域问题,科学合理地建立起这些异构模型之间的高效协作机制,进一步推进智能博弈对抗理论、技术与应用的深入发展。