目录
- 一、DialFRED数据集
- 1.1 数据集规模与任务结构
- 1.2 任务实例的构成
- 1.3 人类标注的问答数据
- 1.4 Oracle自动生成答案
- 1.5 任务多样性与数据增强
- 1.6 数据集的词汇多样性
- 1.7 任务和环境的多样性
- 二、提问者-执行者框架
- 2.1 框架概述
- 2.2 提问者模型设计
- 2.3 执行者模型设计
- 2.4 强化学习(RL)对提问者的微调
- 2.5 启发式提问者模型
- 参考文献
DialFRED基准旨在解决现有体现在任务执行中的AI基准(如ALFRED)所面临的挑战,特别是自然语言指令的歧义性和长序列任务规划的困难。现有的机器人只能被动执行指令,缺乏主动寻求帮助的能力,而人类在信息不足时会通过提问来获得更多的任务细节。DialFRED通过增强任务多样性并引入对话机制,使机器人能够在任务执行中主动提问,并利用人类反馈改进任务执行效果。DialFRED包含25种子任务类型和53,000条人类标注的任务相关问答数据,显著提高了任务复杂性和互动性,推动了对话驱动的体现在任务执行中的机器人技术发展。
一、DialFRED数据集
1.1 数据集规模与任务结构
DialFRED数据集构建在现有ALFRED基准的基础上,通过增加任务复杂性和任务数量,增强了机器人执行任务的灵活性。它的任务实例比ALFRED更加丰富,具体包含以下内容:
-
任务数量:数据集包含了34,253个训练任务、1,296个已知环境验证任务和1,363个未知环境验证任务。这使得研究人员能够测试机器人在不同环境下的适应能力,既包括在训练中见过的环境,也包括全新、未曾遇见的环境。
-
子任务类型:DialFRED引入了25种子任务类型,相较于ALFRED基准中的8种子任务类型有了显著扩展。任务涵盖了各种家庭日常活动,如“捡起物体并移动”、“移动并打开设备”、“切割物体”等。
-
动作类型:每个任务由多个低级动作组成,这些动作主要包括5种导航行为(如转左、转右、前进等)和7种物体交互行为(如捡起、放置、切割等)。这些动作被精确地映射到任务执行中的每一步,确保机器人能够基于任务指令一步步完成目标。
1.2 任务实例的构成
每个任务实例由以下几部分组成:
-
初始环境状态:初始环境状态:描述任务开始时,机器人与虚拟环境的关系以及物体的初始位置。例如,厨房里的物品可能被放置在柜台上或桌子上,机器人需要理解其相对位置。
-
目标环境状态:目标环境状态:描述任务完成时环境的变化。例如,完成“将刀放入水槽”的任务后,刀应该被放在水槽里。
-
自然语言指令:自然语言任务指令:任务指令由高层次目标和子目标组成。高层次目标为机器人提供任务的总体方向,如“将番茄放入冰箱”;而子目标则是具体步骤,如“走到桌子前”,“捡起番茄”,“打开冰箱”,“将番茄放入冰箱”。任务指令可以是一步到位的,也可以包含多个子步骤,取决于任务复杂性。
任务的设计具有层次化的结构,每个高层次的任务会被分解为多个子任务,而子任务则要求机器人与环境中的物体进行交互或在环境中导航。
1.3 人类标注的问答数据
DialFRED的关键特色是其专门设计的人类标注的对话问答数据集,涵盖了53,000条问题与答案,这些数据为机器人在任务执行过程中提供了额外的信息支持,使其能够通过对话解决任务中出现的歧义和不确定性。数据采集通过Amazon Mechanical Turk(MTurk)平台进行,标注流程如下:
-
观看视频:标注者首先观看一段10秒的环境视频,展示机器人即将面临的任务环境。
-
提出问题:根据任务指令,标注者选择或自定义一个他们认为能够帮助机器人更好完成任务的问题。这些问题可能涉及物体的具体位置、外观特征或移动方向。
-
任务演示与回答:标注者随后观看专家机器人如何执行任务的演示视频,然后回答自己提出的问题,提供相关的任务细节,并评价该问题在特定任务中的有效性。
每个任务场景下都会生成与任务相关的多个问题和答案,帮助机器人通过对话弥补任务执行中的信息不足。这些问答分为三大类问题:
-
位置问题:如“物体在哪里?”帮助机器人确定任务目标的位置。示例:“叉子在哪里?”答案可能是“叉子在你右边的桌子上。”
-
外观问题:如“物体是什么样子的?”帮助机器人识别目标物体的特征。示例:“刀子是什么样子的?”答案可能是“刀子是银色的,金属制成。”
-
方向问题:如“我该朝哪个方向走?”帮助机器人获取导航信息。示例:“我该向哪转?”答案可能是“你应该向右转。”
1.4 Oracle自动生成答案
为了进一步提升任务的标准化和一致性,DialFRED引入了一个Oracle自动生成器,可以基于虚拟环境的地面真实数据(ground truth)生成标准化的答案。Oracle生成的答案与人类标注的答案相比,具有以下几个特点:
-
基于真实场景生成答案:Oracle通过访问虚拟环境中的物体状态(如位置、颜色、材料等)来生成模板化的答案。例如,如果问题涉及物体的位置,Oracle会计算物体与机器人的相对位置,并提供精确的方向和位置信息。
-
标准化的模板化答案:为了让机器人更好地理解,Oracle的答案采用统一的模板。例如,位置问题的答案模板为“物体在你左前方的桌子上”,外观问题的答案为“物体是银色的,由金属制成”,方向问题的答案为“你应该向右转”。
Oracle提供的标准化答案确保了机器人在任务执行中的一致性,也有助于机器人模型更好地学习和理解环境中的状态变化。
1.5 任务多样性与数据增强
DialFRED通过对任务结构和指令进行增强,提高了任务的复杂性和多样性:
-
子任务的分解与合并:为了增加任务的变化,DialFRED对原有的子任务进行了分解和合并。例如,“清洗物体”任务可以分解为“将物体放入水槽,打开水龙头,关闭水龙头”等多个子步骤;相反,也可以将多个步骤合并为一个复杂子任务。
-
模糊化语言指令:为了进一步提升任务的难度,DialFRED对原有的ALFRED指令进行了模糊化处理。例如,指令可能只描述某个重要的动作,而忽略具体步骤,这就要求机器人通过对话来补充信息,而不仅仅依赖任务指令。例如,“打开微波炉”任务,机器人无法仅凭指令知道该如何移动,而是需要询问用户获取更多细节信息。
1.6 数据集的词汇多样性
DialFRED中的自然语言指令和问答数据展示了显著的语言多样性和复杂性:
-
词汇丰富度:人类标注的答案平均包含6.73个单词,覆盖了大量不同的表达方式。数据集中不同的词汇总数(NDW)达到了7915个,反映了标注数据的多样性。
-
词汇复杂性:数据集的词汇复杂性体现在49%的词汇不在美国国家语料库的常用2000词汇中。这意味着机器人不仅需要处理简单的指令,还必须应对复杂的语言描述。
1.7 任务和环境的多样性
数据集覆盖了虚拟环境中的多种场景和物体:
-
112个房间:DialFRED任务涵盖了112个不同的虚拟房间,这些房间可以是厨房、客厅、卧室等,确保了机器人在不同环境下的适应性。
-
80种物体类型:任务涉及80种不同类型的物体,如刀具、盘子、杯子、食材等。这些物体的多样性增强了任务的复杂性,并要求机器人具备更高的物体识别和操作能力。
二、提问者-执行者框架
2.1 框架概述
DialFRED的提问者-执行者框架是一个对话驱动的任务执行系统,机器人不仅仅被动执行任务指令,还可以主动提问以获取更多信息。框架的核心目标是通过自然语言对话让机器人能够处理更复杂、更动态的任务情境。
-
提问者(Questioner):负责在任务执行过程中提出问题,以获取必要的额外信息来处理指令中的歧义或不确定性。
-
执行者(Performer):在提问者获取的额外信息的帮助下,根据指令和环境状态做出任务行动决策。
提问者负责解决机器人在执行任务时遇到的自然语言理解问题,而执行者则负责实际执行任务步骤。这个框架旨在提高机器人处理复杂任务的能力,特别是在信息模糊或不确定的情况下。
2.2 提问者模型设计
提问者模型基于序列到序列(Seq2Seq)架构,结合长短期记忆网络(LSTM)和注意力机制(attention mechanism)。该模型从任务指令和环境信息中生成适当的问题,并根据问题帮助机器人获取更多信息。它的工作流程如下:
-
输入处理:任务的自然语言指令会被分词并通过嵌入层转换成词嵌入(word embeddings)。这些词嵌入作为LSTM编码器的输入,生成隐藏状态序列。
-
LSTM编码器:编码器将自然语言指令中的词嵌入进行编码,生成一个隐藏状态序列。这个序列中的最后一个隐藏状态将被用于初始化解码器。
-
LSTM解码器:解码器通过注意力机制,结合视觉输入和先前生成的问题,预测下一个问题。视觉输入是来自机器人的第一人称视角图像,经过卷积神经网络(ResNet)的处理,提取出高层次的图像特征。
-
问题生成:每个生成的问题由两个主要部分组成:问题类型和目标物体。问题类型可以是“位置问题”(如“物体在哪里?”)、“外观问题”(如“物体是什么样的?”)或“方向问题”(如“我该往哪里走?”),而目标物体是与当前任务相关的物体(如“刀”、“杯子”)。如果提问者认为不需要提问,它会生成“none”令牌,表示无需提问。
2.3 执行者模型设计
执行者模型的任务是根据自然语言指令、视觉观察和从问答中获取的额外信息,做出一系列具体的行动决策。该模型基于Episodic Transformer架构,能够处理多模态信息并预测复杂任务中的下一步动作。
-
输入信息:执行者模型接收多种输入信息,包括自然语言任务指令、视觉观测(如通过摄像头获取的图像)、从问答中得到的答案以及先前的动作历史。这些信息都以序列的形式输入到模型中。
-
Transformer编码器:该模型采用多层的Transformer网络来处理输入的多模态信息。Transformer的注意力机制可以帮助模型在长序列信息中捕捉到任务步骤之间的复杂依赖关系。
-
动作预测:基于Transformer编码生成的特征表示,执行者模型预测机器人在当前情境下应该采取的动作。这些动作可能包括:
-
导航动作:如转向、前进等,用于调整机器人的位置。
-
物体交互动作:如捡起物体、放置物体、切割物体等,用于与环境中的物体交互。
-
2.4 强化学习(RL)对提问者的微调
尽管提问者通过监督学习已经具备了一定的提问能力,但为了进一步提高模型的表现,作者使用强化学习(Reinforcement Learning, RL)对其进行微调。在强化学习框架下,提问者模型的目标是学习如何平衡提问的数量和任务完成的效率。强化学习将提问者的提问过程建模为一个马尔可夫决策过程(MDP),由以下几个组成部分:
-
状态空间(S):包括机器人当前的视觉观察、任务指令和先前的对话记录等。
-
动作空间(A):提问者可以选择不同类型的问题(如位置问题、外观问题或方向问题)或选择不提问(none token)。
-
状态转移(T):描述了在提问者提出问题后,机器人状态的转移过程。也就是说,问题的答案会如何影响任务的后续进展。
-
奖励函数(R):用于平衡提问的成本和任务完成的收益。具体奖励设计如下:
-
任务成功奖励(rsuc):当任务成功完成时,给予奖励+1.0。
-
每步操作惩罚(rstep):每执行一个步骤,给予小额惩罚-0.01,以鼓励机器人减少不必要的动作。
-
每次提问惩罚(rq):每提出一个问题,给予-0.05的惩罚,鼓励机器人尽量减少无效提问。
-
无效问题惩罚(rinvalid):如果提问内容与任务无关或没有帮助,给予-0.1的惩罚。
提问者模型被视为一个策略网络(policy network),其输出是对每个状态下提问行动的概率分布。通过优化奖励函数,模型能够学习在何时提出合适的问题,以便最小化提问次数和操作步骤,最大化任务成功率。强化学习采用Actor-Critic算法进行训练,通过梯度下降来调整模型,使其学习到最佳提问策略。
2.5 启发式提问者模型
除了强化学习策略,作者还提出了一个基于启发式的提问者模型,即模型根据执行者的预测不确定性来判断是否提问。这种方法的核心假设是,当执行者模型对当前任务步骤不确定时,应该通过提问获取更多信息。具体做法是:
- 混乱检测:当执行者模型的动作分布中,最高和次高动作概率的差值小于某个阈值时,模型认为当前状态存在不确定性。此时,提问者会提出问题以减少这种不确定性。
这种启发式的方法简单但有效,能够在一定程度上提高任务的成功率。
参考文献
[1] Gao X, Gao Q, Gong R, et al. Dialfred: Dialogue-enabled agents for embodied instruction following[J]. IEEE Robotics and Automation Letters, 2022, 7(4): 10049-10056.