DivideMix的算法框架如上圖。
為了防止模型在自訓練過程中產生噪聲累積的現象,作者同時訓練兩支網絡,通過epoch-level隱式的信息傳遞和batch-level顯式的信息傳遞來互相糾錯。
每個epoch中,作者採用協同篩選的策略,每支網絡為另一支網絡挑選噪聲樣本作為無標籤集。每個mini-batch中,網絡同時利用有標籤集和無標籤集進行學習,無標籤集標籤的預測利用到了另一支網絡的信息。DivideMix的算法如上圖。
損失建模與協同篩選DivideMix採用交叉熵損失來反映模型對訓練樣本的擬合。
作者在模型預測得到的損失分布上通過EM算法擬合了一個two-component的高斯混合模型。對於每一個樣本,標籤真實的概率設置為高斯混合模型的後驗概率
有標籤集和無標籤集的劃分依據為閾值篩選。然而,使用模型自己的篩選結果容易引發confirmation bias的現象:一旦有損失較小的噪聲樣本被錯誤地分入有標籤集,這些樣本將保持較小的損失,因此在訓練過程中模型容易強化它的錯誤。
作者通過協同篩選的方式來解決誤差累積問題。在協同篩選策略中,一支網絡上擬合的GMM得到的標籤篩選結果將提供給另一支網絡進行訓練。兩支網絡的多樣性由不同的隨機初始化、訓練數據分配、mini-batch訓練序列以及訓練目標保證。保證兩支模型的多樣性可以使模型篩選出不同類型的噪聲,使模型對於噪聲更為魯棒。
MixMatch的可靠標籤作者採用MixMatch的框架來解決半監督學習問題。MixMatch通過Consistency Regularization,Entropy Minimization以及MixUp增強來利用無標籤集。
Consistency Regularization:鼓勵模型在無標籤數據上有相同的預測結果。Entropy Minimization:鼓勵模型得到高置信度的預測。MixUp:鼓勵模型的預測在樣本間能保證線性的性質。為了解決標籤噪聲,作者對有標籤集和無標籤集分別有兩處改進:Label co-refinement和Label co-guessing。
首先,對於有標籤數據,Label co-refinement通過clean概率對標籤和網絡的預測結果進行線性組合,同時加上溫度參數。
然後,對於無標籤數據,Label co-guessing即將兩支網絡的集群得到的預測結果作為標籤。
最後,我們可以得到有標籤集和無標籤集,通過MixMatch的方法進行組合,即得到訓練數據集。
損失函數設計訓練過程中,有標籤集採用交叉熵損失,無標籤集採用均方誤差損失。
在噪聲率較高的情況下,網絡有退化到平凡解的可能性,需要增加正則化項。
最後,整體的損失函數為:
實驗結果作者在合成以及現實數據集上均進行了實驗:
現實數據集:Clothing1M,WebVisionCIFAR數據集CIFAR-10數據集的噪聲採用均勻噪聲的模式,噪聲率分別為20%,50%,80%,90%,下表為實驗結果。
現實數據集Clothing1M和WebVision為現實數據集,本身帶有噪聲。下表為實驗結果。
總結與思考DivideMix提供了一種融合半監督學習方法的噪聲學習框架。可以進一步思考半監督學習和噪聲學習的關係,是否也可以利用噪聲學習來輔助半監督學習。參考文獻[1]Li J, Socher R, Hoi S C H. Dividemix: Learning with noisy labels as semi-supervised learning[J]. arXiv preprint arXiv:2002.07394, 2020.