OpenAI重磅发布图片Neural MMO。

[导读]如果把AI放在资源有限的世界裏他们也会像人类一样竞争。

如果把放在资源有限的世界里他们也会像人类一样竞争。

OpenAI就做了这样一款名叫Neural MMO的AI训练游戏让AI在一块限萣的土地上求生,我们发现AI也一样可以演化出悲壮的生存史诗。

这是一场12800个AI之间的生存战争就像AI版的《文明》系列一样,在地图上争奪资源、扩大地盘、发动战争

而且,你可以克隆到自己的电脑上只需一块桌面CPU即可调动100个并发服务器,重现这一AI战争史

当每个AI降生時,会发现自己有三种属性:

从上到下***的是食物,蓝色的是水绿色的是健康,也可以理解为我们平常玩游戏的血条

每个AI出生时嘟分别有32点食物和水,10滴血;每个时间单位会分别消耗一点食物和水当食物或者水降为0时,每个时间单位会消耗一滴血如果血条降为0,这时AI就会死掉

而AI天生被深度强化学习的规则赋予了求生欲,要保证自己的食物和水分供应让自己活下来。

为了活下来AI开始认识这個世界,并从世界中获取食物和水

世界是由棋盘状的格子构成的,一共有六种格子:

石头:不可通行的坚固壁垒;

水:AI不会游泳无法通过,但是可以在附近打水喝如果AI在紧挨着水的格子移动,会获得5点水;

森林:不仅可以通行还可以采集食物,当AI通过森林时会获嘚5点食物,而后森林会成为荒芜的灌木丛;

灌木丛:可以通行虽然灌木丛荒芜没有食物,但每秒钟都有/neural-mmo/

原标题:堪称游戏 AI“养蛊”!OpenAI 发咘大型多智能体游戏环境

最近OpenAI 发布了一个名为“Neural MMO”的大型多智能体游戏环境,该平台支持在一个持久开放的任务中使用大量且数量可变嘚智能体大量智能体和物种的加入导致了更好的勘探,不同的生态位形成和更大的整体能力。

近年来多智能体设置已成为深度强化學习的有效研究平台。尽管取得了这些进展多智能体强化学习仍然面临两大挑战。我们需要创建具有高度复杂性上限的开放式任务:当湔环境要么复杂但应用面太窄要么开放但太简单。持久性和大规模等属性是关键但是我们还需要更多的基准环境来量化大规模和持久性的学习进度。而这次大型多人在线游戏 (MMOs) 模拟了一个大型生态系统该系统由数量不等的玩家在持久且广泛的环境中进行生存竞争。

为了應对这些挑战OpenAI 构建了符合以下标准的神经 MMO:

1、持久性: 无需环境重置,智能体在其他学习智能体存在的情况下并发学习策略必须考虑长期嘚范围,并适应其他智能体行为中潜在的快速变化

2、规模:环境支持大量数量可变的实体。OpenAI 的实验考虑了在 100 个并发服务器中的每个服务器中 128 个并发智能体的最长 1 亿个生存期

3、效率:入门计算门槛很低。OpenAI 可以在单个桌面 CPU 上训练出有效的策略

4、扩展:与现有的 MMO 们类似,OpenAI 设計 Neural MMO 也是为了更新新内容目前的核心功能包括瓦片地形的程序生成、食物和水的觅食系统以及战略作战系统。开源驱动的扩展在未来是有機会的

在这个游戏环境中,玩家 (智能体) 可以加入任何可用的服务器 (环境)每个服务器 (环境) 都包含一个自动生成的可配置大小的瓦片地形遊戏地图。有些地砖如可食用的森林地砖和草地砖,是可移动的其他的,如水和固体石则不是。智能体程序在环境边缘的随机位置苼成他们必须获得食物和水,并避免战斗伤害从其他智能体以维持他们的健康。踩在森林地砖上或靠近水砖的地方分别会重新填充玳理的部分食物或供水。然而森林地砖的食物供应有限,随着时间的推移食物会缓慢再生。这意味着智能体必须竞争食物砖同时周期性地从无限的水砖中补充他们的水供应。玩家在战斗中使用三种战斗风格代表肉搏(近战),射手(远程物理攻击)和法师(远程魔法攻击)

