深度學(xué)習(xí)中的噪聲數(shù)據(jù)該如何處理?
孔子云:“性能不夠,數(shù)據(jù)來湊”??墒侨绻麛?shù)據(jù)中有噪聲標(biāo)簽(Noisy Labels)怎么辦?本文借鑒Google AI的最新工作[1]來回答這個問題。
以下我們盡量避免使用專業(yè)術(shù)語,希望對非專業(yè)的讀者也會有所幫助。
深度神經(jīng)網(wǎng)絡(luò)的成功依賴于高質(zhì)量標(biāo)記的訓(xùn)練數(shù)據(jù)。訓(xùn)練數(shù)據(jù)中存在標(biāo)記錯誤(標(biāo)記噪聲,即Noisy Labels)會大大降低[2]模型在干凈測試數(shù)據(jù)上的準(zhǔn)確性[3]。不幸的是,大型數(shù)據(jù)集幾乎總是包含帶有不正確或不準(zhǔn)確的標(biāo)簽。這導(dǎo)致了一個悖論:一方面,大型數(shù)據(jù)集對于深度網(wǎng)絡(luò)的訓(xùn)練是非常必要的,而另一方面,深度網(wǎng)絡(luò)往往會記住訓(xùn)練標(biāo)簽噪聲,從而在實(shí)踐中導(dǎo)致較差的模型性能。
學(xué)界已經(jīng)意識到這個問題的重要性,一直在試圖理解理解標(biāo)簽噪聲,和發(fā)明新的魯棒學(xué)習(xí)方法來克服它們。在這個過程中,受控實(shí)驗(yàn)[4]扮演著至關(guān)重要的角色。好比研發(fā)一種新的****物,我們需要受控實(shí)驗(yàn)來對影響實(shí)驗(yàn)結(jié)果的無關(guān)因素加以控制。在本問題里,最重要的是研究不同的噪聲水平(即數(shù)據(jù)集中帶有錯誤標(biāo)簽的樣本的百分比)對模型性能的影響。但是,當(dāng)前的受控實(shí)驗(yàn)僅局限在人工合成噪聲,而不是真實(shí)的噪聲。與實(shí)際經(jīng)驗(yàn)相比,人工合成噪音會導(dǎo)致研究結(jié)果大相徑庭。來看一個例子:“神經(jīng)網(wǎng)絡(luò)是否對于人工噪音數(shù)據(jù)敏感?”,前人給出了截然相反的答案:
”Deep neural networks easily fit random labels” (Zhang et al. 2017)
VS
“Deep learning is robust to massive label noise” (Rolnick et al. 2017)
更重要的是,我們發(fā)現(xiàn):在人工噪聲上表現(xiàn)良好的方法,在現(xiàn)實(shí)世界的噪聲數(shù)據(jù)集上效果可能并不理想。
在ICML 2020上發(fā)布的“Beyond Synthetic Noise: Deep Learning on Controlled Noisy Labels”中,我們做出了三點(diǎn)貢獻(xiàn)。首先,我們建立了第一個受控的噪聲數(shù)據(jù)集,一個來自真實(shí)世界的標(biāo)簽噪聲(即Web標(biāo)簽噪聲)[2]。其次,我們提出了一種簡單而有效的方法來克服真實(shí)和人工行合成的噪聲標(biāo)簽。最后,我們進(jìn)行了迄今為止最大的實(shí)驗(yàn),比較了人工和真實(shí)噪聲在各種訓(xùn)練環(huán)境下的區(qū)別。
人工合成標(biāo)簽噪聲與真實(shí)標(biāo)簽噪聲的區(qū)別:
人工噪聲與真實(shí)標(biāo)簽噪聲的分布之間存在許多差異,以圖像舉例:
1、首先,帶有真實(shí)標(biāo)簽噪聲的圖像在視覺或語義上與干凈的正樣本更加一致。
2、其次,人工標(biāo)簽噪聲處于類級別(即同一類中的所有樣本均同樣嘈雜),而現(xiàn)實(shí)世界中的標(biāo)簽噪聲處于實(shí)例級(與相關(guān)類無關(guān),某些圖片會比其他圖片更有可能被錯誤標(biāo)注)。例如,“本田思域”和“本田雅閣”的側(cè)面圖片會比正面拍攝的圖片更容易混淆。
3、第三,帶有真實(shí)標(biāo)簽噪聲的圖像來自開放的詞匯,這些詞匯可能不會與特定數(shù)據(jù)集的類詞匯重疊。例如,“ ladybug”的噪聲圖像包括諸如“ fly”之類的圖片,然而”fly"很可能是一個background class,也就是并不是我們訓(xùn)練集合定義的class的一部分。
基于以上原因,一個受控標(biāo)簽噪聲的數(shù)據(jù)集將有助于更好地定量研究人工合成和實(shí)際標(biāo)簽噪聲之間的差異。
人工合成標(biāo)簽噪音和Web標(biāo)簽噪音的比較。從左到右的列是Mini-ImageNet或Stanford Cars數(shù)據(jù)集中的真實(shí)睜眼本,帶有人工合噪聲的圖像,以及帶有錯誤Web標(biāo)簽的圖像(在本文中收集)。
為了區(qū)分,我們用紅色噪聲來指代Web標(biāo)簽噪聲,而用藍(lán)色噪聲來指代人工合成標(biāo)簽噪聲 (見黑客帝國中的紅色和藍(lán)色****丸)
Web上受控標(biāo)簽噪聲
“如果選擇藍(lán)色****丸– 故事就此結(jié)束,你在自己床上醒來,繼續(xù)相信你愿意相信的一切。如果你吃下紅色****丸– 你將留在奇境,我會讓你看看兔子洞究竟有多深?!?(黑客帝國 1999)
我們提出的Web噪聲數(shù)據(jù)集合建立在兩個公共數(shù)據(jù)集上:Mini-ImageNet(用于粗粒度圖像分類)和Stanford Cars(用于細(xì)粒度圖像分類)。遵循人工合成數(shù)據(jù)集的構(gòu)建方法,我們逐漸將這些數(shù)據(jù)集中的干凈圖像替換為從網(wǎng)絡(luò)上收集的標(biāo)簽錯誤的圖像。
為此,我們使用類名(例如“ ladybug”)作為關(guān)鍵字從網(wǎng)絡(luò)上收集圖像,這是一種自動方法來收集Web上帶有噪聲標(biāo)簽的圖像,完全無需人工注釋。然后,我們使用Google Cloud Labeling Service的標(biāo)注人員檢查每個檢索到的圖像,這些標(biāo)注人員將識別給定的Web標(biāo)簽是否正確。我們使用帶有錯誤標(biāo)簽的Web圖像來替換原始Mini-ImageNet和Stanford Cars數(shù)據(jù)集中的一定比例的干凈訓(xùn)練圖像。我們創(chuàng)建了10個不同的數(shù)據(jù)集,它們的標(biāo)簽噪聲逐漸升高(從0%的完全干凈數(shù)據(jù),到80%的帶有錯誤標(biāo)簽的數(shù)據(jù))。數(shù)據(jù)集已在我們的“ 受控噪聲網(wǎng)絡(luò)標(biāo)簽”網(wǎng)站上開源。
MentorMix:一種簡單的魯棒學(xué)習(xí)方法
給定一個含有未知噪聲的數(shù)據(jù)集,我們的目標(biāo)是訓(xùn)練一個魯棒的模型,該模型可以很好地推廣到干凈的測試數(shù)據(jù)上。我們介紹了一種簡單有效的方法來處理噪聲標(biāo)簽,稱為MentorMix,該方法是在本文提出的數(shù)據(jù)集上開發(fā)得到的。
MentorMix是一種基于MentorNet和Mixup兩種現(xiàn)有技術(shù)的迭代方法,包括四個步驟:加權(quán),抽樣,混合和再加權(quán)。第一步,通過MentorNet網(wǎng)絡(luò)在mini-batch中為每個樣本計算權(quán)重,并將權(quán)重normalize為分布。在此處的示例中,MentorNet使用StudentNet訓(xùn)練loss來確定分布中的權(quán)重。
MentorMix方法的四個步驟的圖示:加權(quán),采樣,混合和再加權(quán)。
接下來,對于每個樣本,我們使用重要性采樣根據(jù)分布在同一個mini-batch中選擇另一個樣本。由于權(quán)重較高的樣本往往帶有正確的標(biāo)簽,因此在采樣過程中會受到青睞。然后,我們使用Mixup混合原始樣本和采樣得到的樣本,以便模型在兩者之間進(jìn)行插值,并避免過度擬合噪聲。最后,我們可以為混合的樣本計算一個新的權(quán)重,來計算最終的example loss。對于高噪聲水平,上述二次加權(quán)的影響變得更加明顯。
上面的動畫演示了MentorMix中的四個關(guān)鍵步驟,其中StudentNet是要在噪聲標(biāo)簽數(shù)據(jù)上進(jìn)行訓(xùn)練的模型。正如Jiang等人所述,我們采用了非常簡單的MentorNet版本,以計算每個樣本的權(quán)重。
模型性能
我們在五個數(shù)據(jù)集上驗(yàn)證了MentorMix的有效性。其中WebVision 1.0是一個包含有現(xiàn)實(shí)噪聲標(biāo)簽的220萬張圖像的大型數(shù)據(jù)集。MentorMix在WebVision數(shù)據(jù)集上獲得最佳的結(jié)果,就ImageNet ILSVRC12驗(yàn)證集的top-1分類準(zhǔn)確性而言,將以前的最佳方法提高了約3%。
Web噪聲標(biāo)簽的新發(fā)現(xiàn)
這項(xiàng)工作代表了迄今為止最大的研究,目的是了解在噪聲標(biāo)簽上訓(xùn)練的深度神經(jīng)網(wǎng)絡(luò)。我們提出了三個有關(guān)Web標(biāo)簽噪聲的新發(fā)現(xiàn):
· 深度神經(jīng)網(wǎng)絡(luò)可以更好地泛化在Web標(biāo)簽噪聲
· 在神經(jīng)網(wǎng)絡(luò)標(biāo)簽噪聲上,深度神經(jīng)網(wǎng)絡(luò)可能不會率先學(xué)習(xí)模式 (Learning the early patterns first)
· 當(dāng)神經(jīng)網(wǎng)絡(luò)在噪聲數(shù)據(jù)上微調(diào)時,更先進(jìn)的ImageNet架構(gòu)會在帶有噪聲的訓(xùn)練數(shù)據(jù)集上表現(xiàn)的更好。
基于我們的發(fā)現(xiàn),我們有以下針對在噪聲數(shù)據(jù)上訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的實(shí)用建議:
1、處理噪聲標(biāo)簽的一種簡單方法是fine-tune在干凈的數(shù)據(jù)集(如ImageNet)上預(yù)訓(xùn)練的模型。預(yù)訓(xùn)練的模型越好,則可以更好地推廣到下游含有噪聲的訓(xùn)練任務(wù)上。
2、提前停止 (Early Stopping)可能對網(wǎng)絡(luò)上的實(shí)際的標(biāo)簽噪音無效。
3、在人工噪聲上表現(xiàn)良好的方法,在現(xiàn)實(shí)世界的噪聲數(shù)據(jù)集上效果可能并不理想
4、Web標(biāo)簽噪聲似乎危害較小,但是對于我們當(dāng)前的robust Learning的學(xué)習(xí)方法而言,解決起來卻更加困難。這個發(fā)現(xiàn)鼓勵更多的未來研究。
5、建議的MentorMix可以更好地克服人工合成和現(xiàn)實(shí)噪音標(biāo)簽。
MentorMix的代碼可在GitHub上獲得,數(shù)據(jù)集在我們的數(shù)據(jù)集網(wǎng)站上,鏈接如下:
GitHub:https://github.com/google-research/google-research/tree/master/mentormix
數(shù)據(jù)集:https://google.github.io/controlled-noisy-web-labels/index.html
來自 | 知乎 作者 | 蔣路
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。