当前位置:   article > 正文

27_MobileNetV3网络详解

27_MobileNetV3网络详解

V1:02_Google轻量化网络MobileNet v1-CSDN博客

V2:https://blog.csdn.net/qq_51605551/article/details/139333500?spm=1001.2014.3001.5501

1.1 简介

MobileNetV3是Google在2019年推出的一个高效、轻量级的卷积神经网络模型,专为移动设备和嵌入式系统设计。它是MobileNet系列的第三代产品,旨在通过减少计算量和内存占用,同时保持高性能,来优化在资源受限环境下的图像分类、目标检测和语义分割等计算机视觉任务。

关键特点与改进

  1. NAS(Neural Architecture Search,神经架构搜索): MobileNetV3的设计引入了AutoML技术,特别是神经架构搜索(NAS),来自动发现最优的网络架构。这使得模型能够针对特定的硬件和目标应用场景进行优化,进一步提高效率。

  2. Squeeze-and-Excitation(SE)模块: 引入了从 SENet 中借鉴的 Squeeze-and-Excitation (SE) 模块,这是一种通道注意力机制,用于调整网络中不同特征通道的重要性,从而提升模型的表达能力并减少计算成本。

  3. Hard Swish激活函数: MobileNetV3采用了新的激活函数Hard Swish,它是Swish函数的一种变体,计算更加高效。Hard Swish函数在低输入值时接近线性,高输入值时接近ReLU函数,能够在保持模型性能的同时降低计算复杂度。

  4. Efficient Linear Bottleneck: 在MobileNetV2的基础上,V3对线性瓶颈进行了改进,使用了带SE模块的线性瓶颈,并且根据NAS的指导调整了瓶颈结构,使得模型在保持高效的同时提高了表示能力。

  5. 轻量级深度可分离卷积: 继续使用了MobileNetV1引入的深度可分离卷积(Depthwise Separable Convolution),这种卷积方式能显著减少计算量和参数数量,非常适合移动设备。

  6. 多尺度特征图: 在网络的末端,MobileNetV3设计了多尺度的特征图输出,这对于检测不同大小的目标非常有用,提升了模型在目标检测和语义分割等任务上的表现。

  7. 性能提升: 相比于MobileNetV2,MobileNetV3在多个基准测试上(如ImageNet分类任务)实现了更高的精度,同时保持或减少了推理时间,特别是在COCO目标检测数据集上,MobileNetV3相较于V2在延时减少25%的情况下,保持了相似的精度水平。

应用场景

MobileNetV3因其高效的特性,非常适合部署在移动设备、IoT设备等资源有限的平台上,广泛应用于实时图像识别、视频分析、增强现实(AR)、移动应用中的图像处理等功能。

结论

MobileNetV3是轻量化神经网络设计的一个重要里程碑,它展示了如何通过先进的自动化设计方法(如NAS)结合精心设计的网络结构和激活函数,来达到性能与效率的平衡。这一模型的提出,不仅推动了计算机视觉领域在移动设备上的应用,也为后续的轻量级模型设计提供了宝贵的经验和技术基础。

1.2 V3网络结构的更新

V2:倒残差结构(先升维后降维),然后1x1卷积后面跟着BN和RELU6激活函数。然后3x3DW卷积,后跟BN和RELU6。/然后1X1卷积降维,注意,1X1降维后只有BN没有RELU6。

V3:加了一个SE注意力机制。先全局平均池化变为1x1xc的向量,然后通过FC+RELU缩短通道数,接着FC+Hard Swish还原通道数,然后对原来的特征矩阵进行逐元素相乘。

NL指非线性激活函数。


 

SE注意力

SE注意力的工作流程:

(H-sig)即hard sigmoid激活函数。

重新设计耗时层结构

第1点节省了2ms,第2点的优化节省了7ms(这个7ms占据了整个推理过程11%的时间).

1.4 重新设计激活函数

Swish激活函数

Swish激活函数的主要缺点如下:

  1. 计算复杂度较高:Swish函数的表达式为 f(x)=x⋅σ(βx),其中 声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】

推荐阅读
相关标签