这个平台提供了一个过程化的环境生成器和可视化工具,用于实现值函数、映射访问分布和学习策略的智能体依赖性基线使鼡超过 100 个世界的策略梯度进行训练。

作为一个简单的基线团队使用普通的策略梯度来训练一个小型的、完全连接的体系结构将值函数基線和奖励折扣作为唯一增强。智能体不会因为实现特定的目标而获得奖励而是只根据其生命周期 (轨迹长度) 进行优化——即在其生命周期Φ,每一次滴答声都会获得 1 个奖励团队通过计算所有玩家的最大值 (OpenAI Five 也使用了这个技巧),将可变长度的观察值 (比如周围玩家的列表) 转换为單个长度向量源版本基于 PyTorch 和 Ray 实现,包括完全分布式培训

图丨为了提高效率,策略在由 16 个智能体组成的组之间共享在测试时,合并在荿对实验中学到的总体并在一个固定的总体大小下评估生存期,且只对觅食进行评估因为作战策略更难直接比较。在更大的人群中训練出来的智能体总是更优秀(来源:OpenAI)

智能体的策略是从多个种群中均匀采样的——不同种群中的代理共享架构但只有相同种群中的智能体共享权重。初步实验表明随着多智能体交互作用的增加,智能体的能力逐渐增强增加并发玩家的最大数量会放大探索;种群数量嘚增加放大了生态位的形成,也就是说种群在地图不同区域的分布和觅食的趋势。

在老版本的 mmo 中没有标准的程序来评估跨服务器的相对玩家能力然而,MMO 服务器有时会经历合并即来自多个服务器的玩家基地被放置在单个服务器中。团队通过合并在不同服务器上训练的玩镓基础来实现“锦标赛”风格的评估这使团队能够直接比较在不同实验环境中学习到的策略。团队改变了测试时间范围发现在较大环境中训练的智能体始终优于在较小环境中训练的智能体。

在自然界中动物之间的竞争促使它们分散开来以避免冲突。OpenAI 观察到随着并发智能体数量的增加,映射覆盖率也在增加智能体学习探索仅仅是因为其他智能体的存在提供了这样做的自然动机。

图丨物种数量 (种群数量) 放大了生态位的形成探视地图覆盖游戏地图;不同的颜色对应不同的物种。训练单一种群往往会产生单一的深度探索路径训练 8 个种群會导致许多更浅的路径:种群分散以避免物种间的竞争(来源:OpenAI)

在一个足够大且资源丰富的环境中,团队发现不同的智能体种群分布在整個地图上以避免在种群增长时与其他智能体竞争。由于实体无法在竞争中胜过其人口中的其他智能体 (即与它们共享权重的代理)它们倾姠于在地图上寻找包含足够资源以维持其人口的区域。DeepMind 在并发多代理研究中也独立观察到类似的效果

图丨每个正方形映射显示位于正方形中心的智能体对其周围的智能体的响应。我们展示了初始化和训练早期的觅食图;额外的依赖关系映射对应于不同的觅食和战斗公式(来源:OpenAI)

OpenAI 通过将智能体固定在假想映射作物的中心来可视化智能体-智能体依赖关系对于该智能体可见的每个位置,OpenAI 将显示如果在该位置有苐二个智能体值函数将是什么。OpenAI 发现在觅食和战斗环境中,智能体学习依赖于其他智能体的策略智能体们学习“牛眼”躲避地图,茬仅仅几分钟的训练后就能更有效地开始搜寻当智能体们学习环境中的战斗机制时,他们开始学会适当地评估有效的交战范围和接近的角度

总而言之,OpenAI 的 Neural MMO 解决了之前基于游戏环境的两个关键限制但仍有许多问题没有解决。未来我们还能期待更多的突破

原标题:支持大量智能体同时在線而训练只需一个桌面CPU

OpenAI刚刚开源了一个大规模多智能体游戏环境,这是一个大规模强化学习模拟器支持大量智能体同时在线,而训练呮需一个桌面CPU

OpenAI今天重磅发布图片 Neural MMO,这是一个“大规模多智能体”虚拟训练平台它将AI智能体扔进一个类似RPG的世界——一个拥有资源收集機制和玩家对战机制的完整游戏世界!

OpenAI在最新博客文章中写道:“大型多人在线游戏(Massively Multiplayer Online Games, MMOs)这个游戏类型模拟了一个庞大的生态系统,其中有数量不等的玩家在持续而广阔的环境中进行竞争”

“包含许多智能体和物种能够带来更好的探索、迥异的生态位形成,以及更强的整体能仂”

AI智能体在Neural MMO环境中随机生成,Neural MMO环境中还包含自动生成的预定大小的瓦片地图(tile maps)其中一些tile是可穿越的,如“森林”(里边有食物)其他则鈈能穿越(如水和石头)。

agent观察以各自位置为中心的方块tile在每个 timestamp 进行一次移动和一次攻击,解决诸如寻找有限的“食物”和“水”资源的任務(通过踩到forest tile或走到water tile旁边)以及与其他 agent 战斗(“近战,” “远攻”, “法术”等)。

他们发现智能体之间彼此交互的时间越长,它们在某些任务中嘚表现就越好并且增加同时存在的智能体的最大数量有助于“放大”它们的探索

有趣的是他们还发现,增加智能体的种群规模可以促使它们分散到地图的不同区域而在较大环境中训练的智能体“始终”优于在较小环境中训练的智能体

OpenAI在GitHub上发布了Neural MMO它的设计支持大量智能体(100台并行服务器每台最多支持128个智能体)。Neural MMO封装在基线中(在100多个世界中训练)可以比较agent的性能,并且计算开销相对较低——训练只需偠单个桌面CPU

OpenAI 在博客文章中详细介绍了Neural MMO 强化学习环境的技术细节:

多智能体强化学习两大挑战

近年来,多智能体设置已经成为深入强化学***研究的一个有效平台尽管取得了许多进展,多智能体强化学习仍然面临两个主要挑战

我们需要创建具有高度复杂性上限的开放式任務:当前的环境要么虽然复杂但过于狭窄,要么虽然开放但过于简单持续性和大规模等属性也很关键,但是我们还需要更多的基准环境(benchmark environments)來量化在具有大规模和持续性条件下的学习进度

大型多人在线游戏(Massively Multiplayer Online Games, MMOs)这个游戏类型模拟了一个大型生态系统,该系统由数量不等的玩家在歭续且广阔的环境中进行竞争

为了应对这些挑战,我们构建了Neural MMO它符合以下标准:

玩家(智能体)可以加入任何可用的服务器(环境),每个服務器(环境)都包含一个自动生成的可配置大小的tile-based游戏地图有些tile,如生长食物的森林瓦片和草地瓦片是可穿越的。其他的如水和固体石頭,则不能穿越

智能体在环境边缘的随机位置生成。它们必须获得食物和水并避免被其他智能体打倒,以维持生命踩在森林瓦片上戓靠近水的地方,分别会重新补充食物供应或水供应

然而,森林瓦片的食物供应有限随着时间的推移,食物会缓慢再生这意味着智能体们必须竞争食物瓦片,同时周期性地从无限的水瓦片中补充水的供应

玩家在战斗中使用三种战斗风格,分别是近战(Melee)远攻(Range)和法术(Mage)。

輸入:智能体观察以当前位置为中心的方形瓦片地图包括瓦片地形类型和入侵者的属性(健康、食物、水和位置)。

输出:智能体为下一个timestep輸出动作选项动作包括一次移动和一次攻击。

平台为价值函数、地图瓦片可视化分布和学习策略的agent-agent依赖关系提供了一个程序环境生成器(procedural environment generator)囷可视化工具Baseline使用超过100个世界的策略梯度进行训练。

作为一个简单的baseline我们使用普通的策略梯度训练了一个小型的、完全连接的架构,將值函数基线和奖励折扣作为唯一的增强智能体不会因为实现了特定的目标而获得奖励,而是只根据其lifetime(轨迹长度)进行优化:在其lifetime中每個tick都会获得1的奖励。我们通过计算所有玩家的最大值将可变长度的观察值(比如周围玩家的列表)转换为单个长度向量(OpenAI Five也使用了这个技巧)

GitHub开源的版本包含了完全分布式训练实现,基于PyTorch和Ray

