写点什么

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

评论

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

应用配置管理,基础原理分析

Java 微服务 构架

Java 使用 char[] Array 还是 String 存储字符串

HoneyMoose

SRE Lesson One -- Day1 准备你的工作环境

耳东@Erdong

SRE 6月月更 SRE Lesson One

全面双录倒计时,融云助力泛金融业务办理高效合规可回溯

融云 RongCloud

Discourse 新用户可插入媒体的数量

HoneyMoose

Java 中的Comparator使用技巧

Nick

Java stream 6月月更 Comparator nullsFirst

如何使用物联网低代码平台进行设备调试?

AIRIOT

低代码 物联网 低代码开发

MySql 过滤查询(以字母开头,以数字开头,非数字开头,非字母开头)

迷彩

数据库 MySQL 数据库 6月月更

【LeetCode】 移除字母异位词后的结果数组Java题解

Albert

LeetCode 6月月更

linux之我常用的20条命令( 之三)

入门小站

Linux

K8S学习笔记--《开篇词|迎难而上,做云原生时代的弄潮儿》

IT蜗壳-Tango

容器 k8s IT蜗壳教学 6月月更

设计微博系统中“微博评论”高性能高可用计算机构

Fan

架构师实战营

Eureka的TimedSupervisorTask类(自动调节间隔的周期性任务)

程序员欣宸

Java SpringCloud 6月月更

接口测试(apipost、jmeter和python脚本)——测试工具

Xd

Java 后端 接口测试

如何提高远程办公的效率?| 社区征文

石云升

远程办公 6月月更 初夏征文

Python 设计模式:单例模式

宇宙之一粟

Python 单例模式 6月月更

Java Core 「13」ReentrantReadWriteLock 再探析

Samson

学习笔记 Java core 6月月更

C语言数据的储存

未见花闻

6月月更

DOM操作

Jason199

js DOM事件 6月月更

Hoo虎符研究院 | 币圈后浪D/Bond一个基于ERC-3475标准开发的去中心化债券生态系统平台

区块链前沿News

Hoo 虎符交易所

Any to Any 实时变声的实现与落地丨RTC Dev Meetup

声网

音频 RTC Dev Meetup 生态专栏 语音处理

在线JSON转YAML工具

入门小站

工具

深挖数据价值,2022隐私计算大赛开启!

Jessica@数牍

隐私计算 大数据技能大赛 隐匿查询性能优化 隐私求交性能优化

如何写出同事看不懂的Java代码?

码农参上

后端 Java’

leetcode 221. Maximal Square 最大正方形(中等)

okokabcd

LeetCode 动态规划 数据结构与算法

mysql中的查询计划及sql语句性能分析:explain

乌龟哥哥

6月月更

一条命令开启监控之旅!

TanCloud探云

开源 监控系统

PingCAP 入选 2022 Gartner 云数据库“客户之声”,获评“卓越表现者”最高分

Geek_2d6073

在线文本列表批量添加行号工具

入门小站

工具

军体拳代码

工程师日月

6月月更

Ajax入门教程

倔强的牛角

ajax 6月月更

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