Skip to content

算法Algorithm

FISTA 复合加速法

FISTA · Fast iterative shrinkage-thresholding algorithm

以近端主点、外推查询点和递推权重组成复合凸加速,并用势函数而非逐轮下降证明函数值速率。

形式陈述 ​

设 F=g+h,g:Rn→R 凸可微且梯度为 Lg-Lipschitz;h proper、闭凸,最小点 x∗ 存在。取 x0∈domh 与固定 L≥Lg>0,初始化 y1=x0,t1=1。FISTA 对 k=1,2,… 做

(1)xk=proxh/L(yk−∇g(yk)/L),tk+1=(1+1+4tk2)/2,yk+1=xk+tk−1tk+1(xk−xk−1).

第一行是从 yk 查询的近端梯度步。xk 是可行主点,yk 是外推状态。若 h 编码约束,yk 可以在约束外;本页让 g 在全空间光滑,正是为了这些查询仍有定义。输出主点、停止证书、L、迭代次数和预算状态;不能把 h(yk)=+∞ 误判成主点算法失败。

精确 prox 和上述凸条件下,

(2)F(xk)−F∗≤2L‖x0−x∗‖2(k+1)2,k≥1.

这是函数值界,不保证每轮单调、主点距离单调或有限步找到真实支持。与光滑加速梯度法相比,此处的新增责任是保留非光滑 h 的近端最优性,不能对整个 F 写不存在的梯度。

直觉

外推先沿上一段主点位移走得更远,再用一个新的近端子问题校正。第一轮 t1−1=0,所以第二次查询仍在 x1;从第三次查询开始才真正使用动量。

权重不是任选的“惯性强度”。恒等式 tk+12−tk+1=tk2 使前后两轮的函数值权重对齐;外推式则使距离项对齐。只有这两份对齐共同成立,才能把局部模型不等式累积成式(2)。主点目标上升时,辅助距离项可以下降得更多,因此总势仍下降。

每轮固定 L 需一次光滑梯度和一次精确 prox,加 O(n) 外推;保存常数个向量。prox若内部很贵,外层 O(1/k2) 不是总运行时间。若只把内层调用记成“一步”,就遗漏了主要开销。

例子与边界

同一 Lasso 中的加速与过冲 ​

用耦合 Lasso的数据

A=(111001),b=(3/2,3/2,0)T,g(x)=‖Ax−b‖2/2, h(x)=‖x‖1.

取 L=3,x0=0,写 Q=ATA、c=ATb。式(1)的第一行是 zk=yk+(c−Qyk)/3、xk=S1/3(zk)。前两主点为 (2/3,1/6) 和 (5/6,0)。t2=(1+5)/2、t3=(1+1+4t22)/2,令 β=(t2−1)/t3≈0.281753525,则

y3=(5/6+β/6,−β/6),x3=(17/18+β/9,0)≈(0.975750392,0).

第二个查询坐标为负,而新的主点第二坐标仍为零。用完全相同的残差缩放 θ=r/max(1,‖ATr‖∞) 认证各主点,得到

k xk,1(k≥2 时第二坐标为零) P(xk) P(xk)−D(θk)
2 0.833333333 1.277777778 0.027777778
3 0.975750392 1.250588044 0.000588044
4 1.012521829 1.250156796 0.025357251
7 0.999444749 1.250000308 0.000000308
8 0.998955502 1.250001091 0.000001091

第4轮真实目标继续下降,但这一固定构造给出的对偶下界变差,gap反而上升;第8轮连真实目标也比第7轮高。两件事都与式(2)相容。若所需 gap 是 10−3,第3轮已可停止;继续计算并不承诺此后每个候选都通过同一门槛。保留最佳已认证候选是有用的输出策略,不等于改变式(1)的主序列。

未知曲率时的回溯规则 ​

给 L0>0 和倍率 η>1。第 k 轮从 Lk−1 开始,只乘以 η,直至 p=proxh/ℓ(yk−∇g(yk)/ℓ) 满足

