炼数成金 门户 商业智能 人工智能 查看内容

AI击败DotA顶级选手是不是突破?OpenAI放出了更多细节

2017-8-17 16:07| 发布者: 炼数成金_小数| 查看: 19344| 评论: 0|来自: 量子位

摘要: 周末,OpenAI在DotA 2全球顶级赛事TI7(The International)的中单1v1比赛中击败了顶级选手Dendi。OpenAI的发起人之一,硅谷钢铁侠马斯克还顺势连发三条twitter,赞赏OpenAI,谈监管,谈AI的风险。但关于这个参赛的A ...

工具 测试 机器人 云计算 GPU

周末,OpenAI在DotA 2全球较高级赛事TI7(The International)的中单1v1比赛中击败了较高级选手Dendi。OpenAI的发起人之一,硅谷钢铁侠马斯克还顺势连发三条twitter,赞赏OpenAI,谈监管,谈AI的风险。

但关于这个参赛的AI,大家并不是非常了解,因此对于这次胜利的解读,夸大其词者有,质疑其并非突破者也有。

直到今天,OpenAI终于在官方博客上公布了人工智能打DotA技术的进化历程、(部分)技术细节,以及和更多选手对战的视频,以及怎样打败这个AI。

成绩
我们在DotA 2上取得的结果表明,只要具备足够的计算能力,自我对抗可以使机器学习系统的水平超越人类(目前仅限于中单1v1)。

在1个月时间里,我们系统的水平从只能匹配高段玩家上升至能击败较高级职业选手。自那时以来,系统仍在继续得到优化。

有监督深度学习系统的性能取决于训练数据集,但在自我对抗系统中,随着系统变得更强大,可用数据也会自动得到优化。

下图是AI的TrueSkill得分:


随着时间发展,我们较好的AI的TrueSkill得分也在线性提高。TrueSkill是通过AI之间进行模拟游戏,观察胜率来计算的,相当于国际象棋的ELO评分。

TrueSkill得分的提高与系统各部分的改进都相关,为算法增加新功能、扩大规模都能提高得分。

AI怎样打DotA?
完整的DotA游戏是5v5对抗,但在某些巡回赛中也可以看到中单对抗。

我们的AI按照标准巡回赛规则来玩游戏,我们没有在1v1比赛中加入任何有利于AI的简化。

AI通过以下界面来操作:
观察:bot API功能使AI可以像人类一样观察,包括英雄、兵线和附近地形。游戏是部分可观察的。

操作:通过bot API进行操作,操作频率与人类选手相仿,具体操作包括移动位置、攻击其他单位,以及使用道具。

反馈:在获胜后AI可以获得激励。基于其他基本指标,例如血量和补刀,AI也可以获得激励。

我们将十余种装备合成方式列入白名单,供AI使用,并选择其中一种进行评价。我们还利用传统的RL技术来训练最初的控兵线技巧。

开发历程
项目进程如下所示。下文提到的MMR全称Match Making Rating,也就是比赛匹配分级,相当于天梯积分。在DotA 2中,15%的玩家天梯分低于1500,58%的玩家低于3000,99.99%低于7500。

3月1日:我们较早的经典的增强学习系统配置于简单的DotA环境中。

5月8日:天梯1500分的测试者表示,他的水平提升速度要高于AI。

6月初:AI击败了天梯1500的测试者。

6月30日:击败了大部分天梯3000分的测试者。

7月8日:在对抗天梯7500分的半职业选手时,取得首胜。

8月7日:3比0击败Blitz(前职业选手,天梯6200)、2比1击败Pajkatt(职业选手,天梯8500)、3比0击败CC&C(职业选手,天梯8900)。他们都认为,SumaiL知道如何击败这个AI。

8月9日:10比0击败Arteezy(较高级职业选手,天梯10000)。他也认为SumaiL知道如何击败AI。

8月10日:6比0击败SumaiL(较高级中单职业选手,天梯8300)。他认为这个AI是无法击败的。在与8月9日的AI对抗时,他取得了2比1的成绩。

8月11日,2比0击败Dendi(前世界冠军、天梯7300的职业选手)。在对抗8月10日的AI时,这个AI取胜概率达到60%。

TI
我们的方法是将少量的“教练训练”与自我对抗结合在一起。这使得我们在周一到周四国际邀请赛(TI7)期间能大幅优化AI。

