文章目录

  • 前言
  • 一、创新改进的结构
  • 1.1 Linear bottleneck
  • 1.2 Expansion layer
  • 1.3 Inverted residuals
  • 二、MobileNetV2结构
  • 2.1 MobileNetV2网络块
  • 2.2 MobileV1与V1网络块的比较
  • 2.3 MobileNetV2网络结构
  • 三、总结



     开始之前首先学习一个单词热热身:

tailored     [ˈteɪləd]
     adj. 订做的; 合身的; 特制的; 专门的;
      v. 专门制作; 订做;

前言

论文链接:https://128.84.21.199/abs/1801.04381

MobileNet V1核心思想是采用 深度可分离卷积 操作。在相同的权值参数数量的情况下,相较标准卷积操作,可以减少数倍的计算量,从而达到提升网络运算速度的目的。其最主要的创新点可用这样一句话来概括:首先利用3×3的深度可分离卷积提取特征,然后利用1×1的卷积来扩张通道。

     但是在实际使用时, 发现深度卷积部分的卷积核比较容易训废掉:训练完之后发现深度卷积训练出来的卷积核有不少是空的:


深度学习的轻量化研究现状及展望 轻量化途径_机器学习

     在此基础上诞生了MobileNetV2。


一、创新改进的结构

1.1 Linear bottleneck

     作者通过分析指出深度卷积部分的卷积核训练废掉是由于ReLU导致的信息损耗,故将MobileNetV1中的1×1卷积后的ReLU替换成线性激活函数。至于其子网络结构稍后再放出,因为还在此基础上做了一些改进。

1.2 Expansion layer

     MobileNetV1中的深度可分离卷积是对输入的特征图直接进行DW的,而深度卷积本身没有改变通道的能力,输入多少通道输出就是多少通道。

     在网络的前几层(还未扩张通道时)输入通道很少,则DW深度卷积只能在低维度上工作,这样效果并不会很好,所以我们要“扩张”通道。既然我们已经知道PW逐点卷积也就是1×1卷积可以用来升维和降维,那就可以在DW深度卷积之前使用PW卷积进行升维(升维倍数为t,t=6),再在一个更高维的空间中进行卷积操作来提取特征;也就是说,不管输入通道数是多少,经过第一个PW逐点卷积升维之后,深度卷积都是在相对的更高6倍维度上进行特征提取。


深度学习的轻量化研究现状及展望 轻量化途径_卷积_02

1.3 Inverted residuals

     我们还想像ResNet一样复用间隔特征层的特征,所以引入了shortcut结构,ResNet和MobileNetV2网络结构对比如下:


深度学习的轻量化研究现状及展望 轻量化途径_网络_03

     可以发现,两者都采用了 1×1 -> 3 ×3 -> 1 × 1 的模式,以及都使用了Shortcut结构。但是不同点:

  • ResNet 先降维 (0.25倍)、标准卷积、再升维;
  • MobileNetV2 则是 先升维 (6倍)、深度可分离卷积、再降维。

Inverted residuals。

二、MobileNetV2结构

2.1 MobileNetV2网络块

     将以上三个创新点结合起来,就组成了MobileNetV2的网络结构。可以看到经过一系列折腾,一个普通标准的卷积层最终被变成了这么大的一块,别看这么大的一块还挺复杂,但是它整体的参数量确实比会比一个标准的卷积层少很多很多。


深度学习的轻量化研究现状及展望 轻量化途径_卷积_04

2.2 MobileV1与V1网络块的比较


深度学习的轻量化研究现状及展望 轻量化途径_卷积_05

     左边是v1的block,没有Shortcut并且1×1卷积带激活函数ReLU6;

     右边是v2的加入了1×1升维,引入Shortcut并且去掉了最后的ReLU,改为Linear。步长为1时,先进行1×1卷积升维,再进行深度卷积提取特征,再通过Linear的逐点卷积降维。将input与output相加,形成残差结构。步长为2时,因为input与output的尺寸不符,因此不添加shortcut结构,其余均一致。

2.3 MobileNetV2网络结构


深度学习的轻量化研究现状及展望 轻量化途径_深度学习_06

三、总结

     关于MobileNetV2网络结构的实验结果,概括一句话就是比V1好,具体的各个实验指标也不再赘述,仅仅学习这种轻量化网络结构的创新点即可。