什么是 AutoML“自动机器学习”?
一个完整的机器学习流程通常包含四步:数据准备、特征工程、模型生成、模型评估。每一步都无法省略,每一步都有无数的问题需要解决。于是人们找到了 AutoML,希望机器能自己解决这一切。
数据准备,即数据的收集、清洗和增强;特征工程,即特征的选择、构建和提取;模型生成,即模型和优化方法的选择;模型评估,即模型的训练和调优。
AutoML 全称“自动机器学习”(Auto Machine Learning),指的是根据任务目标自动实现模型构建、筛选的技术。
对于 AutoML 来说,模型的生成和评估是最难、也是最重要的部分。构建模型就像是搭积木,第一步是确定有哪些零件可以用。为此我们需要先将卷积、池化等可用零件编码,定义一个搜索空间,在这个范围内进行筛选;接下来是确定搜索策略,也就在以一定的方法在庞大的零件库中找到最适合的零件,以及拼接它们的方法;此外我们还需要一个评价标准,用来测试搭建好的模型能不能用、好不好用,就像是用手推一下,确定积木的稳固。
在搜索模型的过程中我们会用到许多机器学习技术,由于深度学习的流行,神经网络架构搜索(Neural Architecture Search,NAS)是目前最常被提到的方法。
神经网络架构搜索的基础是一个 RNN 网络,通过训练它生成模型,不断评估这些模型在验证集上的准确率后反馈调整,来提升 RNN 网络的生成能力。
一个好用的 AutoML 平台会覆盖机器学习的所有步骤,你甚至可在完全不理解 AutoML 是什么、没有任何编程基础的情况下使用它们。只要准备好数据,就能得到适合任务目标的模型,AutoML 和深度学习一样“端到端”。