天天看點

mobileNet-v1理論分析

1.概述      

 mobileNet是為移動和嵌入式裝置提出的高效模型壓縮的一種方式,其主要提出了可分離卷積來實作網絡的輕量化,該方式的提出使得網絡可以在損失較小的情形下,模型得到較大的壓縮,進而為在嵌入式端進行實作提供了可能。該模型壓縮方式已經在很多分類和目标檢測等網絡中得到了驗證。

       目前建立小型高效神經網絡的方式,主要有兩種:

       (1)壓縮預訓練模型:擷取小型網絡的一個辦法就是減小,分解或壓縮訓練網絡。如量化壓縮,哈希,剪枝,矢量編碼以及霍夫曼編碼等,此外還有各種分解因子用來加速預訓練網絡。

        (2)直接訓練小型模型:如Flattened networks利用完全的因式分解的卷積網絡構模組化型,顯示出完全分解網絡的潛力;Factorized Networks引入了類似的分解卷積以及拓撲連接配接的使用;Xception network顯示了如何擴充深度可分離卷積到Inception V3 networks;Squeezenet 使用一個bottleneck用于建構小型網絡。

         (3)目前采用的主流小型高效神經網絡方式是第二種方式,本文說明的mobileNet也是第二種方式。

2.網絡結構和計算量分析

   mobileNet是基于深度可分類卷積的實作的。深度可分離卷積:把标準卷積分解成深度卷積核逐點卷積,這樣就可以大幅降低模型參數和計算量。具體如下:

mobileNet-v1理論分析

輸入的特征映射F尺寸為(

mobileNet-v1理論分析

,

mobileNet-v1理論分析

,M),采用标準的卷積核K為(

mobileNet-v1理論分析

,

mobileNet-v1理論分析

,M,N),輸出的特征映射為G尺寸(

mobileNet-v1理論分析

,

mobileNet-v1理論分析

,N)。标準卷積的計算公式:

mobileNet-v1理論分析

輸入的通道數為M,輸出的通道數為N。對應的計算量為:

mobileNet-v1理論分析

可将标準卷積(

mobileNet-v1理論分析

,

mobileNet-v1理論分析

,M,N)拆分為深度卷積和逐點卷積:

深度卷積負責濾波,尺寸為(

mobileNet-v1理論分析

,

mobileNet-v1理論分析

,1,M)如圖(b)所示,輸出特征為(

mobileNet-v1理論分析

,

mobileNet-v1理論分析

,M)

逐點卷積扶着轉化通道,尺寸為(1,1,M,N)如圖(c)所示,得到輸出特征為(

mobileNet-v1理論分析

,

mobileNet-v1理論分析

,N)

深度卷積的卷積公式為:

mobileNet-v1理論分析

其中

mobileNet-v1理論分析

是深度卷積,卷積核為(

mobileNet-v1理論分析

,

mobileNet-v1理論分析

,1,M),其中

mobileNet-v1理論分析

個卷積核應用在F中第

mobileNet-v1理論分析

個通道上,産生

mobileNet-v1理論分析

上第

mobileNet-v1理論分析

個通道輸出。

深度卷積核逐點卷積計算量:

mobileNet-v1理論分析

計算量減少為:

mobileNet-v1理論分析

可以看到計算量還是有了很大的改善。

3.标準卷積和mobileNet中使用深度分離卷積對比如下:

mobileNet-v1理論分析

4.mobileNet的具體結構如下

mobileNet-v1理論分析

        差不多以上就是mobileNet的一個初步介紹,網上有些部落格可能寫的更加詳細,這裡一方面是自己了解,另外一方面是友善大家學習,若有不當之處請指教,謝謝!

繼續閱讀