精确分布式一阶优化方法(Exact Distributed First-Order Method)

写在前面

本文简单的对已有的分布式一阶优化方法做个综述。虽然原论文以及大部分引文提出的是离散时间系统分布式优化方法,但由于我本人研究的课题主要针对连续时间系统,所以本文所述的分布式优化方法主要以连续时间形式呈现。

基于上述原因,本文中不再细述原论文关于离散时间系统的证明,主要是分享现有的分布式一阶优化方法,以及设计连续时间方法中我的一些想法和思考。

问题描述

考虑分布式优化问题

minf(x)=i=1nfi(xi)s.t.x1=x2==xn\begin{aligned}\min&\quad f(x)=\sum_{i=1}^n f_i(x_i)\\\operatorname{s.t.} &\quad x_1=x_2=\cdots=x_n,\end{aligned}

和单积分器系统

x˙i=ui,\dot x_i = u_i,

设计控制器使得xx实现一致性的同时收敛到f(x)f(x)的最小值。

分布式梯度下降(DGD)

提到分布式一阶优化方法,最早的就是分布式梯度下降(distributed gradient desent, DGD)。该方法连续时间形式给出如下:

x˙=Lxαf(x),\dot x=-Lx-\alpha\nabla f(x),

其中α\alpha为优化步长,f(x)=[f1T(x1),,fnT(xn)]T\nabla f(x)=[\nabla f_1^T(x_1),\cdots,\nabla f_n^T(x_n)]^T。该方法满足1n1nTx˙=1nα1nTf(x)\frac{1}{n}1_n^T\dot x=-\frac{1}{n}\alpha 1_n^T\nabla f(x),即xx的均值一直在沿着f(x)f(x)梯度下降的方向运动。

容易看出,当α\alpha固定步长(fixed step)时,该方法的收敛是不精确的。令V=αf(x)+xTLxV=\alpha f(x)+x^TLx,可得

V˙=Lx+αf(x)20,\dot V=-\|Lx+\alpha \nabla f(x)\|^2\leq 0,

但不能保证Lx=0Lx=01nTf(x)=01_n^T\nabla f(x)=0同时成立。因为若要Lx=0Lx=0,则需要f(x)=0\nabla f(x)=0,但是每一个fi(xi)=0\nabla f_i(x_i)=0的解通常不是同一个xx,所以平衡点处Lx=0Lx=0不一定成立。为了使分布式梯度下降能够精确收敛于最优解,只能将α\alpha设置为递减步长(diminishing step),使得当tt\to\inftyα0\alpha\to 0,但是这样做牺牲了收敛速度。

精确一阶算法(EXTRA)

为了保证最优解的精确性,同时不牺牲收敛速度,Shi 2015给出了精确一阶算法(exact first-order algorithm, EXTRA)的离散时间形式[1]

Kia 2015给出该方法的连续时间形式[2]如下:

x˙=Lxαf(x)+yy˙=Lx,\begin{aligned} \dot x&=-Lx-\alpha \nabla f(x)+y\\ \dot y&=-Lx, \end{aligned}

其中α\alpha是固定正值,且1nTy(0)=01_n^Ty(0)=0。可以看出,yyLx-Lx的积分项,作为对Lx=0Lx=0精确性的补偿。只有当Lx=0Lx=0时,y˙=0\dot y=0,补偿停止。同时,初值条件1nTy(0)=01_n^Ty(0)=01nTy˙=01_n^T\dot y=0联合保证了1n1nTx˙=1nα1nTf(x)\frac{1}{n}1_n^T\dot x=-\frac{1}{n}\alpha 1_n^T\nabla f(x),因此能够收敛到最优解。

原始对偶算法

将分布式优化问题写成如下形式

minf(x)=i=1nfi(xi)s.t.DTx=0.\begin{aligned}\min&\quad f(x)=\sum_{i=1}^n f_i(x_i)\\\operatorname{s.t.} &\quad D^Tx=0.\end{aligned}

