Press "Enter" to skip to content

2023年超参数优化的顶级工具/平台

2023年超参数优化的顶级工具/平台 四海 第1张2023年超参数优化的顶级工具/平台 四海 第2张

超参数是用于调节算法在创建模型时的行为的参数。这些因素无法通过常规训练来发现。在训练模型之前,必须对其进行分配。

选择产生最佳性能的超参数组合的过程被称为机器学习中的超参数优化或调整。

根据任务的不同,有几种自动优化方法,每种方法都有其优点和缺点。

随着深度学习模型的复杂性增加,用于优化超参数的工具数量也在增加。对于超参数优化(HPO),通常有两种类别的工具包:依赖云计算资源的开源工具和服务。

下面展示了用于ML模型的顶级超参数优化库和工具。

贝叶斯优化

基于贝叶斯推断和高斯过程,一种名为BayesianOptimisation的Python程序使用贝叶斯全局优化来找到未知函数的最大值,迭代次数最少。这种方法最适用于高成本函数优化,其中在探索和开发之间取得正确平衡至关重要。

GPyOpt

GPyOpt是一个基于贝叶斯优化的Python开源包。它使用GPy构建,GPy是一个用于建模高斯过程的Python框架。该库可以创建湿实验、自动设置模型和机器学习方法等。

Hyperopt

Hyperopt是一个用于串行和并行优化的Python模块,可以包含条件、离散和实值维度的搜索空间。对于希望进行超参数优化(模型选择)的Python用户,它提供了并行化的技术和基础设施。该库支持的贝叶斯优化技术基于回归树和高斯过程。

Keras Tuner

使用Keras Tuner模块,我们可以找到机器学习模型的理想超参数。该库包含了HyperResNet和HyperXception两个预构建的可自定义的计算机视觉程序。

度量优化引擎(MOE)

度量优化引擎(MOE)是一个用于最佳实验设计的开源黑盒贝叶斯全局优化引擎。当评估参数需要时间或金钱时,MOE是一种有用的系统参数优化方法。它可以帮助解决各种问题,例如通过A/B测试最大化系统的点击率或转化率,调整昂贵批处理作业或机器学习预测方法的参数,设计工程系统或确定实验的理想参数。

Optuna

Optuna是一个用于自动超参数优化的软件框架,非常适用于机器学习。它提供了一个用户API,具有命令式、按运行定义搜索空间的设计,可以动态构建超参数的搜索空间。该框架提供了许多库,用于平台无关的架构、简单的并行化和Pythonic的搜索空间。

Ray Tune

Ray Tune是一个用于耗时任务(如深度学习和强化学习)的超参数优化框架。该框架具有多种用户友好的功能,包括可配置的试验变体创建、网格搜索、随机搜索和条件参数分布,以及可扩展的搜索算法实现,包括Population Based Training(PBT)、Median Stopping Rule和HyperBand。

SmartML

SmartML是一个基于元学习的自动选择和超参数调整机器学习算法的系统。SmartML会立即提取其元特征,并在其知识库中搜索最高性能的方法,以开始对每个新数据集的优化过程。利用提供的REST API,它可以与任何编程语言集成。

SigOpt

借助SigOpt这个黑盒超参数优化工具,可以自动化模型调优,以加快创建新模型的速度并提高其在大规模生产中的效果。SigOpt结合了贝叶斯和全局优化算法,用于探索和利用任何参数空间,以提高计算效率。

Talos

对于Keras、TensorFlow和PyTorch,有一个名为Talos的超参数优化框架。该框架通过完全自动化的模型评估和超参数调整修改了标准的Keras流程。Talos的显著特点包括模型泛化评估、自动超参数优化、支持人机协同优化等。

机器学习

一个名为mlmachine的Python模块在实验生命周期中执行了几个重要步骤,并且可以实现基于笔记本的整洁有序的机器学习实验。使用mlmachine可以对多个估计器进行使用贝叶斯优化的超参数调优,并且还具有显示模型性能和参数选择的工具。

SHERPA

Python的SHERPA包用于对机器学习模型的超参数进行微调。它提供了一系列超参数优化技术,根据用户的需求进行并行计算,并提供了一个实时仪表板用于探索性研究结果,为机器学习研究人员提供超参数优化。

Scikit-Optimize

Skopt是一个快速有效的库,用于最小化(非常)昂贵和有噪声的黑盒函数。它采用了几种顺序模型优化技术。Skopt旨在在各种情况下使用时简单方便。Scikit-Optimize为“超参数优化”提供帮助,对scikit-learn包提供的机器学习(ML)算法的参数进行微调。

NumPy、SciPy和Scikit-Learn是该库的基础。

GPyOpt

一个名为GPyOpt的程序使用高斯过程来优化(最小化)黑盒函数。谢菲尔德大学(位于SITraN)的机器学习小组使用Python将其实践应用起来。GPyOpt的基础是GPy,一个用于建模高斯过程的Python包。通过使用稀疏高斯过程模型,它可以处理庞大的数据集。

Microsoft的NNI(神经网络智能)

Microsoft创建了NNI,一个免费且开源的AutoML工具集。它用于自动化超参数调整、模型压缩和神经网络架构的搜索。为了在包括本地机器、远程服务器和云中找到理想的神经网络架构和/或超参数,该工具发送和执行由调优算法创建的试验任务。

目前,Microsoft的NNI支持Sckit-learn、XGBoost、CatBoost、LightGBM等库,以及Pytorch、Tensorflow、Keras、Theano、Caffe2等框架。

Google的Vizer

一种名为AI Platform Vizier的黑盒优化服务用于优化复杂的机器学习模型的超参数。调整超参数不仅可以改善模型的输出,还可以成功地调整函数的参数。

Vizier将结果和影响结果的超参数设置为建立研究配置。使用预配置的配置参数创建研究,并运行测试以提供结果。

AWS Sage Maker

AWS Sage Maker是一个完全托管的机器学习服务。使用SageMaker可以轻松快速地构建机器学习模型。构建完成后,您可以立即部署它们到准备生产的托管环境中。

此外,它提供了针对大型数据集在分布式环境中良好运作的机器学习方法。SageMaker原生支持自定义算法和框架,并为特定工作流程提供灵活的分布式训练解决方案。

Azure机器学习

Microsoft利用其不断增长的全球数据中心网络构建了Azure。Azure是一个云平台,允许用户从任何地点创建、启动和管理服务和应用程序。

Azure机器学习是一个专门的、更新的数据科学平台,提供了完整的数据科学平台,从数据预处理到模型构建再到模型部署和维护。它支持代码优先和低代码体验。如果您更喜欢少量或不编写代码,请考虑使用Azure机器学习工作室。

Leave a Reply

Your email address will not be published. Required fields are marked *