首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

每天相当于玩180年游戏?AI程序5v5战胜人类DOTA2玩家

编辑 | 都保杰

微信 | ai_xingqiu

网址 | 51aistar.com

终有一天,我们再也打不过AI人机程序。

OpenAI是马斯克联合创立的非盈利AI研究机构,相比较谷歌的AlphaGO因为下围棋声名鹊起,OpenAI一战成名靠的是玩游戏,而且是高端电竞DOTA2.

因为一上来5v5有点儿困难,所以先做的是1v1,AI与人类中路单挑,在2017年8月,1v1单挑中OpenAI的程序接连战胜了天才少年Arteezy、神级中单Sumail、TI冠军Dendi。

而日前,OpenAI又公开战胜了天梯平均分4000的玩家队伍,这次是5v5,OpenAI给新的AI程序起了一个升级版名字——OpenAI Five。

虽然4000分水平的玩家只能算是业余选手,但这无疑为人工智能5v5战胜人类玩家打了一个头阵,OpenAI团队计划到8月份在有限英雄池下击败TI赛中的一支顶级专业队伍。

自信来源于哪里?OpenAI Five的训练量级非常大,每天都会玩相当于180年时长的游戏,通过自我对决来优化进步。训练上,它使用256块GPU、128000个CPU核心使用近端策略优化(Proximal Policy Optimization)方法进行训练,这是在去年建立的 solo Dota2 系统上的扩增。OpenAI Five为每个英雄使用单独的一个 LSTM,模型就可以在没有人类数据的情况下学到可识别的策略。

与围棋和国际象棋等回合制的游戏规则不同,Dota2更需要大量的实时决策以及队友之间的团队默契。而TI比赛是DOTA玩家的最高荣耀,每年有几千万美元奖金的超级比赛。能去打TI的是全世界最顶尖的DOTA选手,DOTA的打法众多、战术丰富、不存在某种稳赢不输的体系,而TI选手的分数起步是6000+,极具挑战性。

“我们可能不会成功,因为Dota2是当前最流行也最复杂的电子竞技游戏之一,有一批有激情与创造力的玩家经年训练,想要瓜分4000万美金的奖金池。”

OpenAI团队表示,从国际象棋到围棋游戏玩虐人类,人工智能如果能在星际争霸或者Dota这类复杂的电子游戏中超越人类的水平将会是一个新的里程碑,复杂电子游戏能够映射真实世界的混乱与连续的本质,如果能够解决复杂电子游戏的系统也有望成为通用的、去游戏之外更多场景应用的系统。

OpenAI Five需要掌握以下技能,每一项对于程序来说都有巨大挑战,不是围棋游戏可以比拟的,团队对此做了分析:

1.需要长线策略。Dota游戏平均每秒30帧,一场时常45 分钟,大概8万帧。大部分操作(例如操纵英雄移动)都有单独的小影响,但一些个体行为可能会影响到游戏战略,甚至会终结整场游戏。OpenAI Five每4帧观察一次,产生了2万个决策。相比之下,国际象棋一般在40步之前就结束了,围棋大概150步,但这些游戏每一步都很有策略性。

2.信息不完整。己方单位和建筑的视野都有限,地图的其他部分是没有视野的,可能藏有敌人和敌方策略,高玩通常需要基于不完整数据做推理,以及建模敌方意图,而国际象棋和围棋都是完全信息博弈。

3.持续的行为决策。在Dota中,每个英雄能采取数十种行为,而且许多行为要么面向敌方单位,要么移动位置,这些决策离散到每个英雄有17万种可能的操作(不是每帧都有效,例如在技能冷却时放技能就是无效操作);不计算连续部分,每帧平均要有1000个可能有效行为。国际象棋的行为数量大概是35,围棋250。

4.高维、连续的观察空间。Dota是在一张包含10个英雄、20几个塔、数十个NPC单位的地图上操作的游戏,此外还有神符、树、眼卫等。通过 Valve(Dota 2 的运营公司)的 Bot API,我们的模型把Dota游戏视为2万个状态,也就代表人类在游戏中可获取到的所有信息。国际象棋代表大概70个枚举值(8x8 的棋盘,6 类棋子和较小的历史信息)。围棋大概有400个枚举值(19x19 的棋盘,黑白 2 子,加上 Ko)。

最后一点就是Dota程序规则相当复杂,游戏开发了十几年,成百上千的代码行实现游戏逻辑,而且游戏每两周更新一次,环境语义一直在变。

OpenAI Five的实现方法

系统使用了一个高度扩展版本的近端策略优化(Proximal Policy Optimization)算法进行学习。OpenAI Five和之前的1v1程序都是通过自我对抗进行学习的,他们从随机参数开始,并不从人类玩家的历史策略方法中进行搜索或者自举。

