【导读】大家好,我是泳鱼。一个乐于探索和分享AI知识的码农!
神经网络是目前最强大的函数近似器,而高斯过程是另一种非常强大的近似方法。结合高斯过程与神经网络模型(Neural Network Gaussian Process),这种模型能获得神经网络训练上的高效性,与高斯过程在推断时的灵活性。阅读本文具体了解下吧~
原文标题 神经网络高斯过程 ©作者 宋珣 | 南京大学 | 数据挖掘本文中,我们先梳理出单隐层神经网络与高斯过程(GP)的关系,再将概念拓展到多隐层神经网络,然后讨论如何用 GP 来完成传统神经网络的任务,即学习和预测。
1 单隐层神经网络与NNGP
在如下图所示的全连接神经网络中:





定义:高斯过程是是一组变量的集合,这组变量的任意子集都服从多元高斯分布。[2]
其实,与其说高斯过程描述了这几个变量,不如说它描述的是一个函数的分布: 对于任意数量的输入,其对应的函数输出的联合概率分布都是多元高斯分布。 [1] 中的作者做了以下的实验来为验证这种高斯分布:
2 多隐层神经网络与NNGP
我们已经知道单隐层神经网络的每一维输出可以看作是一个高斯过程(GP),其实这个结论可以推广到多隐层全连接神经网络 [3]。 对于输入 ,将第 层的第 个单元的输出记为,神经网络的计算可以表示为:

3 用NNGP做预测
在讲 NNGP 的预测方法前,我们需要先铺垫一个基础知识:多元高斯分布的条件概率分布。 考虑一个服从高斯分布的向量 ,我们把它分成一上一下两部分: 和 。则我们有:

训练集的每个样本包括一个输入值和一个观测值:
而测试集只有输入样本我们将它们记为向量的形式:

4 总结
传统神经网络与神经网络高斯过程(NNGP)最大的区别在于,后者没有显式的训练的过程(即通过 BP 调整参数),而是只借助了神经网络的结构信息(包括网络参数的分布,激活函数)来生成一个 kernel,即协方差矩阵。 我们甚至都不需要真的生成一个神经网络就可以得到 kernel: 假设我们用到是 ReLU 激活函数,那么从:
参考文献
