分组卷积,最早在AlexNet中出现,由于当时的硬件资源有限,训练AlexNet时卷积操作不能全部放在同一个GPU处理,因此作者把feature maps分给多个GPU分别进行处理,最有把多个GPU的结果进行融合(参考)
3.2.1、分组卷积的优点:
1)分组卷积的参数量是正常卷积的1/N 。N为分组数,这里为3。
2)分组卷积可以看成是正常卷积的稀疏结构,可以视为一种正则。感觉优点类似与Dropout~
3)逐通道卷积可以进一步减少参数,在轻量化网络中很常用。
3.2.2、分组卷积的缺点:
数据信息只存在本组里面。通道之间的信息没有交互,存在信息的屏蔽和阻塞,不流通,从而会丢失全局通道的信息。为了克服这个问题,微软推出了一种交错式组卷积(interleaved group convolutions),使输出通道能与所有输入通道相连。
在计算资源受限制的移动端设备上,常规的卷积操作由于计算量大,经常难以满足实际运行速度的要求,这时深度可分离卷积(Depthwise Separable Convolution)就派上了用场。深度可分离卷积是由Depthwise(DW)卷积与Pointwise(PW)卷积组成。该结构和常规卷积类似,可用来提取特征,但相比常规卷积,其参数量和运算成本较低,所以在一些轻量级网络中经常用到此结构,如MobileNet、ShuffleNet。
3. 可分离卷积(参考1、参考2)
3.1 逐通道卷积
Depthwise Convolution的一个卷积核负责一个通道,一个通道只被一个卷积核卷积,这个过程产生的Feature Map通道数和输入的通道数一样。 所以,卷积核的个数等于输入的通道数即卷积核的shape为(卷积核宽,卷积核高,输入通道数)
3.2.逐点卷积(Pointwise Convolution即PW卷积)
Pointwise Convolution的运算与常规卷积非常相似,它的卷积核大小1x1xM,M为上一层的通道数,所以这里的卷积运算会将上一步的map在深度方向上进行加权组合,生成新的Feature map。有几个卷积核就有几个Feature map,卷积核的shape即为:1 x 1 x 输入通道数 x 输出通道数)
参考:深度可分离卷积_三个刺客的博客-CSDN博客_深度可分离卷积
1.分组卷积的一种极致是深度可分离卷积的DW卷积。
2.这两种卷积的方式都是为了减少参数量而产生的。
3.上面是卷积神经网络其中的两种,如想关注更多的卷积,可以往我往期的文章看看。以上是我对组卷积和深度可分离卷积的理解,如果有什么不对的地方,欢迎大家评论!!!如果觉得有用,那就点个吧