点击上方,选择星标置顶,不定期资源大放送

阅读大概需要15分钟

Follow小博主,每天更新前沿干货

【导读】今天给大家介绍一篇 ECCV 2020 Oral论文 ,该论文强调了同时考虑网络宽度和输入分辨率对有效网络设计的重要性。提出了一种新的互相学习的网络框架,即网络宽度和输入分辨率这两者互相学习,从而来实现自适应的精度-效率之间的平衡。

论文标题

  • 论文链接:https://arxiv.org/abs/1909.12978

  • 代码地址:https://github.com/taoyang1122/MutualNet

摘要

我们提出了一种width-resolution相互学习的方法(MutualNet),根据动态的资源约束来训练网络,这种方法在运行时实现了自适应精度-效率的平衡。我们的方法根据不同的输入分辨率来训练一批具有不同宽度的子网络,以相互学习每个子网络的多尺度表示。在不同的计算约束条件下,它在最先进的自适应网络US-Net上始终取得更好的ImageNet top-1精度,并且比最优的复合尺度的MobileNet和EfficientNet 的性能还高出1.5%。该方法在COCO目标检测和实例分割以及迁移学习上也得到了验证。令人惊讶的是,MutualNet的训练策略也可以提高单个网络的性能,在效率(GPU搜索时间:15000 vs. 0)和准确性(ImageNet: 77.6% vs. 78.6%),这两方面都显著超过了AutoAugmentation。

论文介绍

深度神经网络在多项感知任务上都很成功。然而,深度网络通常需要大量的计算资源,这使得它们很难部署在移动设备和嵌入式系统上。这激发了人们去研究,如何设计出更高效的卷积模块或裁剪掉不重要的网络连接,来降低神经网络中的冗余。然而,这些工作忽略了计算成本是由由网络规模和输入规模共同决定的。只想着降低网络的大小是没法实现最优的准确率-效率平衡的。EfficientNet 已经考虑到了网络深度、宽度和分辨率之间平衡的重要性,但是它只分别考虑了网络的大小和输入的大小。EfficientNet的论文作者针对不同配置进行网格搜索,选择性能最好的配置,同时提出在学习充分利用不同配置中嵌入的信息时,应同时考虑网络规模和输入规模。另一个阻碍深度网络实际部署的问题是,资源预算(例如,电池条件)在现实应用中是不同的,而传统网络只能在特定的限制下运行。为了解决这个问题,SlimNets提出训练一个单一的模型来满足运行时资源预算的变化。但他们只是减少网络宽度来满足更低的资源预算。因此,随着计算资源的减少,模型的性能会急剧下降。

在这里,我们提供一个具体的例子来说明在输入分辨率和网络宽度对于实现更好的精度-效率平衡的重要性。具体来说,为了在MobileNet v1 backbone上满足动态资源约束从13到569 MFLOPs ,US-Net 在面对输入是224×224224\times 224224×224的图片时,所需的网络宽度在[0.05,1.0],而这个要求也可以在{224,192,160,128}的范围内调节输入分辨率,而网络宽度在[0.25,1.0]×来得到满足。作者将第二个模型叫做US-Net+。如图1所示,推理时我们将不同的分辨率和网络宽度结合,可以实现更优的准确率-效率平衡。

基于上述观察,作者提出了一个相互学习的方法,将网络宽度和输入分辨率融入到一个统一的学习框架内。如图2所示,我们的框架为不同的子网络提供不同的输入分辨率。由于子网络之间共享权值,每个子网络可以学习其他子网络共享的知识,从而可以从网络尺度和输入分辨率中获取多尺度表示。表1提供了我们的框架与以前工作的比较。

