一、标准卷积
1.1、定义
标准卷积是一种在输入特征图上应用卷积核,以生成输出特征图的操作。卷积核在输入特征图上滑动,计算每个位置的点积,生成新的特征图。
1.2、计算过程
-
输入特征图:假设输入特征图的尺寸为 H×W×C,其中 H 是高度,W 是宽度,C 是通道数。
-
卷积核:假设使用 K个卷积核,每个卷积核的尺寸为 F×F×C,其中 F是卷积核的大小。
-
输出特征图:输出特征图的尺寸为 H′×W′×K,其中 H′ 和 W′ 是输出特征图的高度和宽度,K 是输出通道数。
1.3、参数量
标准卷积的计算量为:
1.4、优点
-
特征提取:标准卷积能够有效地提取输入数据的局部特征,通过多层卷积可以提取更高级的特征。
-
参数共享:卷积核在输入特征图上滑动,共享参数,减少了模型的参数数量,提高了计算效率。
-
平移不变性:卷积操作具有平移不变性,即对输入数据的平移变化具有一定的鲁棒性。
1.5、缺点
-
计算量大:标准卷积的计算量较大,特别是在输入特征图和卷积核的尺寸较大时,计算成本较高。
-
参数数量多:标准卷积的参数数量较多,特别是在输出通道数较多时,模型的复杂度较高。
1.6、个人理解
二、深度可分离卷积
2.1、定义
深度可分离卷积将标准卷积分解为两个独立的步骤:
-
深度卷积(Depthwise Convolution):对每个输入通道单独进行卷积操作,不跨通道进行卷积。
-
逐点卷积(Pointwise Convolution):使用 1×1卷积核对深度卷积的输出进行通道混合,生成新的特征图。
2.2、计算过程
深度卷积:
-
输入特征图:假设输入特征图的尺寸为 H×W×C,其中 H 是高度,W 是宽度,C 是通道数。
-
卷积核:使用 C 个卷积核,每个卷积核的尺寸为 F×F×1。
-
输出特征图:输出特征图的尺寸为 H′×W′×C
逐点卷积:
-
输入特征图:深度卷积的输出特征图,尺寸为 H′×W′×C。
-
卷积核:使用 K个 1×1卷积核,每个卷积核的尺寸为 1×1×C。
-
输出特征图:输出特征图的尺寸为 H′×W′×K。
2.3、参数量
-
深度卷积的计算量:
-
逐点卷积的计算量:
-
总计算量:
2.4、优点
-
计算量小:深度可分离卷积的计算量显著小于标准卷积,特别是在 F 和 C 较大时。
-
参数数量少:深度可分离卷积的参数数量也显著少于标准卷积,这使得模型更轻量,更适合在移动设备和资源受限的环境中运行。
-
效率高:由于计算量和参数数量的减少,深度可分离卷积在训练和推理时更加高效。
2.5、个人理解
三、参考资料
【1】哔哩哔哩---面试常见问题1:DWConv深度可分离卷积
【2】知乎---CNN基础知识——卷积(Convolution)、填充(Padding)、步长(Stride)