Coordinate Friendly Structures, Algorithms and Applications

Zhimin Peng, Tianyu Wu, Yangyang Xu, Ming Yan, Wotao Yin

Introduction

This paper studies coordinate update methods, which reduce a large problem to smaller subproblems and are useful for solving large-sized problems. These methods handle both linear and nonlinear maps, smooth and nonsmooth functions, and convex and nonconvex problems. The common special examples of these methods are the Jacobian and Gauss-Seidel algorithms for solving a linear system of equations, and they are also commonly used for solving differential equations (e.g., domain decomposition) and optimization problems (e.g., coordinate descent).

After coordinate update methods were initially introduced in each topic area, their evolution had been slow until recently, when data-driven applications (e.g., in signal processing, image processing, and statistical and machine learning) impose strong demand for scalable numerical solutions; consequently, numerical methods of small footprints, including coordinate update methods, become increasingly popular. These methods are generally applicable to many problems involving large or high-dimensional datasets.

Coordinate update methods generate simple subproblems that update one variable, or a small block of variables, while fixing others. The variables can be updated in the cyclic, random, or greedy orders, which can be selected to adapt to the problem. The subproblems that perform coordinate updates also have different forms. Coordinate updates can be applied either sequentially on a single thread or concurrently on multiple threads, or even in an asynchronous parallel fashion. They have been demonstrated to give rise to very powerful and scalable algorithms.

The recent coordinate-update literature has introduced new algorithms. However, they are primarily applied to a few, albeit important, classes of problems that arise in machine learning. For many complicated problems, it remains open whether simple subproblems can be obtained. We provide positive answers to several new classes of applications and introduce their coordinate update algorithms. Therefore, the focus of this paper is to build a set of tools for deriving simple subproblems and extending coordinate updates to new territories of applications.

We will frame each application into an equivalent fixed-point problem

such that the limit of the sequence {xk}\{x^{k}\} exists and is a fixed point of T{\mathcal{T}}, which is also a solution to the application or from which a solution to the application can be obtained. We call the scheme (2) a full update, as opposed to updating one xix_{i} at a time. The scheme (2) has a number of interesting special cases including methods of gradient descent, gradient projection, proximal gradient, operator splitting, and many others.

We study the structures of T{\mathcal{T}} that make the following coordinate update algorithm computationally worthy

where ηk\eta_{k} is a step size and i∈[m]:={1,…,m}i\in[m]:=\{1,\ldots,m\} is arbitrary. Specifically, the cost of performing (3) is roughly 1m\frac{1}{m}, or lower, of that of performing (2). We call such T{\mathcal{T}} a Coordinate Friendly (CF) operator, which we will formally define.

This paper will explore a variety of CF operators. Single CF operators include linear maps, projections to certain simple sets, proximal maps and gradients of (nearly) separable functions, as well as gradients of sparsely supported functions. There are many more composite CF operators, which are built from single CF and non-CF operators under a set of rules. The fact that some of these operators are CF is not obvious.

These CF operators let us derive powerful coordinate update algorithms for a variety of applications including, but not limited to, linear and second-order cone programming, variational image processing, support vector machine, empirical risk minimization, portfolio optimization, distributed computing, and nonnegative matrix factorization. For each application, we present an algorithm in the form of (2) so that its coordinate update (3) is efficient. In this way we obtain new coordinate update algorithms for these applications, some of which are treated with coordinate update for the first time.

The developed coordinate update algorithms are easy to parallelize. In addition, the work in this paper gives rise to parallel and asynchronous extensions to existing algorithms including the Alternating Direction Method of Multipliers (ADMM), primal-dual splitting algorithms, and others.

The paper is organized as follows. §1.1 reviews the existing frameworks of coordinate update algorithms. §2 defines the CF operator and discusses different classes of CF operators. §3 introduces a set of rules to obtain composite CF operators and applies the results to operator splitting methods. §4 is dedicated to primal-dual splitting methods with CF operators, where existing ones are reviewed and a new one is introduced. Applying the results of previous sections, §5 obtains novel coordinate update algorithms for a variety of applications, some of which have been tested with their numerical results presented in §6.

Throughout this paper, all functions f,g,hf,g,h are proper closed convex and can take the extended value ∞\infty, and all sets X,Y,ZX,Y,Z are nonempty closed convex. The indicator function ιX(x)\iota_{X}(x) returns if x∈Xx\in X, and ∞\infty elsewhere. For a positive integer mm, we let [m]:={1,…,m}[m]:=\{1,\ldots,m\}.

This subsection reviews the sequential and parallel algorithmic frameworks for coordinate updates, as well as the relevant literature.

The general framework of coordinate update is

update xik+1x^{k+1}_{i} for i=iki={i_{k}} while keeping xik+1=xikx_{i}^{k+1}=x_{i}^{k}, ∀ i≠ik\forall\,i\not={i_{k}};

Next we review the index rules and the methods to update xix_{i}.

In this framework, there is a sequence of coordinate indices i1,i2,…i_{1},i_{2},\ldots chosen according to one of the following rules: cyclic, cyclic permutation, random, and greedy rules. At iteration kk, only the iki_{k}th coordinate is updated:

Sequential updates have been applied to many problems such as the Gauss-Seidel iteration for solving a linear system of equations, alternating projection for finding a point in the intersection of two sets, ADMM for solving monotropic programs, and Douglas-Rachford Splitting (DRS) for finding a zero to the sum of two operators.

In optimization, coordinate descent algorithms, at each iteration, minimize the function f(x1,…,xm)f(x_{1},\ldots,x_{m}) by fixing all but one variable xix_{i}. Let

collect all but the iith coordinate of xx. Coordinate descent solves one of the following subproblems:

which are called direct update, proximal update, gradient update, and prox-gradient update, respectively. The last update applies to the function

Sequential-update literature. Coordinate descent algorithms date back to the 1950s , when the cyclic index rule was used. Its convergence has been established under a variety of cases, for both convex and nonconvex objective functions; see . Proximal updates are studied in and developed into prox-gradient updates in and mixed updates in .

The random index rule first appeared in and then . Recently, compared the convergence speeds of cyclic and stochastic update-orders. The gradient update has been relaxed to stochastic gradient update for large-scale problems in .

The greedy index rule leads to fewer iterations but is often impractical since it requires a lot of effort to calculate scores for all the coordinates. However, there are cases where calculating the scores is inexpensive and the save in the total number of iterations significantly outweighs the extra calculation .

A simple example. We present the coordinate update algorithms under different index rules for solving a simple least squares problem:

The four tested index rules are: cyclic, cyclic permutation, random, and greedy under the Gauss-Southwellit selects ik=arg max⁡i∥∇if(xk)∥i_{k}=\operatorname*{arg\,max}_{i}\|\nabla_{i}f(x^{k})\|. rule. Note that because this example is very special, the comparisons of different index rules are far from conclusive.

In the full update, the step size ηk\eta_{k} is set to the theoretical upper bound 2∥A∥22\frac{2}{\|A\|_{2}^{2}}, where ∥A∥2\|A\|_{2} denotes the matrix operator norm and equals the largest singular value of AA. For each coordinate update to xix_{i}, the step size ηk\eta_{k} is set to 1(A⊤A)ii\frac{1}{(A^{\top}A)_{ii}}. All of the full and coordinate updates have the same per-epoch complexity, so we plot the objective errors in Figure 1.

1.2 Parallel Update

As one of their main advantages, coordinate update algorithms are easy to parallelize. In this subsection, we discuss both synchronous (sync) and asynchronous (async) parallel updates.

Async-parallel update. In this setting, a set of agents still perform parallel updates, but synchronization is eliminated or weakened. Hence, each agent continuously applies (5), which reads xx from and writes xix_{i} back to the shared memory (or through communicating with other agents without shared memory):

Unlike before, kk increases whenever any agent completes an update.

The lack of synchronization often results in computation with out-of-date information. During the computation of the kkth update, other agents make dkd_{k} updates to xx in the shared memory; when the kkth update is written, its input is already dkd_{k} iterations out of date. This number is referred to as the asynchronous delay. In (5), the agent reads xk−dkx^{k-d_{k}} and commits the update to xikkx_{i_{k}}^{k}. Here we have assumed consistent reading, i.e., xk−dkx^{k-d_{k}} lying in the set {xj}j=1k\{x^{j}\}_{j=1}^{k}. This requires implementing a memory lock. Removing the lock can lead to inconsistent reading, which still has convergence guarantees; see [54, Section 1.2] for more details.

Synchronization across all agents means that all agents will wait for the last (slowest) agent to complete. Async-parallel updates eliminate such idle time, spread out memory access and communication, and thus often run much faster. However, async-parallel is more difficult to analyze because of the asynchronous delay.

Parallel-update literature. Async-parallel methods can be traced back to for systems of linear equations. For function minimization, introduced an async-parallel gradient projection method. Convergence rates are obtained in . Recently, developed parallel randomized methods.

For fixed-point problems, async-parallel methods date back to in 1978. In the pre-2010 methods and the review , each agent updates its own subset of coordinates. Convergence is established under the PP-contraction condition and its variants . Papers show convergence for async-parallel iterations with simultaneous reading and writing to the same set of components. Unbounded but stochastic delays are considered in .

Recently, random coordinate selection appeared in for fixed-point problems. The works introduced async-parallel stochastic methods for function minimization. For fixed-point problems, introduced async-parallel stochastic methods, as well as several applications.

2 Contributions of This Paper

The paper systematically discusses the CF properties found in both single and composite operators underlying many interesting applications. We introduce approaches to recognize CF operators and develop coordinate-update algorithms based on them. We provide a variety of applications to illustrate our approaches. In particular, we obtain new coordinate-update algorithms for image deblurring, portfolio optimization, second-order cone programming, as well as matrix decomposition. Our analysis also provides guidance to the implementation of coordinate-update algorithms by specifying how to compute certain operators and maintain certain quantities in memory. We also provide numerical results to illustrate the efficiency of the proposed coordinate update algorithms.

