继续MobileNetv2.
改进:Inverted Residual connections & Linear Bottleneck

摘要:

在轻量级的MobileNetv1提出后,本文又将轻量级的思想应用于分割网络,精简了DeepLabv3用于分割。

主要创新点在inverted residuals和linear bottleneck的提出。在网络瓶颈部分增加inverted residuals连接以及移除网络瓶颈部分的非线性,保证该部分的信息表达能力。最终在ImageNet分类、COCO物体检测和VOC分割任务中测试了MobileNetv2的有效性。


# Section I Introduction



在计算机视觉领域为了提升网络的识别能力,往往以算力为代价限制了网络在移动端或嵌入式设备中的应用。


基于此提出了轻量级的MobileNet,本文进一步延伸,设计了一种全新的连接方式:在网络瓶颈部分移除非线性性并引入倒置残差连接模块。首先将输入的低维特征扩展至高纬度并进行深度可分离卷积提取特征,随后将提取的结果投射回原始的低维输入端。这一模块可方便的插入到目前的网络模型中,在保持网络性能的同时达到减少参量、计算量的目的。


# Section II Related Work



精简网络的相关思路除了前篇提到的:网络剪枝、连接方式的优化、网络稀疏化,还有——神经网络架构搜索(NAS)。这里不进一步赘述。



# Section III MobileNetv2




Part A 深度可分离卷积





深度可分离卷积将标准卷积分两步进行:depthwise convolution和pointwose convolution,详情参见前篇-MobileNetv1的介绍。






Part B Linear Bottlenecks






Linear Bottleneck的设计思路是这样的:
将标准卷积替换为深度可分类卷积计算后,DW卷积是没有通道变换的能力的,即通道数多少就输出多少个feature map。






这就导致一个问题,若输入通道数很少,DW卷积实际在通道数很少的低维空间进行特征提取;另一方面,在低维特征空间进行特征提取后进行非线性激活效果不如进行线性激活来得好,即非线性激活在高维效果好,线性激活在低维效果更好。







基于此,MobileNetv2中使用了Linear Bottleneck,进行DW卷积->PW卷积后去掉了非线性激活操作(因为此时认为是低维空间),因此叫做Linear Bottleneck。































Part C Inverted residuals








使用Linear Bottleneck进行特征提取搭建的网络和残差模块比较类似,本文在不同blocks之间加入了倒置连Inverted Residual connections,和常规残差连接的不同之处在于标准残差块先降维进行特征提取,倒置残差会先将低维输入通过PW卷积扩展到高维,随后再进行DW卷积。这样做也是为了在不过分增加计算成本的前提下增强信息、梯度的传递。








总结:
input->升维->DW卷积->PW卷积->移除ReLU非线性激活,替换为线性激活.


























# Section IV网络整体结构









基础block:使用倒置残差连接的深度可分离卷积块结构如Table I所示,这里注意到MobileNet中用的已经是ReLU6,以及最后进行的是线性激活,而不是非线性激活。


















而升维率在5-10之间,本文取6.即若输入64通道,内部会升维至384个通道。在MobileNetv2中共设置了7个这样的block,每一个block内部结构如上图所示.



















# Section V Experiments










Part A classification











框架:Tensorflow











Optimizer:RMSProp











lr:0.00004 with weight decay












分类性能与MobileNetv1,ShffleNet和NAS进行了对比,结果对比参见Table 4.可以看到几乎和NAS不相上下。























Part B Object Detection












数据集:COCO












对比:SSD,YOLOv2,FSRNN,RFCN













评价指标:mAP













在取得相近性能的前提下,MobileNetv2的参数量是最少的,降了一个量级。

Part C Semantic Segmentation

将MobileNetv1,v2作为DeepLabv3中的特征提取网络,随后经过ASPP融合多尺度语义信息以及解码网络用于语义分割

数据集:PASCAL VOC 2012


评价指标:mIoU


实验发现 采用多级输入会显著增加做乘累加的次数,最后选择压缩至原图的1/16效果最好。实验显示用MobileNetv1做特征提取网络进行分割效果就已经有很大的提升(与ResNet相比),而使用MobileNetv2后即使不加入ASPP分割效果依旧很出色。

Part D 消融实验

Fig6可以很明显看出,将非线性激活替换为线性激活后对网络性能的提升,以及采用Inverted Residual connections升维后对准确率的提升。

# Section VI Conclusion


本文在轻量级网络MobileNetv1的基础上,提出Inverted Residual connectionsLinear Bottleneck分别通过提升信息维度以及线性激活减少信息或者说特征在网络中的损耗,进一步提升网络的特征提取能力,并验证了这样的设计在分类、分割、物体检测任务中的有效性。同样,使用深度可分离卷积替代传统卷积大大压缩了模型参数,而这种将输入升维的创新性操作也进一步提升了MobileNet的准确率。

