噪聲樣本優(yōu)秀論文綜述(2017-2020)

極市導讀
本文總結(jié)了噪聲樣本相關的20篇論文,并按照理論篇和方法篇進行了分類,幫助對噪聲樣本感興趣的同學進行學習。 >>加入極市CV技術交流群,走在計算機視覺的最前沿
最近 Noisy Label 的工作快要告一段落,發(fā)一下其中一些論文的總結(jié)吧...感興趣的同學歡迎交流
更多論文
可以參考以下兩個 repo
gorkemalgan/deep_learning_with_noisy_labels_literature
https://github.com/gorkemalgan/deep_learning_with_noisy_labels_literature
subeeshvasu/Awesome-Learning-with-Label-Noise
https://github.com/subeeshvasu/Awesome-Learning-with-Label-Noise
知乎相關問題
神經(jīng)網(wǎng)絡對噪聲樣本過擬合的現(xiàn)象是什么?
https://www.zhihu.com/question/388977428
Survey 篇
兩篇,沒有太細讀
Image Classification with Deep Learning in the Presence of Noisy Labels: A Survey
https://arxiv.org/abs/1912.05170
Learning from Noisy Labels with Deep Neural Networks: A Survey
https://arxiv.org/abs/2007.08199
提供了一個方法分類樹,值得一看
理論篇
Understanding deep learning requires rethinking generalization
https://arxiv.org/abs/1611.03530
筆記:JackonYang:[Paper Reading]Learning with Noisy Label-深度學習廉價落地
https://zhuanlan.zhihu.com/p/110959020
提出的觀點并用實驗證明:Deep neural networks easily fit random labels.
這個觀點幾乎是 2017 年之后 noisy label 相關文章必引觀點。這篇文章之前,introduction 都在介紹眾包 & 錯誤不可避免,SOTA 模型表現(xiàn)差。這篇文章之后,理論焦點突出為解決 noisy label 導致的 overfitting。
論文中用實驗驗證了,模型可以很容易的擬合噪音,無論是真實樣本+噪音標簽,還是完全噪音的圖片。

Understanding Black-box Predictions via Influence Functions
https://arxiv.org/abs/1703.04730
演講:https://www.youtube.com/watch?v=0w9fLX_T6tY
筆記:
1. NoahSYZhang:ICML 2017 Best Paper Award論文解讀(1)(https://zhuanlan.zhihu.com/p/28470292)
2. 論文筆記understanding black-box predictions via influence functions(https://blog.csdn.net/panglinzhuo/article/details/77992306)
3. (2017ICML Bestpaper)Understanding Black-box Predictions via Influence Functions 筆記(https://blog.csdn.net/alva_bobo/article/details/78552657)
4. 論文筆記:Understanding Black-box Predictions via Influence Functions(https://www.jianshu.com/p/64d3e57c991c)
數(shù)學推導很多,數(shù)學苦手很南...就結(jié)論而言,本文提出了一個影響函數(shù),用來評估一個樣本對模型最終結(jié)果的影響。消耗算力最大的方法是訓練兩次數(shù)據(jù)集,其中一次不包含該樣本,而本文通過一步步的推導得到了這種評估影響的近似方法。
A Closer Look at Memorization in Deep Networks
https://arxiv.org/abs/1706.05394
本文是一篇實驗經(jīng)驗文,分享大量實驗結(jié)果及其總結(jié)。
論文首先深入了“模型首先學習樣本的 pattern”這一結(jié)論,由實驗中發(fā)現(xiàn)的“干凈樣本在初始時準確率提升速度低于噪音樣本”這一現(xiàn)象來說明真實樣本中樣本的差異性大于噪音樣本,這使得真實樣本中學到的 pattern 一開始對一些“困難樣本”不友好,而噪音樣本則因為沒有差異性從而可以被模型分別學習與記憶。(這里的差異性可能指的是同類簡單樣本和復雜樣本之間的 pattern 不一樣)。

第二,作者通過歐氏距離定義了臨界樣本這一概念(即不屬于同類但又相隔很近的樣本),并發(fā)現(xiàn)噪音樣本在訓練過程中具有比干凈樣本更高的臨界樣本率,兩類樣本在訓練過程中的臨界樣本率都會逐步提升,這從側(cè)面證明了模型在擬合的過程中會逐步學習到更復雜的決策邊界(more complex hypothese)。
第三,驗證了一些正則化方法(尤其是 dropout )能夠控制神經(jīng)網(wǎng)絡的記憶速度(regularizers (especially dropout) do control the speed at which DNNs memorize),而在這之前,dropout 通常用于防止災難性遺忘(catastrophic forgetting),也因此用于幫助 DNN 捕捉模式(retain patterns)。
第四,作者還通過計算訓練過程樣本梯度相關的數(shù)據(jù)驗證了干凈樣本比噪音樣本包含了更多的類間模式(cross-category patterns)。
第五,模型越大,最終的準確率就越接近干凈數(shù)據(jù)的準確率。
方法篇
大部分噪音標簽方法的核心思想就是,既然噪音標簽和真實標簽在一開始的表現(xiàn)不同,那這種不同表現(xiàn)就可以看做是樣本的一種特征,用來幫助我們區(qū)分某一樣本是干凈還是噪音。此外,還有一些方法選擇對噪音進行建模,將噪音看成某種分布,構建轉(zhuǎn)移矩陣等。在深度學習下,前一種方法較為主流。
SELF: Learning to Filter Noisy Labels with Self-Ensembling
https://arxiv.org/abs/1910.01842
本文算法的關鍵在于將噪音標簽從數(shù)據(jù)集中去除。去除的方法是用偽標簽和噪音標簽比較,不相等則去除。
其中,用于預測偽標簽的模型和最終用于比較的偽標簽,均通過moving average 方法進行平滑。也即所謂的 Self-Ensembling
如下圖:

Confident Learning: Estimating Uncertainty in Dataset Labels
http://www.eng.biu.ac.il/goldbej/files/2012/05/ICLR2017.pdf
這篇對數(shù)學的要求也蠻大。。。
本文的主要貢獻有:
1. 提出了一個置信度學習(CL,confident learning)用于找到并學習噪音標簽
2. 證明了一致性聯(lián)合評估(consistent joint estimation)的平凡條件。
3. 在 cifar 和 ImageNet 上驗證了 CL 的有效性
4. 發(fā)布了 cleanLab 這一個 Python 庫
該方法的輸入需要原噪音標簽和樣本的預測值,因此和樣本本身無關。
MentorNet: Learning Data-Driven Curriculum for Very Deep Neural Networks on Corrupted Labels
https://arxiv.org/abs/1712.05055
Beyond Synthetic Noise: Deep Learning on Controlled Noisy Labels
https://arxiv.org/abs/1911.09781
這兩篇是一個作者,來自Google Research,兩篇是連續(xù)的工作
MentorNet 雖然里面有很多課程學習(Curriculum Learning)的內(nèi)容,但其核心思想是對計算得到的交叉熵損失加權,使噪音標簽得到低權重,而干凈標簽得到高權重,而權重的生成則來自于文中定義的 MentorNet,其可以看做是一個函數(shù),輸入是當前 batch 樣本所產(chǎn)生的 loss 的歷史信息,輸出是根據(jù)這些 loss 信息計算得到的權重。這是一個非常抽象的形式,實際上概括了所有“生成權重型方法”的表示形式。
而文中提到過兩種形式,一種是最簡單的,要求樣本 loss 小于某一閾值(閾值隨訓練時間變化),如果滿足則將其作為干凈樣本,否則認作噪音;另一種(也是最終采用的)是一個和 LSTM 結(jié)合的網(wǎng)絡,結(jié)構如下

MentorMix 沿用了MentorNet 的想法,核心仍然是生成權重,但引入了半監(jiān)督學習的一些想法,加入了偽標簽和 mixup,想法類似于 MixMatch。
雖說方法簡單,但谷歌出品,質(zhì)量還是很不錯的,里面包含了一些數(shù)學上的形式化證明和很多對實驗的具體分析,因此很有細讀的必要(我就還沒細讀)。
Learning to Reweight Examples for Robust Deep Learning
https://arxiv.org/abs/1803.09050
Distilling Effective Supervision from Severe Label Noise(IEG)
https://arxiv.org/abs/1910.00701
代碼:google-research/google-research
https://github.com/google-research/google-research/tree/master/ieg
Review : IEG: Robust neural net training with severe label noises
這兩篇論文雖然不是一個作者,但也可以放在一起講,第一篇 L2R 是一種通過元學習為樣本生成權重的方法,這一方法可以用于類別不平衡,或者是噪音標簽,我復現(xiàn)過,在MNIST上類別不平衡的效果非常不錯,但是噪音標簽上(尤其是高噪音率下)似乎就有些力有未逮。
而在之后是 IEG,很遺憾的是它也是Google Research出品。它采用了 L2R 的元學習方法生成樣本權重,并和半監(jiān)督學習中的 MixMatch 方法融合,最終獲得了一個很好的效果。感興趣可以看看 Review,有人懟這篇論文就是各種方法的融合體,而缺少創(chuàng)意,最終該作者從 ICLR2020 撤稿,然后中了 CVPR2020... (此處不留人,自有留人處?。?/p>
Generalized cross entropy loss for training deep neural networks with noisy labels
https://arxiv.org/abs/1805.07836
Symmetric Cross Entropy for Robust Learning with Noisy Labels
https://arxiv.org/abs/1908.06112
這兩篇是比較少的從構建新的損失函數(shù)的角度出發(fā)的解決噪音標簽問題的論文(從我查到的情況下)。
第一篇的論點是,平均絕對誤差(mean absolute error, MAE)以均等分配的方式處理各個sample,而CE(cross entropy)會向識別困難的sample傾斜,因此針對noisy label,MAE比CE更加魯棒,但是CE的準確度更高,擬合也更快。于是這篇文章提出GCE loss,結(jié)合MAE與CE二者的優(yōu)勢。
第二篇的角度可能比較新奇,其首先對模型在干凈和高噪音率下對不同類別的預測表現(xiàn)進行了分析,然后指出來傳統(tǒng)的交叉熵損失(CE)是存在問題的,會導致預測分布出現(xiàn)問題,簡單的類會更容易被學習(以及在高噪音下被過擬合)。從而提出了一個新的對稱交叉熵損失,實際上就是標簽和預測值互換的交叉熵損失和原交叉熵損失的加權和。似乎對對稱噪音(Asymmetric Noisy)很有效。具體可以看一下論文里的實驗結(jié)果。
Decoupling "when to update" from "how to update"
https://arxiv.org/abs/1706.02613
Co-teaching: Robust Training of Deep Neural Networks with Extremely Noisy Labels
https://arxiv.org/abs/1804.06872
A Novel Self-Supervised Re-labeling Approach for Training with Noisy Labels
https://arxiv.org/abs/1910.05700
DivideMix: Learning with Noisy Labels as Semi-supervised Learning
https://arxiv.org/abs/2002.07394
Combating noisy labels by agreement: A joint training method with co-regularization
https://arxiv.org/pdf/2003.02752.pdf
這五篇論文是可以放在一起看的,因為其核心方法雖然各有差別,但都需要借助兩個同時訓練的網(wǎng)絡來實現(xiàn)。
第一篇 Decoupling 是隨機初始化兩個網(wǎng)絡,隨后兩個網(wǎng)絡只有在兩個網(wǎng)絡有分歧(disagreement)的時候才進行bp的更新。也即 "when to update"
第二篇是非常典型的 co-training 系,在半監(jiān)督里也有 co 系的身影,我一直覺得這在某種意義上算是集成學習。每一個模型在訓練過程中,都會記錄當前 epoch 下每個樣本的交叉熵損失,最后進行一個排序,然后按照噪音率分成兩部分樣本,選取損失更小的那一部分樣本作為這個模型選出的干凈樣本,然后互相喂給對方模型進行下一個epoch的訓練。兩個人挑一堆零食嚼吧嚼吧,把自己覺得好吃的挑出來喂給對方,大概是這種感覺吧...
第三篇就是 co-teaching 的翻版,基本上換湯不換藥,但額外添加了一個自監(jiān)督環(huán)節(jié),以及在 co-teaching 環(huán)節(jié)結(jié)束后,再額外按照 co-teaching 找出的干凈樣本從頭再訓練一個模型(我沒看錯的話應該是這樣)。
第四篇 DivideMix 是截止到 2020年11月 的 SOTA 結(jié)果,仍然是 co-teaching 的思路,但是在挑出干凈樣本和噪音樣本后,把噪音樣本當做無標簽樣本,通過 MixMatch 的方法進行訓練。到這里大家也發(fā)現(xiàn)了,噪音樣本如果能完美的區(qū)分出來,按現(xiàn)在最大噪音率 80% 來算,用半監(jiān)督方法去解決其實是小 case 的,目前半監(jiān)督圖像分類的 SOTA 應該還是 FixMatch,其在 90% 的無標簽樣本下都能取得接近有監(jiān)督的結(jié)果...所以現(xiàn)在取得高準確率的思路基本都是朝著半監(jiān)督和如何完整區(qū)分出噪音這個大方向走的...
第五篇被命名為 JoCoR,co-teaching 的翻版,就是兩個模型下的交叉熵加一個兩個模型之間的對比損失(用 JS 散度構造)。
Joint Optimization Framework for Learning with Noisy Labels
https://arxiv.org/abs/1803.11364
Probabilistic End-to-end Noise Correction for Learning with Noisy Labels(PENCIL)
https://arxiv.org/abs/1903.07788
Joint 這篇提出了一個叫做輪換策略(alternating strategy)的學習框架,大意就是先梯度下降更新一波模型參數(shù),然后用模型參數(shù)做一波噪音標簽的校正,具體的校正方法自然是通過偽標簽進行一個對比...這個方法其實比較普通,有些價值的地方在于本文觀察到 DNN 在高學習率下不會記住噪音標簽,而是能以很好的性能學習到干凈的數(shù)據(jù)。
Pencil 這篇思路也蠻新奇的,是通過梯度下降更新噪音標簽,使噪音標簽向干凈標簽的方向跑,在這之前用大學習率直接訓練一段時間做初始化。但我做了下實驗發(fā)現(xiàn)似乎有問題...還沒深入研究,感興趣的同學歡迎再跟我交流一下。。。
這兩篇不太相關,放在一起是因為PENCIL 這篇引了第一篇,因為它用大學習率學習就是因為 Joint 這篇的結(jié)論。
推薦閱讀
2021-02-23
2021-02-23
2021-02-22

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

