一种赋有新的BB类步长的随机递归梯度算法
A New Stochastic Recursive Gradient Algorithm with a BB-Like Stepsize
摘要: 随机递归梯度算法(SARAH)最近引起了人们的广泛关注。它允许一个简单的递归框架来更新随机梯度估计。SARAH与重要性抽样策略相结合得到了SARAH-I算法。基于此,本文提出了一种新的随机递归梯度方法。该算法将SARAH-I算法与具有二维二次终止性的BB类步长相结合,使SARAH-I算法的步长能够自适应计算,具有较好的数值性能。最后通过数值实验我们观察到,新算法对初始步长的选取不敏感,并且具有自动生成最优步长的能力。
Abstract: The stochastic recursive gradient algorithm (SARAH) attracts much interest recently. It admits a simple recursive framework for updating stochastic gradient estimates. SARAH-I algorithm is ob-tained by combining SARAH with importance sampling strategy. Based on this, a new stochastic recursive gradient method is proposed in this paper. This algorithm combines SARAH-I algorithm with a BB-like stepsize with two dimensional quadratic termination property, which makes the SARAH-I algorithm automatically compute stepsizes and has good numerical performance. Finally, through numerical experiments, we observe that the new algorithm is insensitive to the selection of the initial stepsize, and has the ability to automatically generate the optimal stepsize.
文章引用:陈炫睿. 一种赋有新的BB类步长的随机递归梯度算法[J]. 理论数学, 2023, 13(11): 3165-3175. https://doi.org/10.12677/PM.2023.1311328

1. 引言

数据科学中的许多问题(例如,机器学习,优化和统计)可以被描述为这种形式的损失最小化问题:

min x R d f ( x ) , (1)

其中:

f ( x ) = 1 n i = 1 n f i ( x ) . (2)

这里n为样本量,每个 f i : R d R 为第i个样本数据对应的损失函数。在本文中,我们假设每个分量函数 f i 都是凸函数且可微,并且函数 f ( x ) 是强凸的。

问题(1)当n非常大时是极具挑战性的。由于精确的全梯度信息不易获得,因此基于精确梯度的方法不切实际且被禁止。然而,随机梯度下降法(SGD)可以追溯到 [1] 的开创性工作,已经成为解决问题(1)的主要方法。在第n次迭代中,SGD随机选取索引 i [ n ] ,然后更新迭代 x t 通过:

x t + 1 = x t a t f i t ( x t ) , t = 0 , 1 , 2 , (3)

其中 a t > 0 为步长(也称为学习率), f i t ( x t ) 表示 x t 处的样本梯度。在(3)中,通常假设 f i t 是对 f ( x ) 的无偏估计,即:

E [ f i t ( x t ) | x t ] = f ( x t ) . (4)

然而,已知SGD的梯度评估的总次数取决于随机梯度的方差,并且对于强凸光滑问题(1)具有次线性收敛速率。为了提升SGD方法的性能,人们后续提出了许多改进方法。其中包括梯度聚合算法 [2] ,如SAG [3] [4] 和SAGA [5] 。他们将随机梯度计算为在之前迭代中评估的随机梯度的平均值。然后它们以牺牲内存为代价来存储之前的随机梯度。 [3] 表明SAG对于强凸问题是线性收敛的。Defazio等 [5] 提出的SAGA方法是SAG的改进版本,它不需要强凸性假设。SVRG [6] 有两个循环,外层循环计算一个完整的梯度,内层循环计算方差较小的随机梯度。S2GD [7] 在每个历元中运行随机数的随机梯度,遵循几何规律。Batching SVRG [8] 选择一个大的批样集来近似每个外环的全梯度。上述算法中的梯度估计量是无偏的。随机梯度递归算法(SARAH) [9] 采用一种简单的递归框架来更新随机梯度估计。SARAH算法结合了现有算法的一些优点,如SAGA和SVRG,同时旨在改进这两种方法。特别是,SARAH算法没有沿着随机梯度方向更新,而是沿着使用过去的随机梯度信息(如SAGA)和偶尔的精确梯度信息(如SVRG)的累积方向更新。SARAH算法和SVRG算法基本相似,其不同的地方就在于在内循环。两者更新方式的差别如下所示:

SARAH算法的关键步骤是随机梯度估计的递归更新(SARAH更新)。

v t = f i t ( x t ) f i t ( x t 1 ) + v t 1 , (5)

其迭代更新为:

x t + 1 = x t a v t . (6)

SVRG更新则是:

v t = f i t ( x t ) f i t ( x 0 ) + v 0 . (7)

近年来,Barzilai-Borwein (BB)方法越来越受到学者的关注。许多与BB算法相关的算法已经被提出。Tan等 [10] 提出了SGD-BB和SVRG-BB方法。Liu等 [11] 把重要抽样策略引入到SARAH方法中得到了SARAH-I算法,计算每个内循环最后一次迭代的全梯度。并且将BB算法与SARAH-I算法结合,得到了SARAH-I-BB算法。

BB方法在求解非线性优化问题方面非常成功。BB方法背后的关键思想是由拟牛顿方法激发的。假设我们要解决无约束最小化问题为:

min x f ( x ) , (8)

其中f是可微的。求解(8)的拟牛顿方法的典型迭代形式如下:

x t + 1 = x t B t 1 f ( x t ) , (9)

其中 B t 是f在当前迭代 x t 下的Hessian矩阵的近似值。 B t 最重要的特征是它必须满足割线方程:

B t s t = y t , (10)

BB步长满足最小二乘意义上的某些正割方程,引入了以下长、短选择:

a k B B 1 = arg min a R a 1 s k 1 y k 1 2 = s k 1 T s k 1 s k 1 T y k 1 (11)

以及

a k B B 2 = arg min a R s k 1 a y k 1 2 = s k 1 T s k 1 y k 1 T y k 1 , (12)

其中 g k = f ( x k ) s k 1 = x k x k 1 y k 1 = g k g k 1 。BB步长在二维严格凸二次型中带来了惊人的R超线性收敛。Raydan [12] 通过配合Grippo等人 [13] 的非单调直线搜索,首先将BB方法扩展到无约束优化,得到了一种非常高效的梯度方法GBB。Birgin等 [14] 进一步扩展了BB法求解约束优化问题。Yuan [15] [16] 建议计算步长,使前一步和后一步使用SD步长,从而在三次迭代中实现二维严格凸二次函数的最小化。Dai和Yuan [17] 通过修改Yuan的步长,适当地与SD步长交替,提出了所谓的Dai-Yuan (单调)梯度法,其性能甚至优于(非单调) BB法。

Huang等人 [18] 通过自适应地采用长BB步和与新步长相关的短步长结合,开发了一种有效的梯度方法,用于二次优化,使梯度法实现二维二次终止。本文将该步长与SARAH-I算法相结合,使其数值效果得到不错的提升。

本文的主要贡献如下:

在本文中,我们提出了一种新的算法,在SARAH算法中引入了能够自适应计算的步长。采用固定步长的SARAH算法对于初始步长的选取非常敏感,而新算法对于初始步长的选取并不敏感。此外,我们给出了新提出算法在强凸条件下的线性收敛性证明。数值结果证明了新算法的有效性,并表明该算法与在最佳步长调整情况下的SARAH-I算法数值性能相当。

本文的其余部分组织如下。在第2节中,我们提出了新的随机递归梯度算法。在第3节中,我们针对提出的算法,证明了它对强凸函数的线性收敛性。第4节中我们针对提出的算法进行了数值实验。最后,我们在第5节中得出了一些结论。

2. 新算法的提出

原始SARAH [8] 方法通过内环中与之前的 v t 1 的分量梯度加减,递归地更新随机梯度步长 v t 。SARAH-I算法考虑一般分布 Q ~ { q 1 , q 2 , , q n } 的随机抽样,这比SARAH中原来的均匀抽样方案更灵活。SARAH-I算法伪代码如下表算法1所示。

步骤6表示的是随机抽样的方案。在 x t 1 x t 的条件下,我们得到了 v t 关于 i t 的期望:

E [ v t ] = i = 1 n q i t n q i t ( f i t ( x t ) f i t ( x t 1 ) ) + v t 1 = f ( x t ) f ( x t 1 ) + v t 1 . (13)

因为 v t f ( x t ) 的无偏估计。在步骤10中,将 x ˜ 设置为内部迭代的最后一次迭代,这是SARAH-I与原始SARAH [8] 最重要的区别。这似乎是更合理的选择,因为使用了每个内循环中的最新信息。

Huang等人 [18] 提出的步长由下面给出。

a ˜ k = 2 ϕ 2 ϕ 3 + ( ϕ 2 ϕ 3 ) 2 4 ϕ 1 ϕ 3 (14)

其中:

ϕ 1 ϕ 3 = a k 1 B B 2 a k B B 2 a k 1 B B 2 a k B B 2 ( a k 1 B B 1 a k B B 1 ) 以及 ϕ 2 ϕ 3 = a k 1 B B 1 a k 1 B B 2 a k B B 1 a k B B 2 a k 1 B B 2 a k B B 2 ( a k 1 B B 1 a k B B 1 )

下面的定理分别给出了步长(14)在 ϕ 1 / ϕ 3 0 ϕ 2 0 时与 ϕ 1 / ϕ 3 < 0 ϕ 2 0 两种情况下的界,具体证明过程参见 [18] 。

定理1 [18] :由(14)式给出的步长是良定的,并且当 ϕ 1 / ϕ 3 0 ϕ 2 0 时有:

ϕ 3 / ϕ 2 a ˜ k min { a k B B 2 , a k 1 B B 2 } ; (15)

ϕ 1 / ϕ 3 < 0 ϕ 2 0 ,有

max { a k B B 2 , a k 1 B B 2 } a ˜ k | ϕ 3 / ϕ 2 | (16)

大量研究表明,采用长BB步长 a k B B 1 (因为 a k B B 1 a k B B 2 )和一些短步长交替或自适应的方法在数值上优于原始BB方法。如果 ϕ 1 / ϕ 3 0 ϕ 2 0 ,由定理1可以知道,步长 a ˜ k 小于 a k B B 2 a k 1 B B 2 两个短步长。另一方面,当 ϕ 1 / ϕ 3 < 0 ϕ 2 0 时,步长 a ˜ k 都大于 a k B B 2 a k 1 B B 2 两个步长。结合这两种情况,将 a k 进行替换,替换为 max { a k B B 2 , a k 1 B B 2 , a ˜ k } ,替换后的步长为 a k B B 2 a k 1 B B 2 、及 a ˜ k 中最大的一个。

由于自适应方案的成功,Huang等人 [18] 在其基础上提出步长的截断形式如下:

a k = { max { a k 1 B B 2 , a k B B 2 , a ˜ k } , if a k B B 2 / a k B B 1 < τ k ; a k B B 1 , otherwise , (17)

其中 τ k > 0 。更新(17)中的 τ k 的最简单方法是将对所有k都设置为某个常数 τ ( 0 , 1 ) 。对于这种固定格式,步长(17)的性能可能在很大程度上取决于τ的值。另一个策略是动态地更新 τ k ,更新方式如下:

τ k + 1 = { τ k / γ , if a k B B 2 / a k B B 1 < τ k ; τ k / γ , otherwise , (18)

显然,固定格式的τ是(18)中 γ = 1 的一种特殊情况。

本文基于上述思想的提出,将SARAH-I算法和如(17)形式的BB类步长相结合。使原本采用固定步长的SARAH-I算法装备上能够自适应计算的步长(17)。

SARAH-I算法引入了重要抽样原则,计算每个内循环最后一次迭代的全梯度。在求解强凸问题(1)时,Liu等人 [11] 证明了非强凸优化SARAH-I的线性收敛性。在严格割线不等式下,证明了迭代到最优集的距离期望是线性收敛的。

Huang等人 [18] 引入的步长 a ˜ k 如(17)所示。使得BB方法在加入 a ˜ k 后具有二维二次终止性。这种新颖的步长只利用了之前迭代的BB步长,因此可以很容易地用于一般的无约束和有约束优化。将步长(17)应用在SARAH-I算法中是非常具有潜力的。在后续的数值实验中我们可以发现新算法具有能够自动生成SARAH-I算法中最佳步长的能力,并且对于初始步长的选取很不敏感。

下面,我们提出新的算法方法,采用(17)式自适应计算步长。我们现在在下面的算法2中描述它的框架。

3. 收敛性分析

为了验证新算法的收敛性。我们先引入SARAH-I算法在强凸条件下的收敛性结果。在此之前先引入如下的假设。

假设1:每个分量函数 f i , i = 1 , n ,是凸的且一阶连续可微的。以及每个分量函数 f i 的梯度是L-Lipschitz连续的,即:对任意的 x , x R d 有:

f i ( x ) f i ( x ) 2 L x x 2 .

在此假设下,不难看出 f ( x ) 也是L-Lipschitz连续的。为简单起见,我们将 L Q 表示为:

L Q = max i L n q i .

引理1是假设1成立下的结果。

引理1:假设f是凸函数以及 f L-Lipschitz连续的。则对任意的 x , x R d 有:

( f ( x ) f ( x ) ) T ( x x ) 1 L f ( x ) f ( x ) 2 .

现在给出SARAH-I算法的收敛性结果。

定理2 [11] :假定假设1成立以及 a 1 / L Q 。如果f是μ强凸的,则对于任意的 k 1 ,当 σ = ( 1 2 μ a ) m + a 1 / 2 L Q 3 / 2 / μ + a L Q 3 / ( μ ) 2 + a L Q 2 / ( 2 μ ) . 有:

E [ x ˜ k + 1 x * 2 ] σ x ˜ k x * 2

因此,如果m和a的选择使得 σ < 1 ,则那么SARAH-I算法以期望线性收敛,即:

E [ x ˜ k x * 2 ] σ k x ˜ 0 x * 2

下面的定理表明,只要内部迭代次数m足够大,算法2具有线性收敛速率。假定 { x ˜ k } 是由算法2产生的序列。

定理3:假定假设1成立以及f是μ强凸的。给定 θ = ( 1 e 2 μ / L Q ) / 4 ,如果m的选择使得 m L Q 3 / ( θ 2 μ 3 ) ,则对于任意的 k 1 有:

E [ x ˜ k x * 2 ] ( 1 θ ) k x ˜ 0 x * 2 .

证明:由步长(17)的形式可以很容易得出 a k a k B B 2 。由 f ( x ) 的Lipschitz连续性可以得出:

a k a k B B 2 v 0 k v 0 k 1 2 L v 0 k v 0 k 1 = 1 L .

同时由f的强凸性可以得到 a k 1 / ( m μ ) 因此,定理3中的系数 σ 有下界:

σ = ( 1 2 μ a ) m + a 1 / 2 L Q 3 / 2 μ + a L Q 3 μ 2 + a L Q 2 2 μ exp { 2 μ L } + L Q 3 2 m 1 2 μ 2 3 + L Q 3 m μ 3 + L Q 2 2 m μ 2 < 1 4 θ + θ + θ + θ = 1 θ .

这就完成了我们的证明。

4. 数值实验

在本节中,我们进行了大量的实验来证明我们提出的算法的优势。我们分别在LIBSVM1网站上公开提供的3个不同的训练数据集上评估了我们的算法。这些数据集的详细信息如表1所示。注意,这五列分别表示数据集的名称、数据集的大小、特征的维度、应用的模型、正则化方法的系数。其中LR表示logistic回归,SVM表示带有 l 2 范数正则化的平方铰链损失支持向量机。为了公平起见所有的数值实验都是在一台CPU为i5-7300HQ的笔记本电脑上,在MATLAB 8.4中实现的。

Table 1. Data and model information of the experiments

表1. 实验数据和模型信息

新算法解决的两个问题如下:

带有 l 2 范数正则化的逻辑回归(LR):

min x F ( x ) = 1 n i = 1 n log [ 1 + e ( b i a i T x ) ] + λ 2 x 2 2 , (19)

和带有 l 2 范数正则化的平方铰链损失支持向量机(SVM):

min x F ( x ) = 1 n i = 1 n ( [ 1 b i a i T x ] + ) 2 + λ 2 x 2 2 , (20)

下面我们给出算法2和SARAH-I算法在不同步长(对于算法SARAH-I)和不同初始步长(对于算法2)下的次优性 ( f ( x ˜ k ) f ( x * ) ) 比较。这里我们设置内循环大小 m = n

图1~3中,横坐标代表的是迭代次数,纵坐标代表的是次优性: f ( x ˜ k ) f ( x * )

红色的虚线对应于每个图中具有最佳调优固定步长的SARAH-I,黄色虚线代表较最调优步长稍小的步长,蓝色虚线代表较最调优步长稍大的步长。带*号的实线就是我们算法2的数值效果。观察图1~3,我们可以看到SARAH-I算法对于三种不同大小步长的选取,其数值效果差别很大。但是算法2对于三种不同大小初始步长的选取,其数值效果非常接近。所以算法2对初始步长的选择不敏感。

Figure 1. Sub-optimality comparison on w8a

图1. w8a上的次优性比较

Figure 2. Sub-optimality comparison on a9a

图2. a9a上的次优性比较

Figure 3. Sub-optimality comparison on ijcnn1

图3. ijcnn1上的次优性比较

Figure 4. Stepsizes variation on w8a

图4. w8a上的步长变化

Figure 5. Stepsizes variation on a9a

图5. a9a上的步长变化

Figure 6. Stepsizes variation on ijcnn1

图6. ijcnn1上的步长变化

图4~6中,横坐标代表的是迭代次数,纵坐标代表的是步长变化。其中三条虚线表示的是取不同固定步长下的SARAH-I算法。红色虚线表示最调优步长,黄色虚线是比最调优步长小的步长,蓝色虚线是比最调优步长大的步长。三条实线则表示不同初始步长下的算法2中的步长变化。从图4~6可以看出算法2中产生的步长最终将接近于SARAH-I算法中的最调优步长。因此新算法具有能自动生成最优步长的能力。

5. 结论

本文通过对SARAH-I算法采取自适应学习率的策略,引入了一种具有二维二次终止性的BB类步长。该步长自适应地采用长BB步和与该步长相关的短步长结合,具有较好的数值性能。并且我们在强凸条件下证明了算法2的线性收敛性。对于提出的新算法,我们在3个不同的训练数据集上进行了数值实验。实验结果发现,新算法能够达到与最具调优步长的SARAH-I算法相同的次优性程度,并且新算法对于初始步长的选取是非常不敏感的,而采用固定步长的SARAH-I算法对于不同步长的选取所得出的数值性能差异太大。最后通过对步长变化的观察,我们发现在算法2中产生的步长最终将接近于SARAH-I算法中的最调优步长。因此算法2具有能自动生成最优步长的能力,我们有理由相信新算法是鲁棒的。

NOTES

1http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/

参考文献

[1] Robbins, H. and Monro, S. (1951) A Stochastic Approximation Method. The Annals of Mathematical Statistics, 22, 400-407.
https://doi.org/10.1214/aoms/1177729586
[2] Bottou, L., Curtis, F.E. and Nocedal, J. (2018) Optimi-zation Methods for Large-Scale Machine Learning. SIAM Review, 60, 223-311.
https://doi.org/10.1137/16M1080173
[3] Roux, N.L., Schmidt, M. and Bach, F.R. (2013) A Stochastic Gradient Method with an Exponential Convergence Rate for Finite Training Sets. Neural Information Processing Systems, Lake Tahoe, 5 December 2013, 2663-2671.
[4] Schmidt, M.W., Roux, N.L. and Bach, F. (2017) Minimizing Finite Sums with the Stochastic Average Gradient. Mathematical Programming, 162, 83-112.
https://doi.org/10.1007/s10107-016-1030-6
[5] Defazio, A., Bach, F. and Lacoste-Julien, S. (2014) SAGA: A Fast Incremental Gradient Method with Support for Non-Strongly Convex Composite Objectives. Neural Information Processing Systems, Montreal, 8 December 2014, 1646-1654.
[6] Johnson, R. and Zhang, T. (2013) Accelerating Stochastic Gradient Descent Using Predictive Variance Reduction. Neural Information Processing Systems, Lake Tahoe, 5 December 2013, 315-323.
[7] Konecný, J. and Richtarik, P. (2017) Semi-Stochastic Gradient Descent Methods. Frontiers in Applied Mathematics & Statistics, 3.
https://doi.org/10.3389/fams.2017.00009
[8] Babanezhad, R., Ahmed, M.O., Virani, A., Schmidt, M.W., Konecný, J. and Sallinen, S. (2015) Stop Wasting My Gradients: Practical SVRG. Neural Information Processing Systems, Montreal, 7 December 2015, 2251-2259.
[9] Nguyen, L.M., Liu, J., Scheinberg, K. and Takac, M. (2017) SARAH: A Novel Method for Machine Learning Problems Using Stochastic Recursive Gradient. Neural Information Processing Systems, Long Beach, 4 December 2017, 2613-2621.
[10] Tan, C., Ma, S., Dai, Y.H. and Qian, Y. (2016) Barzilai-Borwein Step Size for Stochastic Gradient Descent. Neural Information Processing Systems, Barcelona, 5 December 2016, 685-693.
[11] Liu, Y., Wang, X. and Guo, T. (2020) A Linearly Convergent Stochastic Recursive Gradient Method for Convex Optimization. Optimization Letters, 14, 2265-2283.
https://doi.org/10.1007/s11590-020-01550-x
[12] Raydan, M. (1997) The Barzilai and Borwein Gradient Method for the Large Scale Unconstrained Minimization Problem. SIAM Journal on Optimization, 7, 26-33.
https://doi.org/10.1137/S1052623494266365
[13] Grippo, L. and Lucidi, F.L. (1986) A Nonmonotone Line Search Technique for Newton’s Method. SIAM Journal on Numerical Analysis, 23, 707-716.
https://doi.org/10.1137/0723046
[14] Birgin, E.G., Martínez, J.M. and Raydan, M. (2000) Nonmonotone Spectral Projected Gradient Methods on Convex Sets. SIAM Journal on Optimization, 10, 1196-1211.
https://doi.org/10.1137/S1052623497330963
[15] Yuan, Y.X. (2006) A New Stepsize for the Steepest Descent Method. Journal of Computational Mathematics, 24, 149-156.
[16] Yuan, Y. (2008) Step-Sizes for the Gradient Method. AMS/IP Studies in Advanced Mathematics, 785-796.
https://doi.org/10.1090/amsip/042.2/23
[17] Dai, Y. and Yuan, Y.X. (2017) Analysis of Monotone Gradient Methods. Journal of Industrial & Management Optimization, 1, 181-192.
https://doi.org/10.3934/jimo.2005.1.181
[18] Huang, Y., Dai, Y.H. and Liu, X.W. (2021) Equipping Barzilai-Borwein Method with Two Dimensional Quadratic Termination Property. SIAM Journal on Optimization, 31, 3068-3069.
https://doi.org/10.1137/21M1390785