异方差演化贝叶斯优化(Heteroscedastic evolutionary bayesian optimisation, HEBO)算法是华为诺亚实验室提出的优化算法框架。该算法击败NVIDIA,IBM等赢得了AI国际顶会NeurIPS 2020的黑盒优化竞赛冠军(https://bbochallenge.com/leaderboard)。该算法提出了对代理模型和最大化获取函数的非常规修改,并显示了这种组合优于Bayesmark包提供的所有基线。
黑盒优化算法
黑盒优化问题中的目标函数的表达式未知,只能根据离散的自变量取值得到对应的目标函数值来更新取值。除了AutoML和超参数优化以外,黑盒优化在分子设计、材料科学、电厂调试、数据中心冷却、芯片设计等问题上也有着大量应用。
一般黑盒优化算法需要经过特定步骤实现优化迭代过程,如下图所示:
黑盒优化最关键的问题
在研究过程中,研究者发现黑盒优化中最关键的两个问题是:
在步骤1拟合代理模型阶段,通常会用高斯模型来作为代理模型,首先获得输入数据集,假设一个高斯模型为代理模型,用数据去拟合这个代理模型,如下图所示:
但是输入的数据通常是具有噪声的,不符合高斯分布。
在步骤2最大化采集函数阶段,贝叶斯优化中通用的采集函数有EI(Expected Improvement)、PI(Probability of improvement)、UCB(Upper Confidence Bound),采集函数如下图所示:
他们都能帮助下一步在黑盒函数中评估哪些点,但是目前还不清楚在不同任务时哪个最有效,那如何根据不同的任务选择采集函数。
HEBO解决优化的关键问题
为了解决问题一,HEBO在采用贝叶斯优化中常用的高斯过程模型(Gaussian process, GP)作为代理模型的同时,还解决非平稳目标问题,引入输入扭曲以及power变换。
对每个输入使用Kumaraswamy分布的累积分布函数,公式和效果图如下所示下图所示:
对输出的变量使用power变换,使得输出的数据更好地近似于高斯分布,公式和效果图如下图所示:
为了解决问题二,研究者提出了MACE(Multi-objective ACquisition function Ensemble),将贝叶斯优化中通用的EI、PI、UCB采集函数进行聚合,在这三种采集函数的帕累托前沿上进行采样,一方面避免单一采集函数的通用性问题,另一方面支持并行探索。如下图所示:
HEBO相对于以前最先进的TuRBO(发表于NeurIPS 2019)算法分数提高了5.17%,是与前5名竞争对手之间差异最大的算法,所以它以非常大的优势获胜。下面是比赛结果的截图:
-
目前HEBO-MindSpore已经在github上开源:
https://github.com/huawei-noah/noah-research/tree/mindspore/HEBO_mindspore
-
也可以直接在pypi网站下载安装:
https://pypi.org/project/HEBO-mindspore/
-
你可以在这里下载文章链接:
https://arxiv.org/abs/2012.03826
MindSpore官方资料
官方QQ群 : 486831414
官网:https://www.mindspore.cn/
Gitee : https : //gitee.com/mindspore/mindspore
GitHub : https://github.com/mindspore-ai/mindspore
论坛:https://bbs.huaweicloud.com/forum/forum-1076-1.html