优化 | 随机原始对偶混合梯度(SPDHG)算法及在图像处理中的应用

论文解读者:陈宇文,胡明杰,史铭伟,赵田田

许多实际问题都可以建模为凸优化问题。相比于直接求解原问题,将问题转化为鞍点问题往往会带来好处。求解鞍点问题的一种常用算法是原对偶混合梯度算法 (PDHG),它在各类问题问题当中均得到了广泛应用。然而,实际应用中遇到的大规模问题会面临较高的计算成本。本文[1]针对对偶变量可分离的鞍点问题提出了PDHG的随机扩展 (SPDHG)。在迭代过程中,可以通过不断积累来自以前迭代的信息来减小方差,进而减少随机性的负面影响。本文分析了一般的凸凹鞍点问题 (convex-concave saddle point problems) 和部分光滑/强凸或完全光滑/强凸问题。本文对任意采样 (arbitrary samplings) 的对偶变量进行分析,并获得已知的确定性结果作为特殊情况。在实验中,本文的多种随机方法在各种成像任务上显著优于确定性变体。

第一部分:问题模型和PDHG算法

1.1 问题形式

X \mathbb{X} X Y i   ( i = 1 , … , n ) \mathbb{Y}_i ~(i=1, \ldots, n) Yi (i=1,,n)是实希尔伯特空间,并定义 Y : = ∏ i = 1 n Y i \mathbb{Y}:=\prod_{i=1}^n \mathbb{Y}_i Y:=i=1nYi。此时我们可以根据 Y i \mathbb{Y}_i Yi的维数,将 y ∈ Y y\in\mathbb{Y} yY对应写作 y = ( y 1 , y 2 , … , y n ) y=\left(y_1, y_2, \ldots, y_n\right) y=(y1,y2,,yn)。设 f : Y → R ∞ : = R ∪ { + ∞ } f: \mathbb{Y} \rightarrow \mathbb{R}_{\infty}:=\mathbb{R} \cup\{+\infty\} f:YR:=R{ +} g : X → R ∞ g: \mathbb{X} \rightarrow \mathbb{R}_{\infty} g:XR是凸函数,且 f f f是可分的,可写作 f ( y ) = ∑ i = 1 n f i ( y i ) f(y)=\sum_{i=1}^n f_i\left(y_i\right) f(y)=i=1nfi(yi)。设 A : X → Y \mathbf{A}: \mathbb{X} \rightarrow \mathbb{Y} A:XY是有界线性算子, A x = ( A 1 x , ⋯   , A n x ) \mathbf{A} x=(\mathbf{A}_1 x,\cdots,\mathbf{A}_n x) Ax=(A1x,,Anx)。问题可写为
min ⁡ x ∈ X { Φ ( x ) : = ∑ i = 1 n f i ( A i x ) + g ( x ) } . \min _{x \in \mathbb{X}}\left\{\Phi(x):=\sum_{i=1}^n f_i\left(\mathbf{A}_i x\right)+g(x)\right\}. xXmin{ Φ(x):=i=1nfi(Aix)+g(x)}.
如果 f f f满足适当的条件,则它相当于求解鞍点问题
min ⁡ x ∈ X sup ⁡ y ∈ Y { Ψ ( x , y ) : = ∑ i = 1 n ⟨ A i x , y i ⟩ − f i ∗ ( y i ) + g ( x ) } , \min _{x \in \mathbb{X}}\sup _{y \in \mathbb{Y}}\left\{\Psi(x, y):=\sum_{i=1}^n\left\langle\mathbf{A}_i x, y_i\right\rangle-f_i^*\left(y_i\right)+g(x)\right\}, xXminyYsup{ Ψ(x,y):=i=1nAix,yifi(yi)+g(x)},
其中 f i ∗ f_i^* fi f i f_i fi的Fenchel共轭函数,而 f ∗ ( y ) = ∑ i = 1 n f i ∗ ( y i ) f^*(y)=\sum_{i=1}^n f_i^*\left(y_i\right) f(y)=i=1nfi(yi) f f f的共轭函数。设 W : = X × Y \mathbb{W}:=\mathbb{X} \times \mathbb{Y} W:=X×Y,我们假设上述问题有最优解$w^{\sharp}\in\mathbb{W} ,并将其写作 ,并将其写作 ,并将其写作w{\sharp}=\left(x{\sharp}, y{\sharp}\right)=\left(x{\sharp}, y_1^{\sharp}, \ldots, y_n{\sharp}\right)$。鞍点$w{\sharp}$满足最优性条件
A i x ♯ ∈ ∂ f i ∗ ( y i ♯ ) , i = 1 , … , n , − A ∗ y ♯ ∈ ∂ g ( x ♯ ) . \mathbf{A}_i x^{\sharp} \in \partial f_i^*\left(y_i^{\sharp}\right), \quad i=1, \ldots, n, \quad-\mathbf{A}^* y^{\sharp} \in \partial g\left(x^{\sharp}\right). Aixfi(yi),i=1,,n,Ayg(x).

