专栏首页AI科技评论如何评价何恺明团队最新推出的RegNet?| CVPR 2020

如何评价何恺明团队最新推出的RegNet?| CVPR 2020

作者 | Bbuf

编辑 | 贾伟

最近何恺明团队在arXiv 上公布了他们发表在CVPR 2020 上的最新论文《Designing Network Design Spaces》[1]。和何恺明之前发表的大多数论文一样,一经公布,迅速得到众人的关注。知乎上迅速有人提出问题:“如何评价何恺明团队最新推出的RegNet?”[2]

但需要强调的是,这篇文章的主角是 Ilija Radosavovic,一位伦敦大学的助教;其主要研究兴趣是搜索空间的优化,这篇文章是其系列工作的第二篇。第一篇为《On Network Design Spaces for Visual Recognition》[3]。

针对最新的这项工作,来自厦门大学知乎名为「丶favor」的硕士生在其知乎解读文章[4]中写道:

一句话概括就是,传统 NAS 方法这种基于个体估计(individual network instance)的方式(每次评估的时候采样一个网络)存在以下缺陷:1)非常不灵活(各种调参大法) ;2)泛化能力差;3)可解释性差。(搜出来的效果虽好,但是很多都是大力出奇迹,运气成分+1)。因此,作者顺理成章地提出了对网络设计空间进行整体估计(population estimation,意思就是所有的深度宽度之类的最佳设计空间关系给它估计出来)。非常直观地,如果我们能得到深度(depth),宽度(width)等等一系列网络设计要素关于网络设计目标的函数关系,那么我们就很轻松地知道大概多深的网络,多宽的网络是最佳选择。这也就直接解决了上述三个问题,并且这个方式实际上能反应出更优质的网络设计准则,从而达到Designing Network Design Spaces的目的。读到这里,牛逼就完事了!

论文链接:https://arxiv.org/pdf/2003.13678.pdf

我们认为,这篇论文有望成为今年最热的CV方面的工作。读过EfficientNet的同学应该知道网络的分辨率、深度、宽度对网络的性能影响是相互作用的,并且探索了在一定计算代价下如何搜索最优模型。本文和传统的网络设计切入点不同,作者并不专注于设计单个网络实例,而是设计”网络设计空间“对整个网络进行参数化。整个过程类似于经典的网络手工设计,但是却将其提升到了设计空间的层次。 基于此,本文提出了RegNet。在相同的训练设计和FLOPs的条件下,RegNet的精度超越了当前最SOTA的EfficientNet,并且在GPU上的速度比EfficientNet快5倍。

1

设计空间设计

我们先谈谈其总体思路。这篇文章事实上依赖于Radosavovic在第一篇文章中引入的网络设计空间概念[3]。即设计空间是一个巨大的,可能无限的模型结构的总体。[3]的核心观点是,我们可以从一个设计空间中对模型进行抽样,产生一个模型分布,然后利用经典的统计工具来分析设计空间。本文注意到,这和架构搜索(NAS)不同,架构搜索的目标是从空间中找到单个最佳模型。

如Figure1所示,本文使用的整体策略是渐进式地设计原始的、相对不受约束的简化版设计空间,同时保持或者提升设计空间的质量。每个设计步骤的目的都是发现设计准则,从而产生更简单或性能更强的模型。

Figure 1. Design space design

1.1 设计空间设计工具

先来看一下设计空间设计的工具,为了评估和对比设计空间,这里使用Radosavovic等人介绍的工具。他提出通过从设计空间采样一组模型,并描述由此产生的模型误差分布,来量化设计空间的质量。这种方法背后的关键是,与使用搜索和比较两个设计空间中的最佳模型相比,比较分布更加可靠且信息更丰富。

下面的Figure2展示了用个抽样模型计算的AnyNetX设计空间的统计结果。左:误差经验分布函数(EDF)是我们可视化设计空间质量的基本工具。在图例中, 分别是最小误差和平均误差(对应于曲线下的区域)。中间:网络深度(块数)与误差的分布。右:第四阶段()的块宽度分布与误差。蓝色阴影区域包含 置信度的最佳模型(通过经验引导获得),黑色垂线是最可能的最优值。

