AutoML算法分析(一):基于强化学习的算法

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/

对应的算法大致可以分为三类:

  1. 基于RL(Reinforcement Learning, 强化学习)的离散搜索算法:NASNet,ENAS
  2. 基于进化算法(如遗传算法,蚁群算法,模拟退火等)的离散搜索算法:CARS,EENA
  3. 基于梯度下降的连续可微搜索算法:DARTS,FBNet

本文主要介绍第一类,基于RL的离散搜索算法。

 

基于RL的NAS算法

这类算法中比较优秀的是Google Brain 2018年在Learning Transferable Architectures for Scalable Image Recognition中提出的NASNet,流程如下图所示。整个结构由controller和validator组成,迭代步骤:

  • controller负责采样child网络
  • 采样结果交给validator评估accuracy
  • 评估的accuracy作为reward去训练controller
  • 返回第一步进行循环,直到达到结束条件(达到采样个数或者accuracy达标)

 

 

最终花费了2000 GPU hours搜索得到了一系列的结构,表现优异,在相同参数量/计算量下,accuracy能达到当时的最好水平,超越了Inception,ResNet,MobileNet,SENet等一系列优秀网络。

 

 

最终搜索到的网络结构:

其中,normal cell和reduction cell分别为:

 

后续再介绍其他类型的NAS算法。

 

联系我:[email protected]

公众号:AI人工智能与大数据

发布了32 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/guanxs/article/details/101400992