ICCV 2019論文解讀:數據有噪聲怎麼辦?你可以考慮負學習

ICCV 2019論文解讀:數據有噪聲怎麼辦?你可以考慮負學習

解讀 | BBuf

下面要介紹的論文發於ICCV2019,題為「NegativeLearning for Noisy Labels」,axriv地址為:https://arxiv.org/abs/1908.07387。

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

卷積神經網絡(CNN)在圖像分類任務中表現出色。訓練CNN的經典方法就是以有監督的方式對圖像進行標記,這是一種快速且準確的方法,這裡也將這種方法稱為正學習(PL)。但是如果存在不正確的標籤或者有噪聲的標籤,使用PL訓練將提供錯誤的信息,從而嚴重降低性能。為了解決這一問題,我們從一種稱為負學習(NL)的間接學習方法開始,使用補充標籤來訓練CNN,例如輸入圖像不屬於某類這種信息。因為選擇一個正標籤作為補充標籤的可能性很小,NL降低了提供錯誤信息的風險。此外,為了讓網絡收斂更快,我們擴展了本方法,選擇性的採用了PL,稱為選擇性負學習和正學習(SelNLPL)。通過簡單半監督訓練技術,我們的方法實現了有噪數據分類的SOAT性能,證明了SelNLPL對噪聲過濾的有效性。

1. 研究背景

卷積神經網絡在圖像分類任務中表現出色,但依賴於大量的正確標註數據,而標註成本較高,且在標註過程中不可避免出現標註錯誤的情況,網絡可能過度擬合這個數據集導致分類性能不佳。為了克服這個困難,我們提出了NL來學習圖片不屬於哪一類。如Figure1所示,如果是PL,CNN接受到圖片和標籤為車,模型會被訓練為認為這張圖片的內容是車而不是狗,這裡顯然就出錯了。如果使用NL,CNN會被提供除了車之外的補充標籤,例如鳥,然後訓練網絡認為這張圖片不是鳥。用這種方式,噪聲數據可以通過提供“正確的”信息而沒有選擇真實標籤作為補充標籤的可能性很高,從而有助於模型訓練。另外,我們利用NL訓練方法,提出了SeNLPL,該方法將PL和NL結合起來,以充分利用兩種方法來更好地訓練有噪數據。儘管PL不適合嘈雜的數據,但它在乾淨數據中仍然是一種快速,準確的方法。

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

Figure 1

2. 貢獻

1. 我們將負學習(NL)方法應用於噪聲數據分類問題。我們通過證明它可以防止CNN過度擬合有噪聲的數據來說明其實用性。

2. 利用提出的NL,我們引入了一個稱為SelNLPL的新框架,用於從訓練數據中濾除噪聲數據。

3. 我們基於SelNLPL,通過相對簡單的半監督學習獲得了有噪數據的SOAT分類結果。

4. 我們的方法不需要任何噪聲數據類型、數量等先驗知識。並且我們的方法沒有引入任何需要依賴於先驗知識的超參數,這使得我們的方法可以更好的應用。

3. 方法

本節介紹了用於噪聲數據分類的整體方法。

3.1 負學習

第一節提到,傳統的針對圖像分類問題的訓練方式都是正學習,即學習每個樣本屬於某類。相反,NL需要學習的是每個樣本不屬於哪類。我們考慮一個c類的分類問題,將

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

作為輸入,

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

代表它的標籤以及整個標籤集合。

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

代表它們的獨熱碼向量。假設

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

代表的是CNN將輸入空間映射到一個c維的分數空間

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

,其中

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

代表神經網絡的參數。如果

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

最後經過softmax函數,那麼輸出可以被表示為一個概率分佈

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

,其中

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

代表c維的概率分佈。當使用PL訓練時,網絡的交叉熵損失函數變成:

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

其中

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

代表

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

的第

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

個元素。等式(1)適合使用PL訓練時最終要優化的損失函數。但是NL不同於PL,因為它要求

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

,所以我們提出NL的損失函數如下:

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

該互補標籤是完全隨機的,因為它是針對訓練期間的每次迭代從除給定標籤y之外的所有類別標籤中隨機選擇的,如Algorithm1所示。等式(2)使補充標籤的概率最優化為0,從而導致其他其他類別的概率值增加,從滿足NL的要求。

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

