MobileNet系列之MobileNet_v2
Inception系列之Batch Normalization
导言:
MobileNet_v2提出了一些MobileNet_v1存在的一些问题,并在此基础上提出了改进方案。其主要贡献为提出了线性瓶颈(Linear Bottlenecks)和倒残差(Inverted Residuals)。
关注公众号CV技术指南,及时获取更多计算机视觉技术总结文章。
01Linear Bottlenecks

如上图所示,MobileNet_v2提出ReLU会破坏在低维空间的数据,而高维空间影响比较少。因此,在低维空间使用Linear activation代替ReLU。如下图所示,经过实验表明,在低维空间使用linear layer是相当有用的,因为它能避免非线性破坏太多信息。

此外,如果输出是流形的非零空间,则使用ReLU相当于是做了线性变换,将无法实现空间映射,因此MobileNet_v2使用ReLU6实现非零空间的非线性激活。
上方提出使用ReLU会破坏信息,这里提出ReLU6实现非零空间的非线性激活。看起来有些难以理解。这里提出我自己的理解。
根据流形学习的观点,认为我们所观察到的数据实际上是由一个低维流形映射到高维空间的。由于数据内部特征的限制,一些高维中的数据会产生维度上的冗余,实际上这些数据只要比较低的维度的维度就能唯一的表示。

图像分布是在高维空间,神经网络中使用非线性激活函数实现将高维空间映射回低维流形空间。而这里提出使用ReLU6即增加了神经网络对非零空间的映射,否则,在非零空间使用ReLU相当于线性变换,无法映射回流形低维空间。而前文提出的使用线性激活函数来代替ReLU是在已经映射后的流形低维空间。
区别就是ReLU6是在将高维空间映射到流形低维空间时使用,Linear layer是在映射后的流形低维空间中使用。
其使用的如下表所示


02 Inverted Residuals
MobileNet_v1中的结构如下左图,MobileNet_v2如下右图。、

MobileNet_v2是在2018年发表的,此时ResNet已经出来了,经过几年的广泛使用表明,shortcut connection和Bottlenck residual block是相当有用的。MobileNet_v2中加入了这两个结构。

但不同的是,ResNet中的bottleneck residual是沙漏形的,即在经过1x1卷积层时降维,而MobileNet_v2中是纺锤形的,在1x1卷积层是升维。这是因为MobileNet使用了Depth wise,参数量已经极少,如果使用降维,泛化能力将不足。

此外,在MobileNet_v2中没有使用池化来降维,而是使用了步长为2的卷积来实现降维,此外如上图所示,步长为2的block没有使用shortcut connection。

这里的t是膨胀因子,取6。
Inverted residuals block 与ResNet中的residuals block对比如下图所示:

图来源于网络
ResNet中residual block是两端大,中间小。而MobileNet_v2是中间大,两端小,刚好相反,作者把它取名为Inverted residual block。
整体结构如下图所示:

论文里提到Bottleneck有19层,但其给出的结构图中却只有17层。
MobileNet_v2相比与MobileNet_v1,参数量有所增加,主要增加在于Depth wise前使用1x1升维。此外,在CPU上的推理速度也比后者慢,但精度更高。

本文来源于公众号 CV技术指南 的模型解读系列。
欢迎关注公众号 CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。
在公众号中回复关键字 “技术总结” 可获取以下文章的汇总pdf。

