圆圆网络 手游攻略 手游评测 OpenAI发表Dota 2论文:胜率99.4%,“手术”工具持续迁移训练

OpenAI发表Dota 2论文:胜率99.4%,“手术”工具持续迁移训练

时间:2024-09-17 14:14:59 来源:未知 浏览:0

OpenAI的Dota 2人工智能代理项目OpenAI Five已经开发了三年。 2019年4月13日,OpenAI Five成为第一个击败世界冠军队伍的AI系统,但当时OpenAI并未透露相关论文和算法细节。最近,OpenAI 终于发布了描述该项目的论文《Dota 2 with Large Scale Deep Reinforcement Learning》。

人工智能的长期目标是解决现实世界中的难题。为了实现这一目标,研究人员近几十年来将游戏作为人工智能开发的基石。从双陆棋(1992年)到国际象棋(1997年)再到Atari游戏(2013年),2016年AlphaGo利用深度强化学习和蒙特卡罗树搜索击败了围棋世界冠军。近年来,强化学习(RL)也被应用到更多类型的任务中,例如机器人操作、文本摘要以及视频游戏(如《星际争霸》 和《Minecraft》)。

与国际象棋或围棋等之前的人工智能里程碑相比,复杂的视频游戏具有现实世界问题的复杂性和连续性。 Dota 2是Valve公司于2013年发布的一款多人即时战略游戏。该游戏在2013年至2019年间拥有50万至100万的同时在线玩家。该游戏还拥有许多全职职业玩家; 2019 年国际锦标赛的奖金池已超过3500 万美元(是世界上最大的电子竞技比赛)。该游戏因其较长的游戏时间、部分可观察性以及高维的观察和动作空间,对强化学习提出了严峻的挑战。另外,Dota 2的规则也非常复杂。该游戏已经积极开发了十多年,其游戏逻辑使用了数十万行代码来实现。

要为如此复杂的环境创建合适的代理,关键是将现有的强化学习系统扩展到前所未有的规模,这需要在数千个GPU 上进行数月的训练。为了实现这个目标,OpenAI构建了一个分布式训练系统,并训练了一个名为OpenAI Five的Dota 2游戏代理。 2019 年4 月,OpenAI Five 击败了Dota 2 世界冠军队伍(Team OG),这是第一个击败电子竞技游戏世界冠军的AI 系统。 OpenAI还将该系统开放给Dota 2社区进行试玩;在7000 多场比赛中,OpenAI 五的胜率高达99.4%。论文地址:https://cdn.openai.com/dota-2.pdf

OpenAI表示,训练过程还面临另一个问题:游戏环境和代码不断升级和改变。为了避免每次更改后都必须从头开始训练,他们开发了一套可以以最小的性能损失继续训练的工具。 —— OpenAI 称之为“手术”。在超过10 个月的训练过程中,OpenAI 大约每两周进行一次手术。这套工具允许OpenAI 频繁地改进他们的代理,这比从头开始的典型训练方法只需要一小部分时间。随着人工智能系统解决的问题变得越来越大、越来越困难,对不断变化的环境和迭代开发的进一步研究将变得至关重要。

Dota 2 有什么难的?

Dota 2 游戏战斗发生在一张方形地图上,两支队伍各自保卫位于对角线上的自己的基地。每个队伍的基地都有一个古老的废墟;当一支队伍的远古遗迹被敌人摧毁时,游戏结束。每队由5 名选手组成。每个玩家控制一个英雄单位。每个英雄都有自己独特的技能。游戏过程中,双方都有“小兵”单位不断出动,但这些小兵不受玩家控制。在控制下,它们会按照路径向敌方基地前进,攻击出现在其攻击范围内的任何敌方单位和建筑物;玩家可以从小兵身上收集金币、经验等资源,然后通过购买物品来提升英雄,提升战斗力。为了玩Dota 2,AI 系统必须解决各种难题:

漫长的比赛。 Dota 2 游戏通常以每秒30 帧的速度持续约45 分钟。 OpenAI Five 每4 帧选择一个动作,因此每个游戏大约需要20,000 步。相比之下,国际象棋通常需要80 步,围棋则需要150 步。部分可观察状态。每个队伍只能看到自己单位和建筑物附近的部分游戏状态;地图的其余部分是隐藏的。要想玩得好,需要根据不完整的数据进行推断并对敌人的行为进行建模。高维行动和观察空间。 Dota 2 拥有一张包含10 个英雄、数十座建筑、数十个非玩家单位的大地图,以及符文、树木和侦察守卫(眼睛)等长尾游戏功能。 OpenAI Five 每个时间步观察大约16,000 个值(主要是具有数百种可能性的浮点和分类值)。同时,OpenAI对动作空间进行离散化;它的模型在每个时间步从8,000 到80,000 个(取决于英雄)动作中选择一个。相比之下,国际象棋每次观察需要大约1000 个值(这些大多是具有6 种可能性的分类值),而围棋则需要大约6000 个值(都是二进制)。 Go 的分支因子约为35 种可能的走法,Go 的分支因子约为250 种。

