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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

论文笔记:ShuffleNet v1

發(fā)布時間:2025/3/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 论文笔记:ShuffleNet v1 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices

ShuffleNet v1

1、四個問題

  • 要解決什么問題?
    • 為算力有限的嵌入式場景下專門設(shè)計一個高效的神經(jīng)網(wǎng)絡(luò)架構(gòu)。
  • 用了什么方法解決?
    • 使用了兩個新的操作:pointwise group convolution(組卷積)和channel shuffle。
    • 根據(jù)這兩個操作構(gòu)建了ShuffleUnit,整個ShuffleNet都是由ShuffleUnit組成。
  • 效果如何?
    • 在ImageNet分類和MS COCO目標(biāo)檢測任務(wù)上取得了比其他輕量化模型更高的準(zhǔn)確率,如MobileNet v1。
    • 在ARM設(shè)備上,ShuffleNet的速度比AlexNet快了13倍。
  • 還存在什么問題?
    • 超參數(shù)如組卷積的組數(shù)以及通道壓縮比率等需要根據(jù)實(shí)際情況決定,不同任務(wù)下需要自行調(diào)整。
    • 網(wǎng)絡(luò)實(shí)時性并不能單純以浮點(diǎn)計算量來衡量,還存在memory access cost(MAC)等因素的干擾,并不能僅僅根據(jù)計算量就認(rèn)為ShuffleNet是最快的。
  • 2、論文概述

    2.1、簡介

    • 作者發(fā)現(xiàn),一些state-of-the-art的模型架構(gòu),如Xception、ResNeXt等,使用在小型網(wǎng)絡(luò)模型中效率都比較低。這是因?yàn)槭褂么罅康?span id="ozvdkddzhkzd" class="katex--inline">1×11 \times 11×1卷積會消耗大量計算資源。為此,提出了pointwise group convolution來減少計算復(fù)雜度。
    • 使用組卷積也會帶來一些副作用,因?yàn)榻M卷積切斷了組內(nèi)通道與組外通道之間的聯(lián)系,僅僅能從組內(nèi)通道提取特征信息。為此,論文中又提出了 channel shuffle,來幫助信息在各通道之間流通。

    2.2、相關(guān)工作

    • 高效模型設(shè)計:
      • GoogLeNet
      • SqueezeNet
      • ResNet
      • SENet
      • NASNet
    • 組卷積(group convolution):
      • 最初由AlexNet提出,應(yīng)用在2塊GPU上并行處理。
      • Xception中提出了深度可分離卷積(depthwise separable convolution)。
      • MobileNet中也使用到了深度可分離卷積。
    • Channel Shuffle
      • 此前的文獻(xiàn)中較少提及channel shuffle操作。
    • 模型加速
      • 目標(biāo)是再保證模型準(zhǔn)確率的前提下盡可能加速前向推理過程。
      • 常見方法:
        • 網(wǎng)絡(luò)剪枝。
        • 量化和分解。
        • 知識蒸餾。

    2.3、Channel Shuffle for Group Convolutions

    • 在小型網(wǎng)絡(luò)中,逐點(diǎn)卷積(pointwise convolution)不僅會占用較多計算資源并且還會讓通道之間具有過多復(fù)雜的約束,這會顯著地降低網(wǎng)絡(luò)性能。在較大的模型中使用pointwise convolution也許相對好一些,然而小模型并不需要過多復(fù)雜的約束,否則容易導(dǎo)致模型難以收斂,并且容易陷入過擬合。
    • 一個解決辦法是:通道間稀疏連接(channel sparse connections)。使用組卷積可以一定程度上解決這個問題。
    • 但是,使用組卷積也會帶來副作用:信息只會在組內(nèi)流通,組間不會有信息交互。為此,還需要使用channel shuffle來解決信息不流通的問題。

    • channel shuffle操作:
    • 假設(shè)一個卷積層上有ggg組,每組有nnn個通道,最后輸出就有g×ng \times ng×n個通道。
    • reshape成(g,n)(g, n)(g,n)
    • 轉(zhuǎn)置成(n,g)(n, g)(n,g)
    • 展開(flatten),再分成ggg組,作為下一層的輸入。

    2.4、Shuffle Unit

    • 圖(a)是殘差卷積模塊,標(biāo)準(zhǔn)3×33 \times 33×3卷積轉(zhuǎn)換為深度可分離卷積與1×11 \times 11×1卷積的組合。中間加上BN和ReLU,構(gòu)成基本單元。
    • 圖(b)是Shuffle Unit,將圖(a)中的第一個1×11 \times 11×1卷積替換成1×11 \times 11×1組卷積(GConv)和channel shuffle組成的單元。
    • 圖?是用于降采樣的Shuffle Unit,深度可分離卷積的步長改為2,為了適配主分支的feature map,在shortcut上加上了步長也為2的平均池化(AVG Pool 3×33 \times 33×3)。
    • 雖然深度可分離卷積可以減少計算量和參數(shù)量,但在低功耗設(shè)備上,與密集的操作相比,計算/存儲訪問的效率更差。故在ShuffleNet上只在bottleneck上有使用深度可分離卷積,盡可能的減少開銷。

    2.5、網(wǎng)絡(luò)架構(gòu)

    2.6、實(shí)驗(yàn)

    • Pointwise Group Convolutions
      • 從結(jié)果來看,有組卷積的一致比沒有組卷積(g=1)的效果要好。注意組卷積可獲得更多通道間的信息,我們假設(shè)性能提高受益于更多的feature map通道數(shù),這也有助于我們對更多信息進(jìn)行編碼。并且,較小的模型的feature map通道也更少,這意味著能更多地從增加feature map上獲益。

    • Channel Shuffle vs. No Shuffle

    • Comparison with Other Structure Units

    • Comparison with MobileNets and Other Frameworks

    • Generalization Ability
      • 在MS COCO目標(biāo)檢測任務(wù)上測試ShuffleNet的泛化和遷移學(xué)習(xí)能力,以Faster RCNN為例:

    • Actual Speedup Evaluation

    3、參考資料

  • https://blog.csdn.net/u011974639/article/details/79200559
  • https://www.cnblogs.com/heguanyou/p/8087422.html
  • 總結(jié)

    以上是生活随笔為你收集整理的论文笔记:ShuffleNet v1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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