以[3,64,64]的input爲例,假設咱們要獲得[4,64,64]的output.以3x3卷積核爲例.
常規的卷及操做以下圖所示:
blog
參數量共計3 x 3 x 3 x 4 = 108.get
深度可分離卷積可分爲2個部分input
常規卷積,卷積核是做用於全部的depth方向的. depthwise conv對不一樣channel用不一樣的卷積核作卷積
獲得[3,64,64]的輸出. 此時參數共計3 x 3 x 3 = 27.io
depthwise卷積沒有考慮到同一位置不一樣channel上的數據之間的關聯.因此咱們用一個1 x 1的卷積覈對depthwise獲得的[3,64,64]輸出再作卷積.這裏作的就是常規卷積. 獲得[1,64,64]. 用4個這樣的1x1卷積核去作常規卷積. 獲得輸出[4,64,64].
以下圖所示:
這一步參數量爲3 x 1 x 1 x 4 = 12.class
深度可分離卷積一共耗費參數量爲27 + 12 = 39個.
因此能夠看出一樣是獲得[4,64,64]的feature map. 相比普通卷積的108個參數量,深度可分離卷積的方式大大減小了參數量.map
總結一下就是:channel