深度可分卷積(deepthwise separable convolution)是卷積神經網路中對標準的卷積計算進行改進所得到的算法,其通過拆分空間維度和通道(深度)維度的相關性,減少了卷積計算所需要的參數個數,並在一些研究中被證實提升了卷積核參數的使用效率。
深度可分卷積的原型可認為來自於卷積神經網路中的Inception模組,其卷積計算分為兩部分,首先對通道(深度)分別進行空間卷積(depthwise convolution),並對輸出進行拼接,隨後使用單位卷積核進行通道卷積(pointwise convolution)以得到特徵圖。
在套用方面,深度可分卷積被用於微型神經網路的搭建,也被用於大規模卷積神經網路的結構最佳化。使用深度可分卷積的深度學習算法包括Xception和MobileNet。
基本介紹
- 中文名:深度可分卷積
- 外文名:deepthwise separable convolution
- 類型:卷積算法
- 提出者:François Chollet
- 提出時間:2017年
- 學科:人工智慧,機器學習
理論,算法,
理論
深度可分卷積的基本假設,是卷積神經網路中特徵圖的空間維和通道(深度)維是可以解耦(decouple)的。標準的卷積計算使用權重矩陣實現了空間維和通道維特徵的聯合映射(joint mapping),但代價是高計算複雜度、高記憶體開銷和大量的權重係數。在觀念上深度可分卷積通過對空間維和通道糠充驗閥維分別進行映射並將結果進行組合,在基臭棗本保留卷積核的表征學習(representation learning)能力的同時減少了權重係數的個數。考慮輸入和輸出通道數的差異,深度可分卷積的權重數約為標準卷積權重數的10%至25%。一些使用深度可分卷積搭建的卷積神經網路,例如Xception,在ImageNet數據集的圖像識別任務中的表現要由於隱含層權重相同,但使用標準卷積和Inception模組的Inception v3,因此深度可分卷積悼拔汗霸也被認為提升了卷積核參數的使用效率。
算法
參見:卷積神經網路
深度可分卷積分為兩部分,首先使用給定的卷積核尺寸對每個通道分別卷積洪跨愉並將結果組合,該部分被稱為depthwise convolution,隨後深度可分卷積使用單位卷積核進行標準卷積並輸出特徵圖,該部分被稱為pointwise convolution。
解釋性的例跨少察子
假設卷積櫃檯求核輸入端的特徵圖大小為(4x4)x64,輸出端的大小為(3x3)x128,卷積核尺寸為(2x2),單位步長和無填充,則深度可分卷積首先使用64個(2x2)x1的剃匪探卷積核在每個通道分別卷積,並組合得到(3x3)x64的張量,隨後使用128個(1x1)x64的單位卷積核輸出結果,所需的參數總量為8448;若使用標準卷積,則128個(2x2)x64的卷積核所需的參數總量為32768,是前者的4倍左右。