利用Uncertainty修正Domain Adaptation中的僞標籤

論文題目: Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Adaptive Semantic Segmentation

論文地址: https://arxiv.org/pdf/2003.03773.pdf

作者:Zhedong Zheng, Yi Yang

代碼: https://github.com/layumi/Seg_Uncertainty

 

What:

  • 本文研究的是領域遷移問題中錯誤的僞標籤(Pseudo Label)的問題,探討了如何自動設定閾值來修正這種僞標籤學習。

  • 之前的僞標籤往往通過人爲卡閾值(Threshold) 的方式來學高置信度的僞標籤(Pseudo Label),而忽略低置信度的標籤。 但是這個閾值(Threshold) 往往很難決定。

  • 我們思考如何定這個閾值,其實會發現這個閾值取決於 source 和 target 有多接近,如果source域 和 target 域 完全一樣,那麼閾值甚至可以卡到0.999,大多數data都有很確定的label,那全部樣本都可以拿來訓練; 但如果source域 和 target 域 完全不一樣, 那麼閾值再怎麼卡,都沒有用,因爲所有的pseudo label都是noisy的。

  • 所以在做domain adpation的問題就在於 在實際場景中,我們往往只能憑經驗來 提前設置閾值 讓模型來學僞標籤。這是不合理的,或者卡得太高或者太低都會影響模型學習的。所以本文我們提出用不確定性來作爲閾值,等同於自動學一個閾值出來。

How:

  • 其實本質思想很簡單,我們利用了分割模型中的輔助分類器(本來只是用來防止梯度消失的)。結構如下圖:有一個主分類器接在res5c後面,一個輔助分類器接在res4b22. (本文研究的是圖像分割, 如果您研究的是圖像分類,也可以對應到分類問題中InceptionNet 系列,包括NASNet也是需要淺層輔助分類器的。)

  • 我們觀察到 僞標籤錯誤的地方,往往是 兩個分類器預測不同結果的地方(Prediction Variance)。如下圖:

  • 所以很自然的我們對於cross-entropy loss做了一個修正:其中D{kl} 就是主分類器和輔助分類器預測結果的KL距離(也可以叫作Prediction Variance),如果差異大,則這個距離也就大,那麼Lrect 對於這種不確定的樣本,就不懲罰(因爲pseudo label很可能是錯的)。如果沒有後面+D_{kl} 這一項,模型很懶,會趨向把所有pseudo label都說成是不確定的,那麼Lrect就等於0了。爲了避免這種情況,所以我們加了一個+D_{kl} 。

  • 我們可以槓一下,其實原來的取閾值,是基於confidence, confidence高,model就學這種pseudo label,我們這邊能不能用 confidence呢? 答案是不太好。

  • 因爲pseudo label訓練的時候就是增加這個pseudo label的confidence。 這樣還是無法決定哪些樣本可信。最後實驗裏,我也可視化了一下,confidence 和uncertainty的對比,如下圖:(我們用的uncertainty 本質是 prediction variance,和錯誤pseudo label的區域有更明顯的overlapping )

  • 同時,我們方法對於一些segmentation裏面佔得面積小的類別有奇效。因爲傳統方法按照confidence一刀切。往往數量小的類別(自行車Bike和騎行人Rider)這種類別吃虧,因爲confidence score往往只有0.7,0.8,會被0.9的硬閾值卡掉。

  • 最後我們的方法可以在 兩個常用benchmark (GTA5->Cityscapes 和 SYNTHIA -> Cityscapes)上有提升。並且和其他方法是互補的關係。 在一個小數據集上也有提升,但是由於類別比較少,所以提升不是很明顯 (Cityscapes->Oxford RobotCar)。

 

感謝看完~~ 歡迎點贊轉發評論

 


本文有一處勘誤,公式7的 KL Divergence 中多加了負號,目前已在arXiv上更新了。感謝 @王晉東不在家 提出的意見和幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章