<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          可以估計不確定性的神經(jīng)網(wǎng)絡(luò):SDE-Net

          共 4855字,需瀏覽 10分鐘

           ·

          2020-11-04 05:07

          ↑ 點擊藍(lán)字?關(guān)注極市平臺

          作者丨段易通@知乎
          來源丨h(huán)ttps://zhuanlan.zhihu.com/p/234834189
          編輯丨極市平臺

          極市導(dǎo)讀

          ?

          SDE-Net具有預(yù)測概率分布以及度量預(yù)測結(jié)果的不確定性。本文通過介紹概念,分析模型構(gòu)造,闡述理論以及實驗論文等方式解詳細(xì)分析了SDE-Net模型。?>>加入極市CV技術(shù)交流群,走在計算機(jī)視覺的最前沿

          隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,DNN模型的預(yù)測能力變得越來越強(qiáng),然而在一些情況下這卻并不是我們想要的,比如說給模型一個與訓(xùn)練集完全不相關(guān)的測試樣本,我們希望模型能夠承認(rèn)自己的“無知”,而不是強(qiáng)行給出一個預(yù)測結(jié)果,這種能力對于自動駕駛或者醫(yī)療診斷等重視風(fēng)險的任務(wù)是至關(guān)重要的。因此,為了達(dá)到這個目的,我們的模型需要具有量化不確定性的能力,對于那些它沒有把握的樣本,模型應(yīng)該給出較高的不確定性,這樣就能指導(dǎo)我們更好地利用模型的預(yù)測結(jié)果。
          之前我介紹過可以預(yù)測概率分布的DeepAR模型,其實這次介紹的SDE-Net與它的目標(biāo)是一致的,都是令模型在預(yù)測的基礎(chǔ)上還能夠度量預(yù)測結(jié)果的不確定性,不過SDE-Net的實現(xiàn)這個目標(biāo)的思路與DeepAR不同,下面就來具體介紹。
          段易通:概率自回歸預(yù)測——DeepAR模型淺析
          https://zhuanlan.zhihu.com/p/201030350

          不確定性

          上文中已經(jīng)提到,我們的目的是要量化不確定性,那么我們當(dāng)然要先知道是什么導(dǎo)致了模型的不確定性、并且要了解不確定性產(chǎn)生的來源有哪些,論文中認(rèn)為模型預(yù)測的不確定性來自于兩個方面:
          • aleatoric uncertainty:來自于任務(wù)本身所固有的自然隨機(jī)性(比如說label噪聲等)
          • epistemic uncertainty:由于缺乏訓(xùn)練數(shù)據(jù)所導(dǎo)致的,模型對于訓(xùn)練數(shù)據(jù)分布之外的樣本是無知的
          對于aleatoric uncertainty,它是由任務(wù)本身天然決定的,可以設(shè)想一個所有標(biāo)簽都是噪聲的訓(xùn)練集,用這樣的數(shù)據(jù)集訓(xùn)練出來的模型,它的預(yù)測結(jié)果顯然是不可信的,即不確定度很大;而對于epistemic uncertainty,它是由于模型的認(rèn)知不足造成的,在面對訓(xùn)練集分布之外的數(shù)據(jù)時,模型的預(yù)測結(jié)果會具有較高的不確定度。
          下圖是對兩種不確定度對模型預(yù)測結(jié)果影響的示意圖,我們這里用到的是概率模型(比如說DeepAR或者后面要說的SDE-Net,輸出的是一個隨機(jī)變量而不是一個定值,因此通過模型得到的其實是一個概率分布)。其中左邊的simplex corner代表分類任務(wù)(三分類),右邊的二維坐標(biāo)代表回歸任務(wù),其中橫軸代表predictive mean 、縱軸是predictive variance (不太明白這里 的含義,求解惑~)。

          SDE量化不確定性

          我們知道,神經(jīng)網(wǎng)絡(luò)尤其是ResNet可以看做是由常微分方程(ODE)控制的一個動力學(xué)系統(tǒng)(具體可以看ResNet的相關(guān)資料,或者我的這篇文章,https://zhuanlan.zhihu.com/p/92254686),相鄰層之間的輸入輸出關(guān)系為:
          其中 是第t層的隱藏狀態(tài),如果我們令 ,上式可以寫做: ,如果我們讓 ,那么就有:
          ResNet其實可以看做是離散化的動力學(xué)系統(tǒng),不過控制方程是一個ODE,所以神經(jīng)網(wǎng)絡(luò)得到是只是一個確定性結(jié)果。為了讓模型可以估計不確定性,我們自然就想到是不是可以改用一個隨機(jī)微分方程(SDE)來控制dynamic呢?這就是論文的核心思想,其實也很簡單,就是在原有ODE的基礎(chǔ)上再加上一個隨機(jī)項,這里采用的是標(biāo)準(zhǔn)布朗運動,那么dynamic的形式就變?yōu)椋?/section>
          這里 就是標(biāo)準(zhǔn)布朗運動,可以看出函數(shù) 控制的就是dynamic的波動,我們就用它來代表模型對于epistemic uncertainty的估計,下圖是 的大小對于dynamic的影響。

          模型構(gòu)造

          這樣一來,我們就利用SDE來描述了隱層狀態(tài)的dynamic,并通過隨機(jī)過程的方差來量化估計epistemic uncertainty。為了使模型具有良好的預(yù)測精度和可靠的不確定性估計,論文的SDE-Net模型用了兩個單獨的神經(jīng)網(wǎng)絡(luò)來表示分別dynamic的漂移擴(kuò)散,如下圖所示:
          可以看出,對于分布內(nèi)的測試樣本,diffusion net計算出的不確定度很小,因此drift net占主導(dǎo)地位,我們可以獲得置信度很高的預(yù)測結(jié)果;但是對于分布外的樣本,計算出的不確定度很大,因此diffusion net占主導(dǎo)地位,得到的結(jié)果幾乎就是隨機(jī)分布的結(jié)果。
          對于SDE-Net的兩個神經(jīng)網(wǎng)絡(luò),論文采用了如下的目標(biāo)函數(shù)來進(jìn)行訓(xùn)練
          其中 是任務(wù)的損失函數(shù),T是隨機(jī)過程的末時刻(即網(wǎng)絡(luò)的輸出層), 分別是訓(xùn)練集分布內(nèi)與分布外(OOD)的數(shù)據(jù),OOD數(shù)據(jù)可以通過給原數(shù)據(jù)加噪聲做變換的方式獲得,也可以直接用另一個任務(wù)目標(biāo)不相關(guān)的數(shù)據(jù)集。
          可以看出,目標(biāo)函數(shù)一共分為三部分,前兩項是關(guān)于分布內(nèi)樣本的目標(biāo)函數(shù),其目的是保證在常規(guī)的損失最小化的基礎(chǔ)上,還要使得這些樣本的不確定度估計較小,后一項是關(guān)于OOD數(shù)據(jù)的,對于這些樣本,我們不關(guān)注其loss的大小,而是只令模型對于OOD樣本的不確定度增加。
          需要注意的是,這里SDE-Net中每一層的參數(shù)都是共享的,而且擴(kuò)散項的方差僅由起始點x0決定,這樣可以使模型訓(xùn)練起來更容易。
          訓(xùn)練好模型之后,我們可以通過多次采樣的方法,來得到多個輸出 ,這種采樣計算的思路與傳統(tǒng)的集成方法具有相似之處,但是傳統(tǒng)方法需要訓(xùn)練多個模型,而SDE-Net只需訓(xùn)練一次即可通過布朗運動的隨機(jī)性得到多個輸出樣本,從而大大減小了訓(xùn)練成本。

          理論分析

          論文還對模型做了一些理論分析,內(nèi)容不多,就直接放原文了

          模型訓(xùn)練

          考慮到模型的層數(shù)是有限的,因此我們需要將SDE離散化,形式如下:
          其中時間區(qū)間為 ,模型一共有N層,因此 。
          總的來看,SDE-Net的訓(xùn)練算法如下:
          簡單概括一下這個算法,首先我們從分布內(nèi)采樣出一批訓(xùn)練數(shù)據(jù),然后通過一個降采樣層得到輸入 ,接著就根據(jù)SDE-Net來控制隱層狀態(tài)的dynamic,并在最后接一個全連接層得到模型的輸出 ,這樣我們就可以通過計算loss的梯度來更新降采樣層、drift net以及全連接層的參數(shù);另外,我們還要從分布外采樣出一批數(shù)據(jù)(OOD數(shù)據(jù)),然后根據(jù)分布內(nèi)外的數(shù)據(jù)分別對diffusion net的參數(shù)做梯度下降和梯度上升。

          實驗

          論文的實驗研究了不確定性估計在model robustness和label efficiency中的作用,實驗采用的對比模型有:Threshold、MC-dropout、DeepEnsemble、Prior network(PN)、Bayes by Backpropagation (BBP)、preconditioned Stochastic gradient Langevin dynamics(p-SGLD);其中PN和SDE-Net需要額外的OOD數(shù)據(jù),這里通過對原有的數(shù)據(jù)樣本上加上高斯噪聲來進(jìn)行構(gòu)造、或者直接采用另一個數(shù)據(jù)集,至于其它的一些具體設(shè)定可以看論文的實驗和補(bǔ)充材料部分。
          1.OOD檢測
          就像在文章開頭提到的,讓模型有“自知之明”是非常重要的,因此第一個任務(wù)就是評估模型識別OOD樣本的能力,實驗中使用的metric如下所示,這些metrics都是值越大越好:
          1. True negative rate (TNR) at 95% true positive rate (TPR)
          2. Area under the receiver operating characteristic curve (AUROC)
          3. Area under the precision-recall curve (AUPR)
          4. Detection accuracy
          實驗結(jié)果如下所示:
          分類任務(wù)
          回歸任務(wù)
          從表中可以看出,SDE-Net的性能基本超越了其它所有模型。另外,下圖是提高模型層數(shù)或者ensemble數(shù)量對OOD檢測的影響,可以看出SDE-Net不需要像一些其它模型那樣必須大量堆疊才能達(dá)到最優(yōu)性能。
          2.誤分類檢測
          如果模型預(yù)測的不確定性很大,那么就說明模型對預(yù)測結(jié)果是沒有把握的,樣本可能被分類錯誤。因此這個任務(wù)的目的是利用預(yù)測的不確定性來找出模型分類錯誤的樣本,其結(jié)果如下:
          雖然P-SGLD的效果也不錯,不過它的計算成本很高,因此在實際情況中SDE-Net可能會是一個更好的選擇。
          3.對抗樣本檢測
          我們知道,在樣本中加入一些很小的對抗擾動后,正常的DNNs會變得非常容易出錯,因此這個任務(wù)的目標(biāo)就是從樣本集中找出對抗樣本,這里采用了兩種對抗攻擊方式Fast Gradient-Sign Method (FGSM)和Projected Gradient Descent (PGD)來產(chǎn)生對抗樣本,實驗結(jié)果如下:
          4.主動學(xué)習(xí)
          假設(shè)一開始樣本集里有標(biāo)注的樣本很少,模型需要自己挑一些信息量大的樣本出來讓專家進(jìn)行標(biāo)注,這就是主動學(xué)習(xí)的思想。直觀上來看,挑選信息量大的樣本可以顯著減少用于模型訓(xùn)練的數(shù)據(jù)量,而信息量小的樣本會增加訓(xùn)練成本、甚至?xí)?dǎo)致過擬合。最后一個任務(wù)就是關(guān)于主動學(xué)習(xí)的,論文設(shè)定acquisition function(不了解的同學(xué)可以學(xué)習(xí)一下相關(guān)知識點)的形式為:
          該式的意思就是讓模型選擇那些具有較高的epistemic uncertainty但數(shù)據(jù)具有較低的low aleatoric noise的樣本,結(jié)果如下,可以看出SDE-Net選擇的樣本都是信息量比較大樣本,因此RMSE下降的更快。

          總結(jié)

          ResNet可以對應(yīng)為一個離散ODE,這篇文章受到該思路的啟發(fā),構(gòu)建了一個可以被看做離散SDE的SDE-Net模型,模型由兩個神經(jīng)網(wǎng)絡(luò)drift net和diffusion net構(gòu)成,其中drift net與傳統(tǒng)模型類似,是為了預(yù)測模型的輸出結(jié)果,而diffusion net則用來估計預(yù)測的不確定性,估計出的不確定性可以應(yīng)用于OOD樣本檢測、誤分類檢測、主動學(xué)習(xí)等多個任務(wù),而可以估計不確定性的SDE-Net也更加適合于一些關(guān)注風(fēng)險的實際應(yīng)用領(lǐng)域。
          個人感覺,論文中通過SDE來評估不確定性的想法很有意思,確實有一定的可取之處;不過模型為了訓(xùn)練diffusion net網(wǎng)絡(luò),專門構(gòu)建了用于梯度上升的OOD數(shù)據(jù)集,這樣的數(shù)據(jù)集無論怎么構(gòu)建,都很難代表整個訓(xùn)練集以外的分布,因此不可避免地會引入一些bias,而這就可能會影響模型對于不確定度的估計。

          參考文獻(xiàn)

          [1] SDE-Net: Equipping Deep Neural Networks with Uncertainty Estimates
          https://arxiv.org/abs/2008.10546


          推薦閱讀



            添加極市小助手微信(ID : cvmart2),備注:姓名-學(xué)校/公司-研究方向-城市(如:小極-北大-目標(biāo)檢測-深圳),即可申請加入極市目標(biāo)檢測/圖像分割/工業(yè)檢測/人臉/醫(yī)學(xué)影像/3D/SLAM/自動駕駛/超分辨率/姿態(tài)估計/ReID/GAN/圖像增強(qiáng)/OCR/視頻理解等技術(shù)交流群:月大咖直播分享、真實項目需求對接、求職內(nèi)推、算法競賽、干貨資訊匯總、與?10000+來自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺開發(fā)者互動交流~

            △長按添加極市小助手

            △長按關(guān)注極市平臺,獲取最新CV干貨

            覺得有用麻煩給個在看啦~??
            瀏覽 62
            點贊
            評論
            收藏
            分享

            手機(jī)掃一掃分享

            分享
            舉報
            評論
            圖片
            表情
            推薦
            點贊
            評論
            收藏
            分享

            手機(jī)掃一掃分享

            分享
            舉報
            <kbd id="afajh"><form id="afajh"></form></kbd>
            <strong id="afajh"><dl id="afajh"></dl></strong>
              <del id="afajh"><form id="afajh"></form></del>
                  1. <th id="afajh"><progress id="afajh"></progress></th>
                    <b id="afajh"><abbr id="afajh"></abbr></b>
                    <th id="afajh"><progress id="afajh"></progress></th>
                    人妻骚逼| 北条麻妃人妻中文字幕91影视 | 午夜久久久久久久 | 男人天堂色| 狠狠干2022 |