构建增广拉格朗日函数

L(x,y)=f(x)+1αyTDTx+12αxTLx,\mathcal L(x,y)=f(x)+\frac{1}{\alpha }y^TD^Tx+\frac{1}{2\alpha }x^TLx,

就可以使用经典的原始对偶算法(primal-dual algorithm)解决:

x˙=αxL(x,y)y˙=αyL(x,y),\begin{aligned} \dot x&=-\alpha \nabla_x \mathcal L(x,y)\\ \dot y&=\alpha \nabla_y \mathcal L(x,y), \end{aligned}

x˙=Lxαf(x)Dyy˙=DTx,\begin{aligned} \dot x&=-Lx-\alpha \nabla f(x)-Dy\\ \dot y&=D^Tx, \end{aligned}

其中DD是图的关联矩阵(incidence matrix),满足L=DDTL=DD^T。上面第二个式子用y˙=DT(x+x˙)\dot y=D^T(x+\dot x)也可以,参考Dusan 2019[3]

可以看出,原始对偶算法和EXTRA算法等价[4]。将EXTRA算法中的yy替换为Dy-Dy,即可得到原始对偶算法。注意原始对偶算法无需初始条件限制,因为1nTDy(0)=01_n^TDy(0)=0恒成立。

分布式梯度跟踪(DGT)

为了保证最优解的精确性,同时不牺牲收敛速度,Qu 2018[5]给出了另一个思路,即分布式梯度跟踪(distributed gradient tracking, DGT)。该方法的连续时间形式如下:

x˙=Lxαyy˙=Ly+2f(x)x˙,\begin{aligned} \dot x&=-Lx-\alpha y\\ \dot y&=-Ly+\nabla^2f(x)\dot x, \end{aligned}

其中α\alpha是固定正值,且y(0)=f(x(0))y(0)=\nabla f(x(0))。可以看出,yiy_i作为梯度均值1n1nTf(x)\frac{1}{n}1_n^T\nabla f(x)的估计,平衡点处梯度均值趋于0,从而保证Lx=0Lx=0

值得一提的是,该方法在梯度跟踪部分引入了x˙\dot x,而x˙=0\dot x=0反过来保证Ly=0Ly=0,因此所有yiy_i相等且为1n1nTf(x)\frac{1}{n}1_n^T\nabla f(x)。这个思路在Dusan 2019中也有使用,相当于在原始对偶算法中的拉格朗日乘子部分引入了x˙\dot x,而x˙\dot x最终趋近于0,因此不影响最终结果。


  1. Shi, W., Ling, Q., Wu, G., & Yin, W. (2015). Extra: An exact first-order a lgorithm for decentralized consensus optimization. SIAM Journal on Optimization, 25(2), 944–966. https://doi.org/10.1137/14096668X ↩︎

  2. Kia, S. S., Cortés, J., & Martínez, S. (2015). Distributed convex optimization via continuous-time coordination algorithms with discrete-time communication. In Automatica (Vol. 55, pp. 254–264). Elsevier Ltd. https://doi.org/10.1016/j.automatica.2015.03.001 ↩︎

  3. Jakovetić, D. (2019). A Unification and Generalization of Exact Distributed First-Order Methods. IEEE Transactions on Signal and Information Processing over Networks, 5(1), 31–46. https://doi.org/10.1109/TSIPN.2018.2846183 ↩︎

  4. Mokhtari, A., & Ribeiro, A. (2016). DSA: Decentralized double stochastic averaging gradient algorithm. J. Mach. Learn. Res., vol. 17, pp. 1–35. ↩︎

  5. Qu, G., & Li, N. (2018). Harnessing smoothness to accelerate distributed optimization. IEEE Transactions on Control of Network Systems, 5(3), 1245–1260. https://doi.org/10.1109/TCNS.2017.2698261 ↩︎