©作者 | 丹师
单位 | 伯明翰大学
研究方向 | 机器学习
本文来自于一篇博士论文,上周查阅 Cross Validated 时候发现的。这篇论文让我眼前一亮是使用 Kalman filter(卡尔曼滤波)去解决机器学习(Deep Gaussian Process, DGP)的问题。而且论文的外审专家和答辩评委(pre-examiner, opponent)是 David Duvenaud 和 Manfred Opper,两人都是机器学习 GP 和 SDE 的大牛,论文的质量应该是有保证的。论文比较长而且其第 2,3 章的内容不是我的专业而且和 GP 没多大关系,因此只讨论第四章。第四章的内容貌似大部分来源于这个论文。
论文标题:
State-space deep Gaussian processes with applications
关键词:
高斯过程,状态空间,卡尔曼滤波
论文链接:
https://github.com/zgbkdlm/dissertation/blob/main/dissertation.pdf
https://link.springer.com/article/10.1007/s11222-021-10050-6
https://aaltodoc.aalto.fi/handle/123456789/111268
代码链接:
https://github.com/zgbkdlm/dissertation
这也是笔者第一次写学习笔记,花了好长时间阅读,如有错误请大佬评论区指出勿喷。
高斯过程(Gaussian process),以下简称 GP [1],是一种广泛应用于机器学习中的概率模型。如果一个过程 是 GP 的话,我们一般我们用以下公式来表示:
上述公式中,C 是核函数(kernel function),也叫协方差函数(covariance function),另外 C 有两个超参数 需要人工设定或者从数据集中学习、估计。e 代表观测的高斯噪声。以下我们假设 f 的均值函数(mean function)是 0。
GP 的优势主要是因为他是 Infinite-dimensional 模型。怎么理解呢?设想神经网络,其网络权值需要从数据中学习,而且学到的值是 deterministic 固定的。而 GP 是 non-parametric,从数据中学到是一个分布,是一个关于函数的后验分布,因此包含无限种取值可能性。但相应的,这牺牲了 GP 的计算复杂度。
GP 主要有两个问题:
1. 计算复杂度高;
2. 对非稳态(non-stationary)的数据表现不好。
这也是这篇论文所关注的问题。我们先看一下这两个问题怎么回事:
假设我们有一个数据集 ,那么后验分布也是个高斯过程,而且后验分布的均值和方差为 [1]:
▲ GP posterior, 图片来源于[1].
可以看到,上公式有个矩阵求逆,而且这个矩阵的大小是和数据的数量 N 有关的,因此 GP 回归问题的计算复杂度为 。如果 N 特别大的话 GP 会很耗时。解决这个问题的典型方法有比如 sparse GP 等模型。
那么另外一个 non-stationary 的问题是什么意思的?我们平常最常用的 kernel,比如 squared exponential, Matern 等都是构建 stationary GP。这个 stationary 意思是 ,也就是说 GP 的概率分布是平移不变的(translation invariant)。通俗点说,stationary 假设 GP 的“特征(比如平滑性、频率等)”随时间是不会变化的。
这个假设对很多应用不切合实际。比如说,方波在跳变处会有特征的变化,图像在物体边缘处也会有明显的特征变化。解决这个 stationary 的问题那就是使用 non-stationary GP,主要思路就是使超参数 是随时间变化的。目前有 GP experts [2] 及其他方法 [3][4][5]。当然,还有一种方法那就是用深度高斯过程(Deep Gaussian Process,以下简称 DGP)[6]。
我们下面介绍这篇论文是怎么解决这两个问题的。
如前所述,这篇论文主要是为了解决 GP 计算复杂度和引入 non-stationarity 的问题。根据我的理解,论文作者的思路是用随机微分方程(stochastic differential equations,以下简称 SDE)来构建 GP。
如果要构建 non-statioanry GP,那就使用多层级联 SDE 来构建一个系统,在这系统中,GP 的参数(及其参数的参数, 如此类推)也由 SDE 构建。这就是论文作者所称的 state-space deep Gaussian process(以下简称 SS-DGP)。
如果 GP 或者 SS-DGP 是用 SDE 来表达的,那么他们就是马尔科夫过程(Markov process),因此可以使用(non-linear)卡尔曼滤波(Kalman filter)去解决他们的回归 regression 问题。卡尔曼滤波的计算是非常快的,计算复杂度是线性只有 ,因此也就解决了计算复杂度的问题。
我们先从如何构建 DGP 来引入 non-stationary 的问题。假设 是一个 GP,用前面的公式表示也就是:
这里有两个参数 。那么为了引入 non-stationarity,我们可以让参数也随时间变化,比如:
那么以此类推是不是也可以让 也随时间变化?我们因此可以构建一个深层结构:
这就是所谓的一种深度高斯过程(Deep Gaussian Process, DGP)。这里需要注意三点:
1. 这种 DGP 和 Damianou 等人在 2013 提出的 DGP [6] 有些许区别。此处的 DGP 是基于 parameterization,而 Damianou 等人的 DGP 是基于 composition 的。详情见 [7] 或者论文的 Introduction 有介绍。
2. kernel 的选择很局限。普通的 kernel 比如,squared exponential 和 matern 等其实并不允许其参数 随时间变化,否则的话 covariance 不能保证正定。而能让参数变化的 kernel 目前并不多 [4]。这也是后面要讲的 SS-DGP 的优点之一,因为并不受限于选择合适的 kernel 函数。
3. 求后验分布 很耗时也很复杂。可以使用 variational inference 估计,也可以用 MCMC 采样。
然后论文作者稍微泛化了一下这种 DGP:
▲ 原文公式4.17
▲ 原文公式4.17
然后定义 为 DGP。上式中带上下标的 代表每层的 GP,而 代表每层 GP 的参数 GP(应该是这样,说实话我没怎么看懂这部分的 notation 和那些上下标)。
然后重点来了,用随机微分方程(SDE)怎么表示这种 DGP 呢?
▲ 原文公式4.20
上式 SDE 系统中的每一个子 SDE 都是 conditionally 线性 SDE,也就是对应每个 GP。这就是 SS-DGP。对比普通的 DGP,SS-DGP 有什么优势呢?
1. SS-DGP 是 Markov process,也就是说后验分布可以通过非线性卡尔曼滤波解决,当然需要对 SDE 离散化以得到离散的状态空间如 这种。
2. 不需要指定 kernel ,只需要指定 SDE 的函数如上式的 ,... 等,因此不用担心 covariance 的正定问题。论文还探讨了这种 SS-DGP 构建的解的存在和唯一性(solution existence and uniqueness),由于不是笔者的专业,因此不作评。
论文有一个特殊例子可以更方便理解,可以看到, 被两个下层 GP 和 来表示它的 。
Example 4.16 所示的 SS-DGP 的样本如下所示:
▲ 可以看到 有很明显的 non-stationarity,其特征随时间随机变化。比如黑线在0~2s左右很平稳,但7~10s时震荡的很厉害。蓝线在2~4s和5~6s很震荡,但其他时间很平稳。这些特性在 stationary GP 中是几乎不会出现的。
滤波方面不是笔者的强项,总之公式 4.38 也就是 SS-DGP 可以用非线性卡尔曼滤波求后验分布(第二章应该有介绍怎么对这种系统滤波的)。
最后放一下论文中 SS-DGP 的一些 regression 实验:
▲ 可以看到 SS-DGP 对信号跳变的处理很好。右图:粒子滤波和平滑的估计
▲ 可以看到 SS-DGP 对信号频率的变化也处理的很好。图中 EKFS 是扩展卡尔曼滤波
我能理解的大概也就这么多吧。最后做个总结和评价。
▲ 笔者认为的各种 GP, DGP 模型的关系。因为并不是所有的 GP 都能用状态空间 SDE 表达,因此 SS-DGP 要比 DGP“小”一些。
个人评价
正面:用状态空间法(如 non-linear kalman filters 等)去解决 DGP 的问题这个思路很新颖,可以看做是经典控制论和机器学习的相结合。解决 DGP 目前流行的方法多为 varitional inference 和 MCMC, 但这些方法大多计算耗时复杂,此文的方法确实提供了一个崭新的思路,而且计算非常快( 复杂度)。我认为这个计算优势特别重要,因为传统的 DGP 模型的复杂度会随着深度的增加而大幅增加,但是 SSDGP 的复杂度仍然还是 ,增加的只是状态空间的维度。
负面/疑问:
1. 我很想看到和其它 DGP 解决方法的比较比如 [6][8],尤其是计算时间的比较,我觉得这很重要但作者的论文并没有给出;
2. 其次我认为所谓的 DGP 模型可能有些 overkill:真的有必要去用多层?什么应用情况下我们用多层?增加层数出会怎样影响复杂度?关于这一点论文作者并没有给出充足的实验或者经验性/定性的讨论;
3. 当前的 SS-DGP 模型只适用于一维输入的数据,也既是时序列 time series。GP 中的 x 维度为一。如何推广到多维 ?或者 spatio-temporal ?论文最后好像对此有讨论,但说实话,没看懂。
声明:
此文中的图片、援引公式均为原论文作者所有。此文不违反原作者声明的 license。
参考文献
[1] abCarl Edward Rasmussen and Christopher K. I. Williams. Gaussian Processes for Machine Learning http://www.gaussianprocess.org/gpml/
[2] Carl Edward Rasmussen and Zoubin Ghahramani. Infinite Mixtures of Gaussian Process Experts https://proceedings.neurips.cc/paper/2001/file/9afefc52942cb83c7c1f14b2139b09ba-Paper.pdf
[3] Markus et al. Non-Stationary Gaussian Process Regression with Hamiltonian Monte Carlo http://proceedings.mlr.press/v51/heinonen16.pdf
[4] abPaciorek. NONSTATIONARY GAUSSIAN PROCESSES FOR REGRESSION AND SPATIAL MODELLING https://www.stat.berkeley.edu/~paciorek/diss/paciorek-thesis.pdf
[5] Christian Plagemann et al. Nonstationary Gaussian Process Regression using Point Estimates of Local Smoothness http://ais.informatik.uni-freiburg.de/publications/papers/plagemann08ecml.pdf
[6] abcAndreas C. Damianou Neil D. Lawrence. Deep Gaussian Processes http://proceedings.mlr.press/v31/damianou13a.pdf
[7] Dunlop et al., How Deep Are Deep Gaussian Processes? https://arxiv.org/abs/1711.11280
[8] Hugh Salimbeni, Marc Deisenroth. Doubly Stochastic Variational Inference for Deep Gaussian Processes https://arxiv.org/abs/1705.08933
特别鸣谢
感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·