MobileNetV2: Inverted Residuals and Linear Bottlenecks
1. 摘要
作者提出了一个新的网络架构 MobileNetV2,该架构基于反转残差结构,其中的跳跃连接位于较瘦的瓶颈层之间。中间的扩展层则利用轻量级的深度卷积来提取特征引入非线性,而且,为了维持网络的表示能力作者去除了较窄层的非线性激活函数。
2. 讨论和直觉
2.1. 深度可分离卷积
MobileNetV2 采用和 MobileNetV1 一样 3×3 大小的深度可分离卷积,相比标准卷积可以减少 8 到 9 倍的计算量。
2.2. 线性瓶颈结构
长期以来,人们一直认为神经网络中的兴趣流形(mainfold of interest)也就是激活特征,可以被嵌入到低维子空间中。基于这个事实,我们可以通过减少某一层网络的维度也就是通道数来减少激活特征的空间维度。MobileNetV1 中的宽度因子就是用来减少激活空间的维度的,直到激活特征可以扩展出整个空间,我们就找到了一个最佳的参数。
但是,神经网络中还有非线性激活函数,这时候,上面的直觉就不成立了。比如 ReLU 会把负的激活值变为零,换句话说,深度网络仅在输出域的非零部分具有线性分类器的功能。如果 ReLU 使得某一个通道的一些值变为零,这会不可避免地带来那个通道的信息损失,但如果通道数比较多,我们就可以通过一种结构用其它通道的激活值来补偿这个损失。

用一个随机矩阵 \(T\) 将左边的螺旋线嵌入到 \(n\) 维空间然后用 ReLU 激活,再用 \(T^{-1}\) 投影回去。可以看到 \(n=2,3\) 时信息损失非常大,而维度较高时则恢复得比较好。
因此,为了避免损失太多信息,作者采用线性瓶颈层,也就是在通道数比较少的瓶颈层不采用非线性激活函数。
2.3. 反转残差

上图中每个块的厚度代表通道数的大小。可以看到,之前的残差结构先用一个 1×1 的卷积来降低通道数,然后进行一个卷积操作,最后再用一个 1×1 的卷积将通道数恢复到原始大小,跳跃连接建立在两个通道数比较多的层之间,并且每一层都采用 ReLU 激活。
而反转残差结构则是先用一个 1×1 的卷积来提高通道数,然后进行一个深度卷积操作,最后再用一个 1×1 的卷积将通道数降低到原始大小,跳跃连接建立在两个通道数比较少的瓶颈层之间,并且画阴影的两个块没有 ReLU 激活函数。
上图右边中间两层通道数比较多,所以采用激活函数,信息损失也没有那么大;而两端通道数比较少,如果激活的话信息损失会非常大,所以不采用激活函数。
详细结构如下所示,其中瓶颈层到中间层通道数的提升比例称之为扩展因子 t,激活函数采用 ReLU6,也就是限制激活的最大值为 6。

3. 网络结构

如上表所示,第一层是标准卷积,然后后面是前述的瓶颈结构。其中 t 是扩展因子,c 是输出通道数, n 是重复次数,s 代表步长。如果步长为 2 ,代表当前重复结构的第一个块步长为 2,其余的步长为 1,步长为 2 时则没有跳跃连接,如下图所示。

此外,也可以像 MobileNetV1 那样继续利用宽度乘子和分辨率乘子进一步降低模型的大小。
4. 实验结果
在 ImageNet 上的分类结果如下所示:

在 COCO 数据集上的目标检测结果如下图所示:

此外,作者还对比了不同的跳跃连接方式和是否采用线性瓶颈结构,进一步验证了网络设计的合理性。

获取更多精彩,请关注「seniusen」!

