文章目录
前言
今天开始阅读MobileNetV3这一轻量级图像分类网络模型论文,这是最初开始阅读MobileNet系列论文的目的,项目中就是用到MibleNetV3来进行图像分类,但是不清楚模型架构,感觉不爽。
论文标题:Searching for MobileNetV3
摘要(Abstract)
论文提出新一代的MobileNetV3网络模型,它结合了硬件和以NetAdapt算法实现的网络架构搜索技术(network architecture search, NAS),提升了算法性能。论文提出两种网络模型:MobileNetV3-Large 和MobileNetV3-Small分别对应高和低的资源需求,可以将这两个模型应用于目标检测和语义分割任务。关于语义分割任务(或者任意密集像素预测),论文提出一种新的有效的分割解码器LR-ASPP(Lite Reduced Atrous Spatial Pyramid Pooling)。论文在移动端分类, 检测和分割任务实现最优(state-of-the art)。MobileNetV3-Large模型,在ImageNet分类中准确性提高了3.2%,与MobileNetV2相比速度提升了20%。MobileNetV3-Small模型与MobileNetV2相比,在可比的延迟下精度提高了6.6%。MobileNetV3-Large模型在COCO数据集中与MobileNetV2相比在大致相同的准确率下检测速度超过25%。在Cityscapes分割数据集中, 在准确率相同的条件下,MobileNetV3-Large LR-ASPP模型的速度比MobileNetV2 R-ASPP快34%。
1. 介绍(Introduction)
这篇论文的目标是开发最优的计算机视觉架构能够在移动设备上优化准确率与延迟的权衡效果。为了实现这个目标,论文介绍了:
(1)网络模型搜索技术;
(2)对于移动配置来说,新的高效版本的非线性实践;
(3)新的高效网络设计
(4)新的高效分割解码器
论文提出了详尽的实验在广泛的用例和移动电话上证实高效性并评估了每种技术的价值。
论文的组织结构如下:
第二章讨论了相关工作。
第三章复习了在移动模型上应用的高效建造模块。
第四章复习了架构搜索和MnasNet,NetAdapt算法的互补性。
第五章描述了论文提出的新颖的架构设计,它提升了模型的效率,这个模型是通过连接点搜索发现的。
第六章为了证实有效性和理解不同元素的贡献,论文对分类、检测、分割进行了实验。
第七章对论文进行总结。
2. 相关工作(Related Work)
为准确率和高效性间权衡的优化而进行的深度神经网络架构设计在近年来称为一个热点研究领域。在网络架构设计中,手工设计和用算法进行神经架构搜索这两种方法扮演了重要角色。
SqueezeNet大量使用了 1 × 1 1\times 1 1×1卷积,因为在挤压(squeeze)和扩展(expand)模块主要用于减少参数数量。最近的工作重点从减少参数数量到减少操作量(MAdds)和延迟上。MobilenetV1使用深度可分离卷积来提高计算效率。MobileNetV2在对V1版本进行扩展,因为一个带反向残差和线性瓶颈的资源-高效模块。Shufflenet使用了分组卷积和打乱通道操作来减少MAdds。CondenseNet在训练阶段为了特征重用,学习分组卷积来保持层间的有用的密集连接。ShiftNet提出了偏移操作(shift), 交错使用基于点的卷积来替代操作昂贵的空间卷积。
为了自动化架构设计流程,使用增强学习(Reinforcement learning, RL)来进行高效架构搜索,因为它的准确率比较好。因为架构搜索空间比较大(指数级),之前的架构搜索工作主要集中于cell级别,所有层都使用相同的cell。最近,探索了一种block级别的分层搜索,它允许在网络不同分辨率的block上有不同层结构。为减少搜索资源的消耗,差分架构搜索矿建使用了基于梯度的优化。在资源首先的移动平台使用已有的网络,一些论文提出了更高效的网络简化算法。
量化(Quantization)是另外一种比较重要的可以提高网络效率的技巧。最后,知识蒸馏提供了一种额外的补充方法:它通过大型“教师”网络的指导来生成小型准确的“学生”网络。
3. 高效的移动构造模块(Efficient Mobile Building Blocks)
移动模型的构造是基于高效的构造模块。MoibleNetV1引入了基于深度可分离的卷积来替换传统的卷积层。深度可分离卷积有效地将传统卷积分解,即将空间过滤功能从特征生成机制中分割出来。深度可分离卷积被定义为两层:关于空间过滤的轻量级深度卷积以及关于特征生成的重量级 1 × 1 1\times 1 1×1点卷积。
MobileNetV2为制作更高效的层结构引入了线性瓶颈和反向残差结构。Figure.3展示了这一结构
,它由一个 1 × 1 1\times 1 1×1的扩展卷积,然后紧跟着一个基于深度的卷积和一个 1 × 1 1\times 1 1×1投影层(线性层)组成。输入与输出通过一个残差连接进行连接,前提条件是当且仅当输入与输出层通道数相同。这个结构在输入与输出上维持了一个紧凑的表示,然而扩展到更高维度的特征空间时,这本质上通过每一通道变换增加了非线性表示能力。
MnasNet在MobileNetV2结构基础上将基于SE(squeeze and excitation)的轻量级注意力模块引入瓶颈结构中。注意,SE模块被集成于不同位置,这个模块被放在基于深度的过滤器后面,同时在该模块后引入注意力机制,如在Figure.4中所示。
对于MobileNetV3, 为了构造最有效的模型,论文将这些层组合成构造块。这些层使用了被修改的 s w i s h swish swish非线性来升级。SE模块和 s w i s h swish swish非线性都使用了 s i g m o i d sigmoid sigmoid, s i g m o i d sigmoid sigmoid既计算量大又是对保持固定点计算的准确性很有挑战,因此论文使用 h a r d s i g m o i d hard\ sigmoid hard sigmoid来替代它,具体细节将在5.2节讨论。
4. 网络搜索(Network Search)
已经证实了网络搜索对于发现和优化网络架构是一个非常强大的工具。对于MobileNetV3,论文使用了NAS来通过优化每一网络模块来搜索全局网络结构,然后使用NetAdapt算法搜索每一层的过滤器数量。这些技术是互补的并可以通过组合方式为一个给定的硬件平台找到一个优化模型。
4.1 针对基于块的搜索的平台NAS(Platform-Aware NAS for Block-wise Search)
论文使用了基于平台的神经架构方法来查找一个全局网络结构。因为论文使用了和基于RNN相同的控制器,和分解层次搜索空间相同的方法,关于Large移动模型得到亮丝的结果 - 目标延迟大约80ms。因此,论文简单使用了MnasNet-A1作为Large移动网络模型的初始模型,然后在它基础上使用了NetAdapt算法和其它优化方法。
然而,论文发现初始的设计没有对Small移动模型进行优。论文使用了多目标激励 A C C ( m ) × [ L A T ( m ) / T A R ] w ACC(m)\times [LAT(m)/TAR]^{w} ACC(m)×[LAT(m)/TAR]