Searching for MobileNetV3
单位: google research, google brain
摘要: 我们基于互补搜索技术的组合以及新颖的架构设计呈现下一代MobileNets。 MobileNetV3通过结合硬件感知网络架构搜索(NAS)以及NetAdapt算法进行调整,然后通过新颖的架构改进进行改进,从而调整到移动电话CPU。本文开始探索自动搜索算法和网络工作设计如何协同工作,以利用互补的方法来改善整体的现状。通过这个过程,我们创建了两个新的MobileNet模型:MobileNetV3-Large和MobileNetV3-Small,针对高资源和低资源使用情况。然后对这些模型进行调整并应用于对象检测和语义分割的任务。对于语义分割(或任何密集像素预测)的任务,我们提出了一种新的有效分割解码器Lite Reduced Atrous Spatial Pyramid Pooling(LR-ASPP)。我们实现了移动分类,检测和分割的最新技术成果。 MobileNetV3-Large在ImageNet分类上的准确度提高了3.2%,与MobileNetV2相比,延迟降低了15%。与MobileNetV2相比,MobileNetV3-Small的准确度提高了4.6%,同时将延迟降低了5%。 MobileNetV3-大检测速度提高了25%,与COCO检测时的MobileNetV2大致相同。 MobileNetV3-Large LR-ASPP比MobileNetV2 R-ASPP快30%,城市景观细分的准确度相近。
网络模块
moblinetv3的网络结构采用网络搜索技术得到的。
其主要包含的网络block有:
- mobilenetv1的depthwise separable convolutions
- mobilenetv2的the linear bottleneck and inverted residual structure;inverted 残差模块,保证input和output的通道数相同,但是在中间部分采用1*1卷积进行特征通道的增加,提高模型的非线性能力。
- MnasNet的squeeze and excitation module,其对特征通道间的相关性进行建模,把重要的特征进行强化来提升准确率。在最新的res2net中也采用了这个模块。原理图如下:
- mobilenetv3主要就是使用以上的网络模块,并使用swish nonlinearities进行升级。并使用硬sigmoid替代sigmoid。
swish x = x*sigmoid(x)
- hard sigmoid
h-swish[x] = x*ReLU6(x + 3)/6
用hard sigmoid替换掉sigmoide的优势:- 具有差不多的非线性
- 能消除设备上float16/float8类型带来的精度损失
- 比sigmoid的速度能提高15%
网络搜索(这块应该应该是这篇文章最重要的部分)
mobilenetV3使用 NAS作为框架搜索算法。
- platform-aware NAS 网络块的搜索
- NetAdapt 层参数搜索