标准卷积和深度可分离卷积

一、标准卷积

1.1、定义

        标准卷积是一种在输入特征图上应用卷积核,以生成输出特征图的操作。卷积核在输入特征图上滑动,计算每个位置的点积,生成新的特征图。

1.2、计算过程

  • 输入特征图:假设输入特征图的尺寸为 H×W×C,其中 H 是高度,W 是宽度,C 是通道数。

  • 卷积核:假设使用 K个卷积核,每个卷积核的尺寸为 F×F×C,其中 F是卷积核的大小。

  • 输出特征图:输出特征图的尺寸为 H′×W′×K,其中 H′ 和 W′ 是输出特征图的高度和宽度,K 是输出通道数。

1.3、参数量

        标准卷积的计算量为:

K \times F^2 \times C \times H' \times W'

1.4、优点 

  • 特征提取:标准卷积能够有效地提取输入数据的局部特征,通过多层卷积可以提取更高级的特征。

    扫描二维码关注公众号,回复: 17612307 查看本文章
  • 参数共享:卷积核在输入特征图上滑动,共享参数,减少了模型的参数数量,提高了计算效率。

  • 平移不变性:卷积操作具有平移不变性,即对输入数据的平移变化具有一定的鲁棒性。

1.5、缺点

  • 计算量大:标准卷积的计算量较大,特别是在输入特征图和卷积核的尺寸较大时,计算成本较高。

  • 参数数量多:标准卷积的参数数量较多,特别是在输出通道数较多时,模型的复杂度较高。

 1.6、个人理解

二、深度可分离卷积

2.1、定义

        深度可分离卷积将标准卷积分解为两个独立的步骤:

  1. 深度卷积(Depthwise Convolution):对每个输入通道单独进行卷积操作,不跨通道进行卷积。

  2. 逐点卷积(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、参数量

  • 深度卷积的计算量

    F^2 \times C \times H' \times W'

  • 逐点卷积的计算量

    K \times C \times H' \times W'

  • 总计算量

    (F^2 + K) \times C \times H' \times W'

2.4、优点

  • 计算量小:深度可分离卷积的计算量显著小于标准卷积,特别是在 F 和 C 较大时。

  • 参数数量少:深度可分离卷积的参数数量也显著少于标准卷积,这使得模型更轻量,更适合在移动设备和资源受限的环境中运行。

  • 效率高:由于计算量和参数数量的减少,深度可分离卷积在训练和推理时更加高效。

2.5、个人理解

三、参考资料

【1】哔哩哔哩---面试常见问题1:DWConv深度可分离卷积

【2】知乎---CNN基础知识——卷积(Convolution)、填充(Padding)、步长(Stride)