LANA: A Language-Capable Navigator for Instruction Following and Generation

摘要

最近,视觉语言导航(VLN)——要求机器人代理遵循导航指令——已经取得了巨大的进步。然而,现有文献最强调将指令解释为行动,只提供“愚蠢”的寻路代理。在本文中,我们设计了 LANA,一种支持语言的导航代理,它不仅能够执行人类编写的导航命令,还能够向人类提供路线描述。这是通过仅使用一个模型同时学习指令跟随和生成来实现的。更具体地说,分别用于路由和语言编码的两个编码器由两个分别用于动作预测和指令生成的解码器构建和共享,以便利用跨任务知识并捕获特定于任务的特征。在整个预训练和微调过程中,指令跟踪和生成都被设置为优化目标。我们凭经验验证,与最新的先进任务特定解决方案相比,LANA 在指令跟踪和路由描述方面都获得了更好的性能,并且复杂度接近一半。此外,LANA具有语言生成能力,可以向人类解释其行为并协助人类寻路。这项工作预计将促进未来构建更值得信赖和社交智能导航机器人的努力。

引言

开发能够以自然语言与人类交互,同时在环境中感知并采取行动的智能体,是人工智能的基本目标之一。作为朝着这一目标迈出的一小步,视觉语言导航(VLN)[4]——赋予智能体执行自然语言导航命令——最近受到了极大的关注。在 VLN 领域,人们在语言基础方面做了很多工作——教导智能体如何将人类指令与感知相关的动作联系起来。然而,在相反的方面——语言生成——教智能体如何用语言生动地描述导航路线,却很少有工作[27,71,1,78,23]。更重要的是,现有的 VLN 文献分别训练专门针对每个任务的代理。结果,交付的代理要么是强大的寻路演员但从不说话,要么是健谈的路线指导员但从不走路。

本文强调了 VLN 中的一个基本挑战:我们能否学习一个既能够遵循导航指令又能够创建路线描述的代理?

我们提出 LANA,一种具有语言能力的导航代理,它充分意识到这种挑战(图 1)。通过同时学习指令基础和生成,LANA 将人与机器人和机器人与人的通信形式化,并在统一的框架中使用面向导航的自然语言进行传达。这非常重要,因为:i)它完成了人类和智能体之间必要的通信周期,并促进了 VLN 智能体在现实世界中的效用[59]。例如,当代理需要很长时间来执行导航命令时,在此期间持续的人类注意力是不可行且不可取的,代理应该报告其进度[73]。此外,智能体还需要在智能体探索的区域中引导人类 [82],这与灾区的搜索和救援机器人 [72, 19]、公共场所的引导机器人 [78] 以及视障人士的导航设备相关[36]。 ii) 双向通信是紧密的人机协调不可或缺的一部分(即“我将继续这样……”)[7],并增强人类对机器人的信任[6, 24],从而提高导航机器人的接受度。 iii)发展语言生成技能可以制造出更易于解释的机器人,它们可以以人类可读的路线描述的形式解释其导航行为。

从技术上讲,LANA 是一个基于 Transformer 的多任务学习框架。该网络由两个单模态编码器组成,分别用于语言和路由编码,以及基于这两个编码器的两个多模态解码器,分别用于路由到指令和指令到路由翻译。在预训练和微调阶段,整个网络都是通过指令基础和生成任务进行端到端学习的。综上所述,LANA 提供了一个统一、强大的框架,探索模型设计和网络训练核心的特定任务和跨任务知识。因此,即使在没有明确监督的情况下,LANA 也可以更好地理解语言线索(例如单词、短语和句子)、视觉感知、长期行动及其关系,并最终使这两项任务受益。

