自监督学习新思路!基于蒸馏(distillation loss)的自监督学习算法
?
今天給大家介紹一篇 CVPR 2021 關(guān)于自監(jiān)督的文章叫 S2-BNN [1],來自 CMU,HKUST 和 IIAI。它探討了如果網(wǎng)絡(luò)規(guī)模在非常小的情況下(比如 efficient networks 或者 binary neural networks),什么樣的自監(jiān)督訓(xùn)練策略和方法是最好的。
本文發(fā)現(xiàn)基于小網(wǎng)絡(luò)的前提下,基于蒸餾(distillation learning)的自監(jiān)督學(xué)習(xí)得到的模型性能遠(yuǎn)遠(yuǎn)強(qiáng)于對(duì)比學(xué)習(xí)(contrastive learning),同時(shí)他們還發(fā)現(xiàn)同時(shí)使用蒸餾和對(duì)比學(xué)習(xí)效果反而不如單獨(dú)使用蒸餾損失,這也是一個(gè)非常有意思的發(fā)現(xiàn)。
論文標(biāo)題:
S2-BNN: Bridging the Gap Between Self-Supervised Real and 1-bit Neural Networks via Guided Distribution Calibration
論文鏈接:
https://arxiv.org/abs/2102.08946
代碼和模型:
https://github.com/szq0214/S2-BNN
本文的初衷是:如果網(wǎng)絡(luò)模型的規(guī)模比較小,那么它的表達(dá)能力也會(huì)非常有限,從而會(huì)造成這類網(wǎng)絡(luò)的預(yù)測(cè)概率變得不那么確信(confident),這時(shí)候作者就產(chǎn)生一個(gè)疑問:最常使用的對(duì)比學(xué)習(xí)在這種類型的網(wǎng)絡(luò)上面還能取得較好的結(jié)果嗎?
基于這個(gè)疑問:作者首先使用默認(rèn)參數(shù)的 MoCo V2 作為自監(jiān)督學(xué)習(xí)基準(zhǔn)算法(baseline),在使用 ReActNet 作為主干網(wǎng)的時(shí)候在 ImageNet 上得到 46.9%。由于該主干網(wǎng)是一個(gè)二值化網(wǎng)絡(luò),因此作者提出需要調(diào)整優(yōu)化器、學(xué)習(xí)率策略、數(shù)據(jù)增強(qiáng)策略來匹配二值網(wǎng)絡(luò)的特性。作者嘗試使用 Adam 和 SGD 兩種優(yōu)化器來訓(xùn)練主干網(wǎng),在線性評(píng)估(linear evaluation)階段使用不同學(xué)習(xí)率來尋找最佳的參數(shù)設(shè)計(jì)。
作者發(fā)現(xiàn)使用使用 SGD 訓(xùn)練的網(wǎng)絡(luò),在線性評(píng)估階段學(xué)習(xí)率比較大的時(shí)候性能比較高,學(xué)習(xí)率降低時(shí)精度嚴(yán)重下降,而 Adam 訓(xùn)練的網(wǎng)絡(luò)剛好相反,學(xué)習(xí)率降低時(shí)精度反而上升,同時(shí) Adam 訓(xùn)練的網(wǎng)絡(luò)在取得最佳精度的設(shè)置時(shí)結(jié)果明顯優(yōu)于 SGD 的最佳結(jié)果。因此作者首先提出了一個(gè)基于 MoCo V2 的更強(qiáng)的 baseline+,性能為 52.5%。
接下來作者提出并比較了如下三種策略:
1. 單純使用對(duì)比學(xué)習(xí)(使用增強(qiáng)后的 MoCo V2 作為對(duì)比學(xué)習(xí)算法);
2. 對(duì)比學(xué)習(xí)損失加上知識(shí)蒸餾損失(文章使用 cross-entropy loss 作為蒸餾損失)訓(xùn)練模型;
3. 只使用知識(shí)蒸餾損失(cross-entropy loss)訓(xùn)練模型。
蒸餾損失函數(shù)表達(dá):
作者這邊使用的是 soft 版本的 cross-entropy loss 作為蒸餾損失函數(shù),具體實(shí)現(xiàn)細(xì)節(jié)可以去看他們的代碼,損失函數(shù)表達(dá)形式如下:
如何獲取 teacher 呢?
這里作者討論了兩種方案來得到 teacher 網(wǎng)絡(luò),一種是在線(online)的方式同時(shí)訓(xùn)練 teacher 和 student,如下圖所示。另一種是離線(offline)的方式,即先使用自監(jiān)督方法訓(xùn)好 teacher,然后固定 teacher 的權(quán)重來蒸餾目標(biāo)網(wǎng)絡(luò),這也是本文中采用的策略。
為什么使用 offline 的策略呢?其主要好處是效率高,由于 teacher 只需要訓(xùn)練一次,后面可以重復(fù)使用,從而使 student 的訓(xùn)練更加高效。其次就是 teacher 在蒸餾過程中權(quán)重都是 freeze 的,產(chǎn)生的監(jiān)督信號(hào)也跟精確更穩(wěn)定,對(duì)于 student 的收斂也會(huì)有幫助。
下面是兩種策略的算法示意圖:
核心實(shí)驗(yàn)結(jié)果:
作者在 ImageNets-1k 上進(jìn)行了實(shí)驗(yàn),核心結(jié)果如下:
表中 ① ② ③ 分別對(duì)應(yīng)了三種訓(xùn)練策略,本文增強(qiáng)之后的結(jié)果比原始的 baseline 高了 5.6%,加上蒸餾損失(distillation loss)之后結(jié)果提升到 5.6%,去掉對(duì)比損失(contrastive loss)精度進(jìn)一步提升了 5.5%,達(dá)到 61.5%。可以看到只使用知識(shí)蒸餾的策略相比其他兩個(gè)方案,對(duì)于性能的提升還是非??捎^的。
為什么同時(shí)使用蒸餾損失和對(duì)比損失效果反而沒有單獨(dú)使用蒸餾損失效果好?
?
直觀地說,蒸餾損失會(huì)迫使 student 去模仿 teacher 網(wǎng)絡(luò)的預(yù)測(cè)概率輸出,而對(duì)比學(xué)習(xí)傾向于從數(shù)據(jù)本身中發(fā)現(xiàn)潛在模式(patterns)。如下圖所示,在二值化網(wǎng)絡(luò)場(chǎng)景中,對(duì)比損失學(xué)習(xí)細(xì)粒度表示的能力相比蒸餾損失相對(duì)較弱,學(xué)到的表達(dá)在語義層面也更模糊。因此,由于優(yōu)化空間的差異而導(dǎo)致兩者結(jié)合使用可能并不是最佳的解決方案。
同時(shí)期一些基于蒸餾的自監(jiān)督學(xué)習(xí)方法:
最近基于知識(shí)蒸餾的自監(jiān)督方法有不少,包括跟本文同時(shí)期的 SEED [2](發(fā)表于 ICLR 2021, 兩者投稿相隔一個(gè)月,可以認(rèn)為是同時(shí)期的工作)以及后續(xù)比較有名的 FAIR 的 DINO [3] 等等, SEED 基本上跟這篇文章的方法是類似的,只是在 student 的選取上一個(gè)選擇的是小規(guī)模網(wǎng)絡(luò),本文選擇的是 efficient 的二值化網(wǎng)絡(luò),但是本身訓(xùn)練方法上沒有大的差別。DINO ?跟他們兩者的主要區(qū)別在于 DINO 的 teacher 的權(quán)重在訓(xùn)練過程是不固定的。
?
更多分析和消融實(shí)驗(yàn)請(qǐng)閱讀論文原文。
參考文獻(xiàn)
[1] Zhiqiang Shen, Zechun Liu, Jie Qin, Lei Huang, Kwang-Ting Cheng, and Marios Savvides. "S2-bnn: Bridging the gap between self-supervised real and 1-bit neural networks via guided distribution calibration." In?Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pp. 2165-2174. 2021.
[2] Zhiyuan Fang, Jianfeng Wang, Lijuan Wang, Lei Zhang, Yezhou Yang, and Zicheng Liu. "Seed: Self-supervised distillation for visual representation."?arXiv preprint arXiv:2101.04731?(2021).
[3] Mathilde Caron, Hugo Touvron, Ishan Misra, Hervé Jégou, Julien Mairal, Piotr Bojanowski, and Armand Joulin. "Emerging properties in self-supervised vision transformers."?arXiv preprint arXiv:2104.14294?(2021).
特別鳴謝
感謝 TCCI 天橋腦科學(xué)研究院對(duì)于 PaperWeekly 的支持。TCCI 關(guān)注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識(shí)的人。
總有一些你不認(rèn)識(shí)的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵(lì)高校實(shí)驗(yàn)室或個(gè)人,在我們的平臺(tái)上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)術(shù)熱點(diǎn)剖析、科研心得或競(jìng)賽經(jīng)驗(yàn)講解等。我們的目的只有一個(gè),讓知識(shí)真正流動(dòng)起來。
?????稿件基本要求:
? 文章確系個(gè)人原創(chuàng)作品,未曾在公開渠道發(fā)表,如為其他平臺(tái)已發(fā)表或待發(fā)表的文章,請(qǐng)明確標(biāo)注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發(fā)送,要求圖片清晰,無版權(quán)問題
? PaperWeekly 尊重原作者署名權(quán),并將為每篇被采納的原創(chuàng)首發(fā)稿件,提供業(yè)內(nèi)具有競(jìng)爭(zhēng)力稿酬,具體依據(jù)文章閱讀量和文章質(zhì)量階梯制結(jié)算
?????投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請(qǐng)備注即時(shí)聯(lián)系方式(微信),以便我們?cè)诟寮x用的第一時(shí)間聯(lián)系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長(zhǎng)按添加PaperWeekly小編
????
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁(yè)搜索「PaperWeekly」
點(diǎn)擊「關(guān)注」訂閱我們的專欄吧
·
總結(jié)
以上是生活随笔為你收集整理的自监督学习新思路!基于蒸馏(distillation loss)的自监督学习算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京啥地方可以买到芸豆馅的烧饼呢?
- 下一篇: 最新综述:用于文本分类的数据增强方法