位置: IT常识 - 正文

轻量级网络MobileNeXt--改进MobileNet v2的逆残差结构(轻量级网络设计)

编辑:rootadmin
轻量级网络MobileNeXt--改进MobileNet v2的逆残差结构

推荐整理分享轻量级网络MobileNeXt--改进MobileNet v2的逆残差结构(轻量级网络设计),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:轻量级网络协议,轻量级网络的优缺点,轻量级网络什么意思,轻量级网络模型有哪些,轻量级网络有哪些,轻量级网络模型有哪些,轻量级网络有哪些,轻量级网络模型有哪些,内容如对您有帮助,希望把文章链接给更多的朋友!

论文地址:ECCV 2020

《MobileNeXt: Rethinking Bottleneck Structure for Efficient Mobile Network Design》

要点

论文针对MobileNetV2的核心模块逆残差结构存在的问题进行了深入分析,提出了一种新颖的SandGlass模块,并用于组建了该文的MobileNeXt架构,SandGlass是一种通用的模块,它可以轻易的嵌入到现有网络架构中并提升模型性能,这种轻量级模块有原生残差块和倒置残差块的影子,是一种正向残差设计。

回顾

ResNet 使用标准卷积提取特征,MobileNet 始终使用DW卷积提取特征。

ResNet 先降维、卷积、再升维,而 MobileNet V2 则是 先升维、卷积、再降维。

直观上看,ResNet 的微结构是沙漏形,而 MobileNet V2 则是纺锤形。

因此作者将 的结构称为 Inverted Residual Block。这么做也是因为使用DW卷积而作的适配,希望特征提取能够在高维进行。

 如下图所示,左侧是ResNet网络中的残差结构(中间窄两头宽),右侧就是MobileNet v2中的逆残差结构(中间宽两头窄)。

在残差结构中是1x1卷积降维->3x3卷积提取特征->1x1卷积升维,在逆残差结构中正好相反,是1x1卷积升维->3x3DW卷积提取特征->1x1卷积降维。 MobileNet V2 的解释是高维信息通过ReLU激活函数后丢失的信息更少。

下图为ResNet, MobileNetV2和论文提出的MobileNeXt的对比: ResNet残差块组成:1x1卷积(降维)、3x3卷积(空间信息特征提取)、1x1卷积(升维); MobileNetV2倒置残差块组成:1x1卷积(升维)、3x3深度可分卷积(空间信息特征提取)、1x1卷积(降维); MobileNeXt沙漏残差块组成:3x3深度可分卷积(空间信息特征提取)、1x1卷积(降维)、1x1卷积(升维)、3x3深度可分卷积(空间信息特征提取),该结构与正向残差类似,区别在于使用了深度卷积;

问题

ResNet残差块中间的3*3卷积的参数量和计算量都非常大,不适用于轻量级网络;

MobileNetV2的Inverted residual block,专为移动设备设计,为了节省计算量,输入改为低维度特征,先通过pointwise卷积扩大维度,然后通过depthwise卷积提取特征,最后通过pointwise卷积降低维度输出;skip path仅建立在低维度bottleneck间,最后一个pointwise卷积不使用非线性激活;

尽管Inverted residual block性能不错:

但输入需要将特征先降到较低的维度,但是降低维度可能不足以保留足够的有用信息;

近期有研究发现更宽的网络结构(输入输出通道数更多)有助于缓解梯度混淆(特指梯度消失与梯度爆炸,不同batch产生的梯度抵消),能够提升网络性能;

shortcut建立在bottleneck之间,由于bottleneck维度较少,也可能会阻碍梯度的回传。

为解决上述问题,论文提出了设计更优的sandglass block,结构如图3(c),基于此搭建了MobileNeXt,在性能和计算量上都优于MobileNetV2。

亮点

 考虑到上述逆残差模块存在的问题,论文作者的设计原则:

保持更多的信息从bottom传递给top层,进而有助于梯度回传;

深度卷积是一种轻量型单元,可以执行两次深度卷积以编码更多的空间信息。

