论文阅读——Searching for MobileNetV3

摘要

本文基于NAS提出了MobileNetv3的两个版本(Large&Small),分别适用于资源不同的嵌入式设备。

以及在分割任务中提出了一种高效的轻量级空间金字塔池化策略(Lite Reduced ASPP).


Section I



设计轻量级网络对神经网络在移动端、嵌入式设备中的应用至关重要。一方面,用户无需将私人数据传至云端服务器,保护了个人隐私,另一方面低时延高效率的轻量级网络也提升了用户体验,也减少了网络推断对设备的耗能。



本文提出的MobileNetv3设计了一大一小两种类型,适用于不同硬件资源的平台。主要工作总结如下:



(1)采用互补网络搜索策略(complementary search)确定网络结构
-module level&filter level


(2)提出了一种新的适用于移动端的非线性激活方式
-h-swish


(3)一种高效的网络结构
-MobileNetv3


(4)一种新的分割网络解码器-LR-ASPP





Section II Related Work



近年来如何权衡网络精度与效率一直是一个热门话题,前人也在这方面做了大量工作。
如SqueezeNet通过1X1conv以及SE模块完成模型的压缩,近年来还有聚焦于如何减少乘累加操作、降低时延等。
基于增强学习对网络架构的搜索也逐渐从cell级演变至block级的搜索;此外还有网络剪枝、网络蒸馏、量化等网络精简手段。





Section III 高效的轻量级模块



从MobileNetv1引入深度可分离卷积,将传统聚氨基分为DW和PW两步进行;



到MobileNetv2提出了LinearBottleneck以及Inverted Residual connection,通过将输入映射到更高维度后再进行卷积,增加模型的表达能力。







在这里插入图片描述




MnasNet在MobileNetv2的基础上引入了注意力机制;
ShuffleNet则提出了group convolution以及channel shuffle。





在MobileNetv3中,则综合利用了SE Module,swish非线性激活以及NAS等高效设计。




Section IV Network Search





MobileNetv3很重要的一点是使用了网络结构搜索,对整体结构和层内结构(通过NetAdapt算法)进行了互补搜索。
Part A Platform-Aware for Block-wise search






使用了同RNN同样的搜索空间。






Part B NetAdapt for Layer-wise Search







在filter层面通过NetAdapt算法确定每层filter的数量。
两种搜索方式会迭代进行直到优化后的网络结构满足延时的要求。
这一部分等我学了NAS再来补充吧= =。
这部分真的要好好看看不要轻易乱说







Section V 网络结构优化








主要提出了一种新的非线性激活方式-h-swish









Part A










经过网络搜索后确定的网络框架中会存在一些层次计算量明显大于其它层,因此本文会对这些层在不损失精度的前提下进一步优化。通过借鉴MobileNetv2中Inverted Residual connection可以在减少参量的前提下通过将输入扩展至更高维度,具体参见Fig5.











另一方面则是filter的设定,为了更好的检测边缘在3x3卷积中使用了32个filter,但提取后的结果经常是互相镜像的结果,因此本文进一步减少filter的数量(32->16),同时用hwish来减少冗余.











Part B Nonlinearities h-wish











下面详细介绍新的非线性操作。
swish是Google提出的一种非线性激活函数,在一些深层网络中药优于ReLU,如在40层以上的全连接层的效果要明显优于其他激活函数。
在这里插入图片描述
Swish 具备无上界有下界、平滑、非单调的特性,但由于sigmoid在硬件设备上无法实现,为此将sigmoid替换为相近的基于ReLU6的计算,即h-swish,这样也可以减少访问内存读取数据的时间。

在这里插入图片描述
而且实验发现h-swish激活在深层次网络中更有效,为此前层网络依旧使用的ReLU.
在这里插入图片描述Table I 和Table II分别展示了MobileNetv3-Large和MobileNetv3-Small的具体结构。
MobileNetv3-Large
在这里插入图片描述MobileNetv3-Small
在这里插入图片描述Section VI Experiments
主要验证了MobileNetv3进行图像分类、物体检测、以及图像分割的有效性。
Part A Classification
Dataset:ImageNet
Optimizer:RMSProp
lr:0.1 with decay rate of 0.01
dropout:0.8
Fig 1展示了Mobilev3-small,MobileNetv3-Small与v2,MnasNet等的对比效果,Table 4则是量化后的效果。
在这里插入图片描述
在这里插入图片描述
从Table5可以看出将ReLU替换为h-swis后将运行时间提升了10%.
在这里插入图片描述Part B Detection

在物体检测任务中,将MobileNetv3作为SSDLite中的特征提取器。

数据集:COCO

与V2相比,由于减少了通道数目,因此比v2更快。
结果见Table6.
在这里插入图片描述Part C Semantic Segmentation
在做语义分割实验时将v2,v3均作为backbone,比较了加入R-ASPPA和LR-ASPP(均是简化版本的ASPP)对特征提取的提升效果。
数据集:Cityscaped
评价指标:mIoU
其中LR-ASPP是本文新提出的decoder module,将SE Module中的global-average pool加入同时使用的全是1x1的conv,具体结构如下图所示。
注意到还有一个skip connection用来将原始前层信息直接连接到最后增加分割的细节信息。
在这里插入图片描述
对比结果Table7,可以看到在和v2近似的运行时间下,v3的分割效果更加精确。
在这里插入图片描述Section VII Conclusion
针对不同规模的嵌入式应用,本文提出了MobileNetV3-Large和MobileNetv3-Small两种轻量级模型用于图像分类、分割、物体检测的嵌入式或移动端应用。主要创新点在于SE Module、h-swish和NAS的应用。在分割任务中还提出了新的解码结构-LR-ASPP。未来还将进一步精简网络。

Emmm这工作量 望而生畏。。瑞思拜!

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读