概
近来对优化和收敛速度有了一些新的感悟, 特此一记. 这些感悟有的来自博客 (如 here ), 有的来自书籍. 以往只是套一些收敛的模板, 这里我会讲一下如何从几何的角度去理解这些收敛性.
基本的设定
假设我们希望优化:
min x ∈ R d f ( x ) , (1) (1) min x ∈ R d f ( x ) ,
可行域这里就暂不讨论了.
我们采取最一般的梯度下降:
x t + 1 = x t − η ∇ f ( x ) , x t + 1 = x t − η ∇ f ( x ) ,
其中 η > 0 η > 0 是学习率, ∇ f ( x ) ∈ R d ∇ f ( x ) ∈ R d 为 f f 关于 x x 的梯度.
非凸优化
基本的条件 (L-smooth ):
f ( y ) − f ( x ) − ⟨ ∇ f ( x ) , y − x ⟩ ≤ L 2 ∥ y − x ∥ 2 2 , L > 0 (C.1) (C.1) f ( y ) − f ( x ) − ⟨ ∇ f ( x ) , y − x ⟩ ≤ L 2 ‖ y − x ‖ 2 2 , L > 0
我们来看看 L-smooth 这个条件实际上为我们带来的是啥:
f ( x t + 1 ) − f ( x t ) ≤ ⟨ ∇ f ( x t ) , x t + 1 − x t ⟩ + L 2 ∥ x t + 1 − x t ∥ 2 2 = ⟨ ∇ f ( x t ) , − η ∇ f ( x t ) ⟩ + L η 2 ∥ ∇ f ( x t ) ∥ 2 2 = ( L η 2 2 − η ) α η ∥ ∇ f ( x t ) ∥ 2 2 . (2) (2) f ( x t + 1 ) − f ( x t ) ≤ ⟨ ∇ f ( x t ) , x t + 1 − x t ⟩ + L 2 ‖ x t + 1 − x t ‖ 2 2 = ⟨ ∇ f ( x t ) , − η ∇ f ( x t ) ⟩ + L η 2 ‖ ∇ f ( x t ) ‖ 2 2 = ( L η 2 2 − η ) ⏟ α η ‖ ∇ f ( x t ) ‖ 2 2 .
倘若我们希望收敛速度尽可能快, 那么一个贪心的方法就是每一步的下降都尽可能多, 即我们应当尽可能使得 (3) 的右边项小于 0 的同时进一步变小, 这等价于约束我们的迭代步长:
根据 α η α η 可知, 当 η = 1 / L η = 1 / L 的时候近似会有一个'最优'的迭代步长;
退而求其次, 我们也应当确保 η ∈ ( 0 , 2 / L ) η ∈ ( 0 , 2 / L ) 以确保
f ( x t + 1 ) < f ( x t ) . f ( x t + 1 ) < f ( x t ) .
我们可以几何上去理解 L-smooth , 定义:
f u ( x ) = f ( x t ) + ⟨ ∇ f ( x t ) , x − x t ⟩ + L 2 ∥ x − x t ∥ 2 2 , f u ( x ) = f ( x t ) + ⟨ ∇ f ( x t ) , x − x t ⟩ + L 2 ‖ x − x t ‖ 2 2 ,
由于
f ( x ) ≤ f u ( x ) f ( x ) ≤ f u ( x )
故而 L-smooth 实际上是用一个抛物线为 f ( x ) f ( x ) 定义了一个上界. 而
x u t + 1 = x t − 1 L ∇ f ( x t ) x t + 1 u = x t − 1 L ∇ f ( x t )
就是这个抛物线的最低点, 所以 η = 1 / L η = 1 / L 是沿着这条抛物线下降的最优路线.
真正的最优点 ( x ∗ , f ( x ∗ ) ) ( x ∗ , f ( x ∗ ) ) 的区域, 其实是在上图的蓝色画线区域内, 当然了, 由于没有其它条件, 我们既无法 bound 住 f ( x t ) − f ( x ∗ ) f ( x t ) − f ( x ∗ ) , 更无法 bound 住 ∥ x t − x ∗ ∥ ‖ x t − x ∗ ‖ , 后面当我们引入更多的条件的时候, 我们可以获得更多更好的性质.
所以, 我们来证明一个不坏的收敛性:
f ( x t + 1 ) − f ( x t ) ≤ α η ∥ ∇ f ( x t ) ∥ 2 2 ⇒ ∑ T − 1 t = 0 ( f ( x t + 1 ) − f ( x t ) ) ≤ α η ∑ T − 1 t = 0 ∥ ∇ f ( x t ) ∥ 2 2 ⇒ ∑ T − 1 t = 0 ∥ ∇ f ( x t ) ∥ 2 2 ≤ 1 α η ∑ T − 1 t = 0 ( f ( x t + 1 ) − f ( x t ) ) ← α η < 0 , if η ∈ ( 0 , 2 / L ) ⇒ min t = 0 , … , T − 1 ∥ ∇ f ( x t ) ∥ 2 2 ≤ 1 T ∑ T − 1 t = 0 ∥ ∇ f ( x t ) ∥ 2 2 ≤ 1 α η T ∑ T − 1 t = 0 ( f ( x t + 1 ) − f ( x t ) ) ⇒ min t = 0 , … , T − 1 ∥ ∇ f ( x t ) ∥ 2 2 ≤ 1 − α η T ( f ( x 0 ) − f ( x T ) ) ≤ 1 − α η T ( f ( x 0 ) − f ( x ∗ ) ) ⇒ min t = 0 , … , T − 1 ∥ ∇ f ( x t ) ∥ 2 2 ≤ 2 ( 2 η − L η 2 ) T ( f ( x 0 ) − f ( x ∗ ) ) . f ( x t + 1 ) − f ( x t ) ≤ α η ‖ ∇ f ( x t ) ‖ 2 2 ⇒ ∑ t = 0 T − 1 ( f ( x t + 1 ) − f ( x t ) ) ≤ α η ∑ t = 0 T − 1 ‖ ∇ f ( x t ) ‖ 2 2 ⇒ ∑ t = 0 T − 1 ‖ ∇ f ( x t ) ‖ 2 2 ≤ 1 α η ∑ t = 0 T − 1 ( f ( x t + 1 ) − f ( x t ) ) ← α η < 0 , if η ∈ ( 0 , 2 / L ) ⇒ min t = 0 , … , T − 1 ‖ ∇ f ( x t ) ‖ 2 2 ≤ 1 T ∑ t = 0 T − 1 ‖ ∇ f ( x t ) ‖ 2 2 ≤ 1 α η T ∑ t = 0 T − 1 ( f ( x t + 1 ) − f ( x t ) ) ⇒ min t = 0 , … , T − 1 ‖ ∇ f ( x t ) ‖ 2 2 ≤ 1 − α η T ( f ( x 0 ) − f ( x T ) ) ≤ 1 − α η T ( f ( x 0 ) − f ( x ∗ ) ) ⇒ min t = 0 , … , T − 1 ‖ ∇ f ( x t ) ‖ 2 2 ≤ 2 ( 2 η − L η 2 ) T ( f ( x 0 ) − f ( x ∗ ) ) .
当 η η 取 1 / L 1 / L , 左边项可以被
O ( 2 L T ) O ( 2 L T )
bound 住.
凸优化
它的用处是什么呢? 我们依旧通过几何的方式去理解:
f l ( x ) ≤ f ( x ) ≤ f u ( x ) , f l ( x ) ≤ f ( x ) ≤ f u ( x ) ,
其中
f l ( x ) := f ( x t ) + ⟨ ∇ f ( x t ) , x − x t ⟩ . f l ( x ) := f ( x t ) + ⟨ ∇ f ( x t ) , x − x t ⟩ .
相比较普通的 L-smooth 而言, 凸优化实际上是为函数 f ( x ) f ( x ) 设定了一个下界, 这使得 ( x ∗ , f ( x ∗ ) ) ( x ∗ , f ( x ∗ ) ) 所在的区域 (蓝色划线部分) 进一步缩小.
首先, 对于一般的函数 , 我们都有:
∥ x t + 1 − x ∗ ∥ 2 2 = ∥ x t − η ∇ f ( x t ) − x ∗ ∥ 2 2 = ∥ x t − x ∗ ∥ 2 2 − 2 η ⟨ ∇ f ( x t ) , x t − x ∗ f l ( x t ) − f l ( x ∗ ) ⟩ + η 2 ∥ ∇ f ( x t ) ∥ 2 2 , ‖ x t + 1 − x ∗ ‖ 2 2 = ‖ x t − η ∇ f ( x t ) − x ∗ ‖ 2 2 = ‖ x t − x ∗ ‖ 2 2 − 2 η ⟨ ∇ f ( x t ) , x t − x ∗ ⏟ f l ( x t ) − f l ( x ∗ ) ⟩ + η 2 ‖ ∇ f ( x t ) ‖ 2 2 ,
于是:
f l ( x t ) − f l ( x ∗ ) = η 2 ∥ ∇ f ( x t ) ∥ 2 2 + 1 2 η ( ∥ x t − x ∗ ∥ 2 2 − ∥ x t + 1 − x ∗ ∥ 2 2 ) . f l ( x t ) − f l ( x ∗ ) = η 2 ‖ ∇ f ( x t ) ‖ 2 2 + 1 2 η ( ‖ x t − x ∗ ‖ 2 2 − ‖ x t + 1 − x ∗ ‖ 2 2 ) .
于是, 我们有:
f ( x t + 1 ) − f ( x ∗ ) ≤ f u ( x t + 1 ) − f ( x ∗ ) = ( f l ( x t ) − f ( x ∗ ) ) − ( f l ( x t ) − f u ( x t + 1 ) ) ≤ ( f l ( x t ) − f l ( x ∗ ) ) − ( f u ( x t ) − f u ( x t + 1 ) ) = ( f l ( x t ) − f l ( x ∗ ) ) + α η ∥ ∇ f ( x t ) ∥ 2 2 ≤ 1 2 η ( ∥ x t − x ∗ ∥ 2 2 − ∥ x t + 1 − x ∗ ∥ 2 2 ) + ( α η + η 2 ) ∥ ∇ f ( x t ) ∥ 2 2 f ( x t + 1 ) − f ( x ∗ ) ≤ f u ( x t + 1 ) − f ( x ∗ ) = ( f l ( x t ) − f ( x ∗ ) ) − ( f l ( x t ) − f u ( x t + 1 ) ) ≤ ( f l ( x t ) − f l ( x ∗ ) ) − ( f u ( x t ) − f u ( x t + 1 ) ) = ( f l ( x t ) − f l ( x ∗ ) ) + α η ‖ ∇ f ( x t ) ‖ 2 2 ≤ 1 2 η ( ‖ x t − x ∗ ‖ 2 2 − ‖ x t + 1 − x ∗ ‖ 2 2 ) + ( α η + η 2 ) ‖ ∇ f ( x t ) ‖ 2 2
当我们假定 η ∈ ( 0 , 1 / L ) η ∈ ( 0 , 1 / L ) , 有 α η + η 2 < 0 α η + η 2 < 0 可得
f ( x t + 1 ) − f ( x ∗ ) ≤ 1 2 η ( ∥ x t − x ∗ ∥ 2 2 − ∥ x t + 1 − x ∗ ∥ 2 2 ) ⇒ ∑ T − 1 t = 1 f ( x t + 1 ) − f ( x ∗ ) ≤ 1 2 η ( ∥ x 0 − x ∗ ∥ 2 2 − ∥ x T − x ∗ ∥ 2 2 ) ⇒ 1 T ∑ T − 1 t = 1 f ( x t + 1 ) − f ( x ∗ ) ≤ 1 2 η T ( ∥ x 0 − x ∗ ∥ 2 2 − ∥ x T − x ∗ ∥ 2 2 ) ⇒ f ( x t + 1 ) − f ( x ∗ ) ≤ 1 T ∑ T − 1 t = 1 f ( x t + 1 ) − f ( x ∗ ) ≤ 1 2 η T ( ∥ x 0 − x ∗ ∥ 2 2 − ∥ x T − x ∗ ∥ 2 2 ) ⇒ f ( x t + 1 ) − f ( x ∗ ) ≤ 1 2 η T ( ∥ x 0 − x ∗ ∥ 2 2 − ∥ x T − x ∗ ∥ 2 2 ) ≤ ∥ x 0 − x ∗ ∥ 2 2 2 η T . f ( x t + 1 ) − f ( x ∗ ) ≤ 1 2 η ( ‖ x t − x ∗ ‖ 2 2 − ‖ x t + 1 − x ∗ ‖ 2 2 ) ⇒ ∑ t = 1 T − 1 f ( x t + 1 ) − f ( x ∗ ) ≤ 1 2 η ( ‖ x 0 − x ∗ ‖ 2 2 − ‖ x T − x ∗ ‖ 2 2 ) ⇒ 1 T ∑ t = 1 T − 1 f ( x t + 1 ) − f ( x ∗ ) ≤ 1 2 η T ( ‖ x 0 − x ∗ ‖ 2 2 − ‖ x T − x ∗ ‖ 2 2 ) ⇒ f ( x t + 1 ) − f ( x ∗ ) ≤ 1 T ∑ t = 1 T − 1 f ( x t + 1 ) − f ( x ∗ ) ≤ 1 2 η T ( ‖ x 0 − x ∗ ‖ 2 2 − ‖ x T − x ∗ ‖ 2 2 ) ⇒ f ( x t + 1 ) − f ( x ∗ ) ≤ 1 2 η T ( ‖ x 0 − x ∗ ‖ 2 2 − ‖ x T − x ∗ ‖ 2 2 ) ≤ ‖ x 0 − x ∗ ‖ 2 2 2 η T .
倒数第二步成立是因为 f ( x t ) , t = 0 , … f ( x t ) , t = 0 , … 是递减的 (η ∈ ( 0 , 1 / L ) η ∈ ( 0 , 1 / L ) 保证了这一点).
强凸优化
强凸函数是 (C.2+) 的一个增强版:
σ 2 ∥ y − x ∥ 2 2 ≤ f ( y ) − f ( x ) − ⟨ ∇ f ( x ) , y − x ⟩ , σ > 0. (C.2+) (C.2+) σ 2 ‖ y − x ‖ 2 2 ≤ f ( y ) − f ( x ) − ⟨ ∇ f ( x ) , y − x ⟩ , σ > 0.
注: σ = 0 σ = 0 时 f f 为凸函数.
实际上, 若 f f 的 Hessian 矩阵满足 σ ≤ λ min ( H ) ≤ λ max ( H ) ≤ L σ ≤ λ min ( H ) ≤ λ max ( H ) ≤ L , 就可以很自然地推导出上面的不等式. 于是乎, 我们常常会听闻条件数 κ = L / σ κ = L / σ 对于收敛速率的影响, 通常 κ → 1 κ → 1 收敛速度越快.
现在的问题是, L-smooth 这个条件 (C.1) 能够保证我们每一次迭代都有 f ( x t + 1 ) < f ( x t ) f ( x t + 1 ) < f ( x t ) , 那 (C.2) 这种对于左边的控制于收敛有什么帮助?
f ( x t + 1 ) − f ( x t ) ≥ ⟨ ∇ f ( x t ) , x t + 1 − x t ⟩ + σ 2 ∥ x t + 1 − x t ∥ 2 2 ≥ ⟨ ∇ f ( x t ) , − η ∇ f ( x t ) ⟩ + σ η 2 2 ∥ ∇ f ( x t ) ∥ 2 2 ≥ ( σ η 2 2 − η ) β η ∥ ∇ f ( x t ) ∥ 2 2 . f ( x t + 1 ) − f ( x t ) ≥ ⟨ ∇ f ( x t ) , x t + 1 − x t ⟩ + σ 2 ‖ x t + 1 − x t ‖ 2 2 ≥ ⟨ ∇ f ( x t ) , − η ∇ f ( x t ) ⟩ + σ η 2 2 ‖ ∇ f ( x t ) ‖ 2 2 ≥ ( σ η 2 2 − η ) ⏟ β η ‖ ∇ f ( x t ) ‖ 2 2 .
注: η ∈ ( 0 , 2 / σ ) ⊃ ( 0 , 2 / L ) η ∈ ( 0 , 2 / σ ) ⊃ ( 0 , 2 / L ) 能够保证 β η β η 是负的.
于是, 我们可以证明:
( σ η 2 2 − η ) β η ∥ ∇ f ( x t ) ∥ 2 2 ≤ f ( x t + 1 ) − f ( x t ) ≤ ( L η 2 2 − η ) α η ∥ ∇ f ( x t ) ∥ 2 2 . ( σ η 2 2 − η ) ⏟ β η ‖ ∇ f ( x t ) ‖ 2 2 ≤ f ( x t + 1 ) − f ( x t ) ≤ ( L η 2 2 − η ) ⏟ α η ‖ ∇ f ( x t ) ‖ 2 2 .
倘若, 我们沿着之前的思路分析, 容易发现 β η β η 会随着 σ → L σ → L 而增大 (绝对值 | β η | | β η | 减小), 也就是说, 当 σ ⇒ σ ⇒ 的时候,
f ( x t + 1 ) − f ( x t ) f ( x t + 1 ) − f ( x t )
的下降的最大可能幅度是在减小 的. 这实在不符合我们的预期, 如果按照这种思路分析, 正当的结论应该是 σ → L σ → L 收敛性变差才对.
这里, 我们修改下之前 f l f l 的定义:
f u ( x ) = f ( x t ) + ⟨ ∇ f ( x t ) , x − x t ⟩ + L 2 ∥ x − x t ∥ 2 2 , f l ( x ) = f ( x t ) + ⟨ ∇ f ( x t ) , x − x t ⟩ + σ 2 ∥ x − x t ∥ 2 2 . f u ( x ) = f ( x t ) + ⟨ ∇ f ( x t ) , x − x t ⟩ + L 2 ‖ x − x t ‖ 2 2 , f l ( x ) = f ( x t ) + ⟨ ∇ f ( x t ) , x − x t ⟩ + σ 2 ‖ x − x t ‖ 2 2 .
我们有:
f l ( x ) ≤ f ( x ) ≤ f u ( x ) f l ( x ) ≤ f ( x ) ≤ f u ( x ) , 所以最小值点 x ∗ x ∗ 比在二者的中间区域;
我们可以进一步压缩 ( x ∗ , f ( x ∗ ) ) ( x ∗ , f ( x ∗ ) ) 可能的所在区域, 实际上在上图的绿色框框内部 (更准确的是画线区域):
f l ( x l t + 1 ) ≤ f ( x ∗ ) ≤ f u ( x u t + 1 ) , x l t + 1 = x t − 1 σ ∇ f ( x t ) ⇒ f ( x l t + 1 ) = f ( x t ) − 1 2 σ ∥ ∇ f ( x t ) ∥ 2 2 , x u t + 1 = x t − 1 L ∇ f ( x t ) ⇒ f ( x u t + 1 ) = f ( x t ) − 1 2 L ∥ ∇ f ( x t ) ∥ 2 2 . f l ( x t + 1 l ) ≤ f ( x ∗ ) ≤ f u ( x t + 1 u ) , x t + 1 l = x t − 1 σ ∇ f ( x t ) ⇒ f ( x t + 1 l ) = f ( x t ) − 1 2 σ ‖ ∇ f ( x t ) ‖ 2 2 , x t + 1 u = x t − 1 L ∇ f ( x t ) ⇒ f ( x t + 1 u ) = f ( x t ) − 1 2 L ‖ ∇ f ( x t ) ‖ 2 2 .
此外, x ∗ x ∗ 所在区域为:
x ∗ ∈ { x ∈ R d : ∥ x − x t + 1 σ ∇ f ( x t ) ∥ 2 2 ≤ L − σ L σ 2 ∥ ∇ f ( x t ) ∥ 2 2 } =: S t . x ∗ ∈ { x ∈ R d : ‖ x − x t + 1 σ ∇ f ( x t ) ‖ 2 2 ≤ L − σ L σ 2 ‖ ∇ f ( x t ) ‖ 2 2 } =: S t .
这是以 x t − 1 σ ∇ f ( x t ) x t − 1 σ ∇ f ( x t ) 为圆心, √ L − σ L σ 2 ∥ ∇ f ( x t ) ∥ 2 L − σ L σ 2 ‖ ∇ f ( x t ) ‖ 2 为半径的球内.
由此, 我们可以进一步得到 ( x t , f ( x t ) ) ( x t , f ( x t ) ) 与 ( x ∗ , f ( x ∗ ) ) ( x ∗ , f ( x ∗ ) ) 的关系:
1 2 L ∥ ∇ f ( x t ) ∥ 2 2 ≤ f ( x t ) − f ( x ∗ ) ≤ 1 2 σ ∥ ∇ f ( x t ) ∥ 2 2 , 1 σ ( 1 − √ L − σ L ) ∥ ∇ f ( x t ) ∥ 2 ≤ ∥ x t − x ∗ ∥ 2 ≤ 1 σ ( 1 + √ L − σ L ) ∥ ∇ f ( x t ) ∥ 2 , 1 2 L ‖ ∇ f ( x t ) ‖ 2 2 ≤ f ( x t ) − f ( x ∗ ) ≤ 1 2 σ ‖ ∇ f ( x t ) ‖ 2 2 , 1 σ ( 1 − L − σ L ) ‖ ∇ f ( x t ) ‖ 2 ≤ ‖ x t − x ∗ ‖ 2 ≤ 1 σ ( 1 + L − σ L ) ‖ ∇ f ( x t ) ‖ 2 ,
所以, 当 σ → L σ → L 的时候, f ( x t ) − f ( x ∗ ) f ( x t ) − f ( x ∗ ) 可容易接近, 同时 x t x t 与 x ∗ x ∗ 的距离可能越小.
总而言之, σ > 0 σ > 0 的作用其实是告诉我们这个强凸函数的 ( x ∗ , f ( x ∗ ) ) ( x ∗ , f ( x ∗ ) ) 可以被限制在一个区域里面, 倘若 σ = 0 σ = 0 , 实际上 f u f u 的之下的区域都是有可能, 自然就不会有上述的性质, 自然收敛性会差一点.
ok, 接下来, 让我们具体地证明一下收敛性, 令 η ∈ ( 0 , 1 / L ) η ∈ ( 0 , 1 / L ) , 于是我们有 (根据图示了然):
f ( x t + 1 ) − f ( x t ) ≤ α η ∥ ∇ f ( x t ) ∥ 2 2 ⇔ f ( x t + 1 ) − f ( x ∗ ) ≤ f ( x t ) − f ( x ∗ ) + α η ∥ ∇ f ( x t ) ∥ 2 2 ⇔ f ( x t + 1 ) − f ( x ∗ ) ≤ f ( x t ) − f ( x ∗ ) + 2 α η σ ( f ( x t ) − f ( x ∗ ) ) ⇔ f ( x t + 1 ) − f ( x ∗ ) ≤ ( 1 + 2 α η σ ) ( f ( x t ) − f ( x ∗ ) ) ⇔ f ( x T ) − f ( x ∗ ) ≤ ( 1 + 2 α η σ ) T ( f ( x 0 ) − f ( x ∗ ) ) ⇔ f ( x T ) − f ( x ∗ ) ≤ ( 1 + σ ( L η 2 − η ) ) T ( f ( x 0 ) − f ( x ∗ ) ) . f ( x t + 1 ) − f ( x t ) ≤ α η ‖ ∇ f ( x t ) ‖ 2 2 ⇔ f ( x t + 1 ) − f ( x ∗ ) ≤ f ( x t ) − f ( x ∗ ) + α η ‖ ∇ f ( x t ) ‖ 2 2 ⇔ f ( x t + 1 ) − f ( x ∗ ) ≤ f ( x t ) − f ( x ∗ ) + 2 α η σ ( f ( x t ) − f ( x ∗ ) ) ⇔ f ( x t + 1 ) − f ( x ∗ ) ≤ ( 1 + 2 α η σ ) ( f ( x t ) − f ( x ∗ ) ) ⇔ f ( x T ) − f ( x ∗ ) ≤ ( 1 + 2 α η σ ) T ( f ( x 0 ) − f ( x ∗ ) ) ⇔ f ( x T ) − f ( x ∗ ) ≤ ( 1 + σ ( L η 2 − η ) ) T ( f ( x 0 ) − f ( x ∗ ) ) .
由于 1 + σ ( L η 2 − η ) < 1 1 + σ ( L η 2 − η ) < 1 , 我们便证明了收敛性 (而且是很强的收敛性).
注: 我们也可以模仿凸优化里的收敛性证明来证明一个稍差的收敛性:
可以发现:
f ( x t + 1 ) − f ( x ∗ ) ≤ f u ( x t + 1 ) − f ( x ∗ ) = ( f l ( x t ) − f ( x ∗ ) ) − ( f l ( x t ) − f u ( x t + 1 ) ) ≤ ( f l ( x t ) − f l ( x ∗ ) ) − ( f u ( x t ) − f u ( x t + 1 ) ) = ( f l ( x t ) − f l ( x ∗ ) ) + α η ∥ ∇ f ( x t ) ∥ 2 2 ≤ 1 2 η ( ∥ x t − x ∗ ∥ 2 2 − ∥ x t + 1 − x ∗ ∥ 2 2 ) − σ 2 ∥ x t − x ∗ ∥ 2 2 + ( α η + η 2 ) ∥ ∇ f ( x t ) ∥ 2 2 f ( x t + 1 ) − f ( x ∗ ) ≤ f u ( x t + 1 ) − f ( x ∗ ) = ( f l ( x t ) − f ( x ∗ ) ) − ( f l ( x t ) − f u ( x t + 1 ) ) ≤ ( f l ( x t ) − f l ( x ∗ ) ) − ( f u ( x t ) − f u ( x t + 1 ) ) = ( f l ( x t ) − f l ( x ∗ ) ) + α η ‖ ∇ f ( x t ) ‖ 2 2 ≤ 1 2 η ( ‖ x t − x ∗ ‖ 2 2 − ‖ x t + 1 − x ∗ ‖ 2 2 ) − σ 2 ‖ x t − x ∗ ‖ 2 2 + ( α η + η 2 ) ‖ ∇ f ( x t ) ‖ 2 2
其中, 最后一步略有不同之处, 因为这里 f l f l 是原来的直线加上一个二次项.
于是, 当 η t ≤ 1 t σ η t ≤ 1 t σ 且 η t < 2 / L η t < 2 / L 时我们有:
f ( x t + 1 ) − f ( x ∗ ) ≤ 1 2 η t ( ∥ x t − x ∗ ∥ 2 2 − ∥ x t + 1 − x ∗ ∥ 2 2 ) − σ 2 ∥ x t − x ∗ ∥ 2 2 ≤ 0 + ( α η t + η t 2 ) ∥ ∇ f ( x t ) ∥ 2 2 ⇒ f ( x t + 1 ) − f ( x ∗ ) ≤ ( α η t + η t 2 ) ∥ ∇ f ( x t ) ∥ 2 2 ⇒ f ( x t + 1 ) − f ( x ∗ ) ≤ η t 2 ∥ ∇ f ( x t ) ∥ 2 2 ⇒ ∑ T t = 1 ( f ( x t + 1 ) − f ( x ∗ ) ) ≤ ∑ T t = 1 η t 2 ∥ ∇ f ( x t ) ∥ 2 2 ⇒ ∑ T t = 1 ( f ( x t + 1 ) − f ( x ∗ ) ) ≤ ∑ T t = 1 η t L 2 ⇒ ∑ T t = 1 ( f ( x t + 1 ) − f ( x ∗ ) ) ≤ L 2 σ ∑ T t = 1 1 t ⇒ ∑ T t = 1 ( f ( x t + 1 ) − f ( x ∗ ) ) ≤ L 2 σ ( 1 + ln T ) ⇒ f ( x T + 1 ) − f ( x ∗ ) ≤ 1 T ∑ T t = 1 ( f ( x t + 1 ) − f ( x ∗ ) ) ≤ L 2 σ ( 1 + ln T ) T . f ( x t + 1 ) − f ( x ∗ ) ≤ 1 2 η t ( ‖ x t − x ∗ ‖ 2 2 − ‖ x t + 1 − x ∗ ‖ 2 2 ) − σ 2 ‖ x t − x ∗ ‖ 2 2 ⏟ ≤ 0 + ( α η t + η t 2 ) ‖ ∇ f ( x t ) ‖ 2 2 ⇒ f ( x t + 1 ) − f ( x ∗ ) ≤ ( α η t + η t 2 ) ‖ ∇ f ( x t ) ‖ 2 2 ⇒ f ( x t + 1 ) − f ( x ∗ ) ≤ η t 2 ‖ ∇ f ( x t ) ‖ 2 2 ⇒ ∑ t = 1 T ( f ( x t + 1 ) − f ( x ∗ ) ) ≤ ∑ t = 1 T η t 2 ‖ ∇ f ( x t ) ‖ 2 2 ⇒ ∑ t = 1 T ( f ( x t + 1 ) − f ( x ∗ ) ) ≤ ∑ t = 1 T η t L 2 ⇒ ∑ t = 1 T ( f ( x t + 1 ) − f ( x ∗ ) ) ≤ L 2 σ ∑ t = 1 T 1 t ⇒ ∑ t = 1 T ( f ( x t + 1 ) − f ( x ∗ ) ) ≤ L 2 σ ( 1 + ln T ) ⇒ f ( x T + 1 ) − f ( x ∗ ) ≤ 1 T ∑ t = 1 T ( f ( x t + 1 ) − f ( x ∗ ) ) ≤ L 2 σ ( 1 + ln T ) T .
在特殊的情况下 (σ / L > 8 / 9 σ / L > 8 / 9 ), 我们可以证明, ∥ x t − x ∗ ∥ 2 ‖ x t − x ∗ ‖ 2 也是单调下降的:
∥ x t + 1 − x ∗ ∥ 2 ≤ 2 1 σ √ L − σ L ∥ ∇ f ( x t ) ∥ 2 ← x t + 1 ∈ S t ≤ 2 1 σ √ L − σ L σ 1 − √ L − σ L ∥ x t − x ∗ ∥ 2 ← x ∗ ∈ S t = 2 1 √ L L − σ − 1 ∥ x t − x ∗ ∥ 2 < ∥ x t − x ∗ ∥ 2 ← σ / L > 8 / 9 . ‖ x t + 1 − x ∗ ‖ 2 ≤ 2 1 σ L − σ L ‖ ∇ f ( x t ) ‖ 2 ← x t + 1 ∈ S t ≤ 2 1 σ L − σ L σ 1 − L − σ L ‖ x t − x ∗ ‖ 2 ← x ∗ ∈ S t = 2 1 L L − σ − 1 ‖ x t − x ∗ ‖ 2 < ‖ x t − x ∗ ‖ 2 ← σ / L > 8 / 9 .
这也进一步说明了 σ → L σ → L 的重要性.
注: 我本来想证明一般情况下也有这个性质来着, 但是似乎是困难的, 因为仅凭画图我们就可以做出 x ∗ x ∗ 位于 x t , x t + 1 x t , x t + 1 之间的情况. 所以我感觉除非上述条件成立 (即区域非常小), 不然很难保证 ∥ x t − x ∗ ∥ 2 ‖ x t − x ∗ ‖ 2 是恒下降的. 当然了, 或许我们能够通过约束 x t + 1 x t + 1 的范围来保证这一点. 比如, 我们取
x t + 1 ← x t − 1 − √ L − σ L σ a ∇ f ( x t ) , x t + 1 ← x t − 1 − L − σ L σ a ∇ f ( x t ) ,
此时 x t + 1 x t + 1 恰在 x t x t 在 S t S t 的投影上, 所以必有:
∥ x t + 1 − x ∗ ∥ 2 ≤ ∥ x t − x ∗ ∥ 2 . ‖ x t + 1 − x ∗ ‖ 2 ≤ ‖ x t − x ∗ ‖ 2 .
但是, 想要设计一个算法近似这种应该是很难的吧.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2023-07-18 REALM Retrieval-Augmented Language Model Pre-Training
2023-07-18 Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks