乐趣区

关于人工智能:论文推荐StarCraft-II-Unplugged-离线强化学习

星际争霸 II 是暴雪开发的一款真正的策略游戏,它是一个挑战,因为它从机器学习的角度展现了一些乏味的属性:实时、局部可察看性以及广大的口头和察看空间。把握游戏须要工夫策略布局,实时控制宏观和宏观层面,具备实时出击对手的特点。

在本文中,咱们将介绍 StarCarft II Unplugged 论文 [1],这是一个基准,涵盖了参考 AlphaStar 论文 [2] 的算法和代理。提出的次要新颖性包含用于训练的数据集、评估指标和基准代理以来自 AlphaStar 的参考代理。在十分宽泛的根底上,这项工作基于从人类回放数据集中学习,并提出了离线强化学习策略评估办法和一些在线策略改良。

从离线 RL 的角度来看,该论文重点介绍了星际争霸的属性,这些属性可能对这一挑战很乏味。

  1. 数据源,须要确保数据集不会偏离 RL 代理生成的数据集。来自离线强化学习的挑战之一是来自对来自数据集 [3] 的游戏策略集的多样性和丰富性的保障,在论文中称为覆盖率。参考论文 [3] 也将这一挑战称为确保状态空间的高回报区域的存在
  2. 大型、分层和结构化的口头空间。为了正确执行游戏玩法,代理必须抉择动作和单元以利用该动作,并管制地图以执行动作。此外每一步有 10e26 个可能的动作。从覆盖率的角度来看,这代表了以确保游戏策略多样性的序列模式抉择足够的分层动作的挑战。
  3. 随机环境,在随机环境中下一个代理的状态并不总是依据其以后状态和动作来确定,这意味着采取动作并不能保障代理最终会处于其预期的状态。这些环境可能须要更多的轨迹来取得较高的状态动作覆盖率。
  4. 局部可察看性,因为和平迷雾,除非它摸索环境,否则代理不晓得对手在做什么。这种摸索可能须要在游戏前期应用此信息,这可能意味着应用内存来确保覆盖范围。

离线强化学习根底

一般来说,强化学习能够定义为机器学习的一个子畛域,它基于通过与具备反馈处分标记的环境的交互进行学习,总体目标是学习最大化该处分的策略 π。在这个框架下,对于学习办法存在不同类型的分类:在线 RL 中,代理在每个工夫步与环境交互,离线 RL 中,代理的教训被存储到更新策略的重放缓冲区 D 中。

从强化学习中思考到的对于钻研过程的另一个要害概念是,通过预计来自状态 s 或状态动作对的预期回报的价值函数来学习此策略 π 的过程称为策略评估。而后能够在策略改良过程中应用价值函数来减少具备更高价值的口头的概率。另外就是重复进行策略评估和策略改良的过程是强化学习算法办法的外围,这个过程个别被称为策略迭代。

图 1:离线 RL 的次要思维是应用在训练期间未更改的数据集 D 来训练策略。在训练阶段,数据集用于训练策略,而不与环境进行任何交互。在部署阶段,学习到的策略会在环境中进行测试。这个循环实际上能够用来训练新的策略。这个图像是从参考 [2] 到星际争霸 II 环境的改编

离线 RL 的原理来自数据驱动办法的监督学习、数据集的应用以及应用遵循 MDP 构造的收集数据集来训练策略的准则。然而代理不再具备与环境交互并应用学习策略收集其余转换的能力。相同该算法提供了一个动态的转换数据集,能够称为训练数据集。

从在线 RL 中删除强化学习训练循环升高了对星际争霸进行试验的计算需要,使其更容易被钻研社区 [1] 拜访。因而离线 RL 的次要挑战之一是心愿学习到的策略比数据集 D 中看到的行为表现更好,也就是说在实践中可能执行一系列与训练集中呈现的不同的动作,这些动作比从数据集 D 中察看到的行为模式有更好的体现(相似观看 replay 的总结)。这篇论文中表明:即便算法不会通过与环境交互来收集更多数据,也能够在环境中运行学习的策略来掂量它们的执行状况,这种评估可能对超参数调整有用。论文认为创立胜利代理首先先要制订良好的训练策略。

离线强化学习畛域也能够应用在线和离线强化学习的不同办法来学习策略。在这种非凡状况下,次要关注的是行为值预计的算法(计算价值函数)

数据集

星际争霸数据集的构建得益于对公开可用的 2000 万个星际争霸 II 游戏回访记录的筛选。数据分布呈正偏态散布,并思考到博弈因素

  • 140 万次的游戏,包含 3500 次 MMR,排名前 22% 的玩家领有 280 万次游戏回访,代表着他们总计玩了 30 多年的游戏。
  • 思考了游戏的均匀工夫(11 分钟)
  • 筛选只蕴含动作的帧,将数据长度削减 12 倍。
  • 在基准测试中给出的一些算法是用另一个 MMR > 6200 的高质量数据集和仅获胜的游戏数据集进行的微调。

