AlphaStar-Grandmaster level in StarCraft II using multi-agent reinforcement learning-笔记

AlphaStar-Grandmaster level in StarCraft II using multi-agent reinforcement learning

许多实际应用需要artifcial agents在复杂环境中与其他agent竞争和协调。作为实现此目标的垫脚石,星际争霸的领域已成为artifcial intelligence研究的重要挑战,这是因为它在最困难的专业电竞中具有标志性和持久性,并且在原始复杂性和实用性方面与现实世界息息相关。multi-agent挑战。在过去的十年中,经过无数次的比赛1-3,最强大的agent简化了game的重要方面,发挥了超人的能力,或者采用了手工制作的子系统(hand-crafted sub-systems)4。尽管有这些优势,但没有哪个against能与星际争霸顶级player的整体技能相提并论。我们选择使用原则上适用于其他复杂领域的通用学习方法来解决《星际争霸》的挑战:一种multi-agent强化学习算法,该算法使用来自不断变化的战略和对策的多样化league中的人类和主体game的数据,每个都由深层神经网络5、6表示。我们通过一系列针对人类player的在线game,在《星际争霸2》的完整game中对我们的against AlphaStar进行了评估。在所有三个《星际争霸》比赛中,AlphaStar均被评为特级大师,并且在99.8%的人类职业player中都获得了较高的评价。

《星际争霸》是一款实时policygame,player可以在高水平的经济决策与数百个单位的单独控制之间取得平衡。这个领域提出了重要的博弈论挑战:它具有大量的周期性,非转移性policy(non-transitive strategies)和反战略空间(counter-strategies);天真的自我gameexploration方法难以发现新颖的policy;而且这些policy在现实世界中与人类一起部署时可能并不有效。 此外,《星际争霸》拥有一个组合的行动空间,一个跨越数千个实时决策的规划视野以及不完善的信息7。

每个game都包含成千上万个时间步长和成千上万个action,这些action是在大约十分钟的game过程中实时选择的。在每个步骤t,我们的agent AlphaStar都会收到一个观测值ot,其中包括所有可观测单位及其属性的列表。此信息不完善;game仅包含player自己单位看到的opponent units(opponent units),并排除摄影机视图之外的某些opponent units属性。

每个action at都是高度结构化的:它从数百种action中选择哪种action类型(例如,移动或构建工人);针对agent单位的任何子集向谁发出该action;在地图上的位置或相机视图内的单位中定位的位置;以及何时观察和采取下一步行动(图1a)。 action的这种表示在每个步骤中导致大约1026种可能的选择。 与人类player相似,可以使用特殊action来移动相机视图,以收集更多信息。

人类在有限的反应时间和行动速度的物理约束下玩《星际争霸》。在设计game时要牢记这些限制,消除这些限制会改变game的性质。因此,我们选择对AlphaStar施加限制:由于网络延迟和计算时间而导致的延迟;而且它的每分钟动作数(APM)受到限制,峰值统计数据大大低于人类的峰值统计数据(图2c,3g用于性能分析)。 AlphaStar使用此界面进行game,并且这些限制条件已得到职业player的认可(请参阅“方法”中的“职业player”声明)。

图1 |Training setup. a,AlphaStar通过概览地图(overview map)和单位列表观察游戏(list of units)。要采取行动,agent会输出要发出的行动类型(例如,构建),将其应用于谁,目标是什么以及何时发出下一个行动。动作通过限制动作速率的监视层发送到游戏。 AlphaStar应对网络延迟和处理时间的延迟。 b,AlphaStar通过监督学习和强化学习进行培训。在监督学习(底部)中,更新参数以优化Kullback Leibler(KL)在其输出与从重播集合中采样的人类动作之间的差异。在强化学习中(顶部),使用人类数据对统计z进行采样,并通过强化学习(TD(λ),V-trace,UPGO)结合KL损失,收集agent经验以更新policy和价值输出受监督的agent。c,随后通过强化学习训练了三组agent,每个agent都是通过监督学习初始化的。在训练过程中,这些agent会间歇性地添加自己的player副本,这些副本在特定的时间点冻结​​在league中。main agent针对所有这些过去的player以及他们自己进行训练。league exploiters会与所有过去的player进行训练。main exploiters针对main agent进行培训。当main exploiters和league exploiters向league中添加一名player时,可以将他们重置为受监管的agent。经暴雪娱乐公司许可,复制了《星际争霸》中的图像。

图2 | 结果。a,在Battle.net上,星际争霸IIplayer根据其评分(MMR)分为七个league,从青铜到超级大师。 我们在Battle.net上播放了AlphaStar的三种变体:AlphaStar Supervised,AlphaStar Mid和AlphaStar Final。受监督的agent在人类选手中排名前16%,中点agent在前0.5%之内,最终agent平均在前0.15%之内,在所有三场比赛中均达到了大师级水平。 b,每场AlphaStar决赛的MMR评分(从上到下:神族,人族,虫族)与在Battle.net上遇到的对手(从左到右:所有种族,神族,人族,虫族的总和)。 请注意,每项比赛数据是有限的; AlphaStar赢得了所有神族与人族的比赛。 c,《星际争霸2》针对AlphaStar Final(蓝色)和人类player(红色)报告的每分钟有效动作的分布(EPM)。 虚线表示平均值。 图标经暴雪娱乐公司许可转载。

