使用了ConvolutionDepthWise對空間信息和深度信息進行去耦:
簡單描述一下ConvolutionDepthWise:
深度可分離卷積結構(depthwise separable convolution)計算復雜度分析
https://zhuanlan.zhihu.com/p/28186857
這個例子說明了什么叫做空間可分離卷積,這種方法並不應用在深度學習中,只是用來幫你理解這種結構。
在神經網絡中,我們通常會使用深度可分離卷積結構(depthwise separable convolution)。
這種方法在保持通道分離的前提下,接上一個深度卷積結構,即可實現空間卷積。接下來通過一個例子讓大家更好地理解。
假設有一個3×3大小的卷積層,其輸入通道為16、輸出通道為32。具體為,32個3×3大小的卷積核會遍歷16個通道中的每個數據,從而產生16×32=512個特征圖譜。進而通過疊加每個輸入通道對應的特征圖譜后融合得到1個特征圖譜。最后可得到所需的32個輸出通道。
針對這個例子應用深度可分離卷積,用16個3×3大小的卷積核分別遍歷16通道的數據,得到了16個特征圖譜。在融合操作之前,接着用32個1×1大小的卷積核遍歷這16個特征圖譜,進行相加融合。這個過程使用了16×3×3+16×32×1×1=656個參數,遠少於上面的16×32×3×3=4608個參數。
這個例子就是深度可分離卷積的具體操作,其中上面的深度乘數(depth multiplier)設為1,這也是目前這類網絡層的通用參數。
這么做是為了對空間信息和深度信息進行去耦。從Xception模型的效果可以看出,這種方法是比較有效的。由於能夠有效利用參數,因此深度可分離卷積也可以用於移動設備中。
src convolution
input output
M*N*Cin M*N*Cout
16*3*3*32
depthwise separable convolution
input output1 output2
M*N*Cin M*N*Cin M*N*Cout
16*3*3 16*32*1*1
特點2:后面搞了一個全局平均池化操作:(39條消息) 全局平均池化_u012370185的博客-CSDN博客_平均池化
