3 个月前

在四小时GPU时间内搜索一种鲁棒的神经架构

在四小时GPU时间内搜索一种鲁棒的神经架构

摘要

传统的神经架构搜索(Neural Architecture Search, NAS)方法通常基于强化学习或进化策略,其在CIFAR-10数据集上寻找一个优良模型往往需要超过3000个GPU小时。为此,我们提出一种高效的NAS方法——通过梯度下降来学习搜索过程。该方法将搜索空间建模为有向无环图(Directed Acyclic Graph, DAG),其中包含数十亿个子图,每个子图对应一种特定的神经网络架构。为避免遍历所有可能的子图组合,我们设计了一种可微分的采样器(differentiable sampler)来对DAG进行高效采样。该采样器具有可学习性,并通过所采样架构在验证集上的损失进行优化。由此,整个搜索过程可采用端到端的方式,通过梯度下降进行训练,我们将其命名为基于可微分架构采样的梯度搜索方法(Gradient-based search using Differentiable Architecture Sampler, GDAS)。在实验中,我们的方法仅需约4个GPU小时即可完成一次完整的搜索过程,所发现的模型在CIFAR-10上达到2.82%的测试误差,且仅包含250万个参数,性能与当前最先进水平相当。相关代码已公开发布于GitHub:https://github.com/D-X-Y/NAS-Projects。

代码仓库

xxlya/COS598D_Assignment1
pytorch
GitHub 中提及
D-X-Y/AutoDL-Projects
pytorch
GitHub 中提及
rwbfd/OpenCompetitionV2
pytorch
GitHub 中提及
D-X-Y/GDAS
pytorch
GitHub 中提及
D-X-Y/NAS-Projects
官方
pytorch
GitHub 中提及

基准测试

基准方法指标
neural-architecture-search-on-cifar-10GDAS
Search Time (GPU days): 0.21
Top-1 Error Rate: 3.4%
neural-architecture-search-on-cifar-10GDAS (FRC)
Search Time (GPU days): 0.17
Top-1 Error Rate: 2.5%
neural-architecture-search-on-nas-bench-201GDAS
Accuracy (Test): 41.71
Search time (s): 28926
neural-architecture-search-on-nas-bench-201-1GDAS
Accuracy (Test): 93.61
Accuracy (Val): 89.89
Search time (s): 28926
neural-architecture-search-on-nas-bench-201-2GDAS
Accuracy (Test): 70.70
Accuracy (Val): 71.34
Search time (s): 28926

用 AI 构建 AI

从想法到上线——通过免费 AI 协同编程、开箱即用的环境和市场最优价格的 GPU 加速您的 AI 开发

AI 协同编程
即用型 GPU
最优价格
立即开始

Hyper Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供
在四小时GPU时间内搜索一种鲁棒的神经架构 | 论文 | HyperAI超神经