【导读】大家好,我是泳鱼。一个乐于探索和分享AI知识的码农!
神经网络 是目前 最强大的函数近似器,而高斯过程 是另一种非常强大的近似方法。 结合高斯过程与神经网络模型(Neural Network Gaussian Process),这种模型能获得神经网络训练上的高效性,与高斯过程在推断时的灵活性 。 阅读本文具体了解下吧~
本文中,我们先梳理出单隐层神经网络与高斯过程(GP)的关系,再将概念拓展到多隐层神经网络,然后讨论如何用 GP 来完成传统神经网络的任务,即学习和预测。
1 单隐层神经网络与NNGP
现在我们研究在某个输入
下第
个输出单元的值,即
。
因为
,对于任意的
,第
个隐藏单元的输出的期望值是 0:
注意对于所有的
,
的值都是一样的(因为它只决于
,
和
),所以我们令
。
由于所有隐层输出
独立同分布,由 中心极限定理 可知,当
趋于无穷时 ,
服从高斯分布,方差为
。综上,当
趋于无穷时,我们得到
的先验分布为:
为了限制
的方差不会趋于无穷,对于某个固定的
,我们令
,可得
定义: 高斯过程是是一组变量的集合,这组变量的任意子集都服从多元高斯分布。[2]
其实,与其说高斯过程描述了这几个变量,不如说它描述的是一个函数的分布:
对于任意数量的输入,其对应的函数输出的联合概率分布都是多元高斯分布。
[1] 中的作者做了以下的实验来为验证这种高斯分布:
每个点代表对网络参数的一次采样(即每个点都是一个单独的神经网络),横轴和纵轴分别代表输入为
和
时的函数输出。
可以看到,随着
逐渐变大,两个输出呈现出二元高斯分布(并且有明显的相关性)。
我们以上面
的情况为例。还是那两个输入,一个
,一个
。现在我们假设
的标签
已知:
,那么
的标签
该是多少呢?
在没有
的标签时,我们并不知道图中的哪些点(代表的神经网络)可以拟合
和
之间的关系。而当得知
后,我们至少可以把选择范围缩小在上图的红色方框内,因为只有那里面的模型对
的预测符合我们的观测值。此时一种可行的做法是综合考虑方框内所有模型对
的预测,然后给出最终输出(比如取它们的均值)。
在这个例子中,(
)相当于 训练样本 ,而
是 测试集 。
2 多隐层神经网络与NNGP
我们已经知道单隐层神经网络的每一维输出可以看作是一个高斯过程(GP),其实这个结论可以推广到 多隐层全连接神经网络 [3] 。
对于输入
,将第
层的第
个单元的输出记为
,神经网络的计算可以表示为:
可以看到整个递归式中唯 一非线性 的部分就是激活函数
。这使得我们不能得到一个完全的解析式。幸运的是对于一些特定的激活函数,是可以有等价的解析式表达的。比如对于常用的 ReLU 函数,递归式就可以表示为如下的解析形式:
3 用NNGP做预测
在讲 NNGP 的预测方法前,我们需要先铺垫一个基础知识: 多元高斯分布的条件概率分布 。
考虑一个服从高斯分布的向量
,我们把它分成一上一下两部分:
和
。则我们有:
注意
是已知
时
的分布。区别于
的 先验分布
,
是一种 后验分布 ,它利用了
的观测值以及
与
之间的协方差
,在一定程度上消除了对原有
的不确定度。
记得我们前两节的结论是: 对于全连接层神经网络,当网络参数服从高斯分布,且隐层宽度足够大时,其每一维度的输出都是一个高斯过程。
和常规 learning 问题一样,我们的数据集有两部分: 训练集 和 测试集 。
我们将它们记为向量的形式:
我们感兴趣的未知量为
,根据我们的结论,
和
的联合高斯概率分布为:
4 总结
传统神经网络与神经网络高斯过程(NNGP)最大的区别在于,后者没有 显式 的训练的过程(即通过 BP 调整参数),而是只借助了神经网络的结构信息(包括网络参数的分布,激活函数)来生成一个 kernel,即协方差矩阵。
我们甚至都不需要真的生成一个神经网络就可以得到 kernel:
除此之外,还可以直接指定一个 empirical 的协方差矩阵,比如 平方指数(squared exponential)误差 :
和
的距离越远,协方差越小,反之则越大。这是符合直觉的,因为对于一个 连续 、平滑 的函数,相隔较近的点总会有更强的相关性——这也是 empirical 的协方差函数所依赖的共识。
[1] Neal R M. Bayesian learning for neural networks[M]. Springer Science & Business Media, 2012.
[2] Williams C K I, Rasmussen C E. Gaussian processes for machine learning[M]. Cambridge, MA: MIT press, 2006.
[3] Lee J, Bahri Y, Novak R, et al. Deep neural networks as gaussian processes[J]. arXiv preprint arXiv:1711.00165, 2017.
[4] Roman Garnett. BAYESIAN OPTIMIZATION.