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 exists and is a fixed point of , 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 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 that make the following coordinate update algorithm computationally worthy
where is a step size and is arbitrary. Specifically, the cost of performing (3) is roughly , or lower, of that of performing (2). We call such 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 are proper closed convex and can take the extended value , and all sets are nonempty closed convex. The indicator function returns if , and elsewhere. For a positive integer , we let .
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 for while keeping , ;
Next we review the index rules and the methods to update .
In this framework, there is a sequence of coordinate indices chosen according to one of the following rules: cyclic, cyclic permutation, random, and greedy rules. At iteration , only the 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 by fixing all but one variable . Let
collect all but the th coordinate of . 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 . 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 is set to the theoretical upper bound , where denotes the matrix operator norm and equals the largest singular value of . For each coordinate update to , the step size is set to . 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 from and writes back to the shared memory (or through communicating with other agents without shared memory):
Unlike before, 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 th update, other agents make updates to in the shared memory; when the th update is written, its input is already iterations out of date. This number is referred to as the asynchronous delay. In (5), the agent reads and commits the update to . Here we have assumed consistent reading, i.e., lying in the set . 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 -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 consists of coordinates:
Note that for all . Hence, .
We let denote the number of basic operations that it takes to compute the quantity from the input .
For example, denotes the number of operations to compute the th component of given . We explore the possibility to compute with much fewer operations than what is needed to first compute and then take its th 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 and be the th row and th column of a matrix , respectively. Let be the transpose of and be , i.e., the th row of the transpose of .
Assuming that and are already computed, we have . The coordinate update at the th iteration performs
and , where is some selected coordinate.
Since for all , , we have and thus . Therefore, the coordinate gradient descent is computationally worthy.
The operator 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 in the memory. This approach works when or . The full update (8) is unchanged. At each coordinate update, from the maintained quantity , we immediately obtain . But we need to update to . Since and differ only over the coordinate , this update can be computed as
which is a scalar-vector multiplication followed by vector addition, taking only operations. Computing from scratch involves a matrix-vector multiplication, taking operations. Therefore,
The operator in the above example is a special Type-II CF operator.
An operator is called Type-II CF (denoted as ) if, for any 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 .
For the case , we should avoid pre-computing the relative large matrix , and it is cheaper to compute than . Therefore, we change the implementations of both the full and coordinate updates in Example 1. In particular, the full update
pre-multiplies by and then . Hence, .
We change the coordinate update to maintain the intermediate quantity . In the first step, the coordinate update computes
by pre-multiplying by . Then, the second step updates to by adding to . Both steps take operations, so
Combining Type-I and Type-II CF operators with the last example, we arrive at the following CF definition.
where is some quantity maintained in the memory to facilitate each coordinate update and refreshed to . can be empty, i.e., except , 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 to ) while the right-hand side measures the average per-coordinate cost of updating all the coordinates together. When (10) holds, is amenable to coordinate updates.
By definition, a Type-I CF operator is CF without maintaining any quantity, i.e., .
A Type-II CF operator satisfies (10) with , so it is also CF. Indeed, given any and , we can compute by immediately letting (at cost) and keeping ; then, by (9), we update to at a low cost. Formally, letting ,
In general, the set of CF operators is much larger than the union of Type-I and Type-II CF operators.
non-separable operator: . If , there exists some such that depends on many coordinates of .
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 is separable.
Then, both and are separable, in particular,
Here, () 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 be a class of index sets and every be a small subset of , . In addition for all . Let , and
The gradient map is nearly-separable.
An application of this example arises in wireless communication over a graph of nodes. Let each be the spectrum assignment to node , each be a neighborhood of nodes, and each be a utility function. The input of is 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 . This is the case when graphical models are used .
which is known as the squared hinge loss function. Consider the operator
Let us maintain . For arbitrary and , let
and . Then, computing from and takes (as is maintained), and computing from and costs . Formally, we have
On the other hand, . Therefore, (10) holds, and 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 to , 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 costs for each . Then, is CF. Indeed, let
Since , therefore is CF.
There are general rules to preserve Type-I and Type-II CF. For example, is still Type-I CF, and is still CF, but there are counter examples where 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 or , as well as a sequence of such combinations. If and are both CF, remains CF, but is not necessarily so. This subsection discusses how inherits the properties from and . Our results are summarized in Tables 1 and 2 and explained in detail below.
The combination generally inherits the weaker property from and .
The separability () property is preserved by composition. If are separable, then is separable. However, combining nearly-separable () 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 inherits the CF properties from and . For simplicity, we only use matrix-vector multiplication as examples to illustrate the ideas; more interesting examples will be given later.
If is separable or nearly-separable (), then as long as is CF (), remains CF. In addition, if is Type-I CF (), so is .
Assume that is separable (). It is easy to see that if is CF (), then remains CF. In addition if is Type-II CF (), so is ; see Example 10.
Note that, if is nearly-separable, we do not always have CF properties for . This is because and can be totally different (so updating is expensive) even if and only differ over one coordinate; see the footnote 3 on Page 3.
Assume that is Type-I CF (). If is Type-II CF (), then is CF ().
Assume that one of and is cheap. If is cheap, then as long as is Type-I CF (), is Type-I CF. If is cheap, then as long as is Type-II CF (), is CF (); 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 , the resolvent operator and the reflective-resolvent operator are also defined there, in (67) and (68), respectively.
Consider the following problem: given three operators , 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 , is -averaged (think it as a property weaker than the Picard contraction; in particular, may not have a fixed point). Following the standard convergence result (cf. textbook ), provided that has a fixed point, the sequence from (2) converges to a fixed-point of . Note that, instead of , is a solution to (12).
for solving the problem .
introduced in for solving the problem . A more general splitting is the Relaxed Peaceman-Rachford Splitting (RPRS) with :
Forward-Douglas-Rachford Splitting (FDRS): Let be a linear subspace, and and be its normal cone and projection operator, respectively. The FDRS
where is the feasible set and and are objective functions. We present examples of operator splitting methods discussed above.
A special case of (20) with is the projected gradient iteration:
If is CF and is (nearly-)separable (e.g., or the indicator function of a box constraint) or if is Type-II CF and is cheap (e.g., and ), then the FBS iteration (20) is CF. In the latter case, we can also apply the BFS iteration (15) (i.e, compute and then perform the gradient update), which is also CF.
(The iteration can be generalized to handle the constraint .) The dual problem of (22) is , where is the convex conjugate of . Letting and 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 is (nearly-)separable and 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 be an image, where , and be the blurring linear operator. Let be the anisotropicGeneralization to the isotropic case is straightforward by grouping variables properly. total variation of (see (49) for definition). Suppose that is a noisy observation of . Then, we can try to recover by solving
which can be written in the form of with , , , and .
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 .
In many applications, although is proximable, is generally non-proximable and non-differentiable. To avoid using slow subgradient methods, we can consider the primal-dual splitting approaches to separate and so that can be applied. We derive that the equivalent form (for convex cases) of is to find such that
Problem can be solved by the Condat-Vũ algorithm :
Switching the orders of and yields the following algorithm:
It is known from that both and reduce to iterations of nonexpansive operators (under a special metric), i.e., 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 and in the problem (24) are separable and proximable. Specifically,
when , the Condat-Vu operator in (28) is CF, more specifically,
when and , the Condat-Vu operator in (29) is CF, more specifically,
Computing involves evaluating , , and , applying and , and adding vectors. It is easy to see , and is the same. (a) We assume for simplicity, and other cases are similar.
If , computing it involves: adding and , and evaluating . In this case .
If , computing it involves evaluating: the entire for operations, for operations, for operations, for operations, as well as updating for operations. In this case .
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 and , following arguments similar to the above, we have if ; and if . In both cases . ∎
2 Extended Monotropic Programming
We develop a primal-dual coordinate update algorithm for the extended monotropic program:
where is a symmetric positive semidefinite matrix and . Then, (31) is a special case of (30) with , and .
Applying iteration to problem and eliminating from the second row yield the Jacobi-style update (denoted as ):
To the best of our knowledge, this update is never found in the literature. Note that no longer depends on , making it more convenient to perform coordinate updates.
In general, when the update is affine, we can decouple and by plugging the update into the update. It is the case when is affine or quadratic in problem (24).
A sufficient condition for to be CF is i.e., separable. Indeed, we have , where
Following Case 5 of Table 2, is CF. When , the separability condition on can be relaxed to since in this case , and we can apply Case 7 of Table 2 (by maintaining , , and .)
3 Overlapping-Block Coordinate Updates
In the coordinate update scheme based on (28), if we select to update then we must first compute , because the variables ’s and ’s are coupled through the matrix . However, once is obtained, is discarded. It is not used to update or cached for further use. This subsection introduces ways to utilize the otherwise wasted computation.
The use of relaxation parameters makes our scheme different from that in .
Following the assumptions and arguments in §4.1, if we maintain , the cost for each block coordinate update is , which is . 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 based on , with only one nonzero entry in each row, i.e. for each . They also modify to so that the problem
has the same solution as . Then they solve by the scheme . Because they have , every dual variable coordinate is only associated with one primal variable coordinate. They create non-overlapping blocks of by duplicating each dual variable coordinate multiple times. The computation cost for each block coordinate update of their algorithm is the same as , but more memory is needed for the duplicated copies of each .
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 increases by one. The th update is applied to , with being independent random variables: when and when . Each coordinate update has the form:
where is the step size, denotes the state of in global memory just before the update (35) is applied, and is the result that in global memory is read by an agent to its local cache (see [54, §1.2] for both consistent and inconsistent cases). While is being computed, asynchronous parallel computing allows other agents to make updates to , introducing so-called asynchronous delays. Therefore, can be different from . 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 ’s to for each .
are closed proper convex functions, is differentiable, and is Lipschitz continuous with constant ;
the delay for every coordinate is bounded by a positive number , i.e. for every , for some ;
for certain .
Then converges to a -valued random variable with probability 1.
The formulas for and , 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 and how to efficiently calculate . 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 ’s are sample vectors, ’s are loss functions, and is a regularization function. We assume that is differentiable and 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 is large.
1.2 Support Vector Machine
Given the training data with , the kernel support vector machine is
where is a vector-to-vector map, mapping each data to a point in a (possibly) higher-dimensional space. If , then (38) reduces to the linear support vector machine. The model (38) can be interpreted as finding a hyperplane to separate two sets of points and .
where , is a so-called kernel function, and . If , then .
Unbiased case
If is enforced in (38), then the solution hyperplane passes through the origin and is called unbiased. Consequently, the dual problem (39) will no longer have the linear constraint , leaving it with the coordinate-wise separable box constraints . To solve (39), we can apply the FBS operator defined by (14). Let , , and . The coordinate update based on FBS is
where we can take .
Biased (general) case
The coordinate update based on the full primal-dual splitting scheme (28) is:
where are the primal and dual variables, respectively. Note that we can let and maintain it. With variable and substituting (40a) into (40b), we can equivalently write (40) into
where is the maintained variable and is the intermediate variable.
1.3 Group Lasso
Non-overlapping case [84]
The corresponding coordinate update is the following
where is the partial derivative of with respect to and the step size can be taken to be . When 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 is the Euclidean ball of radius . When 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 is a matrix such as a dictionary, sampling operator, or finite difference operator. We can reduce the problem to the system: , where ,
(see Appendix C for the reduction.) The work gives their resolvents
where is often cheap or separable and we can explicitly form as a matrix or implement it based on a fast transform. With the defined and , we can apply the RPRS method as . The resulting RPRS operator is CF when 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 . Based on its definition, the convex conjugate of and its proximal operator are, respectively,
Let be the dual variables corresponding to and respectively, then using (51) and applying (29) give the following full update:
To perform the coordinate updates as described in §4, we can maintain and . Whenever a coordinate of is updated, the corresponding (or should also be updated. Specifically, we have the following coordinate update algorithm
2.3 3D Mesh Denoising
where ’s are differentiable data fidelity terms, ’s are the indicator functions of box constraints, and is the total variation on the mesh.
We introduce a dual variable with coordinates , for all ordered pairs of adjacent nodes , and, based on the overlapping-block coordinate updating scheme , perform coordinate update:
3 Finance
Assume that we have one unit of capital and assets to invest on. The th asset has an expected return rate . Our goal is to find a portfolio with the minimal risk such that the expected return is no less than . 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 . Let , , , and , where . The above problem is rewritten as
We apply the three-operator splitting scheme (13) to (55). Let , , , , and . Based on (13), the full update is
where is an intermediate variable. As the projection to is simple, we discuss how to evaluate the projection to . Assume that and are neither perpendicular nor co-linear, i.e., and for any scalar . In addition, assume for simplicity. Let , , , and . Then we can partition the whole space into four areas by the four hyperplanes , . Let and . Then
where is the th column of . At each iteration, we select , and perform an update to according to (57) based on where is. We then renew . Note that checking in some requires only operations by using and , so the coordinate update in (57) is inexpensive.
4 Distributed Computing
Consider that 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 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 . Hence, for each , we group and together and assign them on agent . We let the master agent maintain and . Therefore, in the FBFS coordinate update, updating any needs only and from the master agent, and updating is done on the master agent. In synchronous parallel setting, at each iteration, each worker agent computes , then the master agent collects the updates from all of the worker agents and then updates and . The above update can be relaxed to be asynchronous. In this case, the master and worker agents work concurrently, the master agent updates and as soon as it receives the updated and from any of the worker agents. It also periodically broadcasts 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 , so we have to choose by line search such that the Armijo condition is satisfied.
Partitioning the variables into block coordinates: where and are the th columns of and , respectively, we can apply the coordinate update based on the projected-gradient method:
It is easy to see that and are both Lipschitz continuous with constants and respectively. Hence, we can set
However, it is possible to have or for some and , 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 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 for any invertible diagonal matrix . We refer the readers to for more details.
Note that and Therefore, the coordinate updates given in (63) are computationally worthy (by maintaining the residual ).
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 is an affine operator, then in the composition , the computation of is cheap as long as we maintain .
where each is a second-order cone, and in general. The problem (64) is equivalent to
Assume that the matrix has full row-rank (otherwise, has either redundant rows or no solution). Then, in (16), we have , where and .
It is trivial to extend this method for SOCPs with a quadratic objective:
because is still linear. Clearly, this method applies to linear programs as they are special SOCPs.
Note that many LPs and SOCPs have sparse matrices , which deserve further investigation. In particular, we may prefer not to form 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 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 . 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, is set to 0.8. However, we use different . For 3S full update, we used the step size parameter , and for 3S coordinate update, . 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 is much larger than . However, for the NASDAQ dataset, , 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 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 is set to 284, which corresponds to a column of the image. The dual variables are also partitioned into 284 blocks accordingly. A block of and the corresponding blocks of and 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 is the set of sample-label pairs with , , and and 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 . Let and . In global memory, we store and . We also store the product in global memory so that the forward step can be efficiently computed. Whenever a coordinate of gets updated, is immediately updated at a low cost. Note that if is not stored in global memory, every coordinate update will have to compute from scratch, which involves the entire 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 ) at each iteration, their ’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 of a closed proper convex function .
By definition, a nonexpansive operator is single-valued. Let be averaged. If has a fixed point, the iteration (2) converges to a fixed point; otherwise, the iteration diverges unboundedly. Now let be nonexpansive. The damped update of : , is equivalent to applying the averaged operator .
A common firmly-nonexpansive operator is the resolvent of a maximally monotone map , written as
The proximal map for a function is a special resolvent defined as:
A special proximal map is the projection map. Let be a nonempty closed convex set, and be its indicator function. Minimizing enforces , so reduces to the projection map for any . Therefore, is also firmly nonexpansive.
A special example of cocoercive operator is the gradient of a smooth function. Let be a differentiable function. Then is -Lipschitz continuous if and only if is -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 and .
Note (70a) is equivalent to , i.e., there is a such that , so
where in the fourth equality, we have used the Moreau’s Identity : for any closed convex function . Let
which together with gives
Hence, from (77), (78), and (79), the ADMM update in (23) is equivalent to the DRS update in (70) with .
Appendix C Representing the Condat-Vũ Algorithm as a Nonexpansive Operator
We show how to derive the Condat-Vũ algorithm by applying a forward-backward operator to the optimality condition :
It can be written as after we define . Let be a symmetric positive definite matrix, we have
Convergence and other results can be found in . The last equivalent relation is due to being a maximally monotone operator under the norm induced by . We let
We have :
Now we derived the Condat-Vũ algorithm. With proper choices of and , the forward-backward operator can be shown to be -averaged if we use the inner product and norm on the space of . More details can be found in .
If we change the matrix to , the other algorithm 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 is nonexpansive under a norm induced by a symmetric positive definite matrix (see Appendix C), instead of the standard Euclidean norm;
the coordinate updates are no longer orthogonal to each other under the norm induced by ;
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 and is
where and is the maximum number of other updates to during the computation of the update. Let . Then the coordinate update can be rewritten as , where for Algorithm 1. For Algorithm 2, the update is
Let and be the maximal and minimal eigenvalues of the matrix , respectively, and be the condition number. Then we have the following lemma.
where runs from to for Algorithm 1 and to for Algorithm 2.
The first part comes immediately from the definition of for both algorithms. For the second part, we have
for Algorithm 1. For Algorithm 2, the equality is replaced by “”. ∎
, and be the number of elements in . It is shown in that with proper choices of and , is nonexpansive under the norm induced by . Then Lemma 2 shows that 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 to when necessary).
are closed proper convex functions. In addition, is differentiable and is Lipschitz continuous with ;
for certain and any .
Then converges to a -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 and any for given has an upper bound that depends on and only.
Let be the sequence generated by Algorithm 2. Then for any , we have
where the third equality holds because the probability of choosing is .
where the first inequality follows from the Young’s inequality. Plugging (90) and (91) into (89) gives the desired result. ∎
Define a matrix by
Then is a self-adjoint and positive definite linear operator since is symmetric and positive definite, and we define as the -weighted inner product and the induced norm.
we have the following fundamental inequality:
Let be the sequence generated by Algorithm 2. Then for any , it holds that
Let . We have
The first inequality follows from the computation of the conditional expectation on and (90), the third inequality holds because , and the last equality uses , which minimizes over . Hence, the desired inequality holds. ∎