10

求解一般带约束凸优化问题的一个简单的并行算法

 3 years ago
source link: https://zhuanlan.zhihu.com/p/344574224
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

优化领域小学生来报道,给大家介绍一个算法:a simple parallel algorithm with an O(1/T) convergence rate for general convex programs[1],我最早知道这个算法应该是在@覃含章 那个关于ADMM算法的回答中:

交替方向乘子法(ADMM)算法的流程和原理是怎样的? www.zhihu.com

其实这个算法步骤上和ADMM并不相似,ADMM的两个block aErYbmQ.png!mobile 和 是顺序更新的,先update z2iABz.png!mobile ,再用 z2iABz.png!mobile update RBRJzyB.png!mobile ,我们称之为"Gauss-Seidel";而如果 z2iABz.png!mobileRBRJzyB.png!mobile 的更新完全是同时进行的,我们称之为"Jacobi"。但不要误会,ADMM作为一个知名的求解大规模优化问题的分布式算法,并行能力是很强的,它真正的并行其实是在decision variable aErYbmQ.png!mobile 内部的multiple blocks上,decision variable 往往是人为构造出来处理constraint的,这也是为什么它虽然只有两个block,依然功能强大应用广泛,把ADMM extend到N-block这种idea在我看来是完全没必要的,说到底还是看你会不会用。说回到要介绍的算法,它其实和我整理过的另一个算法PCPM[2]很像:

门泊东吴:Predictor Corrector Proximal Multiplier Method zhuanlan.zhihu.com NRbuQ33.jpg!mobile

具体我会在下面慢慢分析。文章作者Hao Yu博士其实是有知乎号的,这工作完全不应该由我一个小学生来班门弄斧(捂脸),我更多是给自己整理一个学习小笔记,方便以后快速refresh memory。学艺不精,一知半(不)解,欢迎大家批评指正。

1. 问题描述

考虑如下这个一般带约束的凸优化问题:

uimmmym.png!mobile

iayauaF.png!mobile 是 closed convex set, 2IB7viQ.png!mobileNVRbAbI.png!mobile , bUnMniv.png!mobile 是 continuous and convex on NnmUzay.png!mobile

2. 假设

Assumption 1. There exists a (possibly non-unique) optimal solution vY3iQja.png!mobile that solves (P0).

Assumption 2. (P0) has Lagrange multipliers qauYRbI.png!mobile attaining the strong duality.

Assumption 3. Function ANNrEve.png!mobile is Lipschitz continuous with modulus .

我私自调整了原paper里assumption的顺序,因为 Assumption 1Asuumption 2 会经常捆绑起来以各种形式出现在求解convex problems的primal-dual type算法的assumption里,通常第一条就是,可以是Slater + existence of optimal solution推existence of saddle point,也可以是Slater + existence of saddle point推existence of optimal solution。比如在Mark Teboulle最近的一篇paper[3]里:

AvAnain.jpg!mobile

解一个标准的线性约束凸优化问题,他们是这样来写他们的assumption的:

auAbeeQ.jpg!mobile

当然,Hao Yu博士写得也很考究,还特别在 Assumption 2 后面指出了,Slater可以保证 Assumption 2 但并不必要。细微之处见真章,这些都是mathematical writing (包括assumption、lemma、proposition、theorem、corollary、proof),可能还有analytical writing的能力,我自己因为缺乏系统的数学training以及本来写作就不行,在写paper这一方面能力特别差,这可能也是很多华人的通病,所以平时要多注重积累,(与大家共勉)。

Assumption 3 是一条我个人很不喜欢的assumption,但又确实很常见;它实际上就是在要求constraint function的增长速度不能快过线性,其实还是有点强的,哪怕Lipschitz gradient都会稍微好一点。而且,在实际求解过程中,你永远可以在decision variable上套一个很大的box constraint,比如 vABvMbJ.png!mobile ,那好多functiond都是Lipschitz continuous了,但(我觉得)这样做就没意思了,还有一条我更不喜欢的assumption,就是bounded dual,就不在这里展开说了。

