来自 | 知乎 作者 | 丶favor
链接 | https://zhuanlan.zhihu.com/p/122557226
编辑 | 深度学习这件小事
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好,啪啪啪。具体见图:
以后不要只用flops建模速度了,这玩意最好用根号flops以及线性的activations一起来建模。
1.3 再是几个关于非常常见的一些设计比如inverted bottleneck以及depthwise conv的结论
首先前者稍微降低了点EDF(评价指标),后者就还不如group conv。但是scaling the input image resolution是依然有用的。再说SE module,这玩意也有用.
二、引言部分
1. 非常不灵活。(各种调参大法)
2.泛化能力差。
3.可解释性差。(搜出来的效果虽好,但是很多都是大力出奇迹,运气成分+1)。
因此,作者顺理成章地提出了对网络设计空间进行整体估计(population estimation,意思就是所有的深度宽度之类的最佳设计空间关系给它估计出来)。非常直观地,如果我们能得到深度(depth),宽度(width)等等一系列网络设计要素关于网络设计目标的函数关系,那么我们就很轻松地知道大概多深的网络,多宽的网络是最佳选择。这句话也直接解决了1,2,3三个问题,并且这个方式实际上能反应出更优质的网络设计准则,从而达到Designing Network Design Spaces的目的。读到这里,牛逼就完事了!
三、 PartI:Tools for Design Space Design
图1. The error empirical distribution function.
四、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五种不同的设计空间。
A:就是任意的空间
B:在A的观察基础上固定每个stage的bottleneck ratio
C:在B的观察基础上固定每个stage的group数量
D:在C的观察基础上逐stage增宽网络(width)
E:在D的观察基础上逐stage加深网络(depth)
五、PratIII:The RegNet Design Space
这边有个小插曲,从AnyNet的Fig可以看出,每个individual models结果的偏差很大,再次降维打击NAS。但是,整体来说,还是能发现一些关系和规律的,通过获得的几个变量和每个block的index之间,可以拟合出函数关系,就此建模好了大概每层的block多宽多深之类的关系,建模方法叫做quantized linear parameterization。(实际上就是函数拟合,一朝回到解放前.)首先,每个block 第j个stage的宽度 用线性关系建模:
表示初始化的宽度, 是斜率,d表示深度,反正就是很简单的线性关系了。为了量化 (简单地说就是算出来的宽度可能是126.123之类的奇葩数字,得给它四舍五入到128这种科学的数字,同时每个stage i有很多层,得把宽度统一到某个数字),这里再引入了两组公式和新的超参 用于计算量化因子 :
完事之后,就可以计算出每个stage的宽度是: ,其中:
对于一共有四个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>
本篇文章来源于: 深度学习这件小事
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 时间序列预测方法总结06/05
- ♥ 周志华机器学习学习路线最全汇总!不止于西瓜书05/26
- ♥ 惊呆!不用一张图片,却训出个图像识别SOTA?02/06
- ♥ 2020图机器学习GNN的四大研究趋势06/21
- ♥ 带你理解朴素贝叶斯分类算法02/24
- ♥ 方程组的几何解释 [MIT线代第一课pdf下载]04/17
内容反馈