查看原文
其他

多模态大模型解锁智能体主动感知能力,在开放世界中轻松解决需要复杂环境信息的任务!

让你更懂AI的 PaperWeekly
2024-08-22


《我的世界》(Minecraft)是全球销量领先的游戏,它包含生存、探索以及创造等丰富的游戏元素,类似一个袖珍的现实世界。包括 DeepMind、OpenAI 在内全球许多著名研究团队,都在以《我的世界》为平台进行 AI 具身智能体的相关研究工作,期望可以构建一个真正可以以类人的方式解决各种开放任务的通用具身智能体。


目前有很多的工作尝试用大语言模型来解决《我的世界》中的开放世界任务,尤其是长时序任务(比如从头开始挖到一颗钻石)。

Voyager [1] 利用 GPT 等大语言模型强大的推理能力构造了一个可以自主学习的智能体,可以充分探索开放世界并解锁科技树。GITM [2] 同样也借助大语言模型的推理能力配合文本记忆构建了一个轻松完成长时序任务的智能体,其挖钻石的成功率达到惊人的 67.5%。

但是无论是 Voyager [1] 还是 GITM [2] 都是在探索大语言模型的推理规划能力,而忽略了规划过程需要视觉感知环节,因为 Voyager [1] 和 GITM [2]假定智能体可以在规划决策的时候获取所有正确的环境感知信息,直接从《我的世界》中获取特权的环境文本信息并直接越过感知环境的过程来进行动作的规划

后续的 JARVIS-1 [3] 也在此基础上构建了一个环境词库,利用当前的环境图片匹配词库中的文本信息,并将和当前环境足够相似的词交给 GPT 等大语言模型来整合描述环境的语句,以此“感知”当前环境。

但是这种感知的方式面对开放世界就不太适用,一是因为开放世界需要感知的信息太多,感知的结果如果依赖于既定的环境词库,丰富性较差,二是因为这种感知方式不具有目的性,感知的结果有可能包含很多与任务无关的信息,这会影响后续的规划抉择


因此如何让具身智能体在开放世界复杂环境中更好地感知,并以此完成一些需要大量环境信息的开放性任务面临着两个挑战:1. 怎样更好地进行长时序的规划(即 process dependency);2. 怎样在开放世界更好地感知环境信息(即 context dependency)。

例如面对「在白天用石剑抓一只在水边草旁的猪」这样一个既需要长时序推理,又需要推理行动过程中在开放世界感知大量信息的任务,智能体应该如何去规划,感知,行动来完成呢?多模态大模型(MLLM)与主动感知在开放世界中携手是一个有效的解决方案!


来自上海人工智能实验室,港中深,北京航空航天大学,清华大学等机构的研究者们提出的能够主动感知自身需要的环境信息,并以此来进行情景规划和行动的通才 AI 智能体 MP5(Parser,Percipient,Planner,Performer,Patroller 组成的智能体系统)。

不但可以在《我的世界》中完成一些长时序的任务(例如「挖钻石」),也可以完成需要感知大量环境信息的任务(例如「白天在水旁有草的位置附近找到一头猪」),甚至可以完成一些既是长时序,又需要感知复杂环境信息的任务(例如「晚上在水底用木铲挖沙子」)。

该研究在向通用人工智能(AGI)方向的感知和情景规划层面迈出了重要一步。通用人工智能(AGI)研究的目标是发展智能体能够在开放世界环境中像人一样的进行感知、理解、和交互。AGI 的研究可以为机器人和自动驾驶等产业带来巨大的突破和进步,推动人工智能技术在产业落地方面取得更大发展。

MP5 可以鲁棒地完成长时序推理任务和复杂环境场景理解的任务,在可以以 22% 的成功率完成钻石级别难度(智能体需要进行大量的推理)的长时序任务的基础上,可以以 91% 的准确率感知任务需要的复杂环境信息(智能体需要感知 4~6 种关键感知信息),而且仅仅只需要利用智能体第一人称视角的 RGB 图像!

项目主页:

https://iranqin.github.io/MP5.github.io/


AI 也能应对开放世界,像人类一样感知,规划和决策!


通才 AI 智能体 MP5 玩转《我的世界》游戏,生存模式白手起家,挖钻石不在话下,在开放世界复杂环境下轻松感知所有想要的信息!



