Fast Linearized Bregman Iteration for Compressive Sensing and Sparse Denoising

Stanley Osher, Yu Mao, Bin Dong, Wotao Yin

Introduction

Let A∈Rm×nA\in R^{m\times n}, with n>mn>m and f∈Rmf\in R^{m}, be given. The aim of a basis pursuit problem is to find u∈Rnu\in R^{n} by solving the constrained minimization problem:

where J(u)J(u) is a continuous convex function.

Basis pursuit arises from many applications. In particular, there has been a recent burst of research in compressive sensing, which involves solving (1.1), (1.2). This was led by Candes et.al. , Donoho, , and others, see , and for extensive references. Compressive sensing guarantees, under appropriate circumstances, that the solution to (1.1), (1.2) gives the sparsest solution satisfying Au=fAu=f. The problem then becomes one of solving (1.1), (1.2) fast. Conventional linear programming solvers are not tailored for the large scale dense matrices AA and the sparse solutions uu that arise here. To overcome this, a linearized Bregman iterative procedure was proposed in and analyzed in , and . In , true, nonlinear Bregman iteration was also used quite successfully for this problem.

Bregman iteration applied to (1.1), (1.2) involves solving the constrained optimization problem through solving a small number of unconstrained optimization problems:

In we used a method called the fast fixed point continuation solver (FPC) which appears to be efficient. Other solvers of (1.3) could be used in this Bregman iterative regularization procedure.

Here we will improve and analyze a linearized Bregman iterative regularization procedure, which, in its original incarnation, , , involved only a two line code and simple operations and was already extremely fast and accurate.

In addition, we are interested in the denoising properties of Bregman iterative regularization, for signals, not images. The results for images involved the BV norm, which we may discretize for n×nn\times n pixel images as:

We usually regard the success of the ROF TV based model

The paper is organized as follows: In section 2 we describe Bregman iterative algorithms, as well as the linearized version. We motivate these methods and describe previously obtained theoretical results. In section 3 we introduce an improvement to the linearized version, call “kicking” which greatly speeds up the method, especially for solutions uu with a large dynamic range. In section 4 we present numerical results, including sparse recovery for uu having large dynamic range, and the recovery of signals in large amounts of noise. In another work in progress we apply these ideas to denoising very blurry and noisy signals remarkably well including sparse recovery for uu. By blurry we mean situations where AA is perhaps a subsampled discrete convolution matrix whose elements decay to zero with nn, e.g. random rows of a discrete Gaussian.

Bregman and Linearized Bregman Iterative Algorithms

The Bregman distance , based on the convex function JJ, between points uu and vv, is defined by

where p∈∂J(v)p\in\partial J(v) is an element in the subgradient of JJ at the point vv. In general DJp(u,v)≠DJp(v,u)D_{J}^{p}(u,v)\not=D_{J}^{p}(v,u) and the triangle inequality is not satisfied, so DJp(u,v)D_{J}^{p}(u,v) is not a distance in the usual sense. However it does measure the closeness between uu and vv in the sense that DJp(u,v)≥0D_{J}^{p}(u,v)\geq 0 and DJp(u,v)≥DJp(w,v)D_{J}^{p}(u,v)\geq D_{J}^{p}(w,v) for all points ww on the line segment connecting uu and vv. Moreover, if JJ is convex, DJp(u,v)≥0D_{J}^{p}(u,v)\geq 0, if JJ is strictly convex DJp(u,v)>0D_{J}^{p}(u,v)>0 for u≠vu\not=v and if JJ is strongly convex, then there exists a constant a>0a>0 such that

To solve (1.1) Bregman iteration was proposed in . Given u0=p0=0u^{0}=p^{0}=0, we define:

It was proven in that if J(u)∈C2(Ω)J(u)\in C^{2}(\Omega) and is strictly convex in Ω\Omega, then ∥Auk−f∥\|Au^{k}-f\| decays exponentially whenever uk∈Ωu^{k}\in\Omega for all kk. Furthermore, when uku^{k} converges, its limit is a solution of (1.1). It was also proven in that when J(u)=∣u∣1J(u)=|u|_{1}, i.e. for problem (1.1) and (1.2), or when JJ is a convex function satisfying some additional conditions, the iteration (2.7) leads to a solution of (1.1) in finitely many steps.

As shown in , see also , , the Bregman iteration (2.7) can be written as:

This was referred to as “adding back the residual” in . Here f0=0,u0=0f^{0}=0,u^{0}=0. Thus the Bregman iteration uses solutions of the unconstrained problem