作者重新思考移动网络的bottleneck结构,发现inverted residual并不是最优的bottleneck结构。

轻量级网络MobileNeXt--改进MobileNet v2的逆残差结构(轻量级网络设计)

研究发现,shortcut应该建立在高维度特征上,depthwise卷积应该应用在高维度特征空间上学习更多样特征,linear residual是bottleneck结构的关键。

sandglass block

如下图所示:(a) Inverted Residual Bottleneck (b) SandGlass Bottleneck

SandGlass块本质上是一个经典的残差块,其中主分支中的第一个和最后一个卷积层是保留通道的空间深度卷积层。为了模拟瓶颈结构,它使用两个连续的逐点卷积来减少然后增加通道数,这些PW卷积堆叠在两个深度卷积层之间。由于现在更大的通道张量由深度内核操作,因此与MobileNetV2相比,参数数量大大减少。

sandglass block理论分析 :

Activation Layer:已有研究表明,线性瓶颈层有助于避免特征出现零化现象,进而导致信息损失。基于此,作者在用于降维的1x1卷积后不添加激活函数。同时最后一个深度卷积后也不添加激活函数,激活函数加在第一个3*3深度卷积与最后一个1x1卷积之后。Block Structure.:基于上述考虑,我们得到了该文所设计的新颖的残差瓶颈模块,结构如下表与上图b所示。注意:当输入与输出通道数不相同时不进行短连接操作。 

表中ReLU6是指具有最大输出限制为6的relu函数,主要是为了在移动端设备float16/int8的低精度时也能有很好的数值分辨率,如果对普通relu函数的激活范围不加限制,输出的范围为0到正无穷,如果激活值非常大,分布在一个很大的范围内,则低精度的loat16/int8就无法良好地精确描述如此大范围地数值,从而带来精度地损失;

线性激活函数linear是指线性映射(y=x),这有助于避免零化现象的出现,进而减少信息损失。

MobileNeXt网络结构

输入为224*224*3,然后是卷积后32维输出,后续是sandglass block的堆叠,最后是全局平均池化,将二维的特征图压缩为一维,最后再由全连接层、softmax函数输出每个类别的分数。

Identity tensor multiplier 

尽管shortcut连接有助于梯度的回传,但论文通过实验发现,没有必要保持完整的特征去跟residual path结合。为了让网络对移动设备更友好,论文提出超参数identity tensor multiplier ,用于控制shortcut传递的特征维度,假设表示残差分支的变换函数;

原来的residual block计算可表示为:

加入超参数后的residual block计算可表示为:

超参数的作用:

通过降低该超参数,每个模块中的add数量可以进一步降低,因为add操作会占用不少耗时,用户可以选择更少的以得到更好的推理速度且性能几乎无影响;

可以降低内存访问时间。影响模型推理的一个重要因素是:内存访问消耗(Memory acces cost, MAC)。降低该超参数有助于减少cache占用,进而加速推理。

即作者考虑到用在移动设备的延时问题,作者不对所有来自短径连接地数据进行add,只选择其中地一部分进行连接,论文实验表明取特征的一半进行加和,可以保持速度和精度的最佳。

下图为不完全的短径连接:

 实验

tensor multiplier 选择:

ImageNet分类任务效果如下:

 与MobileNetV2在ImageNet上进行对比:

 与其他网络结构在ImageNet上进行对比:

总结

作者对逆残差结构进行了改进,又变回了正向残差结构,从高维特征获取到更多的信息,并解决shortcut连接所带来的梯度问题,在1*1PW卷积之间不使用3*3卷积来提取特征,而是先进行降维再进行升维以更新融合特征。

MobileNet作为一个轻量级网络,但是论文作者并没有列出在实际移动设备上的应用。

参考

MobileNeXt | 新一代手机端模型

PyTorch实现 

MobileNext:打破常规,依图逆向改造inverted residual block 

依图科技MobileNeXt 

仅为学习记录,侵删! 

本文链接地址:https://www.jiuchutong.com/zhishi/299589.html 转载请保留说明!

上一篇:路由vue-route的使用(vue router 路由参数)

