轻量化网络 | MobileNet论文解析

简介: 轻量化网络 | MobileNet论文解析

62bf1e818a6a358b1af496849fe3b678.png

论文研究目标


提出了一种深度模型加速的算法,可以在基本不影响准确率的前提下大大减少计算时间和参数数量。为移动和嵌入式视觉应用提出了一种有效的解决方案。可以应用在目标检测、细粒度分类、人脸识别和大规模定位上。

83ade99397d90663e1da27671cf47d07.png

创新点


  • 将普通卷积层替换成深度可分离卷积(depthwise separable convolution)
  • 提出了两个缩小超参数模型:width multiplierresolution multiplier

MobileNet简介


虽然MobileNets在结构上与VGGNet类似,属于简单的流线型架构。但其使用深度可分离卷积层替换之前的全卷积层,以达到压缩参数数量并轻量化网络这一目标。

MobileNet除了第一层为全卷积层,其余层均为深度可分离卷积。不同于Deep Compression,因为网络在定义时结构简单,因此我们可以简单地搜索网络的拓扑结构,从头直接训练出一个效果很好的轻量化网络。

而MobileNet就是用来解决参数小和计算开销大的,采用的方法叫做深度可分离卷积。

算法结构


2db4f0164e57c15655113f181c9b4978.png

MobileNet的结构

MobileNet结构的定义如上图所示,除了最后的全连接层直接进行softmax分类,其余所有层之后都是批量正则化(BN层)和作为非线性激活函数的线性整流函数(ReLU层)。

下图比较了全卷积和深度可分离卷积(都跟着BN层和ReLU层)。通过有步长的逐深度卷积和第一层卷积,都能对图片进行空间上的下采样。最后一个平均池化层在全连接层之前,将特征图的空间分辨率降为1x1。将逐深度卷积(Depthwise Convolution)和逐点卷积(Pointwise Convolution)算为不同的层,MobileNet有28层。

53ce69155a7e7a62e5a5a422a9d8f080.png

左图是标准卷积,右图是深度可分离卷积

MobileNet(V1)的精髓其实就是深度可分离卷积。

深度可分离卷积


MobileNet模型的核心就是深度可分离卷积,它是因式分解卷积的一种。

具体地,深度可分离卷积将标准化卷积分解为逐深度卷积(depthwise convolution)和逐点1x1卷积(pointwise convolution)。对于MobileNets,逐个深度卷积将单个滤波器应用到每一个输入通道。然后,逐点卷积用1x1卷积来组合不同深度卷积的输出。在一个步骤,一个标准的卷积过程将输入滤波和组合成一组新的输出。深度可分离卷积将其分成两层,一层用于滤波,一层用于组合。这种分解过程能极大减少计算量和模型大小。下图展示了如何将一个标准卷积分解为深度卷积和1×1逐点卷积。

ad3d70114578bbb5a5fef0ed082092d7.png

标准卷积的分解过程

深度可分离卷积的参数量与计算量


MobileNet使用深度可分离卷积来破坏输出通道的数量和卷积核大小的相互作用。

标准的卷积运算,每次运算在滤波的同时,都涉及了所有输入通道特征的组合,从而产生新的特征。但是,滤波和组合步骤可以通过使用因式分解卷积(包括深度可分离卷积)分为两个步骤,以显著降低计算成本。

深度可分离卷积由两层构成:

  • 逐层卷积
  • 逐点卷积

我们使用逐层卷积对每个输入通道(输入特征图的深度)执行单个滤波器卷积。逐点卷积(1x1卷积)用来创建逐深度卷积层的线性组合。MobileNet对两层卷积层都使用了批量正则化(Batch Normalization , BN)和线性整流函数(ReLU)作为非线性激活函数。

逐层卷积可以被写作以下形式(每个输入通道一个滤波器):

image.png

image.png

深度可分离卷积,就是上述两种卷积层操作的组合。

MobileNets使用3x3的深度可分离卷积比标准的卷积减少了8-9倍的计算复杂度,而与此同时准确率只减少了一点点。

空间维度的因式分解不会节省大量的计算复杂度,因为相比于其他直接做因式分解的模型[3][4]深度可分离卷积计算复杂度很小。

算法效果分析


由之前的分析,若只考虑浮点数运算,则一组二维卷积核完成逐深度卷积的运算量为:


image.png

image.png

两个shrink超参数模型


width multiplier


image.png

resolution multiplier

