1. 程式人生 > >What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision?

What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision?

原論文連結

一、摘要:

  1. 主要有兩大類不確定性,偶然不確定性(aleatoric uncertainty)和認知不確定性(epistemic uncertainty),偶然不確定性用來描述觀測中固有的噪聲;認知不確定性則是用來描述模型中的不確定性。認知不確定性往往比較難計算,但現在可以利用基於貝葉斯深度學習的方法進行求解。本文利用貝葉斯深度學習方法對兩種不確定性進行建模用以解決計算機視覺中的相關問題。
  2. 本文提出了一種結合偶然不確定性以及認知不確定性的貝葉斯深度學習架構。本文利用該架構完成素級的語義分割和深度迴歸的任務。
  3. 同時,基於所提出的不確定性公式,本文針對以上問題設計了新的損失函式,這使得衰減項對噪聲具有更高的魯棒性,同時得到目前效能最好的語義分割和深度迴歸結果。

二、介紹:

  1. 很多機器學習演算法可以很好地將高維空間的資料對映成低維陣列,但很少考慮這些對映的準確率,從而導致很多災難性的後果。
  2. 量化不確定性在計算機視覺領域可以被分為迴歸和分類兩大類。現存的描述不確定性的方法有粒子濾波法,條件隨機場法。深度學習方法往往很難描述不確定性。例如在分類問題中,深度學習演算法常常更夠給出歸一化的得分向量,但是不需要計算模型的不確定性。基於貝葉斯的深度學習演算法則可以在擁有深度學習高效能的同時計算出模型的不確定性。
  3. 同方差不確定性(homoscedastic)和異方差不確定性(heteroscedastic)。偶然不確定性是同方差不確定性,是模型固有不確定性;認知不確定性是異方差不確定性,是由於每個輸入的噪聲不同造成的。
  4. 在大資料背景下對偶然不確定性進行建模是十分重要的,偶然不確定性往往是不能通過大量資料進行解釋的,因此本文提出一種統一的貝葉斯深度學習框架對偶然不確定性進行對映並將其與認知不確定性相結合,本文所提出的框架可同時在分類和迴歸問題中進行使用。

創新點:

  1. 我們掌握了對偶然和認知不確定性的精確的描述方法,特別的,我們提出了一種新的基於不確定性的 分類方法。
  2. 通過明確表示出偶然不確定性而獲得的隱含衰減(the implied attenuation)減少了噪聲的影響,基於此,我們提出的模型可以提高非貝葉斯模型效能的1-3%。
  3. 本文通過表徵兩種不確定性的特性以及比較兩種模型的效能和計算時間來研究如何對兩者進行權衡。

三、相關工作:

1. 在貝葉斯深度學習中如何對認知不確定性進行建模:

  1. 根據先驗分佈對神經網路權重進行初始化,例如利用高斯分佈初始化。
  2. 貝葉斯神經網路(BNN)的權值不是特定的數值,而是用概率分佈來表示。在對權值進行優化時,不直接優化數值,而是對所有可能的權值進行平均(也稱為邊緣化‘marginalisation’)。
  3. 定義BNN絡的隨機輸出為fW(x)” role=”presentation” style=”position: relative;”>fW(x)fW(x)
  4. 針對迴歸模型,我們通常定義模型似然為均值是模型輸出的高斯分佈p(y|fW(x))=N(fW(x),σ2)” role=”presentation” style=”position: relative;”>p(y|fW(x))=N(fW(x),σ2)p(y|fW(x))=N(fW(x),σ2)
  5. BNN很容易進行構建,但不易計算,這是因為用於估計後驗概率p(W|X,Y)=p(Y|X,W)p(W)/p(Y|X)” role=”presentation” style=”position: relative;”>p(W|X,Y)=p(Y|X,W)p(W)/p(Y|X)p(W|X,Y)=p(Y|X,W)p(W)/p(Y|X),最終對簡單分佈的引數進行優化而不是優化原BNN的引數,這樣做可以解決對BNN中所有權值求平均值的難題。
  6. Dropout變分推理是常用的在大型複雜模型中進行近似推理的方法。通過在對網路進行訓練時在每層之前加入一個Dropout,以及在測試時加入Dropout進行取樣(稱為蒙特卡洛dropout)從而實現近似計算。換句話說,這個方法相當於我們利用簡單的分佈qθ∗(W)” role=”presentation” style=”position: relative;”>qθ(W)qθ∗(W)為簡單分佈的優化引數(實際為帶dropout的權值矩陣)。
    L(θ,p)=−1N∑i=1Nlog⁡p(yi|fWi^(xi))+1−p2N||θ||2” role=”presentation” style=”text-align: center; position: relative;”>L(θ,p)=1Ni=1Nlogp(yi|fWi^(xi))+1p2N||θ||2L(θ,p)=−1N∑i=1Nlog⁡p(yi|fWi^(xi))+1−p2N||θ||2 L(\theta,p)=-\frac{1}{N}\sum_{i=1}^N\log p(y_i|f^{\hat{W_i}}(x_i))+\frac{1-p}{2N}||\theta||^2
  7. 在迴歸問題中,針對高斯似然,觀測噪聲引數為σ” role=”presentation” style=”position: relative;”>σσ,負對數似然可以進一步簡化為下式,可以用來計算輸出中的噪聲值:
    −log⁡p(yi|fWi^(xi))∝12σ2||yi−fWi^(xi)||2+12log⁡σ2” role=”presentation” style=”text-align: center; position: relative;”>logp(yi|fWi^(xi))12σ2||yifWi^(xi)||2+12logσ2−log⁡p(yi|fWi^(xi))∝12σ2||yi−fWi^(xi)||2+12log⁡σ2 -\log p(y_i|f^{\hat{W_i}}(x_i))\propto \frac{1}{2\sigma^2}||y_i-f^{\hat{W_i}}(x_i)||^2+\frac{1}{2}\log\sigma^2
  8. 我們可以通過大量觀測資料減小權值的認知不確定性,但在邊際化(近似)權值的後驗分佈時會引入預測不確定性(prediction uncertainty)。
  9. 在分類問題中,預測不確定性可以利用蒙特卡洛積分來近似,其中T為模型取樣個數,其權值為Wi^∼qθ∗(W)” role=”presentation” style=”position: relative;”>Wi^qθ(W)Wi^∼qθ∗(W)
    p(y=c|x,X,Y)≈1T∑t=1TSoftmax(fWt^(x))” role=”presentation” style=”text-align: center; position: relative;”>p(y=c|x,X,Y)1Tt=1TSoftmax(fWt^(x))p(y=c|x,X,Y)≈1T∑t=1TSoftmax(fWt^(x)) p(y=c|x,X,Y)\approx\frac{1}{T}\sum_{t=1}^TSoftmax(f^{\hat{W_t}}(x))
  10. 在迴歸問題中,這一認知不確定性可以通過預測方差來進行計算,其中預測均值為E(y)≈1T∑t=1TfWt^(xt)” role=”presentation” style=”position: relative;”>E(y)1TTt=1fWt^(xt)E(y)≈1T∑t=1TfWt^(xt)全取相同場數時)。
    Var(y)≈σ2+1T∑t=1TfWt^(xt)TfWt^(xt)−E(y)TE(y)” role=”presentation” style=”text-align: center; position: relative;”>Var(y)σ2+1Tt=1TfWt^(xt)TfWt^(xt)E(y)TE(y)Var(y)≈σ2+1T∑t=1TfWt^(xt)TfWt^(xt)−E(y)TE(y) Var(y)\approx\sigma^2+\frac{1}{T}\sum_{t=1}^Tf^{\hat{W_t}}(x_t)^Tf^{\hat{W_t}}(x_t)-E(y)^TE(y)

2. 異方差的偶然不確定性計算

為了計算迴歸問題中的偶然不確定性,我們需要對觀測噪聲引數σ” role=”presentation” style=”position: relative;”>σσ進行調整。同方差迴歸假設每一個輸入的觀測噪聲為恆值,異方差迴歸則假設觀測噪聲是隨輸入而變化的。當部分觀測空間具有更高級別的噪聲時,異方差模型是十分有效的。在非BNN中,觀測噪聲通常是固定的,作為權值衰減的一部分。實際上是可以將其作為資料的函式來進行學習:

LNN(θ)=−1N∑i=1N12σ(xi)2||yi−f(xi)||2+12log⁡σ(xi)2” role=”presentation” style=”text-align: center; position: relative;”>LNN(θ)=1Ni=1N12σ(xi)2||yif(xi)||2+12logσ(xi)2LNN(θ)=−1N∑i=1N12σ(xi)2||yi−f(xi)||2+12log⁡σ(xi)2 L_{NN}(\theta)=-\frac{1}{N}\sum_{i=1}^N\frac{1}{2\sigma(x_i)^2}||y_i-f(x_i)||^2+\frac{1}{2}\log\sigma(x_i)^2
λ” role=”presentation” style=”position: relative;”>λλ找一個單獨的值,這種方法不是用來計算認知不確定性,因為認知不確定性是模型屬性,而此處我們計算的資料屬性。

四、將兩種不確定性在同一模型中進行結合

目前兩種不確定性通常是分開研究的。通常通過網路模型引數的概率分佈來研究認知不確定性,首先通過將先驗分佈置於模型的權重上進行建模,然後嘗試計算這些權重隨著資料變化的規律;通過研究網路輸出來研究偶然不確定性,通常是對模型的輸出進行擬合。例如在迴歸問題中,我們可以把輸出建模為隨著高斯隨機噪聲而衰減,此時,我們可以認為噪聲的方差是不同輸入的函式。

在這一節中,我們提出一些即可以讓我們對兩種不確定性分別進行研究,又可以同時對兩種不確定性同時進行研究的模型。將回歸問題中的偶然不確定性看作學習的損失衰減可以使得損失值對噪聲更加魯棒。我們將異方差迴歸問題中的這一想法進行擴充套件在分類問題中進行使用,從而知道如何學習分類問題中損失衰減。

1.將異方差偶然不確定性和認知不確定性相結合

  1. 在上一節中,為了同時計算兩種不確定性,我們通過將一個分佈放置在模型權值上從而將異方差NN轉化成BNN,在本節中,我們將專門構建一個用於視覺模型的BNN。
  2. 為了構建這一系統,我們需要找到BNN模型f” role=”presentation” style=”position: relative;”>ff的偶然不確定性的描述方式。我們利用之前提到的dropout變分分佈來近似BNN的後驗,但這一次同時結合預測均值和預測方差:
    [y^,σ^2]=fW^(x)” role=”presentation” style=”text-align: center; position: relative;”>[y^,σ^2]=fW^(x)[y^,σ^2]=fW^(x) [\hat y,\hat \sigma^2]=f^{\hat W}(x)
  3. 我們利用高斯似然來對偶然不確定性建模,這給出了在給定輸出標註下的最小化目標值x” role=”presentation” style=”position: relative;”>xx的個數:
    LNN(θ)=1D∑i=112σ−2||yi−y^i||2+12log⁡σ^i2” role=”presentation” style=”text-align: center; position: relative;”>LNN(θ)=1Di=112σ2||yiy^i||2+12logσ^2iLNN(θ)=1D∑i=112σ−2||yi−y^i||2+12log⁡σ^i2 L_{NN}(\theta)=\frac{1}{D}\sum_{i=1}\frac{1}{2}\sigma^{-2}||y_i-\hat y_i||^2+\frac{1}{2}\log\hat\sigma_i^2
  4. 這一損失包含兩個部分通過模型得到的隨機樣本的殘差迴歸——利用引數的不確定性;以及一個不確定性的正則化項。我們不需要通過“不確定的標註”來學習不確定性,我們僅需要監督迴歸任務的學習。我們從損失函式中直接學到方差σ2” role=”presentation” style=”position: relative;”>σ2σ2來訓練網路,如下所示,這樣做的好處在於對數方差比方差具有更好的數值穩定性,避免損失中分母項出現0。同時,指數對映可以迴歸不受約束的標量值,可以給出有效方差的正域。
    LNN(θ)=1D∑i=1exp⁡(−si)||yi−y^i||2+12si” role=”presentation” style=”text-align: center; position: relative;”>LNN(θ)=1Di=1exp(si)||yiy^i||2+12siLNN(θ)=1D∑i=1exp⁡(−si)||yi−y^i||2+12si L_{NN}(\theta)=\frac{1}{D}\sum_{i=1}\exp(-s_i)||y_i-\hat y_i||^2+\frac{1}{2}s_i
  5. 總的來說,對於畫素y” role=”presentation” style=”position: relative;”>yy的取樣結果。
    Var(y)≈1T∑t=1Ty^t2−(1T∑t=1Ty^t)2+1T∑t=1Tσ^t2” role=”presentation” style=”text-align: center; position: relative;”>Var(y)1Tt=1Ty^2t(1Tt=1Ty^t)2+1Tt=1Tσ^2tVar(y)≈1T∑t=1Ty^t2−(1T∑t=1Ty^t)2+1T∑t=1Tσ^t2 Var(y)\approx\frac{1}{T}\sum_{t=1}^T\hat y_t^2-(\frac{1}{T}\sum_{t=1}^T\hat y_t)^2+\frac{1}{T}\sum_{t=1}^T\hat\sigma_t^2

2.將異方差不確定性作為學習損失衰減

我們發現允許網路預測不確定性使得其可以通過exp⁡(−si)” role=”presentation” style=”position: relative;”>exp(si)exp⁡(−si)高效的訓練損失殘差。這一行為與一個智慧魯棒的迴歸函式是類似的,它允許網路適應殘差的權重,甚至允許網路學習減弱錯誤標籤的影響,這使得模型對噪聲的魯棒性增強:針對預測出高不確定性的輸入,模型將對損失函式產生較小的影響。

這一模型不鼓勵對所有的輸入產生高不確定性(通過log⁡σ2” role=”presentation” style=”position: relative;”>logσ2log⁡σ2值會過於誇大殘差的影響,同樣會對模型進行懲罰。值得強調的是,這種學習衰減不是一種特殊設計的結構,而是模型概率解釋的結果。

3.將異方差不確定性應用於分類問題中

  1. 這種在迴歸問題中異方差NN學習損失衰減的特質在分類問題中也同樣適用。因為分類問題往往存在跟輸入有關的不確定性,因此分類問題中的異方差NN需要特定的模型。為此,我們調整標準分類模型,使處於對數空間中的中間異方差迴歸不確定性邊際化,從而得到異方差分類NN。在分類問題中,NN將會對每一個畫素i” role=”presentation” style=”position: relative;”>ii
    x^i|W∼N(fiW,(σiW)2)” role=”presentation” style=”text-align: center; position: relative;”>x^i|WN(fWi,(σWi)2)x^i|W∼N(fiW,(σiW)2) \hat x_i|W\sim N(f_i^W,(\sigma_i^W)^2)
    p^i=Softmax(x^i)” role=”presentation” style=”text-align: center; position: relative;”>p^i=Softmax(x^i)p^i=Softmax(x^i) \hat p_i=Softmax(\hat x_i)
  2. 我們期望的模型對數似然如下所示,其中c” role=”presentation” style=”position: relative;”>cc是分類,可以給出損失函式:
    log⁡EN(x^t;ftW,(σtW))[p^i,c]” role=”presentation” style=”text-align: center; position: relative;”>logEN(x^t;fWt,(σWt))[p^i,c]

    相關推薦

    What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision?

    原論文連結 一、摘要: 主要有兩大類不確定性,偶然不確定性(aleatoric uncertainty)和認知不確定性(epistemic uncertainty),偶然不確定性用來描述觀測中固有的噪聲;認知不確定性則是用來描述模型中的不確定性。認知不確定性

    Python計算機視覺深度學習三合一Deep learning for computer vision with Python高清pdf

    Deep Learning for Computer Vision with Python Starter Bundle pdf Deep Learning for Computer Vision with Python Practitioner Bundle pdf Deep Learning for

    1.Intro to Deep Learning and Computer Vision

    Intro 這是Kaggle深度學習教育課程的第一課。 在本課程結束後,您將瞭解卷積。 卷積是計算機視覺(以及許多其他應用程式)中深度學習模型的基本構建塊。 之後,我們將很快開始使用世界一流的深度學習模型。 Lesson [1] from IPython.displ

    Do We Need User Acceptance Test?

    (Betteridge’s law of headlines does not apply.) I was wondering long time why we do UAT. Do not be mistaken. I do not want to say not to do that type o

    Do we need a cloud chassis?

    Do we need a cloud chassis?Prior to the emergence of containers like Docker we used tarballs and Puppet to streamline our deployment pipelines. In a privat

    Ask HN: What change do you want in your career?

    Opening this, as follow up to the _best decision_ thread.There are some changes that may seem impossible, and by just telling people about it some doors mi

    Ask HN: What services do you miss in modern data centers?

    We’re opening a new data center facility and discuss how our product shall look like. What we can provide to our customers besides of renting space by room

    If aligned memory writes are atomic, why do we need the sync/atomic package?

    This is a post inspired by a question on the Go Forum. The question, paraphrased, was “If properly aligned writes are guaranteed to be atomic by the pr

    USING DEEP LEARNING FOR ANOMALY DETECTION IN RADIOLOGICAL IMAGES

    關注Deep Learning在醫療資料中的應用,指出了Deep Learning在醫療資料應用中遇到的問題,即不能像處理圖片資料那樣,輸入大量訓練資料,而是相對資料量的缺乏;注意到人類的學習過程,當教小孩讀和寫的時候,它是一個學生和老師互動反饋的過程,受此啟發

    Deep Learning for Robotics 資源匯總

    theano .text tor tro org () -c 四軸 parent 1 前言 在最新Nature的Machine Intelligence 中Lecun。Hinton和Bengio三位大牛的Review文章Deep Learning中。最

    最實用的深度學習教程 Practical Deep Learning For Coders (Kaggle 冠軍 Jeremy Howard 親授)

    ted del src learning over attention wid multi 美國 Jeremy Howard 在業界可謂大名鼎鼎。他是大數據競賽平臺 Kaggle 的前主席和首席科學家。他本人還是 Kaggle 的冠軍選手。他是美國奇點大學(Singular

    論文筆記-Wide & Deep Learning for Recommender Systems

    wiki body pos ear recommend sys con 損失函數 wrapper 本文提出的W&D是針對rank環節的模型。 網絡結構: 本文提出的W&D是針對rank環節的模型。 網絡結構: wide是簡單的線性模型,但

    Computer Vision」Notes on Deep Learning for Generic Object Detection

    QQ Group: 428014259 Sina Weibo:小鋒子Shawn Tencent E-mail:[email protected] http://blog.csdn.net/dgyuanshaofeng/article/details/83834249 [1]

    Deep Learning for Generic Object Detection: A Survey

    Abstract 通用物件檢測,旨在從自然影象中的大量預定義類別定位物件物體,是計算機視覺中最基本和最具挑戰性的問題之一。 近幾年來,深度學習技術成為了直接從資料中學習特徵表示的有力方法,並在通用物件檢測領域取得了顯著的突破。 鑑於這個快速發展的時代,本文的目標是對深度學習

    《Transform- and multi-domain deep learning for single-frame rapid autofocusing》筆記

    作者的快速聚焦方法是使用卷積網路從單個成像圖片中預測圖片的離焦距。之前的聚焦方法大多需要測量多張成像圖片的聚焦值來預測聚焦鏡頭的移動方向和移動距離,但是論文的方法可以直接預測出聚焦位置的方向和距離。 作者使用不同的圖片特徵,包括圖片的空間域特徵、頻域特徵、自相

    Deep Learning for Recommender Systems資料

    基於深度學習的推薦系統的論文(包括論文 程式碼 PPT) https://handong1587.github.io/deep_learning/2015/10/09/recommendation-system.html  https://github.com/robi56/Deep-

    Week1.3 Simple deep learning for text classification

    Neural networks for words(and characters) 在本節中我們將學習如何將神經網路用於文字分類,還將學習卷積神經網路相關的原理. 回顧–Bag of words way 在前面課程中,我們學習瞭如何將一段文本當作一系列word

    Deep Learning for Generic Object Detection: A Survey 閱讀筆記

    目錄 摘要 1.介紹 2.背景 2.1問題 3.框架 摘要 目標監測旨在從自然影象中定位出大量預定義類別的例項物件,是機器視覺中最基本也是最具挑戰的問題。近年來,深度學習技術作為直接從資料學習特徵表示的強

    Deep Learning for Generic Object Detection: A Survey -- 目標檢測綜述總結

    最近,中國國防科技大學、芬蘭奧盧大學、澳大利亞悉尼大學、中國香港中文大學和加拿大滑鐵盧大學等人推出一篇最新目標檢測綜述,詳細闡述了當前目標檢測最新成就和關鍵技術。文章最後總結了未來8個比較有前景的方向,對學習目標檢測的人員提供了很大的幫助,在此翻譯這篇文章,方便

    Deep learning for smart manufacturing: Methods and applications

    Smart manufacturing refers to using advanced data analytics to complement physical science for improving system performance and decision making. With the w