「智能博弈」最新2022综述:游戏AI对作战推演的启示

2022 年 8 月 30 日 专知


智能博弈领域已逐渐成为当前AI研究的热点之一,游戏AI领域、智能兵棋领域都在近年取得了一系列的研究突破。但是,游戏 AI 如何应用到实际的智能作战推演依然面临巨大的困难。综合分析智能博弈领域的国内外整体研究进展,详细剖析智能作战推演的主要属性需求,并结合当前最新的强化学习发展概况进行阐述。从智能博弈领域主流研究技术、相关智能决策技术、作战推演技术难点3个维度综合分析游戏AI发展为智能作战推演的可行性,最后给出未来智能作战推演的发展建议。以期为智能博弈领域的研究人员介绍一个比较清晰的发展现状并提供有价值的研究思路。


http://www.infocomm-journal.com/znkx/article/2022/2096-6652/2096-6652-4-2-00157.shtml


0 引言


以2016年AlphaGo的成功研发为起点,对智能博弈领域的研究获得突飞猛进的进展。2016年之前,对兵棋推演的研究还主要集中在基于事件驱动、规则驱动等比较固定的思路。到2016年,受AlphaGo的启发,研究人员发现智能兵棋、智能作战推演的实现并没有想象得那么遥远。随着机器学习技术的发展,很多玩家十分憧憬游戏中有 AI 加入从而改善自己的游戏体验[1]。同时,在智能作战推演领域,不断发展的机器学习游戏 AI 技术也为智能作战推演的发展提供了可行思路[2]。传统作战推演AI主要以基于规则的AI和分层状态机的AI决策为主,同时以基于事件驱动的机制进行推演[3-4]。然而,随着近些年国内外在各种棋类、策略类游戏领域取得新突破,智能作战推演的发展迎来了新的机遇[5]


国内游戏 AI 领域取得了标志性的进步。腾讯《王者荣耀》的《觉悟AI》作为一款策略对抗游戏取得了显著成绩,可以击败97%的玩家,并且多次击败顶尖职业团队[6]。网易伏羲人工智能实验室在很多游戏环境都进行了强化学习游戏 AI 的尝试[6],如《潮人篮球》《逆水寒》《倩女幽魂》。超参数科技(深圳)有限公司打造了游戏AI平台“Delta”,集成机器学习、强化学习、大系统工程等技术,通过将AI与游戏场景结合,提供人工智能解决方案[7]。启元AI“星际指挥官”在与职业选手的对抗中也取得了胜利[8]。北京字节跳动科技有限公司也收购了上海沐瞳科技有限公司和北京深极智能科技有限公司,准备在游戏AI领域发力。除了游戏AI领域,国内在智能兵棋推演领域也发展迅速。国防大学兵棋团队研制了战略、战役级兵棋系统,并分析了将人工智能特别是深度学习技术运用在兵棋系统上需要解决的问题[9]。中国科学院自动化研究所在2017年首次推出《CASIA-先知1.0》兵棋推演人机对抗AI[10],并在近期上线“庙算·智胜”即时策略人机对抗平台[11]。此外,由中国指挥与控制学会和北京华戍防务技术有限公司共同推出的专业级兵棋《智戎·未来指挥官》在第三届、第四届全国兵棋推演大赛中成为官方指定平台。中国电科认知与智能技术重点实验室开发了MaCA智能博弈平台,也成功以此平台为基础举办了相关智能博弈赛事。南京大学、中国人民解放军陆军工程大学、中国电子科技集团公司第五十二研究所等相关单位也开发研制了具有自主知识产权的兵棋推演系统[12,13,14,15]。2020年,国内举办了4次大型智能兵棋推演比赛,这些比赛对于国内智能博弈推演的发展、作战推演领域的推进具有积极影响。游戏 AI 和智能兵棋的发展也逐渐获得了国内学者的关注,胡晓峰等人[5]提出了从游戏博弈到作战指挥的决策差异,分析了将现有主流人工智能技术应用到战争对抗过程中的局限性。南京理工大学张振、李琛等人利用PPO、A3C算法实现了简易环境下的智能兵棋推演,取得了较好的智能性[16-17]。中国人民解放军陆军工程大学程恺、张可等人利用知识驱动及遗传模糊算法等提高了兵棋推演的智能性[18-19]。中国人民解放军海军研究院和中国科学院自动化研究所分别设计和开发了智能博弈对抗系统,对于国内智能兵棋推演系统的开发具有重要参考价值[20]。中国人民解放军国防科技大学刘忠教授团队利用深度强化学习技术在《墨子•未来指挥官系统》中进行了一系列智能博弈的研究,取得了突出的成果[21]。中国科学院大学人工智能学院倪晚成团队提出一种基于深度神经网络从复盘数据中学习战术机动策略模型的方法,对于智能博弈中的态势认知研究具有重要参考价值[22]


