“Smoothed L0 (SL0): A fast and accurate algorithm for finding the...

78
“Smoothed L0 (SL0): A fast and accurate algorithm for finding the sparse solution of an underdetermined sparse solution of an underdetermined system of linear equationsMassoud BABAIE ZADEH Massoud BABAIE-ZADEH October 2010

Transcript of “Smoothed L0 (SL0): A fast and accurate algorithm for finding the...

Page 1: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

“Smoothed L0 (SL0): ( )A fast and accurate algorithm for finding thesparse solution of an underdeterminedsparse solution of an underdetermined system of linear equations”

Massoud BABAIE ZADEHMassoud BABAIE-ZADEHOctober 2010

Page 2: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Outline Part I: Problem statement

Part II: Applications Signal Decomposition with overcomplete dictionaries Blind Source Separation (BSS) and Sparse Component Analysis (SCA) Blind Source Separation (BSS) and Sparse Component Analysis (SCA) Compressed Sensing (CS) Real-field coding

Part III: Some ideas to find the sparsest solution Direct method (minimum L0 norm method) Computationally intractable

M t hi P it id Matching Pursuit idea Minimum L1 norm idea

P t IV S th d L0 (SL0) id Part IV: Smoothed L0 (SL0) idea

2/77

Page 3: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Part I

Problem Statementand

Uniqueness

3/77

Page 4: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Problem statement

?Underdetermined System of Linear equations (USLE):

A s = xn m

1 n 1

n equationsm unknownsm>n

m 1 n 1

= Infinitely many solutions!What is the sparsest solution?

=

4/77

Page 5: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Example (2 equations, 4 unknowns)

1

1 2 1 1 4ss 2

3

4

1 2 1 1 41 1 2 2 2

sss

0 5 2 2 60

4s Some of solutions:

0 1 1 0 0, , , , ,

1.5 3 0.75 0 320

2.5 0 0.75 2 10

Sparsest

5/77

p

Page 6: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Issues

Applications?

Uniqueness? Yes! Useful

How to find the sparsest solution?

Stability (sensitivity to noise)

6/77

Page 7: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Uniqueness of the sparse solution

x=As n equations m unknowns m>n x As, n equations, m unknowns, m>n

