日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

深度模型压缩论文(03)- Be Your Own Teacher: Improve the Performance of Convolutional Neural Networks via Self

發(fā)布時間:2023/12/13 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度模型压缩论文(03)- Be Your Own Teacher: Improve the Performance of Convolutional Neural Networks via Self 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

      • 1.摘要和背景
        • 1.1 摘要
        • 1.2 背景
      • 2.方法和貢獻(xiàn)
        • 2.1 方法
        • 2.1.1 訓(xùn)練過程
      • 2.1.2 loss介紹
        • 2.2 貢獻(xiàn)
      • 3.實(shí)驗(yàn)和結(jié)果
        • 3.1 實(shí)驗(yàn)
        • 3.2 結(jié)果
      • 4.總結(jié)和展望
        • 4.1 總結(jié)
        • 4.2 展望

主要貢獻(xiàn):基于網(wǎng)絡(luò)蒸餾方法,提出了一種提升裁剪后模型的精度的方法!將訓(xùn)練時間大大縮短!
推薦指數(shù):4顆星(5顆星滿)

本系列是在閱讀深度神經(jīng)網(wǎng)絡(luò)模型小型化方面論文時的筆記!內(nèi)容大部分從論文中摘取,也會有部分自己理解,有錯誤的地方還望大家批評指出!

論文鏈接:Be Your Own Teacher: Improve the Performance of Convolutional Neural
Networks via Self Distillation
代碼鏈接:github代碼

1.摘要和背景

1.1 摘要

原文摘要:
Convolutional neural networks have been widely deployed in various application scenarios. In order to extend the applications’ boundaries to some accuracy-crucial domains,researchers have been investigating approaches to boost accuracy through either deeper or wider network structures, which brings with them the exponential increment of the computational and storage cost, delaying the responding time.
卷積網(wǎng)絡(luò)被用于很多地方,其中很多人為了提高卷積網(wǎng)絡(luò)的精度,對模型的深度和寬度進(jìn)行增加,但是雖然模型的精度有所增加,但是模型的大小和模型的flops急劇增加,這是得不償失的。
In this paper, we propose a general training framework named self distillation, which notably enhances the performance (accuracy) of convolutional neural networks through shrinking the size of the network rather than aggrandizing it. Different from traditional knowledge distillation - a knowledge transformation methodology among networks, which forces student neural networks to approximate the softmax layer outputs of pre-trained teacher neural networks, the proposed self distillation framework distills knowledge within network itself. The networks are firstly divided into several sections. Then the knowledge in the deeper portion of the networks is squeezed into the shallow ones. Experiments further prove the generalization of the proposed self distillation framework: enhancement of accuracy at average level is 2.65%, varying from 0.61% in ResNeXt as minimum to 4.07% in VGG19 as maximum. In addition, it can also provide flexibility of depth-wise scalable inference on resource-limited edge devices. Our codes will be released on github soon.
在本文中,提出了一種通用的訓(xùn)練框架,使用該框架,模型可以在不增加深度和寬度的基礎(chǔ)上,提高模型的精度。提出的自蒸餾框架是一種網(wǎng)絡(luò)間的知識轉(zhuǎn)換方法,它要求學(xué)生神經(jīng)網(wǎng)絡(luò)近似于預(yù)先訓(xùn)練好的教師神經(jīng)網(wǎng)絡(luò)的softmax層的輸出。該方法主要步驟為:1)將原始網(wǎng)絡(luò)按照網(wǎng)絡(luò)結(jié)構(gòu)的特點(diǎn)分成幾個淺層的網(wǎng)絡(luò);2)對分出來的淺層的網(wǎng)絡(luò)分別使用網(wǎng)絡(luò)蒸餾的方法(與傳統(tǒng)的蒸餾方法還不一樣,具體請看下面)。最后得出的結(jié)果發(fā)現(xiàn)使用提出的框架對網(wǎng)絡(luò)進(jìn)行訓(xùn)練比fine_turn效果好!

