DialFRED基准:具有对话能力的具身智能Agent

news2024/9/29 20:30:20

目录

  • 一、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条人类标注的任务相关问答数据,显著提高了任务复杂性和互动性,推动了对话驱动的体现在任务执行中的机器人技术发展。

在这里插入图片描述

图1 机器人与人类用户在完成任务过程中的对话示例:机器人主动提出问题以获取更多信息(例如,当目标位置不明确时),并通过对话解决任务中的模糊问题(例如,当面对桌上两把刀时)

一、DialFRED数据集

1.1 数据集规模与任务结构

  DialFRED数据集构建在现有ALFRED基准的基础上,通过增加任务复杂性和任务数量,增强了机器人执行任务的灵活性。它的任务实例比ALFRED更加丰富,具体包含以下内容:

  • 任务数量:数据集包含了34,253个训练任务1,296个已知环境验证任务1,363个未知环境验证任务。这使得研究人员能够测试机器人在不同环境下的适应能力,既包括在训练中见过的环境,也包括全新、未曾遇见的环境。

  • 子任务类型:DialFRED引入了25种子任务类型,相较于ALFRED基准中的8种子任务类型有了显著扩展。任务涵盖了各种家庭日常活动,如“捡起物体并移动”、“移动并打开设备”、“切割物体”等。

  • 动作类型:每个任务由多个低级动作组成,这些动作主要包括5种导航行为(如转左、转右、前进等)和7种物体交互行为(如捡起、放置、切割等)。这些动作被精确地映射到任务执行中的每一步,确保机器人能够基于任务指令一步步完成目标。

1.2 任务实例的构成

  每个任务实例由以下几部分组成:

  • 初始环境状态:初始环境状态:描述任务开始时,机器人与虚拟环境的关系以及物体的初始位置。例如,厨房里的物品可能被放置在柜台上或桌子上,机器人需要理解其相对位置。

  • 目标环境状态:目标环境状态:描述任务完成时环境的变化。例如,完成“将刀放入水槽”的任务后,刀应该被放在水槽里。

  • 自然语言指令:自然语言任务指令:任务指令由高层次目标和子目标组成。高层次目标为机器人提供任务的总体方向,如“将番茄放入冰箱”;而子目标则是具体步骤,如“走到桌子前”,“捡起番茄”,“打开冰箱”,“将番茄放入冰箱”。任务指令可以是一步到位的,也可以包含多个子步骤,取决于任务复杂性。

  任务的设计具有层次化的结构,每个高层次的任务会被分解为多个子任务,而子任务则要求机器人与环境中的物体进行交互或在环境中导航。

在这里插入图片描述

图 2 混合数据收集标注界面。工作人员观看初始状态视频并选择问题,观看专家演示后回答问题,最后判断问题与答案是否有助于代理执行任务

1.3 人类标注的问答数据

  DialFRED的关键特色是其专门设计的人类标注的对话问答数据集,涵盖了53,000条问题与答案,这些数据为机器人在任务执行过程中提供了额外的信息支持,使其能够通过对话解决任务中出现的歧义和不确定性。数据采集通过Amazon Mechanical Turk(MTurk)平台进行,标注流程如下:

  • 观看视频:标注者首先观看一段10秒的环境视频,展示机器人即将面临的任务环境。

  • 提出问题:根据任务指令,标注者选择或自定义一个他们认为能够帮助机器人更好完成任务的问题。这些问题可能涉及物体的具体位置、外观特征或移动方向。

  • 任务演示与回答:标注者随后观看专家机器人如何执行任务的演示视频,然后回答自己提出的问题,提供相关的任务细节,并评价该问题在特定任务中的有效性。

  每个任务场景下都会生成与任务相关的多个问题和答案,帮助机器人通过对话弥补任务执行中的信息不足。这些问答分为三大类问题:

  • 位置问题:如“物体在哪里?”帮助机器人确定任务目标的位置。示例:“叉子在哪里?”答案可能是“叉子在你右边的桌子上。”

  • 外观问题:如“物体是什么样子的?”帮助机器人识别目标物体的特征。示例:“刀子是什么样子的?”答案可能是“刀子是银色的,金属制成。”

  • 方向问题:如“我该朝哪个方向走?”帮助机器人获取导航信息。示例:“我该向哪转?”答案可能是“你应该向右转。”