as a solver in which the Bregman iteration applies this process iteratively.

Since there is generally no explicit expression for the solver of (2.7) or (2.8), we turn to iterative methods. The linearized Bregman iteration which we will analyze, improve and use here is generated by

In the special case considered here, where J(u)=μ∥u∥1J(u)=\mu\|u\|_{1}, then we have the two line algorithm

This linearized Bregman iterative algorithm was invented in and used and analyzed in , and . In fact it comes from the inner-outer iteration for (2.7). In it was shown that the linearized Bregman iteration (2.10) is just one step of the inner iteration for each outer iteration. Here we repeat the arguments also in , which begin by summing the second equation in (2.10) arriving at (using the fact that u0=p0=0u^{0}=p^{0}=0):

This gives us (2.12), and allows us to rewrite its first equation as:

i.e. we are adding back the “linearized noise”, where vk+1v^{k+1} is defined in (2.11).

In and some interesting analysis was done for (2.10), (and some for (2.14)). This was done first for J(u)J(u) continuously differentiable in (2.10) and the gradient ∂J(u)\partial J(u) satisfying

∀u,v∈Rn, β>0\forall u,v\in R^{n},\ \beta>0. In it was shown that, if (2.15) is true, then both of the sequences (uk)k∈N(u^{k})_{k\in N} and (pk)k∈N(p^{k})_{k\in N} defined by (2.10) converge for 0<δ<2∥AAT∥0<\delta<\frac{2}{\|AA^{T}\|}.

In the authors recently give a theoretical analysis, showing that the iteration in (2.11) and (2.12) converges to the unique solution of

They also show the interesting result: let SS be the set of all solutions of the Basis Pursuit problem (1.1), (1.2) and let

which is unique. Denote the solution of (2.16) as uμ∗u_{\mu}^{*}. Then

Another theoretical analysis on Linearized Bregman algorithm is given by Yin in , where he shows that Linearized Bregman iteration is equivalent to gradient descent applied to the dual of the problem (2.16) and uses this fact to obtain an elegant convergence proof.

This summarizes the relevant convergence analysis for our Bregman and linearized Bregman models.

Next we recall some results from regarding noise and Bregman iteration.

i.e., until we get too close to the noisy signal in the sense of (2.21). Note, in we took AA to be the identity, but these more general results are also proven there. This gives us a stopping criterion for our denoising algorithm.

In practice, we will use (2.21) as our stopping criterion.

Convergence

We begin with the following simple results for the linearized Bregman iteration or the equivalent algorithm (2.10).

If uk→u∞u^{k}\rightarrow u^{\infty}, then Au∞=fAu^{\infty}=f.

Assume Au∞≠fAu^{\infty}\not=f. Then AT(Au∞−f)≠0A^{T}(Au^{\infty}-f)\not=0 since ATA^{T} has full rank. This means that for some ii, (AT(Auk−f))i(A^{T}(Au^{k}-f))_{i} converges to a nonzero value, which means that vik+1−vikv_{i}^{k+1}-v_{i}^{k} does as well. On the other hand {vk}={uk/δ+pk}\{v^{k}\}=\{u^{k}/\delta+p^{k}\} is bounded since {uk}\{u^{k}\} converges and pk∈[−μ,μ]p^{k}\in[-\mu,\mu]. Therefore {vik}\{v_{i}^{k}\} is bounded, while vik+1−vikv_{i}^{k+1}-v_{i}^{k} converges to a nonzero limit, which is impossible. ∎

If uk→u∞u^{k}\rightarrow u^{\infty} and vk→v∞v^{k}\rightarrow v^{\infty}, then u∞u^{\infty} minimizes {J(u)+12δ∥u∥2:Au=f}\{J(u)+\frac{1}{2\delta}\|u\|^{2}:Au=f\}.

Equation (2.16) (from a result in ) implies that u∞u^{\infty} will approach a solution to (1.1), (1.2), as μ\mu approaches ∞\infty.

The linearized Bregman iteration has the following monotonicity property:

If uk+1≠uku^{k+1}\not=u^{k} and 0<δ<2/∥AAT∥0<\delta<2/\|AA^{T}\|, then

Then the shrinkage operation is such that

Let Qk=Diag (qik)Q^{k}=\text{Diag}~{}(q_{i}^{k}). Then (3.23) can be written as