其它文章
MobileNet系列之MobileNet_v2的更多相关文章
- MobileNet系列
最近一段时间,重新研读了谷歌的mobilenet系列,对该系列有新的认识. 1.MobileNet V1 这篇论文是谷歌在2017年提出了,专注于移动端或者嵌入式设备中的轻量级CNN网络.该论文最大的 ...
- 卷积神经网络学习笔记——轻量化网络MobileNet系列(V1,V2,V3)
完整代码及其数据,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/DeepLearningNote 这里结合网络的资料和Mo ...
- 轻量化模型之MobileNet系列
自 2012 年 AlexNet 以来,卷积神经网络在图像分类.目标检测.语义分割等领域获得广泛应用.随着性能要求越来越高,AlexNet 已经无法满足大家的需求,于是乎各路大牛纷纷提出性能更优越的 ...
- 计算机视觉--CV技术指南文章汇总
前言 本文汇总了过去本公众号原创的.国外博客翻译的.从其它公众号转载的.从知乎转载的等一些比较重要的文章,并按照论文分享.技术总结三个方面进行了一个简单分类.点击每篇文章标题可阅读详细内容 欢迎关注 ...
- MovibleNet
MobileNet MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications MobileN ...
- MobileNetV1/V2/V3简述 | 轻量级网络
MobileNet系列很重要的轻量级网络家族,出自谷歌,MobileNetV1使用深度可分离卷积来构建轻量级网络,MobileNetV2提出创新的inverted residual with line ...
- 深度学习论文翻译解析(十九):Searching for MobileNetV3
论文标题:Searching for MobileNetV3 论文作者:Andrew Howard, Mark Sandler, Grace Chu, Liang-Chieh Chen, Bo Che ...
- CNN结构演变总结(一)经典模型
导言: 自2012年AlexNet在ImageNet比赛上获得冠军,卷积神经网络逐渐取代传统算法成为了处理计算机视觉任务的核心. 在这几年,研究人员从提升特征提取能力,改进回传梯度更新效果 ...
- 旷视MegEngine核心技术升级
旷视MegEngine核心技术升级 7 月 11 日,旷视研究院在 2020 WAIC · 开发者日「深度学习框架与技术生态论坛」上围绕 6 月底发布的天元深度学习框架(MegEngine)Beta ...
随机推荐
- Java堆的理解
堆的核心概述 所有的对象实例以及数组都应当在运行时分配在堆上 从实际实用角度看 --"几乎所有的对象实例都在堆中分配内存" 数组和对象可能永远不会存储在栈上,因为栈帧中保存引用,这 ...
- java中基本数据类型、包装类及字符串之间的相互转换
基本数据类型:不支持面向对象的编程机制(没有属性和方法),即不支持面向对象,之所以提供8中基本数据类型,是为了方便常规数据的处理. 包装类:通过包装类可以将基本数据类型的值包装为引用数据类型的对象,使 ...
- java基础——if和Swith的应用
顺序结构 java的基本结构就是顺序结构,除非特别说明,否则就按照一句一句的执行 它是任何一个算法都离不开的基本算法结构 选择结构 if单选择 if双选择 if多选择 嵌套的if结构 switch多选 ...
- 使用 MegaCLI 检测磁盘状态并更换磁盘
专栏首页阿dai_linux使用 MegaCLI 检测磁盘状态并更换磁盘 原 10
- 配置文件修改java安全级别和站点信息
配置文件修改java安全级别和站点信息原创Green_1001 最后发布于2015-04-22 23:00:09 阅读数 516 收藏展开 通过配置文件修改java安全级别 配置文件名称为deploy ...
- STM32 keil中编译遇到的问题
发现 移植的SPI程序 说里面的 SPI_InitTypeDef 所有有关 SPI库函数的都找不到 这是因为 用的是 原子的程序 在 config函数中 把这个注释了
- mysql数据库-备份与还原-Percona XtraBackup 2.4备份工具使用
目录 xtrabackup 特点 备份生成的相关文件 xtrabackup 安装 xtrabackup 用法 1 备份 2 预备份 3 还原 4 其他 还原注意事项 xtrabackup实现完全备份及 ...
- 我的Python书被台湾的出版社引进版权了,书的名字也更吸引人了
我去年出了一本Python书,基于股票大数据分析的Python入门实战,在这本书里,我是用股票范例讲述Pythorn的爬虫,数据分析和机器学习知识点,如下是京东的连接. https://item.jd ...
- CSS的起步
初学CSS CSS语法规范 选择器{样式} 给谁改样式{改什么样式} 写在style标签里 健值对形式,分号结尾 color:red; <style> p { color:red; fon ...
- 调试备忘录-SWD协议解析
目录--点击可快速直达 目录 写在前面 1 SWD协议简介 2 SWD物理层协议解析 2.1 SWD通信时序分析 2.2 SWD 寄存器简介 2.2.1 DP寄存器 2.2.2 AP寄存器 ...