天天看點

MobileNets v1

論文:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications(CVPR 2017)

文章目錄

    • 針對問題
    • Depthwise Sparable Convolutions
        • 拆分标準卷積
        • 為什麼可以拆分
        • 為什麼拆分
        • BN層
        • 進一步減少計算
        • 網絡架構
    • 相關實驗
    • 參考文獻

針對問題

消費類産品很多是嵌入式的終端産品,嵌入式裝置性能不強,即使考慮雲計算,也需要消耗大量的帶寬資源和計算資源,是以建構輕量級的深層神經網絡具有較大的價值

Depthwise Sparable Convolutions

拆分标準卷積

标準卷積核:圖(a) 表示 N N N 個通道為 M M M 的 D K × D K D_K\times D_K DK​×DK​ 大小的标準卷積核

Depthwise Sparable Convolutions:将正常卷積替換為 (b) 操作和 (c) 操作 a ⟹ b → c a\Longrightarrow b\to c a⟹b→c :

  • (b) 可了解為:将 M M M個通道的特征圖拆開,每個通道的特征圖分别進行通道數為 1 的 D K × D K D_K\times D_K DK​×DK​ 标準卷積,然後合并通道
  • (c) 表示标準的 1 × 1 1\times 1 1×1 卷積操作
MobileNets v1

為什麼可以拆分

若特征圖通道數為 M M M:

  • 經過 N N N 個 3 × 3 3\times 3 3×3 的标準卷積,得到輸出特征圖譜通道數為 N N N大小為 D F × D F D_F\times D_F DF​×DF​
  • 将标準卷積替換為 Depthwise Sparable Convolutions,也可以得到通道數為 N N N大小為 D F × D F D_F\times D_F DF​×DF​的輸出特征圖

由此可知:

  • 标準卷積和Depthwise Sparable Convolutions在特征圖平面和通道間均有操作,且兩個次元上的操作均為簡單的加或乘,最終得到的輸出特征圖譜大小和通道數均相同,理論上标準卷積可以得到的結果,Depthwise Sparable Convolutions也可得到(前提)
  • Depthwise Sparable Convolutions雖然參數少,但是相當于加深了網絡,其非線性表達能力并沒有下降太多,且一般"瘦深"的網絡比"胖淺"的網絡更容易學習,非線性表達能力相對較強

為什麼拆分

若輸入特征圖通道數為 M M M,輸出特征圖譜通道數為 N N N ,大小為 D F × D F D_F\times D_F DF​×DF​,卷積核大小為 D K × D K D_K\times D_K DK​×DK​,那麼

  • 标準卷積op數: D F × D F × D K × D K × M × N D_F\times D_F\times D_K\times D_K\times M\times N DF​×DF​×DK​×DK​×M×N
  • 拆分卷積 op數: D F × D F × D K × D K × M ⏟ ( 2 ) + D F × D F × M × N ⏟ ( 3 ) \underbrace{D_F\times D_F\times D_K\times D_K\times M}_{(2)}+\underbrace{D_F\times D_F\times M\times N}_{(3)} (2)

    DF​×DF​×DK​×DK​×M​​+(3)

    DF​×DF​×M×N​​

标準卷積op數 拆分卷積op數 = D F × D F × D K × D K × M + D F × D F × M × N D F × D F × D K × D K × M × N = 1 N + 1 D K 2 \frac{\text{标準卷積op數}}{\text{拆分卷積op數}}=\frac{D_F\times D_F\times D_K\times D_K\times M + D_F\times D_F\times M\times N}{D_F\times D_F\times D_K\times D_K\times M\times N}=\frac1N+\frac{1}{D_K^2} 拆分卷積op數标準卷積op數​=DF​×DF​×DK​×DK​×M×NDF​×DF​×DK​×DK​×M+DF​×DF​×M×N​=N1​+DK2​1​

一般 N N N相對于 D K D_K DK​較大,如果卷積核大小為 D K = 3 D_K=3 DK​=3,則計算量約等于原來的 1 9 \frac19 91​,可以節省大量的空間和時間

BN層

Depthwise Sparable Convolutions 使用 BN:

MobileNets v1

進一步減少計算

按比例減少通道數,降低分辨率

網絡架構

MobileNets v1

相關實驗

MobileNets v1
MobileNets v1

參考文獻

【1】網絡解析(二):MobileNets詳解

【2】MobileNets—深度學習模型的加速

繼續閱讀