综上所述,我们作出的贡献如下:

  1. 本文强调了输入分辨率对有效网络设计的重要性。以往的工作要么忽略它,要么将其脱离了网络结构而单独来看待它。相反,我们将网络宽度和输入分辨率嵌入到一个统一的互学习框架中,从而学习一个深度神经网络(MutualNet),它可以在准确率-效率之间实现自适应的平衡。

  2. 我们进行了大量的实验来证明MutualNet的有效性。在不同资源约束条件下,在不同的网络结构、数据集、任务上,它的性能明显优于单独训练的网络和US-Net。据我们所知,本文应该是第一个在目标检测和实例分割任务上对任意约束自适应网络做benchmark的。

  3. 作者进行了充分的消融实验,全面分析了本文提出来的相互学习方法。进一步证明了该框架可以作为即插即用策略来提高单个网络的性能,其性能显著优于流行的性能提升方法,如数据增广, SENet 和知识蒸馏等。

  4. 该框架是一个通用的训练机制,与模型无关。它可以用在任何的网络上,而无需调整其结构。这使得它与其它SOTA技术可以兼容(例如,神经结构搜索(NAS),AutoAugmentation)。

网络结构

不同分辨率包含不同的信息。作者想利用该特性,学到鲁棒的特征表示和更优的宽度-分辨率平衡。US-Net里的sandwich rule 可以看作为相互学习的一个机制,协作学习一组网络。由于子网络之间共享权重,协同优化,它们的知识可以互相迁移。较大的网络能够利用较小网络的特征。同样,较小网络也可以受益于较大网络的特征。因此,作者给各子网络输入不同的分辨率输入。通过共享知识,每个子网络都可以获取多尺度表示。

作者在上图2中提供了一个例子,来介绍该框架。作者训练了一个网络,其宽度范围从0.25到1.0。作者首先按照sandwich rule选择了2个子网络,即最小的(0.25×),最大的(1.0×),和2个随机宽度比值的α1,α2∈(0.25,1),然后,与传统的用224×224作为输入的ImageNet训练不同,作者将输入图像缩放到{224,196,160,128},将它们输入进不同的子网络中。作者将子网络的权重表示为W_{0,w}。其中w∈(0,1]是子网络的宽度,0:w意思是子网络会采用原网络每一层权重的w×100%,











代表一个r×r输入图片。然后























表示子网络的输出,宽度是w,分辨率是r×r。对于最大的子网络(即图2中的原网络),作者总是用最高的分辨率输入和ground truth标签来训练它。原网络的损失是:

对于其它的子网络,作者随机从{224,196,160,128}中选择一个输入分辨率,用原网络的输出来训练它。第i个子网络的损失是:

其中KLDiv是 Kullback-Leibler散度。原网络和子网络的总的损失是:

用最高分辨率来训练原网络的原因是,最高分辨率包含着更多的细节信息。同样,原网络也具有最强的学习能力,获取图像数据的判别信息。

Mutual learning from width and resolution. 这一部分,作者解释了为何该框架能够从不同的宽度和分辨率中相互学习。为了展示简单些,作者只考虑了2个网络宽度,0.4×,0.8×,2个分辨率128,192。如图3所示,0.4×的子网络选择输入分辨率为128,而0.8×的子网络选择输入分辨率为192。然后,作者将0.4×的子网络定义为

将0.8×的子网络定义为

由于0.8×的子网络与0.4×的子网络共享权重,我们可以将它的梯度拆分为:

其中⊕是向量concat操作。因为这2个子网络的梯度在训练时会积累起来,总的梯度计算如下:

因此,0.4×的子网络的梯度就是,由2部分组成。第一部分来自于它自己(0:0.4×),分辨率是128。第二部分来自于0.8×子网络(即0:0.4×部分),分辨率是192。因此,子网络能够从不同的输入分辨率和网络尺度中获取多尺度特征表示。因为网络宽度的随机选取,该框架的每个子网络都可以学习多尺度特征表示。

模型推理:训练好的模型可以在不同的宽度-分辨率配置上执行。目的是在给定资源下找到最佳的配置。一个简单的实现方式就是query table。特别地,作者用step-size 0.05×来从0.25×到1.0×中选取网络的宽度,从{224,192,160,128}中选择分辨率。作者在验证集上测试了所有的宽度-分辨率配置,根据约束条件(FLOPs或延迟)选择最佳的一个。因为无需重复训练,整个流程只要训练一次。

实验结果

在ImageNet数据集上,作者将MutualNet和US-Net等独立训练的网络进行了比较。作者也在两个轻量级模型MobileNetV1和MobileNetV2上评价了该框架。这2个网络也分别代表了非残差和残差结构。

