FlexHB: a More Efficient and Flexible Framework for Hyperparameter Optimization
FlexHB:更高效灵活的超参数优化框架
https://arxiv.org/pdf/2402.13641v1
摘要
给定一个超参数优化(HPO)问题,如何设计一个算法来高效地找到最优配置?贝叶斯优化(BO)和多保真度BO方法使用代理模型基于历史评估来采样配置。最近的研究表明,通过将BO与HyperBand(HB)结合,可以加速评估过程,从而获得更好的性能,HyperBand通过提前停止机制来加速评估。然而,这些方法忽视了适合的评估方案相对于默认HyperBand的优势,并且BO的能力仍然受到偏斜评估结果的限制。在本文中,我们提出了FlexHB,这是一种新方法,它将多保真度BO推向极限,并重新设计了一个带有连续减半(SH)的提前停止框架。对FlexHB的全面研究表明:(1)我们的细粒度保真度方法显著提高了搜索最优配置的效率,(2)我们的FlexBand框架(自适应分配SH括号,以及当前和过去SH过程中配置的全局排名)赋予算法更大的灵活性,并提高了随时性能。我们的方法在各种HPO任务上实现了卓越的效率,并优于其他方法。实验结果表明,FlexHB可以在最前沿的MFES-HB和BOHB上分别实现高达6.9倍和11.1倍的加速。
引言
随着机器学习成为许多现实世界问题的变革者,超参数优化(HPO)吸引了越来越多的研究兴趣,因为机器学习模型的性能在很大程度上依赖于其超参数的具体设置。因此,HPO方法现在在自动机器学习(AutoML)流程中扮演着关键角色。HPO可能相当计算密集,因为可能需要尝试许多超参数配置才能找到最优解。为了提高HPO算法的效率,研究人员主要关注采样策略和评估方案,即如何生成新配置以及如何评估它们。贝叶斯优化(BO)不是在超参数空间中随机采样,而是使用概率模型来近似配置和最终性能之间的关系,并很快成为一种流行的方法。为了提高计算资源的利用效率,HyperBand框架应运而生,它采用连续减半(SH)的提前停止机制来加速评估。进一步的研究试图采用BO和HyperBand的双重优势。例如,BOHB使用TPE代理模型作为采样策略,并采用HyperBand作为评估方案。HyperBand算法的应用也为多保真度HPO提供了启示。在HyperBand中,低保真度测量(例如,在较低预算上的验证指标)可能不如高保真度测量那么令人信服,但应该有助于调整过程。BOHB忽略了多保真度信息,只使用最高保真度结果来拟合代理。为了解决这个问题,MFES-HB基于多保真度测量拟合了加权集成的代理模型。
然而,这些算法中的采样策略仍然不足以挖掘过去配置中的信息。MFES-HB只考虑了在HyperBand中用于提前停止检查的一些保真度级别。高保真度测量的数量急剧减少,而低保真度测量在相似资源级别上密集收集。因此,提取的多保真度信息仍然有限。我们能否设计一种新的采样策略,更好地利用历史试验中的信息,而不增加相当大的资源成本?
为了评估采样配置,基于HyperBand的方法使用SH作为构建块,它们都受到原始SH本质的影响,错误地停止了一些潜在的良好配置。此外,由于机械地循环固定序列的SH子程序的设计,HyperBand框架天生效率低下,这在处理不同的机器学习问题时根本不灵活。因此,HyperBand(以及SH)可能导致资源浪费,并限制寻找最优配置的速度,需要一种新的评估方案来克服这些缺点。我们能否给提前停止的配置更多的机会?此外,我们能否以更灵活的方式利用SH来加速超参数调整?
基于上述问题的分析,我们提出了一种名为FlexHB的新型HPO算法,它应用了升级版的连续减半(GloSH)和更灵活的框架(FlexBand),而不是HyperBand,并将多保真度HPO推向极限(细粒度保真度)。我们在一系列HPO任务上的实验证明,FlexHB比其他流行方法表现更好。特别是,我们的方法在速度上比BOHB快11.1倍,比MFES-HB快6.9倍,同时实现了极高的效率。
相关工作
机器学习在学术和工业领域的应用取得了巨大进展,这增加了对自动超参数优化(HPO)的需求。在HPO中,基于模型的方法和启发式方法是两种最突出的算法类型。作为典型的基于模型的方法,贝叶斯优化(BO)在调整超参数方面表现出了极高的效率。BO利用概率代理模型来采样新的配置,包括高斯过程(GP)、树形帕尔岑估计器(TPE)、随机森林(RF)和贝叶斯神经网络。启发式方法,如进化策略和基于种群的训练,也引起了研究兴趣,这些方法通过一组试验的进化来搜索更好的配置。
在高维或复杂的超参数空间中进行调整对于使用GP作为代理的普通BO来说可能是一个难题。在这种情况下,像SMAC中的RF这样的不同代理可能是有益的,一些后续研究进一步提出了有效的改进。除了采样最优配置的方法外,还有一些研究集中在终止一些不需要的配置以提高调整效率。在连续减半(SH)中提出了一种可行的提前停止机制。它进一步被HyperBand(HB)继承,并显示出竞争性的效率。基于这一思想,BOHB结合了BO和HyperBand的优势,并很快成为HPO应用中的流行方法。
同时,许多多保真度优化方法试图更好地利用资源更少的低保真度评估(例如,提前停止的配置),这可能有助于近似目标函数,包括FABOLAS、Dragonfly、ABOHB等。MFES-HB在最近的研究中实现了最先进的性能,它为每个保真度构建代理,并使用更新的权重向量来整合来自代理的预测。
预备知识
提出的方法
细粒度保真度方法
带有全局排名的连续减半 对于每个提前停止的保真度级别,SH根据它们的指标对当前配置进行排名并淘汰较差的配置。这种“排名和淘汰”操作存在缺陷,因为: (1) SH在调整过程中通常被多次调用,但它只在当前SH过程中局部比较观察结果(即,在开始轮次中生成的一组配置),忽略了过去SH过程中的配置。 (2) 一旦配置在某个保真度级别上被终止,它就再也没有机会继续使用更多资源。 然而,在当前保真度下表现不佳的配置在未来给予更高预算时可能会变成更好的配置。
图2提供了这个问题的说明。不同保真度级别的评估结果被可视化为热图。在图2a到2d中,我们可以发现超参数空间的上部区域(特别是左上角)是最优区域,而下部区域(特别是左下角)是最差区域。随着资源的增加,配置之间的差异逐渐变得清晰。然而,图2e显示SH在良好区域终止了相当一部分点,同时留下了相当多的左下角点没有提前停止。
为了解决传统SH的不足,我们提出了一种重新设计的SH算法,即带有全局排名的连续减半(GloSH)。在GloSH中,“排名和淘汰”操作同时考虑了当前配置以及相应保真度级别的历史记录,将它们整体排名以选择顶部的配置。通过这样做,运行中的SH过程可以利用所有过去过程的观察结果。值得一提的是,现在被终止的配置有望在后续的SH括号中“复活”,并使用更多资源执行,只要它在排名中名列前茅。
FlexBand:一个灵活的HyperBand框架
尽管有研究旨在异步运行SH括号或改进SH的方法,但在大局上不同初始化的SH的安排仍然是固定的。为了解决这个挑战,我们提出了FlexBand方法,根据HPO的实时结果自适应地分配括号。
为了确定合适的安排,我们关注资源级别实现配置潜力的能力,特别是SH首次提前停止保真度的能力(表1的第一行)。我们诉诸于配置的度量排名。如果在两个保真度级别的排名相似,我们可以期望这两个级别的能力几乎相同。
这种新的评估方案有几个优点:(1) 它继承了HB的优势,并克服了不必要的资源开发的低效率,(2) 它易于实施,(3) 它支持SH的异步执行以促进并行计算。表2显示了由FlexBand生成的SH的安排(R = 81,η = 3)。请注意,在最激进的情况下(表2b),FlexBand产生了一种安排,其中最探索性的括号额外执行一次,而最开发性的括号不再存在,看起来像是HyperBand的“右移”版本。
总结 通过将GloSH、FlexBand和FGF结合到一种方法中,我们得到了一个高效且灵活的HPO框架,称为FlexHB。据我们所知,它是第一个在采样策略中均匀利用配置评估生命周期信息的算法,也是第一个采用专为灵活性设计的类似HyperBand的评估方案的多保真度方法。
实验和结果
我们现在研究我们的方法在各种超参数调整任务上的实证表现,我们的目标是分析FlexHB的效果,主要包括:(1) FlexHB在获得最优配置方面比其他流行的HPO算法更有效。(2) 细粒度保真度方法优于传统的多保真度方法,产生更好的代理集成。(3) GloSH可以克服SH的缺点。(4) FlexBand使用灵活的SH安排优于HyperBand。 实验设置 算法基线我们比较了我们提出的方法与以下HPO算法:(1) RS:用作标准基线的简单随机搜索。(2) SMAC:一种流行的BO实现。(3) Batch-BO:一种并行评估候选的并行化BO方法。(4) HB:原始的HyperBand,随机采样候选配置。(5) BOHB:HyperBand和原始BO的组合。注意BOHB中的代理是基于全保真度测量拟合的。(6) MFES:HyperBand和多保真度BO的组合。(7) TSE:一种多保真度BO方法,采样较小的训练数据子集并利用它们的低保真度测量。(8) BOMS:使用中位数停止的BO,如果候选在某一步的最佳指标比基于历史配置计算的中位数值差,则停止该候选。(9) BOCF:使用曲线拟合方法预测全保真度指标以确定提前停止的BO。 调整任务我们实验中使用的HPO任务主要包括:(1) MLP:在MNIST上调整2层MLP。(2) ResNet:在CIFAR-10上调整ResNet。(3) LSTM:在Penn Treebank上调整2层LSTM。(4) 传统ML模型:在几个分类数据集上调整XGBoost:Covertype、Adult、Pokerhand和Bank Marketing。(5) LCBench:一个公共HPO基准,包含35个OpenML数据集的学习曲线数据。对于MLP、ResNet和XGBoost任务,记录测试集上的分类错误作为验证指标。对于LSTM任务,使用测试困惑度作为指标。一旦达到给定的总时间限制,我们将终止调整(更多细节在附录的表7中)。为了获得令人信服的结果,所有实验都使用不同的随机种子进行了10次。 对于每个HPO实验,我们跟踪调整的墙钟时间(包括配置评估以及采样新超参数的时间成本),并记录迄今为止找到的最佳配置的指标。为了充分展示每个算法的性能,将报告指标的平均值和平均值的标准误差。
MLP任务的HPO性能结果如图3a所示。在所有方法中,FlexHB实现了最佳的随时性能以及最佳的最终指标。更准确地说,为了达到有竞争力的验证误差(≤ 7.4%),FlexHB花费了0.45小时,Batch-BO花费了1.4小时,MFES花费了3.1小时。FlexHB相对于Batch-BO获得了3.1倍的加速,相对于MFES获得了6.9倍的加速。图3b显示了在CIFAR-10上调整ResNet的结果。有些方法如MFES实现了有能力的最终验证误差,但它们未能像我们的方法那样快速收敛到(接近)最优区域。在图3c中,我们通过调整LSTM比较这些方法。我们的方法实现了普遍的随时性能,优于任何其他方法。表3总结了这些方法在神经网络任务上获得的最终指标以及相对于HyperBand的加速(通过比较超过HyperBand收敛指标所用的时间)。我们的方法在所有任务上都比其他比较的算法有显著改进。关于LCBench的更多实验和结果详细在附录C.6中。
图3d显示了在Covertype数据集上调整XGBoost的结果。MFES在调整的早期阶段(前4小时)特别实现了更大的效率,与SMAC、TSE和BOHB相比。1.8小时后,FlexHB超越了所有其他方法,并最终达到了最佳的收敛性能。在不同数据集上调整XGBoost的最终验证误差在表4中展示。
GloSH分析为了研究GloSH的效果,我们在图5中可视化了调整过程中所有提前停止的配置。传统的SH导致在表现最差的区域(左下角)浪费资源。相比之下,GloSH终止了最差区域中的所有配置。通过全局排名,一些提前停止的点在后续的GloSH括号中“复活”,并且GloSH为更好区域(顶部区域)的配置获得了更多的完整保真度测量,这也有助于拟合更好的完整保真度代理。
消融研究
我们还通过在FlexHB中排除一个组件来进行消融研究。例如,“无GloSH”方法使用传统的SH而不是GloSH。我们在表5中比较了最终收敛的指标,收益最大的组件以粗体显示。总之,每个组件都带来了性能上的好处,它们的贡献在不同的问题设置中有所不同。GloSH在MLP任务上的改进较小(20.6%),我们认为这是因为这里的局部和全局排名比其他任务更一致。换句话说,旧的终止候选者很少排名靠前并“复活”,限制了GloSH的好处。消融研究的更多细节可以在附录C.5中找到。
结论
我们介绍了FlexHB,这是一种新的HPO算法,旨在高效地搜索配置和灵活地分配资源。它利用细粒度的保真度信息,并且超越了连续减半和HyperBand的范式。在各种HPO任务上的实验结果表明,与其他竞争方法相比,包括BOHB和MFESHB,FlexHB实现了显著的效率。我们还研究了我们方法中的核心组件,即细粒度保真度、GloSH和FlexBand,展示了它们对超参数调整的好处。
附录
在附录的 A 部分,我们展示了连续减半算法(Successive Halving)和超带算法(HyperBand)的详细伪代码。B 部分提供了所提出的 FlexHB 方法的细节,并对其局限性进行了简要讨论。C 部分包含了使用 FlexHB 和其他超参数优化(HPO)方法的完整实验结果及细节,同时也包括在 LCBench 上的实证结果。
A. 连续减半算法与超带算法
连续减半算法(SH)并不对每个候选配置进行全资源评估,而是选择对部分配置执行 “提前终止”,仅允许一小部分候选配置使用更高成本的资源。连续减半算法中使用的资源(即预算)可通过运行时间、训练轮次、数据样本数量等定义。其伪代码如算法 3 所示。
“按指标排序”(Rank By Metric)将根据候选配置在当前预算下的评估指标进行排序,而 “顶部 K 选择”(Top K)则会挑选出指标最优的 K 个配置。参数 η 的值通常设为 3。
超带算法(HyperBand,HB)通过调用不同初始化的连续减半算法(SH)来解决 “n 与 B/n” 的权衡问题,其伪代码如算法 4 所示。超带算法会持续多次调用连续减半算法,参数 η 的值通常设为 3。
B. FlexHB 的更多细节 B.1 原始多保真度方法与细粒度保真度的对比
本文中我们已展示了原始多保真度方法与细粒度保真度(Fine-Grained Fidelity,FGF)所收集测量值的差异(如图 1 所示)。为充分证明 FGF 的优越性,我们在图 7 中对不同保真度水平下的测量分布进行了全面对比。细粒度保真度方法允许超参数优化(HPO)算法在每个连续减半(SH)括号内收集更多测量值,从而缓解了低保真度与低保真度信息之间的不平衡问题。
B. FlexHB 的更多细节 B.1 原始多保真度方法与细粒度保真度的对比
本文中我们已展示了原始多保真度方法与细粒度保真度(Fine-Grained Fidelity,FGF)所收集测量值的差异(如图 1 所示)。为充分证明 FGF 的优越性,我们在图 7 中对不同保真度水平下的测量分布进行了全面对比。细粒度保真度方法允许超参数优化(HPO)算法在每个连续减半(SH)括号内收集更多测量值,从而缓解了低保真度与低保真度信息之间的不平衡问题。
B.2 FGF中代理的权重 在FGF中计算代理权重与MFES-HB相似,除了最后一个(通常也是最重要的)代理MK,它是基于完整保真度测量拟合的。为了获得MK的合理权重,我们无法使用MFES-HB中提到的“排名损失”,因为MK是直接在DK上训练的,我们需要更好地估计MK的泛化能力。MFES-HB通过引入交叉验证来解决这个问题。首先,在通过移除DK中的第i个测量得到的DK−i数据集上训练|DK|个留一法代理MK−i。然后,MK的交叉验证“排名损失”L'定义为:
B.5 FlexHB的超参数 在表6中,我们总结了我们方法中的超参数以及我们在实验中使用的推荐值。请注意,这里只列出了与BOHB相比额外的超参数(例如,不包括 η)。
B.6 理论讨论 请注意,我们在本节末尾列出了参考文献。
B.7 局限性讨论
FGF 方法需要在非用于早期停止的资源水平上收集测量值,但在某些问题场景中,收集这些中间测量值的成本可能很高。例如,某些机器学习模型由于特定实现方式而无法保存其训练状态。我们观察到的另一个局限性是,GloSH 算法中控制是否选择旧的已停止候选配置的概率因子 λi 对方法性能较为敏感。在实践中,我们凭直觉为更高的保真度水平分配更大的 λ 值,但目前尚不清楚如何预先确定 λi 的最优值,这可能是未来研究的一个有趣方向。最后,元学习(或迁移学习)范式可用于解决 “n 与 B/n 权衡” 问题,其性能可能优于 HyperBand 和 FlexBand 的启发式设计。
C. 实验细节 C.1 实验设置
我们在表 7 中总结了实验设置。每个超参数优化(HPO)任务的详细搜索空间如下:
- 多层感知机(MLP):搜索空间 Ω 包含学习率、学习率衰减、动量、两层神经元数量、批量大小、层输出的丢弃率以及权重衰减(L2 正则化器)。需优化的超参数总数为 9 个。
- 残差网络(ResNet):搜索空间 Ω 包含批量大小、学习率、学习率衰减、动量、权重衰减(L2 正则化器)以及是否使用 Nesterov 动量的选项。需优化的超参数总数为 6 个。
- 长短期记忆网络(LSTM):搜索空间 Ω 包含学习率、批量大小、嵌入维度、隐藏层大小、丢弃率、优化器选择、权重衰减(L2 正则化器)、网络参数初始值范围以及梯度裁剪值。需优化的超参数总数为 10 个。
- XGBoost 任务:搜索空间 Ω 包含 eta(即学习率)、gamma、alpha(权重的 L1 正则化)、lambda(权重的 L2 正则化)、树的最大深度以及 XGBoost 官方实现中使用的其他超参数。需优化的超参数总数为 10 个。
- MLP 任务:不对图像进行额外数据增强,随机划分 20% 的训练集作为验证集。
- ResNet 任务:遵循经典设置,使用 40,000 张图像作为训练集、10,000 张作为验证集,应用随机裁剪和水平翻转作为数据增强。
- LSTM 任务:采用 Penn Treebank 数据集的原始训练 / 测试(验证)集划分。
- XGBoost 实验:在 Covertype、Adult 和 Bank 数据集上随机采样 80% 作为训练集、20% 作为验证集;在 Pokerhand 数据集上采用原始的训练 / 测试(验证)集划分。
- 神经网络任务:细粒度保真度(FGF)间隔 g 等于 η(通常为 3)。
- XGBoost 任务:由于使用训练集的小子集作为资源单位,为减少不必要的时间成本,仅保留 r=1 和 r=6 两个保真度级别。例如,对于 r₀=3、R=27 的 SH 括号,FlexHB 的保真度级别为 r=1,3,6,9,27,其中 r=3 和 r=9 用于早期停止。
对于类似 HyperBand 的算法(包括 BOHB、MFES-HB 和 FlexHB),设置 pr=0.2,即这些方法随机采样 20% 的配置。若 pr=1.0,MFES-HB 和 BOHB 退化为 HyperBand,FlexHB 退化为随机采样策略与 FlexBand(带 GloSH)的组合。
C.2 实验详细结果
表 8 展示了各超参数优化(HPO)方法在 XGBoost 任务中的最终详细指标,图 10 展示了 Pokerhand、Adult 和 Bank 数据集上的调优性能曲线。在 Adult 和 Bank 任务中,MFES 相对于 BOHB 的优势消失,我们将其归因于这些 XGBoost 任务使用训练集的子集作为资源单位,而 Bank 和 Adult 数据集规模不足。因此,低保真度测量(r=1,3,9,分别对应仅向模型输入 3.7%、11.1% 或 33.3% 的数据样本)可能产生偏差,导致代理模型集成质量下降。FlexHB 克服了这一缺陷,获得了最优的最终验证误差。
C.3 二维超参数空间细节
用于调优的二维超参数空间(如图 2 和图 5 所示)通过在 MLP 任务中仅保留两个超参数获得,分别为两个隐藏层的大小。超参数取值范围被设计为 32×32 的空间,具体而言:每个隐藏层的大小在 16 到 528 之间变化,最小间隔为 16。
C.4 虚构玩具基准细节
我们使用一个玩具基准(手动设计的超参数空间)来演示不同方差水平的超参数优化(HPO)任务。该超参数空间为三维,包含三个待调优参数 x、y、z,其取值范围分别为:
如前所述,我们的消融实验方法包括:
(1)无 FGF:采用原始多保真度贝叶斯优化(如 MFES-HB 中所用)作为采样策略,结合 FlexBand 和 GloSH。
(2)无 GloSH:将 FGF 方法与 FlexBand 结合,使用 SH 括号而非 GloSH。
(3)无 FlexBand:将 FGF 方法与 HyperBand 结合,使用 GloSH 括号而非 SH。
我们使用上述方法对 MLP、ResNet 和 LSTM 任务进行调优,详细结果见表 9 和图 11。与其他实验一致,我们进行了 10 次调优,并展示了指标的平均值(和方差)。如图 11a 所示,FGF 对 MLP(MNIST)任务的性能贡献显著,而 FlexBand 尤其在调优初期之后提升了实时性能。对于 LSTM 任务(图 11c),与其他改进相比,GloSH 起到了关键作用。通过结合 FGF、GloSH 和 FlexBand,FlexHB 在所有任务上均比其他任何方法实现了更高的效率。
C.6 LCBench 上的实验
LCBench(Zimmer、Lindauer 和 Hutter,2021)包含 2000 个配置在 35 个数据集上的学习曲线(50 个轮次的训练或验证指标)。在我们的实验中,我们利用每个轮次的验证准确率,超参数优化(HPO)方法被设定为寻找具有最低验证误差的配置(验证误差定义为 1.0 减去验证准确率)。
我们的配置空间如 LCBench 中预先定义的那样。对于类连续减半(SH)的方法(如 HyperBand、BOHB、MFES-HB、FlexHB 等),参数 η 设为 3。对于 FlexHB,细粒度保真度间隔 g 等于 η。我们将资源单位设置为 1 个轮次,R=27。所有实验使用不同的随机种子进行 10 次,并报告指标的均值和均值的标准误差。调优的时间限制为 750 秒,因为通过 LCBench 发布的 API1 检索配置的指标几乎可以即时完成。为了模拟训练真实世界机器学习模型的时间成本,每个轮次被设置为随机等待 0.3 到 0.7 秒来检索指标,因此一个全保真度的候选配置(R=27)需要至少 8.1 秒才能将其最终指标返回给运行中的 HPO 方法。
我们主要在 LCBench 的 6 个数据集上进行 HPO 调优,并在图 13 中总结了 HPO 的性能。FlexHB 排名第一,其次是 MFES-HB、BOHB 和 HB。值得注意的是,在调优的早期阶段(375 秒之前),FlexHB 比其他方法更有可能达到(接近)最优配置区域。总而言之,即使与其他流行方法相比,FlexHB 也实现了极高的效率。
https://arxiv.org/pdf/2402.13641v1
热门跟贴