通道可分离卷积 depth-wise separable convolution

通道可分离卷积

文章目录

  • 通道可分离卷积
    • 正常卷积回顾
    • 通道可分离卷积

通道分离卷积,depthwise separable convolution,也叫深度可分离卷积,是MobileNet系列的主要特点,也是其发挥轻量级作用的主要因素。

通道可分离卷积分为逐通道卷积和逐点卷积。逐通道卷积,Depthwise Convolution,卷积核只有一层(c=1),输入特征的一个通道与一个卷积核相乘得到输出特征的一个通道。

逐点卷积就是1x1卷积,可以带来通道方向上的信息交流,并且改变输出特征的通道数。

一些博客:
https://zhuanlan.zhihu.com/p/92134485
https://blog.csdn.net/Chunfengyanyulove/article/details/91358187
https://zhuanlan.zhihu.com/p/323346888

正常卷积回顾

下图中输入特征为5x5,卷积核一共的weights数量为:3x3x3x4=108

通道可分离卷积 depth-wise separable convolution_第1张图片

通道可分离卷积

  1. 逐通道卷积 Depthwise Convolution

如上所述,一个卷积核负责一个通道,叠加得到最终的特征。

weights数为:3x3x3=27,是正常卷积的1/4

它的缺点是:无法改变输出特征的通道数,而且缺少通道(即深度)之间的交流
通道可分离卷积 depth-wise separable convolution_第2张图片

  1. 逐点卷积 Pointwise Convolution

由于depth-wise convolution有以上的缺点,我们在depth-wise之后再引入point-wise卷积,它就是一个1x1卷积,没什么好说的,过程如下。point-wise卷积可以带来不同通道之间的交流,还可以改变输出特征的通道数。但是,虽然point-wise卷积有不同通道之间的交流,此时没有空间上的交流,所以比起正常卷积还是略差。

weights数为:1x1x3x4=12

通道可分离卷积 depth-wise separable convolution_第3张图片将两部分的weights加起来,Separable Convolution的参数个数是常规卷积的约1/3,因此,在参数量相同的前提下,采用Separable Convolution的神经网络层数可以做的更深。

你可能感兴趣的:(深度学习,cnn,深度学习)