文章目录
- 前言
- 一、创新改进的结构
- 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倍维度上进行特征提取。
1.3 Inverted residuals
我们还想像ResNet一样复用间隔特征层的特征,所以引入了shortcut结构,ResNet和MobileNetV2网络结构对比如下:
可以发现,两者都采用了 1×1 -> 3 ×3 -> 1 × 1
的模式,以及都使用了Shortcut结构。但是不同点:
- ResNet 先降维 (0.25倍)、标准卷积、再升维;
- MobileNetV2 则是 先升维 (6倍)、深度可分离卷积、再降维。
Inverted residuals。
二、MobileNetV2结构
2.1 MobileNetV2网络块
将以上三个创新点结合起来,就组成了MobileNetV2的网络结构。可以看到经过一系列折腾,一个普通标准的卷积层最终被变成了这么大的一块,别看这么大的一块还挺复杂,但是它整体的参数量确实比会比一个标准的卷积层少很多很多。
2.2 MobileV1与V1网络块的比较
左边是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网络结构
三、总结
关于MobileNetV2网络结构的实验结果,概括一句话就是比V1好,具体的各个实验指标也不再赘述,仅仅学习这种轻量化网络结构的创新点即可。