貝葉斯深度學習-概述

1、背景

1.1 深度神經網絡

深度神經網絡是鏈接主義系統,經過它經過學習例子來完成任務,而不須要事先了解這些任務。它們能夠很容易地擴展到數百萬個數據點,而且能夠經過隨機梯度降低進行優化。
CNN是DNN的變體,可以適應各類非線性數據點。 起始層學習更簡單的特徵,如邊和角, 後續層學習複雜的特徵,如顏色,紋理等。此外,較高的神經元具備較大的感覺野,構建在起始層上。然而,與多層感知器不一樣, 權重共享是卷積神經網絡背後的主要思想。

1.2 問題

CNN經過反向傳播,根據網絡權重計算損失梯度。而反向傳播的超參數包括學習速率,動量,權重衰減等。找到最佳值所需的時間與 數據大小成比例
然而對於使用反向傳播訓練的網絡,僅在網絡中實現權重的 點估計,從而致使對正確的類別、預測或行動作出過於自信的決定。(因爲輸出層的softmax函數能夠實現機率得分,它壓縮了一個類的輸出機率得分,並使另外一個類的輸出機率得分最大化)。這樣的網絡能較好地擬合訓練數據,但不能預測新數據-即產生了對現有樣本的過分擬合。
目前主要經過正則化來消除過擬合,主要包括early stopping、權值衰減、L1- L2正則化,以及最流行和有效的dropout。可是, 當前神經網絡架構中缺乏預測中的不肯定性度量

2、機率機器學習和不肯定性

機器學習訓練模型模型從觀察到的數據(訓練數據)中學習一些模式和假設,並對未觀察到的數據(測試數據)進行推斷。然而,因爲輸入數據噪聲、感官噪聲、測量偏差、非最優超參數設置等諸多緣由,該模型對預測具備 不肯定性
 
從機率論的角度來看,用單點估計做爲權重來創建任何分類都是不合理的,並且神經網絡沒法正確評估訓練數據中的不肯定性。機器學習中的機率模型指出,全部形式的不肯定性不多是一個真實的值,而更像是一個機率值,並使用機率論來回答一切問題。機率分佈用於建模學習、不肯定性和未觀測狀態。在觀察數據以前,先定義一個先驗機率分佈,而後進行學習,一旦觀察到數據,該分佈就轉換爲後驗分佈。

2.1 不肯定性類型

網絡中的不肯定性是 衡量模型對其預測肯定程度的指標。在貝葉斯模型中,存在兩種主要的不肯定性類型: 偶然不肯定性(Aleatoric uncertainty)認知不肯定性(Epistemic uncertainty)
 
偶然不肯定性測量觀測中 固有的噪聲。這種不肯定性存在於數據採集方法中,如傳感器噪聲或沿數據集均勻分佈的運動噪聲。即便收集了更多的數據,也不能減小這種不肯定性。
偶然不肯定性能夠進一步分爲同方差不肯定性(Task-dependant or Homoscedastic uncertainty)和異方差不肯定性(Data-dependant or Heteroscedastic uncertainty)
· 異方差不肯定性,取決於輸入數據,並預測爲模型輸出。其中一些輸入可能具備比其餘輸入更多的噪聲輸出。異方差的不肯定性尤其重要,能夠防止模型輸出很是自信的決策。
· 同方差不肯定性,不取決於輸入數據。它不是模型輸出,而是一個 對全部輸入數據保持不變而且在不一樣任務之間變化的數量。所以,它能夠被描述爲任務相關的不肯定性。
 
認知不肯定性表明了模型自己形成的不肯定性。給定更多數據能夠減小這種不肯定性,而且一般稱爲 模型不肯定性
圖中說明了語義分割中的偶然和認知不肯定性之間的差別。 偶然不肯定性捕獲對象邊界時,標籤是有噪聲的;而當模型不熟悉人行道時,以及相應的增長的認知不肯定性,就致使了分割模型失敗的狀況。

3、貝葉斯深度學習

3.1 介紹

