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

在8月12日,埃隆·马斯克旗下旨在研究通用人工智能解决方案的公司OpenAI,所训练的一款人工智能算法在著名的电子竞技游戏Dota2国际邀请赛The International中,参与了1V1比赛环节,并压倒性的击败了顶级电子竞技选手Dendi。

1

在alphago击败了柯洁以后,Deepmind多次公开表达了希望准备要去尝试挑战星际争霸等电子竞技项目,目前Deepmind确实也联合暴雪公司在开展这项尝试。因为相比围棋这种完全信息静态博弈游戏(即双方都能获得局面的所有信息,下棋异步),电子竞技游戏具备非完全信息属性(双方只掌握视野里的部分信息),而且竞技过程是实时动态进行的。其规则和特征复杂度远超围棋,因此对人工智能的局面评估、决策能力要求显著更高。另外,相比围棋这种高度抽象的游戏(只有落子一个动作),电子竞技游戏性质上更类似人类现实世界对抗/战争的简化模拟,涉及了大量资源调配、部队构成选择、扩张策略、攻防对抗等复杂但具有现实意义的博弈,如能在电子竞技对抗中取得划时代的里程碑,则代表了人工智能迈向通用化又进了一大步。

这就是为何Deepmind、OpenAI等顶尖人工智能公司都不约而同希望挑战电子竞技的根本原因,但大家没想到的是,人工智能这么快就在电子竞技界取得了成功。

由于目前OpenAI尚未公布其Dota2人工智能的设计细节,接下来我们通过分析和推测,力图揭秘其背后的奥秘所在。

背景知识:Dota 2游戏规则

Dota 2是一款类似于大众熟知的王者荣耀式的5V5竞技游戏,每边分别由5位玩家选择一名英雄角色,目标以为守护己方远古遗迹并摧毁敌方远古遗迹,通过提升等级、赚取金钱、购买装备和击杀对方英雄等诸多竞技手段。

这次OpenAI选择了挑战较为简单的1V1挑战,即OpenAI仅控制1名英雄,和顶级电子竞技选手Dendi操纵的1名英雄进行对抗。

比赛中,采取dota 2“一塔两杀”的规则,即双方玩家只允许出现在中路,任意一方摧毁对方中路首个防御塔,或者击杀对方英雄两次则取得胜利。游戏中,每隔30秒双方会获得一波电脑控制的较弱部队进入前线互相攻击,玩家杀死这些小兵可以获得金币,金币用于购买装备物品以强化英雄能力,同时消灭对方部队可获取到经验,经验获取到一定程度则可提升英雄等级,使得英雄能力更强,并获得技能点升级新的技能。同时双方各自还有一个初期威力强大的防御塔在身后,因此双方一般的对抗策略是尽量控制兵线在靠近己方防御塔的地方,同时努力杀死对方小兵(正补)并防止对手这样做(反补),获取经验和金币后升级技能,并试图通过攻击和技能击杀对方或摧毁对方防御塔。

2

OpenAI的决策空间

上述是dota 2 1v1竞技的简单介绍,以供不了解dota 2的读者有个初步印象,接下来我们来分析一下在dota 2 1v1竞技中的决策空间及决策连续性这两个问题,这是与alphago完全不一样的存在,也是人工智能+电子竞技有趣的地方。

决策空间

相比围棋只有一个落子动作(选择一个空位下子),dota 2 1v1中的决策空间相对非常复杂,玩家每分每秒需要在以下的动作中做出决策:

3

当然,上述只是列举出了比较重要的战术动作,在实际竞技过程中还有大量的如取消攻击后摇、放风筝、控符、技能组合等高级动作。

决策连续性

围棋是一个典型的异步竞技游戏,选手在做出每一个决策前具有充分的决策时间,是典型的马尔科夫过程,但dota 2是一款实时竞技游戏,选手需要动态做出实时决策,这点是dota 2和围棋的另外一个不同。

那么OpenAI是怎么解决连续决策问题的?目前OpenAI尚未公布他们dota人工智能的细节。在这个问题上,OpenAI很有可能是通过考虑人类选手的决策效率,将决策过程离散化。Dota 2顶级选手的APM(action per minute,每分钟做出的动作)可达到200以上,众所周知人来大脑的反应速度是有极限的,一般顶级电竞选手在反应速度上都有异于常人的天赋,如果按比赛中观测到的APM来算,人类的极限可能在1秒钟做出4到5个动作决策,因此OpenAI如果每隔0.2秒做出一个动作决策的话,就能有超越人类的表现。