大发UU官方—快3网投平台论嵌入在 OpenAI 的 5v5 DOTA2 AI 中的妙用

  • 时间:
  • 浏览:0

雷锋网 AI 科技评论按:OpenAI 大发UU官方—快3网投平台的 DOTA2 5v5 AI 「OpenAI Five」是人工智能界今年的一大亮点。作为「大发UU官方—快3网投平台有挑战性的多智能体连续控制任务」、DOTA2 玩家们的课外娱乐活动,以及 OpenAI 被委托人的重要技术展示和宣传导致 ,OpenAI 不仅有数人的团队专门负责四种 AI 的研发调试,投入了 256 大发UU官方—快3网投平台个 V5大发UU官方—快3网投平台0 GPU、12500 个 CPU、长达多少月的训练时间(高昂的成本),也前前之前 请了这个 DOTA 爱好者及(前)职业大发UU官方—快3网投平台选手参与测试和调试。

成果自然是可圈可点的。从比赛结果来看,OpenAI Five 不仅多次战胜了业余人类玩家和前职业选手团队,即便对战现役职业选手以及中国老职业选手们的比赛输了,也仍有积极主动、有这个还十分亮眼的表现;技术方面,OpenAI 不仅发现用相对简单的网络形状配合大规模分布式的先进算法就导致 能是是不是不错的表现,也在训练过程设计、超参数选泽、人类目标要怎样量化等方面有了这个心得。(参见往期文章 DOTA 5v5 AI 的亮点是是不是要怎样「学」的,可是我要怎样「教」的)甚至之前 OpenAI 的 CTO Greg Brockman 都发推表示,亲戚朋友根据比赛中的表现对模型又做这个更新,AI 的表现也来到了新的高峰

导致 深入探究得话,实在 OpenAI 被委托人没人给出删改的模型设计解释,之前 是是不是热心研究人员在查找资料,试图找到更多解释四种 AI 能有没人表现的导致 。比如塔尔图大学计算机学院计算神经科学实验室的 Tambet Matiisen,他找到的其中八个 重要导致 ,可是我模型对嵌入的妙用。雷锋网 AI 科技评论把他的解析文章全文翻译如下。

实在关于 OpenAI 的 AI 的举止以及关于哪此比赛对于整个 AI 界的意义的讨论导致 不少了,但关于哪此 AI 的训练土法子和网络架构的技术分析异常地少。到目前为止,技术分析主要都源于最初 OpenAI Five  的博客文章。在四种 程度上亲戚朋友实在说得挺合理,亲戚朋友使用标准 PPO 算法(几年前亲戚朋友被委托人发明权的)和经过验证实在有效的自我训练方案(也在亲戚朋友的一篇论文中记录)是合理的。但博客文章包含八个 容易错过的细节,那可是我指向亲戚朋友的网络架构图的八个 超链接。

在这篇博文中,我想集中讨论亲戚朋友网络架构的八个 方面,即亲戚朋友创造性地使用嵌入来避免数量巨大之前 可变的策略输入和输出。实在嵌入以及注意力机制的点乘积的应用是自然语言避免中的标准技术,但它们并未广泛用于强化学习中。

更新:在撰写此博客文章后,我了解到之前 的一篇 OpenAI 博客文章包含八个 较新版本的网络架构图。导致 嵌入的使用没人不不 差异,我决定不重新更新这篇文章的图像了,新网络的分析都要能作为亲戚朋友的作业。

哪此是嵌入?

在数学中,嵌入指的是从空间 X 到 Y 的映射,一同保留对象的这个形状(之类它们的距离)。然而,在神经网络的上下文中使用嵌入通常导致 将分类(离散)变量(之类,单词索引)转换为连续向量。直接将单词索引作为输入传递给网络将使其工作变得非常困难,导致 它时要为每个索引值都提供八个 二进制形状(假设它们是不相关的)。于是,亲戚朋友通过八个 网络将分类值转换为 one-hot (独热)矢量。导致 将独热矢量与权重矩阵相乘,这就相当于从权重矩阵中选泽八个 给定的行。在各类神经网络开发库中,通常会跳过转换为独热矢量并乘以权重矩阵的步骤,可是我直接使用索引从权重矩阵中选泽一行,并将其视为查找表。其中最重要的方面是,嵌入向量是通过学习得到的,就像使用独热向量学习权重矩阵一样。

自然语言避免是嵌入应用最有名的领域,其中单词索引被转换为词向量(或嵌入)。导致 有丰富的例子表明,当训练网络从字向量预测其附进单词的向量时,词向量就能学习到这个语义信息,之前 它们之间都要能进行算术运算。之类「woman - man + king」产生接近「queen」的矢量。你还可不可以 看作是「woman - man」产生性别转移向量,去掉 「king」将其转换为女人统治者。另四种 理解土法子是,你构造了「king - man + woman」,没人「king - man」产生「ruler」(统治者)的矢量,并去掉 「woman」产生「queen」。

