A Comprehensive Introduction to Bayesian Deep Learning
貝葉斯深度學習綜合介紹
彌合基礎研究和現代研究之間的差距
![]()
- 引言貝葉斯(深度)學習一直令我既著迷又敬畏——或許因其高度依賴概率論,而后者本身便頗具挑戰性。我注意到,即便掌握基礎概率知識,仍將現代貝葉斯深度學習研究中的概念理解和聯系視為難事。本文旨在彌合這一鴻溝,提供一份全面且易懂的入門導引。
我將不從基礎講起,而是以 Andrew Wilson 與 Pavel Izmailov(紐約大學)在 NeurIPS 2020 上發表的一篇杰出論文《貝葉斯深度學習與泛化的概率視角》(Bayesian Deep Learning and a Probabilistic Perspective of Generalization)為切入點。該論文為我們提供了一個生動的起點,在其中可自然地接觸真實研究中的貝葉斯概念;我希望這能使貝葉斯視角更具象化,并彰顯其現實意義。
我將從論文摘要與引言著手,為后續討論鋪墊背景;每當遇到貝葉斯概念時,我會適時抽離,從概率論及機器學習/函數逼近兩個角度,給出兼具直覺與深度的系統性闡釋;同時,貫穿全文,我將持續回歸并關聯該論文內容。
愿你讀罷此文,不僅能多少“沾上幾分貝葉斯氣息”,更能理解該論文的諸多貢獻,并對“泛化”這一核心議題形成更深刻的認識。
- 神經網絡的泛化能力(摘要與引言)
如果你的貝葉斯知識有些生疏,這篇摘要或許顯得頗為晦澀。其中前兩句話對我們理解貝葉斯深度學習(Bayesian DL)至關重要;中間部分提出了三項技術性貢獻;最后加粗的兩句話則為理解神經網絡中若干神秘現象(如泛化)提供了新穎洞見的初步引導。我將逐一講解,但按部就班——先從論文引言開始。
引言中提出的一個關鍵問題是:神經網絡為何以及如何實現泛化?
作者指出:
“從概率視角看,泛化能力主要取決于模型的兩個屬性:支撐集(support)與歸納偏置(inductive biases)。”
- 支撐集(support)指模型所能處理的數據集類別范圍,換言之,即模型所能表示的函數集合——這些函數旨在逼近數據的生成過程。
- 歸納偏置則刻畫了某一模型類對特定類型數據集(如圖像、文本、數值特征)的擬合能力優劣。作者巧妙地將此稱為“支撐上的分布”(distribution of support),即:模型類性能(≈歸納偏置)在所有可能數據集(即支撐集)上的分布情況。
讓我們來看作者給出的幾個例子:
- 線性函數的支撐集是截斷的(truncated),因其甚至無法表示一個二次函數;
- 多層感知機(MLP)雖高度靈活,但其支撐在各類數據集上分布過于均勻,導致對許多圖像數據集而言缺乏針對性,因而“不夠有趣”;
- 卷積神經網絡(CNN)則在圖像識別任務中展現出支撐集與歸納偏置之間的良好平衡。圖2a對此作了清晰展示。
縱軸所表示的,即我此前樸素解釋為“模型對特定數據集擬合能力優劣”的量,實則為貝葉斯證據(Bayesian evidence),亦稱邊緣似然(marginal likelihood)——這是我們接觸到的第一個貝葉斯概念!我們將在下一節深入探討;現在,先完成當前思路。
一個優良的模型不僅需要足夠大的支撐集(以確保真實解在函數空間中可實現),還需具備恰當的歸納偏置(以真正收斂至該解)。當前可將貝葉斯后驗(Bayesian posterior)理解為我們的模型:在恰當歸納偏置作用下,后驗分布應能“收縮”(contract)至正確解;但同時,先驗假設空間必須足夠廣闊,以保證真實模型在函數意義上是可實現的(即具備寬泛的支撐集)。
下圖以三種示例模型直觀展示了這一點:從左至右依次為綠色的CNN、紫色的線性函數與粉色的MLP。
在引言的此處,作者再次強調——正如摘要首句所述:
“貝葉斯方法的關鍵區別性特征在于邊緣化(marginalization)而非優化(optimization):我們以所有參數取值按其后驗概率加權的方式表示解(即對參數進行積分),而非將全部賭注押在單一參數配置上。”
此刻正是深入探討“邊緣化 vs 優化”之差異,并全面拓展我們對貝葉斯方法理解的恰當時機。接下來,我們將逐一闡釋諸如后驗(posterior)、先驗(prior)、預測分布(predictive distribution)、邊緣似然(marginal likelihood)、貝葉斯證據(Bayesian evidence)、貝葉斯模型平均(Bayesian model averaging)、貝葉斯推斷(Bayesian inference)等核心概念。
3 回歸基礎:貝葉斯方法
我們隨處可見“邊緣化是貝葉斯統計的核心”這一論斷,甚至連 Bishop 的機器學習經典教材《模式識別與機器學習》(PRML)中亦如此強調。與貝葉斯視角相對的是頻率學派(frequentist)視角——這正是大多數機器學習文獻所采用的范式,也更易于理解。我們先從此處入手。
3.1 頻率學派方法
頻率學派的機器學習方法是:通過優化一個損失函數,以獲得模型參數的最優配置。例如,交叉熵損失常用于分類任務(如目標檢測或機器翻譯);最常用的優化技術則是各類(隨機)梯度下降(SGD)的變體。在 SGD 中,模型參數沿損失空間中下降最陡的方向迭代更新——該方向由損失函數關于參數的梯度決定。所期望的結果是:對于相同或相似的輸入,新參數配置能使模型輸出更接近目標值。對于神經網絡,梯度通常借助一種名為反向傳播(backpropagation)的計算技巧高效求得。
![]()
值得注意的是,這種通過 最大似然估計 (Maximum Likelihood Estimation, MLE)來獲取(或稱“訓練”)預測模型的頻率學派做法,實則可置于更廣闊的貝葉斯框架下理解——事實上,MLE 可視為 最大后驗估計 (Maximum A Posteriori, MAP)的一個特例:當先驗分布為均勻分布(uniform prior)時,MAP 即退化為 MLE(MAP 將在下文簡要討論)。
3.2 貝葉斯學派
貝葉斯方法的一個關鍵特性是真實地量化不確定性——這在現實世界應用中至關重要,尤其是在我們需要信賴模型預測結果的場合。因此,貝葉斯方法并不輸出參數的點估計(point estimate),而是定義一個完整的參數概率分布,我們稱之為后驗分布(posterior distribution)。該后驗分布表達了我們對各參數(取值)的信念、假設與不確定性程度。
我們利用貝葉斯定理(Bayes’ Theorem)來計算后驗分布。該定理是貝葉斯機器學習的核心(也因此得名),且可由基礎概率規則直接推導得出:
![]()
![]()
3.3 貝葉斯推斷與邊緣化
我們現已觸及問題的核心:貝葉斯推斷(Bayesian inference)是指學習(推斷)參數 w w的后驗分布的過程——這與頻率學派通過微分優化尋找最優 w w 的學習方式形成鮮明對比。
如前所述,為計算完整后驗,我們必須對整個參數空間進行邊緣化(即積分)。然而在實踐中,這項操作通常不可行(不可解,intractable),因為參數可能有無窮多種取值。正因如此,貝葉斯方法本質上是以邊緣化而非優化為核心。
后驗中出現的不可解積分催生了一類不同的參數學習方法。不同于梯度下降,貝葉斯學派常采用采樣方法(如馬爾可夫鏈蒙特卡洛,MCMC)或變分推斷(variational inference)——后者試圖用一類更簡單、可解的分布族來近似真實后驗。類似技術也廣泛用于生成模型(如變分自編碼器,VAE)。近年來,標準化流(normalizing flows)作為一種較新的方法,也被用于對復雜分布進行高精度近似。
- 如何在實踐中使用后驗分布?
既然我們已理解貝葉斯后驗分布的含義,那么在實際應用中該如何使用它呢?例如,若我們想預測一個未見過的句子 x 對應的下一個詞 y ,該怎么做?
4.1 最大后驗估計(MAP)
一種做法是:直接取模型 M M 的參數后驗分布,并選擇其中概率密度最高的參數配置 w (即分布的眾數,mode)——該方法稱為最大后驗估計(Maximum A Posteriori, MAP)。
然而…… 若我們費盡周折計算出完整的參數概率分布,最終卻僅取一個點估計,豈非可惜?(除非后驗分布的絕大部分概率質量確實高度集中于參數空間中某一點。)
正因 MAP 仍輸出點估計,它不被視為完整的貝葉斯方法。
4.2 完整的預測分布
![]()
這一過程稱為貝葉斯模型平均(Bayesian Model Averaging, BMA)——即對所有可能的模型(此處指所有可能的參數配置)進行加權平均。
在貝葉斯機器學習中,預測分布的計算是邊緣化的第二個關鍵應用場景,第一個則是后驗本身的計算。
一種直觀理解預測分布的方式是借助簡單回歸任務進行可視化(如下圖所示);具體示例可參見這些幻燈片(第9–21頁)。
4.3 近似預測分布
正如我們所知,預測分布中的積分往往不可解,至少計算代價極高。使用后驗的第三種方法是:采樣若干組參數配置,并融合對應模型的預測結果(例如實現近似的貝葉斯模型平均,BMA)。該方法實則被稱為預測分布的蒙特卡洛近似(Monte Carlo approximation)!
這最后一種方法隱約讓人聯想到一個對樸素頻率學派而言或許更熟悉的概念——深度集成(deep ensembles)。深度集成通過組合多個架構相同、但參數初始化不同的神經網絡而構建。這恰與我們此前論文討論的結尾處巧妙呼應!還記得論文摘要嗎?
“我們證明,深度集成為近似貝葉斯邊緣化提供了一種有效機制,并提出一種相關方法,通過在吸引域(basins of attraction)內部進一步邊緣化,從而提升預測分布的質量。”
如今第二次重讀此摘要,其各項貢獻應已清晰許多。同時,我們也終于正式邁入了貝葉斯深度學習(Bayesian Deep Learning)的領域!
- 貝葉斯深度學習
貝葉斯神經網絡(Bayesian Neural Network, BNN)本質上就是將后驗推斷應用于神經網絡架構:具體而言,為每個權重與偏置指定一個先驗分布。然而,由于神經網絡參數空間極為龐大,其后驗推斷比常規模型更加困難。
那么,為何還要開展貝葉斯深度學習?
經典答案是:為獲得對不確定性的真實刻畫與良好的校準性(calibration)。當分類器對某類預測的置信度(概率)與其實際錯誤率一致時,稱該分類器是校準良好的——如前所述,這對現實應用至關重要。
“神經網絡通常存在校準不良問題,其預測往往過度自信。”
然而,我們正在研讀的這篇論文作者 Wilson 與 Izmailov 指出:貝葉斯模型平均(BMA)不僅能提升不確定性估計,還能提高預測準確率。根據第3.1節所述,貝葉斯視角對神經網絡尤其具有說服力:因其龐大的參數空間,神經網絡可表征大量與觀測數據一致的不同解(即模型嚴重欠定,underspecified)。正因如此,貝葉斯模型平均極為有用——它能將多種多樣的函數形式(或稱“視角”)融合為一。
“神經網絡能夠表征眾多與觀測一致的模型;若依經典方法僅擇其一,則當這些模型在測試點上預測分歧時,我們便丟失了關鍵的不確定性信息。”
5.1 近期(近似)貝葉斯深度學習方法
近期,許多研究者嘗試融合傳統神經網絡(如借助 SGD 與反向傳播實現高效訓練)與貝葉斯方法(如良好校準性)各自的優勢。
蒙特卡洛 Dropout(Monte Carlo Dropout)
一種流行且概念簡潔的方法。回顧可知,Dropout 傳統上用作正則化手段——通過在訓練中隨機“關閉”部分權重,為網絡引入隨機性或多樣性。研究發現,Dropout 可被重新詮釋為一種近似貝葉斯推斷,并可應用于測試階段:此時多次前向傳播將產生多個不同的參數配置。這聽起來是否與“從后驗中采樣參數以近似預測分布”頗為相似?
隨機權值平均—高斯(Stochastic Weight Averaging – Gaussian, SWAG)
另一類工作源于隨機權值平均(SWA)——這是一種優雅的集成近似方法,通過智能地融合同一網絡在訓練不同階段的權重實現(若想深入了解,可參閱相關博客)。SWAG 在其基礎上進一步發展:利用 SGD 過程中提供的簡單統計量,近似后驗分布的形狀(即局部幾何結構)。
回想一下,SGD 實質是在參數空間中“移動”,以尋找損失函數的(局部)極小值點。為刻畫后驗的局部幾何特性,SWAG 用高斯分布擬合 SGD 迭代軌跡的一階矩(均值)與二階矩(協方差):矩(moments)用于描述函數或分布的形狀——零階矩為總和,一階矩為均值,二階矩為方差。所得高斯近似即可用于貝葉斯模型平均(BMA)。
頻率學派的不確定性表征替代方法
顯然,我在此僅提及了該領域不到 1% 的工作(例如:用于提升校準性的 KFAC Laplace 近似、溫度縮放等),所選上述例子部分原因在于它們與我們正在解讀的論文密切相關。最后再補充一個近期流行的頻率學派(抑或……?)不確定性近似方法作為收尾:該方法表明,可訓練一個深度集成(deep ensemble),并利用其構建預測分布,從而獲得校準良好的模型。作者還引入若干附加技巧(此處不展開),例如使用對抗訓練來平滑預測分布。詳見該論文:https://arxiv.org/abs/1612.01474 。
- 回歸論文
至此,我們已充分準備就緒,可以重返論文本身,系統梳理其核心貢獻了!現在理解起來應當輕松許多
6.1 深度集成即貝葉斯模型平均(BMA)
Wilson 與 Izmailov 指出:與近期文獻(包括筆者自己)的通常觀點相反,深度集成并非一種“頻率學派替代方案”以獲取貝葉斯優勢;實際上,它正是對后驗分布的一種極佳近似。
由于深度集成通過多次獨立的 MAP 或 MLE 重訓練構建,不同成員往往收斂至損失曲面上不同的吸引域(basins of attraction)——即通向某(局部)最優解的“盆地”或谷底。然而,損失景觀中通常存在多個最優解(即多個谷底),而非唯一。
由集成中不同成員所發現的多個吸引域,帶來了比“僅在單個吸引域內近似后驗”的貝葉斯方法更豐富的函數多樣性(functional diversity)。
6.2 融合深度集成與貝葉斯神經網絡(第4節)
上述“利用多個吸引域”的思想對下一項貢獻同樣關鍵——即一種改進的預測分布近似方法。作者將深度集成所具備的“多吸引域”特性與 SWAG 的貝葉斯處理方式相結合,提出了一種集兩者之長的方案:多吸引域隨機權值平均高斯法(Multiple basins of attraction Stochastic Weight Averaging Gaussian),簡稱 MultiSWAG:
“MultiSWAG 組合了多個獨立訓練所得的 SWAG 近似,構建出一個高斯混合后驗近似,其中每個高斯分量中心位于不同的吸引域上。值得注意的是,MultiSWAG 相較于標準深度集成,并未增加任何額外訓練時間。”
若想了解具體技術細節,歡迎查閱原文
6.3 神經網絡先驗(第5節)
你或許會問:我們怎么可能為數百萬參數指定一個有意義的先驗?這確實是個極為合理的問題——事實上,這也常被用作對貝葉斯方法的批評之一。
然而,論文第5節中,Wilson 與 Izmailov 提供了證據:采用模糊先驗(如簡單高斯先驗)
“對參數施加模糊的高斯先驗,當與神經網絡架構相結合時,可誘導出一個在函數空間上具有有益歸納偏置的函數分布。” …… “函數上的分布(distribution over functions)決定了模型的泛化性能;而孤立的參數先驗本身并無實際意義。”
換言之:一個模糊的參數先驗,經由神經網絡的函數形式映射后,可在函數空間中產生有意義的分布。關鍵不在于先驗本身的形式,而在于它對最終預測分布所產生的影響。
6.4 重新思考泛化與雙重下降現象(第6、7節)
我們現已來到摘要中所強調的那些“奇特神經網絡現象”。根據第6節所述,神經網絡能夠擬合隨機標簽這一看似驚人的事實,實則毫不奇怪——只要從支撐集與歸納偏置的視角加以審視。
寬泛的支撐集(即滿足 p ( D ∣ M ) > 0 的數據集范圍)對泛化至關重要。事實上,只要具備恰當的歸納偏置,能將模型引導至優良解,那么“擬合隨機標簽”的能力本身并無問題。Wilson 與 Izmailov 進一步指出,這一現象并非神經網絡所特有;高斯過程(Gaussian Processes)同樣展現出擬合隨機標簽的能力,因而它并非某種神秘的神經網絡專屬特性。
雙重下降(Double Descent)
第二個現象是“雙重下降”——這是近期發現的一種反常現象:模型規模增大或數據量增多時,性能反而意外下降。
Wilson 與 Izmailov 發現:使用 SGD 訓練的模型會出現雙重下降現象,而 SWAG 可在一定程度上緩解該現象;更重要的是,MultiSWAG 與深度集成均能完全消除雙重下降現象!這一結果與他們此前的論斷高度一致:
“深度集成對貝葉斯預測分布的近似效果,優于傳統的單吸引域貝葉斯邊緣化方法。”
同時也凸顯了:對后驗分布多個模態(modes)
https://towardsdatascience.com/a-comprehensive-introduction-to-bayesian-deep-learning-1221d9a051de/
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.