今天,OpenAI 发布了一款”大型多角色”虚拟训练场景游戏,把 AI 代理放进一个类似于 RPG(角色扮演游戏)的模拟场景中,AI 们会互相竞争,通过战争来抢夺有限的资源,从而得到优化。
“大型多人在线游戏(MMO)模拟了众多玩家在一个持续、广阔的环境中竞争的大型生态系统,”OpenAI 在博客文章中写道。“代理和物种多样化会带来更好的探索和更高的整体能力。”
GitHub 地址:https://github.com/openai/neural-mmo
Neural MMO 的特点
现在,多代理环境已经成为深度强化学习研究很常用的一个实验平台,但是却存在很多问题和局限性,已有的模拟环境有些虽然够复杂但范围太小,有些虽然开放但过于简单。为了解决这些问题,OpenAI 研发并开放了 Neural MMO。
和其他系统相比,Neural MMO 具有以下特点:
持久性:代理无需环境重置,可在其他学习代理存在的情况下同时学习。策略必须考虑长时间的视野,并适应其他代理行为的潜在快速变化。
规模:环境支持大量可变数量的代理。实验考虑到了 100 个并发服务器中每个服务器中多达 128 个并发代理长达 100M 的生命周期。
效率:包含可以比较代理性能表现的 baseline(在 100 多个世界中训练),且计算开销相对较低,训练只需要一个桌面 CPU。
扩展:Neural MMO 目前的核心功能包括基于地图的地形程序生成,食物和水觅食系统以及战略战斗系统。未来可能会进行开源驱动的扩展。
Neural MMO 环境中会随机生成 AI 代理,其中包含自动生成的预定大小的地图。一些地图是可穿越的,如“森林”(承载食物)和“草”,而其他地图则不能穿越(如水和石头)。
OpenAI 使用神经 MMO 来训练 AI 系统,通过奖励代理生命周期来进化,也就是说,AI 会让自己活的尽量长久,代理之间彼此交互的时间越长,就可以更好地完成某些任务,而且增加并发代理的最大数量可以更好地进行探索。有趣的是,他们还发现增加代理的规模会促使它们进入地图的不同部分,而在较广阔的环境中训练的代理“始终”胜过只在较小环境中经过训练的 AI。
输入:代理观察以各自位置为中心的地图,包括地形类型和占用代理的选择属性(健康、食物、水和位置)。
输出:代理按时间戳(或刻度)进行一次移动和一次攻击,来寻找水和食物资源,并和其他代理一起参与战斗。
平台为价值功能、地图图块到达分布以及学习策略的代理之间依赖性提供了程序环境生成器和可视化工具。Baseline 经过 100 多个世界的 policy 梯度训练。
模型:适者生存
为了进行一个简单的 baseline 测试,我们使用 vanilla 策略梯度训练一个小型、完全连接的架构,其中值函数基线和奖励作为唯一的增强功能。我们不是让代理通过完成特定任务获得奖励,而是让代理们活得越久越好,活得越久的代理会得到优化,获得更高分数。我们通过计算所有玩家的最大值来将可变长度观测值(例如周围玩家数量)转换为单个长度向量(OpenAI Five 也使用了这个技巧)。源版本发布包括我们基于 PyTorch 和 Ray 的完整分布式训练实现。
评估结果
训练的最大群体数量在(16,32,64,128)之间变化。为了提高效率,政策由 16 个代理共享。在测试时,我们将在实验中结对学习的代理合并,并以固定的群体数量评估生命周期。我们仅通过觅食进行评估,因为战斗策略难以直接进行比较。在较大种群中经过训练的代理表现总是更好。
“由于 AI 不能超越自己的并发代理(即与他们共有权重的代理),它们倾向于寻找包含足够资源以维持种群发展的地图区域,”OpenAI 写道。“在自然界中,动物之间会通过向其他区域扩散以避免竞争。我们观察到,地图覆盖范围会随着并发代理数量的增加而增加。仅仅因为其他 AI 的存在,就已经刺激 AI 去学会探索了。“
但值得注意的是,这并不是首创。12 月,OpenAI 发布了CoinRun,这是一款经典的平台游戏,旨在衡量代理将经验迁移到不熟悉场景的能力。8 月,挪威阿德大学的研究人员开放了一个实时战略游戏人工智能训练环境。
除了模拟学习环境之外,数据科学家还在《星际争霸 II》、《蒙特祖玛的复仇》、《刀塔 2》、《雷神之锤 III》和其他游戏中设置了 AI,为的是某一天能够开发出能够诊断疾病、预测复杂蛋白质结构和分割 CT 扫描的系统。“这些游戏是我们测试算法的一个很好的试验场地,”DeepMind 联合创始人 Demis Hassabis 表示。“最终,我们的目标是开发可以迁移到现实世界的算法,以解决真正具有挑战性的问题,并帮助这些领域的专家。”
参考链接:
https://blog.openai.com/neural-mmo/
评论