作者首先在MobileNetV1和MobileNetV2主干网络上将本文框架与US-Net做比较。图4是准确率-FLOPs的曲线。可以看到本文框架一直要比US-Net效果好。在较小的计算开支下,MutualNet 取得了显著的提升。这是因为,MutualNet 既考虑了网络宽度,也考虑了输入分辨率,能够在二者间找到平衡。例如,假设资源限制在150 MFLOPs,给定输入分辨率为224,US-Net 必须降低其网络宽度到0.5×,而MutualNet 可以通过平衡的配置(0.7×−160) 来满足该预算,实现更高的准确率(65.6%(MutualNet) vs. 62.9%(US-Net),如图4a)。另一方面,MutualNet 能够学习多尺度特征,进一步提升每个子网络的性能。可以看到,即使对于相同的配置(1.0×−224),MutualNet 也要超过US-Net,即在MobileNetV1上 72.4%(MutualNet) vs. 71.7% (US-Net),在MobileNetV2上 72.9%(MutualNet) vs. 71.5% (US-Net),如图4。

与单独训练的网络进行比较,效果图展示:

EfficientNet 指出了平衡网络宽度、深度、分辨率的重要性。但是它是单独考虑这些因素。作者在这3个维度上使用网格搜索法,单独地训练每个配置,根据约束条件来找到最佳的配置。而MutualNet则是在一个统一的框架中融入宽度和分辨率。当资源约束在 2.3 BFLOPs,作者用最佳的EfficientNet来改造MobileNetV1,并与MutualNet进行比较。具体效果显示如下:

在目标检测和分割任务上,多尺度数据增广也很流行。首先,作者从原则方面介绍MutualNet与多尺度数据增广不同。其次,本文方法要远比多尺度数据增广好。具体实验效果如下:

作者也在COCO数据集和实例分割任务上做了评测。基于Mask-RCNN-FPN和以VGG-16作为主干网络的MMDetection toolbox做的实验。

Conclusion