MP5是怎么组成的
最近有许多大语言模型 LLM 解决《我的世界》长时序任务的成功案例,其方法为通过使用大语言模型将长时序任务分解成一系列可执行的子目标并执行。但是很多方法无一都简化了在开放世界感知环境信息这一挑战,因为这些方法都假定智能体是无所不知无所不晓的(默认已经知晓自身的状态和所处的环境的所有信息)。


因此如何在开放世界更好地感知环境信息并进行相应的规划和行动,一个具身智能体至少还需要有以下两点:


1. 感知能力是开放的、有选择性的,并根据不同的目的(例如,任务规划或行动执行)提供量身定制的感知结果;


2. 感知模块可以与其他模块(例如,计划和执行模块)一起通过统一接口进行兼容调度执行,是一个大一统的系统。

因此 MP5 应运而生,正如其名字一般,有 5 个以 P 开头的模块组成:


1. Parser(任务解析模块):将长期任务分解为一系列应逐一完成的子目标。


2. Percipient(环境感知模块):专注于回答关于智能体第一人称图像的各种问题,其回答可以作为其他模块的参考。它是一个以 MineCLIP 和 Vicuna-13B 为基础模型,在收集的《我的世界》数据集下经过高效微调的多模态大模型(MLLM)


3. Planner(动作规划模块):根据当前环境情况,安排子目标的行动顺序,并优化之后的子目标。


4. Performer(动作执行模块):执行动作以及与环境频繁交互


5. Patroller(检查反馈模块):检查 Percipient、Planner 和 Performer 的响应,以验证当前计划/行动,或对存在潜在更好策略进行反馈。



MP5是如何运行的

1. 分解任务阶段:当玩家用户给定 MP5 需要完成的总目标后,MP5 首先先使用 Parser 生成一系列短期子目标,这些子目标以自然语言的方式存储在列表中。为了增强生成的子目标的正确性,完整性和可行性,Parser 利用检索增强生成(RAG)的方法,通过检索外部知识记忆来辅助生成子目标序列(比如维基百科,玩家技巧等)。


2. 主动感知环境阶段:对于一个 Parser 生成的子目标,Planner 需要利用当前的环境信息来进行规划,但是此时并没有环境信息,因此 Planner 将询问 Patroller 以获取当前环境信息。Patroller 依据 Planner 提供的当前的子目标任务信息,主动向 Percipient 提出一个有关其最兴趣,最关键的问题。Percipient 依据当前的问题结合当前的第一人称视角图片做出回答。Patroller 得到回答之后,有种不同的处理方式:


  1. 如果 Percipient 回答的环境信息满足子任务部分环境信息要求,Patroller将当前获得的信息存储在历史环境信息中,并基于此继续向 Percipient  提出另外的关键问题。

  2. 如果 Percipient 回答的环境信息不满足子任务某一个环境信息要求,或者满足子任务所有的环境信息要求,Patroller 直接整理当前的历史询问的环境信息并返还给 Planner。

3. 情景感知阶段:Planner 依据子任务和与当前子任务最相关的环境信息以及从记忆中搜寻和当前场景相关的成功规划方案,来生成最符合当前情景的动作序列。


4. 具身行动阶段:Perfomer 执行 Planner 生成的动作序列,并每隔一定的时间间隔询问 Patroller 以获取当前环境信息判断是否需要切换下一个动作。


5. 重规划和记忆阶段:在整个运行过程中,子任务和整个任务完成都通过 Patroller 来判断:


  1. 一旦 Patroller 发现当前有一个环节执行有误,它将告诉 Performer 立刻停止操作,并提示 Planner 重新规划。Planner 将以主动感知的方式重新感知自身所在环境并重新规划当前子目标的动作序列,如果缺少一些必要的子目标,甚至可以更新调整之后的子目标序列。

  2. 如果当前子任务完成,智能体将开始下一个子目标并让 Planner 生成新的基于当前环境的动作序列,而当前子目标的成功动作序列将与 Planner 进行计划时的智能体的情况一起存储在 Planner 的外部记忆(称为 Performer memory)中。最终,agent 将在到达任务的最终子目标时停止。



MP5 真正的核心是什么

MP5 的关键核心在于两点:


1. Percipient 这个多模态大模型理解开放式视觉概念,因此它允许 MP5 解决以前从未见过的任务。基于此 MP5 可以在开放世界具身环境下解决需要感知繁杂环境信息的任务。