From (3.23), QkQ^{k} is diagonal with 0⪯Qk⪯I0\preceq Q^{k}\preceq I, so 0⪯AQkAT⪯AAT0\preceq AQ^{k}A^{T}\preceq AA^{T}. If we choose δ>0\delta>0 such that δAAT≺2I\delta AA^{T}\prec 2I, then 0⪯δAQkAT≺2I0\preceq\delta AQ^{k}A^{T}\prec 2I or −I≺I−δAQkAT⪯I-I\prec I-\delta AQ^{k}A^{T}\preceq I which implies that ∥Auk−f∥\|Au^{k}-f\| is not increasing. To get strict decay, we need only show that AQkAT(Auk−f)=0AQ^{k}A^{T}(Au^{k}-f)=0 is impossible if uk+1≠uku^{k+1}\not=u^{k}. Suppose AQkAT(Auk−f)=0AQ^{k}A^{T}(Au^{k}-f)=0 holds, then from (3.24) we have:

By (3.23), this only happens if uik+1=uiku_{i}^{k+1}=u_{i}^{k} for all ii, which is a contradiction. ∎

We are still faced with estimating how fast the residual decays. It turns out that if consecutive elements of uu do not change sign, then ∥Au−f∥\|Au-f\| decays exponentially. By ’exponential’ we mean that the ratio of the residuals of two consecutive iteration converges to a constant, this type of convergence is sometimes called linear convergence. Here we define

(where sign(0)=0\text{sign}(0)=0 and sign(a)=a/∣a∣\text{sign}(a)=a/|a| for a≠0a\neq 0). Then we have the following:

If uk∈S≡Suku^{k}\in S\equiv S_{u_{k}} for k∈(T1,T2)k\in(T_{1},T_{2}), then uku^{k} converges to u∗u^{*}, where u∗∈arg⁡min⁡{∥Au−f∥2:u∈S}u^{*}\in\arg\min\{\|Au-f\|^{2}:u\in S\} and ∥Auk−f∥2\|Au^{k}-f\|^{2} decays to ∥Au∗−f∥2\|Au^{*}-f\|^{2} exponentially.

. Since uk∈Su^{k}\in S for k∈[T1,T2]k\in[T_{1},T_{2}], we can define Q≡QkQ\equiv Q^{k} for T1≤k≤T2−1T_{1}\leq k\leq T_{2}-1. From (3.23) we see that QkQ^{k} is a diagonal matrix consisting of zeros or ones, so Q=QTQQ=Q^{T}Q. Moreover, it is easy to see that S={x∣Qx=x}S=\{x|Qx=x\}.

Following the argument in Theorem 3.3 we have:

Let Rn=V0⊕V1R^{n}=V_{0}\oplus V_{1}, where V0V_{0} is the null space of AQATAQA^{T} and V1V_{1} is spanned by the eigenvectors corresponding to the nonzero eigenvalues of AQATAQA^{T}. Let Auk−f=wk,0+wk,1Au^{k}-f=w^{k,0}+w^{k,1}, where wk,j∈Vjw^{k,j}\in V_{j} for j=0,1j=0,1. From (3.28) we have

for T1≤k≤T2−1T_{1}\leq k\leq T_{2}-1. Since wk,1w^{k,1} is not in the null space of AQATAQA^{T}, then (3.27) and (3.28) imply that ∥wk,1∥\|w^{k,1}\| decays exponentially. Let w0=wk,0w^{0}=w^{k,0}, then AQATw0=0AQA^{T}w^{0}=0 AQQATw0⇒QATw0=0AQQA^{T}w^{0}\Rightarrow QA^{T}w^{0}=0. Therefore, from (3.27) we have

Thus ∥Δuk∥\|\Delta u^{k}\| decays exponentially. This means {uk}\{u^{k}\} forms a Cauchy sequence in SS, so it has a limit u∗∈Su^{*}\in S. Moreover

Since V0V_{0} and V1V_{1} are orthogonal:

so ∥Auk−f∥2−∥Au∗−f∥2\|Au^{k}-f\|^{2}-\|Au^{*}-f\|^{2} decays exponentially. The only thing left to show is that

This is equivalent to way that AT(Au∗−f)A^{T}(Au^{*}-f) is orthogonal with the hyperspace {u:Qu=u}\{u:Qu=u\}. It’s easy to see that since QQ is a projection operator, a vector vv is orthogonal with {u:Qu=u}\{u:Qu=u\} if and only if Qv=0Qv=0, thus we need to show QAT(Au∗−f)=0QA^{T}(Au^{*}-f)=0. This is obvious because we have shown that Au∗−f=w0Au^{*}-f=w^{0} and QATw0=0QA^{T}w^{0}=0. So we find that u∗u^{*} is the desired minimizer. ∎

