一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用基于元模仿学习和元强化学习的元学习的用于新任务的机器人控制策略的高效自适应的制作方法

2021-11-19 23:44:00 来源:中国专利 TAG:

使用基于元模仿学习和元强化学习的元学习的用于新任务的机器人控制策略的高效自适应


背景技术:

1.许多机器人被编程为利用一个或多个末端执行器来抓取一个或多个物体。例如,机器人可以利用抓取末端执行器,诸如“冲击式”抓手或“侵入式”抓手(例如,使用插针、针等物理穿透物体)从第一位置拾取物体、将物体移动到第二位置,然后在第二位置放下物体。可以抓取物体的机器人末端执行器的一些其他示例包括“收缩”末端执行器(例如,使用吸力或真空来拾取物体)以及一个或多个“邻接”末端执行器(例如,使用表面张力、冻结或粘合剂来拾取物体),仅举几例。


技术实现要素:

2.本文公开的技术针对使用元学习训练机器人代理,使得该代理可以学习基于任务的几个演示(例如,单个演示、两个演示、少于5个演示、少于10次演示等)以及执行任务的几次试错(trial and error)尝试(例如,单次试验尝试、两次试验尝试、少于5次试验尝试、少于10次试验尝试等)执行新任务。本文公开的技术另外针对在执行新任务时利用这样的机器人代理。元学习使得机器人代理能够学习如何学习新任务。最初可以使用元训练过程训练机器人代理的元学习模型,以学习如何使用训练任务进行学习。经过训练的元学习模型随后可以通过元测试过程,基于新任务的一些演示和执行任务的代理的一些试错尝试来学习新任务。
3.在一些实施方式中,元学习模型可以包括用于通过模仿学习,收集关于新任务的信息的试验策略。新任务的一个或多个演示可以被用于生成新任务的试验策略。该试验策略然后可以被用于生成执行任务的一个或多个试错尝试。在一些实施方式中,当在试错尝试中尝试执行任务时,试验策略可以被用于约束代理做出的潜在动作。附加地或替代地,元学习模型可以包括自适应试验策略,该策略可以被用于从试验中提取信息并将其与演示相结合以学习如何执行新任务。可以使用强化学习来训练自适应试验策略。
4.在一些实施方式中,可以将试验策略和自适应试验策略结合成具有共享参数的模型,其中,同时训练试验策略和自适应试验策略。例如,元学习模型可以使用模仿学习,通过处理新任务的演示来学习新任务的试验策略。新任务的试验策略可以被用于成形当通过试错强化学习来学习执行任务时由代理采取的行动。可以使用用于新任务的试验策略来生成机器人尝试执行新任务的一次或多次试验。一次或多次试验可以被用于使用强化学习来训练自适应策略以执行新任务。由于试验策略和自适应试验策略共享参数,经由强化学习训练自适应策略还将更新试验策略的一个或多个部分。然后可以使用该更新的试验策略来生成新任务的附加试验,而这些附加试验又可以被用于进一步训练自适应试验策略。换句话说,当训练元学习模型时,可以基于当前的试验策略参数连续地生成用于新任务的试验。
5.在一些实施方式中,可以使用q学习来训练元学习模型。q学习学习策略网络,该策略网络可以被用于(例如,基于当前机器人状态数据和/或当前环境状态数据)确定代理(例如,机器人)在什么情况下应当采取什么动作。在一些实施方式中,可以使用有限马尔可夫
决策过程来表示任务。q学习可以被用于寻找最佳策略,该最佳策略通过从有限马尔可夫决策过程中的当前状态开始的连续步骤,最大化奖励的预期值。换句话说,q学习可以被用于寻找执行新任务的最佳策略。
6.在一些实施方式中,可以使用在元训练过程中使用行动者

评价器(actor

critic)强化学习技术,在元训练过程中,利用离策略(off

policy)任务演示(例如,新任务的演示,其中,元学习模型尚未经过训练以执行新任务)。归一化优势函数可以提供用单个计算图和/或目标来表示和优化行动者和评价器。归一化优势函数可以将q函数分解为值函数和二次优势函数。在一些实施方式中,该q函数可以通过各种q学习技术来学习,诸如通过最小化贝尔曼误差来实习。在一些实施方式中,可以使用q学习函数的归一化优势函数来训练元学习模型的试验策略和自适应试验策略。
7.附加地或替代地,在一些实施方式中,可以训练元学习模型,使得试验策略与自适应试验策略分离并单独地优化。在那些实施方式的一些中,可以基于代理执行新任务的演示,使用模仿学习来训练试验策略。然后可以冻结试验策略并用于生成执行新任务的试错尝试。然后可以训练自适应试验策略,使用强化学习和试错尝试来执行新任务。
8.在一些实施方式中,机器人执行任务的演示可以包括人工引导演示,其中,人类在控制机器人的同时演示任务。例如,演示可以是经由虚拟现实界面的人工引导演示,其中,人工演示机器人任务(通过虚拟现实界面中的交互),而无需直接接触相应的机器人。作为另一示例,演示可以是作为动觉演示的人工引导演示,其中,人类的身体接触并引导机器人来演示机器人任务。附加或替代地,人类可以提供在经由强化学习训练元学习模型时使用的奖励信号。例如,人类可以提供二元奖励,其指示机器人在试错尝试中是否成功执行任务。例如,人类可以经由口头用户界面输入(例如,“正确”或“不正确”)或经由触摸用户界面输入(例如,选择“大拇指向上”或“大拇指向下”)来提供奖励(例如,二元奖励)。
9.在一些实施方式中,可以用几个人工引导演示(例如,少于10个人工引导演示、少于100个人工引导演示、少于500个人工引导演示、少于1000个人工引导演示等)来训练元学习模型。几个人工引导演示可以被用于自主地生成附加训练演示,而无需观察者指示附加训练演示是否成功完成任务。例如,元学习模型可以包括嵌入网络部分和控制网络部分,其中,嵌入网络和控制网络使用相同的元策略联合训练。
10.可以使用同一任务的演示对来训练嵌入网络,以生成将每个演示嵌入任务空间(即机器人任务的潜在空间)的任务嵌入。当以任务嵌入为条件时,可以训练控制网络来执行任务。在一些实施方式中,控制网络可以被用于基于人工引导演示的任务嵌入自主地生成机器人执行任务的试验(在此也被称为首次展示(rollout))。可以将首次展示的任务嵌入与相应人工演示的任务嵌入进行比较,以确定机器人是否在首次展示中执行相同的任务(例如,完成任务)。例如,可以生成任务空间,使得相同任务的演示之间的距离小,而不同任务的演示之间的距离大。换句话说,当机器人完成相同任务时,首次展示嵌入和人工引导演示嵌入之间的距离可以很小(相反,当机器人没有完成相同的任务时,距离可以很大)。
11.如果系统基于任务嵌入之间的距离确定人工引导演示

首次展示对是同一任务,则人工引导演示

首次展示对可以被存储为附加训练数据。该附加训练数据可以被用于训练元策略网络,因此可以使用自主生成的训练数据来训练元策略网络,而无需人工提供的奖励信号。换句话说,元策略网络可以以几个人工引导演示对为条件。以几个人工引导演示
对为条件的元策略可以被用于自主地生成附加人工引导演示

首次展示对。然后可以使用这些附加人工引导演示

首次展示对来训练元策略。
12.附加地或替代地,首次展示可以被存储在首次展示数据库中。可以比较首次展示的任务嵌入,以确定任何首次展示对是否对应于相同的任务。换句话说,首次展示的任务嵌入之间的距离可以决定首次展示对是否对应于相同任务。对应于相同任务的首次展示

首次展示对可以被用于试验元策略。
13.因此,各种实施方式设置了用于训练元学习模型以使用元模仿学习和元强化学习小样本学习(或单样本学习)新任务的技术。传统的元学习技术在学习执行新任务时无法利用人工引导演示和试错尝试。相比之下,本文描述的技术可以利用演示和试错尝试,从而使得元学习模型能够利用更少量的训练数据来进行训练(例如,使用单个人工引导演示来训练模型、使用少于5个人工引导演示来训练模型等)。仅用少数人工引导演示来训练元学习模型可以通过减少需要捕获并且提供给系统的训练数据量(即人工引导演示)来节省计算资源(例如,处理器周期、内存、电池电量等)。附加地或替代地,在训练元学习模型时,通过减少训练模型以执行任务所需的训练情节(episode)的数量来节省计算资源。
14.应当意识到,本文更详细描述的前述概念和附加概念的所有组合被设想为是本文公开的主题的一部分。例如,出现在本公开的结尾处的所要求保护的主题的所有组合被设想为是本文公开的主题的一部分。
附图说明
15.图1图示可以实现本文描述的实施方式的示例性环境。
16.图2a图示根据本文描述的实施方式的示例性元学习模型。
17.图2b图示根据本文描述的实施方式的另一示例性元学习模型。
18.图3是图示根据本文公开的实施方式训练元学习模型的示例性过程的流程图。
19.图4是示出根据本文公开的实施方式的使用模仿学习来训练元学习模型的示例性过程的流程图。
20.图5是图示根据本文公开的实施方式的使用强化学习生成用在训练元学习模型的试验中的示例性过程的流程图。
21.图6是图示根据本文公开的实施方式的为新任务训练经过训练的元学习模型的示例性过程的流程图。
22.图7是图示根据本文公开的实施方式的训练元学习模型的另一示例性过程的流程图。
23.图8是图示根据本文公开的实施方式的使用模仿学习和强化学习来训练元学习模型的示例性过程的流程图。
24.图9是图示根据本文公开的实施方式的为新任务训练经过训练的元学习模型的另一示例性过程的流程图。
25.图10示意性地描绘了机器人的示例性架构。
26.图11示意性地描绘了计算机系统的示例性架构。
具体实施方式
27.模仿学习可以允许机器人代理从演示中学习复杂的行为。但是,例如,学习基于视觉的任务可能需要不切实际的演示次数。元模仿学习是一种旨在使机器人代理能够通过利用以前的数据从一个或几个演示中学习新任务的方法。然而,在没有实际尝试任务的情况下,几个演示可能无法提供足够的信息来成功推断策略。本文描述的技术提供了一种方法,该方法可以用稀疏奖励反馈,从演示和试错经验两者中“学会学习”。与元模仿学习相比,本文描述的技术使得机器人代理能够在演示数据之外自主改进自身。与元强化学习相比,本文描述的技术可以扩展到更广泛的任务分布,因为演示减少了探索的负担。
28.模仿学习使机器人代理能够从演示中学习复杂的行为,这对于用户提供是简单和/或直观的。然而,从模仿中学习表达神经网络策略需要大量的演示,尤其是在对诸如图像像素的高维输入进行操作时。元模仿学习已成为一种有前途的方法,它允许机器人代理利用先前任务的数据,以便仅从少数演示中学习新任务。然而,在许多实际的小样本模仿设置中,存在可识别性问题:在没有实际尝试任务的情况下,可能无法从一个或几个演示中精确地确定策略。例如,可能难以从一个演示中辨别当物体处于新位置时在何处抓住物体和/或施加多大的力以便滑动物体而不将其撞倒。本质上,演示通常传达任务需要什么,但并不总是准确地说明如何完成它,尤其是在新状况下。此外,提供有用的否定演示可能具有挑战性,因为代理的困难源于何处对于用户可能不明显。可替代地,用户很容易提供成功或失败的反馈,但探索性交互对学习任务很有用。因此,本文描述的技术针对构建机器人代理,其可以首先从一个演示中学习策略,然后在接收到二元用户反馈时尝试该策略,并最终使用该反馈来改进其策略,使其能够始终如一地解决任务。这不仅可以使代理能够从用户反馈中消除其对任务的后验估计,而且连续试错细化过程还可以实现连续自适应,使得机器人代理可以在新任务中变得越来越好,因为它接收到附加的反馈。
29.这可能需要一定量的先验知识或经验,这些知识或经验可以通过跨一系列先前任务的元学习获得。为此,本文描述了元学习过程,该过程将模仿学习的元素与试错强化学习相结合。与通过模仿学习单样本模仿学习过程的先前元模仿学习方法相比,本文描述的技术使得代理能够通过试错不断改进测试任务。此外,从旨在学习高效强化学习过程的元强化学习算法的角度来看,该方法也具有重大吸引力:随着元强化学习朝着更广泛的任务分布和越来越通用的强化学习过程扩展,探索和效率可能变得异常困难。然而,演示可以显著地缩小搜索空间,同时也为用户提供传达目标的实用手段,使得代理能够实现行为的小样本学习。
30.在一些实施方式中,可以训练元学习算法,使得元学习模型能够用单个演示和少量试验来学习新行为。具体地,在接收到说明新目标的演示后,仅用几个二元的成功或失败标签,元训练代理可以通过试错来学习实现该目标。该方法可以使用一次演示和少量试验,用新的、保留的物体有效地学习任务,同时显著地优于元模仿学习、元强化学习以及结合演示和奖励反馈的先前方法。
31.学会学习或元学习在机器学习文献中有着悠久的历史。在一些实施方式中,元学习方法建立在元模仿学习和元强化学习的基础上并对其进行了显著改进,并且扩展了与模型无关的元学习(maml)算法。与小样本模仿学习中的先前工作不同,该方法使得代理能够额外使用试错经验来通过使用具有基于时间差异误差的内部目标的行动者

评价器模型来
不断地改进。与在多任务和元强化学习中的工作相比,该方法学习使用一个演示来解决元探索问题。附加地或替代地,该技术可能不需要大量的同策略(on

policy)数据收集。
32.本文描述的一些实施方式建立在元学习或学会学习的思想之上,其目标是使用一个演示和短的试错阶段(例如,单个试错阶段、两个试错阶段、少于五个试错阶段、少于十个试错阶段等)来获取新任务的策略。与模型无关的元学习算法(maml)可以使得代理能够结合来自演示和试验的补充信息,从而以极高的效率解决任务。小样本元学习算法的目标是仅用少数数据点学习新任务。元学习方法通过使用从许多不同任务收集的数据来实现该目标。这些任务可能需要不同的技能,诸如抓取物体或滑动物体、操纵不同的物体—诸如抓取杯子或抓取茶壶,或者识别和操纵具有不同视觉外观和纹理的物体。元学习假设这些任务具有一些共享结构(例如,属于桌面、物体操作任务类)并且来自一些基本分布在高层上,元学习算法旨在以一种比从头开始学习更有效地学习新的元测试任务的方式,发现元训练任务之间的共享结构。maml旨在通过学习一组初始参数或特征来解决该问题,使得少量训练数据上的梯度下降的几个步长就会导致在该任务上获得有效的性能和对新数据点的泛化。
33.从元训练集采样用于单个任务的任务内训练集和任务内验证集maml的目标是相对于模型参数θ,遵循上相同任务损失的梯度下降的一个或多个步长,最小化上的任务损失上的任务损失
34.通过区分(并由此优化)内部权重更新maml可以对适度的数据量获得最佳的基于梯度下降的学习器。在元测试时,可以在从采样的上评估该“内部”学习过程。
35.在一些实施方式中,任务可以被定义为具有状态s、动作a和标量奖励r(s,a)的有限范围马尔可夫决策过程。为了在元训练过程中利用离策略数据,可以建立行动者

评价器强化学习技术。在一些实施方式中,可以使用归一化优势函数(naf)技术,因为它提供了一种简单的方法来用单个计算图和目标表示和优化行动者和评价器。具体,归一化优势函数将q值函数分解为值函数和二次优势函数:
36.q(s
t
,a
t
;θ
q
)=a(s
t
,a
t
;θ
a
) v(s
t
;θ
v
)
[0037][0038]
其中,参数θ
q
={θ
μ
,θ
p
,θ
v

q
={θ
μ
,θ
p
,θ
v
}。可以通过标准的q学习技术,例如通过最小化贝尔曼误差来学习该q函数:
[0039][0040]
在一些实施方式中,可以假设任务的分布,从中提取元训练任务和保留的元测试任务在元训练期间,可以使用以专家演示轨迹形式的监督和可以对每个元训练任务查询的二元奖励函数r
i
。在用该监督的元训练后,元测试时刻处的目标是
快速学习新的元测试任务在一些实施方式中,为机器人代理提供了单个演示目标是在k次试验内成功完成任务,其中,对每次试验,代理接收二元奖励。
[0041]
本文公开的技术可以学会从演示和其自己的试错情节中学习。在一些实施方式中,该技术扩展了maml:对代理进行元训练,使得给定新任务的演示和可选的一些数量的试验情节,它可以在自适应目标上采取一个梯度步长来成功完成任务。该目标在两个方面不同于典型的单样本模仿学习问题:首先,代理可以在元测试时刻处使用演示和试验两者,其次,代理能够推断出具有可变数量的轨迹的好策略是至关重要的,因为它将在元测试时刻处逐步学习。由于内循环过程是在元测试时刻处运行的,因此需要根据这两个约束来定义元学习的内循环。
[0042]
为了利用演示和试验情节信息两者,可以保持q值函数q(s,a;θ
q
),该函数被分解为值和归一化优势函数,如等式(2)。注意,要结合专家的演示和代理所做的试验两者,不一定需要模仿学习目标,因为强化学习目标也可以从成功的轨迹中学习。因此,在一些实施方式中,贝尔曼误差可以被用在内部自适应步骤中。自适应的q值函数可以通过对相对于在与相对应的一批演示和试验情节{τ1,...,τ
k
}上评估的采取梯度步长来获得:
[0043][0044]
其中,第一情节τ1是演示,以及其中,k∈{1,...,k}是代理所做的试验。在一些实施方式中,在元训练期间,k可以在1和k(包括1和k)之间改变,因此机器人代理可以推断具有不同数据量的良好策略。
[0045]
当使用q值函数的naf表示时,具有参数则可以获得对应于该q值函数的策略的参数。在一些实施方式中,被称为自适应策略。自适应策略可以通过直接模仿、行为克隆和/或其他模仿学习技术,对同一任务的另一演示τ
*
进行元训练:
[0046][0047]
结合,整体元优化目标如下:
[0048][0049][0050]
尽管可以在元训练时间之前收集被表示为的演示情节,但需要更仔细地选择该试验情节。随机或不接近解决任务的情节将不是提供信息的。因此,应该在训练时从代理收集试错情节。训练工作人员从重放缓冲器连续采样数据时,可以使用分布式设置。同时,单独的收集工作人员使用代理最新保存的权重来收集环境中的试错经验,并且将这些试验片段推入重放缓冲器。
[0051]
上文参考等式(3)

(5)描述的实施方式包括共享权重的试验策略和自适应试验策
略。试验策略和自适应试验策略共享权重的一个挑战可能是自适应试验策略的更新也将影响试验策略,从而改变自适应试验策略应该预期的试验轨迹的分布。这可能导致在元训练期间不断从环境中回忆同策略试验轨迹,这在具有广泛任务分布的现实世界问题设置中尤其困难。
[0052]
在一些实施方式中,试验策略和自适应试验策略可以被分别表示和训练,将它们的优化解耦。试验策略和自适应试验策略可以分别由θ和φ参数化。参数化试验策略可以被表示为而参数化自适应试验策略可以被表示为在一些实施方式中,训练跟踪策略并冻结试验策略的权重,同时对每个元训练任务从环境中收集试验数据。可以使用所收集的试验数据训练自适应试验策略而无需再次访问环境。
[0053]
可以以将为推断任务提供有用探索的方式来训练试验策略。一种简单且有效的探索策略是后验采样或汤普森采样,即根据策略当前对任务的信念贪婪地行动。为此,可以使用元模仿学习设置来训练试验策略,其中,对于任何任务试验策略以在一个或几个训练演示{d
i,k
}为条件并被训练以最大化在同一任务的另一演示下的动作的可能性(其可以从采样而无需替换)。这导致了目标:
[0054][0055]
自适应试验策略可以以类似的方式,通过一个或几个试验轨迹{τ
i,l
}的附加条件来训练。在一些实施方式中,可以通过在环境中执行试验策略来生成试验轨迹。在一些实施方式中,对于任何任务可以生成一组演示

试验对在其中一些实施方式中,自适应试验目标是:
[0056][0057]
在元训练期间,可以通过用小批量任务和相应的演示最小化等式(6)来训练试验策略。训练后,可以将θ冻结为具有固定的试验策略。可以迭代采样一组任务演示{d
i,k
},以及使用演示条件试验策略可以收集环境中的一条或几条试验轨迹。产生的演示

试验对({{d
i,k
},{τ
i,l
})}可以被存储在数据集中。可以通过用小批量任务和相应的演示试验对数据集最小化等式(7)来训练自适应试验策略在元测试时间,对于任何测试任务可以使用试验策略生成试验{τ
j,l
}。然后,可以使用自适应试验策略执行自适应试验情节。
[0058]
上述关于等式(1)

(7)的实施方式使用人类观察者提供的奖励信号来生成附加训
练数据。附加的或替代的实施方式可以包括自主地生成附加训练数据。在一些实施方式中,元模仿可以被用于从自主数据收集中学习,同时最小化学习所需的人工监督量。可以从例如对若干不同任务的人工远程操作情节的元模仿学习中引导机器人代理。该初始的元模仿数据集可以被用于(a)学习元模仿策略,该策略可以取决于它所为条件的演示来执行各种技能,以及(b)学习有用技能的潜在空间,这可以稍后被用于表征在自主操作期间发现的新技能。使用学习的元模仿策略,可以通过从有用技能(或任务)空间中随机采样来收集有意义的行为情节。然后使用学习到的技能的潜在空间,将这些新的情节组织成元模仿数据集。在一些实施方式中,可以使用该扩展的元模仿数据集重新训练元策略。
[0059]
在一些实施方式中,可以训练由两个网络组成的元策略:嵌入网络和控制网络。可以使用成对演示的数据集(即对应于同一任务的最佳轨迹对)来训练元策略。在一些实施方式中,可以优化元策略,使得嵌入网络学习将每个演示嵌入到任务空间中,其中,任务空间是有用技能的潜在空间。附加或替代地,当以任务嵌入的形式的特定技能为条件时,控制网络可以学习如何执行任务。在一些实施方式中,元策略(也被称为行为策略)可以被用于对新环境中的轨迹进行采样,并且这些采样的轨迹(在本文中也称为首次展示)可以被添加到首次展示的数据集。在一些实施方式中,每个收集到的首次展示都可以被嵌入到任务空间中。该任务空间中的距离可以被用于确定任何两个嵌入的首次展示是否属于同一任务。如果确定一对首次展示属于同一任务,则可以将这对添加到最佳演示的原始数据集中。在一些实施方式中,可以从该扩展的数据集中学习新的元策略。
[0060]
该框架可以允许系统在大型、自主收集的数据集上执行元模仿学习。在一些实施方式中,可以收集许多策略首次展示并且自主地标记为对应于同一任务。自主标记的首次展示可以被用于提高学习策略的性能。在一些实施方式中,目标是学习策略,该策略可以从用于该任务的单个演示中自适应新的、看不见的任务。
[0061]
在一些实施方式中,可以假设任务的分布可以从任务分布中得出一组元训练任务在一些实施方式中,可以使用对应于元训练任务的子集的一组成对演示每个演示d
i
包括表示该任务的最佳行为的观察和动作轨迹d
i
=[(o1,a1),...,(o
h
,a
h
)]。然而,与仅假设访问一组静态演示的元模仿学习设置不同,一些实施方式可以根据策略,从元训练任务中绘制新的轨迹。这类似于使用元强化学习。然而,不需要用于元训练集中的任何任务的任务特定的奖励函数,这可以允许在没有外部监督的情况下自主地采样新轨迹。
[0062]
在一些实施方式中,可以使用由两个神经网络组成的元策略:嵌入网络和控制网络。嵌入网络,表示为ψ,可以被用于处理作为输入,要执行的任务的视频演示,其中,要执行的任务的视频演示被表示为d
v
。在一些实施方式中,嵌入网络可以由由1

d时间卷积跟随的卷积神经网络组成。在一些实施方式中,嵌入网络可以被用于将演示视频嵌入到固定长度的向量中,其被表示为ψ(d
v
)并称为演示嵌入。在一些实施方式中,演示嵌入可以具有以下属性:如果演示对应于同一任务,演示嵌入可以彼此接近,而对于属于不同任务的演示,演示嵌入彼此可以更远。换句话说,当和对应于同一任务时,距离可以低,而当它们不对应于同一任务时可以高。在一些实施
方式中,可以使用对比损失函数
[0063][0064]
其中,当两个演示和对应同一任务时,变量y=0,而当两个演示对应于不同任务时,变量y=1。
[0065]
在一些实施方式中,控制网络可以处理当前场景的图像(连同机器人状态的其他部分,诸如末端执行器姿势),以生成机器人动作。为了学习从该信息中预测动作,可以使用最大似然行为克隆损失在一些实施方式中,完整的损失函数可以被表示为在其中一些模仿中,可以使用adam优化器最小化附加或替代地,可以联合训练嵌入网络和控制网络,在它们之间共享卷积层。该过程的输出导致行为策略(本文也被称为元策略),其中,θ表示该策略的学习参数。
[0066]
在一些实施方式中,行为策略可以被用于收集新环境中的数据。给定场景,学习策略可以以从演示数据集中随机采样的演示为条件,该数据集最初包括人工引导演示。然后可以在新场景中首次展示策略,并且可以将相应的首次展示添加到首次展示数据集一次或多次迭代后,首次展示数据集可以被过滤以去除虚假行为。例如,如果策略击倒给定场景的桌子上的物体,则可以从数据集中删除该首次展示,因为系统不希望复制该行为。在一些实施方式中,可以对中所有可能的首次展示对计算点积(在嵌入空间中),并且具有(由某个预定义阈值α测量的)高点积乘积的对可以被标记为属于同一任务,并添加到数据集在一些实施方式中,可以使用扩展数据集(例如,该数据集包含自主标记的首次展示对)来执行元模仿学习,优化等式(8)中定义的损失以生成策略π
ψ
,其架构与π
θ
相同。
[0067]
现在转到附图,在图1中图示了示例性机器人100。机器人100是具有多个自由度的“机械臂”,以使得抓取末端执行器102能够沿多个潜在路径中的任意遍历以将抓取末端执行器102定位在期望位置。机器人100进一步控制其抓取末端执行器102的两个相对的“爪”以至少在打开位置和闭合位置(和/或可选地多个“部分闭合”位置)之间致动爪。
[0068]
在图1中还图示了示例性视觉组件106。在图1中,视觉组件106相对于机器人100的基座或其他静止参考点以固定姿势安装。视觉组件106包括一个或多个传感器,其可以生成与传感器的视线范围内的物体的形状、颜色、深度、和/或其他特征有关的图像和/或其他视觉数据。视觉组件106可以是例如单像相机、立体相机和/或3d激光扫描仪。3d激光扫描仪可以是例如飞行时间3d激光扫描仪或基于三角测量的3d激光扫描仪并且可以包括位置敏感检测器(pds)或其他光学位置传感器。
[0069]
视觉组件106具有机器人100的工作空间的至少一部分—诸如包括示例性物体104a的工作空间的部分—的视野。尽管物体104的搁置表面未在图1中示出,但那些物体可以搁置在桌子、托盘和/或其他表面上。物体104可以包括抹刀、订书机和铅笔。在其他实施方式中,如本文所述,在机器人100的全部或部分抓取尝试期间,可以提供更多物体、更少物体、附加物体和/或替代物体。
[0070]
尽管在图1中图示了特定的机器人100,但是可以利用附加和/或替代机器人,包括与机器人100相似的附加机器人臂、具有其他机器人臂形式的机器人、具有人形形式的机器人、具有动物形式的机器人、经由一个或多个轮子移动的机器人(例如,自平衡机器人)、潜水器机器人、无人驾驶飞行器(“uav”)等。此外,尽管图1中图示了特定的抓握末端执行器,但是可以利用附加的和/或替代的末端效应,诸如替代的冲击式抓取末端执行器(例如,那些具有抓取“板”的末端执行器、具有更多或更少“手指”/“爪”的末端执行器)、侵入式抓取末端执行器、收缩抓取末端执行器、连续抓取末端执行器或非抓取末端执行器。附加地,尽管在图1中图示了视觉组件106的特定安装,但是可以利用附加的和/或替代的安装。例如,在一些实施方式中,视觉部件可以直接安装到机器人上,诸如安装在机器人的不可致动组件上或机器人的可致动组件上(例如,末端执行器或靠近末端执行器的组件上)。此外,例如,在一些实施方式中,视觉组件可以被安装在与其关联的机器人分离的非静止结构上和/或可以以非静止的方式安装在与其关联的机器人分离的结构上。
[0071]
来自机器人100的数据(例如,状态数据)可以被利用于使用元学习模型训练引擎108来训练元学习模型114。例如,元学习模型训练引擎108可以使用元学习来训练元学习模型114的试验策略和/或自适应试验策略。元学习模型训练引擎108可以包括模仿学习训练引擎110、强化学习训练引擎112和/或附加引擎(未描绘)。在一些实施方式中,模仿学习训练引擎110可以使用人工引导演示116来训练元学习模型114,其中,每个演示捕获机器人100执行任务。例如,可以通过模仿学习引擎110使用模仿学习来训练元学习模型114的试验策略。附加地或替代地,强化学习训练引擎112可以基于机器人100执行任务的一个或多个试验118来训练元学习模型114。试验生成器引擎120可以使用元学习模型114的试验策略生成一个或多个试验118。
[0072]
在一些实施方式中,试验策略和自适应试验策略被集成到单个模型中,其中,对试验策略的一个或多个部分的更新也改变了自适应试验策略的一个或多个部分。类似地,对自适应试验政策的一个或多个部分的改变将改变试验政策的一个或多个部分。在一些这样的实施方式中,当试验策略随时间改变时,试验生成器引擎120可以基于试验策略连续地生成试验。然后,强化学习训练引擎112可以使用这些试验来训练元学习模型114的自适应策略,这反过来也将更新元学习模型114的试验策略。该更新的试验策略然后可以由试验生成器引擎120用于生成一个或多个附加试验。这些附加试验随后可以被强化学习训练引擎112使用以更新自适应试验策略,这又将更新试验策略。基于训练自适应试验策略更新试验策略、使用更新的试验策略生成附加试验以及使用附加试验来更新自适应试验策略的循环可以重复,直到训练元学习模型完成。
[0073]
在一些其他实施方式中,试验策略与自适应试验策略解耦并单独优化。在一些这样的实施方式中,模仿学习训练引擎110可以使用机器人执行新任务的一个或多个人工引导演示116来训练元学习模型114的试验策略。然后可以冻结试验策略。试验生成器引擎120可以使用该冻结的试验策略来生成机器人尝试执行该任务的一个或多个试验118。强化学习训练引擎112可以使用这些试验118来训练元学习模型114的自适应策略。将试验策略和自适应试验策略解耦可以消除连续生成同策略试验的需要。
[0074]
此外,强化学习训练引擎112在训练自适应试验策略时,可以利用指示机器人是否在试验118中成功完成新任务的奖励。在一些实施方式中,该奖励可以是稀疏奖励信号。例
如,人类可以通过客户端设备处的一个或多个用户界面输入提供成功或失败的二元奖励指示,指示机器人是否在试错尝试中成功完成任务。
[0075]
图2a图示了根据本文公开的实施方式的示例性元学习模型200。环境状态数据202捕获关于机器人的当前环境的信息。在一些实施方式中,环境状态数据可以使用视觉组件—诸如图1中所示的视觉组件106—来捕获。例如,环境状态202可以包括使用rgb相机捕获的环境的一个或多个图像和/或使用视觉组件捕获的其他视觉数据。此外,例如,环境状态202可以附加地或替代地包括基于视觉数据和/或其他传感器数据预测的环境特征。例如,环境状态数据202可以包括基于视觉数据确定的环境中的物体的姿势和/或分类。可以使用视觉网络204来处理环境状态数据202以生成环境状态嵌入206。在一些实施方式中,环境状态嵌入206表示机器人环境的一个或多个视觉特征。附加地或替代地,在一些实施方式中,机器人可以是模拟机器人,其中,从模拟机器人捕获环境状态数据202。例如,环境状态数据202可以包括捕获模拟机器人的模拟环境的模拟视觉数据(例如,渲染图像)。
[0076]
环境状态嵌入可以与机器人状态数据208结合。例如,环境状态嵌入206可以与机器人状态数据208级联。在一些实施方式中,机器人状态数据208可以包括当前末端执行器姿态的表示、当前末端执行器角度、当前末端执行器速度和/或关于机器人和/或机器人的一个或多个组件的当前位置的附加信息。例如,机器人状态数据可以至少包括末端执行器在任务空间中的姿态的表示,诸如可以指示末端执行器的x、y、z位置的六维姿态,以及末端执行器的方位。在图示的示例中,行动者网络210是经过训练的元学习模型,其可以被用于基于环境和机器人的当前状态生成一个或多个机器人动作212以执行机器人任务。
[0077]
图2b图示了根据本文公开的实施方式的示例性元学习模型200。如上所述,可以使用视觉网络204处理环境状态数据202以生成环境状态嵌入206。环境状态嵌入206可以与机器人状态数据208组合。在所示示例中,环境状态嵌入206和机器人状态数据208另外与上下文嵌入260结合。例如,环境状态嵌入206可以与机器人状态数据208和上下文嵌入260级联。
[0078]
上下文嵌入260可以提供新任务的表示。演示嵌入252可以捕获任务的人工引导演示的特征。例如,演示数据可以包括机器人执行任务的人工引导演示的视频。可以对视频进行采样(例如,可以从演示视频中捕获一系列静止图像),并且可以使用附加的视觉网络处理演示视频的样本以生成演示嵌入。
[0079]
类似地,试验嵌入254可以捕获执行任务的试错尝试的特征。试验奖励256可以提供在试验嵌入254中捕获的试验是否是执行任务的成功尝试的指示。演示嵌入252、试验嵌入254和试验奖励256可以组合。例如,演示嵌入252可以与试验嵌入254和试验奖励256级联。该组合可以被提供给上下文网络258以生成上下文嵌入260。环境状态嵌入206、机器人状态数据208和上下文嵌入260的组合可以被提供给行动者网络210以生成执行机器人任务的机器人动作212。
[0080]
图3是图示根据本文公开的实施方式的使用多个训练任务训练元学习模型并且针对新任务训练已经训练过的元学习模型的示例性过程300的流程图。为了方便,参考执行操作的系统来描述流程图的操作。该系统可以包括机器人和/或计算设备的一个或多个组件,诸如机器人和/或计算设备的处理器和/或机器人100、1025和/或其他机器人的机器人控制系统。此外,尽管过程300的操作以特定顺序示出,但这并不意味着是限制性的。可以重新排序、省略和/或添加一个或多个操作。
[0081]
在框302,系统基于多个训练任务训练元学习模型,其中,每个任务包括(1)机器人的一个或多个人工引导演示和(2)机器人执行任务的一个或多个试验。在一些实施方式中,在框304处生成一个或多个试验。在一些实施方式中,根据图4的过程400训练元学习模型。
[0082]
在框304,系统基于(1)机器人执行任务的一个或多个人工引导演示和(2)元学习模型的试验策略生成机器人执行任务的一个或多个试验。例如,生成的试验可以包括一系列机器人动作和相应的机器人状态,其中,机器人执行从当前状态转变到下一个状态的动作。在一些实施方式中,状态可以包括捕获机器人的当前环境的环境状态数据(诸如图2a和2b的环境状态数据202)以及捕获机器人的组件的当前位置和/或其他特征的机器人状态数据(诸如图2a和图2b的机器人状态数据208)。在一些实施方式中,在框302处生成元学习模型的试验策略。在一些实施方式中,系统根据图5的过程500生成一个或多个试验。
[0083]
在框306,系统确定是否生成机器人执行任务的任何附加试验。如果是,系统可以进行到框304并且基于元学习模型的试验策略生成一个或多个附加试验。在一些实施方式中,系统可以基于试验策略和与先前迭代相同的任务生成一个或多个附加试验。在一些其他实施方式中,系统可以基于试验策略和基于附加任务(例如,使用用于附加任务的引导演示和用于附加任务的试验)生成一个或多个附加试验。如果否,系统可以进行到框310。例如,当系统已经完成训练元学习模型时,系统可以确定不生成任何附加试验。
[0084]
在框308,系统确定是否执行元学习模型的任何附加训练。如果是,则系统可以进行到框302并继续使用一个或多个生成的试验来训练元学习模型的自适应试验策略。如果否,系统可以进行到框310。例如,当元学习模型已经使用阈值数量的训练任务进行了训练、使用所有训练任务进行了训练、训练了阈值持续时间时和/或当已经满足附加或替代条件时,系统可以确定不执行元学习模型的任何附加训练。
[0085]
在框310,系统为不同于多个训练任务的新任务训练已经训练过的元学习模型,并且基于:(1)训练过的元学习模型、(2)机器人执行新任务的一个或多个人工引导演示以及(3)机器人执行新任务的一次或多次试验来执行该训练。在一些实施方式中,系统根据图6的过程600为新任务训练经过训练的元学习模型。
[0086]
图4是示出根据本文公开的实施方式的使用模仿学习和强化学习来训练元学习模型的示例性过程400的流程图。为了方便,参考执行操作的系统来描述流程图的操作。该系统可以包括机器人和/或计算设备的一个或多个组件,诸如机器人和/或计算设备的处理器和/或机器人100、1025和/或其他机器人的机器人控制系统。此外,尽管过程400的操作以特定顺序示出,但这并不意味着是限制性的。可以重新排序、省略和/或添加一个或多个操作。。
[0087]
在框402,系统初始化元学习模型的试验策略。在一些实施方式中,可以使用q学习函数来学习试验策略。在其中一些实施方式中,q学习函数可以是归一化优势函数。
[0088]
在框404,系统从多个不同的机器人训练任务中选择训练任务。
[0089]
在框406,系统对所选择的训练任务选择人工引导演示。
[0090]
在框408,系统选择机器人执行所选择的训练任务的一个或多个试验。在一些实施方式中,根据图5的过程500,基于试验策略连续地生成一个或多个试验。
[0091]
在框410,系统基于(1)所选择的人工引导演示和(2)所选择的一个或多个试验生成自适应试验策略。在一些实施方式中,使用强化学习生成自适应试验策略。在一些实施方
式中,由任务是否在试验中成功完成的人类观察者指示提供奖励。当使用强化学习训练自适应试验策略时,可以使用该奖励。
[0092]
在框412,系统选择机器人执行所选择的训练任务的附加人工引导演示。在一些实施方式中,人工引导演示是演示数据的采样(例如,机器人执行任务的视频)。在其中一些实施方式中,附加人工引导演示是对相同演示数据的附加采样。附加地或替代地,附加演示可以是来自捕获任务的单独人工引导演示的演示数据的采样。
[0093]
在框414,系统使用模仿学习,基于(1)附加人工引导演示和(2)自适应试验策略,更新试验策略。
[0094]
在框416,系统确定是否执行元学习模型的任何附加训练。如果是,则系统返回到框404并且在使用附加训练任务进行到框406、408、410、412和414之前选择附加训练任务。如果系统确定不执行附加训练,则过程结束。例如,当元学习模型已经使用所有训练任务进行了训练时、当训练时期的阈值数量已经完成时等,系统可以确定不执行附加训练。
[0095]
图5是图示根据本文公开的实施方式的生成用于训练元学习模型的一个或多个试验的示例性过程500的流程图。为了方便,参考执行操作的系统来描述流程图的操作。该系统可以包括机器人和/或计算设备的一个或多个组件,诸如机器人和/或计算设备的处理器和/或机器人100、1025和/或其他机器人的机器人控制系统。此外,尽管过程500的操作以特定顺序示出,但这并不意味着是限制性的。可以重新排序、省略和/或添加一个或多个操作。
[0096]
在框502,系统从多个机器人训练任务中选择训练任务。
[0097]
在框504,系统对所选择的训练任务选择人工引导演示。
[0098]
在框506,系统将所选择的人工引导演示存储在缓冲器中。
[0099]
在框508,系统使用强化学习,基于(1)缓冲器的当前内容和(2)元学习模型的试验策略生成自适应试验策略。在一些实施方式中,使用图4的过程400生成元学习模型的试验策略。
[0100]
在框510,系统基于自适应试验策略生成机器人执行训练任务的新试验。
[0101]
在框512,系统将生成的新试验作为下一项存储在缓冲器中。
[0102]
在框514,系统确定是否生成任何附加试验。如果是,则系统返回到框508,并在基于更新的自适应试验策略返回到框510和512之前,基于试验策略和缓冲器的内容(包括生成的新试验)生成更新的自适应试验策略。如果在框514,系统确定不生成任何附加试验,则系统进行到框516。例如,系统可以确定机器人是否成功完成了试验中的任务,并且可以生成附加试验直到机器人成功完成任务。附加地或替代地,可以生成附加试验,直到生成了阈值数量的试验(例如,已经生成了3次试验、已经生成了5次试验、已经生成了10次试验等)和/或满足其他条件为止。
[0103]
在框516,系统确定是否对任何附加训练任务生成试验。如果是,则系统返回到框502并在基于附加训练任务进行到框504、506、508、510、512和514之前选择附加训练任务。如果系统确定不对任何附加训练任务生成试验,则过程500结束。例如,当元学习模型的训练完成时,系统可以确定不对任何附加训练任务生成试验。
[0104]
图6是图示根据本文公开的实施方式的为新任务训练已经训练过的元学习模型的示例性过程600的流程图。为了方便,参考执行操作的系统来描述流程图的操作。该系统可以包括机器人和/或计算设备的一个或多个组件,诸如机器人和/或计算设备的处理器和/
或机器人100、1025和/或其他机器人的机器人控制系统。此外,尽管过程600的操作以特定顺序示出,但这并不意味着是限制性的。可以重新排序、省略和/或添加一个或多个操作。。
[0105]
在框602,系统接收使用多个训练任务训练的训练元学习模型。在一些实施方式中,根据图4的过程400训练已经训练过的元学习模型。
[0106]
在框604,系统选择不包括在用于训练训练过的元学习模型的多个训练任务中的新任务。在框604,系统还选择机器人执行所选新任务的人工引导演示。
[0107]
在框606,系统将所选演示作为第一项存储在缓冲器中。
[0108]
在框608,系统基于(1)缓冲器中的当前项和(2)训练过的元学习模型的试验策略生成自适应试验策略。
[0109]
在框610,系统基于自适应试验参数集生成机器人执行新任务的试验。在一些实施方式中,系统根据图5的过程500生成试验。
[0110]
在框612,系统将生成的试验作为下一项存储在缓冲器中。
[0111]
在框614,系统确定机器人是否成功地执行了所生成的试验中的任务。如果是,系统进行到框616。如果否,系统返回到框608,基于试验策略和缓冲器的内容(包括在前一次迭代中生成的试验)生成和更新自适应试验策略,并且基于更新的自适应试验策略进行到框610和612。在一些实施方式中,人类观察者提供机器人是否在生成的试验中成功执行任务的指示。
[0112]
附加地或替代地,即使当没有成功的试验时,在一些实施方式中,系统可以在已经生成阈值数量的试验(例如,1次试验、2次试验、3次试验、5次试验、10次试验等)和/或满足其他条件后进行到框616。
[0113]
在框616,系统使机器人基于自适应试验策略执行新任务。
[0114]
在框618,系统确定是否为任何附加新任务训练经过训练的元学习模型。如果是,则系统返回到框604,选择附加新任务,并且基于附加新任务进行到框606、608、610、612、614和616。如果系统确定不训练任何附加新任务的经过训练的元学习模型,则过程结束。
[0115]
图6的过程600是小样本学习新任务的说明性示例,其中,在框604使用单个人工引导演示训练元学习模型以执行新任务。附加或替代地,系统可以通过基于所选择的演示,执行元学习模型训练的多次迭代(即,基于所选择的演示,执行框606、608、610、612和614的迭代),小样本学习新任务。例如,系统可以使用几个演示(例如,两个演示、三个演示、少于5个演示、少于10个演示等)来训练元学习模型。
[0116]
图7是图示根据本文公开的实施方式的使用多个训练任务训练元学习模型以及对新任务训练已经训练过的元学习模型的示例性过程700的流程图。为了方便,参考执行操作的系统来描述流程图的操作。该系统可以包括机器人和/或计算设备的一个或多个组件,诸如机器人和/或计算设备的处理器和/或机器人100、1025和/或其他机器人的机器人控制系统。此外,尽管过程700的操作以特定顺序示出,但这并不意味着是限制性的。可以重新排序、省略和/或添加一个或多个操作。
[0117]
在框702,系统基于多个训练任务训练元学习模型,其中,每个训练任务包括(1)机器人执行训练任务的一个或多个人工引导演示和(2)机器人执行训练任务的一个或多个试验。在一些实施方式中,系统根据图8的过程800训练元学习模型。
[0118]
在框704,系统为不同于多个训练任务的新任务训练已经训练过的元学习模型,其
中,该训练基于:(1)训练过的元学习模型;(2)机器人执行新任务的一个或多个人工引导演示;以及(3)机器人执行新任务的一次或多次试验。在一些实施方式中,系统根据图9的过程900为新任务训练已经训练过的元学习模型。
[0119]
图8是示出根据本文公开的实施方式的使用模仿学习和强化学习来训练元学习模型的示例性过程800的流程图。为了方便,参考执行操作的系统来描述流程图的操作。该系统可以包括机器人和/或计算设备的一个或多个组件,诸如机器人和/或计算设备的处理器和/或机器人100、1025和/或其他机器人的机器人控制系统。此外,尽管过程800的操作以特定顺序示出,但这并不意味着是限制性的。可以重新排序、省略和/或添加一个或多个操作。
[0120]
在框802,系统初始化元学习模型的试验策略和自适应试验策略。在一些实施方式中,试验策略和自适应试验策略解耦并且单独地优化。
[0121]
在框804,系统从多个机器人训练任务中选择机器人训练任务。
[0122]
在框806,系统基于用于所选择的任务的一个或多个人工引导演示,使用模仿学习更新试验策略。
[0123]
在框808,系统确定是否使用任何附加机器人训练任务来执行任何附加模仿学习。如果是,则系统返回到框804,从多个机器人训练任务中选择附加训练任务并且基于附加训练任务返回到框806和808。如果不是,系统进行到框810。
[0124]
在框810,系统冻结试验策略。在一些实施方式中,冻结试验策略防止系统不得不连续生成试验。这与图5的过程500和图6的过程600相反,其中,试验策略和自适应试验策略共享权重。因此,在过程500和过程600中,随着基于生成的试验更新试验策略,连续地生成试验。
[0125]
在框812,系统选择机器人执行任务的人工引导演示。在一些实施方式中,所选择的人工引导演示被用作用于在框806更新试验策略的一个或多个演示之一。在一些其他实施方式中,所选择的人工引导演示不用于在框806更新试验策略.
[0126]
在框814,系统基于试验策略生成机器人执行任务的试验。
[0127]
在框816,系统将人工引导演示和生成的试验作为下一个演示

试验对存储在缓冲器中。
[0128]
在框818,系统确定是否生成任何附加试验。如果是,则系统返回到框812,选择另一人工引导演示,并且基于附加演示进行到框814和816。如果系统确定不生成任何附加试验,则系统进行到框820。例如,系统可以生成附加试验,直到系统生成机器人成功完成任务的试验。附加地或替代地,系统可以生成试验直到已经生成阈值数量的试验(例如,两个试验、三个试验、5个试验、10个试验等)和/或已经满足其他条件。
[0129]
在框820,系统基于存储在缓冲器中的示范

试验对,使用强化学习更新自适应试验策略。
[0130]
图9是图示根据本文公开的实施方式的训练已经训练过的元学习模型以执行新任务的示例性过程900的流程图。为了方便,参考执行操作的系统来描述流程图的操作。该系统可以包括机器人和/或计算设备的一个或多个组件,诸如机器人和/或计算设备的处理器和/或机器人100、1025和/或其他机器人的机器人控制系统。此外,尽管过程900的操作以特定顺序示出,但这并不意味着是限制性的。可以重新排序、省略和/或添加一个或多个操作。
[0131]
在框902,系统接收训练过的元学习模型,其中,使用多个训练任务训练元学习模
型。在一些实施方式中,根据图8的过程800训练已经训练过的元学习模型。
[0132]
在框904,系统初始化自适应试验策略。
[0133]
在框906,系统选择新任务,其中,新任务是不包括在用于训练已经训练过的元学习模型的多个训练任务中的任务。
[0134]
在框908,系统选择机器人执行新任务的人工引导演示。
[0135]
在框910,系统使用训练过的元学习模型的试验策略生成机器人执行新任务的试验。
[0136]
在框912,系统基于(1)所选择的演示和(2)生成的试验,更新自适应试验策略。
[0137]
在框914,系统确定机器人是否成功完成了生成的试验中的任务。如果是,系统进行到框916。如果不是,系统返回到框908,选择其他人工引导演示,并且使用其他人工引导演示进行到框910、912和914。换句话说,系统生成另一演示

试验对。在一些实施方式中,人类观察者提供机器人是否成功完成试验中的任务的指示。
[0138]
在框916,系统使机器人基于自适应策略网络执行任务。
[0139]
图10示意性地描绘了机器人1025的示例性架构。机器人1025包括机器人控制系统1060、一个或多个操作组件1040a

1040n以及一个或多个传感器1042a

1042m。传感器1042a

1042m可以包括例如视觉组件、光传感器、压力传感器、压力波传感器(例如麦克风)、接近传感器、加速度计、陀螺仪、温度计、气压计等。虽然传感器1042a

m被描绘为与机器人1025集成在一起,但这并不意味着是限制性的。在一些实施方式中,传感器1042a

m可以位于机器人1025的外部,例如作为独立单元。
[0140]
操作组件1040a

1040n可以包括例如一个或多个末端执行器和/或一个或多个伺服或其他致动器以实现机器人的一个或多个组件的移动。例如,机器人1025可以具有多个自由度并且每个致动器可以响应于控制命令,控制机器人1025在一个或多个自由度内的致动。如本文所使用的,术语致动器除了可与致动器相关联并且将所接收到的控制命令转换为用于驱动力致动器的一个或多个信号的任何驱动器以外,还涵盖创建运动的机械或电气设备(例如,电机)。因此,向致动器提供控制命令可以包括向驱动器提供控制命令,该驱动器将控制命令转换成用于驱动电气或机械设备以创建期望运动的适当信号。
[0141]
机器人控制系统1060可以在一个或多个处理器—诸如机器人1025的cpu、gpu和/或其他控制器—中实现。在一些实施方式中,机器人1025可以包括“脑箱(brain box)”,该“脑箱”可以包括控制系统1060的所有或方面。例如,脑箱可以向操作组件1040a

n提供数据的实时脉冲(burst),其中,每个实时脉冲包括一组一个或多个控制命令,这些控制命令规定,尤其是,用于一个或多个操作组件1040a

n中的每一个的运动参数(如果有的话)。在一些实施方式中,机器人控制系统1060可以执行本文所述的过程300、400、500、600、700、800、900和/或其他方法的一个或多个方面。
[0142]
如本文所述,在一些实施方式中,由控制系统1060在定位末端执行器以抓取物体时生成的控制命令的全部或方面可以基于使用元学习模型生成的末端执行器命令。例如,传感器1042a

m的视觉组件可以捕获环境状态数据。该环境状态数据可以与机器人状态数据一起使用元学习模型的策略网络进行处理,以生成一个或多个末端执行器控制命令,用于控制机器人的末端执行器的移动和/或抓取。尽管控制系统1060在图10中被示为机器人1025的组成部分,但是在一些实施方式中,控制系统1060的全部或方面可以在与机器人
1025分离但与机器人1025通信的组件中实现。例如,控制系统1060的全部或方面可以在与机器人1025有线和/或无线通信的一个或多个计算设备—诸如计算设备1110—上实现。
[0143]
图11是示例性计算设备1110的框图,该示例计算设备1110可以可选地用于执行本文所述技术的一个或多个方面。计算设备1110通常包括至少一个处理器1114,其经由总线子系统1112与多个外围设备通信。这些外围设备可以包括存储子系统1124,包括例如,存储器子系统1125和文件存储子系统1126;用户界面输出设备1120;用户界面输入设备1122以及网络接口子系统1116。输入和输出设备允许用户与计算设备1110交互。网络接口子系统1116提供到外部网络的接口,并且耦合到其他计算设备中的相应接口设备。
[0144]
用户界面输入设备1122可以包括键盘;诸如鼠标、轨迹球、触摸板或图形输入板的指向设备;扫描仪;并入到显示器的触摸屏;诸如语音识别系统的音频输入设备;麦克风;和/或其他类型的输入设备。通常,使用术语“输入设备”旨在包括所有可能类型的设备以及将信息输入到计算设备1110中或通信网络上的方式。
[0145]
用户界面输出设备1120可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可以包括阴极射线管(crt)、诸如液晶显示器(lcd)的平板设备、投影设备或用于创建可视图像的一些其他机制。显示子系统还可以诸如经由音频输出设备来提供非视觉显示。通常,使用术语“输出设备”旨在包括所有可能类型的设备以及从计算设备1110向用户或另一机器或计算设备输出信息的方式。
[0146]
存储子系统1124存储提供本文所述的一些或全部模框的功能的编程和数据构造。例如,存储子系统1124可以包括执行本文所述的图3、4、5、6、7、8、9的过程和/或其他方法的所选方面的逻辑。
[0147]
这些软件模框通常由处理器1114单独或与其他处理器结合地执行。存储子系统1124中使用的存储器1125可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(ram)1130以及存储固定指令的只读存储器(rom)1132。文件存储子系统1126可以提供用于程序和数据文件的持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、cd

rom驱动器、光盘驱动器或可移动介质盒。实现某些实施方式的功能的模块可以由文件存储子系统1126存储在存储子系统1124中,或者存储在处理器1114可访问的其他机器中。
[0148]
总线子系统1112提供了用于使计算设备1110的各种组件和子系统按照预期相互通信的机制。尽管总线子系统1112被示意性地示出为单个总线,但是总线子系统的替代实施方式可以使用多个总线。
[0149]
计算设备1110可以是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器群、或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图11中描绘的计算设备1110的描述仅旨在作为用于说明一些实施方式的目的的特定示例。计算设备1110的许多其他配置可能具有比图11中描绘的计算设备更多或更少的组件。
[0150]
在一些实施方式中,提供一种由一个或多个处理器实现的方法,包括基于机器人执行新任务的人工引导演示,生成经过训练的元学习模型的自适应策略网络,以用在控制机器人执行新任务中,其中,使用多个不同的任务并且没有针对新任务训练元学习模型。生成自适应策略网络进一步包括:基于人工引导演示和元学习模型的试验策略网络,生成策略网络的初始自适应。该方法进一步包括使用策略网络的初始自适应,生成机器人执行新
任务的机器人动作和相应状态的初始序列。该方法进一步包括使机器人执行机器人动作和相应的机器人状态的初始序列。该方法进一步包括确定机器人动作和相应的机器人状态的初始序列是否成功完成新任务。该方法进一步包括基于确定机器人动作和相应的机器人状态的初始序列成功地完成新任务,生成自适应策略网络。
[0151]
本文公开的技术的这些和其他实施方式可以包括以下特征中的一个或多个。
[0152]
在一些实施方式中,确定机器人动作和相应的机器人状态的初始序列是否成功完成了新任务包括用机器人动作和相应的机器人状态的初始序列确定机器人成功完成新任务。在那些实施方式的一些中,基于确定机器人动作和相应的机器人状态的初始序列是否成功完成新任务来生成自适应策略网络包括基于策略网络的初始自适应生成自适应策略网络。
[0153]
在一些实施方式中,确定机器人动作和相应的机器人状态的初始序列是否成功完成了新任务包括利用机器人动作和相应的机器人状态的初始序列,确定机器人没有成功完成新任务。在这些实施例的一些中,基于确定机器人动作和相应的机器人状态的初始序列是否成功完成新任务来生成自适应策略网络包括:基于(1)人工引导演示、(2)机器人动作和相应的机器人状态的初始序列,以及(3)元学习模型的试验策略网络,生成自适应策略网络的其他自适应。在一些实施方式中,该方法进一步包括使用自适应策略网络的其他自适应,生成机器人执行新任务的机器人的机器动作和相应的机器人状态的其他序列。在一些实施方式中,该方法进一步包括使机器人执行机器人动作和相应的机器人状态的其他序列。在一些实施方式中,该方法进一步包括确定机器人动作和相应的机器人状态的其他序列是否成功完成了新任务。在一些实施方式中,该方法进一步基于确定机器人动作和相应的机器人状态的附加序列是否成功完成新任务来更新自适应策略网络。
[0154]
在一些实施方式中,在基于元学习模型的一组试验参数的人工引导演示生成策略网络的初始自适应之前,该方法进一步包括将人工引导演示作为初始项存储在缓冲器中。在一些实施方式中,响应于利用机器人动作和相应机器人状态的初始序列,确定机器人没有成功完成新任务,该方法进一步包括将机器人动作和相应机器人状态的初始序列作为下一项存储在缓冲器中。在一些实施方式中,基于(1)人工引导演示、(2)机器人动作和相应的机器人状态的初始序列,以及(3)元学习模型的试验策略网络,生成自适应策略网络的其他自适应包括:基于缓冲器的内容和元学习模型的试验参数集,生成自适应策略网络的其他自适应。
[0155]
在一些实施方式中,使用多个不同的任务训练元学习模型包括初始化元学习模型的试验策略。在一些实施方式中,该方法进一步包括从多个训练任务中选择训练任务。在一些实施方式中,该方法进一步包括确定机器人执行训练任务的人工引导训练演示。在一些实施方式中,该方法进一步包括基于试验策略网络和人工引导训练演示,生成机器人执行训练任务的机器人动作及相应机器人状态的一个或多个训练序列。在一些实施方式中,该方法进一步包括确定机器人执行训练任务的附加人工引导训练演示。在一些实施方式中,该方法进一步包括使用元模仿学习,基于附加人工引导演示以及一个或多个训练序列来更新元学习模型的试验策略网络。
[0156]
在一些实施方式中,基于试验策略网络和人工引导训练演示生成机器人执行训练任务的机器人动作和相应机器人状态的一个或多个训练序列包括基于人工引导训练演示
和试验策略网络生成策略网络的初始训练自适应。在一些实施方式中,该方法进一步包括使用策略网络的初始训练自适应,生成机器人执行训练任务的机器人动作和相应机器人状态的初始训练序列。在一些实施方式中,该方法进一步包括使用元强化学习,基于(1)人工引导训练演示、(2)初始训练序列和以及(3)策略网络的初始训练自适应,更新训练自适应策略网络。
[0157]
在一些实施方式中,基于试验策略网络和人工引导训练演示,生成机器人执行训练任务的机器人动作和相应机器人状态的一个或多个训练序列进一步包括使用训练自适应策略网络,生成机器人执行训练任务的机器人动作和相应机器人状态的其他训练序列。在一些实施方式中,该方法进一步包括使用强化学习,基于(1)人工引导训练演示、(2)初始训练序列、(3)其他训练序列以及(4)训练自适应策略网络,更新训练自适应策略网络。
[0158]
在一些实施方式中,使用多个不同的任务训练元学习模型包括初始化元学习模型的试验策略网络和自适应试验策略网络。在一些实施方式中,该方法进一步包括从多个训练任务中选择训练任务。在一些实施方式中,该方法进一步包括确定机器人执行训练任务的人工引导训练演示。在一些实施方式中,该方法进一步包括使用模仿学习,基于人工引导演示更新试验策略网络。在一些实施方式中,该方法进一步包括冻结元学习模型的试验策略网络。在一些实施方式中,该方法进一步包括基于冻结的试验策略网络和人工引导训练演示,生成机器人执行训练任务的机器人动作和相应机器人状态的一个或多个训练序列。在一些实施方式中,该方法进一步包括使用强化学习,基于(1)机器人动作和相应机器人状态的一个或多个训练序列以及(2)人工引导训练演示,更新自适应试验策略网络。
[0159]
在一些实施方式中,基于冻结的试验策略网络和人工引导训练演示生成机器人执行训练任务的机器人动作和相应机器人状态的一个或多个训练序列包括基于试验策略网络和人工引导训练演示,生成机器人执行任务的机器人动作和相应机器人状态的初始训练序列。在一些实施方式中,该方法进一步包括将人工引导训练演示和所生成的初始训练序列作为第一演示

试验对存储在训练缓冲器中。在一些实施方式中,该方法进一步包括确定机器人动作和相应机器人状态的初始训练序列是否成功完成训练任务。
[0160]
在一些实施方式中,基于冻结的试验策略网络和人工引导训练演示生成机器人执行训练任务的机器人动作和相应机器人状态的一个或多个训练序列进一步包括响应于确定机器人动作和相应机器人状态的初始训练序列没有成功完成训练任务,基于试验策略网络和人工引导训练演示,生成机器人执行任务的机器人动作和相应机器人状态的其他训练序列。在一些实施方式中,该方法进一步包括将人工引导训练演示和所生成的其他训练序列作为下一个演示

试验对存储在训练缓冲器中。
[0161]
在一些实施方式中,使用强化学习,基于(1)机器人动作和相应机器人状态的一个或多个训练序列以及(2)人工引导训练演示,更新自适应试验策略网络包括对训练缓冲器中的每个演示

试验对,基于机器人是否成功完成相应演示

试验对中的训练任务,确定奖励信号。在一些实施方式中,该方法进一步包括使用强化学习,基于训练缓冲器中的演示

试验对和相应的奖励信号,更新自适应试验策略网络。
[0162]
在一些实施方式中,新任务由有限范围马尔可夫决策过程表示。
[0163]
在一些实施方式中,经由q

学习函数来学习试验策略网络。
[0164]
在一些实施方式中,经由q学习函数来学习自适应试验策略网络。
[0165]
另外,一些实施方式包括一个或多个计算设备的一个或多个处理器(例如中央处理单元(cpu)、图形处理单元(gpu)和/或张量处理单元(tpu)),其中,一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且其中,指令被配置成使得执行本文所述的方法中的任何一个。一些实施方式还包括一个或多个非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以执行本文所述的方法中的任何一个的计算机指令。
[0166]
虽然本文已经描述和说明若干实施方式,但是可以利用用于执行功能和/或获得结果和/或本文描述的一个或多个优点的各种其他手段和/或结构,并且这些变化和/或改进中的每一个被认为是在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置旨在是示例性的,并且实际参数、尺寸、材料和/或配置将取决于使用教导的特定应用或应用。本领域的技术人员将认识到或者能够使用不超过常规的实验确定本文所述的具体实施方式的许多等同物。因此,应当理解到,前述实施方式仅作为示例呈现,并且在所附权利要求及其等同物的范围内,可以以不同于具体描述和要求保护的方式实施这些实施方式。本公开的实施方式针对本文描述的每个单独的特征、系统、物品、材料、套件和/或方法。此外,如果这些特征、系统、物品、材料、套件和/或方法不相互矛盾,则两个或以上这样的特征、系统、物品、材料、套件和/或方法的任何组合被包括在本公开的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献