第二个hyper-parameter减少神经网络的计算成本是分辨率乘数ρ。这给输入图像和内部表现的每一层随后都减少了相同的乘法器。在实践中我们隐式地设置ρ通过设置输入分辨率。我们现在可以把我们的网络的核心层的计算成本换成深度可分离卷积并与width multiplierα和resolution multiplier乘数ρ相结合:

image.png

MobileNet模型训练过程:


  • 使用tensorflow或pytorch
  • 与inception v3相似的异步梯度下降
  • 使用较少的正则和数据增强,因为小模型过拟合的概率不大。
  • 我们不使用侧头或标签平滑
  • 限制在inception中的小尺寸剪裁的数量。
  • 权重衰减(l2正则化)使用较少或没有使用,因为该模型参数本来就不多。

在不同task上的结果


7da46ac426ed29acc2e342a0dadcb1c7.png

29fe517a43a368806aab6a0a698f64f5.png

053d8234d8c28d46e22bf3d97c7c0025.png

开源代码


https://github.com/Zehaos/MobileNet

相关文章
|
2月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
7月前
|
人工智能 监控 安全
NTP网络子钟的技术架构与行业应用解析
在数字化与智能化时代,时间同步精度至关重要。西安同步电子科技有限公司专注时间频率领域,以“同步天下”品牌提供可靠解决方案。其明星产品SYN6109型NTP网络子钟基于网络时间协议,实现高精度时间同步,广泛应用于考场、医院、智慧场景等领域。公司坚持技术创新,产品通过权威认证,未来将结合5G、物联网等技术推动行业进步,引领精准时间管理新时代。
|
3月前
|
机器学习/深度学习 资源调度 算法框架/工具
AI-ANNE: 将神经网络迁移到微控制器的深度探索——论文阅读
AI-ANNE框架探索将深度学习模型迁移至微控制器的可行路径,基于MicroPython在Raspberry Pi Pico上实现神经网络核心组件,支持本地化推理,推动TinyML在边缘设备中的应用。
243 10
|
3月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
415 11
|
3月前
|
机器学习/深度学习 边缘计算 算法
SEENN: 迈向时间脉冲早退神经网络——论文阅读
SEENN提出一种时间脉冲早退神经网络,通过自适应调整每个样本的推理时间步数,有效平衡脉冲神经网络的准确率与计算效率。该方法基于置信度判断或强化学习策略,在保证高精度的同时显著降低能耗与延迟,适用于边缘计算与实时处理场景。
202 13
|
3月前
|
机器学习/深度学习 缓存 算法
2025年华为杯A题|通用神经网络处理器下的核内调度问题研究生数学建模|思路、代码、论文|持续更新中....
2025年华为杯A题|通用神经网络处理器下的核内调度问题研究生数学建模|思路、代码、论文|持续更新中....
439 1
|
3月前
|
安全 网络性能优化 网络虚拟化
网络交换机分类与功能解析
接入交换机(ASW)连接终端设备,提供高密度端口与基础安全策略;二层交换机(LSW)基于MAC地址转发数据,构成局域网基础;汇聚交换机(DSW)聚合流量并实施VLAN路由、QoS等高级策略;核心交换机(CSW)作为网络骨干,具备高性能、高可靠性的高速转发能力;中间交换机(ISW)可指汇聚层设备或刀片服务器内交换模块。典型流量路径为:终端→ASW→DSW/ISW→CSW,分层架构提升网络扩展性与管理效率。(238字)
938 0
|
4月前
|
XML JSON JavaScript
从解决跨域CSOR衍生知识 Network 网络请求深度解析:从快递系统到请求王国-优雅草卓伊凡
从解决跨域CSOR衍生知识 Network 网络请求深度解析:从快递系统到请求王国-优雅草卓伊凡
132 0
从解决跨域CSOR衍生知识 Network 网络请求深度解析:从快递系统到请求王国-优雅草卓伊凡
|
6月前
|
开发者
鸿蒙仓颉语言开发教程:网络请求和数据解析
本文介绍了在仓颉开发语言中实现网络请求的方法,以购物应用的分类列表为例,详细讲解了从权限配置、发起请求到数据解析的全过程。通过示例代码,帮助开发者快速掌握如何在网络请求中处理数据并展示到页面上,减少开发中的摸索成本。
鸿蒙仓颉语言开发教程:网络请求和数据解析

热门文章

最新文章

推荐镜像

更多
  • DNS