Figure 2. AnyNetX 设计空间的统计

为了得到模型的分布,本文从设计空间中采样了个模型进行训练。为了提高效率,这里主要在低计算量和低epoch的训练模式下进行。特别地,在本节中使用的是 Million FLOPs(400MF)模式,并对每个采样的模型在ImageNet数据集上训练个Epoch。注意到,这里虽然训练了很多模型,但每次训练都很快:在MF上给个模型训练个epoch和在GF下把单个ResNet-50模型训练个epoch的时间相当。注意,这里的FLOPs表示的是乘法和加法次数,MF和GF分别代表和个FLOPs。

和[3]一样,这里分析设计空间质量的主要工具是误差经验分布函数(EDF)。个模型的误差EDF和误差由下面的公式给出:

表示错误率小于的模型百分比。上面的方法总结如下:

  • (1) 我们首先从设计空间中抽样和训练个模型,获得模型的分布。
  • (2) 我们计算并绘制误差EDFs,以评估设计空间质量。
  • (3) 我们可视化设计空间的各种属性,并使用经验准则监督。
  • (4) 我们使用这些观察结果来精细化设计空间。

1.2 AnyNet 设计空间

AnyNet设计空间的基本网络设计如Figure3所示。

Figure 3. AnyNet 设计空间的基本网络设计

给定输入图像,接下来是一个包含简单主干的网络,再接下来是执行大量计算的网络主体,最后是预测输出类别的网络头。本文保持主干和头部网络尽可能简单,主要关注网络网络主体的结构。可以看到这里网络主体由4个阶段(stage)组成,并且分辨率逐渐降低,然后每个stage里面又是由一系列相同的块(block)组成。在这个结构里面,可以改变的参数包括块的数量,块的宽度等。这里就完整展示了AnyNet的结构。

然而,我们看到论文的研究几乎都是在AnyNetX上的结果。那么AnyNetX和AnyNet又有什么区别呢?我们来看看Figure4,可以发现区别就是将原始的卷积换成分组卷积。

Figure 4. X block 基于标准残差 bottleneck 块。

在AnyNetX上,作者旨在:1)简化设计空间的结构;2)提供设计空间的可解释性;3)保持或提高设计空间的质量;4)保持设计空间中模型的多样性。

现在利用上一节介绍的工具来进行研究,这里将原始的不受约束的AnyNetX设计空间叫作。

然后论文将中所有阶段的BottleNeck比例都设置为同一个值,并将此设计空间称为。

我们可以从Figure5左边那张图看到这两个网络设计空间的EDF基本上是一致的,这表示在耦合时并没有带来精度损失。

然后在的基础上将所有阶段使用一样的来获得了,从Figure5中间那张图可以看出,EDF也基本不变。

Figure 5. (左)和(中)

接着,论文研究了中优秀和不好的典型网络结构,然后他们发现了一个规则:表现良好的网络具有不断增长的宽度。

论文接着测试了的设计原则,并将此约束下的设计空间称为 。在Figure 6(左)中可以看到这极大地改进了EDF。另外,再进一步测试多个模型后,作者发先除了阶段宽度随着增加,对于优秀的模型,阶段深度也同样趋于增加,虽然不一定是在最后阶段。

Figure 6. (左)和(右)

在Figure6的右图中,我们发现当设置 时,EDF同样得到了较大改善。最后注意到对于和的约束使得设计空间减少了,和 相比累计减少了。

2.3 RegNet设计空间

从AnyNetX的结果来看,是体现出了一些规律的,通过获得的几组变量和每个Blcok的下标之间的关系,可以拟合出一个函数关系。这样就可以建模好每个Stage的Block应该多深以及多宽的关系,这个建模的方法被论文叫作quantized linear。这一方法可以用公式(2)来表示:

其中,表示初始化宽度,表示斜率,表示网络深度。另外,为了量化这里又引入了两组公式和新的超参数用于计算,这一过程可以用公式(3)和(4)来表示:

然后,我们就可以计算出每个Stage的宽度是:以及Block的数量:

自此,网络设计空间就被这三组参数表示出来,所以对这三组参数进行搜索就获得了论文中展示的超越EfficientNet的惊艳结果了。其它的细节就不展开介绍了,感兴趣可以看原论文。

2

实验

下面的Table2展示了RegNet和现有的SOTA移动端模型的性能对比,可以看到REGNET是非常有效的。

在移动端模型上的比较

下面的Table4展示了论文将RegNet和SOTA EfficientNet 模型的对比结果,结果显示在相似的训练设置和FLOPs下,RegNet优于EfficientNet模型,并且 GPU 上的速度提升5倍。

与 EfficientNet 的对比

3

结论

这篇论文提出了一种新的网络设计范式,和以往研究不同的是他们没有专注于设计单个网络实例,而是设计出了参数化网络群的网络设计空间。这种新的网络设计范式结合了神经框架搜索(NAS)和手工设计网络的优点,精度和速度全面超越了EfficientNet,将成为了目前最值得关注的一项CV方向的工作。

参考资料:

[1] I. Radosavovic, Raj Prateek Kosaraju, Ross Girshick, Kaiming He, Piotr Dolla ́r, Designing Network Design Spaces. CVPR 2020.

[2] 如何评价何恺明团队最新推出的 RegNet?https://www.zhihu.com/question/384255803

[3] I. Radosavovic, J. Johnson, S. Xie, W.-Y. Lo, and P. Doll ́ar.On network design spaces for visual recognition. InICCV,2019.

[4] 《Designing Network Design Spaces》的整体解读(一篇更比六篇强), https://zhuanlan.zhihu.com/p/122557226


本文分享自微信公众号 - AI科技评论(aitechtalk),作者:Bbuf

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • CVPR 2018 中国论文分享会 之「人类、人脸及3D形状」

    本文为2018 年 5 月 11 日在微软亚洲研究院进行的 CVPR 2018 中国论文宣讲研讨会中最后一个Session ——「Human, Face and...

    AI科技评论
  • 动态 | 围棋 AI ELF OpenGo 迎来更新,另有田渊栋呈上开源项目的详细解读

    AI 科技评论按: Facebook 人工智能研究院(FAIR)于去年开源的 ELF OpenGo 日前再度迎来更新,本次 FAIR 不仅发布了该系统新的功能和...

    AI科技评论
  • 干货 | AAAI 2018入选论文解读:关于网络表示学习的最新研究

    AI 科技评论按:以 Facebook、Twitter、微信和微博为代表的大型社交网络的快速发展,产生了海量体现网络结构的数据。如何用合理的方式表示这些数据是网...

    AI科技评论
  • 用生成式对抗网络来改善椅子的设计

    开发者Philipp Schmitt和Steffen Weiss最近推出了一个新系统,该系统使用生成式对抗网络(GAN)来生成经典的20世纪风格椅子设计。

    AiTechYun
  • 【FAQ】数据科学是什么?

    小编邀请您,先思考: 1 什么是数据科学? Data science is a multidisciplinary blend of data inferenc...

    陆勤_数据人网
  • Jvm调优浅谈?

    java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:它代表的值就是数值本身,而引用类型的变量保存引用值。“引用值”代表了...

    技术从心
  • Xcode sourceEdit编辑小窍门

    比如 if 我们可以选中要添加的if语句,新增else和else if语句块。 也可以将部分代码抽取出函数。这些Xcode可以自动帮我们做。

    ZY_FlyWay
  • Selenium之Chrome选项和Desiredcapabilities: 禁用广告,无痕浏览,无头模式

    用于操作Chrome驱动程序的各种属性。Chrome Option类通常与Desired Capabilities(期望功能)一起使用。

    软测小生
  • 不要再问怎么把项目从 GitHub 搬到码云了!

    壹 项目名要求: 只允许字母、数字或者下划线(_)、中划线(-)、英文句号(.),必须以字母开头。 不符合项目名要求会导致无法导入。 贰 如何将 GitHu...

    码云Gitee

扫码关注云+社区

领取腾讯云代金券