机器人的操作学习综述:挑战、表征和算法

20年10月来自 CMU、UT Austin 和 Brown 大学的论文“A Review of Robot Learning for Manipulation: Challenges, Representations, and Algorithms”。

智能机器人技术的一个关键挑战是制造出能够直接与周围世界互动来实现目标的机器人。过去十年,机器人操控问题的研究取得了长足进步,其旨在利用日益普及的经济实惠机械臂和夹持器来制造能够直接与世界互动实现目标的机器人。学习将是这种自主系统的核心,因为现实世界包含太多变化,机器人无法提前期望拥有其环境、其中目标或操控它们所需技能的准确模型。本文描述机器人操控学习问题的形式化,将现有研究综合成一个连贯的框架,并强调了许多剩余的研究机会和挑战。

机器人操控是实现机器人技术愿景的关键——机器人的定义本身就要求它有执行器,它可以用来改变世界。自主操控应用的潜力是巨大的:能够操控环境的机器人可以部署在医院、老年人和儿童护理、工厂、外太空、餐馆、服务业和家庭中。部署场景种类繁多,甚至在食物准备等非常专业的场景中,环境变化也普遍存在且不系统化,这表明,一个有效的操控机器人必须能够处理它或其设计者从未预见或遇到过的环境。

因此,研究人员专注于机器人应如何学习操纵周围世界的问题。该研究的范围从学习人类示范中的个人操纵技能,到学习适合高级规划的操纵任务抽象描述,再到通过与目标交互来发现目标的功能,以及介于两者之间的许多目标。如图显示机器人操纵工作中的一些示例。

请添加图片描述

如图是本文的结构:

请添加图片描述

任何操作都涉及物理机器人与其环境的交互。因此,所有操作都受物理定律及其所施加的结构约束。这个相当明显的陈述,对操作学习算法具有深远的影响。基本的物理概念(例如,不同的目标不能占据相同的空间,重力对目标施加与质量相关的力)为操作任务提供了强大的先验知识。物理学中的概念,例如不可逆过程和目标质量,是非常基础的,以至于通常认为它们是理所当然的。然而,这些概念提供了宝贵的先验知识和结构,可以被学习算法利用,从而使学习操作技能变得容易处理。

操作任务几乎总是被描述为欠开动系统。即使机器人完全启动,环境中的无生命目标也会向状态空间贡献一组独立的状态变量,但不会增加机器人的动作空间。由此产生的执行器数和自由度数之间的差异,意味着系统是欠开动的。要改变目标的状态,机器人必须首先进入一个可以改变目标状态的状态,然后应用所需的操作,例如,与目标接触,然后推动目标。这些要求可以表示为一组非完整约束,这些约束定义了机器人如何根据与环境的不同交互在整个状态空间中移动。

操作任务可以建模为混合系统,其中系统动力学在多个离散动力学模式的每一个中都是连续的。因此,动力学是分段连续的。在操作任务中,模式切换通常对应于接触的建立或断开,不同的接触会施加相应的约束并允许机器人与各种目标交互。模式之间的转换条件通常对应于子目标或障碍,具体取决于机器人应改变或保持哪些状态变量不变。不幸的是,模式也使操作任务本质上不连续。因此,状态的微小变化会对操作结果产生重大影响。因此,机器人必须监控其技能执行情况,以防出现意外和不希望的模式转换。

机器人可以通过观察不同操作结果来感知某些潜在目标属性。这个过程被称为交互式感知。目标的许多属性,例如材料或运动学约束,只有通过交互式感知才能可靠地确定。如果任务的目标是改变潜在属性,那么机器人将需要使用交互式感知来验证操作是否成功,例如拉门以确保门已锁好。即使可以使用被动感知来近似属性的值,交互式感知通常也能提供更准确的估计。在某些情况下,交互式感知的估计值可用作学习被动感知的基本真值。因此,交互式感知为自我监督学习提供了基础。由于感知取决于动作,因此交互式感知通常与主动学习相结合,主动选择可最大限度提高学习绩效的动作。

操作任务具有高度分层的结构。例如,打扫房子的任务可以分为子任务,例如洗碗、吸尘和倒垃圾。然后,这些子任务可以进一步细分为更小的子任务,例如抓拿盘子或垃圾袋。即使是抓取等基本技能,也可以进一步细分为多个面向目标的行动阶段。这种层次结构将主要任务划分为更小、更易处理的问题。机器人可以学习执行最低级别任务的技能策略,然后使用这些技能作为执行下一级任务的行动基础。因此,机器人可以逐步学习技能的分层策略,由此产生的策略分层结构反映了任务层次结构。在层次结构中每个级别,学习挑战的复杂性降低,从而可以更快地学习技能。

