DeiT:使用Attention蒸餾Transformer

題目:Training data-efficient image transformers & distillation through attention

【GiantPandaCV導(dǎo)語】Deit是一個全Transformer的架構(gòu)拓轻,沒有使用任何的卷及操作耳奕。其核心是將蒸餾方法引入VIT的訓(xùn)練喉悴,引入了一種教師-學(xué)生的訓(xùn)練策略,提出了token-based distillation宝磨。有趣的是,這種訓(xùn)練策略使用卷積網(wǎng)絡(luò)作為教師網(wǎng)絡(luò)進行蒸餾,能夠比使用transformer架構(gòu)的網(wǎng)絡(luò)作為教師取得更好的效果概说。

歡迎關(guān)注vx公號:GiantPandaCV 和 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索

[圖片上傳失敗...(image-2dc4fd-1632449951181)]

簡介

之前的ViT需要現(xiàn)在JFT-300M大型數(shù)據(jù)集上預(yù)訓(xùn)練碧注,然后在ImageNet-1K上訓(xùn)練才能得到出色的結(jié)果,但這借助了額外的數(shù)據(jù)糖赔。

ViT文中也表示:“do not generalize well when trained on insufficient amounts of data”數(shù)據(jù)量不足會導(dǎo)致ViT效果變差萍丐。

針對以上問題,Deit核心共享是使用了蒸餾策略放典,能夠僅使用ImageNet-1K數(shù)據(jù)集就就可以達到83.1%的Top1逝变。

文章貢獻如下:

  • 僅使用Transformer,不引入Conv的情況下也能達到SOTA效果奋构。

  • 提出了基于token蒸餾的策略壳影,這種針對transformer的蒸餾方法可以超越原始的蒸餾方法。

  • Deit發(fā)現(xiàn)使用Convnet作為教師網(wǎng)絡(luò)能夠比使用Transformer架構(gòu)取得更好的效果弥臼。

知識蒸餾

Knowledge Distillation(KD)最初被Hinton提出宴咧,與Label smoothing動機類似,但是KD生成soft label的方式是通過教師網(wǎng)絡(luò)得到的径缅。

KD可以視為將教師網(wǎng)絡(luò)學(xué)到的信息壓縮到學(xué)生網(wǎng)絡(luò)中掺栅。還有一些工作“Circumventing outlier of autoaugment with knowledge distillation”則將KD視為數(shù)據(jù)增強方法的一種。

KD能夠以soft的方式將歸納偏置傳遞給學(xué)生模型芥驳,Deit中使用Conv-Based架構(gòu)作為教師網(wǎng)絡(luò)柿冲,將局部性的假設(shè)通過蒸餾方式引入Transformer中,取得了不錯的效果兆旬。

本文提出了兩種KD:

  • Soft Distillation: 使用KL散度衡量教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)的輸出假抄,即Hinton提出的方法。

{L}_{\text {global }}=(1-\lambda) {L}_{{CE}}\left(\psi\left(Z_{{s}}\right), y\right)+\lambda \tau^{2} {KL}\left(\psi\left(Z_{{s}} / \tau\right), \psi\left(Z_{{t}} / \tau\right)\right)

其中Z_s丽猬,Z_t分別代表學(xué)生網(wǎng)絡(luò)的logits輸出和教師網(wǎng)絡(luò)的logits輸出宿饱。

  • Hard-label Distillation: 本文提出的一個KD變體,將教師網(wǎng)絡(luò)得到的hard輸出作為label脚祟,即y_t=argmax_cZ_t(c)谬以,該方法是無需調(diào)參的。

{L}_{\text {global }}^{\text {hardDistill}}=\frac{1}{2} {L}_{{CE}}\left(\psi\left(Z_{s}\right), y\right)+\frac{1}{2} {L}_{{CE}}\left(\psi\left(Z_{s}\right), y_{{t}}\right)

Deit蒸餾過程

[圖片上傳失敗...(image-94bbeb-1632449951181)]

在ViT架構(gòu)基礎(chǔ)上引入了Distillation token由桌,其地位與Class token相等为黎,并且參與了整體信息的交互過程。

Distillation token讓模型從教師模型輸出中學(xué)習(xí)行您,文章發(fā)現(xiàn):

  • 最初class token和distillation token區(qū)別很大铭乾,余弦相似度為0.06

  • 隨著class 和 distillation embedding互相傳播和學(xué)習(xí),通過網(wǎng)絡(luò)逐漸變得相似娃循,到最后一層炕檩,余弦相似度為0.93

實驗

Deit模型follow了Vision Transformer的設(shè)置,訓(xùn)練策略有所不同捌斧,僅使用Linear classifier笛质,而不是用MLP head泉沾。