This paper does not focus on the convergence perspective of coordinate update algorithms, though a convergence proof is provided in the appendix for a new primal-dual coordinate update algorithm. In general, in fixed-point algorithms, the iterate convergence is ensured by the monotonic decrease of the distance between the iterates and the solution set, while in minimization problems, the objective value convergence is ensured by the monotonic decrease of a certain energy function. The reader is referred to the existing literature for details.

The structural properties of operators discussed in this paper are irrelevant to the convergence-related properties such as nonexpansiveness (for an operator) or convexity (for a set or function). Hence, the algorithms developed can be still applied to nonconvex problems.

Coordinate Friendly Operators

For convenience, we do not distinguish a coordinate from a block of coordinates throughout this paper. We assume our variable xx consists of mm coordinates:

Note that xj+=xjx^{+}_{j}=x_{j} for all j≠ij\not=i. Hence, x+=(x1,…,xi+δi,…,xm)x^{+}=(x_{1},\ldots,x_{i}+\delta_{i},\ldots,x_{m}).

We let M[a↦b]\mathfrak{M}\left[{a}\mapsto{b}\right] denote the number of basic operations that it takes to compute the quantity bb from the input aa.

For example, M[x↦(Tx)i]\mathfrak{M}\left[{x}\mapsto{({\mathcal{T}}x)_{i}}\right] denotes the number of operations to compute the iith component of Tx{\mathcal{T}}x given xx. We explore the possibility to compute (Tx)i({\mathcal{T}}x)_{i} with much fewer operations than what is needed to first compute Tx{\mathcal{T}}x and then take its iith component.

2 Single Coordinate Friendly Operators

This subsection studies a few classes of CF operators and then formally defines the CF operator. We motivate the first class through an example.

In the example below, we let Ai,:A_{i,:} and A:,jA_{:,j} be the iith row and jjth column of a matrix AA, respectively. Let A⊤A^{\top} be the transpose of AA and Ai,:⊤A^{\top}_{i,:} be (A⊤)i,:(A^{\top})_{i,:}, i.e., the iith row of the transpose of AA.

Assuming that A⊤AA^{\top}A and A⊤bA^{\top}b are already computed, we have M[x↦Tx]=O(m2)\mathfrak{M}\left[{x}\mapsto{{\mathcal{T}}x}\right]=O(m^{2}). The coordinate update at the kkth iteration performs

and xjk+1=xjk,∀j≠ikx_{j}^{k+1}=x_{j}^{k},\forall j\neq i_{k}, where iki_{k} is some selected coordinate.

Since for all ii, ∇if(xk)=(A⊤(Ax−b))i=(A⊤A)i,:⋅x−(A⊤b)i\nabla_{i}f(x^{k})=\left(A^{\top}(Ax-b)\right)_{i}=(A^{\top}A)_{i,:}\cdot x-(A^{\top}b)_{i}, we have M[x↦(Tx)i]=O(m)\mathfrak{M}\left[{x}\mapsto{({\mathcal{T}}x)_{i}}\right]=O(m) and thus M[x↦(Tx)i]=O(1mM[x↦Tx])\mathfrak{M}\left[{x}\mapsto{({\mathcal{T}}x)_{i}}\right]=O(\frac{1}{m}\mathfrak{M}\left[{x}\mapsto{{\mathcal{T}}x}\right]). Therefore, the coordinate gradient descent is computationally worthy.

The operator T{\mathcal{T}} in the above example is a special Type-I CF operator.

We can implement the coordinate update in Example 1 in a different manner by maintaining the result Txk{\mathcal{T}}x^{k} in the memory. This approach works when m=Θ(p)m=\Theta(p) or p≫mp\gg m. The full update (8) is unchanged. At each coordinate update, from the maintained quantity Txk{\mathcal{T}}x^{k}, we immediately obtain xikk+1=(Txk)ikx_{i_{k}}^{k+1}=({\mathcal{T}}x^{k})_{i_{k}}. But we need to update Txk{\mathcal{T}}x^{k} to Txk+1{\mathcal{T}}x^{k+1}. Since xk+1x^{k+1} and xkx^{k} differ only over the coordinate iki_{k}, this update can be computed as

which is a scalar-vector multiplication followed by vector addition, taking only O(m)O(m) operations. Computing Txk+1{\mathcal{T}}x^{k+1} from scratch involves a matrix-vector multiplication, taking O(M[x↦T(x)])=O(m2)O(\mathfrak{M}\left[{x}\mapsto{{\mathcal{T}}(x)}\right])=O(m^{2}) operations. Therefore,

The operator T{\mathcal{T}} in the above example is a special Type-II CF operator.

An operator T{\mathcal{T}} is called Type-II CF (denoted as F2{\mathcal{F}}_{2}) if, for any i,xi,x and x^{+}:=\big{(}x_{1},\ldots,({\mathcal{T}}x)_{i},\ldots,x_{m}\big{)}, the following holds

The next example illustrates an efficient coordinate update by maintaining certain quantity other than Tx{\mathcal{T}}x.

For the case p≪mp\ll m, we should avoid pre-computing the relative large matrix A⊤AA^{\top}A, and it is cheaper to compute A⊤(Ax)A^{\top}(Ax) than (A⊤A)x(A^{\top}A)x. Therefore, we change the implementations of both the full and coordinate updates in Example 1. In particular, the full update

pre-multiplies xkx^{k} by AA and then A⊤A^{\top}. Hence, M[xk↦T(xk)]=O(mp)\mathfrak{M}\left[{x^{k}}\mapsto{{\mathcal{T}}(x^{k})}\right]=O(mp).

We change the coordinate update to maintain the intermediate quantity AxkAx^{k}. In the first step, the coordinate update computes

by pre-multiplying AxkAx^{k} by Aik,:⊤A^{\top}_{i_{k},:}. Then, the second step updates AxkAx^{k} to Axk+1Ax^{k+1} by adding (xikk+1−xikk)A:,ik(x^{k+1}_{i_{k}}-x^{k}_{i_{k}})A_{:,i_{k}} to AxkAx^{k}. Both steps take O(p)O(p) operations, so

Combining Type-I and Type-II CF operators with the last example, we arrive at the following CF definition.

where M(x){\mathcal{M}}(x) is some quantity maintained in the memory to facilitate each coordinate update and refreshed to M(x+){\mathcal{M}}(x^{+}). M(x){\mathcal{M}}(x) can be empty, i.e., except xx, no other varying quantity is maintained.

The left-hand side of (10) measures the cost of performing one coordinate update (including the cost of updating M(x){\mathcal{M}}(x) to M(x+){\mathcal{M}}(x^{+})) while the right-hand side measures the average per-coordinate cost of updating all the coordinates together. When (10) holds, T{\mathcal{T}} is amenable to coordinate updates.

By definition, a Type-I CF operator T{\mathcal{T}} is CF without maintaining any quantity, i.e., M(x)=∅{\mathcal{M}}(x)=\emptyset.

A Type-II CF operator T{\mathcal{T}} satisfies (10) with M(x)=Tx{\mathcal{M}}(x)={\mathcal{T}}x, so it is also CF. Indeed, given any xx and ii, we can compute x+x^{+} by immediately letting xi+=(Tx)ix^{+}_{i}=({\mathcal{T}}x)_{i} (at O(1)O(1) cost) and keeping xj+=xj, ∀j≠ix^{+}_{j}=x_{j},\,\forall j\neq i; then, by (9), we update Tx{\mathcal{T}}x to Tx+{\mathcal{T}}x^{+} at a low cost. Formally, letting M(x)=Tx{\mathcal{M}}(x)={\mathcal{T}}x,

In general, the set of CF operators is much larger than the union of Type-I and Type-II CF operators.

non-separable operator: C3:=T∖(C1∪C2){\mathcal{C}}_{3}:=\mathfrak{T}\setminus({\mathcal{C}}_{1}\cup{\mathcal{C}}_{2}). If T∈C3{\mathcal{T}}\in{\mathcal{C}}_{3}, there exists some ii such that (Tx)i({\mathcal{T}}x)_{i} depends on many coordinates of xx.

3 Examples of CF Operators

In this subsection, we give examples of CF operators arising in different areas including linear algebra, optimization, and machine learning.

Clearly T:x↦Ax{\mathcal{T}}:x\mapsto Ax is separable.

Then, both ∇f\nabla f and proxγf\mathbf{prox}_{\gamma f} are separable, in particular,

Here, proxγf(x)\mathbf{prox}_{\gamma f}(x) (γ>0\gamma>0) is the proximal operator that we define in Definition 10 in Appendix A.

Examples of sparse matrices arise from various finite difference schemes for differential equations, problems defined on sparse graphs. When most pairs of a set of random variables are conditionally independent, their inverse covariance matrix is sparse.

Let EE be a class of index sets and every e∈Ee\in E be a small subset of [m][m], ∣e∣≪m|e|\ll m. In addition #{e:i∈e}≪#{e}\#\{e:i\in e\}\ll\#\{e\} for all i∈[m]i\in[m]. Let xe:=(xi)i∈ex_{e}:=(x_{i})_{i\in e}, and

The gradient map ∇f\nabla f is nearly-separable.

An application of this example arises in wireless communication over a graph of mm nodes. Let each xix_{i} be the spectrum assignment to node ii, each ee be a neighborhood of nodes, and each fef_{e} be a utility function. The input of fef_{e} is xex_{e} since the utility depends on the spectra assignments in the neighborhood.

In machine learning, if each observation only involves a few features, then each function of the optimization objective will depend on a small number of components of xx. This is the case when graphical models are used .

which is known as the squared hinge loss function. Consider the operator