层次结构也很重要,因为它会产生模块化结构。子任务和技能通常可以互换,以不同根据场景的方式执行任务。模块化还允许预定义某些组件并学习其他组件,例如,可以为智体提供基本的抓握反射。更重要的是,类似的任务通常会在层次结构中出现多次。例如,在切菜时,每一片蔬菜都是一个独立且略有不同的任务。然而,这些任务足够相似,机器人应该对它们进行概括,而不是将它们视为具有独特技能的不同任务。这些相似的任务集称为任务系列。利用这些任务的相似性,机器人可以有效地学习整个任务系列的技能,从而可以多次重复使用。这种模块化融入机器人的控制器和模型的能力,取决于是否具有合适的任务分解。因此,机器人自主地发现这种结构,是操控研究的一个主要课题。

操纵任务的一个常见结构假设是,世界是由目标组成的,机器人的目标,通常是修改环境中特定目标集的某些方面或属性。因此,通过目标进行泛化(跨不同目标,以及不同任务实例中相似(或相同)目标之间)是学习操纵的主要方面。以目标为中心的操纵技能和任务模型表示,通常足以在任务实例之间进行泛化,但跨不同目标进行泛化需要运动技能和目标模型能够适应目标形状、属性和外观的变化。在某些情况下,这可以隐式完成 - 例如,使用柔性夹持器在抓取过程中自动调整其形状以适应目标的形状。跨目标进行泛化的一种有效方法,是找到一个抽象表示,根据该表示,可以将一组目标视为等同或相同,即使它们在像素或特征级别上存在很大差异,并进行相应的调整。

在非结构化环境中工作的机器人,经常会遇到新类型的目标。使用这些目标执行新任务,可能需要调整现有技能或学习全新的技能。因此,在开放世界环境中学习,不仅仅是机器人填补其知识库空白的问题。相反,知识库的范围将继续扩大,有时是以无法预见的方式。处理新概念的能力是机器人自主性的一个重要方面,因为它允许机器人处理不可预见的情况。为了有效运行,机器人需要能够泛化和迁移来自先前经验的知识,构建这些新概念的学习过程。这种迁移学习可能需要更抽象的推理,具体取决于新概念与先前概念的相似性。幸运的是,操纵任务表现出大量结构,自主机器人可以在学习操纵任务时利用这些结构。

机器人学习问题,通常可以表述为单独的马尔可夫决策过程 (MDP) 描述为一个元组:

(S, A, R, T, γ),

其中 S 是一组状态;A 是一组动作;R(s, a, s′) 是奖励函数,表示在状态 s 下执行动作 a 并转换到状态 s′ 的即时奖励;T(s′ | s, a) 是转换函数,给出在状态 s 下执行动作 a 后达到的状态 s′ 的概率分布;γ ∈ [0, 1] 是折扣因子,表示智体对即时奖励而非未来奖励的偏好。在这里,学习的目标是找到一个控制策略 π,将状态映射到动作,以便最大化该特定问题的回报或未来奖励的折扣总和 sum(γi * ri)。

这种常见的公式涵盖了广泛的任务,使研究人员能够开发广泛适用的通用学习算法。但是,机器人操作问题具有更多的结构;机器人操作研究人员的主要任务是识别和利用该结构以获得更快的学习和更好的泛化。此外,泛化对于操作学习如此重要,因此需要多任务公式。因此,将机器人的操作学习任务建模为 MDP 的结构化集合,称之为任务族。不是要求构建解决单个任务(MDP)的策略,而是旨在学习一种可以在整个任务族中推广的策略。

任务系列是 MDP 上的一个分布 P (M ),每个 MDP 都是一项任务。例如,开门任务系列可以将每扇不同的门建模为一个单独的任务。类似地,切蔬菜任务系列可以将每个单独切片建模为一项任务。动作空间由机器人决定,在任务之间保持不变,但每个任务可能都有自己的状态空间、转换和奖励函数。奖励函数表述为依赖于机器人背景成本函数 C,在整个系列中共享,加一个特定于第 i 个任务的奖励 Gi:

Ri = Gi - C

第 i 个任务的状态空间写为:

Si = Sr × Sei ,