图片来自 https://www.aclweb.org/anthology/N13-1090 

OpenAI Five 网络

在亲戚朋友深入研究具体细节前一天,先简单介绍一下 OpenAI Five 的总体网络架构。

OpenAI Five 的八个 AI 玩家每八个 是是不是被委托人单独网络,有被委托人的输入和动作。(不选泽八个网络的参数是是不是共享。)八个 AI 之间唯一的联系是通过游戏,我被委托人开始英文英语 想象亲戚朋友会不不采用之类于「蜜蜂舞」的行为将敌人的位置传达给彼此,但我不认为亲戚朋友真的会前一天做,甚至不时要前一天做。更新:在较新版本的网络中,AI 之间有八个 共享的最大池化层,都要能将其视为单向广播通信信道。

图中网络的上半每项避免观察结果。它将来自各种来源的数据连接起来,并将所有内容传递到八个 LSTM单元格中。该 LSTM 单元的输出由网络的下半每项用于产生动作。简而言之,可是我观察过程,将它们提供给 LSTM 并产生动作的八个 简单过程。当然,细节决定一切,这将是亲戚朋友在下一节中讨论的内容。

观察的嵌入

OpenAI Five 的 AI 使用 Dota 2 的 API 来「看一遍」附进的单位和建筑物。这会产生可变长度的单位列表(英雄,小兵,塔等)及其属性。OpenAI 在亲戚朋友的博客文章中对观测空间和动作空间可视化做的很好,我建议亲戚朋友去原博客里感受一下 https://blog.openai.com/openai-five/#dota-diagram  。

下图总结了对于列表中的某八个 单位的避免过程。

在左上方亲戚朋友都要能看一遍每个单位被编码成八个 嵌入,这是删改可行的,导致 Dota2 中的 116 个英雄都要能根据不同土法子进行分类:

  • 主要属性:力量,灵活性,智力。

  • 攻击类型:远程或近战。

  • 作用:核心,控制,对线辅助,先手,打野,辅助,耐久,爆发,推进,逃生。

其中的每八个 形状都导致 在嵌入向量中形成八个 维度,之前 网络都要能自动学习每个英雄中的核心、辅助或打野的成分是多少。 相同的嵌入也适用于小兵和建筑物,之类塔是是不是远程攻击。前一天就形成了四种 通用的土法子,在网络内表示各种不同的单位。嵌入向量与这个单位属性(如血量,英雄距离等)联系在一同。

嵌入不仅仅都要能用于单位的类型,它们也用于天赋、技能和物品。

同样它也是有理可依的——实在所有英雄的技能是是不是同,但它们肯定有这个共性,之类:亲戚朋友的技能是主动施放还是被动,导致 亲戚朋友时要目标,没人四种 目标是前一天单位还是八个 区域等。对于物品得话,有用于治疗的血瓶,有增加魔法值的,有立即消耗的,还有用于升级的物品。嵌入是四种 自然的土法子,用来表示具有这个不同形状但导致 有交叉形状的东西,以及表示哪此在不同程度上导致 具有之类效果的东西。

请注意,实在天赋、技能和物品的数量是可变的,但最大池化层会覆盖到每个列表。这导致 不到所有哪此维度中的最高值要能被输出。乍一看前一天似乎不太合理,导致 以人的思路来考虑得话,你拥有的能力是所有现有能力的组合,之类:远程+被动治疗。但它似乎对 AI 来说很有用。

以上避免是针对每个相邻的单位独立完成的,一般属性、英雄天赋、技能和物品的结果是是不是连接在一同。之前 应用不同的后避免,根据它是敌方非英雄(如敌方塔)、友方非英雄(己方塔)、中立(野怪)、友方英雄导致 敌方英雄。

最后,后避免的结果在该类型的所有单元上取最大值。同样,乍一看这似乎是有问提的,导致 邻近单元的不同形状会被组合,之类,导致 其中八个 维度代表八个 单位的健康情况表(血量),没人网络只会看一遍相之类型单位的最大健康情况表。 之前 ,再一次,从模型的表现看来并是是不是不行。

最大池化将每项单元类型的最大结果连接起来,之前 输入给 LSTM。输出的前半每项是是不是分片,不过下面亲戚朋友讲到动作目标的前一天再接着说这件事。

动作的嵌入

Dota 2 中相当于有 170,000 个不同的动作,包括正常的动作,如移动和攻击,还包括技能施放、物品使用、情况表升级等。在每个时间点上不不所有操作都都要能使用——比如导致 还没人学四种 技能,导致 背包里没人四种 装备。但你仍然都要能使用相当于 50 种不同的操作。此外,这个动作是是不是参数,之类你你还可不可以 移动到哪此区域或你你还可不可以 攻击哪个敌人。OpenAI在博文中也展示了很好的动作空间的可视化。