1.2 背景

  • 卷積網(wǎng)絡(luò)由已經(jīng)在圖像分類,目標(biāo)檢測和語義分割方面取得了非常好的結(jié)果;一般提升網(wǎng)絡(luò)精度的方法是度網(wǎng)絡(luò)的深度和寬度增加,但是常常得到的結(jié)果是增加的精度與增加的計算量是不對等的,所以該方法有弊端。
  • 為了能夠讓網(wǎng)絡(luò)在計算資源受限的平臺上運(yùn)行,則需要優(yōu)化的目標(biāo)是在滿足資源限制的基礎(chǔ)上,盡可能的降低裁剪后模型的精度;常用的方法包括:1)輕量級的網(wǎng)絡(luò)設(shè)計;2)網(wǎng)絡(luò)剪枝;3)網(wǎng)絡(luò)量化等;但是如何提高裁剪后模型的精度是模型后優(yōu)化問題。
  • 知識蒸餾是網(wǎng)絡(luò)模型壓縮中常用的方法,但是傳統(tǒng)的知識蒸餾方法需要先預(yù)先訓(xùn)練一個大的強(qiáng)的老師網(wǎng)絡(luò),然后在指導(dǎo)不同結(jié)構(gòu)的學(xué)生網(wǎng)絡(luò)進(jìn)行訓(xùn)練,從而達(dá)到將大網(wǎng)絡(luò)(老師網(wǎng)絡(luò))的知識壓縮到小網(wǎng)絡(luò)(學(xué)生網(wǎng)絡(luò))。其中,大網(wǎng)絡(luò)的訓(xùn)練和小網(wǎng)絡(luò)結(jié)構(gòu)的尋找是非常耗時的。
  • 本文提出一個方法,不需要訓(xùn)練老師網(wǎng)絡(luò)也不需要尋找學(xué)生網(wǎng)絡(luò),老師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)使用相同的結(jié)構(gòu),然后只需要一步就可以使用知識蒸餾的方法對網(wǎng)絡(luò)精度進(jìn)行提升。

2.方法和貢獻(xiàn)

2.1 方法


上圖是本文提出的自蒸餾訓(xùn)練框架圖。從圖中可以看出,論文首先將原始網(wǎng)絡(luò)分成了4個淺層的網(wǎng)絡(luò),然后在每個淺層的網(wǎng)絡(luò)的輸出加上一個瓶頸卷積,全連接層和softmax層,并能夠輸出預(yù)測的類別的概率。網(wǎng)絡(luò)的前傳播過程主要分為4個,其中前面3個為淺層網(wǎng)絡(luò)的前向通道,最后一個為老師網(wǎng)絡(luò)的前向通道。網(wǎng)絡(luò)中的loss也分為3類。下面將詳細(xì)介紹。

2.1.1 訓(xùn)練過程

  • 根據(jù)初始網(wǎng)絡(luò)的深度和結(jié)構(gòu),將初始網(wǎng)絡(luò)分為幾個淺層網(wǎng)絡(luò)。其中初始網(wǎng)絡(luò)作為老師網(wǎng)絡(luò),淺層網(wǎng)絡(luò)和深層網(wǎng)絡(luò)作為學(xué)生網(wǎng)絡(luò)(如果我們選擇的學(xué)生網(wǎng)絡(luò)的結(jié)構(gòu)是和老師網(wǎng)絡(luò)一樣的,那么深層網(wǎng)絡(luò)就是學(xué)生網(wǎng)絡(luò),否則淺層網(wǎng)絡(luò)是學(xué)生網(wǎng)絡(luò)。)
  • 在每一個淺層網(wǎng)絡(luò)的后面加上一個瓶頸層,全連接層和softmax層,構(gòu)成一個學(xué)生分類器。其中使用瓶頸卷積的目的是減少每個淺層分類器之間的影響。
  • 在訓(xùn)連教師網(wǎng)絡(luò)的基礎(chǔ)上,使用知識蒸餾方法對學(xué)生網(wǎng)絡(luò)進(jìn)行訓(xùn)練,最終訓(xùn)練好學(xué)生網(wǎng)絡(luò)。

2.1.2 loss介紹

  • loss Source1:Cross entropy loss from labels to not only the deepest classifier, but also all the shallow classifiers;衡量的是深層網(wǎng)絡(luò)和淺層網(wǎng)絡(luò)的輸出與真實(shí)標(biāo)簽之間的差異。
  • loss Source2:KL (Kullback-Leibler) divergence loss under teacher’s guidance;衡量的是老師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)的分布差異性。
  • loss Source3:L2 loss from hints;衡量的是學(xué)生網(wǎng)絡(luò)和老師網(wǎng)絡(luò)特征之間的差異性;

