从MobileNet看轻量级神经网络的发展

本文深入探讨了MobileNet系列的发展,从MobileNetV1到V3,强调了轻量级神经网络在计算量、参数量减少的同时保持高准确性的关键特性,如深度可分离卷积、宽度因子、分辨率因子、线性瓶颈结构、反向残差、Squeeze-and-Excitation模块以及h-swish激活函数。MobileNetV3通过神经架构搜索技术进一步优化,实现更高精度,更低延迟,适合移动设备的应用。
摘要由CSDN通过智能技术生成

随着深度学习的火热,计算机视觉领域内的卷积神经网络模型也层出不穷。从1998年的LeNet,到2012年引爆深度学习热潮的AlexNet,再到后来2014年的VGG,2015年的ResNet,深度学习网络模型在图像处理中应用的效果越来越好。神经网络体积越来越大,结构越来越复杂,预测和训练需要的硬件资源也逐步增多,往往只能在高算力的服务器中运行深度学习神经网络模型。移动设备因硬件资源和算力的限制,很难运行复杂的深度学习网络模型。

从MobileNet看轻量级神经网络的发展

深度学习领域内也在努力促使神经网络向小型化发展。在保证模型准确率的同时体积更小,速度更快。到了2016年直至现在,业内提出了SqueezeNet、ShuffleNet、NasNet、MnasNet以及MobileNet等轻量级网络模型。这些模型使移动终端、嵌入式设备运行神经网络模型成为可能。而MobileNet在轻量级神经网络中较具代表性。

谷歌在2019年5月份推出了最新的MobileNetV3。新版MobileNet使用了更多新特性,使得MobileNet非常具有研究和分析意义,本文将对MobileNet进行详细解析。

MobileNet的优势

MobileNet网络拥有更小的体积,更少的计算量,更高的精度。在轻量级神经网络中拥有极大的优势。

1、更小的体积
在这里插入图片描述
从MobileNet看轻量级神经网络的发展

MobileNet相比经典的大型网络,参数量明显更少,参数量越少模型体积越小。

2、更少的计算量
在这里插入图片描述
从MobileNet看轻量级神经网络的发展

MobileNet优化网络结构使模型计算量成倍下降。

3、更高的准确率
在这里插入图片描述

从MobileNet看轻量级神经网络的发展

MobileNet凭借网络结构优化,在更少的参数及更少的计算量情况下,网络精度反而超过了部分大型神经网络。在最新的MobileNetV3-Large中,实现ImageNet数据集Top1准确率达到75.2%。

4、更快的速度
在这里插入图片描述
从MobileNet看轻量级神经网络的发展

使用Google Pixel-1手机测试,MobileNet各版本都能保持运行时间在120ms以下,最新版MobileNetV3-Large运行时间达到66ms,参数量和计算量更低的MobileNetV3-Small更是能达到22ms;GoogleNet运行速度约为250ms,而VGG-16由于一次性需要加载至内存的空间已超过500MB,手机系统会报内存溢出错误导致无法运行。

5、多种应用场景

MobileNet可以在移动终端实现众多的应用,包括目标检测,目标分类,人脸属性识别和人脸识别等。

在这里插入图片描述

从MobileNet看轻量级神经网络的发展

MobileNet各版本介绍

1、MobileNetV1网络结构

在这里插入图片描述
从MobileNet看轻量级神经网络的发展

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

2、MobileNetV2网络结构

在这里插入图片描述

从MobileNet看轻量级神经网络的发展

MobileNetV2中主要引入线性瓶颈结构和反向残差结构。

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

3、MobileNetV3网络结构
在这里插入图片描述
从MobileNet看轻量级神经网络的发展

MobileNetV3分为Large和Small两个版本,Large版本适用于计算和存储性能较高的平台,Small版本适用于硬件性能较低的平台。

Large版本共有15个bottleneck层,一个标准卷积层,三个逐点卷积层。
Small版本共有12个bottleneck层,一个标准卷积层,两个逐点卷积层。
MobileNetV3中引入了5×5大小的深度卷积代替部分3×3的深度卷积。引入Squeeze-and-excitation(SE)模块和h-swish(HS)激活函数以提高模型精度。结尾两层逐点卷积不使用批规范化(Batch Norm),MobileNetV3结构图中使用NBN标识。

在这里插入图片描述

从MobileNet看轻量级神经网络的发展

(图片来源https://arxiv.org/pdf/1905.02244.pdf)

网络结构上相对于MobileNetV2的结尾部分做了优化,去除三个高阶层,如上图所示。去除后减少了计算量和参数量,但是模型的精度并没有损失。

值得一提的是,不论是Large还是Small版本,都是使用神经架构搜索(NAS)技术生成的网络结构。

4、MobileNet各版本特性

MobileNet实现计算量减小、参数量减少的同时保证了较高的准确率,这和其拥有的特性息息相关:

MobileNetV1提出的特性

在这里插入图片描述
从MobileNet看轻量级神经网络的发展

MobileNetV2提出的特性

在这里插入图片描述
从MobileNet看轻量级神经网络的发展

MobileNetV3提出的特性
在这里插入图片描述

从MobileNet看轻量级神经网络的发展

MobileNet各个版本拥有的特性汇总

在这里插入图片描述
从MobileNet看轻量级神经网络的发展

下文将对上表中的各个特性详细阐述。

MobileNet的特性详解

1、深度可分离卷积

从MobileNetV1开始,到V2、V3的线性瓶颈结构都大量使用了深度可分离卷积。

深度可分离卷积(Depthwise Separable Convolution)是一种卷积结构。它是由一层深度卷积(Depthwise convolution)与一层逐点卷积(Pointwise Convolution)组合而成的,每一层卷积之后都紧跟着批规范化和ReLU激活函数。跟标准卷积的区别就是精度基本不变的情况下,参数与计算量都明显减少。

从MobileNet看轻量级神经网络的发展

在这里插入图片描述
深度卷积

深度卷积(Depthwise convolution, DW)不同于常规卷积操作,深度卷积中一个卷积核只有一维,负责一个通道,一个通道只被一个卷积核卷积;常规卷积每个卷积核的维度与输入维度相同,每个通道单独做卷积运算后相加。

以一张5x5x3

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值