强化学习可以作为神经网络架构搜索的一种搜索策略。Zoph等人[3] 针对CIFS-10数据集应用了基于强化学习的神经网络架构搜索,生成的网络体系结构在准确性方面可与最佳的人工设计的体系结构相媲美,测试错误率为3.65,比起使用了类似设计的人工设计模型,错误率低了0.09%,并且速度快了1.05倍。在Penn Treebank数据集上,该模型构建了一个优于LSTM的循环单元,在测试集上的困惑度达到了62.4,比之前领先的系统低了3.6。在PTB字符语言建模任务中,它取得了每个字符1.214位的效果。[3]
直接在大型数据集上学习模型架构可能是一个漫长的过程。NASNet[4][5] 通过将为小数据集设计的构造块转移到大数据集来解决这个问题。该设计被限制为使用两种类型的卷积单元来返回特征图,在将卷积的结果作为输入特征图时,返回的特征图主要有两个作用:返回相同范围(高度和宽度)的图的正常单元和返回的特征图高度和宽度减少两倍的缩减单元。对于缩减单元,应用于单元输入的初始操作作用了两步(以缩减高度和宽度)。[4] 该设计包括了多个学习方面的元素,例如各个较高层将哪个较低层作为输入,在该层应用的变换以及在各层合并多个输出等。在过去的研究中,研究人员为CIFS-10数据集设计了最佳卷积层(或“单元”),然后通过堆叠该单元的副本将其应用于ImageNet数据集,每个副本都有自己的参数。该方法的Top1准确率为82.7%,Top5准确率为96.2%。这超过了人类发明的最好的架构,减少了90亿次浮点运算——减少了28%。该系统在不同的计算水平上不断超过人工设计的方案。从图像分类中学习到的图像特征也可以迁移到其他计算机视觉问题上。例如,在目标检测任务中,集成了Faster-RCNN框架的学习单元在COCO数据集上的性能提高了4.0%。[4]
在所谓的高效神经网络架构搜索(ENAS)中,控制器通过学习在大图中搜索最佳子图来发现架构。控制器用策略梯度法来进行训练:选择一个子图,使验证集的预期回报最大化。通过最小化规范交叉熵损失来训练对应子图的模型。多个子模型共享参数,ENAS比其他方法需要更少的GPU时间,比“标准”的神经网络架构搜索少1000倍。在CIFAR-10上,ENAS的设计达到了2.89%的测试误差,与NASNet相当。在宾州树库中,ENAS的设计达到了55.8的测试困惑度。[6]
另一组使用了爬山程序,应用网络变形,然后进行短余弦退火优化运行。这种方法产生了有竞争力的结果,培训需要的资源的数量级与培训单一网络所需资源的数量级相同。例如,在CIFAR-10上,该方法在单个GPU设计并训练了12小时,得到了错误率低于5%的网络。[10]
虽然大多数方法只专注于寻找具有最优预测性能的体系结构,但对于大多数实际应用,其他的优化目标也是很重要的,例如内存消耗、模型大小或推理时间(即获得预测结果所需的时间)。正因为如此,研究人员建立了多目标搜索。[14][15]
LEMONADE[14] 是一种进化算法,它采用拉马克进化理论思想来有效地优化多个目标。在每一代中,为了改善和当前ANNs有关的Pareto边界,子网络都会被生成。
神经网络架构师[15] 应该具有应用网络嵌入方法和性能预测的能力,来进行资源敏感的、基于强化学习的多目标优化和神经网络架构搜索。网络嵌入将现有网络编码成可训练的嵌入向量。基于嵌入向量,控制器网络生成目标网络的变换。多目标奖励函数考虑了网络准确性、计算资源和训练时间。奖励由多个性能模拟网络预测,这些网络是预先训练的或与控制器网络共同训练的。控制器网络通过策略梯度进行训练。经过修改后,得到由准确度网络和训练时间网络评估的候选网络。通过某种奖励机制组合这些结果,并将其输出传回至控制器网络。
^Elsken, Thomas; Metzen, Jan Hendrik; Hutter, Frank: Neural Architecture Search: A Survey, Journal of Machine Learning Research, 2019.
^Wistuba, Martin; Rawat, Ambrish; Pedapati, Tejaswini (2019-05-04). "A Survey on Neural Architecture Search". arXiv:1905.01392 [cs.LG]..
^Zoph, Barret; Le, Quoc V. (2016-11-04). "Neural Architecture Search with Reinforcement Learning". arXiv:1611.01578 [cs.LG]..
^Zoph, Barret; Vasudevan, Vijay; Shlens, Jonathon; Le, Quoc V. (2017-07-21). "Learning Transferable Architectures for Scalable Image Recognition". arXiv:1707.07012 [cs.CV]..
^Zoph, Barret; Vasudevan, Vijay; Shlens, Jonathon; Le, Quoc V. (November 2, 2017). "AutoML for large scale image classification and object detection". Research Blog (in 英语). Retrieved 2018-02-20..
^Hieu, Pham; Y., Guan, Melody; Barret, Zoph; V., Le, Quoc; Jeff, Dean (2018-02-09). "Efficient Neural Architecture Search via Parameter Sharing". arXiv:1802.03268 [cs.LG]..
^Real, Esteban; Moore, Sherry; Selle, Andrew; Saxena, Saurabh; Suematsu, Yutaka Leon; Tan, Jie; Le, Quoc; Kurakin, Alex (2017-03-03). "Large-Scale Evolution of Image Classifiers". arXiv:1703.01041 [cs.NE]..
^Real, Esteban; Aggarwal, Alok; Huang, Yanping; Le, Quoc V. (2018-02-05). "Regularized Evolution for Image Classifier Architecture Search". arXiv:1802.01548 [cs.NE]..
^Stanley, Kenneth; Miikkulainen, Risto, "Evolving Neural Networks through Augmenting Topologies", in: Evolutionary Computation, 2002.
^Thomas, Elsken; Jan-Hendrik, Metzen; Frank, Hutter (2017-11-13). "Simple And Efficient Architecture Search for Convolutional Neural Networks". arXiv:1711.04528 [stat.ML]..
^Hanxiao Liu, Karen Simonyan, Yiming Yang, "DARTS: Differentiable Architecture Search".arxiv.org.
^Chenxi Liu, Liang-Chieh Chen, Florian Schroff, Hartwig Adam, Wei Hua, Alan L. Yuille, Li Fei-Fei; "Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation".CVPR2019.
^Bichen Wu, Xiaoliang Dai, Peizhao Zhang, Yanghan Wang, Fei Sun, Yiming Wu, Yuandong Tian, Peter Vajda, Yangqing Jia, Kurt Keutze; "FBNet: Hardware-Aware Efficient ConvNet Design via Differentiable Neural Architecture Search".CVPR2019.
^Elsken, Thomas; Metzen, Jan Hendrik; Hutter, Frank (2018-04-24). "Efficient Multi-objective Neural Architecture Search via Lamarckian Evolution". arXiv:1804.09081 [stat.ML]..
^Zhou, Yanqi; Diamos, Gregory. "Neural Architect: A Multi-objective Neural Architecture Search with Performance Prediction" (PDF). Baidu. Retrieved February 21, 2018..
暂无