如何评价 OpenAI 在 8 月 5 日 dota2 中击败人类 7000 分路人队伍? | 目的地Destination

如何评价 OpenAI 在 8 月 5 日 dota2 中击败人类 7000 分路人队伍?

lei 了 lei 了,OpenAI 的 5v5 比赛它终于 lei 了!

这三场比赛是在今天凌晨举行,优达菌没有熬夜看直播,但在中午趁着午休和蹲坑时间,把三场比赛的集锦录像都回看了一下。下面奉上一些简单的介绍和分析:

OpenAI 是谁?

OpenAI 成立于 2015 年,由马一龙先生(没错就是 Tesla 和 SpaceX 那位自己说最怕 AI 的 CEO)和几个硅谷大佬一起建立的 AI 非营利组织,最初的愿景是预防 AI 的灾难性影响,推动 AI 的积极作用(比如打 DOTA2 啦!外加刚发布的机器手臂 Dactyl),OpenAI 的几个项目也是对标 Google DeepMind 进行研发的(如阿尔法狗,和最近在挑战的《星际争霸2》项目)。不过,在今年年初的公告中,马一龙却已经离开了 OpenAI,G 胖加入了董事会。

OpenAI 在去年的 TI7 上首次亮相,在中单 SOLO 模式用影魔打败了 Navi 的职业选手 Dendi,一鸣惊人。

但 SOLO 在 DOTA2 中似乎并不能说明什么,毕竟有超多 6k+ 职业选手也在单排鱼塘里翻过车,而且是再也游不出来的那种。因此 OpenAI 随后便宣布了 OpenAI Five 同时用五个神经网络来训练的成果,先来看一眼 OpenAI Five 的几个设计标准:

  • 采用自我对抗的深度强化学习训练
  • 基于 256 个 P100 GPU 和 128000 个 CPU 进行神经网络的深度学习
  • 每天训练相当于人类180年的比赛量级,每天每个英雄训练量约为900年
  • 单个 AI 使用 LSTM (循环神经网络)进行训练,不使用任何人类比赛数据

6 月 25 日,OpenAI 公布了以上这些细节,具体的可以点击这里看。在 7 月 18 日,OpenAI 公布更先进的训练成果(毕竟对 AI 来说 1 天相当于 180 年的训练量,真是“天上一天,地上一年啊!”),如可以放眼位、允许隐身(道具或英雄)、允许开雾和打 Roshan 等,并宣布将挑战五位由人类组成的队伍。

关于比赛的一些限制

当然,比赛是在一些限制条件下进行的:

  1. 只有 18 个英雄
  2. 不能使用召唤物或者幻象
  3. AI 有 5 个无敌的信使,不能使用它们来获取视野和吸引仇恨
  4. 不能使用扫描
  5. AI 的反应时间从 80 ms提高到了 200 ms

我们可以理解成这是一个简化版的 DOTA2 ,从 115 个英雄精简到了 18 个,而且没有地精工程师可以选。对于 200ms 的延迟,大概是一个 DOTA2 玩家的中等水平,大家可以玩扎绵羊游戏来直观的感受下自己的反应速度。

从比赛的实际结果来看,200ms 的稳定延迟对于人类来说还是不太公平,毕竟人类玩家会持续关注场上非常多的信息,不一定就始终对眼前即将发生的时候保持最佳的反应速度。OpenAI 的 Lion 多次在撼地神牛跳入人群之后秒羊了 ,对于撼地神牛这样的英雄来说,只能放出一个技能,就被控制,往往代表着崩盘。其实人类选手也能作出类似的惊人操作,但是像有这次 OpenAI 这样多次稳定的控制,还是非常非常困难(看到其他几个现场大佬的回答也提到了人类选手表示有延迟不适应)。所以优达菌觉得可能 AI 的反应速度是一个正态分布可能更加像人类一点:大部分时间比较稳定的好,有些时候也会灵光一现的神预判反应或者呆在原地思考人(AI)生。(当然问题来了,为什么要像人呢?)

今天的赛况

讨论和评价

其实早在第一场比赛 BP 后,OpenAI Five 公屏聊天对自己比赛的预测胜率已经高达 95%,不难看出,DOTA2 是一个 BP 决定了八成以上的胜率的游戏,尤其是在一个英雄池如此小的情况下进行,AI 可能已经进行了上亿次的 BP 运算和验证。虽然公屏聊天在人类选手看来更像嘲讽,但也可以对比看到第三把由 Twitch 观众选择 AI 阵容后超低胜率的对比,不过令人惊讶的是 AI 打得依然有模有样。

对比赛

从其他大佬们的回答也可以看出,在比赛前 OpenAI 团队其实也利用了信息不对称这一方式来防止人类队伍提前制定策略,例如带线分推以及劣势路开局刚三等(中期换路时已经落后很多)

对 Open AI

我们其实从 OpenAI 团队的博客中可以窥探到 Five 是如何玩游戏的。

和游戏交互

OpenAI Five 是通过 DOTA2 BOT API 和游戏进行交互,读取当前游戏场景信息和发送行动指令。每个 OpenAI Five 神经网络都包含一个单层的、 1024 个神经元的 LSTM 。我们可以从下面这两个示例图看到 OpenAI Five 是如何观察场景和执行动作的。

观察场景:可以看到 AI 能够观察到和人类玩家差不多的公开信息,没有视野的信息是无法被获取的。但是他们可以获得更多更准确的数据用于决策,例如英雄之间的距离,生命值和魔法值,技能和物品状态,等等。

行动:这张图显示了 OpenAI Five 是如何执行移动命令的,它以英雄自己吃为中心,以 100 距离为单位,划分了 9x9 的格子,以及可以决定执行的延迟。

同时注意到左侧的交互界面,每个英雄还可以根据自己的物品技能状态,决定执行其它的操作。更详细的可以从他们的博客中体验。

团队合作

OpenAI 团队并没有专门为 5 个英雄做一套沟通机制,而是通过设置了一个“团队精神”的超参数来控制 5 个英雄的合作意愿,具体我们在下文解释。通过它来影响 5 个英雄有多大程度会去考虑团队利益而且不是毒瘤刷钱,分头带线,这波没我...... 从今天的比赛中我们也能看到,除了精准的伤害计算、技能释放控制,无解的团战拉扯也是 Open AI 赢下比赛的关键因素。

当然,冰女 AI 还是掏出了团队之手……XGNB!

那么,为什么选择 DOTA2?

相比当年的深蓝战胜国际象棋冠军和去年阿尔法狗打败李世石和柯洁,在棋类比赛中战胜顶尖人类高手,证明了在信息对称的场景下,阿尔法狗可以通过更聪明的方式来进行正确的决策。

但 DOTA2 是一个复杂度更高的博弈,DOTA2 是以 30~60 fps 运行(即便你有120/240 Hz显示器可能依然不如仅用 30 fps 的 AI 强),一场 45 分钟的游戏平均会产品 8 万帧的场景,任何一个时刻,任何一个玩家的动作都可能对游戏战局的走向造成影响,按照 Open AI 的博客中给出的数据,每个英雄平均每帧约有 1000 个动作可以选择。而在国际象棋中,每个节点的分支因子只有 35 个,围棋则是平均 250 个。

而由于视野的存在,对战双方获得的信息是不对称的。同样按照 Open AI 的博客中给出的数据,OpenAI Five 的观察频率是 4 帧一次,也就是场均 20000 步动作,而国际象棋一般在 40 步以内就能决出胜负,围棋是 150 步

此外场景复杂度也高了很多。DOTA2 的地图上有太多的元素,它们都会影响到游戏局势的走向。Open AI 从 DOTA2 BOT API 中总结出来 20000 个元素来描述整个地图。相比国际象棋和围棋的棋盘分别是 8x8 和 19x19,最多也就才不到 400 个元素

当然,对于很多像优达菌这样没有任何深度学习经验的人来说,游戏是一种更简单的了解目前 AI 发展阶段的方式。

最后,什么是深度强化学习?

其实教授 OpenAI Five 玩 DOTA2 的技术,就是近年来十分火爆的「深度强化学习」,简单来说它的工作原理就是:告诉机器人一个或一些目标,比如 人头、助攻、正反补、推塔数和打爆对方基地等等,当机器人完成目标时给予它一定的分数奖励。当然由于上文所说,OpenAI 使用了 5 个独立的神经网络来训练每个机器人,因此他们之间会有一个团队奖励机制作为超参数(大奖)来督促它们自我训练时的团队配合,据说这个团队超参数被设置为 0.97

可能在 AI 训练的前 100~200 年(大概也就是现实中的 1 天),机器人甚至不知道该做什么,只是漫无目的在地图上游荡,被野怪甚至肉山击杀等等,但直到它偶然补了一个刀或是推了一个塔,获得了奖励,它就明白了该如何完成该任务。而当下一次尝试完成时,AI 就会采取那些之前获得了奖励的动作行为。而每一个记录在同一个英雄玩法身上的记录被称为是 LSTM(循环神经网络),据 OpenAI 宣称,每个英雄每天的训练量级是 900 年,一般来说只需要开始的几个小时(几百年)就可以掌握基本的对线,伐木甚至越线杀人基础,而在几天后,每个英雄就有一个常见的技能使用、抢符、物品出装乃至游走策略。

那么这样的深度强化学习方式,也就很容易解释为什么 AI 喜欢选择使用速推的阵容来快速上高,将远古巨鱼们打得毫无招架之力:速推的团队收益在单位时间内是最高的,远远凌驾于个人收益之上。

那么问题来了,如果使用带线和分推的方式是否可以战胜 OpenAI Five 呢?

优达菌的回答是不一定,首先,OpenAI Five 的深度强化学习的算法是由业余分段的 OpenAI 团队工程师制定的,他们的博弈算法可能会比不上如今一线职业选手的临场快速决策,例如:是否考虑换塔时的收益回报,是否考虑四保一阵容时大哥的个人奖励大于团队奖励,等等。

不过最简单的方法是他们很有可能在此之前找来了 N 多职业选手比赛数据用大数据分析的方式测试了团队奖励和个人奖励机制的设定是否合理,在没有对阵人类之前,速推可能依然是单位时间收益最高的全局最优解。

最后,可能 OpenAI 团队只需要简单的下调一下这个团队超参数,从 0.97 调整到 0.8 甚至更低可能就会让 Five 从速推改为分头伐木的战术了!当然,如今的 0.97 也有可能是通过自我训练得出的最优值。

最后的最后,OpenAI 的 CTO 也已经在 Twitter 放话(Twitter Dota! Best Dota!):“我们的人工智能已经准备在 TI8 上挑战现役的职业选手了!”仔细想想,也并无不可能,毕竟从今天到 TI8 还有 15 天左右的时间,对于 AI 来说可是 2700 多年的训练时间呢!

如果你觉得这个回答不错,就给我们优达点个赞吧~~

来源:知乎 www.zhihu.com
作者:优达学城(Udacity)

【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。 点击下载

此问题还有 117 个回答,查看全部。

分享

如何评价 OpenAI 在 8 月 5 日 dota2 中击败人类 7000 分路人队伍?:等您坐沙发呢!

Leave your comment