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

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

2025-06-16 05:23:57作者:农烁颖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 在自动化机器学习、实验设计和参数优化等领域的应用边界,为研究人员和工程师提供了更加强大且易用的工具。

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

项目优选

收起
atomcodeatomcode
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get Started
Rust
438
78
docsdocs
暂无描述
Dockerfile
690
4.46 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
407
326
pytorchpytorch
Ascend Extension for PyTorch
Python
549
671
kernelkernel
deepin linux kernel
C
28
16
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.59 K
925
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
955
930
communitycommunity
本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息
650
232
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.08 K
564
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
C
436
4.43 K