REDUCING THE SEARCH SPACE FOR HYPERPARAMETER OPTIMIZATION USING GROUP SPARSITY阅读笔记
REDUCING THE SEARCH SPACE FOR HYPERPARAMETER OPTIMIZATION USING GROUP SPARSITY
这篇文章做了啥
作者提出了一个新的方法,这个新的方法可以用在机器学习中的超参选择上面。实际上作者是对于harmonica算法的修改,harmonica算法是一个使用稀疏恢复的谱超参选择方法。特别地,作者展示了一个特殊的超参空间的编码可以使得自然的group-sparse recovery formulation,这能够使得当我们在和hyper band进行耦合的时候,可以使得能够在现有的超参优化方法上得到改善,比如successive halving 和random 搜索。在一些数据集上(比如cifar10)的实验结果表明作者的方法是有效的。
一些背景介绍
优化目标
ML很火,但是超参一直都是依赖于手工设计,HPO这个方向就是为了解决这个问题。
假设\(X\)表示超参的搜索空间(无论是numerical或者是categorical),给定一个ML alg和一系列超参,\(f\)表示从\(X\)映射到训练网络模型得到的test loss的映射函数,HPO的目标就是寻找这样一组超参数使得能够尽量达到全局最优
并且尽量高效。
前人的工作
总的来讲,研究人员之前有采用过暴力搜索的方法,比如grid search,这种策略搜索的复杂度是随着参数数目增长呈现指数上升的。作为一个优化的方法,有人提出bayesian optimization。这种方法假设在cost function \(f(x)\)上有某个先验的分布,然后在给定一系列的超参的前提下,根据observation(或者是training loss的度量)更新posterior distribution。然后,一个acquisition function采样这些后验知识,然后再构建新的一系列的超参,如此迭代。
BO很流行,但也很不稳定,尤其是高维度的超参搜索。另外一种替代的方法是random search(RS),相对于grid search而言,RS不仅仅提供计算上的efficiency,同时很容易的实现并行。
multi-armed bandit (MAB)采用rs对随机选取的candidate points 分配不同的计算资源来进行加速。successive halving (SH)和hyperband 采用了MAB方法来进行随机搜索,在使用同等的budget的情况下,这种方法会比通过修剪早期的poorly performing 会选取更多的candidates。和BO(很难并行)不同的是,BO和Hyperband的整合能够同时实现引导选择和并行化的优势。
gradient只能优化连续的参数,作者不和他们进行对比。
当BO主导基于模型的方法时,一种称为Harmonica的最新技术提出了一种频谱方法,将稀疏恢复的思想应用于目标函数的布尔形式。
通过使用此方法,Harmonica通过快速查找有影响力的超参数,从而提供了减少超参数空间维数的独特优势,随后可以使用其他标准(搜索或优化)技术。
作者的贡献
作者的贡献主要是对于harmonica算法进行了一个扩展。虽然它成功演示了发现重要的分类特征(categorical feature),但我们着重于通过提出关于数值超参数值的新表示形式来寻找数值特征(numerical feature)。
该表示不仅减小了超参数空间的维数,而且还基于其结构知识对超参数进行了分组,以提高准确性和稳定性。
为了补充我们的算法,我们使用超参数分组验证了我们的数值表达式,以准确地检查其指导。可视化发现确实是全局最优解。作者仍然表明,通过结合决策理论方法的指导,他们的方法的鲁棒性会有提升。
技巧
以下描述了作者的选取的一些实验设置。
作者观察到三个对于任何HPO方法都有的期望,一个是并行性,一个是可扩展性,还有一个最后的表现。第一个作者使用hyperband,并行效果比较好。为了达到第二个和第三个标准,作者使用了harmonica trick,作者首先二值化超参空间,然后分解布尔化的函数\(f\)的傅里叶扩展。从比较小的数目的training loss(采样得到的)找到最有影响的超参数,这样将减少从压缩度量中解决组稀疏恢复问题的过程。
对于给定的计算预算,这会导致我们更好的总体测试错误。
数学模型和算法
作者显示他们的attention在离散的领域(假设连续的值已经被离散化)。让\(f:\{-1, 1\}^n\rarr\R\)表示被优化的loss函数。并且假设有\(k\)个不同类型的超参,作者分配\(n_i\) bits为\(i^{th}\)个超参类型,such that \(\sum_{i=1}^kn_i = n\). HPO的任务是搜索近似的超参数来满足
我对上述公式的理解是,假设有两个参数,则,第一个参数分为两个区间,第二个参数分为三个区间,则总共的的\(n\)为5,所以这里的n并不是有多少个参数的意思,而是区间划分成了几块,一共有几个超参数累加在一起的结果
PGSR-HB
polynomial group-sparse recovery within hyperband(PGSR-HB)。这是一种新的HPO搜索算法,能够减少超参的搜索空间。同时作者使用hyperband(一种在均匀随机采样的超参数配置中实现探索与开发之间的平衡),的multi-armed bandit method, 与一组稀疏版本的多项式稀疏恢复(Polynomial Sparse Recovery)相结合,后者是基于频谱分解的HPO Harmonica方法的主要组成部分。算法1显示了PGSR-HB的伪代码。
PGSR-HB采用了hyperband的决策理论方法,但是有一点额外的,通过从不同的resources追踪所有的loss的历史而得到的feature。hyperband包含了子程序successive halving,动态减半算法(看对应的博客,之前松江介绍过)
PGSR sampling
PGSR-HB收集函数\(f\)的输出,PGSR采样子程序使用从稀疏恢复减少搜索空间的trick,来恢复布尔化的函数\(f\)的傅里叶基的系数。在作者讨论PGSR sampling如何工作,以及,和使用方法20中的harmonica多项式稀疏恢复对比的时候,作者先对布尔函数的傅里叶分析做了一些定义。
假设函数\(f\) defined from \(\{-1, 1\}^n\) to \(\R\), anysubset of indices \(S\) (\(S \subset [n]\))对应的傅里叶基可以定义为
其中\(x_i\)是输入的vector的第\(i\)个元素。然后函数\(f\)可以唯一的表示为一系列的实多线性多项式基(或者是傅里叶基)的序列:
其中
其中期望是从在n维的超cube的nodes的均匀分布得到。
原始harmonica并没有解决如何离散化连续的超参数,我们引入了一个简单的数学表达式,可以有效地作者引起\(f\)的傅立叶表示中的额外稀疏性。
令\(x\)是通过函数\(g\)映射到基数为\(2^m\)的整数集的m位二进制数,而y是通过函数\(h\)映射到基数为\(2^n\)的整数集的n位二进制数,它们在(0,1]中均匀地按照函数\(f\) 被分隔。然后作者对于所有的k个种类以一种log-linear的形式表示\(i^{th}\)数值超参\(hp_i\), 如下:
作者实验结果部分表明,这种简单的非线性bining表示会在函数\(g\)上induces稀疏性,这样会得到幅度值的阶次。因为PSGR会返回相对于函数\(g\)的特征,所以这种新的表现形式会减少超参的搜索空间。harmonica中的PSR会使用lasso恢复布尔函数,一个intuitive extension(从上面的log-linear 表示)是使用group lasso替代sparse recovery。alg1的23行有这个,因为我们将他们基于 超参种类的\(g\) and \(h\) 进行分组。
让\(y\in \R^m\)为一个观测到的vector,让超参分为m+n个group(分别和函数g和函数h对应),让\(\Psi^l\)表示为下面矩阵的子矩阵
其中它的列是和\(l^{th}\)的group是匹配的。相似地,\(\alpha^l\)是对应submatric \(\Psi^l\) 的权重vector, \(p^l\)是\(\alpha^l\)的长度。为了通过超参数结构构造子矩阵,这些子矩阵是在其列上作为傅立叶基的集合,令有一系列的如上定义的groups \(G = \{g_1, ..., g_m, h_1, ...h_n\}\)。如果有在\(G\)中有k个可能的group结合,以至于一个d维度的傅里叶基存在,我们则使用公式3可以推导k个子矩阵\(\Psi^1, ..., \Psi^k\).然后这个问题就和凸优化问题 group lasso等价,则可以表示为如下方程
最后,这算法需要输入 \(\rho\), 其中\(\rho\)表示重置概率参数,它表示从原始的缩减的超参空间生成的随机样本的重置概率。这个参数可以在不同的PGSR阶段防止gather有偏的观察,因为在SH后半阶段有充足的计算资源的情况下很容易出现这种情况。
PGSR-HB和harmonica的区别
标准的harmonica方法是在搜索开始之前,在均匀分布下的采样得到的度量,来使用PSR(the sparse recovery through \(l_1\) penalty 或者是标准的lasso)恢复函数\(f\)。
harmonica在搜索算法开始之前,需要人工的去选择随机采样measurements的数目,以及它的资源(训练epoch数据)。
测量的可靠性,尤其是在深度学习中,很大程度上依赖于对每一个sample point上分配资源的多少。在恢复傅里叶系数上投入很大的资源能够保证lasso回归的可靠性,但是budget一定的话,这样并不高效。
然而,用比较少的资源收集测量不会让PSR为outer 搜索算法提供一个正确的指导。我们也在其他惩罚项上做了实验,而不仅仅是L1, 比如,Tikhonov regularizaiton...来阻止模型过拟合。然而终究是学得慢,而且有误导作用。
因为PGSR-HB 汇集了所有函数的输出,从cheap resource和most expensive resource。PGSR-HB消除了harmnoica设定显示的样本数目和训练epoch数目的必要性。
原始的Harmonica在寻找categorical超参上很有用,比如bn层是否有必要,或者是优化的方法,但是在寻找lr或者是weight decay则比较有限制。PGSR-HB则使用log-linear 的表示形式来获得order-of-magnitude 以及公式2,7和group lasso 公式2.8的细节,克服了这种限制。
实验部分
加入公式2.7,会改善稀疏性,来减少搜索空间。
posted on 2021-05-26 14:04 YongjieShi 阅读(88) 评论(0) 编辑 收藏 举报