其中 Sr 是机器人的状态,Sei 是第 i 个环境的状态。Sei 是可以多种形式,从原始像素和传感器值,到高度预处理的相关任务变量集合。许多任务环境由目标集合和这些与任务相关目标的描述变量组成。因此,通常将环境建模为目标状态的一个集合,其产生一个更结构化的状态空间,中间 Sei 被部分分解为相关目标状态的一个集合:

请添加图片描述

其中 Swi 是一般环境的状态,Ωij 是任务 i 中第 j 个相关目标的状态,任务 i 包含 ki 个目标。相关目标的数量可能跨任务变化,有时也可能任务内变化。以这种分解方式对任务进行建模,有助于以目标为中心的泛化,因为针对单个目标(或目标小集合)定义的策略和模型可以在包含类似目标的新环境中重复使用。这种分解可以在符号状态表示中清楚地看到,其中基于命题(例如 CupOnTable = True)或基于谓词(例如 On(Cup,Table) = True)表示的模块化,允许机器人仅考虑任何给定任务的符号子集。对于操作任务,经常使用基于谓词的表示来进行目标的明确泛化。

操作任务的转换函数也具有模块化,即机器人只能影响给定状态下的一组目标和状态变量。为了捕捉操作任务的欠开动特性,可以将任务建模为具有分段连续动力学的混合系统。每个连续动力学子系统都称为一种模式,状态通常使用离散变量捕获当前模式。当机器人进入某些称为保护区的状态集时,例如当机器人与目标接触或断开接触时,就会发生模式切换。因此,机器人可以将自身限制在某些模式下来限制其可能改变的状态变量。

在某些情况下,动作空间中也存在结构,可使用通常称为技能的高级动作来利用。此类技能通常使用选项框架 (Sutton,1999) 进行建模,这是一个分层学习框架,将每个电机技能建模为一个选项,o = (Io, βo, πo),其中:

Io 是启动集,是一个指示函数,描述选项执行的状态。
βo 是终止条件,描述选项在达到状态 s 时停止执行的概率。
πo 是选项策略,将选项启动集中的状态映射到低层电机动作,并对应于电机技能控制器。

机器人有时可能预先配备一组电机技能,可以在任务系列中重复使用;在其他情况下,机器人会在学习过程中发现可重复使用的技能。
在任务系列中学习策略或领域知识的关键挑战之一,是需要将信息从单个任务传递到整个任务系列。机器人可以根据任务状态学习解决单个任务的策略。但是,将这些功能迁移到整个任务系列并非易事,因为任务可能不共享相同的状态空间。可以通过向任务添加额外信息(例如,有关任务中各种目标的颜色和形状信息)来辅助迁移,但由于该信息在任务执行过程中不会发生变化,因此它不适合放在状态空间中。将这些额外信息建模为伴随每个任务 MDP 的上下文向量 τ,机器人可以使用该向量来指导其行为。与状态空间一样,上下文可以对每个任务是独一的,也可以是目标上下文的组成部分。为了在一个任务族中进行泛化,机器人通常必须学习策略和模型,作为上下文向量中信息的函数。例如,切菜技能需要适应不同蔬菜的材料特性,开门技能需要适应不同门的质量和尺寸。

操作任务所带来的学习问题通常可以分为五大类之一,如图显示了本文涵盖的内容概述:目标和环境表征、转换模型、技能策略、组合和分层任务结构、先决条件和努力去划分技能。

请添加图片描述

在学习定义状态空间时,机器人必须发现其环境中每个目标的状态特征和自由度。这些信息被认为是在传统的强化学习和规划设置中给出的。但在机器人技术中情况并非如此,特别是在学习操作时,这涉及与机器人设计者无法事先访问的目标进行交互。学习的目标状态表示,可以作为每个任务状态空间的组成部分在任务系列中迁移。

在学习环境的转换模型时,机器人必须学习其动作如何影响任务状态以及由此产生的背景成本模型,以用于规划。这与学习定义状态空间密切相关。如果学习的转换模型和奖励函数是以目标为中心的,那么它们就可以在任务系列中迁移,从而形成一种跨任务以目标为中心的自然泛化方法。

在学习电机技能时,机器人会尝试学习一种直接实现某些目标的电机控制策略,通常是通过强化学习(Sutton & Barto,1998)。在这里,目标可以是学习特定于任务的解决方案策略,可以是根据上下文向量为任务系列中的任何任务生成解决方案的策略,也可以是构成解决方案策略组成部分但本身不是完整解决方案的有用电机技能。