1.2 PDHG算法

对于正常数 τ \tau τ,可定义 W \mathbb{W} W上的带权范数 ∥ x ∥ τ − 1 2 = ⟨ τ − 1 x , x ⟩ \|x\|_{\tau^{-1}}^2=\left\langle\tau^{-1} x, x\right\rangle xτ12=τ1x,x。由此可给出邻近点算子的定义
prox ⁡ f τ ( y ) : = arg ⁡ min ⁡ x ∈ X { 1 2 ∥ x − y ∥ τ − 1 2 + f ( x ) } \operatorname{prox}_f^\tau(y):=\arg \min _{x \in \mathbb{X}}\left\{\frac{1}{2}\|x-y\|_{\tau^{-1}}^2+f(x)\right\} proxfτ(y):=argxXmin{ 21xyτ12+f(x)}
类似地,我们可将 τ \tau τ换成对称正定的矩阵。则PDHG算法可写作
x ( k + 1 ) = prox ⁡ g T ( x ( k ) − T A ∗ y ˉ ( k ) ) , y i ( k + 1 ) = prox ⁡ f i ∗ S i ( y i ( k ) + S i A i x ( k + 1 ) ) , i = 1 , … , n , y ˉ ( k + 1 ) = y ( k + 1 ) + θ ( y ( k + 1 ) − y ( k ) ) , \begin{aligned} & x^{(k+1)}=\operatorname{prox}_g^{\mathbf{T}}\left(x^{(k)}-\mathbf{T A}^* \bar{y}^{(k)}\right), \\ & y_i^{(k+1)}=\operatorname{prox}_{f_i^*}^{\mathbf{S}_i}\left(y_i^{(k)}+\mathbf{S}_i \mathbf{A}_i x^{(k+1)}\right), \quad i=1, \ldots, n, \\ & \bar{y}^{(k+1)}=y^{(k+1)}+\theta\left(y^{(k+1)}-y^{(k)}\right) , \end{aligned} x(k+1)=proxgT(x(k)TAyˉ(k)),yi(k+1)=proxfiSi(yi(k)+SiAix(k+1)),i=1,,n,yˉ(k+1)=y(k+1)+θ(y(k+1)y(k)),

其中 S = diag ⁡ ( S 1 , … , S n ) \mathbf{S}=\operatorname{diag}\left(\mathbf{S}_1, \ldots, \mathbf{S}_n\right) S=diag(S1,,Sn) S 1 , … , S n \mathbf{S}_1, \ldots, \mathbf{S}_n S1,,Sn T \mathbf{T} T都是对称正定的矩阵。

第二部分:Stochastic PDHG

2.1 随机PDHG算法

