学习包括高斯过程的概率模型的参数的制作方法

文档序号:22472444发布日期:2020-10-09 22:06阅读:154来源:国知局
学习包括高斯过程的概率模型的参数的制作方法

本发明涉及用于学习(例如具有复杂底层物理模型的技术系统的)包括高斯过程的概率模型的参数集合的系统,以及用于将概率模型应用于输入的系统。本发明还涉及对应于所述系统的计算机实现的方法和计算机可读介质,以及涉及包括所述参数集合的计算机可读介质。



背景技术:

许多技术系统具有对于显式地建模而言太复杂的底层物理模型。例如,预测特定发动机排放值的模型可能以复杂的非线性方式依赖于其输入参数(诸如速度和负荷),或者直接依赖于发动机控制单元(ecu)的输入参数。为了对在这类物理模型中出现的复杂的非线性依赖性进行建模,高斯过程(gp)可以用作概率建模中的构建块。对于安全关键的应用而言重要的是,高斯过程不仅可以用于预测点估计,而且还可以用于提供相关联的不确定性估计。已知由单个gp组成的模型被很好地校准,例如,它们的不确定性估计是合理的。更复杂的系统可以使用所谓的深度高斯过程来建模,所述深度高斯过程包括gp的层次组成。

在h.salimbeni和m.deisenroth的论文“doublystochasticvariationalinferencefordeepgaussianprocesses”神经信息处理系统的进展,2017(通过引用并入本文并在https://arxiv.org/abs/1705.08933可获得)中,给出了一种用于基于双重随机变分推断来训练深度gp的算法。基于均值场假设——即潜在过程是后验独立的假设,使用诱导点框架独立地学习每个gp的统计量。



技术实现要素:

发明人认识到,用于训练和使用具有高斯过程的概率模型的现有技术具有若干缺点。首先,用于处理这类概率模型的现有技术在计算上是昂贵的。例如,需要相对大量的参数来表示高斯过程,这意味着:需要大量的迭代来使用迭代技术训练这类模型,并且评估模型(例如,计算其边际似然性的下界和预测分布)是昂贵的。与此同时,如发明人所认识到的,假设后验独立性意味着忽略潜在高斯过程之间的关联。这对于预测不确定性是有害的,因为它在许多情况下导致对潜在后验和预测分布的不确定性的低估。这是有问题的,尤其是对于安全关键的应用。

存在对于改进基于高斯过程的概率模型以便解决这些和其他问题的需要。

根据本发明的第一方面,如权利要求1所限定的,提出了一种用于学习概率模型的参数集合的系统。根据本发明的另外的方面,如权利要求10所限定的,提出了一种用于将概率模型应用于输入的系统。根据本发明的另外的方面,如权利要求12所限定的,提出了一种学习概率模型的参数集合的方法。根据本发明的另外的方面,如权利要求13所限定的,提出了一种将概率模型应用于输入的方法。根据本发明的另外的方面,如权利要求14和15所限定的,提供了一种计算机可读介质。

借助于这些手段,发明人能够开发出一族具有各种优点的概率模型。

通过使用多个高斯过程允许为各种类型的函数提供相对准确的模型,例如,具有复杂的非线性依赖性的系统(诸如技术系统或物理现象的模型)。通过使用克罗内克积来限定针对高斯过程集合的多元正态概率分布的协方差矩阵,可以特别是通过克罗内克积的第一矩阵而在模型中捕获高斯过程之间的关联。由此,各种多维函数可以被更准确地建模,并且特别地,可以将归因于在高斯过程之间后验出现的关联所致的不确定性考虑在内。实际上,发明人已经发现假设在潜在过程之间的后验独立性可能导致低估的预测不确定性,尤其是如果一些潜在过程执行内插而其他潜在过程执行外推的话。在近似后验中使用克罗内克积允许对高斯过程之间的依赖性进行建模,并且如果假设了独立性则有助于降低不准确性发生。

此外,各种手段允许更高效地学习概率模型的参数集合和/或将概率模型应用于输入。由于克罗内克结构,利用相对少的参数来获得相对丰富的模型。令人惊讶的是,参数的数量不仅在与将具有多元正态分布的完整协方差矩阵的模型相比时减少,而且甚至在与针对相应高斯过程具有独立协方差矩阵的模型相比时也减少,所述相应高斯过程没有由共同的克罗内克结构限定。

通过使用比针对独立协方差矩阵或一个完整协方差矩阵更少的参数,实现了存储方面的改进效率以及降低的过拟合风险。此外,克罗内克结构导致更高效的优化,首先,这是因为更小的迭代数量可足以达到至最佳参数集合的收敛。第二,当从多元正态概率分布和由其推导的各种概率分布进行采样时,利用第一和第二矩阵而不是协方差矩阵对其进行参数化使得各种计算更加高效。例如,计算边际似然性的下界和/或从概率模型的近似预测分布中采样可以更加高效。由于多元正态概率分布典型地用于优化参数集合和对概率模型的输出进行采样两者,因此使用协方差矩阵的克罗内克分解可以改进这两种情况下的性能。

本发明的以上方面可以涉及一种概率模型,其有时也称为贝叶斯模型。一般地,给定输入,评估概率模型允许对对应于输入的输出进行采样(例如概率地采样),和/或为对应于输入的输出提供概率分布。输入典型地是包括一个或多个值的向量。在一些实施例中,输出是值;在其他实施例中,输出包括多个值。概率模型典型地包括一个或多个随机变量,例如潜在变量和/或输出变量。潜在变量可以由概率分布或由随机过程来限定。它们可以基于概率模型的当前输入、其他随机变量的采样值和/或概率模型的参数(例如,超参数)中的一个或多个而被实例化。随机过程的典型示例是高斯过程。下面提供了概率模型的各种示例。

概率模型典型地是判别模型,例如,用于基于一个或多个输入变量预测一个或多个输出变量的模型。换言之,概率模型可以用作对函数的近似。在各种实施例中,该函数捕获技术系统的行为,所述技术系统例如计算机控制的机器,诸如机器人、车辆、家用电器、电动工具、制造机器、个人助理或访问控制系统。在实施例中,概率模型用于基于(例如,从测量中获得的或由控制单元设置的)至少一个或多个物理输入量,来预测一个或多个物理输出量。例如,测量可以从各种传感器(例如图像或视频相机、雷达、激光雷达或超声传感器中的一个或多个)而获得。例如,预测可以用于控制其性能被测量的技术系统。令人关注的是,概率模型可以允许获得对这类函数输出的近似,即使当底层模型(例如技术系统行为的物理模型)是未知的和/或对于显式地建模而言太复杂时亦如此。

在实施例中,概率模型用于基于速度和负荷或对应ecu参数来预测发动机的排放值。在其他实施例中,概率模型可以是逆动力学模型,例如,根据包括位置、速度和加速度中的一个或多个的输入来计算扭矩的模型。例如,这类逆动力学模型可以计算机器人的扭矩。在又其他实施例中,概率模型可以是根据医学数据(例如,生理测量和/或来自患者的患者记录的数据)计算针对患者的疾病风险的模型。

各种实施例涉及包括多个高斯过程或由多个高斯过程构成的概率模型。在机器学习领域中,高斯过程已知为一种工具,用于针对输入(典型为包括多个值(例如实数)的向量)提供输出预测(典型为实数)。预测不仅可以包括针对输出的值,而且还可以包括不确定性估计,如下面更详细讨论的。在概念上,高斯过程可以基于针对与当前输入相似的其他输入的已知输出值来针对当前输入提供输出值的估计,和/或基于数个相似的其他输入及其相似性来进行其不确定性估计。高斯过程典型地由先验均值函数和协方差函数(也称为内核)指定。在实施例中,先验均值函数是零函数。在实施例中,所述内核是非退化的。均值函数和/或内核可以由超参数集合来限定。高斯过程可能特别适合作为用于(例如在技术系统或物理现象的模型中)对复杂的非线性依赖性进行建模的构建块。

在各种实施例中,概率模型被组织在一个或多个层中。例如,层的数量可以至多或至少为2个,至多或至少为5个,或者至多或至少为10个。一个或多个层中的一层包括多个高斯过程,例如,至多或至少2个,至多或至少10个,或者至多或至少20个。换言之,多个高斯过程具有共同的或至少部分重叠的输入集合。例如,输入可以包括一个或多个其他高斯过程的输出和/或概率模型的输入。这类模型有时被称为多gp模型。在一些实施例中,概率模型可以由包括多个高斯过程的单个层组成。这类高斯过程可以通过加权总和合并在一起;换言之,如果输出是一维的,则概率模型可以是gp模型的总和,或者如果输出是向量,则概率模型可以是多输出高斯过程。在其他实施例中,概率模型包括多个层。例如,每个层可以包括一个或多个高斯过程,例如,概率模型可以是所谓的深度高斯过程。典型地,概率模型的输出是有噪声的,例如,诸如高斯噪声之类的噪声被添加到高斯过程的输出或其他随机变量以获得概率模型的相应输出。

概率模型还可以在与高斯过程相同的层处和/或在其他层处包括并不是由该高斯过程生成的随机变量。例如,概率模型可以包括提供例如拉普拉斯噪声、指数噪声等非高斯噪声的随机变量。概率模型还可以包括(例如基于伯努利或泊松分布的)离散随机变量。作为另一个示例,概率模型可以包括表示神经网络节点的潜在变量,例如潜在变量,其中h是激活函数,b是权重(例如在高斯先验的情况下),并且x是输入。各种其他非高斯过程也可以容易地并入到概率模型中。一般地,给定输入,对应于输入的输出的样本可以通过基于概率模型的随机数的相应输入对所述随机数的值进行采样来获得,和/或对应于输入的输出的概率分布可以通过在概率模型的潜在变量之上进行边际化来获得。

典型地,例如层的数量、每个层处随机过程的数量/类型、高斯过程的内核函数的类型等之类的概率模型结构是预限定的。然而,概率模型的这些结构方面中的一个或多个也可以在训练期间、例如通过使用在本领域中已知的各种元学习技术而自动确定和/或被存储为供应用的概率模型的参数。

本发明的以上方面涉及概率模型的参数集合。例如,如果根据概率分布将噪声添加到概率模型的输出,则参数可以包括描述噪声模型的一个或多个噪声参数,例如针对加性高斯噪声的方差或标准偏差。参数还可以包括各种超参数,例如概率模型的特定概率分布/随机过程的超参数和/或全局超参数(例如学习速率、节点或层的数量等)。

参数集合可以基于训练数据集来学习,例如,该学习可以是监督式的,并且在将经训练的模型应用于给定输入时被使用。换言之,参数集合可以通过相对于例如包括多个训练输入和对应训练输出的训练数据集而优化参数集合来确定。典型地,训练输入是向量,例如实值向量;训练输出可以是例如实值的数字,但也可以是向量。例如,可以基于在给定训练输入的情况下再现训练输出和/或尽可能从训练数据集归纳到新测试点的能力,来在训练中选择参数集合。当应用模型时,典型地不再需要训练数据集;然而,其中概率模型的部分涉及惰性学习的实施例是可能的,其中当应用模型时,使用训练数据集的至少一部分。可以使用例如随机梯度下降、模拟退火或各种基于蒙特卡洛(montecarlo)的方法之类的各种技术来优化参数集合。如机器学习中常见的,获得精确的最优值通常是困难的或不可能的,例如,优化可以是启发式的和/或所获得的参数的所获得集合可以对应于局部最优值。

在各种实施例中,包括在训练输入和输出中的至少一些值是作为传感器测量而获得的。在使用中,该模型然后也可以应用于包括传感器测量的输入。

具体地,参数集合可以包括其输出被近似的多个高斯过程的一个或多个参数。在各种实施例中,参数集合包括针对多个高斯过程的多个诱导位置的集合。换言之,多个高斯过程具有共同的诱导位置集合。诱导位置可以是这样的点,在该点处可以评估多个高斯过程,例如等于多个高斯过程的数个输入的值的向量,所述多个高斯过程例如在深度高斯过程模型的情况下在先前层处的数个高斯过程。诱导位置有时也称为诱导点、诱导点的位置或伪输入。在概念上,优化参数集合可以包括选择允许在给定训练输入的情况下最佳地再现训练输出的诱导点集合,换言之,选择代表高斯过程的输入(例如先前层的训练输入或输出)的诱导点集合。诱导点一般不对应于训练输入或者从训练输入推导,尽管在一些实施例中,诱导点可以对应于训练输入的子集或者使用本领域中已知的技术而从训练输入的子集推导。

令人关注的是,参数集合还可以包括对多个高斯过程在多个诱导位置处的输出进行近似的概率分布的参数,例如,该概率分布可以是这类输出之上的近似后验分布。输出有时被称为伪输出。当将概率模型应用于输入时,多个高斯过程在诱导位置处的近似后验和/或所近似输出可以用于针对输入确定多个高斯过程的输出。针对多个高斯过程在多个诱导位置处的输出的概率分布可以包括多元正态分布。换言之,多元正态分布的样本可以表示针对每个诱导位置的每个高斯过程的输出。对多元正态分布的使用可以允许捕获多个高斯过程之间的关联,例如,一般不假设多个高斯过程彼此后验独立——例如,当每个高斯过程由单独的概率分布建模时将是这种情况。多元正态分布的参数典型地进行参数化,包括其协方差矩阵;参数也可以对其均值进行参数化。

针对高斯过程的输出的概率分布的一般协方差矩阵可能相对是大的;然而,令人关注的是,可以由指示多个高斯过程之间相似性的第一矩阵和指示多个诱导位置之间相似性的第二矩阵的克罗内克积来限定协方差矩阵。换言之,参数集合可以包括第一和/或第二矩阵的条目,或者以其他方式限定第一和/或第二矩阵,而不是直接包括协方差矩阵的所有条目。典型地,第一矩阵和第二矩阵是正定实矩阵。第一矩阵可以是具有等于高斯过程数量的大小的方形,而第二矩阵可以是具有等于诱导位置数量的大小的方形。

除了诱导位置和概率分布参数之外,参数集合还可以包括多个高斯过程的先验均值函数和/或内核的超参数集合。典型地,多个高斯过程中的每一个由相同的超参数集合限定,尽管这不是严格必要的。如以上讨论的,在各种实施例中,概率模型包括高斯过程的多个集合,例如,概率模型可以包括在第一层处的多个高斯过程的第一集合以及在不同于第一层的第二层处的多个高斯过程的第二集合。替代地或附加地,概率模型可以包括在第一层处的多个高斯过程的附加集合。然而,这里讨论的多个高斯过程的集合被包括在相同层中。典型地,不同的高斯过程集合由不同的参数限定,例如,每个高斯过程集合可以具有单独的内核超参数、单独的诱导位置集合和/或在相应诱导位置处近似其输出的概率分布的单独参数,例如,多个高斯过程的每个集合可以具有单独的第一和第二矩阵。然而,还可以共享一些参数、特别是内核超参数。在高斯参数的多个集合之间共享参数表示最小化参数数量与改进概率模型的表达性之间的折衷,所述最小化参数数量可以例如通过减少所需的迭代数量而改进优化。

可选地,优化参数集合包括相对于训练数据集最大化证据下界。例如,可以通过最大化观察到的训练输出在以训练输入为条件的概率模型的输出分布下的似然性,来优化证据下界。证据下界还可以包括正则化项,所述正则化项惩罚在输出之上离其对应先验太远的近似后验,例如,以便防止归因于太高的模型复杂度而过拟合,如下面进一步讨论的。证据下界可以是近似的证据下界,例如,使用蒙特卡洛采样来近似的。通过最大化证据下界,可以获得参数集合,所述参数集合最佳地设法从训练数据集再现和/或归纳并且因此最佳地近似待建模的函数。

可选地,优化参数集合包括在给定训练输入的情况下对概率模型的输出进行采样,并计算在噪声分布下从采样输出获得对应于训练输入的训练输出的似然性。例如,概率模型可以对有噪声输出(例如,根据噪声分布向其添加噪声的输出)进行建模。从采样输出获得训练输出的似然性可以指示概率模型关于训练输入的准确性,并且可以被用在例如计算证据下界或要优化的另一个目标函数中。通过如上所述的采样,例如对概率模型的多个高斯过程使用克罗内克结构,可以相对高效地计算该似然性和/或避免对高斯过程之间的关联的忽略。

可选地,对概率模型针对训练输入的输出进行采样包括:通过从联合概率分布中边际化出对多个高斯过程在多个诱导位置处的输出进行近似的概率分布,来确定多个高斯过程针对训练输入的输出的样本概率分布;以及根据所述样本概率分布对多个高斯过程针对训练输入的输出进行采样。采样典型地逐层执行,例如,针对多个高斯过程的输出的样本概率分布可以基于概率模型的先前层的采样输出来确定。例如,联合概率可以至少包括多个诱导点处的输出和训练输入处的输出。换言之,为了对输出进行采样,在诱导点之上执行边际化。例如,不需要对诱导点的输出进行采样,这可以改进采样过程的效率,并且可以导致更准确的模型,因为避免了归因于对诱导输出进行采样所致的不准确性。

可选地,最大化证据下界包括对包括证据下界的目标函数执行随机梯度下降。在机器学习领域中,随机梯度下降本身已知为通用且高效的优化方法。令人关注的是,如以上所限定的概率模型非常服从于随机梯度下降。例如,由概率模型产生的目标函数(例如证据下界)典型地在训练输入之间分解,并且是可微的。在实施例中,可以自适应地计算来自参数集合的不同参数的学习速率,以改进学习,例如,随机梯度下降可以包括自适应矩估计。随机梯度下降可能对大的数据集特别有帮助;对于较小的数据集,也可以使用非随机优化方法。

可选地,确定参数集合包括优化对多个高斯过程在多个诱导位置处的输出进行近似的概率分布与多个高斯过程在多个诱导位置处的输出的先验概率分布之间的库尔巴克-莱布勒(kullback-leibler)散度。例如,库尔巴克-莱布勒散度可能出现在要被最大化的证据下界的计算中,但是也可以用在例如要被最小化或最大化的各种其他目标函数中。在计算库尔巴克-莱布勒散度中,有效使用可以由近似后验的协方差矩阵的克罗内克结构做出,如别处详细描述的那样;可以在不显式地存储和/或计算由克罗内克积限定的协方差矩阵的情况下计算库尔巴克-莱布勒散度。因此,使用克罗内克结构使得优化更加高效。

可选地,第一矩阵是对角矩阵。通过将第一矩阵的非对角元素取为零,可以进一步减少参数的数量,从而导致甚至更高效的学习和使用,以及甚至更少的存储。尤其是在其中至少可以假设多个高斯过程的近似独立性或者从未进入内插/外推场景的设置中,这导致例如与对于多个高斯过程中的每一个具有带有单独协方差矩阵的单独概率分布相比,更资源高效但实际上仍然足够具表达性的模型。另一方面,在其中需要捕获第一矩阵中不同高斯过程之间的相似性的设置中,第一矩阵可以具有允许捕获这类相似性的至少一个非零对角元素,从而导致更具表达性的模型。

可选地,多个高斯过程中的一高斯过程具有平方指数内核。特别地,如别处所讨论的,多个高斯过程中的每个高斯过程可以具有例如由相同超参数集合所限定的平方指数内核。平方指数内核具有各种有利的属性,例如,它是通用内核,具有良好的可导性属性等。在实施例中,平方指数内核具有自动相关性确定。除了平方指数内核之外,还可以使用各种其他类型的非退化内核,例如使得协方差函数具有满秩的内核,诸如有理二次内核或各种类型的周期内核。一般地,这类内核不能写成其第一和第二变元(argument)的函数积的有限总和。如所讨论的,概率模型中的多个高斯过程的不同集合可以具有不同的内核。例如,多个高斯过程的每个集合可以具有可能由单独的超参数集合限定的平方指数内核,或者一些高斯过程集合可以具有平方指数内核,而其他高斯过程具有其他内核。在实施例中,概率模型的每个高斯过程具有非退化内核。

可选地,概率模型的参数集合包括一个或多个内核超参数,多个高斯过程中的每个高斯过程具有由所述一个或多个内核超参数限定的内核。换言之,多个高斯过程中的每个高斯过程可以由相同超参数集合限定。这类共同的超参数集合可以有助于确保克罗内克近似的准确性。具有共同的超参数可以通过限制参数的总数量和/或降低所得计算的计算复杂度来进一步改进性能。

可选地,当将概率模型应用于输入时,可以确定概率模型关于输入的输出的多个样本,由此又可以确定不确定性估计。不确定性估计例如可以是诸如方差或标准偏差之类的统计参数、诸如样本直方图之类的视觉不确定性估计等。如以上所讨论的,由于概率模型可以捕获多个高斯过程之间的关联,因此获得特别准确的不确定性估计;此外,通过从多个样本获得不确定性估计(如也在别处所讨论的),可以利用基于协方差矩阵的克罗内克结构的特别高效的采样来改进效率。

本领域技术人员将领会,可以以任何被认为有用的方式来组合本发明的以上提及的实施例、实现方式和/或可选方面中的两个或更多个。

可以由本领域技术人员在本描述的基础上来施行任何计算机实现的方法和/或任何计算机可读介质的修改和变型,所述修改和变型对应于对应系统的所描述的修改和变型。

附图说明

本发明的这些和其他方面将根据参考以下描述中通过举例描述的实施例并参考附图而清楚并得到进一步阐述,附图中

图1示出了用于通过相对于训练数据集而优化参数来学习概率模型的参数集合的系统;

图2示出了用于将概率模型应用于输入的系统;

图3示出了包括一个或多个层的概率模型的详细示例,一层包括多个高斯过程,在该情况下是深度高斯过程;

图4示出了概率模型的参数可以如何被确定并用于将概率模型应用于输入的详细示例,所述概率模型的参数包括诱导位置、以及限定用于对高斯过程在诱导位置处的输出进行近似的协方差矩阵的第一和第二矩阵;

图5示出了通过相对于训练数据集而优化参数来学习概率模型的参数集合的方法;

图6示出了将概率模型应用于输入的方法;

图7示出了包括数据的计算机可读介质;

图8a-8d示出了在各种基准数据集上所提出的概率模型的性能改进。

应当注意的是,各图纯粹是示意性的并且没有按比例绘制。在各图中,对应于已经描述的元素的元素可以具有相同的参考标号。

具体实施方式

图1示出了用于学习概率模型的参数集合的系统100。概率模型可以包括一个或多个层。所述一个或多个层中的一层可以包括多个高斯过程。系统100可以包括数据接口120和处理器子系统140,它们可以经由数据通信124进行内部通信。处理器子系统140可以被配置为在系统100的操作期间并通过使用数据接口120,来访问包括多个训练输入和对应的训练输出的训练数据集030。例如,如图1中所示,数据接口120可以提供对外部数据存储装置020的访问122,外部数据存储装置020可以包括所述数据030。可替换地,数据030可以从作为系统100的部分的内部数据存储装置而被访问。可替换地,数据030可以经由网络从另一个实体被接收。一般而言,数据接口120可以采取各种形式,诸如到局域网或广域网(例如,因特网)的网络接口、到内部或外部数据存储装置的存储接口等。数据存储装置020可以采取任何已知且合适的形式。

处理器子系统140还可以被布置成在系统100的操作期间,通过相对于训练数据集030而优化参数集合050来确定概率模型的参数集合050。参数集合050可以包括针对多个高斯过程的多个诱导位置的集合。参数集合050还可以包括对多个高斯过程在多个诱导位置处的输出进行近似的概率分布的参数。概率分布可以包括多元正态概率分布。可以由指示多个高斯过程之间相似性的第一矩阵和指示多个诱导位置之间相似性的第二矩阵的克罗内克积,来限定多元正态分布的协方差矩阵。可选地,处理器子系统140可以被配置为例如使用数据接口120存储所确定的参数集合050,和/或以其他方式将所确定的参数集合050提供给用于将模型应用于输入的系统。

将参考图3进一步阐述系统100的操作的各种细节和方面,包括其可选方面。

一般而言,系统100可以体现为单个设备或装置或者体现在单个设备或装置中,所述设备或装置诸如(例如膝上型或基于桌面的)工作站、或者服务器。所述设备或装置可以包括执行适当软件的一个或多个微处理器。例如,处理器子系统可以由单个中央处理单元(cpu)来体现,但是也可以由这类cpu和/或图形处理单元(gpu)和/或其他类型的处理单元的组合或系统来体现。软件可能已经被下载和/或存储在对应的存储器中,所述存储器例如诸如ram的易失性存储器或者诸如闪存的非易失性存储器。可替换地,系统的功能单元(例如数据接口和处理器子系统)可以以可编程逻辑的形式实现在设备或装置中,例如作为现场可编程门阵列(fpga)。一般而言,系统的每个功能单元可以以电路的形式实现。注意到,系统100也可以以分布式方式实现,例如涉及诸如分布式服务器之类的不同设备或装置,例如以云计算的形式。

图2示出了用于将概率模型应用于输入的系统200。概率模型可以包括一个或多个层。所述一个或多个层中的一层可以包括多个高斯过程。系统200可以包括数据接口220和处理器子系统240,它们可以经由数据通信224进行内部通信。处理器子系统240可以被配置为在系统200的操作期间并通过使用数据接口220,来访问概率模型的输入060和参数集合050。参数集合050可以包括针对多个高斯过程的多个诱导位置的集合。参数集合050还可以包括对多个高斯过程在多个诱导位置处的输出进行近似的概率分布的参数。概率分布可以包括多元正态概率分布。可以由指示多个高斯过程之间相似性的第一矩阵和指示诱导位置之间相似性的第二矩阵的克罗内克积来限定多元正态分布的协方差矩阵。

例如,如图2中所示,数据接口220可以提供对外部数据存储装置022的访问222,外部数据存储装置022可以包括所述数据050、060。可替换地,数据050、060可以从作为系统200的部分的内部数据存储装置而被访问。可替换地,数据050、060可以经由网络从另一个实体而被接收。一般而言,数据接口220可以采取各种形式,诸如到局域网或广域网(例如,因特网)的网络接口、到内部或外部数据存储装置的存储接口等。数据存储装置022可以采取任何已知且合适的形式。

处理器子系统240还可以被布置成在系统100的操作期间,基于概率模型的参数集合050来确定概率模型关于输入060的输出样本。作为可选组件,系统200可以包括显示输出接口(未示出)或任何其他类型的输出接口,以用于将样本输出到诸如显示器之类的呈现设备。例如,显示输出接口可以为显示器生成显示数据,所述显示数据使得显示器以感官可感知的方式呈现样本和/或其不确定性估计。作为可选组件,系统200可以包括一个或多个传感器接口,以用于从一个或多个传感器获得输入060的至少部分。作为可选组件,系统200可以包括控制接口,以用于基于概率模型的输出来控制例如汽车发动机之类的技术系统。

将参考图3进一步阐述系统200的操作的各种细节和方面,包括其可选方面。

一般而言,系统200可以体现为单个设备或装置或者体现在单个设备或装置中,所述设备或装置诸如(例如膝上型或基于桌面的)工作站、或者服务器。所述设备或装置可以包括执行适当软件的一个或多个微处理器。例如,处理器子系统可以由单个中央处理单元(cpu)来体现,但是也可以由这类cpu和/或其他类型的处理单元的组合或系统来体现。软件可能已经被下载和/或存储在对应的存储器中,所述存储器例如诸如ram的易失性存储器或者诸如闪存的非易失性存储器。可替换地,系统的功能单元(例如数据接口和处理器子系统)可以以可编程逻辑的形式实现在设备或装置中,例如作为现场可编程门阵列(fpga)。一般而言,系统的每个功能单元可以以电路的形式实现。注意到,系统200也可以以分布式方式实现,例如涉及诸如分布式服务器之类的不同设备或装置,例如以云计算的形式。

图3示出了包括一个或多个层的概率模型的详细但非限制性的示例,其中所述一个或多个层中的一层包括多个高斯过程。在该情况下,概率模型300是深度gp或深度高斯过程,例如具有多个层的多gp模型。

一般地,各种实施例可以涉及由n个潜在高斯过程(gp)组成的概率模型,标示为。学习概率模型的参数集合可以包括相对于包括多个训练输入和对应训练输出的训练数据集来优化参数集合。例如,任务可以被视为根据具有训练输入和典型有噪声训练输出n个观察来学习函数。在多维输出的情况下,每个可以仅指定的输出分量中的一些。例如,典型的深度高斯过程可以包括2到5个层,例如,每层具有10维输入和10个高斯过程。

概率模型可以在潜在函数中的一个或多个(例如每个)上放置单个gp先验,具有的先验均值函数以及的内核,典型是正定内核。在该示例中,n个先验gp被认为是彼此独立的,但是如技术人员所理解的,也可以处理更一般的设置,例如,可以采用多个节点之上的耦合先验。

在各种实施例中,参数集合可以包括针对高斯过程的诱导位置。例如,gp中的一些或所有可以配备有m个诱导输入,其中

如针对深度gp300所示,每个层可以包括个高斯过程。例如,图中示出的是第一层320,其包括高斯过程321直至322。图中还示出的是最后的第l层330,其包括高斯过程331直至332。深度gp300的高斯过程的总数量n可以被计算为

在层l处的高斯过程的输入可以包括先前层的高斯过程的输出。例如,高斯过程可以表示映射,例如,模型可以在该层处是完全连接的。然而,高斯过程也可以只将先前层的值的子集映射到输出。第一层可以具有输入310。数学上,各层之间的关系可以表示为

该图中所示的高斯过程300具有单个输出y340(例如),所述单个输出y340通过将高斯独立同分布(i.i.d.)噪声添加到层330的输出而获得,例如

数学上,使用针对深度高斯过程300的诱导点框架的增强联合概率可以标示为:

其中标示对应于相应训练输入的训练输出,标示概率模型在层l处的训练输入处的输出,标示概率模型在层l处的诱导位置处的输出。

向量是通过堆叠各层的相应输出而获得的。

在各种实施例中,通过假设相同层的潜在过程具有相同的结构(例如相同的诱导点和相同的内核超参数),可以增加模型的正则性。例如,可以假设以下关系成立:

这里并且类似。来自的均值和协方差矩阵可以根据以下关系限定:

深度高斯过程300的后验可以通过使用以下变分族的变分推断来近似:

在各种实施例中,通过例如双重随机变分推断之类的变分推断类型技术,来获得关于边际似然性的随机下界。

尽管图3示出了包括高斯过程321、322、331、332的深度gp300,但是技术人员将理解,(例如概率模型的后验的)以上技术量可以以各种方式归纳。例如,概率模型可以包括不是由高斯过程生成的各种其他潜在变量,可以在单个层处包括高斯过程的多个集合,例如,对于每个集合具有不同的超参数,等等。另一方面,具有单层高斯过程的概率模型的数学描述也可以通过设置而从以上描述中推导。

图4示出了概率模型的参数可以如何被确定和/或用于将概率模型应用于输入的详细但非限制性的示例。

图4中示出的是概率模型pm440,其包括一个或多个层。所述一个或多个层中的一层包括多个高斯过程。为了说明性目的,图中示出的是三个高斯过程441-443,但是这不是限制。例如,概率模型pm可以对应于或包括深度高斯过程300。

图中还示出的是概率模型pm的参数集合par450。参数集合par可以例如通过系统100基于包括训练输入ti431和训练输出to432的训练数据集来学习,如稍后更详细讨论的。参数集合par还可以用于将概率模型pm应用于输入i470,以便例如通过系统200获得采样输出so480,如稍后更详细讨论的。

对于多个高斯过程441-443,参数集合par可以包括多个诱导位置的集合il451。针对多个高斯过程441-443的集合m个诱导位置的集合可以标示为。典型地,多个高斯过程441-443共享共同的诱导位置集合,但是不同层处的高斯过程典型地具有不同的诱导点集合,并且例如,相同层处的不同的高斯过程集合具有不同的诱导位置集合也是可能的。例如,针对多个高斯过程的集合的诱导点数量可以是100。

参数集合par还可以包括对多个高斯过程在多个诱导位置处的输出进行近似的概率分布的参数。例如当使用变分推断来近似概率模型pm的后验时,这类概率分布可能出现,如以上所例示的。令人关注的是,对多个高斯过程在多个诱导位置处的输出进行近似的概率分布可以包括多元正态概率分布,其中多元正态分布的协方差矩阵由第一矩阵fm452和第二矩阵sm453的克罗内克积限定,第一矩阵fm452指示多个高斯过程441-443之间的相似性,第二矩阵sm453指示多个诱导位置il之间的相似性。例如,第一矩阵fm可以是大小等于高斯过程数量的方阵,并且第二矩阵sm第二矩阵可以是大小等于诱导点数量m的方阵。

数学上,第一矩阵和第二矩阵可以形成对概率分布进行近似的以下克罗内克因子分解:

多元正态概率分布的均值、第一矩阵和/或第二矩阵可以是自由变分参数。换言之,参数集合pm可以包括限定多元正态概率分布的第一矩阵fm、第二矩阵sm和/或均值

在各种实施例中,第一矩阵fm可以是对角矩阵,例如,第一矩阵fm的对角元素是自由参数,其中第一矩阵的非对角元素假定为零。如以上所讨论的,这可以实现参数数量的减少。在其他实施例中,第一矩阵fm具有至少一个非零对角元素,从而允许在应用模型pm时捕获并有效使用不同高斯过程之间的这类关系。

参数集合par可以包括各种其他参数,例如对应于概率模型pm的其他部分(例如,概率模型的其他潜在过程等)。特别地,各种概率模型使用有噪声输出,例如,深度高斯过程300的输出340可以是有噪声的。在这类情况下,参数集合可以包括针对概率模型pm的输出的噪声分布的一个或多个参数,例如正态分布的标准偏差或方差等。

参数集合par还可以包括针对多个高斯过程441-443的一个或多个超参数。例如,参数集合可以包括针对多个高斯过程441-443的先验均值函数的超参数和/或针对多个高斯过程的内核函数的内核超参数kh454。在各种实施例中,多个高斯过程共享至少一些超参数,例如,多个高斯过程中的每个高斯过程可以具有由一个或多个内核超参数kh限定的内核。概率模型pm的其他层处的高斯过程,或者与高斯过程441-443相同层处的其他高斯过程集合可以具有不同类型的先验均值和内核函数,和/或用于其函数的不同超参数,尽管对于概率模型的所有高斯过程使用相同的超参数集合也是可能的。

各种类型的内核可以用于高斯过程,具有相应地变化的内核超参数集合kh。所使用的内核典型地是非退化的。例如,可以使用平方指数内核,例如具有自动相关性确定的平方指数内核。数学上,给定向量,这类内核可以限定为

其中内核超参数kh包括指示对应输入特征的相关性的针对输入维度d的长度标度超参数,以及全局的、典型非负的标度参数

在各种实施例中,针对高斯过程的先验均值函数可以被设置为零,例如,在该情况下,可以不需要用于限定先验均值函数的超参数。在其他情况下,可以使用具有超参数的先验均值函数,例如多项式先验均值函数,例如其系数被学习为超参数。

如所提及的,可以基于包括多个训练输入ti和训练输出to的训练数据集来确定(例如,学习)参数集合par。训练可以包括相对于训练数据集而优化参数集合par,所述优化例如通过选择参数集合par使得概率模型pm最佳地从训练输入ti和训练输出to归纳到新的测试点来进行。

在各种实施例中,优化参数集合par包括相对于训练数据集最大化证据下界。对证据下界的使用不是必要的:捕获概率模型pm与训练数据集的对应关系的其他方式、例如测量概率模型pm针对训练输入ti和训练输出to的输出之间的差异也是可能的。由于证据下界或其他优化目标的精确计算可能是不可行的和/或计算昂贵的,因此在各种实施例中,要优化的量(例如证据下界)是随机近似的。在任何情况下,使用已知的优化技术,可以将要优化的量捕获为要优化的目标函数。例如,在图4中所示的示例中,对目标函数执行随机梯度下降sgd460,所述目标函数在该情况下等于证据下界。可以使用已知的优化框架,例如基于张量流的随机梯度下降的实现方式等。

例如,在数学上,如图3中所示的深度高斯过程的证据下界可以使用双重随机变分推断如下推导:

其中如以上讨论的那样,并且

是最后层的边际。

注意到,该类型的概率模型的证据下界包括可以通过如下方式来近似的项:在给定集合ti的训练输入情况下对概率模型pm的一个或多个输出进行采样,并计算在噪声分布(在该情况下是输出y340的噪声分布)下从采样输出获得对应于训练输入的集合to的训练输出的似然性。可以逐层执行的采样,例如,先前层的采样输出可以用于在当前层处进行采样,例如,由此可以避免模型作为整体的分析处理。如技术人员所理解的,这类项一般也针对包括多个高斯过程的其他类型的概率模型pm而出现。

具体地,为了对概率模型针对集合ti的训练输入的输出sto433进行采样,可以通过从联合概率分布(例如)中边际化出对多个高斯过程在多个诱导位置处的输出进行近似的层中的概率分布,来确定多个高斯过程针对训练输入的输出的样本概率分布。然后,可以根据样本概率分布对多个高斯过程针对训练输入的层输出进行采样。令人关注的是,在概率模型pm中出现的克罗内克积可以导致依据第一矩阵fm和第二矩阵sm的表达式,所述表达式可以用于例如在不显式地存储或计算其克罗内克积的情况下特别高效地执行这类采样。例如,继续以上对深度高斯过程300的推导,变分后验在诱导输出之上的边际化可以如下执行:

例如,获得具有该均值和协方差的多元正态分布。来自近似预测分布的样本可以例如通过用单个训练输入ti或输入i代替以上训练数据集来获得。因此,如这里所例示的,对多个高斯过程的输出进行采样可以包括基于第一矩阵和第二矩阵的函数的克罗内克积来确定协方差矩阵。不需要第一和第二矩阵的克罗内克积。

如可以观察到的,在该示例中,边际仅依赖于对应的输入,例如,下界可以在训练输入ti之间被分解。作为通过多元正态概率分布对多个高斯过程的输出进行建模的结果,在该示例中,相同层的函数值被耦合。因此,可以根据联合概率分布对多个高斯过程的输出进行采样。此外,可以观察到,确定以上概率分布包括反转针对高斯过程341-343组的单个矩阵,而不是例如在其中高斯过程不像概率模型pm中那样由联合多元正态分布建模的技术中反转针对每个高斯过程的单独矩阵,这表示有显著计算节省。

用于确定参数集合par的各种优化还可以涉及优化对多个高斯过程在多个诱导位置处的输出进行近似的概率分布(例如)和多个高斯过程在多个诱导位置处的输出的概率分布(例如,)之间的库尔巴克-莱布勒散度。例如,这类库尔巴克-莱布勒散度可能发生在证据下界(诸如以上推导的界限)中,但是也可以用在其他优化目标中,以捕获近似后验和先验概率分布之间的差异。令人关注的是,基于克罗内克积的参数化par允许高效地确定库尔巴克-莱布勒。例如,对于深度高斯过程300,这导致针对kl散度的以下表达式:

因此,如这里所例示的,可以基于第一和第二矩阵的一个或多个单独的函数(例如轨迹和/或对数)来计算kl散度,而不使用或计算其克罗内克积。

现在以算法形式详细给出确定证据下界的具体示例,所述证据下界可以例如通过随机梯度下降sgd而被最大化以便确定参数集合par:

:

-计算对模型证据的下界的随机近似

-一批训练数据集{(,具有大小的训练输入ti和输出to

-:蒙特卡洛样本的数量

-:概率模型pm的层数量

#计算数据拟合

foreachdatapointdo

foreachrepetitiondo

#例如根据高斯

end

end

foreachlayerdo

return

从以上说明书中可以观察到的,在第一循环中,概率模型pm的输出可以在给定相应的训练输入的情况下被采样,并且可以确定获得对应训练输出的似然性,并且以蒙特卡洛方式将所述似然性添加到证据下界。

此外,例如,如以上详述的,可以针对多个高斯过程的每个组确定对多个高斯过程在多个诱导位置处的输出进行近似的概率分布和多个高斯过程在多个诱导位置处的输出的概率分布之间的库尔巴克-莱布勒散度。

为了在给定训练输入x的情况下对深度高斯过程pm的输出进行采样,可以使用以下过程:

:

foreachlayerdo

分布针对点的参数

#从元高斯分布汲取

end

return

可以通过基于概率模型pm的参数集合par确定概率模型关于输入i的输出的样本so480,来将概率模型pm应用于输入i470。换言之,对输出进行采样so可以逐层执行,并且可以包括:通过从联合概率分布中边际化出对多个诱导位置il处的层处的多个高斯过程441-443的输出进行近似的概率分布,来确定该层处的多个高斯过程针对输入i的输出的样本概率分布;以及根据样本概率分布对该层处的多个高斯过程针对输入i的输出进行采样。例如,为了获得样本so,可以使用以上给出的过程drawsample。注意到,为了获得采样输出so,可以包括建模的输出噪声(例如,添加到深度高斯过程300的输出节点330的噪声),例如以便将预测与观察到的输出进行比较。

将概率模型应用于输入i还可以包括确定概率模型pm关于输入i的输出的多个样本so。例如,基于所述多个样本,可以推导不确定性估计,诸如方差、标准偏差、直方图等。例如,以下过程可以用于针对测试数据点确定多个样本:

:

-根据概率模型pm返回预测分布的样本

-:测试数据点

-:蒙特卡洛样本的数量

foreachrepetitiondo

end

return

图5示出了学习概率模型的参数集合的计算机实现的方法500的框图,概率模型包括一个或多个层,所述一个或多个层中的一层包括多个高斯过程。方法500可以对应于图1的系统100的操作。然而,这不是限制,因为方法500也可以使用另一个系统、装置或设备来执行。

方法500可以包括,在题为“访问训练数据集”的操作中,访问510包括多个训练输入和对应训练输出的训练数据集。方法500还可以包括,通过在题为“优化参数集合”的操作中,相对于训练数据集而优化520参数集合,来确定概率模型的参数集合。参数集合可以包括针对多个高斯过程的多个诱导位置的集合。参数集合还可以包括对多个高斯过程在多个诱导位置处的输出进行近似的概率分布的参数,其中概率分布包括多元正态概率分布,多元正态分布的协方差矩阵由指示多个高斯过程之间相似性的第一矩阵和指示多个诱导位置之间相似性的第二矩阵的克罗内克积来限定。

图6示出了将概率模型应用于输入的计算机实现的方法600的框图,概率模型包括一个或多个层,所述一个或多个层中的一层包括多个高斯过程。方法600可以对应于图2的系统200的操作。然而,这不是限制,因为方法600也可以使用另一个系统、装置或设备来执行。

方法600可以包括在题为“访问输入、参数集合”的操作中,访问610概率模型的输入和参数集合。参数集合可以包括针对多个高斯过程的多个诱导位置的集合。参数集合还可以包括对多个高斯过程在多个诱导位置处的输出进行近似的概率分布的参数,其中概率分布包括多元正态概率分布,多元正态分布的协方差矩阵由指示多个高斯过程之间相似性的第一矩阵和指示诱导位置之间相似性的第二矩阵的克罗内克积来限定。方法600还可以包括,在题为“确定输出样本”的操作中,基于概率模型的参数集合,确定620概率模型关于输入的输出的样本。

将领会,一般而言,图5的方法500和图6的方法600的操作可以以任何合适的顺序(例如,接续地、同时地或其组合)执行,所述顺序在适用的情况下受制于例如通过输入/输出关系而成为必需的特定顺序。

(一种或多种)方法可以在计算机上实现为计算机实现的方法、实现为专用硬件或实现为两者的组合。还如图7中所图示的,用于计算机的指令(例如,可执行代码)可以存储在计算机可读介质700上,例如以一系列710机器可读物理标记的形式和/或作为具有不同电气(例如,磁性)或光学属性或值的一系列元素。可执行代码可以以暂时性或非暂时性的方式存储。计算机可读介质的示例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。图7示出了光学盘700。可替换地,计算机可读介质700可以包括表示如本说明书中别处所述的参数集合的暂时性或非暂时性数据710。

图8a-8d示出了根据关于若干个相关基准的各种实施例的概率模型的评估。

所评估的概率模型是如上所述的深度高斯过程,即包括多层高斯过程的概率模型,其中对每个层处的高斯过程的输出进行近似的概率分布是多元正态的,其具有作为第一和第二矩阵之间的克罗内克积给出的协方差矩阵。在一些情况下,第一和第二矩阵是一般矩阵,例如,矩阵的所有条目都是要优化的参数。如所讨论的,这提供具有潜在高斯过程的改进耦合的模型。在其他情况下,第一矩阵被选择为对角矩阵,从而提供参数数量的降低。将概率模型与标准稀疏高斯过程和非结构化深度gp变体(例如,其中每个高斯过程使用单独的协方差矩阵来建模)进行比较。

为了评估模型,选择了来自uci基准数据集https://archive.ics.uci.edu/ml/的八个相关测试数据集。大多数情况下,数据集对相对复杂的非线性物理模型进行建模。例如,uci“混凝土”数据集将混凝土抗压强度数据提供为年限和成分的高度非线性函数。“舰用(naval)”数据集将燃气涡轮机的维护状态数据提供为在物理资产稳定状态下各种测量(诸如轴扭矩、旋转速率、入口和出口温度和压力等)的函数。“能量”数据集捕获建筑物的加热负荷和冷却负荷要求,即作为建筑物参数的函数的能量效率。“kin8nm”以如下为目的来捕获8连杆全回转机器人手臂的前向动力学:基于关节位置、扭转角度等来预测末端执行器离目标的距离。“功率”数据集基于温度、环境压力等提供电厂每小时的净电能输出。“蛋白质”数据集包含关于蛋白质的数据;“波士顿”数据集关于波士顿的住房;“红酒(wine_red)”数据集允许基于物理化学测试来确定酒的品质。

为了分析方案的外推行为,根据标准化数据的第一主要分量对样本进行分类。具有最小值的十分位数用于测试外推场景,并且剩余数据的随机选择的10%用于测试内插场景。对于每个数据集,以10次独立的训练内插分裂来重复实验,而同时保持外推样本集完整。

高斯过程层的数量为,其中d为输入维度。通过使用亚当优化器来执行优化,所述亚当优化器如kingma和ba的“adam:amethodforstochasticoptimization”,2014(在https://arxiv.org/abs/1412.6980可获得,并通过引用并入本文)中所描述。学习速率=0.01,批大小=,具有为n的数据点数量。优化器运行达20,000次迭代,以最小化相对于包括超参数、诱导点和变分参数的参数集合的证据下界。每数据点有三个蒙特卡洛样本用于随机评估下界。使用线性均值项来避免消失梯度的问题。将非结构化深度gp(dgp)的性能与如下各项进行比较:其中每个层的协方差矩阵是克罗内克积的深度gp(dgpkp);和其中第一矩阵是对角的简化版本的dgpkp(dgpkd)。所有深度gp模型以2个层和5个层运行。

图8a-8d示出了深度gp变体在uci基准数据集上的比较。相对于以下度量研究了八个uci基准数据集:训练时间811-818、内插集821-828上的负对数似然性和外推集831-838上的负对数似然性。发现与非结构化族811-818相比,使用克罗内克结构化的协方差矩阵减少训练时间,而同时在保持层的数量固定时维持预测性能821-828、831-838。

当评定不同深度gp模型的内插性能时,发现dgp在能量kin8nm功率蛋白质数据集上优于稀疏gp(svgp),并且在波士顿混凝土舰用红酒数据集上表现同样好。在图表821-828中没有观察到深度gp变体之间的性能差异,从而证实克罗内克近似足够准确。

不同模型的运行时间是在英特尔xeoncpue5-1620(3.50ghz、8核)上针对单个优化步骤测量的。有利的是,当保持层的数量固定时,在图表811-818中观察到从非结构化模型(dgp)到克罗内克模型(dgpkp和dgpkd)的运行时间的降低。当使用克罗内克模型时,归因于较少数量的参数,还观察到收敛速度的增加。关于外推,针对kin8nm观察到与svgp相比一致的性能增加,而在其他数据集上的性能广泛相似,见图表831-838。

示例、实施例或可选特征——无论是否被指示为非限制性的,不应被理解为限制所要求保护的本发明。

应当注意,以上提及的实施例说明而不是限制本发明,并且本领域技术人员将能够在不脱离所附权利要求的范围的情况下设计许多可替换实施例。在权利要求中,置于括号之间的任何参考标记不应被解释为限制权利要求。对动词“包括”及其词性变化的使用不排除权利要求中所述那些之外的元素或阶段的存在。元素前面的冠词“一”或“一个”不排除多个这类元素的存在。诸如“……中的至少一个”的表达当在元素列表或元素组前面时,表示从列表或组中选择所有元素或者元素的任何子集。例如,表达“a、b和c中的至少一个”应当理解为包括:仅a;仅b;仅c;a和b两者;a和c两者;b和c两者;或者a、b和c中的全部。本发明可以借助于包括若干个不同元件的硬件并且借助于适当编程的计算机来实现。在枚举若干个构件的设备权利要求中,这些构件中的若干构件可以通过同一个硬件项来体现。在相互不同的从属权利要求中记载某些手段的仅有事实并不指示这些手段的组合不能被有利地使用。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1