Figure2展示了PL和NL之間的明顯區別。CNN在夾雜了30%對稱噪聲的CIFAR10數據集上PL或NL訓練嗎。我們使用的噪聲將在第5節介紹。注意,雖然CNN是使用PL(公式1)或NL(公式2)訓練的,但Figure2(a)中所有的損失均是由公式1計算的。使用PL,可在早期降低測試損失並提高測試精度。但是,因為最終CNN過度擬合了帶噪聲的訓練數據,從而導致對乾淨數據的測試結果變差。相反,隨著觀察到的測試損失逐漸減少和測試準確率提高,NL被證明在訓練CNN時不會過度擬合數據。

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

Figure 2

3.2 選擇性的負學習

正如3.1節提到的,NL可以防止CNN過度擬合帶噪樣本,如Figure3(b)所示。下一步,我們介紹SelNL以改善NL之後的收斂性。用NL訓練後,SelNL僅適用置信度超過1/c的數據訓練CNN。在閾值化之後,訓練中涉及的數據噪聲往往比之前少,從而有效的提高了CNN的收斂性。Figure3(c)展示了NL之後的SelNL結果。

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

Figure 3

3.3 選擇性的正學習

當涉及到有噪數據時,NL可能是一種更好的學習方法。但是,如果訓練數據是無噪的,則PL是比NL更快,更準確的方法。在使用NL和SelNL進行訓練之後,乾淨的和帶噪的樣本的置信度差很多,如圖Figure3(c)所示。SelPL僅使用置信度超過的數據來訓練CNN,並保證這些數據是無噪數據。這裡,我們取為0.5,Figure3(d)展示了SelPL在經過SelNL處理後訓練的結果,幾乎所有無噪數據的置信度都接近1。

3.4 選擇性的正負學習

總而言之,NL,SelNL和SelPL的組合稱為SelNLPL。Algortim2展示了SelNLPL的整個過程。

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

Figure4展示了每個步驟的性能變化。Figure4清楚的表明了應用每個步驟時的性能增強,從而證明了SelNLPL中每個步驟的重要性。Figure4表明,SelNLPL的每個步驟都有助於收斂,同時可以有效防止對噪聲數據的過擬合,從而獲得十分solid的結果。如Figure3(d)所示,乾淨數據和帶噪數據的總體置信度被大幅度分開,這意味著SelNLPL可用於從訓練數據中過濾噪聲數據。第4節將對這一點進行進一步分析。

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

Figure 4

3.5 半監督學習

藉助SelNLPL的過濾功能,可以將半監督學習方法應用於清洗數據和過濾噪聲數據,並丟棄過濾後的有噪數據的標籤。對於半監督學習,我們應用偽標記方法。Figure5展示了偽標記的整個過程。首先,使用通過SelNLPL訓練的CNN將訓練數據分為乾淨數據和有噪數據(Figure5(a))。接下來在Figure5(b)中CNN的輸出更新噪聲數據的標籤。在這裡我們使用軟標籤作為更新的標籤。用於圖像分類的典型標籤是獨熱碼矢量,而軟標籤只是經過訓練的CNN輸出。結果表明,更新標籤時用軟標籤更好。最後,使用乾淨的數據和標籤更新的噪聲數據來訓練重新初始化的CNN(Figure5(c))。這取得了SOAT精度,證明了SelNLPL的高過濾能力。結果展示在第5節中。

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

Figure 5

4. 過濾能力

在第3.4節中提到,SelNLPL對於從訓練數據中過濾噪聲數據非常有效。在本節中,我們將進一步說明SelNLPL的過濾過程。使用SelNLPL訓練CNN時,將置信度超過的數據認為是乾淨的。按照這種方法,我們將未經PL訓練的數據看做是噪聲數據。Table1總結了具有各種噪聲比值的CIFAR10上的SelNLPL濾波結果。其中Estimated noise表示未經PL訓練的數據中的噪聲比。召回率和精度是衡量噪聲數據過濾質量的方法。結果標籤,估計的噪聲比幾乎和實際噪聲匹配度在88%到99%之間。此外,Table1展示我們過濾噪聲數據的方法可以產生較高的召回率和精度值,這代表我們的方法從訓練數據中濾除了大多數純噪聲數據。這意味即使未知混入訓練數據的噪聲量(在實際情況中是正常現象),也可以使用SelNLPL估算噪聲量,這是一個巨大的優勢,因為它可以用作訓練數據標註質量的判斷標準。Figure6比較了我們的方法的總體過濾能力。PL曲線是在過度擬合噪聲數據之前用PL訓練的模型測試獲得的。曲線表明,SelNLPL的每個步驟都有助於提高過濾性能。

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

Table 1

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

Figure 6

5. 實驗

在本節中,我們將介紹為評估我們的方法而進行的實驗。將SelNLPL之後的偽標記結果與用於噪聲數據分類的其他現有方法的結果進行比較。為了證明我們的方法可以推廣到各種環境,我們遵循其他的baseline方法的實驗設置,這些實驗在CNN架構,噪聲數據集類型等存在不同,具體的實驗測試結果如Table3,4,5,6所示。

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习
ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

6. 分析

6.1 適應多類別數據

我們的方法NL是使用補充標籤的簡介學習方法。由於NL優化過程的性質,收斂程度取決於數據集中的類編號c;隨著c的增加,CNN的訓練變慢。因此,當使用與訓練CIFAR100數據集時一樣的訓練輪次訓練CNN時,我們的方法無法收斂。為了克服和分析這種現象,我們考慮與乾淨數據點相關的梯度,以深入瞭解將NL方法擴展到許多其他分類案例的方式。讓我們考慮一個帶有乾淨標籤的數據點,這意味著給定的y始終不是真正的y。通過假設CNN處於初始狀態(初始狀態類似於網絡只能隨機猜測),可以得到等式2中的所有類別的梯度,其中

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

。梯度被表示為:

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

可以看到雖然對於給定的

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

損失函數的梯度減小了,但還會出現一個梯度,以增強與其他類別(包括真實標籤)相對應的分數。這意味著,使用NL訓練CNN後,獲得的梯度是

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

。假設我們正在使用10個分類或者100個分類的數據集,獲得的梯度是

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

對於10類的數據,

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

對於100類的數據。比較這兩種情況,100類數據集的梯度比10類數據集的梯度小110倍。該分析表明,要使NL在CIFAR100上收斂,需要的時間比CIFAR10要長的多,大約是110倍。由於訓練CNN需要大量時間,因此我們擴展了方法,以便為每個圖像提供多個隨機互補標籤。我們為單個數據隨機選擇110個可重複標籤,從而計算110個隨機損失,因為110個損失共享同一張圖像計算的特徵,所以反向傳播時間僅僅略有增加。通過這種簡單的擴展方法,我們觀察到,在以CIFAR10訓練相同的輪次時,CIFAR100可以收斂,並展示出了良好的抗噪性能,如上節的Table3所示。對於對稱噪聲,我們獲得了SOAT結果。對於非對稱噪聲,Forwars T展示了最好的性能。但是,這不是一個公平的比較,因為它依賴於混淆矩陣的先驗知識,該知識總結了一個類別在噪聲下翻轉為另一類別的可能性。因此可以得出結論,我們的方法在不和Forward T比較時取得了SOAT結果。在這一節中,我們展示了我們的方法可以通過為每個圖像提供多個互補標籤而推廣到具有多個類別的數據集上。

6.2 對照研究

本問題提出了一種新的噪聲數據分類方法,它由多個步驟組成。SelNLPL(NL->SelNL->SelPL),然後進行偽標記和半監督學習。為了研究SelNLPL中每個步驟的強度,我們進行了一項分析,揭示了在整個訓練過程中省略SelNLPL中每個步驟時的性能差異。從從SelNLPL中刪除一個或多個步驟,然後將其應用於偽標記。Table7展示了針對Table4的實驗進行的分析,其中對稱噪聲為30%和50%。它包括SelBLPL(#1),並從#1中刪除SelPL(#2),SelNL(#3)或SelNL和SelPL(#4)。在Table7中,與#1相比,#2和#3均顯示性能下降,而#4的性能進一步下降。如Figure7所示。這項研究證明了我們提出的方法每一個步驟都有作用,且SelNL至關重要。

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习

Figure 7

7. 總結

我們提出了使用噪聲數據進行訓練的NL,這是一種訓練CNN的學習方法,“輸入圖像不屬於該互補標籤”。這減少了用有噪數據訓練CNN的分享,因為可以隨機選擇不具有互補信息的互補標籤。此外,為了讓網絡收斂更快,我們擴展了本方法,選擇性的採用了PL,稱為選擇性負學習和正學習(SelNLPL)。PL被有選擇地用於訓練期望乾淨的數據,隨著NL的進展,數據選擇成為可能,從而產生了濾除噪聲數據的優越性能。通過簡單半監督訓練技術,我們的方法實現了噪聲數據分類的SOAT性能,證明了SelNLPL對噪聲過濾的有效性。

ICCV 2019论文解读:数据有噪声怎么办?你可以考虑负学习


分享到:


相關文章: