OpenAI是如何在dota2中击败顶级人类顶级掠食者选手的

独家解析:狂虐Dota2最强人类玩家的OpenAI是怎样炼成的?
独家解析:狂虐Dota2最强人类玩家的OpenAI是怎样炼成的?
20:47:44& &来源:
  继AlphaGo横扫围棋界后,人工智能又攻陷了电竞界。在最近的Dota 2比赛中,埃隆·马斯克旗下AI研究机构OpenAI打造的机器人一鸣惊人,狂虐世界知名Dota选手Dendi,成为在电竞领域首个击败人类顶级玩家的机器人。
  此次人机大战采取一对一模式,共进行三轮比赛。在第一场对战中,OpenAI机器人只用了十分钟就干掉了Dendi,Dendi甚至还一度大叫,“请放过我吧!”到了第二场比赛,Dendi被痛打几分钟后,就主动放弃了比赛,并拒绝进行第三场比赛。
  人类又输了,而且输得还很惨!那么问题就来了,这位OpenAI机器人究竟是如何做到完虐人类的呢?答案就是“自学”。
  新浪VR了解到,OpenAI机器人采取了“自我博弈(self-play)”的方式来学习打Dota,训练过程中并没有使用模仿学习或者类似于AlphaGo的树搜索技术。简单来讲,“自我博弈”就是通过自己与自己的复制品对打,而不是与人类选手对战,获得游戏经验。在“自我博弈”中,机器人与自己复制品的实力相当,就可以避免因对手太强或者太弱而学不到东西。而且,由于机器人的决策和操作速度远远超过人类,它就可以在短时间内用海量的比赛来迅速获得更多经验。
  其实,“自我博弈”在此前AlphaGo的训练中就有过类似应用,AlphaGo曾经通过自我对弈3000万盘,来提高自己神经网络的精度。只不过,AlphaGo在自我对弈前,还曾被输入16万盘人类棋手的棋谱,通过海量棋谱来学习人类落子布局的特征;而OpenAI则是完全从零开始,在对Dota游戏世界没有认知的情况下就开始通过自我对练学习游戏方法。研发团队也表示,他们并没有为OpenAI机器人编入对战策略,没有为它指定任何战术,一开始也没让它与人类高手对练,而是让它“放飞自我”,随机行动,在一次次失败过程中逐渐掌握了游戏打法。
  在最开始的时候,OpenAI机器人完全就是什么都不懂的“Dota小白”。比如,Dota游戏里面有“清理兵线”的操作,但这位机器人却连什么是“兵线”都不知道。它所采取的行动也是随机的,只会在游戏世界里毫无目的地到处乱跑,最后被杀掉。
  但是,事实证明,“自我博弈”的训练方式非常有效。随着时间的推移,机器人训练数量越来越多,它开始逐渐掌握一些战术,学会了补刀、追杀、攻击闪躲、攻击诱骗等战术。根据OpenAI在官网公布的项目时间表(如下),在一个月的时间里,OpenAI机器人就从几乎不敌高排名选手,成长到可以击败顶级职业选手,并且还在提升中。
  OpenAI机器人天梯重点大事件(MMR为比赛匹配分级系统,可理解为天梯分):
3月1日:在一个简单的Dota环境中获得首个增强学习下的结果,OpenAI机器人操作的黑暗游侠能对付神牛了。
5月8日:1.5k MMR测试员认为OpenAI机器人还不敌自己。
6月初:打败1.5k MMR测试员。
6月30日:在大多数比赛中打败3k MMR测试员。
7月8日:几乎在所有比赛中胜过7.5K MMR半专业测试员。
8月7日:3-0击败Blitz(6.2k前职业选手),2-1击败Pajkatt(8.5k职业选手),3-0击败CC&C(8.9k职业选手),但大家认为Sumail可以胜过OpenAI机器人。
8月9日:10-0击败Arteezy(10k顶级选手),但大家仍然相信Sumail可以胜过OpenAI机器人。
8月10日:6-0击败Sumail(8.3k职业选手,顶级1v1玩家),前一日的对战结果还是2-1。
8月11日:2-0击败Dendi(7.3k职业选手,前世界冠军)。
  毫无疑问,OpenAI机器人的进步堪称神速,在一对一模式下的战斗力估计可以秒杀大部分人类玩家,但是,OpenAI机器人也有自己的缺点,它并不是不可战胜的。在Dendi战败后,国外就有不少玩家开始了对OpenAI机器人的挑战,而OpenAI机器人也不负众望地被人类狠狠虐了一番。在国外社交网站Reddit上,有玩家表示,OpenAI机器人已经被人类打败了至少五十次!
  对此,OpenAI也在官网上解释道,如果机器人碰到之前从未见过的情况,可能就会变得懵逼,不知道怎么反应,最后被人类干掉。OpenAI也对打败机器人的方法进行了总结,主要有三种:
拖拉小兵:当小兵通过二级和三级塔之间时,可以反复攻击它们,吸引小兵来追你,最终地图上就会有数十个小兵追逐你,机器人则会因为塔磨损了太多血量而死亡。
毒球+风杖:你在移动速度上可以获得比1级的机器人更大的优势,从而迅速获得第一滴血。&
1级交战:需要很多技巧,少数6-7k的MMR玩家可以在短时间内成功击中机器人3-5下,在1级时干掉机器人。
  OpenAI机器人被人类狂虐,看似是人类扳回了一局,但是实际上,你每打败它一次,它都变得更强大了。OpenAI机器人每次被打败,都会从失败中学习到更多经验,从而避免以后被同样的方式打败。所以,表面上看是人类打败了OpenAI机器人,事实却是人类在帮助它变得更强大!
  而且,OpenAI的野心还不止于此。在此次人机大战中,OpenAI仅仅是在相对简单的一对一模式下战胜了Dendi,如果切换到五对五模式,人工智能和人类孰胜孰负还不一定呢!因此,OpenAI未来还要继续挑战Dota五对五比赛。在五对五模式下,机器人所面对的情况将更加复杂,不仅需要针对当前局势做出正确的预测和决策,还需要五个机器人做好团队协作,处理机器人之间的信息流动。虽然每个机器人都是最强的,但五个最强的机器人如果配合不好,也有可能会被打败。
  针对五对五模式,OpenAI透露,他们已经收集了海量专家级别的五对五Dota比赛数据,目前的初步想法是从行为克隆开始做起。OpenAI在官网上表示,Dota每天都有大约一百万场公开赛,这些比赛的重播数据会在Valve的服务器上保存两周。OpenAI从去年11月以来,就一直在下载每场专家级比赛的重播数据,目前已经收集了580万局游戏的数据(每局都是10人参与的45分钟游戏)。
  除此之外,OpenAI还在考虑未来让机器人和人类玩家组队,共同作战。目前,我们还不能确定,OpenAI机器人是否真能在5V5模式下战胜人类,但是,难以否认的是,未来将有更多人工智能效仿OpenAI,试水电竞行业,在游戏中与人类一决高下!一个机器人就已经可以完虐人类最强玩家,五个机器人一起上,你准备好了吗?
