# 分组卷积

# 1.背景介绍

分组卷积最早在2012年的AlexNet中提出,当时受限于单个GPU的内存和运算能力,在通道方向上将特征图和卷积核分成组分别计算,然后再将每组卷积得到的结果后得到最终的结果。

# 2.标准卷积

卷积输入特征图shape:

标准卷积核的大小:

总共有个上述标准卷积核,标准卷积操作会将个卷积核应用到输入的特征图上,

最后得到的标准卷积输出的特征图shape为

普通卷积层参数量的计算:

C1×h1×w1×C2

普通卷积层的FLOPs公式(仅包含乘法,不包括激活/偏置/加法):

C1×C2×W2×H2×w1×h1

# 2.分组卷积

分组卷积是把输入特征图在通道这个维度上分成组,同时把卷积核也分成组,这样每个组的卷积核大小就变成了,输出的特征图在通道维度上被分成了组。

这样分组卷积相当于把输入特征图,和卷积核在通道上分成了个卷积,然后将卷积得到的结果相合并。

对于每个组的卷积:

输入特征图的shape

每个组的卷积核大小

输出的特征图的shape:

组卷积后得到的特征图在通道维度上合并得:

分组卷积层参数量的计算:

1g×C1×h1×w1×C2

分组卷积层的FLOPs公式(仅包含乘法,不包括激活/偏置/加法):

1g×C1×C2×W2×H2×w1×h1
(adsbygoogle = window.adsbygoogle || []).push({});

致谢:图片来自于百度paddle框架文档[1] (opens new window)

# 参考资料