论文阅读——MobileNetV2: Inverted Residuals and Linear Bottlenecks相关推荐

  1. 论文分享 MobileNetV2: Inverted Residuals and Linear Bottlenecks

    摘要 在本文中,我们描述了一种新的移动架构 MobileNetV2,它提高了移动模型在多个任务和基准测试以及不同模型大小范围内的最新性能.我们还描述了在我们称为 SSDLite 的新框架中将这些移动模 ...

  2. 《MobileNetV2: Inverted Residuals and Linear Bottlenecks》论文学习笔记

    文章目录 论文基本信息 研究背景 读完摘要后对上述问题的回答 读完论文后对上述问题的回答 什么是MobileNet V2? 为啥要在前边加一个Pointwise convolution? 什么是反向残 ...

  3. 轻量化网络(二)MobileNetV2: Inverted Residuals and Linear Bottlenecks

    论文链接 Pytorch实现 Tensorflow实现 Mobilenet V2是谷歌在Mobilenet V1上的进一步改进,第一版参考文章,是Mobilenet系列的第二篇.该文章以深度可分离卷积 ...

  4. 论文阅读:MobileNetV2: Inverted Residuals and Linear Bottlenecks(MobileNetV2)

    文章目录 1 摘要 2 存在问题 3 亮点 3.1 Linear Bottlenecks 3.2 Inverted residual block 3.4 总的结构体 4 部分结果 4.1 部分数据对比 ...

  5. 轻量型网络之MobileNetV2: Inverted Residuals and Linear Bottlenecks论文学习

    0.摘要 针对残差结构提出来倒残差结构(Inverted Residuals),由于使用的是1x1卷积在resnet中也叫瓶颈层,所以这个模块最终叫做具有线性瓶颈的倒残差结构(the inverted ...

  6. 论文精读:MobileNetV2: Inverted Residuals and Linear Bottlenecks

    论文地址:https://arxiv.org/pdf/1801.04381.pdf 模型结构简单,重点是理解模型设计的动机,并记录一下卷积的通用知识,已经熟知的知识就不再记录了,详细读原文. Abst ...

  7. MobilenetV2学习笔记 --- MobileNetV2: Inverted Residuals and Linear Bottlenecks

    论文:https://arxiv.org/abs/1801.04381 代码:https://github.com/tonylins/pytorch-mobilenet-v2 此外给出Mobilene ...

  8. MobileNetV2: Inverted Residuals and Linear Bottlenecks

    推荐阅读:https://blog.csdn.net/kangdi7547/article/details/81431572 16->96->24, 为什么中间有96怎么确定, 由t来确定 ...

  9. 【MobileNet V2】《MobileNetV2:Inverted Residuals and Linear Bottlenecks》

    CVPR-2018 caffe 版本的代码:https://github.com/shicai/MobileNet-Caffe/blob/master/mobilenet_v2_deploy.prot ...

  10. MobileNetV2: Inverted Residuals and Linear Bottlenecks论文解读

    目录 摘要 主要贡献 相关工作 先导内容,预备工作(preliminaries,intuition) 模型结构 实验结果 摘要 作者提出了一种基于倒置残差块(姑且这么翻译吧,inverted resi ...

最新文章

  1. matlab中如何求零极点,Matlab中绘制零极点
  2. 三、初识Socket套接字结构体
  3. 10+ commonly using find command switches with example Unix/Linux
  4. C++ Primer 7.33 练习编写成员函数
  5. 不喜欢 merge 分叉,那就用 rebase 吧
  6. Redis --数据类型 [1]
  7. asp.net 操作ftp 通用代码[测试通过]
  8. 学python必会英语单词_Python必备常用英语词汇(一)
  9. thinkphp 5.0 代码执行漏洞
  10. 【最佳实践】【Blend】Triggers、Actions 和 Behaviors
  11. 编译GDAL支持MySQL
  12. 计算机表格中如何计算数据透视表,[Excel]这才是在数据透视表中进行计算的正确操作!...
  13. Xfire的aegis绑定方式配置小结
  14. XShell免费版的安装配置教程以及使用教程(超级详细、保姆级)
  15. 阿里巴巴鹰眼系统简介
  16. .NET的.snk文件使用方法和DLL加密
  17. unity 录屏插件总结 以及 AVProMovieCapture 5.0.0 安卓录制失败问题
  18. 剑斩楼兰的将军之路:多属性决策模型。
  19. 漫漫人生录 | 小圈子 | 别让自己“墙”了自己
  20. muti-thread fork

热门文章

  1. 计算机用通讯电压多少,通信局(站)用交流电源的质量指标要求
  2. 13.2.3 VAM服务器的配置步骤及示例(2)
  3. 家用无线路由器的设置
  4. 虚拟机安装Windows7系统(亲测超详细)
  5. Jquery Validate 设置不显示验证信息
  6. 解剖caffe mode:Blobs, Layers和Nets
  7. 分享50款漂亮的免费经典英文复古字体(上)
  8. C#开发WinForm之DataGridView开发
  9. hadoop 查看文件大小以及文件数
  10. sdn 华硕二级路由_Mesh分布式路由器,能否改善全屋WiFi信号覆盖问题,路由组网分享...