分组卷积计算量_分解卷积的一些方法

分组卷积计算量_分解卷积的一些方法_第1张图片

目录

  • depth-wise conv
  • gourp conv
  • channel-wise conv

传统卷积中,假设输入通道数n,大小

,输出通道数m,卷积核大小
,步长为1的情况下,计算量为
,参数量为
,造成的计算量和参数量非常大。因此衍生出一些用于降低模型大小和计算量的方法,本文对其中三个方法进行简单介绍。

depth-wise convolution

MobileNets是为移动设备设计的网络,该模型的核心是名为depth-wise separable convolution的卷积层。它将传统卷积分解为一个depth-wise convolution和一个1x1卷积。

分组卷积计算量_分解卷积的一些方法_第2张图片

对一个大小为

的输入图,传统的方法是使用大小为
的卷积核进行卷积。

而depth-wise separable convolution则首先使用大小为

的卷积核进行depth-wise convolution。具体来说,在depth-wise convolution中,n个输入通道中的每一个都有相应的卷积核,两两进行卷积。得到的输出通道数为n,如果stride为1且padding为same的话,大小就是

接下来再进行1x1卷积,卷积核为

,得到
的最终输出。

这种方法的计算量为

,参数大小为

可以发现参数量和计算量都大幅下降。

但是可以发现仍然没有规避一个巨大的

,在现代网络通道数动辄512、1024的情况下,仍然有优化余地。

group convolution

group convolution的历史就比较早了,在AlexNet中就有。

分组卷积计算量_分解卷积的一些方法_第3张图片

group convolution就是把输入特征图分为g组,然后将这g个组分别进行卷积。道理很简单。

我们假设输入通道数和输出通道数都能被g整除,那么计算量就是

,参数量是

group convolution的缺点是,每个group之间的特征不进行交换,会造成性能下降。

后面有ShuffleNet对group convolution进行改进,就是在卷积完成后加入一个channel shuffle。我看其他人写的材料称之为“均匀地打乱”,这样接下来进行group convolution时,每一个group的输入不是只来自相邻组,这样就实现了特征融合。

分组卷积计算量_分解卷积的一些方法_第4张图片

channel-wise convolution

近日阅读paper,发现一个

的式子用在动态生成卷积核的简化上。 说
代表channel-wise convolution。查资料看到一篇18年的paper定义了它,但是写得有点晦涩,中文网络反而没有其他解释。因此在对paper进行努力阅读理解的过程中写了这些东西。

首先我们从特例开始。输入

大小的特征图,输出通道为m。那么输入可以平铺为
(假设
为整数)。此时channel-wise convolution就是对这个平铺的特征图的普通1x1卷积。

分组卷积计算量_分解卷积的一些方法_第5张图片
特例时的channel wise convolution,深色部位代表卷积核窗口

当输入特征图大小不为1时,卷积核就在channel维度上移动,卷积核窗口内每一个元素都落在不同channel的相同位置上。下图展示的是通道数n=9,输入宽度为2的输入特征图,大小为4的卷积核在上面滑动。

分组卷积计算量_分解卷积的一些方法_第6张图片
非特例时的channel-wise convolution

channel-wise convolution的卷积核为公用的,大小为

的卷积核,代表着参数量也仅为
。它的计算量为
,规避了 巨大的
,效率比较高。

参考文献

  1. Gao, Hongyang, Zhengyang Wang, and Shuiwang Ji. "ChannelNets: Compact and efficient convolutional neural networks via channel-wise convolutions."Advances in Neural Information Processing Systems. 2018.
  2. "MobileNets." 机器之心, 23 Feb. 2020, MobileNets.
  3. "CNN模型之ShuffleNet." 知乎专栏, 23 Feb. 2020, 小小将:CNN模型之ShuffleNet.
  4. "Group Convolution分组卷积,以及Depthwise Convolution和Global Depthwise Convolution - shine-lee - 博客园." 23 Feb. 2020, Group Convolution分组卷积,以及Depthwise Convolution和Global Depthwise Convolution.

你可能感兴趣的:(分组卷积计算量)