首页 > 编程语言 >多智能体强化学习算法评估Hard模式来了!浙大、南栖仙策联手推出

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

时间:2025-01-06 11:34:29浏览次数:3  
标签:对手 HARD 策略 MARL Hard 环境 浙大 SMAC 南栖仙策

在人工智能领域,具有挑战性的模拟环境对于推动多智能体强化学习(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 社区研究做出贡献。

标签:对手,HARD,策略,MARL,Hard,环境,浙大,SMAC,南栖仙策
From: https://blog.csdn.net/2404_89475218/article/details/144959636

相关文章

  • CAD中的四个关系,HardOwner,SoftOwner,HardPointer,SoftPointer
    起因:在学习在CAD中附加自定义的数据的时候,发现的一个知识点。在组码表中,330,340,350,360四个键分别对应四种关系。如下图:在DataCell里也有类似的操作:总结起来,就是在CAD中,我们可以人为地给两个DBObject建立某种关系,即:软指针,硬指针,软所有者,硬所有者。 后......
  • 题解:CF2044D Harder Problem
    CF2044DHarderProblem思路构造一个\(1\simn\)都出现了一次的数列(这样每个数都是众数了),然后只要保证在数组\(a\)里面出现了的数在最前面就好了。AC代码#include<bits/stdc++.h>usingnamespacestd;#defineN200005longlongt,vis[N],cnt,n,a[N];intmain(){ cin......
  • [极客大挑战 2019]HardSQL 1
    看了大佬的wp,没用字典爆破,手动试出来的,屏蔽了常用的关键字,例如:orderselectunionand最搞的是,空格也有,这个空格后面让我看了好久,该在哪里加括号。先传入1’1试试,发现提示报错:其实这里提示了报错信息,就可以试一试报错注入了,当然这是事后诸葛亮,还是常规的注入试试,发现行不......
  • 题解:CF2044C Hard Problem
    CF2044CHardProblem思路先让那\(a+b\)个学生入座,记第一、二排分别入座了\(num1,num2\)个学生。容易想到最终答案为\(2\cdotm\)和\(num1+num2+c\)取最小值。(注:\(2\cdotm\)为所有座位均坐满,\(num1+num2+c\)为所有学生均有位置)AC代码#include<bits/stdc++.h>using......
  • MEX Game 2 (Hard Version)
    [CF1943E2]MEXGame2下文中称\(\text{Alice}\)为\(L\),\(\text{Bob}\)为\(Q\)。题意有\(n\)个数,记作\(a_1,a_2,\ldots,a_n\),开始有一个空集\(b\)。每次\(L\)从\(a\)中取出一个数\(x\),将\(x\)放入集合\(b\),并将其从\(a\)中删除。\(Q\)从\(a\)中删除最多......
  • 释放你的想象!支持25种复杂编辑类型!浙大等提出AnyEdit:统一高质量图像编辑框架
    文章链接:https://arxiv.org/pdf/2411.15738项目链接:https://dcd-anyedit.github.io/亮点直击从全新的视角系统地对各种编辑指令进行分类,并创新性地引入了一个统一的编辑框架,该框架利用自适应编辑pipeline自动收集不同场景下的多样化高质量编辑数据,从而以可扩展的方式进......
  • webpack 使用hard-source-webpack-plugin缓存编译文件,加快编译速度
    hard-source-webpack-plugin是一个为webpack提供中间缓存功能的插件。它可以将模块的编译结果缓存到磁盘中,这样在后续的编译过程中,如果模块的源代码没有发生变化,就可以直接使用缓存的结果,从而加快编译速度。插件地址https://www.npmjs.com/package/hard-source-webpack-plugi......
  • 2025英伟达奖学金出炉,7位华人博士生入选,上交、中科大、浙大校友在列
    华人学生占比70%。今天,一年一度的英伟达奖学金公布了入选者名单。二十多年来,英伟达研究生奖学金计划(NVIDIAGraduateFellowshipProgram)一直为研究生提供与英伟达技术相关的杰出工作支持。英伟达迄今为止已向近200名学生提供了600万美元的资助,推动了机器学习、计算......
  • idea mysql sharding分表分库
    水平分表引入jar包<dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId><version>4.0.0-RC1</version></dependency><dependency><gr......
  • Hard Demon Problem
    HardDemonProblemSwingisopeningapancakefactory!Agoodpancakefactorymustbegoodatflatteningthings,soSwingisgoingtotesthisnewequipmenton2Dmatrices.Swingisgivenan$n\timesn$matrix$M$containingpositiveintegers.Hehas$q......