总体来说,国内在智能博弈领域进行了一系列的研究,尝试将该技术应用到作战推演领域,建立了具有自主产权的博弈平台,技术层面也不断突破,不再局限于传统的行为决策树、专家知识库等,开始将强化学习技术、深度学习技术、遗传模糊算法等引入智能博弈,取得了一系列的关键技术的突破。但是,当前的研究主要聚焦在比较简单的智能博弈环境,对复杂环境及不完全信息的博弈对抗研究仍然需要进一步探索。

国外游戏 AI 领域则取得了一系列突出成果,尤其是深度强化学习技术的不断发展,游戏 AI 开始称霸各类型的游戏[23]。2015年DeepMind团队发表了深度Q网络的文章,认为深度强化学习可以实现人类水平的控制[24]。2017年,DeepMind团队根据深度学习和策略搜索的方法推出了AlphaGo[25],击败了围棋世界冠军李世石。此后,基于深度强化学习的 AlphaGo Zero[26]在不需要人类经验的帮助下,经过短时间的训练就击败了AlphaGo。2019年, DeepMind 团队基于多智能体(agent)深度强化学习推出的AlphaStar[27]在《星际争霸II》游戏中达到了人类大师级的水平,并且在《星际争霸II》的官方排名中超越了 99.8%的人类玩家。《Dota 2》AI“OpenAI Five”在电竞游戏中击败世界冠军[28], Pluribus 在 6 人无限制德州扑克中击败人类职业选手[29]。同时DeepMind推出的MuZero在没有传授棋类运行规则的情况下,通过自我观察掌握围棋、国际象棋、将棋和雅达利(Atari)游戏[30]。与军事推演直接相关的《CMANO》和《战争游戏:红龙》(Wargame:Red Dragon),同样也结合了最新的机器学习技术提升了其智能性[31]。美国兰德公司也对兵棋推演的应用进行相关研究,利用兵棋推演假设分析了俄罗斯和北大西洋公约组织之间的对抗结果,并利用智能兵棋推演去发现新的战术[32]。兰德研究员也提出将兵棋作为美国军事人员学习战术战法的工具[33]。美国海军研究院尝试使用深度强化学习技术开发能够在多种单元和地形类型的简单场景中学习最佳行为的人工智能代理,并将其应用到军事训练及军事演习[34-35]


但就目前而言,国外的研究也遇到了瓶颈。虽然也尝试将深度强化学习技术利用到作战领域,但是就目前发表的论文和报告来看,国外学者、研究人员将机器学习技术应用到作战推演 AI 中还有很多问题需要解决,现阶段也是主要在游戏 AI 领域及简单的作战场景进行实验验证及分析。作战推演AI 的设计也不仅仅是把机器学习技术照搬照用这么简单。但是必须肯定的是,随着未来计算机硬件的发展和机器学习技术的完善,作战推演 AI 会迎来一波革命式的发展,给各类作战智能指挥决策带来翻天覆地的变化。本文从智能博弈的重要应用领域——作战推演分析了国内外整体背景,进而引出作战推演的技术需求,并给出当前可参考的主流及小众技术思路。同时,对可能出现的技术难点进行了分析并给出解决方案建议。最后,对作战推演的未来发展提出建议。


