论文地址:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

  • MobileNet由Google提出的一种新的卷积计算方法,旨在加速卷积计算过程。
  • 为了减小网络模型大小,提出了两种比较暴力的裁剪方法。

(1) 直接对channel进行裁剪,这种随机砍掉一些channel,也太暴力了吧,砍多了效果肯定不好,想想都知道。

(2) 减少输入图像的分辨率,也就是减小输入的尺寸大小。

  • 我们还是关注新的卷积计算方法,要做压缩的话,还是另辟蹊径。

1. Full convolution VS. Depthwise separable convolution

1.1 Full convolution

  • M表示输入的channel, N表示输出的channel,Dk表示kernel size.
  • 我们可以看到输出的每一个channel,都跟所有的输入channel有关,也就是说,对于输出的一个channel,都是M个kernel与M个channel卷积以后的求和结果。
  • 差别就在这里!在depthwise separable中,每一个输出的channel,只和一个输入的channel有关。

1.2 Depthwise separable convolution

  • 输入M个channel,那么输出也是M个channel,每一个channel都是由一个kernel在一个channel卷积以后得到的结果,不在是和所有的输入相关了。这也就是为什么名字叫做depthwise separable(深度级的分离,channel的分离)。

  • 但是我们发现输出只有M个channel,而我们想要输出N个channel,这个时候我们应该想到1*1的convolution,这个时候的卷积就是full convolution。这个时候输出的每一个channel都和输入有关了,相当于输入的加权求和。所以1x1的卷积有联合(combine)的作用。

2. 计算量对比

  • 只要理解了两个的差别,不难算出计算直接的差别。

  • Dk表示kernel size, M表示输入的channel,也就是feature map的个数,N表示输出的channel。Df表示feature map的大小,也就是width和height, 上面这个式子再一次验证了我们上面说的,输出的每一个channel都和输入的所有channel有关。

  • 求和的左半部分,表示depthwise separable的计算量,可以看到输出为M个channel,每个输出channel只和一个channel有关。

  • 求和的有半部分,表示1x1 pointwise convolution,可以看到每一个输出channel,都和M个输入有关(M个输入的加权求和)。

  • 计算量较少比例

3. 模型压缩

上面公式可以看到直接对输入的M个channel进行的压缩(随机采样)

上面公式可以看到对不仅对输出的channel进行了采样,对输入图像的分辨率也进行了减小。

4. 对比实验

4.1 参数量的对比

4.2 实验结果

5. 实现

6. 总结

  • 根据实践经验的总结,这种新的卷积计算方式,对运算速度的改进还是比较明显的,精度影响不是很大,至于文中说的两个裁剪方法,我觉得还是慎重使用比较好。
  • 现在市面上已经有很多裁剪方法了,没必要用这么暴力的进行裁剪来压缩模型大小。

论文笔记——MobileNets(Efficient Convolutional Neural Networks for Mobile Vision Applications)的更多相关文章

  1. [论文阅读] MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications (MobileNet)

    论文地址:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications 本文提出的模型叫Mobi ...

  2. [论文理解] MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

    MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications Intro MobileNet 我 ...

  3. 【论文翻译】MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

    MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications 论文链接:https://arxi ...

  4. 深度学习论文翻译解析(十七):MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

    论文标题:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications 论文作者:Andrew ...

  5. 【网络结构】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 ...

  6. Paper | MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

    目录 1. 故事 2. MobileNet 2.1 深度可分离卷积 2.2 网络结构 2.3 引入两个超参数 3. 实验 本文提出了一种轻量级结构MobileNets.其基础是深度可分离卷积操作. M ...

  7. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

    1. 摘要 作者提出了一系列应用于移动和嵌入式视觉的称之为 MobileNets 的高效模型,这些模型采用深度可分离卷积来构建轻量级网络. 作者还引入了两个简单的全局超参数来有效地权衡时延和准确率,以 ...

  8. 【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 ...

  9. 深度学习论文翻译解析(六):MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Appliications

    论文标题:MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Appliications 论文作者:Andrew ...

随机推荐

  1. 启动HDFS

    $cd /app/hadoop/hadoop-2.2.0/sbin $./start-dfs.sh

  2. requests爬取百度贴吧:python 美女 3

    import requests import sys class Tieba(object): def __init__(self, tieba_name, pn): self.tieba_name ...

  3. (4.15)存储DAS,NAS,SAN在数据库存储上的应用

    关键词:存储,硬盘接口类型,磁盘类型,网络类型,DAS,DNS,SAN 转自:http://blog.51cto.com/qianzhang/1254617 一. 硬盘接口类型 1. 并行接口还是串行 ...

  4. Lintcode: Kth Prime Number (Original Name: Ugly Number)

    Ugly number is a number that only have factors 3, 5 and 7. Design an algorithm to find the kth numbe ...

  5. Bus,Exclusive access,memory attribute

    指令LDREX,STREX是在armv6中新加的指令,配合AMBA3--AXI中的lock[1:0]信号. 在Atomic Access一节中是这么规定的:ARLOCK[1:0]/AWLOCK[1:0 ...

  6. SV中的覆盖率

    SV采用CRT的激励形式,而判断验证进度的标准也就是覆盖率(coverage). 覆盖率的两种指定形式:显式的,直接通过SV来指定出的,如SVA,covergroup. 隐式的,在验证过程中,随&qu ...

  7. 171. Excel Sheet Column Number(简单数学题)

    Given a column title as appear in an Excel sheet, return its corresponding column number. For exampl ...

  8. bootstrap3浏览器支持情况

    Internet Explorer 8 和 9 是被支持的,但是还是有很多CSS3属性和HTML5元素 -- 例如,圆角矩形和投影 -- 是肯定不被支持的.另外,Internet Explorer 8 ...

  9. 错误源:.net SqlClient data provider

    下午在做毕业设计的时候,想删除数据库的一条数据,结果发现删除的时候老是出现 ======错误源:.net SqlClient data provider==== 这样的错误:本来以为是我还在运行着项目 ...

  10. Description Resource Path LocationType Java compiler level does not match the version of the instal

    从别的地方导入进来的maven项目报: Description Resource Path Location TypeJava compiler level does not match the ve ...