『图解』深度可分离卷积

Posted K同学啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了『图解』深度可分离卷积相关的知识,希望对你有一定的参考价值。

深度可分离卷积其实是一种可分解卷积操作(factorized convolutions)。其可以分解为两个更小的操作:depthwise convolution 和 pointwise convolution。

(1)标准卷积

下面先学习标准的卷积操作:

输入一个12123的一个输入特征图,经过 553的卷积核得到一个881的输出特征图。如果我们此时有256个卷积核,我们将会得到一个88256的输出特征图。

以上就是标准卷积做的活,那么深度卷积和逐点卷积呢?

(2)深度卷积

与标准卷积网络不一样的是,这里会将卷积核拆分成单通道形式,在不改变输入特征图像的深度的情况下,对每一通道进行卷积操作,这样就得到了和输入特征图通道数一致的输出特征图。如上图,输入12123 的特征图,经过5513的深度卷积之后,得到了88*3的输出特征图。输入和输出的维度是不变的3,这样就会有一个问题,通道数太少,特征图的维度太少,能获得足够的有效信息吗?

(3)逐点卷积

逐点卷积就是1*1卷积,主要作用就是对特征图进行升维和降维,如下图:

在深度卷积的过程中,我们得到了883的输出特征图,我们用256个113的卷积核对输入特征图进行卷积操作,输出的特征图和标准的卷积操作一样都是88256了。

标准卷积与深度可分离卷积的过程对比如下:

(4)为什么要用深度可分离卷积?

深度可分离卷积可以实现更少的参数,更少的运算量。

以上是关于『图解』深度可分离卷积的主要内容,如果未能解决你的问题,请参考以下文章

深度可分离卷积网络Xception 网络解析

深度可分离卷积--超详细介绍

深度可分离卷积神经网络与卷积神经网络

深度可分离卷积(depthwise separable convolution)参数计算

「深度学习一遍过」必修14:基于pytorch研究深度可分离卷积与正常卷积的性能差异

针对移动端与嵌入式视觉应用的卷积神经网络MobileNet系列解析