知行编程网知行编程网  2022-05-20 12:00 知行编程网 隐藏边栏 |   抢沙发  122 
文章评分 0 次,平均分 0.0

CVPR20 | 何恺明团队最新力作RegNet:超越EfficientNet

来自 | 知乎    作者 | 丶favor

链接 | https://zhuanlan.zhihu.com/p/122557226

编辑 | 深度学习这件小事

本文仅作学术交流,如有侵权,请联系删除
CVPR20 | 何恺明团队最新力作RegNet:超越EfficientNet

statistics 大法好,DL不是statistics,因为DL不如statistics。基本全文从统计学的角度解释了怎么设计网络搜索空间好,哪些要素是有用的,其s全面以及宽度广度都令人瞠目结舌,绝对的2020年巅峰大作!首先放结论,下面每个结论随便都能发一篇论文。


   一、几点结论


1.1 实验中发现的几个关于性能的打脸结论


  • 无论模型多大,20个block的深度是最合适的。大网络越深越好是不对的。

  • bottleneck ratio设置成1是最好的。

  • width multiplier设置成2.5是最优质的。

  • 剩下的初始网络宽度,group数量,宽度的增长斜率,这些随着模型增大而增加会是最佳选择。(大碗宽面2.0,你看我这面,就这么长,但是那么那么那么宽。)


1.2 然后是几个关于复杂度(速度)的打脸结论


首先这里定义了一个所有卷积层输出tensor的大小叫做activations(这玩意你不管用啥卷积,出来tensor一样大这个值就不变):

flpos跟速度之间的关系明显没activations好,啪啪啪。具体见图:

CVPR20 | 何恺明团队最新力作RegNet:超越EfficientNet

以后不要只用flops建模速度了,这玩意最好用根号flops以及线性的activations一起来建模。


1.3 再是几个关于非常常见的一些设计比如inverted bottleneck以及depthwise conv的结论


首先前者稍微降低了点EDF(评价指标),后者就还不如group conv。但是scaling the input image resolution是依然有用的。再说SE module,这玩意也有用.


   二、引言部分


一句话概括就是,传统NAS方法这种基于个体估计(individual network instance)的方式(每次评估的时候采样一个网络)存在以下缺陷:

1. 非常不灵活。(各种调参大法)

2.泛化能力差。

3.可解释性差。(搜出来的效果虽好,但是很多都是大力出奇迹,运气成分+1)。 


因此,作者顺理成章地提出了对网络设计空间进行整体估计(population estimation,意思就是所有的深度宽度之类的最佳设计空间关系给它估计出来)。非常直观地,如果我们能得到深度(depth),宽度(width)等等一系列网络设计要素关于网络设计目标的函数关系,那么我们就很轻松地知道大概多深的网络,多宽的网络是最佳选择。这句话也直接解决了1,2,3三个问题,并且这个方式实际上能反应出更优质的网络设计准则,从而达到Designing Network Design Spaces的目的。读到这里,牛逼就完事了!


   三、 PartI:Tools for Design Space Design


首先咋估计总体呢,其实非常简单,采样,疯狂采样。具体而言就是从任意的搜索空间采样一堆模型。为了方便快捷,这些模型都是小模型并且只训了10个epoch,这样一来代价也不至于很大。完事了以后得有个评价标准来评价模型的好坏,其实也比较简单:

CVPR20 | 何恺明团队最新力作RegNet:超越EfficientNet

图1. The error empirical distribution function.

这样一来就有500多个模型,并且有了评价标准。那么网络深度或者宽度等等信息与评价标准之间的关系就可以画出来了,这样的采样结果可以用来估计总体。这就是Tools,充满了data science和statistics的味道。接着,有了这个工具怎么进行统计学分析呢,首先得有个采样的空间是把,它叫AnyNet Design Space。


   四、Part II:AnyNet Design Space


