Skip to content

算法Algorithm

重球法

Heavy-ball method · Polyak momentum · Polyak heavy-ball method

在当前梯度步中保留上一位移,按二次模态审计稳定域、最优谱半径和瞬态,并给强凸非二次三周期边界。

在平缓方向,连续几步往往朝同一边移动。重球法把上一位移保留下来,希望减少这种方向上的拖延。代价是算法拥有两份位置状态:即使当前位置相同,不同的上一位置也可能产生完全不同的下一步。

形式陈述 ​

两个状态与一次当前梯度 ​

给定可微目标f:Rd→R、d≥1,步长α>0、动量0≤β<1、两初始状态x−1,x0及容差和预算,重球法迭代

(1)xk+1=xk−α∇f(xk)+β(xk−xk−1).

它在当前梯度步上加了历史位移。常用x−1=x0表示初始速度为零;也可以明确给定非零初始速度。每轮一次梯度及O(d)向量运算,状态空间为O(d)。输出当前点、真实梯度、已用查询、两状态初始化与退出原因。

β=0时更新式退化成常步长GD。一般可微目标上,式(1)本身没有全局收敛承诺;下面先给出能完整判定的二次模型。

正定二次模型的稳定域 ​

设

(2)f(x)=12xTHx−bTx+c,H=HT,0<μI⪯H⪯LI.

式(2)使用正定矩阵的Loewner界,规定同一个二次模型的曲率范围。

最小点为x∗=H−1b。对于整个谱区间[μ,L]内的二次模型族,以及任意两初始状态,式(1)收敛当且仅当

(3)0≤β<1,0<α<2(1+β)L.

这里“当且仅当”针对允许出现特征值L的整个模型族。若某个具体矩阵的最大特征值严格小于给定松上界L,式(3)仍充分,却不再是该矩阵最宽的允许区间。

当0<μ<L时,令

(4)q=L−μL+μ,α∗=4(L+μ)2,β∗=q2.

这组参数使最坏二次模态谱半径达到q,并在常数α>0、0≤β<1中最小。谱半径描述渐近指数因子,不承诺每一步误差都小于初始误差乘qk。

直觉

每个特征方向都是二阶递推 ​

对H实际使用有限维谱定理,在正交特征坐标里令误差分量为zk、对应特征值为λ。式(1)化为

(5)zk+1=(1+β−αλ)zk−βzk−1.

试代zk=rk,得到特征多项式

(6)pλ(r)=r2−(1+β−αλ)r+β.

两个不同根给两个指数分量;重根r一般给(a+bk)rk。所以两根绝对值都小于1,恰好保证任意初始状态的这个模态趋零。

不跳步的稳定性判断 ​

记a=1+β−αλ。若两根在单位圆内,它们的乘积β<1,并有

pλ(1)=αλ>0,pλ(−1)=2(1+β)−αλ>0.

反过来,假设0≤β<1且这两个值正。非实根共轭,模长为β<1。若根都为实数,一个根越过1而另一个留在1以下会使p(1)≤0;两个都至少为1又会使乘积至少为1。负端点同理由p(−1)>0排除。因此实根也都在(−1,1)。把λ遍历[μ,L]便得到式(3)。

在上端边界αλ=2(1+β),−1已经是一个根,某些初始状态永久交替。根恰在单位圆上不能归入收敛区。

与Nesterov的查询点不同 ​

Nesterov加速梯度先外推yk,再查询∇f(yk);重球在xk查询∇f(xk),之后才加历史位移。即使两者都出现相邻点差,查询位置和误差递推仍不同。Nesterov的特定势函数证明不能因为“都有动量”就搬给式(1)。

例子与边界

谱半径小,前几步仍可上升 ​

取H=diag(1,25)、b=0、x−1=x0=(1,1)。式(4)给α=1/9、β=4/9、q=2/3。两个端点模态是重根2/3与−2/3。由z0=1和z1=1−αλ求出

(7)xk,1=(1+k3)(23)k,xk,2=(1+5k3)(−23)k.

例如x1=(8/9,−16/9),所以f(x0)=13,而f(x1)=3232/81>13。第二坐标越过最小点的瞬态很大,随后仍因k(2/3)k→0而衰减。

重球瞬态与非二次三周期

图左使用式(7)的真实目标值;图右使用下一例指定的两初始状态。它们采用同一组α,β,μ,L,但第二个目标没有固定Hessian,不能沿用左侧的独立模态递推。

强凸光滑也不能无条件沿用二次最优参数 ​

定义连续可微函数

(8)f(x)={25x2/2,x<1,x2/2+24x−12,1≤x<2,25x2/2−24x+36,x≥2.

两处分界的函数值和导数都相接。导数分别是25x,x+24,25x−24;对任意x<y,逐段积分其斜率给

y−x≤f′(y)−f′(x)≤25(y−x).

故f为1-强凸、梯度为25-Lipschitz,唯一最小点仍为0。使用与上例相同的α=1/9,β=4/9,设

(9)p=7921225,q0=−22081225,r0=25921225.

这里p<1,q0<1,r0>2。以x−1=r0,x0=p启动,直接代入式(1)给x1=q0,x2=r0,x3=p,之后周期重复。例如第一步为

139p−49r0−259p=−43p−49r0=q0.

另外两步同样精确成立。这份反例使用非零初始速度,足以否定“所有初始状态都在强凸光滑类上收敛”的无条件断言。它没有证明任何给定的零初速度启动都会失败。三个循环点都不是最小点,有限容差也不能把这条周期轨迹解释成收敛。

推论与应用

二次最优参数的证明 ​

式(4)代入后,1+β∗−α∗λ从2q线性变到−2q。因此式(6)的两根要么是端点重根±q,要么是模长q的共轭根,最坏谱半径至多q。

再证没有另一组常参数能把整个区间的谱半径降得更小。设所有根的模长至多ρ<1。因μ<L,必有ρ>0,且乘积给0≤β≤ρ2。在实点±ρ处,多项式非负:实根时是两个同号因子的乘积,复根时是模平方。分别对λ=μ,L使用,得到

αμ≥(1−ρ)(1−β/ρ),αL≤(1+ρ)(1+β/ρ).

所有分母为正,所以

Lμ≤(1+ρ)(1+β/ρ)(1−ρ)(1−β/ρ)≤(1+ρ1−ρ)2.

整理得ρ≥q,完成最优性证明。若候选参数本就不稳定、谱半径至少1,更不可能优于q。若μ=L,H=μI,取β=0,α=1/μ一次到解,单独处理即可。

怎样报告可用精度 ​

对式(2),真实梯度g=H(x−x∗)给

f(x)−f∗=12gTH−1g≤‖g‖22μ.

这份误差证书由目标几何保证,与候选是重球、GD还是手工产生无关。对式(7),还可直接计算完整目标表达式

f(xk)=12[(1+k3)2+25(1+5k3)2](49)k.

首次达到1/100在k=18;只取q2kf(x0)会漏掉重根多项式因子,产生过早的认证。常参数调优解决的是特定二次族的渐近最坏因子,不能替代真实残差检查、启动状态或模型类别。

参考资料
关系图谱13 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系