【摘 要】高斯过程推断的主要目的,是根据训练数据获得函数的高斯过程后验。由于高斯过程来自于对协方差函数的指定,因此,高斯过程推断的核心是:在协方差函数类的参数化形式已经确定的情况下,根据训练数据获得协方差函数中超参数的值(或分布),并进一步实现测试点的预测值(或预测分布)。高斯过程推断大多采用最大边缘似然方法(参见 Rasmussen 第 5 章 高斯过程模型选择与自适应超参数),根据数据模型中的似然类型,一般分为高斯和非高斯两种情况,前者意味着边缘似然具有解析形式,核的超参数可以通过常规高斯过程方法进行推断;而后者意味着边缘似然可能没有解析形式,只能通过变分推断、MCMC 等方法给出边缘似然的近似解,而后利用该近似解推断核的超参数。

1 方法一览表

高斯似然 非高斯似然(变分方法) 非高斯似然(MCMC)
完全的协方差矩阵 GPR VGP GPMC
稀疏归纳的协方差矩阵 SGPR SVGP SGPMC

(1)高斯似然的情况

注 1:高斯似然因为具有解析表达式,所以精确方法可能更适用,因此此处也可简单理解为精确推断方法。

注 2: SGPR 可以视为一种数据近似而非推断近似,所以也可以列入精确推断范畴。

GPR : 高斯似然 + 完整协方差 + Cholesky(或 MVM 等)

SGPR :高斯似然 + 稀疏归纳 + Cholesky(或 MVM 等)

(2)非高斯似然的情况

注:也可简单理解为近似推断方法

VGP : 非高斯似然 + 完整协方差 + 变分推断

SVGP : 非高斯似然 + 稀疏归纳 + 变分推断

GPMC : 非高斯似然 + 完整协方差 + MCMC

SGPMC : 非高斯似然 + 稀疏归纳 + MCMC

2 精确推断

精确推断方法适用于高斯似然或者可以通过高斯转换的似然假设,常被用于小规模或小规模归纳点的应用场景。高斯通常使得此类推断具有解析表达形式,因此可以实施精确推断。不过,不管解析形式如何,最终的根本性问题几乎无一例外落在了协方差矩阵的求逆和求行列式上。而涉及矩阵求逆问题,目前主要有三类矩阵算法:

(1)LLLL^{\top} 矩阵分解法(Cholesky 分解): 采用传统的 Cholesky 分解法求解学习和推断过程中所需的逆矩阵 (K+σ2I)1y(K + \sigma^2 I)^{-1}\mathbf{y} 和行列式 K+σ2I|K + \sigma^2 I|。参见 《矩阵论》或 《矩阵分析》中相关章节。

(2)QVQQVQ^{\top} 矩阵分解法(特征分解): 利用特征分解法计算学习和推断过程中所需的逆矩阵 (K+σ2I)1y(K + \sigma^2 I)^{-1}\mathbf{y} 和行列式 K+σ2I|K + \sigma^2 I|。具体来说,求逆运算可以转换为 (K+σ2I)1y=Q(V+σ2I)1Qy(K + \sigma^2 I)^{-1}\mathbf{y} = Q(V+\sigma^2I)^{-1}Q^{\top}\mathbf{y},而求行列式运算转换为 logK+σ2I=ilog(Vii+σ2)\log |K + \sigma^2 I|= \sum_i \log(V_{ii}+\sigma^2)。此方法中直接计算特征分解比较困难,但是正向的矩阵向量积计算 (K+σ2I)y(K+\sigma^2 I) \mathbf{y} 比较容易,因此通常结合共轭梯度法和矩阵-向量积,通过若干次迭代逼近 (K+σ2I)1y(K+\sigma^2 I)^{-1} \mathbf{y}。参见:

(3)黑盒矩阵-矩阵乘法 (BBMM) 推断:充分利用 GPU 计算硬件的优势,提出了一种使用了批处理版本的改进共轭梯度算法,可以在一次迭代中导出训练和推断所需的所有项。该方法能够将精确高斯过程推断的复杂度从 O(n3)O(n^3) 降低到 O(n2)O(n^2)。将该算法与现有可扩展近似或复杂高斯过程模型结合,只需建立一个可与内核及其导数进行高效的矩阵-矩阵乘法的程序即可。

3 近似推断

近似推断主要解决非高斯似然或大规模数据使用中的问题。前者造成难以获得似然的解析形式,进而无法精确推断;后者大规模精确推断计算上的困难。

目前,近似推断方法大致包括两种技术途径:

  • 第一类以减小协方差矩阵求逆和求行列式的计算规模为主要技术途径(自己给了个名字:“数据条件近似”,见 第 3.1 节 ),但其推断方法仍然可以采用精确(或近似)推断方法,其 “近似” 的含义主要指高斯过程本身的近似,而不是推断方法的近似,因此也被称为 先验近似
  • 第二类以应对非高斯似然和提升推断效率为主要技术途径,常见方法就是变分推断(VI)和 MCMC。此类方法特别适合于非高斯似然的情况,因为非高斯似然会导致目标函数无法解析给出,这里的 “近似” 更倾向于推断方法的近似。从实际使用角度来看,稀疏高斯过程方法和变分推断的结合较为常见,见 第 3.2 节第 3.3 节。由于近似推断会蚕近似的后验,所以此类方法也被称为 后验近似

3.1 协方差矩阵的近似

(1)Nyström 近似

