Noisy Student 知識蒸餾 自用筆記
Self-training with Noisy Student improves ImageNet classification??
原文:arXiv:1911.04252v4 [cs.LG] 19 Jun 2020
摘要:本文嚴格意義上并不算是知識蒸餾與模型蒸餾(一般是指更輕量化的模型達到與大模型相近的準確度),本文是使用蒸餾模型的手法去把小模型拓展到大模型上,過程中使用大量正則手段,也就是文章的 “Noisy”。作者給出的直觀解釋是可以將該的方法視為知識擴展,通過給學生模型足夠的能力和在噪音方面的困難環(huán)境來學習,以達到噪聲環(huán)境下和教師網(wǎng)絡同樣的水平,從而達成學生網(wǎng)絡比老師網(wǎng)絡更好(泛化性上),很反直覺但有效,值得思考。
文中的算法一和圖一很清晰的概括了文章總體思路:

算法一簡述:
????1. 使用標簽數(shù)據(jù)訓練一個初始網(wǎng)絡。
????2. 使用 當前模型作為教師模型(不使用正則化手段)生成無標簽數(shù)據(jù)的偽標簽(軟硬皆可,可以是000100,也可以是總和為1的非one-hot軟標簽)。
????3. 使用 打上偽標簽的數(shù)據(jù),?讓一個 更大或者相同大小 的學生模型 在此數(shù)據(jù)集合上訓練學習,并在該模型學習中使用大量的數(shù)據(jù)增強與正則化手段,這里作者將添加的噪聲分類為輸入噪聲(例如 RandAugment data augmentation)和模型噪聲(在訓練學生網(wǎng)絡上使用 dropout and stochastic depth) 。
????4. 將此時的學生網(wǎng)絡作為初始網(wǎng)絡,重復step2,進行“模型的迭代”。

RandAugment :“數(shù)據(jù)增強是有噪聲學生訓練中的一種重要的去噪方法,因為它迫使學生確保圖像增強版本的預測一致性” ,?“這里若對偽標簽使用合適溫度系數(shù)的軟標簽,收益會稍好”(給模型帶來的可學習信息會更明確?一點個人想法)。
Data filtering and balancing:常用的tricks,“過濾教師模型置信度較低的圖像,因為它們通常是域外圖像,為了確保未標記圖像的分布與訓練集的分布相匹配,我們還需要平衡每個類的未標記圖像數(shù)量,因為ImageNet中的所有類都有相似數(shù)量的標記圖像。為此,我們在沒有足夠圖像的類中復制圖像。對于圖像過多的課程,我們選擇置信度高的那些圖像?!笨梢钥吹綄?shù)據(jù)的清洗操作對于研究來說也是很復雜的工作,而高質量的標簽數(shù)據(jù)和數(shù)據(jù)的均勻分布(避免長尾效應),對于半監(jiān)督的訓練同樣很重要,也算是監(jiān)督學習的短板。
拓展閱讀:Unsupervised data augmentation 也是該作者的文章。