留神:并非所有工夫长度的游戏回放都蕴含在数据集中,因为它们通过玩家采取行动的步骤缩短了轨迹。这意味着,从工程角度和 API 来看,所有没有动作的轨迹(pysc2 API 中的 NO_OP)都已删除。

暴雪公布的游戏回访蕴含 500 万个视频格式的重播。数据集将视频文件转换为一组蕴含 K 个间断工夫步长(轨迹)序列的 rollout,组装在一个 mini batch 为 M 的独立 rollout 中。rollout 能够了解为间断轨迹的长度

图 2. 数据集是一组称为 rollouts 的状态动作元组,解释为在 M 个独立 rollout 的小批量中组装的 K 个间断工夫步长的序列。这遵循其余离线工作(例如 DL4R)给出的构造。如果抉择 K = 1,失去的是一个轨迹。如果抉择更扩大的 K,将不得不思考更长的轨迹。一个 minibatch M 思考了独立的 rollouts。minibatch 大小 M 和 rollout K 大小影响最终的行为性能。

察看与口头空间

StarCraft 游戏的复杂性导致了察看 / 动作空间的分层分类,其中包含无关世界、单位和标量输出以及 StrarCraft II 单位能够执行的能力的信息,通过 pysc2 API 进行编码。在上面找到察看和口头空间的摘要,包含 GameHuman 屏幕截图和对这些察看和口头的代理解释,次要是为了解决

游戏的代理如何对待世界?代理如何执行其决策?

1、察看

察看空间可分为三个次要局部,总体形成数据集 D 中轨迹的状态。这些组件在下面进行了形容并显示在图 4 中。

world:整个游戏的世界是由 128×128 张量数据结构组成,包含地图和小地图分析以及游戏根本管制问题,还有地图暗影信息和玩家对该地图的管制区域。这将作为架构输入中的特色立体

Units:代理察看到的单位列表。它蕴含代理的所有单位以及在代理的视线内和对手建筑物的最初已知状态的对手的单位。对于每个单元,察看是一个大小为 43 的向量,其中蕴含游戏界面中可用的所有信息。这或者能够了解为对博弈的宏观治理察看。

Scalars:一维向量模式的全局输出,它包含资源(矿产和瓦斯)、对手信息、工人信息和单位成本。这或者能够了解为对博弈的宏观管理察看。

图 4。此图的目标是显示代理如何对待或解释 Starcarft。基于 API 如何解决游戏界面的工夫步 t 察看示例。该图显示了三个层次结构:一个 128 x 128 像素的整体寰球世界张量,其中包含在输出特色打算中调用的小地图信息。以列表模式嵌套的单元的信息,该列表能够从 43 扩大到 512。标量输出、单位特色和单位参数输出是游戏界面中的全局信息。特色图图已应用 Simple64 捕捉图进行了简化,但提供了代理如何在 ScreenPlay 中查看 Nexus 和探针的概述。

2、动作

动作联合了形成游戏一部分的 3 个规范动作:单位抉择(谁应该做某事)、能力抉择(该单位会做什么)和指标抉择(如果该动作对谁产生影响)。每个原始动作被细分为最多 7 个参数,这些参数顺次执行,并且 这些参数不是互相独立的。一旦抉择了动作并且抉择了它的能力,其余的参数将顺次进行计算。

图 5. StarCraft II AP (pysc2)I 中的每个动作都通过一个由具备 7 个参数的函数示意的动作进行编码。每个参数都解决了无关特定操作的问题,例如应该在何时何地执行该操作。这些参数在函数之后按程序计算。

在上面找到一个动作空间示例,其中选定的狂热者挪动到给定点,更多的狂热者在兵营中承受训练。

图 6.. 复现动作的可视化展现,将狂热者挪动到地图中的给定地位。动作空间被划分为个别输入,解决应该做什么的问题。单位通知咱们谁应该这样做,应该在哪里做。

神经网络架构

论文的神经网络架构与 AlphaStar 不同:AlphaStar 代理应用 LSTM 模块,而 Unplugged 论文表明,移除此内存模块会带来更好的性能。基于 LSTM 的架构的胜率达到 70%,而无记忆代理反抗十分难的机器人的胜率达到 84%。

正如咱们之前在察看和操作局部看到的,Pysc2[4] API 提供了不同类型的察看数据,这些察看被编码为三个局部。前一部分形容了整体察看以及与星际争霸游戏玩法的关联,当初将关注如何通过神经网络架构解决这些输出:

输出分为 3 个级别,这些级别都是独立解决并在某个”点“进行交互:向量是一维向量,用于编码无关游戏的全局标量值。单位蕴含代理察看到的单位列表,包含专有的和来自对手的:每个单位都蕴含一个大小为 43 的向量。和特色图,编码世界信息的 128×128 张量。所有这些信息都由 API 提供的。

