轻量级 络(一):MobileNets

Xception

文献:Xception: Deep Learning with Depthwise Separable Convolutions
we make the following hypothesis: that the mapping of cross-channels correlations and spatial correlations in the feature maps of convolutional neural networks can be entirely decoupled.
提出以下假设:卷积神经 络特征映射中的跨通道关联和空间关联的映射可以完全解耦。(实验证明,非理论)

MobileNet

文献:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

深度可分离卷积

MobileNet的基本单元是深度可分离卷积(depthwise separable convolution),这种结构在Inception模型中已经被使用过。图1显示了如何将标准卷积2(a)分解为深度卷积(depthwise convolution)2(b)和1×1逐点卷积(pointwise convolution)2(c)。Depthwise convolution和标准卷积不同,对于标准卷积其卷积核是用在所有的输入通道上(input channels),而depthwise convolution针对每个输入通道采用不同的卷积核,就是说一个卷积核对应一个输入通道,所以说depthwise convolution是depth级别的操作。而pointwise convolution其实就是普通的卷积,只不过其采用1×1的卷积核。图2中更清晰地展示了两种操作。对于depthwise separable convolution,其首先是采用depthwise convolution对不同输入通道分别进行卷积,然后采用pointwise convolution将上面的输出再进行结合,这样其实整体效果和一个标准卷积是差不多的,但是会大大减少计算量和模型参数量。
**注意:**depthwise convolution会产生一个问题,即导致信息流通不畅,输出特征图仅包含输入特征图的一部分信息。MobileNet采用pointwise convolution解决该问题,帮助信息在通道间流通。

标准卷积与深度可分离卷积参数量、计算量的变化

输入通道数M、输出通道数N、卷积核大小DK × DK 和feature map大小DF × DF 。

标准卷积计算量: DK · DK · M · N · DF · DF

depthwise convolution计算量为:DK · DK · M · DF · DF

pointwise convolution计算量为:M · N · DF · DF

深度可分离卷积(depthwise separable convolution)总计算量为:DK · DK · M · DF · DF + M · N · DF · DF

深度可分离卷积和标准卷积计算量比值如下:

MobileNet 络结构

络第一层采用标准卷积,随后堆叠如上节所述的MobileNet基本组件。用 CONV/s2(步进2的卷积)代替 MaxPool+CONV:使得参数数量不变,计算量变为原来的 1/4 左右,且省去了MaxPool 的计算量
表1 MobileNet 络结构

两个超参数:宽度倍增器和分辨率倍增器

文章引入了两个简单的全局超参数,可以有效地在延迟和准确性之间进行权衡。这些超参数允许模型构建者根据问题的约束条件为他们的应用程序选择合适大小的模型。
采用宽度倍增器α的深度可分离卷积的计算代价为:
D K · D K · αM · D F · D F + αM · αN · D F · D F
宽度倍增器可以应用于任何模型结构,以定义一个新的更小的模型,具有合理的准确性,延迟和大小权衡。它被用来定义一个新的缩减结构,需要从头开始训练。
现在,我们可以将 络核心层的计算成本表示为具有宽度乘数α和分辨率乘数ρ的深度可分离卷积:
D K ·D K ·αM ·ρD F ·ρD F +αM ·αN ·ρD F ·ρD F

参考文献:

  1. 【深度学习MobileNet】——深刻解读MobileNet 络结构
  2. MobileNetV1 & MobileNetV2 简介

代码实现:
预测所需的已经训练好的Xception模型可以在https://github.com/fchollet/deep-learning-models/releases下载。非常方便。

  1. TensorFlow实现
  2. caffe实现
  3. 完整实现可以参见GitHub。(TensorFlow)

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月14日
下一篇 2020年5月14日

相关推荐