MobileNetsV1、MobileNetsV2、MobileNetsV3

参考来源:

  • MobileNet(V1,V2,V3)网络结构详解与模型的搭建_bneck结构图-CSDN博客
  • 轻量级神经网络MobileNet全家桶详解-CSDN博客

汇总

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:针对低资源使用场景优化。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/764835.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

button1 <Button>: Missing Constraints in ConstraintLayout

书籍 《第一行代码 Android》第三版 开发 环境 Android Studio Jellyfish | 2023.3.1 问题 在学习3.2.2 创建和加载布局章节,在first_layout.xml中增加一个按钮button1时报错:"button1 <Button>: Missing Constraints in ConstraintLayout" 分析 产生这个…

香橙派OrangePi AIpro初体验:当小白拿到一块开发板第一时间会做什么?

文章目录 香橙派OrangePi AIpro初体验&#xff1a;当小白拿到一块高性能AI开发板第一时间会做什么前言一、香橙派OrangePi AIpro概述1.简介2.引脚图开箱图片 二、使用体验1.基础操作2.软件工具分析 三、香橙派OrangePi AIpro.测试Demo1.测试Demo1&#xff1a;录音和播音(USB接口…

从华为到支付宝,3年外包生涯做完,我这人生算是彻底废了......

我为什么一直做外包呢&#xff0c;原因是薪资和技术方面。 在华为做了一年外包&#xff0c;薪资5k&#xff0c;功能测试&#xff0c;接触Linux和网络&#xff0c;但是说实在的技术很难沉淀&#xff0c;就像雾里看花一样&#xff0c;过年之后&#xff0c;想走的人都走了&#x…

重榜:鸿蒙 Charles 抓包设置

亲测可用&#xff01;2040702更新 Charles是一款用于网络调试和分析的代理工具&#xff0c;可以拦截和查看设备与服务器之间的网络通信。通过Charles&#xff0c;可以监视应用程序的网络流量、修改请求和响应&#xff0c;甚至模拟不同的网络条件。其主要功能包括&#xff1a; …

测试基础内容的学习

1、测试分类 黑盒&#xff0c;灰盒&#xff0c;白盒&#xff0c;冒烟&#xff0c;回归测试&#xff1b; 2、衡量软件质量的维度&#xff08;8个&#xff09; 3、需求分析->测试点提取->编写测试文档->执行测试用例->缺陷管理->总结报告 测试点提取&#xff1…

uniapp微信小程序使用xr加载模型

1.在根目录与pages同级创建如下目录结构和文件&#xff1a; // index.js Component({properties: {modelPath: { // vue页面传过来的模型type: String,value: }},data: {},methods: {} }) { // index.json"component": true,"renderer": "xr-frame&q…

Pandas实战秘籍:轻松驾驭重复值与异常值的处理艺术,让数据清洗更高效!

1.导包 import numpy as np import pandas as pd2.删除重复行 def make_df(indexs,columns):data [[str(j)str(i) for j in columns] for i in indexs]df pd.DataFrame(datadata,indexindexs,columnscolumns)return df使用 duplicated() 函数检测重复的行 返回元素为布尔类…

在 PMP 考试中,项目管理经验不足怎么办?

在项目管理的专业成长之路上&#xff0c;PMP认证如同一块里程碑&#xff0c;标志着从业者的专业水平达到了国际公认的标准。然而&#xff0c;对于那些项目管理经验尚浅的考生来说&#xff0c;这座里程碑似乎显得有些遥不可及。那么&#xff0c;在PMP考试准备中&#xff0c;项目…

高考志愿填报,AI搜索商业化的第一个金矿?

文&#xff1a;互联网江湖 作者&#xff1a;志刚 前几天高考放榜&#xff0c;很多朋友都在忙着给孩子或者亲戚家孩子报志愿&#xff0c;高考志愿咨询也火得一塌糊涂&#xff0c;张雪峰的志愿咨询产品也卖出了天价。 今年高考前夕&#xff0c;网红张雪峰旗下的“峰学蔚来”APP…

【MySQL8.0】 CentOS8.0下安装mysql报错权限问题的记录