Learning algorithm

为了解决《星际争霸》的复杂性和游戏理论上的挑战,AlphaStar将新的和现有的通用技术相结合,用于神经网络体系结构,模仿学习,强化学习和multi-agent学习。 有关这些技术的更多详细信息,请参见“方法”。

AlphaStar的核心是policy,由带有参数θ的神经网络表示,该神经网络从游戏开始就接收所有观察值作为输入,并选择动作作为输出。该policy还以统计z为条件,该z总结从人数据(例如,构建顺序)中采样的policy。

我们的agent架构由通用神经网络组件组成,这些组件可处理StarCraft的原始复杂性。 player和opponent units的观察通过self-attention机制进行处理8。为了整合空间和非空间信息,我们引入了分散连接。为了处理部分可观测性,观测的时间顺序由一个深长短期记忆(LSTM)系统9处理。为了管理结构化的组合操作空间,agent使用自动回归policy7、10、11和循环指针网络12。扩展数据图3总结了体系结构,图3f显示了每个组件的消融。

agent参数最初是通过监督学习来训练的。游戏是从匿名的人类重播的公开数据集中取样的。然后对该policy进行训练,以预测仅以st或z为条件的每个动作。这就产生了反映人类游戏模式的多种policy。

随后,通过强化学习算法对agent参数进行训练,该算法旨在使对混合对手的获胜率最大化(即,计算出最佳响应)。对手的选择通过muti-agent程序确定,如下所述。 AlphaStar的强化学习算法基于类似于优势actor–critic13的policy梯度算法。更新是在重放的体验上异步应用14。这需要一种称为非policy学习的方法,即从先前policy生成的经验中更新当前policy。我们的解决方案是基于以下观察结果而得出的:在大型行动空间中,当前和以前的policy在很多步骤上都不太可能匹配。因此,我们使用了可以在不匹配的情况下仍能有效学习的技术组合:时间差异学习(TD(λ))16,限幅重要性采样(V-trace)14和新的模仿policy的self-imitation算法17(UPGO)朝着比平均reward更好的轨迹前进。为了减少差异,仅在训练期间,使用来自player和对手角度的信息来估计值函数。图3i,k分析了这些组件的相对重要性。

《星际争霸》的main-挑战之一是发现新颖的policy。考虑一下已学会建立和利用地面部队(ground units)微观战术(micro-tactics)的policy。建立和天真使用空气单元的任何偏差都会降低性能。天真的exploration将在数千步中执行精确的指令序列,以构建空中单位并有效利用其微战术(micro-tactics),这是极不可能的。为了解决此问题,并鼓励采取有力的行为来应对可能的人类游戏,我们利用了人类数据。将每个agent初始化为受监督学习agent的参数。随后,在强化学习期间,我们要么将agent设为统计z,在这种情况下,agent将获得reward以遵循与z对应的policy,或者无条件地训练agent,在这种情况下,agent可以自由选择自己的policy。只要agent的行动概率与受监管的policy不同,agent商也将受到处罚。这项human exploration可确保在整个训练过程中继续exploration各种相关的游戏方式。图3e显示了AlphaStar中人类数据的重要性。

为了解决游戏理论上的挑战,我们引入了league training,这是一种用于multi-agent强化学习的算法(图1b,c)。类似于国际象棋和Go18中使用的Self-play算法,学习速度很快,但可能会无限期地追逐周期(例如,A击败B,B击败C,而A输给C)19,但没有取得进展19。虚拟自我扮演(FSP)20-22通过针对所有先前policy的统一组合计算最佳响应来避免周期。在两个player的零和游戏中(two-player zero-sum games),混合物收敛到Nash平衡20。我们扩展了这种方法,以针对对手的不均匀混合计算出最佳响应。这个潜在的对手league包括各种各样的agent(图4d),以及他们来自当前和以前迭代的policy。在每次迭代中,每个agent都与针对该agent的混合policy所采样的对手进行游戏。通过上述actor–critic强化学习程序从那些游戏的结果中更新agent的参数。

league由三种不同类型的agent组成,main-区别在于他们选择opponent mixture的机制。首先,main-agent使用优先的虚拟自我玩法(PFSP)机制,使混合概率与每个对手对agent的胜率成比例地调整;这为我们的agent提供了更多机会来克服最有问题的对手。以固定的概率选择main-agent作为对手;这恢复了自学的快速学习(图3c)。其次,main exploiter agent仅与main-agent的当前迭代相反。他们的目的是确定main-agent中的潜在漏洞;因此,鼓励main-agent解决他们的弱点。第三,league exploiter agent使用与main-agent类似的PFSP机制,但不受main-exploiteragent的攻击。他们的目的是发现整个league的系统性弱点。main-exploiters和league exploiters都会定期重新初始化,以鼓励更多的多样性,并且可能会迅速发现不一定能有效抵抗开发的专业policy。图3b分析了league中agent的选择。

