AutoML是什么
顾名思义,Auto:Automated自动的;ML:Machine Learning机器学习. 因此AutoML即为自动机器学习。
对于机器学习的算法工程师而言,设计适用于特定问题的机器学习模型是一个非常复杂的任务。需要选择相应的神经网络架构、训练过程、正则化方法、超参等,这些都对最终的性能有很大的影响,需要不断尝试。因此深度学习算法工程师也被称为调(炼)参(丹)工程师。
AutoML的目标就是使用自动化的、数据驱动方式来做出上述的决策。用户只要提供数据,通过足够的算力,系统自动决定最佳的方案。各个领域专家不再需要苦恼于学习各种机器学习算法。
在AutoML领域,当前引起学者关注最多的便是NAS(Neural Architecture Search,网络结构搜索),对应的算法也非常之多。在automl.org上已经列出了两百多篇相关论文:
https://www.automl.org/automl/literature-on-neural-architecture-search/
对应的算法大致可以分为三类:
本文主要介绍第一类,基于RL的离散搜索算法。
基于RL的NAS算法
这类算法中较优秀的是Google Brain 2018年在Learning Transferable Architectures for Scalable Image Recognition中提出的NASNet,流程如下图所示。整个结构由controller和validator两部分组成,算法迭代步骤:
最终花费了2000 GPU hours搜索得到了一系列的结构,表现优异,在相同参数量/计算量下,accuracy能达到当时的最好水平,超越了Inception,ResNet,MobileNet,SENet等一系列优秀网络。
最终的搜索到的网络结构:
其中,normal cell和reductioncell分别为:
后续会介绍其他类型的NAS算法,敬请关注。
公众号:AI人工智能与大数据