![](https://imgkr.cn-bj.ufileos.com/95bd553b-e6ac-42a7-973a-adb90992bd22.png)
本文作者为 Bbuf
雷锋网AI科技评论按:最近何恺明团队在arXiv 上公布了他们发表在CVPR 2020 上的最新论文《Designing Network Design Spaces》[1]。和何恺明之前发表的大多数论文一样,一经公布,迅速得到众人的关注。知乎上迅速有人提出问题:“如何评价何恺明团队最新推出的RegNet?”[2]
但需要强调的是,这篇文章的主角是 Ilija Radosavovic,一位伦敦大学的助教;其主要研究兴趣是搜索空间的优化,这篇文章是其系列工作的第二篇。第一篇为《On Network Design Spaces for Visual Recognition》[3]。
![](https://imgkr.cn-bj.ufileos.com/a8569d7e-97fc-4cf4-9f1b-42b5fa50766d.png)
针对最新的这项工作,来自厦门大学知乎名为「丶favor」的硕士生在其知乎解读文章[4]中写道:
> 一句话概括就是,传统 NAS 方法这种基于个体估计(individual network instance)的方式(每次评估的时候采样一个网络)存在以下缺陷:1)非常不灵活(各种调参大法) ;2)泛化能力差;3)可解释性差。(搜出来的效果虽好,但是很多都是大力出奇迹,运气成分+1)。 因此,作者顺理成章地提出了对网络设计空间进行整体估计(population estimation,意思就是所有的深度宽度之类的最佳设计空间关系给它估计出来)。非常直观地,如果我们能得到深度(depth),宽度(width)等等一系列网络设计要素关于网络设计目标的函数关系,那么我们就很轻松地知道大概多深的网络,多宽的网络是最佳选择。 这也就直接解决了上述三个问题,并且这个方式实际上能反应出更优质的网络设计准则,从而达到Designing Network Design Spaces的目的。 读到这里,牛逼就完事了!一句话概括就是,传统 NAS 方法这种基于个体估计(individual network instance)的方式(每次评估的时候采样一个网络)存在以下缺陷:1)非常不灵活(各种调参大法) ;2)泛化能力差;3)可解释性差。(搜出来的效果虽好,但是很多都是大力出奇迹,运气成分+1)。 因此,作者顺理成章地提出了对网络设计空间进行整体估计(population estimation,意思就是所有的深度宽度之类的最佳设计空间关系给它估计出来)。非常直观地,如果我们能得到深度(depth),宽度(width)等等一系列网络设计要素关于网络设计目标的函数关系,那么我们就很轻松地知道大概多深的网络,多宽的网络是最佳选择。 这也就直接解决了上述三个问题,并且这个方式实际上能反应出更优质的网络设计准则,从而达到Designing Network Design Spaces的目的。 读到这里,牛逼就完事了!
![](https://imgkr.cn-bj.ufileos.com/840e4830-033f-4fd7-a012-f25d7adb1861.png)
论文链接:https://arxiv.org/pdf/2003.13678.pdf
首先雷锋网(公众号:雷锋网)AI科技评论认为,这篇论文有望成为今年最热的CV方面的工作。读过EfficientNet的同学应该知道网络的分辨率、深度、宽度对网络的性能影响是相互作用的,并且探索了在一定计算代价下如何搜索最优模型。本文和传统的网络设计切入点不同,作者并不专注于设计单个网络实例,而是设计”网络设计空间“对整个网络进行参数化。**整个过程类似于经典的网络手工设计,但是却将其提升到了设计空间的层次。** 基于此,本文提出了RegNet。在相同的训练设计和FLOPs的条件下,RegNet的精度超越了当前最SOTA的EfficientNet,并且在GPU上的速度比EfficientNet快5倍。
# 1. 设计空间设计
我们先谈谈其总体思路。这篇文章事实上依赖于Radosavovic在第一篇文章中引入的网络设计空间概念[3]。即设计空间是一个巨大的,可能无限的模型结构的总体。[3]的核心观点是,我们可以从一个设计空间中对模型进行抽样,产生一个模型分布,然后利用经典的统计工具来分析设计空间。本文注意到,这和架构搜索(NAS)不同,架构搜索的目标是从空间中找到单个最佳模型。
如Figure1所示,本文使用的整体策略是渐进式地设计原始的、相对不受约束的简化版设计空间,同时保持或者提升设计空间的质量。每个设计步骤的目的都是发现设计准则,从而产生更简单或性能更强的模型。
![Figure 1. Design space design](https://imgkr.cn-bj.ufileos.com/34e99ab1-6495-41ce-8d52-3ea7bbf872d7.png)
## 1.1 设计空间设计工具
先来看一下设计空间设计的工具,为了评估和对比设计空间,这里使用Radosavovic等人介绍的工具。他提出通过从设计空间采样一组模型,并描述由此产生的模型误差分布,来量化设计空间的质量。这种方法背后的关键是,与使用搜索和比较两个设计空间中的最佳模型相比,比较分布更加可靠且信息更丰富。
下面的Figure2展示了用$n=500$个抽样模型计算的**AnyNetX**设计空间的统计结果。左:误差经验分布函数(EDF)是我们可视化设计空间质量的基本工具。在图例中,[39.0|49.0] 分别是最小误差和平均误差(对应于曲线下的区域)。中间:网络深度d(块数)与误差的分布。右:第四阶段(w_4)的块宽度分布与误差。蓝色阴影区域包含 95% F 置信度的最佳模型(通过经验引导获得),黑色垂线是最可能的最优值。
![Figure 2. AnyNetX 设计空间的统计](https://imgkr.cn-bj.ufileos.com/0d60229c-fa7a-4eb2-a076-daf52b154775.png)
为了得到模型的分布,本文从设计空间中采样了 n 个模型进行训练。为了提高效率,这里主要在低计算量和低epoch的训练模式下进行。特别地,在本节中使用的是4 Million FLOPs(400MF)模式,并对每个采样的模型在ImageNet数据集上训练 10 个Epoch。注意到,这里虽然训练了很多模型,但每次训练都很快:在 400 MF上给 100 个模型训练 10 个epoch和在 4 GF下把单个ResNet-50模型训练 100 个epoch的时间相当。注意,这里的FLOPs表示的是乘法和加法次数,MF和GF分别代表 10^6 和 10^9个FLOPs。
和[3]一样,这里分析设计空间质量的主要工具是误差经验分布函数(EDF)。n 个模型的误差EDF和误差 e_I 由下面的公式给出:
![](https://imgkr.cn-bj.ufileos.com/58c313c9-a79e-45ec-be68-2ad7a35d84bb.png)
F(e)表示错误率小于 e 的模型百分比。上面的方法总结如下:
– (1) 我们首先从设计空间中抽样和训练 n 个模型,获得模型的分布。
– (2) 我们计算并绘制误差EDFs,以评估设计空间质量。
– (3) 我们可视化设计空间的各种属性,并使用经验准则监督。
– (4) 我们使用这些观察结果来精细化设计空间。
## 1.2 AnyNet 设计空间
AnyNet设计空间的基本网络设计如Figure3所示。
![Figure 3. AnyNet 设计空间的基本网络设计](https://imgkr.cn-bj.ufileos.com/67953bd5-ea36-4b78-95b9-39a8d286c80b.png)
给定输入图像,接下来是一个包含简单主干的网络,再接下来是执行大量计算的网络主体,最后是预测输出类别的网络头。本文保持主干和头部网络尽可能简单,主要关注网络网络主体的结构。可以看到这里网络主体由4个阶段(stage)组成,并且分辨率逐渐降低,然后每个stage里面又是由一系列相同的块(block)组成。在这个结构里面,可以改变的参数包括块的数量$d_i$,块的宽度$w_i$等。这里就完整展示了AnyNet的结构。
然而,我们看到论文的研究几乎都是在AnyNetX上的结果。那么AnyNetX和AnyNet又有什么区别呢?我们来看看Figure4,可以发现区别就是将原始的卷积换成分组卷积。
![Figure 4. X block 基于标准残差 bottleneck 块。](https://imgkr.cn-bj.ufileos.com/38a2d527-fceb-4f56-af61-39b7c3925ab7.png)
在AnyNetX上,作者旨在:1)简化设计空间的结构;2)提供设计空间的可解释性;3)保持或提高设计空间的质量;4)保持设计空间中模型的多样性。
现在利用上节介绍的工具来进行研究,这里将原始的不受约束的AnyNetX设计空间叫作$AnyNetX_A$。
然后论文将$AnyNetX_A$中所有阶段的BottleNeck比例$b_i$都设置为同一个值$b$,并将此设计空间称为$AnyNetX_B$。
我们可以从Figure5左边那张图看到这两个网络设计空间的EDF基本上是一致的,这表示在耦合$b_i$时并没有带来精度损失。
然后在$AnyNetX_B$的基础上将所有阶段使用一样的$g_i=g$来获得了$AnyNetX_C$,从Figure5中间那张图可以看出,EDF也基本不变。
![Figure 5. $AnyNetX_B$(左)和$AnyNetX_C$(中)](https://imgkr.cn-bj.ufileos.com/cb069737-b18c-477c-aa2f-ae3d26851edc.png)
接着,论文研究了$AnyNetX_C$中优秀和不好的典型网络结构,然后他们发现了一个规则:**表现良好的网络具有不断增长的宽度。**
论文接着测试了$w_{i+1}/ge w_i$的设计原则,并将此约束下的设计空间称为 $AnyNetX_D$。在Figure 6(左)中可以看到这极大地改进了EDF。另外,再进一步测试多个模型后,作者发先除了阶段宽度$w_i$随着$i$增加,对于优秀的模型,阶段深度$d_i$也同样趋于增加,虽然不一定是在最后阶段。
![Figure 6. $AnyNetX_D$(左)和$AnyNetX_E$(右) ](https://imgkr.cn-bj.ufileos.com/1db2ac99-c215-437a-b493-0587b2731a3b.png)
在Figure6的右图中,我们发现当设置 $d_{i+1}/ge d_i$时,EDF同样得到了较大改善。最后注意到对于$w_i$和$d_i$的约束使得设计空间减少了$4!$,和$AnyNetX_A$ 相比累计减少了$O(10^7)$。
## 2.3 RegNet设计空间
从AnyNetX的结果来看,是体现出了一些规律的,通过获得的几组变量和每个Blcok的下标之间的关系,可以拟合出一个函数关系。这样就可以建模好每个Stage的Block应该多深以及多宽的关系,这个建模的方法被论文叫作**quantized linear**。这一方法可以用公式(2)来表示:
![](https://imgkr.cn-bj.ufileos.com/33da0ee4-4b2d-4fee-8a3a-2450523bb27b.png)
其中,$w_0$表示初始化宽度,$w_a$表示斜率,$d$表示网络深度。另外,为了量化$u_j$这里又引入了两组公式和新的超参数$w_m$用于计算$s_j$,这一过程可以用公式(3)和(4)来表示:
![](https://imgkr.cn-bj.ufileos.com/9093831e-86af-4811-923c-81b2717bbd0a.png)
![](https://imgkr.cn-bj.ufileos.com/89513849-a4b5-49de-970d-26ace8c2fedc.png)
然后,我们就可以计算出每个Stage的宽度是:$w_i=w_0*w_m^i$以及Block的数量:
![](https://imgkr.cn-bj.ufileos.com/4282232c-1761-4c7c-95e1-e3fa6dc7281b.png)
自此,网络设计空间就被$w_0,w_a,w_m$这三组参数表示出来,所以对这三组参数进行搜索就获得了论文中展示的超越EfficientNet的惊艳结果了。其它的细节就不展开介绍了,感兴趣可以看原论文。
# 2. 实验
下面的Table2展示了RegNet和现有的SOTA移动端模型的性能对比,可以看到REGNET是非常有效的。
![在移动端模型上的比较](https://imgkr.cn-bj.ufileos.com/50b3330d-510d-451d-b972-c3c685b950f3.png)
下面的Table4展示了论文将RegNet和SOTA EfficientNet 模型的对比结果,结果显示在相似的训练设置和FLOPs下,RegNet优于EfficientNet模型,并且 GPU 上的速度提升5倍。
![与 EfficientNet 的对比](https://imgkr.cn-bj.ufileos.com/b197f4ff-354f-4b28-b025-6205e8ca28a0.png)
# 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
雷锋网报道
。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/137928.html