Neural architecture search (NAS) has been extensively studied in the past few years. A popular approach is to represent each neural architecture in the search space as a directed acyclic graph (DAG), and then search over all DAGs by encoding the adjacency matrix and list of operations as a set of hyperparameters. Recent work has demonstrated that even small changes to the way each architecture is encoded can have a significant effect on the performance of NAS algorithms. In this work, we present the first formal study on the effect of architecture encodings for NAS, including a theoretical grounding and an empirical study. First we formally define architecture encodings and give a theoretical characterization on the scalability of the encodings we study Then we identify the main encoding-dependent subroutines which NAS algorithms employ, running experiments to show which encodings work best with each subroutine for many popular algorithms. The experiments act as an ablation study for prior work, disentangling the algorithmic and encoding-based contributions, as well as a guideline for future work. Our results demonstrate that NAS encodings are an important design decision which can have a significant impact on overall performance. Our code is available at https://github.com/naszilla/nas-encodings.
翻译:在过去几年里,对神经结构搜索(NAS)进行了广泛的研究。一种流行的方法是将搜索空间中的每个神经结构作为定向环形图(DAG)来代表每个神经结构,然后通过将相邻矩阵和操作列表编码为一套超参数来搜索所有DAG。最近的工作表明,即使对每个结构编码方式的小改动也能对NAS算法的性能产生重大影响。在这项工作中,我们提出了关于NAS结构编码作用的第一次正式研究,包括理论基础和实验性研究。首先,我们正式定义了结构编码,并对我们研究的编码的可缩放性作了理论描述。然后,我们确定了NAS算法使用的主要基于编码的子程序,进行了实验,以显示哪些编码与许多流行算法的每个子系统最相适应。实验是对先前工作进行的一项混合研究,使算法和基于编码的贡献脱钩,以及未来工作的指南。我们的成果表明,NAS/编码是一份重要的设计性决定。在我们的httpslogs is a importly des.