另外,需要注意的是,OpenAI Five在常规模式下玩游戏时有两个限制:

英雄池只有17个英雄——个。在常规比赛中,玩家在比赛前从117个英雄中选择一个,而OpenAI Five目前只支持其中17个;它不支持允许玩家同时临时控制多个单位的物品(幻象护身符、统治头盔、幻影斧头、死灵之书)。 OpenAI 删除这些项目的原因是控制多个单元会带来额外的技术复杂性。培训体系

让AI玩Dota

为了将“以超人水平玩这个复杂游戏”的模糊问题转化为可优化的详细目标,OpenAI 提出了以下框架。

Dota 2 引擎以每秒30 帧的速度运行,而OpenAI Five 仅每4 帧执行一次操作(称为时间步)。在每个时间步,OpenAI Five 都会接收来自游戏引擎的观察,该引擎对人类玩家可以看到的所有信息进行编码,例如单位健康状况、位置等。然后,OpenAI Five 返回一个离散动作到游戏引擎,该引擎编码了所需的移动、攻击等

当然,有些游戏机制是通过手写逻辑而不是策略来控制的。其中包括:英雄购买的物品、获取技能的说明、独特信使单位的控制以及英雄应该保留的物品。 OpenAI表示,他们相信用AI方法取代人类编写的规则最终会让智能体取得更好的性能,但即便如此,现有的智能体已经实现了超人的性能。

在训练过程中,环境中的某些属性是随机的,包括游戏中的英雄和英雄购买的物品。由于与人类对手比赛时会出现各种不同的策略和情况,因此训练必须足够多样化以确保鲁棒性。

OpenAI 将策略 定义为从观察历史到行动映射的概率分布函数,并将其参数化为具有大约1.59 亿个参数() 的循环神经网络。该神经网络主要由单层4096 个单元的LSTM 组成(见图1)。给定一个策略,OpenAI 玩游戏的方式是在每个时间步重复传递当前观察结果作为输入,然后从输出的分布中采样一个动作。

图1:OpenAI五模型架构的简化版

为了控制由五个英雄组成的团队,OpenAI 对每个英雄使用相同策略函数的不同副本(具有相同的参数)。由于Dota 2 中的可见性信息和战争迷雾(友方单位附近的雾中区域可见)在整个团队中共享,因此每个英雄的观察结果几乎相同。

然而,OpenAI Five 并没有直接使用屏幕上的像素信息,而是使用一组数据数组来近似人类玩家可用的信息。这种近似是不完美的;人类玩家可获得的许多零碎信息并未编码在观察中。另一方面,虽然OpenAI已经尽力确保模型获得的所有信息都是人类可以获得的信息,但人类不可能同时读取每个时间步的所有可用信息。 —— 人类必须主动点击地图和状态指示器之间的差异。部分足够了。

优化策略

OpenAI 的目标是找到最大化战胜人类职业选手的概率的策略。在实践中,研究人员对奖励函数进行了最大化操作,其中还包括一些其他信号,例如角色死亡、资源收集等。此外,他们在计算时应用了多种技术来利用问题的零和多人结构。奖励函数。例如,代理的奖励是通过减去敌方队伍收到的奖励来对称的。 OpenAI团队在项目之初就构建了这个奖励函数,因为团队对游戏有一定的了解。虽然随着游戏版本的更新,这个奖励功能略有变化,但他们发现最初的奖励选择效果非常好。后面添加的奖励信号对于训练的成功也非常重要。

对于策略训练,使用近端策略优化(PPO),它是Advantage Actor Critic 的变体。该优化算法使用通用优势估计(GAE),这是一种基于标准优势的方差减少技术,可以稳定并加速训练。 OpenAI 使用集中式共享LSTM 模块来训练网络。该模块向不同的全连接层提供输入以获得策略和价值函数输出。

图2:系统概述:培训系统由4种主要类型的机器组成

OpenAI 使用从Dota 2 中收集的自我玩家经验来训练策略;它使用Adam 优化器,在16 个时间步样本上进行截断反向传播。

系统使用“Rollout”来运行自己的游戏。他们以近1/2 的实时时间运行这些游戏,因为OpenAI 团队发现,在这些速度下,他们可以并行运行略多于两倍的游戏,从而提高整体吞吐量。