2. 主动感知这种在开发世界应对复杂任务的感知方案。MP5 拥有一个通过 Percipient 和 Patroler 之间进行多轮交互的主动感知方式,这种感知方式会依据 Planner 或 Performer 提出的各种目标,主动感知观察到的图像中的环境信息。

借助这种感知方式,Planner 可以根据观察到的图像、背包状态等进行规划或更新动作序列,从而实现情景感知。Performer 可以依据当前的环境,执行合适的动作,这是一种具身动作。主动感知中 Patroller 还可以根据当前的视觉信息对更好的计划/行动选择进行反馈,从而增强智能体完成任务的效率和成功率。

以上图具身动作为例(在白天用石剑抓一只在水边草旁的猪,当前执行的动作是找猪),Performer 调用 Patroler 开始向 Percipient 询问有关子目标描述和当前执行操作的问题,同时重置要收集的环境信息集合。然后 Patroller 逐步询问 Percipient 观察到的图像是否包含和子目标或者当前执行的动作相关的必要元素。Percipient 的回答会逐渐收集起来,并作为下一轮问答的上下文。

值得注意的是在每一轮中,Patroler 还会检查是否已经收集到所有必要的元素-如果是,Patroller 会停止交互,并将所有环境信息作为自然语言返回,并调用 Performer 执行下一个动作。

如果 Patroller 最终未能收集到足够的项环境信息元素,它将告诉 Performer 在观察到的图像中缺少哪些环境信息,这表明 Performer 需要继续执行当前动作。类似地,情景感知中使用的主动感知与这里所解释的类似,只是输入的指令不包含当前正在执行的动作。



MP5有多厉害

为了更好地用实验验证 MP5 的有效性,研究者们分别针对前文提到的具身智能的两个挑战定义了两种任务,一种是感知复杂环境任务(Context-Dependent Tasks),另外一种是长时序任务(Process-Dependent Tasks),并且根据难度等级对任务进行了划分,其中感知复杂环境任务有 16 种,分成了 4 个等级,长时序任务有 25 种,分成了 5 个等级。


超强的感知能力:MP5 在感知复杂环境任务下的成功率不逊色于 GPT-4V,甚至更强!同时主动感知(A)的模式比对图片进行细粒度的描述(G)更有效!

高推理规划能力:


在最受关注的钻石级别难度的任务上,MP5 取得了 22 %,虽然不及一些全知全能的纯文本智能体框架,但是已经和 OpenAI VPT [4] 的成功率 20% 持平

OpenAI 的 VPT(Video pretraining) 是一个利用 70k 小时的 YouTube 视频数据,在 720 V100 GPUs 上用时 9 天预训练而来的基础模型,该模型完全模拟人类的键鼠操作控制智能体。在预训练模型的基础上进行 RL 微调的 VPT 模型在“从零开始获取钻石”的长时序任务上的成功率为 20%。



如何高阶玩转MP5

MP5 可以完成一些既是长时序,又需要感知复杂环境信息的任务,比如「晚上在水底用木铲挖沙子」等等,这些任务展示了 MP5 的强大能力和可拓展性,使得智能体可以在《我的世界》中更好的和人类一样感知环境,依据环境规划和行动。


智能体“在晴天用木铲在水底挖沙子”Demo展示:



智能体“在晴天光线充足的条件下找到一头在平原且旁边有水有草的猪-1min45s” Demo 展示:




参考文献

[1] Wang G, Xie Y, Jiang Y, et al. Voyager: An open-ended embodied agent with large language models[J]. arXiv preprint arXiv:2305.16291, 2023.

[2] Zhu X, Chen Y, Tian H, et al. Ghost in the Minecraft: Generally Capable Agents for Open-World Enviroments via Large Language Models with Text-based Knowledge and Memory[J]. arXiv preprint arXiv:2305.17144, 2023.

[3] Wang Z, Cai S, Liu A, et al. Jarvis-1: Open-world multi-task agents with memory-augmented multimodal language models[J]. arXiv preprint arXiv:2311.05997, 2023.

[4] Baker B, Akkaya I, Zhokov P, et al. Video pretraining (vpt): Learning to act by watching unlabeled online videos[J]. Advances in Neural Information Processing Systems, 2022, 35: 24639-24654.


更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧


·
·
·

继续滑动看下一个
PaperWeekly
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存