MobileNet v1&v2&v3 创新点及结构简述

这篇具有很好参考价值的文章主要介绍了MobileNet v1&v2&v3 创新点及结构简述。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、背景

二、MobileNet v1

1. 网络创新点

2. 网络结构

三、MobileNet v2

1. 网络创新点

2. 网络结构

四、MobileNet v3

1. 网络创新点

2. 网络结构


一、背景

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

论文地址:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

MobileNet v2是由google团队在2018年提出的。

论文地址:MobileNetV2: Inverted Residuals and Linear Bottlenecks

MobileNet v3是由google团队在2019年提出的。

论文地址:Searching for MobileNetV3

二、MobileNet v1

1. 网络创新点

  • Depthwise Coinvolution,大大减少运算量和参数数量
  • 增加超参数α、β,便于调节网络模型

1.1. Depthwise Coinvolution

基本思想:将标准卷积拆分为两个分卷积,构成深度可分离卷积(Depthwise Separable Convolution):第一层称为深度卷积(depthwise convolution),对每个输入通道应用单通道的轻量级滤波器;第二层称为逐点卷积(pointwise convolution),负责计算输入通道的线性组合构建新的特征。

传统卷积:

  • 卷积核通道数 = 输入特征图通道数
  • 输出特征图通道数 = 卷积核个数

MobileNet v1&v2&v3 创新点及结构简述

​​​​​​DW卷积(Depthwise Coinvolution):  

  • 卷积核通道数 = 1
  • 输入特征图通道数 = 卷积核个数 = 输出特征图通道数

MobileNet v1&v2&v3 创新点及结构简述

PW卷积(Pointwise Convolution):

  • 与普通卷积一样,但是卷积核大小为1

深度可分离卷积(Depthwise Separable Convolution):

  • 我们通常所使用的是3×3的卷积核,将DW卷积和PW卷积一起使用,理论上普通卷积核计算量是DW+PW的8~9倍。两者计算量比较结果如下:

MobileNet v1&v2&v3 创新点及结构简述

K:卷积核尺寸,C_out:输出通道数

1.2. 超参数α、β

  • α(Width Multiplier):卷积核个数倍率,控制卷积过程中采用卷积核个数
  • β(Resolution Multiplier):输入图像分辨率参数,控制处理图像的大小

2. 网络结构

2.1. 标准卷积层 vs 深度可分离卷积卷积层

MobileNet v1&v2&v3 创新点及结构简述

2.2. MobileNet v1整体结构

MobileNet v1&v2&v3 创新点及结构简述

三、MobileNet v2

1. 网络创新点

  • Inverted Residuals
  • Linear Bottlenecks

1.1. Inverted Residuals

深度卷积本身没有改变通道的能力,如果输入通道很少,DW深度卷积只能在低维度上工作,这样效果并不会很好。而逐点卷积也就是1×1卷积可以用来升维和降维,那就可以在DW深度卷积之前使用PW卷积进行升维(升维倍数为t,t=6),再在一个更高维的空间中进行卷积操作来提取特征。

ResNet的残差结构:对于输入特征矩阵采用1x1卷积进行压缩,再通过3x3卷积核进行卷积处理,最后再采用1x1卷积核扩充通道数
倒残差结构:对于输入特征矩阵采用1x1卷积核将通道数变得更深,再通过3x3的卷积核进行DW卷积,最后再采用1x1卷积核进行降维处理

MobileNet v1&v2&v3 创新点及结构简述

1.2. Linear Bottlenecks

在MobileNet v1网络的实际使用中会发现DW卷积的部分卷积核容易废掉(即卷积核参数为0),针对这个问题,原论文中作者通过实验得出:ReLU激活函数会对低维特征信息造成大量损失,对高维造成损失比较小,而在倒残差结构中的输出是一个低维特征向量,因此使用线性激活函数避免特征信息损失。因此倒残差结构的最后一个1x1卷积层,使用了线性激活函数,而不是ReLU激活函数。

MobileNet v1&v2&v3 创新点及结构简述

2. 网络结构

2.1. 倒残差结构图

在普通残差结构中采用的是ReLU激活函数,在倒残差结构中采用的是ReLU6激活函数。当stride=1且输入特征矩阵与输出特征矩阵shape相同时才有shortcut连接。

MobileNet v1&v2&v3 创新点及结构简述

2.2. MobileNet v2整体结构

MobileNet v1&v2&v3 创新点及结构简述

t是扩张倍数,即倒残差结构第一层1x1卷积核个数的扩张系数;c是输出的通道数;n是倒残差结构的重复次数;s是步长,代表每一个block所对应的第一层bottleneck的步长,其他的为1。

四、MobileNet v3

1. 网络创新点

  • 新版Block
  • 使用NAS搜索参数
  • 重新设计耗时层结构

1.1. 新版Block

与MobileNetv2相比,Mobilenetv3的block中加入了SE模块,更换了激活函数 。更新的激活函数在图中用NL表示非线性激活函数统一表示,用到的激活函数主要有hards-wish、relu两种。最后那个1x1降维投影层用的是线性激活(f(x)=x),也可以理解为没用激活。MobileNetv3的倒残差结构:

MobileNet v1&v2&v3 创新点及结构简述

SE模块理解

SE(Squeeze-and-Excitation) 模块类似于一个轻量级的注意力模块,注意力机制的作用方式是调整每个通道的权重,以在Mobilenetv3中的应用为例进行理解,如下图所示。
MobileNet v1&v2&v3 创新点及结构简述

hards-wish

作者发现一种新出的激活函数swish x(如下) ,但认为这种非线性激活函数虽然提高了精度,但在嵌入式环境中,计算量太大,所以提出了h-swish。

MobileNet v1&v2&v3 创新点及结构简述

可以用一个近似函数来逼急这个swish。作者选择的是基于ReLU6,作者认为几乎所有的软件和硬件框架上都可以使用ReLU6的优化实现。其次,它能在特定模式下消除了由于近似sigmoid的不同实现而带来的潜在的数值精度损失,在量化模式下会提高大约15%的效率。

MobileNet v1&v2&v3 创新点及结构简述

作者认为随着网络的深入,应用非线性激活函数的成本会降低,能够更好的减少参数量。作者发现swish的大多数好处都是通过在更深的层中使用它们实现的。因此,在V3的架构中,只在模型的后半部分使用h-swish。

1.2. 使用NAS搜索参数(Neural Architecture Search)

主要结合两种技术:资源受限的NAS(platform-aware NAS)NetAdapt资源受限的NAS,用于在计算和参数量受限的前提下搜索网络来优化各个块(block),所以称之为模块级搜索(Block-wise Search) 。NetAdapt,用于对各个模块确定之后网络层的微调每一层的卷积核数量,所以称之为层级搜索(Layer-wise Search)。一旦通过体系结构搜索找到模型,我们就会发现最后一些层以及一些早期层计算代价比较高昂。于是作者决定对这些架构进行一些修改,以减少这些慢层(slow layers)的延迟,同时保持准确性。这些修改显然超出了当前搜索的范围。

1.3. 重新设计耗时层结构

精简早期层

减少第一个卷积层的卷积核个数(32减为16),原论文中作者说减少卷积核后准确率不变且能够减少计算量,节省2毫秒时间。

精简最后阶段

使用NAS搜索出来的网络结构的最后一部分为Original Last Stage,发现这一部分比较耗时,因此对其进行精简为Efficient Last Stage,精简后准确率不变,并减少10ms耗时,提速15%。

MobileNet v1&v2&v3 创新点及结构简述

2. 网络结构

MobileNetV3定义了两个模型: MobileNet V3-LargeMobileNet V3-Small。V3-Large是针对高资源情况下的使用,相应的,V3-small就是针对低资源情况下的使用。主要的区别是通道数的变化与bneck的次数。

2.1. V3-Large

MobileNet v1&v2&v3 创新点及结构简述

  • 第一列:每个特征层的输入变化
  • 第二列:特征层的倒残差结构,NBN为不用BN层
  • 第三列:倒残差结构中的第一层1x1卷积升维后的通道数,第一个块没有1x1卷积升维操作
  • 第四列:倒残差结构输出的通道数
  • 第五列:SE是否使用SE模块
  • 第六列:使用激活函数的种类,HS代表h-swish,RE代表RELU。
  • 第七列:倒残差结构所用的步长

2.2. V3-Small

MobileNet v1&v2&v3 创新点及结构简述

参考

轻量级神经网络“巡礼”(二)—— MobileNet,从V1到V3https://zhuanlan.zhihu.com/p/70703846文章来源地址https://www.toymoban.com/news/detail-493524.html

到了这里,关于MobileNet v1&v2&v3 创新点及结构简述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 李沐论文精读系列三:MoCo、对比学习综述(MoCov1/v2/v3、SimCLR v1/v2、DINO等)

    传送门: 李沐论文精读系列一: ResNet、Transformer、GAN、BERT 李沐论文精读系列二:Vision Transformer、MAE、Swin-Transformer 李沐论文精读系列四:CLIP和改进工作串讲(LSeg、GroupViT、VLiD、 GLIPv1、 GLIPv2、CLIPasso) 1.1 导言 参考: 论文:Momentum Contrast for Unsupervised Visual Representation Learni

    2024年02月04日
    浏览(54)
  • 深度学习(目标检测):YOLO网络学习笔记(YOLO v1,YOLO v2和 YOLO v3)

    两种进行目标检测任务的深度学习方法 : 分类 :深度学习的目标检测的方法可以分为两类,分别是一阶段方法和二阶段方法。 一阶段方法 :YOLO系列模型都是一阶段方法,这一类方法可以一步到位地使用卷积神经网络进行特征提取并输出标注框。 两阶段方法 :两阶段阶段

    2023年04月11日
    浏览(42)
  • 【轻量型卷积网络】MobileNet系列:MobileNet V3网络解析

    论文地址:论文链接 1.1 关于v1和v2 MobileNet-v1的主要思想就是深度可分离卷积,大大减少了参数量和计算量。可以参考 MobileNet V1网络解析。 深度可分离卷积 可理解为 深度卷积 + 逐点卷积。 深度卷积:深度卷积只处理长宽方向的空间信息;逐点卷积只处理跨通道方向的信息。

    2024年02月03日
    浏览(35)
  • Pytorch迁移学习使用MobileNet v3网络模型进行猫狗预测二分类

    目录 1. MobileNet 1.1 MobileNet v1 1.1.1 深度可分离卷积  1.1.2 宽度和分辨率调整 1.2 MobileNet v2 1.2.1 倒残差模块 1.3 MobileNet v3 1.3.1 MobieNet V3 Block  1.3.2 MobileNet V3-Large网络结构 1.3.3 MobileNet V3预测猫狗二分类问题 送书活动   MobileNet v1 是MobileNet系列中的第一个版本,于2017年由Google团队提

    2024年02月14日
    浏览(39)
  • 简单有趣的轻量级网络 Shufflenet v1 、Shufflenet v2(网络结构详解+详细注释代码+核心思想讲解)——pytorch实现

         这期博客咱们来学习一下Shufflenet系列轻量级卷积神经网络,Shufflenet v1 、Shufflenet v2。 本博客代码可以直接生成训练集和测试集的损失和准确率的折线图,便于写论文使用。 论文下载链接: Shufflene系列轻量级卷积神经网络由旷世提出,也是非常有趣的轻量级卷积神经网

    2024年02月01日
    浏览(48)
  • 【深度学习】Inception模型结构解析,关键词:Inception-v1、v2、v3、v4、Inception-ResNet-v1、Inception-ResNet-v2

    目录 1.Inception-v1 1.1 Introduction 1.2 Inception结构 1.3 GoogLeNet 参考文献 2.Inception-v2 2.1 introduction 2.2 BN算法 参考文献 3.Inception-v3 3.1 General Design Principles 3.2 Factorizing Convolutions with Large Filter Size 3.3 其他思想 参考文献 4. Inception-v4 4.1 introduction 4.2 Inception-v4 结构 4.3 Inception-ResNet-v1 结构

    2024年02月11日
    浏览(45)
  • PyTorch: 基于【MobileNet V2】处理MNIST数据集的图像分类任务【准确率99%+】

    PyTorch: 基于【VGG16】处理MNIST数据集的图像分类任务【准确率98.9%+】 在深度学习和计算机视觉的世界里,MNIST数据集就像一颗璀璨的明珠,被广大研究者们珍视并广泛使用。这个数据集包含了大量的手写数字图像,为图像分类任务提供了丰富的素材。今天,我们将带您一同探索

    2024年02月04日
    浏览(48)
  • IGMPv1,v2,v3详解

    IGMP(Internet Group Management Protocol)作为因特网组管理协议,是TCP/IP协议族中负责IP组播成员管理的协议,它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。 IGMP协议运行在主机与组播路由器之间。 IGMP协议的作用: 主机侧:通过IGMP协议向路由器通告组

    2024年02月09日
    浏览(38)
  • Chrome扩展V2到V3的变化

    Chrome扩展manifest V3变化、升级迁移指南_chrome_ZK645945-华为云开发者联盟 (csdn.net) browser_action 改 为 action。

    2024年02月07日
    浏览(42)
  • 微信支付V2和V3的区别

    微信支付现在分为v2版和v3版 2014年9月10号之前申请的为v2版(旧版本),之后申请的为v3版。 V2版中的参数有 AppID AppSecret 支付专用签名串PaySignKey 商户号PartnerID 初始密钥PartnerKey 并且包含一个证书文件: 安全证书 V3版中的参数有 AppID AppSecret 商户号PartnerID 初始密钥PartnerKey 商户

    2024年02月09日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包