1 智能作战推演主要属性需求

1.1 状态空间

状态空间是作战推演中的每个作战实体的位置坐标、所处环境、所处状态等要素的表现,是深度强化学习进行训练的基础。在围棋中,状态空间就是棋盘上每个点是否有棋子。在《觉悟AI》中,状态空间是每一帧、每个单位可能有的状态,如生命值、级别、金币[36,37,38,39]。在《墨子·未来指挥官系统》中,状态空间主要是每个作战单元实体的状态信息,是由想定中敌我双方所有的作战单元信息汇聚形成的。本节尤其要明确状态空间和可观察空间是可区分的,可观察空间主要是每个 agent 可以观察到的状态信息,是整个状态空间的一部分。作战推演中的状态空间将更加复杂,具有更多的作战单位和单位状态。针对敌我双方的不同作战单位、不同单位属性、不同环境属性等定义作战推演的状态空间属性。例如敌我双方坦克单元应包括坐标、速度、朝向、载弹量、攻击武器、规模等。陆战环境应包括周围道路信息、城镇居民地、夺控点等。

1.2 动作空间设计

动作空间是指在策略对抗游戏中玩家控制算子或游戏单元可以进行的所有动作的集合。对于围棋来说,动作空间为361个,是棋盘上所有可以落子的点。对于《王者荣耀》和《Dota》这类游戏来说,动作空间主要是玩家控制一个“英雄”进行的一系列操作,玩家平均水平是每秒可以进行一个动作,但是需要结合走位、释放技能、查看资源信息等操作。例如《觉悟AI》的玩家有几十个动作选项,包括24个方向的移动按钮和一些释放位置/方向的技能按钮[34]。因此每局多人在线战术竞技(multiplayer online battle arena,MOBA)游戏的动作空间可以达到1060 000+。假设游戏时长为45 min,每秒30帧,共计81 000帧,AI每4帧进行一次操作,共计20 250次操作,这是游戏长度。任何时刻每个“英雄”可能的操作数是170 000,但考虑到其中大部分是不可执行的(例如使用一个尚处于冷却状态的技能),平均的可执行动作数约为1 000,即动作空间[37]。因此,操作序列空间约等于1 00020 250= 1060 750。而对于《星际争霸》这类实时策略对抗游戏来说,因为需要控制大量的作战单元和建筑单元,动作空间可以达到1052 000[38]。而对于《CMANO》和《墨子·未来指挥官系统》这类更加贴近军事作战推演的游戏来说,需要对每个作战单元进行大量精细的控制。在作战推演中,每个作战单元实际都包括大量的具体执行动作,以作战飞机为例,应包括飞行航向、飞行高度、飞行速度、自动开火距离、导弹齐射数量等。因此,实际作战推演需要考虑的动作空间可以达到10100 000+。可以看出,对于作战推演来说,庞大的动作空间一直是游戏 AI 迈进实际作战推演的门槛。现有的解决思路主要是考虑利用宏观AI训练战略决策,根据战略决策构建一系列绑定的宏函数,进行动作脚本设计。这样的好处是有效降低了动作空间设计的复杂度,同时也方便高效训练,但是实际问题是训练出来的 AI 总体缺乏灵活性,过于僵化。

对于动作空间,还需要考虑其是离散的还是连续的,Atari和围棋这类游戏动作都是离散动作空间[25,39-40],《星际争霸》《CMANO》《墨子·未来指挥官系统》这类游戏主要是连续动作空间[38]。对于离散动作,可以考虑基于值函数的强化学习进行训练,而对于连续动作,可以考虑利用基于策略函数的强化学习进行训练。同时,离散动作和连续动作也可以互相转化。国内某兵棋推演平台由原先的回合制改为时间连续推演,即把回合制转化为固定的时间表达。同时对于连续动作,也可以在固定节点提取对应的动作,然后将其转化为离散动作。