在PDHG算法中,每一次迭代都需要更新所有 y i ( i = 1 , ⋯   , n ) y_i (i=1,\cdots,n) yi(i=1,,n)的值。我们现在考虑每次抽取 { 1 , ⋯   , n } \{1,\cdots,n\} { 1,,n}的一个子集 S \mathbb{S} S,然后只更新满足 i ∈ S i\in\mathbb{S} iS y i y_i yi。其中 S \mathbb{S} S的选取满足:对于每次迭代,任意的指标 i i i都以 p i > 0 p_i>0 pi>0的概率被包含在 S \mathbb{S} S中(这样的条件不难满足,常见的选取方式包括:全采样,即 S \mathbb{S} S以1的概率取到 { 1 , ⋯   , n } \{1,\cdots,n\} { 1,,n}; 连续采样,即 S \mathbb{S} S p i p_i pi的概率取到 { i } \{i\} { i})。设 Q : = diag ⁡ ( p 1 − 1 I , … , p n − 1 I ) \mathbf{Q}:=\operatorname{diag}\left(p_1^{-1} \mathbf{I}, \ldots, p_n^{-1} \mathbf{I}\right) Q:=diag(p11I,,pn1I),则随机PDHG算法可写作

可以看出,SPDHG与PDHG的不同点在于 y i k + 1 , y ˉ k + 1 y_i^{k+1}, \bar{y}^{k+1} yik+1,yˉk+1的更新。SPDHG采用降采样对部分 y i k + 1 y_i^{k+1} yik+1进行更新,同时 y ˉ k + 1 \bar{y}^{k+1} yˉk+1的更新需要乘上新的系数矩阵 Q \mathbf{Q} Q

2.2 ESO条件

在随机PDHG算法的收敛性分析中,经常用到ESO条件。 S \mathbb{S} S p i ( i = 1 , ⋯   , n ) p_i (i=1,\cdots,n) pi(i=1,,n)如上文定义。设 C : X → Y \mathbf{C}: \mathbb{X} \rightarrow \mathbb{Y} C:XY是有界线性算子, C x = ( C 1 x , ⋯   , C n x ) \mathbf{C} x=(\mathbf{C}_1 x,\cdots,\mathbf{C}_n x) Cx=(C1x,,Cnx)。我们说 { v i } ⊂ R n \left\{v_i\right\} \subset \mathbb{R}^n { vi}Rn满足ESO条件,当且仅当对任意 z ∈ Y z \in \mathbb{Y} zY
E S ∥ ∑ i ∈ S C i ∗ z i ∥ 2 ≤ ∑ i = 1 n p i v i ∥ z i ∥ 2 . \mathbb{E}_{\mathbb{S}}\left\|\sum_{i \in \mathbb{S}} \mathbf{C}_i^* z_i\right\|^2 \leq \sum_{i=1}^n p_i v_i\left\|z_i\right\|^2. ES iSCizi 2i=1npivizi2.

这样的条件也不难满足。对于全采样,我们可取 C i = S i 1 / 2 A i T 1 / 2 \mathbf{C}_i=\mathbf{S}_i^{1 / 2} \mathbf{A}_i \mathbf{T}^{1 / 2} Ci=Si1/2AiT1/2 v i = ∥ C ∥ 2 v_i=\|\mathbf{C}\|^2 vi=C2;对于连续采样,我们可以取相同的 C i \mathbf{C}_i Ci以及 v i = ∥ C i ∥ 2 v_i=\left\|\mathbf{C}_i\right\|^2 vi=Ci2

2.3 收敛速度

在考虑SPDHG收敛性之前,我们首先简单介绍一下Bregman距离 D h ( w , v ) D_h(w, v) Dh(w,v)和对偶间隙 G ( x , y ) G(x,y) G(x,y)(duality gap)。

1)Bregman距离 D h ( w , v ) D_h(w, v) Dh(w,v)的作用与范数 (norm) 类似:

D h ( w , v ) : = h ( w ) − h ( v ) − ⟨ ∇ h ( v ) , w − v ⟩ . \begin{equation}D_h(w,v) := h(w)-h(v)-\langle \nabla h(v), w-v \rangle. \end{equation} Dh(w,v):=h(w)h(v)h(v),wv.

