目录

摘要

主要贡献

相关工作

先导内容,预备工作(preliminaries,intuition)

模型结构

实验结果


摘要

作者提出了一种基于倒置残差块(姑且这么翻译吧,inverted residual block),把mobileNetV1改了改,提高了移动端网络的state of the art 表现。作者探讨了这种倒置残差块的作用,使用了expansion ratio;还发现RELU对残差块的不利影响。最后和mobileNetV1一样,在图像分类,分割,检测领域都和一些网络进行了对比。

主要贡献

提出了一种新颖的层结构: inverted residual block with linear bottleneck,这里lineal指的是送入经过的第一个卷积层是没有激活函数的;inverted指的是和传统的残差块相比,输入经过的第一个卷积层得到tensor的channel是输入channels的t倍,t就是expansion ratio。

相关工作

在mobileNetV2之前,有shuffleNet;还有一些引入了强化学习和遗传算法,仅仅降低了参数量,却没降低计算量。还有一个基于connectivity learning 和network pruning的方法来减少模型大小的。然而这些都没有MobileNetV2直接。

先导内容,预备工作(preliminaries,intuition)

  • 作者先是又提了一下深度分离卷积(depthwise convolution),这在mobilenetV1中已经 讲的很清楚了。关于mobileNetV1,请见我的另一篇博文:MobileNetV1
  • 之后作者又谈了一下为啥他们的这种设计在小模型中表现好的依据,这部分内容我觉得很玄学,提到了manifold of interest,以及阐述了为啥RELU在残差块的第一个卷积层有不利作用。

    Figure1是证明ReLU对不同维度输入的信息丢失对比。图表下面的文字介绍了具体的操作过程,显然,当把原始输入维度增加到15或30后再作为ReLU的输入,输出恢复到原始维度后基本不会丢失太多的输入信息;相比之下如果原始输入维度只增加到2或3后再作为ReLU的输入,输出恢复到原始维度后信息丢失较多。因此在MobileNet V2中,执行降维的卷积层后面不会接类似ReLU这样的非线性激活层,也就是linear bottleneck的含义。(this paragraph cites from here)

  • 再往后,就到了重头戏,解释这个inverted结构的设计。其实很简单,回想下一般的residual block,先把输入用1x1的卷积核降维(通道数降低),然后在卷积,再用1x1的卷积核把通道数提上去,再加上最开始的输入。这里的inverted,就是指先用1x1的核增加通道维数,这一层叫做expansion layer ,有一个超参数expansion  ratio t,假设输入通道数为k,expansion layer的输出就是t*k,并且这一层没有RELU。作者认为这样做实现了一个非线性变换。同时也指出这操作要耗费更多内存。

这是一个bottleneck的结构。

模型结构

注意第一个卷积层是传统卷积,并且分别对stride为1和2,构造了两种瓶颈层。从这个结构图中,我们可以看出,这个网络的channels比V1普遍低很多,这也是即便V2更深,参数却比V1小的原因,因为参数集中在pointwise conv部分,而这一部分的参数量取决于channels。

stride为1的结构使用了shortcut,因为输出的尺寸和输入一样,当然就可以相加。

一些细节:

  • 使用Relu6作为激活函数,卷积核全是3x3的,使用dropout和batch normlization。
  • expansion ratio为5-10 的结果是相近的,小网络用小的ratio效果较好,大网络用大的ratio效果较好。这里的小和大,是由于设置不同的width mutilplier 和 resolution multiplier 导致的。这两个超参数在mobileNetV1中有介绍。
  • 最后一层不使用宽度因子。

上面的表格对比了,每一种分辨率下,各网络需要的大小。数字内容的意义是  最大通道数/内存(Kb)。

实验结果

先看左图,证明了在瓶颈层的第一个卷积层中去掉Relu的有效性。右图则说明了这种inverted结构的优越性。

这个是在imagenet上做的分类结果。mobileNetv2比v1的top1高,参数和计算量都更小了。最后一个网络括号里面的1.4指的是width multiplier

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

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

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

  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

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

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

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

  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 ...

最新文章

  1. R语言进行缺失值填充(Filling in missing values):使用R原生方法、data.table、dplyr等方案
  2. JUnit4单元测试报错问题:method initializationerror not found
  3. 字符串数组 和 字符串指针 的区别
  4. 记一次kafka集群频繁crash的排查过程
  5. OCA读书笔记(11) - 实现Oracle数据库审计
  6. nginx配置文件简单理解(自用)
  7. linux中的输出格式化,Linux column使用(格式化输出)
  8. BIG5, GB(GB2312, GBK, ...), Unicode编码, UTF8, WideChar, MultiByte, Char说明与区别
  9. debian7系统设置固定IP
  10. Logic Pro X for Mac(音乐制作软件)
  11. Redis基础常用命令入门
  12. 【XJTUSE 计算机组成与结构笔记】第六章 外存
  13. Kubuntu 系统美化--系统图标
  14. 清华大学成立元宇宙实验室!网友怒批:欠考虑!
  15. 网吧用的语音呼叫软件
  16. 哈希算法--暴雪的mpq技术
  17. 单播包、广播包、组播包、洪泛包
  18. 低代码可以做什么?以织信informat这个平台为例说说
  19. 墨尔本大学计算机本科学费,2020年墨尔本大学本科学费和生活费是多少?
  20. Arduino开发板使用DHT11温湿度传感器的方法

热门文章

  1. 高途季报图解:营收11亿 已停止K-9服务,谋求转型
  2. qq部落android,QQ部落安卓版
  3. windows2003 升级sp1,sp2 产品密匙无效 (转)
  4. oracle安装后,电脑变得很卡,解决办法(安装的是oracle11g)
  5. 跟柴静的《穹顶之下》学习演讲的十大技巧
  6. MySQL时间序列分表分区_干货丨时序数据库分区教程
  7. UTI 唯一类型标识
  8. CAD的那些装逼技巧!
  9. 锐龙R3 2200G和Intel i3-8100选哪个好
  10. 史上最全! 全球 22 种开源商业收入模式