1.3 决策空间构建

智能博弈中的决策主要是指博弈对抗过程中的宏观战略的选择以及微观具体动作的选择。宏观战略的选择在《墨子·未来指挥官系统》推演平台中体现得比较明显。在推演比赛开始前,每个选手要进行任务规划,这个任务规划是开始推演前的整体战略部署,例如分配导弹打击目标,规划舰艇、战斗机活动的大致区域,以及各个任务的开始执行时间等。这一决策空间与想定中的作战单元数量、任务规划数量相关。在制定完成宏观战略决策后,推演阶段即自主执行所制定的宏观战略决策。同时,在推演过程中也可以进行微观具体动作的干预,这一阶段的具体动作和作战单元数量、作战单元动作空间成正比。在实际作战推演中利用智能算法进行智能决策,首先需要明确决策空间数量。在现有的《墨子·未来指挥官系统》中,针对大型对抗想定,计算机基本需要每秒进行数百个决策,一局想定推演中双方博弈决策空间数量预估为 1080+个,而对于《星际争霸》《Dota 2》和《王者荣耀》这类即时战略(real-time strategy,RTS)游戏,决策空间会低一些。实际作战推演每小时的决策空间数量将高于 1050+个。对于这类智能决策的方案,现有 RTS游戏中提出的思路是利用分层强化学习的方法进行解决,根据具体对抗态势进行宏观战略决策的选择,然后根据不同的决策再分别执行对应的微观具体动作,这样可以有效降低智能决策数量,明显提高智能决策的执行效率。

1.4 胜利条件设置

博弈对抗的胜利是一局游戏结束的标志。而不同游戏中的胜利条件类型也不同,围棋、国际象棋这些棋类博弈对抗过程中有清晰明确的获胜条件[30]。而 Atari 这类游戏[40]只需要获得足够的分数即可获得胜利。对于《王者荣耀》这类推塔游戏,不管过程如何,只要最终攻破敌方水晶就可以获取胜利。这些胜利条件使得基于深度强化学习技术的游戏AI开发相对容易,在回报值设置中给予最终奖励更高的回报值,总归能训练出较好的 AI 智能。然而对于策略对抗游戏,甚至实际作战推演来说,获胜条件更加复杂,目标更多。比如,有时可能需要考虑在我方损失最低的情况下实现作战目标,而有时则需要不计代价地快速实现作战目标,这些复杂多元的获胜条件设置将使得强化学习的回报值设置不能是简单地根据专家经验进行赋值,而需要根据真实演习数据构建奖赏函数,通过逆强化学习技术满足复杂多变的作战场景中不同阶段、不同目标的作战要求。

1.5 回报值设置

博弈对抗过程中最核心的环节是设置回报值,合理有效的回报值可以保证高效地训练出高水平AI。对于《星际争霸》《王者荣耀》等游戏,可以按照固定的条件设置明确的回报值,例如将取得最终胜利设置为固定的回报值。但是一局游戏的时间有时较长,在整局对抗过程中,如果只有最终的回报值将导致训练非常低效。这就是作战推演中遇到的一个难题,即回报值稀疏问题。为了解决这个难题,现有的解决方案都是在对抗过程中设置许多细节条件,如获得回报值或损失回报值的具体行为。比如在“庙算·智胜”平台中的博弈对抗,可以设置坦克击毁对手、占领夺控点即可获得回报值,如果被打击、失去夺控点等则会损失回报值,甚至为了加快收敛防止算子长期不能达到有效地点,会在每步(step)都损失微小的回报值。《觉悟AI》也同样设置了详细的奖赏表[36],从资源、KDA(杀人率(kill,K),死亡率(death,D),支援率(assista, A))、打击、推进、输赢 5 个维度设置了非常详细的具体动作回报值。这样就可以有效解决回报值稀疏的问题。但是,对于复杂的作战推演来说,设计回报函数可能还需要更多的细节。因为作战情况将更加复杂多样,需要利用逆强化学习[41-42],通过以往的作战数据反向构建奖赏函数。

