文章目录
- 一、常规卷积操作
- 二、分组卷积
- 三、深度可分离卷积
一、常规卷积操作
在图中,输入的特征图大小为 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