本文提出了Deit的系列模型:

  • Deit-B:代表與ViT-B有相同架構(gòu)的模型

  • Deit-B|384 : 代表對Deit-B進行finetune,分辨率提升到384

  • Deit-S/Deit-Ti:更小的模型妇押,修改了head數(shù)量跷究。

[圖片上傳失敗...(image-13c7e5-1632449951181)]

實驗1: 選取不同教師網(wǎng)絡(luò)的效果

[圖片上傳失敗...(image-10d393-1632449951181)]

可以發(fā)現(xiàn)使用RegNet作為教師網(wǎng)絡(luò)可以取得更好的性能表現(xiàn),Transformer可以通過蒸餾來繼承歸納偏差舆吮。

同時還可以發(fā)現(xiàn)揭朝,學(xué)生網(wǎng)絡(luò)可以取得超越老師的性能队贱,能夠在準(zhǔn)確率和吞吐量權(quán)衡方面做的更好色冀。

PS:不太明白這里對比的時候為何不選取ViT-H(88.5%top1)作為教師模型?

實驗2: 測試不同蒸餾方法

[圖片上傳失敗...(image-e94ac9-1632449951181)]

實驗證明:hard-label distillation能夠取得更好的結(jié)果柱嫌。

[圖片上傳失敗...(image-8f0e9c-1632449951181)]

實驗3: 與SOTA模型進行比較

[圖片上傳失敗...(image-d8b9ff-1632449951181)]

訓(xùn)練細節(jié)

  • 使用truncated normal distribution來進行初始化

  • soft蒸餾參數(shù):\tau=3,\lambda=0.1

  • 數(shù)據(jù)增強:Autoaugment,Rand-augment,random erasing,Cutmix,Mixup,Label Smoothing等

  • 訓(xùn)練300個epoch需要花費37個小時锋恬,使用兩個GPU

[圖片上傳失敗...(image-e7cdcb-1632449951181)]

回顧

問: 為什么不同架構(gòu)之間也可以蒸餾?蒸餾能夠?qū)⒕植啃砸雝ransformer架構(gòu)嗎编丘?

答:教師模型能夠?qū)w納偏置以soft的方式傳遞給學(xué)生模型与学。

問: 性能增強歸功于蒸餾 or 復(fù)雜度數(shù)據(jù)增強方法?

答:蒸餾策略是有效的嘉抓,但是相比ViT索守,Deit確實引入了非常多的數(shù)據(jù)增強方法,直接與ViT比較還是不夠公平的抑片。Deit測試了多種數(shù)據(jù)增強方法卵佛,發(fā)現(xiàn)大部分?jǐn)?shù)據(jù)增強方法能夠提高性能,這還是可以理解為Transformer缺少歸納偏置敞斋,所以需要大量數(shù)據(jù)+數(shù)據(jù)增強截汪。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市植捎,隨后出現(xiàn)的幾起案子衙解,更是在濱河造成了極大的恐慌,老刑警劉巖焰枢,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚓峦,死亡現(xiàn)場離奇詭異,居然都是意外死亡济锄,警方通過查閱死者的電腦和手機暑椰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拟淮,“玉大人干茉,你說我怎么就攤上這事『懿矗” “怎么了角虫?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵沾谓,是天一觀的道長。 經(jīng)常有香客問我戳鹅,道長均驶,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任枫虏,我火速辦了婚禮妇穴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘隶债。我一直安慰自己腾它,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布死讹。 她就那樣靜靜地躺著瞒滴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赞警。 梳的紋絲不亂的頭發(fā)上妓忍,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機與錄音愧旦,去河邊找鬼世剖。 笑死,一個胖子當(dāng)著我的面吹牛笤虫,可吹牛的內(nèi)容都是我干的旁瘫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼耕皮,長吁一口氣:“原來是場噩夢啊……” “哼境蜕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起凌停,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤粱年,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后罚拟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體台诗,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年赐俗,在試婚紗的時候發(fā)現(xiàn)自己被綠了拉队。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡阻逮,死狀恐怖粱快,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤事哭,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布漫雷,位于F島的核電站,受9級特大地震影響鳍咱,放射性物質(zhì)發(fā)生泄漏降盹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一谤辜、第九天 我趴在偏房一處隱蔽的房頂上張望蓄坏。 院中可真熱鬧,春花似錦丑念、人聲如沸涡戳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽妹蔽。三九已至,卻和暖如春挠将,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背编整。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工舔稀, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人掌测。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓内贮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親汞斧。 傳聞我的和親對象是個殘疾皇子夜郁,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容