Therefore, instead of decaying exponentially with a global rate, the residual of the linearized Bregman iteration decays in a rather sophisticated manner. From the definition of the shrinkage function we can see that the sign of an element of uu will change if and only if the corresponding element of vv crosses the boundary of the interval [−μ,μ][-\mu,\mu]. If μ\mu is relatively large compared with the size of Δv\Delta v (which is usually the case when applying the algorithm to a compressed sensing problem), then at most iterations the signs of the elements of uu will stay unchanged, i.e. uu will stay in the subspace SuS_{u} defined in (3.26) for a long while. This theorem tells us that under this scenario uu will quickly converge to the point u∗u^{*} that minimizes ∥Au−f∥\|Au-f\| inside SuS_{u}, and the difference between ∥Au−f∥\|Au-f\| and ∥Au∗−f∥\|Au^{*}-f\| decays exponentially. After uu converges to u∗u^{*}, uu will stay there until the sign of some element of uu changes. Usually this means that a new nonzero element of uu comes up. After that, uu will enter a different subspace SS and a new converging procedure begins.

The phenomenon described above can be observed clearly in Fig 1. The final solution of uu contains five non-zero spikes. Each time a new spike appears, it converges rapidly to the position that minimizes ∥Au−f∥\|Au-f\| in the subspace SuS_{u}. After that there is a long stagnation, which means uu is just waiting there until the accumulating vv brings out a new non-zero element of uu. The larger μ\mu is, the longer the stagnation takes. Although the convergence of the residual during each phase is fast, the total speed of the convergence suffers much from the stagnation. The solution of this problem will be described in the next section.

Fast Implementation

The iterative formula in Algorithm 1 below gives us the basic linearized Bregman algorithm designed to solve (1.1),(1.2).

This is an extremely concise algorithm, simple to program, involve only matrix multiplication and shrinkage. When AA consists of rows of a matrix of a fast transform like FFT which is a common case for compressed sensing, it is even faster because matrix multiplication can be implemented efficiently using the existing fast code of the transform. Also, storage becomes a less serious issue.

We now consider how we can accelerate the algorithm under the problem of stagnation described in the previous section. From that discussion, during a stagnation uu converges to a limit u∗u^{*} so we will have uk+1≈uk+2≈⋯≈uk+m≈u∗u^{k+1}\approx u^{k+2}\approx\cdots\approx u^{k+m}\approx u^{*} for some mm. Therefore the increment of vv in each step, A⊤(f−Au)A^{\top}(f-Au), is fixed. This implies that during the stagnation uu and vv can be calculated explicitly as following

If we denote the set of indices of the zero elements of u∗u^{*} as I0I_{0} and let I1=I0‾I_{1}=\overline{I_{0}} be the support of u∗u^{*}, then vikv^{k}_{i} will keep changing only for i∈I0i\in I_{0} and the iteration can be formulated entry-wise as:

for j=1,⋯ ,mj=1,\cdots,m. The stagnation will end when uu begins to change again. This happens if and only if some element of vv in I0I_{0} (which keeps changing during the stagnation) crosses the boundary of the interval [−μ,μ][-\mu,\mu]. When i∈I0i\in I_{0}, vik∈[−μ,μ]v^{k}_{i}\in[-\mu,\mu], so we can estimate the number of the steps needed for vikv_{i}^{k} to cross the boundary ∀i∈I0\forall i\in I_{0} from (4.30), which is

is the number of steps needed. Therefore, ss is nothing but the length of the stagnation. Using (4.29), we can predict the end status of the stagnation by

Therefore, we can kick uu to the critical point of the stagnation when we detect that uu has been staying unchanged for a while. Specifically, we have the following algorithm: Algorithm 2.

Indeed, this kicking procedure is similar to line search commonly used in optimization problems and modifies the initial algorithm in no way but just accelerates the speed. More precisely, note that the output sequence {uk,vk}\{u^{k},v^{k}\} is a subsequence of the original one, so all the previous theoretical conclusions on convergence still hold here.

An example of the algorithm is shown in Fig 2. It is clear that all the stagnation in the original convergence collapses to single steps. The total amount of computation is reduced dramatically.

Numerical Results

In this section, we demonstrate the effectiveness of the algorithm (with kicking) in solving basis pursuit and some related problems.

Consider the constrained minimization problem

where the constraints Au=fAu=f are under-determined linear equations with AA an m×nm\times n matrix, and ff generated from a sparse signal uˉ\bar{u} that has a number of nonzeros κ<m\kappa<m.

