问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

深度可分离卷积Dwconv

创作时间:
作者:
@小白创作中心

深度可分离卷积Dwconv

引用
CSDN
1.
https://blog.csdn.net/m0_73954489/article/details/137729265

深度可分离卷积(Depthwise Separable Convolution)是一种在深度学习中广泛应用的卷积技术,主要应用于卷积神经网络(CNN)中,以减少计算量和参数量。它将传统的卷积操作分解为两个更简单的操作:逐通道卷积(Depthwise Convolution)和逐点卷积(Pointwise Convolution)。

1. 逐通道卷积

含义:每个输入通道都有一个独立的卷积核负责处理,即卷积核的数量等于输入通道数。每个卷积核只对一个通道进行卷积操作。

本质:在不同通道上分别独立地进行特征提取。

缺点:缺少空间上的相关性,因为每个通道的特征是独立提取的。

以一个具体的例子来说明:假设输入特征图的尺寸为3x3,输入通道数CN为3,卷积核大小Kw=Kh为3,输出通道数ON也为3,输出特征图的尺寸Wo=Ho为3。

  • 参数量:Kw * Kh * CN = 3 * 3 * 3 = 27
  • 计算量:Kw * Kh * Wo * Ho * CN = 3 * 3 * 3 * 3 * 3 = 243

2. 逐点卷积

含义:使用一个1x1的卷积核对上一步得到的特征图进行深度的加权组合,产生新的特征图。卷积核的尺寸为1x1xM,其中M为输入的通道数,最终输出的通道数为N。

本质:在空间上对不同通道的特征进行加权融合,最终在同一个通道得到整合的特征。

假设输入特征图的尺寸为3x3,卷积核大小Kh=Kw为1,输入通道数M为3,输出通道数N为4,输出特征图的尺寸Wo=Ho为3。

  • 参数量:Kh * Kw * M * N = 1 * 1 * 3 * 4 = 12
  • 计算量:Kh * Kw * M * N * Wo * Ho = 1 * 1 * 3 * 4 * 3 * 3 = 108

3. 与普通卷积对比

为了更直观地理解深度可分离卷积的优势,我们将其与普通卷积进行对比。假设普通卷积的参数量为P,计算量为F。

  • 普通卷积

  • 参数量:P_r = 108

  • 计算量:F_r = 972

  • 深度可分离卷积

  • 参数量:P_dw = 27 + 12 = 39

  • 计算量:F_dw = 243 + 108 = 351

可以发现,相同的输入条件下,深度可分离卷积的参数量和计算量远小于普通卷积。这意味着在计算量相同的情况下,使用深度可分离卷积可以构建更深的网络结构,从而提取更复杂的特征。

4. 代码实现

深度可分离卷积在许多深度学习框架中都有实现,例如在TensorFlow和PyTorch中,可以通过tf.keras.layers.DepthwiseConv2Dtorch.nn.Conv2d等API来实现。具体的代码实现将在后续补充。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号