发布时间:2024-07-01 15:24:41 作者:佚名 点击量:
原文:Random Gradient-Free Minimization of Convex Functions. Found Comput Math 17, 527–566 (2017). https://doi.org/10.1007/s10208-015-9296-2
原文作者:Yurii Nesterov, Vladimir Spokoiny 论文解读者:陈宇文
本次知识分享活动挑选Yurii Nesterov与Vladimir Spokoiny发表的Random Gradient-Free Minimization of Convex Functions论文,带领大家梳理论文中的无梯度优化算法的核心思想以及与传统方法之间的联系。
最近几年,零阶算法因为其需要的获取信息条件的宽松而受到关注。相比于一阶或者更高阶的算法,零阶算法只需要获取函数值本身,因此很适用于黑盒优化的问题。本文中,我们将梳理Nesterov的论文中提到的一种零阶算法,总结这一类零阶算法有用的性质和结论。
优化算法中我们会根据可以能够获取的信息定义算法的阶数,常见的有一阶算法(梯度下降)和二阶算法(内点法,半光滑牛顿法),甚至更高阶算法(cubic regularization)。那如果我们连最常见的一阶梯度信息都缺失呢?我们还可以利用函数值进行优化,例如许多智能算法和有限差分的方法。相较于前者,后者往往能得到较好的理论结果。但是简单的有限差分需要对变量每一个维度进行扰动,计算一次近似梯度需要个不同的函数值。在文[1]中,Nesterov分析了一种特殊的零阶算法,每一次梯度近似只需要个不同的函数值:
同时文[1]中总结了许多有趣的理论,我们将对它们一一展开。
对于算法(1),如果我们选取,那么取极限下的算法可以理解为沿着方向梯度的方向下降,如下所示:
如果我们定义,那么算法则可写成
此时我们对方向没有任何假设,它可以是任何方向。那我们应该如何选取这个方向向量呢?
如果采用random search方法的思想[2]:假设方向的采样满足多维高斯分布(协方差矩阵取单位矩阵),那么当我们对求取函数期望可以得到
的梯度可以写成
其中最后一个等式中加入项可以根据高斯分布的对称性得到。如果我们对进行采样,那么我们得到采样后的梯度
这时,我们可以发现算法(1)可以重新写成
所以算法(1)可以看成对的近似函数的随机梯度下降。也是从随机算法的角度出发,文[1]分析了许多和在不同阶数泰勒展开下的误差,同时通过这个中介进一步分析算法(1)的收敛性。
我们回顾的定义:
我们称函数是的高斯光滑近似。同时,它还具有如下一些特性:
那么函数和存在哪些关系呢?文[1]中提到,如果是凸函数且,会有
同时**和之间的误差和函数不同阶数的光滑性有关**,如下定理所示:
有趣的是,比具有更好的光滑性:
Lemma 2说明只要连续,永远都是可导函数。 (补充: 函数的可导性可以改善一阶算法收敛的算法复杂度,对非光滑函数进行光滑函数近似还有其他的方法,感兴趣的同学可以参看Nesterov的另外一篇文章[2]。)
其中,被定义为
同样的,对于和的梯度信息误差,也同样与函数的光滑性有关。如果有更高阶的光滑性,那么我们可以进一步得到有关高阶Lipschitz系数的误差分析:
通过高斯近似函数作为媒介,我们可以进一步分析随机梯度与原函数梯度的关系。
在实际情况中,本身是很难求得的,所以实际算法中(如算法(1))我们会使用的采样来进行计算。假设随机方向满足协方差矩阵为的多维高斯分布,那我们有定义为
文[1]还定义了
对于上述三种梯度估计,文[1]提供了对应的上界估计:
从定理3和定理4可以看出,的二阶矩和原函数的梯度有关,还和函数的光滑性有关(得到不同的不等式)。同样的,的二阶矩与存在类似的关系
对于
如果函数本身是非光滑的,那么我们可以将当成随机梯度,那么算法(1)变为投影随机梯度法
对于序列,文[1]中给出了如下不等式:
其中,。如果熟悉一阶算法收敛性分析,可以发现,不等式右边多出了和两项。如果我们希望有最优,那么我们需要选取**合适的步长以及合适的高斯近似参数**:
当我们进一步放松条件,假设我们的问题变成一个随机优化问题,
那么我们每次采样的函数值也带有随机误差,即。同理,对应的随机梯度可以定义成
对应的,算法(1)的变形为
可以看到,在这个随机优化算法中,有双层的随机影响,一层来源于问题本身的扰动,,另一部分来源于我们采用的算法,。同样的,通过合适选取步长和高斯近似参数,我们可以得到的收敛速率。
除了上述两种问题类型,文[1]中还介绍了其他三类问题:
上述三种情况下的算法复杂度分析同样依赖于选取合适的步长和高斯近似参数,最后的结果也与我们在一阶算法中的复杂度差不多。可能这个复杂度结果挺让人意外的,为什么零阶算法的复杂度会和一阶算法差不多?如果深入了解后可以发现,为了得到的相同的复杂度分析,我们需要将高斯近似参数取得足够小才行,需要达到的数量级。此外,步长和高斯近似参数的选取随着问题维度的增加要进一步变小。这就导致零阶算法的步长选取往往比一阶算法还需要小很多。因此最近几年有许多研究工作也是围绕着如何减小步长和高斯近似参数对于维度的依赖展开的。
最后,想大致谈谈文[1]的零阶算法和传统的有限差分的区别。两者都是可以用来对原有问题梯度进行估计。有限差分的梯度估计公式为
差分量的作用与高斯近似参数是一样的。但是,梯度估计误差只会和和梯度的L-光滑性相关,
而文[1]中梯度估计误差除了与有关,还会与当前点的梯度值有关,并且与问题维度也相关(感兴趣的同学可以研究文中定理4的推理)。
[1]Nesterov, Y., Spokoiny, V. Random Gradient-Free Minimization of Convex Functions. Found Comput Math 17, 527–566 (2017). https://doi.org/10.1007/s10208-015-9296-2
[2]Nesterov, Y. Smooth minimization of non-smooth functions. Math. Program. 103, 127–152 (2005). https://doi.org/10.1007/s10107-004-0552-5
联系我们
contact us地址:广东省广州市天河区88号
电话:400-123-4567
点击图标在线留言,我们会及时回复