以[3,64,64]的input為例,假設我們要得到[4,64,64]的output.以3x3卷積核為例.
常規的卷及操作如下圖所示:
參數量共計3 x 3 x 3 x 4 = 108.
深度可分離卷積可分為2個部分
常規卷積,卷積核是作用於所有的depth方向的. depthwise conv對不同channel用不同的卷積核做卷積
得到[3,64,64]的輸出. 此時引數共計3 x 3 x 3 = 27.
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.
深度可分離卷積一共耗費參數量為27 + 12 = 39個.
所以可以看出同樣是得到[4,64,64]的feature map. 相比普通卷積的108個參數量,深度可分離卷積的方式大大減少了參數量.
總結一下就是:
現在深度方向對不同channel用不同卷積核做卷積.
對第一步得到的輸出用1x1的卷積核去做常規卷積.達到使用不同channel的資料的目的. 用1x1的卷積核的數量控制深度.
參考:
深度可分離卷積
下面這個文章介紹了深度可分離卷積是怎麼做的 本文的很多內容都是在這兩個文章的基礎上整理的。卷積基礎 描述乙個二維矩陣,使用row col。三維的,使用channel row col。四維則多了乙個引數 batch channel row col。batch channel row col的邏輯順序則...
深度可分離卷積
如果乙個卷積核代表乙個影象的屬性的話,上圖的方法就只能提取到乙個屬性。那麼如果想要多個屬性就需要多個卷積核 上圖中是最常見的卷積方法,使用多個卷積核來提取多個屬性。但是存在引數量過大的情況 先用三個卷積核對三個通道分別卷積,再對得到的結果進行1x1的卷積,這時候只要增加1 1卷積核的個數就能對應的增...
深度可分離卷積
3.實際應用 假設輸入層為乙個大小為64 64畫素 三通道彩色。經過乙個包含4個filter的卷積層,最終輸出4個feature map,且尺寸與輸入層相同。整個過程可以用下圖來概括 卷積層共有4個filters,每個filter有3個kernel,每個kernel的大小為3x3,因此卷積層的引數數...