概述
不同维度的卷积实际上是卷积核的自由度不同,一维卷积卷积核只能在长度方向上进行滑窗操作,二维卷积可以在长和宽方向上进行滑窗操作,二维卷积可以在长、宽以及channel方向上进行滑窗操作。
一个卷积核运算一次得到一个值,output channel取决于卷积核的个数。
一维卷积
二维卷积
在卷积操作中我们只能限制卷积核的维度,卷积核的参数均是根据网络自主学习到的。
二维单通道卷积
二维多通道卷积
三维卷积
三维单通道卷积
这里的三维输出不是多通道导致的,而是由于卷积核在第三个维度上进行滑窗得到的(对于视频信号可能是视频的长度)。
三维多通道卷积
三维多通道的卷积核也是三维的,因此三维数据不同channel上权重是相同的,这点和二维多通道卷积不同。
深度可分离卷积
常规卷积
深度可分离卷积
参数对比
回顾一下,常规卷积的参数个数为:
N_std = 4 × 3 × 3 × 3 = 108
Separable Convolution的参数由两部分相加得到:
N_depthwise = 3 × 3 × 3 = 27
N_pointwise = 1 × 1 × 3 × 4 = 12
N_separable = N_depthwise + N_pointwise = 39
相同的输入,同样是得到4张Feature map,Separable Convolution的参数个数是常规卷积的约1/3。因此,在参数量相同的前提下,采用Separable Convolution的神经网络层数可以做的更深