Let us maintain M(x)=a⊤x{\mathcal{M}}(x)=a^{\top}x. For arbitrary xx and ii, let

and xj+:=xj, ∀j≠ix^{+}_{j}:=x_{j},\,\forall j\neq i. Then, computing xi+x^{+}_{i} from xx and a⊤xa^{\top}x takes O(1)O(1) (as a⊤xa^{\top}x is maintained), and computing a⊤x+a^{\top}x^{+} from xi+−xix^{+}_{i}-x_{i} and a⊤xa^{\top}x costs O(1)O(1). Formally, we have

On the other hand, M[x↦Tx]=O(m)\mathfrak{M}\left[{x}\mapsto{{\mathcal{T}}x}\right]=O(m). Therefore, (10) holds, and T{\mathcal{T}} defined in (11) is CF.

Composite Coordinate Friendly Operators

Compositions of two or more operators arise in algorithms for problems that have composite functions, as well as algorithms that are derived from operator splitting methods. To update the variable xkx^{k} to xk+1x^{k+1}, two or more operators are sequentially applied, and therefore the structures of all operators determine whether the update is CF. This is where CF structures become less trivial but more interesting. This section studies composite CF operators. The exposition leads to the recovery of existing algorithms, as well as powerful new algorithms.

We start by an example with numerous applications. It is a generalization of Example 9.

Assume that evaluating ϕj′\phi^{\prime}_{j} costs O(1)O(1) for each jj. Then, ∇f\nabla f is CF. Indeed, let

Since M[x↦∇f(x)]=O(pm)\mathfrak{M}\left[{x}\mapsto{\nabla f(x)}\right]=O(pm), therefore ∇f=T1∘T2∘T3\nabla f={\mathcal{T}}_{1}\circ{\mathcal{T}}_{2}\circ{\mathcal{T}}_{3} is CF.

There are general rules to preserve Type-I and Type-II CF. For example, T1∘T2{\mathcal{T}}_{1}\circ{\mathcal{T}}_{2} is still Type-I CF, and T2∘T3{\mathcal{T}}_{2}\circ{\mathcal{T}}_{3} is still CF, but there are counter examples where T2∘T3{\mathcal{T}}_{2}\circ{\mathcal{T}}_{3} can be neither Type-I nor Type-II CF. Such properties are important for developing efficient coordinate update algorithms for complicated problems; we will formalize them in the following.

The splitting schemes in §3.2 below will be based on T1+T2{\mathcal{T}}_{1}+{\mathcal{T}}_{2} or T1∘T2{\mathcal{T}}_{1}\circ{\mathcal{T}}_{2}, as well as a sequence of such combinations. If T1{\mathcal{T}}_{1} and T2{\mathcal{T}}_{2} are both CF, T1+T2{\mathcal{T}}_{1}+{\mathcal{T}}_{2} remains CF, but T1∘T2{\mathcal{T}}_{1}\circ{\mathcal{T}}_{2} is not necessarily so. This subsection discusses how T1∘T2{\mathcal{T}}_{1}\circ{\mathcal{T}}_{2} inherits the properties from T1{\mathcal{T}}_{1} and T2{\mathcal{T}}_{2}. Our results are summarized in Tables 1 and 2 and explained in detail below.

The combination T1∘T2{\mathcal{T}}_{1}\circ{\mathcal{T}}_{2} generally inherits the weaker property from T1{\mathcal{T}}_{1} and T2{\mathcal{T}}_{2}.

The separability (C1{\mathcal{C}}_{1}) property is preserved by composition. If T1,…,Tn{\mathcal{T}}_{1},\ldots,{\mathcal{T}}_{n} are separable, then T1∘⋯∘Tn{\mathcal{T}}_{1}\circ\cdots\circ{\mathcal{T}}_{n} is separable. However, combining nearly-separable (C2{\mathcal{C}}_{2}) operators may not yield a nearly-separable operator since composition introduces more dependence among the input entries. Therefore, composition of nearly-separable operators can be either nearly-separable or non-separable.

Next, we discuss how T1∘T2{\mathcal{T}}_{1}\circ{\mathcal{T}}_{2} inherits the CF properties from T1{\mathcal{T}}_{1} and T2{\mathcal{T}}_{2}. For simplicity, we only use matrix-vector multiplication as examples to illustrate the ideas; more interesting examples will be given later.

If T1{\mathcal{T}}_{1} is separable or nearly-separable (C1∪C2{\mathcal{C}}_{1}\cup{\mathcal{C}}_{2}), then as long as T2{\mathcal{T}}_{2} is CF (F{\mathcal{F}}), T1∘T2{\mathcal{T}}_{1}\circ{\mathcal{T}}_{2} remains CF. In addition, if T2{\mathcal{T}}_{2} is Type-I CF (F1{\mathcal{F}}_{1}), so is T1∘T2{\mathcal{T}}_{1}\circ{\mathcal{T}}_{2}.

Assume that T2{\mathcal{T}}_{2} is separable (C1{\mathcal{C}}_{1}). It is easy to see that if T1{\mathcal{T}}_{1} is CF (F{\mathcal{F}}), then T1∘T2{\mathcal{T}}_{1}\circ{\mathcal{T}}_{2} remains CF. In addition if T1{\mathcal{T}}_{1} is Type-II CF (F2{\mathcal{F}}_{2}), so is T1∘T2{\mathcal{T}}_{1}\circ{\mathcal{T}}_{2}; see Example 10.

Note that, if T2{\mathcal{T}}_{2} is nearly-separable, we do not always have CF properties for T1∘T2{\mathcal{T}}_{1}\circ{\mathcal{T}}_{2}. This is because T2x{\mathcal{T}}_{2}x and T2x+{\mathcal{T}}_{2}x^{+} can be totally different (so updating T2x{\mathcal{T}}_{2}x is expensive) even if xx and x+x^{+} only differ over one coordinate; see the footnote 3 on Page 3.

Assume that T1{\mathcal{T}}_{1} is Type-I CF (F1{\mathcal{F}}_{1}). If T2{\mathcal{T}}_{2} is Type-II CF (F2{\mathcal{F}}_{2}), then T1∘T2{\mathcal{T}}_{1}\circ{\mathcal{T}}_{2} is CF (F{\mathcal{F}}).

Assume that one of T1{\mathcal{T}}_{1} and T2{\mathcal{T}}_{2} is cheap. If T2{\mathcal{T}}_{2} is cheap, then as long as T1{\mathcal{T}}_{1} is Type-I CF (F1{\mathcal{F}}_{1}), T1∘T2{\mathcal{T}}_{1}\circ{\mathcal{T}}_{2} is Type-I CF. If T1{\mathcal{T}}_{1} is cheap, then as long as T2{\mathcal{T}}_{2} is Type-II CF (F2{\mathcal{F}}_{2}), T1∘T2{\mathcal{T}}_{1}\circ{\mathcal{T}}_{2} is CF (F{\mathcal{F}}); see Example 13.

We will see more examples of the above cases in the rest of the paper.

2 Operator Splitting Schemes

We will apply our discussions above to operator splitting and obtain new algorithms. But first, we review several major operator splitting schemes and discuss their CF properties. We will encounter important concepts such as (maximum) monotonicity and cocoercivity, which are given in Appendix A. For a monotone operator A{\mathcal{A}}, the resolvent operator JA{\mathcal{J}}_{{\mathcal{A}}} and the reflective-resolvent operator RA{\mathcal{R}}_{{\mathcal{A}}} are also defined there, in (67) and (68), respectively.

Consider the following problem: given three operators A,B,C{\mathcal{A}},{\mathcal{B}},{\mathcal{C}}, possibly set-valued,

where “++” is the Minkowski sum. This is a high-level abstraction of many problems or their optimality conditions. The study began in the 1960s, followed by a large number of algorithms and applications over the last fifty years. Next, we review a few basic methods for solving (12).

Indeed, by setting γ∈(0,2β)\gamma\in(0,2\beta), T3S{\mathcal{T}}_{3S} is (2β4β−γ)(\frac{2\beta}{4\beta-\gamma})-averaged (think it as a property weaker than the Picard contraction; in particular, T{\mathcal{T}} may not have a fixed point). Following the standard convergence result (cf. textbook ), provided that T{\mathcal{T}} has a fixed point, the sequence from (2) converges to a fixed-point x∗x^{*} of T{\mathcal{T}}. Note that, instead of x∗x^{*}, JγB(x∗){\mathcal{J}}_{\gamma{\mathcal{B}}}(x^{*}) is a solution to (12).

for solving the problem 0∈Ax+Cx0\in{\mathcal{A}}x+{\mathcal{C}}x.

introduced in for solving the problem 0∈Ax+Bx0\in{\mathcal{A}}x+{\mathcal{B}}x. A more general splitting is the Relaxed Peaceman-Rachford Splitting (RPRS) with λ∈\lambda\in:

Forward-Douglas-Rachford Splitting (FDRS): Let VV be a linear subspace, and NV{\mathcal{N}}_{V} and PV{\mathcal{P}}_{V} be its normal cone and projection operator, respectively. The FDRS

where XX is the feasible set and ff and gg are objective functions. We present examples of operator splitting methods discussed above.

A special case of (20) with g=ιXg=\iota_{X} is the projected gradient iteration:

If ∇f\nabla f is CF and proxγg\mathbf{prox}_{\gamma g} is (nearly-)separable (e.g., g(x)=∥x∥1g(x)=\|x\|_{1} or the indicator function of a box constraint) or if ∇f\nabla f is Type-II CF and proxγg\mathbf{prox}_{\gamma g} is cheap (e.g., ∇f(x)=Ax−b\nabla f(x)=Ax-b and g=∥x∥2g=\|x\|_{2}), then the FBS iteration (20) is CF. In the latter case, we can also apply the BFS iteration (15) (i.e, compute proxγg\mathbf{prox}_{\gamma g} and then perform the gradient update), which is also CF.

