MobileNet系列(万文长字详细讲解,一篇足以)

这篇具有很好参考价值的文章主要介绍了MobileNet系列(万文长字详细讲解,一篇足以)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

本篇讲一下CV相关的东西,MobileNet,想必大家已经很熟悉了,包括里面的一些模块,一些轻量型思想也是经常用到的。在这里我也是想着做一下总结,整理一下,也讲一讲自己的理解和看法。卷积神经网络CNN已经普遍应用在计算机视觉领域,并且已经取得了不错的效果。近年来CNN模型深度越来越深,模型复杂度也越来越高,如深度残差网络(ResNet)其层数已经多达152层。然而,在某些真实的应用场景如移动或者嵌入式设备,如此大而复杂的模型时难以被应用的。首先是模型过于庞大,面临着内存不足的问题,其次这些场景要求低延迟,或者说响应速度要快,想象一下自动驾驶汽车的行人检测系统如果速度很慢会发生什么可怕的事情。所以,研究小而高效的CNN模型在这些场景至关重要,至少目前是这样,尽管未来硬件也会越来越快。

目前的研究总结来看分为两个方向:

  • 一是对训练好的复杂模型进行压缩得到小模型;
  • 二是直接设计小模型并进行训练。

不管如何,其目标在保持模型性能(accuracy)的前提下降低模型大小(parameters size),同时提升模型速度(speed, low latency)。本文的主角MobileNet属于后者,其是Google最近提出的一种小巧而高效的CNN模型,其在accuracy和latency之间做了折中。

一、MobileNet V1详解

在V1中主要创新点是将普通卷积换成了深度可分离卷积,并引入了两个超参数使得可以根据资源来更加灵活的控制自己模型的大小。

那什么是深度分离卷积(Depthwise separable convolution)呢?

根据史料记载,可追溯到2012年的论文Simplifying ConvNets for Fast Learning,作者提出了可分离卷积的概念:

MobileNet系列(万文长字详细讲解,一篇足以)

  Laurent Sifre博士2013年在谷歌实习期间,将可分离卷积拓展到了深度(depth),并且在他的博士论文Rigid-motion scattering for image classification中有详细的描写,感兴趣的同学可以去看看论文。其中可分离卷积主要有两种类型:空间可分离卷积和深度可分离卷积

空间可分离卷积

顾名思义,空间可分离就是将一个大的卷积核变成两个小的卷积核,比如将一个3*3的核分成一个3*1 和一个 1*3 的核:

MobileNet系列(万文长字详细讲解,一篇足以)

 因为MobileNet并没有用到这块,所以在这里就不详细的讲了。

深度可分离卷积

深度级可分离卷积其实是一种可分解卷积操作(factorized convolutions)。其可以分解为两个更小的操作:深度卷积(depthwise  convolution) 和点卷积( pointwise convolution)。

对于一个标准卷积,输入一个12*12*3的一个输入特征图,经过 5*5*3的卷积核得到一个8*8*1的输出特征图。如果我们此时有256个特征图,我们将会得到一个8*8*256的输出特征图,如下图所示:

MobileNet系列(万文长字详细讲解,一篇足以)

 对于深度卷积(其实就是组为1 的分组卷积)来说,将特征图通道全部进行分解,每个特征图都是单通道模式,并对每一个单独的通道特征图进行卷积操作。这样就会得到和原特征图一样通道数的生成特征图。假设输入12*12*3 的特征图,经过5*5*1*3的深度卷积之后,得到了8*8*3的输出特征图。输入和输出的维度是不变的3,这样就会有一个问题,通道数太少,特征图的维度太少,不能够有效的获得信息。

MobileNet系列(万文长字详细讲解,一篇足以)

逐点卷积就是1*1卷积,主要作用就是对特征图进行升维和降维。在深度卷积的过程中,我们得到了8*8*3的输出特征图,我们用256个1*1*3的卷积核对输入特征图进行卷积操作,输出的特征图和标准的卷积操作一样都是8*8*256了。如下图:

MobileNet系列(万文长字详细讲解,一篇足以)

 标准卷积与深度可分离卷积的过程对比如下:文章来源地址https://www.toymoban.com/news/detail-463814.html

