MobileNetV2: Inverted Residuals and Linear Bottlenecks--M Sandler
- 0、摘要
- 1、引言
- 2、相关工作
- 3、预置知识、讨论和intuition(直觉?)
- 3.1 深度可分离卷积
- 3.2 Linear Bottlenecks(低维不使用ReLU)
- 3.3 倒残差结构(先升维+倒残差)
- 4、模型结构
- 5、实现说明
- 6、实验
- 6.1 ImageNet分类
- 6.2 消融实验
- 7、总结
MobileNetV2是在MobileNetV1的基础上修改的,MobileNetV1可以看看:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
MobileNetV2使用了深度可分离卷积+先升维+倒残差+低维不使用ReLU构建了比V1效果更好更轻量的网络,在分类、目标检测、语义分割等的实验验证MobileNetV2的强劲性能。
0、摘要
本文描述了一种新的用于移动和嵌入式设备的架构MobileNetV2,该架构提高了多个任务和基准数据集上以及不同模型尺寸内的最佳性能。
MobileNetV2基于倒置的残差结构,残差链接位于窄的瓶颈之间。中间层使用深度可分离卷积进行滤波(提取)特征。此外作者发现去除窄层的非线性对于保持表征能力非常重要
然后在ImageNet分类、COCO对象检测、VOC图像分割上进行了性能测试。我们评估了精度和通过乘法加法(MAdd)度量的操作数量,以及实际延迟和参数数量之间的权衡。
1、引言
本文介绍一种专为移动和资源受限环境量身定制的网络架构。MobileNetV2显著减少操作数和内存数,同时保持相同的精度。
主要贡献是一个新颖的模块:具有线性瓶颈的倒残差模块。该模块将低维压缩的表征先扩展到高维并用深度可分离卷积进行滤波,然后用线性卷积将表征投影回低维(直观将就是通道先升维再降维的过程)。
2、相关工作
略
3、预置知识、讨论和intuition(直觉?)
我们用dw和pw表示深度可分离卷积的两个步骤,则深度可分离卷积表示为:
–dw–pw–
首先总结下MobileNetV2的创新点:
- 因为dw本身不具有改变通道的能力,但是在多通道上dw卷积效果更好,所以在dw之前使用pw升维,就构成–pw–dw–pw的结构,前一个pw升维,后一个pw降维,从而让中间的dw在高维卷积却又保持了输入输出的维度不变
- 使用了残差结构,也就是将前pw之前和后pw之后短接,形成残差结构。当然原残差是中间维度更低,而本文中间维度更高,所以本文的叫倒残差结构
- ReLU只在高维的dw后使用,后pw是低维输出,不使用ReLU(文中说低维使用ReLU会破坏信息)
总结起来就是:深度可分离卷积+先升维+倒残差+低维不使用ReLU
3.1 深度可分离卷积
这个卷积就是MobileNetV1的基础,如果你懂了深度可分离卷积那你就懂了MobileNetV1,详细的介绍看:深度可分离卷积(DepthwiseSeparableConvolution):Depthwise卷积与Pointwise卷积
3.2 Linear Bottlenecks(低维不使用ReLU)
首先起因是【CV论文笔记】MobileNetV2: Inverted Residuals and Linear Bottlenecks(MobileNetV2理解)中说
全文也进行了理论分析,我看着太复杂了,总结起来就是这句话:“另一方面,当ReLU破坏通道时,它不可避免地会丢失该通道的信息。但是,如果我们有很多通道,并且激活流形中有一个结构,信息可能仍然保留在其它通道中。在补充材料中,我们说明,如果输入流形可以嵌入到激活空间的显著较低维子空间中,则ReLU变换将保留该信息,同时将所需的复杂性引入到可表达的函数集中”,也就是低维信息经过ReLU会破环一些信息,但是高维信息经过ReLU后则任然可能被保留。
所以在结构上最后一个1x1卷积(后pw)是没有ReLU的
下图是第6.4节的实验,可以看出在低维(后pw输出)使用ReLU效果确实要差一点。
3.3 倒残差结构(先升维+倒残差)
作者使用残差连接动机是想要提高梯度在乘法层之间传播的能力,但是稍作改变得到了倒残差结构
图3b就是本文呢的倒残差结构,可以看到Residual block是先降温后升温,倒残差是先升维再降维,这就保证了depthwise在高维进行,从而表征更加充分。
基本实现结构如表1所示,扩展因子t也就是升维倍数
4、模型结构
模型结构如表2所示:
- conv2d就是普通卷积
- bottleneck就是表1所示的结构
- t是扩展因子,即升维倍数
- c是输出通道
- n是重复次数,比如重复4次,那么这4个相同操作的输出通道都是64
- s是stride,当然只在同操作的第一次(因为会有重复n)使用(肯定是中间的3x3卷积,1x1卷积stride肯定=1),其他都是stride=1
5、实现说明
一些包括内存使用的理论分析
6、实验
包括了分类、目标检测、语音分割等实验,这里只展示分类的效果
6.1 ImageNet分类
可以看到V2确实比V1要好很多,()的含义看图5
6.2 消融实验
图a:严格来说,线性瓶颈模型不如非线性模型强大,因为激活总是可以在线性范围内运行,并对偏差和缩放进行适当的改变。然而,我们在图6a中所示的实验表明,线性瓶颈可以提高性能,这为非线性破坏低维空间中的信息提供了支持。
图b:快捷连接瓶颈的性能比连接扩展层的快捷方式更好
7、总结
好!
MobileNetV2: Inverted Residuals and Linear Bottlenecks--M Sandler相关推荐
- 《MobileNetV2: Inverted Residuals and Linear Bottlenecks》论文学习笔记
文章目录 论文基本信息 研究背景 读完摘要后对上述问题的回答 读完论文后对上述问题的回答 什么是MobileNet V2? 为啥要在前边加一个Pointwise convolution? 什么是反向残 ...
- 轻量化网络(二)MobileNetV2: Inverted Residuals and Linear Bottlenecks
论文链接 Pytorch实现 Tensorflow实现 Mobilenet V2是谷歌在Mobilenet V1上的进一步改进,第一版参考文章,是Mobilenet系列的第二篇.该文章以深度可分离卷积 ...
- 轻量型网络之MobileNetV2: Inverted Residuals and Linear Bottlenecks论文学习
0.摘要 针对残差结构提出来倒残差结构(Inverted Residuals),由于使用的是1x1卷积在resnet中也叫瓶颈层,所以这个模块最终叫做具有线性瓶颈的倒残差结构(the inverted ...
- 论文阅读:MobileNetV2: Inverted Residuals and Linear Bottlenecks(MobileNetV2)
文章目录 1 摘要 2 存在问题 3 亮点 3.1 Linear Bottlenecks 3.2 Inverted residual block 3.4 总的结构体 4 部分结果 4.1 部分数据对比 ...
- MobilenetV2学习笔记 --- MobileNetV2: Inverted Residuals and Linear Bottlenecks
论文:https://arxiv.org/abs/1801.04381 代码:https://github.com/tonylins/pytorch-mobilenet-v2 此外给出Mobilene ...
- 论文精读:MobileNetV2: Inverted Residuals and Linear Bottlenecks
论文地址:https://arxiv.org/pdf/1801.04381.pdf 模型结构简单,重点是理解模型设计的动机,并记录一下卷积的通用知识,已经熟知的知识就不再记录了,详细读原文. Abst ...
- 论文分享 MobileNetV2: Inverted Residuals and Linear Bottlenecks
摘要 在本文中,我们描述了一种新的移动架构 MobileNetV2,它提高了移动模型在多个任务和基准测试以及不同模型大小范围内的最新性能.我们还描述了在我们称为 SSDLite 的新框架中将这些移动模 ...
- MobileNetV2: Inverted Residuals and Linear Bottlenecks
推荐阅读:https://blog.csdn.net/kangdi7547/article/details/81431572 16->96->24, 为什么中间有96怎么确定, 由t来确定 ...
- 【MobileNet V2】《MobileNetV2:Inverted Residuals and Linear Bottlenecks》
CVPR-2018 caffe 版本的代码:https://github.com/shicai/MobileNet-Caffe/blob/master/mobilenet_v2_deploy.prot ...
- MobileNetV2: Inverted Residuals and Linear Bottlenecks论文解读
目录 摘要 主要贡献 相关工作 先导内容,预备工作(preliminaries,intuition) 模型结构 实验结果 摘要 作者提出了一种基于倒置残差块(姑且这么翻译吧,inverted resi ...
最新文章
- python email模块详解_python模块之email: 电子邮件编码解码 (一、解码邮件)-阿里云开发者社区...
- R语言包在linux上的安装等知识
- maxcompute 2.0复杂数据类型之struct
- vim编辑环境设定[Linux]
- pandas(六) -- 合并、连接、去重、替换
- 微云服务器失败原因_梦幻西游:服务器发生异常?游戏出现明显卡顿感,正在排查问题...
- C++——二进制输出一个数以及输出double型位数过多情况
- canon mp 258清零方法
- WebStorm开发插件
- 创建美区苹果账户ID
- CUDA10,Torch安装解决NOTFOUND CUDA_cublas_device_LIBRARY,Ubuntu16.04安装torch遇到的错误
- 全民写作一夜成名 Web2.0:作家造富路线图
- 支持向量机的特点,优点缺点
- 频繁默认网关不可用_Win10经常断网提示默认网关不可用的解决方法
- 【毕设记录日记】深度学习|铝型材表面缺陷视觉检测算法:YOLOv5环境搭建、基础知识、问题解决、优化方法
- linux红帽子安装ftp,Red Hat Enterprise Linux 5 (红帽子企业版5)下Samba, VSFTP配置与安装...
- 三星手机性能测试软件,5部手机性能测试:红米垫底三星倒数第三 第一当之无愧...
- 国开电大 公共关系学 形考任务答案 实训项目
- Win10分屏HDMI检测不到显示器
- 鲸会务一站式智能会议系统帮助主办方实现数字化会议管理