OpenAI Five

OpenAI Five是由OpenAI开发的计算机程序，专门用来游玩5对5的电子游戏《Dota 2》。该系统于2017年首次公开亮相，在一场现场一对一比赛中与职业玩家Dendi进行对战，最终使其落败。隔年，该系统已发展为完整的五人队伍，开始与职业战队对抗，并展现出击败职业战队的能力。

由于OpenAI选择以《Dota 2》这款复杂游戏作为机器学习研究对象，该公司认为此举能更精确地捕捉现实世界中存在的不确定性与连续性，从而构建出更具普遍性的问题解决系统。最终，OpenAI Five 采用的算法及程式码被该公司研发中的另一个神经回路借用，该神经网络用以控制一只实体机械手。OpenAI Five曾与其他类似人工智能案例相比较，例如在电子游戏《星际争霸2》中与人类对战的AlphaStar、在围棋中与人类对弈的AlphaGo、在国际象棋中与人类对弈的深蓝以及在电视游戏节目《危险边缘》中的华生。

## 历史

自2016年11月起，OpenAI开始开发机器人所采用的算法。由于《Dota 2》是一款在直播平台Twitch上广受欢迎、具有原生Linux支援且提供应用程序界面（API）。

在组成完整五人队伍之前，该系统于2017年8月在年度冠军赛2017年Dota2国际邀请赛中首次公开展示；在一场现场一对一比赛中，乌克兰职业玩家 Dendi输给了一个OpenAI机器人。比赛结束后，首席技术官格雷格·布罗克曼解释称，该机器人经过两周实时自我对战后完成学习，而此学习软件被视为迈向开发能处理复杂任务（例如外科手术）的软件的一步。

强化学习的的方法，使得这些机器人在数月内每日进行数百次自我对战后逐步学习，并对击杀敌人或摧毁防御塔等行动给予奖励。

到2018年6月，这些机器人的能力已扩展为能以完整五人队伍协同作战，并能击败业余及半职业玩家组成的队伍。在2018年Dota2国际邀请赛中，OpenAI Five 参与了两场对抗职业战队的比赛，一场对阵总部位于巴西的paiN Gaming，另一场则面对由前中国籍选手组成的全明星队伍。尽管机器人在两场比赛中皆告失利，OpenAI 仍认为此举具备成功价值，指出与《Dota 2》中部分最佳选手对战，使得他们能够针对未来比赛进行算法的分析与调整。

2019年4月，机器人最后一次公开展示，当时在旧金山举行的一场现场活动中，机器人以三局两胜制的比赛中击败了2018年国际邀请赛冠军OG。同月，举办了一场为期四天的公开线上活动，供大众与机器人对战。在该活动中，机器人共参与42,729场公开比赛，胜率达 99.4%。

## 建构

每个OpenAI Five机器人都是一个神经网络，该网络包含一个单层 4096 单元的LSTM，用来观察从Dota 开发者 API 提取的当前游戏状态。这个神经网络通过众多可能的行动头（不涉及任何人类数据）来执行动作，而且每个行动头都有其特定意义。例如，决定动作延迟的刻数、选择哪个动作——以及该动作在单位周围网格中的 X 或 Y 坐标。此外，各个行动头都是独立计算的。该 AI 系统将世界视为一个包含 20,000 个数字的列表，并通过生成一个包含八个枚举值的列表来采取行动。同时，它还会选择不同的动作和目标，以了解如何编码每个动作并观察世界。

OpenAI Five 以“Rapid”基础架构为平台，发展成一套通用的强化学习训练系统。Rapid 由两个层级组成：第一层负责启动数千台机器并协助它们彼此通讯；第二层则负责执行软件。到 2018 年，OpenAI Five 在256颗GPU与 128,000个 CPU核心的运算环境下，累计进行了约180年时间的强化学习游戏，采用了一种称为近端策略优化的策略梯度方法。

OpenAI 1v1 机器人（2017 年）｜OpenAI Five（2018 年）

CPU｜Microsoft Azure上有 60,000 个 CPU 核心｜Google Cloud Platform (GCP) 上的 128,000 个可抢占 CPU 核心

GPU｜Azure 上有 256 个 K80 GPU｜GCP 上有 256 个 P100 GPU

收集的经验｜每天约 300 年｜每天约 180 年

