MobileNetV2: Inverted Residuals and Linear Bottlenecks
论文链接: https://arxiv.org/abs/1801.04381
一、 Problem Statement
主要提升MobileNet v1的性能。
二、 Direction
两个改进:
- Inverted Residuals
- Linear Bottlenecks
三、 Method
1. Linear Bottlenecks
文章提出了manifold of interest 两个性质:
- 如果兴趣流形在ReLU变换之后,仍然保持non-zero volume, 它对应于一个线性变换。
- ReLU能够保存关于输入流形的完整信息,但只有在输入流形出现在输入空间的低维度子空间时候。
根据这两个性质,作出一个假设:假设manifold of interest 是低维度的,我们就可以通过插入linear bottleneck layers到卷积层内捕捉manifold of interest。 实验表明,使用线性层是很重要的,因为它能够阻止非线性破坏太多的信息。我们將input bottleneck的大小和inner size的比率作为expansion ratio。
作者提出,较小的网络以稍小的expansion ratio表现得更好,较大的网络以稍大的expansion ratio表现得更好,默认使用6。
2. Inverted residuals
使用shortcut connection的动机也是提升梯度传递的能力
Inverted residual 具体如下:
我们使用ReLU6作为非线性,因为它在用于低精度计算时具有鲁棒性。
3.Model Architecture
4. V1与 V2的区别
下图表示了MobileNet V1与 V2的区别,原图来自于[1]。
- 可以看到不同点就是V2在Depthwise Convolution之前加了一个 1 × 1 1 \times 1 1×1的卷积和ReLU6。这么做的原因,是 因为Depthwise Convolution卷积由于本身的计算特性决定它自己没有改变通道数的能力,上一层给它多少通道,它就只能输出多少通道。所以如果上一层给的通道数本身很少的话,DW 也只能很委屈的在低维空间提特征,因此效果不够好。
- 此外V2去掉了第二个 PW 的激活函数。论文作者称其为 Linear Bottleneck。这么做的原因,是因为 作者认为激活函数在高维空间能够有效的增加非线性,而在低维空间时则会破坏特征,不如线性的效果好。由于第二个 PW 的主要功能就是降维,因此按照上面的理论,降维之后就不宜再使用 ReLU6 了。
四、 Conclusion
提升了MobileNet V1的性能,增加了shortcut connection 和 Linear Bottlenecks。
五、 Reference
- https://zhuanlan.zhihu.com/p/33075914