真誠的向大家推薦這個(gè)UP主,論文講述的方法清楚淀歇,脈絡(luò)清晰,聽君一席話勝讀十年書虏辫。
論文題目:Big Self-Supervised Models are Strong Semi-Supervised Learners(SimCLR v2)
前序講解論文:SimCLR
真諦:換了更大的模型倘要,取得了更好的performance。(作者肯定不會這么說类少,所以增加了知識蒸餾的部分叙身。)
在非監(jiān)督的環(huán)境下,訓(xùn)練好一個(gè)大的模型硫狞,然后按照有監(jiān)督的方法進(jìn)行finetune信轿,得到強(qiáng)的分類器。然后用這個(gè)分類器教小的網(wǎng)絡(luò)残吩,這樣我們就可以使用低成本將大量沒有標(biāo)記的數(shù)據(jù)财忽,還有訓(xùn)練好的大的網(wǎng)絡(luò)的知識,灌入小的網(wǎng)絡(luò)中泣侮。
目錄:1.Methodology 2.Results & conclusion
1. Methodology
本文提出的模型分為三個(gè)部分即彪。
(1)首先是將SimCLR作為backbone,將沒有標(biāo)記的樣本放入大的CNN中(這個(gè)CNN就是用于做pretrain活尊,并沒有做具體的優(yōu)化)相對于原作而言 1.增大了CNN 2. 作者加入了幾層hidden layers到projection MLP中隶校。對比學(xué)習(xí)部分使用的依舊是contrastive loss,與原作一樣的loss函數(shù)蛹锰。經(jīng)過這一步我們可以得到unsupervised pretraining惠况。
(2)加入label。針對image classification任務(wù)做fine-tuning宁仔。這一步是標(biāo)準(zhǔn)的有監(jiān)督的學(xué)習(xí)稠屠。這一步之后我們可以得到一個(gè)很強(qiáng)的classifier,也即是teacher network翎苫。
(3)然后使用teacher network教一個(gè)尺寸比較小的权埠,專門用來做classification的網(wǎng)絡(luò)。具體來說就是teacher network在unlabeled data上生成Pseudo label煎谍,并作為ground truth攘蔽。輸入給student network。
具體在知識蒸餾這一步我們使用什么樣的loss呢呐粘?
是典型的cross enropy满俗。里面的概率也是與softmax非常接近的转捕,其中的temperature是超參。不僅僅可以用teacher network中產(chǎn)生的label唆垃,也可以輸入gt(ground truth)讓student network判斷五芝。結(jié)合知識蒸餾的loss和gt的loss,就可以構(gòu)成一個(gè)完整的loss辕万。就是這兩項(xiàng)的trade off枢步。
2. Result
模型越大效果越好,label使用的效率越高渐尿。
隨著projection head的層數(shù)增加效果會逐漸變好醉途。(尤其是在label較少的情況下。)
從哪里開始fine-tune砖茸?
實(shí)驗(yàn)驗(yàn)證隘擎,從第一層hidden layer開始比直接從representation開始效果好。但是如果使用的樣本很多凉夯,還是從representation開始效果好货葬。
distillation 使用unlabel的data可以提升準(zhǔn)確率。(distillation起到了重要的作用)
附錄有許多有意思的發(fā)現(xiàn)恍涂,可以讀讀。