1. 引言
本文考虑如下优化问题
(1)
其中
是定义在欧氏空间
上的下半连续凸函数,求解问题(1)的算法有很多,当问题(1)为一般优化问题且目标函数F光滑时,可利用梯度法进行求解。当目标函数F不具有光滑性时,可采用次
梯度算法、邻近点算法等进行求解。当目标函数F为大规模可分离优化问题时,即
,
其中
,其中每个
可都是下半连续的凸函数且可微,这类优化问题可用一阶/二阶随机优化算法求解,如Robbins等人(1951)提出了随机梯度算法(SGD) [1] 与基于SGD的随机方差减小的梯度下降算法 [2] 。二阶算法由于使用了更多信息,通常可得到更快的收敛速度,常用的算法有子样本牛顿算法(Newsamp) [3] ,近似估计Heesian矩阵的Lissa算法 [4] ,对梯度与Heesian矩阵进行完全随机抽样的SSN算
法 [5] 。此外,当函数包含不可微项时,即
,其中
是定义在欧氏
空间
上的下半连续凸函数,这类问题的应用也较为广泛,如图像恢复 [6] 、信号处理 [7] 、机器学习 [8] 等。本文将在邻近梯度算法的基础上引入线搜索思想对该问题做系列分析,该算法的迭代格式如下
其中
,称
为邻近算子。
邻近点算法的思想可追溯到 [9] [10] ,1970年,Martinet最早提出了邻近点算法,1976年,Rockafellar在文 [11] [12] 利用它来求解极大单调算子的零点问题,1991年,Guler又进一步讨论了正常下半连续极小化问题的邻近点算法及其收敛性质。后Beck和Teboulle [7] 将邻近点算法与梯度下降算法相结合,这也就是邻近梯度算法,这类算法主要用于解决确定的复合优化问题,并且在目标函数凸或非凸时,分析了算法的收敛性和收敛速度。由于上述算法的迭代过程依赖可微函数的Lipschitz常数,因此Bello在文 [13] 中引入了线搜索的思想,提出了带线搜索的邻近梯度算法,该算法不仅保留了邻近梯度算法的优点,还不依赖于Lipschitz常数。在带有大规模可分离优化问题时,作者在文 [14] 中利用随机逼近(SA)方法解决优化问题(1),并分析了随机梯度下降算法的收敛性。
基于上述这些论文的启发,本文将提出求解大规模复合凸优化问题的带线搜索的非精确邻近梯度算法,在算法的迭代过程中,对目标函数中的可分离部分采用非精确梯度,非精确邻近梯度算法不仅保留了邻近梯度算法易计算的优点,还在迭代过程中减小了数据储存量,提高了算法的效率。
2. 预备知识
本节将介绍一些必要的预备知识,包括一些符号、定义以及算法的分析证明过程中所要用到的概念、引理。在文中,
分别表示实数集,正实数集。用小写字母表示欧式空间
中的向量,例如,
。空间
中的内积和2-范数分别用
和
表示。
设
为定义在
上的广义实值函数,其定义域为:
若
,则称函数f是真的。函数f的上图定义为
如果
在
上是闭的,则称f是下半连续的。假设f为下半连续真凸函数,则函数f在点x处沿方向
的方向导数的定义为
f在x处的次微分定义为
(2)
如果
,则
。
定义1 定义邻近算子
如下:
即
。通过变形可得到其满足
(3)
引理1 ( [15] , Proposition 17.2)设
为一个下半连续真凸函数,则对任意
与
满足
(1)
存在且
。
(2)
。
引理2 设
为下半连续真凸函数,则对任意的
与
,下列结论成立:
(1)
为非空有界闭凸集。
(2) 若函数f在点x处可微,则有
,其中
表示函数f在点x的梯度。
(3) 设
,则有
。若
,则等号成立。
对于凸函数f,如果
,则
是f函数值的最小点,即
下面定义优化问
题的
-近似解。
定义2 (
-近似解)设f为下半连续真凸函数,
。我们称点
是优化问题
的
-近似解,如果满足
。
对问题(1)的大规模可分离凸优化形式:
我们总假设上述问题有解,解集记为
,记
为指标集,则
。且满足
假设(H)
(C1)
为下半连续真凸函数且
。
(C2)函数
在包含
的开集上是连续可微的。
注:由假设(H)和引理2 (3),对任意
,有
为有界闭凸集且
。
在下面的非精确邻近梯度算法中,我们将用近似梯度g代替全梯度
。下面考虑用随机抽样产生近似梯度:
其中
和
分别表示抽样样本和样本个数。以下引理说明,在抽样的样本数充分大时,g可在一定概率意义下达到预设的与全梯度的近似程度。
引理3 [16] 设
假设存在函数
满足对任意
,有
假设对指标集
进行放回或者不放回的随机等可能抽样,且样本个数
满足
,则有
定义3 设S为
的一个非空子集,序列
。若存在一个数列
满足
使对任意
以
下不等式成立:
得
则称序列
quasi-Fejér收敛到S。
引理4 ( [17] , Theorem 4.1)若
quasi-Fejér收敛到S,则下列结论成立:
(1) 序列
是有界的。
(2) 若序列
有极限点
,则有
。
引理5 设
为非负序列,其中
,
,且
。如
果存在常数
,使得
(4)
则序列
有界。
证明:注意到
,所以存在常数
,使即
,即
(5)
下面我们证明
(6)
显然当
时,(6)成立。假设当
时(6)成立,即
由(4),我们有
于是
由(5)可得
。由归纳法证明可得(6)。
3. 算法及收敛性分析
在对问题(1)中的大规模可分离部分进行求解时,为了保留邻近梯度算法的优点且不依赖Lipschitz常数,受 [13] [14] [16] 的启发,我们提出带线搜索的非精确邻近梯度算法。具体地,与 [14] 类似,我们在子问题求解过程中也采用的是非精确梯度,其中对梯度近似求解的思路参考了 [16] ,线搜索的思想主要来自( [13] , Lemma 3.2)。
3.1. 非精确邻近梯度算法
Algorithm 1. Inexact proximity gradient algorithm
算法1. 非精确邻近梯度算法
由算法1可知,若在迭代过程的第2步采用全梯度,则算法1为精确的线搜索邻近梯度算法,即与( [13] , Method 3)相同。下面的各类命题与定理中,都假设序列
由算法1所产生。
命题1 设
,
为算法1第k次迭代的Step 3中生成的步长,则对任意
,有:
(10)
证明:对任意
,设
由(9)可得
由(3)与(7)可得:
又f是光滑的凸函数,所以
结合算法的第3步,并令
,得
于是
又由于
,且
,则
。即
。
从而(10)得证。
特别地,当
时,由(10)有
(11)
从而序列
单调减少,这说明算法1为下降算法。
关于算法1,有以下收敛性结论。
定理1 设解集
,
和
为算法1所产生的序列。记
,假设近似梯度
连续且存在
满足
(12)
则序列
收敛于
中一点,即存在
,使得
(13)
证明:在(7)中令
,有
(14)
由于序列
单调递减,则
由(12)与引理5 (用
,
和
代替
和
)可知序列
有界,从而有
结合(14)与定义3可知序列
quasi-Fejér收敛到
。又由引理4知序列
有界,假设
为
的一个聚点,下面证明
。令
(15)
由算法1的step3可知
结合(2)和(15)可得
整理可得
(16)
由于算子
的非扩张性,由(7)可知
。
由(15)可知当
时,有
,由g的连续性可知当
时
。
结合引理3可知
,这表明了
. (17)
注意
为
的一个聚点,即存在子序列
收敛到
,则
也收敛到
,则又由引理3有
(18)
故在(3)中令
可得到
令
,由(17)及(18)可得
,从而
,由引理4可得(13)。
3.2. 算法1的迭代复杂度
在本小节中,我们将分析算法1的迭代复杂性。下面的定理表示当线搜索步长
有正的下界时,函数值的收敛速度为
,这与( [13] , Method3)中的(精确)邻近梯度算法的迭代复杂度类似。
定理2设定理1中的假设成立,且满足
,则下列估计式成立:
证明:由定理1可设
因此对任意
,存在
使得
和
(19)
由命题1 (10) (令
),对任意
有
上式不等式对
求和得
(20)
即注意到
单调减少,我们有
这和(20)一起表明
其中最后一个不等式因为(12),(19)和
。由于
的任意性,我们有
.
又
,所以定理结论成立。
下列命题表明在
(
)的Lipschitz连续假设条件下,
有正的下界。证明思路与( [13] , Proposition 5.4)类似,所以我们省略了它的证明。
命题2 设
为线搜索1的算法1所产生的序列,设
是
的极限点,即
,近似梯度
序列
为抽样产生。若对每个
,
在点
是常数为
的局部Lipschitz连续的,则
其中
。
4. 结论
本文介绍了一种求解大规模复合凸优化的非精确邻近梯度算法,算法不依赖可微函数的Lipschitz常数,并分析了算法的收敛性。接下来,我们可以构造求解大规模优化问题的非精确求解其他方法,得到高效的算法。
基金项目
国家自然科学基金(No. 12161017);贵州省科技厅科技计划项目(No. ZK[2022]110)。