Modules:就是学习的模块。它波及不同的神经网络架构,例如 MLP(多层感知器)、ConvNets 或 Transformers。

Fixed Operations:以有意义的形式解决操作的信息的,能够帮忙其余可训练模块或输出信息到神经网络体系结构的另一部分

Outputs:应用 logit 操作计算输入的概率分布以匹配函数参数。

Actions:具备 7 个参数的分层动作集,响应一个整体函数

总体体系结构。从下到上浏览:3 个档次的察看后果——特色立体、单位和向量——被解决成可训练的模块——并执行不同的固定操作,产生动作。这些操作按程序执行,从左到右。为了执行操作,引入了一个 logit 模块来对所选操作的分类散布给出响应。

最初,通过不同的代理集和算法办法计算出神经网络的权值Ө。

代理与评估指标

这项工作展现了 6 个具备 3 个不同个别类别的新代理,并与来自 AlphaStar 代理进行了比拟,并在策略改良阶段提供了一些教训见解。原始 AlphaStar 论文与这项工作的参考代理之间的次要区别是应用星际争霸 II 的所有三个种族较量和来自高于 3500 的 MMR 的重播来进行训练

传统离线 RL 办法的应用始终在摸索处分来执行策略改良,这里每个策略改良策略都取决于它们的计算方法。通过一组更好的回放进行了微调,再加上 MuZero Supervised 的介绍,最终胜过所有具备 MCTS 的代理。在表格上方找到形容具备评估指标的代理的性能。

图 7. 论文作者在 Neurips2021 的 DRL 研讨会上展现的表格。具备 3 个不同类别的代理性能。黄色:显示三个采纳行为克隆办法的代理,来自 AlphaStar 和模拟 (BC) 以及价值函数办法 (FT-BC)。浅绿色是在他们的离线 (OAC) 和 E -OAC 模式的办法。橙色显示 Mu-zero 代理。

1、所有这些办法有什么区别?

代理之间的概念差别在于很大水平上基于从人类回放中学习,其中最初一次迭代 FT-BC 由价值函数计算 Vπ 和应用 MMR > 6200 一组回放进行微调。另外第一个算法用作其余算法的基线,因为神经网络权重 θ 用于 actorcritic 和 MuZero 办法,所以来自数据 μ 的 BC 策略计算将为其余代理的初始化。

2、Sampled Muzero 和 MuZero Unplugged:应用在线设置改良离线 RL

这项工作中提出的两种最具创新性的办法来自两部不同论文,包含了一些教训发现和教训:

  • Sampled MuZero 是 MuZero 算法的扩大,它可能通过应用动作采样在具备简单动作空间的域中学习进行布局 [5],在采样动作的子集上进行策略迭代。
  • MuZero Unplugged,通过从数据中学习(离线)和在与环境交互(在线)时应用价值改良算子(例如 MCTS)来跟踪离线 RL 优化。

3、评估指标

对于代理基准测试,有两个次要指标用于评估代理绝对于其余代理的好坏水平:鲁棒性和 Elo。游戏的后果由代理 p (player) 绝对于其余参考代理在所有较量中获胜的概率来定义。

对于评估指标,首先计算代理 p 通过在平均采样的地图和起始地位上进行匹配来战败所有参考代理的概率。而后代理 p 与所有参考代理 q 反抗以计算鲁棒性。还有一种计算玩家 ELO 的零碎。鲁棒性指标旨在以最佳对手为基准,遵循向量认为代理 p 更鲁棒,因为它有更高的概率战败最强的对手。

最初总结

本文蕴含了太多的术语,可能翻译的不太好,我本人也认为本篇文章不会有太多的浏览。然而我还是十分兴奋的将它收回来,因为我感觉这篇文章介绍的理念才是真正的针对于咱们世界或者是复现人类认知的强化学习,本论文能够将 AlphaStar 进行了扩大或者说更好的补充解释,相对值得具体浏览。

比照以前被那些在行自媒体吹捧的:几千 APM 微操训练甩飞龙的,这篇文章和 AlphaStar 就是对其智商的齐全碾压,基本就不再一个认知的层级(在电脑本应该比人类强的畛域训练了一个模型战败了人类有什么意思,更何况电脑还舞弊了)。如果玩过星际 2 能够想想上面情景,你还在家憋枪兵,对面的大和都飞过来了,这是一种什么体验。微操诚然重要,然而星际 2 是一个大局观的游戏,这个例子可能不太失当,然而想想二战的波兰骑兵砍坦克,骑兵的微操再强可能怎么,坦克须要微操吗,A 过来就完了。

最初 StarCraft II Unplugged 曾经公布在 openreview,对星际和强化学习感兴趣的强烈推荐浏览:
https://www.overfit.cn/post/bf340c9b1a1547f5b5e54fd4972d4338

退出移动版