LR-ASPP论文

2023-10-26

论文地址:https://arxiv.org/abs/1905.02244

摘要

我们提出了基于互补搜索技术的组合以及一个新颖的架构设计的下一代移动网络。MobileNetV3通过结合NetAdapt算法补充的硬件网络架构搜索(NAS)调整到移动电话cpu上,随后通过新的架构进步进行了改进。本文开始探索如何自动搜索算法和网络设计可以一起工作,利用互补的方法来改善整体的艺术状态。通过这个过程,我们为发布创建了两个新的MobileNet模型:MobileNetV3-Large和MobileNetV3-Small,它们针对高资源用例和低资源用例。然后,这些模型被调整并应用于目标检测和语义分割的任务。本文提出了一种高效的分割解码器Lite Reduced Atrous Spatial Pyramid Pooling (LR-ASPP)。我们在移动分类、检测和分割方面取得了新的进展。MobileNetV3-Large比MobileNetV2在ImageNet分类上更准确3.2%,同时减少20%的延迟。MobileNetV3-Small比具有相当延迟的MobileNetV2模型更精确6.6%。mobilenetv3 -大型检测速度超过25%,与MobileNetV2在COCO检测上大致相同的精度。MobileNetV3-Large LRASPP比MobileNetV2 R-ASPP快34%,在类似的城市景观分割精度。

介绍

高效的神经网络正在移动应用程序中变得无处不在,从而实现全新的设备上体验。它们也是个人隐私的关键,让用户无需将数据发送到服务器进行评估就能从神经网络中获益。神经网络效率的进步不仅通过更高的准确性和更低的延迟改善用户体验,而且通过减少电力消耗来帮助保存电池寿命。本文描述了我们开发MobileNetV3 Large和Small模型的方法,目的是为设备上的计算机视觉提供下一代高精度、高效的神经网络模型。新的网络推动了技术的发展,并演示了如何将自动搜索与新颖的架构相结合,以构建有效的模型。

本文的目标是开发最佳的移动计算机视觉架构,优化移动设备上的准确性和延迟的权衡。为了实现这一点,我们引入了
(1)互补搜索技术,
(2)对移动设置实用的非线性的新高效版本,
(3)新的高效网络设计,
(4)新的高效分割解码器。
我们提供了详尽的实验来证明这种技术的有效性和价值,并在广泛的使用案例和手机上进行了评估。

在这里插入图片描述

图一:在延迟和准确度之间的权衡。图片的尺寸为224,MobileNetV3 Large和Small使用0.75、1和1.25不同的乘数来显示性能
在这里插入图片描述
图2:计算量与准确度之间的权衡。输入分辨率224和使用乘数0.35,0.5,0.75,1和1.25。

相关工作

近年来,设计深度神经网络体系结构以实现精度和效率之间的最佳平衡已成为一个活跃的研究领域。新颖的人工结构和算法神经结构搜索在这一领域的发展中发挥了重要作用。

SqueezeNet广泛使用1x1卷积与挤压和扩展模块,主要关注于减少参数的数量。最近的工作将重点从减少参数转移到减少操作数量(mads)和实际测量的延迟。MobileNetV1采用深度可分卷积,大大提高了计算效率。MobileNetV2通过引入具有反向残差和线性瓶颈的资源高效块来扩展这一点。ShuffleNet利用组卷积和信道shuffle操作进一步降低mads。CondenseNet在训练阶段学习组卷积,以保持层之间有用的密集连接,以便特性重用。ShiftNet提出了与逐点卷积交织的移位操作,以取代昂贵的空间卷积。

为了使建筑设计过程自动化,首先引入了强化学习(RL)来搜索具有竞争精度的高效建筑。一个完全可配置的搜索空间可能会以指数级增长且难以处理。所以早期的架构搜索工作集中在单元层的结构搜索上,相同的单元在所有层中都被重用。最近,[43]探索了一种块级分层搜索空间,允许在网络的不同分辨率块上使用不同的层结构。为了降低搜索的计算成本,可微架构[28, 5, 45]使用了搜索框架,并进行了梯度优化。关注于使现有网络适应受限的移动平台,[48,15,12]提出了更高效的自动化网络简化算法。

量化[23,25,47,41,51,52,37]是通过降低精度算法来提高网络效率的另一项重要补充工作。最后,知识蒸馏[4,17]提供了一种补充方法,在大型“教师”网络的指导下,生成精确的小“学生”网络。

Efficient Mobile Building Blocks

移动模式建立在越来越高效的基础之上。MobileNetV1[19]引入深度可分离卷积,作为传统卷积层的有效替代。深度可分离卷积通过将空间滤波从特征生成机制中分离出来,有效地分解了传统卷积。深度可分离卷积由两个独立的层定义:用于空间滤波的轻权重深度卷积和用于特征生成的重权重1x1逐点卷积。

MobileNetV2[39]引入了线性瓶颈和倒置残差结构,以便利用问题的低秩性质,使层结构更有效。这个结构如图3所示,由1x1展开卷积、深度卷积和1x1投影层定义。当且仅当输入和输出具有相同数量的通道时,它们与残留连接。该结构在输入和输出处保持一个紧凑的表示,同时在内部扩展到一个高维特征空间,以增加非线性全通道转换的表达。

