作者:Linxi Fan, Guanzhi Wang, Yunfan Jiang
项目地址:https://minedojo.org/
来源机构:NVIDIA, Caltech, Stanford
github:https://github.com/MineDojo/MineDojo
文档:https://docs.minedojo.org/
摘要
这篇论文介绍了一个名为MineDojo的新框架,旨在开发能够执行广泛任务的通用智能体。论文指出,现有的自主智能体通常在有限和人工设计的目标环境中学习,这限制了它们在更广泛任务和能力上的泛化。相比之下,MineDojo建议使用三大支柱来构建通用智能体:1)支持多种任务和目标的环境;2)大规模多模态知识库;3)灵活且可扩展的智能体架构。
MineDojo是基于流行的Minecraft游戏建立的,提供了一个仿真平台,包含数千种不同的开放式任务。这些任务由自然语言提示定义,比以往的Minecraft基准测试更为广泛。为了评估智能体,MineDojo引入了一个基于大型视频语言模型的新颖评估协议,该模型在Minecraft YouTube视频上进行了预训练。这种评估方式与人类评分相辅相成,虽然精确但成本更高。
除此之外,MineDojo还包含了一个庞大的互联网规模的多模态Minecraft知识库,涵盖了730K+ YouTube视频、6K+自由格式的Wiki页面和340K+ Reddit帖子。这个知识库旨在帮助智能体自动学习多样化技能、发展复杂策略、发现有趣的目标并学习实用的表示。
论文还介绍了一种新的大规模预训练算法,该算法利用从网络上收集的域知识。利用MineDojo的YouTube视频,他们训练了一种视频-文本对比模型,类似于CLIP,该模型能将自然语言字幕与时间对齐的视频片段关联起来。这种学习到的相关性评分被有效地用作强化学习训练中的开放词汇、大规模多任务奖励函数。实验表明,该智能体在实验中解决了大多数任务,其性能与使用精心设计的密集型奖励训练的智能体相当,甚至在某些情况下超过了它们,成功率提高了多达73%。
总的来说,这篇论文提出了一个开放式任务套件、互联网规模的域知识和基于最新大型预训练模型的智能体学习方法。MineDojo的模拟器、知识库、算法实现和预训练模型都已开源,以促进社区开发新算法并朝向通用自主智能体的目标前进。
图1展示了MineDojo框架,这是一个开发开放式、具有广泛适应能力的智能体的新框架。MineDojo特色在于它包含了一个基准测试套件,这个套件由数千种多样化的开放式任务组成,这些任务都是用自然语言提示来定义的。此外,MineDojo还提供了一个互联网规模的多模态知识库,其中包含YouTube视频、Wiki页面和Reddit帖子。这个数据库捕捉了数百万Minecraft游戏玩家的集体经验和智慧,供AI智能体学习。
图2展示了MineDojo智能体在四个选定任务(剪羊毛、和僵尸猪人战斗、找到传送门、铺地毯)上学习到的行为。图的最左侧文本是训练中使用的任务提示。这些任务提示用于指导智能体的行动,从而展示其在不同任务中所学习到的行为模式。
主要贡献
这篇论文的主要贡献可以概括为以下几点:
-
开放式任务的仿真平台:MineDojo提供了一个仿真平台,包含数千种多样的开放式任务,这些任务是通过自然语言提示定义的。该平台在Minecraft之上提供了便利的API,用于标准化任务规范、世界设置以及智能体的观察/动作空间。这个任务套件比先前的Minecraft基准测试,如MineRL挑战,大两个数量级。套件包括长期视野的开放式任务,这些任务难以通过自动程序进行评估,例如“建造一个有两层和游泳池的现代豪宅”等。
-
互联网规模的多模态Minecraft知识库:MineDojo特色在于其庞大的多模态Minecraft知识库。它包含超过730K+的YouTube视频、6K+的自由格式Wiki页面以及340K+的Reddit帖子。这些内容捕捉了数百万Minecraft玩家的集体经验和智慧,目的是帮助智能体自动学习多样化的技能、发展复杂的策略、发现有趣的目标,并自动学习实用的表示。
-
具有大规模预训练的智能体算法:论文开发了一种新的学习算法,用于在互联网规模的域知识中训练智能体。该算法使用来自MineDojo的大量YouTube视频,训练了一种视频-文本对比模型。这种模型可以将自然语言字幕与时间对齐的视频片段相关联。论文展示了这种学习到的相关性评分可以有效地用作强化学习训练中的开放词汇、大规模多任务奖励函数。实验表明,该智能体在大部分任务中表现优秀,其性能与使用密集型奖励训练的智能体相当,甚至在某些情况下超越了它们。
总结来说,这篇论文通过提出一个开放式任务套件、互联网规模的域知识和基于最新大型预训练模型的智能体学习方法,为通用自主智能体的开发提供了重要的基础和工具。论文还开源了MineDojo的模拟器、知识库、算法实现和预训练模型,旨在促进社区开发新算法并朝向通用自主智能体的目标前进。
仿真平台和测试组件
MineDojo 是基于 开源的 MineRL 代码库构建的,并做了三点改进:
-
统一的观察和行动空间:MineDojo提供了跨所有任务的统一观察和行动空间,这有助于开发多任务和持续学习的智能体,使其能够不断适应新场景和新任务。这与MineRL挑战的设计不同,后者将观察和行动空间定制到各个任务上。
-
解锁所有三种Minecraft世界类型:仿真器解锁了Minecraft中的所有三种世界类型,包括主世界(Overworld)、下界(Nether)和末地(End)。这大大扩展了可能的任务空间,而MineRL原生只支持主世界。
-
提供方便的API来配置初始条件和世界设置:这些API用于标准化任务。
利用这个MineDojo仿真器,定义了数千个基准测试任务,这些任务分为两类:
-
程序化任务:这些任务可以基于地面真实模拟器状态自动评估。它们比较简单,适合初学者入门,但通常范围有限,语言变化受限,总体上缺乏开放性。
-
创造性任务:这些任务没有明确定义或容易自动化的成功标准,促使研究人员采用基于学习模型的新颖评估协议。为了扩大创造性任务的数量,研究人员从YouTube教程中提取想法,并使用OpenAI的GPT-3服务生成更多的任务定义。与程序化任务相比,创造性任务通常更为开放和多样。
程序化任务
MineDojo定义了每个程序化任务为一个五元组:T = (G, G, I, fS, fR)。其中:
- G为任务目标的英文描述,例如“寻找材料并制作一把金镐”。
- G为自然语言指导,提供有用的提示、配方或建议给智能体。例如,对于目标“将猪带入下界”,GPT-3返回的指导为:1) 在主世界找到一只猪;2) 使用拴绳右击猪;3) 在下界门户旁使用拴着猪的拴绳右击;4) 猪将被拉进门户。MineDojo利用 OpenAI 的 GPT-3-davinci API 自动生成一部分任务的详细指导。
- I代表智能体和世界的初始条件,例如初始库存、生成地形和天气。
- fS: st → {0, 1}为成功标准,一个将当前世界状态st映射到布尔成功标签的确定性函数。
- fR: st → R为一个可选的密集奖励函数。由于精心制作密集奖励的成本高昂,MineDojo只为少数任务提供了fR。
在MineDojo中提供了1581个模板生成的自然语言目标,这些目标系统地和全面地评估智能体的不同能力,分为四类程序化任务:
- 生存:在指定天数内生存。
- 收获:寻找、获取、种植或制造成百上千种材料和物品。
- 技术树:制作和使用一系列工具。
- 战斗:与需要快速反应和武术技能的各种怪物和生物战斗。
每个任务模板在MineDojo中有许多基于地形、初始库存、数量等因素的变体,形成了一个灵活的难度谱系。相比之下,NeurIPS MineRL Diamond挑战是MineDojo程序化任务套件的一个子集,其任务目标定义为“获得1颗钻石”。
创造性任务
每个创造性任务被定义为一个三元组 T = (G, G, I),与程序化任务不同的是,创造性任务缺乏直接的成功标准。受到用于图像生成的基于模型的评价指标,如Inception分数和FID分数的启发,研究团队设计了一种基于预训练的对比视频-语言模型的新颖任务评估指标。在实验中,发现学习到的指标与人类评估有很高的一致性。
研究团队构思并编写了216个创造性任务,例如“建造一个有僵尸的鬼屋”和“骑猪比赛”。然而,这种手动方法无法扩展。因此,他们开发了两种系统方法来扩展任务定义的总数到1560个,使得创造性任务的数量比Minecraft BASALT挑战中的创造性任务多三个数量级。
-
YouTube教程视频中的任务挖掘:为了收集高质量的任务和相应的视频,研究团队设计了一个三阶段流程,以便于找到并标注有趣的任务。通过这个流程,他们从大量经验丰富的Minecraft玩家的普遍智慧中提取出1042个任务想法,例如“制作自动化采矿机”和“种植仙人掌直到天空”。
-
利用GPT-3创建任务:研究团队利用GPT-3的少量样本能力,通过以他们手动编写或从YouTube挖掘的任务作为种子来生成新的任务想法。提示模板是:“Here are some example creative tasks in Minecraft: {a few examples}. Let’s brainstorm more detailed while reasonable creative tasks in Minecraft.” GPT-3贡献了302个创造性任务,并展示了对Minecraft术语的出奇精通。
新手任务集合
为了让未来的研究人员更容易开始使用MineDojo,论文中整理了一套包含64个核心任务的集合。如果他们的智能体在这些任务上表现良好,他们就可以更有信心地扩展到完整的基准测试。
这64个任务分为两类:
- 32个程序化任务:其中包括16个“标准”任务和16个“困难”任务,涵盖了所有四个类别(生存、收获、战斗和技术树)。论文团队依据他们对Minecraft的了解来决定任务的难度级别。“标准”任务通常需要较少的步骤和较低的资源依赖性来完成。
- 32个创造性任务:同样包括16个“标准”任务和16个“困难”任务。标记为“标准”的任务通常是短期任务。
网络规模的知识库
MineDojo包含了一个巨大的多模态Minecraft知识库,这个知识库是由Minecraft的超过1亿活跃玩家共同生成的大量数据组成的。这些玩家录制了教程视频,直播游戏会话,编写配方,并在论坛上讨论技巧和窍门。MineDojo的这个知识库包括了超过730,000个YouTube视频及其时间对齐的文字记录、超过6,000个自由格式的Wiki页面以及超过340,000个Reddit帖子,这些帖子都包含了多媒体内容。研究人员希望这个庞大的知识库能帮助智能体自动地学习多种技能、发展复杂的策略、发现有趣的目标,并自动学习实用的表示。
agent 通过大规模预训练进行学习
图4展示了算法设计,其中介绍了名为MINECLIP的对比视频-语言模型。MINECLIP在MineDojo的大型YouTube数据库上进行了预训练。它计算了一个开放词汇语言目标字符串与一个16帧视频片段之间的相关性。这个相关性得分可以用作学习到的密集奖励函数,以训练一个强大的多任务强化学习(RL)智能体。
如何构建一个能够完成广泛开放世界任务的单一智能体,这是具现智能体人工智能领域的一个重大挑战。MINEDOJO框架旨在通过提供一个开放式任务套件和大规模互联网知识库,促进实现这一目标的新技术。在这里,研究人员开发了一个概念验证,展示了如何在MINEDOJO中训练一个由语言提示驱动的单一智能体来完成多个复杂的Minecraft任务。为此,他们提出了一种新颖的智能体学习算法,利用MINEDOJO提供的大量YouTube数据。
在多任务强化学习(RL)设置中,智能体需要完成由语言指令指定的一系列MINEDOJO任务。这些任务通常要求智能体长时间与Minecraft世界互动。在流行的RL基准测试中开发的智能体通常依赖精心设计的密集和特定任务的奖励功能来引导随机探索。然而,对于MINEDOJO中多样化和开放式的任务来说,定义这些奖励是困难甚至不可行的。为了应对这一挑战,他们的关键洞察是从野外YouTube视频及其文字记录中学习一个密集的、以语言为条件的奖励函数。因此,他们引入了MINECLIP,一个对比视频-语言模型,学习相关联视频片段和自然语言描述。MINECLIP在设计上是多任务的,因为它是在开放词汇和多样的英文文字记录上训练的。
在RL训练期间,尽管存在嘈杂的YouTube视频和清晰的模拟器渲染帧之间的领域差异,MINECLIP提供了高质量的奖励信号,无需任何领域适应技术。MINECLIP消除了为每个MINEDOJO任务手动工程化奖励函数的需求。对于缺乏简单成功标准的创造性任务,MINECLIP还充当了一个自动评估指标的双重角色,与人类判断在我们调查的任务子集上有很好的一致性。由于学习到的奖励模型带来的非微不足道的计算开销,他们引入了几种技术来显著提高RL训练效率,使MINECLIP成为Minecraft中开放式智能体学习的实用模块。
实验
作者对其代理学习方法进行了评估,选择了8个程序化任务和4个创造性任务来展示多样的技能需求(如收获、战斗、建筑、导航等)和特定领域的实体(如动物、资源、怪物、地形和结构)。这些任务被分为三个组别,分别是以动物资源获取为主的“Animal-Zoo”(4个程序化任务)、与战斗怪物有关的“Mob-Combat”(4个程序化任务)以及“Creative”(4个创造性任务)。
在实验中,作者主要比较了几种不同的方法:
- Ours (Attn): 使用MINECLIP[attn]奖励模型训练的代理。对于程序化任务,除了MINECLIP奖励外,还增加了作为二元奖励的最终成功条件。而对于创造性任务,MINECLIP是唯一的奖励来源。
- Ours (Avg): 平均池化的变体方法。
- Manual Reward: 使用基于模拟器实际状态的手工设计的密集奖励。
- Sparse-only: 仅使用最终成功作为单一稀疏奖励。这种方法对于创造性任务不适用。
- CLIPOpenAI: 使用未经针对MINEDOJO视频调整的预训练OpenAI CLIP模型。
实验结果表明,对于程序化任务,使用MINECLIP指导的强化学习(RL)代理在性能上与使用手工设计奖励的代理相当,甚至在某些任务中超过了手工奖励。此外,对于创造性任务,由于没有明确的程序化成功标准,将MINECLIP转化为二元成功分类器,通过阈值判断每个情节的奖励值。实验中,人类评判员为每个任务准备了100个成功和100个失败的轨迹数据集,然后在这些数据集上运行MINECLIP和CLIPOpenAI,报告了它们对比人类评判结果的二元F1得分。结果显示MINECLIP[attn]和MINECLIP[avg]与人类评价结果高度一致。这表明MINECLIP是一个有效的自动评价指标,能够在没有明确奖励信号的情况下解决开放式任务。
表1展示了MINECLIP奖励模型在程序化任务中与手工编写的密集奖励函数相比能够取得竞争性的表现,并且在所有创造性任务中显著超过了CLIPOpenAI方法。该表中的数据代表了在3个种子上测试200个剧集后的平均成功率。程序化任务中的成功条件是精确的,而创造性任务中的成功条件则由MineCLIP估算。
表2中,MINECLIP与人类对创造性任务的判断结果高度一致。表中的数字代表MINECLIP的二元分类任务成功与人类标签之间的F1分数(为了更好的可读性,分数已转换为百分比形式)。此表格说明了在创造性任务中,MINECLIP模型对于任务成功的判断与人类评估结果有着较高的一致性。然而,具体的数据和任务列表没有在引用的段落中提供。
表格3展示了MINECLIP代理在未见过的地形、天气和光照条件下的零样本视觉泛化能力。表中的数字反映了在不同条件下的成功率,外部的数字代表平均超过3个种子(每个测试了200个情节)的平均成功率百分比,而括号内的数字则表示相对性能变化。
表格4作者在12个任务上单独进行测试,所有数据代表平均超过3个随机数(每次测试200轮)上成功的概率。
表格5展示了 agent 在两个没有见过的任务上的开放词汇泛化能力。所有数字代表的是3个种子在200个情节测试中的平均成功率百分比。
结论
论文《MineDojo: Building Open-Ended Embodied Agents with Internet-Scale Knowledge》的结论主要包括以下几点:
-
MINEDOJO框架的介绍: 该工作介绍了MINEDOJO框架,这是一个旨在开发具有广泛能力的具身代理的框架。MINEDOJO特色在于其提供了数千个程序化和创造性任务的基准测试套件,以及一个规模庞大的多模态知识库,包括视频、维基和论坛讨论。
-
MINECLIP奖励函数的提出: 作为MINEDOJO启用的新研究可能性的一个例子,论文提出了MINECLIP,这是一个有效的基于语言的奖励函数,通过野生YouTube视频进行训练。MINECLIP在实证上表现出强大的性能,并与人类评估结果相符,使其成为创造性任务的一个良好的自动度量标准。
-
对开放式代理学习的展望: 论文表达了对MINEDOJO如何赋能社区以在开放式代理学习的重要挑战上取得进展的期待。
综上所述,这项工作不仅提出了一个全新的框架用于开发多功能的具身代理,还展示了如何利用互联网规模的知识和数据来训练有效的奖励函数,为开放式代理学习的研究提供了新的方向和工具。
参考资料
Til next time,
gqjia
at 00:00