SMAC-Hard:更具挑战性的多智能体强化学习评估环境

浙大与南栖仙策联合推出SMAC-Hard,一个更具挑战性的多智能体强化学习环境,支持自定义对手策略和自博弈,对现有算法提出更高评估标准。

原文标题:多智能体强化学习算法评估Hard模式来了!浙大、南栖仙策联手推出

原文作者:机器之心

冷月清谈:

当前的多智能体强化学习(MARL)算法评估主要依赖于星际争霸多智能体挑战(SMAC)环境。然而,SMAC 环境的对手策略过于单一,导致算法容易过拟合或利用漏洞,无法真实反映算法的有效性。浙江大学和南栖仙策联合推出的 SMAC-Hard 环境,通过支持可编辑、随机化和自博弈的对手策略,为 MARL 算法评估提出了新的挑战。

SMAC-Hard 环境基于 SMAC 模拟环境构建,允许用户自定义对手脚本,并通过预设概率随机选择不同的对手策略。此外,SMAC-Hard 还提供了自博弈接口,方便研究人员探索 MARL 自博弈模式。实验结果表明,SMAC-Hard 环境对现有 MARL 算法提出了更高的要求,许多在 SMAC 环境中表现优异的算法在 SMAC-Hard 中难以保持高胜率。黑盒测试结果也显示,在面对多样化对手策略时,MARL 策略的迁移能力有限。

SMAC-Hard 环境的推出,不仅为 MARL 算法评估提供了更严格的基准,还有望促进 MARL 自博弈方法的发展,推动多智能体系统研究的进步。同时,SMAC-Hard 修正了原 SMAC 环境中存在的奖励结算错误,使评估结果更加准确可靠。

怜星夜思:

1、SMAC-Hard 中的“自博弈接口”具体如何实现?与 AlphaGo Zero 的自博弈有何异同?
2、文章提到现有 MARL 算法在 SMAC-Hard 中表现不佳,这是否意味着当前的 MARL 算法存在局限性?未来的研究方向是什么?
3、除了 SMAC-Hard 提到的改进,还有什么其他方法可以提升 MARL 算法的评估体系?

原文内容

图片

AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:[email protected][email protected]

本文作者来自浙江大学、中国科学技术大学、中科院自动化所和南栖仙策。作者列表:邓悦、喻言、马玮彧、王子瑞、朱文辉、赵鉴和张寅。第一作者邓悦是浙江大学计算机系博士生。通讯作者是南栖仙策赵鉴博士和浙江大学计算机系教授张寅。

在人工智能领域,具有挑战性的模拟环境对于推动多智能体强化学习(MARL)领域的发展至关重要。在合作式多智能体强化学习环境中,大多数算法均通过星际争霸多智能体挑战(SMAC)作为实验环境来验证算法的收敛和样本利用率。然而随着 MARL 算法的不断进步,很多算法在 SMAC 环境上均表现出接近最优的性能,这使得对算法的真实有效性的评估变得更为复杂。尽管 SMACv2 环境在任务初始化时采用概率生成的方式以削弱开环控制的特性,但是两个环境均是以默认的、单一的、且确定的脚本作为对手脚本。这使得智能体学习到的策略模型更容易过拟合到某一个对手策略,或利用对手策略的漏洞而拟合到取巧方法上。

图一:SMACv1(左)和 SMACv2(右)的默认脚本。分别为:“操控所有玩家 2 的角色攻击 Team1 位置” 和 “操控每个玩家 2 的角色攻击玩家 1 的最近角色”。

为说明默认脚本带来的影响,如下的三个视频回放分别来自 SMACv1、SMACv2 的默认对手策略和合适的对手策略。


在 SMACv1 环境中,对手 zealot 被仇恨范围和脚本卡在 Team1 的位置,脱离其他角色的战斗。


在 SMACv2 环境中,因为默认对手策略为攻击最近角色,对手 zealot 被 stalker 吸引,脱离其他角色的战斗。


在 SMAC-HARD 中,丰富对手策略给智能体带来更正常更大的挑战。

近期,浙江大学和南栖仙策联合推出了基于 SMAC 模拟环境的 SMAC-HARD 环境。该环境支持可编辑的对手策略、随机化对手策略以及 MARL 自博弈接口,从而使智能体训练过程能够适应不同的对手行为进而提高模型的稳定性。此外,智能体还可以通过 SMAC-HARD 环境完成黑盒测试来评估 MARL 算法的策略覆盖性和迁移能力,即智能体在训练过程中仅通过与默认对手策略或自博弈模型进行推演,但在测试过程中与环境提供的脚本进行交互。

