Group_conv_and_DW

一、常规卷积操作

在图中,输入的特征图大小为 H * W * 4 卷积核个数为 2 个,每个卷积核的大小为 K * K * 4 输出的特征图大小为 H' * W' * 2

二、分组卷积

!!!! 常规卷积就是组数为 1 的分组卷积

将输入的特征图分为两组,每组的大小为 H * W * 2 那么每组中就只需要一个卷积核,且这个卷积核的大小为 K * K * 2 但是输出的特征图大小依旧是 H' * W' * 2

这样就达到了减少计算量的目的

缺点和解决方案:对于需要考虑所有输入特征图信息的情况,分组卷积会降低模型的性能,对于这个问题,常常在两个分组卷积之间加入Channel_Shuffle模块打乱通道顺序,从而实现不同分组间的信息交换。

总体上来看如下图所示

三、深度可分离卷积

常规的卷积过程

对于一张5×5像素、三通道彩色输入图片(shape为5×5×3)。经过3×3卷积核的卷积层(假设输出通道数为4,则卷积核shape为3×3×3×4),最终输出4个特征图

此时,卷积层共4个卷积核,每个卷积核有3个通道,每个通道的大小为3×3。因此卷积层的参数数量可以用如下公式来计算: N_std = 4 × 3 × 3 × 3 = 108

深度可分离卷积有两个过程,第一步是逐通道卷积

卷积层的参数数量:N_depthwise = 3 × 3 × 3 = 27

第二步是逐点卷积

其中的卷积核大小为 1 * 1 * 3 * 4

N_pointwise = 1 × 1 × 3 × 4 = 12

那么总参数只有 N_depthwise + N_pointwise = 39