To search an optimal sub-network within a general deep neural network (DNN), existing neural architecture search (NAS) methods typically rely on handcrafting a search space beforehand. Such requirements make it challenging to extend them onto general scenarios without significant human expertise and manual intervention. To overcome the limitations, we propose Automated Search-Space Generation Neural Architecture Search (ASGNAS), perhaps the first automated system to train general DNNs that cover all candidate connections and operations and produce high-performing sub-networks in the one shot manner. Technologically, ASGNAS delivers three noticeable contributions to minimize human efforts: (i) automated search space generation for general DNNs; (ii) a Hierarchical Half-Space Projected Gradient (H2SPG) that leverages the hierarchy and dependency within generated search space to ensure the network validity during optimization, and reliably produces a solution with both high performance and hierarchical group sparsity; and (iii) automated sub-network construction upon the H2SPG solution. Numerically, we demonstrate the effectiveness of ASGNAS on a variety of general DNNs, including RegNet, StackedUnets, SuperResNet, and DARTS, over benchmark datasets such as CIFAR10, Fashion-MNIST, ImageNet, STL-10 , and SVNH. The sub-networks computed by ASGNAS achieve competitive even superior performance compared to the starting full DNNs and other state-of-the-arts. The library will be released at https://github.com/tianyic/only_train_once.
翻译:为在通用深度神经网络(DNN)中搜索最优子网络,现有神经架构搜索(NAS)方法通常依赖预先手工设计搜索空间。这一要求使得将其扩展至通用场景时,需要大量人类专业知识和人工干预。为克服这些限制,我们提出自动化搜索空间生成神经架构搜索(ASGNAS)——这可能是首个能以一次性方式训练覆盖所有候选连接与操作的通用DNN、并生成高性能子网络的自动化系统。在技术层面,ASGNAS在最小化人工投入方面取得三项显著贡献:(i) 面向通用DNN的自动化搜索空间生成;(ii) 一种层次化半空间投影梯度法(H2SPG),该方法利用生成搜索空间内的层次结构与依存关系确保优化过程中网络有效性,并可靠生成兼具高性能与层次化群组稀疏性的解;(iii) 基于H2SPG解的自动化子网络构建。在数值实验中,我们在包含RegNet、StackedUnets、SuperResNet和DARTS的多种通用DNN上,针对CIFAR10、Fashion-MNIST、ImageNet、STL-10和SVNH等基准数据集验证了ASGNAS的有效性。相比原始完整DNN及其他先进方法,ASGNAS计算的子网络取得了具有竞争力甚至更优的性能。相关代码库将于https://github.com/tianyic/only_train_once发布。