Recent Advances and Highlights of NAS
导读
近年来网络结构搜索(NAS)在自动化设计神经网络结构方面获得了较大的成功,也成为模型结构优化领域不可忽视的重要研究课题。NAS不仅减轻了人们设计、调优模型结构的重重负担,而且相较于人工设计的网络结构,NAS搜索出的模型性能有了进一步提升。最近NAS取得了巨大的进展,搜索代价从最初的万级GPU hours降低到和普通训练模型同等水平,NAS的算法更能在优化精度的同时提高模型速度,NAS的应用也从分类向分割、检测等领域进一步扩展。本次报告介绍、讨论了最近NAS的一些进展和闪光点,并分享我们在NAS领域所做的相关工作。主要内容包括:
NAS算法的发展与创新
NAS的加速方法
搜索空间的探索和进展
神经网络结构搜索(NAS)简介
从2012年的AlexNet到近两年的MobileNet,神经网络结构一直在不断发展和演变,从网络结构发展的流程可以看出网络结构的设计对最终性能的表现起到至关重要的作用。然而人工设计神经网络结构往往需要花费较多的精力和大量的尝试,并且对于模型结构方面工程师的经验有较高的需求,从而网络结构搜索(NAS)应运而生。NAS即为自动化调优、搜索神经网络结构的方法。NAS在一方面能够推进模型结构性能的进一步提升,另一方面减轻了人们调优模型结构的负担。
NAS中最基础的三个概念包括Search Space(搜索空间)、Search Strategy(搜索策略)和Performance Estimation Strategy(性能评估策略)。其中,搜索空间用来定义结构生成的规则,即NAS的方法会涵盖到哪些形式的结构。主流的几种搜索策略包括基于增强学习(RL)、进化算法(EA)以及梯度更新(gradient-based)的算法。在搜索过程中,需要设定合适的性能评估策略来降低搜索代价。常见的策略包括降低保真度(如使用低分辨率的输入图片、大数据集的子集、训练较少epoch等)、训练曲线或性能预测、参数共享、基于one-shot模型搜索等。
NAS重要方法及发展
最初的NAS方法基于RL或EA算法取得了较好的效果,但是搜索代价极大,高大万级的GPU hours,通常需要成百上千的GPU来驱动NAS算法。随后有很多方法在NAS减轻代价以及加速上做出了贡献,如ENAS的参数共享、基于one-shot模型的搜索以及PNAS的渐进式搜索等等。本报告就DARTS、MnasNet和ProxylessNAS三个有代表性的工作介绍了NAS最近的发展。
DARTS与之前的各类NAS算法不同在于,基于RL或EA的搜索算法对网络结构的处理均在离散空间中进行,这使得整个搜索、优化过程的计算代价巨大。DARTS首次提出将搜索空间映射为连续可微的表示,整个搜索过程直接通过梯度下降和反向传播来进行结构的优化。DARTS在保持结构性能的条件下极大减少了搜索代价,后续一系列优秀的gradient-based NAS工作也均基于DARTS的思路。
MnasNet的两大创新点被后续NAS工作广泛采纳,在NAS领域也具有重要作用。第一,Mnas提出直接在搜索过程中优化目标硬件上网络结构的latency,通过多目标优化的方法基于RL取得了优秀的结果。第二,Mnas提出基于MobileNet的级联block的搜索空间,摒弃了之前基于Cell拓扑结构复杂的搜索空间,Mnas的搜索空间在latency上更为友好,并在精度上也有很大的优势,该搜索空间被后来工作广泛应用。
ProxylessNAS还是以减少搜索代价为出发点,对NAS算法进行改进。虽然Differentiable NAS的方法可以极大缩短搜索时间,但是由于其搜索空间由一个连续可微超大网络的表示,传统的Differentiable NAS方法需要占用较多的GPU显存。ProxylessNAS的方法在于优化super network的参数每次只通过一条或部分路径,从而极大减少了显存占用。该工作还针对硬件优化结构,获得了非常优秀的结果。
我们的工作进展
EAT-NAS
EAT-NAS: Elastic Architecture Transfer for Accelerating Large-scale Neural Architecture Search
论文链接:https://arxiv.org/abs/1901.05884
EAT-NAS旨在解决 NAS在大规模数据集上进行搜索的加速问题。以往的很多方法为了避免直接在ImageNet 128万张图的大规模数据上直接搜索的巨大代价,间接的在CIFAR-10上进行搜索。通常CIFAR-10上搜索得到的模型结构不加调整或者是人为手动调整,而直接被迁移到ImageNet上,这种做法使得结构不能更好的适应新的数据集,效果上会存在偏差。EAT-NAS提出了一种网络结构层面迁移的方法:EAT-NAS基于EA算法,首先在小数据集上搜索得到一个较优的模型结构,以该模型结构作为种子,初始化大数据集上搜索的新模型种群,并继续进行搜索。EAT-NAS通过网络结构迁移的方法在保证性能的同时,极大的加速了大数据集上网络结构的搜索过程。
DenseNAS
Densely Connected Search Space for More Flexible Neural Architecture Search
论文:https://arxiv.org/abs/1906.09607
代码:https://github.com/JaminFong/DenseNAS
近年来,网络结构搜索(NAS)已经极大推进了神经网络结构设计的发展。然而很多以往的工作都需要很大的计算代价,最近Differentiable NAS通过在连续空间上构建一个包含所有要搜索结构的搜索空间(super network)极大的减少了搜索代价。然而,很少有Differentiable的方法可以搜索网络结构的宽度(即通道数),因为按照传统Differentiable NAS的方法,将不同宽度的结构集成到一个super network里面很难实现。在本论文中,我们提出了一个新颖的Differentiable NAS的方法——DenseNAS,该方法可以搜索网络结构中每个block的宽度和对应的空间分辨率。我们通过构建一个密集连接的搜索空间来实现该目的。在我们设计的搜索空间中,拥有不同宽度和空间分辨率的block之间相互连接,搜索过程中优化block之间的转移概率从而选取一个最优路径。DenseNAS使得网络结构搜索的灵活性更强,以宽度搜索为出发点,同时可以搜索网络结构下采样的位置和全局深度(不仅限于每个block中的层数,block的数量也会被搜索)。在ImageNet上,DenseNAS得到的模型以较低的latency取得了75.9%的精度,整个搜索过程在4块GPU上仅用了23个小时。
总结
NAS在自动化设计神经网络结构上取得了巨大的成功,NAS将会成为深度学习下一步发展必不可少的方向。NAS不仅能进一步提升网络结构模型性能,还能够很大程度减轻人类模型结构优化工作的负担。在某种程度上,NAS搜索得到的结果还能反过来指引人们优化、设计模型结构。未来NAS的发展可能会从几个方向开展:更灵活、普适性更强的搜索空间,更小的搜索代价,更多的应用场景,更高的自动化,更鲁棒的搜索过程等等。
参考文献
[1] Elsken T, Metzen J H, Hutter F. Neural architecture search: A survey[J]. arXiv preprint arXiv:1808.05377, 2018.
[2] Zoph B, Le Q V. Neural architecture search with reinforcement learning[J]. arXiv preprint arXiv:1611.01578, 2016.
[3] Zoph B, Vasudevan V, Shlens J, et al. Learning transferable architectures for scalable image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 8697-8710.
[4] Pham H, Guan M Y, Zoph B, et al. Efficient neural architecture search via parameter sharing[J]. arXiv preprint arXiv:1802.03268, 2018.
[5] Liu C, Zoph B, Neumann M, et al. Progressive neural architecture search[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 19-34.
[6] Bender G, Kindermans P J, Zoph B, et al. Understanding and simplifying one-shot architecture search[C]//International Conference on Machine Learning. 2018: 549-558.
[7] Real E, Aggarwal A, Huang Y, et al. Regularized evolution for image classifier architecture search[J]. arXiv preprint arXiv:1802.01548, 2018.
[8] Liu H, Simonyan K, Yang Y. Darts: Differentiable architecture search[J]. arXiv preprint arXiv:1806.09055, 2018.
[9] Tan M, Chen B, Pang R, et al. Mnasnet: Platform-aware neural architecture search for mobile[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 2820-2828.
[10] Cai H, Zhu L, Han S. ProxylessNAS: Direct neural architecture search on target task and hardware[J]. arXiv preprint arXiv:1812.00332, 2018.
[11] Fang J, Chen Y, Zhang X, et al. EAT-NAS: Elastic Architecture Transfer for Accelerating Large-scale Neural Architecture Search[J]. arXiv preprint arXiv:1901.05884, 2019.
[12] Fang J, Sun Y, Zhang Q, et al. Densely Connected Search Space for More Flexible Neural Architecture Search[J]. arXiv preprint arXiv:1906.09607, 2019.
版权声明