(3)g(p)≤g(yk)+⟨∇g(yk),p−yk⟩+ℓ2‖p−yk‖2.

接受 Lk=ℓ,xk=p,其余权重和外推仍按式(1)。只检验光滑项即可,不必在不可行的 yk 计算 h(yk)。每轮会有限终止,且 Lk 非递减并满足 Lk≤max{L0,ηLg}。因此式(2)可把 L 换为这个统一上界。若 L0 原本过大,不应无条件宣称上界只有 ηLg。

这个回溯版本允许沿用原来的 t 递推,关键是接受值非递减。每轮先大幅降低 L、接受后却不调整加速权重,是另一算法,不能使用下面的证明。每次失败试探还需 prox 和函数值;梯度 ∇g(yk) 可以复用。浮点下模型未通过而达到回溯预算,应报告失败而非强行接受。

推论与应用

非光滑三点模型产生势函数 ​

记 p=proxh/ℓ(y−∇g(y)/ℓ),假设式(3)成立。近端最优性给 s=ℓ(y−p)−∇g(y)∈∂h(p)。把 h(z)≥h(p)+⟨s,z−p⟩、g(z)≥g(y)+⟨∇g(y),z−y⟩ 与式(3)相加并展开平方,得到任意 z∈domh 的

(4)F(p)≤F(z)+ℓ2(‖z−y‖2−‖z−p‖2).

固定安全 L 时,式(3)来自下降引理。这里保留了 h 的完整次梯度不等式,因此式(4)也适用于扩展实值惩罚,而不是对非光滑项做 Taylor 展开。

令 vk=F(xk)−F∗≥0,uk=tkxk−(tk−1)xk−1−x∗。在第 k+1 轮取 t=tk+1 和 z=(1−1/t)xk+x∗/t。凸性给 F(z)−F∗≤(1−1/t)vk;式(1)给

t(z−yk+1)=−uk,t(z−xk+1)=−uk+1.

将式(4)乘以 2t2/Lk+1,使用 t(t−1)=tk2,得到

2tk+12Lk+1vk+1+‖uk+1‖2≤2tk2Lk+1vk+‖uk‖2≤2tk2Lkvk+‖uk‖2.

最后一个不等式正使用 Lk+1≥Lk 与 vk≥0。第一轮对式(4)取 z=x∗,得到势至多 ‖x0−x∗‖2。递推式还给 tk+1≥tk+1/2,由 t1=1 得 tk≥(k+1)/2。丢掉非负距离项,便完成固定步长与上述回溯版的函数值界。

证书和保证的分工 ​

式(2)用到通常未知的 ‖x0−x∗‖,适合解释最坏复杂度;实际停止可用Lasso可行gap或旧近端梯度页的残差转误差条件。小位移、两轮目标接近和若干零坐标均不能替代它们。

有误差的 prox、随机梯度或非凸 g 会分别在近端最优性、确定模型或凸性插值步骤产生额外项。近似 prox 的误差预算与随机近端梯度各有自己的误差账本;本页不把无噪声加速率附给它们。标准FISTA的这个证明也没有证明所有主点序列收敛,重启或单调变体需另行指定协议。

两道短自测 ​

  1. g(x)=x2/2、h(x)=|x|、L=2、x0=4,前两主点是什么?答案:x1=S1/2(2)=3/2;首轮无外推,x2=S1/2(3/4)=1/4。第三轮才用非零动量。
  2. 回溯从 L0=100开始,真实 Lg=3、倍率2,是否可宣称所有 Lk≤6?答案:不可以;只增不减的规则保留100,通用界是 max{100,6}=100。

批量随机近端加速给出一个明确的带噪延伸:采用两倍安全曲率,先支付新点与噪声的相关位移,再对历史可测的加速势取条件期望。增长权重要求相应批量分配,样本数与 prox 次数分别计费;本页的精确无噪声定理仍只在原条件下使用。

参考资料
关系图谱10 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

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