3. 算法描述

(因为是整理给自己看的,我的notation是按自己的习惯来的,和原paper稍有不同,但整体是自洽的。)

  1. QFN3Inu.png!mobile , YvuYBnJ.png!mobile
  2. z6V7Vb.png!mobile
  3. while termination conditions are not met do
  • j6nAza7.png!mobile
  • MBB3ayQ.png!mobile
  • RbIfquQ.png!mobile

为啥说这是个分布式算法呢?如果原问题(P0)有如下的N-block separable structure的话:

V3ArIvJ.png!mobile

对所有 f6zYfa6.png!mobile7jqYRfJ.png!mobile 是 closed convex set, 2UNZrai.png!mobile3mm6fin.png!mobile , bUnMniv.png!mobile 是 continuous and convex on U7vEBrz.png!mobile

RjuUf2B.png!mobile 可以改写成:

算法步骤(3.1)里的(*)式是和PCPM算法中的dual predictor很像的,但因为该算法中 BjuUJfR.png!mobile 的特殊更新步骤(3.2),使得 Uvu2Mvy.png!mobile natually zQZjumf.png!mobile ,所以就不需要额外再往 MnEf6bj.png!mobile 上project,这一点是很妙的。看不懂没关系,我后面还会再讲。步骤(3.3)就是很标准的primal averaging,有经验的一看就知道要证 BFvamiy.png!mobile

文章作者管这个 Fj2m6nv.png!mobile 叫virtual queues,"because their update rule resembles a queueing equation"。下面来看看这个更新步骤(3.2)究竟在做啥,能使 Uvu2Mvy.png!mobile 有些什么性质。

Property 1. QNvQzm.png!mobile for all bUnMniv.png!mobile , Ibyy2e6.png!mobile .

Property 2. R732iij.png!mobile for all bUnMniv.png!mobile , Ibyy2e6.png!mobile .

Property 3. UZNzquQ.png!mobile , VzYnYnA.png!mobile for all Ir67NrZ.png!mobile .

Property 1 用induction(数学归纳法)很好证:对任意 bUnMniv.png!mobile6VzIRv3.png!mobile 。假设 QNvQzm.png!mobile ,分三种情况:

(1). IvEVnq2.png!mobile

(3.2)简化为 qyQ3EnU.png!mobile ,约束不满足的情况,dual variable往上增长,加大punish的力度,make sense。

(2). jmAVfau.png!mobile

fyQnEjJ.jpg!mobile 丑陋的图一

看图可知,(3.2)简化为 qyQ3EnU.png!mobile

(3). NrQnYb.png!mobile

ziYNRrV.jpg!mobile 丑陋的图二

看图可知,(3.2)简化为 YnyqqiM.png!mobile

所以 Property 1 得证,后面的 Property 2、3 同样分这三种情况,一目了然。更重要的是,把这三种情况总结一下,我们得到了(3.2)的庐山真面目:

这个 BjuUJfR.png!mobile 的更新还是很妙的,不同于传统的Lagrange multiplier, yYzURn2.png!mobile 永远都不会打到 ,它会一直待在 u63iy2r.png!mobile 的上面,哪怕这个约束已经满足了。

4. 收敛分析

Theorem 1. Let ameEnqV.png!mobile be an optimal solution of (P0) and Ffyqyq2.png!mobile be a Lagrange multiplier satisfying Assumption 2. If 2MnYFv.png!mobile , then for all rUVJNnE.png!mobile , we have:

rm6bai3.png!mobile , nqaMbym.png!mobile

for all bUnMniv.png!mobile . uyYzMny.png!mobile

(老规矩,下面扒一下证明;但也不会像以前一样全部写出来了,就稍微过一下。)

Define 3qE7b2a.png!mobile . Define Lyapunov drift :

Ajq2Yvi.png!mobile

(我其实不是很明白为啥它要叫Lyapunov drift。)

