五个月,从小白到战胜SumaiL,Dota2世界最强单挑王诞生记(附大量珍贵对战视频)

简评:从 3 月份的连小学生都打不过,到 8 月份的战胜 Sumail 等一系列世界豪强,OPENAI 这几个月发生了什么?最可怕的是,每一天的它都能战胜前一天的自己。你可能觉得它是电脑才强,但事实上它的可怕不在于反应而是在于学习能力。

前几天我们的 AI 2-0 战胜了世界顶尖的的 Dota2 选手,前世界冠军 Dendi,比赛采用 1 对 1 的标准锦标赛规则。

这次的结果显示,自我学习的 AI 能够自发的从远低于人类水平成长到超越人类的水平,只要给与其足够的计算。在短短几个月,我们的系统从最底层的 Rank 排名成长到了击败职业的程度。受监督深度学习系统能够做到的程度与训练数据保持正相关(即数据有多好它的能力就有多强),但自学习(self-play)系统,随着计算的累计,可以在现有的数据上进一步提高。

五个月,从小白到战胜SumaiL,Dota2世界最强单挑王诞生记(附大量珍贵对战视频)_第1张图片

从上图可以看到:随着时间的推移,我们机器人(bot)的 TrueSkill 评级(类似一个国际象棋的段位),从添加新功能到算法改进到扩展,系统的每个部分都有改进。这个图表是令人惊讶的线性的,意味着团队随着时间的推移成倍地改进了机器人。

Dota2 Solo MMR 分布图: 有 15% 的人低于 1.5K MMR(Dota2 的排位分数),58% 的人低于3K,只有 0.01% 的人高于 7.5K。

五个月,从小白到战胜SumaiL,Dota2世界最强单挑王诞生记(附大量珍贵对战视频)_第2张图片

OPENAI Dota2 bot 进度的时间表如下

  • 3 月 1 日:我们的第一个传统的强化学习成果,让 bot 使用游侠卓尔(小黑)学习放风筝

  • 5 月 8 日:1.5K 分段的测试员说他比 bot 进步快多了。

  • 6 月 初:击败了1.5K 分段测试员。

  • 6 月 30 日:赢了大部分 3K 分数段的测试员。

  • 7 月 8 日:很艰难的第一次战胜 7.5K 分数段的半职业选手测试员。

  • 8 月 7 日3-0 战胜 Blitz(6.2K 前职业选手);2-1 战胜 Pajkatt(8.5K 职业选手),3-0 战胜 CC&C(8.9K 职业选手)。大家都同意,只有 Sumail(现役超强职业选手,被誉为巴基斯坦之光)才能知道如何击败 bot

  • 8 月 9 日10-0 击败 Arteezy,顶级职业玩家,10K 分数。他说恐怕 Sumail 也搞不定 bot

  • 8 月 10 日6-0 击败 Sumail,8.3K 职业选手,最强单挑王之一,Sumail 直呼不可战胜。后来 Sumail 挑战 8 月 9 日(回滚到了前一天的 bot),Sumail 2-1 获胜

  • 8 月 11 日:在锦标赛的表演赛中以 2-0 击败 Dendi,7.3K 分数,前世界冠军,广受老玩家喜爱。11 日的 bot 对战 10 日的 bot,有超过 60% 的胜率

五个月,从小白到战胜SumaiL,Dota2世界最强单挑王诞生记(附大量珍贵对战视频)_第3张图片
视频:与 SumaiL 的巅峰对决,红方是 OPENAI

下一步任务

虽然 1V1 也是锦标赛的一个项目,但是我们把下一个目标定在教会 AI 打全场 5V5。

bot 的操作视角:

  • 视野:被设计与人类一样,兵线,小鸡,附近的地形。游戏部分可观察,阴影和人类一样,也会失去视野。

  • 操作:bot 操作 API,选择与人类一样的频率进行操作,包括移动位置,攻击,或者使用道具。

  • 反馈:机器人获得奖励和伤害,如健康,金钱,最后一击等指标与人类一样。

五个月,从小白到战胜SumaiL,Dota2世界最强单挑王诞生记(附大量珍贵对战视频)_第4张图片
(和 Arteezy 单挑,红方是 OPENAI )

