首页
/ BoTorch v0.13.0 版本发布:强化贝叶斯优化与高斯过程建模能力

BoTorch v0.13.0 版本发布:强化贝叶斯优化与高斯过程建模能力

2025-06-16 09:50:39作者:农烁颖Land

BoTorch 是基于 PyTorch 的贝叶斯优化库,专注于提供高效的优化算法和高斯过程建模工具。最新发布的 v0.13.0 版本带来了一系列重要更新,包括网站升级、新模型引入以及多项功能增强,进一步提升了其在自动机器学习(AutoML)和实验设计等领域的应用价值。

网站升级与用户体验优化

本次版本对 BoTorch 官方网站进行了全面升级,采用了 Docusaurus v3 框架,并将 API 参考文档迁移至 ReadTheDocs 平台。这一改进显著提升了文档的可读性和访问速度。特别值得一提的是,教程部分新增了"在 Colab 中打开"选项,用户可以直接在 Google Colab 环境中运行和修改教程代码,大大降低了学习门槛。

新增高斯过程模型

1. RobustRelevancePursuitSingleTaskGP 模型

该模型通过自适应识别异常值并利用贝叶斯模型选择,提供了一种鲁棒的高斯过程建模方法。其核心思想是在建模过程中自动检测并处理异常数据点,同时通过贝叶斯方法选择最优模型结构,特别适用于存在噪声或异常值的实验数据场景。

2. LatentKroneckerGP 模型

针对部分观测网格数据(如超参数优化中部分完成的学习曲线)的建模需求,LatentKroneckerGP 提供了一种高效的解决方案。该模型利用 Kronecker 结构实现计算效率的提升,能够有效处理大规模但部分观测的数据集,在 AutoML 应用中表现出色。

3. MAP-SAAS 模型

MAP-SAAS(Sparse Axis-Aligned Subspace)模型采用稀疏轴对齐子空间先验,通过最大后验概率(MAP)估计进行模型拟合。这种方法特别适用于高维输入空间中只有少量维度真正影响输出的情况,能够自动识别相关特征,提高模型解释性。

功能增强与优化

混合空间优化

新增的 optimize_acqf_mixed_alternating 函数支持在混合离散和连续空间中进行优化,为实际问题中常见的混合参数类型提供了更灵活的优化方案。该函数采用交替优化策略,在离散和连续空间之间迭代搜索最优解。

输入输出变换增强

  • BatchBroadcastedTransformList:支持将输入变换列表广播到批量形状上
  • InteractionFeatures:新增交互特征输入变换
  • StratifiedStandardize:分层标准化输出变换
  • Normalize 变换新增 center 参数,提供更灵活的数据标准化选项

采样与优化改进

  • 更高效的 KroneckerMultiTaskGP 采样实现
  • initialize_q_batch 方法现在同时返回候选点和对应的获取函数值
  • 支持在 get_optimal_samplesoptimize_posterior_samples 中使用后验变换
  • 改进了离散优化中的约束处理和避免点支持

兼容性与性能优化

v0.13.0 版本要求 GPyTorch 1.14 和 linear_operator 0.6 作为依赖项。同时移除了对 Anaconda 官方包的支持,并更新了优化例程以更好地支持新版 SciPy。特别值得注意的是,minimize_with_timeout 现在使用 threadpoolctl 来防止 CPU 过度分配,提高了多线程环境下的稳定性。

弃用功能

  • 移除了 HeteroskedasticSingleTaskGP 模型
  • 不再支持 FixedNoiseDataset
  • 移除了对传统格式非线性约束的支持
  • 在信息论获取函数中移除了 maximize 选项

应用前景

本次更新使 BoTorch 在以下几个方面展现出更强的应用潜力:

  1. 鲁棒优化:新增的 RobustRelevancePursuit 模型使贝叶斯优化在存在异常值的场景中更加可靠。
  2. 高效建模:LatentKroneckerGP 和 MAP-SAAS 模型分别针对部分观测数据和高维稀疏问题提供了高效解决方案。
  3. 用户体验:网站升级和 Colab 集成显著降低了新用户的学习曲线。
  4. 灵活性:混合空间优化和增强的变换功能使框架能适应更复杂的问题设置。

这些改进共同推动了 BoTorch 在自动化机器学习、实验设计和参数优化等领域的应用边界,为研究人员和工程师提供了更加强大且易用的工具。

登录后查看全文
热门项目推荐