观察的大小｜~3.3kB｜~36.8kB

每秒游戏观察次数｜10｜7.5

批次大小｜8,388,608 条观察结果｜1,048,576 条观察结果

每分钟批次数｜~20｜~60

## 与其他游戏AI系统的比较

在OpenAI Five之前，其他AI对抗人类的实验和系统已经成功运作，例如使用Watson的《危险边缘》，使用深蓝的国际象棋以及使用AlphaGo的围棋。与与其他曾使用 AI 系统与人类玩家对战的游戏相比，Dota 2的不同之处如下所述：

长期观察：机器人以每秒30帧运行，而一场平均比赛持续45分钟，这使得每场比赛包含 80,000次运算。OpenAI Five每四帧观察一次，从而产生20,000个动作。相比之下，国际象棋通常在不到40步就结束，而围棋则不到150步。

部分观察到的游戏状态：玩家及其盟友只能看到直接围绕他们的地图，其余部分则被“战争迷雾”覆盖，迷雾会隐藏敌方单位及其动向。因此，进行《Dota 2》游戏需要根据这些不完整的资料进行推断，并同时预测对手可能采取的行动。相比之下，国际象棋与围棋是“完全资讯游戏”，因为它们不会对对手隐藏任何资讯。

连续动作空间：在《Dota 2》游戏中，每个可操作的角色（英雄）可以执行数十种动作，这些动作的目标可以是另一个单位或一个位置。OpenAI Five 的开发者将每个英雄的动作空间设置为 170,000 种可能的动作。不计算游戏中那些持续性的因素，每个 tick 平均有约 1,000 种有效动作。相比之下，国际象棋的平均动作数为 35，而围棋则为 250。

连续观察空间：《Dota 2》是在一个大型地图上进行的游戏，地图上有十位英雄（每队五位），以及数十座建筑和非玩家角色（NPC）单位。OpenAI 系统透过开发者提供的 bot API 观察游戏状态，并将其表示为 20,000 个数字，这些数字构成了人类所能获取的所有资讯。一个棋盘大约由 70 个列表表示，而一个围棋盘则有大约 400 个枚举数据。

## 评价

OpenAI Five获得了人工智能、科技和电子游戏界的广泛认可。微软创办人比尔·盖茨称其为“一项重大突破”，因为它们的胜利“需要团队合作与协作”曾在1997年败给深蓝的国际象棋冠军加里·卡斯帕罗夫表示，尽管 OpenAI Five 在 2018 年国际邀请赛表现不佳，但这些机器人最终“一定会达成目标，而且比预期还要快”。

在《麻省理工技术评论》的采访中，AI 专家们也认为OpenAI Five 系统是一项重大成就，因为他们指出Dota 2是一款“极其复杂的游戏”，因此即使能够击败非职业玩家也已经相当令人印象深刻。《PC Gamer》则表示，OpenAI Five 战胜职业玩家是一个机器学习领域的重要里程碑。

相比之下，《Motherboard》则认为这场胜利“基本上是在作弊”，原因包括双方英雄池被大幅简化，以及机器人能够直接存取 API，而非像人类玩家一样透过电脑视觉来解析萤幕上的像素。《The Verge》则写道，这些机器人证明了 OpenAI 在强化学习方面的研究方向以及其 AI 发展理念正在“产生重要的里程碑式成果”。

2019年，DeepMind 推出了类似《星海争霸2》的AI机器人——AlphaStar。与 OpenAI Five 一样，AlphaStar 采用了强化学习和自我对弈技术。《The Verge》报导称：“这类 AI 研究的目标不仅仅是为了在人类玩家面前取得压倒性胜利，以证明其可行性。相反，它的目标是证明，只要投入足够的时间、精力和资源，先进的 AI 软件几乎可以在任何竞争性的认知挑战中击败人类，无论是桌游还是现代电子游戏。”他们还补充说，DeepMind和OpenAI的胜利也证明了强化学习在某些应用场景下的强大潜力。

OpenAI 希望该技术能够应用于数位领域以外的范畴。2018年，该公司成功将 OpenAI Five 所使用的强化学习算法及训练程式码，重新运用于Dactyl 项目，此项目研发出一只具有人形特征的机械手，搭载神经网络以操控实体物体。2019年，Dactyl破解了魔术方块。