购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4 超参数调优

2.3节中提到了模型的参数和超参数的概念。超参数指的是模型参数(权重)之外的其他参数,比如深度学习模型训练时控制梯度下降速度的学习率,以及在决策树中控制分支数量的参数。超参数通常可以分为以下两类:

● 模型:神经网络的设计,如网络的层数、卷积神经网络的核大小以及决策树的分支数量等。

● 训练和算法:学习率、批量大小等。

2.4.1 搜索算法

确定这些超参数的方式是开启多个试验(Trial),每个试验测试超参数的某个值,然后根据模型训练结果的表现来选择最优参数,这个过程称为超参数调优。寻找最优超参数的过程可以手动进行,但手动方法费时费力,效率低下,因此业界提出了一些自动化方法。常见的自动化搜索方法有网格搜索、随机搜索和自适应迭代式搜索。图2.9展示了在二维搜索空间中进行超参数搜索的情况,每个点代表一种超参数组合,颜色越暖表示性能越好。迭代式算法从初始点开始,后续试验依赖之前试验的结果,最终向性能较好的方向收敛。

图2.9 在二维搜索空间中进行超参数搜索

● 网格搜索(Grid Search):网格搜索是一种穷举搜索方法,它通过遍历所有可能的超参数组合来寻找最优解,这些组合会逐一用于训练和评估模型。网格搜索简单直观,但当超参数空间非常大时,计算成本会急剧增加。

● 随机搜索(Random Search):随机搜索不是遍历所有可能的组合,而是从解空间中随机选择超参数组合进行评估。这种方法的效率通常高于网格搜索,因为它不需要评估所有可能的组合,而是通过随机抽样来探索参数空间。随机搜索尤其适用于超参数空间非常大或维度很高的情况,它可以在较少的尝试中发现性能良好的超参数配置。然而,由于随机性的存在,随机搜索可能会错过一些局部最优解,因此可能需要更多的尝试次数以确保找到一个好的解。

● 自适应迭代式(Adaptive):自适应迭代式超参数搜索技术中最知名的是贝叶斯优化(Bayesian Optimization)。贝叶斯优化基于贝叶斯定理,利用概率模型来指导搜索最优超参数。这种方法的核心思想是构建一个贝叶斯模型,通常是高斯过程(Gaussian Process),来近似评估目标函数的未知部分。贝叶斯优化能够在有限的评估次数内,智能地选择最有希望的超参数组合进行尝试,特别适用于计算成本高昂的场景。

超参数调优是一种黑盒优化过程。所谓黑盒优化,是指目标函数被视为一个黑盒,我们只能通过观察它的输入和输出来推断它的行为。虽然黑盒的概念可能有些难以理解,但可以与梯度下降算法进行比较。梯度下降算法不是一种黑盒优化算法,因为它能够获得目标函数的梯度(或其近似值),并利用这些梯度信息来指导搜索方向,从而找到目标函数的(局部)最优解。与此不同,黑盒优化算法通常无法获得目标函数的数学表达式或它的梯度,因此无法应用基于梯度的优化技术。

贝叶斯优化、遗传算法、模拟退火等都是常见的黑盒优化方法。这些算法在超参数的搜索空间中选择一些候选解,运行目标函数以评估这些超参数组合的实际性能。基于这些实际性能的反馈,算法会不断迭代调整超参数,重复上述过程,直至满足终止条件。

贝叶斯优化是一种基于贝叶斯定理的优化方法,这里不深入讨论其详细的数学公式。简而言之,贝叶斯优化首先需要在搜索空间中获取若干观测样本点的实际性能数据,以构建一个概率模型。该模型用于描述每个超参数在不同取值点上模型性能指标的均值和方差。其中,均值代表该点的期望效果,均值越大,表明模型在该点的性能指标越高;方差则表示该点的不确定性,方差越大,说明该点的不确定性越高,因此更值得进一步探索。

图2.10展示了一维超参数搜索空间中迭代三步的过程。虚线表示目标函数的真实值,而实线代表预测值(或称为后验概率分布的均值)。实线上下的蓝色区域表示置信区间。贝叶斯优化利用高斯过程回归,即认为目标函数是由一系列观测样本点构成的随机过程,并通过高斯概率模型来描述这一随机过程的概率分布。

贝叶斯优化通过持续收集新的观测样本点来更新目标函数的后验分布,直至该后验分布与真实分布基本吻合。如图2.10所示,在进行第三次迭代之前,仅有两个观测样本点。随着第三次和第四次迭代的进行,新增的观测样本点使得这些点附近的预测值逐渐逼近真实值。

贝叶斯优化有以下两个核心概念:

● 代理模型(Surrogate Model):代理模型拟合观测值,预测实际性能,可以理解为图中的实线。

● 采集函数(Acquisition Function):采集函数用于选择下一个采样点,它使用一些方法衡量每一个点对目标函数优化的贡献,可以理解为图中橘黄色的线。

图2.10 使用贝叶斯优化进行一些迭代后,如何选择下一个点(扫描图上的二维码查看彩图)

为防止陷入局部最优,采集函数在选取下一个取值点时,应该既考虑利用(Exploit)那些均值较大的,又探索(Explore)那些方差较大的点,即在利用和探索之间寻找平衡。例如,若模型训练非常耗时,有限的计算资源只能再运行1组超参数,则应该选择均值较大的点,因为这样能选到最优结果的可能性最高;如果计算资源允许运行上千次,则可以多探索不同的可能性。在图2.10的例子中,第3次迭代和第2次迭代都在第2次迭代的观测值附近选择新的点,体现了在探索和利用之间的平衡。

相比网格搜索和随机搜索,贝叶斯优化并不容易并行化,因为它需要先运行一些超参数组合,并获取相应的实际观测数据。

2.4.2 调度器

1.连续减半算法

连续减半算法(Successive Halving Algorithm,SHA) [5] 的核心思想非常简单,如图2.11所示。

(1)SHA首先为每个超参数组合分配一定的计算资源。

(2)训练这些超参数组合并评估其结果。

(3)选出表现较好的超参数组合进入下一轮训练,而性能较差的超参数组合则提前终止。

(4)在下一轮中,每个超参数组合的计算资源根据一定策略予以增加,即增加计算资源额度。

图2.11 SHA算法示意图:优化某指标的最小值

计算资源额度(Budget)可以是训练的迭代次数或训练样本数量等。更确切地说,在每轮SHA中,丢掉 的超参数组合,留下 的超参数组合进入下一轮,且每个超参数组合在下一轮中的计算资源额度增加为原来的 η 倍。

例如,在表2.1中,每轮总的计算资源为 B ,且总共有81个超参数组合。第一轮中,每个试验能分配到 的计算资源;假设 η 为3,只有 的试验能够进入下一轮。经过5轮后,最终会选拔出最优的超参数组合。

表2.1 使用SHA算法,每个试验所能分配到的计算资源

在SHA中,需要等待同一轮中所有超参数组合训练完毕并评估出结果后,才能进入下一轮。在第一轮中,可以并行执行多个试验,但随着进入后续轮次,试验数量越来越少,并行度也随之降低。ASHA(Asynchronous Successive Halving Algorithm)对SHA进行了优化,ASHA算法不需要等某一轮的训练和评估结束才选出下一轮入选者,而是在当前轮次进行的同时,动态选出可以提升到下一轮的超参数组合。前一轮的训练评估与下一轮的训练评估是同步进行的。

SHA和ASHA的一个主要假设是,如果一个试验在初期表现良好,那么它在更长的时间内也会表现良好。然而,这个假设显然不够严谨,一个反例是学习率:较大的学习率在短期内可能会比较小的学习率表现得更好,但从长期来看,较大的学习率不一定是最优的。SHA调度器可能会误将较小的学习率的试验过早终止。为了避免潜在的优质试验被提前终止,需要在第一轮中为每个试验分配更多的计算资源。但由于总的计算资源额度( B )有限,因此一种折中方式是减少超参数组合的数量,即选择较小的 n 值。

2.HyperBand

SHA/ASHA等算法面临着 n 相互平衡的问题:如果 n 过大,每个试验所能分到的资源有限,可能导致优质试验过早终止;如果 n 过小,可选择的搜索空间变窄,又可能错过优质试验。HyperBand算法在SHA的基础上提出了一种对冲机制。HyperBand类似于金融投资组合,使用多种金融资产来对冲风险。它的初始轮次中 n 不是固定值,而是有多个可能的 n 值。

如图2.12所示,HyperBand算法实现中使用了两层循环。内层循环直接调用SHA算法,外层循环尝试不同的 n 值,每种可能的 n 对应一个 s 。HyperBand额外引入了变量 R ,表示某个超参数组合所能分配的最大计算资源额度, s max 代表所有可能的情况,可以通过以下公式计算: ;由于引入了 R ,此时总的计算资源 B ( s max 1) R ,其中加1是因为 s 从0开始计算。

图2.12 HyperBand算法

图2.13展示了一个例子:横轴表示外层循环,共有5种可能性(0~4)。初始的超参数组合数量 n 和每个超参数组合可获得的计算资源 n 共同构成一个组合(Bracket)。纵轴表示内层循环,对于某一初始的Bracket,执行SHA算法,并持续迭代直到选出最优的试验。

3.BOHB

BOHB [6] (Bayesian Optimization and Hyperband)是一种结合了贝叶斯优化和HyperBand算法的高效调度器。

图2.13 HyperBand示意图

2.4.3 种群训练

种群训练(Population Based Training,PBT) [7] 主要用于深度神经网络的训练,它借鉴了遗传算法的思想,可以同时优化模型参数和超参数。在PBT中,“种群”可以简单理解为不同的试验,PBT并行启动多个试验,每个试验从超参数搜索空间中随机选择一个超参数组合,并随机初始化参数矩阵。在训练过程中会定期地评估模型指标。基于模型性能指标,PBT会利用或探索当前试验的模型参数或超参数,如图2.14所示。如果当前试验的模型指标表现不理想,PBT会执行“利用”,即把当前模型的权重替换为种群中其他表现较好的参数权重。同时,PBT也会通过“探索”操作,生成新的超参数变异于后续训练。

图2.14 PBT训练中的利用和探索

与其他超参数调优方法不同,在一次完整的训练过程中,其他方法通常使用一个固定的超参数组合完成整个训练;而PBT在训练过程中借鉴效果更好的模型权重,或引入新的超参数。因此,PBT被认为能够同时优化模型参数和超参数。

当某个模型的性能表现未达到预期时,可以考虑替换当前模型的参数权重,采用那些表现更佳的参数权重。同时,为了进一步探索和优化模型,还可以通过调整超参数进行变异,以生成新的超参数组合。 VHrPj1EPiP5rYMGocevta/BBtGyn/MIi+ryc80xC/N1vfXXzX/dcZ93AIRLFHAAA

点击中间区域
呼出菜单
上一章
目录
下一章
×