diff --git a/docs/chapter13/chapter13.md b/docs/chapter13/chapter13.md index 265f62e..f9561f1 100644 --- a/docs/chapter13/chapter13.md +++ b/docs/chapter13/chapter13.md @@ -1,16 +1,16 @@ -# AlphaStar 论文解读 +# 第13章 AlphaStar 论文解读 -## AlphaStar及背景简介 +## 13.1 AlphaStar及背景简介 相比于之前的深蓝和AlphaGo,对于《星际争霸Ⅱ》等策略对战型游戏,使用AI与人类对战的难度更大。比如在《星际争霸Ⅱ》中,要想在玩家对战玩家的模式中击败对方,就要学会各种战术,各种微操和掌握时机。在游戏中玩家还需要对对方阵容的更新实时地做出正确判断以及行动,甚至要欺骗对方以达到战术目的。总而言之,想要让AI上手这款游戏是非常困难的。但是DeepMind做到了。 AlphaStar是DeepMind与暴雪使用深度强化学习技术实现的计算机与《星际争霸Ⅱ》人类玩家对战的产品,其因为近些年在《星际争霸Ⅱ》比赛中打败了职业选手以及99.8\%的欧服玩家而被人所熟知。北京时间2019年1月25日凌晨2点,暴雪公司与DeepMind合作研发的AlphaStar正式通过直播亮相。按照直播安排,AlphaStar与两位《星际争霸Ⅱ》人类职业选手进行了5场比赛对决演示。加上并未在直播中演示的对决,在人类对阵AlphaStar的共计11场比赛中,人类仅取得了1场胜利。DeepMind也将研究工作发表在了2019年10月的 *Nature* 杂志上。本章将对这篇论文进行深入的分析,有兴趣的读者可以阅读原文。 -## AlphaStar的模型输入和输出是什么呢?————环境设计 +## 13.2 AlphaStar的模型输入和输出是什么呢?————环境设计 构建深度强化学习模型的第一步就是构建模型的输入和输出,对于《星际争霸Ⅱ》这一个复杂的环境,文章第一步就是将游戏的环境抽象成众多独立的数据信息。 -### 状态(网络的输入) +### 13.2.1 状态(网络的输入) AlphaStar将《星际争霸Ⅱ》的环境状态分为4部分,分别为实体(entities)信息、地图(map)信息、玩家数据(player data)信息、游戏统计(game statistics)信息,如图13.1所示。 @@ -27,7 +27,7 @@ AlphaStar将《星际争霸Ⅱ》的环境状态分为4部分,分别为实体 第四部分————游戏统计信息,视野的位置(小窗口的位置,区别于第二部分的全局地图信息),还有当前游戏的开始时间等信息(标量信息)。 -### 动作(网络的输出) +### 13.2.2 动作(网络的输出) AlphaStar的动作信息主要分为6个部分,如图13.2所示,分别为动作类型(action type)、选中的单元(selected units)、目标(target)、执行动作的队列(queued)、是否重复(repeat)以及延时(delay),各个部分间是有关联的。 @@ -48,7 +48,7 @@ AlphaStar的动作信息主要分为6个部分,如图13.2所示,分别为动 第六部分————延时,即等候多久后再接收网络的输入,可以理解为一个操作的延迟。 -## AlphaStar的计算模型是什么呢?————网络结构 +## 13.3 AlphaStar的计算模型是什么呢?————网络结构 我们在13.2节说明了AlphaStar网络的输入和输出,即状态和动作,那么从状态怎么得到动作呢?这里我们先给出其网络结构的总览,如图13.3所示,后面对此详细讨论。 @@ -57,7 +57,7 @@ AlphaStar的动作信息主要分为6个部分,如图13.2所示,分别为动
@@ -70,7 +70,7 @@ AlphaStar的动作信息主要分为6个部分,如图13.2所示,分别为动
- 对于实体,使用自然语言处理中常用的Transformer架构作为编码器(encoder)。
- 对于小地图,使用图像中常用的ResNet架构作为编码器,得到一个定长的向量。
-### 中间过程
+### 13.3.2 中间过程
中间过程比较简单,即通过一个深度长短期记忆网络模块融合3种当前状态下的嵌入并进行下一时刻的输出,如图13.5所示,并且将该输出分别送入价值网络(value network)、残差多层感知机(residual MLP)以及动作类型的后续的多层感知机中。
@@ -79,7 +79,7 @@ AlphaStar的动作信息主要分为6个部分,如图13.2所示,分别为动
@@ -198,7 +198,7 @@ $$
图13.7(c) 为《星际争霸Ⅱ》报告的每分钟有效行动分布情况,其中蓝色为AlphaStar最终的结果,红色为人类选手的结果,虚线表示平均值。
-### 其他实验(消融实验)
+### 13.5.2 其他实验(消融实验)
AlphaStar的论文中也使用了消融实验,即控制变量法,来进一步分析每一个约束条件对于对战结果的影响。下面举一个特别的例子。
@@ -209,7 +209,7 @@ AlphaStar的论文中也使用了消融实验,即控制变量法,来进一
图13.8 所示为人类对局数据的使用情况。可以看出在没有人类对局数据的情况下,数值仅仅为 149 ,但是只要经过了简单的监督学习,对应的数值就可以达到936,当然使用人类初始化后的强化学习可以达到更好的效果,利用强化学习加监督学习的KL散度可以达到接近于完整的利用人类统计量 $Z$ 的效果。由此我们可以分析出,AlphaStar 中人类对局数据对于整个模型的表现是很重要的,其并没有完全像 AlphaGo 一样,存在可以不使用人类数据进行训练的情况。
-## 关于AlphaStar的总结
+## 13.6 关于AlphaStar的总结
关于AlphaStar的总结如下。