(The iteration can be generalized to handle the constraint Ax−By=bAx-By=b.) The dual problem of (22) is min⁡sf∗(−s)+g∗(s)\min_{s}f^{*}(-s)+g^{*}(s), where f∗f^{*} is the convex conjugate of ff. Letting A=−∂f∗(−⋅){\mathcal{A}}=-\partial f^{*}(-\cdot) and B=∂g∗{\mathcal{B}}=\partial g^{*} in (16) recovers the iteration (23) through (see the derivation in Appendix B)

From the results in §3.1, a sufficient condition for the above iteration to be CF is that JγA{\mathcal{J}}_{\gamma{\mathcal{A}}} is (nearly-)separable and JγB{\mathcal{J}}_{\gamma{\mathcal{B}}} being CF.

The above abstract operators and their CF properties will be applied in §5 to give interesting algorithms for several applications.

Primal-dual Coordinate Friendly Operators

Let u0u^{0} be an image, where ui0∈u_{i}^{0}\in, and BB be the blurring linear operator. Let ∥∇u∥1\|\nabla u\|_{1} be the anisotropicGeneralization to the isotropic case is straightforward by grouping variables properly. total variation of uu (see (49) for definition). Suppose that bb is a noisy observation of Bu0Bu^{0}. Then, we can try to recover u0u^{0} by solving

which can be written in the form of \eqrefpdproblem\eqref{pdproblem} with f=12∥B⋅−b∥2f=\frac{1}{2}\|B\cdot-b\|^{2}, g=ιg=\iota_{}, A=∇A=\nabla, and h=λ∥⋅∥1h=\lambda\|\cdot\|_{1}.

More examples with the formulation (24) will be given in §4.2. In general, primal-dual methods are capable of solving complicated problems involving constraints and the compositions of proximable and linear maps like ∥∇u∥1\|\nabla u\|_{1}.

In many applications, although hh is proximable, h∘Ah\circ A is generally non-proximable and non-differentiable. To avoid using slow subgradient methods, we can consider the primal-dual splitting approaches to separate hh and AA so that proxh\mathbf{prox}_{h} can be applied. We derive that the equivalent form (for convex cases) of \eqrefpdproblem\eqref{pdproblem} is to find xx such that

Problem \eqrefpdkkt\eqref{pdkkt} can be solved by the Condat-Vũ algorithm :

Switching the orders of xx and ss yields the following algorithm:

It is known from that both \eqrefvucondat\eqref{vucondat} and \eqrefvucondat2\eqref{vucondat2} reduce to iterations of nonexpansive operators (under a special metric), i.e., TCV{{\mathcal{T}}_{\textnormal{CV}}} is nonexpansive; see Appendix C for the reasoning.

Similar primal-dual algorithms can be used to solve other problems such as saddle point problems and variational inequalities . Our coordinate update algorithms below apply to these problems as well.

In this subsection, we make the following assumption.

Functions gg and h∗h^{*} in the problem (24) are separable and proximable. Specifically,

when p=O(m)p=O(m), the Condat-Vu operator TCV{{\mathcal{T}}_{\textnormal{CV}}} in (28) is CF, more specifically,

when m≪pm\ll p and M[x↦∇f(x)]=O(m)\mathfrak{M}\left[{x}\mapsto{\nabla f(x)}\right]=O(m), the Condat-Vu operator TCV′{\mathcal{T}}^{\prime}_{\textnormal{CV}} in (29) is CF, more specifically,

Computing zk+1=TCVzkz^{k+1}={{\mathcal{T}}_{\textnormal{CV}}}z^{k} involves evaluating ∇f\nabla f, proxg\mathbf{prox}_{g}, and proxh∗\mathbf{prox}_{h^{*}}, applying AA and A⊤A^{\top}, and adding vectors. It is easy to see M[zk↦TCVzk]=O(mp+m+p)+M[x→∇f(x)]\mathfrak{M}\left[{z^{k}}\mapsto{{{\mathcal{T}}_{\textnormal{CV}}}z^{k}}\right]=O(mp+m+p)+\mathfrak{M}[x\to\nabla f(x)], and M[zk↦TCV′zk]\mathfrak{M}\left[{z^{k}}\mapsto{{\mathcal{T}}^{\prime}_{\textnormal{CV}}z^{k}}\right] is the same. (a) We assume ∇f∈F1\nabla f\in{\mathcal{F}}_{1} for simplicity, and other cases are similar.

If (TCVzk)j=sik+1({{\mathcal{T}}_{\textnormal{CV}}}z^{k})_{j}=s^{k+1}_{i}, computing it involves: adding siks^{k}_{i} and γ(Axk)i\gamma(Ax^{k})_{i}, and evaluating proxγhi∗\mathbf{prox}_{\gamma h^{*}_{i}}. In this case M[{zk,Ax}↦{z+,Ax+}]=O(1)\mathfrak{M}\left[{\{z^{k},Ax\}}\mapsto{\{z^{+},Ax^{+}\}}\right]=O(1).

If (TCVzk)j=xik+1({{\mathcal{T}}_{\textnormal{CV}}}z^{k})_{j}=x^{k+1}_{i}, computing it involves evaluating: the entire sk+1s^{k+1} for O(p)O(p) operations, (A⊤(2sk+1−sk))i(A^{\top}(2s^{k+1}-s^{k}))_{i} for O(p)O(p) operations, proxηgi\mathbf{prox}_{\eta g_{i}} for O(1)O(1) operations, ∇if(xk)\nabla_{i}f({x}^{k}) for O(1mM[x↦∇f(x)])O(\frac{1}{m}\mathfrak{M}\left[{x}\mapsto{\nabla f(x)}\right]) operations, as well as updating Ax+Ax^{+} for O(p)O(p) operations. In this case M[{zk,Ax}↦{z+,Ax+}]=O(p+1mM[x↦∇f(x)])\mathfrak{M}\left[{\{z^{k},Ax\}}\mapsto{\{z^{+},Ax^{+}\}}\right]=O(p+\frac{1}{m}\mathfrak{M}\left[{x}\mapsto{\nabla f(x)}\right]).

Therefore, \mathfrak{M}\left[{\{z^{k},Ax\}}\mapsto{\{z^{+},Ax^{+}\}}\right]=O\big{(}\frac{1}{m+p}\mathfrak{M}\left[{z^{k}}\mapsto{{{\mathcal{T}}_{\textnormal{CV}}}z^{k}}\right]\big{)}. (b) When m≪pm\ll p and M[x↦∇f(x)]=O(m)\mathfrak{M}\left[{x}\mapsto{\nabla f(x)}\right]=O(m), following arguments similar to the above, we have M[{zk,A⊤s}↦{z+,A⊤s+}]=O(1)+M[x↦∇if(x)]\mathfrak{M}\left[{\{z^{k},A^{\top}s\}}\mapsto{\{z^{+},A^{\top}s^{+}\}}\right]=O(1)+\mathfrak{M}\left[{x}\mapsto{\nabla_{i}f(x)}\right] if (TCV′zk)j=xik+1({\mathcal{T}}^{\prime}_{\textnormal{CV}}z^{k})_{j}=x_{i}^{k+1}; and M[{zk,A⊤s}↦{z+,A⊤s+}]=O(m)+M[x↦∇f(x)]\mathfrak{M}\left[{\{z^{k},A^{\top}s\}}\mapsto{\{z^{+},A^{\top}s^{+}\}}\right]=O(m)+\mathfrak{M}\left[{x}\mapsto{\nabla f(x)}\right] if (TCV′zk)j=sik+1({\mathcal{T}}^{\prime}_{\textnormal{CV}}z^{k})_{j}=s_{i}^{k+1}. In both cases M[{zk,A⊤s}↦{z+,A⊤s+}]=O(1m+pM[zk↦TCV′zk])\mathfrak{M}\left[{\{z^{k},A^{\top}s\}}\mapsto{\{z^{+},A^{\top}s^{+}\}}\right]=O(\frac{1}{m+p}\mathfrak{M}\left[{z^{k}}\mapsto{{\mathcal{T}}^{\prime}_{\textnormal{CV}}z^{k}}\right]). ∎

2 Extended Monotropic Programming

We develop a primal-dual coordinate update algorithm for the extended monotropic program:

where UU is a symmetric positive semidefinite matrix and X={x:xi≥0 ∀i}X=\{x:x_{i}\geq 0~{}\forall i\}. Then, (31) is a special case of (30) with gi(xi)=ι⋅≥0(xi)g_{i}(x_{i})=\iota_{\cdot\geq 0}(x_{i}), f(x)=12x⊤Ux+c⊤xf(x)=\frac{1}{2}x^{\top}Ux+c^{\top}x and h=ι{b}h=\iota_{\{b\}}.

Applying iteration \eqrefvucondat\eqref{vucondat} to problem \eqrefemp\eqref{emp} and eliminating sk+1s^{k+1} from the second row yield the Jacobi-style update (denoted as Temp{\mathcal{T}}_{\textnormal{emp}}):

To the best of our knowledge, this update is never found in the literature. Note that xk+1x^{k+1} no longer depends on sk+1s^{k+1}, making it more convenient to perform coordinate updates.

In general, when the ss update is affine, we can decouple sk+1s^{k+1} and xk+1x^{k+1} by plugging the ss update into the xx update. It is the case when hh is affine or quadratic in problem (24).

A sufficient condition for Temp{\mathcal{T}}_{\textnormal{emp}} to be CF is proxg∈C1\mathbf{prox}_{g}\in{\mathcal{C}}_{1} i.e., separable. Indeed, we have Temp=T1∘T2{\mathcal{T}}_{\textnormal{emp}}={\mathcal{T}}_{1}\circ{\mathcal{T}}_{2}, where