强化学习研究者通常认为,对于长时空上的建模,需要全新的算法,比如分层强化学习。但是OpenAI的研究结果表明,只要采取合理的方式,目前的算法在大规模资源上运行的结果也不错,系统会随长时间训练而有优化。

虽然当前 OpenAI Five 的补兵能力略差,专业Dota解说员Blitz估计它的补兵能力只有职业玩家的中值水平,但它在选择优先攻击目标上能达到专业水平。

模型架构逻辑

每个 Open AI Five智能体网络包含一个单层、1024个单元的LSTM网络,它能观察当前的游戏状态(从 Valve 的 Bot API 中抽取)并通过一些可能的行动Head发出下一步采取的行动。每一个Head都包含语义信息,例如延迟该行动的时间值、选择哪一个行动和其X与Y的坐标轴。

OpenAI Five 使用了观察空间和行动空间的交互性演示。它将世界表征为一个由2万个数值组成的列表,并通过发出一个包含8个枚举值的列表而采取行动。我们可以在 OpenAI 网站上选择不同的行动和目标以理解 OpenAI Five 是如何编码每一个行动,以及如何观察世界的。

进阶探索和英雄合作

尽管构建的学习算法能处理较长的视野,但我们仍然需要探索环境。即使我们已经限制了复杂度,但游戏仍然有数百种物品、几十种建筑、法术、单位类型以及需要长时间慢慢学习的游戏机制,这些变量将组合成极其巨量的情况。因此,有效地探索这一巨大的组合空间是非常困难的。

OpenAI Five通过自我对抗(self-play)从随机开始学习,这为探索环境提供了一个自然的 curriculum。为了避免「策略崩坏」,智能体在 80% 的游戏中通过自我对抗进行训练,而在 20% 的游戏中与过去的智能体进行对战。在第一场游戏中,英雄漫无目的地在地图上探索,而在几个小时的训练后,形成规划、发育或中期战斗等概念。几天后,智能体能一致地采用基本的人类策略:试图从对手偷财富、推塔发育、在地图旋转控制英雄以获得线路优势,通过进一步的训练,它们变得精通5个英雄一起推塔这样的高级策略了。

OpenAI Five没有在各个英雄的神经网络之间搭建显式的沟通渠道,团队合作由一个称之为“团队精神”的超参数控制。团队精神的取值范围为从 0 到 1,代表了 OpenAI Five 的每个英雄在多大程度上关注自己的个人奖励函数以及在多大程度上关注团队平均奖励函数。在训练中,我们将其值从 0 逐渐调整到 1。

OpenAI Five在游戏玩法上还有自己的一些“风格”。

1.经常来牺牲自己的优势路以压制敌人的优势路,迫使战斗转移到对手更难防御的一边。该策略在过去几年的专业领域出现过,现在已经成为了流行战术。

2.比赛初期到中期的转换比对手更快,它能做到的在人类玩家走位出问题时,进行多次成功gank,在对方组织起反抗前,去组队推塔。

3.在一些领域机器有时也会偏离主流打法,例如在前期将钱和经验让给辅助英雄,OpenAI Five的优先级使它获得的伤害更快达到顶峰,从而建立起更大的优势,赢得团战以及利用对方的错误来确保快速取胜。

OpenAI Five获得的信息和人类是一样的,但前者可以实时看到位置、生命值和装备清单等参数,而人类选手需要手动查看。OpenAI Five 平均每分钟可进行150-170次操作,平均反应时间为80毫秒,人类玩家有可能错过的捕捉时机,对机器来说轻而易举。

当然,AI也不是无敌的存在,OpenAI Five跟人类比赛仍存在很多前提限制条件,比如对战双方的英雄需要固定选择,1v1里它只会1个英雄,所以5v5它也只会一套组合(Nec、火枪、毒龙、冰女、Lich)。

玩法上的限制无疑大大降低了比赛的难度,比如不插眼、不准用召唤和一些特殊装备等,等于是在玩一个阉割版DOTA,去掉了“大局”部分而只强调对线和团战,这显然不是DOTA的完整形态,跟实际的比赛存在较大差距,需要系统逐渐学习补充进来。

机器学习和训练的速度总是人力难以企及的,从围棋到DOTA游戏,AI会不会最终再次完虐人类选手让原本充满乐趣的竞赛逐渐变味呢?DOTA这块阵地人类还能守住么?坐等OpenAI Five的参加TI赛。

如果你想了解最前沿的AI技术和场景应用

一网打尽AI世界的前瞻科技和深度报道

欢迎关注AI星球,并转发朋友圈为我们打Call~~

你们的支持是我们创造优质内容的不竭动力

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180626A1SGM400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券