🔥 高斯过程索引帖
1 高斯过程原理
(1)基本原理
- Rasmussen 等 2006 年经典书籍《机器学习中的高斯过程》节选第二章 《高斯过程回归》
- Rasmussen 等 2006 年经典书籍《机器学习中的高斯过程》节选第三章 《高斯过程分类》 (可以视为非高斯似然的一类,暂无中文稿)
- Wang 2020 年的 高斯过程回归初步教程: 高斯过程回归模型因其表达方式的灵活性和内涵的不确定性预测能力而广泛用于机器学习应用中。本文解释了构建高斯过程的基本概念,包括多元正态分布、核、非参数模型、联合和条件概率等。然后,简明描述了高斯过程回归以及标准高斯过程回归算法的实现。除了标准高斯过程回归,本文还回顾了目前最先进的高斯过程算法软件包。
- Gal Yarlin 2017 年的 高斯过程精简版教程: 本文对高斯过程进行公式推导、原理阐述、可视化以及代码实现,介绍了以高斯过程为基础的高斯过程回归基本原理、超参优化、高维输入等问题。本文可以与上一篇文章相互参考,大部分内容具有雷同。
(2)核(协方差)函数
- Rasmussen 等 2006 年经典书籍《机器学习中的高斯过程》节选第四章 《高斯过程的协方差函数》
- 《模式分析的核方法》一书的第三章:《核的性质》
- https://www.cs.toronto.edu/~duvenaud/cookbook/
- 紧支撑核
(3) 高斯过程与其他模型的关系
- Rasmussen 等 2006 年经典书籍《机器学习中的高斯过程》节选第六章 《高斯过程与其他模型的关系》。讲解了高斯过程与再生核 Hilbert 空间、正则化、支持向量机、样条、最小二乘分类等模型方法之间的关系。
(4)可用软件包
- Sander 2021 年的 《现代高斯过程回归速览》 : 高斯过程及其现代软件包速览。
2 高斯过程推断
根据训练数据获得最优的协方差函数形式和相应的超参数值,是进行有效高斯过程预测的前提和关键环节。根据数据似然形式的不同,推断问题可能会变的极为复杂,是一个吸引很多人研究的重要领域。
(1)模型选择与超参数确定
- 高斯过程模型选择和超参数调整的基本原理参见 Rasmussen 等 2006 年经典书籍《机器学习中的高斯过程》节选第五章 《高斯过程模型选择与自适应超参数》,主要介绍了传统高斯似然下的模型选择和超参数推断方法。
(2)高斯过程推断方法
- 涉及精确推断和近似推断,详情参阅 《高斯过程推断方法索引贴》。此帖相对比较全面,给出了高斯似然场景中常用的解析推断方法(主要涉及协方差矩阵求逆和求行列式);也给出了非高斯似然情况下常用的变分、MCMC 等近似推断方法。
(3)高斯过程的自动推断
- 探讨自动进行高斯过程模型选择和核学习的方法。参考 《自动模型构建索引贴》,暂时关注点还没有到这儿。
3 可扩展高斯过程
- 主要针对高斯过程在遇到大数据时的可扩展性问题,涉及全局、局部和混合方法, 参见 《可扩展高斯过程方法索引贴》。
4 高斯过程与神经网络
结合高斯过程和深度学习的三种主要范例。(a)在深度核学习( DKL ) 中,神经网的最后一层被高斯过程(椭圆形)代替;(b) 深度高斯过程(DGP)更进一步,每一层都有一个高斯过程;(c)在神经网络高斯过程( NNGP )中,高斯过程作为贝叶斯神经网络( BNN )序列的极限出现。
4.1 神经网络与高斯过程的结合
-
Damianou 2013 年的 《深度高斯过程(DGP)》: 一种基于高斯过程映射的深度信念网络。在深度高斯过程中,数据被建模为一个多元高斯过程的输出,而该高斯过程的输入由另一个高斯过程控制,从而形成多层结构。在深度高斯过程中,单层模型等效于 “标准高斯过程” 或 “含隐变量的高斯过程模型”。本文主要贡献在于采用近似变分边缘化实现了模型的推断,这使模型的边缘似然(可用于模型选择)具有一个严格下界。
-
Wilson 2015 年的 《深度核学习(DKL)》: 开发了具有可扩展性的深度核模型,该模型将原始输入转换到特征空间,并将其作为谱混合基核的输入,封闭形式的深度核可以直接替代标准核,具有表达能力和可扩展性方面的优势。在该模型方法中,核学习将高斯过程的边缘似然作为目标函数, 个训练点的推断和学习成本为 ,每个测试点的预测成本为 。
-
Tibo 2022 年的 《归纳高斯过程网络(IGN)》:在 Wilson 深度核学习基础上,提出了归纳高斯过程网络 (IGN)。该模型将输入转换到特征空间,并在特征空间中设置归纳点,并作为输入送入高斯过程。其优势在于,能够同时学习特征空间中的归纳点和核参数。
4.2 神经网络与高斯过程等价性的讨论
-
Lee 2018 年的 《神经网络高斯过程(NNGP)》: Neal ( 1994a ) 首次推导出了无限宽单隐层神经网络与高斯过程之间的等价性,而本文则推导出了 “无限宽深度神经网络” 与 “高斯过程”之间的 “精确等价关系”,并进一步开发了一个基于 SGD 的高效计算管道,来计算高斯过程的协方差函数。
-
Matthews 2018 年的 《宽深度神经网络的高斯过程表现》:与神经网络高斯过程讨论的主题一致,即“无线宽深度神经网络” 与 “高斯过程类似物” 之间的关系。不过更为理论一些,特别是本文考虑了多个神经网络层同时增长的情况,并且实证研究采用了 MCMC 黄金标准。
-
Jacot 2018 年的 《神经切线核》:与 Lee 2018 不同,本文重点在于阐述并建立了在梯度下降期间,神经网络函数与核之间的关系,表明神经网络的梯度下降地遵循代价函数关于 “神经正切核 (NTK)” 的 “核梯度”(注:这里出现了两个新概念)。 原文比较难懂,可参见 Novak 等 2019 年的 《神经切线:Python 中实现无线宽神经网络》;Rajatvd 2019 年的《对神经正切核的初步理解》。
-
Domingos 2019 年的 《梯度下降学得的模型都近似于一个核机》: 基于神经切线核,阐明了通过标准梯度下降算法学习的深度网络,在数学上都近似等同于一个核机器。
5 神经过程
与上一节重点探讨神经网络与高斯过程之间的等价性(如 Neal、Lee、Matthews、Jacot 等)或结合方法(如: Damianou、Wilson 等)不同,本节的重点在于如何用神经网络来实现类似高斯过程的效果,或者用高斯过程来对随机过程进行建模的方法。从目前来看,大多基于元学习的思想,将大数据集拆分成小数据集进行训练。
-
Garnelo 等 2018 年的 《神经过程》:首次将神经网络生成模型应用到随机过程,提出条件神经过程与神经过程的概念,给出了神经过程的网络架构即训练和预测方法。原文可能不太还理解,建议参考 Kaspar 2018 年的《神经过程作为函数的分布》,这是神经过程的一个扫盲帖。
-
Bruinsma 等 2021 年的 《高斯神经过程》
-
Markou 等 2021 年的 《高效的高斯神经过程回归》
-
Dutordoir 等 2022 年的《神经扩散过程》:首次将扩散生成模型应用到随机过程,提出了神经扩散过程的概念。
6 计算机实验和模拟
本节重点介绍如何利用高斯过程(或等价的神经网络)实现计算机实验与模拟,这是一个一直以来都被忽视的研究领域。
Sauer 等 2022 年的 《深度高斯过程仿真》