本文强调了同时考虑网络宽度和输入分辨率对有效网络设计的重要性。提出了一种新的网络互相学习框架,在这里即网络宽度和输入分辨率之间的相互学习,来实现自适应的精度-效率之间的trade-off。大量的实验表明,它可以显著地提高每个触发器在各种数据集和任务上的推理性能。互相学习是提高单网络性能的有效训练策略。该框架的通用性使其能够很好地转换到其它问题上。通过向框架中添加其他网络维度,例如网络深度和位宽,这也使得逻辑扩展很容易获得。该框架还可以扩展到视频输入和3D神经网络,在其中便可以利用空间和时间信息。(感觉这个套路后续可出好多论文

更多细节信息请参考原文。

重磅!DLer-计算机视觉交流群已成立!

欢迎各位Cver加入计算机视觉微信交流大群,目前群内已有300+人,本群旨在交流图像分类、目标检测、点云/语义分割、目标跟踪、机器视觉、GAN、超分辨率、人脸检测与识别、动作行为/时空/光流/姿态/运动、模型压缩/量化/剪枝、NAS、迁移学习、人体姿态估计等内容。更有真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、行业技术交流等,欢迎加群交流学习!

进群请备注:研究方向+学校/公司+昵称(如图像分类+上交+小明)

广告商、博主请绕道!

???? 长按识别添加,邀请您进群!

超越EfficientNet!MutualNet:一种自适应相互学习网络宽度和分辨率的网络相关推荐

  1. 深度学习笔记(七):网络宽度(卷积核个数)的一些想法

    文章目录 一.前言 二.网络深度的意义 三.宽度的意义 四. 网络宽度设计 4.1 网络宽度的下限在哪? 4.2 网络宽度对模型性能的影响 4.3 网络宽度和深度谁更加重要? 五.如何加有效地利用宽度 ...

  2. MutualNet:一种“宽度-输入分辨率”互相学习的网络轻量化方法

    本文分享一篇来自 ECCV'20 Oral 的论文『MutualNet: Adaptive ConvNet via Mutual Learning from Network Width and Res ...

  3. 本周AI热点回顾:何恺明RegNet超越EfficientNet、数学难题“abc猜想”封印终被开启、微软麻将 AI 论文发布

    01 何恺明团队最新力作RegNet: 超越EfficientNet,GPU上提速5倍 还是熟悉的团队,还是熟悉的署名,Facebook AI实验室,推陈出新挑战新的网络设计范式.熟悉的Ross,熟悉 ...

  4. 超越 EfficientNet与MobileNetV3,NeurIPS 2020 微软NAS方向最新研究

    编者按:随着深度学习的发展,神经网络结构的设计逐渐由手工设计转变为算法自动设计.在近期的神经网络设计(Neural Architecture Search, NAS)研究中,现有的方法存在一定缺陷,结 ...

  5. ECCV 2022 | 超越MobileViT!EdgeFormer:学习ViT来改进轻量级卷积网络

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入-> CV 微信技术交流群 转载自:CV技术指南 前言 本文主要探究了轻量模型的设计.通过使用 ...

  6. EMNLP 2022 | RAPO: 基于自适应排序学习的双语词典归纳

    ©PaperWeekly 原创 · 作者 | 李朝卓 单位 | 微软 研究方向 | 图挖掘.自然语言处理 论文标题: RAPO: An Adaptive Ranking Paradigm for Bi ...

  7. 让学生网络相互学习,为什么深度相互学习优于传统蒸馏模型?| 论文精读

    作者 | Ying Zhang,Tao Xiang等 译者 | 李杰 出品 | AI科技大本营(ID:rgznai100) 蒸馏模型是一种将知识从教师网络(teacher)传递到学生网络(studen ...

  8. DSML:深度子空间相互学习模型(用于癌症亚型预测)

    目录 背景描述 模型架构 数据表示 Single level omics data representation learning model(单级组学数据表示学习模型) Multi-level om ...

  9. 总结 62 种在深度学习中的数据增强方式

    数据增强 数据增强通常是依赖从现有数据生成新的数据样本来人为地增加数据量的过程 这包括对数据进行不同方向的扰动处理 或使用深度学习模型在原始数据的潜在空间(latent space)中生成新数据点从而 ...

最新文章

  1. lduan server 2012证书服务管理 (十八)
  2. mysql 查看建表dll_关于C# Mysql.Data.dll 查询数据库表的一些小问题
  3. ip camera芯片级解决方案
  4. aria-label
  5. python获取股票历史数据_量化交易之如何获取股票历史数据并存为csv
  6. RhinoMock异常ExpectationViolationException以及解决
  7. iOS 一个方法首次安装滚播图 展示应用简介
  8. excel比对两列数据
  9. 【win10安装】磁盘MBR分区表
  10. android 本地阅读pdf,Android 打开本地pdf文件
  11. 仙剑四小说【第一章:结伴入世(下)】
  12. nuc8 macos12升级测试
  13. 针对Sql Server中进行查询操作时提示“对象名无效”
  14. 自动化软件测试工作内容,「自动化测试」自动化测试岗位职责(职位描述,任职要求)...
  15. sql 内连接,左连接,右连接,全连接
  16. python 入门书籍-入门python有什么好的书籍推荐?
  17. vue自定义html模板,vue中自定义html文件的模板
  18. 【Excel学习笔记13】对一个单元格内容进行条件分列,分列成多列
  19. 云服务器ecs是虚拟主机,云服务器ecs是虚拟主机吗
  20. 一、 网络安全基础入门-概念名词

热门文章

  1. 案例精解企业网络构建读书笔记之网络故障排除案例
  2. 配置Windows 2008 R2 防火墙允许远程访问SQL Server 2008 R2
  3. 网络-开发-CIO全面覆盖——51CTO.com今日变脸
  4. arcengine遍历属性表_【程序之坑】小程序云开发导出数据到excel表
  5. GPT-3英文版的接口
  6. TOMCAT9 如何突破的双亲委派机制
  7. ZH PROPERTIES
  8. 智源发布 | 大规模并行训练效率提升神器 TDS
  9. 智源重大研究方向:机器学习学术报告会(暨学者候选人发布)
  10. 从0到1,网上搜不到的企业信息安全搭建全过程,这本书讲透了!