到了这里,关于MobileNet系列(万文长字详细讲解,一篇足以)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • QT入门看这一篇就够了——超详细讲解(40000多字详细讲解,涵盖qt大量知识)

    目录 一、Qt概述 1.1 什么是Qt 1.2 Qt的发展史 1.3 Qt的优势 1.4 Qt版本 1.5 成功案例 二、创建Qt项目 2.1 使用向导创建 2.2 一个最简单的Qt应用程序 2.2.1 main函数中 2.2.2 类头文件 2.3 .pro文件 2.4 命名规范  2.5 QtCreator常用快捷键 三、Qt按钮小程序 3.1按钮的创建和父子关系 3.2 Qt窗口坐标

    2024年02月09日
    浏览(50)
  • 三、MySQL实例初始化、设置、服务启动关闭、环境变量配置、客户端登入(一篇足以从白走到黑)

    目录 1、选择安装的电脑类型、设置端口号 2、选择mysql账号密码加密规则 3、设置root账户密码 4、设置mysql服务名和服务启动策略 5、执行设置(初始化mysql实例) 6、完成设置  7、MySQL数据库服务的启动和停止 方式一:图形化方式 方式二:命令行方式 8、MySQL数据库环境变量的

    2024年01月18日
    浏览(57)
  • MobileNet系列(2):MobileNet-V2 网络详解

    MobileNet-V2论文:Inverted Residuals and Linear Bottlenecks, MobileNet-V2网络是由google团队在2018年提出的,相比MobileNetV1网络, 准确率更高,模型更小 。 网络中的亮点 Inverted Residuals (倒残差结构) Linear Bottlenecks 普通的残差结构 Resnet 网络提供的残差结构,如下图: 首先对输入特征矩阵

    2024年02月05日
    浏览(40)
  • 【轻量型卷积网络】MobileNet系列:MobileNet V3网络解析

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

    2024年02月03日
    浏览(35)
  • 生成一篇博客,详细讲解springboot的单点登录功能,有流程图,有源码demo

    SpringBoot是目前非常流行的一个Java开发框架,它以简洁的配置和快速的开发效率著称。在实际应用中,单点登录是一个非常重要的功能,它可以让用户在多个应用系统中使用同一个账号登录,提高用户体验和安全性。本文将详细讲解如何在SpringBoot中实现单点登录功能,并提供

    2024年02月08日
    浏览(45)
  • 深度学习网络模型 MobileNet系列MobileNet V1、MobileNet V2、MobileNet V3网络详解以及pytorch代码复现

    DW与PW计算量 普通卷积计算量 计算量对比 因此理论上普通卷积是DW+PW卷积的8到9倍 Residual blok与Inverted residual block对比: Residual blok :先采用1 x 1的卷积核来对特征矩阵进行压缩,减少输入特征矩阵的channel,再通过3 x 3的卷积核进行特征处理,再采用1 x 1的卷积核来扩充channel维

    2024年02月01日
    浏览(44)
  • 【轻量化网络】MobileNet系列

    论文:https://arxiv.org/abs/1704.04861 代码: 解读:【图像分类】2017-MobileNetV1 CVPR_說詤榢的博客-CSDN博客   论文:https://arxiv.org/abs/1801.04381 代码:https://github.com/d-li14/mobilenetv2.pytorch 解读:【图像分类】2018-MobileNetV2_[18]sandler m,howard a,zhu m,et al. mobilenetv2: i_說詤榢的博客-CSDN博客 论文

    2024年02月09日
    浏览(32)
  • MobileNet系列(4):MobileNetv3网络详解

    当前很多轻量级网络会经常使用到 MobileNetv3 ,本文将讲解google继 MobileNetv2 之后提出的v3版本。 MobileNetv3论文 :Searching for MobileNetV3 根据MobileNetV3论文总结,网络存在以下3点需要大家注意的: 更新了Block(bneck) ,在v3版本中原论文称之为 bneck ,在v2版 倒残差结构 上进行了简单的

    2024年02月06日
    浏览(55)
  • 【AIGC-图片生成视频系列-4】DreamTuner:单张图像足以进行主题驱动生成

    目录 一. 项目概述 问题: 解决: 二. 方法详解 a) 整体结构 b) 自主题注意力 三. 文本控制的动漫角色驱动图像生成的结果 四. 文本控制的自然图像驱动图像生成的结果 五. 姿势控制角色驱动图像生成的结果 2023年的最后一天,发个文记录下。马上就要迎来新的一年,在这里预

    2024年02月03日
    浏览(54)
  • 万字长文·通俗易懂·一篇包掌握——输入/输出·文件操作(c语言超详细系列)(二)

    前言:Hello,大家好😘,我是心跳sy,上一节我们主要学习了格式化输入输出的基本内容,这一节我们对格式化进行更加深入的了解,对文件概念进行介绍,并且对输入、输出与文件读写的基本概念进行学习,本节主要对printf,scanf深入了解,并介绍文件处理函数,如fprintf,

    2024年02月13日
    浏览(69)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包