Conv2d中的group参数:分组卷积是什么?

直观理解

用一幅图就可以很直观的理解了:
Conv2d中的group参数:分组卷积是什么?_第1张图片
如上图,左边是常规卷积,假设input_features[1, 12, Hi, Wi], output_features[1, 6, Ho, Wo],此时需要的kernel[12, 6, K, K], 卷积核的总参数量为126KK;右边为分组卷积,分组即将input_features进行分组,假设这里将input_features分为三组,每组有四个维度,那么每一组的input_features[1, 4, Hi, Wi], 输出的output_features[1, 2, Ho, Wo],此时每组需要的Kernel[4, 2, K, K], 每组的卷积核参数总量为42KK, 一共有三组,所以分组卷积时卷积核总的参数量为42KK3。参数量是常规卷积的1/3。假设分组卷积分为G组,那么参数量就变为常规卷积的1/G。

分组卷积的作用

  • 减少参数量
  • 有时候可以起到正则化的效果
  • Depthwise Convolution,参见MobileNet和Xception等

深度可分离卷积

当分组数量等于输入map数量,输出map数量也等于输入map数量,即G = N = C , N 个卷积核每个尺寸为1 * K * K时,分组卷积就变成了深度卷积。(用深度卷积主要进行像素的融合)
Conv2d中的group参数:分组卷积是什么?_第2张图片

三种卷积关系

Conv2d中的group参数:分组卷积是什么?_第3张图片

你可能感兴趣的:(深度学习,深度学习,卷积神经网络,计算机视觉,机器学习)