如果选取 h ( w ) = ∥ w ∥ 2 h(w) = \|w\|^2 h(w)=w2,那么此时有 D h ( w , v ) = ∥ w − v ∥ 2 D_h(w,v)=\|w-v\|^2 Dh(w,v)=wv2,也就是2-范数。其中,对于本文的minimax问题,作者定义 w : = ( x , y ) w := (x,y) w:=(x,y),并选取 h ( w ) : = g ( x ) + ∑ i = 1 n f ∗ ( y i ) h(w):= g(x) + \sum_{i=1}^n f^*(y_i) h(w):=g(x)+i=1nf(yi)

2)与此同时,对偶间隙 G ( x , y ) G(x,y) G(x,y)通常可用来进行收敛性分析,定义如下

G B 1 × B 2 ( x , y ) : = sup ⁡ y ~ ∈ B 2 Ψ ( x , y ~ ) − inf ⁡ x ~ ∈ B 1 Ψ ( x ~ , y ) . \begin{equation} G_{\mathbb{B}_1 \times \mathbb{B}_2}(x, y):=\sup _{\tilde{y} \in \mathbb{B}_2} \Psi(x, \tilde{y})-\inf _{\tilde{x} \in \mathbb{B}_1} \Psi(\tilde{x}, y). \end{equation} GB1×B2(x,y):=y~B2supΨ(x,y~)x~B1infΨ(x~,y).

minmax问题最优解 ( x ∗ , y ∗ ) (x^*,y^*) (x,y)满足对偶间隙 G ( x ∗ , y ∗ ) = 0 G(x^*,y^*) = 0 G(x,y)=0

对于收敛速度,文章中考虑了对应一般凸 (convex),半强凸 (semi-strongly convex) 和强凸 (strongly convex) 三类情况下Bregman距离 D h ( w k , w ∗ ) D_h(w^k, w^*) Dh(wk,w)与对偶间隙 G ( w ) G(w) G(w)的收敛速度。

一般凸问题

此时Bregman距离 D h ( w k , w ∗ ) D_h(w^k, w^*) Dh(wk,w)与对偶间隙 G ( w ) G(w) G(w)的收敛速度为 O ( 1 K ) O\left(\frac{1}{K}\right) O(K1)(见文中定理4.3)。需要注意的是,此时Bregman距离中 h ( w ) h(w) h(w)不是强凸,它的收敛性质和通常我们理解的范数是有区别的!!! (感兴趣的同学可以参考原论文中的Remark 4)

半强凸问题

半强凸问题被定义成 g ( x ) g(x) g(x)或者 f i ∗ ( y ) f^*_i(y) fi(y)中存在其中一个是强凸的。文章中假设 f i ∗ ( y ) f^*_i(y) fi(y)是强凸的 ( g ( x ) g(x) g(x)一般凸),那么对偶空间中的Bregman距离性质就会和正常的范数一致,对偶序列 { y k } \{y^k\} { yk}最终能收敛到对偶最优解 y ∗ y^* y。同时,当我们采用自适应的缩放矩阵 (adaptive scaling),那么序列速度将改进为 O ( 1 K 2 ) O\left(\frac{1}{K^2}\right) O(K21)(见文中定理5.1)。改进后的Algorithm 3如下所示:

同理,如果假设 g ( x ) g(x) g(x)是强凸的 ( f i ∗ ( y ) f^*_i(y) fi(y)一般凸),那么原始空间中的Bregman距离性质就会和正常的范数一致,原始序列 { x k } \{x^k\} { xk}最终能收敛到对偶最优解 x ∗ x^* x。并且在论文中Algorithm 2下,序列速度将改进为 O ( 1 K 2 ) O\left(\frac{1}{K^2}\right) O(K21)

强凸问题

