RAG助力机器人场景理解与具身操作EmbodiedRAG基于动态三维场景图检索的机器人任务规划
RAG助力机器人场景理解与具身操作!EmbodiedRAG:基于动态三维场景图检索的机器人任务规划
- 作者:Meghan Booker, Grayson Byrd, Bethany Kemp, Aurora Schmidt, Corban Rivera
- 单位:约翰霍普金斯大学
- 论文标题:EmbodiedRAG: Dynamic 3D Scene Graph Retrieval for Efficient and Scalable Robot Task Planning
- 论文链接:https://arxiv.org/pdf/2410.23968
主要贡献
- 提出了 3D场景子图检索框架EmbodiedRAG ,旨在增强基于大模型(LLM)的机器人规划器,通过提取与任务相关的3D场景图的子图来提高效率和可扩展性。
- 通过使用EmbodiedRAG,展示了如何 显著减少输入到LLM的token数量 (最多减少一个数量级),从而加快规划时间并提高成功率。
- EmbodiedRAG能够 适应环境的变化和任务相关性的变化 ,意味着在机器人执行计划时,检索到的子图会随着新信息的出现而更新,确保规划的准确性和适应性。
- 引入了 反馈机制 ,使LLM能够在执行过程中识别和获取新的任务相关信息,提高了规划的质量,并允许机器人在动态环境中更好地进行任务规划和恢复。
研究背景
研究问题
随着机器人环境规模的扩大和场景图信息复杂性的增加,直接将3D场景图(3DSGs)提供给基于大模型(LLMs)的规划器变得不可行,主要由于输入token数量限制和LLMs中的注意力偏差。
因此,论文主要解决的问题是如何在动态、开放环境中高效地整合3D场景图与LLM,以便进行机器人任务规划。
研究难点
该问题的研究难点包括:
- 处理输入token数量限制;
- 减少规划时间、提高成功率;
- 适应环境变化和任务相关性变化。
相关工作
任务驱动表示 :
- 这类方法旨在为给定任务提供足够的机器人状态和环境信息,以成功完成任务。
- 人类在处理任务无关的干扰物时表现出强大的鲁棒性,并且能够提高实时决策的效率和新任务的泛化能力。
- 研究方向包括使用信息瓶颈、最小化表示的复杂性以及利用马尔可夫决策过程的状态抽象理论来构建或学习任务驱动的表示。
- 挑战在于这些方法在复杂环境和任务中的可扩展性,通常需要先验的环境或任务知识。
检索增强生成 :
- RAG方法最初用于高效检索与查询相关的文档片段,以增强LLM在回答问题时的表现。
- 自引入以来,出现了多种技术和变体,如预检索查询重写、迭代知识检索和扩展到知识图结构。
- 与传统的RAG不同,论文的工作是在一个具身领域中进行,其中机器人能够改变被检索的信息源(即影响环境),信息源可能是时变的,并且原始查询的重要信息可能会随着机器人执行计划而变化。
使用3D场景图进行规划 :
- 近期的规划方法依赖于文本和图像嵌入来检索与自然语言任务相关的实体。这些方法通常关注对象定位问题,但忽略了捕捉多个实体、特定状态或属性信息以及可能对更复杂的任务规划必要的关系。
- 论文提到了一些相关工作,如使用CLIP嵌入进行实体检索,但这些方法在处理大规模3D场景图时存在局限性。其他研究则尝试通过学习方法或图剪枝策略找到所有任务相关的实体。
任务描述
提出了设计提取子图的策略框架,以增强基于大模型(LLM)的机器人规划器:
- 扩展到大型环境并适应LLM输入token限制 :通过提取与任务相关的最小子图,以减少输入token的数量,从而使得LLM能够在大型环境中有效地进行规划。
- 适应时间变化的3DSG :子图提取策略不需要预先知道3DSG,即子图应能随着环境的变化而动态更新。
- 对显式的3DSG格式不敏感 :子图提取策略不应依赖于特定的3DSG格式(例如,不需要层次结构或特定属性类型)。
为了形式化这个问题,论文将机器人具身操作的环境表示为一个部分可观测马尔可夫决策过程(POMDP)。在这个过程中:
状态
s t s_t
s
t
表示在时间
t t
t 的环境状态。
给定一个自然语言任务
l l
l ,机器人根据策略
π \pi
π 执行动作
a t ∈ A a_t \in \mathcal{A}
a
t
∈
A ,并转移到新的状态
s t + 1 s_{t+1}
s
t
1
。
假设机器人在执行过程中构建和维护一个3DSG,用于语义表示观察到的环境状态
E \mathcal{E}
E ,即
G t
⟨ O t , E t ⟩ \mathcal{G}_t = \langle O_t, E_t \rangle
G
t
=
⟨
O
t
,
E
t
⟩ ,其中:
O t
{ o j } j
1 … J O_t = {o_j}_{j=1\ldots J}
O
t
=
{
o
j
}
j
=
1
…
J
是在给定时间步的实体集合。
E t
{ e m } m
1 … M E_t = {e_m}_{m=1\ldots M}
E
t
=
{
e
m
}
m
=
1
…
M
是边的集合。
对于每个实体
o j o_j
o
j
,可以存储关于该实体的信息作为属性
C j , t a t t r
{ c j , i } i
1 … I C_{j,t}^{attr} = {c_{j,i}}_{i=1\ldots I}
C
j
,
t
a
tt
r
=
{
c
j
,
i
}
i
=
1
…
I
(例如,属性、动作可行性、图像嵌入等)。同样,对于边,
C m , t e d g e
{ c m , f } f
1 … F C_{m,t}^{edge} = {c_{m,f}}_{f=1\ldots F}
C
m
,
t
e
d
g
e
=
{
c
m
,
f
}
f
=
1
…
F
可以捕捉实体之间的关系(例如,一个描述,“鸡蛋通常放在冰箱里”,或特定类型关系的属性,
o 1 o_1
o
1
在
o 2 o_2
o
2
上)。
策略
π \pi
π 是由LLM生成,该LLM接收
G t \mathcal{G}_t
G
t
和上下文窗口
x t x_t
x
t
,其中包含自然语言任务
l l
l 和任何额外的提示
p p
p 。增强的上下文窗口
x ~ t :
{ l , p , G 1 , a 1 , … , G t − 1 , a t − 1 } \tilde{x}t := {l, p, \mathcal{G}1, a_1, \ldots, \mathcal{G}{t-1}, a{t-1}}
x
~
t
:=
{
l
,
p
,
G
1
,
a
1
,
…
,
G
t
−
1
,
a
t
−
1
} 包含LLM计划的过去历史,可以提供给LLM。
为了给LLM提供一个子图而不是完整的3DSG,需要一个提取策略
f : ( G t , x ~ t ) ↦ G t ′ f: (\mathcal{G}_t, \tilde{x}_t) \mapsto \mathcal{G}_t^{\prime}
f
:
(
G
t
,
x
~
t
)
↦
G
t
′
,其中
G t ′
⟨ O t ′ , E t ′ ⟩ \mathcal{G}_t^{\prime} = \langle O_t^{\prime}, E_t^{\prime} \rangle
G
t
′
=
⟨
O
t
′
,
E
t
′
⟩ 是提取的子图,即
O t ′ ⊆ O t O_t^{\prime} \subseteq O_t
O
t
′
⊆
O
t
和
E t ′ ⊆ E t E_t^{\prime} \subseteq E_t
E
t
′
⊆
E
t
。
该问题的挑战在于开发一个好的、随时间变化的提取策略,能够提供足够多的实体、特定实体的属性和关系,以成功推理当前的任务
l l
l 。
EmbodiedRAG框架
过借鉴检索增强生成(RAG)方法的范式来提取与任务相关的3D场景图(3DSG)子图。
文档索引3DSG
为了在RAG范式中工作,首先需要将文档的概念与3DSG联系起来。在典型的RAG框架中,文档索引阶段用于将信息分块为向量表示,以便嵌入。在3DSG中,实体已经被构建为分块,因此一个自然的公式是将每个实体
o i o_i
o
i
视为要检索的文档。具体来说:
每个实体被分配为其对象类别或开放词汇标签作为文档的内容。
属性
C j , t a t t r C_{j,t}^{attr}
C
j
,
t
a
tt
r
被分配为文档的元数据。如果属性较长或不简洁(例如,长描述),则可以将属性视为子文档,这样在检索时,父文档
o i o_i
o
i
也会被检索。
每个文档随后被嵌入到向量存储中,以便在下游任务中进行高效检索。可以使用开源的本地向量存储,如Chroma和FAISS。
LLM引导的预检索摘要
RAG框架的下一个组件是预检索阶段。为了避免让LLM解析或遍历整个3DSG,并且在机器人部署开始时可能还没有3DSG可用,提出了一种策略来增强检索实体的质量。
在规划和环境知识之前,LLM被要求根据自然语言任务
l l
l 提出一组相关的实体
{ o ^ r } r
1 … R {\hat{o}r}{r=1\dots R}
{
o
^
r
}
r
=
1
…
R
。
如果预期在3DSG中跟踪属性(这是一个在机器人部署前已知的设计选择),则对于每个实体
o o
o ,LLM被要求建议哪些属性是重要的。
这种预检索方法的好处在于,它可以从任务描述中直接推断出必要的实体和属性,处理否定、可行性和多个实体,而不需要关于机器人操作环境的明确知识。
子图检索与对齐
当机器人在其操作环境中开始部署时,3DSG的构建开始,每个实体被嵌入为文档。为了构建子图
G t ′ \mathcal{G}_t^{\prime}
G
t
′
,首先检索与预检索实体
{ o ^ r } {\hat{o}_r}
{
o
^
r
} 相关的前k个相似文档。这些检索的实体作为进入3DSG的入口点。
- 从这些节点诱导出一个子图,以捕捉检索实体之间的关系。
- 如果这些是完成任务所需的唯一实体,则LLM规划器只需要推理它们之间的关系。
引入了一个反馈机制来处理当
O \mathcal{O}
O 不包含完成任务所需的所有实体时的情况(例如,由于遮挡、任务相关性的变化或缺失的实体或属性导致的检索失败)。
如果有与预检索实体
o o
o 相关的属性,则将这些属性应用于检索的实体集合
o o
o 。最终,将这个诱导的子图
G t ′ \mathcal{G}_t^{\prime}
G
t
′
与过滤后的任务相关属性序列化为JSON格式,供LLM规划器使用。
计划生成
RAG框架的最后一部分是生成阶段,原始查询和检索的文档被提供给LLM以回答问题。在这里,LLM需要生成动作
a t a_t
a
t
而不是回答查询,即作为策略
π ( a t ∣ G t ′ , x ~ t ) \pi(a_t|\mathcal{G}^{\prime}_t, \tilde{x}_t)
π
(
a
t
∣
G
t
′
,
x
~
t
) 。
使用ReAct风格的LLM智能体,该智能体设计用于根据过去的动作和观察生成动作。
动作空间
A \mathcal{A}
A 被扩展以提供语言,以便提供关于推理和未来动作的想法
τ t \tau_t
τ
t
,而不影响环境。
在每一步
t t
t ,向ReAct风格的LLM智能体提供其上下文历史
x ~ t \tilde{x}_t
x
~
t
和更新的子图
G t ′ \mathcal{G}^{\prime}_t
G
t
′
作为观察。
反馈整合
到目前为止,检索过程是开环的,遵循经典的RAG框架。然而,LLM规划器的增强动作
( a t , τ t ) (a_t, \tau_t)
(
a
t
,
τ
t
) 具有关闭反馈循环的能力,并以两种方式影响EmbodiedRAG框架的组件。
动作
a t a_t
a
t
直接影响环境,这反过来更新文档或添加新文档。这个反馈循环对于LLM规划器验证其动作是否按预期完成至关重要。
思考
τ t \tau_t
τ
t
提供了关于LLM规划器当前正在做出、想要做出或计划做出的决策的信息类型的洞察。使用自查询方法来处理思考
τ t \tau_t
τ
t
,以识别关键的语义和执行元数据过滤。
模拟案例
通过模拟实验评估了EmbodiedRAG框架在AI2Thor模拟环境中的有效性,验旨在展示EmbodiedRAG在不同场景下的性能。
干扰实体
为了模拟大型环境和在构建3DSG时可能出现的对象存在不确定性,研究了3DSG中存在不存在的干扰对象的影响。为了扩展到大量对象并避免超过输入token限制,仅向基于LLM的规划器提供
G t G_t
G
t
中的实体集合(即没有属性或边)。
实验使用了290和1,135个干扰对象,并展示了两种不同的LLM(llama3.1:70b4和GPT-4o-mini)的结果。结果表明:
- EmbodiedRAG和EmbodiedRAG-strict能够一致地完成多个困难任务,并显著减少了平均每步规划和累积token使用量。
- EmbodiedRAG-strict在不增加干扰对象数量的情况下保持了成功率,而其他智能体的性能则受到了影响。这突显了使用EmbodiedRAG方法的扩展性。
完整的3DSG与干扰属性
接下来,运行了相同的任务,但构建了一个包含28个可能属性和表示实体之间空间和控制关系的边的3DSG。此外,还实现了EmbodiedRAG-feedback,以整合在第4.5节中讨论的自查询检索机制。结果显示:
- EmbodiedRAG-strict在没有访问完整3DSG的情况下表现最佳,计划时间和累积token使用量最少。
- ReAct智能体的成功率相当,但使用的token数量是EmbodiedRAG-strict的两倍多,推理时间也更长。
- 结合自查询检索机制提高了EmbodiedRAG-strict的成功率,同时保持低token计数,突显了反馈在子图检索过程中的重要性。
真实环境效果
本节在一个四足机器人上进行了实验,以验证EmbodiedRAG在实际应用中的有效性和鲁棒性。
实验设置
- 机器人平台 :使用波士顿动力的Spot机器人,配备NVIDIA Jetson AGX Orin和Zed 2 RGB-D相机。
- 3DSG构建 :使用ConceptGraphs工具进行3DSG构建,以实现对环境的感知和规划。
- LLM规划器 :在机器人上运行基于llama3.1:8b的LLM规划器。
实验场景
实验在两种不同大小的环境中进行:
- 小环境 :机器人的3DSG只包含立即可见的几个实体。
- 大环境 :机器人需要映射一个大型的实验室和办公空间。
实验任务
- 任务类似于上节中提到的简单任务,涉及移动和操纵物体。
结果分析
- Full-Mem :在小环境中,Full-Mem智能体成功完成了10次试验中的1次。但在大环境中,Full-Mem智能体出现了显著的幻觉问题,从计划多个步骤变为仅完成一步就灾难性地幻觉。
- EmbodiedRAG-strict :在小环境中,EmbodiedRAG-strict也成功完成了10次试验中的1次。在大环境中,尽管环境规模增加,EmbodiedRAG-strict没有出现幻觉,而是由于映射更大空间而出现了感知错误。重要的是,环境规模的增加并没有影响智能体的规划和恢复能力,因为在两种环境大小下,失败前的步骤数相似。
实验结论
- EmbodiedRAG在硬件上的实现显示了其在动态开放世界环境中进行机器人任务规划的潜力。
- 与Full-Mem相比,EmbodiedRAG-strict在处理大环境时表现出更好的鲁棒性,没有出现幻觉问题。
- 这表明EmbodiedRAG在边缘设备上的部署具有显著的优势。
总结
- 论文开发了EmbodiedRAG框架,用于解决机器人在动态环境中进行任务规划的问题。
- 该方法不需要预先构建3DSG,避免了将整个3DSG提供给基于LLM的规划器,从而加快了规划生成速度并提高了成功率。
- 关键的反馈机制有助于在部署期间进行规划恢复。
- 未来的研究方向包括扩展到多模态检索技术和更快的结构化查询反馈。