目录
- 一、引言
- 二、FLTRNN框架
-
-
- [2.1 任务分解](#2.1 任务分解)
- [2.2 基于语言的递归神经网络(Language-Based RNNs)](#2.2 基于语言的递归神经网络(Language-Based RNNs))
-
- [长期记忆(Long-Term Memory, Ct):](#长期记忆(Long-Term Memory, Ct):)
- [短期记忆(Short-Term Memory, Ht):](#短期记忆(Short-Term Memory, Ht):)
- [2.3 增强推理能力的机制](#2.3 增强推理能力的机制)
-
- 参考文献
一、引言
随着人工智能技术的快速发展,机器人在现实生活中的应用越来越广泛。然而,在日常家庭场景中,机器人需要面对一些复杂的长时任务,例如餐具摆放、食物准备等,这些任务通常包含多个步骤,且需要机器人遵循特定的规则才能顺利完成。在这种情况下,如何让机器人正确规划并执行这些任务成为了一个重要的技术挑战。
近年来,大型语言模型(Large Language Models,LLM)凭借其强大的推理和逻辑能力,已被应用于多种任务规划场景。然而,现有的方法在应对复杂的长时任务时往往存在一定的局限性------LLM有时会忽视任务中的关键规则,从而生成不准确甚至危险的任务计划。针对这一问题,来自浙江大学的研究团队提出了一种全新的框架FLTRNN(Faithful Long-Horizon Task Planning for Robotics with Large Language Models),旨在提高LLM在复杂长时任务中的忠实性和成功率。
二、FLTRNN框架
FLTRNN(Faithful Long-Horizon Task Planning for Robotics with Large Language Models)是一个旨在解决大型语言模型(LLM)在复杂长时任务规划中忠实性问题的框架。该框架的设计核心是通过将复杂任务分解为多个简单子任务,并结合递归神经网络(RNN)和长短期记忆(LSTM)机制进行计划推理,确保任务执行过程中能够遵循所有规则和约束条件。下面将详细介绍FLTRNN框架的技术路线。
2.1 任务分解
在面对复杂的长时任务时,任务通常由多个步骤组成,这些步骤可能涉及不同的环境和对象交互。直接处理这些复杂任务会使LLM难以兼顾所有规则和约束。因此,FLTRNN首先通过任务分解技术将复杂任务分解为多个简单的子任务。每个子任务都可以相对独立地解决,极大地减轻了LLM在推理过程中的负担。
-
首先,框架使用LLM对全局任务目标进行分解,这一步骤生成了一个初步的抽象任务计划(Initial Plan)。这类分解类似于人类在面对复杂问题时,将其划分为若干更容易处理的子问题的过程。
-
任务分解的关键在于确保每个子任务独立且易于解决,并且分解后的子任务可以组合成完整的计划,最终达成全局任务目标。
任务分解的结果是一个有序的初步计划P_init,它由一系列可执行的子任务组成。每个子任务在独立执行时,只需关注当前任务相关的局部规则,而无需顾及全局任务的所有复杂性。
2.2 基于语言的递归神经网络(Language-Based RNNs)
FLTRNN框架的核心部分是基于语言的递归神经网络(RNN),该网络通过长短期记忆机制管理任务的执行。在每个子任务的执行过程中,RNN能够保持长时任务中的关键信息,并进行推理,使LLM能够更忠实地执行任务中的规则和指令。
- 长短期记忆管理(Long-Short Term Memory)
在复杂任务执行过程中,LLM需要同时处理长时信息(如任务目标、初始计划等)和短时信息(如当前子任务的具体规则和状态)。FLTRNN采用了长短期记忆管理机制,分别管理这两类信息。
长期记忆(Long-Term Memory, Ct):
长期记忆主要用于存储全局任务相关的信息,包括全局规则、全局任务目标、初步计划以及任务的总结。它记录了任务执行到当前为止的重要进展。这些信息在整个任务过程中不会改变,确保模型能够全局把握任务的方向和目标。
具体来说,长期记忆包含以下信息:
-
全局规则(R_global):适用于整个任务的约束规则,如任务中的物理限制。
-
全局任务目标(G_global):任务最终需要完成的全局目标。
-
初步计划(P_initial):由任务分解阶段生成的子任务序列。
-
任务总结(S_t):当前执行过的子任务的进展总结。
短期记忆(Short-Term Memory, Ht):
短期记忆用于存储当前子任务相关的局部信息,包括当前子任务的规则、示例演示以及当前需要完成的子目标。短期记忆随着每个子任务的执行进行更新,使模型在每个子任务中只需关注与当前任务相关的信息。
短期记忆包含以下信息:
-
局部规则(R_t):与当前子任务相关的局部规则和限制。
-
示例演示(D_t):针对当前子任务的操作示例,用于指导模型如何执行特定任务。
-
子目标(G_t):当前子任务需要实现的具体目标,通常是从初步计划和任务总结中提取。
通过长短期记忆管理机制,FLTRNN能够确保每个子任务的执行既遵循全局目标,又能在细节上严格遵循局部规则和约束。
- 递归推理机制
在每个子任务的执行过程中,FLTRNN使用基于语言的RNN进行推理。每个子任务的输入包括当前环境的观测信息、长期和短期记忆状态,输出则是具体的任务计划步骤和更新后的记忆状态。
RNN的核心推理过程可以表示为:
-
输入:当前环境状态( x t x_{t} xt)、之前的输出( o t − 1 o_{t-1} ot−1)、前一时间步的隐藏状态( h t − 1 h_{t-1} ht−1)和单元状态( c t − 1 c_{t-1} ct−1)。
-
输出:当前子任务的执行计划( o t o_{t} ot),并更新隐藏状态和单元状态 ( h t , c t ) (h_{t}, c_{t}) (ht,ct)。
通过递归推理,FLTRNN可以在每个时间步处理子任务的局部信息,并保证当前子任务的计划生成与全局任务保持一致性。递归的设计能够有效地利用长期和短期记忆,使LLM能够同时考虑全局和局部任务目标,从而提高计划的忠实性。
2.3 增强推理能力的机制
为了进一步提升FLTRNN在长时任务中的推理能力,框架引入了两项关键技术:规则思维链(Rule Chain of Thought,Rule-CoT)和记忆图(Memory Graph)。
- 规则思维链(Rule-CoT)
Rule-CoT是一种引导LLM在任务执行过程中进行规则推理的机制。通过反复推敲和应用上下文中的规则,LLM可以在执行每个步骤时持续关注任务中的约束条件。这种机制能够帮助模型在复杂环境中更加稳定地推理,从而增强计划的忠实性。
Rule-CoT的作用机制如下:
-
LLM在每个子任务执行过程中,除了使用短期记忆中的局部规则外,还会回顾全局规则,确保当前行动不会违反任务的整体约束。
-
在任务执行的每一步,模型会根据上下文中的规则不断进行推理和验证,从而确保每个动作都符合任务的约束条件。
- 记忆图(Memory Graph)
记忆图是一种用于推测任务环境状态的外部推理模块,特别适用于开放式规划场景。在开放式规划中,任务的执行过程中可能无法直接获取环境的反馈,LLM需要不断推测环境的变化状态。记忆图通过存储任务中涉及的物体及其状态(如位置、状态变化等),帮助模型推测环境状态并确保任务计划的一致性。
记忆图由节点(V)和关系(R)组成:
-
节点(V):表示任务中涉及的物体,如厨房中的冰箱、微波炉等。
-
关系(R):表示物体之间的关系(如"在某物之上"或"在某物之内"),用于推测物体的状态变化。
通过使用记忆图,FLTRNN可以有效地推测任务环境中的变化,减轻LLM的推理负担,使模型能够更加专注于当前子任务的执行。
参考文献
[1] Zhang J, Tang L, Song Y, et al. FLTRNN: Faithful Long-Horizon Task Planning for Robotics with Large Language Models[C]//2024 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2024: 6680-6686.