本文作者来自浙江大学、中国科学技术大学、中科院自动化所和南栖仙策。作者列表:邓悦、喻言、马玮彧、王子瑞、朱文辉、赵鉴和张寅。第一作者邓悦是浙江大学计算机系博士生。通讯作者是南栖仙策赵鉴博士和浙江大学计算机系教授张寅。
在人工智能领域,具有挑战性的模拟环境对于推动多智能体强化学习(MARL)领域的发展至关重要。在合作式多智能体强化学习环境中,大多数算法均通过星际争霸多智能体挑战(SMAC)作为实验环境来验证算法的收敛和样本利用率。
然而随着 MARL 算法的不断进步,很多算法在 SMAC 环境上均表现出接近最优的性能,这使得对算法的真实有效性的评估变得更为复杂。尽管 SMACv2 环境在任务初始化时采用概率生成的方式以削弱开环控制的特性,但是两个环境均是以默认的、单一的、且确定的脚本作为对手脚本。这使得智能体学习到的策略模型更容易过拟合到某一个对手策略,或利用对手策略的漏洞而拟合到取巧方法上。
▲ 图1. 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://zhuanlan.zhihu.com/p/14397869903论文链接:
https://arxiv.org/abs/2412.17707项目链接:
https://github.com/devindeng94/smac-hard
环境介绍
就源代码而言,基于 Python 的 pysc2 代码包是对《星际争霸 II》二进制游戏文件中的 sc2_protocol 的抽象。通过 pysc2 对 sc2_protocolAPI 的抽象,玩家可以操控游戏的进程。而 SMAC 框架是通过将 pysc2 的原始观测数据转化为标准化、结构化、向量化的观测和状态表示,进一步封装了 pysc2 提供的 API。
因此,《星际争霸 II》环境本身既支持来自 SMAC 的标准化动作,也支持由 pysc2 脚本生成的动作,这为对手可编辑脚本提供了支持。如图二所示,SMAC-HARD 修改了 SMAC 中的地图(SC2Map)以启用多玩家模式并禁用了默认攻击策略以防止默认脚本策略中的行动干扰。
除了对地图的修改外,对原 SMAC 的 starcraft.py 文件也进行了修改,以容纳两个玩家进入游戏,检索两个玩家的原始观测数据,并同时处理两个玩家的行动。为了减轻行动执行顺序的影响,环境对两名玩家的行动步进过程进行了并行化处理。
▲ 图2. SMAC-HARD 环境、对手策略脚本、自博弈接口封装,与原始 SMAC、PySC2、StarCraftII 的关系示意图。
除了为对手提供了决策树建模外,当存在多个对手策略时,环境还引入了由预定义概率设置的随机策略选择功能以提升对手策略的丰富度。这些概率以浮点值列表的形式表示,默认设置为所有策略相等概率。
此外,为了进一步扩大对手的策略丰富度,环境还根据智能体的观测、状态和可用行为等的封装,为对手提供了类似的对称接口以促进 MARL 自博弈模式的发展。用户可以通过 "mode" 参数来控制使用自博弈模式或决策树模式且该模式默认为决策树模式。
以此为前提,用户将 import 中的 smac 更换为 smac_hard,即可将实验环境从 SMAC 无缝过渡到 SMAC-HARD。
▲ 图3. 由大模型生成双方策略脚本过程。在对称的环境中,最终生成的双方策略均被采用为可选备受策略。
虽然决策树在面对不同对手策略时表现出更高的稳定性且可以提供更强的可解释性。参考最近的工作 LLM-SMAC,对手策略的生成可以通过代码大模型完成以辅助策略脚本编写。
如图三所示:将角色信息、地图信息、与任务描述合成为环境提示,并利用规划大模型为双方规划策略架构。双方分别利用代码大模型实现各自的策略架构,并利用生成的代码在 SMAC-HARD 中进行测评。再利用大模型作为批评家多轮分析测评结果和代码,进而为规划大模型和代码大模型提供优化建议。
测试结果
经过对五个经典算法的测试,SMAC-HARD 环境表现出对基础 MARL 算法更大的挑战。在最初的 SMAC 任务中,几乎所有算法都能在 1000 万个时间步内实现接近 100% 的胜率,相比之下,SMAC-HARD 则引入了更高的难度和收敛挑战。
例如,如图四和表一所示,2m_vs_1z 任务在原始 SMAC 环境中相对容易,但在 SMAC-HARD 中却变成了超难任务。在 SMAC-HARD 中,Zealot 始终以一名 Marine 为目标,这就要求一名 Marine 负责移动躲避伤害,而另一名则专注于攻击。这使得每个智能体需要连续做出正确的行为,这对 MARL 算法构成了巨大挑战。
▲ 图4. 经典算法在SMAC-HARD环境中10M步的测试曲线
▲ 表1. 经典算法在SMAC-HARD环境中10M步的测试结果
为测试 MARL 算法的策略覆盖率和迁移能力,SMAC-HARD 提供了黑盒测试模式。MARL 算法面向默认对手策略训练 10M 步后再针对混合对手策略进行测试,测试结果如表二所示。
值得注意的是:与黑盒评估的胜率随着任务难度的增加而增加,在 3s_vs_3z、3s_vs_4z 和 3s_vs_5z 任务中产生了相反的趋势。在 Stalker 面对 Zealot 的时候,Stalker 角色可以通过更高的移速来 “风筝” Zealot 角色。3s_vs_5z 的环境更具挑战性,智能体必须采用严格的 “风筝” 机制这一最优的应对策略才能获胜。学习到了最佳应对策略的智能体更有可能在黑盒测试的对手脚本前取得成功。
▲ 表2. 经典算法在 SMAC 环境中训练 10M 步后在 SMAC-HARD 的黑盒模式测试结果
除此之外,原 SMAC 环境中对于对手血量和盾量回复的奖励结算错误,使得智能体容易陷入最大化奖励的最优解,但是是胜率结算的次优解。而 SMAC 作为实验环境已经测评了多个算法,所以虽然发现了 SMAC 的奖励结算错误,SMAC 也不方便修正使实验结果不具备可比性。
由于提出了新的测评环境,SMAC-HARD 修正了这个来自 SMAC 的奖励结算 bug。
▲ 图5. SMAC 环境作者对奖励结算问题的回应
总结
综上所述,论文针对 SMAC 中使用的单一默认对手策略缺乏策略空间的多样性问题,引入了支持对手脚本编辑、预定概率混合对手策略、和自博弈接口对齐的 SMAC-HARD 环境。
研究结果展示,即使是在传统 SMAC 环境中性能近乎完美的流行的 MARL 算法,在 SMAC-HARD 环境中也难以保持高胜率。此外,环境还对使用 MARL 算法训练的模型进行了黑盒评估,强调在面对单一、脆弱的对手策略时,MARL 策略的可转移性有限。
最后,环境将对手方的训练接口与智能体方的训练接口进行了对齐,为潜在的 MARL 自博弈领域研究提供了一个平台。希望 SMAC-HARD 可以作为一个可编辑的且具有挑战性的环境,为 MARL 社区研究做出贡献。
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