模拟/建模/设计

使用 MineDojo 构建具有一般能力的人工智能代理

使用视频游戏作为训练人工智能的媒介已经成为人工智能研究界的一种流行方法。这些自主代理在 Atari 游戏、星际争霸、 Dota 和 Go 中取得了巨大成功。但是,虽然这些进步在人工智能研究中很受欢迎,但与不断从开放式任务中学习的人类不同,智能体并没有泛化到一组非常特定的任务之外。

构建能够在广泛任务中实现高水平性能的嵌入式代理一直是人工智能研究界面临的最大挑战之一。为了构建一个成功的多面手代理,用户需要一个支持多种任务和目标的环境、一个多模式知识的大规模数据库和一个灵活且可扩展的代理体系结构。

进入 Minecraft ,世界上玩得最多的游戏。凭借其灵活的游戏性,玩家可以做各种各样的动作。从建造中世纪城堡到探索危险环境,再到收集资源建造幽冥之门与幽冥之龙作战。这种创造性的氛围是培养具体化代理的完美环境。

A table of images showing the NVIDIA AI agent completing different tasks.
图 1 。 NVIDIA AI 代理遵循 MineDojo 框架内的提示

为了利用这样一个最佳的训练场地, NVIDIA 的研究人员创造了 MineDojo 。 MineDojo 构建了一个庞大的框架,其特点是一个模拟套件,包含数千个不同的开放式任务和一个互联网规模的知识库。如果没有一个扩展的数据库,构建一个强大到足以完成这些任务的人工智能是不可能的。

MineDojo 的使命是促进研究,以实现具有普遍能力的嵌入式代理的目标。为了使嵌入式代理成功,环境需要提供几乎无限多的开放式任务和操作。这是通过让代理访问大型信息数据库来获取知识,然后应用所学知识来实现的。从嵌入式代理获得的训练需要具有可扩展性,以便稍后将大规模知识转换为可操作的见解。

A few screenshots and word maps detailing the vast annotated database from YouTube, the Minecraft Wiki and Reddit for an AI agent to train on.
图 2:MineDojo 框架利用互联网规模的数据库来训练人工智能代理

在 MineDojo 中,嵌入式代理可以访问三个互联网规模的数据集。随着 750000 个 Minecraft YouTube 视频(总计 33 年多的 Minecraft 视频)被纳入数据库, 200 多万个单词被转录。

MineDojo 还从 Minecraft Wiki 上抓取了 6000 多个网页,为这些网页的视觉元素创建了 220 多万个边界框)。此外,还捕获了数百万条与 Minecraft 相关的 Reddit 线程以及在游戏中可以进行的各种活动。问题包括如何解决某些任务,以图像和视频格式展示成就和创作,以及一般提示和技巧。

Screenshots of webpages being annotated for the AI agent's training from the Minecraft Wiki.
Screenshots of Reddit questions being scraped for the AI to train on.
图 3 。为 MineDojo 框架从互联网上注释和刮取的内容示例

MineDojo 提供了一组模拟器 API ,用户可以使用这些 API 来训练他们的人工智能代理。它提供了统一的观察和操作空间,以帮助代理适应新的场景和多任务。此外,使用 API ,用户可以利用 Minecraft 宇宙中的所有三个世界来扩展代理可以执行的任务和操作的数量。

在模拟器中, MIneDojo 将基准测试任务分为两类:编程任务和创造性任务。

编程任务定义明确,易于评估,例如“存活 3 天”或“在森林中获得一单位南瓜”

创造性的任务更具开放性,例如“建造一座美丽的海滩小屋”很难通过一套明确的规则来定义什么是海滩别墅。这些任务是为了鼓励研究界开发更人性化和富有想象力的人工智能代理。

Video clips of the variety of tasks that are benchmarked through MineDojo.
图 4 。 MineDojo 目前为数千项创造性和程序性任务提供了基准

自然语言是 MineDojo 框架的基石。它有助于开放式词汇理解,为图像和视频模式提供基础,并作为指定指令的直观界面。结合 最新的语音识别技术 ,在不久的将来,你可以像在多人合作模式下与朋友一样与人工智能代理交谈。

例如:“在我们的房子前面种一排蓝色的花。在门框上加一些金色的装饰。让我们去探索河边的洞穴。”这一切都是可能的。

使用 MineCLIP 进行概念验证

为了帮助推动该项目并提供概念证明, MineDojo 研究人员已经实现了一个单语言提示代理,以完成 Minecraft 中的几个复杂任务,称为 MineCLIP 。这种新颖的代理学习算法利用了 33 年的 Minecraft YouTube 视频。然而,值得一提的是,任何代理都可以根据用户的判断使用互联网规模数据库的任何或全部三个部分。

A flowchart of the MineCLIP agent showing the reward signal to train the embodied agent.
图 5 。 MineCLIP 学习从大量 YouTube 视频中关联视频和文本。关联分数提供了一个奖励信号,引导代理并行学习多个任务

MineCLIP 作为一个具体的代理,从 YouTube 视频中学习 Minecraft 的概念和动作,而不需要人工标记。 YouTubers 通常会在播放游戏视频时讲述他们在做什么。 MineCLIP 是一个大型 transformer 模型,它学习将视频剪辑与其对应的英语成绩单相关联。

该关联分数可以作为奖励信号提供,以指导强化学习代理完成任务。对于示例任务“剪一只羊以获得羊毛”,如果代理接近羊, MineCLIP 会给代理较高的奖励,但如果代理漫无目的地漫游,则会给较低的奖励。它甚至可以在游戏中进行多任务处理,以完成广泛的简单任务。

构建具有普遍能力的具体化代理是人工智能研究的圣杯目标。 MineDojo 提供了 1000 个任务的基准、互联网规模的丰富知识库和创新算法,作为解决这一重大挑战的第一步。

随时关注研究社区下一步提出的新模型和技术!今天开始 using MineDojo 。

阅读更多关于 framework 及其发现的信息。探索其他 NVIDIA research


标签