下一篇:YOLOv5图像分割中的NMS处理(yolov3图像识别)

  • 一个地址可以注册两个公司个体户吗?

    一个地址可以注册两个公司个体户吗?

  • 验证码看不到怎么办(验证码看不到怎么回事)

    验证码看不到怎么办(验证码看不到怎么回事)

  • qq好友恢复系统三年内(qq好友恢复系统登录入口)

    qq好友恢复系统三年内(qq好友恢复系统登录入口)

  • 微信视频怎么定格封面(微信视频怎么定时发送)

    微信视频怎么定格封面(微信视频怎么定时发送)

  • 华为手机那个圆圈怎么设置(华为手机那个圆圈怎么关掉)

    华为手机那个圆圈怎么设置(华为手机那个圆圈怎么关掉)

  • 华为P40pro+上市时间(华为p40pro+上市价格)

    华为P40pro+上市时间(华为p40pro+上市价格)

  • 苹果耳机三代充电的时候怎么显示(苹果耳机三代充电多久充满)

    苹果耳机三代充电的时候怎么显示(苹果耳机三代充电多久充满)

  • 耳机40mm和50mm区别(耳机30mm和40mm)

    耳机40mm和50mm区别(耳机30mm和40mm)

  • 键盘的轴色有什么区别(键盘各种颜色的轴有什么区别)

    键盘的轴色有什么区别(键盘各种颜色的轴有什么区别)

  • 华为手机情景模式在哪(华为手机情景模式设置)

    华为手机情景模式在哪(华为手机情景模式设置)

  • 手机发烫怎么降温(手机发烫怎么降温华为)

    手机发烫怎么降温(手机发烫怎么降温华为)

  • 怎样下载手机铃声歌曲到手机上(怎样下载手机铃声来电铃声华为)

    怎样下载手机铃声歌曲到手机上(怎样下载手机铃声来电铃声华为)

  • 二进制编码的作用是什么(二进制编码的作用)

    二进制编码的作用是什么(二进制编码的作用)

  • 防窥屏膜伤眼睛嘛(防窥屏膜的原理)

    防窥屏膜伤眼睛嘛(防窥屏膜的原理)

  • 6s原装电池多少毫安(苹果6s的原装电池多少钱)

    6s原装电池多少毫安(苹果6s的原装电池多少钱)

  • iphonexsmax支持什么模式快充(iphonexsmax支持什么电话卡)

    iphonexsmax支持什么模式快充(iphonexsmax支持什么电话卡)

  • 蓝屏a5是什么原因(蓝屏a5是什么原因导致的)

    蓝屏a5是什么原因(蓝屏a5是什么原因导致的)

  • 怎么自定义闹钟铃声(苹果手机怎么自定义闹钟)

    怎么自定义闹钟铃声(苹果手机怎么自定义闹钟)

  • 电脑开机显卡风扇不转是什么原因(电脑开机显卡风扇声音很大)

    电脑开机显卡风扇不转是什么原因(电脑开机显卡风扇声音很大)

  • 笔记本显卡和台式机显卡区别(笔记本显卡和台式机显卡性能对比)

    笔记本显卡和台式机显卡区别(笔记本显卡和台式机显卡性能对比)

  • 手机显示hd要收费吗(手机显示hd要收费不)

    手机显示hd要收费吗(手机显示hd要收费不)

  • iptv业务平台认证超时怎么解决(iptv业务认证账号和密码)

    iptv业务平台认证超时怎么解决(iptv业务认证账号和密码)

  • 三星m2071怎么换硒鼓(三星m2071怎么换搓纸轮)

    三星m2071怎么换硒鼓(三星m2071怎么换搓纸轮)

  • ipad截图怎么截长图(ipad截图怎么截手势)

    ipad截图怎么截长图(ipad截图怎么截手势)

  • 跑腿软件开发功能包含哪些方面(跑腿app的设计与实现)

    跑腿软件开发功能包含哪些方面(跑腿app的设计与实现)

  • 京东好店是什么意思(京东好店是什么意思?)

    京东好店是什么意思(京东好店是什么意思?)

  • win11怎么复制路径地址? 任意复制Win11上的任何目录地址的技巧(windows怎么复制)

    win11怎么复制路径地址? 任意复制Win11上的任何目录地址的技巧(windows怎么复制)

  • YOLOv5|YOLOv7|YOLOv8改各种IoU损失函数:YOLOv8涨点Trick,改进添加SIoU损失函数、EIoU损失函数、GIoU损失函数、α-IoU损失函数

    YOLOv5|YOLOv7|YOLOv8改各种IoU损失函数:YOLOv8涨点Trick,改进添加SIoU损失函数、EIoU损失函数、GIoU损失函数、α-IoU损失函数

  • 当月认证了进项票没用完下个月还可以用吗
  • 个体工商户所得税核定征收2023
  • 增值税进项税额加计抵减会计处理
  • 银行开具的票据有哪些
  • 税收国家和地方的比例
  • 过路费定额发票还能入账吗
  • 能从科目余额表入账吗
  • 新个税法案专项扣除如何实施
  • 其他流动资产待抵扣进项税额
  • 外贸业务收境外人民币
  • 自查补交以前年度增值税怎么做账
  • 开票金额大于收款金额如何处理
  • 软件企业会计分录
  • 个人出租住房缴纳个税可以扣除房产税吗
  • 金税三期如何报个税
  • 电子发票详见清单怎么开
  • 红字发票需要盖章子吗
  • 年薪制与月薪制的优与劣
  • 2021最新车船税
  • 我的初级备考经历怎么写
  • 第三方贴现分录
  • 以前的纳税申报表还能打印吗
  • 法人向公司借款用途怎么写
  • 其他收益科目核算
  • 公司购买的原材料,原价格销售合理吗
  • 自用煤怎么入账
  • 配股的基本含义是什么
  • 详解php语言最牛的语言
  • wordpress相关文章插件
  • 收到服务费的发票怎么做
  • 高新技术企业研发费比例
  • msstat.exe - msstat是什么进程 有什么用
  • win7系统文件在哪里可以找到
  • php基础入门教程
  • 直布罗陀巨岩山
  • 营改增后如何纳税
  • 厂区绿化工程计入什么科目
  • php closure类
  • 应收账款余额在借方表示谁欠谁
  • 小规模拍卖公司怎么开票
  • 所得税减免要做账吗
  • php类的特性实例是什么
  • 银行借款利息如何入账
  • 营业外收支核算的内容有哪些?
  • 个人所得税又是什么税种
  • 外币交易的会计分录怎么写
  • MySQL: mysql is not running but lock exists 的解决方法
  • mysql在表中添加一个新的属性
  • 公司账户转到公司账户要多久
  • 手机里面的发票怎么查
  • 购买金税盘的分录怎么做
  • 一般纳税人每月开票限额是多少
  • 开具增值税专用发票含税吗
  • 佣金付给别人公司合法吗
  • 质量问题扣货款会计怎么处理
  • 案例分析应收账款管理存在的问题
  • 财务软件可以直接做管理费用吗?
  • 企业支付宝问题解决
  • 盈余公积金计算方法
  • 登记会计账簿的注意事项
  • 企业筹建期间发生的费用应计入什么账户
  • 营业执照可以注册几个抖音号
  • 记账凭证分为哪几类,应具备哪些主要内容
  • 高危补丁该不该修补
  • windows xp cmd
  • Windows 2003作中转VPN服务器多路由共享上网的方法
  • thinkpad预装的office怎么激活
  • win10预览体验三个选项
  • DWHeartbeatMonitor.exe进程是什么意思 DWHeartbeatMonitor是安全的进程吗
  • windowsxp优化教程
  • win7系统怎样
  • 密钥升级win10专业版有问题吗
  • linux服务器dns配置安装
  • windows7 无线服务
  • Android中的touch事件
  • bat批处理命令运行程序
  • opengl sphere
  • python 父类方法
  • 国家税务系统电子税务局电话
  • 无锡梁溪区在哪
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设