论文阅读笔记:MobileNet v1

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

原文:MobileNets: Efficient Convolutional Neural Networks for MobileVision Applications

MobileNet v1

1、四个问题

  1. 要解决什么问题?
    • 在现实场景下,诸如移动设备、嵌入式设备、自动驾驶等等,计算能力会受到限制,所以本文的目标就是构建一个小且快速(small and low latency)的模型。
  2. 用了什么办法解决?
    • 提出了MobileNet架构,使用深度可分离卷积(depthwise separable convolutions)替代传统卷积。
    • 在MobileNet网络中还引入了两个收缩超参数(shrinking hyperparameters):宽度乘子(width multiplier)和分辨率乘子(resolution multiplier)。
  3. 效果如何?
    • 在一系列视觉任务如ImageNet分类、细粒度分类、目标检测等等上,显著降低模型大小的同时也取得了不错的效果。
  4. 还存在什么问题?(参考自知乎
    1. MobileNet v1的结构过于简单,是类似于VGG的直筒结构,导致这个网络的性价比其实不高。如果引入后续的一系列ResNet、DenseNet等结构(复用图像特征,添加shortcuts)可以大幅提升网络的性能。
    2. Depthwise Convolution存在潜在问题,训练后部分kernel的权值为0。

2、网络结构

2.1、Depthwise Separable Convolution

  • Depthwise Separable Convolution实质上是将标准卷积分成了两步:depthwise卷积和pointwise卷积,其输入与输出都是相同的。
  • 假设输入特征图维度为: D F × D F × M D_F \times D_F \times M D F D_F 为输入的宽/高, M M 为输入通道数。
  • 假设输出特征图维度为: D G × D G × N D_G \times D_G \times N D G D_G 为输出的宽/高, N N 为输出通道数。
  • 假设卷积核尺寸为: D k × D k D_k \times D_k D k D_k 为卷积核的宽/高。

2.1.1、标准卷积

在这里插入图片描述

  • 卷积核参数量: D K × D k × M × N D_K \times D_k \times M \times N
  • 计算量(只计算乘法): D k × D k × M × N × D F × D F D_k \times D_k \times M \times N \times D_F \times D_F
  • 计算量(FLOPS,包括乘法和加法): ( D k × D k × M + D k × D k × M 1 ) × N × D F × D F (D_k \times D_k \times M + D_k \times D_k \times M -1)\times N \times D_F \times D_F
  • 注:为简化起见,后面求解计算量时只考虑乘法,不考虑加法。

2.1.2、深度可分离卷积

  • 分为两部分:depthwise卷积和pointwise卷积。
  • depthwise卷积:对每个输入通道单独使用一个卷积核处理。
  • pointwise卷积: 1 × 1 1 \times 1 卷积,用于将depthwise卷积的输出组合起来。

在这里插入图片描述

  1. depthwise卷积:
    • 输入: D F × D F × M D_F \times D_F \times M ,输出: D F × D F × M D_F \times D_F \times M ,卷积核尺寸: D k × D k D_k \times D_k
    • 卷积核参数:分开为 M M 个通道看,每个通道都是 D k × D k × 1 × 1 D_k \times D_k \times 1 \times 1 ,共 D k × D k × M D_k \times D_k \times M
    • 计算量: D k × D k × M × D F × D F D_k \times D_k \times M \times D_F \times D_F
    • 理解:将输入的特征图(维度为: D F × D F × M D_F \times D_F \times M )看做是 M M D F × D F × 1 D_F \times D_F \times 1 的特征图;对这 M M D F × D F × 1 D_F \times D_F \times 1 的特征图分别进行普通卷积(卷积核为: D k × D k D_k \times D_k ,输入通道数为 1 1 ,输出通道数也为 1 1 )。实质上,这就是对卷积的通道数进行分组,然后对每组的特征图分别进行卷积,是组卷积(group convolution)的一种扩展,每组只有一个特征图。
  2. pointwise卷积:
    • 输入: D F × D F × M D_F \times D_F \times M ,输出: D F × D F × N D_F \times D_F \times N ,卷积核尺寸: 1 × 1 1\times 1
    • 卷积核参数: 1 × 1 × M × N 1 \times 1 \times M \times N
    • 计算量: 1 × 1 × M × N × D F × D F 1 \times 1 \times M \times N \times D_F \times D_F
    • 理解:就是 1 × 1 1 \times 1 卷积,是普通的卷积操作。
  3. 总计算量:

D k × D k × M × D F × D F + 1 × 1 × M × N × D F × D F = ( D k × D k + N ) × M × D F × D F D_k \times D_k \times M \times D_F \times D_F + 1 \times 1 \times M \times N \times D_F \times D_F \\ = (D_k \times D_k + N) \times M \times D_F \times D_F

2.1.3、标准卷积与深度可分离卷积计算量的比较

  • 只计算乘法操作:
  • 标准卷积计算量: D k × D k × M × N × D F × D F D_k \times D_k \times M \times N \times D_F \times D_F
  • 深度可分离卷积计算量: ( D k × D k + N ) × M × D F × D F (D_k \times D_k + N) \times M \times D_F \times D_F
  • 两者之比:

在这里插入图片描述

  • 通常MobileNet会使用卷积核为 3 × 3 3 \times 3 的深度可分离卷积,上面这个式子的结果就接近于 1 9 \frac{1}{9} ,大约可以比普通卷积减少了8到9倍的计算量。

在这里插入图片描述

2.2、MobileNet结构

在这里插入图片描述

2.3、网络参数、计算量分布

在这里插入图片描述

  • MobileNet的大多数计算量(约95%)和参数(约75%)都在 1 × 1 1 \times 1 卷积中,剩余的大多数参数(约24%)都在全连接层中。
  • 由于模型较小,可以减少正则化手段和数据增强,因为小模型相对不容易过拟合。

2.4、控制MobileNet模型大小的两个超参数

  1. Width Multiplier: Thinner Models
    • α \alpha 表示,该参数用于控制特征图的维数,即通道数。
    • 对于深度可分离卷积,其计算量为: D k × D k × α M × D F × D F + 1 × 1 × α M × α N × D F × D F D_k \times D_k \times \alpha M \times D_F \times D_F + 1 \times 1 \times \alpha M \times \alpha N \times D_F \times D_F
  2. Resolution Multiplier: Reduced Representation
    • ρ \rho 表示,该参数用于控制特征图的宽/高,即分辨率。
    • 对于深度可分离卷积,其计算量为: D k × D k × α M × ρ D F × ρ D F + 1 × 1 × α M × α N × ρ D F × ρ D F D_k \times D_k \times \alpha M \times \rho D_F \times \rho D_F + 1 \times 1 \times \alpha M \times \alpha N \times \rho D_F \times \rho D_F

猜你喜欢

转载自blog.csdn.net/hongbin_xu/article/details/82957426