MobileNet系列之MobileNet_v2

简介: MobileNet_v2提出了一些MobileNet_v1存在的一些问题,并在此基础上提出了改进方案。其主要贡献为提出了线性瓶颈(Linear Bottlenecks)和倒残差(Inverted Residuals)。

01Linear Bottlenecks

bf2f21b13626c1fc81fa7cfbe6d7890c.png

如上图所示,MobileNet_v2提出ReLU会破坏在低维空间的数据,而高维空间影响比较少。因此,在低维空间使用Linear activation代替ReLU。如下图所示,经过实验表明,在低维空间使用linear layer是相当有用的,因为它能避免非线性破坏太多信息。

c20e4b883d86d0a701d4b8f7293e62f2.png

  此外,如果输出是流形的非零空间,则使用ReLU相当于是做了线性变换,将无法实现空间映射,因此MobileNet_v2使用ReLU6实现非零空间的非线性激活。


   上方提出使用ReLU会破坏信息,这里提出ReLU6实现非零空间的非线性激活。看起来有些难以理解。这里提出我自己的理解。


   根据流形学习的观点,认为我们所观察到的数据实际上是由一个低维流形映射到高维空间的。由于数据内部特征的限制,一些高维中的数据会产生维度上的冗余,实际上这些数据只要比较低的维度的维度就能唯一的表示。

20201118231154648.png


图像分布是在高维空间,神经网络中使用非线性激活函数实现将高维空间映射回低维流形空间。而这里提出使用ReLU6即增加了神经网络对非零空间的映射,否则,在非零空间使用ReLU相当于线性变换,无法映射回流形低维空间。而前文提出的使用线性激活函数来代替ReLU是在已经映射后的流形低维空间。


   区别就是ReLU6是在将高维空间映射到流形低维空间时使用,Linear layer是在映射后的流形低维空间中使用。


   其使用的如下表所示


20201118231247487.png

02 Inverted Residuals


   MobileNet_v1中的结构如下左图,MobileNet_v2如下右图。



2020111823131761.png

   MobileNet_v2是在2018年发表的,此时ResNet已经出来了,经过几年的广泛使用表明,shortcut connection和Bottlenck residual block是相当有用的。MobileNet_v2中加入了这两个结构。

   但不同的是,ResNet中的bottleneck residual是沙漏形的,即在经过1x1卷积层时降维,而MobileNet_v2中是纺锤形的,在1x1卷积层是升维。这是因为MobileNet使用了Depth wise,参数量已经极少,如果使用降维,泛化能力将不足。

20201118231426373.png

   此外,在MobileNet_v2中没有使用池化来降维,而是使用了步长为2的卷积来实现降维,此外如上图所示,步长为2的block没有使用shortcut connection。

c081d2c938f38e0a8943f349bbeb724d.png

这里的t是膨胀因子,取6。

 

   Inverted residuals block 与ResNet中的residuals block对比如下图所示:

7af8320635f652bb2a30b50182495c16.png

图来源于网络


   ResNet中residual block是两端大,中间小。而MobileNet_v2是中间大,两端小,刚好相反,作者把它取名为Inverted residual block。

 

   整体结构如下图所示:


8b63d2c0ca359c85a54c81e20ac4d750.png

   论文里提到Bottleneck有19层,但其给出的结构图中却只有17层。


   MobileNet_v2相比与MobileNet_v1,参数量有所增加,主要增加在于Depth wise前使用1x1升维。此外,在CPU上的推理速度也比后者慢,但精度更高。


61e99f4791fa977ecd66114e40b7fa20.png


相关文章
|
18天前
|
算法框架/工具
使用MobileNetV3的PSPNet网络结构
使用MobileNetV3的PSPNet网络结构
9 1
|
10月前
|
机器学习/深度学习 数据挖掘 PyTorch
图像分类经典神经网络大总结(AlexNet、VGG 、GoogLeNet 、ResNet、 DenseNet、SENet、ResNeXt )
图像分类经典神经网络大总结(AlexNet、VGG 、GoogLeNet 、ResNet、 DenseNet、SENet、ResNeXt )
1869 0
图像分类经典神经网络大总结(AlexNet、VGG 、GoogLeNet 、ResNet、 DenseNet、SENet、ResNeXt )
|
11月前
|
机器学习/深度学习 编解码
EfficientNet介绍
EfficientNet介绍
103 0
EfficientNet介绍
|
12月前
|
计算机视觉
VGG的成功之处在哪
VGG的成功之处在哪
132 0
|
机器学习/深度学习 PyTorch TensorFlow
DenseNet、MobileNet、DPN…你都掌握了吗?一文总结图像分类必备经典模型(三)
DenseNet、MobileNet、DPN…你都掌握了吗?一文总结图像分类必备经典模型
171 0
|
机器学习/深度学习 人工智能 搜索推荐
DenseNet、MobileNet、DPN…你都掌握了吗?一文总结图像分类必备经典模型(四)
DenseNet、MobileNet、DPN…你都掌握了吗?一文总结图像分类必备经典模型
148 0
|
机器学习/深度学习 编解码 PyTorch
DenseNet、MobileNet、DPN…你都掌握了吗?一文总结图像分类必备经典模型(二)
DenseNet、MobileNet、DPN…你都掌握了吗?一文总结图像分类必备经典模型(二)
134 0
|
机器学习/深度学习 PyTorch 算法框架/工具
|
机器学习/深度学习 人工智能 计算机视觉
Inception-v2/v3模型
Inception-v2和Inception-v3都是出自同一篇论文《Rethinking the inception architecture for computer vision》,该论文提出了多种基于 Inception-v1 的模型优化 方法,Inception-v2 用了其中的一部分模型优化方法,Inception-v3 用了论文中提到的所有 优化方法。相当于 Inception-v2 只是一个过渡版本,Inception-v3 一般用得更多。
119 0
Inception-v2/v3模型
|
机器学习/深度学习 人工智能 计算机视觉
Inception-v4 和 Inception-ResNet
Inception-v3 结构的复杂程度以后够复杂了,但是它还有几个升级版本,就是 Inception-v4,Inception-ResNet-v1 和 Inception-ResNet-v2。这几个升级版本都出自同 一篇论文《Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning》
99 0
Inception-v4 和 Inception-ResNet

热门文章

最新文章

相关实验场景

更多