ECCV 2022 | 適用于分類,檢測,分割的生成式知識蒸餾開源
來源丨h(huán)ttps://zhuanlan.zhihu.com/p/539496128編輯丨極市平臺 導(dǎo)讀
本文主要介紹ECCV 2022關(guān)于知識蒸餾的工作: Masked Generative Distillation。該方法在圖像分類和密集預(yù)測的實驗中,其學生模型均獲得大幅提升。
文章鏈接:https://arxiv.org/abs/2205.01529代碼鏈接:https://github.com/yzd-v/MGD
一、簡介知識蒸餾主要可以分為logit蒸餾和feature蒸餾。其中feature蒸餾具有更好的拓展性,已經(jīng)在很多視覺任務(wù)中得到了應(yīng)用。但由于不同任務(wù)的模型結(jié)構(gòu)差異,許多feature蒸餾方法是針對某個特定任務(wù)設(shè)計的。之前的知識蒸餾方法著力于使學生去模仿更強的教師的特征,以使學生特征具有更強的表征能力。我們認為提升學生的表征能力并不一定需要通過直接模仿教師實現(xiàn)。從這點出發(fā),我們把模仿任務(wù)修改成了生成任務(wù):讓學生憑借自己較弱的特征去生成教師較強的特征。在蒸餾過程中,我們對學生特征進行了隨機mask,強制學生僅用自己的部分特征去生成教師的所有特征,以提升學生的表征能力。為了證明MGD并不是通過模仿教師來提升學生,我們對學生和教師的特征圖進行了可視化??梢钥吹?,蒸餾前的學生與教師的注意力相差很大。在使用FGD蒸餾(模仿教師)后,學生的注意力和教師變得很接近,表現(xiàn)也得到了較大的提升。但當使用MGD蒸餾后,學生與教師差異很大,學生對于背景的響應(yīng)大幅減小,對于目標的響應(yīng)得到了增強,學生的最終表現(xiàn)也好于FGD蒸餾。
二、整體框架MGD是在feature層面的蒸餾,可以很方便地被應(yīng)用到不同任務(wù),如分類,檢測與語義分割。
三、實驗結(jié)果1. 圖像分類我們首先在圖像分類任務(wù)上進行實驗,在pixel層面進行隨機mask,學生模型在ImageNet上獲得了有效的提升。并且可以和logit蒸餾進行疊加,進一步提升學生模型。對于分類任務(wù)而言,常常會對特征進行pixel層面的池化,模型對于channel維度更加敏感。所以我們還在channel維度進行了隨機mask,學生模型可以獲得更大的提升,在feature蒸餾方法中實現(xiàn)了sota。
2. 密集預(yù)測我們也將MGD應(yīng)用到了目標檢測,實例分割與語義分割任務(wù)上,分別在COCO和CityScapes進行實驗,學生模型均獲得了大幅的提升。
四、分析為了進一步證明MGD通過生成的方法提升學生的表征能力,我們在分類任務(wù)上與直接模仿教師的方法進行了對比。此處蒸餾使用直接訓(xùn)練得到的學生模型作為老師,可以看到,即便是學生自己作為老師,MGD也能為學生帶來有效的提升,而直接模仿教師對于學生的提升非常小。
五、代碼與更多蒸餾我們已將代碼開源:https://github.com/yzd-v/MGD開源代碼中放了蒸餾的學生模型和訓(xùn)練log。三種任務(wù)的代碼均基于MMLab的工具實現(xiàn),易于復(fù)現(xiàn),MGD僅有兩個超參,方便自由組合學生與教師進行蒸餾。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。