简化从实验到生产的周期是现代机器学习应用中最难实现的事情之一。在市场上的深度学习框架中,Facebook 孵化的 PyTorch 因其快速建模和运行实验的灵活性,从而成为数据科学界的宠儿。然而,深度学习应用实验的许多挑战超出了特定框架的能力。数据科学家评估不同模型或超参数配置的能力,通常会受到运行这些实验所需的昂贵计算资源和时间的阻碍。几个月前,Facebook 开源了两个新工具,旨在简化 PyTorch 应用中的自适应实验:
这两个工具的目标是降低 PyTorch 开发人员的进入壁垒,以便能够进行快速实验,从而为特定问题找到最佳模型。Ax 和 BoTorch 都是基于概率模型,简化了机器学习问题中对给定环境的探索。然而,这两个框架针对的是实验问题空间的不同维度。
BoTorch
BoTorch 是构建在 PyTorch 之上的贝叶斯优化(Bayesian Optimization)库。贝叶斯优化的目标是在资源有限的情况下找到问题的最优解。贝叶斯优化通常应用于机器学习算法的超参数优化、A/B 测试等黑盒优化问题,以及许多科学和工程问题。
贝叶斯优化问题试图在无需获得 $f$ 的函数形式的情况下,使一些昂贵的、难以评估的黑盒函数 $f$ 最大化。在这种情况下,优化技术在一系列测试点上对 $f$ 进行评估,以期在少量评估后确定一个接近最优的值。为了优化 $f$ 实现这一目标,贝叶斯优化方法需要一种外推信念的方法,即在我们尚未评估的点上,$f$ 看起来是什么样子的。在贝叶斯优化中,这被称为代理模型。重要的是,代理模型应该能够量化其预测的不确定性,其形式是函数值 $f(x)$ 在点 $x$ 上的后验概率。
Comments