SMASH: One-Shot Model Architecture Search through HyperNetworks
Abstract 常规的网络设计需要耗费大量的时间进行验证,为了节约验证时间,论文提出训练一个辅助网络HyperNet,用于动态生成不同结构模型的权重。尽管使用这些生成权重的性能不如常规学习到的权重,但在训练初期,使用生成权重的不同网络的相对性能可以在一定程度上映射出其最优状态时的相对性能。因此,论文提出one-shot模型结构搜索SMASH(one-Shot Model Architecture Search through Hypernetworks),结合辅助网络生成的权重,可以仅使用一轮训练来对大量的结构进行排序。SMASH方法用来评估广泛的模型配置(在连接模式和每层单位),不处理其他超参数,如正则化、学习速率调度、权重初始化或数据增强。训练流程
GreedyNAS: Towards Fast One-Shot NAS with Greedy Supernet
Arxiv: https://arxiv.org/abs/2003.11236Abstract训练一个超级网对于one shot nas方法很重要,因为它可以作为不同架构(路径)的基本性能估计器。目前的方法主要假设应该对所有路径给出合理的排名。然而,对于一个超级网络来说,在如此巨大的搜索空间上精确地评估是很困难的。在本文,提出了不必覆盖所有的路径,而是通过鼓励超级网更多地关注那些潜在的好的路径的评估,来缓解超级网的负担,使用验证数据的代理项部分。具体来说,在训练过程中,提出了一种带抑制的多径采样策略,并对弱路径进行贪婪滤波。因此,训练空间已经贪婪地从所有的道路缩小到那些潜在的好的道路。此外,还采取了进一步的探索和通过引入一个经验性候选人来制定开发政策路径池。GreedyNAS在ImageNet数据集上的实验结果表明,在相同的条件下,它可以达到更好的Top-1精度搜索空间和触发器或延迟级别,但只有supernet训练成本的60%。Motivation(1)巨大的搜索空间带来的评估压力使Supernet难以准确地区分结构的好坏(2)由于所有结构的权重都是在Supernet中高度共享的,如果一个差的结构被训练到了,好的结构的权重也会受到干扰。这样的干扰会削弱好网络的最终评估精度,影响网络的搜索结果。(3)对差的结构进行训练相当于对权重进行了没有必要的更新,降低Supernet的训练效率。Greedy path filtering本文目的是把不同路径分为好路径和坏路径,方法是通过一次性采样多条(m条)路径,在验证集的子集直接通过计算损失对不同路径进行排序。最后采样m条路径,保留前k条(m-k条判定为坏路径,直接抛弃不训练)。Greedy training of supernet:上述算法得到的k条路径,更新候选池,再分别对每条路径进行参数优化Training with exploration and exploitation指训练时每次以概率ε从候选池选模型,同时以1-ε的概率从整个搜索空间中选模型,避免有些好模型不在候选池中没有被发现,两种方式一共选m条路径Early stopping只要候选池模型保持稳定或变动很小,则证明超网训练充分了Evolutionary searching超网训练完毕后,本文使用 NSGA-II 进化算法进行结构搜索。在进化算法中使用候选池中的结构进行Population的初始化,相较于随机初始化,借助于候选池能够使进化算法有一个更好的初始,提升搜索效率及最终的精度。