Our numerical experiments use two types of AA matrices: Gaussian matrices whose elements were generated from i.i.d. normal distributions N(0,1)\mathcal{N}(0,1) (randn(m,n) in MATLAB), and partial discrete cosine transform (DCT) matrices whose kk rows were chosen randomly from the n×nn\times n DCT matrix. These matrices are known to be efficient for compressed sensing. The number of rows mm is chosen as m∼κlog⁡(n/κ)m\sim\kappa\log(n/\kappa) for Gaussian matrices and m∼κlog⁡nm\sim\kappa\log n for DCT matrices (following ).

Note that partial DCT matrices are implicitly stored fast transforms for which matrix-vector multiplications in the forms of AxAx and A⊤xA^{\top}x were computed by the MATLAB commands dct(x) and idct(x), respectively. Therefore, we were able to test on partial DCT matrices of much larger sizes than Gaussian matrices. The sizes mm-by-nn of these matrices are given in the first two columns of Table 1.

Our code was written in MATLAB and was run on a Windows PC with a Intel(R) Core(TM) 2 Duo 2.0GHz CPU and 2GB memory. The MATLAB version is 7.4.

The set of computational results given in Table 1 was obtained by using the stopping criterion

which was sufficient to give a small error ∥uk−uˉ∥/∥uˉ∥\|u^{k}-\bar{u}\|/\|\bar{u}\|. Throughout our experiments in Table 1, we used μ=1\mu=1 to ensure the correctness of the results.

2 Robustness to Noise

In real applications, the measurement ff we obtain is usually contaminated by noise. The measurement we have is:

To characterize the noise level, we shall use SNR (signal to noise ratio) instead of σ\sigma itself. The SNR is defined as follows

3 Recovery of Signal with High Dynamical Range

In this section, we test our algorithm on signals with high dynamical ranges. Precisely speaking, let \mboxMAX=max⁡{∣uˉi∣:i=1,…,n}\mbox{MAX}=\max\{|\bar{u}_{i}|:i=1,\ldots,n\} and \mboxMIN=min⁡{∣ui∣:ui≠0,i=1,…,n}\mbox{MIN}=\min\{|u_{i}|:u_{i}\neq 0,i=1,\ldots,n\}. The signals we shall consider here satisfy \mboxMAX\mboxMIN≈1010\frac{\mbox{MAX}}{\mbox{MIN}}\approx 10^{10}. Our uˉ\bar{u} is generated by multiplying a random number in $withanotheronerandomlypickedfromwith another one randomly picked from\{1,10,\ldots,10^{10}\}$. Here we adopt the stopping criteria

for the case without noise (Figure 4) and the same stopping criteria as in the previous section for the noisy cases (Figures 5-7). In the experiments, we take the dimension n=4000n=4000, the number of nonzeros of uˉ\bar{u} to be 0.02n0.02n, and μ=1010\mu=10^{10}. Here μ\mu is chosen to be much larger than before, because the dynamical range of uˉ\bar{u} is large. Figure 4 shows results for the noise free case, where the algorithm converges to a 10−1110^{-11} residual in less than 300 iterations. Figures 5-7 show the cases with noise (the noise is added the same way as in previous section). As one can see, if the measurements are contaminated with less noise, signals with smaller magnitudes will be recovered well. For example in Figure 5, the SNR≈118\approx 118, and the entries of magnitudes 10410^{4} are well recovered; in Figure 6, the SNR≈97\approx 97, and the entries of magnitudes 10510^{5} are well recovered; and in Figure 7, the SNR≈49\approx 49, and the entries of magnitudes 10710^{7} are well recovered.

4 Recovery of Sinusoidal Waves in Huge Noise

Conclusion

We have proposed the linearized Bregman iterative algorithms as a competitive method for solving the compressed sensing problem. Besides the simplicity of the algorithm, the special structure of the iteration enables the kicking scheme to accelerate the algorithm even when μ\mu is extremely large. As a result, a sparse solution can always be approached efficiently.

It also turns out that our process has remarkable denoising properties for undersampled sparse signals. We will pursue this in further work.

Our results suggest there is a big category of problem that can be solved by linearized Bregman iterative algorithms. We hope that our method and its extensions could produce even more applications for problems under different scenarios, including very underdetermined inverse problems in partial differential equations.

Acknowledgements

S.O. was supported by ONR Grant N000140710810, a grant from the Department of Defense and NIH Grant UH54RR021813; Y.M. and B.D. were supported by NIH Grant UH54RR021813; W.Y. was supported by NSF Grant DMS-0748839 and an internal faculty research grant from the Dean of Engineering at Rice University.

References