Nyström 近似采用秩为 mm 的矩阵来近似完整核矩阵,其优点是不需要计算或存储整个核矩阵,而只需计算或存储大小为 q×nq \times n 的子矩阵,它可以将存储和计算复杂性分别降低到 O(nq)\mathcal{O}(nq)O(nq2)\mathcal{O}(nq^2)。此方法之所以被命名为 “Nyström 近似”,是因为它可以被解释为积分方程理论中 Nyström 方法的一个例子。

  • Christopher K. I. Williams, Carl Edward Rasmussen, Anton Schwaighofer, and Volker Tresp. Observations of the Nystrom method for Gaussiam process prediction. Technical report, University of Edinburgh, Edinburgh, Scotland, 2002.

(2)稀疏贪婪近似

  • A. J. Smola and B. Sch ̈olkopf. Sparse greedy matrix approximation for machine learning. In Proc. ICML, 2000.

(3)不完全 Cholesky 分解

  • S. Fine and K. Scheinberg. Efficient SVM training using low-rank kernel representations. J. Mach. Learn. Res., 2:243–264, 2001

3.2 先验近似(稀疏高斯过程)

此类方法汇总如下(详细信息参见 可扩展高斯过程 ):

  • 数据子集 + 精确或近似推断: 用空间分区后的小矩阵来替代完整的大矩阵,推断仍然使用精确方法。
  • 似然分解 + 精确或近似推断: 通过似然的条件分解、组合似然等方法,优化似然的计算,其本质上是使精度矩阵(协方差矩阵的逆矩阵)稀疏化。
  • 稀疏核矩阵 + 精确或近似推断: 通过协方差矩阵的锥化等方法,直接使协方差矩阵稀疏化来加速矩阵求逆和求行列式。
  • 稀疏高斯过程 + 精确或近似推断: 引入归纳点来总结协方差矩阵的特征,并用归纳点的协方差矩阵进行推断。经典论文参见:

3.3 后验近似之变分推断方法

稀疏高斯过程的综述类文章:

  • Leibfried 2022 年的 稀疏高斯过程及其变分推断: 稀疏高斯过程(Sparse Gaussian Processes)是一种使用伪训练样本来近似后验高斯过程的方法;用户可以自己定义伪训练样本的数量,进而控制计算和内存复杂度。在一般情况下,稀疏高斯过程无法得到封闭解,必须求助于近似推断,而变分推断是其中一种选择。变分方法将贝叶斯推断问题转化为优化问题,通过最大化对数边缘似然下界( ELBO\mathbb{ELBO} )的方法,得到近似的后验分布。变分推断为构建强大且多功能的框架铺平了道路,在其训练过程中,伪训练样本与(先验和似然的)超参数一起,被视为待优化的参数。本文对稀疏高斯过程及其变分推断方法进行了系统阐述。事实表明,对本主题的适当扩展还可以领略到高斯过程领域的最新进展(如:重要性加权变分推断、跨域高斯过程、多输出高斯过程、深度高斯过程等),并成为探索新研究思路的灵感。

此处主要总结与稀疏方法结合的变分推断方法:

(1)稀疏 + 子采样 + 变分推断:初步考虑了类似或者接近变分推断的方法。

  • Csato 等 2002 的 《稀疏在线高斯过程》
  • Seeger 2003 的博士论文 《贝叶斯高斯过程模型:PAC-贝叶斯泛化误差界和稀疏近似》

(2)稀疏 + 子采样或伪输入 + 变分推断:在稀疏高斯过程框架中正式地引入了变分推断,并逐步扩展到非高斯似然情况和更严谨的论证。

  • Opper 等 2009 的 《变分高斯近似回顾》,提到了在高斯过程中使用变分推断方法,并将其用于非高斯似然。
  • 🔥 Titsias 2009 的 《稀疏高斯过程中归纳点的变分学习》,其 特点是将归纳点作为一种变分参数进行推断,既支持从训练集中选择归纳点,也支持从训练集外选择归纳点。
  • Chai 等 2012 的 《变分MultinomialLogit高斯过程》,将 Titsias 的方法用于非高斯似然。
  • Matthews 2015 的 《稀疏变分方法和随机过程之间的 KL 散度》, 认为 Titsias2009 的结论不严谨,表明 “增广模型的变分推断并不等价于原始模型的变分推断”,其创新点在于提出了函数的 KL\mathbb{KL} 散度概念。
  • Matthews 2016年的 《GPflow:使用 TensorFlow 的高斯过程库》

(3)稀疏 + 子采样或伪输入 + 随机变分推断:在稀疏高斯过程中引入了随机变分推断

(4)

3.3 后验近似之 MCMC 推断方法

此处主要总结了与稀疏方法结合的 MCMC 推断,MCMC 方法对于高斯似然和非高斯似然的情况均适用,只是高斯似然情况可能优势不明显:

  • 稀疏 + 数据子集或伪输入 + _ 高斯似然 + 完整高斯过程 + MCMC:

  • 非高斯似然 + 稀疏高斯过程 + MCMC

  • 🔥 James Hensman, Alexander G. de G. Matthews, Maurizio Filippone, and Zoubin Ghahramani. MCMC for variationally Sparse Gaussian Processes. In NIPS, December 2015a.

3.4 近似贝叶斯计算

暂无索引。

3.5 局部方法

暂空。

  • 朴素局部专家 + 精确或近似推断:
  • 局部专家混合 + 精确或近似推断:
  • 局部专家乘积 + 精确或近似推断:

全局和局部混合:
经典论文参见

4 主要的软件包

(1)Scikit-Learn

(2)GPyTorch

(3)GPFlow

(4)GPy

(5)Pyro

(6)Gen

(7)Stan

(8)BoTorch

(9)PyMC