Lemma 1. 2auqUvz.png!mobile for all rUVJNnE.png!mobile .

Proof: 不同于原paper里的证明,我觉得把"庐山真面目"(3.2.simp)写出来后,分两种情况写一写,一下子就能出来。 AFzE3e3.png!mobile

Lemma 2. Let ameEnqV.png!mobile be an optimal solution of (P0). If uEfMZ3A.png!mobile , then for all rUVJNnE.png!mobile we have:

Proof: 很标准的一个proximal minimization point inequality加 Assumption 3AFzE3e3.png!mobile

Lemma 3. Let ameEnqV.png!mobile be an optimal solution of (P0).

  1. If uEfMZ3A.png!mobile , then for all rUVJNnE.png!mobile , we have meiaYzR.png!mobile
  2. If 2MnYFv.png!mobile , then for all rUVJNnE.png!mobile , we have

Proof: 看到第一个不等式, Theorem 1 的第一部分(4.1)式呼之欲出,因为我们有个著名的不等式:

3AvEVzF.png!mobile

至于 Theorem 1 的第二部分(4.2),constraint violation,同学们自己去看paper吧,我就不扒了。(年纪大了 真,要早点睡了。)

5. 和PCPM的一个小比较

写不动了。。。我之前也写过,Teboulle的原paper[2]虽然只讨论了2-block linearly constrained convex optimization problem,但把PCPM推广到N-block nonlinearly constrained是非常trivial的,把线性约束矩阵的norm换成非线性约束函数的Lipschitz modulus就可以了,所有证明都轻松能过。如果用PCPM算法解(P1):

它的算法步骤是这样的:

  1. QFN3Inu.png!mobile , fAVVfeA.png!mobile
  2. z6V7Vb.png!mobile
  3. while termination conditions are not met do
  • uaIVvuZ.png!mobile
  • AviMfaf.png!mobile
  • 2eEZv2V.png!mobile

两个算法的assumption是完全一样的,差就差在dual variable的更新步骤上,PCPM把dual predictor 3U7byq6.png!mobile 和dual corrector Yr2eyuj.png!mobile 都只是打到 ,而这里讲的这个算法是要把dual variable Uvu2Mvy.png!mobile 拔高到 uIvY3ae.png!mobile 的,个中玄机,诸位再参透参透。而且,原paper[2]给了global convergence,然后加了一个proximal Lagrangian inverse mapping在原点处Lipschitz continuous的假设后,给了个linear convergence rate;而如果没有这个假设,convergence rate是什么并没有讨论,不过我猜后面肯定有人证过了,加个primal averaging, BFvamiy.png!mobile 没跑的(狗头)。还有,其实仔细想想,PCPM算法里的 和这个算法里的 3MF3Ejq.png!mobile 是可以有个转换关系的: 6Rb6nmm.png!mobile ,再比比PCPM里对 的要求和这里对 3MF3Ejq.png!mobile 的要求,嗯,好像还能发现点什么。。。

6. 写在最后

paper[1]后面其实还有个做得很好的应用,叫decentralized multipath network flow control problem,我实在不是个做control的人,就不扒了,感兴趣的同学,可自行阅读[1]。(悄悄说一句,Hao Yu博士的thesis也写得很好,很值得一读。) 最后的最后,本文是用markdown写的,用Zhihu On VSCode发的,还是觉得不是很方便,需要改进。

参考文献

[1]. H. Yu and M. J Neely, A Simple Parallel Algorithm with an O(1/t) Convergence Rate for General Convex Programs , SIAM Journal on Optimization, 27(2): 759 - 783, 2017.

[2]. G. Chen and M. Teboulle, A Proximal-based Decomposition Method for Convex Minimization Problems , Mathematical Programming, 64(1-3): 81 - 101, 1994.

[3]. S. Sabach and M. Teboulle, Faster Lagrangian-Based Methods in Convex Optimization , arXiv preprint arXiv:2010.14314, 2020.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK