MobileNetsV1、MobileNetsV2、MobileNetsV3

参考来源:

汇总

MobileNetsV1特性:

MobileNetsV2特性 :

MobileNetsV3特性 : 

三者特性汇总:

MobileNetsV1

MobileNet网络是由google团队在2017年提出的,专注于移动端或者嵌入式设备中的轻量级CNN网络。相比传统卷积神经网络,在准确率小幅降低的前提下大大减少模型参数与运算量。

主要贡献

  1. 深度可分离卷积(Depthwise Separable Convolution):文章提出了使用深度可分离卷积作为构建轻量级CNN的核心。这种卷积将传统的卷积操作分解为深度卷积和点卷积两个步骤,大幅减少了计算量和模型大小。

  2. 全局超参数:引入了宽度乘数(width multiplier)和分辨率乘数(resolution multiplier)两个简单的全局超参数,允许模型构建者根据应用的资源限制(延迟、大小)灵活地选择合适大小的模型。

  3. 模型架构的简化:MobileNet的架构设计简化了网络结构,除了第一层使用全卷积外,其余层均采用深度可分离卷积,并通过批量归一化(batch normalization)和ReLU激活函数来提高效率。

拓展阅读:

在传统卷积中,每个卷积核的channel与输入特征矩阵的channel相等(每个卷积核都会与输入特征矩阵的每一个维度进行卷积运算)。而在DW卷积中,每个卷积核的channel都是等于1的(每个卷积核只负责输入特征矩阵的一个channel,故卷积核的个数必须等于输入特征矩阵的channel数,从而使得输出特征矩阵的channel数也等于输入特征矩阵的channel数)

深度可分离卷积:

在DW卷积之后,可以看到输入特征通道和输出特征通道一样,如果要改变输出通道数,可以在DW之后加一个1x1卷积,通道控制1x1卷积核数量来控制输出通道数,DW+PW称为深度可分离卷积。

对比了传统卷积和深度可分离卷积这两个卷积方式的计算量,其中D_{F}是输入特征矩阵的宽高(这里假设宽和高相等),D_{K}是卷积核的大小,M是输入特征矩阵的channel,N是输出特征矩阵的channel,卷积计算量近似等于卷积核的高 x 卷积核的宽 x 卷积核的channel x 输入特征矩阵的高 x 输入特征矩阵的宽(这里假设stride等于1),在我们mobilenet网络中DW卷积都是是使用3x3大小的卷积核。所以理论上普通卷积计算量是DW+PW卷积的8到9倍: 

MobileNetsV2

MobileNet v2网络是由google团队在2018年提出的,相比MobileNet V1网络,准确率更高,模型更小。

 主要贡献:

  1. 倒置残差结构(Inverted Residual and Linear Bottleneck):MobileNetV2引入了一种新的层结构,其中1x1的扩展卷积位于深度卷积之前,这与传统的残差网络结构相反。这种设计允许网络在保持计算效率的同时增加非线性。

  2. 线性瓶颈:在倒置残差结构中,输入和输出的维度较低,而中间层扩展到更高维度,这有助于减少计算量并保持特征的表达能力。

  3. 轻量级深度卷积:在倒置残差结构中使用轻量级的3x3深度卷积,作为非线性的来源,以提高特征的表达能力。

左侧是ResNet网络中的残差结构,右侧就是MobileNet v2中的到残差结构。在残差结构中是1x1卷积降维->3x3卷积->1x1卷积升维,在倒残差结构中正好相反,是1x1卷积升维->3x3DW卷积->1x1卷积降维。为什么要这样做,原文的解释是高维信息通过ReLU激活函数后丢失的信息更少(注意倒残差结构中基本使用的都是ReLU6激活函数,但是最后一个1x1的卷积层使用的是线性激活函数)。

V1 V2卷积块对比:

MobileNetsV1
MobileNetsV2

MobileNetsV3 

MobileNetV3是Google团队开发的最新一代针对移动设备的高效卷积神经网络。

主要贡献:

  1. 硬件感知网络架构搜索(NAS):MobileNetV3利用NAS技术为移动电话CPU优化网络结构,这是通过结合NetAdapt算法实现的,以进一步改善模型性能。

  2. NetAdapt算法:这是一种针对特定硬件平台优化网络层内滤波器数量的方法,与NAS技术互为补充。

  3. 新型激活函数h-swish:为了解决原始swish激活函数在移动设备上计算成本高的问题,MobileNetV3引入了h-swish,这是一种更快速且更适合量化的激活函数。

  4. 大压缩比的squeeze-and-excite模块:在MobileNetV3中,squeeze-and-excite模块的大小被固定为扩展层通道数的1/4,这有助于提高准确性,同时保持参数数量和延迟成本的适度增加。

  5. 轻量级分割解码器LR-ASPP:为语义分割任务提出的新模块,通过改进的全局平均池化和1x1卷积,提高了分割性能和效率

网络架构:

轻量级注意力:

 即SE模块

 新型激活函数h-swish:

在结构中使用了h-swishj激活函数,代替swish函数,减少运算量,提高性能。

最后一个阶段: 

这种更有效的最后一个阶段能够在网络末尾删除三个昂贵的层,而不会损失准确性。 

模型变体:

  • MobileNetV3-Large:针对高资源使用场景优化。
  • MobileNetV3-Small:针对低资源使用场景优化。

 

  • 42
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值