摘要
构建一个能够与世界互动的通用代理是人工智能系统的有趣目标,因此刺激了具身导航的研究,在具身导航中,代理需要根据指令导航或响应查询。尽管取得了重大进展,但以前的工作主要集中在特定于任务的代理上,而缺乏对看不见的场景的概括性。最近,llm在各个领域都展示了卓越的能力,并为具体化导航提供了一个很有希望的机会。基于此,我们提出了第一个具身导航的通用模型,NaviLLM。它通过引入基于模式的指令,使llm适应于具体化导航。基于模式的指令灵活地将各种任务转换为生成问题,从而统一了广泛的任务。这种方法允许我们将来自不同数据集的不同数据源集成到训练中,为NaviLLM配备了具体化导航所需的广泛能力。我们进行了广泛的实验来评估我们的模型的性能和可推广性。实验结果表明,我们的统一模型在CVDN、SOON和ScanQA上都取得了最先进的性能。具体来说,它在CVDN上的目标进展方面显著超过了之前最先进的统计方法29%。此外,我们的模型还展示了很强的通用性,并在看不见的任务上显示了令人印象深刻的结果,例如具身问答和3D描述。
方法
NaviLLM是一个基于LLM的具身模型,包括两个模块,即一个视觉编码器和一个LLM。视觉编码器将当前的视觉观察作为输入,并将其转换为一系列的场景表示。利用这些场景表示,我们为不同的任务构造不同的模式,这些模式作为LLM的输入,以产生下一步反馈。
视觉编码
场景编码器提取场景表示,给予一个由一组图像组成的观察,每个图像代表一个独特的viewpoint。视觉编码器最初通过视觉转换器(ViT)提取每个单独图像的视觉特征。然后,这些来自不同viewpoint的特征通过多视图融合过程进行集成,产生场景表示
VIT会先对每个图像提取特征,然后所有特征进行transformer的融合,形成场景表示。为了增强场景表示,我们还将每个视图的角度和GPS信息合并到场景编码中。
基于模式的指令
我们将基于模式的指令扩展到多模态建模,从而使其能够消化多模态信息。我们的模式被设计为一个统一的格式,可以适应不同的数据源,并为广泛的任务提供灵活性。
任务:确定目前任务类型,它由代理期望执行的单词序列组成,它可以以各种形式显示,如导航指令、需要查找的不可见对象或用户提出的问题。
观察:这是指在代理当前位置的视觉观察。为了区分不同视图之间的表示,我们在每个表示前加上一个ID,记为
历史:记录了前t步的观察。这个模式提供了一个时间上下文,帮助代理理解其在环境中的过去轨迹,以及与每个决策相关的视觉反馈。给定历史表示,我们在每个表示前加上一个ID,以表示过去观察的顺序。
输出提示:该模式提示代理期望产生的输出信息,例如,要移动的期望视点的标识符、对问题的回答,或对前一个轨迹的摘要。此模式可帮助模型理解如何生成与任务需求相一致的操作。
多任务学习
任务有以下几类:
视觉语言导航(VLN)要求代理在3D环境中导航,以完成给定的任务。我们提出了VLN的模式如下:
- 任务:一种带有简短任务说明的导航指令。
- 观察:在当前位置上的所有可达视点的场景表示。
- 输出提示:例如,从观察中选择一个方向。
LLM将上述模式作为输入,以预测要移动的视点的ID,其中的ID是一个数字。随着代理移动时,历史表示将被更新为与代理最近选择的视点对应的场景表示。
目标定位。它需要在代理成功到达目标后,从一组可见对象中识别出正确的对象。除了历史记录模式之外,它还包含以下模式:
- 任务:一个目标定位命令。
- 观察:在当前位置上的所有可见对象的观察。
- 对象表示从预先训练过的ViT中提取,随后转换为与单词嵌入相同的维度。
- 输出提示:例如,从观察中选择一个对象。
使用这个模式,代理需要生成所选对象的ID。
轨迹总结。我们遵循[22],包括从给定的轨迹中合成指令的任务。对于此任务,它将历史记录和观察模式共享信息,其中历史记录模式根据数据集是可选的。除了这两个信息之外,我们还包括:
- 任务:对总结风格的简明描述,例如,细粒度和粗粒度。
- 输出提示:例如,总结上述轨迹
3D问答(3D-QA)要求代理在3D场景中回答一个问题。与以前的任务不同,在此任务中,不需要使用历史记录模式。本文为3D-QA提供了以下模式。
- 任务:一个关于室内场景的问题。
- 观察:来自不同位置的图像的场景表示。我们还利用了前面的场景编码来处理场景表示。
- 输出提示:例如,根据现场回答这个问题。该模型要求基于上述模式生成一个文本答案。
具身问答(EQA)。代理被要求首先导航到一个问题所引用的位置,然后相应地回答这个问题。我们分别阶段地使用了VLN和3D-QA的模式。