欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > Separable Convolution(可分离卷积)

Separable Convolution(可分离卷积)

2024/11/20 10:19:35 来源:https://blog.csdn.net/handsomeboysk/article/details/143895771  浏览:    关键词:Separable Convolution(可分离卷积)

Separable Convolution(可分离卷积)是一种优化卷积计算的方法,将普通卷积操作分解成两个更简单的操作,以减少计算量和参数量,同时保持较高的准确性。主要有两种形式:空间可分离卷积深度可分离卷积


1. 空间可分离卷积(Spatially Separable Convolution)

普通卷积使用的是一个二维卷积核,而空间可分离卷积将其分解为两个一维卷积核:

  1. 分解方式: 将 k × k k \times k k×k 的二维卷积核分解为两个一维卷积核:

    • 一个 k × 1 k \times 1 k×1 卷积核(只在垂直方向上进行卷积)。
    • 一个 1 × k 1 \times k 1×k 卷积核(只在水平方向上进行卷积)。
  2. 优势:

    • 减少计算量:
      • 普通卷积的计算量为 k × k × C i n × H × W k \times k \times C_{in} \times H \times W k×k×Cin×H×W
      • 空间可分离卷积的计算量为 ( k × 1 + 1 × k ) × C i n × H × W (k \times 1 + 1 \times k) \times C_{in} \times H \times W (k×1+1×k)×Cin×H×W,大幅减少。
    • 更高效的参数存储。
  3. 示例:
    3 × 3 3 \times 3 3×3 卷积中,普通卷积需要 9 次乘法,而分解后只需要 3 + 3 = 6 3+3=6 3+3=6 次。


2. 深度可分离卷积(Depthwise Separable Convolution)

深度可分离卷积是目前应用最广泛的可分离卷积形式(如 MobileNet、Xception)。它将普通卷积分解为两个步骤:

  1. Depthwise Convolution(深度卷积):

    • 每个输入通道单独使用一个卷积核进行操作(不进行跨通道操作)。
    • 计算量: k × k × C i n × H × W k \times k \times C_{in} \times H \times W k×k×Cin×H×W
  2. Pointwise Convolution(逐点卷积):

    • 使用 1 × 1 1 \times 1 1×1 卷积核,对所有通道进行线性组合,产生 C o u t C_{out} Cout 个输出通道。
    • 计算量: C i n × C o u t × H × W C_{in} \times C_{out} \times H \times W Cin×Cout×H×W
  3. 计算量对比:

    • 普通卷积计算量: k × k × C i n × C o u t × H × W k \times k \times C_{in} \times C_{out} \times H \times W k×k×Cin×Cout×H×W
    • 深度可分离卷积计算量: k × k × C i n × H × W + C i n × C o u t × H × W k \times k \times C_{in} \times H \times W + C_{in} \times C_{out} \times H \times W k×k×Cin×H×W+Cin×Cout×H×W

    比较节省:
    减少比例 = 1 C o u t + k 2 C i n \text{减少比例} = \frac{1}{C_{out} + \frac{k^2}{C_{in}}} 减少比例=Cout+Cink21
    对于 C i n = C o u t C_{in}=C_{out} Cin=Cout,且 k = 3 k=3 k=3,计算量减少约 8 − 9 8-9 89 倍。

  4. 示例:
    在 MobileNet 中:

    • 普通卷积计算量: 3 × 3 × 32 × 64 × 224 × 224 3 \times 3 \times 32 \times 64 \times 224 \times 224 3×3×32×64×224×224
    • 深度可分离卷积计算量: 3 × 3 × 32 × 224 × 224 + 1 × 1 × 32 × 64 × 224 × 224 3 \times 3 \times 32 \times 224 \times 224 + 1 \times 1 \times 32 \times 64 \times 224 \times 224 3×3×32×224×224+1×1×32×64×224×224

3. 普通卷积与可分离卷积的比较

特性普通卷积空间可分离卷积深度可分离卷积
计算量较低更低
参数量较低更低
应用场景高精度模型特定场景优化轻量化网络(如 MobileNet)
复杂度无分解分解为两步分解为两步

4. 深度可分离卷积的优点

  1. 效率提升: 在相同条件下计算量和参数量大幅减少。
  2. 轻量化模型: 特别适用于移动设备或资源受限的环境。
  3. 灵活性强: 通过 Pointwise 卷积可以调整通道数,实现通道间的交互。

5. 应用

  • MobileNet 系列: 使用深度可分离卷积代替普通卷积。
  • Xception: 全面采用深度可分离卷积代替传统卷积,提升计算效率。
  • EfficientNet: 作为轻量化模型的重要组成部分,结合其他优化策略使用。

总结: 可分离卷积是一种有效的优化技术,通过降低计算复杂性,在轻量化模型中得到广泛应用,同时保持了较高的模型性能。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com