0
点赞
收藏
分享

微信扫一扫

卷积神经网络(CNN)详解

卷积的计算方法:

卷积神经网络(CNN)详解_二维

步长为1的卷积的动态过程:

卷积神经网络(CNN)详解_卷积_02

三通道输入,俩个卷积核的动态计算过程:

卷积神经网络(CNN)详解_卷积_03

讲的很清楚的专栏:https://zhuanlan.zhihu.com/p/27908027,https://zhuanlan.zhihu.com/p/28173972

(太惭愧了,人家写的这么清楚都觉得力不从心转行去做产品了,我这只小辣鸡。。)

 

深度可分离卷积(depthwise separable convolitions):

Depthwise Separable Convolution是将一个完整的卷积运算分解为两步进行,即Depthwise Convolution与Pointwise Convolution。

Depthwise Convolution

不同于常规卷积操作,Depthwise Convolution的一个卷积核负责一个通道,一个通道只被一个卷积核卷积。上面所提到的常规卷积每个卷积核是同时操作输入图片的每个通道。

同样是对于一张5×5像素、三通道彩色输入图片(shape为5×5×3),Depthwise Convolution首先经过第一次卷积运算,不同于上面的常规卷积,DW完全是在二维平面内进行。卷积核的数量与上一层的通道数相同(通道和卷积核一一对应)。所以一个三通道的图像经过运算后生成了3个Feature map(如果有same padding则尺寸与输入层相同为5×5),如下图所示。

卷积神经网络(CNN)详解_卷积核_04

Depthwise Convolution完成后的Feature map数量与输入层的通道数相同,无法扩展Feature map。而且这种运算对输入层的每个通道独立进行卷积运算,没有有效的利用不同通道在相同空间位置上的feature信息。因此需要Pointwise Convolution来将这些Feature map进行组合生成新的Feature map。

Pointwise Convolution
Pointwise Convolution的运算与常规卷积运算非常相似,它的卷积核的尺寸为 1×1×M,M为上一层的通道数。所以这里的卷积运算会将上一步的map在深度方向上进行加权组合,生成新的Feature map。有几个卷积核就有几个输出Feature map。如下图所示。

卷积神经网络(CNN)详解_卷积_05

总结:depthwise separable convolution与常规卷积的区别:常规卷积每个卷积核是同时操作输入图片的每个通道,而depthwise separable convolutional包括depthwise convolution和point-wise convolutional,先使用depthwise convolution对卷积进行深度分离,也就是一个卷积核负责一个通道,一个通道只被一个卷积核卷积(缺点是:没有有效利用不同通道在相同空间位置上的feature信息,所以后面使用了point-wise convolutional进行维度扩展),然后又使用point-wise convolutional实现特征图维度扩展(卷积核尺寸1*1×M,M为上一层的通道数,进行操作时如同普通卷积,有几个卷积核就输出几个Feature Map)。

举报

相关推荐

0 条评论