周一晚间,Pajkatt使用了不太常见的装备合成方式(购买了早期魔杖),并取得了胜利。我们随后将这种装备合成方式加入到训练的白名单中。

周三下午1点左右,我们测试了版AI。这个AI在第一波对抗中损失了相当一部分血量。我们一开始打算把代码回滚,不过又注意到,随后的游戏变得更有趣,而第一波对抗中的严重失血只是为了诱敌深入。进一步的自我对抗修复了问题,AI学会了应对诱饵策略。与此同时,我们将其结合至周一版本的AI,只用于第一波对抗。在Arteezy下午4点到达的20分钟前,我们完成了整个流程。

在与Arteezy的赛后,我们升级了控兵线模型,这使得TrueSkill评分增加了1分。在周四与Sumail的比赛之前,进一步的训练让TrueSkill评分又增加了2分。Sumail指出,AI学会了在对手视野外放技能。这基于我们此前从不知道的机制:在对手视野之外放技能,对方英雄就积累不到魔棒点数。

Arteezy也和我们MMR 7.5k的半职业测试版进行了比赛,几乎取得了胜利,但是,AI采用的一种策略令他惊讶。Arteezy随后表示,中国顶尖职业选手、iG.V战队的中单Paparazi(拒绝者)曾在和他的比赛中用过一次这种策略,但这并不是常见行为。

如何击败AI
尽管Sumail认为这个AI是“不可击败的”,但在某些非常少见的情况下,AI仍有可能被迷惑。我们在国际邀请赛的一场LAN活动上搭建了AI。玩家进行了超过1000盘游戏,尝试任何可能的方式去击败AI。

成功击败AI的策略主要包括3种类型:
拉兵线:玩家可以在AI的二塔和三塔之间,反复吸引刚产生的兵线来追你。最终将会有大量兵线在地图上追你,而AI的防御塔将被磨血。

毒球和风灵之纹:在1级情况下,这样的装备组合大幅提升玩家相对于AI的移速,从而快速拿到一血。你需要利用这样的优势去再次击杀AI。

1级强推:这需要大量技巧,但有几名MMR 6k到7k的玩家靠在1级短时间内放3-5次技能,击杀了AI。

解决1v1中的这些问题类似于解决Pajkatt提出的漏洞。但在5v5情况下,这样的漏洞无法使用。我们需要一种系统,能处理从未见过的奇怪局面。

基础设施
我们还没有打算完整地讨论这个AI的内部原理,团队目前专注于解决5v5问题。

项目的第一步,是搞清楚如何基于实体GPU在云计算平台上运行DotA 2。

在GPU云计算实例上,游戏显示了出错消息。在Greg的个人GPU台式机上,也就是比赛中用的那台主机运行时,我们注意到,在连接显示器的情况下DotA可以启动,但在没有连接显示器时仍然显示出错消息。因此,我们对云计算GPU实例进行了配置,伪装已连接了显示器。

DotA目前并不支持定制的专用服务器,这意味着在没有GPU的情况下只能使用缓慢的软件加速。我们随后开发了一种机制,禁用大部分的OpenGL调用,仅仅保留了启动所需要的部分。

与此同时,我们开发了脚本机器人。考虑到内置机器人在1v1情况下表现不是很好,我们需要一个基准作为参考,并理解机器人API的所有语义。

这个脚本机器人在10分钟时间里完成了70次补刀,但仍落后于优秀的人类选手。

目前最优秀的1v1机器人能达到97次补刀(在此之前塔已经推掉,因此这个数字来自于推测),而理论较高值是101次。

如何解决5v5?
1v1很复杂,但5v5更加复杂。我们知道,我们需要进一步推动AI向前发展,解决5v5的问题。

我们可以从行为复制着手。DotA大约每天有100万盘公开比赛,这些比赛的回放会在Valve的服务器中保存两周。

我们下载了自去年11月份以来所有专家级的回放,积累了包括580万盘比赛在内的数据库(每盘比赛约45分钟,有10名玩家参与)。我们使用OpenDota去分析这些回放,并捐出了1.2万美元(相当于他们10年的筹资目标)去支持这个项目。

欢迎加入本站公开兴趣群
商业智能与数据分析群
兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识
QQ群:81035754

鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

热门频道

  • 大数据
  • 商业智能
  • 量化投资
  • 科学探索
  • 创业

即将开课

 

GMT+8, 2018-6-19 06:52 , Processed in 0.129517 second(s), 25 queries .