OpenAI 官方解密 ! AI 打Dota,你也可以

在上周的 Dota 2 人机最终决战中,OpenAI Five 迎战世界冠军 OG,在一场三局两胜比赛中连赢两局,成为第一个在电子竞技游戏中击败世界冠军的人工智能。

近日,OpenAI 在其博客中发布了关于其 OpenAI Five 的更多技术解读,并透露下一步的目标,文章编译如下(经过基于愿意的删改):

OpenAI Five 和 DeepMind 的 AlphaStar 之前曾私下击败过优秀的职业选手,但在直播比赛中都输掉了比赛。本场比赛也是 AI 第一次在直播中击败了电子竞技专家。

图丨 OG 队伍与 OpenAI Five 研发团队合影(来源:OpenAI )

本场比赛中,OpenAI Five 还展示了两个惊喜:

1. OpenAI Five 掌握了成为人类队友的基本能力,尽管在训练过程中只是专注于击败其他 AI。如果将竞争性 AI 转变为合作型 AI 比较容易的话,那么未来 AI 系统将会对人类有很大帮助。

2. 从 4 月 18 日到 21 日,OpenAI 将开放一个专门的竞技场,人类在该平台既可以与 AI 组队,也可以组队与 AI 对抗。该测试将回答一个重要的研究问题——目前的 OpenAI Five 在多大程度上可以帮助队友或以其他方式被战胜。OpenAI Five 可能是有史以来最大规模的人类可以有意识的与之交互的深度强化学习的超强智能体(与 OpenAI Five 比赛的网址:https://arena.openai.com/)。

图丨自去年在国际邀请赛输掉比赛以来,OpenAI Five 与半职业队伍 Lithium 和职业队伍 SG esports, Alliance, OG 的交手记录(来源:OpenAI )

为什么选择 Dota 游戏?

OpenAI Five 项目本身是为了以解决现有深度强化学习算法无法解决的问题,为实现这一目标,需要大幅提高 OpenAI Five 的能力。OpenAI 本期望于分层强化学习等复杂的算法,但后来发现:解决这一问题的最基本需求是计算规模。实现和利用这种规模并不容易,本项目的大量努力都耗费于此。

为了构建 OpenAI Five,OpenAI 创建了一个名为 Rapid 的系统,以前所未有的规模运行 PPO(Proximal Policy Optimization,临近决策优化)。结果超出预期,OpenAI 制造出了最顶级的 Dota 人工智能,没有触及任何基本的性能限制。

当今强化学习算法的强大能力是以大量经验为代价的,这对游戏或模拟环境之外即真实环境来说,是不切实际的。不过这种限制可能没有听起来那么糟糕——例如,OpenAI 使用 Rapid 系统来模拟控制机械臂灵活躲避障碍物,在真实环境的机械臂上也能成功执行。但是 OpenAI 认为减少经验量是强化学习的下一个挑战。

OpenAI Five 宣布“退休”,但已取得的进展和技术的进步将继续推动未来的工作。OpenAI 认为 Dota 对于强化学习发展来说比目前已有的标准环境更具有内在的趣味性和难度(不过目前已经没那么困难了)。

图丨OpenAI Five 将世界视为大量编码的数值。它使用相同的学习代码,无论这些数字代表 Dota 游戏中的状态(约 20,000 个数值)或机械臂(约 200 个数值)的状态(来源:OpenAI )

上周六 OpenAI Five 的胜利与 2018 年的国际邀请赛的失败相比,有一个重大变化:训练计算量增加了 8 倍。

在项目的早期阶段,OpenAI 已经通过提高训练计算规模来推动增强模型。但是在那场比赛之后,OpenAI 已经将项目的绝大部分计算资源用于训练单一的 OpenAI Five 模型。因此,OpenAI 采用了可用的唯一方式增加了计算规模:增加训练时长。

图丨 OpenAI Five 的 TrueSkill 评分系统。随着训练时间延长,竖线划分了主要的系统变化(转向单一信使(courier);将 LSTM 隐层大小增加到 4096;升级到版本 7.20 和 7.21;以及开始学习买活 (buypack))。该图大致是线性的,这意味着 OpenAI Five 从延长训练时间中不断受益(注意这是一个对数 - 对数图,因为 x 轴是计算力的对数,而 TrueSkill 评分大致相当于指数增长)。这个图表评估了最终游戏规则(1 个信使,补丁 7.21 等等)上的所有 AI——即使是在旧游戏标准上训练的 AI。图像上的陡坡表明 OpenAI Five 适应了这种变化;这种变化说明评估可能对之前的版本不公平(来源:OpenAI )

总的来说,当前版本的 OpenAI Five 已经消耗了 800 petaflop / s-days(1 petaflop / s 是每秒 1015 次浮点数运算,1 petaflop / s-days 相当于一天执行了 1020 次浮点数运算)的计算规模,共训练 10 个月,经历约 45000 年的 Dota 模拟对局时长(自上届国际邀请赛开始则是一个半月,总对局时长约 10000 年),平均每天 250 年的模拟对局。OpenAI Five 的最终版本与去年的 TI 版本相比,胜率为 99.9%。

尽管模型大小和游戏规则发生了变化(包括一些相当大的游戏补丁更新和新实现的功能),但目前版本的 OpenAI Five 自 2018 年 6 月以来一直在不断训练。每次变化时,OpenAI 都能够将模型迁移至新环境并继续训练——而这种迁移学习对于其他领域的强化学习模型来说仍然非常有挑战。这应该是强化学习智能体第一次使用如此长的训练时间。

为了使这种迁移奏效,OpenAI 利用“手术工具包”(OpenAI 迁移参数的工具),甚至可以适应跨越重大架构变化。

另外,英雄数量从 5 增大到 18 后,训练速度几乎没有下降。OpenAI 假设增加更多英雄也不会影响训练速度,在 2018 年的 Dota 国际邀请赛之后,OpenAI 投入了大量精力来整合新的英雄。

OpenAI 花了几个星期的时间训练增大到 25 个英雄的英雄池,将这些英雄训练到大约 5000 MMR(匹配分级,该水平相当于大约 95%的 Dota 玩家)。尽管模型还在进步,但模型的学习速度还不够快,无法在总决赛之前达到职业水平。OpenAI 尚未发现原因,他们假设模型容量不足或者需要更好的匹配扩展的英雄池,或者需要更多的训练时间让新英雄赶上老英雄。想象一下,当人类精通老英雄之后,人类学习新英雄的难度是多么大!

OpenAI 相信这些问题从根本上是可以解决的。总决赛版本有 17 位英雄上场,相比上届比赛,删除了巫妖,因为他的能力在 Dota 版本 7.20 中发生了显著变化。

(来源:OpenAI )

在大赛期间,展示了一场 OpenAI Five 与人类组队的对局。这场比赛一边是 Blitz 和 Sheever 以及由 OpenAI Five 控制的 3 个 AI,另一边则是 ODPixel 和 Capitalist 和 3 个 AI。

OpenAI Five 与人类合作的能力为人类与未来人工智能互动的提供了一个值得期待的场景,即人工智能系统与人类协作并增强人类体验。几位参与人机组队对局的选手报告说,他们感受到了 AI 队友的支撑,他们从与这些先进的 AI 系统中学到了很多东西,而且就整局比赛来说也是一种有趣的体验。

请注意,这相当于一种零样本(zero-shot)迁移学习——训练时对局双方均为 AI 控制,但却可以泛化(generalize)在与人类组队协作的场景上。事实上,OpenAI 考虑举办 AI 与人类协作的比赛,本以为需要为此专门训练。

下一步:“竞技场”解密

OpenAI 推出了 OpenAI Five “竞技场”(https://arena.openai.com/),于 4 月 18 日星期四太平洋标准时间下午 6 点开放,并于 4 月 21 日星期日太平洋标准时间晚上 11:59 关闭。

作为一项开放实验,这个允许任何人在对抗或者合作模式下与 OpenAI Five 对局游戏。OpenAI 的 1v1 机器人可以通过聪明的策略来利用 ; 但不知道 OpenAI Five 在多大程度上也是如此,OpenAI 期待玩家社区能够帮助找到答案。

(来源:OpenAI )

接下来,OpenAI 在审查 OpenAI Five Arena 的结果之后,将发布对 OpenAI Five 的更多技术分析。

之后,OpenAI 将继续使用 OpenAI 中的 Dota 2 环境,这一环境给强化学习带来大量的进展,Dota 2 将继续帮助推进可行的方案——无论是通过较少的数据还是真正的人类-AI 合作实现更大的突破。