我们在三个著名的 VLN 数据集(即 R2R [4]、R4R [38]、REVERIE [63])上进行了广泛的实验,用于指令跟踪和生成,给出了一些有趣的点:首先,LANA 使用以下方法成功解决了这两个任务:只需一台代理,无需在不同型号之间切换。其次,凭借优雅的集成架构,LANA 的性能可与最近领先的特定任务替代方案相媲美,甚至更好。第三,与单独学习每个任务相比,在两个任务上联合训练 LANA 可以获得更好的性能,同时降低复杂性和模型大小,证实了 LANA 在跨任务相关性建模和参数效率方面的优势。第四,LANA 可以通过口头描述其导航路线来向人类解释其行为。 LANA 本质上可以被视为一个可解释的 VLN 机器人,配备了自适应训练的语言解释器。第五,主观分析表明我们的语言输出质量高于基线,但仍然落后于人类生成的话语。虽然仍有改进的空间,但我们的结果揭示了未来 VLN 研究的一个有希望的方向,在可解释的导航代理和机器人应用方面具有巨大的潜力。

相关工作

navigation instruction following

构建基于语言的自主导航代理是自然语言处理和机器人社区的长期目标。 Anderson 等人并未将之前的研究局限于受控环境背景 [55,72,10,5,57]。 [4] 将此类任务提升到逼真的环境 - VLN,激发了人们对计算机视觉领域日益增长的兴趣。早期的努力是建立在循环神经网络的基础上的。他们探索不同的训练策略 [84, 83],从合成样本 [27, 71, 28] 或辅助任务 [83, 35, 53, 93, 78] 中挖掘额外的监督信号,并探索智能路径规划 [39, 54, 81]。对于结构化和远程上下文建模,最近的解决方案是通过环境地图[92,13,21,80],transformer架构[33,61,48,64,11]和多模态预训练[56,31,30,12]开发的。

与专门用于follower导航指令的现有 VLN 解决方案不同,我们雄心勃勃地构建一个强大的代理,它不仅能够执行导航指令,还能够描述其导航路线。我们在整个算法中都坚持这个目标——从网络设计到模型预训练,再到微调。通过共同学习指令执行和生成,我们的智能体可以更好地将指令转化为感知和行动,并在一定程度上解释其行为并培养人类信任。我们的目标导航和视觉对话导航[73]是不同的(但互补),因为后者只关注代理使用语言请求人类帮助的情况。

navigation instruction generation

对instruction creation的研究[17]可以追溯到20世纪60年代[52]。早期工作[88,2,51]发现人类路线方向与认知地图[42]相关,并受到许多因素的影响,例如文化背景[74]和性别[37]。他们还达成了共识,即涉及路线导航和显着地标可以使人类更容易遵循指令[50,77,67]。基于这些努力,一些计算系统是使用预先构建的模板 [50, 29] 或手工制定的规则 [18] 开发的。虽然在目标场景中提供高质量的输出,但它们需要语言知识的专业知识和构建模板/规则的大量努力。一些数据驱动的解决方案[16,59,19,26]后来出现,但仅限于简化的网格状或感知较差的环境

生成自然语言指令长期以来一直被视为社交智能机器人的核心功能,并且引起了许多学科的极大兴趣,例如机器人学 [29]、语言学 [69]、认知 [42, 25]、心理学 [74] 和地球科学 [ 20]。令人惊讶的是,在具身视觉领域所做的工作却很少。对于罕见的例外[27,71,68,1,78,23],[27,71,68]只是为了增强寻路的训练数据,并且所有这些都学习专门用于指令生成的单个代理。我们的想法是根本不同的。我们要构建一个具有语言能力的导航代理,它能够掌握指令遵循和创建。因此,这项工作代表了对社交智能、具体化导航机器人的早期但扎实的尝试。

Auxiliary Learning in VLN

有几种 VLN 解决方案 [53,93,79] 利用来自辅助任务的额外监督信号来帮助导航策略学习。对于辅助任务,代表性的包括下一步方向回归[93]、导航进度估计[53]、路径反向翻译[93, 78]、轨迹指令兼容性预测[93]以及最终目标定位[92] ]

这些 VLN 解决方案将重点放在指令遵循上;辅助任务是手段,而不是目的。相比之下,我们的目标是构建一个能够很好地掌握指令跟随和创建的单一智能体。尽管[78]在双任务学习方案下同样关注指令跟随和生成,但它仍然学习两个独立的单任务智能体。此外,上述辅助任务原则上可以被我们的代理利用。