这实在给强化学习带来了八个 巨大的探索问提,导致 智能体最初是通过尝试随机动作开始英文英语 学习的。最直白的土法子是计算所有 170,000 个动作的分数,并将 softmax 限制为 50 个当前都要能进行动作。但 OpenAI 通过嵌入和可变长度的 softmax 层巧妙地避免了四种 问提。

正如这张图最上方显示的,每个动作是是不是八个 嵌入,之类,无论是远程攻击还是使用物品进行治疗或传送到某个目的地。动作嵌入和 LSTM 输出结果的点乘积用于产生不同动作的分数。哪此分数会经过 softmax层,结果的概率分布用于选泽八个 可用的动作。

旁注:八个 向量之间的点乘积会把向量中的元素分别相乘,并对相乘后的结果求和。有时它也被称为标量积,导致 它产生单个标量值。它与余弦之类性有着密切的关系——当向量指向相同方向时,它倾向于产生高值,而当指向相反方向时,它往往产生低值。它通常用作八个 向量之类性的快速评分土法子。实际上,这正是卷积运算所做的——它产生了滤波器和输入之间之类性的形状图。

我猜测,选泽八个 行动的过程实际上是让 LSTM 产生的八个 原则都要还可不可以 被称为「意图向量」的东西。之类,导致 你地处困境之前 血量非常低,没人意图可是我「失去这里」。将此意图与可用操作匹配,导致 与其中八个 操作相一致,则会产生高分。之类,「移动」和「TP」八个 动作导致 与「失去这里」的意图很好地对齐。TP 导致 稍微对齐的更好些,导致 你不不被敌人拿出,之前 它在 softmax 前一天产生更高的分数和更高的概率。之前 导致 目前 TP 不可用,没人四种 嵌入就不匹配了,「移动」导致 是得分和概率最高的。

这个操作具有参数,如目的地或目标。所有哪此都使用 softmax 层以简单直接的土法子建模。之类,X 和 Y 坐标被离散化为范围,可是我否使用连续输出和高斯分布。我猜测 softmax 都要能更好地避免多模态分布。这里亲戚朋友发现了八个 重要的点是,动作输出似乎不不能对动作以及动作目标之间的联合分布建模。我认为这是是不是问提,导致 所有动作输出都以 LSTM 输出为条件。之前 ,LSTM 输出导致 编码了「意图」,而哪此全连接层可是我解码了四种 「意图」的不同方面——动作及其目标。

我最喜欢的每项是 OpenAI Five 要怎样避免目标。还记得哪此来自单位观测输出的奇怪切片吗?哪此在图上用蓝绿色表示,这导致 它们是对每个单位是是不是八个 单独的切片哪此向量称为「单元注意键」,并与 LSTM「意图」匹配,以产生对于每个单位的分数。哪此分数通过 softmax 并选泽攻击单位。选泽被观察到的单位时再次使用了 softmax,从可用的动作的中选泽动作的前一天也是一样。

我猜测模型是前一天工作的:根据观察的结果,网络选泽某个单位的血量实在很低,AI 有导致 去抢四种 人头。LSTM 产生意图「尝试最后一击」,与「攻击」行动很好地对齐。此次「尝试最后一击」意图与观察避免的每单位输出相匹配,并与血量低的单位很好地对齐。Bang——你完成最后一击并获得额外的赏金。

更新:在更新版本的网络中,亲戚朋友先用动作嵌入来调制 LSTM 输出,再使用单位注意键产生点乘积前,我猜导致 不做四种 更改得话,不同的动作(之类攻击和治疗)就会锁定到八个 单位上去。

总结

在分析 OpenAI Five 网络前一天,很明显网络的大多数每项是是不是避免感知(观察预避免)和运动控制(解码动作)任务。而所有战略和策略时要由同八个 地方产生——即102八个 单位的LSTM。

我认为前一天八个 相对简单的数学形状就都要能产生没人比较复杂的行为是令人惊奇的。导致 ,我是是不是很选泽,之前 实在这表明 Dota 2游戏的比较比较复杂可是我过没人?短期策略与快速反应时间的结合导致 都要能击败长期策略了吗?这还有待亲戚朋友继续研究和讨论。

感谢 Jaan Aru,TanelPärnamaa,Roman Ring 和 Daniel Majoral 的提出的精彩见解和讨论。

via neuro.cs.ut.ee,雷锋网(公众号:雷锋网) AI 科技评论编译

雷锋网原创文章,未经授权禁止转载。详情见转载须知。