这里写自定义目录标题 基本信息问题记录 基本信息 OS: Linux server-02 4.18.0-240.el8.x86_64 #1 SMP Fri Sep 25 19:48:47 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux MySQL: 8.0 问题记录 缺少类库 mysql: error while loading shared libraries: libncurses.so.5: cannot…

使用目标检测模型YOLO V10 OBB进行旋转目标的检测:训练自己的数据集(基于卫星和无人机的农业大棚数据集)

这个是在YOLO V10源码的基础上实现的。我只是在源码的基础上做了些许的改动。 YOLO V10源码&#xff1a;YOLO V10源码 YOLOv10是清华大学的研究人员在Ultralytics Python包的基础上&#xff0c;引入了一种新的实时目标检测方法&#xff0c;解决了YOLO 以前版本在后处理和模型架…

【微信小程序开发实战项目】——如何制作一个属于自己的花店微信小程序(1)

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

MySQL实战-4 | 深入浅出索引(上)(下)

什么是数据库索引&#xff0c;索引又是如何工作的呢&#xff1f; 一句话简单来说&#xff0c;索引的出现其实就是为了提高数据查询的效率&#xff0c;就像书的目录一样。一本 500 页的书&#xff0c;如果你想快速找到其中的某一个知识点&#xff0c;在不借助目录的情况下&…

Git使用中遇到的问题(随时更新)

问题1.先创建本地库&#xff0c;后拉取远程仓库时上传失败的问题怎么解决&#xff1f; 操作主要步骤&#xff1a; step1 设置远程仓库地址: $ git remote add origin gitgitee.com:yourAccount/reponamexxx.git step2 推送到远程仓库: $ git push -u origin "master&qu…

【知识图谱系列】一步步指导:安装与配置JDK和Neo4j的完美搭配

本文将提供详细的步骤&#xff0c;介绍如何下载、安装和配置Java开发工具包&#xff08;JDK&#xff09;以及流行的图形数据库Neo4j。将从选择合适的JDK版本开始&#xff0c;然后是下载和配置环境变量&#xff0c;接着以同样的方式处理Neo4j。最后&#xff0c;会通过一些检查步…

架构练习题目

【2022下架构真题第24题&#xff1a;红色】 24.在分布式系统中&#xff0c;中间件通常提供两种不同类型的支持&#xff0c;即&#xff08;27) A.数据支持和交互支持 B.交互支持和提供公共服务 C.数据支持和提供公共服务 D.安全支持和提供公共服务 解答&#xff1a;答案选择B。…

Android原生与flutter模块交互

Flutter定义了三种不同类型的Channel&#xff1a; BasicMessageChannel&#xff1a;用于传递字符串和半结构化的信息&#xff0c;持续通信&#xff0c;收到消息后可以回复此次消息&#xff0c;如&#xff1a;Native将遍历到的文件信息陆续传递到Dart&#xff0c;在比如&#xf…

goframe框架规范限制(but it should be named with “Res“ suffix like “XxxRes“)

背景&#xff1a; 首页公司最近要启动一个项目&#xff0c;公司主要业务是用java开发的&#xff0c;但是目前这个方向的项目&#xff0c;公司要求部署在主机上&#xff0c;就是普通的一台电脑上&#xff0c;电脑配置不详&#xff0c;还有经常开关机&#xff0c;所以用java面临…

MatLab 二维图像绘制基础

MatLab 二维图像绘制基础 plot 描点绘图 %% % 二维绘图 &#xff0c;plot进行描点&#xff0c;步长越小&#xff0c;越平滑 x [1:9]; y [0.1:0.2:1.7]; X x y*i; % 复数 plot(X)plot绘制矩阵 %% % 当X Y 为矩阵时&#xff0c;对应矩阵中的元素依次绘制 t 0:0.01:2*pi; …

黄子韬vs徐艺洋卫生间风波

【热搜爆点】黄子韬VS徐艺洋&#xff1a;卫生间风波背后的职场与友情界限探讨在这个充满欢笑与意外的综艺时代&#xff0c;《跟我出游吧》再次以它独有的魅力&#xff0c;引爆了一个既尴尬又引人深思的话题——“黄子韬要上徐艺洋的卫生间&#xff1f;”这不仅仅是一句简单的调…