貝葉斯方法能夠用於學習神經網絡權重的機率分佈。將神經網絡中的wi 和 b 由肯定的值變成分佈(distributions)。具體而言,爲彌補反向傳播的不足,經過在模型參數或模型輸出上放置機率分佈來估計。在權重上放置一個先驗分佈,而後嘗試捕獲這些權重在給定數據的狀況下變化多少來模擬認知不肯定性。該方法不是訓練單個網絡,而是訓練網絡集合,其中每一個網絡的權重來自共享的、已學習的機率分佈。

3.2 使用和訓練

非貝葉斯網絡中,在各類超參數固定的狀況下,咱們訓練一個神經網絡想要的就是各個層之間的權重和偏置。
而對於貝葉斯深度學習,由於權重和偏置都是分佈,因此若是想進行前向傳播進行參數估計,須要對參數進行 屢次採樣。利用貝葉斯公式,求解w的後驗機率p(w|x,y)*。
 
*貝葉斯公式
p(z|x) 被稱爲後驗機率(posterior),p(x,z) 被稱爲聯合機率,p(x|z) 被稱爲似然(likelihood),p(z) 被稱爲先驗機率(prior),p(x) 被稱爲 evidence。
若是再引入全機率公式 p(x)=∫p(x|z)p(z)dz
但實際操做中,因爲網絡的複雜性(參數衆多,沒法積分),直接求解w的後驗機率幾乎不可能,由於一般採用一下幾種方式估計參數
(1)Approximating the integral with MCMC
(2)Using black-box variational inference (with Edward)
(3)Using MC (Monte Carlo) dropout
第(1)種狀況用 MCMC(Markov Chains Monte Carlo) 採樣去近似分母的積分。第(2)種直接用一個簡單點的分佈 q 去近似後驗機率的分佈 p,即無論分母怎麼積分,直接最小化分佈 q 和 p 之間的差別,如可使用 KL散度計算。

3.3 貝葉斯深度學習優點

(1)因爲能夠屢次採樣,所以訓練獲得的權重更加robust
(2)能夠獲得模型的不肯定性估計,由非softmax生成的機率

4、變分推理 Variational Inference

變分推理是經常使用的求解w後驗分佈的方式。通常的深度神經網絡,假設θ 是神經網絡的內部參數集,訓練目標是要找到一個最好的 θ* ,讓損失函數 Ln(θ) 最小。而在貝葉斯深度學習中,關心在數據D下模型參數θ 的分佈。其中 α 是 ℝd 上的θ先驗分佈(能夠理解爲從α 中能夠抽樣獲得 θ)。
實際中一般會使用簡單的變分分佈(如高斯分佈)對後驗進行建模,並嘗試使分佈的參數儘量接近真實的後驗。好比,通常用一個替代分佈q(θ|φ)去逼近後驗分佈p(θ|D), 若是沒法知道α 的真正形式,咱們就先造一個q(θ|φ)分佈,使得變分自由能(variational free energy)最小:
求解過程是經過最小化Kullback-Leibler(KL散度)與真實後驗的分歧來完成的。這種方式採樣獲得的權重w用於神經網絡的反向傳播以學習後驗分佈。
可是在在貝葉斯神經網絡中用來近似後驗的變分方法在計算上會大大增長參數的數量,而且訓練結果和dropout方法相似。爲了減小網絡的參數,採用模型修剪減小了深度神經網絡中各類鏈接矩陣中的稀疏問題,從而減小了模型中表值參數的數量。
 
· 相關研究
採用Backprop的Bayes構建貝葉斯神經網絡
用變分機率分佈q_θ(w | D)接近難以處理的真實後驗機率分佈p(w | D),前者包含高斯分佈μ∈ℝ^ d和σ∈ℝ^ d的特性。表示爲N(θ | μ,σ²),其中d是定義機率分佈的參數總數。這些高斯變分後驗機率分佈的形狀由它們的方差σ²肯定,表示每一個模型參數的不肯定性估計。
 
參考:
相關文章
相關標籤/搜索