AutoML 是什么?
自动化机器学习提供方法和流程,使非机器学习专家也能使用机器学习,提高机器学习效率,并加速机器学习研究。
机器学习 (ML) 近年来取得了显著的成功,越来越多的学科依赖于它。然而,这种成功至关重要的是依赖于人类机器学习专家来执行以下任务
- 预处理和清理数据。
- 选择和构建合适的特征。
- 选择合适的模型族。
- 优化模型超参数。
- 设计神经网络的拓扑结构(如果使用深度学习)。
- 后处理机器学习模型。
- 批判性地分析获得的结果。
由于这些任务的复杂性通常超出非机器学习专家的能力范围,机器学习应用快速增长创造了对现成的机器学习方法的需求,这些方法易于使用且无需专家知识。我们称针对机器学习的渐进式自动化的研究领域为AutoML。
AutoML 示例
自动化机器学习的研究非常多样化,并推出了针对研究人员和最终用户的软件包和方法。
AutoML 系统
近年来,已经开发了几个现成的软件包,它们提供自动化的机器学习。我们开发了
- AutoWEKA 是一种同时选择机器学习算法及其超参数的方法;结合 WEKA 包,它可以自动为各种数据集生成良好的模型。
- Auto-sklearn 是 AutoWEKA 的扩展,使用 Python 库 scikit-learn,它是常规 scikit-learn 分类器和回归器的直接替代品。
- Auto-PyTorch 基于深度学习框架 PyTorch,并联合优化超参数和神经网络架构。
其他著名的 AutoML 包包括
- AutoGluon 是一种多层堆叠方法,用于各种 ML 模型。
- H2O AutoML 为 H2O 机器学习和数据分析平台 提供自动模型选择和集成。
- MLBoX 是一个 AutoML 库,具有三个组件:预处理、优化和预测。
- TPOT 是一个数据科学助手,它使用遗传编程来优化机器学习流水线。
- TransmogrifAI 是一个在 Spark 之上运行的 AutoML 库。
AutoML 促进和改进研究
Making a science of model search 认为给定技术的性能取决于算法的基本质量和其调整的细节,并且有时很难知道给定技术是否真正更好,或者只是调整得更好。为了改善这种情况,Bergstra 等人建议报告使用相同的超参数优化工具集调整所有算法的结果。Sculley 等人在 ICLR’18 workshop 论文 Winner’s Curse 也提出了相同的观点,并给出了最近的例子,其中正确优化基线的超参数优于最新的最先进结果和新提出的方法。
超参数优化和算法配置提供方法来自动化调整新任务的超参数的繁琐、耗时且容易出错的过程。例如,我们提供用于超参数优化的软件包
您可以在 此处 找到更多 HPO 包。
架构搜索和自动化深度学习
架构搜索领域解决了寻找表现良好的深度神经网络架构的问题。自动架构搜索可以大大加快新深度学习应用的发展,因为开发人员无需费力地评估不同的架构。
有关架构搜索的概述,我们请感兴趣的读者参考我们的 神经网络架构搜索文献概述。
用于深度学习的架构搜索和超参数优化软件包包括
另请参阅 此处。
更多资源
- NeurIPS 2018 AutoML 教程(录制);我们已在我们的 邀请演讲和教程网页 上发布了此教程和许多其他教程的幻灯片。
- 我们的 AutoML 书籍
- Rich Caruana:AutoML 中的开放研究问题
- 维基百科
- KDNuggets 关于 AutoML 当前状态的介绍
