MobileNet 进化史: 从 V1 到 V3(V1篇)

MobileNet 进化史: 从 V1 到 V3(V1篇)

这部分内容总共由如下 3 篇文章构成。

  • MobileNet 进化史: 从 V1 到 V3(V1篇)
  • MobileNet 进化史: 从 V1 到 V3(V2篇)
  • MobileNet 进化史: 从 V1 到 V3(V3篇)
  • MobileNet实战:基于 MobileNet 的人脸表情分类

1. 前言

MobileNet V1 是 Andrew G. Howard(Google Inc.) 等人于 2017 年(其实是 2016 年先于 Xception 已经提出,但是直到 2017 年才挂到 arXiv 上)在 MobileNets: Efficient Convolutional Neural Networks for Mobile Vision
Applications 中提出的一种网络结构,这种网络结构的特点是模型小,计算速度快,适合部署到移动端或者嵌入式系统中。

MobileNet V1 的关键是用深度可分卷积(depthwise separable convolutions) 替代了传统的卷积操作。其实这里隐含了一个问题是为什么这样可以使参数变少,计算量减小?原因很简单,因为卷积操作在模型中占了绝大多数的存储和计算资源。

MobileNet 进化史: 从 V1 到 V3(V1篇)_第1张图片

上面是 AlexNet 中各个 layer 所占用的计算资源的情况,从图中可以非常清楚的看出卷积操作是占大头的,所以优化卷积操作是可以起到立竿见影的效果的。

2. 深度可分卷积

对于传统的卷积操作,比如如下的卷及操作,假设:

  • 操作前 feature size 为 H D ∗ W D ∗ M H_D * W_D * M HDWDM
  • 卷积核的 size 为 H K ∗ W K ∗ M ∗ N H_K * W_K * M * N HKWKMN
  • 卷积后 feature size 为 H A ∗ W A ∗ N H_A * W_A * N HAWAN

其中 H A = H D − H K + 2 ∗ P a d d i n g s t r i d e + 1 H_A = \frac{H_D - H_K + 2 * Padding}{stride} + 1 HA=strideHDHK+2Pa

你可能感兴趣的:(深度总结,深度学习,MobileNet,v1,v2,v3,总结)