简介(未完成)
大规模机器学习与AutoML技术建模流程包括数据—特征—算法—调参—评估,经过这个流程得到模型,然后评估模型还差,如果不好,通过反馈重新进行这个过程。在这个过程中有很多数据、特征和算法环节(数据抽样、数据去噪、特征选择、特征变换等),每个环节都可能影响模型效果,整个建模过程就是这些环节反复调整,直到得到模型。AutoML借助计算机搜索的优点,将整个过程在计算机上自动实现,难点就是将这个问题数学化,然后就有了目标函数和方向。
自动机器学习集中在以下两个方面:数据采集和模型预测。在这两个阶段之间所有发生的步骤将被自动机器学习抽象出来,用户只需要提供自己的数据集、标签,并按下一个按钮来生成一个经过全面训练和优化预测的模型。
AutoML问题定义,通俗地来说,假设有这么一个过程:我们有一个训练集、一组参数,然后训练出一个模型,利用测试集评测模型,根据评测结果来看参数效果好坏。我们希望整个过程能够自动化,这就是AutoML。AutoML技术挑战包括超参结构复杂、目标函数不可导、评估代价巨大。
- 超参结构复杂
- 目标函数不可导,在机器学习中如果可导,采用简单的随机梯度下降方法就能解决;
- AutoML利用AI评估AI,每评估一次就需要把模型训练一次,代价非常大。
自动化特征工程
实现自动特征评估,自动特征集合选择和自动特征交叉能力,提高特征入模型效率。
自动化模型选择
自动化超参优化
自动化部署
由于模型压缩后在芯片上推理时,各项指标往往不能立即满足要求,需进行大量的反复实验(包含模型压缩和模型再训练),整个过程中将花费非常多的专家努力。如美颜相机中考虑避免泄密,美颜算法应用最好在手机端实现。但手机端算力与云端服务器相比差距较大。中低端机型手机用户远高于高端机型。因此需考虑中低端机型的资源问题。
其它
- 在线模型持续迭代。例如在一个 OCR 模型的落地过程中,旧模型部署之后会产生一些 bad case,这些 bad case 和已有的标注数据融合之后成为新的数据集,再通过 AutoML 优化流水线优化旧模型产生新模型,新模型部署之后再循环往复。通过这样的循环可以让模型保持额外的1%的准确率的提升,由于 OCR 的模型精度很高,一般会在95%以上,所以1%也是很大的提升。
- AutoML 指导优化。对于简单重复的优化流程使用全流程 AutoML 替代,对需要专家经验参与的场景使用AutoML 作为辅助优化,并且使用全流程 AutoML 的结果作为 Baseline,选择最优的模型部署上线。在我们公司内部有60%以上的场景通过这样的优化方式获得性能提升,提升效果从1%到5%不等。
AutoML 常用的技术包括三个方面:
- 超参优化:最常用的是黑盒优化和多保真优化;
- 元学习:从任务性质或者先验模型来进行学习;
- 网络结构搜索:专门针对神经网络的场景,涉及不同的搜索空间和搜索算法。