OpenAI发表Dota 2论文:胜率99.4%,“手术”工具持续迁移训练

“Rollout”可以在正在进行的游戏中异步发送数据,而不是等到整个游戏结束才发送数据进行优化。

整个系统运行在Rapid上,Rapid是一个基于Google云平台的定制分布式训练平台。为了执行快速GPU 训练,研究人员还使用了blocksparse 软件库。

通过“手术”实现持续迁移

当然,随着项目的进展,代码和游戏环境也在逐渐发生变化。为了解决从头开始训练的问题,OpenAI提出了一种名为“手术”的新方法。

“手术”可以被认为是一组工具,对旧模型进行离线操作,以获得与新环境兼容的新模型。尽管这个新模型的参数向量在大小和语义上与旧模型不同,但它仍然可以在同一级别上执行博弈策略。然后,OpenAI 使用具有新参数向量的新模型开始在新环境中进行训练。在环境、观察和动作空间均不变的最简单情况下,标准简化为:坚持新策略实现与旧策略相同的从观察状态到动作的概率函数:

这是保留转换的Net2Net 风格函数的特例。 OpenAI 开发了工具来尽可能准确地实现方程(1)(例如添加观测、扩展层等情况);当对环境、观察空间或动作空间的修改类型不能完全满足精确实施的标准时,也可以近似地实现。

表1:OpenAI 5 培训期间执行的所有成功“手术”和重大环境变化

“手术”可以在不影响表现的情况下进行持续训练(见图4)。

图4:开发环境中的培训

实验和评估

OpenAI Five是2018年6月30日至2019年4月22日单次训练的产物。经过十个月77050 PFlops/s·天的训练,以最好的成绩击败了Dota 2冠军队伍在为期多天的在线展示中,三场比赛击败了99.4% 的人类。玩家。

为了有效利用这一级别的计算能力,整个系统在三个方向上进行了扩展。首先,批量大小为100 万到300 万个时间步(分组为长度为16 的扩展LSTM 窗口)。其次,使用了超过1.5 亿个参数的模型。第三,OpenAI 5 花了180 天来训练(由于重启和恢复超过了10 个月)。与AlphaGo 相比,OpenAI 5 的批量大小增加了50 至150 倍,模型增加了20 倍,训练时间延长了25 倍。但同期还有其他研究与该项目相当甚至更大,例如DeepMind 的《星际争霸 2》 代理研究《Grandmaster level in StarCraft II using multi-agent reinforcement learning》 和OpenAI 的机器人研究《Solving Rubik's Cube with a Robot Hand》。

人工评估

在训练过程中,OpenAI Five 与多位业余选手、职业选手和专业团队进行比赛,跟踪研究进展。

4 月13 日,OpenAI Five 与Dota 2 现任世界冠军OG 战队进行了一场高水平竞技比赛,并以三局两胜(2-0)获胜,这表明OpenAI Five 确实可以学到运维的最高水平。技术。

然而,机器学习系统通常不能很好地应对意外情况。虽然在演示比赛中超越世界冠军确实展示了OpenAI Five 的能力,但它并没有展示其广泛理解人类社会可能面临的各种难题的能力。为了探索OpenAI Five是否可以稳定用于创意或非发行游戏,OpenAI推出了OpenAI Five Arena,将于2019年4月18-21日向公众开放进行在线挑战。OpenAI Five总共玩了与3193支球队进行了7257场比赛,胜率高达99.4%。 29支队伍在总共42场比赛中击败了OpenAI Five。

虽然人类评估是最终目标,但在训练期间也需要对代理进行自动评估。 OpenAI的做法是使用TrueSKill评分系统作为指标,并比较一些固定的参考。图3 显示了OpenAI Five 的TrueSkill 分数如何随时间变化。

图3:训练期间OpenAI Five 的TrueSkill 分数变化

通过Rerun验证“手术”的效果

为了验证新提出的“手术”方法所节省的时间和资源,OpenAI 在2019 年5 月18 日至2019 年6 月12 日期间训练了另一个智能体,但只使用了最终的环境和模型架构等。OpenAI 将这个训练过程称为Rerun ,它不会经历曲折的游戏规则改变、神经网络参数的修改、超参数的在线实验等。

Rerun 完成了两个月的训练,计算负载为150 5 PFlops/s·day(见图4)。这个时间跨度明显长于“手术”改变的频率(每1-2周一次)。做个简单的比较,如果在20 次大手术之后每次都从头开始,该计划将需要40 个月而不是10 个月(实际上,通常会选择较少的改变)。手术的另一个优点是始终有有能力的代理可用于评估,这可以显着缩短实验更改的迭代周期。对于OpenAI 5的目标(探索新任务、构建新环境)来说,持续训练具有显着的优势。