MnasNet[43]构建在MobileNetV2结构之上,通过在瓶颈结构中引入基于挤压和激励的轻量级注意模块。请注意,与[20]中提出的基于ResNet的模块相比,挤压和激励模块集成在不同的位置。该模块被放置在展开中的深度过滤器之后,以便将注意力应用到图4中最大的表示上。

对于MobileNetV3,我们使用这些层的组合作为构建块,以构建最有效的模型。层也可以用修正的非线性进行升级[36,13,16]。挤压和激励以及非线性都使用了sigmoid,这在不动点算法中计算效率很低,也很难保持精度,所以我们用hard sigmoid代替它[2,11],如5.2节所述。
在这里插入图片描述
在这里插入图片描述

网络搜索

网络搜索已经成为发现和优化网络架构的一个非常强大的工具[53,43,5,48]。对于MobileNetV3,我们使用平台感知的NAS通过优化每个网络块来搜索全局网络结构。然后,我们使用NetAdapt算法在每一层中搜索过滤器的数量。这些技术是互补的,可以结合起来有效地为给定的硬件平台找到优化的模型。

Platform-Aware NAS for Block-wise Search

我们使用一种平台感知的神经体系结构方法来查找全局网络结构。由于我们使用相同的基于rnn的控制器和相同的分解层次搜索空间,对于目标延迟在80ms左右的大型移动模型,我们发现了与【43】相似的结构。因此,我们只是简单地重用相同的MnasNet-A1作为我们最初的大型移动模型,然后在其上应用NetAdapt和其他优化。

然而我们发现原始的反馈设计并不能优化small mobile模型,具体而言,它使用了一个多目标反馈来估计pareto-optimal解决方案,通过给每个基于目标时延TAR的模型来ing哼准确率与时延。我们观察到,随着小模型延时的增加,准确率变化会更加显著;因此,我们需要一个更小的权重系数w=-0.15来补偿不同延时带来的进度变化。在新权重系数w的增强下,我们从头开始搜索一个新的结构,来寻找出初始化seed模型,然后应用NetAdapt与其他优化方法来获得最终的mobilenetv3-small模型。

NetAdapt for Layer-wise Search

我们在搜索架构中使用的第二种技术时Netadapt。这种方法是对platform-aware NAS的补充:它允许按顺序地每个层的结构进行微调,而不是试图直接预测粗粒度的全局结构。我们详细参考了原文的细节。简而言之,技术流程如下:
1.第一步通过plateform-aware NAS找到seed网络结构。
2.对于每一步:
(a)生成一个新方法的集合。每一个方法表示一个架构的修改:和之前的步骤相比,在延迟方面生成至少减少δ
(b)对新方法集合中的每一方法,论文使用之前的步骤生成的模型作为预训练模型,并填充这一新的架构,裁剪和随机初始化这些丢失的权重。微调每一方法T TT步,获得一个粗糙的准确率评估。
(c)依据一些准则选择最好的方法。
3.遍历上诉步骤直到达到目标延迟

论文使用的准则:最小化延迟变化与准确率变化的比率
在这里插入图片描述

网络提升

除了网络搜索外,论文也引入几个新的组件到模型中来提升最终的模型。论文重新设计了在网络开始和结束部分计算昂贵的层。同时,论文也引入了一个新的非线性激活函数:h-swish,它是最近非线性激活函数swish改进版,这样能够加速计算并让量化更友好。

重新设计计算昂贵层

一旦通过架构搜索发现模型,论文发现最后几层和开始几层比其他部分计算代价更高。论文对架构提出几点改进来减少这些速度慢的层的延迟但是维护准确率

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LR-ASPP论文 的相关文章