Theorem (G d it k & R 1997 D h 2004 Theorem (Gorodnitsky & Rao 1997, Donoho 2004,

Gribonval&Nielson2003, Donoho&Elad2003): if there is a solution s with less than or equal n/2 non-solution s with less than or equal n/2 non-zero components, then it is unique under some mild conditionssome mild conditions.

Sparsity Revolution!7/77

Sparsity Revolution!

Page 8: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Part II

Examplesof applications of

Sparse solutions of USLE’s

8/77

Page 9: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Application 1:

Signal decomposition using overcomplete dictionaries

9/77

Page 10: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Signal Decomposition

Decomposition of a signal x(t) as a linearDecomposition of a signal x(t) as a linear combination of a set of known signals:

)()()( )()()( 11 tttx mm

Examples: Fourier Transform (i complex sinusoids)

W l t T f Wavelet Transform DCT …

10/77

Page 11: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Signal Decomposition

Decomposition of a signal x(t) as a linearDecomposition of a signal x(t) as a linear combination of a set of known signals:

)()()( )()()( 11 tttx MM

Terminology: Atomic Decomposition (=Signal Decomposition)

At Atoms i

Dictionary Set of all atoms: {1, 2, …}

11/77

Page 12: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Discrete Case

Nttttx MM ,...,1,)()()( 11

1

1

(1) (1)(1)(2) (2)Time (2)(3) (3)(3)

M

M

xx

1 1

1

(3) (3)(3)

( ) ( )( )

M M

M

x

N Nx N

1 1 M M x

12/77

Page 13: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Matrix form

1

1

(1) (1)(1)(2) (2)Time (2)(3) (3)( )

M

M

xx

1 1

1

(3) (3)(3)

( ) ( )( )

M M

M

x

N Nx N

1 1 M M x

xαΦx

M

1

1 xαΦx

M

M

1

M×1 N×1N×M

13/77

Page 14: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Complete decomposition: M=N(1) (1)(1) 1

1

1 1

(1) (1)(1)(2) (2)Time (2)(3) (3)(3)

M

M

M M

xxx

1( ) ( )( ) MN Nx N

x

M=N Complete dictionary Unique set of coefficients

Examples: Dirac dictionary, Fourier Dictionary

1 1 M M x

Examples: Dirac dictionary, Fourier Dictionary

1 n k

Dirac Dictionary:1

( )0k

n kn

n k

)(kxk

14/77

k

Page 15: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Complete decomposition: M=N(1) (1)(1) 1

1

1 1

(1) (1)(1)(2) (2)Time (2)(3) (3)(3)

M

M

M M

xxx

1( ) ( )( ) MN Nx N

x

M=N Complete dictionary Unique set of coefficients

Examples: Dirac dictionary, Fourier Dictionary

1 1 M M x

Examples: Dirac dictionary, Fourier Dictionary

T

Fourier Dictionary:2 2 22 ( 1)

1, , , ,Tk k k N

N N Nk e e e

15/77

Page 16: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Over-complete decomposition: M>N

1

1

(1) (1)(1)(2) (2)Time (2)

M

M

xx

1

1 1

1

(3) (3)(3)

( ) ( )( )

M

M M

M

x

N Nx N

1

1 1

( ) ( )( ) M

M M

N Nx N

x

M > N Over-complete dictionaryp y Under-determined linear system: =x Non-unique

16/77

q

Page 17: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Overcomplete Sparse Decomposition: M i iMotivation

1

x Φα 1 1 1,...,m m m

m

x Φα

Example: A sinusoidal signal, sin(0t), Fourier Dictionary A signal with just one non-zero value, (t-t0), Dirac

DictionaryH b t th i l i ( t) (t t ) ? How about the signal: sin(0t)+(t-t0) ?

A larger dictionary, containing both Dirac and Fourier atoms? Non-unique

Sparse solution of =x

17/77

p

Page 18: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Overcomplete Sparse Decomposition

xαΦ

x MM 11

=

18/77

Page 19: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Application 2:

Blind Source Separation (BSS) and Sparse Component Analysis (SCA)

19/77

Page 20: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Blind Source Separation (BSS)

Source signals s1, s2, …, sMSource signals s1, s2, …, sM

Source vector: s=(s1, s2, …, sM)T

Observation vector: x=(x1, x2, …, xN)T( 1, 2, , N) Mixing system x = As

A G s x y

Mixing matrix Separating system

Goal Finding a separating system y = G(x)

Mixing matrix Separating system

20/77

Page 21: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Sparse Sources

-1

0

1

2

0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 1 0 0-2

-1

Note: The sources may be not sparse in time, but sparse in another domain (frequency, time-frequency, time-scale)

1.5

2

2

32 sources, 2 sensors:

( q y, q y, )

0 5

0

0.5

1

0

1

2

-2 -1 5 -1 -0 5 0 0 5 1 1 5 2-2

-1.5

-1

-0.5

-3

-2

-1

21/77

2 1.5 1 0.5 0 0.5 1 1.5 2-3 -2 -1 0 1 2 3

3

s-plane x-plane

Page 22: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Sparse sources (cont.)

3 sparse sources, 2 sensors3 sparse sources, 2 sensors

2

3

0

1

2

Sparsity Source Separation

-2

-1

0Sparsity Source Separation,with more sensors than sources?

-3 -2 -1 0 1 2 3-3

22/77

Page 23: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Estimating the mixing matrix

3

A = [a1, a2, a3] 1

2

2a3

x = s1 a1 + s2 a2 + s3 a3

Mixing matrix is easily 0

1

a1

a2

identified for sparse sources

Scale & Permutation indeterminacy

-2

-1

indeterminacy ||ai||=1

-3 -2 -1 0 1 2 3-3

23/77

Page 24: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Restoration of the sources

A known, how to find the sources?A known, how to find the sources?

s 111 12 13 11 1 12 2 13 3 11

221 22 23 21 1 22 2 23 3 22

sa a a a s a s a s xx

s ora a a a s a s a s xx

s

3s

Underdertermined SCA

24/77

Page 25: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Application 3:

Compressed Sensing

25/77

Page 26: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Traditional Sampling vs. Compressed Sensing

Traditional Signal Acquisition:

Sampling Compression

N C d C dAnalog

Non-CompressedDigital

CompressedDigital

Compressed Sensing (CS)Compressed

Compressed

CompressedSensing

26/77

pDigitalAnalog

Page 27: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

CS: Sample → Measurement

+w1

w2w3

t t

n nSample Measurement

27/77

Sample Measurement

Page 28: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

CS: A (smaller) set of random measurements

ss3 sm

ts

s2

s1

1st measurement → x1 = φ11 s1 + φ12 s2 +…+ φ1n sm

2nd t 2nd measurement → x2 = φ21 s1 + φ22 s2 +…+ φ2n sm

:nth meas rement φ s + φ s + + φ s nth measurement → xn = φn1 s1 + φn2 s2 +…+ φnm sm

n < m USLE28/77

Page 29: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

CS: A (smaller) set of random measurements

ss3 sm

ts

s2

s1

s = xs xMeasurement Measurement

tmatrix vector

?

29/77

Page 30: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

CS: A (smaller) set of random measurements

s = x?

→ sparsifying transform: mm → sparsifying transform:

s = , where is sparse

( ) =x

(USLE with sparsity)

30/77

Page 31: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Application 4:

Error Correcting Codes

(Real-field coding)

31/77

Page 32: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Coding Terminology

u=(u u ) → the message to be sent (k symbols) u=(u1,…, uk) → the message to be sent (k symbols)

G → Code Generator matrix (nk, n>k)

v =(v1,…, vn) → Codeword: v=G.u

(adding n-k “parity” symbols)

H → Parity check matrix ( (n-k)n ):HG=0

v is a codeword if and only if: H.v=0y

32/77

Page 33: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Error CorrectionError‐pronechannel

v r = v + e

v sent, r = v + e received( i th d )(e is the error → assumed sparse)

Syndrome of r → s = H.ry s = H.(v+e) = H.e

H e = sH.e = s(n-k)n n-kn

→ USLE

33/77

n

Page 34: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Error Correction

The receiver:The receiver:

Receives r = v+e

Computes s = H.r

Finds sparse solution of USLE H.e=s

Error Correction Error Correction

34/77

Page 35: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Sparsity of e?Error‐pronechannel

v r = v + e

H.e = s(n-k)n n-kn

Galois fields (binary) codes small probability of error

Real-field codes Impulsive noise, Laplace noise

35/77

Page 36: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Summary of Part II

Atomic Decompositionon over-complete dictionaries

Underdetermined SCACompressed sensing

Real field codes

Pattern recognitionand classification

Finding sparsest solution ofan USLE

and classification (OCR)

CImage Denoising

.

.

Image Compression

36/77

.

Page 37: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Part III

HOWto find the

Sparsest Solution?

37/77

Page 38: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

How to find the sparsest solution

A.s = x, n equations, m unknowns, m>nq Goal: Finding the sparsest solution Note: at least m-n unknown are zero.

Direct method: Set m-n (arbitrary) unknowns equal to zero( y) q Solve the remaining system of n equations and n unknowns Do above for all possible choices, and take the sparsest answer.

Another name: Minimum L0 norm method L0 norm of s = number of non-zero components = |si|0

38/77

Page 39: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Example1

2

3

1 2 1 1 41 1 2 2 2

sss

3

4

1 1 2 2 2

different answers to be tested4

6

ss

s1=s2=0 s=(0, 0, 1.5, 2.5)T L0=2

2

s1=s3=0 s=(0, 2, 0, 0)T L0=1 s1=s4=0 s=(0, 2, 0, 0)T L0=1 s2=s3=0 s=(2, 0, 0, 2)T L0=2s s3 0 s ( , 0, 0, ) s2=s4=0 s=(10, 0, -6, 0)T L0=2 s3=s4=0 s=(0, 2, 0, 0)T L0=2

Minimum L0 norm solution s=(0 2 0 0)T

39/77

Minimum L0 norm solution s=(0, 2, 0, 0)T

Page 40: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Drawbacks of minimal norm L0

00 0

( ) Minimize s.t.ii

P s s x As

Highly (unacceptably) sensitive to noise Need for a combinatorial search:

diffetent cases should be tested separatelymn

Example. m=50, n=30,

13505 10 cases should be tested

5 10 cases should be tested.

30

On our computer: Time for solving a 30 by 30 system of equation=2x10-4

T t l ti (5 1013)(2 10 4) 300 ! N t t bl

40/77

Total time (5x1013)(2x10-4) 300 years! Non-tractable

Page 41: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Some ideas for solving the problem

Method of Frames (MoF) [Daubechies 1989] Method of Frames (MoF) [Daubechies, 1989]

Matching Pursuit Matching Pursuit [Mallat & Zhang, 1993]

Basis Pursuit (minimal L1 norm Linear Programming) [Chen, Donoho, Saunders, 1995]

SL0

41/77

Page 42: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Idea 1 (obsolete):Pseudo-inverse[Daubechies, 1989]

42/77

Page 43: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Method of Frames (Daubechies, 1989)

Use pseudo-inverse: 1

ˆ T TM F

s A AA x

It is equivalent to minimizing the L2 (energy) solution:2

2 2( ) Minimize s.t.iP s s x As

MoFs A AA x

Different view points resulting in the same answer:

2 2( ) i

i

p g

Linear LS inverse ˆ ,LS

s Bx BA I

Linear MMSE Estimator

MAP estimator under a Gaussian prior 2~ 0N s I

43/77

MAP estimator under a Gaussian prior 0, sN s I

Page 44: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Drawback of MoF

It is a ‘linear’ method: s=Bx s will be an n-dim subspace of m-dim space

Example: Example: 3 sources, 2 sensors:

Never can produce original sources

44/77

Page 45: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Idea 2:Matching Pursuitg[Mallat & Zhang, 1993]

45/77

Page 46: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Matching Pursuit (MP) [Mallat & Zhang, 1993]

46/77

Page 47: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Properties of MP

Advantage:Advantage: Very Fast x

a1

Drawback A very ‘greedy’ algorithm

E i t

a2

Error in a stage, can never be corrected Not necessarily a sparse

l tisolution

47/77

Page 48: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Variants

OMP: Orthogonal MP [Tropp&Gilbert IEEE Tr On IT 2007] OMP: Orthogonal MP [Tropp&Gilbert, IEEE Tr. On IT, 2007]

StOMP: Stagewise MP [D h t l T hR t StOMP: Stagewise MP [Donoho et. al., TechReport, 2006]

CoSaMP: Compressive Sampling Matching Pursuit [Needell&Tropp Appl Comp Harmonic Anal 2008]Pursuit [Needell&Tropp, Appl. Comp. Harmonic Anal., 2008]

48/77

Page 49: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Idea 3:Minimizing L1 normg[Chen, Donoho, Saunders, 1995]

49/77

Page 50: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Minimum L1 norm or Basis Pursuit [Chen, Donoho, Saunders, 1995]

Minimum norm L1 solution:Minimum norm L1 solution:

1 1( ) Minimize s.t.i

iP s s x As

MAP estimator under a Laplacian priorp p

50/77

Page 51: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Minimal L1 norm (cont.)

1 1( ) Minimize s.t.i

iP s s x As

Minimal L1 norm solution may be found by Linear Programming (LP)

i

Fast algorithms for LP: Simplex Interior Point method

A theoretical guarantee for finding the sparse l ti d li iti diti

51/77

solution, under some limiting conditions

Page 52: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Theoretical Support for BP: Mutual Coherence

Mutual Coherence [Gribonval&Nielsen2003, Donoho&Elad2003]: of the matrix A is the maximum correlation between its columns

jTijijiji

M aaaa

max,max

For an A (n m) with normalized columns:1n

M 1

52/77

Page 53: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Theoretical Support for BP: Theorem

Theorem [Gribonval&Nielsen2003, Donoho&Elad2003]: If th USLE A h l ti h th tIf the USLE As=x has a sparse solution s such that

21 1

0

Ms

then it is guaranteed that BP finds this solution.20

Loosely speaking: BP is guaranteed to work were there is a “very very” sparse solutionwere there is a very very sparse solution.

53/77

Page 54: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Example

m=1000 unknowns, n=500 equations

Uniqueness: a sparse solution with at most ||s||0≤n/2=250 is the unique sparsest solution.

1 1 BP: M-1 < sqrt(500)=22.36 (1+M-1)/2<11.68

So: So:

If there is a sparse solution with 250 out of 1000 non-zero entries, it i th i l tiit is the unique sparse solution.

If there is a sparse solution with 11 out of 1000 non-zero entries, it is guaranteed that it can be found by BP.

54/77

Page 55: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Summary of minimal L1 norm method

Advantages: Advantages: Good practical results Existence of a theoretical support Existence of a theoretical support

Drawbacks: Drawbacks: Theoretical support is limited to very sparse

solutions Tractable, but still very time-consuming

55/77

Page 56: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Part IV

Smoothed L0 (SL0)ApproachApproach

56/77

Page 57: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

References Developed mainly in 2006 by:

Hossein Mohimani, M d B b i Z d h Massoud Babaie-Zadeh,

Christian Jutten

Papers on SL0: Papers on SL0: Conference ICA2007 (London). Journal: IEEE Transactions on Signal Processing, January 2009 ( >50 citations

till now). Complex-valued version: ICASSP2008. Convergence analysis: arXiv (co-authored with I.Gorodnitsky).

Extentions Robust-SL0 [Eftekhari et.al., ICASSP 2009] Two-dimensional signals [Ghaffari et. al., ICASSP2009],[Eftekhari et. al., Signal Processing,

accepted]

57/77

Page 58: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Smoothed L0 Norm: The main idea0

0 0( ) Minimize s.t.i

i

P s s x As

Note: Problems of the L0 norm: Computational load (combinatorial search)p ( ) Sensitivity to noise

Both due to discontinuity of the L0 norm

Main Idea: Use a smoothed L0 norm (continuous)

58/77

(continuous)

Page 59: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Smoothed L0 (SL0): Smoothing function

59/77

Page 60: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

SL0: Finding the sparse solution

Goal: For a small Goal: For a small Maximize F(s) s.t. As=x

Problem: Small lots of local maxima

Idea: Use Graduated Non-Convexity (GNC)

60/77

Page 61: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Graduated Non-Convexity (GNC)

Global minimization of a non-convex f () Global minimization of a non convex f ( )

61/77

Page 62: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

GNC: Example

The function to be minimizedThe function to be minimized(many local minima)

S f f i i h i i l f iSequence of functions converging to the original function:

62/77

Page 63: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

GNC: Example (cont.)

63/77

Page 64: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

GNC: Example (cont.)

64/77

Page 65: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

GNC: Example (cont.)

65/77

Page 66: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

GNC: Example (cont.)

66/77

Page 67: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

GNC

Global minimization of a non-convex f () Global minimization of a non convex f ( )

decreasing

Use a sequence of functions f(), =1,2,3,…, converging to f ():

decreasing

g g f ( ))()(lim

0

ff

For each , minimize f(), by starting the searchfrom the minimizer for the previous

67/77

Page 68: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

SL0:

Goal: For a small Goal: For a small Maximize F(s) s.t. As=x

Use the GNC idea: Start with large , and decrease it gradually. Start with large , and decrease it gradually. For each , maximize F(s) by starting the search

from the maximizer of the previous F(s) (which h d l )had a larger ).

Starting point? (corresponding to )?68/77

Starting point? (corresponding to )?

Page 69: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Initialization

Theorem: For very large : Theorem: For very large :Maximize F(s) s.t. As=x

has no local maxima and its unique solution ishas no local maxima, and its unique solution is the minimum L2 norm solution of As=x (given by pseudo-inverse)by pseudo-inverse)