1.6 战争迷雾

战争迷雾主要是指在博弈对抗过程中存在信息的不完全情况,我方并不了解未探索的区域实际的态势信息。围棋、国际象棋这类博弈对抗游戏中不存在这类问题。但是在《星际争霸》《Dota 2》《王者荣耀》以及《CMANO》等RTS游戏中设计了这一机制。实际的作战推演过程中同样也存在此类问题,但是情况更加复杂。在实际作战推演中,可以考虑利用不完全信息博弈解决这个问题,已有学者利用不完全信息博弈解决了德州扑克中的不完全信息问题[29],但是在实际作战推演中这一问题还需要进一步探讨研究。

1.7 观察信息

这里需要对智能博弈中的观察信息与游戏状态空间进行区分,观察信息主要是指博弈的 agent在当前态势下可以获取的态势信息,是部分状态信息。由于在智能博弈对抗过程中会产生战争迷雾问题,因此需要在处理博弈信息时设置 agent 可以获取到的信息。《星际争霸》中观察信息主要有两层意思,一个层面是屏幕限制的区域更易于获取态势信息,因为玩家更直观的注意力在屏幕局域,部分注意力在小地图局域。为了更加符合实际, AlphaStar也按照这种限制对《星际争霸》中的注意力区域进行限制,从而更好地防止 AI 产生作弊行为。而这也是部分《星际争霸》AI被人诟病的原因,即没有限制机器的关注区域。另一个层面是对《星际争霸》中作战单元可观察区域内的态势信息进行获取,对于不能获取的态势信息则只能评估预测,而这一部分则涉及对手建模部分,主要利用部分可观察马尔可夫决策过程(partially observable Markov decision process,POMDP)[43],这一技术明显难于完全信息博弈。而对于围棋游戏来说,其中的态势信息是完全可获取的,属于完全信息博弈,态势信息即观察信息。并且围棋游戏属于回合制,相对于即时策略游戏,其有更加充分的获取态势信息的时间。因此,则可以利用蒙特卡洛树搜索(Monte Carlo tree search,MCTS)算法对所获取的围棋游戏中的观察信息进行详细分析,计算出所有可能的结果,进而得出最佳的方案策略。《Dota 2》中的观察信息是指所控制的某个“英雄”所获取的态势信息,其主要也是对主屏幕的态势信息和小地图的态势信息进行结合处理。《王者荣耀》也与此类似,其主要以小地图的宏观信息进行训练,然后以此为基础为战略方案提供支持,如游戏中的“英雄”是去野区发育还是去中路对抗。同时,对主屏幕态势信息进行特征提取,结合强化学习训练,可以得出战术层面的方案和建议,是去选择回塔防御还是进草丛躲避,或者推塔进攻。墨子兵棋推演系统和《CMANO》则更加接近真实作战推演,在作战信息获取各个方面都高度模拟了作战推演的场景,需要获取具体的对空雷达、对地雷达、导弹探测、舰艇雷达等信息后才能判断态势信息,这部分可观察信息非常复杂,需要结合各种情况才能发现部分目标,对于战争迷雾更加真实。因此,作战推演观察信息完全可以借鉴POMDP进行可观察信息建模,但还需要设置各种更加符合真实装备的作战情况,需要在环境中提前设置有针对性的条件。

1.8 对手建模