图3 | AlphaStar关键组件的烧蚀。这些实验使用简化的设置:一张地图(Kairos Junction),一场比赛(Protoss与Protoss),强化学习和联赛实验(仅限1010个步骤),仅mainagent以及50%50%的自打混合和PFSP,除非另有说明(请参见方法)。第一列显示了针对消融测试剂的Elo评分24(每个评分都是通过《星际争霸II》的11,000场完整比赛估算得出的)。 a,b,使用main agent的Elo(a)和整个league的相对人口表现(b)比较不同league的构成,以衡量可利用性。 c,d,使用Elo(c)和用于遗忘的agent比较不同的multi-agent学习算法:相对于所有过去版本的最小获胜率,随时间平均(d)。天真的自我玩耍的Elo很高,但更健忘。有关更深入的比较,请参见图5的扩展数据。 e,使用人类数据的不同机制的消融研究。人工初始化,监督学习神经网络参数的初始化。 g,相对于AlphaStar中使用的APM限制。降低APM会大大降低性能。出乎意料的是,增加APM也会降低性能,这可能是因为该agent在细化微策略上比在学习多样化策略上花费更多的精力。 f,h,使用受监督agent(受过Protoss培训的人与所有受训者)的胜率与内置的精英bot进行的体系结构比较。 j,《星际争霸2》内置机器人的Elo得分。评级由永不采取行动的漫游器来锚定。 i,k,强化学习消融,通过对固定对手进行最佳反应训练来避免multi-agentdynamic来衡量。

在《星际争霸》中,每个player都选择三种种族,其中每种种族具有不同的机制,分别是人族,神族或虫族。 我们使用三个main-agent(每个StarCraft竞赛一个),三个main-exploiter agent(每个种族一个)和六个league exploiter agent(每个种族两个)训练了league。 在44天内,使用32个第三代张量处理单元(TPUs23)对每个agent进行了培训。 在联赛训练期间,创造了近900名不同的player。

Empirical evaluation 经验评估

我们使用官方在线对接系统Battle.net上的无条件政策评估了Terran,Protoss和Zerg AlphaStar这三个main-agent。在培训期间,对每个agent进行了三个不同的评估:仅在经过监督的培训之后(AlphaStar受过监督),经过27天的联赛培训(AlphaStar Mid)和经过44天的联赛培训(AlphaStar Final)。从Battle.net上的无等级评定开始,对AlphaStar Supervised和AlphaStar Mid分别进行了30和60场比赛的评估;根据AlphaStar Mid的等级,对AlphaStar Final进行了评估,每场比赛可多踢30场比赛。 Battle.net对接程序选择了地图和对手。比赛是在盲目条件下进行的:AlphaStar未获得对手的身份,而是使用匿名帐户进行比赛。选择这些条件是为了在近似静止的条件下估算AlphaStar的强度,但不能直接测量其在重复游戏中对开采的敏感性。

AlphaStar Final的Protoss得分为6,275,Terran的得分为6,048 MMR,Zerg的得分为5,835 MMR,在人类排名中达到99.8%,在所有三场比赛中都达到了大师级水平(图2a,扩展数据)图7(分析),补充数据,重播(游戏重播))。 AlphaStar Supervised的平均评分为3,699,在人类玩家中超过84%,显示了监督学习的有效性。

为了进一步分析AlphaStar,我们还进行了几次内部消融(图3)和评估(图4)。对于multi-agent dynamic,我们在整个联赛训练中对所有player进行了循环巡回锦标赛,并针对受过训练以遵循特定人类策略的坚持型验证agent,进行了第二次main-主体锦标赛。在所有三个种族中,main-agent的业绩均稳步提高。随着时间的流逝,main-开发人员的性能实际上有所下降,并且main-agent的性能要优于保留的验证agent,这两者都表明main-agent变得越来越强大。每个时间点上所有玩家的联赛纳什均衡为来自先前迭代的玩家分配了较小的概率,这表明学习算法不会循环或回归。最后,在整个联赛训练期间,单位组成发生了变化,这表明了战略发展的多样化。

总结

AlphaStar是第一个在《星际争霸2》中达到特级大师水平的agent,并且是第一个在不简化游戏的情况下通过广泛的职业电子竞技达到人类玩家最高联盟的公司。 像《星际争霸》一样,现实世界中的领域(例如个人助理,自动驾驶汽车或机器人技术)需要在组合或结构化的操作空间上进行实时决策,并给出不完善的观察信息。 此外,类似于《星际争霸》,许多应用程序都具有包含循环或艰苦探索前景的复杂策略空间,并且在现实世界中部署时,agent可能会遇到意外策略或复杂情况。 AlphaStar在《星际争霸2》中的成功表明通用机器学习算法可能会对复杂的现实世界问题产生重大影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加油当当

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值