Abstract
Depthwise 卷积与 Pointwise 卷积,合起来被称作 Depthwise Separable Convolution, 该结构和常规的卷积操作类似,可以用来提取特征,但相比于常规的卷积操作,其参数量和运算成本比较低,所以在一些轻量级网络中会碰到如此结构。
常规卷积操作
对于一张 5x5 像素,三通道彩色输入图片,经过 3x3x4 卷积核的卷积层,最终会输出4个 feature map。
Depthwise Separable Convolution
Depthwise Separable Convolution 是将一个完整的卷积运算分解为两步运行,即 Depthwise 与 Pointwise。
Depthwise Convolution
不同于常规的操作,Depthwise convolution 的一个卷积核只负责一个通道,一个通道只被一个卷积核卷积。同样是对一张5x5像素,3通道彩色输入图片,DC 首先先经过第一次卷积运算,DW 完全是在二维平面上内进行,卷积核的数量与上一层的通道数相同。所以一个三通道的图像经过运算后生成了3个 Feature map。这里其实最终的维数应该是3x3,因为每一个卷积都会作用一次,所以最终是3x3维度。
Pointwise Convolution
Pointwise convolution 运算则是常规的运算,它的卷积核的尺寸为 1x1xM,M 为需要得到的最终feature map 数量,所以这里的卷积运算会将上一步的 map 在深度方向上进行加权组合,生成新的 feature map,总共为M 维度。操作方法就是先 concate,然后再用1x1的卷积形成1维的。也可以用1x1去先卷积,然后将不同feature map进行add。
