Depth-wise Convolution 和 Point-wise Convolution 以及 Depth-wise Separable Convolution


一、Depth-wise Convolution

普通卷积操作示意图:
在这里插入图片描述
Depth-wise 卷积操作示意图:
在这里插入图片描述


二、Point-wise Convolution

该卷积操作就是把卷积核的大小设置为1x1:
在这里插入图片描述

三、Depth-wise Separable Convolution

该卷积操作是把Depth-wise Convolution和Point-wise Convolution结合,能产生和普通卷积操作一样的效果:
在这里插入图片描述
该操作产生的结果和普通卷积的一样,且在大部分情况下能够显著降低参数量:

  • 情况一:

假设初始特征图为HxWxC大小,经过普通卷积3x3xC大小的卷积核,得到HxWx1的最终特征图,此时普通卷积的参数量为3x3xC;

那如果用Depth-wise Separable Convolution产生HxWx1大小的最终特征图,就要先经过Depth-wise Convolution,卷积核大小为3x3x1,一共C个;再经过Point-wise Convolution,卷积核大小为1x1xC,这样一来参数量为3x3xC + 1x1xC

这样下来Depth-wise Separable Convolution所需参数量大于普通卷积。

  • 情况二:

一般情况下,假设我们最终得到的特征图大小为HxWxN,那么普通卷积需要N个3x3xC大小的卷积核;

而Depth-wise Separable Convolution首先经过Depth-wise Convolution,需要C个3x3x1大小的卷积核;再经过Point-wise Convolution,此时需要的卷积核大小为1x1xN,总参数量为3x3xC + 1x1xN。

可以发现如果N过大的话,用Depth-wise Separable Convolution所需参数量远小于普通卷积,且能达到同样效果。

扫描二维码关注公众号,回复: 16436545 查看本文章

参考

Depth-wise Convolution and Depth-wise Separable Convolution

猜你喜欢

转载自blog.csdn.net/weixin_45453121/article/details/132585312
今日推荐