在博弈对抗过程中对手 AI 的建模也是至关重要的,不同水平的AI会导致博弈对抗的胜率不同,并且直接影响推演对抗的价值[39,40,41,42,43,44,45]。如果对手 AI水平过低,就不能逼真地模拟假设对手,博弈过程和推演结果也价值不高。在 DeepMind 开发的AlphaGo和AlphaStar中,AI性能已经可以击败职业选手,通过训练后产生的决策方案已经可以给职业选手新的战术启发。国内《墨子•未来指挥官系统》也与国内高校合作,研发的基于深度强化学习的智能 AI 已经可以击败全国兵棋大赛十强选手。而在中国科学院自动化研究所开发的“庙算•智胜”上,积分排名前三名的均是AI选手,胜率均在80%以上[11]。但是,现有对手建模主要还是聚焦在一对一的对手建模,很少学者研究多方博弈,而这在实际作战推演中更加需要。在实际作战对抗博弈过程中普遍会考虑多方博弈,如在《墨子•未来指挥官系统》的海峡大潮想定中,红方不仅面对蓝方,还有绿方,蓝方和绿方属于联盟关系。这就需要在对手建模中充分考虑这种复杂的博弈关系。

1.9 想定设计

博弈对抗的环境因素也是影响智能决策的重要因素之一。在围棋、国际象棋这些棋类游戏中,想定是永久固定不变的,而且也完全没有环境的影响,因此AlphaGo这类智能AI完全没有考虑环境的因素。在《觉悟 AI》《Dota 2》这类游戏中就需要考虑不同“英雄”在同一个场景中会产生不同的影响。不同的“英雄”阵容搭配也会对推演结果产生不同的影响,《觉悟AI》尝试利用强化学习技术,结合历史数据解决这一问题。这对于作战推演的武器装备搭配也具有启发价值。但是在实时策略游戏中要考虑更加复杂的环境因素及其影响,不仅作战单元会产生变化,并且在不同的作战推演中,不同的环境之中也会有不同的地形、地貌,这些因素会对作战推演的过程产生非常重要的影响。《CMANO》《墨子·未来指挥官系统》《战争游戏:红龙》中都需要考虑地形因素。例如《CMANO》中登陆作战需要考虑水雷所在区域、登陆舰艇吃水深度,否则会产生搁浅,不能在理想区域登陆会对作战目标产生较大负面影响。因此,对于实际作战推演来说,最大的挑战是防止训练的深度强化学习AI 对某个想定产生过拟合。作战场景是千变万化的,传统的基于规则的AI就很难适应变化的想定,早期的《先知•兵圣》比赛中就比较突出地显示了这一问题。强化学习也容易训练出某个过拟合的模型,导致只在某个想定会有较好的AI智能性,假如更换作战想定就需要重新训练很长时间。为了解决这一问题,现有思路是利用迁移学习、先验知识和强化学习的思路来增强算法的适应性,并可以加速回报函数收敛,保证快速训练出高水平的AI模型。

1.10 总体比较

本节针对智能作战推演所需要的关键属性,结合当前游戏AI、智能兵棋等相关博弈平台,利用相关文献[6,8,24-25,29-30,37-39,43,46-49]进行分析,经过对比不难发现游戏 AI 过渡到智能兵棋,甚至是智能作战推演的难度,各个关键属性也是未来需要研究突破的关键点,具体见表1。



2 作战推演的智能决策核心技术思路


2.1 强化学习技术框架
强化学习的核心思想是不断地在环境中探索试错,并通过得到的回报值来判定当前动作的好坏,从而训练出高水平的智能AI[50]。马尔可夫决策过程(Markov decision process,MDP)是强化学习的基础模型,环境通过状态与动作建模,描述agent与环境的交互过程。一般地,MDP可表示为四元组<S,A,R,T >[44]
  • S为有限状态空间(state space),包含agent在环境中的所有状态;
  •  A为有限动作空间(action space),包含agent在每个状态上可以采取的所有动作;

agent从环境中感知当前状态st,从动作空间A中选择能够获取的动作at;执行at后,环境给agent相应的奖赏信号反馈 rt+1,环境以一定概率转移到新的状态st+1,等待agent做出下一步决策。在与环境的交互过程中,agent有两处不确定性,一处是在状态 s 处选择什么样的动作,用策略π(a|s)表示agent的某个策略;另一处则是环境本身产生的状态转移概率