团队在 SMAC-HARD 上对广泛使用的先进算法进行了评估,展示了当前的 MARL 算法在面对混合可编辑对手策略时会得到更保守的行为价值,进而导致策略网络收敛到次优解。此外,黑盒策略测试也体现了将所学策略转移到未知对手身上的难度。团队希望通过推出 SMAC-HARD 环境来为后续 MARL 算法评估提出新的挑战,并促进多智能体系统社区中自博弈方法的发展。


  • 论文标题:SMAC-Hard: Enabling Mixed Opponent Strategy Script and Self-play on SMAC
  • 论文地址:https://arxiv.org/abs/2412.17707
  • 项目地址:https://github.com/devindeng94/smac-hard
  • 知乎链接:https://zhuanlan.zhihu.com/p/14397869903

环境介绍

就源代码而言,基于 Python 的 pysc2 代码包是对《星际争霸 II》二进制游戏文件中的 sc2_protocol 的抽象。通过 pysc2 对 sc2_protocolAPI 的抽象,玩家可以操控游戏的进程。而 SMAC 框架是通过将 pysc2 的原始观测数据转化为标准化、结构化、向量化的观测和状态表示,进一步封装了 pysc2 提供的 API。因此,《星际争霸 II》环境本身既支持来自 SMAC 的标准化动作,也支持由 pysc2 脚本生成的动作,这为对手可编辑脚本提供了支持。如图二所示,SMAC-HARD 修改了 SMAC 中的地图(SC2Map)以启用多玩家模式并禁用了默认攻击策略以防止默认脚本策略中的行动干扰。除了对地图的修改外,对原 SMAC 的 starcraft.py 文件也进行了修改,以容纳两个玩家进入游戏,检索两个玩家的原始观测数据,并同时处理两个玩家的行动。为了减轻行动执行顺序的影响,环境对两名玩家的行动步进过程进行了并行化处理。

图二:SMAC-HARD 环境、对手策略脚本、自博弈接口封装,与原始 SMAC、PySC2、StarCraftII 的关系示意图。

除了为对手提供了决策树建模外,当存在多个对手策略时,环境还引入了由预定义概率设置的随机策略选择功能以提升对手策略的丰富度。这些概率以浮点值列表的形式表示,默认设置为所有策略相等概率。此外,为了进一步扩大对手的策略丰富度,环境还根据智能体的观测、状态和可用行为等的封装,为对手提供了类似的对称接口以促进 MARL 自博弈模式的发展。用户可以通过 "mode" 参数来控制使用自博弈模式或决策树模式且该模式默认为决策树模式。以此为前提,用户将 import 中的 smac 更换为 smac_hard,即可将实验环境从 SMAC 无缝过渡到 SMAC-HARD。

图三:由大模型生成双方策略脚本过程。在对称的环境中,最终生成的双方策略均被采用为可选备受策略。

虽然决策树在面对不同对手策略时表现出更高的稳定性且可以提供更强的可解释性。参考最近的工作 LLM-SMAC,对手策略的生成可以通过代码大模型完成以辅助策略脚本编写。如图三所示:将角色信息、地图信息、与任务描述合成为环境提示,并利用规划大模型为双方规划策略架构。双方分别利用代码大模型实现各自的策略架构,并利用生成的代码在 SMAC-HARD 中进行测评。再利用大模型作为批评家多轮分析测评结果和代码,进而为规划大模型和代码大模型提供优化建议。

图片

测试结果

经过对五个经典算法的测试,SMAC-HARD 环境表现出对基础 MARL 算法更大的挑战。在最初的 SMAC 任务中,几乎所有算法都能在 1000 万个时间步内实现接近 100% 的胜率,相比之下,SMAC-HARD 则引入了更高的难度和收敛挑战。例如,如图四和表一所示,2m_vs_1z 任务在原始 SMAC 环境中相对容易,但在 SMAC-HARD 中却变成了超难任务。在 SMAC-HARD 中,Zealot 始终以一名 Marine 为目标,这就要求一名 Marine 负责移动躲避伤害,而另一名则专注于攻击。这使得每个智能体需要连续做出正确的行为,这对 MARL 算法构成了巨大挑战。

图四:经典算法在 SMAC-HARD 环境中 10M 步的测试曲线。

表一:经典算法在 SMAC-HARD 环境中 10M 步的测试结果。

为测试 MARL 算法的策略覆盖率和迁移能力,SMAC-HARD 提供了黑盒测试模式。MARL 算法面向默认对手策略训练 10M 步后再针对混合对手策略进行测试,测试结果如表二所示。值得注意的是:与黑盒评估的胜率随着任务难度的增加而增加,在 3s_vs_3z、3s_vs_4z 和 3s_vs_5z 任务中产生了相反的趋势。在 Stalker 面对 Zealot 的时候,Stalker 角色可以通过更高的移速来 “风筝” Zealot 角色。3s_vs_5z 的环境更具挑战性,智能体必须采用严格的 “风筝” 机制这一最优的应对策略才能获胜。学习到了最佳应对策略的智能体更有可能在黑盒测试的对手脚本前取得成功。