给定一个学习的电机技能,还可以学习去表征该电机技能,其中机器人学习可以成功执行该技能的形势描述(通常称为先决条件,对应于选项的初始集 Io),以及一个由此产生状态变化的模型(通常称为效果)。

最后,学习组合和分层的结构,旨在学习分层的知识,使机器人能够更有效地解决系列中的新任务。这里的目标是学习组成电机技能(完全指定的选项)及其操作模型,构建学习任务的更抽象表示。

建模操作任务和泛化操作技能,需要机器人环境及其操作目标的表征。这些表征是学习转换模型、技能策略以及技能前置条件和后置条件的基础。

机器人的物理环境具有可利用的大量结构。具体来说,世界可以划分为目标,每个目标都可以用一组特征或属性来描述。例子包括可移动的目标,如杯子、桌子和门,以及固定的目标,如柜台和墙壁。机器人将环境划分为目标,然后估计其属性值来创建模块化表示。这种表示允许机器人在不同任务之间有效地泛化相似的目标,支持技能的重用。

目标表示

目标表示,捕获目标在任务内和同一族任务之间的变化。任务内的变化由状态空间捕获 - 操作动作可以改变的特征;跨任务的变化捕获上下文空间的一部分 - 在任何特定任务中固定的属性,但有助于跨任务进行泛化。例如,在堆叠各种块时,块的形状和大小对于给定任务是固定的,因此是上下文的一部分。然而,不同的堆叠任务可能使用不同的块集,因此上下文会随着任务而变化。泛化操控技能,通常意味着隐式或显式地适应环境和状态的变化。例如,多功能拾取和放置技能应该泛化不同目标的形状(在任何特定任务中固定)以及它们在环境中的位置(可通过任务期间的操作进行修改)。

感知

作为能够操纵周围环境的具体智体,机器人可以利用动作来增强对环境的感知。因此,机器人感知大致分为被动感知和交互式感知,关键区别在于机器人是否与环境进行物理交互。

被动感知是指在不利用与环境的物理交互的情况下感知环境的过程,即非交互式感知(Isola,2015)——例如,根据摄像机图像识别和定位场景中的目标(Burchfiel & Konidaris,2018;Tremblay,2018;Wang,2019;Yamaguchi & Atkeson,2016a)。

在交互式感知(Bohg,2017)中,机器人会与周围环境进行物理交互,以更好地估计环境。例如,机器人可以推动目标以更好地估计其约束,或者举起目标以估计其重量(Barrag ́an,2014;Hausman,2015;Katz & Brock)。机器人可以使用多种传感器模态来观察其交互的影响,包括触觉、触觉、视觉和听觉。

需要执行操作,意味着交互式感知比被动感知需要更多的时间和精力。交互式感知的好处是它能够区分场景之间的歧义并观察其他潜在属性,从而使机器人能够减少不确定性。例如,机器人可能不知道两个目标体是刚性连接还是仅仅接触;交互式感知允许它测试每个假设。

不同的动作会产生不同的效果,因此机器人可以通过选择更具信息量的动作来更快地了解其环境。例如,摇动容器通常会比推的动作提供更多有关其内容的信息。主动学习方法通​​常估计环境中一个或多个变量的不确定性,然后根据由此产生的熵、信息增益或相互信息选择动作。

检验假设的能力,意味着交互式感知也可以用作学习使用被动感知估计属性的监督信号。作为交互式学习的一个例子,机器人可以首先使用交互式感知来确定一组训练目标的质量,从而学会根据物体的外观预测其质量。这种形式的自我监督学习使机器人能够自主收集信息,因此对于使机器人能够在陌生的环境中运行至关重要。

特征学习和选择

即使环境可能包含大量目标和感官刺激,通常只有少数目标属性或感官信号与给定任务相关。例如,打开瓶子时,瓶盖的大小是相关特征,但椅子的颜色无关紧要。使用一组合适的相关特征可以简化技能和模型学习问题。它还提高了对新情况的鲁棒性和泛化能力。如果目标属性集足够丰富,那么机器人可能只需要选择一组合适的属性作为学习特征。然而,在许多情况下,机器人需要为给定任务学习一组特征。

无监督特征学习方法从未标记的训练数据中提取特征。降维方法可用于捕获数据中的相关性并丢弃信号的噪声成分。对于操作领域,降维方法可用于学习复杂目标或目标类别内变化的紧凑表示(Burchfiel & Konidaris,2017;Bergstr ̈om,2012)。降维方法还可用于减少机器人的抓取动作空间,以更好地适应常见的目标形状(Ciocarlie,2007)。聚类方法用于将相似的数据样本聚类在一起。对于操作,聚类方法可用于将不同类型的目标或连续的操作效果聚类在一起(Ugur & Piater,2015)。

监督方法将特征作为整体模型或技能学习过程的一部分进行学习。决策树和神经网络通常用于在监督环境中学习特征。深度学习已成为机器人技术中特征学习的普遍应用。不同的网络结构和层(例如自动编码器、空间softMax层、卷积和分割掩码)可用于整合架构先验以学习有用的特征。例如,分割掩码可用于捕获图像中邻近点的共同运动,捕获一起移动的目标或部件的点(Byravan & Fox,2016;Finn & Levine,2017)。深度神经网络模型可用于表示具有高维观察空间的操纵任务状态空间。以面向任务的方式学习操纵环境的表示,促进后续规划和控制(Kurutach,2018;Srinivas,2018)。神经网络在组合来自多种传感器模态或信息源的数据方面也非常有效。对于操作任务,机器人通常使用这种方法来合并被动模式(例如视觉)和更具交互性的模式(例如触觉和触觉)之间的信息,或合并额外的任务信息(例如指令)(Gao et al., 2016; Lee et al., 2019; Sung et al., 2017a)。

操控任务的目标,是改变机器人环境中目标的状态。因此,学习转换模型(捕捉机器人动作导致的状态变化)是操控学习的重要组成部分。
学习转换模型需要合适的表示。MDP 系列转换模型的一般形式,是确定性函数 T : S × A → S, 或给定当前状态和动作下的下一个状态随机分布 T : S × A × S → R。转换模型还可以依赖于上下文向量 τ,以便在上下文之间明确泛化。转换模型通常以迭代方式使用,执行多步预测。

状态转换通常使用概率模型来表示,这些模型允许机器人表示多种潜在结果。例如,机器人可能会选择移动到垃圾桶并将目标扔进去,因为由此产生的状态分布方差,要低于试图将目标扔进垃圾桶的情况。在使用概率模型时,区分两种不确定性来源非常重要:随机不确定性和认知不确定性。

转换模型通常以自监督的方式学习。给定当前状态,机器人执行动作并观察对状态产生的影响。因此,机器人可以获取状态、动作和下一个状态的多元组以训练模型。为了广大地泛化,机器人还需要估计每个任务的上下文参数,然后将其合并到模型中。

机器人可以采用不同的探索策略来获取样本。随机抽样通常用于学习一般模型并获取一组多样化的样本。可以使用网格(grid)方法来确保动作样本足够分散,但这些方法通常假设可以在动作之间重置状态(Yu et al.,2016)。可以使用主动采样方法来选择最具信息量的动作样本(Wang et al.,2018)。如果该模型用于学习和提高特定技能,机器人可以在该技能附近使用少量的随机噪声收集样本。探索环境的另一种越来越流行的方法是利用内在动机(Chentanez,2005;Pathak,2019)。在这种情况下,机器人会主动尝试发现其模型当前表现不佳或导致显著事件的新场景。

转换模型并非与特定任务有内在联系,因此通常可以在不同的操作任务甚至任务系列之间转移和重用。例如,学习的推动目标模型可以用作学习推动抓取目标的基础。为了直接重用模型,学习的模型和新任务必须具有相同的状态、动作和上下文空间,或者可能需要在空间之间进行映射(Taylor,2007)。给定兼容空间,转移或重用模型的能力,取决于用于训练新旧任务模型数据分布之间重叠。此问题称为协变量漂移(输入变化)和数据集漂移(输入和输出变化)。如果先前的模型是在与新任务需求不同的数据上进行训练的,那么使用先前模型的好处将受到限制,甚至可能有害。假设模型足够丰富,机器人可以从新任务中获取更多数据,并使用它来更新这个新区域的模型。通过这种方式,机器人学习的模型将来可能会更适用于其他任务。在并行学习技能时,数据也可以跨模型共享。

机器人的最终学习目标是获得一种行为或技能控制器,以执行所需的操作任务。技能控制器的常见表示,是将状态-动作对映射到概率(或连续情况下的概率密度)的随机策略。

动作空间类型

动作空间的选择是设计操控策略的重要部分。机器人最终需要向其执行器发送控制信号,以在物理世界中执行动作。例如,这些信号可以定义液压或气动执行器的所需压力、形状记忆合金执行器的加热、电缆驱动机器人的肌腱(tendon)激活或电动机的扭矩。难以建模的机器人(例如软机器人和具有复杂动态的机器人),通常可以从直接输出控制信号的学习策略中受益。但是,策略的输出通常并不直接作用于执行器信号层面。

实际上,策略和执行器之间通常会放置一个额外的控制器(Gullapalli,1994)。使用额外的控制器可让机器人利用大量先前的机器人控制研究成果(Spong,2005)。示例控制器,包括简单的线性 PID 控制器以及更复杂的基于模型的导纳(admittance)和阻抗(impedance)控制器。然后,策略的操作定义了控制器的期望值。策略的操作空间通常定义运动的期望位置、速度或加速度,或交互的期望力量和扭矩。

期望位置和力量信息,都可以在末端执行器的关节空间或笛卡尔任务空间中定义。对于操作任务,使用笛卡尔动作空间(Mason,1981;Ballard,1984)通常更容易泛化机器人工作空间中与目标的交互。例如,在笛卡尔动作空间中,对抓取的目标施加向上的力,在机器人工作空间的任何地方都是相同的动作。然后,控制器负责将这些所需信号映射到关节空间中进行驱动。对于关节空间动作策略,机器人需要根据手臂的当前配置学习不同的关节扭矩。

虽然笛卡尔动作可以在全局或以机器人为中心的坐标系中定义,但通常可以通过使用与单个目标或环境的显著特征相关的任务框架来实现额外的泛化(Ballard,1984)。这些任务框架可以是预定义的、选择的或学习的。使用给定的与目标相关的任务框架,允许策略学习专注于如何执行任务,而不是在哪里执行任务。

除了确定控制器输入的期望值之外,策略还可以输出用于调整控制器的其他值。特别是,策略可以将不同的控制器增益定义为其动作空间的一部分(Buchli,2011;Ren,2018)。通过这种方式,策略可以使机器人在任务执行的不同阶段更加顺从或更加坚定。否则,增益通常是预定义和固定的。

控制器的加入,还允许机器人使用比控制器运行频率更低的策略。虽然低层控制器可能以 100 或 1000 赫兹的频率运行,但策略可以以较低的频率运行。对于以较低频率运行的策略,可以使用额外的插值在所需值之间引导控制器。

策略结构

在机器人操作中,通常会使用特定的参数化来限制策略的表示能力;如果这些限制尊重任务的底层结构,则泛化和数据效率通常会得到改善,而不会显著影响渐近性能。因此,策略表示的选择是任何机器人学习算法的关键设计决策,因为它决定了可以表达的行为类别,并为泛化应该如何发生编码强大的先验。这导致了一系列的策略结构,比如高度通用(但通常样本效率低下)或者高度受限(但可能更高效地采样)的表示。

强化学习

对于任何给定的策略表示,强化学习 (RL)(Sutton & Barto,1998)可用于学习技能控制器的策略参数。在机器人领域,使用 RL 处理的任务通常是情景的,具有固定数量的时间步骤或一组结束情景的终端状态(例如,达到特定的目标配置),但偶尔可能是具有无限视野的持续任务(例如,尽快将连续的目标流动放入箱子中)。

将强化学习应用于机器人技术面临许多挑战。由于收集物理机器人数据需要时间,与存在快速、准确模拟器的问题相比,探索和利用(exploration and exploitation)之间的权衡变得更加重要。此外,机器人技术中很少有问题可以严格地描述为 MDP,而是表现出部分可观测性(Platt,2011)和非平稳性(Padakandla,2019)(尽管如此,将这些问题转化为 MDP 并解决通常仍然很实用)。由于机器人技术中的许多任务都是多目标的(例如拿起杯子、尽可能少地用力并且不与任何东西发生碰撞),因此很难定义适当的奖励函数来引发所需的行为(Hadfield-Menell,2016)。由于大多数机器人任务的情景性,奖励往往很稀疏,很难从中学习。机器人问题通常还具有高维连续状态特征以及多维连续动作,这使得策略学习具有挑战性。

三个主要标准可以对 RL 算法进行分类:(1) 基于模型或无模型,(2) 它们是否计算价值函数,以及它们以何种方式使用它,以及 (3) 在线(on)策略或离线(off)策略。

模仿学习

强化学习是从机器人在现实世界(或其模型)中的经历中学习的,与之相反,模仿学习(Schaal,1999;Argall,2009)旨在从演示轨迹中学习任务。这可以看作是一种编程形式,但用户只需向机器人展示要做什么,而不是编写代码来描述所需的行为。从演示数据中学习,已在多种不同的环境中得到广泛研究,因为它可以使机器人利用人类(可能非专家)现有的任务专业知识来(1)绕过强化学习环境中所需的耗时探索,(2)传达用户对如何完成任务的偏好,以及(3)描述可能难以正式或以编程方式指定的概念,例如良好的网球挥杆。值得注意的是,模仿学习和强化学习并不互相排斥;事实上,模仿学习之后通常会进行强化学习以改进策略(Kober & Peters,2009;Taylor,2011)。

模仿学习的演示通常表示为状态或状态-动作对的轨迹。机器人可以通过多种机制获得此类演示轨迹,包括远程操作、跟踪、动觉教学、动作捕捉。最近,关键帧演示(Akgun,2012)、虚拟现实演示(Zhang,2018;Yan,2018)和从观察环境中学习的视频演示(Liu,2018)也变得越来越常用。

技能迁移

鉴于复杂的机器人任务中学习的样本复杂度很高,在一个任务中学习到的技能通常会通过各种机制迁移到其他任务中,从而提高学习的效率,比如元学习、域适配、课程学习等。

安全和性能保证

无论策略是直接为特定任务学习的,还是从之前的任务迁移而来的,一个重要但研究不足的问题是,“该策略在它将面临的各种情况中表现如何” ?这在机器人操作中是一个特别重要的问题,未来的许多应用都需要高度可信的安全、正确行为:在家庭和工作场所与人类一起工作的机器人不得造成伤害、破坏财产或自我伤害;手术(Van Den Berg,2010)和核废料处理(Kim,2002)等安全关键任务必须高度可靠地完成;与依赖它们的人群,如残疾人或老年人(Goil,2013)一起工作的机器人必须是可靠的。

执行操作技能会改变机器人环境的状态;如果机器人要使用技能来实现特定目标,则需要这些结果的一个模型。该模型称为后置条件,描述了机器人在执行技能后将处于的状态空间区域。机器人还必须建模可以执行技能的形势 - 称为先决条件。了解每个技能的这两个模型,可用于确定是否可以从特定状态执行技能序列(Konidaris,2018)。先决条件和后置条件用于对技能(或操作)进行排序以进行任务规划。规划器搜索操作序列的约束是,每个技能的后置条件必须满足下一个技能的先决条件。

前置条件和后置条件作为命题和谓词

操纵技能的前置条件和后置条件,通常抽象地表示为命题或谓词,在任何特定状态下均为真或假。例如,机器人可以使用布尔命题 AtTableB 表示特定导航技能的结果。它还可以使用谓词表示 At(TableB),支持更紧凑和高效的表示,并且允许更轻松地跨目标进行泛化。
谓词的落地或锚定,是指(通常是连续的)低级状态和上下文与谓词的真值之间的映射;它定义了符号的含义(Konidaris,2018;Coradeschi,2013)。

学习先决条件和后置条件落地

机器人可以使用已知条件为真或假的状态和上下文样本来训练先决条件和后置条件的谓词分类器。真值标签可以由人类监管者提供,尽管这种方法会限制机器人的自主性,并且可能需要用户具备丰富的专业知识。在某些情况下,人类可以提供所需后置条件和先决条件的数据——技能应该实现什么,从哪些条件开始——但实际条件最终将取决于机器人的能力。

机器人可以从经验中学习条件标签,而不是依赖手动标记。可以在给定固定后置条件的情况下学习先决条件的标签——技能执行导致满足后置条件的状态都是正例,所有其他状态都是负例。机器人应该使用概率分类器来捕捉转换的随机性。因此,机器人可以通过从不同状态执行技能并观察结果来获得先决条件标签。

技能监控和结果检测

大多数技能都有不同的先决条件和后置条件,其中一些谓词会随技能的执行而改变,例如,执行抓书技能而言,一旦书被抓起应该会导致 Grasped(Book,RHand)=True(Dang & Allen,2012;Garrett,2018)。谓词也可能因技能执行中的错误而改变。例如,在执行放置技能时,谓词值 On(Book, Table)=False 或 InCollision(Book, Obstacle)=True 将对应于错误。为了稳健地执行操作任务,机器人必须监控其技能执行情况并确定它是否以及何时实现了预期结果或是否发生了错误。

谓词和技能合成

技能通常会有额外的高级参数来定义如何执行技能(Ugur,2011)。例如,抓握技能可能需要抓握姿势,擦洗技能可能需要所需的力度(Bohg,2014)。通过这种方式,更高级别的策略可以根据技能的特定需求进行调整。

操纵任务通常具有大量的模块化结构,可以利用该结构来提高一系列任务的性能。因此,一些研究试图将操纵任务的解决方案分解为多组件技能。以这种方式分解任务有几个优点。由于每个技能的视野都较短,因此可以更有效地学习单个组件技能,从而大大简化学习问题并有助于探索。每项技能都可以使用其自身内部技能-特定的抽象,使其能够仅关注相关目标和状态特征;如果单独处理则可能为高维的问题,可以分解为一系列低维子任务。技能在不同环境中的重复出现,会带来更多获取相关数据的机会,这通常提供了泛化的机会;相反,在多个问题环境中重复使用技能,可以避免每次都从头开始重新学习问题元素,从而加快每个任务的学习速度。最后,这些组件技能创建了一个分层结构,提供了使用更高级别的状态和操作来解决操作任务的机会,从而产生比最初定义任务时更容易的学习问题。

电机技能的形式

操纵学习任务中分层结构的核心,是识别可能组成解决方案的组件技能。

技能,通常被建模为选项,包括启动集、终止条件和选项策略。在许多情况下,选项策略是使用奖励函数 Ro 间接定义的,通常由达到终止条件 βo 的完成奖励加上背景成本函数组成。然后可以使用任何强化学习算法将 βo 视为吸收目标集来获得选项策略 πo。因此,在解决操作问题时,寻找组件技能的核心问题是,定义相关的终止目标 βo(即确定目标目标),从中可以构建 Ro。

机器人可以构建一个技能库,其中包含可在任务之间频繁重复使用的多种技能的集合。这需要从演示或机器人自身自主生成的行为中提取一组技能。这里的关键问题是如何识别技能,这是一个困难且有些不明确的挑战。有两种主要方法:将任务解决轨迹细分为单个组件技能,或在学习解决任务时直接将技能规范作为整体问题的部分。

将轨迹分割成组件技能

识别技能库的一种方法是获取一组任务的解决方案轨迹,并将这些轨迹分割成一组技能,这些技能可以追溯分解输入轨迹。这通常使用演示轨迹来完成,但也可以在机器人自主生成的轨迹上执行,通常是在学习之后(Hart,2008;Konidaris,2011a;Riano & McGinnity,2012)。无论它们是如何生成的,都必须将生成的轨迹分割成组件技能。分割的方法分为两大类:基于技能相似性和基于特定事件(任务特定事件或者普遍适用的准则)。

在解决任务时发现技能

另一种方法是在学习解决一个或多个操作任务的过程中,发现组件电机技能。与解决方案轨迹分割相比,这有两个关键优势。首先,学习到的技能可以帮助解决一开始的任务;许多复杂的操作任务如果不分解成更简单的任务就无法直接解决,因此要求在技能发现之前有一个完整的解决方案是不可行的。其次,在学习过程中强加层次结构可能会注入偏差,从而产生更紧凑的技能库。例如,可能有多种方法来转动开关;没有理由期望,一个机器人独立学习解决开关涉及的几个任务还能每次都找到类似的策略。但是,如果在第一个任务中识别并保留了转动开关的学习策略,那么它很可能会在第二个任务中重复使用。

学习决策抽象

抽象电机技能的集合,为机器人提供了程序抽象;它可以抽象出解决任务必须做什么的低层细节。然而,这些电机技能也为抽象机器人决定执行哪种技能的输入提供了机会。学习这样的抽象结构,有两个潜在的优势:首先,新的抽象输入可能使学习新任务变得更容易(甚至启用跨任务工作的通用抽象策略,这样任务学习变得不必要),并支持抽象的任务级规划。其次,由此产生的抽象表示,可能更容易让非专家进行编辑、更新和解释。

广义上讲,有两种类型的决策学习抽象。第一种直接学习抽象策略,而第二种学习抽象状态空间,作为规划或更快学习新任务的基础。

学习稳健且多功能的操作技能,存在一些紧迫的挑战:

  • 学习整合到完整的控制系统中
  • 在学习过程中使用学习的组件(现场学习)
  • 安全学习和有保证的学习
  • 利用和整合多种感官模态,包括人类线索
  • 更好的探索策略,可能基于明确的假设或因果推理
  • 利用常识性物理知识 更好的算法,跨完全不同的任务系列进行迁移
  • 大幅提高策略学习算法的样本复杂度,同时避免必须根据经验调整超参
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值