[情报] 多图详解 DeepMind AlphaStar

楼主: Jotarun (forever)   2019-01-25 22:00:25
TechNews转雷锋网: http://bit.ly/2MxylUX
我翻到一半 不过别人都翻好了 我多加点科普注释就好
《星海争霸》AI 背景
从以围棋为代表的完全资讯博弈/游戏被 AlphaGo 攻克、取得超出人类顶
尖棋手水准之后,研究人员立刻向非完全资讯博弈发起更猛烈的进攻。典型
的非完全资讯博弈如德州扑克,玩家需在看不到对手牌面的状况下决策,
CMU 的德扑 AI 论文也拿到 NIPS 2017 最佳论文奖。
另一方面,深度学习的研究人员也希望借助深度强化学习的力量探索更复杂
的博弈/游戏。德州扑克显然不够难,德扑 AI 之父表示没有用到任何深度
学习;再看围棋,虽然围棋可能出现的局面总数是天文数字,但每回合双方
只需选择在棋盘某处落一颗棋即可。相比之下,现代竞技类电子游戏的移动
空间就复杂得多,比赛可有 2 个以上玩家参与、每个玩家可同步行动、每
个行动有不同时间长短、位移和移动都是空间连续,攻击防御技能等物品也
有很多变化。
随着当年的狂热玩家如今成为电脑科学领域的研究人员,电子竞技游戏 AI
研发也快速分出两大主要阵营:《星海争霸/星海争霸 2》,以及 DOTA
2。两者都有广泛群众基础,玩家对游戏 AI 喜闻乐见,也有许多高水准的
职业选手可与 AI 切磋学习。
虽然都是 RTS (即时战略)游戏,都需要在收集资源和打仗间找到平衡,
但星海和 DOTA 2 也有不少区别。星海需要控制多种不同类别的单位,这些
单位有各自的运动和攻击特点,DOTA 2 可从头到尾只控制同一个英雄;星
海每一方只有一位玩家,而 DOTA 2 每一方有 5 位玩家。因此游戏策略和
执行区别也让星海 AI 和 DOTA 2 AI 研究走出不同的发展路线。
截至本次比赛前,《星海争霸》AI 和 DOTA 2 AI 研究领域已见识过的最强
AI 分别来自三星和 OpenAI:
2018 年 AIIDE《星海争霸》AI 挑战赛共有全世界 27 支团队带着 AI 参
赛,获得冠军的人族 bot“SAIDA”来自三星。这个 bot 的核心特点是有一
个稳定的游戏策略,会首先考虑防守,然后在游戏中期伺机一波带走对方。
这种策略是从韩国职业星海选手学到的。这个 bot 去年时还无法击败职业
选手。
《星海争霸》AI 普遍大量使用固定策略和手工规则,三星 bot 应用一些机
器学习技术来帮助控制单位、探索地图,开发团队也尝试更应用机器学习技
术。参加同一个比赛的 Facebook 虫族 bot“CherryPi”大量应用机器学习
技术,但只获得第二名。
2018 年 8 月,OpenAI 举行线下比赛测试自己的 DOTA 2 AI 系统“OpenAI
Five”,在较多比赛限制的情况下对阵欧美前职业选手组成的团队取得胜
利,在稍后 DOTA 2 国际邀请赛 Ti8 对阵中国(前)职业选手组成的团队
时失败。这之后 OpenAI 持续不断改进,并声称后来的某版已大幅超越之前
比赛的版本。
“OpenAI Five”是一套精心设计的深度强化学习系统,由 5 个独立神经网
路分别控制 5 个英雄。研究人员使用许多技巧启动 AI 学习 DOTA 2 各种
行为,也设计超参数帮助网络学习团队合作;但比赛过程中 AI 之间没有直
接沟通。
AlphaStar 技术介绍
DeepMind一直都是以深度强化学习著称的人工智能企业,如今我们见到的
DeepMind《星海争霸 2》AI“AlphaStar”自然毫不意外是一套基于深度
强化学习的系统。
*强化学习 Reinforcement Learning
概念上是给一个目标 让AI从错误中不断试误学习、直到能达成目标
AlphaStar 模型设计
AlphaStar 是一个把游戏看作长串行建模学习工作的强化学习 AI,模型设
计也就以长串行建模为能力为核心。模型从游戏接口接收的资料是单位清单
和这些单位的属性,经过神经网络计算后汇出游戏执行的指令。这个神经网
路的基础是 Transformer 网络,并结合一个深度 LSTM 网络核心、一个带
指标网络的自动回归策略头,以及一个中心化的评分基准。这网络架构是
DeepMind 对复杂串行建模工作的最新思考结果,他们也相信这先进模型可
在其他需要长串行建模、有很大行动空间的机器学习工作(比如机器翻译、
语言建模和视觉表示)同样发挥出优秀的表现。
*这段看不懂就跳过没关系XD 总之 AlphaStar要学的就是把新看到的资料
加上之前记得的资料变成一串控制的指令
AlphaStar 训练策略
AlphaStar 的初始训练策略与早期 AlphaGo 相同,DeepMind 研究员首先用
人类比赛的 replay 监督学习训练模型,以模仿学习的思路让模型快速学到
高级玩家在星海天梯使用的基础策略和微操作。这时的 AlphaStar 就能以
95% 的胜率打败《星海争霸 2》内建的“精英”等级 AI(对比 OpenAI 的
DOTA 2 AI 是完全从零开始的强化学习,初始阶段花了很多时间在无意义的
游戏操作)。
下面当然就是强化学习的自我对弈、继续提升水准阶段了,这也是和
AlphaGo 的训练策略不同的地方。之前介绍过,AlphaGo 自我对弈阶段的棋
局是由所有之前更新过程的表现最好版本生成,也就是说每时刻都有一个
“最好的版本”,也不断搜寻比前辈还好的版本替换。但对《星海争霸》,
DeepMind 研究员认为不同的优秀策略之间可相互克补,没有哪个策略可完
胜其他策略。所以这次他们分别更新、记录许多不同版本的网络(合称为
AlphaStar league)。
https://i.imgur.com/SNvNW95.png
如上图,AlphaStar 用人类资料初始训练后,继续进行多轮 AlphaStar
league 自我对战,每轮都会在之前数个较强的版本基础上分叉;分叉前的
版本会固定参数保留下来,一直参与后续多轮自我对战;不同版本也可能会
安排不同对战策略和学习目标。这样不断提升网络水准、提高对战难度的同
时,也保留足够多样性。根据每轮自我对战的结果,每个网络参数都会更
新;这种做法来自群体强化学习的想法,保证持续稳定的表现提升,且很新
的版本也不会“忘记”如何击败很早的版本。
群体自我对弈的过程会产生许多策略。有些策略仅细微改善早期策略,也有
一些策略会有全新的建造顺序、单位组合、微操作;能稳定击败早期策略的
策略也开始出现。比如 AlphaStar league 自我对战早期,快速 rush 的策
略有较高胜率;但随着训练过程持续,其他策略开始展现更高胜率,比如用
更多工人快速扩大基地,获取更多资源后建立经济优势;或派几个兵去对方
基地骚扰,获得发展速度的优势。这种策略更换演化也和人类选手数年摸索
之路非常类似。如下图,随着总训练时间越来越长,AI 平均使用的单位数
目也越来越多。
https://i.imgur.com/QbQ1XPO.png
多轮自我对战结束后,研究人员会以 AlphaStar league 的 Nash 分散取样
出一个版本,当作训练结束后最终得到的 AI。这做法可得到已发现的多种
策略综合最优解。
*总之是找出所有AI里面比较能通吃各种战术的
据 DeepMind 介绍,击败 TLO(虫族选手操作神族,并不是他最佳水准)和
MaNa 的 AlphaStar 版本分别来自第 9 天和第 14 天的自我对战(如下
图),实际上观赛选手和游戏解说也都注意到两次比赛 AlphaStar 的变
化。
https://i.imgur.com/pTsVf2D.png
保证策略多样性的努力
DeepMind 在技术介绍部落格提到,为了让 AlphaStar league 有尽量高的
多样性,他们有意识地为不同 AI 设定不同的学习目标(这也符合人类常
识,简单的随机扰动带来的多样性变化非常有限)。有的 AI 要专门针对击
败某特定 AI 学习,或为另一些 AI 设定其余内部动机,比如具体透过建造
某种单位,击败所有使用某类策略的 AI。这些目标会在训练时调节。
DeepMind 可视化展示了最终形成的多种不同策略分散,如下图。
https://i.imgur.com/liQUnF9.png
*这里就是DM唯一有干预AlphaStar的地方
AlphaStar league 自我对战中,每个 AI 的网络权重都会根据强化学习演
算法更新,最佳化各自不同的学习目标。权重更新规则来自新的、高效的策
略离线 actor-critic 算法,其中含经验重播、自我模仿学习和策略蒸馏
的思想。
*这段也是看不懂就算了XD
AlphaStar 算力需求
为了支援大批不同版本 AlphaStar AI 的对战与更新,DeepMind 构建大规
模可拓展的分布式训练环境,使用最新的 Google TPUv3,这训练环境可支
援成群 AlphaStar AI 实例同时执行;《星海争霸 2》游戏主体也有数千个
实例同步执行。AlphaStar league 的自我对战训练过程用了 14 天,每个
AlphaStar AI 使用 16 个 TPU,最终相当于每个 AI 都有长达 200 年的游
戏时间。训练结束后的模型在一张消费级 GPU 就可执行。
*所以有Google 爸爸真好 不然光训练钱就烧光光囉
AlphaStar 的游戏表现
由于 AlphaStar 首先从人类玩家资料模仿学习,以及神经网络有一定的计
算延迟,操作频率其实比人类选手还低一些。MaNa 的 APM 达平均 390,
AlphaStar 平均只有 280 左右。AlphaStar 的计算延迟平均为 350 毫秒
(从观察到行动)。相比之下,以往基于固定策略和手工规则的星海 AI 会
保持上千 APM。
https://i.imgur.com/LZlyRuc.png
*上图可以看到MaNa真的打得很稳 APM很集中
相对的TLO感觉就会有打的特别快的时候
AlphaStar并没有很常使出1600APM绝技
DeepMind 也根据 AlphaStar 和 MaNa 一局比赛制作 AI 视角和内部资讯的
可视化示意图,如下:展示神经网络接收到的初始资料(左下角小图蓝色
点),神经网络内部的触发状况(中下方手边小图)、AI 考虑点击和建造
建筑的地图区域示意(中下方右侧小图,这也可以理解为 AI 的注意力关注
的区域)、AI 作业输出触发情况(右下角小图)及胜率预测。图中同步展
示 MaNa 视角,游戏中 AlphaStar 看不到对手视角。
https://i.imgur.com/oPpyCQY.gif
本文开头提到,两次以 5:0 击败 TLO 和 MaNa 的 AlphaStar 无需控制视
角,可直接读取地图所有可见内容。相比之下,人类选手显然需要手动切换
视角到地图不同位置才能看到部分资讯。从这个角度说,AlphaStar 有欺负
人类选手的嫌疑。DeepMind 也针对这点分析,他们的资料统计认为
AlphaStar 切换关注区域的速度约是每分钟 30 次,这个次数和人类职业选
手相当。
*可见内容表示还是有战争迷雾
当然了,最好的办法还是做实验证明。所以 DeepMind 重新训练了需要自己
控制视角的 AlphaStar ,也就是直播时 MaNa 击败的那版(不过那版只训
练了 7 天,而不是初始版的 14 天)。这版的 AlphaStar 能抓取的资讯仅
限于视角包含的部分,指令也一样。DeepMind 提供的训练图表也显示这带
来一定的表现下降(虽然仍能追上)。不过 DeepMind 认为表现下降的幅度
非常轻微,也表现出 AlphaStar 的强大,主要还是归功于学到有效的游戏
策略和强力微操作。
https://i.imgur.com/Z1K80VA.png
DeepMind 的展望
虽然这次模型用在《星海争霸 2》AI,但 DeepMind 认为这是够复杂、有代
表性的工作,用来解决这个工作的技术也可用在其他复杂问题。比如为长串
列建模设计的网络架构,可用在更多不完全资讯的长串行建模工作,如天气
预测、气候建模、语言理解等。他们也会继续开发 AlphaStar 项目,并利
用其中技术收获,改善更多工作。
另一方面,DeepMind 认为此次设计策略也是通往安全、强健性 AI 的新路
径。现阶段的 AI 系统一大难题就是难以预测系统会在多少种不同情况下失
效,《星海争霸》的职业选手取胜 AI 也往往依靠搜寻并攻击 AI 的弱点和
错误。AlphaStar 提出的群体训练策略就是一种更可靠、出错可能性明显减
少的训练策略。DeepMind 研究员认为,这种方法还有很多潜力可挖掘,也
许未来会成为安全因素非常关键的重要一环。最终,DeepMind 希望建立真
正智慧的系统,帮助人类解决最重要、最基础的科学难题。
作者: fragmentwing (片翼碎梦)   2019-01-25 22:05:00
原来mana获胜那场是要抓视角的那场分兵好像没有分的很好 才被双不朽闹到意外的是双不朽没有造成艾尔大停电XD
作者: qoo60606 (凛)   2019-01-25 22:32:00
科普推
作者: lovinlover (Lovin Lover)   2019-01-25 22:41:00
小色现在在播AlphaStar视角了
作者: positMIT (MarineQueen)   2019-01-25 22:45:00
慢慢抓bug...XD一秒变成疯狂电脑
作者: Adonisy (堂本瓜一)   2019-01-25 22:49:00
AI:好哥哥再打一盘吧...
作者: jumboicecube (大冰块)   2019-01-25 23:16:00
切换关注区域的速度是每分钟30次o.o
作者: fragmentwing (片翼碎梦)   2019-01-25 23:38:00
每分钟30次的话好像还好 职业的第一视角都超晃的XD
作者: NinaMoon (Nina)   2019-01-25 23:42:00
囧太郎怎么什么都知道
作者: jumboicecube (大冰块)   2019-01-25 23:55:00
老实讲这不是晃不晃的问题,因为人和电脑切换萤幕的型式并不一样。人类玩家在纯观察时的切换萤幕会很迅速地切过去,因为这种状况下不会去操作单位停留在这个画面没有意义,但电脑能做的事会比人要多就类似每个人平均有一颗蛋的问题。EAPM给得太高
作者: homelife (SKY)   2019-01-26 00:24:00
正在进行AMA~觉得这值得贴过来:https://goo.gl/f2kWPyOriol解释详细的APM限制,还有其实AlphaStar因为是用模仿学习,所以跟人类一样有一些废操作,像是Move的时候会点很多下以确保单位移动。蛮有意思的
楼主: Jotarun (forever)   2019-01-26 00:28:00
对啊我有在看所以其实还是有限制的 只是他是限制在一段时间内所以还是能有peak APM
作者: zitoneverwin (东山鸡头)   2019-01-26 08:57:00
DOTA2不算RTS吧…
作者: art1 (人,原来不是人)   2019-01-26 17:52:00
有什么对战游戏不需要策略的?
作者: JayYuan   2019-01-26 20:51:00
科普给推
作者: peanutman (偷~~岛~~林)   2019-01-27 17:46:00
囧太郎怎么连星海都知道
楼主: Jotarun (forever)   2019-01-27 21:41:00
说实在我星海实在很不知道XD
作者: kira925 (1 2 3 4 疾风炭)   2019-01-28 16:00:00
....这样我可以理解为什么会不觉得AlphaStar有问题了
作者: finalvisual (DIR EN GREY)   2019-01-29 08:39:00
事实上就是有限制规格(APM 不是你一开始宣称的没有

Links booklink

Contact Us: admin [ a t ] ucptt.com