图4:OpenAI 5和Rerun的训练流程

当然,在环境是预先构建好的并且从一开始就很好理解的环境中,“手术”的需要将是最小的。重新运行仅消耗OpenAI 5 20% 的资源:如果可以提前获得最终的训练环境,则无需在不同的游戏版本上开始训练。

Rerun的最终表现优于OpenAI 5,对OpenAI 5最终版本的胜率超过98%。这个想法是,OpenAI 团队想要验证最终的代码和超参数是否可以重现OpenAI Five 的性能,因此他们停止了那里的训练。他们认为Rerun可以实现进一步的改进,不仅包括可以继续改进的性能,还包括尚未最终确定的学习率和视野等超参数。

用户评论

抓不住i

哇塞,OpenAI的 Dota 2 AI 胜率99.4%!这简直是突破性进展,"手术"工具也太厉害了吧!

    有7位网友表示赞同!

心悸╰つ

期待OpenAI的 Dota 2 AI 技术能应用到其他领域,比如游戏设计和策略制定。

    有20位网友表示赞同!

心脏偷懒

OpenAI的"手术"工具,厉害了,持续迁移训练真是太强大了!

    有6位网友表示赞同!

龙吟凤

99.4% 的胜率,OpenAI 的 Dota 2 AI 真是太厉害了,碾压人类啊!

    有18位网友表示赞同!

凉凉凉”凉但是人心

OpenAI Dota 2 AI 论文,值得一看!

    有13位网友表示赞同!

命里缺他

OpenAI 的 Dota 2 AI 论文,让人对人工智能的未来充满期待!

    有8位网友表示赞同!

猫腻

OpenAI Dota 2 AI 的 "手术" 工具,真是人工智能领域的一大进步!

    有19位网友表示赞同!

坠入深海i

持续迁移训练,太关键了!OpenAI Dota 2 AI 论文太棒了!

    有14位网友表示赞同!

男神大妈

OpenAI Dota 2 AI 胜率99.4%,这简直是奇迹!

    有15位网友表示赞同!

青衫故人

OpenAI Dota 2 AI ,期待更多应用场景。

    有8位网友表示赞同!

不浪漫罪名

OpenAI Dota 2 AI 的 "手术" 工具,太牛了!

    有6位网友表示赞同!

你与清晨阳光

OpenAI Dota 2 AI ,人工智能的未来可期!

    有17位网友表示赞同!

在哪跌倒こ就在哪躺下

OpenAI Dota 2 AI 论文,让人眼前一亮!

    有5位网友表示赞同!

雁過藍天

OpenAI Dota 2 AI 的 "手术" 工具,值得深入研究!

    有6位网友表示赞同!

泡泡龙

OpenAI Dota 2 AI ,人工智能发展的新高度!

    有7位网友表示赞同!

艺菲

99.4% 胜率,OpenAI Dota 2 AI ,真是太强了!

    有11位网友表示赞同!

执拗旧人

OpenAI Dota 2 AI 的 "手术" 工具,真是太厉害了!

    有14位网友表示赞同!

|赤;焰﹏゛

OpenAI Dota 2 AI 论文,让人感叹人工智能的进步!

    有6位网友表示赞同!

未来未必来

期待 OpenAI Dota 2 AI 在更多领域应用!

    有16位网友表示赞同!

情字何解ヘ

OpenAI Dota 2 AI 论文,值得关注!

    有20位网友表示赞同!

标题:OpenAI发表Dota 2论文:胜率99.4%,“手术”工具持续迁移训练
链接:https://yyuanw.com/news/sypc/18977.html
版权:文章转载自网络,如有侵权,请联系删除!
资讯推荐
更多
绯红之境兑换码最新2021 礼包兑换码大全

绯红之境兑换码最新2021 礼包兑换码大全[多图],绯红之境兑换码怎么领取?绯红之境兑换码有哪些?绯红之境在今日

2024-09-17
妄想山海怎么加好友 加好友方法大全

妄想山海怎么加好友 加好友方法大全[多图],妄想山海添加好友功能在哪里?妄想山海添加好友的方法是什么?好友添

2024-09-17
三国群英传7霸王再临攻略 霸王再临攻略技巧开启方法

三国群英传7霸王再临攻略 霸王再临攻略技巧开启方法[多图],三国群英传7霸王再临怎么玩?三国群英传7霸王再临

2024-09-17
江南百景图又见桃花村钓鱼位置在哪?又见桃花村钓鱼攻略

江南百景图又见桃花村钓鱼位置在哪?又见桃花村钓鱼攻略[多图],江南百景图又见桃花村钓鱼怎么钓?又见桃花村钓

2024-09-17