1. 引言
随着计算机与网络的飞速发展,机器学习在各个领域中起着越来越大的作用,正在不断改变着我们的生活。不管是机器学习还是神经网络,它们往往都可以归结为求解最优化问题[1]。
机器学习中的优化问题根据目标函数的凸性,可分为凸优化问题和非凸优化问题;根据目标函数是否带有约束,可分为约束优化问题和无约束优化问题。对于非凸优化问题,在实际应用中,有时候可以通过如局部线性化、凸松弛等技巧将非凸优化问题转化为凸优化问题,从而利用凸优化的相关算法来求解。对于约束优化问题,可以通过如罚函数等方法将其转化为无约束优化问题。本文考虑的是无约束凸优化问题。
机器学习在现代社会扮演着越来越重要的角色,对医疗健康、金融领域、智能交通、自然语言处理等领域都产生了深远的影响。而作为机器学习的根本,对求解优化问题相关算法的研究在近年来日益受到人们的关注。
本文考虑的问题为无约束优化问题:
(1)
其中
是光滑的强凸函数。定义
上的一类光滑凸函数为
,若
,函数梯度满足Lipschitz连续:
(2)
其中L是Lipschitz系数。定义
上的强凸函数
,若存在常数
,使得函数
为凸函数,则称函数
为μ-强凸函数。若函数
为μ-强凸函数,则
,满足:
(3)
最基础的梯度算法是梯度下降法:
(4)
其中s是步长。梯度下降法的基本思想是沿着函数梯度的反方向逐步迭代更新参数,以减小目标函数的值。然而,梯度下降法的算法性能在很大程度上受到目标函数的约束。为了解决这一问题,提高算法的收敛速率,近几十年来,学者们从不同的角度出发,设计了不同的加速梯度算法,其中较为典型的有重球方法[2]与Nesterov加速梯度算法(NAG算法) [3],其中NAG算法具有优秀的算法性能,在机器学习中被广泛运用。然而,算法的加速原理至今未能得到合理的解释。
常微分方程(Ordinary Differential Equations, ODE)与一阶优化算法之间存在密切的联系。在无约束优化问题中,求解优化问题的过程可以被视为一个微分方程的求解过程。因此,微分方程理论为我们提供了一种理论框架,帮助我们理解梯度类算法在优化问题中的工作原理,并为算法的收敛性和稳定性提供理论支持。基于这一思想,人们开始从ODE的角度来解释算法的加速原理,并设计新的加速梯度算法。Attouch [4]在重球方法对应ODE的基础上引入含有Hessian矩阵的项,得到惯性动力系统。Su等人[5]将NAG算法的迭代点视为一个连续变量在某些特定时间点取值的近似,利用泰勒展开,得到了NAG算法对应连续时间下的ODE。Shi B等人[6]在此基础上,通过更高阶的泰勒展开,分别得到了NAG算法与重球方法对应的高精度ODE,高精度ODE更能反应算法的新能。Chen等人[7]以ODE为工具,给出了一阶凸优化算法的统一收敛性分析框架,并提出了一种新的动态惯性牛顿系统,以此得到了新的加速梯度算法[8]。
本文基于文献[6]中提出的Layapunov函数构建方法,考虑一类系数不定的ODE:
(5)
首先,通过构造合适的Layapunov函数,证明该ODE在不定系数
在满足什么条件下能够快速收敛。其次,本文使用两种不同的离散格式:显式欧拉格式和隐式欧拉格式对该ODE进行离散,得到两种不同的优化算法,并分别构造合适的Layapunov函数,证明这两类算法的收敛速率。最后,通过数值实验,验证所得算法的实用性。
2. 系数不定的二阶常微分方程与收敛速率
在本章中,我们考虑一个系数不定的二阶ODE:
(6)
定理2.1. 证明了系数
在满足什么条件时,ODE能够快速收敛。
定理2.1. 假设目标函数
,
为ODE:
的一个解,当系数
满足
时,
满足
,其中
证明:设Layapunov函数为:
.
由
的强凸性可得
故
(7)
由柯西–施瓦茨不等式,
故
(8)
对比式(7)和式(8)中的各项,当系数
满足
时,
,
即
,
设
,
,由于
,则有
.
综上,
其中
3. 一类新的加速梯度算法
在第二章中,我们证明了系数不定的ODE:
在系数
在满足什么条件时,ODE能够快速收敛。式(6)等价于:
(9)
本章将使用两种不同的离散格式:显式欧拉格式和隐式欧拉格式对式(9)进行离散得到相应的优化算法,并分别证明它们的收敛速率。
3.1. 显式欧拉格式
第一种离散格式是显式欧拉格式,它的近似规则如下:
.
由显式欧拉格式离散式(9)可得如下优化算法:
(10)
定理3.1. 假设目标函数
,对于显式欧拉格式产生的迭代点序列
,当系数
满足
,步长s满足
时,收敛速率满足
其中
证明:设Layapunov 函数为:
.
由柯西–施瓦茨不等式,
故
由于
,则有
故
(11)
对于式(11),若步长s满足条件
,
可得
(12)
由柯西–施瓦茨不等式,
故
(13)
对比式(12)和式(13)中的各项,可得
即
设
,
,由于
,则有
.
综上,
其中
3.2. 隐式欧拉格式
第二种离散格式是隐式欧拉格式,它的近似规则如下:
由隐式欧拉格式离散式(9)可得如下优化算法:
(14)
定理3.2. 假设目标函数
,对于隐式欧拉格式产生的迭代点序列
,当系数
满足
,步长s满足
时,收敛速率满足
其中
证明:设Layapunov函数为:
由柯西–施瓦茨不等式,
故
由于
,则有
故
(15)
由柯西–施瓦茨不等式,
故
(16)
对比式(15)和式(16)中的各项,可得
即
设
,
,由于
,则有
.
综上,
其中
4. 数值实验
在本章中,我们将对第三章中所得的算法进行数值实验,验证算法的性能。同时使用NAG算法与梯度下降法作为对比,证明算法的实用性。
由于本文考虑的目标函数
,为了方便获取函数的
值,我们选取了CUTest数据集中的无约束二次函数问题作为测试函数。由于我们提出的算法中含有不定系数
,且它们往往与目标函数的
值相关,对于每个测试问题,事先将各个系数调整为合适的值。每种算法都使用相同的固定步长。
算法终止条件:
或
。
Table 1. Comparison of average number of iterations and computation time of various algorithms when the objective function is a quadratic function
表1. 目标函数为二次函数时,各个算法的平均迭代次数与运算时间对比
|
显式欧拉格式 |
隐式欧拉格式 |
NAG算法 |
梯度下降法 |
平均迭代次数 |
8941 |
1507 |
1836 |
10,447 |
平均运行时间(s) |
0.007131 |
0.001376 |
0.001427 |
0.007559 |
由表1可知,隐式欧拉格式在平均迭代次数上表现明显优于其他算法,在平均运行时间上略优于NAG算法,明显优于梯度下降法,这一结果表明隐式欧拉格式为加速梯度算法,且数值表现优于NAG算法。显示欧拉格式由于受到步长的限制,在数值实验中的表现与梯度下降法类似,没有起到加速效果。
5. 结论
本文主要研究的是从ODE中得到新的加速梯度算法。本文考虑的不再是一个固定的ODE,而是一个系数不定的ODE:
,
通过构造合适的Layapunov函数,证明了系数
在满足什么条件下,该ODE具有较快的收敛速率。同时,本文使用了两种不同的离散格式:显式欧拉格式、隐式欧拉格式对该ODE进行离散,得到了相应的优化算法,并通过构造合适的Layapunov函数,分别证明了这两种算法的收敛速率。最后,本文对于提出的优化算法进行了初步的数值实验。分别使用CUTest数据集中的无约束二次函数问题作为测试集,验证了算法的性能,并以NAG算法和梯度下降法作为对比。结果表明,当目标函数为二次函数时,隐式欧拉格式算法的数值表现优于NAG算法。