原创智能优化,原创度检查,一键采集,文章组合(深度学习中最优/次优超参数的一类方法-HPO)

优采云 发布时间: 2022-01-31 04:22

  原创智能优化,原创度检查,一键采集,文章组合(深度学习中最优/次优超参数的一类方法-HPO)

  概述:

  在介绍HPO之前先简单介绍一下超参数和HPO的概念,定义如下:

  超参数:超参数一般是指在算法或模型启动前必须确定且在计算过程中不能更新的参数。如深度学习中的优化器、迭代次数、激活函数、学习率等;运筹学优化算法中的编码方式、迭代次数、目标权重、用户偏好等,算法类型可以作为更高级的超级参考。

  超参数优化:超参数优化是指一种不依赖于手动参数调整,而是通过某些算法在优化算法/机器学习/深度学习中找到最优/次优超参数的方法。HPO的本质是生成多组超参数,反复训练,根据得到的评价指标调整和重新生成超参数集进行再训练。

  通常在各种系统中,我们通常会接触到很多参数。从上面的定义可以看出,超参数的概念是相对于参数提出的。在某些领域,它的参数也符合上述超参数的定义,也可以收录在广义的超参数定义中,如遗传算法(GA)中的种群大小、控制器的控制参数等。

  虽然 HPO 是超参数空间中的搜索算法,但优化的结果是模型/算法的一组超参数,而这组超参数在我们的数据集上实现了最佳结果。值得一提的是,HPO 通常是一种黑盒优化。

  超参数优化算法过程

  为了介绍方便,这里先贴出HPO的算法流程图,如图1所示。从算法流程图可以看出,HPO是一种迭代优化算法,类似于启发式算法的算法流程例如邻域搜索和遗传算法。最初,从超参数空间中选择一组超参数作为搜索的起点,然后用准备好的数据集对超参数进行评估,然后通过扰动策略找到下一组超参数,然后数据集用于评估超参数。新的超参数评估,最后选择评估结果最好的超参数作为最终输出[1]。

  

  上式是超参数优化的表达式,其中D代表数据集,L是模型的损失,A是算法,λ代表一组超参数,target是最优的一组超参数。

  从上面的描述可以看出,每个超参数扰动都需要对数据集进行评估。对于机器学习的同学来说,这个过程就是机器学习的训练过程,而对于做运筹学优化的同学来说,这个过程是一个过程,是对数据集的推理操作。不管上面的方向如何,HPO都是一个非常高级的优化,每次迭代都意味着底层的大量计算,这就是为什么HPO是一个黑盒优化;此外,HPO 需要大量的计算支持。

  

  图1 HPO算法流程图

  超参数优化参数空间定义

  

  图 2 条件超参数

  超参数的类型很多,数据类型也多种多样,包括离散参数、连续参数、条件超参数,如上图所示。例如,如果选择了一种算法,则需要考虑该算法的超参数。如果不选择这个算法,那么这个算法的超参数不在我们的考虑范围内。

  合理定义超参数空间可以促进优化过程的处理,提高搜索效率。两组超参数之间的距离问题通常可以通过定义核函数 [2] 来定义,也可以通过映射 [3] 来处理。

  

  图 3 条件超参数的空间映射

  超参数优化算法简介

  常用的HPO算法有网格搜索、随机搜索和贝叶斯优化。如下所示:

  

  图 4 网格搜索

  

  图 5 随机搜索

  

  图 6 贝叶斯搜索

  网格搜索和随机搜索很容易理解。网格搜索的思路很简单。可以理解为一种遍历策略。通过手动离散化超参数空间,然后遍历所有组合,找到最优的组合集合。如果选择离散步长合适的话,可以认为是最优的超参数集。当然,计算量也是最大的。

  在随机搜索中加入启发式随机搜索策略[4],可以在一定程度上平衡参数空间的探索和利用。该策略易于与其他策略结合,包括上述邻域搜索、遗传算法和粒子群搜索算法,通常搜索结果还可以。

  前两种搜索算法通常搜索效率较低,而贝叶斯优化是近年来出现的一种新的 HPO 算法(不是很新,大约从 2012 年开始)[5]。基本思想是用高斯过程模拟HPO过程,然后用采集函数寻找下一个最优评价点。评估完成后,用它来修正代理模型,如下图所示。采集 函数的目的是平衡探索和利用,以加快超参数的搜索过程。

  

  图 7 贝叶斯优化步骤

  常用的代理模型和采集函数如下图所示:

  

  图8 常用代理模型和采集函数

  评估加速策略

  如前所述,HPO 本身需要消耗巨大的计算资源,其计算时间通常很长。因此,如何加快搜索过程也是一个研究重点。这里有两个更常用的算法。一种算法是学习算法的收敛曲线[6]。这种方法的思路比较直观,就是通过预测算法本身的收敛曲线来预测后期算法的性能,然后对一些预测结果较差的超参数组提前终止计算,从而达到加速的效果。这个想法是为一些超参数推进 PASS。

  下图是这种方法的简要比较。图 a 和 b 是正常学习曲线,图 c 是应用了预测终止策略的曲线。

  

  图9 学习曲线预测效果对比

  另一种方法称为多保真策略[7]。该策略的基本思想是加快对每个超参数的评估,因为每次评估都非常耗时。加速模型的方法是在每次评估中只使用一部分数据集来训练模型。不同数据集的大小对应保真度的大小。显然,保真对越大,对超参数的评估越准确,相应的计算时间也就越长;保真度越低,评估越快,但准确度可能会更低。因此,多保真是指综合利用高保真和低保真,用较多的低保真快速探索空间,用较少的高保真实现超参数的最大可能组合。

  

  图 10 多保真搜索效果

  总结

  以上已经简单梳理了超参数优化的基础知识点,但总体还是比较粗略的。但是大家可以大致感知到它的主要内容,后面会详细介绍各个内容。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线