训练时的最大population size在(16、32、64、128)之间。为了提高效率策略在由16个智能体组成的组之间共享。在测試时我们将在成对实验中的populations合并,并在一个固定的population size下评估lifetime我们只对觅食任务进行评估,因为作战策略更难直接比较结果显示,在更夶的population中训练出来的智能体总是表现得更好

智能体的策略是从多个群体中均匀采样的——不同群体的智能体共享架构,但只有相同群体中嘚智能体共享权重初步实验表明,随着多智能体交互作用的增加智能体的能力逐渐增强。增加同时存在的玩家的最大数量能够放大探索;群体数量的增加扩大了生态位的形成也就是说,扩大了群体在地图不同区域的扩散和觅食的趋势

服务器合并锦标赛:多智能体增強了竞争力

MMO之间没有标准的程序来评估跨多个服务器的相对玩家能力。然而MMO服务器有时会经历合并,即来自多个服务器的玩家基地被放置在单个服务器中我们通过合并在不同服务器上训练的玩家基地来实现“锦标赛”风格的评估。这使我们能够直接比较在不同实验环境Φ学习到的策略我们改变了测试时间范围,发现在较大环境中训练的智能体始终优于在较小环境中训练的智能体

增大群体规模扩大了探索

Population size的增大扩大了探索范围:智能体会分散开来,以避免竞争视频最后几帧显示了学习值函数叠加。

在自然界中动物之间的竞争可以噭励它们分散开来,以避免冲突我们观察到,随着同时存在的智能体数量的增加地图覆盖率也在增加。智能体学习探索仅仅是因为其怹智能体的存在提供了这样做的自然动机

物种数量的增加扩大了生态位的形成

物种数量(populations的数量)放大了生态位形成(niche formation)。探索地图覆盖了游戏哋图;不同的颜色对应不同的物种训练单一种群往往会产生单一的深度探索路径。训练8个种群会导致许多更浅的路径:种群分散以避免粅种间的竞争

在一个足够大且资源丰富的环境中,我们发现不同的智能体种群分布在整个地图上以避免在种群增长时与其他智能体竞爭。由于实体无法在竞争中胜过其种群中的其他智能体(即与它们共享权重)它们倾向于在地图上寻找包含足够资源以维持其人口的区域。DeepMind茬并发多智能体研究中也独立观察到类似的效果

每个方形地图显示了位于地图中心的智能体对其周围智能体存在的响应。我们展示了初始化和训练早期的觅食地图额外的依赖关系图对应于不同的觅食和战斗形式。

我们通过将智能体固定在假想地图的中心来可视化agent-agent依赖关系对于该智能体可见的每个位置,我们将显示如果在该位置有第二个智能体值函数将是什么。我们发现在觅食和战斗环境中,agent学习依赖于其他agent的策略当智能体学习环境中的战斗机制时,它们开始适当地评估有效的接近范围和接近的角度

我们的Neural MMO解决了之前基于游戏環境的两个主要限制,但仍有许多问题尚未解决NeuralMMO在环境复杂性和人口规模之间找到了一个中间地带。我们在设计这个环境时考虑到了开源扩展并将其作为研究社区的基础。

该链接将下载 THREE.js如果你不希望下载整个源代码库,可以手动完成此操作

如果硬件设置允许,请使鼡 Nvidia 驱动程序唯一真正的需求是支持每个着色器超过 16 个纹理。这只在 Counts visualizer 中需要 —— 如果在切换叠加时地形图消失那么你将知道你的设置是錯误的。

这是因为研究叠加层被编写为原始 glsl 着色器特别地,计数探索可视化器硬编码对应于探索地图的八个纹理 这超出了允许的纹理數量。

雷锋网 AI 科技评论按:OpenAI 于今日发布叻 Neural MMO它是一个为强化学习智能体创建的大型多智能体游戏环境。该平台支持在一个持久、开放的任务中使用大规模且数量可变的智能体將更多的智能体和物种囊括到环境中可以更好地执行探索任务,促进多种生态位的形成从而增强系统整体的能力。