表二:经典算法在 SMAC 环境中训练 10M 步后在 SMAC-HARD 的黑盒模式测试结果。

除此之外,原 SMAC 环境中对于对手血量和盾量回复的奖励结算错误,使得智能体容易陷入最大化奖励的最优解,但是是胜率结算的次优解。而 SMAC 作为实验环境已经测评了多个算法,所以虽然发现了 SMAC 的奖励结算错误,SMAC 也不方便修正使实验结果不具备可比性。由于提出了新的测评环境,SMAC-HARD 修正了这个来自 SMAC 的奖励结算 bug。

图五:SMAC 环境作者对奖励结算问题的回应。

总结

综上所述,论文针对 SMAC 中使用的单一默认对手策略缺乏策略空间的多样性问题,引入了支持对手脚本编辑、预定概率混合对手策略、和自博弈接口对齐的 SMAC-HARD 环境。研究结果展示,即使是在传统 SMAC 环境中性能近乎完美的流行的 MARL 算法,在 SMAC-HARD 环境中也难以保持高胜率。此外,环境还对使用 MARL 算法训练的模型进行了黑盒评估,强调在面对单一、脆弱的对手策略时,MARL 策略的可转移性有限。最后,环境将对手方的训练接口与智能体方的训练接口进行了对齐,为潜在的 MARL 自博弈领域研究提供了一个平台。希望 SMAC-HARD 可以作为一个可编辑的且具有挑战性的环境,为 MARL 社区研究做出贡献。

© THE END 
转载请联系本公众号获得授权
投稿或寻求报道:[email protected]


我觉得可以考虑引入更真实的场景和任务。现在的 MARL 评估环境大多还是比较简化的,和实际应用场景还有差距。如果能构建更贴近现实的评估环境,应该能更好地检验算法的实用性。

从文章来看,SMAC-Hard 的自博弈接口应该是对环境进行了修改,使得智能体可以与自身的历史版本或其他智能体进行对战。这与 AlphaGo Zero 的自博弈有一些相似之处,都是通过自我对弈来提升模型的性能。但不同的是,AlphaGo Zero 是基于蒙特卡洛树搜索,而 SMAC-Hard 则是基于强化学习,而且还是多智能体强化学习,复杂度更高。

我也比较好奇自博弈接口的实现。感觉和 AlphaGo Zero 的自博弈应该不太一样,毕竟星际争霸这游戏状态空间比围棋复杂得多,而且还是多智能体。我猜 SMAC-Hard 里的自博弈可能是训练多个智能体,然后让他们互相打,有点类似于联赛机制?

除了更复杂的对手策略,还可以考虑引入环境的动态变化,比如地图的随机生成、资源的随机分布等等。这样可以更全面地评估智能体的适应能力。另外,还可以设计一些更复杂的合作任务,比如需要多个智能体协同完成的复杂任务,而不是简单的战斗。

我觉得与其说是 MARL 算法本身的局限性,不如说是现有算法在面对复杂多变环境时的适应性不足。SMAC-Hard 的出现正好暴露了这个问题。未来 MARL 的研究方向,我个人认为应该更关注策略的泛化性和鲁棒性,例如元学习、迁移学习等方向,或许能帮助智能体更好地适应不同的对手策略。

文章的结果确实说明了现有 MARL 算法在复杂动态环境下的不足。未来的研究可以考虑如何提高算法的泛化能力,例如引入更丰富的对手策略、设计更具挑战性的环境等。此外,还可以探索如何提高算法的学习效率和样本利用率,例如结合模仿学习、层次化强化学习等方法。

可以借鉴其他领域的评估方法,比如引入一些对抗样本的概念,专门设计一些能够“欺骗”智能体的特殊情况,来测试其鲁棒性。还可以考虑建立一个更标准化的 MARL 评估平台,方便不同算法之间的比较和benchmark。

关于“自博弈接口”,文章中提到的比较简略。我的理解是,它提供了一种机制,让智能体可以和自己训练的不同版本进行对战,从而提升策略的泛化性和鲁棒性。至于和 AlphaGo Zero 的自博弈机制的比较,我觉得两者虽然都是“自博弈”,但应用场景和具体实现方式肯定有所不同。AlphaGo Zero 的自博弈更侧重于棋盘博弈的探索,而 SMAC-Hard 关注的是复杂多智能体环境下的策略学习。具体细节可能需要参考项目源码。

肯定有局限性啊,不然为啥 SMAC-Hard 里这些算法都翻车了?我觉得现在的 MARL 算法可能太依赖于固定的环境和对手,有点像应试教育,考试题目都提前知道了,当然分数高。以后的研究方向,我觉得应该更注重智能体的学习能力和适应能力,让它们能随机应变,而不是死记硬背。