Noisy Student: Knowledge Distillation強化Semi-supervise Learning
Self-supervised leaning與semi-supervised learning都是近年相當熱門的研究題目 (畢竟supervised learning早已發展到一個高峰)。其中,Noisy Student是今年 (2020年) 一個相當簡單而有效的semi-supervised learning方法。基於knowledge distillation與EfficientNet,透過不斷疊代的teacher student型態的訓練框架,將unlabeled data的重要資訊萃取出來,並一次一次地蒸餾,保留有用的資訊,進而提升模型的效果。
事實上,在做任何machine learning的問題時,data總是最關鍵的。data若是不夠多、不夠全面,訓練出來的模型很容易會有over-fitting的現象。然而取得更多的且全面的標註資料往往是繁雜的,蒐集unlabeled data則相較簡單許多,這就是semi-supervised learning的想法起點。
文章難度:★★☆☆☆
閱讀建議:本篇文章是只需要對 deep learning有些基礎概念,即使完全在 knowledge distillation零基礎的人也能閱讀的文章。文章前段從基礎開始介紹 knowledge distillation,後段則為介紹 noisy student的方法。
推薦背景知識: image classification、semi-supervised learning 、self-supervised leaning。
Knowledge Distillation (KD)
具我所知,KD (知識蒸餾) 最早是由Bucila提出 [1]。後來由Hinton完成一個泛用的里程碑 [2],當時 (2014年) ensemble model在衝數據時很流行,不過缺點自然是過大的模型與運算量。而Hinton透過KD展示了單一的模型是可以逼近ensemble model的效果,並且開啟了後續一個在分類問題中很重要的訓練技巧 label smoothing (soft target)與許多承襲teacher student架構的研究。
許多文章會把 KD解釋為一種 model compression的方法,這的確是 KD一開始概念的本意。不過隨著後續研究, KD已經不單純用於壓縮模型,更是一種可以強化模型表現的方法。
Soft Target and Its Regularizing Ability
Soft target是目前實現KD最常見的做法,以分類問題為例簡單解釋soft target大概是這樣:使用每個分類的probabilities取代原本的on-hot hard…