首页 人工智能

马斯克的OpenAI 究竟是如何在dota2中击败顶级人类选手的?

 

比赛中,采取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对局录像数据其实并不容易。

官方微博/微信

每日头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博期待您的关注。

↑扫描二维码

想在手机上看科技资讯和科技八卦吗?

想第一时间看独家爆料和深度报道吗?

请关注TechWeb官方微信公众帐号:

1.用手机扫左侧二维码;

2.在添加朋友里,搜索关注TechWeb。

手机游戏更多