MobileNetV2: Inverted Residuals and Linear Bottlenecks的更多相关文章
- 深度学习论文翻译解析(十八):MobileNetV2: Inverted Residuals and Linear Bottlenecks
论文标题:MobileNetV2: Inverted Residuals and Linear Bottlenecks 论文作者:Mark Sandler Andrew Howard Menglong ...
- [论文阅读]MobileNetV2: Inverted Residuals and Linear Bottlenecks
0. 本文贡献点 本文的主要贡献点是一个构造了一个结构,称为the inverted residual with linear bottleneck.该结构与传统的residual bloc ...
- 论文-MobileNetV2: Inverted Residuals and Linear Bottlenecks
1.主要创新 1)提出了一种新的layer module:the inverted residual with linear bottleneck, 2)short connect被置于bottlen ...
- (原)MobileNetV2
转载请注明出处: https://www.cnblogs.com/darkknightzh/p/9410574.html 论文: MobileNetV2: Inverted Residuals and ...
- 从Inception v1,v2,v3,v4,RexNeXt到Xception再到MobileNets,ShuffleNet,MobileNetV2
from:https://blog.csdn.net/qq_14845119/article/details/73648100 Inception v1的网络,主要提出了Inceptionmodule ...
- 『高性能模型』轻量级网络MobileNet_v2
论文地址:MobileNetV2: Inverted Residuals and Linear Bottlenecks 前文链接:『高性能模型』深度可分离卷积和MobileNet_v1 一.Mobil ...
- 机器视觉:MobileNet 和 ShuffleNet
虽然很多CNN模型在图像识别领域取得了巨大的成功,但是一个越来越突出的问题就是模型的复杂度太高,无法在手机端使用,为了能在手机端将CNN模型跑起来,并且能取得不错的效果,有很多研究人员做了很多有意义的 ...
- face recognition[MobileFaceNet]
本文来自<MobileFaceNets: Efficient CNNs for Accurate Real-Time Face Verification on Mobile Devices> ...
- face recognition[MobiFace]
本文来自<MobiFace: A Lightweight Deep Learning Face Recognition on Mobile Devices>,时间线为2018年11月.是作 ...
随机推荐
- maven 依赖包找不到 (转)
1,手动添加jar包 例: maven在集成Oracle驱动的时候从远程仓库下载不下来ojdbc14 报missing artifact com.oracle:ojdbc14:jar:10.2.0.3 ...
- 12、rpm
1.什么是rpm 由红帽开发用于软件包的安装 升级 卸载 查询 2.rpm包是什么样? 组成部分是什么样的? zip-3.0-11.el7.x86_64.rpm #el7 zip-3.0-1. el6 ...
- plsql执行sql
第一步找执行的命令:: plsql ::::::::::File----->>>>Change Windows to ------->>>Command Wi ...
- wireshark 抓usb包
https://www.freebuf.com/articles/system/96216.html https://blog.csdn.net/shiailan/article/details/97 ...
- 前端form表单与css
form表单(******) 能够获取用户输入(输入,选择,上传的文件) 并且将用户输入的内容全部发送给后端 参数 action 控制数据提交的地址 三种书写方式 1.不写 默认就是朝当前这个页面所在 ...
- 【CF1187E】Tree Painting
题目大意:给定一棵 N 个点的树,初始全是白点.要求你做 N 步操作,每一次选定一个与一个黑点相隔一条边的白点,将它染成黑点,然后获得该白点被染色前所在的白色联通块大小的权值.第一次操作可以任意选点, ...
- PHP preg_match正则表达式
行定位符 ^表示开始 $表示结束 preg_match(模式,待搜索的字符串,$matches) 其中matches为可选参数,一旦匹配上,可以返回匹配结果 举个例子: $pattern = '/#\ ...
- Andrid Studio Gradle sync failed: A problem occurred configuring project ':app' 解决方法
Android Studio中进行Gradle sync 时出现了这个错误,Android Studio 出错提示是 Gradle sync failed: A problem occurred co ...
- 阻止默认/冒泡事件(兼容ie)
(1) 阻止默认事件 function(e){ if(e && e.preventDefault){ e.preventDefault(); }else{ //IE window.ev ...
- iOS-修改TableView分割线样式
实现代码: myTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine; 有三种样式: UITableViewCellS ...