论文阅读20.05-第四周

Rethinking Performance Estimation in Neural Network Search

作者自己写的笔记

这篇文章认为,NAS的主要时间消耗都放在了采样出来的网络的训练上面了,而直觉意义上的减少层数、分辨率、迭代次数不能保证精度与实际精度的一致性。事实上,把搜索过程中每一个子网络的训练配置当作参数的话,这篇文章的工作就是搜索出一种子网络训练方法,使得子网络的训练不太耗时,同时训练出来的精度能代表真实的精度(Spearman排序相关度)。
max ⁡ b ∈ Ω r s ( R f , R b ) + λ T ( G b ) ‾ \max_{b\in\Omega}r_s(R_f,R_b)+\lambda\overline{T(\mathcal{G}_b)} bΩmaxrs(Rf,Rb)+λT(Gb)
文章接下来的重点就是如果尽可以减少求解这个优化问题所需要的时间

很不幸,对于每一个 b b b要计算它的目标函数都需要训练所有可能的模型结构 G \mathcal{G} G,据某项研究表明,所有结构中采样100个,就能对一组参数配置 b b b进行足够准确的评价。

但是即使是100个,每个训10h的话,评估一个 b b b也要1000h。那下一步就要从采样哪些 b b b、多少 b b b上来做文章。这个时候就有以下两点原则:

  • 对于任何一个参数,稍微多采样一些训练时间少的 b b b
  • 对于一个不重要的参数,直接定为最节省时间的配置

基于以上原则,在一开始,文章先按与Flops负相关的方式独立决定了每个配置参数的独立采样概率,保证了Flops少的采样概率高。而后,对于采样到的部分配置样本集训练一个用于回归的随机森林。每个分点由一个参数和一个阈值确定。之后可以在森林里面计算出每个参数的重要程度,然后将最不重要的参数固定成最小值继续扩增样本。直到只有一个重要的参数为止。
MIP算法流程
文章用搜索出来的BPE去结合相关的NAS算法,时间快了很多。但是考虑到训练BPE也需要>100GPU days,因此这个对比我个人觉得并不公平。另外,在进行不同任务、不同搜索域搜索时能不能迁移过去,我觉得还是需要讨论的。

文章还分析了BPE的预测结果与真实采样之间的相关性。对于越重要的参数,相关性是越高的,但是许多其他参数的线条就太平坦了,我觉得他这样的优化方法最后是不是就着重关心某两个参数了?
不同重要性参数预测分析
另外文章还讨论了one-shot网络方法。许多文章说one-shot的训练结果不能代表真实精度。文章则指出one-shot训练结果在全局相关性上差,但是在局部还行,所以就不稳定,很容易受到初始点什么的影响。

文章存疑的问题:
1、随机森林算法的具体实现可以看一下
2、每个参数独立地按Flops进行采样,但是flops不能由单个参数决定,其他参数在这个时候起到什么作用
3、与Darts等带有权值共享的方法结合的时候,怎么利用BPE
4、文中提到的局部相关性还没仔细研究
5、文章搜出的BPE,对于不同任务、不同搜索域都是通用的吗

GreedyNAS: Towards Fast One-Shot NAS with Greedy Supernet

supernet起到代理评价子网络结构的作用;
一般人认为所有子网络结构都需要准确评价,因此需要均等训练;
但是所有的子网络结构有很多,同时训练好太难了;
而我们的目标也只是想找到一个最优的子网络结构,所以其实只需要把一部分支路评价好就行了;
那些明显很弱的直接扔了就好了。

某种意义上来说,这种方法我感觉是uniform和gumble softmax方法的折衷,既不会说是一直平均,也不会过度关注某一个样本。而是所有结构只分为两类:有希望的好结构无希望的坏结构。这样只从有希望的好结构里面去采样网络训练,不就可以提升超网络的训练效率了。

但是,怎么样知道一个结构是好的。理论上应该有一个充分训练的超网络让我们评判一个结构好/坏,但是我们只能用当前超网络做近似评判。从这个超网络中采样出m个结构,可以用排列组合计算出里面至少有k条好结构的概率还是挺高的。假设我们认为前60%都是好网络,10个里面有至少5个的概率为83.38%。我们把采样的10个网络在1000张图片组成的代理集上验证一下并取loss最小的5条路径进行训练。

实验也讨论了这个1000张图片的代理验证是否合理。在网络经过训练的情况下是与真实精度高相关的,因此该算法在训练时前10k次迭代(warmup)是普通的均匀采样,目的是获得一个能够起到代理评判的超网络。
关于代理指标的相关性

为了提高对于已经采样到的结构的探索充分探索,算法建立了一个候选池(优先队列/最小堆)来保存采样过的好网络。这个候选池有三个作用:

  • 随机从候选池里面采样或是从所有路径采样,这个概率控制探索-开发比值,在后期会提高采样到好网络的概率
  • 根据这个候选池的更新程度决定训练终止,而非给定迭代次数
  • 在NSGA-II搜索阶段,用候选池中最好的N个结构初始化种群,能比随机初始化有更好性能

这篇文章的实验都是在ImageNet上做的,主要是想和SPOS作对比。在搜索域上,应该是为了有更强烈的SOTA所以加上了SE模块,但是没有SPOS原本对于通道数和精度的搜索。在同样搜索域的比较上,这个方法搜索时的效率更高,搜索出来的网络结构也更高。
实验结果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值