国际邀请赛

bot 的训练途径是少部分的「教练」和自我学习,选手们和 bot 在周一到周四训练。有个周一的晚上,Pajkatt 战胜了 bot,因为他用了魔棒,于是我们把魔棒添加到 bot 训练的白名单。

在周三的凌晨一点,我们测试最新版的 bot,发现它在第一波兵线就损失了很多血。我们认为出了一些问题,需要回滚,但接下来让我们大吃一惊,原来第一波掉血是为了以弱示敌,它现在学会了勾引战术,以让他机器人进行攻击!而下一步,其他机器人学会了抵制勾引战术。我们马上把它和周一的那个机器人(可以使用魔棒的版本)进行合并,下午四点 bot 要和 Arteezy 进行对战,我们对站前的 20 分钟紧急上线了新版本。

在和 Arteezy 对战之后,我们更新了移动模块,让 TrueSkill 又增加了一点。星期四要和 SumaiL 比赛,我们进一步训练,在比赛前又增加了 TrueSkill 两点。在比赛中,Sumail 发现 bot 学会了卡视野。这导致了 bot 学会了新技能:在人类视野之外使用魔杖

后来 Arteezy 与我们的 7.5K 测试员打了一场比赛,最后 Arteezy 获得了胜利,但是我们的测试员仍让他吃惊不已,因为测试员使用了从 bot 身上学习到的很不常见的战术。(园长:有没有想到 AlphaGo 的「点三三」)。Arteezy 表示这个战术是 Paparazi 曾经对他使用过的一个战术,只是测试员使用的不太熟练。

五个月,从小白到战胜SumaiL,Dota2世界最强单挑王诞生记(附大量珍贵对战视频)_第5张图片
(Pajkatt 和 bot 那个周一的对战,注意,他诱骗机器人参与进攻,互相消耗,自己使用魔杖治疗。bot 通常非常擅长决策胜负,但是从来没有和早期有魔杖的人打过)

Bot 漏洞

虽然 Sumail 直呼 bot 「不可战胜」(unbeatable),但在非常特定和非常规的情况下,bot 仍然无法判断清形势。在国际赛期间,bot 在局域网内参加对战,打了超过 1000 盘比赛,然后也出现了很多的意外事件。
成功战胜 bot 利用了三个漏洞:

  • 推塔:当兵线过来时,勾兵,引几波兵线追自己,让己方小兵推塔。(园长:1V1 获胜条件,三人头或两塔)

  • 淬毒之珠+风灵之纹:这个组合给你巨大的移动优势,会让你快速拿到一血。你要利用这个思路来杀死 bot 一次。

  • 一级点影压:这需要许多技巧,但是有几个 6-7K 高分玩家,一级点影压,成功在短时间内击中 3-5 炮加平A,实现一血。

遇到这些问题并且解决就好,就像是和 Pajkatt 对战我们添加了魔杖一样,修复就好了。但是对于 5V5,这样的问题就根本不是漏洞,我们需要一个能够应对各种突发和怪异状态的系统。

5V5

1V1很复杂,但和5V5相比,就是小溪对比海洋。为了解决 5V5 的复杂度问题,我们要进一步提高 AI 的限制。

一个成熟的方案是早 5V5 早期,克隆学习。Dota2 每天有大约一百万场公开赛。这些比赛的重播被存储在 Valve 的服务器上两周。自从去年 11 月以来,我们一直在下载每个专家级别的比赛重播,并且已经收集了 580 万游戏的数据集(每场游戏约 45 分钟,10 人参与)。我们使用 OpenDota 来发现这些重播,并捐赠 12000 美元(10 年的筹款目标)来支持该项目。

我们有更多的想法,招聘工程师(不需要是专家,但必须对机器学习感兴趣)和研究人员帮助我们实现想法。感谢 Microsoft Azure 和 Valve 的支持。

参考:More on Dota 2

你可能感兴趣的:(五个月,从小白到战胜SumaiL,Dota2世界最强单挑王诞生记(附大量珍贵对战视频))