文章目录
梯度下降加速
考虑一个无约束的最小化问题: min x ∈ R N f ( x ) \min\limits_{x\in \mathbb{R}^N}f(x) x∈RNminf(x),其中函数 f f f是强凸的: f ∈ F μ , L 1 , 1 ( R n ) , μ ≥ 0 f\in \mathfrak{F}_{\mu,L}^{1,1}(\mathbb{R}^n), \mu \geq 0 f∈Fμ,L1,1(Rn),μ≥0,并且该函数的梯度是 Lipschitz连续的。
梯度方法构造了一个松弛序列 f ( x k + 1 ) ≤ f ( x k ) f(x_{k+1}) \leq f(x_k) f(xk+1)≤f(xk),但是,在某些情况下,最佳的方案不依赖于这样的松弛方案。
Nesterov 在1983年发现了对光滑函数的加速梯度下降方法,并在2004年和2007年将加速方法分别推广到非光滑目标函数和组合函数。Nesterov的方法可以归结为一种称为 估计序列
的方法。
定义:一对序列 { ϕ k ( x ) } k = 0 ∞ \{\phi_k(x)\}_{k=0}^{\infty} { ϕk(x)}k=0∞和 { λ k } k = 0 ∞ \{\lambda_k\}_{k=0}^{\infty} { λk}k=0∞, λ k ≥ 0 \lambda_k\geq0 λk≥0称为函数 f ( x ) f(x) f(x)的一个估计序列,如果 λ k → 0 \lambda_k\rightarrow0 λk→0。且对于任意的 x ∈ R n x\in \mathbb{R}^n x∈Rn和所有的 k ≥ 0 k \geq 0 k≥0,有: ϕ k ( x ) ≤ ( 1 − λ k ) f ( x ) + λ k ϕ 0 ( x ) \phi_k(x)\leq (1-\lambda_k)f(x)+\lambda_k\phi_0(x) ϕk(x)≤(1−λk)f(x)+λkϕ0(x).
引理1:如果对于某个序列 { x k } \{x_k\} { xk},我们有 f ( x k ) ≤ ϕ k ∗ ≡ min x ∈ R n ϕ k ( x ) f(x_k)\leq \phi_k^*\equiv \min\limits_{x\in \mathbb{R}^n}\phi_k(x) f(xk)≤ϕk∗≡x∈Rnminϕk(x),那么 f ( x k ) − f ∗ ≤ λ k [ ϕ 0 ( x ∗ ) − f ∗ ] → 0 f(x_k)-f^*\leq \lambda_k[\phi_0(x^*)-f^*]\rightarrow0 f(xk)−f∗≤λk[ϕ0(x∗)−f∗]→0
证明:根据已知条件以及上面的定义得到 f ( x k ) ≤ ϕ k ∗ = min x ∈ R n ϕ k ( x ) ≤ min x ∈ R n [ ( 1 − λ k ) f ( x ) + λ k ϕ 0 ( x ) ] ≤ ( 1 − λ k ) f ( x ∗ ) + λ k ϕ 0 ( x ∗ ) f(x_k)\leq \phi_{k}^*=\min\limits_{x\in \mathbb{R}^n}\phi_k(x)\leq \min\limits_{x\in \mathbb{R}^n}[(1-\lambda_k)f(x)+\lambda_k\phi_0(x)]\\ \leq (1-\lambda_k)f(x^*)+\lambda_k\phi_0(x^*) f(xk)≤ϕk∗=x∈Rnminϕk(x)≤x∈Rnmin[(1−λk)f(x)+λkϕ0(x)]≤(1−λk)f(x∗)+λkϕ0(x∗).
应用上面的引理可以得到序列 { λ k } \{\lambda_k\} {
λk}的收敛率,但是如何构造估计序列以及如何满足引理。
引理2:假设 1. f ∈ F μ , L 1 , 1 ( R n ) f\in \mathfrak{F}_{\mu,L}^{1,1}(\mathbb{R}^n) f∈Fμ,L1,1(Rn);
2. ϕ 0 ( x ) \phi_0(x) ϕ0(x)是一个在 R n \mathbb{R}^n Rn上的任意函数;
3. { y k } k = 0 ∞ \{y_k\}_{k=0}^{\infty} { yk}k=0∞是一个在 R n \mathbb{R}^n Rn上的任意序列;
4. { a k } k = 0 ∞ \{a_k\}_{k=0}^{\infty} { ak}k=0∞: a k ∈ ( 0 , 1 ) , ∑ k = 0 ∞ a k = ∞ a_k\in (0,1),\sum\limits_{k=0}^{\infty}a_k=\infty ak∈(0,1),k=0∑∞ak=∞
5. λ 0 = 1 \lambda_0=1 λ0=1
那么,序列对 { ϕ k ( x ) } k = 0 ∞ , { λ k } k = 0 ∞ \{\phi_k(x)\}_{k=0}^{\infty},\{\lambda_k\}^{\infty}_{k=0} { ϕk(x)}k=0∞,{ λk}k=0∞ 由 k k k递归定义: λ k + 1 = ( 1 − a k ) λ k \lambda_{k+1}=(1-a_k)\lambda_k λk+1=(1−ak)λk, ϕ k + 1 ( x ) = ( 1 − a k ) ϕ k ( x ) + a k [ f ( y k ) + ⟨ ∇ f ( y k ) , x − y k ⟩ + μ 2 ∥ x − y k ∥ 2 ] \phi_{k+1}(x)=(1-a_k)\phi_k(x)+a_k[f(y_k)+\langle \nabla f(y_k),x-y_k\rangle+\frac{\mu}{2}\|x-y_k\|^2] ϕk+1(x)=(1−ak)ϕk(x)+ak[f(yk)+⟨∇f(yk),x−yk⟩+2μ∥x−yk∥2]是一个估计序列
证明:使用归纳法, ϕ 0 ( x ) ≤ ( 1 − λ 0 ) f ( x ) + λ 0 ϕ 0 ( x ) ≡ ϕ 0 ( x ) \phi_0(x)\leq (1-\lambda_0)f(x)+\lambda_0\phi_0(x)\equiv\phi_0(x) ϕ0(x)≤(1−λ0)f(x)+λ0ϕ0(x)≡ϕ0