ImageNet 存在十萬標籤錯誤,你知道嗎?

ImageNet 存在十萬標籤錯誤,你知道嗎?

作者 | L7

編譯 | JocelynWang

使用ImageNet、CIFAR、MNIST 或 IMDB 這些數據集時,你是不是會潛意識中假設,這些數據集中的類標籤都是正確的?

然而,你可能不知道:ImageNet數據集中至少有十萬個標籤是存在問題的。

儘管大量的研究都在使用ImageNet,但卻沒有發現數據集存在如此多的標籤錯誤。原因在於,想從海量數據中尋找並描述標籤錯誤很難;即使有相關的方法,應用範圍也極其有限。

如何去識別標籤錯誤,並表徵標籤噪聲,是一項重要的、但卻鮮少研究的工作。

在這篇文章中,我將討論一種新興的基本框架,它可用於識別標籤錯誤、表徵標籤噪聲,並使用稱作置信學習(Confident Learning ,CL)的噪聲標籤進行學習。

這個框架可以識別 ImageNet 和 CIFAR 中的許多標籤問題,並通過在乾淨的數據集上進行訓練來提高標準 ResNet 的性能。

該框架作為 cleanlab Python 包進行了開源,相關鏈接為(Github 地址為):

https://github.com/cgnorthcutt/cleanlab

與深度學習框架 PyTorch相類似,CLEANLAB 是一種帶有誤差標籤的機器學習和深度學習的框架。更多關於CLEANLAB的信息可在如下CLEANLAB的文檔鏈接中查看:

https://l7.curtisnorthcutt.com/cleanlab-python-package

使用 cleanlab 加上 confidentlearning-reproduce repo 就可以重現 CL 論文中的結果。

https://github.com/cgnorthcutt/confidentlearning-reproduce

ImageNet 存在十万标签错误,你知道吗?

圖為2012 ILSVRC ImageNet訓練集中使用信心學習確定的前32個標籤問題。其中紅色方框表示標籤誤差,綠色方框表示本體問題,藍色方框表示多標籤圖像。

上圖顯示了在2012 ILSVRC ImageNet訓練集中使用置信學習發現的前32個標籤問題。為便於解釋,我們將把使用 CL 在 ImageNet 中發現的標籤問題分為以下三類:

  • 多標籤圖像(藍色):圖像中有多個標籤;

  • 本體論問題(綠色):包括“是”(比如:將浴缸標記為桶)或 “有”(比如:示波器標記為CRT屏幕)兩種關係,在這些情況下,數據集應該包含其中一類;

  • 標籤錯誤(紅色):當數據集別的類的標籤比給定的類標籤更適合於某個示例時,就會顯示標籤錯誤

使用置信學習,我們可以在任何適當模型的任何數據集中發現標籤錯誤。以下是常見的數據集中另外三個真實存在的示例:

ImageNet 存在十万标签错误,你知道吗?

Amazon Reviews、MNIST和QuickDraw數據集中當前存在的標籤錯誤示例,由面向不同數據形式和模型的置信學習確定。

一、什麼是置信學習?

置信學習(CL)已經成為監督學習和弱監督的一個子領域,可應用於以下幾點:

  • 描述噪聲標籤

  • 尋找標籤誤差

  • 採用噪聲標籤學習

  • 尋找本體論問題

CL 基於噪聲數據剪枝的原理(與修復標籤錯誤或修改損失函數相反),以計數的方式對噪聲進行評估,並對示例進行排序以進行置信訓練(而不是通過精確的概率加權)。

在這裡,我們在 Angluin 和 Laird 分類噪聲的假設基礎上,將 CL 泛化到直接估計噪聲標籤(給定的)和無損標籤(未知的)之間的聯合分佈。

ImageNet 存在十万标签错误,你知道吗?

有噪聲的(給定的)標籤和未損壞的(未知的)標籤之間的置信聯合分佈和估計聯合分佈的置信學習過程和樣本。y~表示觀察到的有噪聲標籤,y*表示潛在的無損標籤。

