Searching for MobileNetV3
文章目录
摘要
我们提出了基于互补性搜索技术的组合以及新型架构设计的下一代MobileNets。MobileNetV3通过硬件感知网络架构搜索(NAS)与NetAdapt算法的结合,针对手机CPU进行了调整,随后又通过新的架构改进。本文开始于探索自动搜索算法和网络设计如何能够一起工作,利用互补的方法提高整体技术水平。通过这个过程,我们创建了两个新的MobileNet模型来发布。MobileNetV3-Large和MobileNetV3-Small, 它们分别针对高资源和低资源的使用案例。然后,这些模型被调整并应用于物体检测和语义分割的任务。对于语义分割(或任何密集的像素预测)的任务,我们提出了一个新的高效分割解码器Lite Reduced Atrous Spatial Pyramid Pooling(LR-ASPP)。我们在移动分类、检测和分割方面取得了新的最先进的成果。与MobileNetV2相比,MobileNetV3-Large在ImageNet分类上的准确性提高了3.2%,同时延迟降低了20%。与MobileNetV2模型相比,MobileNetV3-Small的准确度提高了6.6%,延迟也相当。MobileNetV3-Large的检测速度超过25%,在COCO检测上与MobileNetV2的精度基本相同。MobileNetV3-Large LRASPP比MobileNetV2的R-ASPP快34%,而且准确率和Cityscapes分割也差不多。
一、创新点
- h-swish 和h-sigmoid 激活函数
- 引入和修改SE模块
- 互补的网络搜索
- 重新设计Expensive Layers
1、h-swish 和h-sigmoid 激活函数
- swish代替ReLU可以有效提升网络的准确性。
- h-swish 是在swish 的基础上修改的,将计算成本高的sigmod的函数替换成类似的分段函数[ReLU6(x+3)]/6,相当于hard 版的sigmoid
好处: - 在量化模式下,有效减少有不同方式实现近似sigmoid 引起的精度损失
- h-swish可以作为分段函数,降低内存访问,提升速度
使用:在网络的更深层,swish的很多好处才体现出来,因此论文中在模型的后半段使用h-swish。
2、引入和修改SE模块
SE模块:通道注意力机制
HxWxC的特征图--->
一个Squeeze操作--->
1x1xC(包含通道信息的tensor)--->
非线性Excitation--->
整合了各个通道信息的权重--->
将权重与对应的层相乘--->
结果
这里的r是个超参,可用于调节参数的数量
- 论文将SE模块中成本高的sigmoid换成了hard 版的sigmoid:
- squeeze-and-excite bottleneck和the convolutional bottleneck 的size都设置为expansion layer 的1/4。
提高了准确性,稍微增加了参数量,没有明显的延迟
3、 互补的网络搜索
(1)使用Platform-Aware NAS 进行Block-wise search,选用MnasNet-A1 作为初始模型;
(2)使用NetAdapt进行Layer-wise earch,循序渐进的单独微调layer
4、 重新设计Expensive Layers
(1)网络后阶段的修改(produce the final
features more efficiently)
原来的网络:最后阶段是先做mobilenet的block,得到bottlenect ,再做expansion,得到1280channel ,再做avgpolling,最后分类输出结果
- 1*1 卷积(倒数第3个白框)用于扩展feature space到更高的维度(1280,使有rich features 做预测),这层很关键,不能丢。
- 既然都是要在高维空间中做avgpooling,直接在第一次expansion(mobilenet的block里的)后面做avgpooling,就可以把mobilenet的block剩下的部分去掉
- 后面再接那个关键的1*1卷积,与原模型不一样的是,没有了BN
(2)网络开始阶段的修改
最开始的卷积层有32个filters,主要用于边缘检测,但存在镜像关系的冗余;
- 将32filters 降低为16 个
- 更换非线性函数为h-swidh
最一开始的filters和激活函数,是运算在大的resolution 上的,减少这两个运算量,对整体计算量是显而易见的。
二、模型结构
1. Block
2. model 结构
三、实验
1、Classification
2、消融
3、Detection
4、Semantic Segmentation
总结
介绍了模型的创新点与改进,block和model以及实验。
setup 设置
tune 调整
harness 驾驭
dense 密集的
experience 体验
key 关键的
on-device 设备上的
power 为…提供动力
blend A with B A与B融合
practical 实用的
joint search 联合搜索
automate 使自动化
intractable. 棘手的
cell level 细胞级
factorize 影视分解
nature 特性
if and only if 只有仅当
is placed 被置于
approximate 接近
in a sequential manner 以循序渐进的方式
coarse 粗略的
populate 居住于
That is 也就是说
discrete 离散的
slope 斜率
rework 重新设计
mitigate 使缓和
redundancy. 冗余
analog 类似物
piece-wise 分段的
clipping 裁剪
be motivated by 的动机是
eliminate 消除
discernible 看得清的
half 减半
shed light on 阐明
refer to 可以参考
atomic 原子的
attach A to B 连接A到B
immediately 紧接的