组卷积和深度可分离卷积

一、组卷积

1.组卷积的背景

       分组卷积,最早在AlexNet中出现,由于当时的硬件资源有限,训练AlexNet时卷积操作不能全部放在同一个GPU处理,因此作者把feature maps分给多个GPU分别进行处理,最有把多个GPU的结果进行融合(参考

组卷积和深度可分离卷积_第1张图片

 2.普通卷积和组卷积比较(参考) 

组卷积和深度可分离卷积_第2张图片3.组卷积的优点与不足

3.1 来自一位博客的(这里我进行了汇总):

组卷积和深度可分离卷积_第3张图片

组卷积和深度可分离卷积_第4张图片3.2 来自另外一个博客参考

3.2.1、分组卷积的优点:

1)分组卷积的参数量是正常卷积的1/N 。N为分组数,这里为3。

2)分组卷积可以看成是正常卷积的稀疏结构,可以视为一种正则。感觉优点类似与Dropout~

3)逐通道卷积可以进一步减少参数,在轻量化网络中很常用。

3.2.2、分组卷积的缺点:

       数据信息只存在本组里面通道之间的信息没有交互,存在信息的屏蔽和阻塞,不流通,从而会丢失全局通道的信息。为了克服这个问题,微软推出了一种交错式组卷积interleaved group convolutions),使输出通道能与所有输入通道相连。

二、深度可分离卷积

1.深度可分离卷积的背景

        在计算资源受限制的移动端设备上,常规的卷积操作由于计算量大,经常难以满足实际运行速度的要求,这时深度可分离卷积(Depthwise Separable Convolution)就派上了用场。深度可分离卷积是由Depthwise(DW)卷积与Pointwise(PW)卷积组成。该结构和常规卷积类似,可用来提取特征,但相比常规卷积,其参数量和运算成本较低,所以在一些轻量级网络中经常用到此结构,如MobileNetShuffleNet

2.普通卷积(参考1参考2)

组卷积和深度可分离卷积_第5张图片

3. 可分离卷积(参考1参考2)

3.1 逐通道卷积

        Depthwise Convolution一个卷积核负责一个通道一个通道只被一个卷积核卷积,这个过程产生的Feature Map通道数和输入的通道数一样。 所以,卷积核的个数等于输入的通道数即卷积核的shape(卷积核宽,卷积核高,输入通道数)

组卷积和深度可分离卷积_第6张图片

3.2.逐点卷积Pointwise Convolution即PW卷积

          Pointwise Convolution的运算与常规卷积非常相似,它的卷积核大小1x1xMM为上一层的通道数,所以这里的卷积运算会将上一步的map在深度方向上进行加权组合,生成新的Feature map。有几个卷积核就有几个Feature map,卷积核的shape即为:1 x 1 x 输入通道数 x 输出通道数

参考:深度可分离卷积_三个刺客的博客-CSDN博客_深度可分离卷积组卷积和深度可分离卷积_第7张图片

 4.普通卷积和可分离卷积的对比

组卷积和深度可分离卷积_第8张图片

5.深度可分离卷积的优势

         可以看出运用深度可分离卷积比普通卷积减少了所需要的参数。重要的是深度可分离卷积将以往普通卷积操作同时考虑通道和区域改变成,卷积先只考虑区域,然后再考虑通道。实现了通道和区域的分离 

三、小结

1.分组卷积的一种极致是深度可分离卷积的DW卷积。

2.这两种卷积的方式都是为了减少参数量而产生的。

3.上面是卷积神经网络其中的两种,如想关注更多的卷积,可以往我往期的文章看看。以上是我对组卷积和深度可分离卷积的理解,如果有什么不对的地方,欢迎大家评论!!!如果觉得有用,那就点个吧

你可能感兴趣的:(卷积运算,深度学习,python,卷积神经网络)