深度可分離卷積網路

2022-01-11 10:46:47 字數 907 閱讀 5853

以[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,因此卷積層的引數數...