ICCV2021(oral) Robustness via Cross-Domain Ensembles
一 論文摘要
二 文章出發點與核心思想
背景:深度學習中,資料分佈可能存在漂移性較大,而且搞對抗攻擊的那波人喜歡這裡那裡加點漂移。
出發點:怎麼保證網路學習到對這些漂移更魯棒的特徵。
核心思想:
為解決這個問題,作者
人為(在訓練影象)製造一些漂移影象(下圖middle domains),
然後
同時在原影象與這些漂移影象上學習特徵,用於原影象的預測。
三 文章怎麼做
3.1 總體怎麼做
從上圖可以看出,文章的核心思想操作起來其實很簡單,和
多尺度預測基本無異(多個了基於不確定性的自適應融合、另外因為是ensemble method所以各分支預測網路引數不一樣)
雖然文章總體很好理解,不過文章能被評為oral,所以其一些細節技術很關鍵,而且不太好理解。
關鍵細節:
怎麼避免預測中的謎之自信?
不是說不確定性越低就說明預測越準,因為有些預測錯誤的不確定性也很低
(這裡我稱為謎之自信),
所以要避免。
3.2. 不確定性建模與度量(這部分總結在3.3 )
不確定性建模:
作者將網路gj(中間域→預測)輸出的
預測噪聲(也就是那些預測錯誤的)建模為一個拉普拉斯分佈(均值0),如果分佈越集中到0附近,說明噪聲越小,可能導致的不確定性也越小。
PS:文中噪聲主要理解為後續要加到原影象的一些變換。一個已經訓練好的模型,在處理沒有噪聲的樣本時,可以做到相對準確,但是加入噪聲後,預測可能出現更多錯誤。
此時網路學習的目標就是使得
網路輸出接近一個(理想:分佈引數手動設定?)拉普拉斯。所以得到了如下似然損失函式。
背景知識TIPS:什麼叫似然:就是給定一個分佈模型(分佈形式及引數),某些(N)樣本同時(機率相乘,log後變相加)出現的可能性;最大似然估計:就是找到一個引數最大化這個可能性
不確定性度量:根據上述不確定性建模,文中預測不確定性主要和拉普拉斯分佈的尺度引數
(類似高斯分佈中的方差sigma,尺度引數越小,說明分佈越集中, 預測錯誤越集中到0的附近)
有關。
3。3 3。2小結
上面說了這麼多,做個簡單的總結就是:
①作者認為預測的不確定性主要是輸入噪聲引起的,所以假定輸入噪聲引起的預測噪聲符合拉普拉斯分佈,那麼預測不確定性就可以用拉普拉斯的尺度引數來衡量。
② 當沒有人為噪聲時,網路輸出應該符合某個引數定義的普拉斯分佈。當引入人為噪聲時,拉普拉斯分佈的形狀也應該隨之改變。
3.4不確定性度量模型校正
事與願違:作者發現,當增加很大的人為噪聲(也就是對影象distortion)時,利用上面不確定性度量的方法,不確定性並沒有什麼改變,就會導致上面所說的謎之自信現象的產生。所以作者提出需要對引入噪聲後的拉普拉斯分佈進行矯正學習(文中稱為 sigma training stage), 使得上面不確定性度量涉及的sigma引數與
噪聲引起的error
關聯儘可能緊密。
為此作者引入了兩個損失函式
第一個損失:使得引入噪聲(dist)後的預測(不帶0的那個)儘量與沒引入噪聲預測保持一致。
第二個損失:
公式中的exp (sn) 就是拉普拉斯分佈的尺度引數b。因為之前定義了sn=logbn,後一項是未加人為輸入噪聲時的 輸出偏差樣本。
所以這個損失實際效果是
使得尺度引數趨近(偏差樣本的)最大似然估計。(這句話不太好理解,歡迎評論探討與指教)