Optuna v4.5新特性深度解析:GPSampler实现约束多目标优化

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,1000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: Optuna v4.5发布,新增GPSampler对约束多目标优化的支持,结合高斯过程与log EHVI获取函数,显著提升在材料科学、机器学习等领域的黑盒优化效率,减少无效评估,加速收敛。

Optuna在8月18日发布了最近的 v4.5版,加入了GPSampler的约束多目标优化功能,我们来看看这个新的功能。

基于高斯过程的贝叶斯优化(GPBO)最近几年在材料科学、机器学习等领域应用很广。GPSampler最初设计时就想做一个简单好用的GPBO实现。虽然在定制方面(比如核函数、获取函数)没有BoTorch和Ax那么灵活,但GPSampler胜在速度快,依赖少。

早期版本的GPSampler支持的问题类型比较有限,但是经过团队持续改进。v4.2版本加入了不等式约束支持,v4.4版本实现了多目标优化。现在v4.5直接支持约束多目标优化了。

这个功能在很多实际场景中都很有用,比如说:材料科学、机器学习、药物发现这些领域经常需要在物理约束或实验限制下平衡多个目标。Optuna v4.5的约束多目标GPBO直接解决了这个需求,可能会推动相关领域的研究进展。

安装和基本使用

GPSampler需要额外安装几个依赖包:

 $ pip install optuna==4.5.0  

 # scipy和torch对于GPSampler也是必需的。  
 $ pip install scipy  
 $ pip install torch --index-url https://download.pytorch.org/whl/cpu

安装完成后,使用起来很直接:

 import optuna
def objective(trial: optuna.Trial) -> tuple[float, float]:
    x = trial.suggest_float("x", -5.0, 5.0)
    y = trial.suggest_float("y", -5.0, 5.0)
    c = x**2 + y**2 - 4.0
    trial.set_user_attr("c", c)
    return x**2 + y**2, (x - 2) ** 2 + (y - 2) ** 2

def constraints(trial: optuna.trial.FrozenTrial) -> tuple[float]:
    c = trial.user_attrs["c"]
    return (c,)
sampler = optuna.samplers.GPSampler(constraints_func=constraints)
study = optuna.create_study(sampler=sampler, directions=["minimize"] * 2)
 study.optimize(objective, n_trials=100)

多目标优化的技术实现

GPSampler的多目标优化采用了Expected Hypervolume Improvement (log EHVI)的对数形式作为获取函数。这个实现主要基于Daulton等人[1]的方程(1)和Lacour等人[6]的算法2。

几个关键的技术改进都体现在相关的PR中:

PR #6039实现了盒分解算法,大幅提升了超体积改进计算的速度。PR #6052引入了基于准蒙特卡罗的log EHVI实现。PR #6069则在GPSampler中正式加入了多目标优化功能

盒分解算法带来的性能提升相当明显。相比原生的实现,速度提升了6到800倍,让四目标问题的优化变得可行。虽然整体思路和BoTorch的实现接近,但具体实现细节有些不同。

在多目标优化基础上,GPSampler现在可以处理不等式约束了。这部分参考了J. Gardner等人[3]和M. Gelbart等人[4]的方法。

系统同时为目标函数和约束函数建立GP模型,不过暂时忽略了它们之间的相关性。PR #6198实现了约束log EHVI,PR #6224则完成了约束多目标优化的完整支持

约束处理的核心是用Probability of Improvement (PI)来评估候选点的可行性。最终的获取函数就是EHVI和可行性概率的乘积。

性能测试对比

为了验证约束多目标优化的效果,团队做了详细的基准测试。主要对比了几种情况:

一是和不考虑约束的多目标GPSampler比较,看约束处理带来的好处。二是和Optuna中已有的TPESampler、NSGAIISampler对比,这两个也支持约束多目标优化。

测试环境设置

测试问题选择了C2-DTLZ2,这是OptunaHub新加的约束多目标优化基准问题。设置为2个目标,3个变量。

每次优化跑300轮试验,用5个不同随机种子重复测试来计算标准误差。由于C2-DTLZ2是确定性问题(目标函数没有噪声),GPSampler开启了

deterministic_objective=True

选项。

测试机器配置:Arch Linux系统,Intel Core i9-14900HX处理器(24核32线程,最高5.8GHz),Python 3.11.0。

帕累托前沿质量对比

图1展示了不同算法获得的帕累托前沿分布。

图1. 300次试验后C2-DTLZ2问题的获得帕累托前沿。结果显示约束GPSampler(如(a)所示)与无约束GPSampler(如(b)所示)和TPESampler(如(c)所示)相比,有效地减少了不可行区域中的浪费评估(灰色着色),而NSGAIISampler(如(d)所示)在300次试验后仍远未收敛。

约束处理的效果很明显

C2-DTLZ2问题故意在帕累托前沿上设置了不可行区域,专门测试算法处理断开帕累托前沿的能力[5]。虽然不考虑约束也能找到一些帕累托解,但会在不可行区域浪费很多评估次数。

对比约束版GPSampler(图1a)和无约束版本(图1b),约束版本在可行帕累托解(蓝色点)之间产生的不可行观察(灰色点)明显更少。说明约束处理确实起作用了,减少了无效评估。

和其他采样器的比较

相比TPESampler(图1c),GPSampler(图1a)在不可行区域的浪费评估也更少。不过TPESampler在某个目标值接近零的帕累托前沿区域覆盖得更全面一些。

这主要是GP获取函数的特性导致的——倾向于在边界附近过度采样,降低了那些区域的不确定性,但也让进一步探索相邻帕累托前沿变得困难。

NSGAIISampler的表现就比较一般了(图1d),300次试验后还没收敛,找到的最优解很少。

收敛速度分析

图2的可行超体积历史更直观地展示了各算法的收敛表现。

图2. C2-DTLZ2问题[5]的可行超体积历史。实线表示均值,阴影区域表示标准误差,两者都是在具有不同随机种子的五次独立运行中计算的。约束GPSampler(蓝色)与TPESampler(粉色)和NSGAIISampler(黄色)相比,实现了更快的收敛到更高的超体积值,证明了新功能在减少评估成本方面的有效性。

GPSampler的超体积增长曲线很有意思。不到50次试验就达到了TPESampler的最终水平,比NSGAIISampler领先得更多。这种快速收敛对计算成本高的优化问题特别重要——减少函数评估次数就是直接节省时间。

总结

Optuna v4.5的GPSampler约束多目标优化功能确实是个不错的更新。C2-DTLZ2基准测试证明了几点:减少了不可行区域的无效评估,可行超体积收敛比TPESampler和NSGAIISampler都快。

这让Optuna在处理计算昂贵的黑盒优化问题时更有竞争力了。如果你的项目涉及约束多目标优化,值得试试这个新功能。

参考文献

[1] Daulton, S., Balandat, M., and Bakshy, E. Differentiable expected hypervolume improvement for parallel multi-objective Bayesian optimization. In Advances in Neural Information Processing Systems, volume 33, pp. 9851–9864, 2020.

[2] Deb, K., Thiele, L., Laumanns, M., and Zitzler, E. Scalable test problems for evolutionary multi-objective optimization. In Evolutionary Multi-objective Optimization, pp. 105–145. Springer-Verlag, 2005.

[3] Gardner, J., Kusner, M., Zhixiang, W., Weinberger, K., and Cunningham, J. Bayesian Optimization with Inequality Constraints. In Proceedings of the 31st International Conference on Machine Learning, volume 32, pp. 937–945. PMLR, 2014.

[4] Gelbart, M. A., Snoek, J., and Adams, R. P. In Proceedings of the 30th Conference on Uncertainty in Artificial Intelligence, pp. 250–259. AUAI Press, 2014.

[5] Jain, H., and Deb, K. An Evolutionary Many-Objective Optimization Algorithm Using Reference-Point Based Nondominated Sorting Approach, Part II: Handling Constraints and Extending to an Adaptive Approach. In IEEE Transactions on Evolutionary Computation, 18(4):602–622, 2014.

[6] Lacour, R., Klamroth, K., and Fonseca, CM. A box decomposition algorithm to compute the hypervolume indicator. Computers & Operations Research, volume 79, pp. 347–360, 2017.

https://avoid.overfit.cn/post/2223f043ade548cc8a33494b8eae6331

作者:Kaito Baba

