陶 卿,博士,教授,主要研究方向为模式识别、机器学习、应用数学.E-mail:qing.tao@ia.ac.cn.
作者简介:
黄鉴之,硕士研究生,主要研究方向为凸优化算法及在机器学习中的应用.E-mail:hjz18302840594@163.com.
陇 盛,硕士研究生,主要研究方向为凸优化算法及在机器学习中的应用.E-mail:ls15186322349@163.com.
同时使用自适应步长和动量两种优化技巧的AMSGrad在收敛性分析方面存在比自适应步长算法增加一个对数因子的问题.为了解决该问题,文中在非光滑凸情形下,巧妙选取动量和步长参数,证明自适应策略下Heavy-Ball型动量法具有最优的个体收敛速率,说明自适应策略下Heavy-Ball型动量法兼具动量的加速特性和自适应步长对超参数的低依赖性.求解 l1范数约束下的Hinge损失问题,验证理论分析的正确性.
TAO Qing, Ph.D., professor. His research interests include pa-ttern recognition, machine learning and applied mathematics.
AboutAuthor:
HUANG Jianzhi, master student. His research interests include convex optimization algorithm and its application in machine lear-ning.
LONG Sheng, master student. His research interests include convex optimization algorithm and its application in machine lear-ning.
Optimization techniques, including adaptive step-size and momentum, are both utilized in AMSGrad. Compared with the adaptive step-size algorithms, there is one more logarithm factor in AMSGrad for convergence analysis. To solve the problem, the non-smooth convex problems are studied in this paper. By selecting the time-varying step-size and momentum parameters correctly, it is proved that the Heavy-ball-based momentum methods with adaptive step-size obtain the optimal individual convergence rate. It is indicated that the Heavy-ball-based momentum methods with adaptive step-size hold the advantages in both adaptation and acceleration. Hinge loss problem under L1-norm constraint is solved to verify the correctness of theoretical analysis.
本文责任编委 陈恩红
Recommended by Associate Editor CHEN Enhong
自适应步长和动量是目前深度学习中常用的两种优化技巧.自适应步长技巧利用数据稀疏的特性, 保留历史梯度信息, 降低算法对超参数的依赖性[1].动量技巧可加速算法在求解凸问题时的收敛速率, 在处理非凸问题时可越过鞍点甚至局部极值点[2].同时使用自适应步长和动量技巧的算法有Adam(Adaptive Moment Estimation)[3]、Nadam(Nesterov Accelerated Adaptive Moment Estimation)[4]、AMSGrad[5]、AdamNC[5]等.但是, 上述算法不论是自适应步长还是动量都是建立在指数移动平均的基础上, 给算法收敛性分析带来较大困难.
自适应步长方法利用优化过程中的历史梯度信息实现步长的动态调整.常见的自适应步长:1)Du- chi等[1]在AdaGrad(Adaptive Gradient Algorithm中提出的算数平均型, 2)Zou等[6]在RMSProp(Root Mean Square Propagation)中提出的指数移动平均(Exponential Moving Average, EMA)型.Mukkama- la等[7]证明, 当EMA中衰减参数取特殊变值时, 可特化为算数平均.AdaGrad通过对过去所有梯度外积做和的方式实现步长自适应, 在一般凸的情况下, 可获得和梯度下降法一样O(
动量法是在经典梯度下降法基础上添加动量项演变而来, 广泛用于提高一阶梯度算法的收敛速率.同时, 因为动量中隐含梯度的平均, 也被当作方差减速器使用[8].近年来, 动量法广泛应用于深度神经网络训练, 根据动量项计算方式不同, 可将动量法分为2类:1)Polyak[9]提出的Heavy-Ball型动量法, 2)Nesterov[10]提出的NAG(Nesterov Accelerated Gradient)型动量法.两者的主要区别在于计算梯度的位置不同, Heavy-Ball型动量法在当前位置计算梯度, NAG型动量法会根据当前动量预估下次迭代可能到达的位置, 并在预估的位置计算梯度.动量法的加速特性主要体现在求解光滑凸问题时NAG型动量将梯度下降法O(1/t)的收敛速率加速至O(1/t2).当目标函数光滑强凸时, 动量法和梯度下降法均能达到线性收敛, 但动量法具有较小的收敛因子, 仍具有加速性[11].
对于非光滑凸优化问题, 大多数算法都能获得O(1/
Kingma等[3]结合EMA型自适应步长和EMA型动量, 提出Adam.Adam在深度学习中具有较优表现, 但因其使用EMA策略, 导致在算法收敛性分析方面困难较多.尽管Kingma等[3]证明Adam算法在一般凸情形下能取得O(
基于上述分析, 本文在非光滑凸情形下借鉴光滑情形下Heavy-Ball型动量法的证明思路, 得到类似梯度下降法的迭代步骤, 同时使用Zinkevich[17]在处理在线优化问题收敛性时使用的技巧, 处理变步长与权重导致的递归问题.巧妙选取时变步长和动量项前权重参数, 得到非光滑情形下的最优个体收敛速率O(1/
训练深度神经网络相当于解决如下约束优化问题:
其中, f(w)为损失函数, 这里只考虑它为凸函数的情况, Q⊆Rn为有界闭凸集.记w* 为式(1)的一个最优解.
梯度下降法(Gradient Descent, GD)是解决问题(1)常用的算法之一, 迭代步骤如下:
wt+1=wt-α tgt.
其中:wt表示第t次迭代后到达的位置; α t为人工设置的衰减步长, 一般凸情形下取α t=α /
平均收敛速率是指f(
与之对应, 个体收敛速率是指f(wt)-f(w* )的收敛速率.通常来说, 对于非光滑问题, 个体收敛更难获得最优速率.
Agarwal等[18]证明非光滑一般凸情形下梯度下降可获得O(1/
f(
在小规模学习问题中, GD对各下降方向选取相同的步长可能会影响算法性能[19].为了解决该问题, 自适应步长算法利用历史梯度信息实现动态调整各下降方向的步长.
AdaGrad和RMSProp的迭代步骤可统一写为
wt+1=wt-α t
其中:Vt为d× d维的自适应矩阵, 为对角矩阵;
α t=α /
显然, 按照GD的表示方式, 可将自适应步长方法的步长视为α t
AdaGrad中自适应矩阵Vt为过去所有梯度外积矩阵的算数平均:
Vt=
其中,
AdaGrad的步长
α t
为O(1/
O(
依赖于数据的regret界, 其中g1:t为{g1, g2, …, gt}构成的d× t维矩阵, g1:t, i表示由矩阵g1:t第i行组成的向量.
RMSProp中自适应矩阵Vt为过去所有梯度外积矩阵的移动指数平均:
Vt=β tVt-1+(1-β t)
其中β t∈ [0, 1), 一般情况下经验性地将β t取0.9或0.99, 当β t为常数时, 步长也为O(1/
Vt=
当
β t=1-
时,
Vt=
整理可得
Vt=
这时EMA型自适应矩阵转化为算数平均型自适应矩阵.
由此可见, AdaGrad是RMSProp的一个特例.一般凸情形下, 当
1-
时, RMSProp也能获得
O(
依赖于数据的regret界[7].
与自适应步长法类似, Heavy-ball型动量法中动量也有2种计算形式:1)Polyak[9]提出的以迭代前后两点位置之差为动量的传统Heavy-ball型动量法, 迭代步骤如下:
wt+1=wt-α tgt+μ t(wt-wt-1), (4)
其中, wt-wt-1为动量, μ t∈ [0, 1)为动量的衰减系数.2)利用历史梯度, 采用EMA形式计算动量, 迭代步骤如下:
mt=μ tmt-1+(1-μ t)gt,
wt+1=wt-α tmt,
其中mt为动量.
AMSGrad同时使用EMA型自适应步长和EMA型动量, 迭代步骤如下:
mt=μ tmt+(1-μ t)gt,
Vt=β tVt-1+(1-β t)
wt+1=wt-α t
一般凸情形下, AMSGrad只能获得
O(
的regret界, 这比单独使用自适应步长技巧的RMSProp增加一个对数因子.
从2种自适应步长法的式(2)可看出, 只要步长保持和梯度下降法一样的O(1/
wt+1=wt-α t
其中自适应矩阵采用RMSProp中式(3)的形式.
根据输出方式的不同, 收敛速率分为平均收敛速率和个体收敛速率.通常来说, 对于非光滑问题, 个体收敛速率更难获得, 同时, 个体收敛速率可通过简单的累加变换为平均收敛速率, 更具有普适性.本节给出自适应策略下Heavy-Ball型动量法的个体最优收敛速率的证明.
因为AdaGrad是RMSProp的一个特例, 所以本节只考虑EMA型自适应矩阵.为了进行个体收敛性分析, 首先借鉴Ghadimi等[11]在光滑条件下对式(4)的Heavy-ball算法收敛速率的证明, 引入加权动量项
pt=t(wt-wt-1).
巧妙选取梯度和动量前的时变参数, 可将式(6)的迭代步骤转化为
wt+1+pt+1=wt+pt-
这个关系式和自适应步长法的关键迭代步骤相似, 正是由于这种相似性, 使自适应步长法的收敛性分析思路可用于自适应策略下Heavy-Ball型动量法.
受程禹嘉等[15]的启发, 巧妙设计梯度和动量前的时变参数, 得到个体收敛速率的递归公式, 为了得到递归后个体收敛速率的界, 这里同样要使用Zinkevich[17]在在线优化时使用的迭代技巧.与程禹嘉等[15]不同的是, 文献[17]的迭代技巧需要处理自适应步长矩阵, 而不是人为指定的衰减步长.
基于式(7), 可证明定理1, 但为了解决变步长和权重导致的递归问题, 先证明引理1.
引理1 令
1-
由式(6)生成wt, 则
证明 根据文献[7]引理4.1可知,
使用Zinkevich[17]在线优化时使用的迭代技巧进行整理:
定理1 设f(w)为一般凸函数, 取μ t=
f(wt)-f(w* )≤
证明 wt+1+Pt+1=wt+1+(t+1)(wt+1-wt)=(t+2)wt+1-(t+1)wt=wt+Pt-
不等式两边同乘
2(t+1)[f(wt)-f(w* )]≤
2t[f(wt-1)-f(w* )]+
2(t+1)[f(wt)-f(w* )]≤
2[f(w0)-f(w* )]+
根据引理1可得
2(t+1)[f(wt)-f(w* )]≤ 2[f(w0)-f(w* )]+
f(wt)-f(w* )≤
推论1 当
β t=1-
时, RMSProp转化为AdaGrad, 此时可得
f(wt)-f(w* )≤
取
α =
可得
f(wt)-f(w* )≤
到目前为止, 已证明自适应策略下Heavy-Ball型动量法的个体最优收敛速率.但是, 上述证明都是建立在批处理的基础上, 每次迭代都会遍历样本集用于计算次梯度.为了解决大规模学习问题下遍历样本集耗时、资源耗费过多的问题, 将自适应策略下Heavy-Ball型动量法推广至随机形式.
本文仅考虑二分类问题, 假设训练样本集
S={(x1, y1), (x2, y2), …, (xm, ym)}∈ Rd× {1, -1},
其中, x为样本的特征向量, y为监督值, 同时(xi, yi)之间满足独立同分布.只考虑最简单的非光滑稀疏学习问题“ hinge损失”
fi(w)=max{0, 1-yi(w, xi)}
的目标函数:
有约束情况下随机形式的自适应策略下Heavy-Ball型动量法迭代步骤可表示为
wt+1=PQ(wt-α t
相对于批处理形式的次梯度gt, 随机优化每次只选择一个样本计算随机次梯度▽fi(w).由于“ hinge损失” 次梯度的计算方式有很多种, 这里选择文献[20]的方式:
▽fi(w)=
其中
At⊆S,
实验中选取|At|=1.
随机自适应策略下Heavy-Ball型动量法具体步骤如下.
算法 随机自适应策略下Heavy-Ball型动量法
输入 循环次数T
输出 wT
初始化 向量w0∈ Q
For t=1 to T
等可能性选取i=1, 2, …, m
根据式(9)计算随机次梯度▽fi(wt)
取μ t=
由式(8)计算wt+1
End For
因为样本点满足独立同分布, 所以随机次梯度Ñ fi(wt)为损失函数在点wt处次梯度gt的无偏估计.应用文献[21]中将批处理算法收敛速率转化为随机算法收敛速率的技巧, 可得到定理2.
定理2 设f(w)为一般凸函数, 取
μ t=
wt由随机自适应策略下Heavy-Ball型动量法生成, 则
E[f(wt)-f(w* )]≤
由定理2得到随机自适应策略下Heavy-Ball型动量法在非光滑条件下的最优个体收敛速率.
本节主要对随机自适应策略下Heavy-Ball型动量法个体收敛速率的理论分析进行实验验证.实验主要调用投影函数在l1范数球上进行投影.作为拓展, 实验也可参考文献[22], 修改投影函数在
实验环境为Windows10操作系统, 3.4 GHz CPU, Intel(R) core(TM)i7处理器, 内存16 GB, 软件环境为Matlab2016a.
实验一共采用ijcnn1、covtype、rcv1、CCAT这4个标准数据集.所有数据均来自于LIBSVM网站(https://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html), 数据集详细描述见表1.
实验共对如下3种随机优化算法进行对比:个体形式输出的Heavy-ball型动量法(简记为Heavy-ball), 个体形式输出的NAG型动量法(简记为NAG), 个体形式输出的自适应策略下Heavy-Ball型动量法(简记为Heavy-ball+HB).从收敛速率角度分析, 上述3种算法都取得最优个体收敛速率.为了保证实验的公平性, 每种算法在对应数据集上运行10次, 每次迭代10 000步, 最后取10次运行的平均值作为输出.Heavy-ball型动量法迭代步骤为式(4), 步长选择取自文献[15], 其中
μ t=
NAG型动量法的计算方式及步长选择取自文献[13]和文献[14], 迭代步骤如下:
yt=wt+θ t(
wt+1=yt-η t▽f(yt),
其中,
θ t=
自适应策略下Heavy-Ball型动量法计算方式为式(8), 步长设置与迭代次数有关, 其中,
μ t=
本次实验调用SLEP工具箱实现投影计算, 集合Q为l1范数球{w:
图1为3种算法在4个数据集上的收敛速率, 纵坐标表示当前目标函数值与最优目标函数值之差.
由图1可看到:经过5 000次迭代后, 3种算法的精度都趋于稳定; 经过10 000次迭代后, 3种算法都到10-5的精度.观察到算法在稀疏度一般的ijcnn1、covtype数据集上有震荡的现象, 这是算法随机性导致的.在维度较大、稀疏度更低的rcv1、CCAT数据集上算法震荡现象消失.3种算法的收敛趋势基本相同, 这与理论分析基本吻合.
本文初步研究非光滑条件自适应策略下Heavy-Ball型动量法, 证明其可得到最优的个体收敛速率.该结论解决AMSGrad收敛速率增加一个对数因子的问题, 同时表明, 在最坏情况下, 自适应策略下Heavy-Ball型动量法具有和Heavy-Ball型动量法相同的收敛速率.在数据稀疏的情况下, 保留自适应步长算法收敛速率依赖数据的特性, 获得的个体收敛速率比单纯使用动量法更快.今后, 将继续研究强凸情形自适应策略下Heavy-Ball型动量法的个体收敛问题.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|
[18] |
|
[19] |
|
[20] |
|
[21] |
|
[22] |
|