Following Case 5 of Table 2, Temp{\mathcal{T}}_{\textnormal{emp}} is CF. When m=Θ(p)m=\Theta(p), the separability condition on proxg\mathbf{prox}_{g} can be relaxed to proxg∈F1\mathbf{prox}_{g}\in{\mathcal{F}}_{1} since in this case T2∈F2{\mathcal{T}}_{2}\in{\mathcal{F}}_{2}, and we can apply Case 7 of Table 2 (by maintaining ∇f(x)\nabla f(x), A⊤sA^{\top}s, AxAx and A⊤AxA^{\top}Ax.)

3 Overlapping-Block Coordinate Updates

In the coordinate update scheme based on (28), if we select xix_{i} to update then we must first compute sk+1s^{k+1}, because the variables xix_{i}’s and sjs_{j}’s are coupled through the matrix AA. However, once xik+1x_{i}^{k+1} is obtained, sk+1s^{k+1} is discarded. It is not used to update ss or cached for further use. This subsection introduces ways to utilize the otherwise wasted computation.

The use of relaxation parameters ρi,j\rho_{i,j} makes our scheme different from that in .

Following the assumptions and arguments in §4.1, if we maintain AxAx, the cost for each block coordinate update is O(p)+M[x↦∇if(x)]O(p)+\mathfrak{M}\left[{x}\mapsto{\nabla_{i}f(x)}\right], which is O(1mM[z↦TCVz])O(\frac{1}{m}\mathfrak{M}\left[{z}\mapsto{{{\mathcal{T}}_{\textnormal{CV}}}z}\right]). Therefore the coordinate update scheme (33) is computationally worthy.

The recent paper proposes a different primal-dual coordinate update algorithm. The authors produce a new matrix Aˉ\bar{A} based on AA, with only one nonzero entry in each row, i.e. mj=1m_{j}=1 for each jj. They also modify hh to hˉ\bar{h} so that the problem

has the same solution as \eqrefpdproblem\eqref{pdproblem}. Then they solve \eqreffbpdproblem\eqref{fbpdproblem} by the scheme \eqrefpdoverlap\eqref{pdoverlap}. Because they have mj=1m_{j}=1, every dual variable coordinate is only associated with one primal variable coordinate. They create non-overlapping blocks of zz by duplicating each dual variable coordinate sjs_{j} multiple times. The computation cost for each block coordinate update of their algorithm is the same as \eqrefpdoverlap\eqref{pdoverlap}, but more memory is needed for the duplicated copies of each sjs_{j}.

4 Async-Parallel Primal-Dual Coordinate Update Algorithms and Their Convergence

In this subsection, we propose two async-parallel primal-dual coordinate update algorithms using the algorithmic framework of and state their convergence results. When there is only one agent, all algorithms proposed in this section reduce to stochastic coordinate update algorithms , and their convergence is a direct consequence of Theorem 1. Moreover, our convergence analysis also applies to sync-parallel algorithms.

The two algorithms are based on §4.1 and §4.3, respectively.

Whenever an agent updates a coordinate, the global iteration number kk increases by one. The kkth update is applied to zikz_{i_{k}}, with iki_{k} being independent random variables: zi=xiz_{i}=x_{i} when i≤mi\leq m and zi=si−mz_{i}=s_{i-m} when i>mi>m. Each coordinate update has the form:

where ηk\eta_{k} is the step size, zkz^{k} denotes the state of zz in global memory just before the update (35) is applied, and z^k\hat{z}^{k} is the result that zz in global memory is read by an agent to its local cache (see [54, §1.2] for both consistent and inconsistent cases). While (z^ikk−(TCVz^k)ik)(\hat{z}^{k}_{i_{k}}-({{\mathcal{T}}_{\textnormal{CV}}}\hat{z}^{k})_{i_{k}}) is being computed, asynchronous parallel computing allows other agents to make updates to zz, introducing so-called asynchronous delays. Therefore, z^k\hat{z}^{k} can be different from zkz^{k}. We refer the reader to [54, §1.2] for more details.

The async-parallel algorithm using the overlapping-block coordinate update (33) is in Algorithm 2 (recall that the overlapping-block coordinate update is introduced to save computation).

If shared memory is used, it is recommended to set all but one ρi,j\rho_{i,j}’s to for each ii.

f,g,h∗f,g,h^{*} are closed proper convex functions, ff is differentiable, and ∇f\nabla f is Lipschitz continuous with constant β\beta;

the delay for every coordinate is bounded by a positive number τ\tau, i.e. for every 1≤i≤m+p1\leq i\leq m+p, z^ik=zik−dik\hat{z}^{k}_{i}=z_{i}^{k-d_{i}^{k}} for some 0≤dik≤τ0\leq d_{i}^{k}\leq\tau;

ηk∈[ηmin⁡,ηmax⁡]\eta_{k}\in[\eta_{\min},\eta_{\max}] for certain ηmin⁡,ηmax⁡>0\eta_{\min},\eta_{\max}>0.

Then (zk)k≥0(z^{k})_{k\geq 0} converges to a Z∗Z^{*}-valued random variable with probability 1.

The formulas for ηmin⁡\eta_{\min} and ηmax⁡\eta_{\max}, as well as the proof of Theorem 1, are given in Appendix D along with additional remarks. The algorithms can be applied to solve problem (24). A variety of examples are provided in §5.1 and §5.2.

Applications

In this section, we provide examples to illustrate how to develop coordinate update algorithms based on CF operators. The applications are categorized into five different areas. The first subsection discusses three well-known machine learning problems: empirical risk minimization, Support Vector Machine (SVM), and group Lasso. The second subsection discusses image processing problems including image deblurring, image denoising, and Computed Tomography (CT) image recovery. The remaining subsections provide applications in finance, distributed computing as well as certain stylized optimization models. Several applications are treated with coordinate update algorithms for the first time.

For each problem, we describe the operator T{\mathcal{T}} and how to efficiently calculate (Tx)i({\mathcal{T}}x)_{i}. The final algorithm is obtained after plugging the update in a coordinate update framework in §1.1 along with parameter initialization, an index selection rule, as well as some termination criteria.

We consider the following regularized empirical risk minimization problem

where aja_{j}’s are sample vectors, ϕj\phi_{j}’s are loss functions, and f+gf+g is a regularization function. We assume that ff is differentiable and gg is proximable. Examples of (36) include linear SVM, regularized logistic regression, ridge regression, and Lasso. Further information on ERM can be found in . The need for coordinate update algorithms arises in many applications of (36) where the number of samples or the dimension of xx is large.

1.2 Support Vector Machine

Given the training data {(ai,βi)}i=1m\{(a_{i},\beta_{i})\}_{i=1}^{m} with βi∈{+1,−1}, ∀i\beta_{i}\in\{+1,-1\},\,\forall i, the kernel support vector machine is

where ϕ\phi is a vector-to-vector map, mapping each data aia_{i} to a point in a (possibly) higher-dimensional space. If ϕ(a)=a\phi(a)=a, then (38) reduces to the linear support vector machine. The model (38) can be interpreted as finding a hyperplane {w:x⊤w−y=0}\{w:x^{\top}w-y=0\} to separate two sets of points {ϕ(ai):βi=1}\{\phi(a_{i}):\beta_{i}=1\} and {ϕ(ai):βi=−1}\{\phi(a_{i}):\beta_{i}=-1\}.

where Qij=βiβjk(ai,aj)Q_{ij}=\beta_{i}\beta_{j}k(a_{i},a_{j}), k(⋅,⋅)k(\cdot,\cdot) is a so-called kernel function, and e=(1,...,1)⊤e=(1,...,1)^{\top}. If ϕ(a)=a\phi(a)=a, then k(ai,aj)=ai⊤ajk(a_{i},a_{j})=a_{i}^{\top}a_{j}.

Unbiased case

If y=0y=0 is enforced in (38), then the solution hyperplane {w:x⊤w=0}\{w:x^{\top}w=0\} passes through the origin and is called unbiased. Consequently, the dual problem (39) will no longer have the linear constraint ∑iβisi=0\sum_{i}\beta_{i}s_{i}=0, leaving it with the coordinate-wise separable box constraints 0≤si≤C0\leq s_{i}\leq C. To solve (39), we can apply the FBS operator T{\mathcal{T}} defined by (14). Let d(s):=12s⊤Qs−e⊤sd(s):=\frac{1}{2}s^{\top}Qs-e^{\top}s, A=prox[0,C]{\mathcal{A}}=\mathbf{prox}_{[0,C]}, and C=∇d{\mathcal{C}}=\nabla d. The coordinate update based on FBS is

where we can take γi=1Qii\gamma_{i}=\frac{1}{Q_{ii}}.

Biased (general) case

The coordinate update based on the full primal-dual splitting scheme (28) is:

where t,st,s are the primal and dual variables, respectively. Note that we can let w:=∑i=1mβisiw:=\sum_{i=1}^{m}\beta_{i}s_{i} and maintain it. With variable ww and substituting (40a) into (40b), we can equivalently write (40) into

where wkw^{k} is the maintained variable and sks^{k} is the intermediate variable.

1.3 Group Lasso

Non-overlapping case [84]

The corresponding coordinate update is the following

where ∇if(xk)\nabla_{i}f(x^{k}) is the partial derivative of ff with respect to xix_{i} and the step size can be taken to be γi=1∥A:,i∥2\gamma_{i}=\frac{1}{\|A_{:,i}\|^{2}}. When ∇f\nabla f is either cheap or easy-to-maintain, the coordinate update in (45) is inexpensive.

Overlapping case [38]

is cheap. Hence, the corresponding coordinate update of (46) is

where BλB_{\lambda} is the Euclidean ball of radius λ\lambda. When ∇f\nabla f is easy-to-maintain, the coordinate update in (47) is inexpensive. To the best of our knowledge, the coordinate update method (47) is new.

