VOYAGER: 一个具有大语言模型的开放式具身智体
23年9月论文“VOYAGER: An Open-Ended Embodied Agent with Large Language Models“,来自英伟达和其他几所高校。
23年9月论文“VOYAGER: An Open-Ended Embodied Agent with Large Language Models“,来自英伟达和其他几所高校。
VOYAGER,这是Minecraft中第一个LLM驱动的具身终身学习智体,它在没有人类干预的情况下不断探索世界,获得各种技能,并做出新的发现。VOYAGER由三个关键组成部分组成:1)最大化探索的自动课程,2)用于存储和检索复杂行为的不断增长可执行代码技能库,以及3)一种新的迭代提示机制,该机制为了自我验证结合了环境反馈、执行错误信息和程序改进。VOYAGER通过黑盒子查询与GPT-4进行交互,从而无需对模型参数进行微调。VOYAGER开发的技能是暂时扩展的、可解释的和组合的,这迅速增强了智体的能力,缓解了灾难性遗忘。从经验上看,VOYAGER表现出了强大的终身学习能力,并在玩Minecraft时表现出了非凡的熟练度。它获得了3.3倍以上的独特项目,行进了2.3倍以上的距离,关键技术树里程碑的解锁速度比当时SOTA快15.3倍。VOYAGER能够在一个新的Minecraft世界中利用学到的技能库从头开始解决新任务,而其他技术则难以如此泛化。
如图所示:VOYAGER通过自驱动的探索不断发现新的Minecraft项目和技能,显著优于基线。X轴表示提示迭代次数。
本文以Minecraft为例。与人工智能[33,34,10]中研究的大多数其他游戏不同,Minecraft没有强加预定义的最终目标或固定的故事情节,而是提供了一个具有无尽可能性的独特游乐场[23]。Minecraft要求玩家探索巨大的、按程序生成的3D地形,并使用收集的资源解锁科技树。人类玩家通常从学习基本知识开始,如开采木材和烹饪食物,然后再进行更复杂的任务,如打击恶魔和制作钻石工具。
一个有效的终身学习主体应该具有与人类玩家相似的能力:(1)根据其当前的技能水平和世界状态提出合适的任务,例如,如果它发现自己在沙漠而不是森林中,就要学会在打铁之前先收割沙子和仙人掌;(2) 根据环境反馈完善技能,并将掌握的技能保存在记忆中,以备将来在类似情况下重复使用(例如,战斗僵尸类似于战斗蜘蛛);(3) 以自驱动的方式不断探索世界并寻找新的任务。
为此设计的VOYAGER,由三个关键组成部分组成,如图所示:一个用于开放式探索的自动课程,一个用于日益复杂的行为技能库,以及一个用代码作为动作空间的迭代提示机制。
更具体地说,VOYAGER试图解决自动课程提出的逐渐困难任务,该课程考虑了探索进度和智体的状态。该课程由GPT-4基于“发现尽可能多的不同事物”的总体目标生成。这种方法可以被视为一种上下文内的新搜索形式[39,40]。VOYAGER通过存储有助于成功解决任务的动作程序,逐步构建技能库。
每个程序都通过嵌入其描述进行索引,这些描述可以在未来的类似情况下检索。复杂的技能可以通过编写更简单的程序来合成,随时间的推移,这会迅速增强VOYAGER的能力,并缓解其他持续学习方法中的灾难性遗忘[31,32]。
然而,LLM很难在一个样本中一致地产生正确的动作代码[41]。为了应对这一挑战,作者提出了一种迭代提示机制:(1)执行生成的程序,从Minecraft模拟中获得观察结果(如库存清单和附近的生物),并从代码解释器中跟踪错误(如果有的话);(2) 将反馈合并到GPT-4另一轮代码细化的提示中;和(3)重复该过程,直到自我验证模块确认任务完成,此时将程序提交到技能库(例如,craftStoneShovel()和fightZombieWithSword()),并查询下一个里程碑的自动课程。
从经验上讲,VOYAGER展现了强大的终身学习能力。它可以构建一个不断增长的动作程序技能库,这些程序可重复使用、可解释并可推广到新任务中。在开源的Minecraft人工智能框架MineDojo[23]中,对照其他基于LLM的智体技术(例如ReAct[29]、Reflexion[30]、AutoGPT[28]),作者系统地评估了VOYAGER。
具身智体在开放式环境中遇到具有不同复杂程度的各种目标。自动课程为开放式探索提供了许多好处,确保了一个具有挑战性但可管理的学习过程,培养了好奇心驱动的智体去学习和探索的内在动机,并鼓励开发通用和灵活的问题解决策略[42-44]。自动课程利用了GPT-4中包含的互联网规模知识,促使它提供源源不断的新任务或挑战。课程以自下而上的方式展开,允许对探索的进展和智体的当前状态有相当大的适应性和响应能力。随着VOYAGER向更难的自驱动目标迈进,它自然会学习各种技能,比如“开采钻石”。如图是自动课程提出的任务:
随着自动课程不断提出越来越复杂的任务,拥有一个作为学习和进化基础的技能库至关重要。受程序的通用性、可解释性和通用性[45]的启发,用可执行代码来表示每种技能,这些代码可以叠加时间扩展的动作,完成自动课程提出的特定任务。
技能库概览图如下。通过迭代提示机制,可迭代地完善程序,将其作为一种新技能整合到技能库中,并通过嵌入其描述对其进行索引(如图顶部)。对于技能检索,查询嵌入了自行生成的任务规划和环境反馈的技能库(如图底部)。通过不断扩展和完善技能库,VOYAGER可以在广泛的任务中学习、适应并表现出色,在开放的世界中不断突破其能力的极限。
如下两个图是自改进的三种反馈:环境反馈、执行误差和自验证。
如图是整个VOYAGER算法伪代码框架:
更多推荐
所有评论(0)