從上圖可以看出,CL 需要兩個輸入:

  • 樣本外預測概率(矩陣大小:#類的#樣本數)。

  • 噪聲標籤(矢量長度:樣本數量)。

出於弱監督目的,CL包括三個步驟:

1、估計有噪聲的(給定的)標籤和潛在的(未知)無損標籤的聯合分佈,以充分描述類別條件下的標籤噪聲。

2、查找並修剪帶有標籤錯誤的噪聲樣本。

3、在去除標籤錯誤的樣本後進行訓練,根據估計的潛在先驗對樣本重新加權。

二、置信學習的好處

與大多數機器學習方法不同,置信學習不需要超參數。我們使用交叉驗證來獲得樣本外的預測概率。置信學習還有很多其他的好處,它有以下幾點優勢:

  • 可直接估計噪聲與真實標籤的聯合分佈

  • 適用於多類別的數據集

  • 查找標籤錯誤(錯誤按最有可能到最不可能的順序排列)

  • 無需迭代(在ImageNet中查找訓練集的標籤錯誤需要3分鐘)

  • 具有理論合理性(在真實條件下可以準確地找到標籤錯誤和一致的聯合分佈估算)

  • 不需要做隨機均勻的標籤噪聲的假設(在實踐中通常不現實)

  • 只需要預測概率和噪聲標籤(可以使用任何模型)

  • 無需任何真實(保證無損)的標籤

  • 可以自然擴展到多標籤數據集

  • 可用於描述、查找和學習標籤錯誤,CLEANLAB Python包是免費且開源的。

三、置信學習的原則

CL建立在處理噪聲標籤文獻制定的原則之上:

1、通過修剪來搜索錯誤的標籤,例如:遵循Natarajan等(2013);van Rooyen等(2015);帕特里尼等(2017)的工作示例,通過損失重加權來進行軟剪枝,以避免迭代重標記的收斂陷阱。相關工作鏈接依次如下:

https://papers.nips.cc/paper/5073-learning-with-noisy-labels.pdf

https://arxiv.org/abs/1505.07634

https://arxiv.org/abs/1609.03683

2、對乾淨的數據進行訓練統計,避免由於不完全預測概率的情況下重新加權損失(Natarajan et al.,2017)而導致的學習模型權重的錯誤傳播,並泛化到一些開創性的工作上,如Forman (2005, 2008); Lipton et al. (2018)),相關工作鏈接依次如下:

http

://www.jmlr.org/papers/volume18/15-226/15-226.pdf

https://dl.acm.org/citation.cfm?id=1403849

https://arxiv.org/abs/1802.03916

3、根據PageRank(Page et al.,1997)著名的魯棒性研究成果(http://ilpubs.stanford.edu:8090/422/1/1999-66.pdf)和MentorNet (Jiang et al.,2018)的課程學習理念(https://arxiv.org/abs/1712.05055),對訓練期間使用的樣本進行排序,以允許使用不規範概率或SVM決策邊界距離進行學習。

四、置信學習中的理論發現

更多關於CL算法、理論和證明的內容,請參閱我們的原論文。在本文中,我主要總結一下論文中的主要觀點。

原論文鏈接:https://arxiv.org/abs/1911.00068

從理論上看,我們給出了CL(定理2:一般的逐例魯棒性)準確發現標籤誤差並一致地估計出噪聲與真實標籤聯合分佈的現實條件。在我們設定的條件中,允許每個樣本和每個類的預測概率存在誤差。

五、置信學習是如何實現的?

為了解CL是如何工作的,讓我們假設現在有一個包含狗、狐狸和牛的圖像的數據集。CL通過估計噪聲標籤和真實標籤的聯合分佈(下圖右側的Q矩陣)來進行工作。

ImageNet 存在十万标签错误,你知道吗?

左圖:置信計數示例。這是一個不正常的聯合估計。右圖:擁有三類數據集的噪聲標籤和真實標籤的聯合分佈示例。

我們來繼續看這個示例,CL統計了 100 個標記為狗的圖像,這些圖像很可能屬於類別狗,如上圖左側的C

矩陣所示;同樣的,CL還統計了 56 個很可能屬於類別狗但標記為狐狸的圖像和 32 幅很可能屬於類別狗但標記為牛的圖像。

對上述數學原理的過程好奇的人來說,該計數過程可以採取以下形式進行理解:

ImageNet 存在十万标签错误,你知道吗?

我們也鼓勵通過閱讀我們的原論文來理解符號的含義,這裡面的中心思想可以理解成:當一個樣本的預測概率大於每個類的閾值時,我們有信心將該樣本記為實際上屬於該閾值的類別。每個類別的閾值是該類中所有樣本的平均預測概率。這種閾值形式將PU學習( Elkan & amp; Noto,2008,

http://cseweb.ucsd.edu/~elkan/posonly.pdf)中眾所周知的魯棒性結果,泛化到多類別的弱監督。

使用標籤噪聲的聯合分佈查找標籤問題:

從上圖右側的矩陣中,估計標籤問題:

1、將聯合分佈矩陣乘以樣本數。假設我們的數據集中有100個樣本。所以,在上圖中(右邊的Q矩陣)有10個標記為狗但實際上是狐狸的圖像。

2、將上述10張實際上很可能屬於類別狐狸但標記為狗的圖片標記為存在標籤錯誤。

3、對矩陣中所有非對角項重複此操作。

注:這裡簡化了原論文中使用的方法,但抓住了本質。

六、置信學習的實踐應用

在高噪聲標籤的情況下,CL相對於其他方法提高了超出10%的學習水平;在高噪聲以及高稀疏的情況下,CL相對於其他方法提高了超出30%的學習水平。

ImageNet 存在十万标签错误,你知道吗?

上表顯示了 CL 與最新的通過噪聲標籤的多類別學習方法 CIFAR-10 的比較。在高稀疏(見下一段)和 40% 和 70% 的標籤噪聲下,CL 的表現比谷歌開發的表現最好的 MentorNet,Co-Teaching 和 Facebook 研究團隊開發的 Mix-up 方法提高了超過 30% 的學習水平。在信心學習之前,相關的方法對這一基準的改進要小得多(大約只提高了幾個百分點)。

稀疏性(矩陣 Q 中零的分數)概括了這樣一個概念,即現實世界中如 ImageNet 的數據集中有一些類別不太可能被錯誤地標記為其他類別,例如 p(老虎,示波器)可以看作矩陣 Q 中的 0。

如上表中突出顯示的單元格所示,與 Mixup、MentorNet、SCE-loss 以及 Co-teaching 等最新方法相比,CL 較為顯著地增強了對稀疏性的魯棒性。這種魯棒性來源於對模型 Q 直接建模,即噪聲與真實標籤的聯合分佈。

在使用 CL 清洗過的 ImageNet 上訓練數據提高了 ResNet 測試準確度。

ImageNet 存在十万标签错误,你知道吗?

上圖中,直線上的每個點(從左到右)分別描繪了每種方法在去除20%,40%…,100%估計標籤錯誤後訓練的準確性。圖中黑色虛線部分描述了使用所有樣本訓練時的準確性。

使用CL在清洗後的 ImageNet 訓練集上訓練(不添加合成噪聲),當移除小於十萬個訓練樣本時,觀察到使用ResNet時驗證精度得到提高;當大於十萬個訓練樣本被移除時,觀察使用CL清洗後的數據與隨機移除樣本的結果相比相對有所改善(如圖紅色虛線所示)。

ImageNet 存在十万标签错误,你知道吗?

添加標籤噪聲的CIFAR數據集中標籤噪聲的良好表徵

上圖顯示了CIFAR中使用CL估計標籤噪聲的聯合分佈,標籤噪聲增加了40%。觀察圖(b)中CL估計與圖(a)中的真實分佈有多接近以及(c)矩陣中每一項絕對差的低誤差。這裡概率被放大了100倍。

ImageNet 存在十万标签错误,你知道吗?

在ImageNet中自動發現本體(類命名)問題

CL 通過直接估計標籤噪聲的聯合分佈,自動發現數據集中類的本體問題。在上表中,我們展示了在 ImageNet 單類數據集的估計標籤噪聲聯合分佈時的最大偏離對角線。每行列出了噪聲標籤、真實標籤、圖像 id、統計數量和聯合概率。因為這些是偏離了對角,所以噪聲的類別和真實類別應該會是不同的,但實際上是在第 7 行中,我們看到 ImageNet 有兩個不同的類,它們都被標記為“maillot”。

我們也觀察到誤用詞語的情況:在第 一行中的標記拋射物和導彈為“是”的關係,即拋射物其實就是導彈,同樣的還有第二排中的標記的浴缸即為桶;還觀察到由一個詞的多個定義引起的問題,比如第九行中的玉米和耳朵。

七、最後的想法

我們的理論和實驗結果強調了置信學習的實用性,例如識別ImageNet和CIFAR中的許多標籤問題,並通過在乾淨的數據集上進行訓練來提高標準 ResNet 的性能。

置信學習促使人們認識到需要對數據集標籤中的不確定性估計、清理訓練集和測試集的方法以及數據集中本體和標籤問題的識別方法做進一步的瞭解。

via https://l7.curtisnorthcutt.com/confident-learning


分享到:


相關文章: