交替方向乘子法(Alternating Direction Multiplier Method,ADMM)是一種求解具有可分結構的凸優化問題的重要方法,其最早由Gabay和Mercier於1967年提出。ADMM是結合對偶上升法的可分離特性以及ALM松弛收斂條件,所形成的一種改進方法,該算法在大規模數據分析處理領域因處理速度快,收斂性能好而備受關注[1]。
一、對偶上升法(Dual Ascent Algorithm)
對偶上升法是通過對偶變量的更新獲得原問題最優解的一種方法。考慮具有等式約束的優化問題:
\begin{equation}\label{E1}
\begin{array}{ll}{\underset{x}{\operatorname{min}}} & {
f(x)
}, \\ {\text { s.t. }} & {Ax=b},\end{array}
\end{equation}
其中$x\in \mathbb{R}^{n}$,$A\in\mathbb{R}^{m\times n}$,$f:\mathbb{R}^{n} \to \mathbb{R}$為凸函數。
引入對偶變量(或拉格朗日乘子)$y \in \mathbb{R}^{m}$,,通過定義拉格朗日函數$L(x,y)$,可以將含約束的優化問題\eqref{E1}轉化為無約束優化問題。$L(x,y)$定義為:
\begin{equation}\label{E2} L(x,y)=f(x)+y^{\mathrm{T}}(Ax-b)\end{equation}
定義拉格朗日對偶函數$g(y)$為關於原變量$x$取得的最小值:$g(y)={\text{inf}_{x}} \ L(x,y)$。則問題\eqref{E1}的對偶問題為:$maximize \ g(y)$。原問題與對偶問題最優值相等時稱該問題具有強對偶性。根據強對偶性得到:原問題的最小化等價於對偶問題的最大化;原問題在最優解$x^{*}$下的值$f(x^{*})$和對偶問題在最優解$y^{*}$下的值$g(y^{*})$是相同的。因此可以根據所獲得對偶問題的最優解$y^{*}$來獲得原問題的最優解$x^{*}$,即存在關系式:
\begin{equation}\label{E3}
x^{*}= \text{arg min} \ L(x,y^{*})
\end{equation}
\eqref{E3}式表明:對偶變量$y$逼近最優解$y^{*}$時,原變量$x$也在逼近最優解$x^*$。當$g(y)$可微分時,可以通過利用梯度上升法獲得對偶變量$y$的更新公式:$y^{k+1}=y^{k}+\alpha^{k}(Ax^{k+1}-b)$,其中$\alpha^{k}>0$為迭代步長,使$y$沿着$g(y)$值增大速度最快的方向移動,從而保證$g(y^{k+1})>g({y^{k}})$,這也是該方法被稱作對偶上升法的原因。因此,采用對偶上升法求解原問題\eqref{E1}最優解的迭代公式為:
\begin{equation}\label{E4}
x^{k+1}=argmin_{x} \ L(x,y^{k}),\\ y^{k+1}=y^{k}+\alpha^{k}(Ax^{k+1}-b),
\end{equation}
對偶上升法的迭代過程分為兩部分:第一步,固定對偶變量$y^{k}$,最小化拉格朗日函數$L(x, y^{k})$,求得更新后的$x^{k+1}$;第二步,固定$x^{k+1}$,采用梯度上升法,最大化拉格朗日對偶函數$g(y)$來獲得對偶變量$y$的更新$y^{k+1}$。原問題\eqref{E1}通過與其對偶問題的交替迭代,同時達到最優。
對偶上升升法可以應用於$f(x)$可分離的情況,即:$f(x)=\sum_{i=1}^{n}f_{i}(x_{i})$,其中$x=(x_1,\ldots,x_n)$,$x_i \in \mathbb{R}^{n}$,$A=[A_1, \ldots, A_n]$, $Ax=\sum_{i=1}^{n}A_{i}x_i$ 此時所對應的拉格朗日函數$L(x,y)$為:
\begin{equation}\label{E5} L(x,y)=\sum_{i=1}^{n} \ L_{i}(x_{i}, y)= \ \sum_{i=1}^{n}(f(x_i)+y^{\mathrm{T}}(A_i x_i)-(y^{\mathrm{T}}b)/n)\end{equation}
由式\eqref{E4}可以看出,拉格朗日方程對變量來說也是可分離的,則對於求解可分離的目標函數的對偶上升法的迭代公式變為:
\begin{equation}\label{E6}
x^{k+1}_{i}=argmin_{x_i} \ L(x_i,y^{k}),\\ y^{k+1}=y^{k}+\alpha^{k}(Ax^{k+1}-b),
\end{equation}
對偶上升法的優點是:當目標函數$f(x)$可分離時,變量$x$可以分塊進行更新,從而減小了問題的復雜程度。然而,對偶上升法也存在缺點,該方法適用條件非常苛刻,要求原問題函數$f(x)$必須是嚴格凸且有界的,因此限制了對偶上升法的應用范圍。針對對偶上升法對目標函數$f(x)$要求比較苛刻的缺點,擴展拉格朗日法松弛了收斂條件,使得目標函數即可以是非嚴格凸的,也可以是非有界的。
二、擴展拉格朗日乘子法
擴展拉格朗日函數是通過在問題\eqref{E1}中的拉格朗日函數中加入一個懲罰項得到:
\begin{equation}\label{E7} L_{\lambda}(x,y)=f(x)+y^{\mathrm{T}}(Ax-b) +\lambda/2\|Ax-b\|_{2}^{2}\end{equation}
其中,$\lambda$為懲罰參數,$\lambda>0$,$\|\cdot\|_{2}$為$l_2$范數。
同樣擴展拉格朗日函數\eqref{E7}的對偶函數$g(y)$為:$g(y)={\text{inf}_{x}} \ L_{\lambda}(x,y)$。將對偶上升法應用到擴展拉格朗日函數\eqref{E7}的最優求解上,可以通過交替更新原變量$x$和對偶變量$y$來獲得其最優解,並可得擴展拉格朗日法的迭代公式為:
\begin{equation}\label{E8}
x^{k+1}_{i}=argmin_{x_i} \ L(x_i,y^{k}),\\ y^{k+1}=y^{k}+\lambda^{k}(Ax^{k+1}-b),
\end{equation}
擴展拉格朗日法和對偶上升法一個區別是,擴展拉格朗日法用懲罰參數$\lambda$代替了對偶上升法中的步長$\alpha^k$;另一個區別是,擴展拉格朗日法基於擴展拉格朗日函數,該函數是在拉格朗日函數后增加了懲罰項$\lambda/2\|Ax-b\|_{2}^{2}$得到的。懲罰項的加入好處是松弛了收斂條件,即:使$f(x)$在非嚴格凸或者非有界條件下該算法仍然成立。擴展拉格朗日法的缺點是,加入的懲罰項$\lambda/2\|Ax-b\|_{2}^{2}$對$x$而言是不可分離的,不能用於解決目標函數$f(x)$可分離的情況。
三、交替方向乘子法
交替方向乘子法(ADMM)算法整合了對偶上升法可分離性和擴展拉格朗日法松弛的收斂特性,可用於解決具有兩個目標函數的凸優化問題:
\begin{equation}\label{E9}
\begin{array}{ll}{\underset{x}{\operatorname{min}}} & {
f(x)+g(z)
}, \\ {\text { s.t. }} & {Ax+Bz=c},\end{array}
\end{equation}
其中,$x \in \mathbb{R}^{n}$,為目標函數$f(x)$的自變量;$z \in \mathbb{R}^{m}$,為目標函數$g(z)$的自變量;$A \in \mathbb{R}^{p \times n} $,$B \in \mathbb{R}^{p \times m} $,$c \in \mathbb{R}^{p}$,$f$和$g$為凸函數。
增廣拉格朗日函數為:
\begin{equation}\label{E10}
L_{\lambda}(x,z,y)=f(x)+g(z)+y^{\mathrm{T}}(Ax+Bz-c) +\lambda/2\|Ax+Bz-c\|_{2}^{2}
\end{equation}
其中,$y$稱為拉格朗日乘子,$y \in \mathbb{R}^{p}$,$\lambda>0$為懲罰參數。同時,我們可以進行簡化變形,將一次項$y^{\mathrm{T}}(Ax+Bz-c)$與二次項$\lambda/2\|Ax+Bz-c\|_{2}^{2}$合並,具體的,令$u=y/ \lambda$,可以擴展拉格朗日函數被化簡為:
\begin{equation}\label{E11}
L_{\lambda}(x,z,y)=f(x)+g(z)+\lambda/2\|Ax+Bz-c+u\|_{2}^{2}
\end{equation}
此時求解問題\eqref{E9}的優化問題,變為最小化\eqref{E11}的問題。ADMM的思想就是利用兩個目標函數$f(x)$和$g(z)$,通過分別對其變量$x$和$z$的交替更新,得到問題\eqref{E9}的最優解,迭代公式為:
\begin{equation}\label{E12}
\left\{\begin{aligned} x_{k}=& \arg \min _{x\in \mathcal{X}}\left\{f_{k-1}^{\mathrm{T}} x+\frac{\alpha}{2}\left\|A x+B z_{k-1}-c-u_{k-1} \right\|_{2}^{2}\right.\}, \\ z_{k}=& \arg \min _{z\in\mathcal{Z}}\left\{g(z)+\frac{\alpha}{2}\left\|A x_{k}+B z-c-u_{k-1} \right\|_{2}^{2}\right\}, \\ u_{k}=& u_{k-1}-\left(A x_{k}+B z_{k}-c\right), \end{aligned}\right.
\end{equation}
值得注意的是:ADMM只是一種求解優化問題的計算框架,將大的全局問題分解為多個較小、較容易求解的子問題,並通過協調子問題的解而得到全局問題的解。每一個子問題(12a)和(12b)如何有效求解,需要根據和具體形式來確定。
四、在線臨近梯度-交替方向乘子法
離線和在線的區別就在於ADMM框架中是否存在 一個臨近項,即對於當前要估計狀態和上一時刻估計狀態的約束項。這種約束項在卡爾曼濾波等在線估計器中是常見的。
The optimization problem of separable objective functions with linear constraints is of the form:
\begin{equation}\label{E13}
\begin{array}{ll}
\underset{ x\in \mathcal{X}, z\in\mathcal{Z}}{\text{minimize}} &f(x)+g(z) \\ \text {s.t.} & A x+B z=c,
\end{array}
\end{equation}
where $x \in \mathbb{R}^{n}$ and $z \in \mathbb{R}^{m}$ are the decision variables; $A \in \mathbb{R}^{p \times n}, B \in \mathbb{R}^{p \times m}, c \in \mathbb{R}^{p}$; $f$ and $g$ are convex closed and proper functions; $\mathcal{X}$ and $\mathcal{Z}$ are closed convex sets.
For the purpose of online estimation, we leverage the computational framework OPG-ADMM for solving problem \eqref{E13} that was proposed in [2]. The algorithm comprises two steps: 1) using the augmented Lagrangian for \eqref{E13}:
\begin{equation}\label{E14}
\mathrm{L}(x, z, \lambda)=f(x)+g(z)+(\alpha / 2)\left\|A x+B z-c-\lambda / \alpha\right\|_{2}^{2},
\end{equation}
where $\lambda\in \mathbb{R}^{p}$ is the Lagrangian multiplier, $\alpha>0$ is the penalty parameter, and we have used completion of squares to obtain a compact form of the augmented Lagrangian), the original problem is split into two separate subproblems with respect to $f$ and $g$; 2) utilizing OPG method as the update rule for $f$-sub-problem (i.e., using subgradient to linearize $f$ and perform a proximal gradient update).
At the $k$-th instant, OPG-ADMM solves two separate sub-problems over $x$ and $z$, respectively, then updates the Lagrange multiplier $\lambda$. The iterates are given by:
\begin{equation}\label{E15}
\left\{\begin{aligned} x_{k}=& \arg \min _{x\in \mathcal{X}}\left\{f_{k-1}^{\mathrm{T}} x+\frac{\alpha}{2}\left\|A x+B z_{k-1}-c-\lambda_{k-1} / \alpha\right\|_{2}^{2}\right.\\ &\left.\quad \quad \quad+\left(1 / 2 \eta_{k}\right)\left\|x-x_{k-1}\right\|_{P_k}^{2}\right\}, \\ z_{k}=& \arg \min _{z\in\mathcal{Z}}\left\{g(z)+\frac{\alpha}{2}\left\|A x_{k}+B z-c-\lambda_{k-1} / \alpha\right\|_{2}^{2}\right\}, \\ \lambda_{k}=& \lambda_{k-1}-\alpha\left(A x_{k}+B z_{k}-c\right), \end{aligned}\right.
\end{equation}
where $f_{k-1} \in \partial f\left.(x)\right|_{x=x_{k-1}}$ is a subgradient of $f(x)$ at $x_{k-1}$; $\eta_{k}>0$ is the proximal gradient step size; $\|\cdot\|_{P}^{2}$ is defined via $\|x\|_{P}^{2}:=x^{\mathrm{T}} P x$, where $P$ is a positive definite matrix.
Reference:
[1]:Zhang Jiao-jiao等. "進一步改進的交替方向乘子法及其在量子態估計的應用." 第17屆中國系統仿真技術及其應用學術年會論文集(17th CCSSTA 2016) 中國自動化學會;中國系統仿真學會, 2016.
[2] T. Suzuki, “Dual averaging and proximal gradient descent for online alternating direction multiplier method,” International Conference on Machine Learning, pp. 392–400, 2013