深度学习_卷积神经网络_分组卷积

分组卷积介绍

分组卷积(Group Convolution)最早出现在AlexNet网络中,分组卷积被用来切分网络,使其能在2个GPU上并行运行。

接下来我们看下面的图来分析分组卷积和普通卷积的区别:

在这里插入图片描述

普通卷积进行运算的时候,如果输入feature map尺寸是 C × H × W C\times H \times W C×H×W,卷积核有N个,那么输出的feature map与卷积核的数量相同也是N个,每个卷积核的尺寸为 C × K × K C\times K \times K C×K×K,N个卷积核的总参数量为 N × C × K × K N \times C \times K \times K N×C×K×K

分组卷积的主要对输入的feature map进行分组,然后每组分别进行卷积。如果输入feature map尺寸是 C × H × W C\times H \times W C×H×W,输出feature map的数量为N个,如果我们设定要分成G个group,则每组的输入feature map数量为 C G \frac{C}{G} GC,则每组的输出feature map数量为 N G \frac{N}{G} GN,每个卷积核的尺寸为 C G × K × K \frac{C}{G} \times K \times K GC×K×K,卷积核的总数仍为N个,每组的卷积核数量为 N G \frac{N}{G} GN,卷积核只与其同组的输入map进行卷积,卷积核的总参数量为 N × C G × K × K N \times \frac{C}{G} \times K \times K N×GC×K×K易得总的参数量减少为原来的 1 G \frac{1}{G} G1

分组卷积的作用

  1. 分组卷积可以减少参数量。
  2. 分组卷积可以看成是稀疏操作,有时可以在较少参数量的情况下获得更好的效果(相当于正则化操作)。
  3. 当分组数量等于输入feature map数量时,输出feature map数量也等于输入feature map数量,这时分组卷积就成了Depthwise卷积,可以使参数量进一步缩减。