[机器学习] 3. 镜像下降 Mirror Descent 与线性耦合 Linear Coupling

ML Theory 太魔怔了!!!!!

我们来考虑更快的下降算法。

L-smooth 的 Gradient Descent,我们有两种视角来看它。一种是局部视角,梯度方向相近的点的函数值一定会下降,另一种是全局视角,用一个二次函数为整个 f 提供了一个 lowerbound。当局部梯度的范数很大时,函数值会下降的很快;当全局梯度的范数很小时,每一个 lowerbound 会更紧。所以我们考虑从两种视角出发分别设计一种策略,之后将两者耦合,以达到更快的速率。

为了半形式化地描述两种视角,我们将 Gradient Descent 一般化,称其为 Mirror descent。名字 Mirror 来源于原空间到对偶空间的映射。如果 f 定义在一个原空间上,那么 f 的值域在其对偶空间上,即在每个位置提供了一个线性函数。此时,梯度下降 xt+1=xt+ηf(xt) 便是将一个原空间的元素和一个对偶空间的元素进行了线性组合。在 L2 范数下,由于其自对偶,这能够说得通,但是在一般的范数中这会变得奇怪。此时应该按照对偶空间的理念,将 f(xt) 认作一个线性函数,因此

f(xt)+(f(xt))(xxt)

便是对 f(x) 的线性近似。

第一种视角称为正则化视角。我们希望 f(x) 小,但是又希望 x,xt 不要差太远,否则近似的效果会差,因此考虑加入正则化项 12ηxxt2,则

xt+1=argminx{f(xt)+(f(xt))(xxt)+12ηxxt2}

它的解便是 xtηf(xt)。这个正则化的观点,避免了原空间和对偶空间的直接接触。现在考虑对这个正则化项一般化。

定义 对一个凸函数 w,其 Bregman divergenceVx(y)=w(y)w(x),yxw(x)w 被称作距离生成函数。

w 的凸性是为了保证转化后的问题仍然是凸优化问题。

命题 (triangle equality) x,y,Vx(y),yu=Vx(u)Vy(u)Vx(y).

注意 Vx(y) 是认 x 为参数,对 y 求的梯度。

证明

Vx(y),yu=w(x)w(y),yu=(w(u)w(x)w(x),ux)(w(u)w(y)w(y),uy)=(w(y)w(x)w(x),yx)=Vx(u)Vy(u)Vx(y)

其一个例子为 GD 一讲中

1ηwi+1wi,wiw12ηwiwi+122=12η(wiw22wi+1w22)

其中 x=wi+1,y=wi,u=w,w(x)=x22,w(x)=2x

定义一个步长为 α 的 Mirror step 为

xk+1=Mirrx(αf(xk))

Mirrx(ξ)=argminy(ξ,yx+Vx(y))

其中 V 当作正则化项。如果 x=xk,Vx(y)=xy2 那就是常见的 GD。

第二种视角称为镜像空间 (Mirror space) 视角,一个 Mirror step 可被视作对偶空间上的梯度下降,即声明一个新的梯度,去找其对应的极值点。过程形如

  • x 通过 Mirror map 映射到对偶空间上的 θk
  • θk+1=θkαf(xk)
  • θk+1 映射回原空间上的 x¯k+1
  • x¯k+1 投影到约束集中,投影使用 Bregman divergence 作为其距离,即 xk+1=argminyVx¯k+1(y)

按照 Mirror step 的式子,可以看出 Mirror map 就是 w()。因此实际过程为

  • θk=w(x).
  • θk+1=θkαf(xk).
  • x¯k+1=(w)1(θk+1).
  • xk+1=argminyVx¯k+1(y).

这个视角提出了一点假设,(w)1(xk+1) 始终存在,即 {w(x)}=Rn

我们来简单地证明两种视角描述的算法是同一件事。

xk+1=argminyVx¯k+1(y)=argminy{w(y)w(x¯k+1),yx¯k+1w(x¯k+1)}=argminy{w(y)w(x¯k+1),y}=argminy{w(y)θkαf(xk),y}=argminy{αf(xk),y+w(y)w(x),y}=argminy{αf(xk),yx+Vx(y)}

命题fρ-Lipschitz 的,w1-强凸的,则 T=O(ρ2ϵ2) 轮后,f(x¯)f(u)<ε

