写在前面
本文简单的对已有的分布式一阶优化方法做个综述。虽然原论文以及大部分引文提出的是离散时间系统分布式优化方法,但由于我本人研究的课题主要针对连续时间系统,所以本文所述的分布式优化方法主要以连续时间形式呈现。
基于上述原因,本文中不再细述原论文关于离散时间系统的证明,主要是分享现有的分布式一阶优化方法,以及设计连续时间方法中我的一些想法和思考。
问题描述
考虑分布式优化问题
min
f
(
x
)
=
∑
i
=
1
n
f
i
(
x
i
)
s.t.
x
1
=
x
2
=
⋯
=
x
n
,
\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}
mins.t.f(x)=i=1∑nfi(xi)x1=x2=⋯=xn,
和单积分器系统
x
˙
i
=
u
i
,
\dot x_i = u_i,
x˙i=ui,
设计控制器使得
x
x
x实现一致性的同时收敛到
f
(
x
)
f(x)
f(x)的最小值。
分布式梯度下降(DGD)
提到分布式一阶优化方法,最早的就是分布式梯度下降(distributed gradient desent, DGD)。该方法连续时间形式给出如下:
x
˙
=
−
L
x
−
α
∇
f
(
x
)
,
\dot x=-Lx-\alpha\nabla f(x),
x˙=−Lx−α∇f(x),
其中
α
\alpha
α为优化步长,
∇
f
(
x
)
=
[
∇
f
1
T
(
x
1
)
,
⋯
,
∇
f
n
T
(
x
n
)
]
T
\nabla f(x)=[\nabla f_1^T(x_1),\cdots,\nabla f_n^T(x_n)]^T
∇f(x)=[∇f1T(x1),⋯,∇fnT(xn)]T。该方法满足
1
n
1
n
T
x
˙
=
−
1
n
α
1
n
T
∇
f
(
x
)
\frac{1}{n}1_n^T\dot x=-\frac{1}{n}\alpha 1_n^T\nabla f(x)
n11nTx˙=−n1α1nT∇f(x),即
x
x
x的均值一直在沿着
f
(
x
)
f(x)
f(x)梯度下降的方向运动。
容易看出,当
α
\alpha
α为固定步长(fixed step)时,该方法的收敛是不精确的。令
V
=
α
f
(
x
)
+
x
T
L
x
V=\alpha f(x)+x^TLx
V=αf(x)+xTLx,可得
V
˙
=
−
∥
L
x
+
α
∇
f
(
x
)
∥
2
≤
0
,
\dot V=-\|Lx+\alpha \nabla f(x)\|^2\leq 0,
V˙=−∥Lx+α∇f(x)∥2≤0,
但不能保证
L
x
=
0
Lx=0
Lx=0和
1
n
T
∇
f
(
x
)
=
0
1_n^T\nabla f(x)=0
1nT∇f(x)=0同时成立。因为若要
L
x
=
0
Lx=0
Lx=0,则需要
∇
f
(
x
)
=
0
\nabla f(x)=0
∇f(x)=0,但是每一个
∇
f
i
(
x
i
)
=
0
\nabla f_i(x_i)=0
∇fi(xi)=0的解通常不是同一个
x
x
x,所以平衡点处
L
x
=
0
Lx=0
Lx=0不一定成立。为了使分布式梯度下降能够精确收敛于最优解,只能将
α
\alpha
α设置为递减步长(diminishing step),使得当
t
→
∞
t\to\infty
t→∞时
α
→
0
\alpha\to 0
α→0,但是这样做牺牲了收敛速度。
精确一阶算法(EXTRA)
为了保证最优解的精确性,同时不牺牲收敛速度,Shi 2015给出了精确一阶算法(exact first-order algorithm, EXTRA)的离散时间形式1。
Kia 2015给出该方法的连续时间形式2如下:
x
˙
=
−
L
x
−
α
∇
f
(
x
)
+
y
y
˙
=
−
L
x
,
\begin{aligned} \dot x&=-Lx-\alpha \nabla f(x)+y\\ \dot y&=-Lx, \end{aligned}
x˙y˙=−Lx−α∇f(x)+y=−Lx,
其中
α
\alpha
α是固定正值,且
1
n
T
y
(
0
)
=
0
1_n^Ty(0)=0
1nTy(0)=0。可以看出,
y
y
y是
−
L
x
-Lx
−Lx的积分项,作为对
L
x
=
0
Lx=0
Lx=0精确性的补偿。只有当
L
x
=
0
Lx=0
Lx=0时,
y
˙
=
0
\dot y=0
y˙=0,补偿停止。同时,初值条件
1
n
T
y
(
0
)
=
0
1_n^Ty(0)=0
1nTy(0)=0和
1
n
T
y
˙
=
0
1_n^T\dot y=0
1nTy˙=0联合保证了
1
n
1
n
T
x
˙
=
−
1
n
α
1
n
T
∇
f
(
x
)
\frac{1}{n}1_n^T\dot x=-\frac{1}{n}\alpha 1_n^T\nabla f(x)
n11nTx˙=−n1α1nT∇f(x),因此能够收敛到最优解。
原始对偶算法
将分布式优化问题写成如下形式
min
f
(
x
)
=
∑
i
=
1
n
f
i
(
x
i
)
s.t.
D
T
x
=
0.
\begin{aligned}\min&\quad f(x)=\sum_{i=1}^n f_i(x_i)\\\operatorname{s.t.} &\quad D^Tx=0.\end{aligned}
mins.t.f(x)=i=1∑nfi(xi)DTx=0.
构建增广拉格朗日函数
L
(
x
,
y
)
=
f
(
x
)
+
1
α
y
T
D
T
x
+
1
2
α
x
T
L
x
,
\mathcal L(x,y)=f(x)+\frac{1}{\alpha }y^TD^Tx+\frac{1}{2\alpha }x^TLx,
L(x,y)=f(x)+α1yTDTx+2α1xTLx,
就可以使用经典的原始对偶算法(primal-dual algorithm)解决:
x
˙
=
−
α
∇
x
L
(
x
,
y
)
y
˙
=
α
∇
y
L
(
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˙y˙=−α∇xL(x,y)=α∇yL(x,y),
即
x
˙
=
−
L
x
−
α
∇
f
(
x
)
−
D
y
y
˙
=
D
T
x
,
\begin{aligned} \dot x&=-Lx-\alpha \nabla f(x)-Dy\\ \dot y&=D^Tx, \end{aligned}
x˙y˙=−Lx−α∇f(x)−Dy=DTx,
其中
D
D
D是图的关联矩阵(incidence matrix),满足
L
=
D
D
T
L=DD^T
L=DDT。上面第二个式子用
y
˙
=
D
T
(
x
+
x
˙
)
\dot y=D^T(x+\dot x)
y˙=DT(x+x˙)也可以,参考Dusan 20193。
可以看出,原始对偶算法和EXTRA算法等价4。将EXTRA算法中的 y y y替换为 − D y -Dy −Dy,即可得到原始对偶算法。注意原始对偶算法无需初始条件限制,因为 1 n T D y ( 0 ) = 0 1_n^TDy(0)=0 1nTDy(0)=0恒成立。
分布式梯度跟踪(DGT)
为了保证最优解的精确性,同时不牺牲收敛速度,Qu 20185给出了另一个思路,即分布式梯度跟踪(distributed gradient tracking, DGT)。该方法的连续时间形式如下:
x
˙
=
−
L
x
−
α
y
y
˙
=
−
L
y
+
∇
2
f
(
x
)
x
˙
,
\begin{aligned} \dot x&=-Lx-\alpha y\\ \dot y&=-Ly+\nabla^2f(x)\dot x, \end{aligned}
x˙y˙=−Lx−αy=−Ly+∇2f(x)x˙,
其中
α
\alpha
α是固定正值,且
y
(
0
)
=
∇
f
(
x
(
0
)
)
y(0)=\nabla f(x(0))
y(0)=∇f(x(0))。可以看出,
y
i
y_i
yi作为梯度均值
1
n
1
n
T
∇
f
(
x
)
\frac{1}{n}1_n^T\nabla f(x)
n11nT∇f(x)的估计,平衡点处梯度均值趋于0,从而保证
L
x
=
0
Lx=0
Lx=0。
值得一提的是,该方法在梯度跟踪部分引入了 x ˙ \dot x x˙,而 x ˙ = 0 \dot x=0 x˙=0反过来保证 L y = 0 Ly=0 Ly=0,因此所有 y i y_i yi相等且为 1 n 1 n T ∇ f ( x ) \frac{1}{n}1_n^T\nabla f(x) n11nT∇f(x)。这个思路在Dusan 2019中也有使用,相当于在原始对偶算法中的拉格朗日乘子部分引入了 x ˙ \dot x x˙,而 x ˙ \dot x x˙最终趋近于0,因此不影响最终结果。
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 ↩︎
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 ↩︎
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 ↩︎
Mokhtari, A., & Ribeiro, A. (2016). DSA: Decentralized double stochastic averaging gradient algorithm. J. Mach. Learn. Res., vol. 17, pp. 1–35. ↩︎
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 ↩︎