複製鏈接
請複製以下鏈接發送給好友

深度可分卷積

鎖定
深度可分卷積(depthwise separable convolution)是卷積神經網絡中對標準的卷積計算進行改進所得到的算法,其通過拆分空間維度和通道(深度)維度的相關性,減少了卷積計算所需要的參數個數,並在一些研究中被證實提升了卷積核參數的使用效率 [1] 
深度可分卷積的原型可認為來自於卷積神經網絡中的Inception模塊,其卷積計算分為兩部分,首先對通道(深度)分別進行空間卷積(depthwise convolution),並對輸出進行拼接,隨後使用單位卷積核進行通道卷積(pointwise convolution)以得到特徵圖 [1] 
在應用方面,深度可分卷積被用於微型神經網絡的搭建,也被用於大規模卷積神經網絡的結構優化。使用深度可分卷積的深度學習算法包括Xception和MobileNet [1-2] 
中文名
深度可分卷積
外文名
depthwise separable convolution
類    型
卷積算法
提出者
François Chollet
提出時間
2017年
學    科
人工智能,機器學習

目錄

深度可分卷積理論

深度可分卷積的基本假設,是卷積神經網絡中特徵圖的空間維和通道(深度)維是可以解耦(decouple)的。標準的卷積計算使用權重矩陣實現了空間維和通道維特徵的聯合映射(joint mapping),但代價是高計算複雜度、高內存開銷和大量的權重係數 [1]  [3]  。在觀念上深度可分卷積通過對空間維和通道維分別進行映射並將結果進行組合,在基本保留卷積核表徵學習(representation learning)能力的同時減少了權重係數的個數。考慮輸入和輸出通道數的差異,深度可分卷積的權重數約為標準卷積權重數的10%至25% [1]  。一些使用深度可分卷積搭建的卷積神經網絡,例如Xception,在ImageNet數據集圖像識別任務中的表現要優於隱含層權重相同,但使用標準卷積和Inception模塊的Inception v3,因此深度可分卷積也被認為提升了卷積核參數的使用效率 [1] 

深度可分卷積算法

深度可分卷積分為兩部分,首先使用給定的卷積核尺寸對每個通道分別卷積並將結果組合,該部分被稱為depthwise convolution,隨後深度可分卷積使用單位卷積核進行標準卷積並輸出特徵圖,該部分被稱為pointwise convolution [1] 
解釋性的例子
假設卷積核輸入端的特徵圖大小為(4x4)x64,輸出端的大小為(3x3)x128,卷積核尺寸為(2x2),單位步長和無填充,則深度可分卷積首先使用64個(2x2)x1的卷積核在每個通道分別卷積,並組合得到(3x3)x64的張量,隨後使用128個(1x1)x64的單位卷積核輸出結果,所需的參數總量為8448;若使用標準卷積,則128個(2x2)x64的卷積核所需的參數總量為32768,是前者的4倍左右 [3] 
參考資料
  • 1.    Chollet, F., 2017. Xception: Deep learning with depthwise separable convolutions. arXiv preprint, pp.1610-02357.
  • 2.    Howard, A.G., Zhu, M., Chen, B., Kalenichenko, D., Wang, W., Weyand, T., Andreetto, M. and Adam, H., 2017. Mobilenets: Efficient convolutional neural networks for mobile vision applications. arXiv preprint arXiv:1704.04861.
  • 3.    Pandey, A., depth-wise convolution and depth-wise separable convolution  .A Medium Corporation.2018-9-9[引用日期2019-07-07]