轻量级网络——MobileNetV1~V3

简介:

随着神经网络结构越来越复杂,预测和训练需要的硬件资源也逐步增多,往往只能在高算力的服务器中运行深度学习神经网络模型。移动设备因硬件资源和算力的限制,很难运行复杂的深度学习网络模型。So,业内提出了SqueezeNet、ShuffleNet、NasNet、MnasNet以及MobileNet等轻量级网络模型。这些模型使移动终端、嵌入式设备运行神经网络模型成为可能。而MobileNet在轻量级神经网络中较具代表性。
原论文地址:
MobileNetV1:https://arxiv.org/pdf/1704.04861.pdf
MobileNetV2:https://arxiv.org/pdf/1801.04381.pdf
MobileNetV3:https://arxiv.org/pdf/1905.02244v5.pdf
轻量级网络——MobileNetV1~V3_第1张图片

一、MobileNetV1网络结构

轻量级网络——MobileNetV1~V3_第2张图片

  • 整个网络不算平均池化层与softmax层,共28层;
  • 在整个网络结构中步长为2的卷积较有特点,卷积的同时充当下采样的功能;
  • 第一层之后的26层都为深度可分离卷积的重复卷积操作;
  • 每一个卷积层(含常规卷积、深度卷积、逐点卷积)之后都紧跟着批规范化和ReLU激活函数;
  • 最后一层全连接层不使用激活函数。
    轻量级网络——MobileNetV1~V3_第3张图片

二、MobileNetV2网络结构

轻量级网络——MobileNetV1~V3_第4张图片

  • 有17个Bottleneck层(每个Bottleneck包含两个逐点卷积层和一个深度卷积层),一个标准卷积层(conv),两个逐点卷积层(pw conv),共计有54层可训练参数层。
  • 使用线性瓶颈(Linear Bottleneck)和反向残差(Inverted Residuals)结构优化了网络,使得网络层次更深了,但是模型体积更小,速度更快了。
    轻量级网络——MobileNetV1~V3_第5张图片

三、MobileNetV3网络结构

轻量级网络——MobileNetV1~V3_第6张图片
MobileNetV3分为Large和Small两个版本,Large版本适用于计算和存储性能较高的平台,Small版本适用于硬件性能较低的平台。

  1. Large版本共有15个bottleneck层,一个标准卷积层,三个逐点卷积层。
  2. Small版本共有12个bottleneck层,一个标准卷积层,两个逐点卷积层。

MobileNetV3中引入了5×5大小的深度卷积代替部分3×3的深度卷积。引入Squeeze-and-excitation(SE)模块和h-swish(HS)激活函数以提高模型精度。结尾两层逐点卷积不使用批规范化(Batch Norm),MobileNetV3结构图中使用NBN标识。
轻量级网络——MobileNetV1~V3_第7张图片

MobileNet的优势

  1. MobileNet相比经典的大型网络,参数量明显更少,参数量越少模型体积越小
  2. MobileNet优化网络结构使模型计算量成倍下降
  3. MobileNet凭借网络结构优化,在更少的参数及更少的计算量情况下,反而超过了部分大型神经网络的准确率。在最新的MobileNetV3-Large中,实现ImageNet数据集Top1准确率高达到75.2%。
  4. 使用Google Pixel-1手机测试,MobileNet各版本都能保持运行时间在120ms以下,最新版MobileNetV3-Large运行时间达到66ms,参数量和计算量更低的MobileNetV3-Small更是能达到22ms的超快速度;GoogleNet运行速度约为250ms,而VGG-16由于一次性需要加载至内存的空间已超过500MB,手机系统会报内存溢出错误导致无法运行。
  5. MobileNet可以在移动终端实现众多的应用场景,包括图像分类、语义分割、目标检测及人脸识别等。

你可能感兴趣的:(计算机视觉,机器学习,深度学习,神经网络,轻量级网络,mobilenet)