2. 中国人民解放军陆军工程大学 指挥控制工程学院,江苏 南京 210007
2. Command and Control Engineering, Army Engineering University of PLA, Nanjing 210007, China
Adam是目前深度学习中广泛采用的一种优化算法[1]。与经典梯度下降不同的是,Adam同时使用了自适应步长和动量两种技巧。其中自适应步长技巧使算法对超参数不敏感,动量技巧可以加速算法在处理凸优化问题时的收敛速率,在处理非凸问题时帮助算法避开鞍点甚至局部极值点。与仅使用单一技巧的方法相比,Adam在典型卷积深度学习的实验中具有一定的优势[1]。
在梯度下降方法的基础上,首先使用基于梯度的自适应步长方法是AdaGrad,其主要的思路是通过对过往所有梯度的外积进行累加的方式进行步长自适应的调整[2]。虽然AdaGrad在求解非光滑凸问题时具有和投影次梯度方法一样
动量法是在经典梯度下降法基础上通过添加动量项演变而来的,广泛用于提高一阶梯度算法的收敛速率。根据动量表示方式的不同以及动量项中计算梯度位置的不同可以分成两类:一类是Polyak[6]于1964年提出的Heavy-ball型动量法;另一类是Nesterov[7]于1983年提出的NAG (nesterov accelerated gradient)型动量法。其中,Heavy-ball直接在当前点计算梯度;而NAG会根据当前动量预判下次迭代可能抵达的位置,并在预判的位置计算梯度。动量方法的加速性能主要体现在求解凸光滑目标函数时NAG取得的突破,将梯度下降法的收敛速率
对于非光滑凸优化问题,投影次梯度方法目前获得的最好的个体收敛速率只是
Adam的最初形式是在梯度下降的基础上使用了EMA策略修正步长和Heavy-ball型动量法修正梯度方向[1]。尽管Adam在深度学习中有着不错的表现[13-14],但自从Kingma等于2015年提出Adam后,其收敛性一直是一个具有挑战性的问题。对于非光滑凸问题,尽管Kingma等声称证明了Adam取得了
从目前Adam的各种发展趋势来看,我们更愿意将Adam视为一种利用过去梯度信息同时更新下降方向和步长的一阶梯度算法框架[17]。本文主要研究非光滑凸情形Adam型方法AMSGrad的个体收敛速率问题。为了避免叙述上的复杂性,直接简称为Adam算法。
本文的主要工作有以下3个方面:
1)证明了Adam具有
2)本文的收敛性分析思路具有一定的一般性,本文首先借鉴了Ghadimi等[8]在光滑条件下Heavy-ball算法收敛速率的证明方法,得到与梯度下降法相似的迭代公式。为了进一步得到非光滑条件下的最优个体收敛速率,与文献[12]类似,本文巧妙设计了时变的步长和动量权重参数,同时使用Zinkevich在处理在线优化问题收敛性时使用的技巧,处理变步长与权重导致的递归问题[3]。
3)本文选择了典型的
考虑有约束优化问题:
$\mathop {\min }\limits_{{{w}} \in Q} f\left( {{w}} \right)$ | (1) |
式中:
梯度下降法是解决问题式(1)的经典方法,基于梯度反方向总是指向目标函数下降的方向这一事实,具体迭代步骤为
$ {{{w}}_{t + 1}} = {\pi _Q}\left( {{{{w}}_t} - {\alpha _t}{{{g}}_t}} \right) = {\rm{ }} \mathop {\arg \min }\limits_{{{w}} \in Q} \left\| {{{w}} - \left( {{{{w}}_t} - {\alpha _t}{{{g}}_t}} \right)} \right\|_2^2 $ | (2) |
式中:
平均收敛速率指的是
Agarwal等[19]证明非光滑一般凸情形下投影次梯度式(2)能获得
$E\left[ {f\left( {{{\overline {{w}} }_t}} \right) - f\left( {{{{w}}^*}} \right)} \right] \leqslant O\left( {{1/\!\! {\sqrt t }}} \right)$ |
AdaGrad的具体迭代步骤为
${{{w}}_{t + 1}} = {{{w}}_t} - \alpha {{V}}_t^{ - 1/2}{{{g}}_t}$ |
式中:
RMSProp算法采用EMA的形式改变AdaGrad算法中矩阵项算数平方和的计算方式,克服了当梯度较稠密时步长衰减过快的问题。RMSProp算法中矩阵的计算方式可以表示为
${{{V}}_t} = \beta {{{V}}_{t - 1}} + \left( {1 - \beta } \right){\rm{diag}}\left( {{{{g}}_t}{{g}}_t^{\rm{T}}} \right)$ |
式中:
相较于梯度下降法,Heavy-ball型动量法使用动量作为迭代的方向,EMA形式Heavy-ball型动量法可以表示为
${{{m}}_t} = {\beta _t}{{{m}}_t} + \left( {1 - {\beta _t}} \right){{{g}}_t}\\ {{{w}}_{t + 1}} = {{{w}}_t} - {\alpha _t}{{{m}}_t}$ | (3) |
式中
Adam是在RMSProp基础上结合Heavy-ball型动量技巧发展而来的。具体迭代步骤为
${{{m}}_t} = {\beta _{1,t}}{{{m}}_t} + \left( {1 - {\beta _{1,t}}} \right){{{g}}_t}$ |
${{{V}}_t} = {\beta _2}{{{V}}_{t - 1}} + \left( {1 - {\beta _2}} \right){\rm{diag}}\left( {{{{g}}_t}{{g}}_t^{\rm{T}}} \right)$ |
${{{w}}_{t + 1}} = {{{w}}_t} - {\alpha _t}{{V}}_t^{ - 1/2}{{{m}}_t}$ | (4) |
式中:
为了解决Adam的收敛性问题,AMSGrad在Adam自适应矩阵上添加一个使步长衰减的操作,具体形式为
${{{\hat V}}_t} = \max \left\{ {{{{{\hat V}}}_{t - 1}},{{{V}}_t}} \right\}$ |
${{{w}}_{t + 1}} = {{{w}}_t} - {\alpha _t}{{\hat V}}_t^{ - 1/2}{{{m}}_t}$ | (5) |
改进后的Adam算法在
比较Heavy-ball型动量法的式(3)、Adam的式(4)和AMSGrad的式(5)可以看出:除了多了一个自适应步长的矩阵
本节给出非光滑条件下Adam算法在个体最优收敛速率的证明。
为了进行个体收敛性分析,首先借鉴Ghadimi等[8]在光滑条件下Heavy-ball算法收敛速率的证明,引入加权动量项
${{{m}}_t} = {\beta _{1,t}}{{{m}}_t} + \beta' _{1,t}{{{g}}_t}$ |
通过巧妙地选取
${{{w}}_{t + 1}} + {p_{t + 1}} = {{{w}}_t} + {p_t} - {\alpha _t}{{\hat V}}_t^{ - 1/2}{{{g}}_t}$ |
这个关系式和梯度下降法的关键迭代相似,也和Heavy-ball型动量法的关键迭代十分类似。正是基于这个关系式,梯度下降法的收敛分析思路可以用于Heavy-ball型动量法。受文献[12]的启发,巧妙设计了时变步长和动量项参数,得到了个体收敛速率的递归公式,为了得到递归后个体收敛速率的界,这里同样要使用Zinkevich在线优化时使用的迭代技巧。与文献[12]不同的是,本文需要处理自适应步长矩阵,而不是人为指定的步长,这里我们又借鉴Kingma在证明在线Adam的regret界时使用的技巧。
引理 1 令
$\begin{gathered} \sum\limits_{j = 1}^t {\sqrt j } \left\{ {\left\| {{{{w}}_j} - {{{w}}^*}} \right\|_{{{\hat V}}_j^{1/2}}^2 - \left\| {{{{w}}_{j + 1}} - {{{w}}^*}} \right\|_{{{\hat V}}_j^{1/2}}^2} \right\} + \\ \sum\limits_{j = 1}^t {\frac{1}{{\sqrt j }}} \left\| {{{{g}}_j}} \right\|_{{{\hat V}}_j^{ - 1/2}}^2 \leqslant \\ D_\infty ^2\sqrt t \sum\limits_{i = 1}^d {{{\hat V}}_{t,i}^{1/2}} + \frac{{2{G_\infty }}}{{\sqrt {1 - {\beta _2}} }}\sum\limits_{i = 1}^d {{{\left\| {{{{g}}_{1:t,i}}} \right\|}_2}} \\ \end{gathered} $ |
定理 1 设
$\begin{gathered} f\left( {{{{w}}_t}} \right) - f\left( {{{{w}}^*}} \right) \leqslant \frac{{f\left( {{{{w}}_0}} \right) - f\left( {{{{w}}^*}} \right)}}{{1 + t}} + \\ \frac{{D_\infty ^2\sqrt t }}{{2\alpha \left( {1 + t} \right)}}\sum\limits_{i = 1}^d {{{\hat V}}_{t,i}^{1/2}} + \frac{{\alpha {G_\infty }}}{{\left( {1 + t} \right)\sqrt {1 - {\beta _2}} }}\sum\limits_{i = 1}^d {{{\left\| {{{{g}}_{1:t,i}}} \right\|}_2}} \\ \end{gathered} $ |
至此,我们成功得到了Adam算法在非光滑情况下的最优个体收敛速率,然而,批处理形式的Adam算法每次迭代都使用全部样本计算次梯度
本文仅考虑二分类问题,假设训练样本集
$\mathop {\min }\limits_{{{w}} \in Q} f\left( {{w}} \right) = \frac{1}{m}\sum\limits_{i = 1}^m {{f_i}\left( {{w}} \right)} $ |
约束情况下随机形式的Adam算法迭代步骤可以表示为
${{{w}}_{t + 1}} = {\pi _Q}\left( {{{{w}}_t} - {\alpha _t}{{\hat V}}_t^{ - 1/2}{{{m}}_t}} \right)$ | (6) |
相对于批处理形式的次梯度
$\nabla {f_i}\left( {{w}} \right){\rm{ = }}\frac{1}{m}\sum\limits_{\left( {{{{x}}_i},{y_i}} \right) \in A_t^ + } {{y_i}{{{x}}_i}} $ | (7) |
其中
随机Adam算法:
1)初始化
2) for t=1 to T;
3)等可能性选取
4)根据式(7)计算随机次梯度
5)取
6)由式(5)计算
7) end for;
8)输出
因为样本点间满足独立同分布,所以计算得到的随机次梯度
定理 2 设
$ \begin{gathered} E\left[ {f\left( {{{{w}}_t}} \right) - f\left( {{{{w}}^*}} \right)} \right] \leqslant \frac{{f\left( {{{{w}}_0}} \right) - f\left( {{{{w}}^*}} \right)}}{{1 + t}} +\\ \frac{{D_\infty ^2\sqrt t }}{{2\alpha \left( {1 + t} \right)}}\sum\limits_{i = 1}^d {{{\hat V}}_{t,i}^{1/2}} + \frac{{\alpha {G_\infty }}}{{\left( {1 + t} \right)\sqrt {1 - {\beta _2}} }}\sum\limits_{i = 1}^d {{{\left\| {{{{g}}_{1:t,i}}} \right\|}_2}} \\ \end{gathered} $ |
由定理2可知,得到了随机Adam算法在非光滑条件下的最优个体收敛速率。
3 实验本节主要对随机Adam算法的个体收敛速率的理论分析和稀疏性进行实验验证。
3.1 实验数据和比较算法实验采用6个标准数据集,分别是ijcnn1、covtype、a9a、w8a、CCAT和astro-physic。这些数据均来自于LIBSVM网站,具体描述可见表1。
实验对5种随机优化方法进行比较,分别是平均形式输出的SGD方法、个体形式输出的Heavy-ball型动量法、NAG型动量法、平均形式输出的Adam算法及个体形式输出的Adam算法。从理论分析的角度来说,上述5种算法的收敛界均达到了最优。
3.2 实验方法及结论为了算法比较的公平,各个算法在对应数据集上运行10次,每次迭代10 000步,最后取平均值作为输出。SGD算法的计算方式为式(2),其中步长
图1为5种算法的收敛速率对比图,纵坐标表示当前目标函数值与最优目标函数值之差。其中绿色、蓝色、青色、粉色、红色分别代表平均形式输出的SGD算法、个体形式输出的Heavy-ball型动量法、个体形式输出的NAG型动量法、平均形式输出的Adam算法、个体形式输出的Adam算法。可以看到,在5000步迭代之后,5种算法在6个标准数据集上都达到了
Download:
|
|
图2为5种算法的稀疏性对比,纵坐标表示各算法对应输出的稀疏度,稀疏度越低,变量中非零向量所占比例越小。可以看到,个体形式输出的Heavy-ball型动量法、NAG型动量法和Adam算法明显比平均形式输出的SGD算法和Adam算法拥有更低的稀疏度,同时,数据集越稀疏,算法获得的稀疏度也越低。这一结论充分说明,个体解输出比平均解输出能更好地描述样本的稀疏性。同时我们观察到在稀疏度一般的前4个数据集上有震荡的现象,这是算法的随机性导致的,在维度较大、稀疏度较低的后两个数据集上该震荡现象消失。
Download:
|
|
本文对非光滑条件下Adam算法的收敛性进行了初步的研究,证明了Adam算法可以获得最优的个体收敛速率。本文的结论表明,在最坏情况下Adam算法的个体收敛速率和Heavy-ball型动量法的个体收敛速率类似。但Adam算法保留了AdaGrad算法的优点,个体收敛速率界比Heavy-ball型动量法更紧。下一步将继续研究强凸情况下Adam算法最优的个体收敛速率问题以及基于NAG型动量的Adam算法的最优个体收敛速率问题。
[1] | KINGMA D P, BA J L. Adam: a method for stochastic optimization[C]//Proceedings of the 3rd International Conference for Learning Representations. San Diego, USA, 2015. (0) |
[2] | DUCHI J, HAZAN E, SINGER Y. Adaptive subgradient methods for online learning and stochastic optimization[J]. The journal of machine learning research, 2011, 12: 2121-2159. (0) |
[3] | ZINKEVICH M. Online convex programming and generalized infinitesimal gradient ascent[C]//Proceedings of the 20th International Conference on Machine Learning. Washington, USA, 2003: 928−935. (0) |
[4] | TIELEMAN T, HINTON G. Lecture 6.5-RMSProp: divide the gradient by a running average of its recent magnitude[R]. Toronto: University of Toronto, 2012. (0) |
[5] | ZEILER M D. ADADELTA: an adaptive learning rate method[EB/OL]. (2012–12–22)[2020–04–20]. https://arxiv.org/abs/1212.5701 (0) |
[6] | POLYAK B T. Some methods of speeding up the convergence of iteration methods[J]. USSR computational mathematics and mathematical physics, 1964, 4(5): 1-17. DOI:10.1016/0041-5553(64)90137-5 (0) |
[7] | NESTEROV Y E. A method of solving a convex programming problem with convergence rate O(1/k2) [J]. Soviet mathematics doklady, 1983, 27(2): 372-376. (0) |
[8] | GHADIMI E, FEYZMAHDAVIAN H R, JOHANSSON M. Global convergence of the Heavy-ball method for convex optimization[C]//Proceedings of 2015 European Control Conference. Linz, Austria, 2015: 310−315. (0) |
[9] | SHAMIR O, ZHANG Tong. Stochastic gradient descent for non-smooth optimization: convergence results and optimal averaging schemes[C]//Proceedings of the 30th International Conference on International Conference on Machine Learning. Atlanta, USA, 2013: 1-71−1-79. (0) |
[10] |
陶蔚, 潘志松, 储德军, 等. 使用Nesterov步长策略投影次梯度方法的个体收敛性[J]. 计算机学报, 2018, 41(1): 164-176. TAO Wei, PAN Zhisong, CHU Dejun, et al. The individual convergence of projected subgradient methods using the Nesterov’s step-size strategy[J]. Chinese journal of computers, 2018, 41(1): 164-176. (0) |
[11] | TAO Wei, PAN Zhisong, WU Gaowei, et al. The strength of Nesterov’s extrapolation in the individual convergence of nonsmooth optimization[J]. IEEE transactions on neural networks and learning systems, 2020, 31(7): 2557-2568. (0) |
[12] |
程禹嘉, 陶蔚, 刘宇翔, 等. Heavy-Ball型动量方法的最优个体收敛速率[J]. 计算机研究与发展, 2019, 56(8): 1686-1694. CHENG Yujia, TAO Wei, LIU Yuxiang, et al. Optimal individual convergence rate of the Heavy-ball-based momentum methods[J]. Journal of computer research and development, 2019, 56(8): 1686-1694. (0) |
[13] | KIROS R, ZEMEL R S, SALAKHUTDINOV R, et al. A multiplicative model for learning distributed text-based attribute representations[C]//Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal, Canada, 2014: 2348−2356. (0) |
[14] | BAHAR P, ALKHOULI T, PETER J T, et al. Empirical investigation of optimization algorithms in neural machine translation[J]. The Prague bulletin of mathematical linguistics, 2017, 108(1): 13-25. DOI:10.1515/pralin-2017-0005 (0) |
[15] | REDDI S J, KALE S, KUMAR S. On the convergence of Adam and beyond[C]//Processing of the 6th International Conference on Learning Representations. Vancouver, Canada, 2018. (0) |
[16] | WANG Guanghui, LU Shiyin, TU Weiwei, et al. SAdam: a variant of Adam for strongly convex functions[C]//Processing of the 8th International Conference on Learning Representations. Addis Ababa, Ethiopia, 2020. (0) |
[17] | CHEN Xiangyi, LIU Sijia, SUN Ruoyu, et al. On the convergence of a class of Adam-type algorithms for non-convex optimization[C]//Processing of the 7th International Conference on Learning Representations. New Orleans, USA, 2019. (0) |
[18] | DUCHI J, SHALEV-SHWARTZ S, SINGER Y, et al. Efficient projections onto the l1-ball for learning in high dimensions[C]//Processing of the 25th International Conference on Machine learning. Helsinki, Finland, 2008: 272−279. (0) |
[19] | AGARWAL A, BARTLETT P L, RAVIKUMAR P, et al. Information-theoretic lower bounds on the oracle complexity of stochastic convex optimization[J]. IEEE transactions on information theory, 2012, 58(5): 3235-3249. DOI:10.1109/TIT.2011.2182178 (0) |
[20] | SHALEV-SHWARTZ S, SINGER Y, SREBRO N, et al. Pegasos: primal estimated sub-gradient solver for SVM[J]. Mathematical programming, 2011, 127(1): 3-30. DOI:10.1007/s10107-010-0420-4 (0) |
[21] | RAKHLIN A, SHAMIR O, SRIDHARAN K. Making gradient descent optimal for strongly convex stochastic optimization[C]//Processing of the 29th International Conference on International Conference on Machine Learning. Edinburgh, Scotland, 2012: 1571−1578. (0) |