深度可分离卷积Depthwise Separable Convoltions

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30241709/article/details/88167127

本文传送机

深度可分离卷积原理

Depthwise过程

 Pointwise过程

深度可分离卷积的特点

与传统卷积的结构区别

与传统卷积的速度区别

参数量降低

计算速度更快

将图像的区域和通道分离


深度可分离卷积原理

深度可分离卷积是MobileNet的核心,MobileNet是谷歌提出的移动端轻量化网络。

标准的卷积网络的一个3\times 3卷积核在卷积时,对应图像中的所有通道均被同时考虑。问题在于,为什么一定要同时考虑图像区域和通道?我们为什么不把通道和空间区域分开考虑?

深度可分离卷积提出了一种新的思路:对于不同的出入通道(channel)采取不同的卷积核进行卷积,它将普通的卷积操作分解为两个过程:Depthwise过程和Pointwise过程。

Depthwise过程

Depthwise是指将N \times H \times W \times C的输入分为\textup{group}=C组,然后每组做一个3 \times 3卷积。这样相当于收集了每个通道(channel)的空间特征,即depthwise特征。Depthwise卷积过程如下图所示:

Depthwise过程

 Pointwise过程

Pointwise是指对N \times H \times W \times C的输入做k1 \times 1卷积。这样相当于收集了每个点的特征,即Pointwise特征。

Pointwise过程

 Depthwise+Pointwise最终的输出也是N \times H \times W \times k

深度可分离卷积的特点

与传统卷积的结构区别

左:传统卷积结构;右:深度可分离卷积结构
  • 普通卷积的结构为:3 \times 3 Conv + BN + ReLU
  • 深度可分离卷积结构为:3 \times 3 Depthwise Conv + BN + ReLU + 1 \times 1 Pointwise Conv + BN + ReLU

与传统卷积的速度区别

参数量降低

假设输入通道(channel)为3, 要求输出的通道为256,则

  • 传统卷积直接接一个3 \times 3 \times 256的卷积核,参数量为3\times 3 \times 256=2304
  • 深度可分离卷积分为两部分:
    • Depthwise卷积参数量为:3\times 3 \times 3=27
    • Pointwise卷积参数量为:1 \times 1 \times 256=256
    • 深度可分离卷积的总参数量为:27+256=283

计算速度更快

对比乘法运算次数:

  • 传统卷积的乘法计算次数为:H \times W \times C \times k \times 3 \times 3
  • 深度可分离卷积乘法计算次数分为两部分:
    • Depthwise卷积的乘法计算次数为:H \times W \times C \times 3 \times 3
    • Pointwise卷积的乘法计算次数为:H \times W \times C \times k
    • 深度可分离卷积的总乘法计算次数为:H \times W \times C \times 3 \times 3+H \times W \times C \times k
  • 深度可分离卷积将传统卷积的计算量压缩为:\frac{H \times W \times C \times 3 \times 3+H \times W \times C \times k}{H \times W \times C \times k \times 3 \times 3} = \frac{1}{k}+\frac{1}{9}

将图像的区域和通道分离

深度可分离卷积同时考虑图像的区域和通道(深度可分离卷积首先只考虑区域,然后再考虑通道),实现了图像的区域和通道的分离。

CONTACT INFORMATION

E-mail: [email protected]

QQ: 46611253

猜你喜欢

转载自blog.csdn.net/qq_30241709/article/details/88167127