噪声标签的负训练:ICCV2019论文解析
噪聲標簽的負訓練:ICCV2019論文解析
NLNL: Negative Learning for Noisy Labels
論文鏈接:
http://openaccess.thecvf.com/content_ICCV_2019/papers/Kim_NLNL_Negative_Learning_for_Noisy_Labels_ICCV_2019_paper.pdf
摘要
卷積神經網絡(CNN)在用于圖像分類時具有優異的性能。經典的CNNs訓練方法是以有監督的方式標記圖像,如“輸入圖像屬于此標簽”(正學習;PL),如果標簽被正確分配給所有圖像,這是一種快速而準確的方法。然而,如果存在不準確的標簽或噪聲標簽,使用PL進行的培訓將提供錯誤的信息,從而嚴重降低性能。為了解決這個問題,本文從一種稱為負學習(NL)的間接學習方法開始,在這種方法中,cnn使用一個互補標簽進行訓練,如“輸入圖像不屬于這個互補標簽”。因為選擇一個真實標簽作為互補標簽的機會很低,NL降低了提供錯誤信息的風險。此外,為了提高收斂性,本文擴展了本文的方法,選擇性地采用了PL,稱為選擇性負學習和正學習(selnlp)。PL被有選擇地用于訓練期望為干凈的數據,隨著NL的進展,這些數據的選擇成為可能,從而產生了濾除噪聲數據的優異性能。通過簡單的半監督訓練技術,本文的方法達到了噪聲數據分類的最新精度,證明了selnlp的噪聲數據過濾能力的優越性。
- Introduction
卷積神經網絡(CNN)顯著提高了圖像分類的性能[17、8、29、11、7、38]。為了完成這項有監督的任務,需要由圖像及其對應的標簽組成的龐大數據集來訓練cnn。如果相應的標簽是正確的,CNNs是對圖像進行分類的強大工具。然而,準確地標記大量的圖像是令人望而生畏和耗時的,有時會產生不匹配的標記。當CNN使用噪聲數據進行訓練時,它可能會超過這樣的數據集,導致分類性能差。
因此,利用噪聲數據對cnn進行適當的訓練具有重要的現實意義。許多方法通過應用一些技術和正則化術語以及正學習(PL)來解決這個問題,正學習是一種典型的有監督學習方法,用于訓練“輸入圖像屬于這個標簽”的cnn[6、2、34、20、3、39、26、30、22、33、21]。然而,當CNN接受圖像和不匹配標簽的訓練時,錯誤的信息被提供給CNN。為了克服這個問題,本文建議使用負學習(NL),一種間接的學習方法來訓練CNN“輸入圖像不屬于這個互補標簽”,NL不會像PL那樣頻繁地提供錯誤的信息(圖1)。例如,當使用PL用噪聲CIFAR10訓練CNN時,如果CNN接收到狗的圖像和標簽“car”,則CNN將被訓練以承認該圖像是一輛汽車。
在這種情況下,CNN接受了錯誤信息的訓練。然而,有了NL,CNN將隨機獲得“汽車”以外的補充標簽,例如“鳥”。訓練CNN承認這張圖片不是鳥在某種程度上是向CNN提供正確信息的行為,因為狗顯然不是鳥。以這種方式,噪聲數據可以通過提供“正確的”信息來幫助訓練CNN,而“正確的”信息很有可能不會選擇一個真實的標簽作為補充標簽,而“正確的”信息在PL中提供了零機會。本文的研究證明了NL的有效性,因為它可以防止CNN對噪聲數據的過度設置。
此外,利用NL訓練方法,本文提出了選擇性負學習和正學習(selnlp)相結合的學習方法,以充分利用這兩種方法在噪聲數據下進行更好的訓練。盡管PL不適合于噪聲數據,但它仍然是一種快速、準確的干凈數據處理方法。因此,在用NL訓練CNN之后,PL開始有選擇地只使用高分類置信度的訓練數據來訓練CNN。
通過這個過程,selnlp擴大了干凈數據和噪聲數據之間的差距,從而產生了從訓練數據中過濾噪聲數據的優異性能。
隨后,通過丟棄過濾后的噪聲數據的標簽并將其視為未標記數據,本文利用半監督學習對噪聲數據進行分類?;趕elnlp優越的濾波能力,本文證明了用一種簡單的半監督學習方法可以實現噪聲數據分類的最新性能。雖然這不是第一次通過過濾噪聲數據來解決噪聲數據分類問題[2,6,24],但由于對噪聲數據使用了PL,濾波結果并不樂觀。
本文的主要貢獻如下:
?本文將負學習的概念應用于噪聲數據分類問題。本文證明了它的適用性,證明它可以防止CNN對噪聲數據的過度過濾。
?利用提議的NL,本文引入了一個新的框架,稱為selnlp,用于從訓練數據中過濾出噪聲數據。在NL之后,通過選擇性地將PL應用于高可信度的訓練數據,本文可以實現對噪聲數據的精確濾波。
?本文通過基于SelNLPL實現的卓越噪聲數據濾波的相對簡單的半監督學習,實現了最先進的噪聲數據分類結果。
?本文的方法不需要事先知道噪聲數據點的類型或數量。它不需要任何依賴于先驗知識的超參數調整,使本文的方法適用于現實生活。
- Related works
噪聲標簽學習是近年來提出的一種新的學習方法。在此,本文將回顧相關研究。一些方法試圖產生抗噪聲損失[1,32,23,4,3,39]。Ghosh等人[4,3]從理論上證明了平均絕對誤差(mean-absolute error,MAE)對噪聲標簽具有魯棒性,但在神經網絡中使用MAE會降低精度。Zhang等人[39]提出了一種廣義交叉熵損失,它不僅對標簽噪聲具有魯棒性,而且在深層神經網絡中也有很好的性能。
在其他研究中,每個訓練樣本根據給定標簽的可靠性進行不同的加權[13,27,20]。[13,27]使用元學習算法來學習每個樣本的最優權重。然而,這兩種方法都需要一定數量的干凈數據,這在許多情況下很難獲得。清潔網[20]也受到限制,因為它需要一個經驗證正確的標簽。有些方法使用校正方法。損失校正[25,31,36,10]方法假設噪聲轉移矩陣已知,或者可以獲得一些干凈的數據來計算噪聲轉移矩陣。[28,14,5]通過添加一個附加層來建模噪聲轉移矩陣。其他幾種方法試圖直接更正標簽[33,21]。
然而,在這些方法中,需要干凈的數據來訓練標簽清洗網絡和教師網絡。另外還有一些標簽清理方法,這些方法逐漸將數據標簽改變為網絡的預測值[26、30、22]。其他方法包括聯合建模標簽和工作質量[15],創建一個健壯的方法來學習開放集噪聲標簽情況[34],并嘗試修剪正確的樣本[6,2,24]。丁等人[2] 建議基于softmax輸出修剪正確的樣本。被認為不可靠的樣本以半監督的方式進行訓練,而不是使用標簽信息。
本文的方法同時利用了正確樣本的剪枝和標簽修正方法?,F有的剪枝和標簽清洗方法[6,2,26,30,22]使用直接訓練的網絡來處理給定的噪聲標簽;因此,即使執行了剪枝或清洗過程,也可能發生對噪聲標簽的過度設置。同時,本文使用了NL方法,它間接地使用了噪聲標簽,從而避免了記憶噪聲標簽的問題,并且在僅過濾噪聲樣本方面表現出顯著的性能。使用補充標簽這不是第一次使用補充標簽。先前的研究[12,37]集中在一個分類任務中,在這個任務中給出了補充標簽。然而,與互補標簽分類任務不同,本文從給定的噪聲標簽生成互補標簽,并將其用于NL。
- Method
本節介紹了噪聲數據分類的總體方法。第3.1節描述了NL的概念和實現,證明了NL比PL更適合于含噪數據的訓練。第3.2節和第3.3節分別介紹了選擇性負學習(SelNL)和選擇性正學習(SelPL),這是NL之后進一步使CNN在含噪條件下訓練更好的后續步驟訓練數據,同時防止過度訓練。所有這些方法的結合被稱為選擇性負學習和正學習(selnlp),這證明了從訓練數據中過濾噪聲數據的優異性能(第3.4節)。最后,利用selnlp的濾波能力,對噪聲數據分類進行半監督學習(第3.5節)。
圖2顯示了PL和NL之間的明顯比較。CNN在CIFAR10上用PL或NL訓練,CIFAR10被30%symm inc噪聲污染。本文中使用的噪聲類型在第5節中進行了說明。注意,當CNN使用PL(等式1)或NL(等式2)訓練時,圖中所示的所有損失(圖2(a))均使用等式1計算。隨著PL的增加,測試損耗降低,測試精度提高。然而,它最終會導致CNN對噪聲訓練數據的過度過濾,導致在干凈的測試數據上表現不佳。相比之下,NL被證明在訓練CNN時不會對噪聲訓練數據進行過多設置,因為可以觀察到測試損失的逐漸減少和測試精度的提高。圖3(a)和(b)分別顯示了PL和NL之后的訓練數據直方圖。雖然凈數據和噪聲數據的置信度隨著PL的增加而增加,但噪聲數據的置信度遠低于NL的凈數據,這再次表明NL有能力防止CNN對噪聲數據的過度擬合。
如第3.1節所述,NL可以防止CNN對噪聲數據的過度設置,如其低置信值所示(圖3(b))。下一步,本文將引入SelNL來改善NL之后的收斂性。在使用NL訓練之后,SelNL只訓練置信度大于1/c的CNN。在閾值化之后,訓練所涉及的數據往往比以前噪聲更小,從而有效地改善了CNN的收斂性。圖3(c)顯示了NL之后的SelNL結果。
在含有噪聲數據的情況下,非線性學習是一種較好的學習方法。但是,如果訓練數據被證實干凈的標簽,PL是一種比NL更快更準確的方法。經過NL和SelNL的訓練,干凈和噪聲數據的密度被大幅度地分開(圖3(c))。假設這些數據是干凈的數據,selp只訓練CNN的數據對γ有信心。在這項研究中,本文將γ設為0.5。圖3(d)顯示了圖3(c)之后的SelPL結果,幾乎所有干凈數據的置信度都在1附近。
總而言之,NL、SelNL和SelPL的組合稱為selnlp。selnlp的整個過程如算法2所示。圖4顯示了每個步驟的性能變化。它清楚地表明了應用每個步驟時性能的提高,從而證明了selnlp中每個步驟的重要性。圖4證明了selnlp的每個步驟都有助于收斂,同時防止對噪聲數據的過度設置,從而在整個訓練過程中比訓練精度更高的測試精度。如圖3(d)所示,干凈數據和噪聲數據的總體一致性被大幅度分開。這意味著selnlp可用于從訓練數據中過濾噪聲數據。第4節對該區域進行了進一步分析。
利用selnlp的濾波能力,半監督學習方法可以應用于凈化數據和過濾噪聲數據,丟棄過濾噪聲數據的標簽。對于半監督學習,本文應用偽標記方法[19]。圖5顯示了偽標記的整個過程。首先,使用經過selnlp訓練的CNN將訓練數據分為干凈數據和噪聲數據(圖5(a))。
接下來,在圖5(b)中,使用從selnlp獲得的干凈數據訓練初始化的CNN。然后,用圖5(b)中CNN的輸出更新噪聲數據的標簽。在這里,本文使用軟標簽作為更新標簽,類似于[30]。用于圖像分類的典型標簽是一個熱向量,而軟標簽只是經過訓練的CNN的輸出。結果表明,軟標簽在更新標簽時效果更好[30]。最后,使用干凈數據和標簽更新的噪聲數據來訓練初始化的CNN(圖5(c))。這導致了狀態的準確性,證明了高過濾能力的selnlp。結果見第5節。
- Filtering ability
第3.4節提到selnlp對于從訓練數據中過濾噪聲數據是有效的。在本節中,本文將進一步解釋selnlp的過濾過程。當使用selnlp訓練CNN時,假設置信度超過γ的數據是干凈的。按照這種方法,本文過濾出沒有經過PL訓練的數據作為噪聲數據。
表1總結了具有不同噪聲比(symminc)的CIFAR10上SelNLPL的濾波結果。估計的噪聲比是指未經PL訓練的數據量。召回率和精確度是噪聲數據過濾質量的衡量指標。結果表明,估計出的噪聲比與實際噪聲比接近88%~99%。
此外,表1顯示了本文過濾噪聲數據的方法導致了高召回率和高精度值,表明本文的方法從訓練數據中過濾出了大部分純噪聲數據。這就意味著,即使訓練數據中混合的噪聲量是未知的,這在實際情況中是很正常的,也可以用selnlp來估計噪聲量,這是一個巨大的優勢,因為它可以作為訓練數據質量的指標。
圖6比較了擬議方法的總體過濾能力。在對噪聲數據進行過濾波前,對CNN進行PL訓練,得到PL曲線。曲線表明,selnlp的每一步都有助于提高濾波性能,超過了PL。總而言之,selnlp在從訓練數據中過濾噪聲數據方面表現出優異的效果,如圖6所示。此外,由selnlp估計出的噪聲比與實際噪聲比幾乎吻合,因此,在實際噪聲比不可用的情況下,可以用來指示訓練數據的質量。
- Experiments
在本節中,本文將描述為評估本文的方法而進行的實驗。將selnlp后的偽標記結果與現有的噪聲數據分類方法進行了比較。為了說明本文的方法可以推廣到不同的環境中,本文遵循其他基線方法的不同實驗設置,這些實驗設置根據CNN結構、數據集和訓練數據中的噪聲類型而不同。(表3、4、5、6)。
本文使用三種不同類型的噪聲,遵循基線方法。對稱噪聲對稱噪聲的基本思想是在類之間隨機選擇一個概率相等的標簽。實驗中采用了兩種對稱噪聲:symm-inc噪聲和symm-exc噪聲。Symm inc noise是通過從所有類(包括地面真值標簽)中隨機選擇標簽創建的,而Symm exc noise將地面真值標簽映射到其他類標簽中的一個,因此不包括地面真值標簽。Symm inc noise用于表4,Symm exc noise用于表3、5、6。
對于優化,本文使用動量為0.9、權重衰減為10-4、批量大小為128的隨機梯度下降(SGD)。對于NL,SelNL,和SelPL,他們每個人都訓練了720個時代的CNN。除了MNIST,所有數據集和CNN架構的學習率都是統一的。NL、SelNL和SelPL的學習率分別設置為0.02、0.02和0.1。對于偽標記,對于每個步驟(圖5(b),(c)),學習率從0.1開始,在192288個階段(總共480個階段)除以10。作為例外,使用MNIST時,NL和SelNL的學習率設置為0.1。
表3顯示了來自Zhang等人的結果。[39],補充了本文的結果。時裝設計師使用18層ResNet[8],而CIFAR10和CIFAR100使用34層ResNet[8]。無論CNN結構、數據集、噪聲類型或噪聲比如何,本文的方法在幾乎所有情況下都獲得了最佳的總體精度。在某些情況下,本文的方法顯著優于其他方法,最高可達5%。
本文的方法只有在symm-exc噪聲為80%時才無法收斂,這一點可以忽略,因為這種情況是不現實的。應注意的是,張等人[39]參考了驗證數據的準確性,以防止過度設置到噪聲數據,而本文的方法是有利的,因為它沒有參考任何驗證準確性。CIFAR100的結果是通過本文的方法的擴展版本實現的,該方法在第6.1節中有詳細說明。表4取自Tanaka等人[30]。32層Pre ResNet[9]用于CIFAR10。
與表3類似,本文的方法優于Tanaka等人報告的所有其他可比方法。[30],不考慮噪聲類型和比率。這個結果值得注意,因為田中等人[30]通過根據噪聲類型和噪聲比改變一些超參數來進行實驗。在實際情況下,此設置不適用,因為噪聲的類型或比率未知。本文的方法是優秀的,因為超參數不隨噪聲類型和比率而變化。
此外,為了公平地比較不對稱噪聲的情況,本文將用于不對稱噪聲的參數設置與用于10%(聯合*)和30%(聯合**)symm-inc噪聲的參數設置相匹配,因為不對稱噪聲情況下的噪聲數據量介于10%symm-inc和30%symm-inc之間。在這種情況下,不對稱噪聲的總體精度為[30]改變,使本文的方法優越于所有不對稱噪聲情況。表5和表6分別取自[22]和[2]。
表5中MNIST采用LeNet5結構,表6中MNIST采用2層全連接網絡,CIFAR10采用14層ResNet。兩個表都顯示本文的方法在所有CNN架構、數據集、噪聲類型和比率方面都超過了大多數其他可比結果。在某些情況下,本文的方法的性能比其他方法高出4~5%,顯示了本文的方法的優越性。
在表6中,本文的方法僅對60%不對稱噪聲表現次優,但本文認為這并不重要,因為這樣的情況是不現實的。
- Analysis
本文使用110個隨機ys(允許重復)計算單個數據的110個損失,由于110個損失共享為一個圖像計算的特征,因此只略微增加了反向傳播的時間。使用這種簡單的擴展方法,本文觀察到當使用與CIFAR10相同的時間段進行訓練時,CNN可以在CIFAR100上收斂,并且在噪聲數據分類方面顯示出普遍的改進(表3)。
對于symm-exc噪聲,本文取得了最新的結果。對于不對稱噪聲,前向T[25]表現出最好的性能。然而,這不是一個公平的比較,因為它依賴于混淆矩陣的先驗知識,該矩陣總結了一個類在噪聲下被嵌入另一個類的概率。因此可以得出結論,本文的方法在不包括前向T的情況下取得了可比的結果。在這一部分中,本文通過為每個圖像提供多個互補標簽,證明了本文的方法可以推廣到具有多個類號的數據集。
本文提出了一種新的噪聲數據分類方法,該方法由多個步驟組成:selnlp(NL→SelNL→SelPL),然后是半監督學習的偽標記。為了研究SelNLPL中每個步驟的強度,本文進行了分析,揭示了在整個訓練過程中省略SelNLPL的每個步驟時,在性能上的差異。從selnlp中刪除一個或多個步驟,然后應用于偽標記。
表7顯示了為進行分析而進行的所有實驗,遵循表4中30%和50%symm inc噪聲的實驗設置。它包括selnlp(#1)和從#1中刪除SelPL(#2)、SelNL(#3)或SelNL和selp(#4)。在表7中,與#1相比,#2和#3都顯示性能下降,而#4的性能更進一步減少(圖7)。
雖然symm inc 30%噪聲情況下的精度下降很小,但symm inc 50%噪聲情況下的性能明顯下降,特別是在從訓練過程中刪除SelNL的3和4情況下。使用NL訓練時CNN的收斂性很大程度上取決于訓練數據中的噪聲量,隨著噪聲比的增加,CNN的收斂性變小(圖3(b),圖7(a)。
因此,隨著噪聲比的增加,SelNL變得至關重要,因為它負責忽略具有低置信值的噪聲數據。SelNL提高了訓練所涉及的整體干凈數據比率,從而產生更好的收斂性(圖3(c),圖7(b))。
- Conclusions
本文提出了一種用噪聲數據訓練cnn的學習方法NL,即“輸入圖像不屬于這個互補標簽”,由于隨機選擇一個非基真標簽的互補標簽的機會很高,因此降低了用錯誤信息訓練cnn的風險。此外,由于在學習干凈數據時,PL比NL更快更準確,本文開發了一種新的方法selnlp,將PL和NL相結合,獲得了從訓練數據中過濾噪聲數據的優越性能。本文的研究通過使用基于selnlp濾波結果的半監督學習(偽標記)成功地進行了噪聲數據分類,在不基于任何先驗知識調整本文的方法的情況下實現了最新的結果。
總結
以上是生活随笔為你收集整理的噪声标签的负训练:ICCV2019论文解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无监督域对抗算法:ICCV2019论文解
- 下一篇: Camera HDR Algorithm