估计控制数据的可靠性的制作方法

文档序号:29620804发布日期:2022-04-13 13:16阅读:78来源:国知局
估计控制数据的可靠性的制作方法

1.本发明涉及一种估计与环境交互的计算机控制系统的控制数据的可靠性的计算机实现的方法,以及对应的系统。本发明进一步涉及一种生成合成方向数据实例的计算机实现的方法,以及对应的系统。本发明进一步涉及一种计算机可读介质。


背景技术:

2.机器人(以及更一般地为计算机控制系统)越来越多地被自动训练来学习新技能或使其行为适应未见条件。由于机器人与其环境的现实世界交互通常成本高(并且如果附近存在人类,甚至可能危险),因此以安全、快速和数据高效的方式执行此类训练是重要的。
3.在n. jaquier等人的“bayesian optimization meets riemannian manifolds in robot learning”(在https://arxiv.org/abs/1910.04998可获得,并且通过引用并入本文)中提供了一种用于训练机器人的技术。该技术是几何感知的,利用了表示机器人和/或与其交互的环境的参数通常不是不受限制的独立数值但取而代之具有几何意义的事实。例如,描述机器人的参数可以包括例如机器人臂的相应连杆的一个或多个取向或方向。取向和方向是可以表示为(单位)球面上的点的方向向量的示例,例如,对于取向是4维空间中的球面,或者对于方向是3d中的球面。除了在计算机控制的系统中表示取向或方向之外,方向向量还具有如本文描述的各种其他技术用途,例如在计算生物学中。
4.当在实践中部署训练的计算机控制系统时,主要的挑战之一是很好地处理意外情形。通常难以收集到表示实践中可能遇到的全部操作条件集的训练集。因此,当部署时,系统可能陷入它在训练期间没有遇到的情形。由于缺乏训练示例,因此存在机器人执行有害的动作的危险;例如,对机器人本身、对它与之交互的环境(例如,在制造机器人的情况下,其可以包括被制造的对象)、或者机器人附近的人有害。一般地,处理训练和使用之间的此类差异的一种方式是通过执行异常检测。使用异常检测,机器人可以检测到它处于与机器人原始在其上被训练的数据集不一致的状态。因此,在该情形下,经训练模型的可靠性可能预期是低的。基于这样的检测,机器人可以例如停止,其操作可以切换到安全模式,或者可以发起人类干预。


技术实现要素:

5.本发明的目的是要提供用于估计由机器可学习控制模型推断的控制数据的可靠性的技术,该技术为从方向向量推断的控制数据提供更准确的结果,该方向向量例如表示相关对象的位置或取向。使用这样的可靠性估计,计算机控制的系统可以被更可靠地控制。本发明的另一个目的是要提供用于生成表示训练数据集的合成数据的技术,该技术为包括方向向量的数据(例如,为至机器可学习控制模型的模型输入)提供更准确的结果。本发明的另一个目的是要提供可以既高效又准确地用于估计可靠性以及用于生成合成数据二者的模型。具体而言,目的是要提供一种准确的模型,该模型是可并行的,并且因此可以针对例如多核处理器或其他并行执行环境进行评估。
6.根据本发明的第一方面,分别如权利要求1和13限定的,描述了一种用于估计控制数据的可靠性的计算机实现的方法和对应的系统。根据本发明的另一方面,分别如权利要求9和14限定的,描述了一种用于生成合成方向数据实例的计算机实现的方法和对应的系统。根据本发明的另外方面,如权利要求15限定的,描述了一种计算机可读介质。实施例在从属权利要求中限定。
7.各个方面涉及方向数据实例,例如,用作至控制模型的模型输入。这样的方向数据实例可以包括与物理对象相关联的至少一个方向向量。方向向量可以表示物理对象的特性或特性组合,其可以表示为方向,例如超球面上的点。例如,方向向量可以表示对象的方向(例如,移动方向)或取向。这里,术语“取向”在物理意义上使用,例如,作为将对象从参考放置移动到其当前位置所需的假想旋转(与可选的假想平移相组合)。
8.例如,物理对象可以是机器人臂,在该情况下,方向数据实例可以包括表示机器人臂的相应连杆的取向的一个或多个方向向量和/或表示相应连杆的移动方向的方向向量。更一般地,物理对象可以是计算机控制系统的部件或系统与之交互的环境中的对象,例如,方向数据实例可以包括表示用于路径导航任务的环境中的(一个或多个)方向的方向向量。作为另一个示例,物理对象可以是蛋白质或其他生物结构,其中方向数据实例表示生物结构(例如,蛋白质的骨架)的相应成分的相应取向或方向。方向数据实例可以例如包括一个或多个方向和/或一个或多个取向,和/或其他方向向量,例如至多或至少五个、至多或至少十个或者至多或至少二十个方向向量。
9.除了表示与物理对象相关联的方向之外,方向数据实例(例如,至控制模型的模型输入)通常还表示关于物理对象的附加信息。例如,方向向量本身不仅可以表示方向,而且还可以表示量值,例如移动速度。然而,在其他实施例中,方向向量排他式地用于表示方向,而不是量值。在任何情况下,方向数据实例在许多情况下包括除(一个或多个)方向向量之外的附加数据。例如,方向数据实例可以表示机器人或其他计算机控制系统的状态。除了(一个或多个)方向向量之外,这样的状态可以包括表示系统或与其交互的对象的力、扭矩、刚度、惯性、可操纵性和姿态中的一个或多个的数据。一般地,(一个或多个)方向向量和/或包括在方向向量中的其他数据可以从表示方向数据实例所涉及的(一个或多个)物理对象的传感器数据中提取。
10.在各个方面中,为了估计用于这样的方向数据的机器可学习控制模型的可靠性,利用生成模型。一般地,生成模型可以被训练以生成表示数据集的方向数据实例。数据集可以包括例如从表示对应于方向向量的(一个或多个)物理对象的传感器数据中提取的如上所述的多个方向数据实例。
11.在一些方面中,给定方向数据实例,生成模型用于确定根据生成模型生成该方向数据的似然性。组合在相同数据集上训练的控制模型,似然性可以指示方向数据实例与该数据集的一致性,并且因此可以提供控制模型将从该方向数据实例推断的控制数据的可靠性的估计。在其他方面中,生成模型用于生成表示数据集的合成方向数据实例。在这两种情况下,生成模型生成更能表示数据集的方向数据实例是有益的,例如,生成模型学习在更能表示训练数据集的方向数据实例之上的概率分布是有益的。
12.一般地,生成模型可以通过应用一个或多个训练层从潜在特征向量生成方向数据实例。层可以根据在训练生成模型时训练的参数集合,例如确定性地或随机地将输入向量
变换成输出向量。层也称为变换或映射。通过组成层来构建生成模型,并通过对数似然性优化来训练此类模型,这本身例如从d. rezende等人的“variational inference with normalizing flows”(可https://arxiv.org/abs/1505.05770在获得,并通过引用并入本文)以及从d. nielsen等人的“survae flows: surjections to bridge the gap between vaes and flows”(在https://arxiv.org/abs/2007.02731可获得,并通过引用并入本文)是已知的。例如,如本文所述的生成模型可以被实现为标准化流或survae流。因此,例如,生成模型可以允许精确的似然性评估、高效的推断/数据合成以及对于下游任务有用的潜在空间表示学习。
13.有趣的是,本文描述的生成模型使用了耦合层,该耦合层被专门设计来准确地表示针对方向数据的变换。耦合层将输入方向向量变换成输出方向向量。耦合层可以将位于超球面上的输入方向向量映射到位于相同超球面上的输出方向向量,例如,耦合层可以表示保范映射。因此,耦合层可以作用在由输入方向向量表示的方向上。
14.例如,输入方向向量和/或输出方向向量可以表示3d中的方向(例如,作为3维球面上的点)、3d中的取向(例如,作为超球面上的点)或者多个此类方向和取向的级联。耦合层可以作用在输入方向向量上,从而保持方向数据实例的表示的其他元素不变。
15.为了将输入方向向量变换成输出方向向量,耦合层可以对输入方向向量应用无条件旋转和/或有条件旋转。无条件旋转可以根据生成模型的参数旋转输入方向向量(或者将耦合层的变换应用于输入方向向量的结果)。有条件旋转可以基于该向量的笛卡尔坐标的另一集合旋转输入方向向量的笛卡尔坐标的第一子集(或应用耦合层的变换的结果),该笛卡尔坐标的另一集合与第一子集不相交,例如剩余坐标。例如,在k维空间中,旋转可以对应于乘以矩阵。旋转可以是保范的。一般地,有条件和/或无条件旋转可以是确定性的或随机的。
16.除了无条件和/或有条件旋转之外,耦合层可以进一步包括独立作用在输入方向向量的一个或多个圆切片(例如,笛卡尔坐标对)上的圆变换(例如,具有已经应用于该向量的(一个或多个)旋转)。一般地,这样的笛卡尔坐标对表示具有一定半径的圆上的点(这不需要是一个)。圆变换可以将该圆上的点变换到该相同圆上的另一点(例如,如果变换是该特定点的恒等式,则是相同点)。例如,通过角度和半径参数化点,圆变换可以变换角度,但不变换半径。圆变换也可以是确定性的或随机的。有趣的是,作为保留对应于笛卡尔坐标对的圆的半径的结果,也可以保留被变换的总体方向向量的半径。
17.可以例如通过生成模型的参数和/或不对应于圆切片的另外笛卡尔坐标来参数化圆变换。优选地,圆变换是具有可逆的逆的可逆函数,例如,微分同胚。相应的圆变换可以应用于相应的、优选逐对不相交的笛卡尔坐标对,例如,应用于对其应用了有条件旋转的子集的每对笛卡尔坐标。可以基于不受有条件旋转影响的坐标来参数化圆变换。
18.发明人发现,使用所述的将旋转和圆变换组合的耦合层,允许在方向数据上表示宽范围的变换。旋转是要应用于方向数据的特别自然和重要的变换,因此有条件地和/或无条件地应用它特别有用。有趣的是,通过将这与圆切片的变换相组合,也可以实现不对应于更高维度旋转的功能性。尽管如此,通过构造,变换的方向向量的范数可以被保留,并且相应地,获得了方向向量上灵活且强大的变换。在各种实施例中,生成模型并行地和/或顺序地组合多个耦合层,从而允许灵活地学习更复杂的变换,在生成的方向数据上引出更复杂
的概率分布。因此,可以更准确地检测测量的方向数据中的异常,并且例如可以生成更能表示先前测量的方向数据实例的合成方向数据实例。
19.使用旋转和圆变换的一个重要优点是,它允许耦合层不仅用于生成方向上,例如生成合成方向数据;而且还在逆方向上,有时称为推断方向。例如,耦合层的逆可以高效且准确地计算,例如从而允许计算精确的逆,而不需要随机近似或数值稳定的逆技术。
20.特别地,由于相应的圆变换可以独立地作用在相应的笛卡尔坐标对上,因此生成模型的逆可以通过单独地对相应的圆变换取逆来计算。可以基于其他坐标和模型参数来参数化圆变换。有趣的是,由于这些值不受变换影响,因此这些参数可以用与它们从圆变换的输入来计算相同的方式从圆变换的输出来计算。此外,圆切片的独立变换可以产生具有三角形结构的雅可比,并且从而可以以准确、高效和数值稳定的方式进行取逆。逆雅可比可以用于对数似然性计算。因此,在推断方向上对生成模型的使用被改进。
21.类似地,由于有条件旋转作用在基于其他坐标和/或模型参数而参数化的笛卡尔坐标的子集上,并且这些值也不受有条件旋转影响,因此在有条件旋转中使用的参数也可以用与它们从其输入计算相同的方式从其输出确定。此外,由于有条件和无条件平移的逆也是平移,因此可以对它们高效地取逆。
22.因此,通过使用旋转和圆变换来构造耦合层的方式,可能高效且准确地执行密度评估(如用于确定一致性,以及用于训练生成模型)和采样(如用于生成合成方向数据)二者。特别地,可以避免使用基于自回归流的迭代过程,这对于高维数据具有增加的计算复杂度,并且具有不能同时高效地进行密度评估和从模型密度采样的属性(例如,自回归流要么从均匀空间去往模型数据空间要么与之相反,并且取决于选择,采样或者密度评估可能是低效的)。
23.提出的耦合层——其有助于改进其准确度——的另一个优点是可以避免奇异性。例如,超球面上的可训练映射在d. rezende等人的“normalizing flows on tori and spheres”(在https://arxiv.org/abs/2002.02428可获得,并且通过引用并入本文)中提出,该可训练映射利用了圆柱体。然而,因为圆柱体和球面在拓扑上不等价,所以两者之间的映射不是微分同胚的,并且特别是,例如在极点处存在奇异性。有趣的是,使用本文提出的耦合层允许避免此类奇异性。例如,可以获得微分同胚映射,并且因此获得连续的模型密度。特别是,改进了接近此类奇异性的可靠性。这在确定一致性时特别重要,因为这就是意在可靠地处理异常情形。
24.可选地,应用圆变换可以包括将笛卡尔坐标对映射到角度;将圆微分同胚应用于角度;以及将角度映射到笛卡尔坐标。类似地,可以通过将笛卡尔坐标映射到角度、应用圆微分同胚的逆以及将结果映射回到笛卡尔坐标来应用圆变换的逆。这有助于保证结果得到的圆变换是可逆的。这对于保证例如直接作用在2d平面上的函数来说是更复杂的。同样,基于角度和坐标之间的映射以及圆微分同胚的似然性贡献,可以高效地计算圆变换的似然性贡献。
25.可选地,可以根据经训练的参数模型(例如神经网络等)将圆微分同胚参数化。作为其输入,参数模型可以使用圆的大小,和/或对其没有应用圆变换的笛卡尔坐标。例如,方向向量的笛卡尔坐标可以被分区成一组或多组对,以及一组剩余的笛卡尔坐标。在这样的情况下,可以将圆变换应用于相应的对,其中通过使用圆的大小和/或一个、多个或所有剩
余坐标评估经训练的参数模型来确定参数。仅使用耦合层对其未应用圆变换的笛卡尔坐标具有如下优点:可以并行评估相应圆变换,因为一个圆变换的参数计算不需要已经执行了另一个圆切片的变换。
26.可选地,无条件旋转和/或有条件旋转可以通过使用多次householder反射来实现。householder反射允许旋转和它的逆二者被高效地实现。因此,例如,与利用旋转角度进行工作相比,可以获得更好的结果。在各种实施例中,householder反射的数量被选择为等于它们所应用的向量的维度,例如,对其应用了有条件旋转的总体方向向量或坐标子集。这原则上允许表示任何旋转。然而,也可能的是使用更少的householder反射,这可以产生更具数据效率的模型,例如,可以减少过度拟合。
27.可选地,方向数据实例的方向向量可以表示三维空间中物理对象的取向。这样的取向可以用单位四元数来表示,例如,用平方和等于一的四个实数值来表示。在一些实施例中,耦合层的输入和输出方向向量可以各自表示一个取向。在一些实施例中,耦合层的输入和输出方向向量可以包括多个单位四元数,例如,可以表示多个取向(例如,两个、三个、至多或至少五个或者至多或至少十个取向)的级联。
28.在各个方面中,生成模型用于估计由机器可学习控制模型从模型输入推断的控制数据的可靠性。该可靠性可以基于模型输入与控制模型的训练数据集的一致性来估计。为此,可以获得模型输入,例如,可以从传感器数据提取模型输入,例如,通过确定物理对象的方向和/或取向,例如,要控制的系统的部件或其环境中的对象。例如,传感器数据可以是捕获物理对象的图像或视频数据。
29.为了更一般地确定模型输入与训练数据集的一致性,或者方向数据实例与数据集的一致性,可以将生成模型的逆应用于所获得的方向数据实例,以确定根据生成模型生成的方向数据实例的似然性(例如,对数似然性)。这通常涉及应用耦合层的逆,例如,获得输出方向向量并使用该逆来确定对应的输入方向向量(例如,如果逆是确定性的,则确定性地确定,或者如果逆是随机的,则通过采样来确定)。确定似然性可以涉及确定耦合层的雅可比或其他类型似然性贡献的逆的行列式,这本身对于标准化流或survae流是已知的。有趣的是,通过耦合层的构造,可以使能实现精确的似然性估计。
30.基于所确定的似然性,可以输出一致性值,该一致性值指示方向数据实例与生成模型在其上被训练的数据集的一致性。例如,如果数据集是另外机器学习模型的训练数据集,则一致性值可以用作对于方向数据实例作为另外机器学习模型的模型输入的可靠性度量。例如,可以输出对数似然性本身,或者从其导出的值,诸如二进制标签。由于使用了如本文所述的耦合层,生成模型更好地表示了数据集,并且因此获得了更准确的一致性值。
31.可选地,方向向量可以表示机器人臂的连杆的取向;例如,方向数据实例可以包括表示相应取向的多个此类方向向量。所确定的一致性值可以用作用于控制机器人臂的控制模型的可靠性度量,例如,通过在安全模式下操作机器人或者在一致性值指示不一致性的情况下停止机器人。例如,数据集中的方向数据实例可以表示机器人和/或其环境的正常状态,指示需要对其采取适当动作的异常情形的不一致性。
32.可选地,至少在可靠性度量指示足够的可靠性的情况下,控制模型或其他另外的机器学习模型可以应用于方向数据实例。一致性值可以用于决定如何使用另外机器学习模型的模型输出,例如,是否丢弃它,或者为它分配更高或更低的权重等。例如,如果对数似然
性低于阈值,则可以丢弃模型输出,和/或可以发出警报。如果模型输出足够可靠,则计算机控制的系统可以根据它进行控制。
33.机器人系统是这样的计算机控制的系统的示例;例如,这可以是如前所述的机器人臂,但是各种其他类型的机器人也是可能的,并且还涉及方向数据,例如无人机或类人机器人。例如,机器人可以自动执行一个或多个任务,例如,在外部设备或嵌入式控制器的控制下。可以对其应用所述技术的计算机控制系统的另外示例是车辆及其部件、家用电器、电动工具、制造机器、个人助理、访问控制系统、无人机、纳米机器人和加热控制系统。
34.可选地,由生成模型生成的合成方向数据实例或者对其应用生成模型的逆的方向数据实例可以表示蛋白质或其他生物结构。例如,方向数据实例可以表示候选蛋白质构象(conformation)。特别地,在这种情况下,方向向量可以表示蛋白质或其他生物结构的成分的取向或方向。使用生成模型,可以生成候选蛋白质构象。然后,可以针对有效性自动和/或手动检查该候选,例如,通过使用如本身已知的能量函数。也可能的是,使用生成模型的逆来检查以其他方式生成以便与有效构象的数据集一致的候选,例如代替其他有效性检查或除了其他有效性检查之外。在任一情况下,如果发现有效,则例如可以自动合成蛋白质。
35.可选地,生成模型可以用于基于训练数据集训练生成模型。在这种情况下,可以通过从训练数据集检索方向数据实例来获得它们。生成模型的逆可以用于从训练数据集确定方向数据实例的似然性,并且所确定的似然性可以被最大化。因此,可以获得表示训练数据集的生成模型。
36.在各种方面中,应用生成模型,以根据生成模型生成合成方向数据实例。因为生成模型包括如本文所述的耦合层,所以生成的实例更准确地表示生成模型在其上被训练的数据集。
37.可选地,可以重复应用生成模型来获得多个生成的方向数据实例。多个方向数据实例可以在训练另外的机器学习模型(例如计算机控制系统的控制模型)中用作训练和/或测试数据。合成数据可以用于数据增强,例如以便在较大数据集和/或难以获得训练数据的情形的数据上训练另外的机器可学习模型,所述情形例如是计算机控制系统与其环境交互的危险或罕见情形。例如,可以手动或自动标记生成的数据,或者可以以无监督的方式训练另外的机器学习模型。通过使用合成数据,可以获得更好训练的机器可学习模型,而不需要执行另外的现实物理测量和/或交互。
38.可选地,可以获得至另外的机器学习模型的输入实例,并且可以将另外的机器学习模型应用于输入实例以确定另外的机器学习模型的输出。例如,输出可以用作控制计算机控制系统中的控制数据。因为另外的机器学习模型是在更好的训练数据上训练的,所以其结果得到的输出的质量也被改进,例如,系统的控制被改进。
39.本领域技术人员将领会,本发明的两个或更多个上述实施例、实现和/或可选方面可以以任何认为有用的方式组合。
40.基于本说明书,本领域技术人员可以对任何系统和/或任何计算机可读介质实行修改和变型,所述修改和变型对应于对应计算机实现方法的所描述的修改和变型。
附图说明
41.本发明的这些和其他方面根据下文描述的实施例是清楚的并且将参考下文描述
的实施例被阐明。在附图中,图1示出了用于训练和/或使用生成模型的系统;图2示出了用于估计控制数据可靠性的系统;图3示出了用于估计机器人臂的控制数据的可靠性的系统;图4示出了耦合层的详细示例;图5a示出了将耦合层应用于两个四维方向向量的详细示例,所述四维方向向量例如表示物理对象的取向;图5b示出了将耦合层应用于方向向量的详细示例,所述方向向量例如表示物理对象的取向;图6示出了估计可靠性的计算机实现的方法;图7示出了生成合成方向数据实例的计算机实现的方法;图8示出了包括数据的计算机可读介质。
42.应当注意,在不同图中具有相同附图标记的项目具有相同的结构特征和相同的功能,或者是相同的信号。在已经解释了这样的项目的功能和/或结构的情况下,没有必要在详细描述中对其重复解释。
具体实施方式
43.图1示出了用于训练生成模型040和/或根据生成模型040生成合成方向数据实例的系统100。
44.系统100可以包括用于访问表示生成模型的模型数据040的数据接口120。一般地,模型数据040可以包括用于在生成方向上评估模型的参数,以例如生成合成方向数据实例,和/或用于在推断方向上评估模型的参数、例如生成模型的逆的参数,以例如确定与数据集的一致性。
45.例如,参数可以包括一个或多个神经网络的参数,例如用于耦合层变换的参数确定模型的参数。神经网络也被称为人工神经网络。示例包括深度神经网络和卷积神经网络。在这种情况下,参数集合可以包括神经网络节点的权重。参数还可以包括耦合层中使用的概率分布的参数等。取决于特定应用,可以使用各种已知的神经网络架构和其他类型的机器可学习模型。
46.用于生成方向和推断方向的参数通常重叠,但不需要重合。例如,生成模型的变换可能在一个方向上是确定性的,并且在另一个方向上是随机的,在这种情况下,用于随机方向的参数数量通常更大。例如,用于生成方向和/或推断方向的参数数量可以是至少10000、至少100000或至少1000000。
47.生成模型可以由系统100训练,或者可以先前已经在训练数据集上训练。在这两种情况下,来自训练数据集的方向数据实例可以包括与从表示物理对象的传感器数据提取的物理对象相关联的至少一个方向向量。
48.在系统100基于先前在训练数据集上训练的生成模型而应用生成模型040的情况下,系统访问的模型数据040可以仅包括用于生成方向的参数,例如,不包括用于推断方向的参数。在系统100在训练数据集上训练生成模型的情况下,模型数据040通常包括用于生成方向和推断方向二者的参数。
49.在系统100训练生成模型的情况下,数据接口也可以用于访问模型在其上被训练的训练数据集030。例如,训练数据集可以包括至少100个、至少10000个或至少1000000个方向数据实例。因此,数据接口120可以充当用于从训练数据集030获得用于训练生成模型的方向数据实例的输入接口。由系统100训练的生成模型可以用于根据本文描述的方法例如由系统100本身或者由图1的系统的不同实例生成合成方向数据实例,所述图1的系统的不同实例被配置为根据模型生成方向数据实例,但是不训练它。代替地或附加地,由系统100训练的生成模型可以用于根据本文描述的方法例如由图2的系统200确定方向数据实例的一致性,例如作为控制模型的可靠性度量。
50.也如图1中图示的,输入接口可以由数据存储接口120构成,数据存储接口120可以从数据存储装置021访问数据030、040。例如,数据存储接口120可以是存储器接口或永久存储接口——例如硬盘或ssd接口,但也可以是个域网、局域网或广域网接口——诸如蓝牙、zigbee或wi-fi接口或以太网或光纤接口。数据存储装置021可以是系统100的内部数据存储装置——诸如硬盘驱动器或ssd,但是也可以是外部数据存储装置——例如网络可访问的数据存储装置。在一些实施例中,数据030、040可以各自从不同的数据存储装置例如经由数据存储接口120的不同子系统被访问。每个子系统可以具有如上面对于数据存储接口120描述的类型。
51.系统100可以进一步包括处理器子系统140。处理器子系统140可以被配置为在系统100的操作期间,通过最大化来自数据集030的方向数据实例的所确定似然性来训练生成模型040。该似然性可以由处理器子系统140通过将生成模型的逆应用于方向数据实例以确定根据生成模型生成方向数据实例的似然性来确定。训练可以包括输出似然性作为指示方向数据实例与数据集的一致性的一致性值,以及使用似然性作为用于训练生成模型040的训练信号。
52.生成模型可以通过根据耦合层将输入方向向量变换成输出方向向量来生成方向数据实例。
53.作为应用生成模型的逆的一部分,处理器子系统140可以被配置为应用该耦合层的逆。这可以包括应用圆变换的逆。该逆可以应用于表示圆上的点的笛卡尔坐标对。该逆可以将所述点变换到圆上的另外点。可以基于生成模型的参数和/或另外的笛卡尔坐标来定义圆变换。应用耦合层的逆可以进一步包括应用无条件旋转和/或有条件旋转的逆。无条件旋转的逆可以根据生成模型的参数旋转方向向量。有条件旋转的逆可以基于笛卡尔坐标的第二集合旋转笛卡尔坐标的第一集合。
54.代替训练生成模型或除了训练生成模型之外,处理器子系统140可以被配置为在系统100的操作期间应用生成模型040来生成合成方向数据实例。该应用可以包括将耦合层应用于输入方向向量。耦合层的应用可以包括应用无条件旋转和/或有条件旋转。无条件旋转可以根据生成模型的参数旋转方向向量。有条件旋转可以基于笛卡尔坐标的第二集合旋转笛卡尔坐标的第一集合。耦合层的应用可以进一步包括将圆变换应用于表示圆上的点的笛卡尔坐标对。该变换可以将所述点变换到圆上的另外点。可以基于生成模型的参数和/或另外的笛卡尔坐标来定义圆变换。
55.系统100可以进一步包括输出接口。输出接口可以用于输出表示经学习(或“经训练”)模型的经训练数据,和/或用于输出生成的合成方向数据实例或基于它的数据。
56.例如,处理器子系统140可以被配置为在系统100的操作期间,重复应用生成模型以获得多个生成的方向数据实例,以及使用多个方向数据实例作为训练和/或测试数据来训练另外机器学习模型(例如,控制模型)。可以使用输出接口输出另外机器学习模型。代替地或附加地,可以获得至另外机器学习模型的模型输入,并且该另外机器学习模型可以应用于模型输入以确定该另外机器学习模型的输出(例如,控制数据),其中该另外机器学习模型的输出由输出接口输出。
57.例如,也如图1中图示的,输出接口可以由数据接口120构成,在这些实施例中,所述接口是输入/输出(“io”)接口,经由该输入/输出(“io”)接口,输出数据可以存储在数据存储装置021中。例如,定义“未训练”模型的模型数据040可以在训练期间或之后至少部分地被经训练模型的模型数据替换,因为诸如神经网络的权重和其他类型的参数之类的模型参数可以被适应以反映训练数据030上的训练。这也在图1中被用于指代未训练和经训练模型数据二者的相同参考标号040来图示。在其他实施例中,经训练模型数据可以与定义“未训练”模型的模型数据分离存储。在一些实施例中,输出接口可以与数据存储接口120分离,但是一般而言可以具有如上面对于数据存储接口120描述的类型。在输出控制数据的情况下,输出接口也可以是致动器接口,例如如参考图2所讨论的。
58.图2示出了用于确定方向数据实例与数据集的一致性的系统200。在该示例中,方向数据实例是至用于控制计算机控制系统的机器可学习控制模型的模型输入。一致性可以为模型输入提供机器可学习控制模型的可靠性的估计。系统200可以是控制计算机控制系统的控制系统。系统200除了应用生成模型之外,还可以训练生成模型,例如可以与图1的系统相组合。
59.系统200可以包括数据接口220,用于访问表示经训练生成模型的经训练模型数据040,所述经训练生成模型如可以由图1的系统100生成或者如别处所述。生成模型可以被训练以生成表示数据集的方向数据实例。该生成可以包括根据耦合层将输入方向向量变换成输出方向向量。还如参考图1所讨论的,模型数据040可以至少包括在推断(逆)方向上应用生成模型所需的参数,但是不需要包括在生成方向上应用生成模型所需的任何附加参数。
60.例如,也如图2中图示的,数据接口可以由数据存储接口220构成,该数据存储接口220可以从数据存储装置022访问数据040。一般而言,数据接口220和数据存储装置022可以具有与参考图1针对数据接口120和数据存储装置021描述的相同的类型。尽管图中未示出,但是数据接口也可以用于访问表示机器可学习控制模型的模型数据。
61.数据接口还可以用作输入接口,以用于获得方向数据实例,该方向数据实例将用作另外机器可学习控制模型的模型输入。方向数据实例可以包括与物理对象相关联的至少一个方向向量,该物理对象例如是计算机控制系统的部件或计算机控制系统环境中的对象。方向向量可能先前已经从表示物理对象的传感器数据中提取。该图图示了输入接口是传感器接口260的情况,其中方向数据实例223由传感器接口260从传感器数据224提取,如下面更详细讨论的。方向数据实例也可以经由另一种类型的输入接口获得。
62.系统200可以进一步包括处理器子系统240,其可以被配置为在系统200的操作期间,将生成模型040的逆应用于方向数据实例223,以确定根据生成模型生成方向数据实例的似然性。基于所述似然性,处理器子系统240可以输出一致性值,该一致性值指示方向数据实例与数据集的一致性,并且因此在这种情况下估计将由机器可学习控制模型使用方向
数据作为模型输入来推断的控制数据的可靠性。
63.该应用可以包括应用耦合层的逆。应用耦合层的逆可以包括应用圆变换的逆。该逆可以应用于表示圆上的点的笛卡尔坐标对。该逆可以将所述点变换到圆上的另外点。可以基于生成模型的参数和/或另外的笛卡尔坐标来定义圆变换。应用耦合层的逆可以进一步包括应用无条件旋转和/或有条件旋转的逆。无条件旋转的逆可以根据生成模型的参数旋转方向向量。有条件旋转的逆可以基于笛卡尔坐标的第二集合旋转笛卡尔坐标的第一集合。
64.将领会,与针对图1的处理器子系统140相同的考虑和实现选项适用于处理器子系统240。将进一步领会,除非另有指出,否则与针对图1的系统100相同的考虑和实现选项一般而言可以应用于系统200。
65.图2进一步示出了系统200的各种可选部件。例如,在一些实施例中,系统200可以包括传感器接口260,用于直接访问由环境082中的传感器072获取的传感器数据224。可以从传感器数据224提取与计算机控制系统的物理对象或其环境082相关联的方向数据实例223的方向向量。传感器可以布置在环境082中,但是也可以远离环境082布置,例如如果可以远程测量(一个或多个)量的话。传感器072可以但不需要是系统200的一部分。传感器072可以具有任何合适的形式,诸如图像传感器、lidar传感器、雷达传感器、压力传感器、温度传感器等。传感器接口260可以具有在类型上对应于传感器类型的任何合适的形式,包括但不限于低级通信接口,例如基于i2c或spi数据通信,或者如以上对于数据接口220所述类型的数据存储接口。
66.在一些实施例中,系统200可以包括致动器接口280,用于向环境082中的致动器(未示出)提供控制数据226。控制数据226可以由处理器子系统240生成,以基于所确定的一致性值来控制致动器,例如,通过使用一致性值来决定是否使用机器可学习控制模型的控制数据,例如,模型的控制数据仅在足够可靠的情况下才可以使用。致动器可以是系统200的一部分。例如,致动器可以是电气、液压、气动、热、磁和/或机械致动器。具体但非限制性的示例包括电动机、电活性聚合物、液压缸、压电致动器、气动致动器、伺服机构、螺线管、步进电动机等。这样类型的控制参考图3针对机器人系统进行描述。
67.在其他实施例中(图2中未示出),系统200可以包括至诸如显示器、光源、扬声器、振动电动机等之类的呈现设备的输出接口,该输出接口可以用于生成感觉可感知的输出信号,该输出信号可以基于所确定的可靠性度量来生成,例如,由机器可学习控制模型推断的控制信号可以连同所确定的可靠性度量一起输出。
68.一般而言,本说明书中描述的每个系统——包括但不限于图1的系统100和图2的系统200——可以被体现为单个设备或装置或者被体现在单个设备或装置中,所述单个设备或装置诸如是工作站或服务器。设备可以是嵌入式设备。设备或装置可以包括执行适当软件的一个或多个微处理器。例如,相应系统的处理器子系统可以通过单个中央处理单元(cpu)、而且还通过这样的cpu和/或其它类型的处理单元的系统或组合来体现。软件可能已被下载和/或存储在对应的存储器中,所述对应的存储器例如是诸如ram的易失性存储器,或诸如闪存的非易失性存储器。替代地,相应系统的处理器子系统可以以可编程逻辑的形式被实现在设备或装置中,例如作为现场可编程门阵列(fpga)。一般而言,相应系统的每个功能单元可以以电路的形式实现。相应的系统也可以以分布式方式实现,例如涉及不同的
设备或装置,诸如分布式本地或基于云的服务器。在一些实施例中,系统200可以是车辆、机器人或类似物理实体的一部分,和/或可以表示被配置为控制物理实体的控制系统。
69.图3示出了以上示例,其中系统200与机器人臂300一起是机器人系统的一部分,该系统被用作控制机器人臂300的控制系统。尽管机器人臂被用作示例,但是本领域技术人员理解,该系统也可以控制另一种类型的计算机控制系统,诸如(半)自主车辆、建筑控制系统等。
70.机器人臂300可以在环境082中起作用,例如作为制造流水线的一部分。作为说明性示例,该图中的机器人臂具有两个连杆301、302。其他数量的连杆也是可能的,例如一个、三个或至少四个。控制机器人臂300可以包括控制机器人臂的连杆之间的连接,以在给定方向上移动机器人臂。
71.例如,在正常操作中,系统200可以根据机器可学习控制模型来控制机器人臂300,机器可学习控制模型例如是基于训练数据集使用强化学习训练的策略。机器可学习控制模型可以将方向数据实例dd 375取作模型输入,方向数据实例dd 375包括方向向量dv1 370、dv2 371,方向向量dv1 370、dv2 371指示机器人臂的连杆301、302的取向。方向数据实例dd可以包括附加数据,例如测量的力、扭矩等。
72.在该设置下,收集针对异常情况的训练数据可能具有挑战性。因此,在这些异常情况下,另外机器学习模型可能预期不太可靠。同时,在这些异常的情况下,也存在使机器人臂执行不期望动作的增加风险,例如,损坏机器人臂或其环境82中的对象。
73.因此,系统200可以使用在与机器可学习控制模型相同的训练数据集上训练的生成模型以便确定一致性值。一致性值可以指示方向数据实例与训练数据集的一致性,并且因此可以估计方向数据实例的机器可学习控制模型的可靠性。至少如果一致性值指示方向数据实例与训练数据集的足够一致性并因此足够可靠性,则控制模型可以应用于方向数据实例,并且其输出可以用于控制机器人臂300。如果一致性值没有指示足够的一致性,则机器人臂的控制可以适于降低执行不期望动作的风险,例如,通过停止机器人臂、切换到安全模式、向控制模型的输出分配较小重要性等。
74.耦合层的各种详细示例描述如下。一般地,生成模型可以包括一个或多个此类耦合层。
75.方向数据实例可以基于潜在特征向量生成。应用生成模型可以包括获得潜在特征向量并从潜在特征向量确定合成方向数据实例(例如,确定性地或随机地)。生成模型可以定义先验分布,根据该先验分布假设潜在特征向量分布,并且因此,可以通过根据先验分布对潜在特征向量进行采样来生成随机合成方向数据实例。有趣的是,还可能适应潜在特征向量,以便影响被生成的方向数据实例,例如,控制某些方面是否存在于所生成的方向数据实例中。
76.例如,生成模型可以通过以下各项生成方向数据实例:-获得潜在特征向量,例如,根据先验概率分布对潜在特征向量进行采样;-将生成模型的(例如,可训练的)初始部分应用于潜在特征向量,以获得包括至耦合层的输入方向向量的输入中间表示;-将耦合层应用于输入方向向量,以获得作为输出中间表示的一部分的输出方向向量,例如,使不输入到耦合层的输入中间表示的部分保持不变;-将生成模型的(例如,可训练的)最终部分应用于输出中间表示,以确定方向数据实例。
77.生成模型的初始部分和最终部分是可选的:耦合层也可以直接应用于潜在特征向量和/或耦合层的输出可以直接包括在生成的方向数据实例中。例如,包括在方向数据实例中的方向向量可以是耦合层的输出方向向量,或者输出方向向量可以提供包括在方向数据实例中的多个方向向量。
78.耦合层可以使用中间表示的未输入到耦合层的部分作为至参数模型的输入,以确定耦合层的圆变换或有条件旋转的参数。
79.输入和输出中间表示还可以表示不表示方向向量的数据,例如,不是来自超球面或拓扑等价于超球面的流形的数据。例如,中间表示可以包括来自欧几里德流形的数据、来自对称正定矩阵流形的数据和/或来自特殊欧几里德群的数据,如例如可以用于表示机器人系统的状态。该其他数据可以由生成模型的其他非耦合层变换,这本身是已知的。
80.生成模型可以包括多个耦合层。例如,一个耦合层的输出方向向量可以用作另一个耦合层的输入,例如,以至少三个、至少五个或至少10个耦合层的顺序。多个耦合层可以在它们被应用于相同中间表示的不同部分的意义上并行执行。
81.例如,在实施例中,一个或多个随后的耦合层可以被应用于多个单独方向向量的级联,例如多个3d或4d向量,例如至少两个、至少四个或至少十个此类单独方向向量。然后,一个或多个随后的耦合层可以被单独地应用到每个单独的方向向量。这样,生成模型可以首先将更多的全局变换应用于总体方向数据实例,并且然后单独生成个体方向向量的方面。
82.本文描述的生成模型的训练可以使用诸如随机梯度下降的随机方法、例如使用如在kingma和ba的“adam: a method for stochastic optimization”(在https://arxiv.org/abs/1412.6980可获得,并通过引用并入本文)中公开的adam优化器来执行。待优化的目标函数可以包括根据生成模型生成的训练数据集的项目的对数似然性总和。如已知的,此类优化方法可以是启发式的和/或达到局部最优。可以在逐个实例的基础上或例如至多或至少64个或者至多或至少256个实例分批地执行训练。从训练效率的视角来看,使用可服从基于梯度的优化的生成模型是有益的,该生成模型例如在其参数组中是连续的和/或可微分的。
83.例如,在实施例中,生成模型可以是标准化流。标准化流可以被训练成近似如由训练数据集表示的现实世界数据的固有概率分布。作为示例,如本领域已知的mnist数据集由手写数字的28
×
28像素图像构成,并且因此可以对应于在上定义的固有概率分布。可以采取预处理步骤,例如去量化来处理离散数据并达到连续密度。分布可以基于变量改变公式来学习。令x是生成模型生成的数据空间的域;z是潜在特征向量的潜在空间,例如,具有相同的维度;pz是z上的概率分布,并且是映射,例如可微的和具有可微逆的映射。如本身已知的,在标准化流中,变量改变公式可以以具有的分布的解析形式提供,例如,变量改变公式可以表示分布
pz在f对潜在空间z的作用下如何改变。
84.因此,在标准化流和类似模型中,计算根据模型生成的数据的似然性可以包括评估逆模型的雅可比行列式,例如通过评估模型的雅可比行列式的逆。这进而可以包括评估逆耦合层的雅可比行列式,例如通过评估耦合层的雅可比行列式的逆。有趣的是,也如别处所讨论的,如本文提供的耦合层的部件具有三角形结构,从而允许以高效且数值稳定的方式计算这些行列式。例如,在一些实施例中,计算行列式的计算复杂度从降低到,因为行列式可以作为对角元素的和来计算。
85.分布pz可以是具有固定参数或由生成模型的参数所参数化的概率分布,例如,如果z是欧几里得空间,则分布pz是不相关的高斯,或者如果z是致密的,则分布pz是均匀分布。函数f可以由各种机器可学习函数、例如一个或多个深度或其他神经网络参数化。因此,使用标准化流,可以基于基本分布pz来对复杂分布p
x
建模。
86.在实施例中,生成模型是survae流。survae流类似于标准化流,但是可以包括非双射层,例如生成满射层、推断满射层或随机层。耦合层可以是survae流的双射层,在这种情况下,它类似于在标准化流中那样被应用。特别地,同样在survae流中,计算被生成的数据的似然性可以涉及计算耦合层的雅可比行列式,如上面讨论的。
87.一般地,包括在方向数据实例中的方向向量可以用各种方式来表示。例如,方向向量可以由笛卡尔坐标集合表示。例如,表示3维空间中的方向的方向向量可以表示为具有的3维向量,例如,表示为球面上的点。类似地,2维空间中的方向可以表示为圆上的点。一般地,对应于k维中方向的方向向量可以表示为(k-1)-超球上的点。
88.本文描述的技术可以应用于更高程度的方向数据,例如表示至少5维、至少10维或至少20维中方向的方向向量。不需要将笛卡尔坐标限制为具有某个范数,例如,方向向量可以另外表示量值,或者具有不同范数但相同方向分量的向量可以被视为等价的。
89.没有必要使用笛卡尔坐标;例如,方向向量可以由一个或多个角度来表示。特别地,方向向量可以以各种方式表示取向。例如,如本身已知的,三维空间中的取向可以被表示为3-球面球面上的点、表示为特殊正交群的元素、以轴角表示来表示等。
90.图4示出了供在如本文所述的生成模型中使用的耦合层的详细但非限制性的示例。耦合层将输入方向向量dv 410变换成输出方向向量dv”475。
91.如该示例中所示,输入方向向量dv可以表示超球面上的点,例如,d-1维超球面上的点可以表示为具有特定范数(例如,范数1)的d维向量。输出方向向量dv”可以是相同超球面上的点,例如具有相同范数的d维向量。贯穿该图的描述,假设方向向量由笛卡尔坐标集合表示,尽管用于存储方向向量的实际表示可以例如在开始、结束和/或贯穿耦合层不同,但方向向量可以表示为角度集合,或者表示为向量和一个或多个角度的组合等等。
92.典型地,输入方向向量dv和输出方向向量dv”都具有相同的维度。例如,输入和/或输出方向向量的维度可以是:3,用于表示3维空间中的方向; 4,用于表示3维空间中的取向,对应于单位四元数,等等。例如,输入和/或输出方向向量也可以是一个或多个2维方向向量和/或一个或多个3维方向向量和/或一个或多个4维方向向量的级联。输入和/或输出
方向向量的总体维度例如可以是至少10或至少20。
93.如图中表明的,耦合层可以涉及有条件和/或无条件旋转,以及应用于输入方向向量的圆变换。在该示例中,无条件旋转urot 420和有条件旋转crot 440随后被应用于输入方向向量dv,之后应用圆变换ctrans 460,以达到输出方向向量dv
ꢀ”
。然而,也可能跳过两个旋转之一,或者以除图中所示次序之外的任何其他次序执行无条件旋转urot、有条件旋转crot和圆变换ctrans。
94.无条件旋转urot可以根据生成模型的参数旋转方向向量dv,以达到更新的方向向量dv’430。无条件旋转通常保留方向向量dv的维数。无条件旋转可以借助于数量d次householder反射来实现。对坐标的householder反射是旋转算子的高效可实现的、可训练的和可逆的表示。无条件旋转urot可以被视为数据维度的任意排列。
95.例如,在数学上,householder反射可以标示为,其中参数集是学习的,但是固定的。无条件旋转urot可以实现为,其中变换定义为:。
96.例如,householder反射的数量d可以等于方向向量dv的维度。这具有如下优点:方向向量dv的任何旋转都可以这样表示。然而,也可能使用较少的householder反射来减少模型的参数数量。
97.基于householder反射的旋转允许以高效且数值稳定的方式评估无条件旋转的逆。因为r是正交矩阵,所以它的逆r可以通过转置(例如)来获得,并且该变换不引起体积改变,因为。
98.有条件旋转crot可以基于方向向量dv’的坐标的第二集合ssc 436、例如剩余坐标或其子集,旋转方向向量dv’的坐标的子集fsc 435。因此,对于坐标的第一子集,有条件旋转crot可以结果产生具有更新坐标fsc’450的方向向量,而剩余坐标、例如坐标的第二集合ssc保持不变。
99.有条件旋转crot的参数可以包括生成模型的模型参数和/或通过将经训练参数模型(例如神经网络或类似物)应用于坐标的第二集合ssc而确定的参数。
100.类似于无条件旋转urot,也可以借助于多次householder反射来实现有条件旋转crot。例如,householder反射可以具有相应的经训练参数模型,或者可以共享公共参数模型。这里的householder反射的数量优选地与第一子集fsc的参数数量相同,但是为了节省参数可以更少。标示参数模型,有条件旋转crot可以在数学上定义为:。
101.该图进一步示出了应用于方向向量的相应笛卡尔坐标对(也称为“圆切片”)的圆变换ctrans。例如,圆变换ctrans可以应用于一个、至少两个、至少三个或至少五个相应的圆切片。
102.该图示出了坐标对pc1 455直到pcd 456,其被变换成相应坐标对pc1
’ꢀ
470直到pcd
’ꢀ
471。如该图中所示,坐标对优选地是坐标子集fsc’的坐标,该坐标子集fsc’的坐标被
有条件旋转crot变换,被划分成对。因此,在这种情况下,坐标的第一集合fsc被选择为包含偶数数量的坐标。然而,这不是必须的;还可能的是取坐标的第一集合fsc’和/或未被有条件旋转crot变换的坐标(如果使用的话)的子集。通常还存在没有应用圆变换并且因此保持不变的坐标集合;在这种情况下,这是坐标的第二集合ssc,其也没有被有条件旋转crot变换。坐标pci’的变换对和未改变的坐标ssc一起可以形成输出方向向量dv”。
103.例如,在数学上,给定方向向量坐标的子集fsc’,可以观察到该子集位于具有如下半径的圆上。
104.在将坐标分割成第一子集 fsc’和第二子集ssc 之后,其中d是偶数,第一子集fsc’可以进一步分割成两个坐标的独立对pci,例如,可以应用以下函数:其中标示具有半径r的圆。
105.圆变换ctrans可以通过将具有某一半径的圆上的点变换到相同圆(例如具有相同半径)上的另外点,来作用于表示该点的坐标对pci。应用于坐标对pci的变换可以基于生成模型的参数和/或通过将可训练参数确定模型应用于另外笛卡尔坐标来定义。参数和/或参数确定模型对于相应的坐标对通常是不同的,尽管参数可以在它们之间共享。如图中所示,使用的另外坐标可以是未被圆变换ctrans变换的参数ssc(的子集)。这具有如下优点:不同坐标对pci被变换的次序无关紧要,例如,从而允许并行化,并且当对圆变换取逆时,参数可以基于这些相同的未受影响的参数ssc。
106.应用于坐标对pci的变换一般而言可以是圆上的任何微分同胚映射,这本身是已知的。此类微分同胚映射的示例从rezende等人的“normalizing flows on tori and spheres”、特别是第2.1节中(通过引用并入本文)已知。
107.特别地,可以通过将坐标对pci映射到角度、将圆微分同胚应用到该角度以及将结果得到的角度映射回以获得变换的坐标对pci’来应用针对坐标对pci的变换。例如,可以使用圆神经样条流或莫比乌斯变换,如例如从rezende等人所知。依据角度执行变换可以有助于确保函数是单调增加的,并且因此是微分同胚的。此外,应用于圆的微分同胚可以被定义为其他微分同胚的组合,例如,通过函数组合或通过取例如具有可训练参数的凸组合。通过取定义在角度上的函数,可以确保凸组合仍然是微分同胚。
108.例如,数学上,坐标对的变换可以实现为:其中
是嵌入在中的的笛卡尔坐标与其参数化坐标之间的映射的双射,例如并且。
109.例如,可以是神经样条流或莫比乌斯变换,或另一个圆微分同胚。
110.可以注意到,例如,对于计算对数似然性,由参数化角度和笛卡尔坐标之间的切换引起的体积改变仅取决于圆切片的半径,其中。因此,从角度以及到角度的映射可以彼此抵消,因为半径在流变换下不改变。由于流所致的体积改变本身是已知的,并且是可有效计算的。有趣的是,因为圆切片可以独立变换,所以总体变换的雅可比可以是三角形的,并且因此可以以高效且数值稳定的方式计算。
111.有趣的是,使用本文提出的耦合层,既可能从生成方向上的输入方向向量dv高效地计算输出方向向量dv”;又可能在逆的推断方向上从输出方向向量dv”高效地计算输入方向向量dv。特别地,计算逆可以与根据生成模型生成的方向数据的似然性(例如对数似然性)的计算相组合。例如,计算该似然性可以如本文所述涉及计算耦合层的雅可比行列式。
112.特别地,在图中所示的示例中,输出方向向量dv”可以被划分成笛卡尔坐标对pci’和坐标的第二集合ssc。可以通过应用圆变换ctrans的逆来变换相应的笛卡尔坐标对pci’,以达到笛卡尔坐标对pci,而坐标的第二集合ssc可以保持不变。有趣的是,圆变换ctrans的参数可以基于模型参数和/或参数的第二集合ssc,例如,它们可以从至圆变换的输入(在生成方向上)或从具有相同结果的其输出(在推断方向上)计算。此外,相应对pci’通过逆被变换的次序可能无关紧要,并且因此逆可以并行化。
113.给定坐标对pci和坐标的第二集合ssc,可以应用有条件旋转crot的逆。可以基于模型参数和/或不受有条件旋转crot影响的坐标的第二集合来确定有条件旋转的参数,从而可以以相同的方式在生成和推断方向上再次确定参数。基于参数,可以对组合的坐标对fsc’应用逆旋转,以达到坐标的第一集合fsc。然后,无条件旋转urot的逆可以应用于坐标的第一集合fsc和坐标的第二集合ssc的组合,以达到输入方向向量dv。
114.如本领域技术人员所理解的,该逆可以适用于图中所示的耦合层的变型,其中,例如,变换urot、crot、ctrans的次序不同;旋转urot、crot中的一个被跳过;或者未受影响的坐标集合在有条件旋转crot和圆变换ctrans之间不同。
115.下面,给出了算法的详细伪代码示例,该算法可以用于在生成方向上评估该图中所示的耦合层。
116.图5a示出了将耦合层应用于两个四维方向向量的详细示例,所述四维方向向量例如表示物理对象的取向。
117.在该示例中,应用耦合层的输入方向向量是8维输入方向向量,其是两个四维方向向量dv1 510和dv2 511的级联。在该示例中,第一方向向量dv1被变换,而第二方向向量dv2保持不变,但是可以用于参数化第一方向向量dv1的变换。
118.在该耦合层中,有条件旋转crot 540可以旋转第一方向向量dv1的笛卡尔坐标,从而导致更新的第一方向向量dv1’。有条件旋转crot可以如参考图4所述,例如,有条件旋转可以基于生成模型的参数和/或基于第二方向向量dv2被参数化。
119.结果得到的更新方向向量dv1’然后可以被划分成两个笛卡尔坐标各自的两个圆切片pc1 555、pc2 556。圆变换ctrans 560可以应用于相应的圆切片,以获得相应的输出点pc1’570、pc2’571,其具有与输入圆切片pci相同的半径。圆变换ctrans可以如参考图4所述,并且可以特别地由生成模型的参数和/或没有应用有条件旋转或圆变换的第二方向向量dv2来参数化。
120.如图中所示,输出点pc1’、pc2’可以一起形成四维方向向量dv1”,例如位于与原始第一方向向量dv1相同的超球面上的方向向量。更新的第一方向向量dv1”和原始的第二方向向量dv2可以一起形成耦合层的8维输出方向向量,例如位于与由dv1和dv2形成的输入方向向量相同的超球面上。
121.有趣的是,在该示例中,不仅输入方向向量可以以保范的方式被保持,而且第一和第二方向向量dv1、dv2也可以保持它们的范数。如果它们表示不同的方向量,这是有利的,尽管在此类情况下,对于耦合层而言也不是绝对必须保证保持单独方向向量的范数,例如,也在没有此类保证的情况下,一致性检查可以给出有意义的结果。
122.如本领域技术人员所理解的,该示例可以被推广到例如使用多个4维方向向量来参数化第一方向向量dv1的变换和/或第一和第二方向向量dvi具有其他维度的情况。
123.图5b示出了应用耦合层的详细示例。在该示例中,耦合层的输入方向向量是四维向量dv,例如,表示物理对象的取向。耦合层可以是保范的,例如,4维超球面上的输入方向向量可以被映射到相同4维超球面上的输出方向向量。
124.可以将无条件旋转urot 520应用于输入方向向量dv,以获得更新的方向向量dv
’ꢀ
531。例如,无条件旋转urot可以如参考图4所述。
125.更新的方向向量dv’可以被划分成坐标的第一集合fsc 535——其是表示圆切片的坐标对,和坐标的第二集合ssc 536——例如是剩余的两个坐标。坐标的第一集合fsc然后可以通过有条件旋转crot变换541来被变换,从而导致更新的第一圆切片fsc
’ꢀ
550。有条件旋转可以如图4中那样,并且可以由坐标的第二集合ssc参数化。
126.更新的第一圆切片fsc’然后可以通过圆变换ctrans 561进行变换,以获得圆切片fsc”。圆变换ctrans可以如图4中那样,并且可以由坐标的第二集合ssc参数化。由圆变换ctrans确定的圆切片和坐标的第二集合ssc可以一起形成耦合层的输出方向向量dv”。
127.如本领域技术人员所理解的,该示例的许多变型是可能的,例如,可以跳过无条件旋转urot或有条件旋转crot,可以以不同的次序执行操作urot、crot、ctrans等。
128.图6示出了确定方向数据实例与数据集的一致性的计算机实现的方法600的框图。例如,方向数据实例可以是用于机器可学习控制模型的模型输入,基于该模型输入,控制模型可以推断用于控制与环境交互的计算机控制系统的控制数据。在这种情况下,与机器可学习控制模型的训练数据集的一致性可以用作控制数据可靠性的估计。方法600可以对应
于图1的系统100或图2的系统200的操作。然而,这不是限制,因为方法600也可以使用另一系统、装置或设备来执行。
129.方法600可以在题为“访问生成模型”的操作中包括访问610表示生成模型的模型数据。生成模型可以例如先前或作为方法600的一部分被训练,以生成表示数据集的合成方向数据。
130.方法600可以在题为“获得方向数据”的操作中包括获得620方向数据实例。方向数据可以包括至少一个方向向量。方向向量可以与物理对象相关联,所述物理对象例如是计算机控制系统的部件或其环境中的对象。方向向量可以例如先前或作为方法600的一部分从表示物理对象的传感器数据提取。
131.方法600可以在题为“应用逆生成模型”的操作中包括将生成模型的逆应用630到方向数据实例,以确定根据生成模型生成的方向数据实例的似然性。方法600可以在题为“确定一致性值”的操作中进一步包括基于所确定的似然性来确定640一致性值。一致性值可以指示方向数据与数据集的一致性,例如,一致性值可以是由机器可学习模型推断的控制数据的可靠性度量。生成模型可以包括将输入方向向量变换成输出方向向量的耦合层。
132.耦合层可以包括圆变换以及无条件旋转和有条件旋转中的一个或多个。操作630可以包括应用耦合层的逆。
133.为了应用耦合层的逆,方法600可以在题为“应用逆圆变换”的操作中包括应用636圆变换的逆。所述逆可以应用于表示圆上的点的笛卡尔坐标对。所述逆可以将所述点变换到圆上的另外点。可以基于生成模型的参数和/或另外的笛卡尔坐标来定义圆变换。
134.为了应用耦合层的逆,方法600可以在题为“应用逆无条件旋转”的操作中进一步包括应用632无条件旋转的逆。代替于操作632或除了操作632之外,方法600可以在题为“应用逆有条件旋转”的操作中包括应用634有条件旋转的逆。无条件旋转的逆可以根据生成模型的参数旋转方向向量。有条件旋转的逆可以基于笛卡尔坐标的第二集合旋转笛卡尔坐标的第一集合。
135.图7示出了根据生成模型生成合成方向数据实例的计算机实现的方法700的框图。合成方向数据实例可以包括与物理对象相关联的至少一个方向向量。方法700可以对应于图1的系统100的操作。然而,这不是限制,因为方法700也可以使用另一系统、装置或设备来执行。
136.方法700可以在题为“访问生成模型”的操作中包括访问710表示生成模型的模型数据。生成模型可以例如先前或作为方法700的一部分被训练,以生成表示训练数据集的方向数据实例。
137.方法700可以在题为“应用生成模型”的操作中包括应用730生成模型。操作730可以包括将耦合层应用于输入方向向量。方法700可以在题为“输出生成的数据”的操作中进一步包括输出740生成的合成方向数据实例。
138.生成模型可以包括将输入方向向量变换成输出方向向量的耦合层。耦合层可以包括圆变换以及无条件旋转和有条件旋转中的一个或多个。
139.为了应用耦合层,方法700可以在题为“应用无条件旋转”的操作中包括应用732无条件旋转。代替于操作732或除了操作732之外,方法700可以在题为“应用有条件旋转”的操作中包括应用734有条件旋转。无条件旋转可以根据生成模型的参数旋转方向向量。有条件
旋转可以基于笛卡尔坐标的第二集合旋转笛卡尔坐标的第一集合。
140.为了应用耦合层,方法700可以在题为“应用圆变换”的操作中进一步包括将圆变换应用736到表示圆上的点的笛卡尔坐标对。所述变换可以将所述点变换到圆上的另外点。可以基于生成模型的参数和/或另外的笛卡尔坐标来定义圆变换。
141.将领会,一般而言,图6的方法600和图7的方法700的操作可以以任何合适的次序(例如,连续、同时或其组合)来组合和执行,其在适用的情况下服从例如由输入/输出关系所必需的特定次序。也可以组合一些或所有方法,例如,使用生成模型的方法700可以随后应用于根据方法600训练的该经训练模型,或者方法600可以首先用于在训练数据集上训练生成模型,并且随后用于确定不是来自训练数据集的所获得方向数据实例的一致性。
142.(一个或多个)方法可以在计算机上实现为计算机实现的方法、专用硬件或二者的组合。还如图8中图示的,用于计算机的指令(例如,可执行代码)可以例如以一系列机器可读物理标志810的形式和/或作为一系列具有不同的电(例如磁性)或光学属性或值的元素而存储在计算机可读介质800上。可执行代码可以以暂时性或非暂时性的方式存储。计算机可读介质的示例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。图8示出了光盘800。替代地,计算机可读介质800可以包括表示如本文所述的生成模型的暂时性或非暂时性模型数据810,例如包括一个或多个耦合层的参数。
143.示例、实施例或可选特征——无论是否被指示为非限制性的——都不应被理解为限制所要求保护的本发明。
144.应当注意到,以上提及的实施例说明而不是限制本发明,并且本领域技术人员将能够设计许多替代的实施例。
145.在权利要求书中,被置于括号之间的任何参考标记不应被解释为限制权利要求。对动词“包括”及其词形变化的使用不排除除了在权利要求中所陈述的那些元素或步骤之外的元素或步骤的存在。在元素之前的冠词“一”或“一个”不排除多个此类元素的存在。诸如“各项中的至少一个”之类的表述当在元素的列表或组之前时表示从该列表或组中选择全部元素或元素的任何子集。例如,表述“a、b和c中的至少一个”应当被理解为包括仅a、仅b、仅c、a和b两者、a和c两者、b和c两者或者全部a、b和c。本发明可以借助于包括若干不同元件的硬件、以及借助于合适编程的计算机来实现。在列举了若干构件的设备权利要求中,这些构件中的若干个可以通过硬件的同一个项目来体现。在相互不同的从属权利要求中记载的某些措施的仅有事实不指示这些措施的组合不能被有利地使用。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1