【计算复杂度】普通卷积 VS 深度可分离卷积
深度可分离卷积(Depthwise Separable Conv)降低了高维操作成本,其计算复杂度是普通卷积的 1/k²(k为卷积核大小)。
例:输入是 RGB 图像(三通道),输入特征图大小为:H×W×C_in,输出特征图通道数为:C_out ,卷积核大小为:K×K
普通卷积
1.对所有 C_in 个通道分别做K×K 卷积;
2.再将结果加和,生成一个输出通道;
每个输出通道的计算量:K×K×C_in×H×W
总计算量 :
C_out × K×K × C_in × H × W
深度可分离卷积
深度可分离卷积分为Depthwise Convolution(逐通道卷积)与.Pointwise Convolution(逐点卷积)两个部分。
1.Depthwise Convolution(逐通道卷积)
每个输入通道自己用一个小卷积核处理(不与别的通道交互)输出仍然是 C_in 个通道。
Depthwise计算量:K×K×H×W×C_in
2.Pointwise Convolution(逐点卷积)
使用 1×1 卷积,对每个像素的 C_in 维向量做线性组合,生成 C_out 通道。
Pointwise计算量:
1×1×C_in×H×W×C_out
假设:输出通道数 C_out = N × C_in
方法 | 卷积核大小 | 计算量比约 | 实际节省 |
---|---|---|---|
深度可分离卷积(k=3) | 3×3 | ≈ 1/9 | 快 8–9 倍 |