李建明,陈 斌,孙晓飞
(1.中国科学院 成都计算机应用研究所,成都 610041;2.中国科学院大学,北京 100049;3.哈尔滨工业大学(深圳)国际人工智能研究院,广东 深圳 518055)
自深度学习技术兴起以来,神经网络架构设计一直是计算机视觉中最重要的基础研究之一,人类专家手工设计了大量优秀的神经网络架构(如AlexNet[1]、ResNet[2]、DenseNet[3]、SENet[4]等)。手工设计的神经网络架构,往往需要专家进行大量的试错实验。因此在限定的搜索空间中,采用网络架构搜索(neural architecture search,NAS)方法模拟专家自动设计更好神经网络架构的研究,受到了越来越多的关注[5-13]。
不同于采用强化学习[6](reinforcement learning,RL)和进化算法[7](evolutional algorithm,EA)作为优化策略的NAS方法,文献[8]提出了可微分架构搜索算法(differentiable architecture search,DARTS),创造性地把离散空间的架构搜索问题转化为连续空间的参数优化问题[8]。在相同的搜索空间中,采用性能相近的图形处理单元(graphics processing unit,GPU),该方法可更高效地搜索架构。例如,后者计算资源需求仅为4 GPU·d,前两者则分别需要2 000 GPU·d[6]和3 150 GPU·d[7]。同时,在CIFAR-10[14]和ImageNet数据集上,后者搜得架构的性能也能达到前两种方法相近的水平[8],且3种方法搜得的架构都超越了先前人类专家设计的架构。
DARTS算法高效的架构搜索能力,吸引了众多学者的关注,并出现了一系列的改进方法[15-20]。文献[15]提出了渐进的可微分架构搜索算法(progressive differentiable architecture search,P-DARTS),以改善搜索架构的超网络与架构评测网络在网络深度上存在“鸿沟”(depth gap)的问题。文献[16]提出了随机神经网络架构搜索算法(stochastic neural architecture search,SNAS),通过限制架构参数为独热(one-hot)编码形式构建超网络,以改善DARTS因派生cell的方法而导致超网络与派生架构出现性能“鸿沟”的问题。……