论文地址:https://arxiv.org/pdf/1801.04381.pdf

模型结构简单,重点是理解模型设计的动机,并记录一下卷积的通用知识,已经熟知的知识就不再记录了,详细读原文。

Abstract:

1、SSDLite, MobileDeepLabv3

2、MobileNetv2基于inverted redidual structure(和resnet block 块设计思路相反),在bootlneck层使用shortcut。

3、inverted redidual structure中间层使用depthwise 卷积

4、去除窄层的非线性以保持表达能力是重要的,这样可以提升性能,作者倡导这一设计直觉

Introction:

本文的贡献:

the inverted residual with linear bottleneck

  1. 被压缩的低维通道的输入特征首先扩张到高维通道
  2. 使用depthwise 卷积
  3. 随后用线性卷积将特征投影回低维通道特征。
  4. 这种模块非常适合移动设备,因为它允许通过永远不完全实现大型中间张量(使用了depthwise带来的收益)来显着减少推理期间所需的内存占用

作者提出的这个块,与resnet很类似,resent每一个block 也是3次操作:①1*1通道降维②3*3卷积③1*1通道扩张

RelatedWork

大量的工作也致力于改变内部卷积块的连接结构,如ShuffleNet或引入稀疏性。

还有其他研究方向,看论文。

Preliminaries, discussion and intuition:

Depthwise Separable Convolutions:

标准的卷积操作:

input:  卷积核:  假设same操作, output:   一共进行的计算操作:

depthwise操作计算量:

depthwise卷积和传统卷积计算量比一下 = 差不多减少了 倍,MobileNetv2使用k=3,计算量减少了8 -9 倍。

Linear Bottlenecks:这部分不好理解

假设某层输出的feature map 是,通过激活函数形成了manifold of interest。研究人员广泛认为manifold of interest 被嵌入到低维子空间,因此在MobileNetV1中使用参数 width multiplier 做降维,继续这个设计动机,width multiplier 能够降低维度使得manifold of interest 跨过整个空间,但对于Relu,在一维空间,它是”射线“(即Relu在第一象限是线性的),在n维空间,它是一个带有一个分段曲线。如果后面加上ReLU,就会有较大的信息丢失,因此为了减少信息丢失,就有了文中的linear bottleneck

To summarize, we have highlighted two propertiesthat are indicative of the requirement that the manifold of interest should lie in a low-dimensional subspace of the higher-dimensional activation space:

1. If the manifold of interest remains non-zero vol-ume afterReLUtransformation, it corresponds toa linear transformation.对于ReLU层输出的非零值而言,ReLU层起到的就是一个线性变换的作用,这个从ReLU的曲线就能看出来。

2.ReLU is capable of preserving complete information about the input manifold, but only if the input manifold lies in a low-dimensional subspace of the input space ReLU层可以保留input manifold的信息,但是只有当input manifold是输入空间的一个低维子空间时才有效。

Inverted residuals:

使用shortcut的动机与resnet类似,希望提高梯度在多层传播的能力,并且倒置的设计内存效率更高。在block最后一层不是用非线性激活函数。

论文中图2 ,图3很容易理解。

Running time and parameter count for bottleneck convolution:

size:      扩张因子:    kernel size:     inputchannel :   outputchannel:

conv1:

conv2:

conv3:

total:

Information flow interpretation:

当中间层是0时,得益于shortcut,这边是一个恒等函数H(x)=x。这与Resnet思想一抹一样。当扩张率小鱼1时,可以看做是resnet的一个block,实验表明,扩张率大于1更好

Model Architecture

使用Relu6 作为非线性激活函数因为它对low-precision 计算。(MobileNet中的)

除了第一层, 使用连续的扩张率。 扩张率5-10性能基本一致, 稍微小的扩张率性能比扩张率大的更好点所以这个实验选择6

每行描述一个序列,重复n次。 同一序列中的所有(n)层具有相同数量的输出通道。 每个序列的第一层stride = s,该序列的所有其他层都使用stride = 1。 所有卷数使用3×3。

Implementation Notes

j计算方式不是很理解,再读读文章

Experiments

对实验结果进行描述,细节看论文。

Ablation study

the shortcut connecting bottleneck perform better thanshortcuts connecting the expanded layers。

linear bottlenecks improve performance, providing support that non-linearity destroys information in low-dimensional space。

论文精读: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论文学习

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

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

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

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

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

  7. MobileNetV2: Inverted Residuals and Linear Bottlenecks

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

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

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

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

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

最新文章

  1. 双轴机械臂串口控制命令开发与测试:STM32F103控制板,简易调试命令集合
  2. 【jdk源码分析】ArrayList的size()==0和isEmpty()
  3. 第九次会议(5.14)
  4. 如何保护.net中的dll文件(防破解、反编译)
  5. Mysql CONCAT FIND_IN_SET用法
  6. 计算机毕业论文技术可行性怎么写,毕业论文怎么写可行性分析?
  7. 【UE·蓝图】UE4蓝图MediaPlayer注意事项
  8. 海豚湾在哪_菲律宾之海豚湾(PUERTO GALERA)攻略
  9. Github优秀Android开源项目,值得引用与学习(图文结合~~~)
  10. 在Windows 10(Win10)下安装“NVIDIA图形驱动程序”、“NVIDIA控制面板”、CUDA Toolkit、cuDNN Archive的详细过程记录
  11. 2018CVTE后台研发工程师内推笔试编程题2
  12. 操作系统,Ubuntu虚拟机编译裁剪内核
  13. Python 的异常处理
  14. 【作业二】结对项目之需求分析与原型模型设计
  15. 甘建二告诉你助理工程师职称的九大作用,你不得不知道的
  16. python 解析pb文件_Tensorflow:从图形文件(.pb文件)中获取预测
  17. php 百度地图范围搜索,Vue 使用百度地图 实现搜索 定位
  18. 嵌入式Linux开发12——触摸屏实验
  19. 当下阶段,很多人对于区块链的认识依然是不全面的
  20. 基于multisim的fm调制解调_基于multisim的fm调频与鉴频电路设计与仿真

热门文章

  1. 一个 将一个无效参数传递给了将无效参数视为严重错误的函数 及写入位置时发生访问冲突的问题的解决
  2. 2007年高考北京满分作文:沉默的父爱
  3. 第三方支付平台业务分析
  4. 日语日常信函书信写作范文(6篇)
  5. 别被吉利的“车企”一面晃了眼
  6. spring boot 整合 ip2region(ip地址库)
  7. 全世android手机,全世界最安全手机:黑莓第二款Android手机DTEK 50
  8. 【图像压缩】DCT图像无损压缩【含GUI Matlab源码 726期】
  9. Python实现遗传算法求函数最值
  10. Java泛型面试也能虐暴你