Google论文解读:轻量化卷积神经网络MobileNetV2 | PaperDaily #38
在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考。
在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果。
点击本文底部的「阅读原文」即刻加入社区,查看更多最新论文推荐。
本期推荐的论文笔记来自 PaperWeekly 社区用户 @chenhong。
本文是 Google 团队在 MobileNet 基础上提出的 MobileNetV2,其同样是一个轻量化卷积神经网络。目标主要是在提升现有算法的精度的同时也提升速度,以便加速深度网络在移动端的应用。
如果你对本文工作感兴趣,点击底部的阅读原文即可查看原论文。
关于作者:陈泰红,小米高级算法工程师,研究方向为人脸检测识别,手势识别与跟踪。
■ 论文 | Inverted Residuals and Linear Bottlenecks: Mobile Networks forClassification, Detection and Segmentation
■ 链接 | https://www.paperweekly.site/papers/1545
■ 源码 | https://github.com/Randl/MobileNet2-pytorch/
论文动机
很多轻量级的 CNN 模型已经在便携移动设备应用(如手机):MobileNet、ShuffleNet 等,但是效果差强人意。
本文是 Google 团队在 MobileNet 基础上提出的 MobileNetV2,实现分类/目标检测/语义分割多目标任务:以 MobileNetV2 为基础设计目标检测模型 SSDLite(相比 SSD,YOLOv2 参数降低一个数量级,mAP 无显著变化),语义分割模型 Mobile DeepLabv3。
MobileNetV2 结构基于 inverted residual。其本质是一个残差网络设计,传统 Residual block 是 block 的两端 channel 通道数多,中间少,而本文设计的 inverted residual 是 block 的两端 channel 通道数少,block 内 channel 多,类似于沙漏和梭子形态的区别。另外保留 Depthwise Separable Convolutions。
论文模型在 ImageNet classification,COCO object detection,VOC image segmentation 等数据集上进行了验证,在精度、模型参数和计算时间之前取得平衡。
Preliminaries, discussion and intuition
1. Depthwise Separable Convolutions
首先对每一个通道进行各自的卷积操作,有多少个通道就有多少个过滤器。得到新的通道 feature maps 之后,这时再对这批新的通道 feature maps 进行标准的 1×1 跨通道卷积操作。
标准卷积操作计算复杂度,Depthwise Separable Convolutions 计算复杂度
,复杂度近似较少近似 k*k。
2. Linear Bottlenecks
本篇文章最难理解的是这部分,论文中有两个结论:
If the manifold of interest remains non-zero volume after ReLU transformation, it corresponds to a linear transformation.
感兴趣区域在 ReLU 之后保持非零,近似认为是线性变换。
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 能够保持输入信息的完整性,但仅限于输入特征位于输入空间的低维子空间中。
对于低纬度空间处理,论文中把 ReLU 近似为线性转换。
3. Inverted residuals
inverted residuals 可以认为是 residual block 的拓展。在 0<t<1,其实就是标准的残差模块。论文中 t 大部分为 6,呈现梭子的外形,而传统残差设计是沙漏形状。
模型结构
论文提出的 MobileNetV2 模型结构容易理解,基本单元 bottleneck 就是 Inverted residuals 模块,所用到的 tricks 比如 Dwise,就是 Depthwise Separable Convolutions,即各通道分别卷积。表 3 所示的分类网络结构输入图像分辨率 224x224,输出是全卷积而非 softmax,k 就是识别目标的类别数目。
1. MobileNetV2
MobileNetV2 的网络结构中,第 6 行 stride=2,会导致下面通道分辨率变成14x14,从表格看,这个一处应该有误。
2. MobileNetV1、MobileNetV2 和 ResNet 微结构对比
可以看到 MobileNetV2 和 ResNet 基本结构很相似。不过 ResNet 是先降维(0.25 倍)、提特征、再升维。而 MobileNetV2 则是先升维(6 倍)、提特征、再降维。
实验
1. ImageNet Classification
表 3 在 ImageNet 数据集对比了 MobileNetV1、ShuffleNet,MobileNetV2 三个模型的 Top1 精度,Params 和 CPU(Google Pixel 1 phone)执行时间。MobileNetV2 运行时间 149ms,参数 6.9M,Top1 精度 74.7。
在 ImageNet 数据集,依 top-1 而论,比 ResNet-34,VGG19 精度高,比 ResNet-50 精度低。
2. Object Detection
论文以 MobileNetV2 为基本分类网络,实现 MNet V2 + SSDLite,耗时 200ms,mAP 22.1,参数只有 4.3M。相比之下,YOLOv2 mAP 21.6,参数50.7M。模型的精度比 SSD300 和 SSD512 略低。
3. Semantic Segmentation
当前 Semantic Segmentation 性能最高的架构是 DeepLabv3,论文在 MobileNetV2 基础上实现 DeepLabv3,同时与基于 ResNet-101 的架构做对比,实验效果显示 MNet V2 mIOU 75.32,参数 2.11M,而 ResNet-101 mIOU80.49,参数 58.16M,明显 MNet V2 在实时性方面具有优势。
结论
CNN 在 CV 领域突破不断,但是在小型化性能方面却差强人意。目前 MobileNet、ShuffleNet 参数个位数(单位 M)在 ImageNet 数据集,依 top-1 而论,比 ResNet-34,VGG19 精度高,比 ResNet-50 精度低。实时性和精度是一对欢喜冤家。
本文最难理解的其实是 Linear Bottlenecks,论文中用很多公式表达这个思想,但是实现上非常简单,就是在 MobileNetV2 微结构中第二个 PW 后无 ReLU6。对于低维空间而言,进行线性映射会保存特征,而非线性映射会破坏特征。
本文由 AI 学术社区 PaperWeekly 精选推荐,社区目前已覆盖自然语言处理、计算机视觉、人工智能、机器学习、数据挖掘和信息检索等研究方向,点击「阅读原文」即刻加入社区!
# 榜 单 公 布 #
2017年度最值得读的AI论文 | NLP篇 · 评选结果公布
2017年度最值得读的AI论文 | CV篇 · 评选结果公布
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。
▽ 点击 | 阅读原文 | 查看原论文
Google论文解读:轻量化卷积神经网络MobileNetV2 | PaperDaily #38相关推荐
- 沐神点赞!同济子豪兄精读AI经典论文,包括图像分类、目标检测、生成对抗网络、轻量化卷积神经网络等领域...
读研/读博的你,是不是符合: 毕设/研一/博一科研小白刚进课题组,不知道如何写开题报告和综述? 前沿顶会.期刊论文.综述文献浩如烟海,不知道学习路径,无从下手? 导师放养,既不懂也不管,师兄各忙各的, ...
- 纵览轻量化卷积神经网络:SqueezeNet、MobileNet、ShuffleNet、Xception
https://zhuanlan.zhihu.com/p/32746221 https://zhuanlan.zhihu.com/p/35405071 一.简介 虽然网络性能得到了提高,但随之而来的就 ...
- 轻量化卷积神经网络:SqueezeNet、MobileNet、ShuffleNet、Xception
一 引言 二 轻量化模型 2.1 SqueezeNet 2.2 MobileNet 2.3 ShuffleNet 2.4 Xception 三 网络对比 一 引言 自2012年AlexNet以来,卷积 ...
- 清华大学软件定义芯片团队的高能效量化卷积神经网络加速芯片入选固态电路顶级会议ISSCC 2021...
允中 发自 凹非寺 量子位 编辑 | 公众号 QbitAI 2021年2月13日-22日,第68届国际固态电路会议(ISSCC)通过线上模式顺利召开.清华大学魏少军.刘雷波教授团队作了题为" ...
- 清华 | 量化卷积神经网络加速芯片
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:量子位 AI博士笔记系列推荐 周志华<机器学习> ...
- DeepLabV3论文解读(空洞卷积/膨胀卷积 理解)
DeepLabV3论文解读(空洞卷积/膨胀卷积 理解) 最近在做基础网络研究,设计的网络结构除了在分类数据集上测试,还需要在分割和检测网络上测试效果,故选择了DeepLabV3作为对比平台.本想直接替 ...
- 基于Pytorch再次解读NiN现代卷积神经网络和批量归一化
个人简介:CSDN百万访问量博主,普普通通男大学生,深度学习算法.医学图像处理专攻,偶尔也搞全栈开发,没事就写文章,you feel me? 博客地址:lixiang.blog.csdn.net 基于 ...
- 基于Pytorch再次解读DenseNet现代卷积神经网络
个人简介:CSDN百万访问量博主,普普通通男大学生,深度学习算法.医学图像处理专攻,偶尔也搞全栈开发,没事就写文章,you feel me? 博客地址:lixiang.blog.csdn.net 基于 ...
- 基于Pytorch再次解读LeNet-5现代卷积神经网络
个人简介:CSDN百万访问量博主,普普通通男大学生,深度学习算法.医学图像处理专攻,偶尔也搞全栈开发,没事就写文章,you feel me? 博客地址:lixiang.blog.csdn.net 基于 ...
最新文章
- 模拟实现智能指针auto_ptr,scoped_ptr,shared_ptr
- 登录form php一个页面跳转页面,form表单页面跳转方式提交练习
- 支持向量机—核函数源码分析(2)
- 微信小程序小结(3) -- 使用wxParse解析html及多数据循环
- mips汇编计算开方_读美国伊利诺伊理工大学计算机科学硕士能学到什么?
- 计算机管理系统绪论,数据库系统概论 第一章 绪论
- python 多线程 paramiko实现批量命令输入输出
- Web worker总结
- 机顶盒固件简单做刷机包方法
- 提高工作效率的软件推荐——我的ABC软件工具箱 6.0 最新版上线啦
- Vue.js菜鸟教程自学(一)
- 运营商价格战终于打起来了,中国联通也有19元套餐
- 《从零开始做运营(张亮)》读书笔记
- Linux操作系统普通用户与root之间的切换
- 未来十大最热门职业,可能消失的职业
- 关于生活、职场的犀利、讽刺言论,网友们都是奇才!
- 达奇机器人编程学院_Wonder Workshop Dash Robot 达奇STEM编程机器人 中英文双语版
- MySQL索引的详细分析和数据结构
- codeforces1492 D. Genius‘s Gambit python
- Kutools for Excel v26.10 Excel插件工具箱中文版
热门文章
- idea 添加静态注释和live Templates
- Python 过滤字母和数字
- PHP多进程编程初步
- Vue之旅-Vue环境搭建
- MVC学习之简单的CRUD
- 使用SQL脚本创建数据库,操作主键、外键与各种约束(MS SQL Server)
- anaconda怎么使用python包_Anaconda中python包的介绍与使用方法
- laravel 调试mysql_Laravel - MySQL数据库的使用详解3(Query Builder用法2:新增、修改、删除)...
- 《软件测试方法和技术》,《软件测试方法和技术》.ppt
- 开源版本_开源版本PowerShell Core 6.2 发布