机器学习与控制领域的结合研究最近得到很多研究者的关注,但是文献中的数学推导与讨论往往省略了很多细节与背景知识,本系列的文章主要基于最新文献,尝试复现并详化其中的数学推导与讨论,希望刚刚入门的同学也可以很容易地理解。也欢迎各位同学的批评指正,共同学习!
本文是机器学习与控制系列的第一篇文章,主要深入介绍交替方向乘子法 Alternating Direction Method of Multipliers(ADMM)算法的常微分方程 Ordinary Differential Equation(ODE)模型以及基于Lyapunov函数的收敛分析。优化算法的收敛速度分析往往比较复杂,而且没有统一的数学工具来分析。将优化算法转换为ODE方程,然后结合控制理论中简单的稳定性分析,我们可以很容易地得到算法的收敛速度。本文中我们将使用Lyapunov函数的方法来分析得到的ODE方程的稳定性,进而得出收敛速度。
本文主要分为一下几个部分,第一部分为ADMM背景介绍,简单介绍ADMM优化算法以及ODE建模优化算法的背景;第二部分主要介绍Lyapunov函数的背景知识;第三部分详细推导如何用ODE建模ADMM算法;最后通过Lypunov函数分析ADMM算法的收敛速度。有基础的同学可以跳着阅读。
注:本篇博文基于以下文献:ADMM and accelerated ADMM as continuous dynamical systems.[^1]
假设我们考虑如下的优化问题:
min ( x , z ) ∈ R n × R m { V ( x , z ) : = f ( x ) + g ( z ) } s.t. z = A x \text{min}_{(x,z)\in R^{n} \times R^{m}}\ \{ V(x,z):=f(x)+g(z) \} \\\ \text{s.t.}\ \ \ z = Ax min(x,z)∈Rn×Rm {V(x,z):=f(x)+g(z)} s.t. z=Ax
其中:
ADMM的迭代更新如下:
x k + 1 = arg min x f ( x ) + ρ 2 ∥ A x − z k + u k ∥ 2 , ( 1 a ) z k + 1 = arg min z g ( x ) + ρ 2 ∥ A x k + 1 − z + u k ∥ 2 , ( 1 b ) u k + 1 = u k + A x k + 1 − z k + 1 , ( 1 c ) x_{k+1} = \text{arg min}_{x} \ f(x) + \frac{\rho}{2} \| Ax-z_k+u_k \|^2, \ \ \ (1a)\\ z_{k+1} = \text{arg min}_{z}\ g(x) + \frac{\rho}{2} \| Ax_{k+1}-z+u_k \|^2,\ \ \ (1b)\\ u_{k+1} = u_k + Ax_{k+1} - z_{k+1},\ \ \ (1c) xk+1=arg minx f(x)+2ρ∥Ax−zk+uk∥2, (1a)zk+1=arg minz g(x)+2ρ∥Axk+1−z+uk∥2, (1b)uk+1=uk+Axk+1−zk+1, (1c)
其中 ρ > 0 \rho> 0 ρ>0为惩罚参数, u k ∈ R m u_k\in R^m uk∈Rm 是约束条件 z = A x z = Ax z=Ax 的第 k k k 个拉格朗日乘数估计。
Lyapunov函数为控制理论中很重要的用来分析系统平衡点稳定性的工具。简单来说,我们针对某个系统构建Lyapunov函数 E ( . ) \mathcal{E}(.) E(.)(一个正定函数),然后对这个函数求导,如果 E ˙ ( . ) ≤ 0 \dot\mathcal{E}(.)\leq 0 E˙(.)≤0,那么我们可以说系统为Lyapunov稳定。这里如果我们将 Lyapunov函数看作是系统的能量函数,对能量函数求导并且其导数一直为负,则说明系统的能量是递减的,也就说明系统是稳定的。
我们考虑以下的一阶ODE系统模型:
Y ˙ = F ( Y , t ) , Y ( t 0 ) = Y 0 \dot Y = F(Y,t), \ \ Y(t_0) = Y_0 Y˙=F(Y,t), Y(t0)=Y0
首先定义系统的平衡点为 Y ∗ Y^* Y∗, Y ∗ Y^* Y∗ 满足 F ( Y ∗ , t ) = 0 F(Y^*,t)=0 F(Y∗,t)=0。我们分析系统的稳定性,即是针对系统的平衡点来分析,所以 Lyapunov函数也往往定义在包含 Y ∗ Y^* Y∗ 的一个开放集。下面的定理总结了如何应用 Lyapunov 函数来分析 Y ∗ Y^* Y∗ 的稳定性。
定理: 假设 Y ∗ Y^* Y∗ 为系统的平衡点,定义包含 Y ∗ Y^* Y∗ 的一个开放集 O \mathcal{O} O, 以及函数 E : O → R \mathcal{E}: \mathcal{O} \rightarrow R E:O→R,则我们有以下结论:
如果 E ( . ) \mathcal{E}(.) E(.) 满足
- E ( Y ∗ ) = 0 \mathcal{E}(Y^*)=0 E(Y∗)=0 \quad \quad \quad \quad \quad \quad \quad \ \ \ \ \quad \qquad ( L . 1 ) (L.1) (L.1)
- E ( Y ) > 0 ∀ Y ∈ O ∖ Y ∗ \mathcal{E}(Y)>0 \ \ \ \ \forall \ Y \in \mathcal{O}\setminus Y^* E(Y)>0 ∀ Y∈O∖Y∗ \quad \quad \ \ \ \qquad ( L . 2 ) (L.2) (L.2)
- E ˙ ( Y ) ≤ 0 ∀ Y ∈ O ∖ Y ∗ \dot\mathcal{E}(Y)\leq 0 \ \ \ \ \forall \ Y \in \mathcal{O}\setminus Y^* E˙(Y)≤0 ∀ Y∈O∖Y∗ \quad \quad \ \ \ \qquad ( L . 3 ) (L.3) (L.3)
那么 Y ∗ Y^* Y∗ 稳定并且 E ( . ) \mathcal{E}(.) E(.) 为 Lyapunov 函数。如果进一步我们有 E ˙ ( Y ) < 0 ∀ Y ∈ O ∖ Y ∗ \dot\mathcal{E}(Y) < 0 \ \ \ \ \forall \ Y \in \mathcal{O}\setminus Y^* E˙(Y)<0 ∀ Y∈O∖Y∗ 那么 Y ∗ Y^* Y∗ 为渐进稳定并且 E ( . ) \mathcal{E}(.) E(.) 为严格 Lyapunov 函数。
我们将通过上式 ( 1 ) (1) (1) 推导出ADMM的ODE模型,基于我们对函数 f f f 和 g g g 的假设 (i.e. f f f 和 g g g 为凸函数),我们可以得出优化问题 (1a) 和 (1b) 为强凸问题 (strongly convex)。所以每一步的迭代 ( x k + 1 x_{k+1} xk+1, z k + 1 z_{k+1} zk+1, u k + 1 u_{k+1} uk+1) 都是唯一的。通过 (1a) 和 (1b) 的最优条件 (即目标函数求导等于0),我们可以得到 ( x k + 1 x_{k+1} xk+1, z k + 1 z_{k+1} zk+1, u k + 1 u_{k+1} uk+1) 满足下面的代数方程:
∇ f ( x k + 1 ) + ρ A T ( A x k + 1 − z k + u k ) = 0 , ( 2 a ) ∇ g ( x k + 1 ) − ρ ( A x k + 1 − z k + 1 + u k ) = 0 , ( 2 b ) u k + 1 − u k − A x k + 1 + z k + 1 = 0 , ( 2 c ) \nabla f(x_{k+1}) + \rho A^T(Ax_{k+1} - z_k + u_k)= 0, \ \ \ (2a)\\ \nabla g(x_{k+1}) - \rho (Ax_{k+1} - z_{k+1} + u_k)= 0, \ \ \ (2b)\\ u_{k+1} - u_k - Ax_{k+1} + z_{k+1}=0,\ \ \ (2c) ∇f(xk+1)+ρAT(Axk+1−zk+uk)=0, (2a)∇g(xk+1)−ρ(Axk+1−zk+1+uk)=0, (2b)uk+1−uk−Axk+1+zk+1=0, (2c)
将 (2b) 左乘 A T A^T AT, 并与 (2a) 相加,可以得到:
∇ f ( x k + 1 ) + A T ∇ g ( x k + 1 ) + ρ A T ( z k + 1 − z k ) = 0 , ( 3 ) \nabla f(x_{k+1}) + A^T\nabla g(x_{k+1}) + \rho A^T(z_{k+1} - z_k ) = 0, \ \ (3) ∇f(xk+1)+AT∇g(xk+1)+ρAT(zk+1−zk)=0, (3)
假设 t = δ k t=\delta k t=δk 并且 x k = X ( t ) x_k = X(t) xk=X(t), z k = Z ( t ) z_k = Z(t) zk=Z(t), u k = U ( t ) u_k = U(t) uk=U(t)。
下面我们研究向量 z k + 1 z_{k+1} zk+1 的第 i i i 项:由于 z k , i = Z i ( t ) z_{k,i} = Z_i(t) zk,i=Zi(t), 且 t = δ k t=\delta k t=δk, 我们有: z k + 1 , i = Z i ( t + δ ) = Z i ( t ) + δ Z ˙ i ( t + λ i δ ) z_{k+1,i} = Z_i(t+\delta)=Z_i(t)+\delta \dot Z_i(t+\lambda_i\delta) zk+1,i=Zi(t+δ)=Zi(t)+δZ˙i(t+λiδ),其中 λ i ∈ [ 0 , 1 ] \lambda_i \in [0,1] λi∈[0,1]。这里我们应用中值定理得到 Z ˙ i ( t + λ i δ ) \dot Z_i(t+\lambda_i\delta) Z˙i(t+λiδ) 的形式。所以,当 δ \delta δ 无限趋近于0时,我们有:
lim δ → 0 z k + 1 , i − z k , i δ = lim δ → 0 Z ˙ i ( t + λ i δ ) = Z ˙ i ( t ) \lim_{\delta\to 0} \frac{z_{k+1,i}-z_{k,i}}{\delta} = \lim_{\delta\to 0}\dot Z_i(t+\lambda_i\delta) = \dot Z_i(t) δ→0limδzk+1,i−zk,i=δ→0limZ˙i(t+λiδ)=Z˙i(t)
z k + 1 z_{k+1} zk+1 向量中的每一项都满足上式,所以 (3) 式中的第三项 ρ A T ( z k + 1 − z k ) \rho A^T(z_{k+1} - z_k ) ρAT(zk+1−zk) 可以直接表示成 A T Z ˙ ( t ) A^T\dot Z(t) ATZ˙(t),如果我们取 ρ = 1 / δ \rho = 1/ \delta ρ=1/δ。对于 (3) 式中的前两项,我们有:
lim δ → 0 ∇ f ( x k + 1 ) + A T ∇ g ( x k + 1 ) = lim δ → 0 ∇ f ( X ( t + δ ) ) + A T ∇ g ( Z ( t + δ ) ) = f ( X ( t ) ) + A T ∇ g ( Z ( t ) ) \lim_{\delta\to 0} \nabla f(x_{k+1}) + A^T\nabla g(x_{k+1}) = \lim_{\delta\to 0} \nabla f(X(t+\delta)) + A^T\nabla g(Z(t+\delta)) = f(X(t)) + A^T\nabla g(Z(t)) δ→0lim∇f(xk+1)+AT∇g(xk+1)=δ→0lim∇f(X(t+δ))+AT∇g(Z(t+δ))=f(X(t))+AT∇g(Z(t))
所以,对 (3) 式求极限 ( δ → 0 \delta \rightarrow 0 δ→0),我们可以得到:
f ( X ( t ) ) + A T ∇ g ( Z ( t ) ) + A T Z ˙ ( t ) = 0 , ( 4 ) f(X(t)) + A^T\nabla g(Z(t)) + A^T\dot Z(t) = 0, \ \ \ (4) f(X(t))+AT∇g(Z(t))+ATZ˙(t)=0, (4)
下面我们考虑式 (2c) 的第 i i i 项:
0 = U i ( t + δ ) − U i ( t ) − ( A X ) i ( t + δ ) + Z i ( t + δ ) = δ U ˙ i ( t + λ i δ ) − ( A X ) i ( t + δ ) + Z i ( t + δ ) 0 = U_i (t+\delta) -U_i (t) -(AX)_i(t+\delta) + Z_i(t+\delta) \\ =\delta\dot U_i(t+\lambda_i\delta) -(AX)_i(t+\delta) + Z_i(t+\delta) 0=Ui(t+δ)−Ui(t)−(AX)i(t+δ)+Zi(t+δ)=δU˙i(t+λiδ)−(AX)i(t+δ)+Zi(t+δ)
对上式求极限 ( δ → 0 \delta \rightarrow 0 δ→0),我们可以得到:
0 = Z i ( t ) − ( A X ) i ( t ) 0 = Z_i(t)-(AX)_i(t) 0=Zi(t)−(AX)i(t)
上式对向量中的每一项都满足,可得 Z ( t ) = A X ( t ) Z(t) = AX(t) Z(t)=AX(t) 并且 Z ˙ ( t ) = A X ˙ ( t ) \dot Z(t) = A \dot X(t) Z˙(t)=AX˙(t)。注意到我们有 V ( x , z ) = f ( x ) + g ( z ) V(x,z) = f(x) + g(z) V(x,z)=f(x)+g(z),我们有 ∇ f ( x ) + A T ∇ g ( A X ) = ∇ V ( X ) \nabla f(x) +A^T \nabla g(AX) = \nabla V(X) ∇f(x)+AT∇g(AX)=∇V(X)。
所以式 (4) 可以表示为:
∇ V ( X ) + A T A X ˙ ( t ) = 0 \nabla V(X) + A^TA\dot X(t) = 0 ∇V(X)+ATAX˙(t)=0
基于假设,矩阵 A A A 为列满秩矩阵 ( A T A A^TA ATA 可逆),我们有:
X ˙ ( t ) + ( A T A ) − 1 ∇ V ( X ) = 0 ( 5 ) \dot X(t) + (A^TA)^{-1}\nabla V(X) = 0 \quad (5) X˙(t)+(ATA)−1∇V(X)=0(5)
本节我们将讨论通过选择合适的Lyapunov函数,我们可以证明ADMM算法的稳定性以及得到ADMM算法的收敛速度。
上节中我们得到了ADMM算法的ODE形式:
X ˙ ( t ) + ( A T A ) − 1 ∇ V ( X ) = 0 \dot X(t) + (A^TA)^{-1}\nabla V(X) = 0 X˙(t)+(ATA)−1∇V(X)=0
下面的定理给出了ADMM算法稳定性的结果:
定理: 假设 X ∗ X^* X∗ 为目标函数 V ( . ) V(.) V(.) 的一个独立的局部最小点,(即存在集合 O ∈ R n \mathcal{O} \in R^n O∈Rn 使得 X ∗ ∈ O X^* \in \mathcal{O} X∗∈O, ∇ V ( X ) = 0 , ∀ X ∗ ∈ O ∖ X ∗ \nabla V(X) = 0, \forall X^* \in \mathcal{O}\setminus X^* ∇V(X)=0,∀X∗∈O∖X∗ ),我们有:
V ( X ) > V ( X ∗ ) ∀ X ∗ ∈ O ∖ X ∗ V(X) > V(X^*) \quad \forall X^* \in \mathcal{O}\setminus X^* V(X)>V(X∗)∀X∗∈O∖X∗所以 X ∗ X^* X∗ 为ADMM算法ODE形式 (5) 的渐进稳定平衡点。
证明: 由于 X ∗ X^* X∗ 为 V ( . ) V(.) V(.) 的一个最小点,由最优条件,我们可以得到 ∇ V ( x ∗ ) = 0 \nabla V(x^*) = 0 ∇V(x∗)=0,即 X ∗ X^* X∗ 为式 (5) 的一个平衡点。下面我们定义 Lyapunov 函数来证明 X ∗ X^* X∗ 为渐进稳定。考虑下面的 Lyapunov 函数:
E ( X ) = V ( X ) − V ( X ∗ ) \mathcal{E}(X)=V(X) - V(X^*) E(X)=V(X)−V(X∗)
我们可以得到此函数满足对 Lyapunov 函数条件 ( L . 1 ) (L.1) (L.1) 和 ( L . 2 ) (L.2) (L.2):
E ( X ∗ ) = V ( X ∗ ) − V ( X ∗ ) = 0 ( L . 1 ) \mathcal{E}(X^*)=V(X^*) - V(X^*)=0 \quad \text(L.1) E(X∗)=V(X∗)−V(X∗)=0(L.1)
E ( X ) > V ( X ∗ ) − V ( X ∗ ) = 0 ( L . 2 ) \mathcal{E}(X)>V(X^*) - V(X^*)=0\quad \text(L.2) E(X)>V(X∗)−V(X∗)=0(L.2)
对 E ( X ) \mathcal E (X) E(X) 求导,我们得到:
E ˙ ( X ) = ∇ V ( X ) T X ˙ = − ( A T A X ˙ ( t ) ) T X ˙ = − ( A T X ˙ ( t ) ) T A X ˙ = − ∥ A X ˙ ∥ 2 \dot \mathcal{E}(X)= \nabla V(X)^T \dot X= - (A^TA\dot X(t))^T \dot X= -(A^T\dot X(t))^T A \dot X= -\| A \dot X \|^2 E˙(X)=∇V(X)TX˙=−(ATAX˙(t))TX˙=−(ATX˙(t))TAX˙=−∥AX˙∥2
因为我们假设 X ∗ X^* X∗ 为目标函数 V ( . ) V(.) V(.) 的一个独立的局部最小点,所以如果 X ∈ O ∖ X ∗ X \in \mathcal{O} \setminus X^* X∈O∖X∗,我们有 ∇ V ( x ) ≠ 0 \nabla V(x) \neq 0 ∇V(x)=0, 由式 (5) 以及对矩阵 A A A 满秩的假设,我们可以得到 X ˙ ( t ) ≠ 0 \dot X(t) \neq 0 X˙(t)=0。 所以 E ( X ) \mathcal{E}(X) E(X) 也满足 Lyapunov 函数的第三个条件 ( L . 3 ) (L.3) (L.3):
E ˙ ( X ) < 0 ( L . 3 ) \dot \mathcal{E}(X) < 0 \quad \text(L.3) E˙(X)<0(L.3)
从而我们证明了 X ∗ X^* X∗ 为ADMM算法ODE形式 (5) 的渐进稳定平衡点。
通过对动态系统 (5) 构造不同的 Lyapunov 函数,我们还可以研究 ADMM 算法的收敛速度,即目标函数需要多久可以收敛到最优值。比如,如果我们考虑下面的 Lyapunov 函数:
E ( X , t ) = t [ V ( X ) − V ( X ∗ ) ] + 1 2 ∥ A ( X − X ∗ ) ∥ 2 \mathcal{E}(X,t)=t[V(X) - V(X^*)] + \frac{1}{2} \| A(X-X^*) \|^2 E(X,t)=t[V(X)−V(X∗)]+21∥A(X−X∗)∥2
很容易我们可以得到此函数满足对 Lyapunov 函数条件 ( L . 1 ) (L.1) (L.1) 和 ( L . 2 ) (L.2) (L.2):
E ( X ∗ , t ) = t [ V ( X ∗ ) − V ( X ∗ ) ] + 1 2 ∥ A ( X ∗ − X ∗ ) ∥ 2 = 0 ( L . 1 ) \mathcal{E}(X^*,t)=t[V(X^*) - V(X^*)] + \frac{1}{2} \| A(X^*-X^*) \|^2=0 \quad \text(L.1) E(X∗,t)=t[V(X∗)−V(X∗)]+21∥A(X∗−X∗)∥2=0(L.1)
E ( X , t ) > t [ V ( X ∗ ) − V ( X ∗ ) ] + 1 2 ∥ A ( X ∗ − X ∗ ) ∥ 2 = 0 ( L . 2 ) \mathcal{E}(X,t)>t[V(X^*) - V(X^*)] + \frac{1}{2} \| A(X^*-X^*) \|^2=0\quad \text(L.2) E(X,t)>t[V(X∗)−V(X∗)]+21∥A(X∗−X∗)∥2=0(L.2)
对 E ( X , t ) \mathcal E (X,t) E(X,t) 求导,我们得到:
E ˙ ( X , t ) = t ∇ V ( X ) T X ˙ + V ( X ) − V ( X ∗ ) + ( X − X ∗ ) T ( A T A X ˙ ) = − t ∥ A X ˙ ∥ 2 + V ( X ) − V ( X ∗ ) + ( X − X ∗ ) T ∇ V ( X ) \dot \mathcal{E}(X,t)=t\nabla V(X)^T \dot X+V(X)-V(X^*)+(X-X^*)^T(A^TA\dot X) \\ \ \ \ \ = -t\| A\dot X\|^2+V(X)-V(X^*)+(X-X^*)^T\nabla V(X) E˙(X,t)=t∇V(X)TX˙+V(X)−V(X∗)+(X−X∗)T(ATAX˙) =−t∥AX˙∥2+V(X)−V(X∗)+(X−X∗)T∇V(X)
上式中,我们有: − t ∥ A X ˙ ∥ 2 ≤ 0 -t\| A\dot X\|^2 \leq 0 −t∥AX˙∥2≤0,由于 V ( X ) V(X) V(X) 是凸函数,根据凸函数的定义,我们有: V ( X ) − V ( X ∗ ) + ( X − X ∗ ) T ∇ V ( X ) ≥ 0 V(X)-V(X^*)+(X-X^*)^T\nabla V(X) \geq 0 V(X)−V(X∗)+(X−X∗)T∇V(X)≥0。所以我们有:
E ˙ ( X , t ) ≤ 0 \dot \mathcal{E}(X,t) \leq 0 E˙(X,t)≤0
所以 ∀ t ≥ t 0 \forall \ t \geq t_0 ∀ t≥t0,我们有 E ( X , t ) ≤ E ( X 0 , t 0 ) \mathcal{E}(X,t) \leq \mathcal{E}(X_0,t_0) E(X,t)≤E(X0,t0),根据 $\mathcal{E}(X,t) $ 的定义,可以得到:
V ( X ) − V ( X ∗ ) = 1 t E ( X , t ) − 1 2 t ∥ A ( X − X ∗ ) ∥ 2 ≤ 1 t E ( X , t ) ≤ 1 t E ( X 0 , t 0 ) V(X) - V(X^*) = \frac{1}{t} \mathcal{E}(X,t) - \frac{1}{2t} \| A(X-X^*) \|^2 \leq \frac{1}{t} \mathcal{E}(X,t) \leq \frac{1}{t} \mathcal{E}(X_0,t_0) V(X)−V(X∗)=t1E(X,t)−2t1∥A(X−X∗)∥2≤t1E(X,t)≤t1E(X0,t0)
所以,当我们假设目标函数为凸函数时,通过对 ADMM 算法的ODE形式构造合适的 Lyapunov 函数得到目标函数的收敛速度为 O ( 1 / t ) O(1/t) O(1/t),这与 ADMM 算法的收敛速度 O ( 1 / k ) O(1/k) O(1/k) 一致。
在 França, Robinson 和 Vidal 2018年的 ADMM 文章中,还对加速 ADMM (Accelerated ADMM) 进行了ODE建模,并通过构造 Lyapunov 函数了分析了该算法的稳定性和收敛速度。感兴趣的同学可以看看原始论文。
通过结合控制理论中已经发展很成熟理论 (Lyapunov 函数) 来研究优化算法的收敛性质最近收到越来越多人的关注,一方面是因为成熟的控制理论一定程度上简化了传统繁琐的证明过程。另一方面,通过对系统的深入分析,我们可以得到一系列优化算法的变种。由理论指导实践,我相信这将会是以后的一个重要的研究方向。
[1]: França, G., Robinson, D.P. and Vidal, R., 2018. ADMM and accelerated ADMM as continuous dynamical systems. arXiv preprint arXiv:1805.06579.