写点什么

Facebook 开源 CraftAssist,用于辅助 Minecraft AI 助理研究

  • 2019-11-06
  • 本文字数:1384 字

    阅读完需:约 5 分钟

Facebook开源CraftAssist,用于辅助Minecraft AI助理研究

Facebook AI 研究人员开源了CraftAssist,一个为 Minecraft 游戏构建交互式助手机器人的框架。这些机器人使用自然语言理解(NLU)来解析和执行来自人类玩家的文本命令,比如在游戏世界中建造房屋。研究人员可以扩展该框架的模块化结构,执行他们自己的 ML 实验。


研究小组在最近的一篇博客文章中概述了这个系统。CraftAssist 机器人使用与标准游戏客户端相同的协议连接到游戏中,所以它们可以做任何人类玩家可以做的事情。这些机器人使用 Minecraft 内置的基于文本的聊天接口与其他玩家互动。人类可以给机器人下达命令,包括高级指令,如“在蓝色立方体旁边建一座房子”。该版本的目标是帮助改善人机协作:


该平台的目的是为代理研究提供支持,人类可以与这些代理发生有趣的交互,并且对由人类参与者指定和评估的各种任务来说很有用。为了鼓励更广泛的 AI 研究社区使用 CraftAssist 平台,我们开源了这个框架,以及一个基准助手,以及我们用来构建这个框架的工具和数据。


机器人控制系统一般由感知子系统和动作选择子系统组成。感知是指将原始传感器数据转换为更为抽象的表示形式。例如,图像识别是一种将图像像素转换为描述图像内容的文本标签的感知任务。当使用与期望输出配对的传感器输入数据集训练现代深度学习模型时,它们可以在很多视觉和 NLU 任务上实现接近人类的水平。


行动选择是指机器人“决定”如何与世界发生互动来实现某种目标的过程;例如,为了赢得一场围棋比赛而采取的行动。很多成功的系统都使用了强化学习(RL),即机器人反复尝试一个任务,每次尝试都给出一个数字奖励结果。游戏是 RL 的一个常见测试平台,因为它们具有定义良好的操作和结果集,而经过现代 RL 训练的机器人在很多不同的游戏中常常能够超越人类。一些研究小组(例如谷歌 DeepMind)将感知和行为选择子系统结合成一个单一的经过深度 RL 训练的“端到端”系统。现在有很多用于训练这些系统的虚拟环境,包括 Facebook 开发的一个模拟栖息地。微软已经为 Minecraft 开源了一个叫作Project Malmo的“AI-gym”接口,以及一个大数据集,鼓励人们使用 Minecraft 作为 RL 研究的测试平台。


CraftAssist 并没有使用端到端学习。相反,Facebook 选择了一种更“工程化”、模块化的方式,建立了明确的感知和行动选择模块。正如一位团队成员在 Reddit 上的一个帖子中所说的那样,与 RL 项目(如“Project Malmo”)不同,“Project Malmo 更注重学习之类的东西(如导航和感觉运动控制)”,CraftAssist 更注重通过自然语言促进人类和机器人的互动。此外,研究小组在 arXiv 的一篇论文中说:


我们感兴趣的不是在单个复杂任务上的表现,而是处理大量简单任务的能力,而这些任务是由人类指定的(可能不太好)。


CraftAssist 确实包含了一些机器训练过的组件。机器人使用基于GRU和注意力模型的神经语义分析器来解析对话。机器人还有一个感知模块,利用深度学习来给建筑物的不同部分贴上标签,比如“墙”或“地板”。研究小组希望这种模块化结构可以鼓励其他人“嵌入”他们自己用 ML 构建的模块。


除了 CraftAssist 源代码,Facebook 还发布了几个相关的数据集,包括用于训练解析器的对话数据,以及由玩家在游戏中构建的不同房屋的众包数据集,这些数据集可用于训练机器人构建类似的结构。代码和数据集可以在 GitHub 上找到。


原文链接


Facebook Open-Sources CraftAssist Framework for AI Assistants in Minecraft


2019-11-06 08:002028

评论

发布
暂无评论
发现更多内容

hive拉链表优化·百亿量级数据支持准实时更新

誓约·追光者

hive 实时数仓 海量数据库的设计与实践

微服务架构关键点思考

dony.zhang

架构师课作业 - 第十周

Tulane

架构师第十周

Tulane

架构师课程第十周总结

dongge

【架构师训练营】第 10 周总结

花生无翼

架构师训练营第十周学习总结

Bruce Xiong

服务化问题与方案简述

superman

微服务 服务化改造

架构训练营第十周感悟

张锐

week10 作业

雪涛公子

【架构师训练营】第 10 周作业

花生无翼

手动实现mini-vue

晓枫

Java vue.js

Django单元测试用法及Fixtures用法

BigYoung

Python django 单元测试 Fixtures

下载的附件名总乱码?你该去读一下 RFC 文档了!

Java课代表

Spring Boot

让我们慢慢地成长

姜海天

个人成长

【数据结构与算法】如何高效学习数据结构与算法

三钻

学习 数据结构与算法

架构师训练营——第10周学习总结

jiangnanage

week10 总结

雪涛公子

浅析Python3列表操作之*和*=

王坤祥

Python Python基础

Python中list操作之append、extend

王坤祥

Python Python基础

基于小程序云Serverless开发微信小程序

移动研发平台EMAS

致力打造下一代云原生分布式消息系统,StreamNative 完成源码资本数百万美元 Pre-A 轮融资,红杉中国种子基金跟投

Apache Pulsar

kafka Apache Pulsar StreamNative

Dubbo微服务调用过程时序图

2流程序员

架构师训练营——第 10 周作业

jiangnanage

Dubbo的服务注册与调用

superman

架构训练营第十周作业

张锐

OAuth 2.0

陈皮

威联通(NAS)应用篇:搭建个人图床

BigYoung

图床 NAS QNAP 威联通 自建

iOS Abort问题系统性解决方案

移动研发平台EMAS

ios 监控 移动

微服务、中台和 DDD

dongge

微服务与DDD

走过路过飞过

Facebook开源CraftAssist,用于辅助Minecraft AI助理研究_AI&大模型_Anthony Alford_InfoQ精选文章