Vision-Language Pretraining for VLN

大规模图像-文本对的视觉-语言预训练[65,70,14]最近取得了快速进展。事实证明,可转移的跨模式表示可以通过这种预训练来交付,并促进下游任务[85,47,91,65,44,46]。这种训练方式在 VLN 中越来越受欢迎。特别是,一些早期的努力 [45, 33] 直接采用通用视觉语言预训练来进行 VLN,而没有考虑任务特定的性质。随后,[30,31,12]使用不同的 VLN 特定代理任务对丰富的网络图像标题 [30] 或合成轨迹指令对 [31, 12] 进行预训练。 [11, 64] 引入历史感知代理任务以进行更多 VLN 对齐的预训练。

从代理任务的角度来看,现有的 VLN 预训练遵循屏蔽语言建模机制 [40]。不同的是,我们的预训练基于语言生成,这有助于智能体捕获语言结构,从而达到对语言命令的全面理解并促进指令执行。一般视觉语言预训练的最新进展[87,90,22,86]也证实了生成语言建模的价值。此外,对于 LANA 来说,指令生成不仅仅是预训练后经常被丢弃的代理任务,而且也是预训练期间的主要训练目标。微调,是部署时基于语言的路由导向能力的根本基础。

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

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

相关文章

【LeetCode-1143】最长公共子序列(动归)

目录 题目描述 解法1:动态规划 代码实现 题目链接 题目描述 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除…

社区店选址评估:利用大数据选址的技巧与策略

在当今数字化的时代,利用大数据进行社区店选址评估已成为一种高效、科学的方法。作为一名开鲜奶吧5年的创业者,我将分享一些利用大数据选址的技巧与策略,帮助你找到最适合的店铺位置。 1、确定目标商圈 在选址之前,首先要明确自己…

爬虫的一些小技巧总结

一、在爬虫中,爬取的数据类型如下 1.document:返回的是一个HTML文档 2.png:无损的图片,jpg:压缩后的图片,wbep:有损压缩,比png差,比jpg好 3.avgxml图像编码字符串 4.script:脚本文件,依据一定格式编写的可执行的文…

【大厂AI课学习笔记NO.58】(11)混淆矩阵

混淆矩阵(confusion matrix)—— 混淆矩阵(Confusion Matrix)是人工智能领域,特别是在机器学习和深度学习中,用于衡量分类模型性能的重要工具。它通过统计分类模型的真实分类与预测分类之间的结果&#xf…

【python debug】python常见编译问题解决方法_2

序言 记录python使用过程中碰到的一些问题及其解决方法上一篇:python常见编译问题解决方法_1 1. PermissionError: [Errno 13] Permission denied: ‘/lostfound’ 修改前: 修改后(解决): 此外,可能文件夹…

leetcode 热题 100_接雨水

题解一: 按列求:分别考虑每一列的雨水高度,某列的雨水高度只与其左侧最高墙和右侧最高墙有关,一种情况是该列比左右侧的墙都低,则根据木桶效应该列雨水高度为min(左侧墙高,右侧墙高)-列高,而其余…

智能驾驶及相关零部件摄像头毫米波雷达激光雷达和芯片渗透率

一、总体情况 乘联会数据显示,1月1日至1月28日,全国乘用车厂商新能源车批发销量为56.7万辆,同比增长76%,环比下降38%;国内新能源车市场零售销量为59.6万辆,同比增长92%,环比下降24%。 二、销…

【word】引用文献如何标注右上角

一、在Word文档中引用文献并标注在右上角的具体步骤如下 1、将光标移动到需要添加文献标注的位置: 2、在文档上方的工具栏中选择“引用”选项: 3、点击“插入脚注”或“插入尾注”: ①如果选择的是脚注,则脚注区域会出现在本页的…

多路转接之epoll

常用的三个API: epoll_create(); //例如 int epfd epoll(10);创建一棵有10个结点的红黑树,注意:这个数只是对内核建议的数值,内核参照这个参数去构建epoll_ctrl();//参数2 op可以取值 EPOLL_CTL_ADD/MOD/DELevents:EPOLLIN/…

