整理 | 凯隐

编辑 | Jane

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

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

超参调优简介

在训练神经网络时,模型结构尺度,例如深度,宽度,每层分辨率等,都会影响到模型的最终性能,从这些参数组合中找到最适合当前任务的参数,就是常说的超参调优。

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

Optuna工作方式和特点

1、按运行定义

首先通过 pip 命令安装 Optuna:

以层数搜索为例,我们需要优化的是一个用于分类的多层感知器的层数以及每一层的神经元个数:

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

然后添加一个关于层数的 for 循环:

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

最后定义一个 study 对象,将trial训练结果作为优化目标,便可以通过多次实验找出最优超参数组合,这里设置的实验次数(n_trials=100)是 100 次:

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

2、并行分布式计算

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

在上述代码中,我们将搜索过程做了并行化处理,这样实际运行时效果就如同下图:

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

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

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

Optuna 的环境依赖非常简单,并且能独立地完成任务:

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

使用 Optuna

Optuna可以通过 pip 或 conda 指令进行安装,目前支持 python3.5 以上的版本,更多相关资料详见官网,官方文档,以及 Github 主页。

相关阅读:

https://optuna.org/

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

https://github.com/optuna/optuna

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

精彩推荐

2020年,由 CSDN 主办的「Python开发者日」活动(Python Day)正式启动。我们将与 PyCon 官方授权的 PyCon中国社区合作,联手顶尖企业、行业与技术专家,通过精彩的技术干货内容、有趣多元化的活动等诸多体验,共同为中国 IT 技术开发者搭建专业、开放的技术交流与成长的家园。未来,我们和中国万千开发者一起分享技术、践行技术,铸就中国原创技术力量。

【Python Day——北京站】现已正式启动,「新春早鸟票」火热开抢!2020年,我们还将在全国多个城市举办巡回活动,敬请期待!

活动咨询,可扫描下方二维码加入官方交流群~

CSDN「Python Day」咨询群 ????

来~一起聊聊Python

如果群满100人,无法自动进入,可添加会议小助手微信:婷婷,151 0101 4297(电话同微信)


推荐阅读

  • 如何优雅地使用pdpipe与Pandas构建管道?

  • 不可错过!2019 热门机器学习内容盘点

  • 搜狐、美团、小米都在用的Apache Doris有什么好? | BDTC 2019

  • 伯克利新无监督强化学习方法:

  • 减少混沌所产生的突现行为

  • 机器推理文本+视觉,跨模态预训练新进展

  • 中国搜索 20 年:易守难攻、刚需不减!

  • 你点的每个“在看”,我都认真当成了AI

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

  1. 召唤新一代超参调优开源新神器,集十大主流模块于一身

    整理 | 凯隐 编辑 | Jane 来源 | AI科技大本营(ID:rgznai100) Optuna是一款为机器学习任务设计的自动超参数优化软件框架,是一款按运行定义(define-by-run) ...

  2. 自动特征工程、NAS、超参调优和模型压缩,微软开源的NNI一库搞定!

    点击我爱计算机视觉标星,更快获取CVML新技术 2018年9月,微软亚洲研究院发布了第一版 NNI (Neural Network Intelligence) ,目前已在 GitHub 上获得 3.8 ...

  3. 微软nni_GitHub项目推荐 | NNI:微软发布的开源神经架构搜索or超参调优AutoML工具包...

    NNI(神经网络智能)是一个帮助用户运行自动机器学习(AutoML)实验的工具包.该工具调度并运行由优化算法生成的试验作业,以在不同的环境(如本地机器.远程服务器和云)中搜索最佳的神经体系结构和/或超 ...

  4. python自带超参调优包

    一.bayesian-optimization 安装 pip install bayesian-optimization 前期准备 from sklearn.datasets import make_ ...

  5. ML预测婴儿生存几率 + 超参调优(Train-validation)

    # 加载SqparkSession from pyspark.sql import SparkSession # 加载sql类型 import pyspark.sql.types as typ imp ...

  6. 使用NNI进行自动超参数调优

    使用NNI进行自动超参数调优 有中文文档 NNI (Neural Network Intelligence) 是一个工具包,可有效的帮助用户设计并调优机器学习模型的神经网络架构,复杂系统的参数(如超参 ...

  7. tf.saved_model.save模型导出、TensorFlow Serving模型部署、TensorBoard中的HParams 超参数调优

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 4.11 综合案例:模型导出与部署 学习目标 目标 掌握Ten ...

  8. 超参数调优河伯、组合优化器CompBO,华为诺亚开源贝叶斯优化库

    视学算法报道 编辑:陈萍.杜伟 华为诺亚开源了一个贝叶斯优化的库,该库包含三个部分:河伯.T-LBO.CompBO. 贝叶斯优化可以说是一种黑盒优化算法,该算法用于求解表达式未知函数的极值问题.因其具 ...

  9. 华为诺亚开源贝叶斯优化库:超参数调优河伯、组合优化器CompBO

    ©作者 | 陈萍.杜伟 来源 | 机器之心 华为诺亚开源了一个贝叶斯优化的库,该库包含三个部分:河伯.T-LBO.CompBO. 贝叶斯优化可以说是一种黑盒优化算法,该算法用于求解表达式未知函数的极值 ...

最新文章

  1. php中mkdir()函数的权限问题
  2. struts2请求处理过程源代码分析(1)
  3. 一文看懂神经网络初始化!
  4. 洛谷P4147玉某宫(最大矩阵好题)
  5. HA 高可用之V1版
  6. mysql事务吞吐量_MySQL 5.5和MySQL 5.6的吞吐量测试
  7. macOS彻底卸载/删除Microsoft相关的程序
  8. 赋值给集合_ArrayList集合源码
  9. python实操训练300题_如何练习python?有这五个游戏,实操经验就已经够了
  10. python查看mongo库容量_mongo查看数据库空间大小
  11. 3月22 关于CSS
  12. tensorflow中获取shape的方法比较
  13. KDD数据库知识发现流程
  14. 《旷野游荡的精灵》 一个会写诗的程序员 2019.3
  15. 神奇的泡泡java游戏,神奇的泡泡作文400字
  16. 计算机硬件调查和报价600字,600字调查报告.docx
  17. 计算机文档怎么字符加宽间距,Word2013设置字符间距,如何设置两个字符之间的距离 -电脑资料...
  18. Matlab中的Smith 预估器
  19. 圆周率 java编程_Java编程中实现计算圆周率的方法
  20. DevExtreme UI框架在可视化应用程序Nvisual中的实践应用

热门文章

  1. 老生常谈,joomla wordpress drupal,你该选择哪个CMS?
  2. linux svn使用方法
  3. 鸟哥学习笔记---网络安全基础
  4. 实现影响力的三个核心要素
  5. docker 笔记 (6)搭建本地registry
  6. JSON Web Tokens测试工具
  7. windowsclient开发--为你的client进行国际化
  8. CSS中position属性( absolute | relative | static | fixed )详解
  9. 20155321 实验四 Android程序设计
  10. 第5次作业+105032014166+张珍珍