OpenAI 真的很强,不过它仍然存在一些问题
昨天 OpenAI 正式开放了 OpenAI Five 竞技场,可能是出于服务器资源有限的原因,OpenAI Five 竞技场并没有在游戏内提供入口,玩家需要在竞技场页面使用网页来启动游戏。
游戏模式分为两类,一类是合作对抗,另一类是人机大战,其中合作对抗最多支持 5 名人类玩家,对战发起人可以自由地配置天辉、夜魇两边的 AI 数量,并为 AI 决定他们要玩的英雄。
玩家在地图的哪一边以及 AI 的英雄阵容都是在开始游戏前通过网页预先确定的,在游戏中玩家只需要选择自己需要玩的英雄。和之前的比赛一样,英雄是限定在了 17 位,这和游戏模式完整的《Dota 2》有很大的区别。
这个模式可以让组不到五人车队的玩家体验一下对抗 OpenAI 的感觉,该模式下的对战将不会计入这一次活动的总计分榜。你可以在这个模式下带 4 个 AI 来对抗一支 AI 队伍,当 AI 做你队友时,你可以通过一些 OpenAI 预先提供的指令来干预 AI 队友的动作。
人机大战模式和合作对抗模式中的规则是完全一致的,不同的地方只有人类玩家必须是一支完整的 5 人队伍,同时双方需要和之前进行过的比赛一样经过 BP 选出阵容,其中 AI 的阵容是由 AI 自己选择的,在合作对抗中 AI 的阵容则是由玩家指定的。
这个模式下的胜负将会计入总计分榜,这个计分榜主要用来统计玩家和 AI 的对战情况。
截止笔者写稿,OpenAI Five 在超过 1000 局对战中一共落败了 21 局,其中已经有不少队伍打赢了 OpenAI 多次。
这么看来 OpenAI 也并不是不可战胜的,而且不知名的路人玩家也有战胜 OpenAI 的可能。不过以 OpenAI 的实力,即使是路人玩家,其Dota 2天梯分也应该不低,因为想要在OpenAI的手下取胜,玩家需要掌握非常扎实的游戏基本功。
除了路人玩家外,也有一些半职业队伍(主播车队)和职业队伍战胜了OpenAI,所有的数据在OpenAI的总计分榜上都是可以看到的。
随着玩家对打法的不断尝试和以及对阵 OpenAI 的打法在玩家之间流传,战胜 OpenAI 的队伍在未来肯定会变得越来越多。
OpenAI 并不是战无不胜的,不论是之前和 OG 的比赛,还是现在开放的 OpenAI Arena,我们都能看出 OpenAI 还是有一些致命 Bug 的。
OpenAI 的取胜笔者个人感觉更多的还是靠操作,OpenAI 的反应速度非常快,而且对技能范围以及伤害的计算非常精准,以至于他们可以打出很多很极限的操作。
在补刀方面,OpenAI 可以对正反补做到相当精准的控制,补刀基本功不够扎实的玩家都没有办法正面对抗 OpenAI,补刀上双方的经济就大大拉开了。人类玩家补刀能力强的可以打中路或者优势路,这两路 AI 一般只会去一个人,如果你补刀稳定,那么你的发育不会落后于 AI。
通常来说,不在中路的玩家发育会普遍比 OpenAI 要更差一些,因为 AI 对补刀是做了精准计算的,他们只存在不想补刀的情况,AI 是永远不会漏兵的。
在对线过程中,OpenAI 表现得非常强势,只要有杀人机会他们就会上压对线,而且在游戏中 AI 开局非常喜欢使用 3-1-1 这样的分线,3-1-1 可以给对面开局带来更大的压力。在正常对局中这样的套路并不常见,但在 AI 的学习中这样的开局对他们来说显然是有利的。
在竞技场中 OpenAI 的对线策略实际上和他们之前和 OG 对阵时的表现一致,他们会在线上给对手很大的压力,极力阻拦对手补刀以影响其发育。
AI 只要觉得有杀人机会,他们就会向前推进并且尝试击杀,由于这个英雄池中的绝大部分英雄都带有控制技能,所以 AI 可以凭借精准的计算直接用控制起手接上一套 Combo 完成击杀。
如果玩家的站位过于靠前,那么这个人头毫无疑问是送出去了的,如果玩家的位置稍靠后,玩家在反应过来之后可以通过后拉英雄来回避对面的攻击。
在对线的过程中,玩家可以选择避其锋芒,不与其硬拼补刀,而是和队友配合通过控制技能做击杀。和 OG 对阵时一样,OpenAI 仍然不能很好地处理在视野盲区的敌人,所以在上下路线上通过控制技起手接 Combo 是能够完成对 AI 的击杀的。
线上 OpenAI 非常喜欢用大药,由于他们在经济上普遍有优势,所以他们会选择购买更多的消耗品来抵消对面对自己血量的消耗,你经常会发现远程消耗了 AI 一波之后 AI 立刻上大药回满血,给对面持续带来压力。
只有控制技 Combo 的不断击杀才有机会打乱 AI 的节奏,从而扰乱 AI 在线上的发育,并且打掉 AI 的消耗品。在实际的对战中 AI 对消耗品使用的判断是存在问题的,他们有时候会在错误的时机使用消耗品而造成消耗品的浪费。
后期 AI 的推进团是相当难接的,AI 的推进团有两个特点,第一个是技能起手很快,一套技能就能直接把你带走,后期 AI 会买很多带有控制的装备,这会使 AI 在团战时发力更猛。
另一个是如果团战发生在线上,那么 AI 会习惯性做包夹,切后排英雄,如果 AI 选了隐刺这样的英雄,那么后排英雄很有可能会直接被切。
由于这个版本的 OpenAI Five 也并不能处理好隐身,所以玩家是完全可以隐身开团的,有主播也用这样的方式打赢了数波团战,看起来目前 AI 这种强化学习的算法仍然只能学习如何处理视野内可见的单位,对于视野看不到的「未知」他们还是没有办法去做很好的预测。
在实战过程中,OpenAI Five 单纯的强化学习还是有一定问题的,例如 AI 在插眼这个操作上还是会有 Bug,他们能精确计算游戏中的各种东西,但是唯独视野他们似乎是不能精准地计算,使得游戏中 AI 会做出很多奇怪的插眼操作。
笔者个人感觉 AI 对于插眼、反眼、反隐都是没有意识的,而且多数插眼都不在传统眼位上,感觉他们插眼是很随意的,不像是一个经过精确计算而做出来操作。
总体来看,即使是现有版本的 OpenAI Five,它也还是有很多可以强化的地方,单纯的强化学习显然不是应对的 Dota 2 这款游戏的最优解,而且 AI 的强大实际上有很大一部分是由其精密计算、精准操作、高速反应构成的,AI 本身在策略上、在意识上都有很明显的问题。
在看多了 OpenAI Five 的操作后你也会发现 AI 每一局的大策略都是基本上一样的,AI 还并不能很好地根据战局的变化去更加灵活地改变自己的策略,更多的只是英雄定位的切换。
这可能是机器学习的一种局限性,即 AI 在得出了一个较好的拟合结果之后,这个结果就会被 AI 的运行时视为是所谓的「最优解」去使用,即使战局有变化,AI 做出来的所有操作也不会脱离这么一个「近似最优解」的策略。
现有的 AI 主要还是通过局部的变化来应对战局的变化,例如我们有提到过的调整英雄定位,或者更改出装、加点方式等等。在笔者的实测过程中 AI 会处于劣势的时候做出一些类似偷塔的操作,但是可以看出来 AI 在做这种操作的时候其「意愿」不是很强烈,最终他们会放弃这样的推进转为抓人。
显然在 AI 的神经网络中这样的操作是和训练结果相违背的,它的权重更低,所以 AI 会做出这样的尝试,但是他们总体的操作还是不会违背这个大的策略。
看到这里,你可能会问,OpenAI 搞这么大一阵仗去开发、测试这样一个只会打《Dota 2》的 AI,它的意义在哪?
这样的 AI 显然不是开发出来陪各位玩家们打游戏的,它是用来测试当下的 AI 技术为日后 AI 进行进一步优化奠定基础而开发的「试验品」。
应用到现实世界的更高智能的 AI 需要有处理多变情况的能力,而现实世界中的大多数案例下虽然情况种数多,但每一种情况出现的频次很低,这使得现实世界难以提供足够多的数据反馈给 AI 的开发者帮助他们对 AI 进行调优。
所以他们选择了这样的即时策略游戏,即时策略游戏和现实世界类似有着相当复杂多变的情况,像《Dota 2》这款游戏中就含有着爆炸多的可能性。即使 AI 在游戏中能够展现出一些「非人类的」操作,但是他们仍然需要通过应对、掌握游戏中的各种多变情况才能取胜。
游戏进行一局是非常快的,OpenAI Five 进行这样的公开测试也能迅速收集到大量的反馈数据,并从这些反馈数据中提炼出当前 AI 在应对多变情况时还存在的问题,进而对 AI 进行更深度的优化。
面向一款游戏开发一个 AI 实际上成本是要更低的,因为游戏本身是开发者可控的,同时游戏本身是一个程序,AI 可以通过「加速时间」来进行大量的训练,AI 本身的迭代速度是要更快很多的。
所以 OpenAI Five 这样的 AI 就存在了,它存在的意义就是为了让 AI 变得更智能。
目前 OpenAI 竞技场仍然在持续开放,如果你刚好是一名 Dota 玩家,同时有兴趣参与到这个活动中,那么你可以前往 arena.openai.com 开始你和 OpenAI 的对战。