2 Imaging

Many convex image processing problems have the general form

where AA is a matrix such as a dictionary, sampling operator, or finite difference operator. We can reduce the problem to the system: 0∈A(z)+B(z)0\in{\mathcal{A}}(z)+{\mathcal{B}}(z), where z=[x;s]z=[x;s],

(see Appendix C for the reduction.) The work gives their resolvents

where JγA{\mathcal{J}}_{\gamma{\mathcal{A}}} is often cheap or separable and we can explicitly form JγB{\mathcal{J}}_{\gamma{\mathcal{B}}} as a matrix or implement it based on a fast transform. With the defined JγA{\mathcal{J}}_{\gamma{\mathcal{A}}} and JγB{\mathcal{J}}_{\gamma{\mathcal{B}}}, we can apply the RPRS method as zk+1=TRPRSzkz^{k+1}={\mathcal{T}}_{\text{RPRS}}z^{k}. The resulting RPRS operator is CF when JγB{\mathcal{J}}_{\gamma{\mathcal{B}}} is CF. Hence, we can derive a new RPRS coordinate update algorithm. We leave the derivation to the readers. Derivations of coordinate update algorithms for more specific image processing problems are shown in the following subsections.

2.2 Total Variation Image Processing

We consider the following Total Variation (TV) image processing model

For simplicity, we use the anisotropic TV for analysis and in the numerical experiment in § 6.2. It is slightly more complicated for the isotropic TV. Introducing the following notation

which reduces to the form of (24) with f=g=0f=g=0. Based on its definition, the convex conjugate of h(p,q)h(p,q) and its proximal operator are, respectively,

Let s,ts,t be the dual variables corresponding to ∇x\nabla x and AxAx respectively, then using (51) and applying (29) give the following full update:

To perform the coordinate updates as described in §4, we can maintain ∇⊤sk\nabla^{\top}s^{k} and A⊤tkA^{\top}t^{k}. Whenever a coordinate of (s,t)(s,t) is updated, the corresponding ∇⊤sk\nabla^{\top}s^{k} (or A⊤tk)A^{\top}t^{k}) should also be updated. Specifically, we have the following coordinate update algorithm

2.3 3D Mesh Denoising

where fif_{i}’s are differentiable data fidelity terms, gig_{i}’s are the indicator functions of box constraints, and ∑i∑j∈Vihi,j(xi−xj)\sum_{i}\sum_{j\in{\mathcal{V}}_{i}}h_{i,j}(x_{i}-x_{j}) is the total variation on the mesh.

We introduce a dual variable ss with coordinates si,js_{i,j}, for all ordered pairs of adjacent nodes (i,j)(i,j), and, based on the overlapping-block coordinate updating scheme \eqrefpdoverlap\eqref{pdoverlap}, perform coordinate update:

3 Finance

Assume that we have one unit of capital and mm assets to invest on. The iith asset has an expected return rate ξi≥0\xi_{i}\geq 0. Our goal is to find a portfolio with the minimal risk such that the expected return is no less than cc. This problem can be formulated as

where the objective function is a measure of risk, and the last constraint imposes that the expected return is at least cc. Let a1=e/ma_{1}=e/\sqrt{m}, b1=1/mb_{1}=1/\sqrt{m}, a2=ξ/∥ξ∥2a_{2}=\xi/\|\xi\|_{2}, and b2=c/∥ξ∥2b_{2}=c/\|\xi\|_{2}, where e=(1,…,1)⊤,ξ=(ξ1,…,ξm)⊤e=(1,\dots,1)^{\top},\xi=(\xi_{1},\dots,\xi_{m})^{\top}. The above problem is rewritten as

We apply the three-operator splitting scheme (13) to (55). Let f(x)=12x⊤Qxf(x)=\frac{1}{2}x^{\top}Qx, D1={x:x≥0}D_{1}=\{x:x\geq 0\}, D2={x:a1⊤x≤b1, a2⊤x≥b2}D_{2}=\{x:a_{1}^{\top}x\leq b_{1},\,a_{2}^{\top}x\geq b_{2}\}, D21={x:a1⊤x=b1}D_{21}=\{x:a_{1}^{\top}x=b_{1}\}, and D22={x:a2⊤x=b2}D_{22}=\{x:a_{2}^{\top}x=b_{2}\}. Based on (13), the full update is

where yy is an intermediate variable. As the projection to D1D_{1} is simple, we discuss how to evaluate the projection to D2D_{2}. Assume that a1a_{1} and a2a_{2} are neither perpendicular nor co-linear, i.e., a1⊤a2≠0a_{1}^{\top}a_{2}\neq 0 and a1≠λa2a_{1}\neq\lambda a_{2} for any scalar λ\lambda. In addition, assume a1⊤a2>0a_{1}^{\top}a_{2}>0 for simplicity. Let a3=a2−1a1⊤a2a1a_{3}=a_{2}-\frac{1}{a_{1}^{\top}a_{2}}a_{1}, b3=b2−1a1⊤a2b1b_{3}=b_{2}-\frac{1}{a_{1}^{\top}a_{2}}b_{1}, a4=a1−1a1⊤a2a2a_{4}=a_{1}-\frac{1}{a_{1}^{\top}a_{2}}a_{2}, and b4=b1−1a1⊤a2b2b_{4}=b_{1}-\frac{1}{a_{1}^{\top}a_{2}}b_{2}. Then we can partition the whole space into four areas by the four hyperplanes ai⊤x=bia_{i}^{\top}x=b_{i}, i=1,…,4i=1,\ldots,4. Let Pi={x:ai⊤x≤bi,ai+1⊤x≥bi+1}, i=1,2,3P_{i}=\{x:a_{i}^{\top}x\leq b_{i},a_{i+1}^{\top}x\geq b_{i+1}\},\,i=1,2,3 and P4={x:a4⊤x≤b4,a1⊤x≥b1}P_{4}=\{x:a_{4}^{\top}x\leq b_{4},a_{1}^{\top}x\geq b_{1}\}. Then

where qiq_{i} is the iith column of QQ. At each iteration, we select i∈[m]i\in[m], and perform an update to xix_{i} according to (57) based on where xkx^{k} is. We then renew wjk+1=wjk+aij(xik+1−xik),j=1,2w_{j}^{k+1}=w_{j}^{k}+a_{ij}(x_{i}^{k+1}-x_{i}^{k}),j=1,2. Note that checking xkx^{k} in some PjP_{j} requires only O(1)O(1) operations by using w1w_{1} and w2w_{2}, so the coordinate update in (57) is inexpensive.

4 Distributed Computing

Consider that mm worker agents and one master agent form a star-shaped network, where the master agent at the center connects to each of the worker agents. The m+1m+1 agents collaboratively solve the consensus problem:

Applying the FBFS scheme (18) to (59) yields the following full update:

where (60a) and (60c) are applied to all i∈[m]i\in[m]. Hence, for each ii, we group xix_{i} and sis_{i} together and assign them on agent ii. We let the master agent maintain ∑jsj\sum_{j}s_{j} and ∑jxj\sum_{j}x_{j}. Therefore, in the FBFS coordinate update, updating any (xi,si)(x_{i},s_{i}) needs only yy and ∑jsj\sum_{j}s_{j} from the master agent, and updating yy is done on the master agent. In synchronous parallel setting, at each iteration, each worker agent ii computes sik+1,xik+1s_{i}^{k+1},x_{i}^{k+1}, then the master agent collects the updates from all of the worker agents and then updates yy and ∑jsj\sum_{j}s_{j}. The above update can be relaxed to be asynchronous. In this case, the master and worker agents work concurrently, the master agent updates yy and ∑jsj\sum_{j}s_{j} as soon as it receives the updated sis_{i} and xix_{i} from any of the worker agents. It also periodically broadcasts yy back to the worker agents.

5 Dimension Reduction

Applying the projected gradient method (21) to (61), we have

In general, we do not know the Lipschitz constant of ∇F\nabla F, so we have to choose ηk\eta_{k} by line search such that the Armijo condition is satisfied.

Partitioning the variables into 2r2r block coordinates: (w1,…,wr,h1,…,hr)(w_{1},\ldots,w_{r},h_{1},\ldots,h_{r}) where wiw_{i} and hih_{i} are the iith columns of WW and HH, respectively, we can apply the coordinate update based on the projected-gradient method:

It is easy to see that ∇wiF(Wk,Hk)\nabla_{w_{i}}F(W^{k},H^{k}) and ∇hiF(Wk,Hk)\nabla_{h_{i}}F(W^{k},H^{k}) are both Lipschitz continuous with constants ∥hik∥22\|h_{i}^{k}\|_{2}^{2} and ∥wik∥22\|w_{i}^{k}\|_{2}^{2} respectively. Hence, we can set

However, it is possible to have wik=0w_{i}^{k}=0 or hik=0h_{i}^{k}=0 for some ii and kk, and thus the setting in the above formula may have trouble of being divided by zero. To overcome this problem, one can first modify the problem (61) by restricting WW to have unit-norm columns and then apply the coordinate update method in (63). Note that the modification does not change the optimal value since WH⊤=(WD)(HD−1)⊤WH^{\top}=(WD)(HD^{-1})^{\top} for any r×rr\times r invertible diagonal matrix DD. We refer the readers to for more details.

Note that ∇WF(W,H)=(WH⊤−A)H,∇HF(W,H)=(WH⊤−A)⊤W\nabla_{W}F(W,H)=(WH^{\top}-A)H,\nabla_{H}F(W,H)=(WH^{\top}-A)^{\top}W and ∇wiF(W,H)=(WH⊤−A)hi,∇hiF(W,H)=(WH⊤−A)⊤wi, ∀i.\nabla_{w_{i}}F(W,H)=(WH^{\top}-A)h_{i},\nabla_{h_{i}}F(W,H)=(WH^{\top}-A)^{\top}w_{i},\,\forall i. Therefore, the coordinate updates given in (63) are computationally worthy (by maintaining the residual Wk(Hk)⊤−AW^{k}(H^{k})^{\top}-A).

6 Stylized Optimization

then we have u={\mathbf{proj}}_{Q}(v)=\big{(}\xi_{1}^{v}v_{1},\,\xi_{2}^{v}\cdot(v_{2},\ldots,v_{n})\big{)}. Based on this, we have

By the proposition, if T1{\mathcal{T}}_{1} is an affine operator, then in the composition T1∘projQ{\mathcal{T}}_{1}\circ{\mathbf{proj}}_{Q}, the computation of projQ{\mathbf{proj}}_{Q} is cheap as long as we maintain ρ1v,ρ2v,ξ1v,ξ2v\rho_{1}^{v},\rho_{2}^{v},\xi_{1}^{v},\xi_{2}^{v}.

where each QiQ_{i} is a second-order cone, and nˉ≠n\bar{n}\not=n in general. The problem (64) is equivalent to

Assume that the matrix AA has full row-rank (otherwise, Ax=bAx=b has either redundant rows or no solution). Then, in (16), we have RγB(x)=Bx+d{\mathcal{R}}_{\gamma{\mathcal{B}}}(x)=Bx+d, where B:=I−2A⊤(AA⊤)−1AB:=I-2A^{\top}(AA^{\top})^{-1}A and d:=2A⊤(AA⊤)−1(b+γAc)−2γcd:=2A^{\top}(AA^{\top})^{-1}(b+\gamma Ac)-2\gamma c.

It is trivial to extend this method for SOCPs with a quadratic objective:

because J2{\mathcal{J}}_{2} is still linear. Clearly, this method applies to linear programs as they are special SOCPs.

Note that many LPs and SOCPs have sparse matrices AA, which deserve further investigation. In particular, we may prefer not to form (AA⊤)−1(AA^{\top})^{-1} and use the results in §4.2 instead.

Numerical Experiments

We illustrate the behavior of coordinate update algorithms for solving portfolio optimization, image processing, and sparse logistic regression problems. Our primary goal is to show the efficiency of coordinate update algorithms compared to the corresponding full update algorithms. We will also illustrate that asynchronous parallel coordinate update algorithms are more scalable than their synchronous parallel counterparts.

Our first two experiments run on Mac OSX 10.9 with 2.4 GHz Intel Core i5 and 8 Gigabytes of RAM. The experiments were coded in Matlab. The sparse logistic regression experiment runs on 1 to 16 threads on a machine with two 2.5 Ghz 10-core Intel Xeon E5-2670v2 (20 cores in total) and 6464 Gigabytes of RAM. The experiment was coded in C++ with OpenMP enabled. We use the Eigen libraryhttp://eigen.tuxfamily.org for sparse matrix operations.

In this subsection, we compare the performance of the 3S splitting scheme (56) with the corresponding coordinate update algorithm (57) for solving the portfolio optimization problem (55). In this problem, our goal is to distribute our investment resources to all the assets so that the investment risk is minimized and the expected return is greater than cc. This test uses two datasets, which are summarized in Table 3. The NASDAQ dataset is collected through Yahoo! Finance. We collected one year (from 10/31/2014 to 10/31/2015) of historical closing prices for 2730 stocks.

In our numerical experiments, for comparison purposes, we first obtain a high accurate solution by solving (55) with an interior point solver. For both full update and coordinate update, ηk\eta_{k} is set to 0.8. However, we use different γ\gamma. For 3S full update, we used the step size parameter γ1=2∥Q∥2\gamma_{1}=\frac{2}{\|Q\|_{2}}, and for 3S coordinate update, γ2=2max⁡{Q11,...,QNN}\gamma_{2}=\frac{2}{\max\{Q_{11},...,Q_{NN}\}}. In general, coordinate update can benefit from more relaxed parameters. The results are reported in Figure 3. We can observe that the coordinate update method converges much faster than the 3S method for the synthetic data. This is due to the fact that γ2\gamma_{2} is much larger than γ1\gamma_{1}. However, for the NASDAQ dataset, γ1≈γ2\gamma_{1}\approx\gamma_{2}, so 3S coordinate update is only moderately faster than 3S full update.

2 Computed Tomography Image Reconstruction

We compare the performance of algorithm (52) and its corresponding coordinate version on Computed Tomography (CT) image reconstruction. We generate a thorax phantom of size 284×284284\times 284 to simulate spectral CT measurements. We then apply the Siddon’s algorithm to form the sinogram data. There are 90 parallel beam projections and, for each projection, there are 362 measurements. Then the sinogram data is corrupted with Gaussian noise. We formulate the image reconstruction problem in the form of (48). The primal-dual full update corresponds to (52). For coordinate update, the block size for xx is set to 284, which corresponds to a column of the image. The dual variables s,ts,t are also partitioned into 284 blocks accordingly. A block of xx and the corresponding blocks of ss and tt are bundled together as a single block. In each iteration, a bundled block is randomly chosen and updated. The reconstruction results are shown in Figure 4. After 100 epochs, the image recovered by the coordinate version is better than that by (52). As shown in Figure 4(d), the coordinate version converges faster than (52).

In this subsection, we compare the performance of sync-parallel coordinate update and async-parallel coordinate update for solving the sparse logistic regression problem

where {(aj,bj)}j=1N\{(a_{j},b_{j})\}_{j=1}^{N} is the set of sample-label pairs with bj∈{1,−1}b_{j}\in\{1,-1\}, λ=0.0001\lambda=0.0001, and nn and NN represent the numbers of features and samples, respectively. This test uses the datasetshttp://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/: real-sim and news20, which are summarized in Table 4.

We let each coordinate hold roughly 50 features. Since the total number of features is not divisible by 50, some coordinates have 51 features. We let each thread draw a coordinate uniformly at random at each iteration. We stop all the tests after 10 epochs since they have nearly identical progress per epoch. The step size is set to ηk=0.9, ∀k\eta_{k}=0.9,\,\forall k. Let A=[a1,…,aN]⊤A=[a_{1},\ldots,a_{N}]^{\top} and b=[b1,...,bN]⊤b=[b_{1},...,b_{N}]^{\top}. In global memory, we store A,bA,b and xx. We also store the product AxAx in global memory so that the forward step can be efficiently computed. Whenever a coordinate of xx gets updated, AxAx is immediately updated at a low cost. Note that if AxAx is not stored in global memory, every coordinate update will have to compute AxAx from scratch, which involves the entire xx and will be very expensive.

Table 5 gives the running times of the sync-parallel and async-parallel implementations on the two datasets. We can observe that async-parallel achieves almost-linear speedup, but sync-parallel scales very poorly as we explain below.

In the sync-parallel implementation, all the running threads have to wait for the last thread to finish an iteration, and therefore if a thread has a large load, it slows down the iteration. Although every thread is (randomly) assigned to roughly the same number of features (either 50 or 51 components of xx) at each iteration, their aia_{i}’s have very different numbers of nonzeros, and the thread with the largest number of nonzeros is the slowest. (Sparse matrix computation is used for both datasets, which are very large.) As more threads are used, despite that they altogether do more work at each iteration, the per-iteration time may increase as the slowest thread tends to be slower. On the other hand, async-parallel coordinate update does not suffer from the load imbalance. Its performance grows nearly linear with the number of threads.

Finally, we have observed that the progress toward solving (66) is mainly a function of the number of epochs and does not change appreciably when the number of threads increases or between sync-parallel and async-parallel. Therefore, we always stop at 10 epochs.

Conclusions

We have presented a coordinate update method for fixed-point iterations, which updates one coordinate (or a few variables) at every iteration and can be applied to solve linear systems, optimization problems, saddle point problems, variational inequalities, and so on. We proposed a new concept called CF operator. When an operator is CF, its coordinate update is computationally worthy and often preferable over the full update method, in particular in a parallel computing setting. We gave examples of CF operators and also discussed how the properties can be preserved by composing two or more such operators such as in operator splitting and primal-dual splitting schemes. In addition, we have developed CF algorithms for problems arising in several different areas including machine learning, imaging, finance, and distributed computing. Numerical experiments on portfolio optimization, CT imaging, and logistic regression have been provided to demonstrate the superiority of CF methods over their counterparts that update all coordinates at every iteration.

References

Appendix A Some Key Concepts of Operators

In this section, we go over a few key concepts in monotone operator theory and operator splitting theory.

An important maximally monotone operator is the subdifferential ∂f\partial f of a closed proper convex function ff.

By definition, a nonexpansive operator is single-valued. Let T{\mathcal{T}} be averaged. If T{\mathcal{T}} has a fixed point, the iteration (2) converges to a fixed point; otherwise, the iteration diverges unboundedly. Now let T{\mathcal{T}} be nonexpansive. The damped update of T{\mathcal{T}}: xk+1=xk−η(xk−Txk)x^{k+1}=x^{k}-\eta(x^{k}-{\mathcal{T}}x^{k}), is equivalent to applying the averaged operator (1−η)I+ηT(1-\eta){\mathcal{I}}+\eta{\mathcal{T}}.

A common firmly-nonexpansive operator is the resolvent of a maximally monotone map T{\mathcal{T}}, written as

The proximal map for a function ff is a special resolvent defined as:

A special proximal map is the projection map. Let XX be a nonempty closed convex set, and ιS\iota_{S} be its indicator function. Minimizing ιS(x)\iota_{S}(x) enforces x∈Sx\in S, so proxγιS\mathbf{prox}_{\gamma\iota_{S}} reduces to the projection map projS{\mathbf{proj}}_{S} for any γ>0\gamma>0. Therefore, projS{\mathbf{proj}}_{S} is also firmly nonexpansive.

