从Bayes角度理解Deep learning
從貝葉斯角度思考神經(jīng)網(wǎng)絡(luò)
01
?
理解模型所不能勝任的工作是重要的,無(wú)論是從實(shí)踐者的角度,還是對(duì)不同機(jī)器學(xué)習(xí)應(yīng)用的端側(cè)使用者來(lái)說(shuō)。我們?cè)谙惹暗牟┛屠镆呀?jīng)討論了不同類(lèi)型的不確定性,闡釋了如何使用不確定性解釋和調(diào)試模型。
?
在這篇博客里,我們將要討論不同的在深度神經(jīng)網(wǎng)絡(luò)中獲取不確定性的方法。我們先從貝葉斯的視覺(jué)來(lái)看待神經(jīng)網(wǎng)絡(luò)。
02
貝葉斯學(xué)習(xí) 101
貝葉斯統(tǒng)計(jì)使我們能夠基于證據(jù)(數(shù)據(jù))和先驗(yàn)知識(shí)得到關(guān)于現(xiàn)實(shí)世界的結(jié)論。其常常與僅僅考慮證據(jù)的頻率統(tǒng)計(jì)學(xué)作比較。先驗(yàn)知識(shí)描述了我們關(guān)于生成數(shù)據(jù)的模型或模型權(quán)重的信念。我們可以將該信念表示為模型權(quán)重上的一個(gè)先驗(yàn)分布p(w)。
?
當(dāng)我們收集更多數(shù)據(jù),我們更新先驗(yàn)分布并基于貝葉斯法則將其轉(zhuǎn)換為后驗(yàn)概率分布,這一過(guò)程稱(chēng)為貝葉斯更新:
?
?
?
該等式引入貝葉斯學(xué)習(xí)中的另一個(gè)主角——似然,定義為p(y|x,w)。它表示給定模型權(quán)重下數(shù)據(jù)的可能性。
03
貝葉斯視角下的神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)的目標(biāo)是估計(jì)似然p(y|x,w),即使你明確沒(méi)有這樣做,也是確實(shí)如此,例如,當(dāng)你最小化MSE(均方誤差)的時(shí)候。
?
我們可以通過(guò)最大化似然估計(jì)得到最優(yōu)的模型權(quán)重。
04
或者,我們可以利用表示為關(guān)于權(quán)重的先驗(yàn)分布的先驗(yàn)知識(shí),最大化后驗(yàn)分布。這一方法稱(chēng)為最大化后驗(yàn)估計(jì)(Maximum Aposteriori Estimation):
?
?
?
表示先驗(yàn)的項(xiàng)logP(w),作為一個(gè)正則項(xiàng)。若選擇均值為0的高斯分布作為先驗(yàn),你將得到一個(gè)在數(shù)學(xué)上等價(jià)的L2的正則項(xiàng)。
?
現(xiàn)在我們先將神經(jīng)網(wǎng)絡(luò)看作概率性的產(chǎn)物,讓事情變得有趣點(diǎn)。首先,沒(méi)有人要求在訓(xùn)練過(guò)程結(jié)束后我們必須輸出一個(gè)權(quán)重集合。如若我們學(xué)習(xí)一個(gè)關(guān)于權(quán)重分布的模型,而不是學(xué)習(xí)模型的權(quán)重,會(huì)怎樣呢?這讓我們得以估計(jì)關(guān)于權(quán)重的不確定性。接下來(lái),我們?cè)撛趺醋?#xff1f;
05
?
只要你開(kāi)始嘗試使用貝葉斯,你就回不去啦
?
我們重新開(kāi)始對(duì)權(quán)重進(jìn)行預(yù)先分配,并旨在找到它們的后驗(yàn)分布。這一次,我們不是直接優(yōu)化網(wǎng)絡(luò)的權(quán)重,而是對(duì)所有可能的權(quán)重(稱(chēng)為邊緣化)進(jìn)行平均。
在推理中,我們不是采用最大化后驗(yàn)分布的單一權(quán)重集(或者如果我們使用MLE,則是可能性),而是考慮所有可能的權(quán)重,并通過(guò)它們的概率加權(quán)。這是通過(guò)使用積分來(lái)實(shí)現(xiàn)的:??
?
06
x是我們想要推斷y的數(shù)據(jù)點(diǎn),X,Y是訓(xùn)練數(shù)據(jù)。第一項(xiàng)p(y | x,w)是我們很好的舊似然,第二項(xiàng)p(w | X,Y)是給定數(shù)據(jù)的模型權(quán)重的后驗(yàn)概率。 ??
?
我們可以將其視為由每個(gè)模型的概率加權(quán)的模型集合。實(shí)際上,這相當(dāng)于無(wú)限數(shù)量的神經(jīng)網(wǎng)絡(luò)的集合,具有相同的架構(gòu)但具有不同的權(quán)重。?
?
我們達(dá)到了嗎??
?
事實(shí)證明,在大多數(shù)情況下,這種積分是難以處理的。這是因?yàn)闊o(wú)法通過(guò)分析評(píng)估后驗(yàn)概率。 ??
?
這個(gè)問(wèn)題并非貝葉斯神經(jīng)網(wǎng)絡(luò)所獨(dú)有。在很多貝葉斯學(xué)習(xí)的情況下,你會(huì)遇到這個(gè)問(wèn)題,多年來(lái)已經(jīng)開(kāi)發(fā)出許多克服這個(gè)問(wèn)題的方法。我們可以將這些方法分為兩類(lèi):變分推理和抽樣方法??
07
蒙特卡洛抽樣?
?
我們出現(xiàn)了問(wèn)題。后驗(yàn)分布是難以處理的。如果不是計(jì)算真實(shí)分布上的積分而不是計(jì)算從中得到的樣本的平均值,那么該怎么辦呢?一種方法是馬爾可夫鏈蒙特卡羅 - 你構(gòu)造一個(gè)馬克夫鏈,所需的分布作為其平衡分布。?
?
?變分推理?
?
另一種解決方案是使用與易處理家庭不同的分布來(lái)近似真實(shí)難以處理的分布。為了測(cè)量?jī)蓚€(gè)分布的相似性,我們可以使用KL分歧:??
08
設(shè)變分分布 q 的變分參數(shù)為θ ,目標(biāo)是找到特定的θ 值最小化 KL 散度。
先來(lái)看看已知信息:第一項(xiàng)是變分分布與先驗(yàn)分布之間的 KL 散度,第二項(xiàng)是關(guān)于 qθ的似然。因?yàn)橐蟮氖墙忉寯?shù)據(jù)最好的 qθ,另外能夠盡可能地靠近先驗(yàn)分布。這只是將引入正則化的另一種方法。
?
現(xiàn)在可以基于 qθ做預(yù)測(cè):
上面的公式來(lái)源于 2015 年 DeepMind 發(fā)表的論文。類(lèi)似的想法在 2011 年的時(shí)候被 graves 提出,更早的是由 Hinton 和 vanCamp 在 1993 年提出。在 NIPS 的 Keynote talk 上,貝葉斯深度學(xué)習(xí)工作室展示了這些思想在這些年來(lái)的演變。
?
但是如果不想從頭訓(xùn)練一個(gè)模型又該怎么辦呢?如果已有一個(gè)訓(xùn)練過(guò)得模型,我們?nèi)绾位谒@得不確定性估計(jì)呢?這可行嗎?
?
結(jié)果證明如果在訓(xùn)練時(shí)進(jìn)行 dropout,可以實(shí)現(xiàn)上述想法。
09
dropout是不確定性的一種手段?
?
dropout是一種很好用的練習(xí)器作為正規(guī)則。在訓(xùn)練時(shí)間,你隨機(jī)抽樣節(jié)點(diǎn)并將它們刪除,即 - 將它們的輸出設(shè)置為0.動(dòng)機(jī)?您不希望過(guò)度依賴(lài)特定節(jié)點(diǎn),這可能意味著過(guò)度擬合。 ??
?
2016年,Gal和Ghahramani表明,如果您在推理時(shí)間應(yīng)用 dropout? ,您可以輕松獲得不確定性估算:?
1.多次推斷y | x,每次采樣一組不同的節(jié)點(diǎn)退出。?
2.平均預(yù)測(cè)以獲得最終預(yù)測(cè)E(y | x)。?
3.計(jì)算預(yù)測(cè)的樣本方差。 ??
?
而已!你得到了方差的估計(jì)!這種方法背后的直覺(jué)是,訓(xùn)練過(guò)程可以被認(rèn)為是同時(shí)訓(xùn)練2 ^ m個(gè)不同模型 - 其中m是網(wǎng)絡(luò)中節(jié)點(diǎn)的數(shù)量:未被丟棄的每個(gè)節(jié)點(diǎn)子集定義新模型。所有模型共享它們不會(huì)丟棄的節(jié)點(diǎn)的權(quán)重。在每批中,訓(xùn)練隨機(jī)抽樣的這些模型組。 ??
?
訓(xùn)練結(jié)束后,你手中就會(huì)擁有一系列模特。如果你在推理時(shí)使用這個(gè)整體,如上所述,你會(huì)得到整體的不確定性。??
10
采樣方法與變分推理?
?
就偏差 - 方差權(quán)衡而言,變分推理具有較高的偏差,因?yàn)槲覀冞x擇了分布族。這是我們正在做的一個(gè)強(qiáng)有力的假設(shè),并且作為任何強(qiáng)有力的假設(shè),它引入了偏見(jiàn)。但是,它很穩(wěn)定,方差很小。 ??
?
另一方面,采樣方法具有較低的偏差,因?yàn)槲覀儾粚?duì)分布做出假設(shè)。這是以高差異為代價(jià)的,因?yàn)榻Y(jié)果取決于我們繪制的樣本??
11
最后的想法?
?
能夠估計(jì)模型不確定性是一個(gè)熱門(mén)話(huà)題。在醫(yī)療助理和自動(dòng)駕駛汽車(chē)等高風(fēng)險(xiǎn)應(yīng)用中了解它非常重要。它也是一個(gè)有價(jià)值的工具,可以了解哪些數(shù)據(jù)可以使模型受益,因此我們可以去獲取它。 ??
在這篇文章中,我們介紹了一些獲得模型不確定性估計(jì)的方法。還有更多的方法,所以如果您對(duì)此感到高度不確定,請(qǐng)繼續(xù)尋找更多數(shù)據(jù)?
總結(jié)
以上是生活随笔為你收集整理的从Bayes角度理解Deep learning的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: IPv6推进将非常漫长
- 下一篇: 生成网站页面的截图