对于超参数调整,粒子群优化优于贝叶斯优化的优势?


18

关于贝叶斯优化(1)的大量当代研究用于调整ML超参数。此处的驱动动机是,需要最少数量的数据点来做出明智的选择,以选择值得尝试的点(目标函数调用价格昂贵,因此减少选点会更好),因为训练模型会占用大量时间-适度我正在处理的大型SVM问题可能需要几分钟到几个小时才能完成。

另一方面,Optunity是一个粒子群实现,可以解决同一任务。我对PSO并不十分熟悉,但是在要求更多的试验点和目标函数评估来评估超参数表面的意义上,PSO的效率似乎必须较低。

我是否错过了使PSO在机器学习环境中优于BO的关键细节?还是在针对超参数调整任务的两个始终固有的上下文之间进行选择?


(1)Shahriari等人,“将人类带出循环:贝叶斯优化理论综述”。


不需要渐变。具有间断性。中等效率。处理几个尺寸。处理噪音很好。具有估算器的内置鲁棒性。
EngrStudent-恢复莫妮卡

@EngrStudent您可以说关于BO的所有事情,除了BO看起来更有效,因为它需要较少的函数求值,至少在我看来。我并不是在一般地询问PSO,而是在询问其相对于BO的优点。
Sycorax说恢复莫妮卡

1
对这个主题的教育不足以使之成为一个明确的答案,但是我认为贝叶斯优化的命运应该与最高效的优化器(具有高度多模态问题)相同(参见:95%的机器学习问题):归零最接近的局部最小值,而不会“调查”全局空间。我认为,粒子群算法能更好地找到非局部最小值。
Cliff AB

2
很抱歉我迟到了聚会,不确定我这么久以来如何忽略了关于机会的问题!:-)
马克·克莱森

1
我必须承认@MarcClaesen,我希望您能找时间回复。是否迟到,我想我们都为您的到来感到高兴。
Sycorax说恢复Monica

Answers:


25

作为Optunity的首席开发人员,我将加两分钱。

我们已经针对现实世界的问题将Optunity与最受欢迎的贝叶斯求解器(例如hyperopt,SMAC,bayesopt)进行了比较广泛的基准测试,结果表明,在许多实际情况下,PSO的效率并不低。在我们的基准测试(包括在各种数据集上调整SVM分类器)中,Optunity实际上比hyperopt和SMAC更有效,但比BayesOpt效率稍低。我想在这里分享结果,但是我要等到Optunity 最终在JMLR中发布(正在审查一年多,所以请不要屏住呼吸……)。

正如您所指出的,提高效率是贝叶斯优化的常用卖点,但实际上,只有在基本替代模型的假设成立的情况下,提高效率才是可行的。在我们的实验中,就功能评估的数量而言,Optunity的非常简单的PSO求解器通常与复杂的贝叶斯方法具有竞争优势。如果贝叶斯解算器具有良好的先验条件,则其工作效果很好,但是在没有先验信息的情况下,就效率而言,与PSO等元启发式方法相比,实际上没有结构上的好处。

PSO的一大卖点是它令人尴尬地平行。贝叶斯优化由于其固有的顺序特性(hyperopt的实现是唯一的实际例外),通常很难并行化。有了分发的机会(这已成为一种常态),Optunity迅速在挂钟时间中取得领先,以获得良好的解决方案。

Optunity与大多数其他专用超参数优化库之间的另一个主要区别是目标受众:Optunity具有最简单的界面,并且针对非机器学习专家,而大多数其他库需要对贝叶斯优化有一定的了解才能有效使用(即,它们是针对专家)。

我们创建该库的原因是,尽管存在专用的超参数优化方法,但它们在实践中仍未得到采用。大多数人还是根本不调整,手动调整或通过诸如网格或随机搜索之类的幼稚方法进行调整。我们认为,这样做的一个关键原因是,在开发Optunity之前,现有的库在安装,文档,API方面太难使用,并且通常仅限于单个环境。


4
告知我们我们将获得的答案!我很好奇:您说PSO解算器与贝叶斯优化方法相比具有竞争力。难道就是说并行运行的 PSO 比顺序运行的 Bayseian Optimization快?并不是要刻薄,但这是我理解的重要区别。
Cliff AB'3

2
不,两者都按顺序运行。在我们的实验(调整SVM)中,PSO和贝叶斯优化的效率在功能评估数量方面具有竞争力。我们没有比较分布式环境下的挂钟时间效率,因为很多贝叶斯优化方法根本无法做到这一点,所以这笔费用便宜。
Marc Claesen'3

那很有意思。有什么想法吗?超参数表面不稳定?
Cliff

3
我认为有几个原因。首先,超参数曲面具有很多局部最优值(例如,由于有限的样本效应,交叉验证折叠,某些学习方法中固有的随机性)。其次,贝叶斯优化依赖于建立准确的替代目标函数,在目标函数被多次采样之前,这并不是一件容易的事。贝叶斯优化需要一段时间才能加快收敛速度​​(通常会省略细节)。到那时,像PSO这样的元启发式方法也已经到达其本地搜索阶段。PSO 非常擅长本地搜索。
Marc Claesen'3

4
+1是一个很好的答案。我已经构建了自己的BO软件,目前我必须承认这主要是一个虚荣项目,因此我了解BO过程的细节。我很高兴可以开始了解超参数调整世界中正在发生的其他事情。您对朴素方法的评论确实让我耳目一新,因为我较早的朴素调整程序中的一个已经对模型进行了一周的调整,而且还没有结束...谢谢您的贡献,我敢肯定,一旦我消化了更多的问题。
Sycorax说恢复Monica

0

答案取决于问题,并且没有其他上下文也无法给出答案。通常,答案如下。贝叶斯优化更适合于低维问题,其计算预算高达变量数量的10倍至100倍。对于更大的预算,PSO可能非常有效,但在其利基市场中却不是最新技术。


评论不作进一步讨论;此对话已转移至聊天
gung-恢复莫妮卡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.