MobileNets 轻量级网络 从v1到v3

MobileNet v1

由谷歌2017年提出,可谓是大放异彩。深度学习的理论和实践的快速发展,项目落地越来越被更多的研究人员关注,而手机端的应用尤为重要,这就使得轻量级的网络变得至关重要,一个好的轻量级网络不但要在参数上达到轻量的需求,精度上也要表现优异。

深度可分离卷积

为什么第一个要写它?因为总结一句话,MobileNet v1就是把VGG中的卷积都换成了深度可分离卷积,就是这么的简单粗暴。

分离卷积主要被分为 空间可分离卷积深度可分离卷积

  • 空间可分离卷积: 主要是在卷积核上的操作。详细的说,是将一个33的卷积核,拆分成一个13和一个3*1。
  • 深度可分离卷积(depthwise separable Conv):其主要划分为两步 深度卷积(Depthwise Conv)和 逐点卷积(Pointwise Conv)。
  • 深度卷积其实就是将其对每个channel单独进行卷积。逐点卷积就是用1*1的Conv来进行相应的特征提取【换句话说,也就是通道数的扩张】
  • 还有一个不同是采用的是ReLU6,这个激活函数在6的时候有一个边界,论文中提到说这样“可以在低精度计算下具有更强的鲁棒性”。

MobileNet v2

不少学者也开始关注MobileNet v1,不过不少学者发现在深度卷积中,不少卷积核是空的,这也就说明有不少没有参与运算。而v2的作者认为,这种情况主要是因为ReLU的原因。也解释了ReLU在低维空间运算中会损失很多信息,而在高维空间中会保留很多有用信息
因此就提出了Linear Bottleneck。

  • Linear Bottleneck:就是把PW的ReLU6都换成了线性函数。
  • Expansion layer:然而DW(depthwise Conv)仍然没有扩张通道的能力,DW还是只能在低维度上工作,因此在DW之前加了一个PW(pointwise Conv d=6)用来**“扩张”**通道。
  • Inverted residuals:在深度可分离卷积中又加入了一个shortcut。

MobileNet v3

直接上优势:

  • 使用了NAS(神经网络架构搜索)
  • 引入基于squeeze and excitation结构的轻量级注意力模型(SE)

学习博客: https://zhuanlan.zhihu.com/p/70703846

你可能感兴趣的:(深度学习,计算机视觉,深度学习)