論文:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
代碼:GitHub可搜Caffe、Tensorflow等版本
MobileNet是一種針對於移動端的輕便型深度網絡,下圖是該網絡的一種效果圖
相對於傳統的卷積神經網絡,MobileNet主要是對卷積運算進行了改進,得到了文中提出的深度可分離卷積
(Depthwise Separable Convolution),其主要由DW和PW卷積組成。DW卷積是針對輸入特徵圖的每一個通道
採用一個卷積核進行卷積運算,即卷積核個數爲輸入通道數M。DW對應的不包含加法運算和偏置項的運算量
爲: Dk * Dk *M*Df*Df,其中Dk表示輸入feature map高和寬,Df表示輸出feature map大小。PW卷積採用了大小
爲1X1的卷積覈對輸入feature map的各個通道進行連接,其乘項的複雜度爲:M*N*Df*Df,其中N爲輸出通道數。
故深度可分離卷積的整體乘項複雜度爲: Dk * Dk *M*Df*Df+M*N*Df*Df。其相對於傳統卷積運算降低的計算參數
量如下:
而MobileNet的網絡結構依然採用了目前比較通用和流行的結構,即每次卷積運算後面會接一個BN和ReLU層,具體
如下所示:
在MobileNet整體結構的基礎之上,文中又引入了兩個參數:寬度乘數(Width Multiplier) a和分辨率乘數(Resolution
Multiplier)b。它們依次作用於網絡各層的通道和輸入圖片的尺寸上,從而使每層的計算複雜度變爲:
Dk * Dk *aM*bDf*bDf+aM*aN*bDf*bDf
具體實驗部分可參照原論文,這裏便不再贅述。
想了解更多CV知識可以掃碼關注公衆號