写点什么

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:002298

评论

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

嵌入式面试之《Linux系统编程100问》

哒宰的自我修养

Linux 线程 网络编程 进程

甲方日常42

句子

工作 随笔杂谈 日常

老板下了死命令,要把日志系统切换到Logback

沉默王二

Java logback 日志系统

【架构师训练营 1 期】第六周作业

诺乐

架构师训练营第二周总结

lakers

极客大学架构师训练营

架构师训练营第二周作业

lakers

极客大学架构师训练营

当AI入职FBI,克格勃直呼内行

脑极体

美国半导体十年计划中的NO.1,模拟硬件究竟有什么价值?

脑极体

Scrapy 源码剖析(三)Scrapy有哪些核心组件?

Kaito

Python 爬虫 Scrapy 源码剖析

Scrapy 源码剖析(四)Scrapy如何完成抓取任务?

Kaito

Python 爬虫 Scrapy 源码剖析

2020年9月公有云性能评测:UCloud、腾讯云屈居二三名,冠军竟然是它?

博睿数据

云计算 公有云 评测 排行榜

架构师训练营第二周

M.

CICD实战——服务自动测试

TARS基金会

微服务 单元测试 CI/CD

架构师训练营第 1 期 -- 第六周学习总结

发酵的死神

极客大学架构师训练营

如何构建一个通用的垂直爬虫平台?

Kaito

Python 爬虫 代理

央行数字货币亮相 吹皱一池春水

CECBC

数字货币 银行

积极参与数字货币等国际规则制定,塑造新的竞争优势

CECBC

疫情 经济

架构师训练营第 1 期 第 6 周作业

李循律

极客大学架构师训练营

TarsCpp 组件 之 智能指针详解

TARS基金会

c++ 微服务 智能指针 TARS

2020年区块链行业十大趋势

CECBC

区块链 技术人才

目标检测学习-比赛路线

Dreamer

架构师训练营第 1 期 -- 第六周作业

发酵的死神

极客大学架构师训练营

【面经】面试官:讲讲类的加载、链接和初始化?

冰河

架构 JVM 类加载 优化 性能调试

Scrapy源码剖析(一)架构概览

Kaito

Python 爬虫 Scrapy 源码剖析

TarsCpp 组件之 MySQL 操作

TARS基金会

c++ MySQL 数据库 微服务 TARS

「架构师训练营第 1 期」第六周作业

张国荣

SpringCloud 和 SpringBoot 版本选型

hepingfly

微服务 springboot SpringCloud 选型

Java9新特性-上篇

hepingfly

Java Java新特性

有状态软件如何在k8s上快速扩容甚至自动扩容

东风微鸣

Kubernetes DevOps openshift

如何搭建一个爬虫代理服务?

Kaito

爬虫 代理

Scrapy 源码剖析(二)Scrapy是如何运行起来的?

Kaito

Python 爬虫 Scrapy 源码剖析

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