召唤超参调优开源新神器:集XGBoost、TensorFlow、PyTorch、MXNet等十大模块于一身

整理 | 凯隐

编辑 | Jane

出品 | AI科技大本营(ID:rgznai100)

【导读】Optuna是一款为机器学习任务设计的自动超参数优化软件框架,是一款按运行定义(define-by-run) 原则设计的优化软件,允许用户动态地调整搜索空间,在同类软件中尤属首创,是下一代超参调优框架的代表。接下来,带大家了解 Optuna——新一代超参调优框架。

召唤超参调优开源新神器:集XGBoost、TensorFlow、PyTorch、MXNet等十大模块于一身

传统的超参调优方法是经验性的手动调整参数,并记录实验结果,然后通过人工分析对比确定下一步的参数调整方向,这种方法吃力且效率低,还容易出错。Optuna的出现大大降低了超参调优的难度,下面让我们来看看Pptuna是如何工作的吧!

Optuna工作方式和特点1、按运行定义

首先通过 pip 命令安装 Optuna:

召唤超参调优开源新神器:集XGBoost、TensorFlow、PyTorch、MXNet等十大模块于一身

将运行代码(5-11行)重新嵌入到试验(trial)函数中,试验函数通过单次执行代码来得到一组参数组合下的结果:

召唤超参调优开源新神器:集XGBoost、TensorFlow、PyTorch、MXNet等十大模块于一身

以及每层中神经元个数的 for 循环:

召唤超参调优开源新神器:集XGBoost、TensorFlow、PyTorch、MXNet等十大模块于一身

完成以上步骤,便可以运行程序,让optuna来自动完成搜索过程,因此 Optuan 是一个专门为自动化设计的框架。此外我们可以看到代码编写是非常简单的,且非常灵活,可以随时调整搜索空间和次数上限,这也体现了Optuna按运行定义的特点。

2、并行分布式计算

上面的例子中我们使用的只是一个很简单的示例网络,但大部分情况下网络和数据集都要比示例大得多,此时 Optuna 的另一个特点就体现出来了:

召唤超参调优开源新神器:集XGBoost、TensorFlow、PyTorch、MXNet等十大模块于一身

并行化处理能大幅减低调优所需时间,从而加速优化过程。此外 Optuna 还具有剪枝优化功能,即提前结束并行化实验中的低质量参数实验,从而提高效率。

3、支持多类型任务和框架

Optuna 不仅可以用于实验调参,也可以轻松地部署到生产作业以及数据分析任务中:

召唤超参调优开源新神器:集XGBoost、TensorFlow、PyTorch、MXNet等十大模块于一身

此外,Optuna 还支持许多其他深度学习框架和模块,例如 Tensorflow,Keras,PyTorch,MXNet等。

召唤超参调优开源新神器:集XGBoost、TensorFlow、PyTorch、MXNet等十大模块于一身

https://optuna.org/

https://optuna.readthedocs.io/en/stable/

https://github.com/optuna/optuna

(*本文为AI科技大本营翻译文章,转载请微信联系 1092722531)

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注