Designing Network Design Spaces论文导读


Kaiming He的力作,内容非常之丰富,且具有很大的指导意义。大多数的NAS都是只找到一个最优的结构,本文则通过不断的缩小假设空间,以找到一簇比较优秀的网络:

在这里插入图片描述
通过采样进行超参数的选择,根据误差的经验分布函数(empirical distribution function, EDF)对假设空间不断的缩小:
F ( e ) = 1 n ∑ i = 1 n 1 [ e i < e ] F(e)=\frac{1}{n}\sum_{i=1}^{n}\bold{1}{[e_i < e]} F(e)=n1i=1n1[ei<e]

AnyNetX

首先定义一个通用的神经网络框架AnyNet

基于标准的残差网络,用residual block替换AnyNet的stage中block,可以得到一系列的AnyNetX

此时AnyNetX有16个自由度,包括四个stage的以下参数:
t h e   n u m b e r   o f   b l o c k s : d i ≤ 16 b l o c k   w i d t h : w i ≤ 1028 b o t t l e n e c k   r a t i o : b i ∈ 1 , 2 , 4 g r o u p   w i d t h : g i ∈ 1 , 2 , ⋯   , 32 \begin{aligned} {\rm the \space number \space of \space blocks} &: d_i\leq16\\ {\rm block \space width} &: w_i\leq1028\\ {\rm bottleneck \space ratio} &: b_i\in{1,2,4}\\ {\rm group \space width} &: g_i\in{1,2,\cdots,32} \end{aligned} the number of blocksblock widthbottleneck ratiogroup width:di16:wi1028:bi1,2,4:gi1,2,,32
这样粗略的组合一下有 ( 16 ⋅ 128 ⋅ 3 ⋅ 6 ) 4 ≈ 1 0 18 (16·128·3·6)^4 ≈ 10^{18} (1612836)41018种模型配置,接下来开始逐步缩小此空间。

AnyNetXB,AnyNetXC

首先让每一个stage的 b i = b , g i = g b_i=b,g_i=g bi=b,gi=g

可以发现不同的让每一个stage的 b , g b,g b,g保持一致对模型的误差并没有太大的影响,在这里选择 g > 1 g>1 g>1。同时对AnyNetXC中表现较好的和较差的模型进行采样如下所示:

如上图所示,好的AnyNetXC的通道数 w w w是随着block上升的,这和手工设计的网络是有相似之处的。

AnyNetXD,AnyNetXE

论文继续在参数空间的基础之上加限制,AnyNetXD是AnyNetXC + w i + 1 > w i +w_{i+1}>w_i +wi+1>wi;AnyNetXE是AnyNetXC + d i + 1 > d i +d_{i+1}>d_i +di+1>di

可以看到模型的通道数 w w w和组数 g g g随着block增长的情况下,模型的表现比较好。为了进一步的探究AnyNetXE,选择其中表现最好的20个模型:

上图左上子图显示出一个直观的结论:模型的通道数与block数呈现出来简单的线性关系时,模型的表现较好
u j = w 0 + w a ∗ j u_j=w_0+w_a*j uj=w0+waj
可以简化上式为
u j = w 0 ∗ w m s j u_j=w_0*w_m^{s_j} uj=w0wmsj
其中 w m w_m wm是额外的控制参数。通常设置如下:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ w_i &= w_0*w^i…
至此,论文已经选出了最优的参数设置,作者将它称为RegNetX。

RegNetX

RegNetX的参数设置如下所示

RegNetX的设计空间如下图

Generalization

通过对flops,训练轮数epoch和stage的个数进行泛化分析,可以发现任何情况下最后的RegNetX都表现的最好

RegnetX Analysis

Trend

首先是各个参数随着flops变化的稳定性,如下图所示

可以得到以下有反常识的结论:

  1. 对于不同的flops,网络的深度 d d d是最稳定的参数
  2. Bottleneck ratio最好设置为1
  3. 参数 w m w_m wm最优为2.5,也即不同的stage通道数应番2.5倍,而非通常设置的2
  4. w a , w 0 , g w_a,w_0,g wa,w0,g贼倾向于随着flops的增大而增大

Complexity

作者通过调整模型的flops,对激活函数、推理时间等也进行了分析,可以预想到随着flops的增加,推理时间会上升。作者还发现了十分有意思的一点,即推断时间和激活函数基本上成正比!也就说 t i n f e r = O ( M ( a c t i v a t i o n s ) ) t_{infer}=O(M({\rm activations})) tinfer=O(M(activations))

RegNetX C

根据前面Trend部分得到的结论,进一步对RegNet(AnyNetE)进行限制:
b = 1 d ≤ 40 w m ≥ 2 \begin{aligned} b &= 1 \\ d &\leq 40 \\ w_m &\geq 2 \end{aligned} bdwm=1402
并且同时限制激活函数的数量,得到了以下EDF

可以看到在不同的flops下,RegNetX C的表现均十分好。作者还给出了他们测试出来的最好的网络结构簇:

在文章的最后,作者还进行了abalation分析等等,非常建议大家去看一下这篇原文,我的总结难以表达出原文 1 5 \frac{1}{5} 51的内容:

http://cn.arxiv.org/pdf/2003.13678v1

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值