目录
相关文章
|
2月前
|
机器学习/深度学习 数据可视化 数据挖掘
香烟品牌识别和规格识别设计思路
基于YOLOv8实现香烟品牌与规格(条装/单盒装)识别,采用“品牌+规格”组合为60类的复合类别方案,结合充足标注数据(每类300-500张)、数据增强与反例优化,进行端到端联合训练,提升模型在复杂场景下的检测与分类精度。
|
2月前
|
存储 并行计算 调度
迈向可编程观测:在GPU Kernel中构建类eBPF风格的性能探针
本文旨在梳理作者学习路径,带领读者共同探索 GPU Kernel 性能分析从宏观到微观的技术演进。
533 24
迈向可编程观测:在GPU Kernel中构建类eBPF风格的性能探针
|
2月前
|
机器学习/深度学习 人工智能 资源调度
大语言模型的核心算法——简要解析
大语言模型的核心算法基于Transformer架构,以自注意力机制为核心,通过Q、K、V矩阵动态捕捉序列内部关系。多头注意力增强模型表达能力,位置编码(如RoPE)解决顺序信息问题。Flash Attention优化计算效率,GQA平衡性能与资源消耗。训练上,DPO替代RLHF提升效率,MoE架构实现参数扩展,Constitutional AI实现自监督对齐。整体技术推动模型在长序列、低资源下的性能突破。
294 8
|
2月前
|
机器学习/深度学习 算法 数据可视化
从零开始训练推理模型:GRPO+Unsloth改造Qwen实战指南
推理型大语言模型兴起,通过先思考再作答提升性能。本文介绍GRPO等强化学习算法,详解其原理并动手用Qwen2.5-3B训练推理模型,展示训练前后效果对比,揭示思维链生成的实现路径。
297 2
从零开始训练推理模型:GRPO+Unsloth改造Qwen实战指南
|
18天前
|
机器学习/深度学习 算法 前端开发
别再用均值填充了!MICE算法教你正确处理缺失数据
MICE是一种基于迭代链式方程的缺失值插补方法,通过构建后验分布并生成多个完整数据集,有效量化不确定性。相比简单填补,MICE利用变量间复杂关系,提升插补准确性,适用于多变量关联、缺失率高的场景。本文结合PMM与线性回归,详解其机制并对比效果,验证其在统计推断中的优势。
434 11
别再用均值填充了!MICE算法教你正确处理缺失数据
|
21天前
|
人工智能 自然语言处理 安全
氛围编程陷阱:为什么AI生成代码正在制造大量"伪开发者"
AI兴起催生“氛围编程”——用自然语言生成代码,看似高效实则陷阱。它让人跳过编程基本功,沦为只会提示、不懂原理的“中间商”。真实案例显示,此类项目易崩溃、难维护,安全漏洞频出。AI是技能倍增器,非替代品;真正强大的开发者,永远是那些基础扎实、能独立解决问题的人。
117 11
氛围编程陷阱:为什么AI生成代码正在制造大量"伪开发者"
|
2月前
|
边缘计算 人工智能 算法
AI在智慧能源管理中的边缘计算应用
AI在智慧能源管理中的边缘计算应用
107 13
|
2月前
|
传感器 机器学习/深度学习 人工智能
当AI遇上智慧能源:边缘计算才是“节能王炸组合”
当AI遇上智慧能源:边缘计算才是“节能王炸组合”
212 13
|
2月前
|
人工智能 Cloud Native 安全
超前探展!2025 云栖大会朋友圈晒图必备
2025 云栖大会设置人工智能+、计算、前沿应用三大主题馆,围绕云计算与 AI,全景式呈现展示 AI 时代云计算最新技术形态与产品进展。在计算馆,阿里云将集中展示从芯片到平台的全栈技术能力。观众可以了解到阿里云在超大规模集群、分布式训练、异构资源管理、推理加速等方面的软件能力,也能首次接触到面向推理和智能体需求的新一代硬件。如果你也一样,关注 AI 原生应用的创新和落地~请直奔计算馆 -「云原生 AI 应用开发」特展 !
|
2月前
|
存储 人工智能 数据可视化
从零构建能自我优化的AI Agent:Reflection和Reflexion机制对比详解与实现
AI能否从错误中学习?Reflection与Reflexion Agent通过生成-反思-改进循环,实现自我优化。前者侧重内容精炼,后者结合外部研究提升准确性,二者分别适用于创意优化与知识密集型任务。
349 9
从零构建能自我优化的AI Agent:Reflection和Reflexion机制对比详解与实现