[论文理解] 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 ...
随机推荐
- 拓展kmp模板
算法描述:设字符串T,长度为n,字符串S,长度为m.在线性时间内求出T的每一个后缀所对应S的最长前缀. 假设T=“AAAAB”,S="AAAA". //拓展KMP ; //字符串长 ...
- Json.net的常用语句JsonConvert.SerializeObject(对象)
在ajax的已不请求中,常常返回json对象.可以利用json.net给我们提供的api达到快速开发. 例子: using System;using System.Collections;using ...
- windows和Dos常见命令总结
linux最常见命令 (1) pwd命令pwd (即print working directory,打印工作路径) 命令的功能是显示当前的工作路径.如现在是在“/home/CAI”目录下,则可以用此命 ...
- 《深度学习-改善深层神经网络》-第二周-优化算法-Andrew Ng
目录 1. Mini-batch gradient descent 1.1 算法原理 1.2 进一步理解Mini-batch gradient descent 1.3 TensorFlow中的梯度下降 ...
- 【转】PHP实现下载与压缩文件的封装与整理
[转]PHP实现下载与压缩文件的封装与整理 https://mp.weixin.qq.com/s/BUI3QsdNi6Nqu0NhrUL8hQ 一.PHP实现打包zip并下载功能 $file_t ...
- AGC001 E - BBQ Hard【dp+组合数学】
首先直接按要求列出式子是\( \sum_{i=1}^{n}\sum_{j=i+1}^{n}C_{a_i+a_j+b_i+b_j}^{a_i+a_j} \) 这样显然过不了,因为ab的数据范围比较小,所 ...
- eclipse中设置vm后缀文件以html高亮形式显示
第一步,打开Windows-preference-General-ContentTypes-Text-HTML 第二步,点击Add添加 "*.vm",Default-encodin ...
- 剑指Offer的学习笔记(C#篇)-- 二叉树的深度(详讲递归)
题目描述 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 一 . 思维发散 借助这个题目,我想用一个更好理解的方法说一说递归. ...
- try catch finally的执行顺序学习
try catch finally的执行顺序学习 首先执行try,如果有异常执行catch,无论如何都会执行finally,当有return以后,函数就会把这个数据存储在某个位置,然后告诉主函数, ...
- 数学补天 By cellur925
质数 bool prime(int q) { ||q==) ; ) ; !=||q%!=) ; int cnt=sqrt(q); ;i<=cnt;i+=) !=||q%(i+)!=) ; ; } ...