[论文理解] MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
Intro
MobileNet 我已经使用过tensorflow的api在实际场景中取得了很实时的识别效果,其论文的贡献是利用depth-wise卷积和point-wise卷积对一般的卷积核进行优化,使得网络模型的卷积计算量大大减小。这一贡献使得Mobile-Net能够在移动设备上顺利运行,并且取得不错的速度和精度。

Depthwise Separable Convolution
对于标准的卷积而言,假设输入的是DF*DF*M的feature map F,并且生成DG*DG*N的feature map G,使用N个DK*DK*M的kernel去卷积,其对应关系为(步长为1):

total 计算量如下:

举例子说明标准的卷积过程和计算量:
取输入为7*7*3的feature map,卷积核3*3*3,那么需要不考虑padding的情况下滑动的次数就是5*5次,最后三个通道的对应数据加和压缩到一个通道,即完成卷积过程。我们假设有128个卷积核卷积输入图像(即输出通道数是128),那么我们的乘法计算量就是如图所示的86400次。

depth-wise和point-wise卷积的方式是先只用一个3*3的卷积核去卷积原图像,然后再用1*1*3的卷积核去卷积第一次卷积的结果,这样将原来的128次3*3的卷积拆分成了两次卷积,即两次卷积的加和,很明显这个加法比前面的直接相乘的计算量大大减小,这也是mobile-net计算量大大减小的原因。

同样上面的例子,用Depthwise Separable Convolution之后的过程如下图所示,计算量仅仅10275,为标准卷积的12%!

Network Structure and Training
下图是标准卷积和depth-wise卷积的对应关系。

mobile-net的网络结构和参数情况如下图:

dw是depth-wise卷积的简称。
之后作者又提出模型可以再减少计算量,通过引入参数α,即减少dw过程中参与计算的输入通道数量和输出通道数量,引入之后计算量如图所示。

然后,又加了一个超参ρ,作用也是减少计算量,作用在输入feature map的size上。

Conclusion
mobile-net提出的Depthwise Separable Convolution使得深度模型的计算量大大减小,但其减少计算量的同时其实也失去了一定的精度,比如,对于较小模型而言,如果采用这种计算,那么模型的能力可能会下降,这样得到的模型肯定不是最好的,减少了模型的参数数量,很可能使得模型得不到最好的拟合效果。
[论文理解] MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications的更多相关文章
- 论文笔记——MobileNets(Efficient Convolutional Neural Networks for Mobile Vision Applications)
论文地址:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications MobileNet由Go ...
- [论文阅读] MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications (MobileNet)
论文地址:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications 本文提出的模型叫Mobi ...
- 【论文翻译】MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications 论文链接:https://arxi ...
- 深度学习论文翻译解析(十七):MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
论文标题:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications 论文作者:Andrew ...
- 【网络结构】MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications论文解析
目录 0. Paper link 1. Overview 2. Depthwise Separable Convolution 2.1 architecture 2.2 computational c ...
- Paper | MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
目录 1. 故事 2. MobileNet 2.1 深度可分离卷积 2.2 网络结构 2.3 引入两个超参数 3. 实验 本文提出了一种轻量级结构MobileNets.其基础是深度可分离卷积操作. M ...
- MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
1. 摘要 作者提出了一系列应用于移动和嵌入式视觉的称之为 MobileNets 的高效模型,这些模型采用深度可分离卷积来构建轻量级网络. 作者还引入了两个简单的全局超参数来有效地权衡时延和准确率,以 ...
- 【MobileNet-V1】-2017-CVPR-MobileNets Efficient Convolutional Neural Networks for Mobile Vision Applications-论文阅读
2017-CVPR-MobileNets Efficient Convolutional Neural Networks for Mobile Vision Applications Andrew H ...
- 深度学习论文翻译解析(六):MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Appliications
论文标题:MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Appliications 论文作者:Andrew ...
随机推荐
- 自己在项目中写的一个Jquery插件和Jquery tab 功能
后台查询结果 PDFSearchResult实体类: [DataContract(Name = "PDFSearchResult")] public class PDFSearch ...
- 写守护进程时碰到open函数的参数,没记住
今天写一个最简单的守护进程, 要成为一个守护进程,其实很简单了.主要步骤就4步: 1,创建进程. 2,父进程退出. 3,成为会话的头领进程. 4,将工作目录改成根目录,并把标准输入输出重定向到空设备. ...
- Invalidate()这个函数有什么用?
c++中的这个函数,一会是刷新窗口的作用,一会是使区域无效.我搞不懂这个函数究竟是有什么作用?谢谢赐教. void Invalidate( BOOL bErase = TRUE ); 该函数的作用是使 ...
- GitHub上最火爆!码代码不得不知的所有定律法则
目录 介绍 定律 阿姆达尔定律 (Amdahl's Law) 布鲁克斯法则 (Brooks's Law) 康威定律 (Conway's Law) 侯世达定律 (Hofstadter's Law) 技术 ...
- JavaScript巩固篇(一)——数据类型与全局变量、局部变量、垃圾回收机制、存储方式、生命周期
知识要点 数据类型 存储方式 全局变量与局部变量 变量的生命周期 垃圾回收机制 知识概览 数据类型 JavaScript的数据类型分为:基本类型.引用类型 本质区别: 基本数据类型的变量实际值存储在栈 ...
- bzoj 2632: [neerc2011]Gcd guessing game【贪心】
这个告诉gcd的操作实际上就是告诉一个因数是否选,最坏情况是1,判断掉所有因数才能选 然后肯定是用猜不重复质数积比较划算,问题就变成若干个质数,分成数量尽量小每组乘积<=n的若干组 从大质数开始 ...
- js实现考试随机选题
考试的时候经常用到,发在这里记录一下 基本信息包括: 学号.姓名.题号.题目名称 实现原理:给每一个题目添加一个编号,JS生成随机数,遍历每一个学生,把题目根据生成的随机数作为题目编号放入学生信息中 ...
- maven分层架构搭建
1.准备工作: 1.创建数据源 CREATE TABLE `users` ( `id` int(10) NOT NULL AUTO_INCREMENT, `name` varchar(20) DEFA ...
- Mac下磁盘无法抹除问题解决
安装CentOS到扩容卡,每次安装都会造成bootcamp分区的windows出问题,遂安装ubantu,结果扩容卡有问题-->无法读取您的磁盘,打开磁盘工具无法抹除,由于无法读取在window ...
- Kaggle 数据挖掘比赛经验分享
文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 来源 | 腾讯广告算法大赛 作者 | 陈成龙 Kaggle 于 2010 年创立,专注数据科学,机器学 ...