证明

1-强凸说明

Vx(y)12xy22

先来做一个类似于 GD 中 L-smooth,不使用 f convex 的一段证明。

αf(xk),xku=αf(xk),xkxk+1+αf(xk),xk+1u=αf(xk),xkxk+1+Vxk(xk+1),xk+1u((Vxk(y)+αf(xk),yxk))(xk+1)=0=αf(xk),xkxk+1+Vxk(u)Vxk+1(u)Vxk(xk+1)Vx(y),yu=Vx(u)Vy(u)Vx(y)(αf(xk),xkxk+112xkxk+122)+Vxk(u)Vxk+1(u)α22f(xk)22+Vxk(u)Vxk+1(u)α2ρ22+Vxk(u)Vxk+1(u)

x¯=1kt=0k1xt,根据 f 的凸性,有

f(x¯)1kt=0k1f(xt)

αT(f(x¯)f(u))Tα2ρ22+Vx0(u)VxT(u)

假设 Vx0(x)Θ,其中 Θ 为常数,则有

f(x¯)f(x)αρ22+ΘαT

α=2ΘρT

则有

f(x¯)f(x)ρ2ΘT

T=O(ρ2ϵ2)

考虑到 ρ-Lipschitz 等价于 f(x)2ρ。如果我们能给 f(x)2 设一个阈值 K,对 GD,每一步减小 f222LK22L,所以只需要 O(ϵLK2) 轮;对 MD,只需要 O(K2ϵ2) 轮,令 K=ϵLϵ,就有 T=O(1ϵ),或称,O(1T2) 的收敛速率。

但 MD 对梯度的要求是全局的,GD 的速率是单点的,因此我们并不能把一个一般的函数用一个全局的阈值 K 分分清楚。于是我们引入今天的重点,线性耦合 (linear coupling)。当 GD 得到 yk,MD 得到 zk 作为下一步时,我们让 xk+1=τzk+(1τ)yk。具体地,

  • x0=y0=z0.
  • xk+1=τzk+(1τ)yk.
  • yk+1=f(xk+1).
  • zk+1=Mirrzk(αf(xk+1)).

命题 存在 τ(0,1),使得 T=O(1ϵ) 轮后,f(x¯)f(x)<ϵ

这里非常取巧地把 Mirr 的下标改为了和梯度中不一样的参数,这便是一般化起到的作用。在上述 MD 结论的推导中,我们并没有强依赖于下标和梯度参数的一致,在这里这么做实际上只是为了可以裂项,而只有我们将其一般化之后才意识到可以随意地改变参数,如果只是在 GD 的视角下,这个操作不合理的(即在一个点借用别处的梯度)。

证明

尝试使用和 MD 类似的方法,但是不把 f(x)22 化为 ρ2,而是用 GD 化为 f(y),再考虑如何将 y 也裂项。

αf(xk+1),zkuα22f(xk+1)22+Vzk(u)Vzk+1(u)α2L(f(xk+1)f(yk+1))+Vzk(u)Vzk+1(u)

αf(xk+1),xk+1uαf(xk+1),zku=αf(xk+1),xk+1zk=(1τ)ατf(xk+1),ykxk+1τ(xk+1zk)=(1τ)(ykxk+1)(1τ)ατ(f(yk)f(xk+1))Convexity

由此,令 1ττ=αL,则有

αf(xk+1),xk+1uα2L(f(yk)f(yk+1))+Vzk(u)Vzk+1(u)

αT(f(x¯)f(x))k=0T1αf(xk),xkxα2L(f(y0)f(yT))+Vx0(x)VxT(x)

假设 f(y0)f(x)d,Vx0(x)Θ,则有

f(x¯)f(x)1T(αLd+Θα)

α=ΘLd 即可得到

f(x¯)f(x)2LΘdT

T=4LΘd,则

f(x¯)f(x)d2

此时重新设置 α,再进行 T=42LΘd 轮,便可以再缩小一倍,以此类推,最终达到 ϵ,总轮数为

O(LΘϵ+LΘ2ϵ+LΘ4ϵ+)=O(LΘϵ)

似乎 Nesterov 证明了 O(1T2) 是在同假设下最优的下降速率,并且给出了第一代算法,巨难理解,这个线性拟合是最好理解的之一。

posted @   shiys22  阅读(1075)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示