depthwise separable convolution,深度可变卷积
深度可变卷积把传统的卷积过程分成两步:depthwise convolution和pointwise convolution。depthwise convolution:过滤器的层数等于输入通道数,输出的featuremap的层数也就等于输入的通道数。
pointwise convolution:类似常规卷积操作,filter尺寸是1×1×M×N。M是上层输入通道数,输出featuremap数是N。
为了理解,不妨思考输入图片维度是11 × 11 × 3的情况,标准卷积3 × 3 × 3 ×16(假设stride为2,padding为1),输出为6 × 6 × 16。现在先通过一个维度是3 × 3 × 1 × 3的深度卷积(depthwise convolution),每层卷积核对应一个输入通道,得到6 × 6 × 3的中间输出,然后再通过一个维度是1 × 1 × 3 ×16的1 ×1卷积(pointwise convolution),同样得到输出为6 × 6 × 16。
矩阵运算计算量原本是11x11x3x3x3x16 =522272 ; 现在是11x11x3x3x3+11x11x3x16 = 9075,大大减小。