如果问题中 g ( x ) g(x) g(x) f i ∗ ( y ) f^*_i(y) fi(y)都是强凸的,那么原始空间和对偶空间中的Bregman距离性质都会和正常的范数一致,序列 { ( x k , y k ) } \{(x^k,y^k)\} {(xk,yk)}最终能收敛到对偶最优解 ( x ∗ , y ∗ ) (x^*,y^*) (x,y)。并且对于Algorithm 1,序列 { ( x k , y k ) } \{(x^k,y^k)\} {(xk,yk)}将以线性速度收敛 (见文中定理6.1)。

另外的证明思路:​

值得一提的是,最近研究人员又发现了另外一种基于随机算子理论 (stochastic operator) 来分析SPDHG收敛速度的方法。感兴趣的同学可以阅读这篇论文[2]。

第三部分:数值实验

本章有四个例子关于total variation,我们选取Huber-TV deblurring (对应Sec 7.3的Algorithm 3实验) 展开说明,剩下的三个例子原理类似。我们首先介绍一下TV operator的基本概念,方便读者理解。

对于 x ∈ R d 1 × d 2 x\in\mathbb{R}^{d_1 \times d_2} xRd1×d2,TV算子定义如下:

R V β ( x ) = ∑ i , j ( ( x i , j + 1 − x i j ) 2 + ( x i + 1 , j − x i j ) 2 ) β 2 . \mathcal{R}_{V^\beta}(\mathbf{x})=\sum_{i, j}\left(\left(x_{i, j+1}-x_{i j}\right)^2+\left(x_{i+1, j}-x_{i j}\right)^2\right)^{\frac{\beta}{2}}. RVβ(x)=i,j((xi,j+1xij)2+(xi+1,jxij)2)2β.

上述方程的意思是: 计算每一个像素和横向下一个像素的差的平方,加上纵向下一个像素的差的平方; 然后开 β / 2 \beta/2 β/2次根。在这个例子中,我们考虑一个去模糊的卷积核,它有前向操作符 A 1 \mathbf{A}_1 A1类似于执行卷积 用一个移动的卷积核15*15像素的在长408,宽544像素的图片上。图片中的噪声用泊松方法在恒定的200像素的背景下,去估计数据的均值694.3。我们进一步假设有知道重建的图像应该是非负的和有上限的100倍。根据正向运算符的性质,只要 x ≥ 0 , A x ≥ 0 x \ge 0, \mathbf{A} x \geq 0 x0,Ax0。此时对偶问题下新的KL散度是

f i ∗ ( z ) = ∑ i = 1 N { r i 2 2 b i z i 2 + ( r i − r i 2 b i ) z i + r i 2 2 b i + 3 b i 2 − 2 r i − b i log ⁡ ( b i r i ) ,  if  z i < 1 − b i r i , − r i z i − b i log ⁡ ( 1 − z i ) ,  if  1 − b i r i ≤ z i < 1 , ∞ ,  if  z i ≥ 1. f_i^*(z)=\sum_{i=1}^N \begin{cases}\frac{r_i^2}{2 b_i} z_i^2+\left(r_i-\frac{r_i^2}{b_i}\right) z_i+\frac{r_i^2}{2 b_i}+\frac{3 b_i}{2}-2 r_i-b_i \log \left(\frac{b_i}{r_i}\right), & \text { if } z_i<1-\frac{b_i}{r_i}, \\ -r_i z_i-b_i \log \left(1-z_i\right), & \text { if } 1-\frac{b_i}{r_i} \leq z_i<1, \\ \infty, & \text { if } z_i \geq 1.\end{cases} fi(z)=i=1N 2biri2zi2+(ribiri2)zi+2biri2+23bi2ribilog(ribi),rizibilog(1zi),, if zi<1ribi, if 1ribizi<1, if zi1.

之后,我们可以进行实验前的参数设计。在这个实验中,我们选择 γ = 0.99 \gamma =0.99 γ=0.99考虑均匀采样,即 p i = 1 / n p_i = 1/n pi=1/n。在确定性情况下,子集的数量为 n = 1 n=1 n=1或者在随机情况下 n = 3 n=3 n=3。初始步长参数被选择为

PDHG: σ i = τ = γ / ∥ A ∥ ≈ 0.095 \sigma_i=\tau=\gamma /\|\mathbf{A}\| \approx 0.095 σi=τ=γ/∥A0.095;
DA-PDHG: σ ~ i ( 0 ) = μ f / ∥ A ∥ ≈ 0.096 , τ ( 0 ) = γ / ∥ A ∥ ≈ 0.095 \tilde{\sigma}_i^{(0)}=\mu_f /\|\mathbf{A}\| \approx 0.096, \tau^{(0)}=\gamma /\|\mathbf{A}\| \approx 0.095 σ~i(0)=μf/∥A0.096,τ(0)=γ/∥A0.095;
DA-SPDHG: σ ~ ( 0 ) = min ⁡ i μ i p i 2 τ 0 ∥ A i ∥ 2 + 2 μ i p i ( 1 − p i ) ≈ 0.073 \tilde{\sigma}^{(0)}=\min _i \frac{\mu_i p_i^2}{\tau^0\left\|\mathbf{A}_i\right\|^2+2 \mu_i p_i\left(1-p_i\right)} \approx 0.073 σ~(0)=miniτ0Ai2+2μipi(1pi)μipi20.073, τ ( 0 ) = 1 / ( n max ⁡ i ∥ A i ∥ ) ≈ 0.032 \tau^{(0)}=1 /\left(n \max _i\left\|\mathbf{A}_i\right\|\right) \approx 0.032 τ(0)=1/(nmaxiAi)0.032

图1 Huber-TV 去模糊双加速 (左图是对偶变量 y y y,右图为原始变量 x x x)

图1的定量结果表明算法收敛确实有 O ( 1 K 2 ) O\left(\frac{1}{K^2}\right) O(K21)的比率,如定理 5.1 所证明的。此外,他们还表明随机化和加速可以结合使用以进一步加速。

在另外一篇论文中[3], 采用确定性PDHG的2000次迭代结果(近似)作为视觉和定量比较的鞍点。我们首先看从 3 中 100 次预期算子评估后的重建图像可以看出,SPDHG比确定性PDHG快得多 (下图2)。虽然使用 PDHG 的重建仍然存在伪影,但使用 SPDHG 重建的图像在 100 次迭代后在视觉上与鞍点非常相似。

图2. 不同子集SPDGH 和PDGH比较 (横轴是不同数量操作符评估,纵轴是主要鞍点的相对距离)

另外,从图3中看,具有21和252个子集的SPDHG与仅经过 20 次预期操作员评估后的PDHG的比较。PDHG的结果在临床上无用,因为主要的解剖结构尚不可见。 另一方面,随着越来越多的子集,即使付出一点点努力,也可以重建一个合理的 (虽然不完美) 图像。与之相对的SPDHG,随着将像素点分割成越来越多的子集,即使付出⼀点点努力,也可以重建⼀个合理的 (虽然不完美) 图像 (如图3所示)。同时,还很容易看出,随着⼦集越多,伪影越少,这表明随着⼦集越多,算法收敛得越快。

图3: TV先验PET重建, 20个迭代周期下的结果

参考文献:

[1] Chambolle, Ehrhardt, Richtárik & Schönlieb (2018). Stochastic Primal-Dual Hybrid Gradient Algorithm with Arbitrary Sampling and Imaging Applications. SIAM Journal on Optimization, 28(4), 2783–2808.

[2] Ahmet Alacaoglu, Olivier Fercoq, and Volkan Cevher (2022). On the Convergence of Stochastic Primal-Dual Hybrid Gradient. SIAM Journal on Optimization, 32(2), 1288-1318.

[3] Ehrhardt, Matthias & Markiewicz, Pawel & Richtárik, Peter & Schott, Jonathan & Chambolle, Antonin & Schönlieb, Carola-Bibiane. (2017). Faster PET reconstruction with a stochastic primal-dual hybrid gradient method. SPIE Proc (2017).

猜你喜欢

转载自blog.csdn.net/weixin_53463894/article/details/130383952
今日推荐