MobileNet v2算法解读

论文地址:MobileNetV2: Inverted Residuals and Linear Bottlenecks

1.改进

MobileNet V2是Google继V1之后提出的下一代轻量化网络,主要解决了V1在训练过程中非常容易特征退化的问题,V2相比V1效果有一定提升。

2.核心

v2沿用v1的Depthwise Separable Convolutions Depthwise。核心主要由两部分:Inverted residuals与Linear Bottlenecks

2.1Inverted residuals

残差结构与反向残差结构Fig.3所示,简单来说通常的残差网络为先通过1*1卷积将通道数压缩,再经过3*3卷积,最后经过1*1卷积进行扩张;而反向残差网络channel为先扩张后压缩。

引入shortcut是为提高梯度在多层之间的传播能力,防止梯度消失。

采用反向残差是为了提高内存利用率。

2.2Linear Bottlenecks

 经过反向残差模块,输出的feature map经过channel压缩,损失一部分特征,如果使用relu激活函数,会损失更多特征,因此采用线性变换,即Linear Bottlenecks。

3.网络结构

bottleneck单元结构如表1所示:

输入的feature map首先经过1*1的卷积进行升维,激活函数为Relu6,channel扩大为t倍,而后进行kernal为3*3的深度可分离卷积操作,激活函数为relu6,最后经过kernal为1*1的卷积进行降维,不接非线性激活函数,relu。

Relu6 = min(max(features, 0), 6),限制最大输出为6,这是为了在移动端设备float16的低精度的时候,也能有很好的数值分辨率。

Fig4对比各种网络的卷积block。注意图d中MobileNet v2的两种block形式,stride=1时,输出feature map大小不变,因此可以进行add操作,当stride=2时,输出feature map减半,因此不能进行add操作。

表2为整个MobileNet v2的网络结构

 

4.实验

在ImageNet数据集上,mobilenet v2与其他网络结构性能比较如表4所示:

 

表5是关于SSD和SSDLite在关于参数量和计算量上的对比。SSDLite是将SSD网络中的3*3卷积用depthwise separable convolution代替得到的。  

表6是几个常见目标检测模型对比:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值