ICLR 2020:最新加速Nas算法100毫秒训练15000神经网络

这篇文章发表在ICLR 2020公认的焦点论文“NAS-BENCH-201:扩展可再现神经结构搜索的范围”中,以供解释。本文提出的NAS-Bench-201可以大大提高NAS算法的可重复性,降低NAS算法的计算要求(例如,搜索仅需0.1秒)。

作者信息

背景

ICLR 2020:最新加速Nas算法100毫秒训练15000神经网络_第1张图片

神经网络结构对深度学习领域各种应用的性能起着至关重要的作用。目前,网络结构的设计范式已经从专家手工设计逐渐转变为机器自动搜索。神经架构搜索(NAS)是研究如何在给定的搜索空间中自动发现高性能、高精度、高效率的网络结构。

近几年来,越来越多的研究者投入到NAS的研究领域,提出了越来越多的NAS方法,并在整个领域取得了许多突破。是时候回顾一下NAS的优缺点了。NAS不仅以其良好的性能而闻名,而且由于其庞大的计算需求也使许多研究人员望而却步。同时,各种NAS算法的实验设置也不尽相同,很难公正地衡量一个NAS算法的真实性。

为了进一步提高NAS算法的可重复性,降低NAS算法的计算需求,让大家关注NAS算法的本质,并启发后续的NAS算法,我们提出了NAS-Bench-201。

什么是NAS-Bench-201?

NAS-Bench-201在基于不同超参数的不同随机数种子的三个数据集(CIFAR-10、CIFAR-100、ImageNet-16-120)上训练了15000多个神经网络。提供重要信息,如每个训练周期后的训练和测试时间、训练集/验证集/测试集中模型的损失函数和精度、训练后模型参数、模型大小和模型计算量。NAS-Bench-201组织这些有用的诊断信息,并提供一个方便的API来获取它们。运行“pip install nas-bench-201”一键安装nas-bench-201的API。你将拥有15000多个神经网络的所有信息!下图是15000多个网络性能的可视化。

ICLR 2020:最新加速Nas算法100毫秒训练15000神经网络_第2张图片

用途?

加速NAS算法。使用NAS-Bench-201等NAS算法,正则化进化算法/随机搜索/增强可以在0.1s内完成搜索过程,并给出所发现网络的性能。

实时跟踪NAS算法的性能。对于单次NAS算法,使用NAS-Bench-201,您可以随时观察当前预测的网络结构的性能,而无需重新训练该结构。

公平比较每种NAS算法。不同的文章在重新训练搜索的网络结构时使用不同的超参数/数据增强/规则性等。现在使用NAS-Bench-201的API,每个研究人员都可以公平地比较搜索到的网络结构。

作者在一个代码库下实现并开源了10种不同的NAS算法。尽可能公平地测试了这些算法的性能。结果如下:

ICLR 2020:最新加速Nas算法100毫秒训练15000神经网络_第3张图片

500 runs of REA / REINFORCE / RANDOM / BOHB

ICLR 2020:最新加速Nas算法100毫秒训练15000神经网络_第4张图片

六种One-shot NAS算法的3次运行结果

NAS-Bench-201旨在为NAS社区提供一个公平、计算友好的环境。由于使用我们的API可以很容易地获得每个网络的性能,这种方便的条件可能无形中允许设计的新NAS算法过度适合最佳结构。为此,我们制定了一些规则来防止过度优化。

无法规范化特定操作。例如,限制跳过连接操作的数量。

使用我们提供的网络性能。训练策略影响网络结构的最终性能。我们建议NAS-Bench-201的用户使用我们的基准提供的每个网络的性能,即使可以使用其他培训策略来获得更好的性能。这是为了确保公平。

发布多组搜索实验的结果。重复的搜索过程可以更稳定地显示NAS算法的效果。

接口示例

ICLR 2020:最新加速Nas算法100毫秒训练15000神经网络_第5张图片

相关资源

论文地址源码下载地址:关注“图像算法”微信公众号 回复“NAS”

你可能感兴趣的:(ICLR 2020:最新加速Nas算法100毫秒训练15000神经网络)