本文提出了一种轻量级结构MobileNets。其基础是深度可分离卷积操作。

MobileNet具有两个超参数,可以调节精度(accuracy)和延迟(latency)之间的权衡。

1. 故事

现有的模型越来越深,越来越复杂,效率却有可能越来越低。这在实际应用中是无法接受的。

本文于是推出了一种网络,包含两个超参数,可以根据需求适配。

历史工作大多考虑让网络更小,即关注size而非latency。本文提出的网络同时关注这两点。

2. MobileNet

2.1 深度可分离卷积

深度可分离卷积 将 标准卷积操作 分解为 深度卷积 和 \(1 \times 1\)逐点卷积。

在 MobileNet中,深度卷积是对每一个通道分别卷积,逐点卷积就是对 深度卷积的输出通道 进行\(1 \times 1\)整合。【前者是空域的,后者是通道域的,二者完全解耦】

如图,先对\(M\)个输入通道分别空域卷积,得到\(M\)张特征图;然后再整合这些特征图,一共有\(N\)种整合方式,即得到\(N\)张特征图。

具体而言,深度卷积采用的是\(3 \times 3\)卷积核。

2.2 网络结构

网络整体结构如表:

  • 每一个卷积层都跟着一个BN和ReLU激活,除了最后一层。表中的dw就是深度卷积,如图:

  • 其中的降采样是通过步长卷积实现的(正常卷积默认步长为1)。

  • 最后是全局池化(每个通道的尺寸直接变为\(1 \times 1\)) => FC层。

  • 一共有28层卷积。

  • 【规律:通道尺寸不断下降;深度可分离卷积几乎是和正常卷积交替使用的;升通道数都用\(1 \times 1\)卷积完成;在低分辨率通道上卷积层数较多】

最后,我们不应该只关注乘法-加法的数量。我们还应该关注这些操作能否被有效实施。其中,\(1 \times 1\)卷积就是非常高效的矩阵乘法算子,并且对显存要求很低。这归功于GEMM函数。我们统计一下:

\(1 \times 1\)卷积的运算量和参数规模都是最大头的,这对网络有好处。

最后作者发现,由于深度可分离卷积的参数量不大,因此不应该使用weight decay。

2.3 引入两个超参数

首先引入的是通道数瘦身超参数(width multiplier)。在乘以该超参数后,输入和输出通道数都会变成原来的\(\alpha\)倍。典型值为0.75和0.5。

其次引入分辨率瘦身超参数(resolution multiplier)。不用过多解释了。

我们看看效果:

3. 实验

我们就看在ImageNet上的例子。效果不重要,关键是灵活的权衡方式。

Paper | 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 MobileNet由Go ...

  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 Intro MobileNet 我 ...

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

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

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

  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. 【翻译】spring-data 之JdbcTemplate 使用

    文档 Jdbc的使用 基础的代码结构: 一个Application作为入口.IUserRepository和UserRepository作为具体的实现.applicationContext.xml定义 ...

  2. 图片(jpg,png,tif等)批量转dicom(dcm)格式

    简介 医学领域专用工具,千金难求,可以批量把jpg.png.bmp.tif图片转换为dicom(dcm)格式,并且保持原有顺序,同时支持嵌入部分重要的dicom元数据,比如:病人姓名,病人生日等. 将 ...

  3. centos安装mongodb 4.x及配置用户名密码(官方推荐的方式)

    安装mongodb 先在本地用记事本做一个这样的文件(命名为:mongodb-org-4.0.repo): [mongodb-org-4.0] name=MongoDB Repository base ...

  4. 修改本地的host文件

    在C:\Windows\System32\drivers\etc下有一个host文件, 在里面可以修改本地的域名,比如我文件里添加一行: 10.0.33.79    devsuite.easthope ...

  5. 【zibbix自定义监控】zabbix服务自定义监控mysql的状态信息

    由于mysql我安装在zabbix_server服务的主机上,所以下面操作在zabbix服务主机上进行,注意服务主机已经安装了监控服务 实现步骤: 1.修改 zabbix_agentd.conf,添加 ...

  6. git分支合并解决冲突

    git分支合并,解决冲突 1.手动解决冲突 手动解决冲突,需要使用编辑器,把所有文件中出现的冲突地方修改,然后再添加到暂存区再提交 >>>>>>brancha so ...

  7. 【HDU6037】Expectation Division(动态规划,搜索)

    [HDU6037]Expectation Division(动态规划,搜索) 题面 Vjudge 你有一个数\(n\),\(n\le 10^{24}\),为了方便会告诉你\(n\)分解之后有\(m\) ...

  8. Disruptor系列(二)— disruptor使用

    本文译自Dirsruptor在github上的wiki中文章:Getting Started 获取Disruptor Disruptor jar包可以从maven仓库mvnrepository获取,可 ...

  9. MySQL for OPS 09:MHA + Atlas 实现读写分离高可用

    写在前面的话 前面做了 MHA 高可用,但是存在这样一个问题,我们花了 4 台机器,但是最终被利用起来的也就一台,主库.这样硬件利用率才 25%,这意味着除非发生故障,不然其他几台机器都是摆设.明显的 ...

  10. WPF MVVM,Prism,Command Binding

    1.添加引用Microsoft.Practices.Prism.Mvvm.dll,Microsoft.Practices.Prism.SharedInterfaces.dll: 2.新建文件夹,Vie ...