近年来多智能体环境已经成为深度强化学习的一个有效的研究平台。虽然该领域目前已经取得了一定的研究进展但是多智能体强化学习仍存在两大主要挑戰:当前的强化学习环境要么足够复杂但是限制条件太多,普适性不强;要么限制条件很少但是过于简单因而我们需要创建具有高复杂喥上限的开放式任务,其中持久性和大的种群规模等属性是需要讨论的关键因素。但同时我们还需要更多的基准测试环境,来量化对於持久性和大的种群规模这些属性的学习进展大型多人在线游戏(MMO)类型的游戏模拟了一个规模庞大的生态系统,其中数量不断变化的玩家在持久、广阔的环境下对战

为了应对这些挑战,OpenAI 开发了 Neural MMO它满足以下的标准:

(1)持久性:在不对环境进行重置的情况下,智能体鈳以在其它智能体也正在学习的情况下同时进行学习策略必须考虑到长远的规划,并适应其他智能体可能发生快速变化的行为

(2)规模:该环境支持大规模且数量可变的实体。本实验考虑了在 100 个并发服务器中每个服务器中的 128 个并发的智能体长达 100M 的生命周期。

(3)效率:计算的准入门槛很低我们可以在一块桌面级 CPU 上训练有效的策略。

(4)扩展性:与现有的大型多人在线游戏类似我们设计的 Neural MMO 旨在更新噺的内容。它目前的核心功能包括程序化的基于拼接地块的地形生成寻找食物和水资源的系统以及战略战斗系统。在未来该系统有机會进行开源驱动的扩展。

玩家(智能体)可以加入到任何可用的服务器(环境)中每个服务器都会包含一个可配置大小的自动生成的基於地块的游戏地图。一些诸如上面放有食物的森林地块和草地地块是可以穿越的;其他的诸如水、实心岩石的地块则无法穿越

智能体在沿着环境边缘随机分布的位置诞生。为了维持生存的状态他们需要获取食物和水,同时还要避免与其他智能体进行战斗受到的伤害通過踩在森林地块上或站在水地块的旁边,智能体可以分别给自己补充一部分食物和水供应然而,森林地块中的食物供应有限食物会随著时间的推移缓慢地再生。这意味着智能体必须为争夺食品块而战并同时定期从无限的水形地块中补充水源。玩家可以使用三种战斗风格进行战斗分别为近战、远程攻击及法术攻击。

输入:智能体观察以其当前位置为中心的方形农作物地块输入包括地块的地形类型和當前智能体选中的属性(生命值、食物、水和位置)。

输出:智能体为下一个游戏时钟刻度(时间步)输出动作选项该动作由一次移动囷一次攻击组成。 

该平台提供了一个程序化的环境生成器以及「值函数、地图地块的访问分布、在学习到的策略中智能体与智能体之间的依赖关系」的可视化工具用以对比的基线模型是在 100 个世界中训练出来的策略梯度方法。

OpenAI 研究人员使用 、仅对价值函数基线和奖励折扣进荇了强化训练了一个小型的、全连接的架构作为一个简单的基线。智能体实现最优化以获得奖励仅仅是为了维持自身的生命周期(轨迹長度)而不是为了实现特定的目标:他们得每获得 1 个奖励,生命周期就会延长一个时钟刻度同时,他们通过计算出所有玩家获得奖励嘚最大值将长度可变的观测结果(例如周围玩家的列表)转换为一个定长的向量(OpenAI Five 也采用了这个技巧)。本项目发布的源代码包含了基於 PyTorch 和 Ray 的完整的分布式训练实现

训练时的最大种群规模在(16,3264,128)的范围内变化为了提高效率,每组中的 16 个智能体会共享策略在测試时,我们会合并在成对的实验中学到的种群并评估固定规模的种群的生命周期。由于战斗策略更加难于直接对比我们仅仅评估觅食荇为。在大规模种群上训练出来的智能体往往表现得更好

OpenAI 研究人员从大量种群中均匀采样得到智能体的策略,发现不同种群中的智能体會共享网络架构但只有同一种群中的智能体才会共享权重。初步的实验结果表明随着多智能体交互的增多,智能体的能力也会攀升提高共存玩家数量的上限可以扩大探索范围,而增加种群的数量则会扩大生态位的形成结构——也就是说扩大了种群在地图上的不同区域扩散和觅食的趋势。

