博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenAI发布大型强化深度学习模拟器Neural MMO,AI适者生存择最优
阅读量:6168 次
发布时间:2019-06-21

本文共 1844 字,大约阅读时间需要 6 分钟。

今天,OpenAI发布了一款”大型多角色”虚拟训练场景游戏,把AI代理放进一个类似于RPG(角色扮演游戏)的模拟场景中,AI们会互相竞争,通过战争来抢夺有限的资源,从而得到优化。

“大型多人在线游戏(MMO)模拟了众多玩家在一个持续、广阔的环境中竞争的大型生态系统,”OpenAI在博客文章中写道。“代理和物种多样化会带来更好的探索和更高的整体能力。”

GitHub地址:

Neural MMO的特点

现在,多代理环境已经成为深度强化学习研究很常用的一个实验平台,但是却存在很多问题和局限性,已有的模拟环境有些虽然够复杂但范围太小,有些虽然开放但过于简单。为了解决这些问题,OpenAI研发并开放了Neural MMO。

和其他系统相比,Neural MMO具有以下特点:

  • 持久性:代理无需环境重置,可在其他学习代理存在的情况下同时学习。策略必须考虑长时间的视野,并适应其他代理行为的潜在快速变化。
  • 规模:环境支持大量可变数量的代理。实验考虑到了100个并发服务器中每个服务器中多达128个并发代理长达100M的生命周期。
  • 效率:包含可以比较代理性能表现的baseline(在100多个世界中训练),且计算开销相对较低,训练只需要一个桌面CPU。
  • 扩展:Neural MMO目前的核心功能包括基于地图的地形程序生成,食物和水觅食系统以及战略战斗系统。未来可能会进行开源驱动的扩展。

Neural MMO环境中会随机生成AI代理,其中包含自动生成的预定大小的地图。一些地图是可穿越的,如“森林”(承载食物)和“草”,而其他地图则不能穿越(如水和石头)。

\"image\"

OpenAI 使用神经MMO来训练AI系统,通过奖励代理生命周期来进化,也就是说,AI会让自己活的尽量长久,代理之间彼此交互的时间越长,就可以更好地完成某些任务,而且增加并发代理的最大数量可以更好地进行探索。有趣的是,他们还发现增加代理的规模会促使它们进入地图的不同部分,而在较广阔的环境中训练的代理“始终”胜过只在较小环境中经过训练的AI。

  • 输入:代理观察以各自位置为中心的地图,包括地形类型和占用代理的选择属性(健康、食物、水和位置)。
  • 输出:代理按时间戳(或刻度)进行一次移动和一次攻击,来寻找水和食物资源,并和其他代理一起参与战斗。

\"image\"

平台为价值功能、地图图块到达分布以及学习策略的代理之间依赖性提供了程序环境生成器和可视化工具。Baseline经过100多个世界的policy梯度训练。

模型:适者生存

为了进行一个简单的baseline测试,我们使用vanilla策略梯度训练一个小型、完全连接的架构,其中值函数基线和奖励作为唯一的增强功能。我们不是让代理通过完成特定任务获得奖励,而是让代理们活得越久越好,活得越久的代理会得到优化,获得更高分数。我们通过计算所有玩家的最大值来将可变长度观测值(例如周围玩家数量)转换为单个长度向量(OpenAI Five也使用了这个技巧)。源版本发布包括我们基于PyTorch和Ray的完整分布式训练实现。

评估结果

\"image\"

训练的最大群体数量在(16,32,64,128)之间变化。为了提高效率,政策由16个代理共享。在测试时,我们将在实验中结对学习的代理合并,并以固定的群体数量评估生命周期。我们仅通过觅食进行评估,因为战斗策略难以直接进行比较。在较大种群中经过训练的代理表现总是更好。

“由于AI不能超越自己的并发代理(即与他们共有权重的代理),它们倾向于寻找包含足够资源以维持种群发展的地图区域,”OpenAI写道。“在自然界中,动物之间会通过向其他区域扩散以避免竞争。我们观察到,地图覆盖范围会随着并发代理数量的增加而增加。仅仅因为其他AI的存在,就已经刺激AI去学会探索了。“

但值得注意的是,这并不是首创。12月,OpenAI发布了,这是一款经典的平台游戏,旨在衡量代理将经验迁移到不熟悉场景的能力。8月,挪威阿德大学的研究人员开放了一个实时战略游戏。

除了模拟学习环境之外,数据科学家还在《星际争霸 II》、《蒙特祖玛的复仇》、《刀塔 2》、《雷神之锤III》和其他游戏中设置了AI,为的是某一天能够开发出能够诊断疾病、预测复杂蛋白质结构和分割CT扫描的系统。“这些游戏是我们测试算法的一个很好的试验场地,”DeepMind联合创始人Demis Hassabis表示。“最终,我们的目标是开发可以迁移到现实世界的算法,以解决真正具有挑战性的问题,并帮助这些领域的专家。”

参考链接:

\"image\"

转载地址:http://wynba.baihongyu.com/

你可能感兴趣的文章
Linux系统sar命令解析
查看>>
Codeforces Beta Round #4 (Div. 2 Only) B. Before an Exam dp
查看>>
WINDOWS 7下的记事本程序目录
查看>>
jquery------.mouseover()和.mouseout()的高级效果使用
查看>>
ZFPlayer 源码解读
查看>>
QT全局宏变量的实现
查看>>
传智168期JavaEE就业班 day01-html
查看>>
[Todo]对于thrift和protobuf比较好的描述
查看>>
分布式协调服务ZooKeeper工作原理
查看>>
对象序列化(三):控制序列化过程
查看>>
HeadFirst设计模式笔记:(六)命令模式 —— 封装调用
查看>>
SQL Server 2008 游标使用实例
查看>>
eclipse 如何忽略js文件报错
查看>>
OpenSSL命令---pkcs12
查看>>
ViewPager,实现真正的无限循环(定时+手动)
查看>>
FineUI(专业版)v2.6.0即将支持的两个新特性!
查看>>
Leetcode: H-Index
查看>>
从国与国到人与人
查看>>
生成freeswitch事件的几种方式
查看>>
不再平庸
查看>>