AnyNet的设计空间几乎包含了所有网络设计要素,比如depth,width,group之类的。一般来说,正常的神经网络都只包含4个stage,对于anynet中的4个stage的网络设计要素的选择几乎是任意的,因此叫AnyNet。并且由于network stem和head在网络设计中不太重要,AnyNet主要面向network body的设计。


即便是如此,搜索空间仍高达10的18次,这么大的搜索空间现有NAS方法都要吃灰了。


因此更进一步地,加了一些控制变量,比如说每个stage共享某个参数之类的,于是提出了A,B,C,D,E五种不同的设计空间。


这五个设计空间充满了控制变量法的statistics,

A:就是任意的空间

B:在A的观察基础上固定每个stage的bottleneck ratio

C:在B的观察基础上固定每个stage的group数量

D:在C的观察基础上逐stage增宽网络(width)

E:在D的观察基础上逐stage加深网络(depth)

这边Po了N个Fig说明了在控制变量下的statistics,由此观察一波,可以得出这个变量之间暗藏玄机,根据这些观察,来进一步建模统计意义下的最佳搜索空间,它叫RegNet Design Space。


   五、PratIII:The RegNet Design Space


这边有个小插曲,从AnyNet的Fig可以看出,每个individual models结果的偏差很大,再次降维打击NAS。但是,整体来说,还是能发现一些关系和规律的,通过获得的几个变量和每个block的index之间,可以拟合出函数关系,就此建模好了大概每层的block多宽多深之类的关系,建模方法叫做quantized linear parameterization。(实际上就是函数拟合,一朝回到解放前.)首先,每个block 第j个stage的宽度  用线性关系建模:

CVPR20 | 何恺明团队最新力作RegNet:超越EfficientNet

 表示初始化的宽度,  是斜率,d表示深度,反正就是很简单的线性关系了。为了量化  (简单地说就是算出来的宽度可能是126.123之类的奇葩数字,得给它四舍五入到128这种科学的数字,同时每个stage i有很多层,得把宽度统一到某个数字),这里再引入了两组公式和新的超参  用于计算量化因子  :

CVPR20 | 何恺明团队最新力作RegNet:超越EfficientNet

完事之后,就可以计算出每个stage的宽度是:  ,其中:

CVPR20 | 何恺明团队最新力作RegNet:超越EfficientNet

对于一共有四个stage的网络,三个超参  grid search最小化对数EDF就完事了(反正就是回归嘛)。


到这里位置,search space就被这组包含三个超参的公式表达出来了,有理有据,收下我的膝盖。接下去就为了说明这个search space强无敌做了坚如磐石的实验比较,最后搜出了吊炸天的网络,这里不再赘述。

<pre style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p style="max-width: 100%;min-height: 1em;letter-spacing: 0.544px;white-space: normal;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br  /></p><p style="max-width: 100%;min-height: 1em;letter-spacing: 0.544px;white-space: normal;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">—</span></strong>完<strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">—</span></strong></span></strong></span></strong></p><section style="max-width: 100%;letter-spacing: 0.544px;white-space: normal;font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p style="margin-bottom: 15px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 25.5938px;letter-spacing: 3px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;font-size: 16px;font-family: 微软雅黑;caret-color: red;box-sizing: border-box !important;overflow-wrap: break-word !important;">为您推荐</span></strong></span></p><p style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-size: 14px;">一个AI PhD的毕业随感</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /></p><p style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(87, 107, 149);font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">MIT最新深度学习入门课,安排起来!</span></p><p style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(87, 107, 149);font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">有了这个神器,轻松用 Python 写个 App</span></p><p style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(87, 107, 149);font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">「最全」实至名归,NumPy 官方早有中文教程</span></p><section style="margin: 5px 32px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-size: 14px;">Manning大神牵头,斯坦福开源Python版NLP库Stanza:涵盖66种语言</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /></section></section></section></section></section></section></section></section></section>

CVPR20 | 何恺明团队最新力作RegNet:超越EfficientNet

本篇文章来源于: 深度学习这件小事

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享