On Evaluation of Embodied Navigation Agents 论文阅读

论文信息

题目:On Evaluation of Embodied Navigation Agents
作者:Peter Anderson,Angel Chang
来源:arXiv
时间:2018

Abstract

过去两年,导航方面的创造性工作激增。这种创造性的输出产生了大量有时不兼容的任务定义和评估协议。为了协调该领域正在进行和未来的研究,我们召集了一个工作组来研究导航研究的实证方法。本文件总结了该工作组的共识建议。我们讨论不同的问题陈述和泛化的作用,提出评估措施,并提供可用于基准测试的标准场景。

Introduction

通用任务定义和评估协议的融合促进了计算机视觉领域的巨大进步

Goal Specification and Sensory Input

导航任务可以从几个维度来区分。
一是目标的性质。我们确定三种类型的目标:

PointGoal。代理必须导航到特定位置。例如,假设代理从原点开始,目标可能是导航到位置 (100, 300),其中单位为米。如果环境是空的,这个任务就很简单,但超出了现有系统在之前从未探索过的现实杂乱环境中的能力[28]。

ObjectGoal。代理必须导航到特定类别的对象。该类别可以从预定义的集合中提取。例如,“冰箱”、“汽车”或“钥匙”。为了执行此任务,智能体必须利用有关世界的先验知识,例如“冰箱”的外观以及可以在哪里找到它。

AreaGoal。代理必须导航到指定类别的区域。例如,“厨房”、“车库”或“门厅”。此任务还依赖于有关不同区域的外观和布局的先验知识。

不同类型的目标可以通过不同的方式来指定。
前面的描述中举例说明了基本规范:
PointGoal 的坐标、ObjectGoal 和 AreaGoal 的分类标签。

还有另外两种有趣且值得注意的规范类型:
图像(或其他感知输入)和语言。例如,ObjectGoal 任务可以通过相关对象的图像来指定 [32]。 PointGoal 任务可以通过自然语言的描述来指定[1]。其中一些规范模式还支持 ObjectGoal 和 AreaGoal 任务的实例特定形式:例如,找到此图像中显示的特定汽车(而不是任何汽车)。

该代理可能配备不同的传感模式,例如视觉(RGB 图像)、深度或触觉。另一种可能的输入是环境示意图,类似于人类在导航时使用的那种。

Generalization and Exploration

另一个主要区别是先前暴露于评估试剂的环境的程度。
最近的工作涉及广泛。一方面是在新环境中评估代理的协议,在测试之前不暴露于环境 [12, 28]。另一端是在代理测试的相同环境中进行广泛训练的协议,为代理提供数天或数周的测试场景训练[20]。

在整个范围内,有一些协议让代理在评估之前短暂暴露于测试环境(大约几分钟的主观体验);在此初步暴露期间,代理可以构建一个内部表示,然后用于支持导航[27]。

我们的基本原则是,应严格量化和报告代理在导航事件之前暴露于测试环境的程度。在导航试验之前需要在测试环境中获得丰富经验的方法可能是合理的,但必须明确量化和记录事先暴露于环境的情况。我们可以确定一些关于泛化的制度:

• No prior exploration。事先没有暴露于测试环境。特工被要求在前所未有的新环境中找到出路 [12, 28]。

• Pre-record prior exploration。代理会获得环境中探索轨迹的记录。探索由第三方(例如,人类或自动探索策略)执行,并为每个测试环境提供记录,作为基准测试设置的一部分。代理可以使用提供的记录来构建可以支持后续导航的环境的内部表示[27]。

• Time-limited exploration by the agent。代理获得勘探预算。在导航事件之前,智能体可以自由地穿越环境,直到其轨迹长度达到给定的预算。这种体验可用于构建环境的内部表示,以支持后续的导航事件。探索政策处于代理的控制之下,但暴露于测试环境的程度仍然是有限和量化的。

Evaluation Measures

我们解决的第一个问题是代理是否需要发出已完成任务的信号。在最近的一些工作中,一旦智能体足够接近目标,导航事件就会终止并被视为成功。我们建议不要这样做,因为这样的协议不会测试智能体是否理解它已经达到了目标。

我们认为这种理解至关重要:智能体不能只是偶然发现目标,它必须明白目标已经达到。为了表明这种理解,我们建议在代理的词汇表中添加专门的操作。该操作可以称为“完成”,表示代理已准备好进行评估。当代理产生这个特殊信号“完成”时,应该评估代理相对于目标的配置以及到达目标所采取的路径。如果没有这样的信号,即使智能体接近目标,导航事件也不应被视为成功

建议 1. 代理必须配备特殊操作,表明其已完成导航事件并准备好进行评估。代理相对于目标的配置必须在产生此动作时进行评估,而不是在情节期间某个有利的先前时间进行评估

建议 2:为了测量接近度(例如,智能体与目标的接近度),我们建议使用测地距离,即环境中的最短路径距离。

我们现在继续描述我们建议用于评估导航性能的具体措施。

为了定义这样的衡量标准,我们首先采用导航事件是否成功的二元标准。为了评估这个标准,我们考虑代理在输出操作“完成”时的配置。

(如果智能体没有产生这样的动作,则该情节自动被视为不成功。)如果此时智能体足够接近目标,则该情节成功。
对于 PointGoal 或 ObjectGoal,如果智能体与目标之间的距离低于阈值 τ,则该情节成功。我们建议默认使用 2× 代理身体宽度的阈值。

对于 AreaGoal,如果智能体的质心位于指定区域内,则该情节成功。

配备了情景成功的二元定义,我们进行了 N 个测试情景。在每一集中,代理的任务是实现目标。令 i 为第 i 集中智能体从起始位置到目标的最短路径距离,并令 pi 为智能体在本集中实际采取的路径长度。令 Si 为第 i 集成功的二元指标。我们定义了代理在测试集中的导航性能的汇总度量,如下所示:

在这里插入图片描述
我们将此度量称为 SPL,是“按(归一化逆)路径长度加权的成功”的缩写。让我们考虑一些例子。如果 50% 的测试片段成功,并且智能体在所有测试片段中都采取最佳路径实现目标,则其 SPL 为 0.5。如果所有测试集都成功,但智能体达到目标的时间是其最佳表现时的两倍,则 SPL 也为 0.5。如果 50% 的测试集成功,并且所有测试集的 pi = 2‘i,则 SPL 为 0.25。

请注意,SPL 是一项相当严格的衡量标准。当在以前从未见过的相当复杂的环境中进行评估时,我们预计 0.5 的 SPL 是良好的导航性能水平。通过测量人类受试者的声压级,可以在每个数据集上更可靠地校准这一点。

建议 3. 我们建议采用 SPL 作为导航性能的主要衡量标准。

虽然我们建议将 SPL 作为主要评估指标,但我们注意到还有其他指标可以提供有关代理绩效的补充信息。除了 SPL 之外,我们鼓励报告此类辅助措施。对于辅助措施的一些建议是:a) 成功率与智能体所经过的归一化反距离的函数关系,b) 事件结束时到目标的距离(绝对或通过“i”归一化),c) SPL 扫描在不同的阈值 τ 上,d) 归一化逆路径长度的分布 ('i/ max(pi, 'i)),e) 违规次数(例如,与障碍物接触),以及 f) 轨迹上消耗的驱动时间和能量执行。

Experimental Testbeds

最近提出了许多室内环境模拟平台[4,12,16,28,30,31]。

它们基于环境集合,例如 AI2-THOR [16]、SUNCG [29]、Matterport3D [7] 和 Gibson [31]。其他用于研究导航的模拟器包括 ViZDoom 和 DeepMind Lab [15, 2](相对整洁的走廊布局)和 CARLA [10](室外城市环境)。我们不会推荐特定的模拟器而不是其他模拟器。相反,我们提出了两项​​技术建议,可以为未来模拟平台的设计提供信息。

建议4.我们建议使用连续状态空间,这样智能体可以在连续空间中自由移动。离散环境可以很方便,并且可以支持有趣的实验和结果 [1,3,19,22],但连续空间可以更好地反映代理在物理世界中部署的条件。

建议 5。为了可解释性和互操作性,我们建议在模拟器中采用 SI 单位。模拟器中的距离 1 应对应于 1 米

建议 6:我们建议模拟器由开源软件支持,使经过模拟训练的代理能够使用标准组件部署到物理机器人上

Standard Scenarios

SUNCG。我们使用 500 个不同复杂程度的单层 SUNCG 房屋(每个房屋有 1 到 10 个房间),分为 300/100/100 个训练/验证/测试环境。这些房屋共有 2,737 个房间、41,158 件物品,总建筑面积约 110,000 平方米。平均每户有5.5个房间,每间平均建筑面积为42平方米。这些环境代表了各种室内装饰,包括家庭住宅、办公室和餐厅等公共空间。代理的身体宽度为 0.2 m,我们将成功导航到目标的距离阈值 τ 设置为身体宽度的两倍 (0.4 m)。场景规范文件位于 github.com/minosworld/scenarios

Matterport3D。我们采用原始数据集 [7] 指定的 61/11/18 训练/验证/测试室分割。这些房屋共有 190 层,共有 2,206 个房间区域。平均每户有24.5个房间,建筑面积560平方米。这些环境主要是私人住宅、酒店和公司办公空间。与 SUNCG 场景类似,代理身体宽度为 0.2 m,距离阈值 τ 为 0.4 m。场景规范文件可从 github.com/minosworld/scenarios 获取。

AI2-THOR。 AI2-THOR 1.0版本包含120个场景,涵盖四个场景类别:厨房、客厅、卧室和浴室。每个类别中的前 20 个场景应用于训练(例如,厨房的 FloorPlan1 到 FloorPlan20)。每个类别中接下来的五个场景应用于验证(例如,厨房的 FloorPlan21 到 FloorPlan25),最后五个场景用于测试。训练应该在所有训练场景(总共80个场景)上进行。我们考虑 AI2-THOR 的两种目标规范:PointGoal 和 ObjectGoal。当前版本的 AI2-THOR 不适合 AreaGoal,因为每个场景仅包含一个房间。下面我们描述每个目标设置的规范。

PointGoal:对于每个测试场景,我们随机选择 5 个点作为目标,并将目标坐标提供给代理。我们还考虑了代理的 5 种不同起点和 5 种不同的场景配置(通过将对象移动到不同位置或更改其状态)。总共,每个测试场景有 5 × 5 × 5 = 125 个场景。如果智能体与目标点之间的距离低于智能体宽度的 2 倍,则该回合被认为是成功的。
此设置的操作集为:向前移动、向后移动、向右旋转、向左旋转和终止

ObjectGoal:我们提供对象类别标签来指定目标。如果对象对代理“可见”,则导航成功。在 AI2-THOR 中,如果某个物体距离摄像机 1 m 以内且位于智能体的视野范围内,则该物体被标记为“可见”。与 PointGoal 类似,我们为每个测试场景考虑 5 个不同的随机起点。选择目标有两种情况:

  1. Navigation-only:在此设置中,以只能通过导航操作到达的方式选择目标。例如,仅通过导航操作无法到达柜子内的杯子,因为代理需要打开柜子才能看到杯子。为此设置设置的操作为:向前移动、向后移动、向右旋转、向左旋转、向上查找、向下查找和终止。

  2. Interaction-based:在这种情况下,找到一些目标需要交互。此设置的操作集为:向前移动、向后移动、向右旋转、向左旋转、向上查找、向下查找、打开 X、关闭 X 和终止

Gibson。 Gibson 数据集包括 572 座建筑物,共 1,447 层,总面积为 211,000 平方米。这些空间是使用 3D 扫描仪扫描的真实建筑物。每栋建筑都具有一定的杂乱程度 (SSA) 和导航复杂性。空间及其元数据的可视化可在 http://gibson.vision/database/ 上获得。考虑到数据集的大小,我们指定了一些不同大小的标准分区以方便实验,例如小型(35 座建筑物)、中型(140 座建筑物)和完整(572 座建筑物)。每个分区的训练/验证/测试划分为:微小 (25/5/5)、中等 (100/20/20)、完整 (402/85/85),全部大约为 70%/15%/15%。

Agent Architectures

建议 7:体现代理设计的一个中心问题是代理在其环境中导航时构建和维护的内部表示的结构。我们鼓励对这个问题进行全面和开放的研究,我们认为这是人工智能发展的基础。

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

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

相关文章

MyBatis快速入门

MyBatis快速入门 MyBatis简介 什么是MyBatis? MyBatis 是一款优秀的持久层框架,用于简化JDBC开发MyBatis本是Apache 的一个开源项目iBatis,2010年这个项目由apache softwarefoundation 迁移到了google code,并且改名为MyBatis 2013年11月迁移到Githu…

如何推导椭圆的参数方程

椭圆基础知识 椭圆定义:椭圆上任意一点到两焦点的距离之和为2a 如何由椭圆定义推出椭圆标准方程呢? 如上图所示。 由定义可得已知条件为 ∣ M C 1 ∣ ∣ M C 2 ∣ 2 a 当 M 落在顶点 P 上时,可得另一已知条件 a 2 − b 2 c 2 当有了已…

unity行为决策树实战详解

一、行为决策树的概念 行为决策树是一种用于游戏AI的决策模型,它将游戏AI的行为分解为一系列的决策节点,并通过节点之间的连接关系来描述游戏AI的行为逻辑。在行为决策树中,每个节点都代表一个行为或决策,例如移动、攻击、逃跑等…

SpringBoot3 整合Prometheus + Grafana

通过Prometheus Grafana对线上应用进行观测、监控、预警… 健康状况【组件状态、存活状态】Health运行指标【cpu、内存、垃圾回收、吞吐量、响应成功率…】Metrics… 1. SpringBoot Actuator 1. 基本使用 1. 场景引入 <dependency><groupId>org.springframew…

Docker Compose 使用方法

目录 前言 安装 Docker Compose Ubuntu 安装与更新 Red Hat 安装与更新 验证是否安装 Docker Compose 创建 docker-compose.yml 文件 创建一个MySQL 与 tomcat 示例 使用Docker Compose启动服务 前言 Docker Compose 是一个工具&#xff0c;旨在帮助定义和 共享多容器…

CADintosh X for mac CAD绘图软件2D CAD 程序 兼容 M1

CADintosh X for Mac是一个功能强大的2D CAD绘图程序&#xff0c;专为Mac用户设计。它由Lemke Software开发&#xff0c;提供了一套丰富的工具和功能&#xff0c;使用户能够轻松创建高质量的技术图纸&#xff0c;平面图和设计。 CADintosh X for Mac具有直观的用户界面&#x…

【架构】Java 系统架构演进的思考

文章目录 1 前言2 单体应用架构3 垂直应用架构4 分布式架构5 SOA 架构6 微服务云架构7 总结 1 前言 随着移动互联的发展&#xff0c;网站、H5、移动端的应用规模也不断扩大&#xff0c;不管是应用的数量还是质量都得到了指数级的提升。开发者的数量与日俱增&#xff0c;应用的…

SpringMVC -- REST风格开发,RESTful快速开发、RESTful注解开发

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaweb 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 REST 一、REST简介1.1REST风格简介 二、RESTful入门案例2.…

笛卡尔积文本的python处理

一 背景 大致背景是这样的&#xff0c;笔者在做数据处理时&#xff0c;遇到一个棘手的事情&#xff0c;主要遇到如下字符串拼接变动的场景&#xff0c;场景主要为&#xff0c;需要考虑如下两张表的组合&#xff1a; 表1-原始文本样式 序号文本样式1A变量B2A变量C3A变量CD4E变…

ant.design 组件库中的 Tree 组件实现可搜索的树: React+and+ts

ant.design 组件库中的 Tree 组件实现可搜索的树&#xff0c;在这里我会详细介绍每个方法&#xff0c;以及容易踩坑的点。 效果图&#xff1a; 首先是要导入的文件 // React 自带的属性 import React, { useMemo, useState } from react; // antd 组件库中的&#xff0c;输入…

如何使用 reqwest 包

GET 请求 向连接发起一个 GET 请求&#xff1a;https://hacker-news.firebaseio.com/v0/topstories.json&#xff0c;并解析返回的内容。 尝试发起请求 因为是 GET 请求&#xff0c;可以先在浏览器中进行查看&#xff0c;浏览器可以正常显示一个 id 列表&#xff0c;如下所示…

《Linux从练气到飞升》No.08 Linux的版本管理工具 git

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的…

复现沙箱逃逸漏洞

什么是沙箱(sandbox) 在计算机安全性方面&#xff0c;沙箱&#xff08;沙盒、sanbox&#xff09;是分离运行程序的安全机制&#xff0c;提供一个隔离环境以运行程序。通常情况下&#xff0c;在沙箱环境下运行的程序访问计算机资源会受到限制或者禁止&#xff0c;资源包括内存、…

Visual ChatGPT:Microsoft ChatGPT 和 VFM 相结合

推荐&#xff1a;使用 NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景 什么是Visual ChatGPT&#xff1f; Visual ChatGPT 是一个包含 Visual Foundation 模型 &#xff08;VFM&#xff09; 的系统&#xff0c;可帮助 ChatGPT 更好地理解、生成和编辑视觉信息。VFM 能够指…

C++ 派生类成员的标识与访问——作用域分辨符

在派生类中&#xff0c;成员可以按访问属性分为以下四种&#xff1a; &#xff08;1&#xff09;不可访问成员。这是从基类私有成员继承下来的&#xff0c;派生类或是建立派生类对象的模块都无法访问到它们&#xff0c;如果从派生类继续派生新类&#xff0c;也是无法访问的。 &…

Python魔法解析:探索变量类型的丰富多彩世界!

在Python这个魔法般的编程语言中&#xff0c;变量是连接你与计算机世界的神奇桥梁。然而&#xff0c;这些变量并不是单一的&#xff0c;它们有着丰富多彩的类型。无论你是刚刚踏入编程的大门&#xff0c;还是想要深入了解Python的高级特性&#xff0c;本篇博客将带你探索变量的…

pycharm打开terminal报错

Pycharm打开终端报错如何解决&#xff1f;估计是终端启动conda不顺利&#xff0c;需要重新设置路径。参考以下文章的做法即可。 Windows下Pycharm中Terminal无法进入conda环境和Python Console 不能使用 给pycharm中Terminal 添加新的shell&#xff0c;才可以使用conda环境 W…

黑马大数据学习笔记4-Hive部署和基本操作

目录 思考规划安装MySQL数据库修改root用户密码配置Hadoop下载解压Hive提供MySQL Driver包配置Hive初始化元数据库启动Hive&#xff08;使用Hadoop用户&#xff09;Hive体验HiveServer2HiveServer2服务启动 Beeline p48、51、52 https://www.bilibili.com/video/BV1WY4y197g7/?…

Uni-Dock:GPU 分子对接使用教程

github文件下载&#xff1a; git clone https://github.com/dptech-corp/Uni-Dock.git cd Uni-Dock/example/screening_test wget https://github.com/dptech-corp/Uni-Dock/releases/download/1.0.0/unidock 将此文件加入到全局变量中 chmod x unidock sudo mv unidock /…