<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          DeiT:使用Attention蒸餾Transformer

          共 2230字,需瀏覽 5分鐘

           ·

          2021-09-28 13:58

          題目: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ò)進(jìn)行蒸餾,能夠比使用transformer架構(gòu)的網(wǎng)絡(luò)作為教師取得更好的效果。

          1簡介

          之前的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ù)集就就可以達(dá)到83.1%的Top1。

          文章貢獻(xiàn)如下:

          • 僅使用Transformer,不引入Conv的情況下也能達(dá)到SOTA效果。

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

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

          2知識蒸餾

          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提出的方法。

          其中分別代表學(xué)生網(wǎng)絡(luò)的logits輸出和教師網(wǎng)絡(luò)的logits輸出。

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

          3Deit蒸餾過程

          在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

          4實驗

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

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

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

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

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

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

          可以發(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: 測試不同蒸餾方法

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

          實驗3: 與SOTA模型進(jìn)行比較

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

          • 使用truncated normal distribution來進(jìn)行初始化

          • soft蒸餾參數(shù):

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

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

          6回顧

          問: 為什么不同架構(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ù)增強。


          END




          瀏覽 42
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲午夜福利一区二区三区 | 中日亚洲国产特级黄片 | 成人亚洲天堂 | 国产ol在线观看 | 中文字幕在线免费 |