轻量级网络之MobileNet v3


欢迎交流,禁止转载!!

前言

《Searching for MobileNetV3》
论文地址:https://arxiv.org/abs/1905.02244
2019年谷歌提出的,MobileNet V3本质上是对MnasNet的手工改进,下图是整个改进的过程:
在这里插入图片描述
性能还是不错:
在这里插入图片描述

以MnasNet-A1作为起点,使用NetAdapt对其进行优化(NetAdapt是一种算法,可自动简化预训练模型,直到达到给定的延迟,同时保持较高的准确性)。 除此以外,作者还手工进行了许多改进。感觉也就看看这些手工改进的部分吧,暴力的搜索网络也不适合大众这样做。

手工改进部分

建议先了解MobileNet v1MobileNet v2
1)更换Block
加入了SE模块,更新了激活函数。NL表示非线性激活函数,这里用了很多个不同的激活函数。同样也是当stride=1且input_c=output_c时,才有shortcut。
在这里插入图片描述
在这里插入图片描述
不过这里的SE模块不是使用的sigmoid作为最后的gating机制,用的是Hard-sigmoid。Squeeze之后的通道数固定为Excitation通道数的1/4。“增加的复杂性并不能单调地提高性能,而较小的比率则会显著增加模型的参数大小。—SENet
在这里插入图片描述

2)重新设计耗时的层结构

  1. 减少了第一个卷积层的卷积核个数,作者实验发现减少之后性能并没有什么变化,所以从32减为16
  2. 精简了最后一个Stage,撤掉了后面计算量和参数量大的层,同时性能也没有下降:
    在这里插入图片描述

3)重新设计激活函数
原有的sigmoid函数计算和求导都相对比较复杂,对量化也不友好。重新设计的激活函数计算更加简单,并且在量化模式下,它消除了由于近似s形的不同实现可能造成的数值精度损失。
在这里插入图片描述
作者使用一个新的函数h-sigmoid去逼近:
在这里插入图片描述
在这里插入图片描述
swish函数也就得到了近似:用h-swish能够节省6ms(6ms占总体运行时间的10%),仅比relu多1ms。
在这里插入图片描述
ReLU6(x + 3) / 6,在Mul层中,做了乘以0.16667的乘法,这就相当于除以6;ReLU6则融合在了卷积层之中;另外,对于x+3,这里的3被加在了卷积层的偏置层中了。
在这里插入图片描述

网络结构

bneck就是前面提到的block,不过SE和shortcut还有NL可能有些差别。为什么这里NL不用一样的激活函数?后面的对比实验说明了原因,请往下看。😉
MobileNetV3-Large:
在这里插入图片描述
MobileNetV3-Small:
在这里插入图片描述

实验对比

不同分辨率和通道扩张因子:
在这里插入图片描述
在这里插入图片描述
不同激活函数,以及所放置的位置
@N,表示从哪一层开始使用h-swish,比如@16表示从通道数为16的卷积层开始使用h-swish。
在这里插入图片描述在整个网络中添加h-swish性能要好一些,在拥有80个或更多通道(V3)的所有层上放置h-swish可以提供最佳的权衡因为随着网络的深入,应用非线性的成本会降低,因为每一层激活的内存访问数量(h*w*c)通常会随着分辨率的下降而减半。顺便说一句,作者发现swish的大多数好处都是通过在更深的层中使用它们来实现的。因此,在我们的体系结构中,我们只在模型的后半部分使用h-swish。这里的optimized h-swish是采用了分段的优化,速度更快。

ImageNet图像分类任务:
在这里插入图片描述

目标检测任务: 同V2 一如既往的,参数更少,效果比上一版更差。😅
在这里插入图片描述

h-σ、h-swish

pytorch官方代码

import torch.nn as nn
import torch.nn.functional as F

activation_layer1 =nn.Hardsigmoid()
activation_layer2 =nn.Hardswish()
# or
F.hardsigmoid(x)

上一篇:轻量级网络之MobileNet v2
下一篇:轻量级网络之GhostNet

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值