Pyglet图形界面版2048游戏——详尽实现教程(上)

目录 Pyglet图形界面版2048游戏 一、色块展示 二、绘制标题 三、方阵色块 四、界面布局 五、键鼠操作 Pyglet图形界面版2048游戏 一、色块展示 准备好游戏数字的背景颜色,如以下12种: COLOR ((206, 194, 180, 255), (237, 229, 218, 255), (23…

SpringCloud负载均衡源码解析 | 带你从表层一步步剖析Ribbon组件如何实现负载均衡功能

目录 1、负载均衡原理 2、源码分析 2.1、LoadBalanced 2.2、LoadBalancerClient 2.3、RibbonAutoConfiguration 2.4、LoadBalancerAutoConfiguration 2.5、LoadBalancerIntercepor⭐ 2.6、再回LoadBalancerClient 2.7、RibbonLoadBalancerClient 2.7.1、DynamicServe…

OpenCV 4基础篇| OpenCV图像的拼接

目录 1. Numpy (np.hstack,np.vstack)1.1 注意事项1.2 代码示例 2. matplotlib2.1 注意事项2.2 代码示例 3. 扩展示例:多张小图合并成一张大图4. 总结 1. Numpy (np.hstack,np.vstack) 语法结构: retval np.hstack(tup) # 水平…

c++之通讯录管理系统

1,系统需求 通讯录是一个记录亲人,好友信息的工具 系统中需要实现的功能如下: 1,添加联系人:向通讯录中添加新人,信息包括(姓名,性别,年龄,联系电话&#…

构建高效的接口自动化测试框架思路

在选择接口测试自动化框架时,需要根据团队的技术栈和项目需求来综合考虑。对于测试团队来说,使用Python相关的测试框架更为便捷。无论选择哪种框架,重要的是确保 框架功能完备,易于维护和扩展,提高测试效率和准确性。今…

信息安全技术第1章——信息网络安全基本概念

课程介绍 网络信息安全是医学信息工程专业的限选课。主要围绕计算机网络安全所涉及的主要问题进行讲解,内容包括:对称密码与公钥密码的基本原理、相关算法及应用。电子邮件的安全,IP安全,Web安全,恶意软件及防火墙等内…

C++ opencv 学习

文章目录 1、创建窗口2、读取图片3、视频采集4、Mat的使用5、异或操作6、通道分离,通道合并7、色彩空间转换8、最大值、最小值9、绘制图像10、多边形绘制11、随机数12、鼠标实时绘制矩形13、归一化14、resize操作15、旋转翻转16、视频操作17、模糊操作18、高斯模糊操…

SpringBoot整合MyBatis实现增删改查

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 循序渐进学SpringBoot ✨特色专栏: MySQL学习 🥭本文内容: SpringBoot整合MyBatis实现增删改查 📚个人知识库: Leo知识库,欢迎大家访…

Java进阶-IO(1)

进入java IO部分的学习,首先学习IO基础,内容如下。需要了解流的概念、分类还有其他一些如集合与文件的转换,字符编码问题等,这次先学到字节流的读写数据,剩余下次学完。 一、IO基础 1、背景 1.1 数据存储问题 变量…

代码随想录day11(1)字符串:反转字符串中的单词 (leetcode151)

题目要求:给定一个字符串,将其中单词顺序反转,且每个单词之间有且仅有一个空格。 思路:因为本题没有限制空间复杂度,所以首先想到的是用split直接分割单词,然后将单词倒叙相加。 但如果想让空间复杂度为O…

芯来科技发布最新NI系列内核,NI900矢量宽度可达512/1024位

参考:芯来科技发布最新NI系列内核,NI900矢量宽度可达512/1024位 (qq.com) 本土RISC-V CPU IP领军企业——芯来科技正式发布首款针对人工智能应用的专用处理器产品线Nuclei Intelligence(NI)系列,以及NI系列的第一款AI专用RISC-V处理器CPU IP…