新浪声明:新浪网登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
美国专利局批准了微软的一款设计专利,该专利是以枪的形式呈现的HoloLens或者其它游戏头显的配件。
来自:技术速递
日本游戏开发商Square Enix宣布《最终幻想15:深海怪物》游戏将于11月21日发布。
来自:游戏资讯
英国的一个建筑业联盟Augmented Worker System近日获得来自英国政府的100万英镑投资。该组织致力于将AR和VR技术应用于建筑行业中...
来自:技术速递
VR戒毒分三步:诱发、厌恶、回归。他们的人生,也是这三步。
来自:行业数据
HOT RECOMMEND
HOT RECOMMEND
用微信扫描二维码
分享至微信朋友圈特斯拉老板马斯克旗下的:openAI在dota2 1v1比赛中击败人类顶尖【星际2吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:814,284贴子:
特斯拉老板马斯克旗下的:openAI在dota2 1v1比赛中击败人类顶尖
特斯拉老板马斯克旗下的:openAI在dota2 1v1比赛中击败人类顶尖
请问各位 星际2 dota2 围棋 难度排序是如何的?
你觉得呢?
这是1v1啊,如同sc2只能开局农民对a,AI还能输?dota2得5v5才是正常吧...
@维f致富建议你还是吧官方说放弃的地址发一下,我看了deepmind官推,和他们老板的官推,还有他们官网对最新星际的介绍:最多只能说是星际2很难,绝对看不出说要放弃或者已经放弃的意思。
吃操作的ai稳赢吧 除非限制上限
现在又开始搞了
我看了全程,中单影魔模式,ai对战dota2顶尖选手 苏跳跳,把苏跳跳屎都打出来了,
这个难度是对于开发者而言,由此来比较星际和围棋的难度没有什么意义
dota的ai还是相对简单的吧?以前光是打打变态电脑练中弹对线就被虐的怀疑人生
纯带节奏的感觉就是吹一波刀塔厉害的
巴巴耶夫……
这个ai直接读取数据的
没有借鉴意义
除非给ai个鼠标在给他个键盘要不直接读取数据悍马2000早就吊锤所有人类选手了
这ai有点偏向悍马2000了
这没什么意义的,你补刀还能补的过电脑么,影魔前面被人压刀后面就别想补到了。
阿尔法狗太丢人了,简单电脑都打不过,褪裙吧
不怎么了解,先问下,这个AI是接近阿尔法狗,一开始什么都不知道通过视屏了解改进的学习AI还是像悍马……算了,不提悍马,还是像星际2的专家级电脑,从头到尾都是人类编写,根本不需要任何视频学习,也不能学习,只要编好了就可以上场的
然而这个ai第二天就被至少50个路人给锤爆了
贴吧热议榜
使用签名档&&
保存至快速回贴看“马斯克的OpenAI,究竟是如何在dota2中击败顶级人类选手的?” 有感
Dota2 是王者荣耀的先祖的事实。“Dota 2是一款类似于大众熟知的王者荣耀式的5V5竞技游戏………这是dota被黑得最惨的一次”
3. 这次ai的难度和AlphaGo 对阵柯洁的难度哪个大?这次openai 和Dendi的对决其实不是传统的 1 VS 1,在传统1 VS 1简化了很多,不让吃瓶子,没有符等。
openai选择了更难的课题,只是这次比赛是简化版,难度并不高。
4. 看直播和后续报道里,我觉得比较厉害的是他没有从人类的对阵中学习,而是自我学习,两周时间到达这个水平,据说是通用的ai,没有对DOTA2本身这个游戏做监督。
5. 传统的moba类游戏流行了10多年,除了被移动游戏分流之外,一种新的“绝地求生大逃杀”会日渐流行起来。我预测这种更灵活参与、更多玩法、更多随机因素的模式将是下一波浪潮,传闻腾讯即将代理这款pc游戏。腾讯的眼光不错,希望不要毁掉这款游戏
看报道有感
https://www.leiphone.com/news/201708/aiZfoDKOHXzDj75Z.html
Recent Posts马斯克的OpenAI,究竟是如何在dota2中击败顶级人类选手的?
在8月12日,埃隆·马斯克旗下旨在研究通用人工智能解决方案的公司OpenAI,所训练的一款人工智能算法在著名的电子竞技游戏Dota2国际邀请赛The
International中,参与了1V1比赛环节,并压倒性的击败了顶级电子竞技选手Dendi。
在alphago击败了柯洁以后,Deepmind多次公开表达了希望准备要去尝试挑战星际争霸等电子竞技项目,目前Deepmind确实也联合暴雪公司在开展这项尝试。因为相比围棋这种完全信息静态博弈游戏(即双方都能获得局面的所有信息,下棋异步),电子竞技游戏具备非完全信息属性(双方只掌握视野里的部分信息),而且竞技过程是实时动态进行的。其规则和特征复杂度远超围棋,因此对人工智能的局面评估、决策能力要求显著更高。另外,相比围棋这种高度抽象的游戏(只有落子一个动作),电子竞技游戏性质上更类似人类现实世界对抗/战争的简化模拟,涉及了大量资源调配、部队构成选择、扩张策略、攻防对抗等复杂但具有现实意义的博弈,如能在电子竞技对抗中取得划时代的里程碑,则代表了人工智能迈向通用化又进了一大步。
这就是为何Deepmind、OpenAI等顶尖人工智能公司都不约而同希望挑战电子竞技的根本原因,但大家没想到的是,人工智能这么快就在电子竞技界取得了成功。
由于目前OpenAI尚未公布其Dota2人工智能的设计细节,接下来我们通过分析和推测,力图揭秘其背后的奥秘所在。
背景知识:Dota 2游戏规则
2是一款类似于大众熟知的王者荣耀式的5V5竞技游戏,每边分别由5位玩家选择一名英雄角色,目标以为守护己方远古遗迹并摧毁敌方远古遗迹,通过提升等级、赚取金钱、购买装备和击杀对方英雄等诸多竞技手段。
这次OpenAI选择了挑战较为简单的1V1挑战,即OpenAI仅控制1名英雄,和顶级电子竞技选手Dendi操纵的1名英雄进行对抗。
比赛中,采取dota
2“一塔两杀”的规则,即双方玩家只允许出现在中路,任意一方摧毁对方中路首个防御塔,或者击杀对方英雄两次则取得胜利。游戏中,每隔30秒双方会获得一波电脑控制的较弱部队进入前线互相攻击,玩家杀死这些小兵可以获得金币,金币用于购买装备物品以强化英雄能力,同时消灭对方部队可获取到经验,经验获取到一定程度则可提升英雄等级,使得英雄能力更强,并获得技能点升级新的技能。同时双方各自还有一个初期威力强大的防御塔在身后,因此双方一般的对抗策略是尽量控制兵线在靠近己方防御塔的地方,同时努力杀死对方小兵(正补)并防止对手这样做(反补),获取经验和金币后升级技能,并试图通过攻击和技能击杀对方或摧毁对方防御塔。
OpenAI的决策空间
上述是dota 2 1v1竞技的简单介绍,以供不了解dota 2的读者有个初步印象,接下来我们来分析一下在dota 2
1v1竞技中的决策空间及决策连续性这两个问题,这是与alphago完全不一样的存在,也是人工智能
电子竞技有趣的地方。&
相比围棋只有一个落子动作(选择一个空位下子),dota 2
1v1中的决策空间相对非常复杂,玩家每分每秒需要在以下的动作中做出决策:
移动:移动英雄到一个特定的位置;
攻击:控制英雄攻击一个特定的目标(包括对方英雄);
正补:当对方小兵濒死时,做出最后一击杀死小兵以获得金钱;
反补:同理当我方小兵濒死时,做出最后一击杀死小兵防止对方获得金钱,并减少对方获得的经验值;
施法:使用英雄主动技能攻击一个特定的目标;
取消攻击/施法:英雄攻击/施法前有一个短暂的硬直动作,在攻击/施法动作真正做出前取消,从而达到诱骗对方的目的;
兵线控制:每隔30秒双方会获得一波电脑控制的小兵,通过攻击对方英雄激活对方小兵仇恨从而引起小兵跑来攻击自己英雄,或者用自己英雄的身体阻拦己方小兵前进,从而达到控制兵线靠近己方防御塔,获得竞技优势;
购买物品:用获得的金钱在超过100种不同价格的物品中购买需要的装备或消耗品;
使用物品:使用血瓶等消耗品补充自身;
当然,上述只是列举出了比较重要的战术动作,在实际竞技过程中还有大量的如取消攻击后摇、放风筝、控符、技能组合等高级动作。
决策连续性
围棋是一个典型的异步竞技游戏,选手在做出每一个决策前具有充分的决策时间,是典型的马尔科夫过程,但dota
2是一款实时竞技游戏,选手需要动态做出实时决策,这点是dota 2和围棋的另外一个不同。
那么OpenAI是怎么解决连续决策问题的?目前OpenAI尚未公布他们dota人工智能的细节。在这个问题上,OpenAI很有可能是通过考虑人类选手的决策效率,将决策过程离散化。Dota
2顶级选手的APM(action per
minute,每分钟做出的动作)可达到200以上,众所周知人来大脑的反应速度是有极限的,一般顶级电竞选手在反应速度上都有异于常人的天赋,如果按比赛中观测到的APM来算,人类的极限可能在1秒钟做出4到5个动作决策,因此OpenAI如果每隔0.2秒做出一个动作决策的话,就能有超越人类的表现。
因此我这部分的猜测是,OpenAI很可能选择了200ms以内的某个值,在决策效率(更快的反应速度)和决策深度中取得了平衡,将dota
2 1v1比赛转变为类似围棋的马尔科夫决策过程。
OpenAI算法猜测:先验知识 增强学习
目前OpenAI对他们dota人工智能算法的细节披露相当有限,只是初步表示了他们并未使用任何模仿学习(Imitation
Learning)或者类似于alphago的树搜索技术,纯粹使用了self-play即俗称
“左右互搏”的增强学习(reinforcement
learning)方式训练。模仿学习是一种有监督的机器学习方法,如alphago最初的落子器就是通过围棋对战平台KGS获得的人类选手围棋对弈棋局训练出来的。而OpenAI并没有使用这种方法,可能主要原因还是较难获得dota
2 1v1的大量对局数据,由于dota
2中有100多个英雄角色可选择,每个英雄的属性和技能均不一样,意味着要对每个英雄做优化训练,如OpenAI在本次The
International赛事中,只会使用一名英雄角色Shadow
Field(影魔),从人类对局中获得海量(如10万局以上)高水平Shadow Field的1v1对局录像数据其实并不容易。
使用增强学习去令机器学会玩一款游戏,我们不禁马上联想起谷歌DeepMind使用RL学习来玩打砖块的经典案例。DeepMind模型仅使用像素作为输入,没有任何先验知识来辅助AI进行学习,算法Agent通过和环境S的交互,一开始选择随机动作A(向左还是向右移动滑板,动多少),并得到游戏分数的变化作为奖励,然后Agent继续如此玩下去,游戏结束后Agent得到最后游戏总分R,按照这种方式不断让Agent玩N局游戏,可以得到了一系列训练样本(S,A,R),通过训练一个神经网络去预测在状态S下,做动作A可能最后得到R,这样接下来Agent不再随机做出决策A,而是根据这个函数去玩,经过不断的迭代,Agent将逐渐掌握玩打砖块的诀窍,全程不需要人工制定任何的脚本规则。
但是,在dota
2之中,或许很难采取类似学习打砖块那样从随机行动开始的“大智若愚”方式去做增强学习,因为对于打砖块而言,每次动作A对于得分R的影响都是明确可量化的,但在dota
2中,这将会是一个非常长的链条。如以基本动作“补刀”为例:
&补刀即对方小兵濒死时,控制英雄做出最后一击杀死小兵获得金钱,不是己方英雄亲自杀死小兵不会获得金钱。如果从随机行动开始,即AI胡乱攻击随机的目标,Agent要联系起补刀行为和最终胜利之间的关联是很困难的:补刀行为——小兵死亡——获得额外金钱——用金钱购买正确的物品——正确的物品增强英雄能力——提升获胜概率,完全不借助外界先验知识,仅通过模拟两个Agent“左右互搏”,从随机动作开始去做增强学习,其收敛速度会异常的慢,很可能哪怕模拟几百万局都不见得能学会“补刀”这个基本动作,但补刀仅仅是dota这个游戏入门的开始。
然而,根据OpenAI宣称,他们仅仅用了两周就完成了算法的训练,或许这里基本可以肯定,OpenAI使用了外界先验知识。
实际上,Dota 2游戏的开发商VALVE有一个dota
2机器人脚本框架,这个脚本框架下的机器人会熟练做出各种dota的基本动作,如补刀、释放技能、拦兵、追杀、按照脚本购买物品等,部分如补刀等依靠反应速度的动作可以展现得非常难缠。只不过机器人动作的执行非常机械,主要由于预设脚本的设定难以应对信息万变的实际竞技,使得机器人总体水平根本无法接近一般玩家,更别说跟职业顶级玩家相比了。
&脚本机器人的优势是战术动作的执行,如上述增强学习很难马上学会的“补刀”动作脚本机器人天生就会,属于先验知识,而且可以凭借无反应时间和对目标血量和攻击力的精确计算做得非常完美,缺点在于行动决策弱智。这样如果祭出“组合拳”,使用脚本机器人执行基本战术动作,通过增强学习训练的神经网络负责进行决策,就像《射雕英雄传》中,武功高强但双目失明的梅超风骑在郭靖身上,长短互补一举击败众多高手那样,岂不完美?
我想OpenAI很可能也确实是这样做的,首先优化脚本机器人,将原子化的战术动作A的脚本做得尽善尽美,充分发挥机器的微操优势;同时通过增强学习训练一个神经网络,计算目前局势S下(包括场面小兵和双方英雄的状态和站位、技能CD和魔法值情况等),执行那个战术动作A得到的预期最终reward最高,即A=P(Si),并且在较短的离散空间内,比如200ms不断进行决策并通过脚本执行动作A,最终使得OpenAI在大局观和微操上都取得尽善尽美。当然,由于OpenAI自身还没公布算法细节,上述方法只是一个最有可能的猜测,通过先验知识
增强学习获得一个单挑能力很强的Solo智能。
如果这个猜测正确的话,那么OpenAI在dota
2中通过1v1方式击败顶级职业选手这事情,远远没有alphago此前取得的成就来得困难。因为OpenAI在本次比赛中的表现,充其量等于训练了一个类似alphago落子器那样的应用而已。
而真正的挑战,在于Dota 2的5V5对抗中。
目前,OpenAI通过增强学习,训练出了一个单挑solo能力非常强悍的算法,但是不得不说这个算法离Dota
2的5V5对抗中取胜还有非常大的距离。
2的5V5对抗中,每方的5名玩家需要在英雄类型的合理搭配上、进攻策略上(如是速攻还是拖后期)、资源分配上(游戏中获得的金币根据局面购买何种物品)、局部战术等诸多因素上均保持顺畅沟通、并紧密配合才能取得对抗的胜利,每场比赛通常要大约进行30分钟以上,其过程的随机性非常强。
因此可见,OpenAI要在5v5中取得对人类的胜利,远远不是用1v1算法控制5个角色这么简单,5个在区域战场上单挑无敌的勇夫,并不意味着最终的胜利,接下来OpenAI的任务,就是让他们不要成为彼此“猪一样的队友”,而团队合作、对局面的宏观决策才是真正具有挑战意义的地方,同时也是人工智能从alphago这种机械性很强的专用智能,逐渐迈向通用智能的尝试。而OpenAI团队目前已经表示,他们正在准备向dota
2 5v5中全面击败最强人类玩家战队的目标进发,并计划在明年接受这个挑战。
今天Dota 2 1v1的一小步,明年5v5的一大步,让我们密切期待!
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。马斯克的OpenAI 究竟是如何在dota2中击败顶级人类选手的?
在8月12日,埃隆·马斯克旗下旨在研究通用人工智能解决方案的公司OpenAI,所训练的一款人工智能算法在著名的电子竞技游戏Dota2国际邀请赛The International中,参与了1V1比赛环节,并压倒性的击败了顶级电子竞技选手Dendi。
在alphago击败了柯洁以后,Deepmind多次公开表达了希望准备要去尝试挑战星际争霸等电子竞技项目,目前Deepmind确实也联合暴雪公司在开展这项尝试。因为相比围棋这种完全信息静态博弈游戏(即双方都能获得局面的所有信息,下棋异步),电子竞技游戏具备非完全信息属性(双方只掌握视野里的部分信息),而且竞技过程是实时动态进行的。其规则和特征复杂度远超围棋,因此对人工智能的局面评估、决策能力要求显著更高。另外,相比围棋这种高度抽象的游戏(只有落子一个动作),电子竞技游戏性质上更类似人类现实世界对抗/战争的简化模拟,涉及了大量资源调配、部队构成选择、扩张策略、攻防对抗等复杂但具有现实意义的博弈,如能在电子竞技对抗中取得划时代的里程碑, 则代表了人工智能迈向通用化又进了一大步。
这就是为何Deepmind、OpenAI等顶尖人工智能公司都不约而同希望挑战电子竞技的根本原因,但大家没想到的是,人工智能这么快就在电子竞技界取得了成功。
由于目前OpenAI尚未公布其Dota2人工智能的设计细节,接下来我们通过分析和推测,力图揭秘其背后的奥秘所在。
背景知识:Dota 2游戏规则
Dota 2是一款类似于大众熟知的王者荣耀式的5V5竞技游戏,每边分别由5位玩家选择一名英雄角色,目标以为守护己方远古遗迹并摧毁敌方远古遗迹,通过提升等级、赚取金钱、购买装备和击杀对方英雄等诸多竞技手段。
这次OpenAI选择了挑战较为简单的1V1挑战,即OpenAI仅控制1名英雄,和顶级电子竞技选手Dendi操纵的1名英雄进行对抗。
比赛中,采取dota 2“一塔两杀”的规则,即双方玩家只允许出现在中路,任意一方摧毁对方中路首个防御塔,或者击杀对方英雄两次则取得胜利。游戏中,每隔30秒双方会获得一波电脑控制的较弱部队进入前线互相攻击,玩家杀死这些小兵可以获得金币,金币用于购买装备物品以强化英雄能力,同时消灭对方部队可获取到经验,经验获取到一定程度则可提升英雄等级,使得英雄能力更强,并获得技能点升级新的技能。同时双方各自还有一个初期威力强大的防御塔在身后,因此双方一般的对抗策略是尽量控制兵线在靠近己方防御塔的地方,同时努力杀死对方小兵(正补)并防止对手这样做(反补),获取经验和金币后升级技能,并试图通过攻击和技能击杀对方或摧毁对方防御塔。
OpenAI的决策空间
上述是dota 2 1v1竞技的简单介绍,以供不了解dota 2的读者有个初步印象,接下来我们来分析一下在dota 2 1v1竞技中的决策空间及决策连续性这两个问题,这是与alphago完全不一样的存在,也是人工智能+电子竞技有趣的地方。
相比围棋只有一个落子动作(选择一个空位下子),dota 2 1v1中的决策空间相对非常复杂,玩家每分每秒需要在以下的动作中做出决策:
移动:移动英雄到一个特定的位置;
攻击:控制英雄攻击一个特定的目标(包括对方英雄);
正补:当对方小兵濒死时,做出最后一击杀死小兵以获得金钱;
反补:同理当我方小兵濒死时,做出最后一击杀死小兵防止对方获得金钱,并减少对方获得的经验值;
施法:使用英雄主动技能攻击一个特定的目标;
取消攻击/施法:英雄攻击/施法前有一个短暂的硬直动作,在攻击/施法动作真正做出前取消,从而达到诱骗对方的目的;
兵线控制:每隔30秒双方会获得一波电脑控制的小兵,通过攻击对方英雄激活对方小兵仇恨从而引起小兵跑来攻击自己英雄,或者用自己英雄的身体阻拦己方小兵前进,从而达到控制兵线靠近己方防御塔,获得竞技优势;
购买物品:用获得的金钱在超过100种不同价格的物品中购买需要的装备或消耗品;
使用物品:使用血瓶等消耗品补充自身;
当然,上述只是列举出了比较重要的战术动作,在实际竞技过程中还有大量的如取消攻击后摇、放风筝、控符、技能组合等高级动作。
决策连续性
围棋是一个典型的异步竞技游戏,选手在做出每一个决策前具有充分的决策时间,是典型的马尔科夫过程,但dota 2是一款实时竞技游戏,选手需要动态做出实时决策,这点是dota 2和围棋的另外一个不同。
那么OpenAI是怎么解决连续决策问题的?目前OpenAI尚未公布他们dota人工智能的细节。在这个问题上,OpenAI很有可能是通过考虑人类选手的决策效率,将决策过程离散化。Dota 2顶级选手的APM(action per minute,每分钟做出的动作)可达到200以上,众所周知人来大脑的反应速度是有极限的,一般顶级电竞选手在反应速度上都有异于常人的天赋,如果按比赛中观测到的APM来算,人类的极限可能在1秒钟做出4到5个动作决策,因此OpenAI如果每隔0.2秒做出一个动作决策的话,就能有超越人类的表现。
因此我这部分的猜测是,OpenAI很可能选择了200ms以内的某个值,在决策效率(更快的反应速度)和决策深度中取得了平衡,将dota 2 1v1比赛转变为类似围棋的马尔科夫决策过程。
OpenAI算法猜测:先验知识+增强学习
目前OpenAI对他们dota人工智能算法的细节披露相当有限,只是初步表示了他们并未使用任何模仿学习(Imitation Learning)或者类似于alphago的树搜索技术,纯粹使用了self-play即俗称 “左右互搏”的增强学习(reinforcement learning)方式训练。模仿学习是一种有监督的机器学习方法,如alphago最初的落子器就是通过围棋对战平台KGS获得的人类选手围棋对弈棋局训练出来的。而OpenAI并没有使用这种方法,可能主要原因还是较难获得dota 2 1v1的大量对局数据,由于dota 2中有100多个英雄角色可选择,每个英雄的属性和技能均不一样,意味着要对每个英雄做优化训练,如OpenAI在本次The International赛事中,只会使用一名英雄角色Shadow Field(影魔),从人类对局中获得海量(如10万局以上)高水平Shadow Field的1v1对局录像数据其实并不容易。
使用增强学习去令机器学会玩一款游戏,我们不禁马上联想起谷歌DeepMind使用RL学习来玩打砖块的经典案例。DeepMind模型仅使用像素作为输入,没有任何先验知识来辅助AI进行学习,算法Agent通过和环境S的交互,一开始选择随机动作A(向左还是向右移动滑板,动多少),并得到游戏分数的变化作为奖励,然后Agent继续如此玩下去,游戏结束后Agent得到最后游戏总分R,按照这种方式不断让Agent玩N局游戏,可以得到了一系列训练样本(S,A,R),通过训练一个神经网络去预测在状态S下,做动作A可能最后得到R,这样接下来Agent不再随机做出决策A,而是根据这个函数去玩,经过不断的迭代,Agent将逐渐掌握玩打砖块的诀窍,全程不需要人工制定任何的脚本规则。
但是,在dota 2之中,或许很难采取类似学习打砖块那样从随机行动开始的“大智若愚”方式去做增强学习,因为对于打砖块而言,每次动作A对于得分R的影响都是明确可量化的,但在dota 2中,这将会是一个非常长的链条。如以基本动作“补刀”为例:
补刀即对方小兵濒死时,控制英雄做出最后一击杀死小兵获得金钱,不是己方英雄亲自杀死小兵不会获得金钱。如果从随机行动开始,即AI胡乱攻击随机的目标,Agent要联系起补刀行为和最终胜利之间的关联是很困难的:
补刀行为——小兵死亡——获得额外金钱——用金钱购买正确的物品——正确的物品增强英雄能力——提升获胜概率,完全不借助外界先验知识,仅通过模拟两个Agent“左右互搏”,从随机动作开始去做增强学习,其收敛速度会异常的慢,很可能哪怕模拟几百万局都不见得能学会“补刀”这个基本动作,但补刀仅仅是dota这个游戏入门的开始。
然而,根据OpenAI宣称,他们仅仅用了两周就完成了算法的训练,或许这里基本可以肯定,OpenAI使用了外界先验知识。
实际上,Dota 2游戏的开发商VALVE有一个dota 2机器人脚本框架,这个脚本框架下的机器人会熟练做出各种dota的基本动作,如补刀、释放技能、拦兵、追杀、按照脚本购买物品等,部分如补刀等依靠反应速度的动作可以展现得非常难缠。只不过机器人动作的执行非常机械,主要由于预设脚本的设定难以应对信息万变的实际竞技,使得机器人总体水平根本无法接近一般玩家,更别说跟职业顶级玩家相比了。
脚本机器人的优势是战术动作的执行,如上述增强学习很难马上学会的“补刀”动作脚本机器人天生就会,属于先验知识,而且可以凭借无反应时间和对目标血量和攻击力的精确计算做得非常完美,缺点在于行动决策弱智。
这样如果祭出“组合拳”,使用脚本机器人执行基本战术动作,通过增强学习训练的神经网络负责进行决策,就像《射雕英雄传》中,武功高强但双目失明的梅超风骑在郭靖身上,长短互补一举击败众多高手那样,岂不完美?
我想OpenAI很可能也确实是这样做的,首先优化脚本机器人,将原子化的战术动作A的脚本做得尽善尽美,充分发挥机器的微操优势;同时通过增强学习训练一个神经网络,计算目前局势S下(包括场面小兵和双方英雄的状态和站位、技能CD和魔法值情况等),执行那个战术动作A得到的预期最终reward最高,即A=P(Si),并且在较短的离散空间内,比如200ms不断进行决策并通过脚本执行动作A,最终使得OpenAI在大局观和微操上都取得尽善尽美。
当然,由于OpenAI自身还没公布算法细节,上述方法只是一个最有可能的猜测,通过先验知识+增强学习获得一个单挑能力很强的Solo智能。
如果这个猜测正确的话,那么OpenAI在dota 2中通过1v1方式击败顶级职业选手这事情,远远没有alphago此前取得的成就来得困难。因为OpenAI在本次比赛中的表现,充其量等于训练了一个类似alphago落子器那样的应用而已。
而真正的挑战,在于Dota 2的5V5对抗中。
目前,OpenAI通过增强学习,训练出了一个单挑solo能力非常强悍的算法,但是不得不说这个算法离Dota 2的5V5对抗中取胜还有非常大的距离。
在Dota 2的5V5对抗中,每方的5名玩家需要在英雄类型的合理搭配上、进攻策略上(如是速攻还是拖后期)、资源分配上(游戏中获得的金币根据局面购买何种物品)、局部战术等诸多因素上均保持顺畅沟通、并紧密配合才能取得对抗的胜利,每场比赛通常要大约进行30分钟以上,其过程的随机性非常强。
因此可见,OpenAI要在5v5中取得对人类的胜利,远远不是用1v1算法控制5个角色这么简单,5个在区域战场上单挑无敌的勇夫,并不意味着最终的胜利,接下来OpenAI的任务,就是让他们不要成为彼此“猪一样的队友”,而团队合作、对局面的宏观决策才是真正具有挑战意义的地方,同时也是人工智能从alphago这种机械性很强的专用智能,逐渐迈向通用智能的尝试。
而OpenAI团队目前已经表示,他们正在准备向dota 2 5v5中全面击败最强人类玩家战队的目标进发,并计划在明年接受这个挑战。
今天Dota 2 1v1的一小步,明年5v5的一大步,让我们密切期待!
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
专注于互联网消费领域,每日专业提供互联网产品等方面的最新资讯。
ID:TechWeb
今日搜狐热点}

我要回帖

更多关于 dota2官网 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信