1.4 Oracle自动生成答案

  为了进一步提升任务的标准化和一致性,DialFRED引入了一个Oracle自动生成器,可以基于虚拟环境的地面真实数据(ground truth)生成标准化的答案。Oracle生成的答案与人类标注的答案相比,具有以下几个特点:

  • 基于真实场景生成答案:Oracle通过访问虚拟环境中的物体状态(如位置、颜色、材料等)来生成模板化的答案。例如,如果问题涉及物体的位置,Oracle会计算物体与机器人的相对位置,并提供精确的方向和位置信息。

  • 标准化的模板化答案:为了让机器人更好地理解,Oracle的答案采用统一的模板。例如,位置问题的答案模板为“物体在你左前方的桌子上”,外观问题的答案为“物体是银色的,由金属制成”,方向问题的答案为“你应该向右转”。

  Oracle提供的标准化答案确保了机器人在任务执行中的一致性,也有助于机器人模型更好地学习和理解环境中的状态变化。

在这里插入图片描述

图 3 QA 数据集示例,展示了人类指令、问题及答案。增强指令更简洁概括,要求代理基于当前状态生成操作序列

1.5 任务多样性与数据增强

  DialFRED通过对任务结构和指令进行增强,提高了任务的复杂性和多样性:

  • 子任务的分解与合并:为了增加任务的变化,DialFRED对原有的子任务进行了分解和合并。例如,“清洗物体”任务可以分解为“将物体放入水槽,打开水龙头,关闭水龙头”等多个子步骤;相反,也可以将多个步骤合并为一个复杂子任务。

  • 模糊化语言指令:为了进一步提升任务的难度,DialFRED对原有的ALFRED指令进行了模糊化处理。例如,指令可能只描述某个重要的动作,而忽略具体步骤,这就要求机器人通过对话来补充信息,而不仅仅依赖任务指令。例如,“打开微波炉”任务,机器人无法仅凭指令知道该如何移动,而是需要询问用户获取更多细节信息。

1.6 数据集的词汇多样性

  DialFRED中的自然语言指令和问答数据展示了显著的语言多样性和复杂性:

  • 词汇丰富度:人类标注的答案平均包含6.73个单词,覆盖了大量不同的表达方式。数据集中不同的词汇总数(NDW)达到了7915个,反映了标注数据的多样性。

  • 词汇复杂性:数据集的词汇复杂性体现在49%的词汇不在美国国家语料库的常用2000词汇中。这意味着机器人不仅需要处理简单的指令,还必须应对复杂的语言描述。

1.7 任务和环境的多样性

  数据集覆盖了虚拟环境中的多种场景和物体:

  • 112个房间:DialFRED任务涵盖了112个不同的虚拟房间,这些房间可以是厨房、客厅、卧室等,确保了机器人在不同环境下的适应性。

  • 80种物体类型:任务涉及80种不同类型的物体,如刀具、盘子、杯子、食材等。这些物体的多样性增强了任务的复杂性,并要求机器人具备更高的物体识别和操作能力。

二、提问者-执行者框架

在这里插入图片描述

图 4 提问者-执行者架构,提问者生成问题,信息官回答,执行者结合所有输入预测行动

2.1 框架概述

  DialFRED的提问者-执行者框架是一个对话驱动的任务执行系统,机器人不仅仅被动执行任务指令,还可以主动提问以获取更多信息。框架的核心目标是通过自然语言对话让机器人能够处理更复杂、更动态的任务情境。

  • 提问者(Questioner):负责在任务执行过程中提出问题,以获取必要的额外信息来处理指令中的歧义或不确定性。

  • 执行者(Performer):在提问者获取的额外信息的帮助下,根据指令和环境状态做出任务行动决策。

  提问者负责解决机器人在执行任务时遇到的自然语言理解问题,而执行者则负责实际执行任务步骤。这个框架旨在提高机器人处理复杂任务的能力,特别是在信息模糊或不确定的情况下。

在这里插入图片描述

