Optuna

—Stars

面向机器学习与工程系统的自动超参数优化框架,通过可组合的 Sampler、Pruner、分布式 Study 与可视化工具组织搜索过程;GPSampler 使用高斯过程和采集函数,在连续与离散混合空间中选择下一组参数。

BAYESIAN OPTIMIZATION · NUMERICAL CONVERGENCE

没有剩余概率时,就停止追加搜索起点

LogEI 的数学权重仍为正,浮点表示却可能把极小值压成精确零;数值退化应转化为收敛信号,而不是继续执行一次无意义的归一化。

REAL LogEI · DEFAULT GPSAMPLER2,048 Sobol candidates
BEST−108.30SECOND−893.55GAP785.25
exp(f − max(f))

10 local searches · seed 22

BEFORE · UNCONDITIONAL NORMALIZATION
BEST1 → 0OTHERS0 · 0 · 0
probs /= probs.sum()
Σp = 0÷0 / 0
RuntimeWarning → NaN
AFTER · ZERO-SUM CONVERGENCE PATHprobs / sum if sum > 0 else probs
Σp > 0normalizeΣp = 0keep zeros
extra starts0best startKEPT ✓

91 trials complete · no fabricated distribution

下溢故障

非最佳指数权重全部变成零

`optimize_acqf_mixed()` 会把 2,048 个初始候选的 LogEI 值转成轮盘选择概率。接近收敛时,最佳与其余候选的差距可超过浮点指数范围,非最佳权重全部下溢为 `0.0`;最佳点随后也被置零以避免重复选择,概率总和因此精确等于零。旧实现仍执行归一化,产生 `RuntimeWarning` 与整组 `NaN`,并可能让一次正常的 GP 优化试验失败。

概率语义

零和表示没有可抽取的改进候选

零和不是“候选同样好”,而是除最佳点外已经没有可表示的改进权重,因此不能改成均匀分布去人为启动额外局部搜索。现有收敛逻辑本就根据非零概率数量缩减 warm start:只要保留全零向量,后续便会把附加搜索数降为零,并继续使用已经选出的最佳候选。

条件归一化

只在总权重大于零时生成分布

先计算一次 `probs_sum`,仅在它大于零时执行归一化,否则原样保留全零概率;正常的正权重路径完全不变。回归直接构造真实 GP 与 LogEI,使用默认的 2,048 个 Sobol 候选和 10 次局部搜索,并把 `RuntimeWarning` 提升为异常,锁定浮点下溢而非人工伪造的零向量。

默认路径回归

真实 LogEI 的 91 个试验完整结束

默认 `GPSampler` 的 91 个连续试验现在可以完整结束;退化轮盘只保留最佳起点,不再把 `NaN` 概率传给随机选择,普通未收敛场景仍按原分布抽取附加起点。改动集中在 2 个文件,核心逻辑仅改 1 行并新增 33 行回归;GP 测试 297 项、Sampler 测试 14 项通过且 1 项跳过,13 项合并检查全部通过。