Skip to main content
QUICK REVIEW

[论文解读] NSGA-Net: Neural Architecture Search using Multi-Objective Genetic Algorithm

Zhichao Lu, Ian Whalen|arXiv (Cornell University)|Oct 8, 2018
Machine Learning and Data Classification参考文献 47被引用 73
一句话总结

NSGA-Net 使用多目标遗传算法,结合交叉和贝叶斯网络开发搜索,寻找在准确性和FLOPs之间权衡的神经架构,得到 Pareto 前沿,在 CIFAR-10 结果具有竞争力且计算量显著更低。

ABSTRACT

This paper introduces NSGA-Net -- an evolutionary approach for neural architecture search (NAS). NSGA-Net is designed with three goals in mind: (1) a procedure considering multiple and conflicting objectives, (2) an efficient procedure balancing exploration and exploitation of the space of potential neural network architectures, and (3) a procedure finding a diverse set of trade-off network architectures achieved in a single run. NSGA-Net is a population-based search algorithm that explores a space of potential neural network architectures in three steps, namely, a population initialization step that is based on prior-knowledge from hand-crafted architectures, an exploration step comprising crossover and mutation of architectures, and finally an exploitation step that utilizes the hidden useful knowledge stored in the entire history of evaluated neural architectures in the form of a Bayesian Network. Experimental results suggest that combining the dual objectives of minimizing an error metric and computational complexity, as measured by FLOPs, allows NSGA-Net to find competitive neural architectures. Moreover, NSGA-Net achieves error rate on the CIFAR-10 dataset on par with other state-of-the-art NAS methods while using orders of magnitude less computational resources. These results are encouraging and shows the promise to further use of EC methods in various deep-learning paradigms.

研究动机与目标

  • 在显式优化多个目标的同时,实现神经架构搜索(NAS)的自动化。
  • 在预测性能与计算相关约束(FLOPs)之间取得平衡。
  • 通过对整个网络结构的搜索,探索超越重复块的架构。
  • 通过贝叶斯学习利用历史信息来引导高效搜索。

提出的方法

  • 将架构表示为阶段级块的位串编码(每阶段的操作)。
  • 使用NSGA-II在误差和FLOPs目标之间维持多样化的 Pareto 前沿。
  • 应用交叉来重新组合架构块,并进行变异以引入多样性。
  • 通过贝叶斯网络利用搜索历史来抽样有希望的后代(受 BOA 启发)。
  • 两阶段搜索:探索阶段(交叉/变异)随后是开发阶段(BN 引导的采样)。
  • 使用 SGD 和余弦退火对候选架构进行训练,在搜索期间评估验证误差。

实验结果

研究问题

  • RQ1多目标进化算法是否能够定位在准确性与计算成本之间平衡的神经架构 Pareto 前沿?
  • RQ2将交叉和贝叶斯网络开发结合是否相对于随机或单目标方法在搜索效率和质量上有提升?
  • RQ3NSGA-Net 找到的架构对相关数据集(如 CIFAR-100)或设置的可迁移性如何?
  • RQ4在准确性、参数数量和计算量方面,NSGA-Net 与最先进的 NAS 方法相比如何?
  • RQ5在优化多目标时,会出现哪些架构趋势?

主要发现

  • NSGA-Net 在 CIFAR-10 上发现了在误差和 FLOPs 之间平衡的架构 Pareto 前沿。
  • 最佳发现的架构达到 3.85% 的测试误差,具有 3.34M 参数和 1290 MFLOPs。
  • 与某些竞争的 NAS 方法相比,NSGA-Net 需要的计算量显著更少(8 GPU 天),同时提供具有竞争力的准确性。
  • 基于贝叶斯网络的开发阶段和交叉在前沿质量上优于随机搜索或仅变异的进化算法。
  • 在 CIFAR-10 上找到的架构在 CIFAR-100 上有较好的迁移性,凭借更少的参数实现具有竞争力的准确性。
  • 消融研究表明,交叉和基于 BN 的后代创建都对实现更好的权衡有贡献。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。