图 5 提问者模型架构

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 启发式提问者模型

  除了强化学习策略,作者还提出了一个基于启发式的提问者模型,即模型根据执行者的预测不确定性来判断是否提问。这种方法的核心假设是,当执行者模型对当前任务步骤不确定时,应该通过提问获取更多信息。具体做法是:

  • 混乱检测:当执行者模型的动作分布中,最高和次高动作概率的差值小于某个阈值时,模型认为当前状态存在不确定性。此时,提问者会提出问题以减少这种不确定性。

  这种启发式的方法简单但有效,能够在一定程度上提高任务的成功率。

在这里插入图片描述

图 6 DialFRED 中所有 25 个任务及其低级动作和指令示例列表/font>

参考文献

[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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2177752.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【读书笔记-《30天自制操作系统》-25】Day26

本篇仍然是围绕着命令行窗口做文章。首先优化命令行窗口的移动速度,然后增加多个命令行窗口功能。接着优化了命令行窗口的关闭,最后增加了两个命令start与ncst。 1. 优化命令行窗口移动速度 首先对命令行窗口的移动速度进行优化。主要的优化点有以下几…

WEB服务器——Tomcat

服务器是可以使用java完成编写,是可以接受页面发送的请求和响应数据给前端浏览器的,而在开发中真正用到的Web服务器,我们不会自己写的,都是使用目前比较流行的web服务器。 如:Tomcat 1. 简介 Tomcat 是一个开源的轻量…

二维数组的存放

今天我水的文章是二维数组的存放 二维数组的存放方式其实和一维数组没有区别&#xff0c;但如果想要更直观的了解&#xff0c;我们可以把它们的地址打印出来。 代码如下&#xff1a; #include <stdio.h> int main() {int arr[3][3];//二维数组&#xff0c;int数组类型…

【高效管理集合】并查集的实现与应用

文章目录 并查集的概念主要操作优化技术应用场景 并查集的实现基本框架并查集的主要接口总体代码 并查集的应用省份的数量等式方程的可满足性 总结 并查集的概念 并查集&#xff0c;也称为不相交集&#xff0c;是一种树形的数据结构&#xff0c;用于处理一些不相交集合的合并及…

ClickHouse | 查询

1 ALL 子句 2 ARRAY JOIN 使用别名 :在使用时可以为数组指定别名&#xff0c;数组元素可以通过此别名访问&#xff0c;但数组本身则通过原始名称访问 3 DISTINCT子句 DISTINCT不支持当包含有数组的列 4 FROM子句 FROM 子句指定从以下数据源中读取数据: 1.表 2.子…

建筑资质应该怎么选?

建筑资质是建筑企业承接工程项目的必备条件&#xff0c;它不仅关系到企业的市场竞争力&#xff0c;还直接影响到企业的经营效益。因此&#xff0c;选择适合自己企业的建筑资质至关重要。以下是一些选择建筑资质时需要考虑的关键因素&#xff1a; 1. 明确企业定位 首先&#x…

金融教育宣传月 | 平安养老险百色中心支公司开展金融知识“消保县域行”宣传活动

9月22日&#xff0c;平安养老险百色中心支公司积极落实国家金融监督管理总局关于开展金融教育宣传月活动的相关要求&#xff0c;联合平安人寿百色中心支公司共同组成了平安志愿者小队&#xff0c;走进百色市四塘镇百兰村开展了一场别开生面的金融消费者权益保护宣传活动。此次活…

如何给你的项目添加测试覆盖率徽章

看完我的测试教程之后&#xff0c;想必大家都能写出一个测试覆盖率极高的小项目了。测试覆盖率既然这么高&#xff0c;不秀一秀岂不是白瞎了&#xff0c;下面我们就来通过第三方服务来给你的项目加上测试覆盖率徽章&#xff0c;涉及到的内容有yaml配置&#xff0c;githubAction…

Vue下载pubsub-js中错误问题解决

错误&#xff1a; 解决方法&#xff1a; 执行&#xff1a; npm config set registry https://registry.npm.taobao.org我执行以上方法后安装成功

关于北斗卫星导航系统,你都了解多少?

北斗卫星导航系统&#xff08;简称“北斗系统”&#xff09;&#xff0c; 英文全称是&#xff1a;Beidou Navigation Satellite System&#xff08;简称&#xff1a;BDS&#xff09;&#xff0c; 研发 的 初衷 是中国着眼于国家安全和经济社会发展需要&#xff0c;选择自主研发…

Java类的生命周期-初始化阶段

Java类的生命周期-初始化阶段 前两篇讲述了类生命周期的加载阶段和连接阶段&#xff0c;那么本篇我们来讲最为重要的初始化阶段&#xff0c;借助字节码文件与大厂面试题更好的理解类的初始化 头篇提到&#xff0c;类的生命周期可疑将他分为五个阶段&#xff0c;本篇要讲述的就是…

RIP路由(已被淘汰)

一、rip 路由原理 RIP&#xff08;Routing Information Protocol&#xff0c;路由信息协议&#xff09;早期的动态路由协议&#xff0c;被广泛应用于TCP/IP网络中&#xff0c;尤其是在中小型网络中。基于距离矢量&#xff08;Distance-Vector&#xff09;算法来计算到达目的网络…

农场小程序带你走进生态农产品的世界

在快节奏的现代生活中&#xff0c;人们对食品安全的关注日益增强&#xff0c;对环境、健康农产品的需求也愈发迫切。然而&#xff0c;传统农产品市场往往信息不透明&#xff0c;消费者难以直接了解农产品的生长环境和生产过程&#xff0c;导致信任缺失。而农场小程序的出现&…

工程安全监测分析模型与智能算法模型方案

工程安全监测分析模型与智能算法模型 构建大坝安全监测智能分析模型&#xff0c;以大坝立体智能感知体系为依托&#xff0c;获取大坝变形、渗流渗压、环境变量等实时监测数据&#xff0c;作为模型输入&#xff0c;实现监测数据自动预处理、特征提取、误差分析、变化趋势分析等…

大模型增量训练--基于transformer制作一个大模型聊天机器人

针对夸夸闲聊数据集&#xff0c;利用UniLM模型进行模型训练及测试&#xff0c;更深入地了解预训练语言模型的使用方法&#xff0c;完成一个生成式闲聊机器人任务。 项目主要结构如下&#xff1a; data 存放数据的文件夹 dirty_word.txt 敏感词数据douban_kuakua_qa.txt 原始语…

Qt——如何创建一个项目

前言 本文主要通过实操带领大家来实现基础文件的操作&#xff0c;主要包括文件的打开&#xff0c;读取&#xff0c;写入&#xff0c;当然文件读写我们可以有几种不同的方式来进行操作&#xff0c;分别是文件流&#xff0c;字节流来进行的操作这里就需要两个类分别是文件流&…

迈威通信闪耀工博会,以创新科技赋能工业自动化

昨日&#xff0c;在圆满落幕的第24届中国国际工业博览会上&#xff0c;迈威通信作为工业自动化与智慧化领域的先行者&#xff0c;以“创新打造新质通信&#xff0c;赋能工业数字化”为主题精彩亮相&#xff0c;向全球业界展示了我们在工业自动化领域的最新成果与创新技术。此次…

elementUI表格中某个字段(state)使用计算属性进行转换为对应中文显示

代码案例&#xff1a; <template><el-table:data"tableData"style"width: 100%"><el-table-columnprop"date"label"日期"width"180"/><el-table-columnprop"name"label"姓名"wid…

count(1),count(*)与 count(‘列名‘) 的区别

文章目录 COUNT(expr)性能对比count(*) VS count(1)count(*) VS count(列名) count(*)会走索引吗MyISAM count优化InnoDB如何处理count(*)总结 参考官方文档&#xff1a; https://dev.mysql.com/doc/refman/8.4/en/aggregate-functions.html#function_count COUNT(expr) coun…

叶国富“推翻”马云新零售,零售新王此刻登基?

63亿入主永辉超市&#xff0c;拿到29.4%股份&#xff0c;坐上永辉超市第一大股东的宝座&#xff0c;名创优品创始人叶国富&#xff0c;成为了新科“零售之王”。 很是霸气外漏。 有投资者表示费解&#xff0c;不明白为何此时入局超市行业&#xff0c;叶国富当即召开电话会议&…