随机推荐

  • 【vs】window下用vs创建linux项目,可连接虚拟机linux

    vs window下用vs创建linux项目 可连接虚拟机linux 很多时候 电脑装的虚拟机还是比较卡顿的 有没有一种可能 就是在window下面开发linux的工程 visual studio 给我们提供了这一功能 0 Linux准备
  • C#三层架构系统 C#.NET三层架构快速开发框架

    C 三层架构系统 C NET三层架构快速开发框架 C 语言 C CSharp C 是一个现代的 通用的 面向对象的编程语言 它是由微软 Microsoft 公司开发的强大的编程语言 C 是专为公共语言基础结构 CLI 设计的 CLI 由可执
  • 【Android】线性布局(LinearLayout)最全解析

    Android 线性布局 LinearLayout 最全解析 一 LinearLayout概述 二 LinearLayout常用属性 2 1 orientation属性 2 2 gravity属性 2 3 layout weight属性 一
  • STM32H7串口查询方式接收串口接收溢出导致死机问题

    串口溢出后 因为接收移位寄存器不会把接收到的数据放到接收寄存器中 则RXNE RXFNE不会再置位 不能再接收 表现为串口死机 STATIC INLINE uint32 t LL USART IsActiveFlag RXNE RXFNE
  • STM32F407单片机移植MS5611气压计(基于IIC)---同时解决温度低于20度时计算得到的大气压错误的问题

    最近一个工程项目需要使用MS5611气压计 就花时间研究了一下 发现网上很多都是基于STM32F103单片机的MS5611气压计源程序 当移植到STM32F407时发现采集的大气压力和温度值不对 同时发现网上部分程序在温度高于20度时 计算
  • 11月编程语言排行出了!榜单有何新变化?

    11月TIOBE编程排行榜已更新 一起看看本月各大编程语言有何新进展 11月TIOBE编程排行榜前15名 TOP 10编程语言TIOBE指数走势 素材来自https www tiobe com tiobe index 如侵删 在本月TIOB
  • 数据库知识整理 - 数据库恢复技术(故障种类、数据转储、日志文件、恢复策略)

    主要内容 事务的基本概念 故障的种类 1 事务内部的故障 2 系统故障 3 介质故障 4 计算机病毒 数据库恢复技术 数据转储 登记日志文件 登记日志文件的作用以及原则 恢复策略 事务故障的恢复 系统故障的恢复 介质故障的恢复
  • 如何将CAD绘图软件的语言设置为中文状态下

    我们在进行使用CAD绘图软件来绘制图纸的时候 一般都需要建CAD编辑器进行设置一下在使用 那么 如何将CAD绘图软件的语言设置为中文状态下 具体要怎么来进行操作呢 那下面小编就来教教大家将CAD绘图软件设置为中文状态下的操作方法吧 希望对你
  • 关于struts2和javamail的配合使用

    这几天用到了javamail 开始写了个程序 建了个java项目 可以正常运行 但是后来加入到struts2项目中 就开始报错ClassNotFound之类的错误 解决方法是在myeclipse的安装目录下找到common文件夹 打开其中的
  • Arduino pro micro开发板的程序烧录问题

    Arduino pro micro是我大二的时候买的一个开发板 当时是玩Arduino开发板之后 尝试做一个小东西 但是买回来后 不知道程序怎么下载 多种尝试也没有成功 时隔多年 在家收拾东西翻出来后 再试了一下 发现我当时想多了 没好好地
  • IDEA教程之Activiti插件

    本文作者 Spring ZYL 文章来源 人生就是一个不断学习的过程 码农StayUp CSDN博客 SpringBoot全家桶 Java数据结构与算法分析 设计模式领域博主 版权声明 本文版权归作者所有 转载请注明出处 一 安装Activ
  • 《软件测试》第十四章 网站测试

    软件测试 第十四章 网站测试 14 0 前言 14 1 网页基础 14 2 黑盒测试 14 2 1 文本 14 2 2 超级链接 14 2 3 图片 14 2 4 表单 14 2 5 对象和其他各种简单的功能 14 3 灰盒测试 14 4
  • QQ和MSN 在线代码

    QQ在线聊天代码 a href img src images qq交谈 bmp alt qq交谈 width 68 height 29 border 0 a MSN在线聊天代码 a href target blank img src ima
  • Callable 和 Future

    Callable 和 Future 是 Java 并发编程中用于处理多线程任务的两个关键接口 它们通常与线程池一起使用 以实现异步任务执行和获取结果的功能 Callable Callable 是一个泛型接口 它定义了一个带有返回值的任务 与
  • 多线程爬虫的实现----threading库的使用

    1 作爬虫的时候为了提升抓取的速度 这个时候就需要开启多个线程同时抓取数据 今天就分享一下如何使用Python中的threading库实现多线程抓取数据 from shop import ShopSpider import threadin
  • 微服务框架相关 OpenFeign 源码

    目录 一 基础 二 初始化注册 三 FeignClient 自动配置 四 FeignClient 创建 五 网络请求的发出 六 负载均衡 SpringCloud Loadbalancer 一 基础 使用 OpenFeign 流程 项目中引入
  • 2如何识别操作系统_信创产业成为风口,如何“迁移”值得研究(二)

    在上一讲 信创产业成为风口 如何 迁移 值得研究 中 我们分析了什么是 信创 以及数据迁移在信创过程中的重要意义及其基本要求 本次文章中我们将继续分析 信创实践过程中数据迁移的难点及其解决之道 1难点1 迁移场景复杂 在信创实践过程中 随着
  • html搜索栏热搜效果,CSS3实战开发:百度新闻热搜词特效实战开发_html/css_WEB-ITnose...

    各位网友 今天这篇文章 我将手把手带领大家开发百度新闻首页的 新闻热搜词 特效 在这个特效中应用的知识点都很基础 如果你对这些还不清楚 可以关注我以前写的详细教程 今天讲这个案例 也是希望告诉大家 在开发一个特效的时候 请不要将问题复杂化
  • valn的基础配置

    vlan作业 1 交换机进行vlan配置 lsw1 lsw2 2 进行单臂路由的配置 3 DHCP配置 地址池的配置 端口启动
  • LR-ASPP论文

    论文地址 https arxiv org abs 1905 02244 摘要 我们提出了基于互补搜索技术的组合以及一个新颖的架构设计的下一代移动网络 MobileNetV3通过结合NetAdapt算法补充的硬件网络架构搜索 NAS 调整到移