一个优秀的机器学习和深度学习模型,离不开这几个方面:

​ 一、优秀的数据预处理;

​ 二、合适的模型结构和功能;

​ 三、优秀的训练策略和超参数;

​ 四、合适的后处理操作;

​ 五、严格的结果分析

​ 这几方面都对最终的结果有着举足轻重的影响,这也是目前的数据工程师和学者们的主要工作。但由于这每一方面都十分繁琐,尤其是在构建模型和训练模型上。而大部分情况下,这些工作有无须过深专业知识就能使用起来。所以AutoML主要的作用就是来帮助实现高效的模型构建和超参数调整。例如深度学习网络的架构搜索、超参数的重要性分析等等。当然AutoML并不简单的进行暴力或者随机的搜索,其仍然需要机器学习方面的知识,例如贝叶斯优化、强化学习、元学习以及迁移学习等等。目前也有些不错的AutoML工具包,例如Alex Honchar的Hyperopt、微软的NNI、Autokeras等。

NAS

要了解AutoML,还得从NAS说起。

在开发神经网络的过程中,架构工程事关重大,架构先天不足,再怎么训练也难以得到优秀的结果。

设计神经网络架构,能称得上机器学习过程中门槛最高的一项任务了。想要设计出好架构,需要专业的知识技能,还要大量试错。

NAS就为了搞定这个费时费力的任务而生。

NAS缺点计算量太大

参考文献