A special example of cocoercive operator is the gradient of a smooth function. Let ff be a differentiable function. Then ∇f\nabla f is β\beta-Lipschitz continuous if and only if ∇f\nabla f is 1β\frac{1}{\beta}-cocoercive [5, Corollary 18.16].

Appendix B Derivation of ADMM from the DRS Update

We derive the ADMM update in (23) from the DRS update

where A=−∂f∗(−⋅){\mathcal{A}}=-\partial f^{*}(-\cdot) and B=∂g∗{\mathcal{B}}=\partial g^{*}.

Note (70a) is equivalent to tk∈sk+η∂g∗(sk)t^{k}\in s^{k}+\eta\partial g^{*}(s^{k}), i.e., there is a yk∈∂g∗(sk)y^{k}\in\partial g^{*}(s^{k}) such that tk=sk+ηykt^{k}=s^{k}+\eta y^{k}, so

where in the fourth equality, we have used the Moreau’s Identity : (I+∂h)−1+(I+∂h∗)−1=I({\mathcal{I}}+\partial h)^{-1}+({\mathcal{I}}+\partial h^{*})^{-1}={\mathcal{I}} for any closed convex function hh. Let

which together with sk+1∈∂g(yk+1)s^{k+1}\in\partial g(y^{k+1}) gives

Hence, from (77), (78), and (79), the ADMM update in (23) is equivalent to the DRS update in (70) with η=1γ\eta=\frac{1}{\gamma}.

Appendix C Representing the Condat-Vũ Algorithm as a Nonexpansive Operator

We show how to derive the Condat-Vũ algorithm \eqrefvucondat\eqref{vucondat} by applying a forward-backward operator to the optimality condition \eqrefpdkkt\eqref{pdkkt}:

It can be written as 0∈Az+Bz0\in{\mathcal{A}}z+{\mathcal{B}}z after we define z=[xs]z=\begin{bmatrix}x\\ s\end{bmatrix}. Let MM be a symmetric positive definite matrix, we have

Convergence and other results can be found in . The last equivalent relation is due to M−1BM^{-1}{\mathcal{B}} being a maximally monotone operator under the norm induced by MM. We let

We have Mzk+1+Bzk+1=Mzk−AzkMz^{k+1}+{{\mathcal{B}}}z^{k+1}=Mz^{k}-{\mathcal{A}}z^{k}:

Now we derived the Condat-Vũ algorithm. With proper choices of η\eta and γ\gamma, the forward-backward operator T=(I+M−1B)−1∘(I−M−1A){\mathcal{T}}=({\mathcal{I}}+M^{-1}{\mathcal{B}})^{-1}\circ({\mathcal{I}}-M^{-1}{\mathcal{A}}) can be shown to be α\alpha-averaged if we use the inner product ⟨z1,z2⟩M=z1⊤Mz2\langle z_{1},z_{2}\rangle_{M}=z_{1}^{\top}Mz_{2} and norm ∥z∥M=z⊤Mz\|z\|_{M}=\sqrt{z^{\top}Mz} on the space of z=[xs]z=\begin{bmatrix}x\\ s\end{bmatrix}. More details can be found in .

If we change the matrix MM to [1ηI−A⊤−A1γI]\begin{bmatrix}\frac{1}{\eta}I&-A^{\top}\\ -A&\frac{1}{\gamma}I\end{bmatrix}, the other algorithm \eqrefvucondat2\eqref{vucondat2} can be derived similarly.

Appendix D Proof of Convergence for Async-parallel Primal-dual Coordinate Update Algorithms

Algorithms 1 and 2 differ from that in in the following aspects:

the operator TCV{{\mathcal{T}}_{\textnormal{CV}}} is nonexpansive under a norm induced by a symmetric positive definite matrix MM (see Appendix C), instead of the standard Euclidean norm;

the coordinate updates are no longer orthogonal to each other under the norm induced by MM;

the block coordinates may overlap each other.

Because of these differences, we make two major modifications to the proof in [54, Section 3]: (i) adjusting parameters in [54, Lemma 2] and modify its proof to accommodate for the new norm; (2) modify the inner product and induced norm used in [54, Theorem 2] and adjust the constants in [54, Theorems 2 and 3].

We assume the same inconsistent case as in , i.e., the relationship between z^k\hat{z}^{k} and zkz^{k} is

where J(k)⊆{k−1,...,k−τ}J(k)\subseteq\{k-1,...,k-\tau\} and τ\tau is the maximum number of other updates to zz during the computation of the update. Let S=I−TCV{\mathcal{S}}={\mathcal{I}}-{{\mathcal{T}}_{\textnormal{CV}}}. Then the coordinate update can be rewritten as zk+1=zk−ηk(m+p)qikSikz^kz^{k+1}=z^{k}-\frac{\eta_{k}}{(m+p)q_{i_{k}}}{\mathcal{S}}_{i_{k}}\hat{z}^{k}, where Siz^k=(z^1k,…,z^i−1k,(Sz^k)i,z^i+1k,…,z^m+pk){\mathcal{S}}_{i}\hat{z}^{k}=(\hat{z}_{1}^{k},\dots,\hat{z}_{i-1}^{k},({\mathcal{S}}\hat{z}^{k})_{i},\hat{z}_{i+1}^{k},\dots,\hat{z}_{m+p}^{k}) for Algorithm 1. For Algorithm 2, the update is

Let λmax⁡\lambda_{\max} and λmin⁡\lambda_{\min} be the maximal and minimal eigenvalues of the matrix MM, respectively, and κ=λmax⁡λmin⁡\kappa=\frac{\lambda_{\max}}{\lambda_{\min}} be the condition number. Then we have the following lemma.

where ii runs from 11 to m+pm+p for Algorithm 1 and 11 to mm for Algorithm 2.

The first part comes immediately from the definition of S{\mathcal{S}} for both algorithms. For the second part, we have

for Algorithm 1. For Algorithm 2, the equality is replaced by “≤\leq”. ∎

qmin⁡=min⁡iqi>0q_{\min}=\min_{i}q_{i}>0, and ∣J(k)∣|J(k)| be the number of elements in J(k)J(k). It is shown in that with proper choices of η\eta and γ\gamma, TCV{{\mathcal{T}}_{\textnormal{CV}}} is nonexpansive under the norm induced by MM. Then Lemma 2 shows that S{\mathcal{S}} is 1/2-cocoercive under the same norm.

The proof is the same as that of [5, Proposition 4.33].

We state the complete theorem for Algorithm 2. The theorem for Algorithm 1 is similar (we need to change mm to m+pm+p when necessary).

f,g,h∗f,g,h^{*} are closed proper convex functions. In addition, ff is differentiable and ∇f\nabla f is Lipschitz continuous with β\beta;

ηk∈[ηmin⁡,ηmax⁡]\eta_{k}\in[\eta_{\min},\eta_{\max}] for certain 0<ηmax⁡<mqmin⁡2τκqmin⁡+κ0<\eta_{\max}<\frac{mq_{\min}}{2\tau\sqrt{\kappa q_{\min}}+\kappa} and any 0<ηmin⁡≤ηmax⁡0<\eta_{\min}\leq\eta_{\max}.

Then (zk)k≥0(z^{k})_{k\geq 0} converges to a Z∗Z^{*}-valued random variable with probability 1.

The proof directly follows [54, Section 3]. Here we only present the key modifications. Interested readers are referred to for the complete procedure.

The next lemma shows that the conditional expectation of the distance between zk+1z^{k+1} and any z∗∈FixTCV=Z∗z^{*}\in\mathbf{Fix}{{\mathcal{T}}_{\textnormal{CV}}}=Z^{*} for given Zk={z0,z1,⋯ ,zk}{\mathcal{Z}}^{k}=\{z^{0},z^{1},\cdots,z^{k}\} has an upper bound that depends on Zk{\mathcal{Z}}^{k} and z∗z^{*} only.

Let (zk)k≥0(z^{k})_{k\geq 0} be the sequence generated by Algorithm 2. Then for any z∗∈FixTCVz^{*}\in\mathbf{Fix}{{\mathcal{T}}_{\textnormal{CV}}}, we have

where the third equality holds because the probability of choosing ii is qiq_{i}.

where the first inequality follows from the Young’s inequality. Plugging (90) and (91) into (89) gives the desired result. ∎

Define a (τ+1)×(τ+1)(\tau+1)\times(\tau+1) matrix U′U^{\prime} by

Then UU is a self-adjoint and positive definite linear operator since U′U^{\prime} is symmetric and positive definite, and we define ⟨⋅ ∣ ⋅⟩U=⟨⋅ ∣ U⋅⟩\langle\cdot\,|\,\cdot\rangle_{U}=\langle\cdot\,|\,U\cdot\rangle as the UU-weighted inner product and ∥⋅∥U\|\cdot\|_{U} the induced norm.

we have the following fundamental inequality:

Let (zk)k≥0(z^{k})_{k\geq 0} be the sequence generated by Algorithm 2. Then for any z∗∈Z∗{\mathbf{z}}^{*}\in{\mathbf{Z}}^{*}, it holds that

Let σ=mqmin⁡κ\sigma=m\sqrt{\frac{q_{\min}}{\kappa}}. We have

The first inequality follows from the computation of the conditional expectation on Zk{\mathcal{Z}}^{k} and (90), the third inequality holds because J(k)⊂{k−1,k−2,⋯ ,k−τ}J(k)\subset\{k-1,k-2,\cdots,k-\tau\}, and the last equality uses σ=mqmin⁡κ\sigma=m\sqrt{\frac{q_{\min}}{\kappa}}, which minimizes τσ+στκm2qmin⁡{\tau\over\sigma}+\frac{\sigma\tau\kappa}{m^{2}q_{\min}} over σ>0\sigma>0. Hence, the desired inequality holds. ∎