函數的輸出可以寫為:

我們令網絡的的所有參數服從高斯分布:

第 j個隱藏單元的輸出的方差為:

定義:高斯過程是是一組變量的集合,這組變量的任意子集都服從多元高斯分布。[2]

其實,與其說高斯過程描述了這幾個變量,不如說它描述的是一個函數的分布:

對于任意數量的輸入,其對應的函數輸出的聯合概率分布都是多元高斯分布。

[1] 中的作者做了以下的實驗來為驗證這種高斯分布:

可以看到,隨著 H逐漸變大,兩個輸出呈現出二元高斯分布(并且有明顯的相關性)。

現在我們來直覺上理解一下這個結論的作用。

2 多隱層神經網絡與NNGP

我們已經知道單隱層神經網絡的每一維輸出可以看作是一個高斯過程(GP),其實這個結論可以推廣到多隱層全連接神經網絡 [3]。

可以看到整個遞歸式中唯一非線性的部分就是激活函數? 。這使得我們不能得到一個完全的解析式。幸運的是對于一些特定的激活函數,是可以有等價的解析式表達的。比如對于常用的 ReLU 函數,遞歸式就可以表示為如下的解析形式:

3 用NNGP做預測

在講 NNGP 的預測方法前,我們需要先鋪墊一個基礎知識:多元高斯分布的條件概率分布

其中:

現在我們就知道如何用 NNGP 做預測了:

記得我們前兩節的結論是:對于全連接層神經網絡,當網絡參數服從高斯分布,且隱層寬度足夠大時,其每一維度的輸出都是一個高斯過程。

和常規 learning 問題一樣,我們的數據集有兩部分:訓練集測試集

我們將它們記為向量的形式:

4 總結

傳統神經網絡與神經網絡高斯過程(NNGP)最大的區別在于,后者沒有顯式的訓練的過程(即通過 BP 調整參數),而是只借助了神經網絡的結構信息(包括網絡參數的分布,激活函數)來生成一個 kernel,即協方差矩陣。

我們甚至都不需要真的生成一個神經網絡就可以得到 kernel:

假設我們用到是 ReLU 激活函數,那么從:

開始,到遞歸式:

都不需要涉及神經網絡的具體參數。

除此之外,還可以直接指定一個 empirical 的協方差矩陣,比如平方指數(squared exponential)誤差

參考文獻

[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.

文章轉自微信公眾號@算法進階

上一篇:

圖神經網絡原理解析及代碼實現(PyTorch)

下一篇:

神經網絡訓練失敗的原因總結
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費