服务器合并锦标赛:多智能体能力增强

对于大型多智能体在线游戏来说并没有跨服务器评估玩家相对战斗力的标准方法。然而大型多智能体在线游戏的服务器有时会出现合并的情况,此时多个服务器上的玩家数据会被放入同一个服务器通过合并茬不同服务器中训练的玩家数据,OpenAI 研究人员实现了「锦标赛」式的模型评估这让他们能够直接比较智能体在不同实验环境下学习到的策畧。另外通过改变测试时的环境规模,他们发现在较大的环境中训练的智能体一致地比在较小的环境中训练的智能体表现更好

种群规模的增加扩大了探索范围

在自然界中,动物之间的竞争可以激励它们分散开来以避免冲突研究人员观察到,智能体在地图上的覆盖率随囲存智能体数量的增加而增加智能体之所以会学着去探索,只是因为其他智能体的存在为它们提供了这样做的自然动机

种群数量的增加扩大了生态位的形成

物种数量(种群数量)的增加扩大了生态位(种群在自然生态系统中,在时间、空间上所占据的位置及其与相关种群之间的功能关系和作用)的形成可视化的地图渐渐覆盖了游戏的地图,不同的颜色对应不同的物种对单个种群的训练往往会促使系統产生一个深入的探索路径。而训练八个种群则会导致产生很多较浅的探索路径:种群会分散以避免物种之间的竞争

给定一个足够大的資源丰富的环境,他们发现当智能体的种群数量增加时不同种群会分散地遍布在地图上以避免与其他种群的竞争。由于实体无法在竞争Φ胜过同一个种群中的其它智能体(即与之共享权重的智能体)它们倾向于寻找地图上包含足够多用于维持种群规模的资源的区域。DeepMind 在囲生多智能体研究中也独立观察到了类似的效果(

每个方形地图显示了位于方块中心的智能体对其周围智能体的响应我们展示出了初始囮阶段和训练早期的觅食地图,以及额外的对应于不同的觅食和战斗形式的依赖关系图

OpenAI 研究人员通过将智能体固定在假设的地图地块的Φ心,来可视化智能体与智能体之间的依赖关系针对对该智能体可见的每个位置,我们的实验显示了假如在该位置有第二个智能体,價值函数将会变成什么同时,他们发现在觅食和战斗环境中,智能体学习的策略会依赖于其他智能体的策略经过了仅仅几分钟的训練后,智能体就能学会「正中靶心」的正确回避路线从而开始更有效地觅食。当智能体学习环境中的战斗机制时它们会开始适当地评估有效的接近范围和角度。

OpenAI 的 Neural MMO 解决了之前基于游戏的环境的两个主要局限性但仍有许多问题尚未解决。Neural MMO 在环境复杂性和种群规模之间找箌了一个中间地带同时,他们在设计这个环境时还考虑到了开源扩展并计划将其作为创建研究社区的基础。

总结:强化学习中的「探索-利用」问题

强化学习是一种试错学习方式:最开始的时候不清楚环境的工作方式不清楚执行什么样的动作是对的,什么样的动作是错嘚因而智能体需要从不断尝试的经验中发现一个好的决策,从而在这个过程中获取更多的奖励

因此,对于强化学习研究来说需要在探索(未知领域)和利用(现有知识)之间找到平衡。实际上探索和利用是一对相对来说较为矛盾的概念,利用是做出当前信息下的最佳决策探索则是尝试不同的行为继而收集更多的信息、期望得到更好的决策。最好的长期战略通常包含一些牺牲短期利益举措通过搜集更多或者说足够多的信息使得个体能够达到宏观上的最佳策略。

实际上OpenAI 扩大种群规模和种群数量,使智能体趋向于分散也正是希望能够扩大探索的范围,找到能够使智能体能力更强、种群更稳定的决策方式从单个服务器上看,这种做法背后隐藏着最大熵的思想;而從整体来看他们依托于 OpenAI 强大的计算资源,将探索任务用分而治之的方式分配到各个服务器上分别进行决策最后再进行合并。

via  雷锋网(公眾号:雷锋网) AI 科技评论编译 雷锋网

雷锋网原创文章未经授权禁止转载。详情见

参考资料

 

随机推荐