t ti i t f SL0 i L2 l ti starting point of SL0: min L2 norm solution

69/77

Page 70: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Constraints?

Goal: For a small Maximize F(s) s.t. As=x

Use a Gradient-Projection approach.

Each iteration: Gradient: s s + F(s) Projection onto {s|As=x}j { | }

Decreasing step-size: = 0 2 Decreasing step size: 0 70/77

Page 71: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Final Algorithm

71/77

Page 72: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Simulation result

A s = xn m

1 n 1

n equationsm unknownsm>n

m 1 n 1

m = 1000 n = 400 About 100 non-zero entries in s

72/77

Page 73: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Experimental Result (cont.)

73/77

Page 74: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Experimental Result (cont.)

Original:

=1

0=0.5

=0.2

74/77

Page 75: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Comparisons

SL0 versus L0: SL0 versus L0: No need for combinatorial search (Fast) Not sensitive to noise (Accurate) Not sensitive to noise (Accurate)

SL0 versus L1: SL0 versus L1: Highly faster Better accuracy Better accuracy Non-convex (need for gradual decreasing )

75/77

Page 76: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Conclusions

L0 intractable and sensitive to noise? Use its smoothed version!

A highly faster algorithm compared to L1 minimization approach.

Try it yourself! http://ee.sharif.edu/~SLzero or google “SL0 algorithm”.p g g g

76/77

Page 77: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Conclusions (cont.)

We have used it in many applications, including:y pp , g Two dimensional compressive classifiers (ICIP2009) Two dimensional random projections (to appear in Signal

Processing)Processing) Image inpainting (MLSP2009) Image denoising (MLSP2009)

I i (ICA2009) Image compression (ICA2009) Dictionary learning (ICASSP2009) …

Not yet enough fast to solve n=8000, m=200000

77/77

Page 78: “Smoothed L0 (SL0): A fast and accurate algorithm for finding the …ee.sharif.edu/~bss/SL0_Slides.pdf · 2016. 6. 3. · How to find the sparsest solution A.s = x, n equations,

Th k h f iThank you very much for your attention

78