Optuna 4.0发布,新增功能与性能优化,特别是在多目标超参数优化上显著提升。
原文标题:Optuna发布 4.0 重大更新:多目标TPESampler自动化超参数优化速度提升显著
原文作者:数据派THU
冷月清谈:
怜星夜思:
2、多目标TPESampler的速度提升对机器学习项目有哪些潜在影响?
3、你认为哪些场景更适合利用Optuna进行多目标优化?
原文内容

来源:Deephub Imba本文约2200字,建议阅读5分钟
本文介绍了Optuna这个备受欢迎的超参数优化框架在近期发布了其第四个主要版本。
-
10,000+ GitHub星标
-
每月300万+ 下载量
-
16,000+ 代码库使用
-
5,000+ 论文引用
-
18,000+ Kaggle的code使用

-
用户间功能共享: 引入OptunaHub平台,便于共享新的采样器和可视化算法。
-
优化生成式AI和多样化计算环境:
-
正式支持Artifact Store,用于管理生成的图像和训练模型。
-
稳定支持NFS的JournalStorage,实现分布式优化。
-
核心功能增强:
-
多目标TPESampler的显著加速
-
新Terminator算法的引入
主要新特性
OptunaHub: 功能共享平台

Artifact Store: 增强实验管理
-
生成式AI输出的文本、图像和音频文件
-
深度学习模型的大型快照文件

JournalStorage: 支持NFS分布式优化
import optuna from optuna.storages import JournalStorage from optuna.storages.journal import JournalFileBackend
def objective(trial: optuna.Trial) -> float:
…
storage = JournalStorage(JournalFileBackend(“./journal.log”))
study = optuna.create_study(storage=storage)
study.optimize(objective)
新Terminator算法
约束优化增强
-
study.best_trial和study.best_trials现在保证满足约束条件
-
核心算法(如TPESampler和NSGAIISampler)对约束优化的支持得到改进
多目标TPESampler的加速
-
更高的样本效率,特别是在1000-10000次试验的范围内
-
能够处理动态搜索空间
-
支持用户定义的类别距离
性能提升
-
三目标优化场景下,200次试验的速度提高了约300倍
-
能够高效处理数千次试验的多目标优化
-
WFG(加权超体积增益)计算
-
非支配排序
-
HSSP(超体积子集选择问题)
TPESampler的工作原理
-
将观察到的试验分为非支配解和支配解两组
-
为每个参数构建两个概率分布:一个基于非支配解,另一个基于支配解
-
使用这些分布来指导下一个试验点的选择,倾向于选择可能产生非支配解的参数值
使用TPESampler进行多目标优化示例
import optuna
def objective(trial):
x = trial.suggest_float(“x”, -5, 5)
y = trial.suggest_float(“y”, -5, 5)
objective_1 = x2 + y2
objective_2 = (x - 2)**2 + (y - 2)**2
return objective_1, objective_2
sampler = optuna.samplers.TPESampler()
study = optuna.create_study(sampler=sampler, directions=[“minimize”, “minimize”])
study.optimize(objective, n_trials=100)
基准测试结果
-
Ubuntu 20.04
-
Intel Core i7-1255U CPU
-
Python 3.9.13
-
NumPy 2.0.0


-
Optuna 4.0中双目标优化性能接近单目标优化
-
三目标优化在200次试验时,运行时间从约1,000秒减少到约3秒
-
新版本在3-5个目标的情况下仍保持高效
TPESampler vs. NSGAIISampler
-
大规模优化:在1000-10000次试验的范围内,TPESampler通常表现更好
-
复杂搜索空间:对于具有条件参数或动态搜索空间的问题,TPESampler更为灵活
-
高维参数空间:TPESampler在处理高维参数空间时通常更有效
结论与展望
-
扩展问题设置的适用范围
-
通过OptunaHub支持更多创新算法
-
进一步优化性能和用户体验
-
改进TPESampler和其他采样器在更广泛场景下的性能