2.2 貢獻(xiàn)

  • 提出了自蒸餾的訓(xùn)練框架,使得模型在不增加大小,flops和時間的基礎(chǔ)上,提高模型的精度。
  • 自蒸餾提供了一個可在不同深度執(zhí)行的單一神經(jīng)網(wǎng)絡(luò),允許在資源有限的邊緣設(shè)備上進(jìn)行自適應(yīng)的精度-效率權(quán)衡。即:我們可以在原始網(wǎng)絡(luò)的基礎(chǔ)上,根據(jù)資源的要求在進(jìn)行網(wǎng)絡(luò)的裁剪(分成很多淺層網(wǎng)絡(luò))。
  • 在常用的5種卷積模型和2種數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),發(fā)現(xiàn)使用本文所提出的的方法得到的結(jié)果都比自學(xué)習(xí)的方法要好。

3.實(shí)驗(yàn)和結(jié)果

3.1 實(shí)驗(yàn)

  • 5個常用的模型:ResNet,WideResNet,Pyramid ResNet,ResNeXt,VGG
  • 兩個數(shù)據(jù)集:cifar100 和ImageNet

3.2 結(jié)果

  • 不同模型在cifar100上,使用本文方法和不使用本文方法的結(jié)果對比:

1.從實(shí)驗(yàn)的結(jié)果可以看出,無論是哪種模型,使用本文方法訓(xùn)練后的模型精度都會比直接訓(xùn)練的模型精度高。
2.針對大部分模型,當(dāng)網(wǎng)絡(luò)截取0.75 的時候,得到模型的精度已經(jīng)比基準(zhǔn)模型要好了。
3.集成的結(jié)果比使用本文方法訓(xùn)練后全部網(wǎng)絡(luò)效果要好。

  • 不同模型在ImageNet上,使用本文方法和不使用本文方法的結(jié)果對比:

1.從實(shí)驗(yàn)的結(jié)果可以看出,實(shí)驗(yàn)結(jié)果和cifar100上的結(jié)果類似。

  • 不同方法在cifar100和不同模型上的結(jié)果對比,其中baseline是不采用蒸餾方法得到的結(jié)果,其余的都采用了蒸餾的方法。

1.從表中的結(jié)果可以看出,使用蒸餾方法訓(xùn)練得到的模型精度比不使用蒸餾得到的要高。
2.本文所提方法得到的精度都要比其他蒸餾方法的結(jié)果要高。

  • 本文方法與使用深度監(jiān)督方法在cifar100和不同模型上的結(jié)果對比。

1.通過表中你的結(jié)果可以看出,無論哪種模型,本文所提出的的方法相比于只是用深度監(jiān)督方法的結(jié)果要好。

  • 本文方法在模型速度和精度方面的權(quán)衡結(jié)果。

1.初始網(wǎng)絡(luò)的層數(shù)越深,則加速效果會更加明顯!
2.從實(shí)驗(yàn)的結(jié)果來看,在幾乎相同的裁剪率下,legr算法得到的模型的精度比本文提出的方法要高一些!
3.是否可以將網(wǎng)絡(luò)拆分的更多,使得速度的增加粒度更細(xì)

4.總結(jié)和展望

4.1 總結(jié)

  • 提出的自蒸餾訓(xùn)練框架能夠大大的增加訓(xùn)練后模型的精度。
  • 相比于傳統(tǒng)的蒸餾方法,提出了一段式的蒸餾方法,將模型的訓(xùn)練時間縮短。
  • 相比于其他改進(jìn)的蒸餾方法,模型的精度得到提升
  • 不僅可以提升模型的精度,還可以在一定精度的要求下,對模型的結(jié)構(gòu)進(jìn)行裁剪。

4.2 展望

  • Automatic adjustment of newly introduced hyperparameters

總結(jié)

以上是生活随笔為你收集整理的深度模型压缩论文(03)- Be Your Own Teacher: Improve the Performance of Convolutional Neural Networks via Self的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。