https://github.com/google-research/noisystudent
https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet
半監(jiān)督學(xué)習(xí),用于ImageNet分類
https://arxiv.org/abs/1911.04252v4
Cityscapes第一名、第二名:分層多尺度注意力、天真的學(xué)生,都很大程度地參考了這篇論文
https://www.fmi.com.cn/index.php?m=content&c=index&a=show&catid=9&id=634066
摘要:我們提出了NoisyStudent訓(xùn)練方法,這是一種即使帶標(biāo)注數(shù)據(jù)很豐富的情況下也能帶來性能提升的半監(jiān)督學(xué)習(xí)方法。在ImageNet上,NoisyStudent達(dá)到88.4%的top-1準(zhǔn)確率,比之前的SOTA模型(需要3.5B的弱標(biāo)注Instagram圖像)高出2個(gè)百分點(diǎn)。在魯棒性測試集上,它將ImageNet-A的top-1準(zhǔn)確率從61.0%提升至83.7%,將ImageNet-C的mean corruption error從45.7%減小至28.3%,將ImageNet-P的mean flip rate從27.8減小至12.2。
NoisyStudent擴(kuò)展了自訓(xùn)練和蒸餾的想法,在蒸餾中使用至少相等或更大的學(xué)生模型,在學(xué)生模型訓(xùn)練階段添加噪聲。在ImageNet上,我們首先在有標(biāo)注數(shù)據(jù)上訓(xùn)練一個(gè)EfficientNet模型,然后將它作為教師模型在300M無標(biāo)注圖像上生成偽標(biāo)注。然后在有標(biāo)注數(shù)據(jù)和偽標(biāo)注數(shù)據(jù)的混合數(shù)據(jù),訓(xùn)練一個(gè)更大的EfficientNet作為學(xué)生模型。這一過程迭代幾次,每個(gè)新的學(xué)生模型作為下一輪的老師模型。在學(xué)生模型的訓(xùn)練過程中,我們添加噪聲如drop out,隨機(jī)深度,數(shù)據(jù)增擴(kuò)如RandAugment,使得學(xué)生模型的泛化能力優(yōu)于老師模型。
模型在https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet
代碼在https://github.com/google-research/noisystudent
1. 引言
近年來深度學(xué)習(xí)在圖像識(shí)別領(lǐng)域取得顯著成功[45,80,75,30,83]。然而最先進(jìn)的視覺模型仍然依賴于有大量帶標(biāo)注的有監(jiān)督學(xué)習(xí)。
本文使用未標(biāo)注圖像來提升最先進(jìn)模型的準(zhǔn)確度,并證明,準(zhǔn)確度的提升會(huì)對(duì)魯棒性(對(duì)分布以外的數(shù)據(jù)的泛化能力)有過大的影響。為此,我們使用了一個(gè)更大規(guī)模的未標(biāo)注的圖像數(shù)據(jù)集,其中很大一部分?jǐn)?shù)據(jù)是不屬于ImageNet的訓(xùn)練集的分布的,也就是說,它們不屬于ImageNet的任何類別。我們用NoisyStudent方法訓(xùn)練我們的模型,這是一種半監(jiān)督學(xué)習(xí)的方法,主要分3步:(1)在帶標(biāo)注圖像上訓(xùn)練一個(gè)老師模型,(2)用老師模型在未標(biāo)注圖像上生成偽標(biāo)注,(3)在真標(biāo)注數(shù)據(jù)和偽標(biāo)注數(shù)據(jù)的混合數(shù)據(jù)上訓(xùn)練學(xué)生模型。這個(gè)過程迭代幾次,將學(xué)生模型作為下一輪的老師模型,在未標(biāo)注的圖像上重新標(biāo)注下,并訓(xùn)練新的學(xué)生模型。
NoisyStudent訓(xùn)練用兩種方式來提升自訓(xùn)練和蒸餾的性能。第一,學(xué)生模型容量比老師模型大,或者至少等于老師模型,這樣學(xué)生模型可以更好地從更大的數(shù)據(jù)集中學(xué)習(xí)。第二,學(xué)生模型訓(xùn)練階段,會(huì)添加噪聲,這樣迫使學(xué)生模型從偽標(biāo)簽中學(xué)得更努力/更困難(learn harder)。我們使用的噪聲有,給數(shù)據(jù)加噪聲,如RandAugment[18],給模型加噪聲,如dropout[76],隨機(jī)深度[37]。
使用NoisyStudent訓(xùn)練,使用300M未標(biāo)注的數(shù)據(jù),我們將EfficientNet在ImageNet上的top-1準(zhǔn)確度提升至88.4%。比先前的最先進(jìn)模型高2個(gè)百分點(diǎn),先前的最先進(jìn)模型需要3.5B的弱標(biāo)注Instagram圖像數(shù)據(jù)。我們的方法不僅在ImageNet的標(biāo)準(zhǔn)測試集上帶來提升,在大幅提高了在更難測試集上的分類魯棒性:在ImageNetA[32]的top-1準(zhǔn)確率從61.0%提升至83.7%,在ImageNetC[31]的mCE(mean corruption error)從45.7縮減至28.3,在ImageNetP[31]的mFR(mean flip rate)從27.8縮減至12.2。我們的主要結(jié)果如表1所示。
2. NoisyStudent訓(xùn)練
算法1概述了NoisyStudent訓(xùn)練過程。算法的輸入既有帶標(biāo)注圖像,也有未標(biāo)注圖像。我們用帶標(biāo)注的數(shù)據(jù)來訓(xùn)練老師模型,使用標(biāo)準(zhǔn)的交叉熵?fù)p失。然后用老師模型在未標(biāo)注的圖像上生成偽標(biāo)注。偽標(biāo)注可以是soft的(連續(xù)分布),也可以是hard的(one-hot分布)。然后訓(xùn)練學(xué)生模型,損失函數(shù)是真標(biāo)注數(shù)據(jù)和偽標(biāo)注數(shù)據(jù)的組合交叉熵?fù)p失。最后,迭代這個(gè)過程,把學(xué)生模型作為新一輪的老師模型,生成新的偽標(biāo)注,訓(xùn)練新的學(xué)生模型。算法如圖1所示。
算法1? ??NoisyStudent訓(xùn)練過程概述:
輸入:帶標(biāo)注的圖像以及未標(biāo)注圖像
。
步驟1:訓(xùn)練老師模型,最小化在有標(biāo)注圖像上的交叉熵?fù)p失:
步驟2:使用老師模型對(duì)未標(biāo)注數(shù)據(jù)生成soft或者h(yuǎn)ard偽標(biāo)注,注意,這一步對(duì)模型和數(shù)據(jù)都沒有添加噪聲
步驟3:訓(xùn)練一個(gè)更大或者至少同等容量的學(xué)生模型,損失函數(shù)是真標(biāo)注數(shù)據(jù)和偽標(biāo)注數(shù)據(jù)的組合交叉熵?fù)p失,注意,學(xué)生模型是添加噪聲的
步驟4:迭代訓(xùn)練,將學(xué)生模型作為新的老師模型,回到步驟2。
該算法是自訓(xùn)練的一種改進(jìn)版本,屬于半監(jiān)督學(xué)習(xí)(例如[71],[96])和蒸餾[33]。我們方法和先前工作的聯(lián)系個(gè)更多討論在第5節(jié)。
我們的關(guān)鍵改進(jìn)在于給學(xué)生模型增加噪聲,并且學(xué)生模型大于等于老師模型。這使得我們的方法不同于知識(shí)蒸餾[33],知識(shí)蒸餾通常不使用噪聲,而且學(xué)生模型比老師模型更小,以獲得更快的速度。我們的方法可以看做知識(shí)蒸餾的擴(kuò)展版本,通過給學(xué)生模型足夠的擬合能力,以及在噪聲方面更困難的設(shè)置,使學(xué)生模型比老師模型更好。
給學(xué)生加噪聲? ? 當(dāng)學(xué)生模型在訓(xùn)練地和老師模型一致的時(shí)候,它被故意地噪聲干擾;而當(dāng)它產(chǎn)生偽標(biāo)注的時(shí)候,它不會(huì)被噪聲干擾。在我們的實(shí)驗(yàn)中,我們使用兩種噪聲:對(duì)輸入數(shù)據(jù)加噪聲和對(duì)模型加噪聲。對(duì)于輸入數(shù)據(jù)噪聲,我們使用RandAugment[18]的數(shù)據(jù)增強(qiáng)。對(duì)于模型噪聲,我們使用dropout[76]和隨機(jī)深度[37]。
當(dāng)應(yīng)用到未標(biāo)注數(shù)據(jù)上時(shí),噪聲有個(gè)重要的好處,即迫使對(duì)標(biāo)注數(shù)據(jù)和未標(biāo)注數(shù)據(jù)的決策函數(shù)的不變性(invariances)。第一,在NoisyStudent訓(xùn)練中,數(shù)據(jù)增強(qiáng)是一種重要的加噪聲方法,因?yàn)樗仁箤W(xué)生模型在不同的增強(qiáng)版本的圖像上的預(yù)測是一致的,這類似于UDA[91]。具體地說,在我們的方法中,老師模型對(duì)干凈的數(shù)據(jù)(即未加噪聲的數(shù)據(jù))生成偽標(biāo)注,而學(xué)生模型以增強(qiáng)的數(shù)據(jù)為輸入來重現(xiàn)這些標(biāo)注。例如,學(xué)生模型必須確保圖像在平移后它的類別不會(huì)改變。當(dāng)使用dropout和隨機(jī)深度函數(shù)來作為噪聲時(shí),老師模型在推理階段(即生成偽標(biāo)注時(shí))就像一個(gè)集成的模型,而學(xué)生模型就像一個(gè)單一模型。換言之,學(xué)生模型被迫使模仿更強(qiáng)大的集成模型。4.1節(jié)我們對(duì)噪聲的影響進(jìn)行了消冗研究。
其它技術(shù)? ? NoisyStudent還有一個(gè)額外的技巧:數(shù)據(jù)過濾和平衡,類似于[91,93]。具體地說,我們將老師模型的置信度低的圖像過濾掉,因?yàn)樗鼈兺ǔJ怯蛲鈭D像(out-of-domains),為了確保未標(biāo)注的圖像的分布和訓(xùn)練集的分布匹配,我們還需要平衡未標(biāo)注圖像的每個(gè)類別的數(shù)量。因?yàn)樵贗mageNet的有標(biāo)注圖像中,所有類別的數(shù)量是相近的。對(duì)于數(shù)量不夠的類別,我們就復(fù)制圖像;對(duì)數(shù)量過多的類別,我們就選取置信度最高的那些圖像。
最后,我們強(qiáng)調(diào)我們的偽標(biāo)注可以是軟的也可以是硬的,在我們都實(shí)驗(yàn)中,軟的和硬的都能起作用。特別是軟的,對(duì)于域外未標(biāo)注圖像,效果會(huì)稍好些。因此,在下文中,為了保持一致性,除非另有說明,我們用軟的偽標(biāo)注來報(bào)告結(jié)果。
與現(xiàn)有的SSL方法的比較????除了自訓(xùn)練以外,半監(jiān)督學(xué)習(xí)[12,103]的另一類重要工作是基于一致性訓(xùn)練[5,64,47,84,56,91,8]和偽標(biāo)注[48,39,73,1]。雖然它們的結(jié)果是promising的,但是在我們的初步實(shí)驗(yàn)中,基于一致性正則化和偽標(biāo)注的方法在ImageNet上的效果更差。這些方法不像我們用真標(biāo)注數(shù)據(jù)訓(xùn)練的老師模型產(chǎn)生偽標(biāo)注,這些方法沒有專門的老師模型,而是用正在訓(xùn)練的模型來產(chǎn)生偽標(biāo)注。訓(xùn)練的早期階段,模型準(zhǔn)確度低、熵高,因此一致性訓(xùn)練會(huì)正則化模型,導(dǎo)致高熵預(yù)測,使模型難以達(dá)到好的準(zhǔn)確度。一個(gè)常見解決辦法是將熵最小化、將置信度低的樣本濾掉,或者加強(qiáng)一致性損失。然而,加強(qiáng)一致性損失、濾掉低置信度的樣本、熵最小化會(huì)引入額外的超參數(shù),使得在大規(guī)模的情況下很難使用。在ImageNet上,自訓(xùn)練或者老師-學(xué)生網(wǎng)絡(luò)的方案會(huì)更適合。因?yàn)樵贗mageNet上我們可以訓(xùn)練一個(gè)好的老師模型。
3 實(shí)驗(yàn)
本節(jié)首先介紹我們是實(shí)驗(yàn)細(xì)節(jié)。然后展示我們方法的結(jié)果,并與最先進(jìn)的模型的結(jié)果對(duì)比。最后,我們展示我們的模型在魯棒測試集及對(duì)抗攻擊測試(例如ImageNet-A,C,P)上取得的驚人的性能提升。
3.1 實(shí)驗(yàn)細(xì)節(jié)
帶標(biāo)注數(shù)據(jù)集? ? 我們?cè)贗mageNet ILSVRC挑戰(zhàn)賽任務(wù)上進(jìn)行實(shí)驗(yàn),其被認(rèn)為是計(jì)算機(jī)視覺中最重要基準(zhǔn)數(shù)據(jù)集之一,而且其改進(jìn)也遷移到其它數(shù)據(jù)集中[44,66]。
未標(biāo)注數(shù)據(jù)集? ? 我們從JFT數(shù)據(jù)集[33,15]中獲得未標(biāo)注數(shù)據(jù)。該數(shù)據(jù)有大概300M圖像。盡管該數(shù)據(jù)集有標(biāo)注,但是我們無視標(biāo)注,將圖像視為無標(biāo)注數(shù)據(jù)。我們從該數(shù)據(jù)集中濾除掉和ImageNet驗(yàn)證集有重疊的圖片(見[58])。
然后在這個(gè)數(shù)據(jù)集上進(jìn)行數(shù)據(jù)過濾和平衡。首先,我們用在ImageNet上訓(xùn)練的EfficientNet-B0[83]來預(yù)測JFT數(shù)據(jù)集的圖像的標(biāo)簽,保留標(biāo)簽置信度高于0.3的圖片。對(duì)于每個(gè)類別,我們選擇130K張最高置信度圖像。最后,如果某個(gè)類別的圖片數(shù)少于130K張,我們隨機(jī)復(fù)制一些該類別的圖片。這樣每個(gè)類別都可以有130K張圖像。因此,我們用以訓(xùn)練學(xué)生模型的圖像總數(shù)是130M(包含重復(fù)圖像)。在130M張圖像中,有80M是獨(dú)一無二的。因?yàn)槲覀兊姆椒▽?duì)這些超參數(shù)很魯棒,所以沒有對(duì)這些超參數(shù)廣泛地調(diào)整。
為了比較公平,我們還在公共數(shù)據(jù)集YFCC100[85]上進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果在附錄A.4。
框架? ? 我們使用EfficientNet[83]作為baseline,因?yàn)樵诤芏嗟臄?shù)據(jù)下,其由較好的模型容量。在我們的實(shí)驗(yàn)中,我們還進(jìn)一步放大了EfficientNetB7,得到EfficientNet-L2。EfficientNet-L2比EfficientNet-B7更寬更深,但使用的分辨率更低,這樣它就能用更多的參數(shù)來擬合大量的未標(biāo)注圖像。因?yàn)槟P透螅珽fficientNet-L2的訓(xùn)練時(shí)間大約是EfficientNet-B7的5倍。有關(guān)EfficientNet-L2的更多信息,請(qǐng)參閱附錄A.1中的表8。
訓(xùn)練細(xì)節(jié)????對(duì)于有標(biāo)注圖像,默認(rèn)的批量大小是2048,內(nèi)存不夠時(shí)再減小。我們發(fā)現(xiàn),批量大小設(shè)置為512、1024和2048,可以獲得相同的性能。我們根據(jù)帶標(biāo)注圖像的批量大小來確定訓(xùn)練的步數(shù)和學(xué)習(xí)率安排。具體地,對(duì)于比EfficientNet-B4還大的學(xué)生網(wǎng)絡(luò)(包括EfficientNet-L2),訓(xùn)練350epochs;對(duì)于小的學(xué)生網(wǎng)絡(luò),訓(xùn)練700個(gè)epochs。批量大小是2048的話,初始學(xué)習(xí)率是0.128,在epochs總數(shù)為350的情況下,每2.4個(gè)epoch學(xué)習(xí)率衰減0.97;在epochs總數(shù)為700的情況下,每4.8個(gè)epoch學(xué)習(xí)率衰減0.97。
對(duì)于未標(biāo)注圖像,我們使用更大的批量大小,尤其是對(duì)于大模型,這樣就可以充分利用大量的未標(biāo)注圖像。將有標(biāo)注圖像和未標(biāo)注圖像拼接在一起,計(jì)算平均交叉熵?fù)p失。我們使用最近提出的方法來修正訓(xùn)練集-測試集的分辨率差異[86]。對(duì)于Efficient-L2,首先用小分辨率正常訓(xùn)練350epochs。然后在未標(biāo)注數(shù)據(jù)上用大分辨率微調(diào)1.5個(gè)epoch。和[86]相似,我們?cè)谖⒄{(diào)過程中固定淺層的權(quán)值。
我們的最大模型,EfficientNet-L2,是在Cloud TPU v3 Pod上訓(xùn)練6天,其是2048核,無標(biāo)注數(shù)據(jù)的批量大小是有標(biāo)注的14倍。
噪聲? ? 我們使用隨機(jī)深度[37],dropout[76]和RandAugment[18]來給學(xué)生模型加噪聲。EfficientNet-B7和L2的加噪聲的超參數(shù)是相同的。特別的,我們將最后一層的隨機(jī)深度的生存概率設(shè)置為0.8,其它層遵循線性衰減規(guī)則。將dropout用在最后一層,dropout rate設(shè)為0.5。對(duì)于RandAugment,我們使用2個(gè)隨機(jī)操作,幅值設(shè)為27。
迭代訓(xùn)練? ? 我們實(shí)驗(yàn)中最好的模型是將學(xué)生作為新老師迭代3次的結(jié)果。我們首先在ImageNet上訓(xùn)練了一個(gè)EfficientNet-B7作為老師模型,然后以B7為老師,訓(xùn)練了一個(gè)EfficientNet-L2模型,未標(biāo)注數(shù)據(jù)的批量大小是真標(biāo)注數(shù)據(jù)的批量大小的14倍。然后,以EfficientNet-L2模型為老師,訓(xùn)練一個(gè)新的EfficientNet-L2模型。最后,我們?cè)俚淮危礃?biāo)注數(shù)據(jù)的批量大小是真標(biāo)注數(shù)據(jù)的28倍。3次迭代的細(xì)節(jié)在4.2節(jié)。
3.2 ImageNet結(jié)果
我們首先報(bào)告了ImageNet2012ILSVRC挑戰(zhàn)賽上的驗(yàn)證集準(zhǔn)確度,這在文獻(xiàn)[45,80,30,83]中是常見的(另見[66])。如表2所示,使用NoisyStudent訓(xùn)練方式達(dá)到88.4%的top-1準(zhǔn)確度,顯著優(yōu)于EfficientNet報(bào)告的最佳準(zhǔn)確率85.0%。3.4個(gè)百分點(diǎn)的提升來自于模型的擴(kuò)大(+0.5%)和NoisyStudent訓(xùn)練(+2.9%)。換言之,NoisyStudent訓(xùn)練帶來的性能提升比改變網(wǎng)絡(luò)結(jié)構(gòu)要大得多。
此外,NoisyStudent訓(xùn)練的性能要優(yōu)于最先進(jìn)模型FixRes ResNeXt-101 WSL[55,86],該模型需要3.5B帶標(biāo)注的Instagram圖像。相比之下,我們的方法只需要300M無標(biāo)注圖像,這更容易收集些。我們模型的參數(shù)量大約比FixRes ResNeXt-101 WSL小兩倍。
模型大小研究:NoisyStudent訓(xùn)練EfficientNet B0-B7,不迭代訓(xùn)練? ? 除了提高最先進(jìn)的性能以外,我們還實(shí)驗(yàn)研究了NoisyStudent訓(xùn)練是否能提升其它的EfficientNet模型。先前的實(shí)驗(yàn)中,迭代訓(xùn)練用來優(yōu)化提升EfficientNet-L2的準(zhǔn)確度,但是在很多實(shí)驗(yàn)中很難用迭代訓(xùn)練,所以這里我們跳過它。我們實(shí)驗(yàn)研究了從EfficientNet B0到EfficientNet B7的不同大小版本,而且在每個(gè)實(shí)驗(yàn)中,老師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)同樣大。對(duì)所有EfficientNet baseline,我們都使用了RandAugment,這樣baseline模型就更強(qiáng)些。對(duì)于EfficientNet B0,未標(biāo)注數(shù)據(jù)的批量大小和真標(biāo)注數(shù)據(jù)的批量大小相同。對(duì)于EfficientNet B1到B7,未標(biāo)注數(shù)據(jù)的批量大小是真標(biāo)注數(shù)據(jù)的批量大小的3倍。如圖2所示,NoisyStudent訓(xùn)練對(duì)EfficientNet各個(gè)版本都能提升大約0.8%。總的來說,和先前工作相比,用NoisyStudent訓(xùn)練的EfficientNet在模型大小和準(zhǔn)確度上有更好的平衡。實(shí)驗(yàn)結(jié)果也表明,即使沒有迭代訓(xùn)練,NoisyStudent訓(xùn)練也能提升視覺模型。
3.3 ImageNet -A,-C,-P的魯棒性結(jié)果
我們將最優(yōu)模型,也就是在標(biāo)準(zhǔn)測試集上達(dá)到88.4%的那個(gè),在3個(gè)魯棒測試集上測試,分別是ImageNet-A,ImageNet-C和ImageNet-P。
ImageNet-C和ImageNet-P測試集包含的圖像是一些常規(guī)的損壞和抖動(dòng),例如模糊、霧化、旋轉(zhuǎn)和縮放。ImageNet-A測試集包含的是最先進(jìn)模型也表現(xiàn)較差的難圖片。這些測試集被視為是魯棒性基準(zhǔn)測試集,因?yàn)樗鼈円春茈y(例如ImageNet-A),要么和訓(xùn)練集有更大差異(例如ImageNet-C和ImageNet-P)。
對(duì)于ImageNet-C和ImageNet-P,我們?cè)u(píng)估的模型有訓(xùn)練尺寸224×224和299×299兩個(gè)版本。我們根據(jù)訓(xùn)練尺寸來調(diào)整測試圖像尺寸。如表3、4和5所示,和之前的最先進(jìn)模型(ResNeXt-101 WSL[55,59],使用了3.5B的弱標(biāo)注圖像)相比,NoisyStudent訓(xùn)練在魯棒測試集上有顯著的提升。它將ImageNet-A的top-1準(zhǔn)確度從61.0%提高到83.7%。它將ImageNet-C的平均損壞誤差(mCE)從45.7降低到28.3。在ImageNet-P上,如果我們使用224×224的尺寸(直接對(duì)對(duì)比),它將平均翻轉(zhuǎn)率下降至14.2;如果我們使用299×299的尺寸,它將平均翻轉(zhuǎn)率下降至12.2。在ImageNet-C和ImageNet-P上的魯棒性顯著提升令人驚訝,因?yàn)槲覀兊哪P蜎]有刻意地針對(duì)魯棒性進(jìn)行優(yōu)化。
定性分析? ? 為了直觀在這3個(gè)魯棒性測試集上的顯著提升,圖3展示了一些在標(biāo)準(zhǔn)模型上預(yù)測錯(cuò)誤,而在NoisyStudent訓(xùn)練模型上預(yù)測正確的例子。
圖3 在魯棒測試集ImageNet-A、C和P中選取的圖像。ImageNet-C中的圖像經(jīng)過人工的、訓(xùn)練集所沒有的處理,也即常規(guī)損壞。ImageNet-P中的圖像經(jīng)過不同程度的抖動(dòng)。在ImageNet-A、C上,NoisyStudent訓(xùn)練的EfficientNet的top-1預(yù)測是正確的(黑色加粗體顯示)。沒有NoisyStudent訓(xùn)練的EfficientNet的top-1預(yù)測是錯(cuò)誤的(紅色顯示)。在ImageNet-P上,沒有用NoisyStudent訓(xùn)練的EfficientNet會(huì)頻繁地將預(yù)測翻轉(zhuǎn)。
圖3a所示是來自ImageNet-A的圖像及我們模型的預(yù)測結(jié)果。使用NoisyStudent訓(xùn)練的模型可以成功預(yù)測這些很難的圖像標(biāo)簽。例如,沒有NoisyStudent訓(xùn)練的模型預(yù)測第2行左側(cè)的圖像為牛蛙,這可能是水上的黑色荷葉造成的。NoisyStudent訓(xùn)練的模型可正確預(yù)測其為蜻蜓。第一行左側(cè)的圖像,沒有NoisyStudent訓(xùn)練的模型忽視了圖中的海獅,將航標(biāo)看錯(cuò)成燈塔,NoisyStudent訓(xùn)練的模型可正確識(shí)別出海獅。
圖3b所示是來自ImageNet-C的圖像及對(duì)應(yīng)的模型預(yù)測。可以看出,在圖像經(jīng)過雪化、運(yùn)動(dòng)模型和霧化等嚴(yán)重?fù)p壞和擾動(dòng)下,我們的模型仍預(yù)測正確,而沒有NoisyStudent訓(xùn)練的模型會(huì)受到損壞和擾動(dòng)很大的影響。最有趣的是第一行右側(cè),圖像中的秋千連人都幾乎無法識(shí)別,而NoisyStudent訓(xùn)練的模型仍能做出正確的預(yù)測。
圖3c所示是來自ImageNet-P的圖像及對(duì)應(yīng)的模型預(yù)測。可以看到,當(dāng)圖像受到不同的擾動(dòng)時(shí),NoisyStudent訓(xùn)練的模型可以做出正確且一致的預(yù)測,而沒有NoisyStudent訓(xùn)練的模型則會(huì)頻繁地將預(yù)測翻轉(zhuǎn)。
3.4 對(duì)抗攻擊下魯棒性結(jié)果
測試了在常規(guī)的損壞和擾動(dòng)下模型的魯棒性后,我們還測試了模型在對(duì)抗擾動(dòng)下的性能。我么評(píng)估了我們的EfficientNet-L2在使用和沒有使用NoisyStudent訓(xùn)練的模型在FGSM攻擊下的性能。攻擊是對(duì)輸入圖像執(zhí)行一個(gè)梯度下降的步驟,每個(gè)像素的更新設(shè)置為[25]。如圖4所示,使用NoisyStudent訓(xùn)練的模型能顯著地提高準(zhǔn)確性,即使我們沒有刻意針對(duì)對(duì)抗攻擊進(jìn)行魯棒性優(yōu)化。在更強(qiáng)的攻擊下,使用PGD迭代10次[54],將
設(shè)為16,NoisyStudent訓(xùn)練將EfficientNet-L2的準(zhǔn)確度從1.1%提升至4.4%。
注意,對(duì)抗攻擊下魯棒性結(jié)果和先前的工作沒有直接可比性,因?yàn)槲覀兪褂昧?00×800的大輸入分辨率,并且對(duì)抗性弱點(diǎn)(adversarial vulnerability)可隨著輸入維度的變化而變化[22,25,24,74]。
4 消冗研究
本節(jié)研究噪聲和迭代訓(xùn)練的重要性,并總結(jié)我們方法其它組成部分的消冗研究。
4.1 自訓(xùn)練中噪聲的重要性
由于我們使用由老師模型產(chǎn)生的軟偽標(biāo)簽,當(dāng)學(xué)生模型被訓(xùn)練至和老師模型完全相同時(shí),未標(biāo)注數(shù)據(jù)的交叉熵為0,訓(xùn)練信號(hào)會(huì)消失。因此,一個(gè)自然而然的問題是,為什么使用軟偽標(biāo)簽的學(xué)生模型可以勝過老師模型。如前所述,我們假設(shè)對(duì)學(xué)生模型加噪聲是有必要的,那么學(xué)生模型就不僅僅是學(xué)習(xí)老師模型的知識(shí)。我們研究了2種情況下噪聲的重要性:未標(biāo)注數(shù)據(jù)的數(shù)量不同、老師模型的準(zhǔn)確度不同。在兩種情況下,我們?cè)谟?xùn)練學(xué)生模型時(shí),逐步地去除未標(biāo)注數(shù)據(jù)上的數(shù)據(jù)增強(qiáng)、隨機(jī)深度和dropout,而在真標(biāo)注數(shù)據(jù)上,保留數(shù)據(jù)增強(qiáng)、隨機(jī)深度和dropout。這樣,我們就可以將未標(biāo)注數(shù)據(jù)上噪聲的影響從真標(biāo)注數(shù)據(jù)上防止過擬合措施的影響中分離出來。此外,我們比較使用加噪聲的老師模型和未加噪聲的老師模型,以研究在生成偽標(biāo)簽時(shí)是否有必要禁用噪聲。
如表6所示,隨機(jī)深度、dropout和數(shù)據(jù)增強(qiáng)等噪聲在使學(xué)生模型比老師模型表現(xiàn)得更好方面起著重要作用。去除噪聲后,性能持續(xù)下降。然而,在使用130M未標(biāo)注圖像的情況下,與有監(jiān)督學(xué)習(xí)的基線相比,不使用噪聲,性能仍然從84.0%提升至84.3%。我們假設(shè)這種改善歸因于SGD,因?yàn)樗谟?xùn)練過程中引入了隨機(jī)性。
你可能會(huì)反駁說,噪聲帶來的提升是通過防止對(duì)未標(biāo)注數(shù)據(jù)上的偽標(biāo)簽的過擬合來實(shí)現(xiàn)。我們驗(yàn)證了當(dāng)我們使用130M未標(biāo)記圖像時(shí)情況并非如此,因?yàn)樵撃P筒粫?huì)從訓(xùn)練損失中過度擬合未標(biāo)記數(shù)據(jù)集。我們注意到,去除噪聲會(huì)導(dǎo)致真標(biāo)注數(shù)據(jù)的訓(xùn)練損失降低很多,而對(duì)未標(biāo)注數(shù)據(jù)的訓(xùn)練損失則降低很小。這可能是因?yàn)榇笠?guī)模的未標(biāo)注數(shù)據(jù)集是很難過擬合的。
最后,對(duì)生成偽標(biāo)簽的老師模型加噪聲會(huì)導(dǎo)致準(zhǔn)確度更低,這說明建立一個(gè)強(qiáng)大的、不加噪聲的老師模型的重要性。
4.2 對(duì)迭代訓(xùn)練的研究
本節(jié)展示迭代訓(xùn)練的詳細(xì)效果。如3.1節(jié)所述,首先在真標(biāo)注數(shù)據(jù)上訓(xùn)練一個(gè)EfficientNet-B7模型,然后用它作為教師來訓(xùn)練一個(gè)EfficientNet-L2學(xué)生模型。然后,迭代此過程,把新的學(xué)生模型作為下一輪的老師模型。
如表7所示,在相同的超參數(shù)下,模型性能在第一次迭代時(shí)提高到87.6%,在第二次迭代中提高到88.1%(除了使用性能更好的教師模型)。結(jié)果表明,迭代訓(xùn)練對(duì)生成越來越好的模型方面是有效的。最后一次迭代中,我們將未標(biāo)注數(shù)據(jù)的批量大小和真標(biāo)注數(shù)據(jù)的批量大小的比例調(diào)到更大,使最終性能提高(boost)到88.4%。
4.3 其它的消冗研究的匯總
我們也研究了NoisyStudent訓(xùn)練中不同設(shè)計(jì)的重要性,希望能為讀者提供實(shí)用的指導(dǎo)。我們?cè)诟戒汚.2中進(jìn)行了8項(xiàng)研究,研究結(jié)果匯總?cè)缦拢?/p>
發(fā)現(xiàn)1:老師模型更大、性能更強(qiáng),結(jié)果就更好。
發(fā)現(xiàn)2:要使結(jié)果更好,大量的未標(biāo)注數(shù)據(jù)是必要的。
發(fā)現(xiàn)3:某些情況下,對(duì)于域外數(shù)據(jù),軟偽標(biāo)簽比硬偽標(biāo)簽更有效。
發(fā)現(xiàn)4:大的學(xué)生網(wǎng)絡(luò)對(duì)于讓學(xué)生學(xué)習(xí)更強(qiáng)的模型很重要。
發(fā)現(xiàn)5:數(shù)據(jù)平衡對(duì)小模型很有用。
發(fā)現(xiàn)6:對(duì)標(biāo)注數(shù)據(jù)和未標(biāo)注數(shù)據(jù)的聯(lián)合訓(xùn)練的效果要好于先在未標(biāo)注數(shù)據(jù)上預(yù)訓(xùn)練再在真標(biāo)注數(shù)據(jù)上微調(diào)。
發(fā)現(xiàn)7:將未標(biāo)注數(shù)據(jù)的批量大小和真標(biāo)注數(shù)據(jù)的批量大小的比例調(diào)大,可使模型在未標(biāo)注數(shù)據(jù)上訓(xùn)練得更長,以獲得更高的準(zhǔn)確度。
發(fā)現(xiàn)8:從頭訓(xùn)練學(xué)生模型有時(shí)比用老師模型初始化學(xué)生模型要好,而且,即使用老師模型初始化學(xué)生模型,學(xué)生模型也需要訓(xùn)練很長時(shí)間才能表現(xiàn)得好。
5 相關(guān)工作
自訓(xùn)練????我們的工作基于自訓(xùn)練(例如[71,96,68,67])。自訓(xùn)練首先使用帶標(biāo)簽的數(shù)據(jù)來訓(xùn)練一個(gè)好的教師模型,然后使用教師模型對(duì)未標(biāo)記的數(shù)據(jù)進(jìn)行標(biāo)記,最后使用標(biāo)記數(shù)據(jù)和未標(biāo)記數(shù)據(jù)共同訓(xùn)練學(xué)生模型。在典型的師生框架下的自訓(xùn)練中,沒有默認(rèn)地對(duì)學(xué)生加噪聲,或者沒有充分理解和證明噪聲的作用。我們與以往工作的主要區(qū)別在于,我們認(rèn)識(shí)到噪聲的重要性,并積極地加噪聲,使學(xué)生變得更好。
自訓(xùn)練之前被用來將ResNet-50的top-1準(zhǔn)確度從76.4%提高到81.2%[93],這個(gè)結(jié)果與最先進(jìn)模型相比仍有很大差距。Yalniz[93]在ImageNet-A、C、P的魯棒性方面也沒有像我們那樣取得顯著的改進(jìn)。他們的方案是,先只訓(xùn)練真標(biāo)注數(shù)據(jù),再在未標(biāo)注數(shù)據(jù)上微調(diào),微調(diào)完記為最終模型。NoisyStudent訓(xùn)練中,我們將這兩個(gè)步驟合為一個(gè)步驟,因?yàn)檫@樣算法更簡單,在我們的實(shí)驗(yàn)中性能也更好。
數(shù)據(jù)蒸餾[63],使用不同的變換將一張圖像的預(yù)測組合(ensemble)起來,以加強(qiáng)老師模型,這剛好和我們對(duì)學(xué)生模型的削弱是相反的。Parthasarathi[61]通過對(duì)未標(biāo)注數(shù)據(jù)的知識(shí)蒸餾,建立了一個(gè)方便部署的小而快的語音識(shí)別模型。因?yàn)闆]有加噪聲,而且學(xué)生網(wǎng)絡(luò)也很小,因此很難讓學(xué)生表現(xiàn)得比老師更好。[69]中的域適應(yīng)工作也是和我們的工作是相關(guān)的,不過有太多是對(duì)視頻的模型優(yōu)化,例如預(yù)測使用視頻中的哪一幀。[101]將多個(gè)老師模型的預(yù)測組合(emsemble)起來,比我們的方法的成本更高。
聯(lián)合訓(xùn)練[9]將特征劃分為2個(gè)不相交的部分,并使用帶標(biāo)注數(shù)據(jù)用兩個(gè)模型訓(xùn)練兩個(gè)特征集。它的噪聲來源于特征劃分,這樣兩個(gè)模型在未標(biāo)注數(shù)據(jù)上的噪聲并不總是一致的。我們對(duì)學(xué)生加噪聲也能使老師模型和學(xué)生模型做不同的預(yù)測,而且相比特征劃分,我們的方法更適用于ImageNet。
自訓(xùn)練/聯(lián)合訓(xùn)練被證明能很好地用于其它各種任務(wù),包括利用噪聲數(shù)據(jù)[87]、語義分割[4]、文本分類[40,78]。還原翻譯和自訓(xùn)練已經(jīng)為機(jī)器翻譯領(lǐng)域帶來顯著改進(jìn)[72,20,28,14,90,29]。
半監(jiān)督學(xué)習(xí)? ? 除了自訓(xùn)練,半監(jiān)督學(xué)習(xí)的另一項(xiàng)重要工作是基于一致性訓(xùn)練[5,64,47,84,56,52,62,13,16,60,2,49,88,91,8,98,46,7]。它們迫使在對(duì)輸入、隱藏層或模型參數(shù)加噪聲的情況下,模型預(yù)測不變。如第2節(jié)所述,一致性正則化在ImageNet上效果較差,因?yàn)橐恢滦哉齽t化使用正在訓(xùn)練的模型生成偽標(biāo)簽。訓(xùn)練早期階段,一致性正則化會(huì)迫使模型生成高熵預(yù)測,這會(huì)導(dǎo)致結(jié)果較差。
基于偽標(biāo)簽的工作[48,39,73,1]與自訓(xùn)練相似,但是也存在一致性訓(xùn)練遇到的問題,因?yàn)樗鼈円彩怯谜谟?xùn)練的模型來生成偽標(biāo)簽,而不是用已經(jīng)收斂的、高準(zhǔn)確度的模型來生成偽標(biāo)簽。最后,半監(jiān)督學(xué)習(xí)的框架還包括基于圖的方法[102,89,94,42],利用潛在變量作為目標(biāo)變量的方法[41,53,95]和基于低密度分離的方法[26,70,19],這些方法可能對(duì)我們的方法提供補(bǔ)充的好處。
知識(shí)蒸餾? ? 我們的方法因?yàn)閷?duì)軟標(biāo)注的使用,所以和知識(shí)蒸餾[10,3,33,21,6]也相關(guān)。知識(shí)蒸餾的主要用途是使學(xué)生模型更小來壓縮模型。我們的方法和知識(shí)蒸餾的主要區(qū)別在于,知識(shí)蒸餾不考慮未標(biāo)注數(shù)據(jù), 也不以提升學(xué)生模型準(zhǔn)確度為目的。
魯棒性????許多研究表明,視覺模型缺乏魯棒性,例如[82,31,66,27]。近年來,解決魯棒性不足已成為機(jī)器學(xué)習(xí)和計(jì)算機(jī)視覺領(lǐng)域的一個(gè)重要研究方向。我們的研究表明,使用未標(biāo)注的數(shù)據(jù)提高了準(zhǔn)確性和通用魯棒性。我們的研究也表明,使用未標(biāo)注數(shù)據(jù)可以提升對(duì)抗魯棒性,這和[11,77,57,97]的結(jié)論也是一致的。我們和這些工作的主要區(qū)別在于,它們直接對(duì)在未標(biāo)記數(shù)據(jù)上的對(duì)抗魯棒性進(jìn)行了優(yōu)化,而我們的工作中,我們沒有刻意直接針對(duì)魯棒性進(jìn)行優(yōu)化,也能大大提升魯棒性。
6 結(jié)論
以往的弱監(jiān)督學(xué)習(xí)的研究需要大量的弱標(biāo)注數(shù)據(jù)來改善現(xiàn)有的ImageNet模型。我們使用未標(biāo)注圖像可以顯著提高最先進(jìn)ImageNet模型的準(zhǔn)確度和魯棒性。我們發(fā)現(xiàn),自訓(xùn)練是一種簡單有效的能利用大規(guī)模未標(biāo)注數(shù)據(jù)的方法。我們通過給學(xué)生模型加噪聲來改進(jìn)它,因此命名為NoisyStudent,以學(xué)習(xí)超越老師的知識(shí)。
實(shí)驗(yàn)表明,用NoisyStudent訓(xùn)練的EfficientNet可達(dá)到88.4%的準(zhǔn)確度,比不使用NoisyStudent訓(xùn)練提高2.9%。我們的模型也是最先進(jìn)模型,比之前的使用超級(jí)多弱標(biāo)注數(shù)據(jù)的方法[55,86]提高了2%。
我們工作的一個(gè)重要貢獻(xiàn)是證明NoisyStudent訓(xùn)練可以提高視覺模型的魯棒性。實(shí)驗(yàn)表明我們的模型在ImageNet-A、-C、-P上的性能都有很大的提升。
附錄
A.2 消冗研究
研究1:老師模型的容量? ? 這里我們研究更大更強(qiáng)的老師模型是否結(jié)果就更好。我們使用我們的最佳模型——也就是NoisyStudent訓(xùn)練的EfficientNet-L2,top-1準(zhǔn)確度為88.4%——來教學(xué)生模型,學(xué)生模型的大小是從EfficientNet-B0到EfficientNet-B7。本實(shí)驗(yàn)中,我們?cè)谖礃?biāo)注數(shù)據(jù)上使用標(biāo)準(zhǔn)的數(shù)據(jù)增強(qiáng)方法而不是RandAugment,使學(xué)生模型的容量更大。此設(shè)置原則類似于未標(biāo)注數(shù)據(jù)的蒸餾。
比較結(jié)果如表9所示。使用NoisyStudent訓(xùn)練的EfficientNet-L2作為教師模型比使用相同的網(wǎng)絡(luò)作為教師模型,會(huì)有0.5%至1.6%的提升。例如,我們可訓(xùn)練一個(gè)中等大小的EfficientNet-B4,其參數(shù)比ResNet-50少,準(zhǔn)確度為85.3%。因此,用更大更強(qiáng)的老師模型,可以有更好的結(jié)果。
研究2:未標(biāo)注數(shù)據(jù)的數(shù)量
研究3:軟偽標(biāo)簽和硬偽標(biāo)簽在域外數(shù)據(jù)上的對(duì)比
研究4:學(xué)生模型的容量????我們研究不同容量的學(xué)生模型的結(jié)果。老師模型,我們選擇為用真標(biāo)注數(shù)據(jù)訓(xùn)練的EfficientNet-B0、B2和B4以及用NoisyStudent的EfficientNet-B7。我們對(duì)比了當(dāng)學(xué)生網(wǎng)絡(luò)與老師網(wǎng)絡(luò)相等或更大時(shí)的結(jié)果。結(jié)果見表11。對(duì)于同一位老師,學(xué)生網(wǎng)絡(luò)更大則性能更強(qiáng),這說明,大的學(xué)生網(wǎng)絡(luò)對(duì)于使學(xué)生學(xué)習(xí)更強(qiáng)的模型非常重要。
研究5:數(shù)據(jù)平衡
研究6:聯(lián)合訓(xùn)練
研究7:未標(biāo)注數(shù)據(jù)批量大小與有標(biāo)注數(shù)據(jù)批量大小的比例? ? 因?yàn)槲礃?biāo)注數(shù)據(jù)有130M,有標(biāo)注數(shù)據(jù)有1.3M,如果兩者批量大小設(shè)置為相同,每次訓(xùn)練未標(biāo)注數(shù)據(jù)訓(xùn)練1個(gè)epoch,有標(biāo)注數(shù)據(jù)會(huì)訓(xùn)練100個(gè)epoch。理想情況下,我們希望通過將未標(biāo)注數(shù)據(jù)的批量大小調(diào)得更大,使模型在未標(biāo)注數(shù)據(jù)上訓(xùn)練更多的epoch,這樣就在未標(biāo)注數(shù)據(jù)上擬合得更好。因此我們研究未標(biāo)注數(shù)據(jù)批量大小和有標(biāo)注數(shù)據(jù)批量大小的比例。
本實(shí)驗(yàn)中,我們使用了一個(gè)中等大小的EfficientNet-B4和一個(gè)更大的網(wǎng)絡(luò)EfficientNet-L2。我們將老師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)設(shè)置為同等大小。如表14所示,更大的比例使得更大的網(wǎng)絡(luò)EfficientNet-L2有提升,而對(duì)較小的網(wǎng)絡(luò)EfficientNet-B4則沒有。因此,結(jié)論是將未標(biāo)注數(shù)據(jù)批量大小與有標(biāo)注數(shù)據(jù)批量大小的比例調(diào)大,可顯著提高大網(wǎng)絡(luò)的性能。
實(shí)驗(yàn)
A、 1。體系結(jié)構(gòu)詳圖
EfficientNet-L2的體系結(jié)構(gòu)規(guī)范如表8所示。我們還將EfficientNet-B7列為參考。在訓(xùn)練時(shí)間內(nèi),通過楔子將寬度和分辨率擴(kuò)展到c2的增加系數(shù),并通過楔子將深度縮放到c的增加因子。EfficientNet-L2的訓(xùn)練時(shí)間是EfficientNet-B7訓(xùn)練時(shí)間的5倍左右。
A、 2。消融研究
在本節(jié)中,我們將全面研究我們方法的各個(gè)組成部分。由于迭代訓(xùn)練導(dǎo)致訓(xùn)練時(shí)間較長,因此我們?cè)跊]有迭代訓(xùn)練的情況下進(jìn)行消融治療。為了進(jìn)一步節(jié)省培訓(xùn)時(shí)間,我們從研究4開始,將小型車型的培訓(xùn)時(shí)間從700縮短到350。從研究2開始,對(duì)于小于EfficientNet-B7的模型,我們還將未標(biāo)記的批次大小設(shè)置為與標(biāo)記的批次大小相同。
研究#1:教師模范的能力。在這里,我們研究使用一個(gè)更大更好的教師模式是否會(huì)帶來更好的結(jié)果。我們使用EfficientNet-L2的最佳模型噪聲學(xué)生培訓(xùn),達(dá)到88.4%的最高精度,用于教授尺寸從EfficientNet-B0到EfficientNet-B7的學(xué)生模型。在本實(shí)驗(yàn)中,我們使用標(biāo)準(zhǔn)增量式而非隨機(jī)增量式來增加學(xué)生模型的容量。此設(shè)置原則上類似于未標(biāo)記數(shù)據(jù)的蒸餾。
比較如表9所示。教師使用噪音學(xué)習(xí)訓(xùn)練(EfficientNet-L2)時(shí),與教師使用相同的模式,在改善結(jié)果的基礎(chǔ)上,再提高0.5%至1.6%。例如,我們可以訓(xùn)練出一個(gè)中型模型EfficientNet-B4,它的參數(shù)比ResNet-50少,精度為85.3%。因此,使用一個(gè)大的教師模式與better-terperformance可以得到更好的結(jié)果。
研究2:未標(biāo)記數(shù)據(jù)大小。接下來,我們進(jìn)行實(shí)驗(yàn)來了解使用不同數(shù)量的未標(biāo)記數(shù)據(jù)的效果。我們從130M未標(biāo)記圖像開始,逐步減少未標(biāo)記集合。為了簡單起見,我們嘗試從未標(biāo)記的集合中均勻地采樣圖像來使用整個(gè)數(shù)據(jù),盡管以最高置信度拍攝圖像可能會(huì)獲得更好的結(jié)果。我們使用EfficientNet-B4作為教師和學(xué)生。
從表10可以看出,當(dāng)我們將數(shù)據(jù)減少到整個(gè)數(shù)據(jù)的116時(shí),性能保持不變,5這相當(dāng)于復(fù)制后的810萬張圖像。當(dāng)我們進(jìn)一步降低性能時(shí),性能會(huì)下降。因此,使用大量未標(biāo)記的數(shù)據(jù)可以獲得更好的性能。
研究3:域外數(shù)據(jù)的硬偽標(biāo)簽與軟偽標(biāo)簽。與以前的研究不同,在半監(jiān)督學(xué)習(xí)中使用。,
CIFAR-10圖像作為一個(gè)小的CIFAR-10訓(xùn)練集的未標(biāo)記數(shù)據(jù)),為了改進(jìn)ImageNet,必須使用域外的未標(biāo)記數(shù)據(jù)。這里我們比較了域外數(shù)據(jù)的硬偽標(biāo)簽和軟偽標(biāo)簽。由于教師模型對(duì)圖像的置信度可以很好地判斷圖像是否是域外圖像,因此我們將高置信度圖像視為域內(nèi)圖像,將低置信度圖像視為域外圖像。我們?cè)诿總€(gè)置信區(qū)間[0:0;0:1];[0:1;0:2]; ;[0:9;1:0]中對(duì)1.3M圖像進(jìn)行采樣。
圖5:軟偽標(biāo)簽導(dǎo)致低可信度數(shù)據(jù)(域外數(shù)據(jù))的更好性能。每一個(gè)點(diǎn)在預(yù)呈現(xiàn)一個(gè)嘈雜的學(xué)生訓(xùn)練模型用1.3米的ImageNet標(biāo)記圖像和1.3米未標(biāo)記的圖像進(jìn)行訓(xùn)練,置信分?jǐn)?shù)在[p;p+0:1]中。
我們使用EfficientNet-B0作為教師模型和學(xué)生模型,并將噪聲訓(xùn)練與軟偽標(biāo)簽和硬偽標(biāo)簽進(jìn)行了比較。結(jié)果如圖5所示,觀察結(jié)果如下:(1)軟偽標(biāo)簽和硬偽標(biāo)簽都能顯著改善域內(nèi)未標(biāo)記圖像,即高置信度圖像。(2) 對(duì)于域外未標(biāo)記的圖像,硬偽標(biāo)簽會(huì)損害性能,而軟偽標(biāo)簽會(huì)導(dǎo)致健壯的性能。
請(qǐng)注意,我們還注意到,使用硬偽標(biāo)簽可以獲得良好的結(jié)果,或稍好的結(jié)果,當(dāng)雇用一個(gè)較大的教師。因此,軟偽標(biāo)簽還是硬偽標(biāo)簽工作得更好可能需要根據(jù)具體情況來確定。
研究4:
學(xué)生模型的能力。然后,我們研究了不同能力的學(xué)生模型的效果。對(duì)于教師模型,我們使用基于標(biāo)簽數(shù)據(jù)訓(xùn)練的EfficientNet-B0、B2和B4以及使用噪聲訓(xùn)練的EfficientNet-B7訓(xùn)練我們。我們使用相同尺寸或更大尺寸的學(xué)生模型進(jìn)行比較。比較結(jié)果見表11。對(duì)于同一位老師,使用更大的學(xué)生模型可以持續(xù)獲得更好的表現(xiàn),這表明使用大學(xué)生模型對(duì)于讓學(xué)生學(xué)習(xí)更強(qiáng)大的模型非常重要。
研究5:數(shù)據(jù)平衡。在這里,我們研究了保持未標(biāo)記數(shù)據(jù)在類別間保持平衡的必要性。作為比較,我們使用置信度高于0.3的所有未標(biāo)記數(shù)據(jù)。我們?cè)赥a-ble12中以EfficientNet-B0到B3作為主干模型給出了結(jié)果。使用數(shù)據(jù)平衡可以提高小型型號(hào)EfficientNet-B0和B1的性能。有趣的是,對(duì)于更大的模型,如EfficientNet-B2和B3,差距變得更小,這表明更強(qiáng)大的模型可以有效地從不平衡的數(shù)據(jù)中學(xué)習(xí)。為了使嘈雜的學(xué)生培訓(xùn)對(duì)所有型號(hào)都有效,我們默認(rèn)使用數(shù)據(jù)平衡。
研究6:聯(lián)合訓(xùn)練。
在我們的算法中,我們使用標(biāo)簽圖像和偽標(biāo)簽圖像聯(lián)合訓(xùn)練模型。在這里,我們還將與Yalnizet al使用的另一種方法進(jìn)行比較。[93],它首先對(duì)偽標(biāo)記圖像預(yù)處理模型,然后對(duì)標(biāo)記圖像進(jìn)行微調(diào)。對(duì)于微調(diào),我們用不同的步驟進(jìn)行實(shí)驗(yàn),并取得最佳結(jié)果。比較結(jié)果見表13。
很明顯,聯(lián)合訓(xùn)練的表現(xiàn)明顯優(yōu)于訓(xùn)練前+微調(diào)。注意,僅對(duì)偽標(biāo)記圖像進(jìn)行預(yù)訓(xùn)練比僅對(duì)標(biāo)記數(shù)據(jù)進(jìn)行監(jiān)督學(xué)習(xí)的精度要低得多,這表明未標(biāo)記數(shù)據(jù)的分布與標(biāo)記數(shù)據(jù)的分布有很大不同。在這種情況下,聯(lián)合培訓(xùn)會(huì)產(chǎn)生一個(gè)更適合這兩種數(shù)據(jù)類型的解決方案。
研究#7:未標(biāo)記批次大小與帶標(biāo)簽批次大小的比率。
由于我們使用130M的未標(biāo)記圖像和1.3M的標(biāo)記圖像,如果未標(biāo)記數(shù)據(jù)和標(biāo)記數(shù)據(jù)的批量大小相同,則每次對(duì)100個(gè)時(shí)代的標(biāo)記數(shù)據(jù)進(jìn)行訓(xùn)練時(shí),只對(duì)未標(biāo)記數(shù)據(jù)進(jìn)行一個(gè)歷元的訓(xùn)練。理想的情況下,我們還希望模型能夠通過使用更大的未標(biāo)記批處理大小來訓(xùn)練更多時(shí)期的未標(biāo)記數(shù)據(jù),以便它能夠更好地適應(yīng)未標(biāo)記的數(shù)據(jù)。因此,我們研究未標(biāo)記批次大小與標(biāo)記批次大小比率的重要性。
在本研究中,我們嘗試了一個(gè)中型模型EfficientNet-B4以及一個(gè)更大的模型EfficientNet-L2。我們使用和老師和學(xué)生一樣大小的模型。如表14所示,較大模型效率tnet-L2適用于較大比率,而較小模型效率tnet-B4則適用不。用較大的未標(biāo)記批次大小與標(biāo)記批次大小之間的比率,可顯著提高大型模型的性能。
研究8:
熱啟動(dòng)學(xué)生模型。
最后,有人可能想知道,當(dāng)學(xué)生模型可以用一個(gè)聚合的教師模型初始化時(shí),我們是否應(yīng)該從頭開始訓(xùn)練它。在這個(gè)消融過程中,我們首先在ImageNet上訓(xùn)練一個(gè)EfficientNet-B0模型,并用它初始化學(xué)生模型。我們改變訓(xùn)練學(xué)生的時(shí)代數(shù),并使用相同的指數(shù)衰減學(xué)習(xí)率時(shí)間表。訓(xùn)練以不同的學(xué)習(xí)速率開始,因此在所有實(shí)驗(yàn)中,學(xué)習(xí)率衰減到相同的值。如表15所示,當(dāng)訓(xùn)練歷元從350減少到70時(shí),精度顯著下降;當(dāng)訓(xùn)練歷元減少到280或140時(shí),精度略有下降。因此還需要培養(yǎng)大量的學(xué)生。
此外,我們還觀察到,用教師初始化的學(xué)生有時(shí)會(huì)陷入局部最優(yōu)。例如,當(dāng)我們使用EfficientNet-B7作為教師時(shí),由教師初始化的學(xué)生模型在訓(xùn)練中途達(dá)到86.4%的準(zhǔn)確率,但在訓(xùn)練210個(gè)周期時(shí)仍然停留在那里,而從零開始訓(xùn)練的模型達(dá)到86.9%的準(zhǔn)確率。因此,雖然我們可以通過熱凝視節(jié)省訓(xùn)練時(shí)間,但我們從頭開始訓(xùn)練我們的模型,以確保最佳性能。
A、 3。結(jié)果具有不同的體系結(jié)構(gòu)和數(shù)據(jù)集
ResNet-50的結(jié)果。
為了研究其他建筑是否能從嘈雜的學(xué)生訓(xùn)練中獲益,我們用ResNet-50進(jìn)行了實(shí)驗(yàn)[30]。我們使用完整的Im-ageNet作為標(biāo)記數(shù)據(jù),JFT的130M圖像作為未標(biāo)記數(shù)據(jù)。我們?cè)贗m-ageNet上訓(xùn)練了一個(gè)ResNet-50模型,并將其作為我們的教師模型。我們使用振幅設(shè)置為9的Randaugment作為噪波。
結(jié)果見表16。在基線模型的基礎(chǔ)上,噪聲訓(xùn)練提高了1.3%,表明噪聲訓(xùn)練對(duì)除效率網(wǎng)絡(luò)之外的其他結(jié)構(gòu)是有效的。
SVHN的結(jié)果。
我們也在一個(gè)較小的數(shù)據(jù)集SVHN上評(píng)估了有噪聲的學(xué)生訓(xùn)練。我們使用73K圖像的核心集作為訓(xùn)練集和驗(yàn)證集。使用包含531K圖像的額外集合作為未標(biāo)記集合。我們使用EfficientNet-B0,將第二塊和第三塊的步長設(shè)置為1,這樣當(dāng)輸入圖像大小為32x32時(shí),最終的特征映射為4x4。
如表17所示,嘈雜的學(xué)生訓(xùn)練將基線準(zhǔn)確率從98.1%提高到98.6%,輸出結(jié)果與之前使用Wide-ResNet-28-10的Ran-dAugment取得的最新成果形成對(duì)比。
A、 4。YFC100M結(jié)果
由于JFT不是一個(gè)公共數(shù)據(jù)集,所以我們還使用公共的未標(biāo)記數(shù)據(jù)集YFCC100M[85],這樣搜索者就可以對(duì)我們的結(jié)果進(jìn)行公平的比較。與第3.2節(jié)中的設(shè)置類似,我們?cè)跊]有迭代訓(xùn)練的情況下使用不同的ent模型大小進(jìn)行實(shí)驗(yàn)。我們對(duì)老師和學(xué)生都使用相同的模式。我們?cè)谑褂肑FT和YFCC100M時(shí)也使用相同的超參數(shù),與JFT的情況類似,我們首先從Ima-geNet驗(yàn)證集過濾圖像。然后我們根據(jù)B0的預(yù)測過濾低置信度圖像,并根據(jù)前1個(gè)預(yù)測類只保留每個(gè)類的前130K個(gè)圖像。由于大多數(shù)類沒有足夠的圖像,因此結(jié)果集有34M個(gè)圖像。然后我們平衡數(shù)據(jù)集,并將其增加到1.3億張圖像。作為比較,在數(shù)據(jù)平衡階段之前,JFT有81M張圖像。
如表18所示,使用YFCC100M進(jìn)行的高噪音學(xué)生培訓(xùn)也有顯著改善,盡管使用JFT可以獲得更好的性能。性能差異可能是由于數(shù)據(jù)集大小的差異造成的。
A、 5。穩(wěn)健性基準(zhǔn)的詳細(xì)信息
韻律學(xué)。
為了完整起見,我們簡要描述了健壯性基準(zhǔn)ImageNet-A、ImageNet-C和ImageNet-P中使用的度量。
ImageNet-A。
在ImageNet-A包含的200個(gè)類上,對(duì)前1和前5個(gè)精度進(jìn)行了測量。從200個(gè)類到原始Ima geNet類的映射可以在線獲得
ImageNet-C。
mCE(mean corruption error)是以AlexNet的錯(cuò)誤率為基線,對(duì)不同腐蝕情況下的錯(cuò)誤率進(jìn)行加權(quán)平均。通過AlexNet的錯(cuò)誤率將分?jǐn)?shù)標(biāo)準(zhǔn)化,從而使不同難度的更正產(chǎn)生相似的量表分?jǐn)?shù)。有關(guān)mCE和AlexNet的錯(cuò)誤率的詳細(xì)信息,請(qǐng)參考[31]。top-1準(zhǔn)確度是所有腐蝕和所有嚴(yán)重程度的平均前1準(zhǔn)確度。先前方法的前1個(gè)精度是根據(jù)每次損壞報(bào)告的損壞錯(cuò)誤來計(jì)算的。
ImageNet-P。
翻轉(zhuǎn)概率是模型改變不同概率的前1位預(yù)測的概率。mFR(mean flip rate)是不同擾動(dòng)下翻轉(zhuǎn)概率的加權(quán)平均值,AlexNet的翻轉(zhuǎn)概率作為基線。有關(guān)mFR和AlexNet翻轉(zhuǎn)概率的詳細(xì)信息,請(qǐng)參考[31]。本文報(bào)告的最高精度是ImageNet-P中包含的所有圖像的平均精度
關(guān)于在ImageNet-C和ImageNet-P中使用randegment。
由于有噪聲的學(xué)生訓(xùn)練對(duì)ImageNet-C和ImageNet-P有顯著的改善,因此我們簡要討論隨機(jī)增強(qiáng)對(duì)魯棒性結(jié)果的影響。首先,請(qǐng)注意,我們的監(jiān)督基線效率net-L2也使用randumpment。與表4和表5所示的監(jiān)督基線相比,嘈雜的學(xué)生培訓(xùn)有顯著改善。
第二,randaugment和ImageNet-C,P之間的轉(zhuǎn)換重疊很小。為了完整起見,我們列出了randegment中的轉(zhuǎn)換以及ImageNet-C和ImageNet-P中的損壞和擾動(dòng):
隨機(jī)增強(qiáng)變換:autocontract、equalize、Invert、Rotate、Posterize、Solarize、Color、contrast、Brightness、Sharpness、ShearX、ShearY、Trans lateX和TranslateY。
ImageNet-C中的損壞:高斯噪聲、散粒噪聲、脈沖噪聲、散焦模糊、磨砂玻璃模糊、運(yùn)動(dòng)模糊、縮放模糊、雪、霜、霧、亮度、對(duì)比度、彈性、像素化、JPEG。
ImageNet-P中的擾動(dòng):高斯噪聲、快照噪聲、運(yùn)動(dòng)模糊、縮放模糊、雪、亮度、平移、旋轉(zhuǎn)、傾斜、縮放。RandAugment和ImageNet-C之間的主要重疊是對(duì)比度、亮度和清晰度。其中,增強(qiáng)對(duì)比度和亮度也用于ResNeXt-101wsl[55]和使用初始預(yù)處理的視覺模型[34,80]。RandAugment和ImageNet-P之間的重疊包括亮度、平移和旋轉(zhuǎn)