没有合适的资源?快使用搜索试试~ 我知道了~
基于视觉和语言辅助的导航通过间接干预进行模仿学习
1125270基于视觉和语言辅助的导航通过间接干预进行模仿学习0Khanh Nguyen 马里兰大学,CollegePark0kxnguyen@cs.umd.edu0Debadeepta Dey, Chris Brockett, BillDolan 微软研究院,Redmond0{dedey,Chris.Brockett,billdol}@microsoft.com0摘要0我们提出了基于视觉和语言辅助导航(VNLA),这是一个基于视觉和语言的任务,其中一个具有视觉感知能力的代理通过语言引导在逼真的室内环境中寻找物体。该任务模拟了现实世界的情景,因为(a)请求者可能不知道如何导航到目标物体,因此只通过指定高级终点目标来提出请求,(b)代理能够感知到自己迷失并查询一个更擅长任务的顾问,以获取语言子目标以取得进展。为了模拟基于语言的辅助,我们开发了一个称为间接干预模仿学习(I3L)的通用框架,并提出了一种在VNLA任务上有效的解决方案。实证结果表明,与其他基线相比,这种方法显著提高了学习代理在已见和未见环境中的成功率。我们的代码和数据可以在https://github.com/debadeepta/vnla上公开获取。01. 引言0富有逼真感的模拟器越来越多地被用作研究测试平台和真实世界实体代理(如自动驾驶汽车和无人机)的前身[53, 22,33]。最近,对自然语言引导的基于视觉的导航的兴趣日益增长,这得益于更加逼真和复杂的模拟环境的发展[2, 35, 9,46, 59, 58, 51],而不是简单的玩具环境[5, 12, 39, 8,7]。已经提出了这个任务的几个变体。在[2]中,代理学习执行众包自然语言指令。[18]训练代理以回答关于环境中物体的问题。[21]提出了一个场景,其中导游和游客通过聊天指导游客到达目的地。在本文中,我们提出了基于视觉的语言辅助导航(VNLA),这是一个基于实际场景的基于视觉和语言的任务:一个移动0代理,配备单眼视觉感知,通过语言请求帮助人类在室内环境中找到物体。这种真实的情景设置必须(a)不假设请求者在请求之前知道如何完成任务,并且(b)在代理完全迷失并无法在任务上取得进展时提供额外的帮助。为了实现(a),我们不使用详细的逐步说明,而是通过只描述终点目标的高级指令来请求任务(例如“在卧室中找一个枕头”)。为了满足(b),我们在环境中引入了一个顾问,该顾问始终在场,以协助代理在请求时获得低级语言子目标,例如“向前走三步,向左转”。因此,在VNLA中,代理必须(a)将初始终点目标中所指的物体与原始视觉输入进行关联,(b)感知到自己迷失并使用分配的预算请求帮助,以及(c)执行语言子目标以取得进展。VNLA激发了一种新颖的模仿学习设置,我们称之为间接干预模仿学习(I3L)。在传统的模仿学习(IL)中,学习代理通过查询教师在代理遇到的情况下的演示来模仿只在训练时可用的教师。I3L以两种方式扩展了这个框架。首先,顾问在环境中存在,不仅在训练时而且在测试时也可以协助代理。其次,顾问通过修改环境来影响代理的决策,而不是直接代替代理做决策。I3L通过将子目标视为添加到环境中的额外信息来模拟语言子目标的辅助。我们设计了一种适用于I3L设置的算法,在已见和未见环境中在VNLA任务上取得了显著的改进。本文的贡献包括:(a)一个新的VNLA任务,代表了移动代理完成室内任务的现实世界应用的一步(b)一个扩展传统框架以建模间接干预的新颖IL框架,以及(c)一个在VNLA上证明有效的I3L的通用解决方案。Turn 60 degrees right, go forward, turn leftI am lost! Help!Find a towel in the kitchenI am lost! Help!Go forward 2 steps, turn 60 degrees rightSuccess!Start locationGoal location125280代理路径(a)(b)(c)(d)(e)0图1:在未知环境中的一个示例运行。(a)环境的鸟瞰图,标注了代理的路径。代理只通过第一人称视角观察环境。(b)请求者(戴帽子的人)要求代理“在厨房找一条毛巾”。代理面前有两条毛巾(粉色圆圈),但房间标记为“浴室”。代理在没有给出房间标签的情况下忽略了它们。(c)代理逃离浴室,但进入了一个陌生的区域。感觉到自己迷路了,代理向顾问(留胡子的人)发出求助信号。顾问用一个“更简单”的低级子目标“右转60度,前进,左转”回应。(d)执行子目标后,代理离厨房更近了,但仍然感到困惑。因此,它再次请求帮助。在提出这个请求后,代理已经用尽了它的请求预算,只能依靠自己。(e)执行第二个子目标帮助代理看到目标毛巾(青色圆圈)。它成功地走到目标位置,不再需要其他帮助。视频演示请参见https://youtu.be/Vp6C29qTKQ0。0任务。该任务配备了一个基于逼真的Matterport3D环境[10,2]的大规模数据集。02. 相关工作0语言和机器人。将自然语言命令翻译为物理动作的学习在语言和机器人的交叉领域得到了广泛研究。提出的方法包括各种从数据中训练的基于场景的解析模型[41,42,36]和通过对知识库进行自然语言查询与机器人进行交互的模型[52]。与本文相关的是[44],他们使用学习-从演示(LfD)将自然语言与机器人操纵器指令进行关联,并且[23]使用人类遵循指示的模仿学习自然语言指令。在[30]中,使用口头约束来实现复杂真实世界环境中的安全机器人导航。模拟环境。简单的模拟器,如水坑世界导航[31]和丰富的3D积木世界[5,4],通过在易于管理的环境中进行快速实验,促进了对基本表示和基础问题的理解。基于游戏和合成环境提供了更复杂的视觉背景和交互动力学[33,51,9,46,22,58,14,17]。更接近照片真实感和启用真实物理的模拟器开始被用于训练真实世界的具身化代理[53,10,13,59,21,40]。丰富模拟器中的端到端学习。[18]提出了“具身化问答”(EmbodiedQA)任务,其中代理探索并回答关于环境的问题。[19]提出了这个任务的分层解决方案,其中层次结构的每个级别都独立地通过模仿学习进行预热,并通过强化学习进一步改进。[27]和[58]同样在模拟的3D环境中使用强化学习进行0成功执行书面指示。在视觉-语言导航任务[2]中,跨模态匹配和自学习显著提高了对未知环境的泛化能力[24,57]。模仿学习。模仿学习[20,47,49,48,011,54]在任务有教师可用或可以模拟的情况下提供了一个有效的学习框架。关于放松对教师的不切实际的假设的丰富工作。[25,11,45,28,55]研究了教师提供不完美演示的情况。[60,34,32,37]构建了最小化向教师查询次数的策略。[16]在每个时间步骤提供语言指令以指导元策略学习。据我们所知,然而,以前关于模仿学习的工作没有探索代理主动请求改变环境以促进其学习过程的情况。03.基于视觉的语言辅助导航0设置。我们的目标是训练一个具有视觉作为感知模态的代理,通过请求和执行来自人类的语言指令,能够在室内导航以找到物体。代理通过捕捉其第一人称视角的单目相机将环境“看”到的情况作为RGB图像。它还能够执行语言指令并在需要时请求额外的帮助。相机图像流和语言指令是唯一提供的外部输入信号;代理没有被给予环境的地图或自己的位置(例如通过GPS或室内定位技术)。代理在室内环境中的一个随机位置开始。请求者通过发送一个高级的最终目标(例如“在浴室中找到一个杯子。”)来分配给它一个寻找物体的任务。任务总是可行的:总有一个满足所需物体的位置。at+i = π∗main(st+i),(1)st+i+1 = T (st+i, at+i)0 ≤ i < kˆπmain, ˆπhelp = argminπmain,πhelp Es∼pagent [L (s, πmain, πhelp)] (2)125290环境中的物体实例满足最终目标。如果代理在距离所需物体的最短路径上的位置停下来,我们认为代理已经实现了最终目标。这里的d是成功半径,是一个任务特定的超参数。在执行过程中,代理可能会迷失方向,无法继续前进。我们使代理能够自动感知到这种情况并向顾问请求帮助。然后,顾问通过语言回应并提供一个子目标。子目标是一个短期任务,比最终目标容易完成得多。在这项工作中,我们考虑描述下k个最优动作的子目标(例如“向前走两步,向右看”)。我们假设严格遵循子目标有助于代理取得进展。通过使用高级最终目标来指定代理的任务,我们的设置不假设请求者在请求之前知道如何完成任务。这一方面,以及代理和顾问之间的互动,使我们的设置与指令跟随设置[2, 44, 43, 6,12,13]有所区别,在这些设置中,请求者仅在开始时向代理提供详细的顺序步骤来执行任务。约束制定。代理面临着一个多目标问题:在最大化成功率的同时最小化对顾问的帮助请求。由于这些目标存在冲突,即更频繁地请求帮助只会增加成功率,因此我们使用硬约束制定:在不超过预算的帮助请求数量的情况下最大化成功率。硬约束间接地指定了成功率和帮助请求之间的权衡比例。一旦用户根据自己的偏好指定了约束,问题就变成了单目标问题。04.间接干预的模仿学习0受VNLA问题的启发,我们引入了间接干预的模仿学习(I3L),该模型(真实)场景中的学习代理受到更有资质的专家(例如人类)的监控,并通过不完美的通信渠道(例如语言)获得帮助。顾问。传统的模仿学习(IL)设置[20, 47, 49,48, 11, 54,55]涉及学习代理和教师之间的交互:代理通过查询和模仿教师的示范来学习。在I3L中,除了与教师互动外,代理还从顾问那里获得指导。与只在训练时与代理互动的教师不同,顾问在训练和测试时都会协助代理。0为简单起见,我们假设顾问对环境、代理和任务有完美的知识。一般来说,由于顾问的主要任务是帮助代理,完美的知识并不是必需的。顾问只需要在代理方面具有优势(例如人类级的常识或推理能力,更丰富的室内导航经验等)。0干预。顾问通过干预指导代理采取一系列行动,干预可以是直接的或间接的。当顾问用自己的决策覆盖代理的决策时,干预是直接的。根据定义,直接干预总是完美执行的,即代理总是采取顾问希望它采取的行动。在间接干预的情况下,顾问不会“接管”代理,而是修改环境以影响其决策。为了利用间接干预,代理必须学会解释它们,将它们从环境中的信号映射到其行动空间中的行动序列。这引入了学习过程中的一种新类型的错误:干预解释误差,它衡量解释干预与顾问原始意图的偏离程度。制定。我们假设环境是一个马尔可夫决策过程,具有状态转移函数 T。代理维护两个策略:用于在主任务上做出决策的主策略 πmain ,以及用于决定顾问何时干预的请求帮助策略 π help。我们还假设存在教师策略 π � main 和 π � help ,以及顾问Φ。教师策略仅在训练期间可用,而顾问始终存在。拥有一个决定何时寻求帮助的策略 π help可以减少顾问监视代理的工作量。然而,这并不妨碍顾问在必要时积极干预,因为顾问能够通过适当地修改环境来控制π help 的决策。在状态 s t 下,如果 π help决定顾问应该干预,顾问输出一个间接干预,指导代理采取一系列行动。在这项工作中,我们考虑干预指示代理采取下一个 k 个行动( a t , a t +1 , ∙ ∙ ∙ , a t + k − 1),这些行动由教师建议0由代理引起的状态分布 p agent 取决于 π main 和 π help。与标准的模仿学习一样,在I3L中,代理的目标是最小化在代理引起的状态分布上的期望损失:0其中 L ( ., ., . )是损失函数。学习解释间接干预。I3L可以看作是在动态环境中的模仿学习问题,其中由于间接干预而改变了环境。只要在改变后的环境中定义了良好的教师策略,就可以将I3L问题视为已解决的问题。02直接/间接的区别在物理代理(如自动驾驶汽车)中更具体地说明。关闭自动驾驶模式并控制方向盘构成直接干预,而发出停车命令则表示间接干预(命令被视为添加到环境中的新信息)。πhelpπhelpπhelpπhelpπhelpπhelpAgent actionTeacher actionAgent action influenced by interventionTaken actionNot taken actionMatterport3D simulator. The Matterport3D dataset [10]is a large RGB-D dataset for scene understanding in indoorenvironments. It contains 10,800 panoramic views inside 90real building-scale scenes, constructed from 194,400 RGB-D images. Each scene is a residential building consistingof multiple rooms and floor levels, and is annotated withsurface construction, camera poses, and semantic segmen-tation. Using this dataset, [2] implemented a simulator thatemulates an agent walking in indoor environments. Thepose of the agent is specified by its viewpoint and orien-tation (heading angle and elevation angle). Navigation isaccomplished by traversing edges in a pre-defined environ-ment graph in which edges connect reachable panoramicviewpoints that are less than 5m apart.Visual input. The agent’s pose is not provided as inputto the agent. Given a pose, the simulator generates an RGBimage representing the current first-person view. The imageis fed into a ResNet-152 [26] pretrained on Imagenet [50]to extract a mean-pooled feature vector, which serves as theinput to the agent. We use the precomputed image featurevectors publicly released by [2].Action space. Following [2], we use a state-independentaction space which consists of six actions: left, right,up, down, forward and stop.The left, right,up, down actions rotate the camera by 30 degrees. Theforward action is defined as follows5: executing this ac-tion takes the agent to the next viewpoint on the shortestpath from the current location to the goals if the viewpointlies within 30 degrees of the center of the current view, orif it lies horizontally within 30 degrees of the center andthe agent cannot bring the viewpoint closer to the center bylooking up or down further; otherwise, executing this actiontakes the agent to the viewpoint closest to the center of the125300BC:顾问总是干预0IL:顾问随机干预0I3L-BCUI:学习策略决定顾问何时干预,由于干预,环境发生了变化0BC和IL:代理自主决策0训练 测试0I3L-BCUI:代理自主决策,学习策略决定顾问何时干预,由于干预,环境发生了变化0图2:在干预下,使用行为克隆进行训练的I3L(I3L-BCUI),模仿学习(IL)和行为克隆(BC)在训练时(左)和测试时(右)的比较。灰色点表示状态,箭头表示动作。不同颜色的边界框表示不同的环境。0将VNLA分解为一系列IL问题,每个问题都可以用标准的IL算法来解决。然而,事实证明,在VNLA中定义这样的策略是非常困难的。即使在VNLA中,我们使用最优的最短路径导航策略,引入一个子目标到环境中可能会使该策略失效。假设当代理执行一个子目标时,它犯了一个错误,偏离了子目标建议的轨迹(例如,对于一个子目标“向左转,向前走”,它首先向右转)。然后,继续遵循子目标就不再是最优的选择。始终遵循导师也不是一个好选择,因为代理可能学会忽视导师,在测试时无法有效利用子目标。我们的解决方案被称为BCUI(行为克隆干预),将IL与行为克隆相结合。在这种方法中,代理在执行干预(自干预后的k个步骤)时使用导师策略作为行动策略(行为克隆)。因此,代理从不偏离干预建议的轨迹,因此从不遇到导师和顾问之间的冲突。当没有执行干预时,代理使用学习到的策略作为行动策略。与模仿学习和行为克隆的联系。图2说明了为什么在BCUI下训练的I3L(I3L-BCUI)是一个包含IL和行为克隆的通用框架。I3L-BCUI中的顾问在训练时通过行为克隆和修改环境直接干预,但在测试时只通过间接干预。IL或行为克隆中的导师可以被看作是只在训练期间可用并且只进行直接干预的顾问。IL和行为克隆采用简单的请求帮助策略。在行为克隆中,请求帮助策略是始终让导师干预,因为代理在训练期间始终让导师做决策。大多数IL算法在训练期间采用混合策略作为行动策略,这相当于使用伯努利分布采样器作为请求帮助策略。I3L-BCUI对请求帮助策略没有任何限制,甚至可以从03.在IL中的行为克隆等同于序列到序列学习中的标准监督学习,在训练过程中,始终使用真实的标签(而不是预测的标签)来过渡到下一步。4.行为克隆的一个已知缺点是它在训练和测试条件之间存在差距,因为在测试时,代理根据学习到的策略行动。解决这个问题留给未来的工作。0Matterport3D模拟器。Matterport3D数据集[10]是一个用于室内环境场景理解的大型RGB-D数据集。它包含90个真实建筑规模场景内的10,800个全景视图,由194,400个RGB-D图像构成。每个场景是一个由多个房间和楼层组成的住宅建筑,并且带有表面构造、相机姿态和语义分割的注释。使用这个数据集,[2]实现了一个模拟器,模拟了一个在室内环境中行走的代理。代理的姿态由其视点和方向(朝向角和仰角)指定。导航是通过在预定义的环境图中遍历边来完成的,其中边连接的可达全景视点之间的距离小于5米。视觉输入。代理的姿态不作为输入提供给代理。给定一个姿态,模拟器生成一个表示当前第一人称视角的RGB图像。该图像被馈入在Imagenet上预训练的ResNet-152[26]中,提取一个平均池化的特征向量,作为代理的输入。我们使用[2]公开发布的预计算图像特征向量。动作空间。按照[2]的方法,我们使用一个与状态无关的动作空间,包括六个动作:左、右、上、下、前进和停止。左、右、上、下动作将相机旋转30度。前进动作的定义如下:执行此动作将代理带到当前位置到目标之间最短路径上的下一个视点,如果该视点与当前视图的中心相差不超过30度,或者如果它在水平方向上与中心相差不超过30度,并且代理无法通过进一步向上或向下看来将视点更靠近中心;否则,执行此动作将代理带到最靠近中心的视点。05. 环境和数据05我们对“forward”动作的定义与[2]中的定义不同,确保导航教师从不建议代理采取使其偏离到达目标的最短路径的动作。Main goalEncoderAttention memory DecoderanavTentative Nav Distributionbtht-1t-1aaskt-1FeedforwardHelp-requesting DistributionMain goalEncoderAttention memory DecoderanavFinal Nav Distributionot ht-1t-1aasktot125310划分 数据点数目 目标数目0训练 94,798 139,757 开发集(已见) 4,874 7,768开发集(未见) 5,005 8,245 测试集(已见) 4,9177,470 测试集(未见) 5,001 7,5370表1:ASKNAV划分。一个数据点包含一个起始视点和多个目标视点。0当前视图。我们还定义了一个请求帮助动作空间,包括两个动作:请求和不采取任何行动。数据生成。使用Matterport3D数据集提供的注释,我们构建了一个VNLA任务的数据集,称为ASKNAV。我们使用与[2]相同的环境划分:61个训练集,11个开发集和18个测试集。在过滤掉出现次数少于五次、难以识别(例如“门框”)、相关性低(例如“窗户”)或未知的标签后,我们获得了289个对象标签和26个房间标签。我们将每个数据点定义为一个元组(环境、起始姿态、目标视点、终点目标)。终点目标构造为“在[房间标签]中找到[对象标签]”,其中[对象标签](如果是单数)或[对象标签](如果是复数)替换为“a/an[对象标签]”,[房间标签](如果有一个请求的标签房间)或“one of the pluralize([房间标签])”(如果有多个请求的标签房间)替换为“the[房间标签]”。表1总结了ASKNAV数据集。开发集和测试集进一步分为一个“unseen”集和一个“seen”集。看到的集合包括在训练环境中生成的数据点,但不出现在训练集中。未看到的集合包含在开发或测试环境中生成的数据点。详细的数据生成过程在附录中描述。06. 实现0符号表示。代理维护两个策略:导航策略πnav和请求帮助策略πask。每个策略都是随机的,输出其动作空间上的分布p。通过选择最大概率的动作或从输出分布中进行采样来选择动作a。代理受到导航教师π�nav和请求帮助教师π�ask(两者都是确定性策略)的监督,并由顾问Φ协助。提供数据集D,其中第d个数据点由起始视点xstartd,起始方向ψstartd,一组目标视点{xendd,i},终点目标ed和相应环境的完整地图Md组成。在任何时候,教师和顾问都可以访问代理的当前姿态和当前数据点提供的信息。算法。算法1描述了训练VNLA代理的整体过程。我们使用I3L-BCUI算法(第4节)训练导航策略,并使用行为克隆训练请求帮助策略。在时间步t,代理首先从当前姿态接收环境的视图(第10行)。它计算出一个临时导航分布pnavt,1(第11行),该分布用作计算请求帮助分布paskt的输入(第12行)。由于请求帮助策略是在行为克隆下训练的,代理调用请求帮助教师π�ask(而不是学习的策略πask)来决定是否请求帮助(第13行)。如果请求帮助教师决定代理应该请求帮助,并且请求帮助的预算尚未用尽,顾问Φ将通过语言子目标gsubt提供帮助(第14-15行)。然后,将子目标前置到原始的终点目标gmain0,d形成新的终点目标gmaint(第16行)。如果不满足请求帮助的条件,则终点目标保持不变(第19行)。在做出请求帮助决策后,代理通过第二次调用学习的策略πnav计算出最终的导航分布pnavt,2。请注意,在计算此分布时,最后一个请求帮助动作不再是aaskt−1,而是变成了aaskt。代理根据I3L-BCUI算法的原则选择执行导航策略。具体来说,如果代理在最后k个步骤内请求了帮助,即仍在执行子目标,它将使用教师策略来执行(第24行)。否则,它将从最终的导航分布中采样一个动作(第26行)。在第28-29行,使用在线学习算法更新学习的策略。最后,代理根据采取的导航动作过渡到下一个姿态(第33行)。0(a) (b)0图3:导航模块的两个解码过程。 (a)第一次解码计算出临时导航分布,该分布用作计算请求帮助分布的特征。 (b) 第二次解码计算出最终导航分布。0在I3L-BCUI算法(第4节)下训练导航策略,并在行为克隆下训练请求帮助策略。在时间步t,代理首先从当前姿态接收环境的视图(第10行)。它计算出一个临时导航分布pnavt,1(第11行),该分布用作计算请求帮助分布paskt的输入(第12行)。由于请求帮助策略是在行为克隆下训练的,代理调用请求帮助教师π�ask(而不是学习的策略πask)来决定是否请求帮助(第13行)。如果请求帮助教师决定代理应该请求帮助,并且请求帮助的预算尚未用尽,顾问Φ将通过语言子目标gsubt提供帮助(第14-15行)。然后,将子目标前置到原始的终点目标gmain0,d形成新的终点目标gmaint(第16行)。如果不满足请求帮助的条件,则终点目标保持不变(第19行)。在做出请求帮助决策后,代理通过第二次调用学习的策略πnav计算出最终的导航分布pnavt,2。请注意,在计算此分布时,最后一个请求帮助动作不再是aaskt−1,而是变成了aaskt。代理根据I3L-BCUI算法的原则选择执行导航策略。具体来说,如果代理在最后k个步骤内请求了帮助,即仍在执行子目标,它将使用教师策略来执行(第24行)。否则,它将从最终的导航分布中采样一个动作(第26行)。在第28-29行,使用在线学习算法更新学习的策略。最后,代理根据采取的导航动作过渡到下一个姿态(第33行)。06.1. 代理0我们将导航策略π nav和请求帮助策略πask建模为两个独立的神经网络模块。导航模块是一个编码器-解码器模型[3],具有乘法注意力机制[38]和覆盖建模[56],它对一个目标进行编码(一个序列的单词)并解码出一系列动作。14:if b > 0 and aaskt== request then15:gsubt= Φ(xcurr, ψcurr, {xendd,i}, Md, k)¯aaskt=�aaskt−1if i = 1,aasktif i = 2(7)125320算法1 VLNA训练过程01: 初始化π nav,π ask随机。 2: k是下一个动作asubgoal描述的数量。 3: for d = 1 . . . D do 4: 重置环境为(xstart d, ψ start d)。 5: 计算时间预算ˆT和请求帮助预算ˆB。 6:初始化当前请求帮助预算b = ˆB。 7: 初始化a nav 0, a ask0为特殊动作。 8: 初始化g main 0 = e d, x curr = xstart d, ψ curr = ψ start d。 9: for t = 1 . . . ˆ T do 10:接收当前视图的图像ot。 11: p nav t, 1 = π nav(ot, g main t −1, a nav t − 1, a ask t − 1) 12: p ask t = π ask(ot, g main t −1, p nav t, 1, b) 13: a ask t = a ask � t = π � ask(p nav t, 1, b, xcurr, ψ curr, {x end d,i}, M d)016: g main t = g sub t ⊙ e d 17: b ← b − 1 18:else 19: g main t = g main t − 1 20: end if 21: pnav t, 2 = π nav(ot, g main t, a nav t − 1, a ask t)22: a nav � t = π � nav(x curr, ψ curr, {x end d,i}, Md) 23: if requested help within last k steps then24: a nav t = a nav � t 25: else 26: a nav t � p nav t,2 27: end if 28: π ask ← UpdatePolicy(π ask, pask t, a ask � t) 29: π nav ← UpdatePolicy(π nav,p nav t, 2, a nav � t) 30: if a nav t == stop then31: break 32: end if 33: x curr, ψ curr ← T(x curr,ψ curr, a nav t) 34: end for 35: end for0词的序列)并解码出一系列动作。编码器和解码器都是基于LSTM的循环神经网络[29]。在时间步t中,如果目标更新了,编码器会生成一个注意力记忆M t = � m enc 1 , ∙ ∙ ∙ , menc | g main t |0通过递归计算得到0m enc i = LSTM enc � m enc i − 1 , g main t,i � , 1 ≤ i ≤ | g main t |0其中LSTM enc是编码LSTM,g maint,i是目标的第i个单词的嵌入。否则,M t = M t −1。解码器运行两次前向传递来计算暂定和最终的导航分布(图3)。第i次解码传递的过程如下:0h dec t,i = LSTM dec � h dec t − 1 , 2 , � o t ; a0h att t,i = A TTEND(h dec t,i, M t)0p nav t,i = S OFTMAX � 导航解码器状态hattt,i的嵌入。0其中i ∈ {1, 2},W nav s是学习参数,A TTEND(.,.)是乘法注意力函数,ot是当前视图的视觉特征向量,a navt − 1是最后一个导航动作的嵌入,而0是最后一个请求帮助动作的嵌入。请求帮助模块是一个多层前馈神经网络,具有RELU激活函数和softmax最后一层。其输入特征包括:•当前视觉特征ot和当前请求帮助预算bt的嵌入。•暂定的导航分布pnavt,1。•暂定的导航解码器状态hdec t,1和hattt,1。这些特征被连接起来并输入到网络中计算请求帮助的分布。0h ask t = F EED - FORWARD l(ot; bt; p nav t, 1; h dec0p ask t = S OFTMAX �请求帮助的动作的嵌入。请求帮助模块是一个多层前馈神经网络,具有RELU激活函数和softmax最后一层。其输入特征包括:•当前视觉特征ot和当前请求帮助预算bt的嵌入。•暂定的导航分布pnavt,1。•暂0其中W ask s是一个学习参数,F EED - FORWARDl是一个具有l个隐藏层的前馈网络。在训练过程中,我们不通过其输入特征向后传播请求帮助模块的错误。初步实验表明,这样做会导致性能下降。06.2. 教师0导航教师。导航教师始终选择动作,沿着从当前视点到目标视点的最短路径遍历。这条路径在最小化到目标的步行距离方面是最优的,但在导航动作的数量方面不一定是最优的。给定代理的姿态,导航教师首先使用摄像头调整动作(left,right,up,down)调整方向,直到选择forward动作将代理推进到通往目标的最短路径上的下一个视点。当达到目标视点之一时,教师发出stop动作。请求帮助教师。即使对环境和代理有完美的信息,计算最优的请求帮助教师策略也是昂贵的,因为该策略取决于(a)代理的内部状态,它位于高维空间中,以及(b)当前学习的导航策略,该策略在训练过程中不断变化。我们设计了一位启发式驱动的教师,当满足以下条件时决定请求帮助:(a)代理偏离最短路径超过δ米。代理到路径的距离定义为其当前视点到路径上最近视点的距离。125330(b) 当均匀分布的熵与代理的临时导航分布p nav t,1的熵之间的差小于阈值�时,代理被“困惑”。(c)代理在过去µ步中保持在相同的视点。(d)帮助请求预算大于或等于剩余步数。(e)代理位于目标视点,但临时导航分布的最高概率动作是向前。尽管这种基于启发式的教师可能不是最优的,但我们的实证结果表明,它不仅有效,而且容易模仿。此外,模仿一位有先见之明的教师在样本效率上更高(理论上已证明[48,55]),并且与通过强化学习最大化奖励函数相比,产生更安全、更稳健的策略(经验上已证明[15])。后一种方法对解决方案的规则性要求较弱,可能会产生剥削性但不直观的策略[1]。06.3. 导师0收到代理的请求后,导师向导航教师查询连续k步以获得一系列k个动作(方程1)。然后,动作{left,right,up,down,forward,stop}分别映射为短语{“向左转”,“向右转”,“向上看”,“向下看”,“向前走”,“停止”}。然后,重复的动作被合并以使语言更具挑战性。例如,要描述一个重复X次的右转动作,导师会说“向右转Y度”,其中Y = X ×30是代理在重复右转动作X次后需要转动的总度数。类似地,重复的向前动作Z被表述为“向前走Z步”。上、下、停止动作不被合并,因为它们很少或从不重复。最后,动作短语用逗号连接以形成最终的子目标(例如,“向左转60度,向前走2步”)。06.4. 帮助请求预算0假设导师对每个请求都描述下一个k个最优动作。我们定义一个超参数τ∈[0,1],它是代理接受帮助的总步数与时间预算之间的比率,即τ≡B∙k0ˆ T. 给定τ,ˆ T和k,我们近似计算B0由一个积分随机变量ˆ B0ˆ B = �B� + r (10) r � B ERNOULLI ({B})0B = ˆ T ∙ τ0量 r 确保 E r � ˆ B ∙ k0� = τ ,对于固定的 ˆ T 和任何正值的 k ,确保了与不同 k的顾问交互的代理之间的公平性。由于 r引入的随机性,我们使用多个 ˆ B的样本来评估一个代理。关于如何确定每个数据点的 ˆ T的详细信息请参见附录。07. 实验设置0基线。我们将我们学到的请求帮助策略(L EARNED)与以下基线策略进行比较:• N ONE:从不请求帮助。• FIRST:从一开始就持续请求帮助,直到 ˆ B 。• RANDOM:均匀随机选择 ˆ B 步来请求帮助。• TEACHER:遵循请求帮助的教师( π � ask)。在每个实验中,训练和评估时使用相同的请求帮助策略。评估指标。我们的主要指标是成功率、找房间成功率和导航误差。成功率是代理在测试集上成功完成任务的比例。找房间成功率是代理最终位置在正确房间类型中的测试集比例。导航误差衡量了从代理的终点视角到目标视角的最短路径长度。我们使用五个不同的随机种子评估每个代理,并报告带有95%置信区间的均值。超参数。详见附录。08. 结果0主要结果。我们的主要结果在表2中呈现。总体而言,赋予代理请求帮助和通过子目标协助代理极大地提升了其性能。在未见环境中,请求帮助更加有用,所有其他策略相对于 NONE 在 T EST UNSEEN 上的改进都更高。即使像 F IRS
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 利用迪杰斯特拉算法的全国交通咨询系统设计与实现
- 全国交通咨询系统C++实现源码解析
- DFT与FFT应用:信号频谱分析实验
- MATLAB图论算法实现:最小费用最大流
- MATLAB常用命令完全指南
- 共创智慧灯杆数据运营公司——抢占5G市场
- 中山农情统计分析系统项目实施与管理策略
- XX省中小学智慧校园建设实施方案
- 中山农情统计分析系统项目实施方案
- MATLAB函数详解:从Text到Size的实用指南
- 考虑速度与加速度限制的工业机器人轨迹规划与实时补偿算法
- Matlab进行统计回归分析:从单因素到双因素方差分析
- 智慧灯杆数据运营公司策划书:抢占5G市场,打造智慧城市新载体
- Photoshop基础与色彩知识:信息时代的PS认证考试全攻略
- Photoshop技能测试:核心概念与操作
- Photoshop试题与答案详解
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功