38
Sparse Superposition Codes for the Gaussian Channel Florent Krzakala (LPS, Ecole Normale Supérieure, France) arXiv:1403.8024 presented at ISIT ‘14 J. Barbier (ENS) Long version in preparation

Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Sparse Superposition Codes for the Gaussian Channel

Florent Krzakala (LPS, Ecole Normale Supérieure, France)

arXiv:1403.8024 presented at ISIT ‘14J. Barbier (ENS)

Long version in preparation

Page 2: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Forney & Ungerboeck ’98 Review (modulation, shaping and coding)

Richardson & Urbanke ‘08 (LDPC and turbo codes)

Arikan ’09, Abbe & Barron ’11 (Polar codes)

X

Y = Y + ⇠

Y = FXcoding

Y = Y + ⇠noisy output decoding

X|F, Y X

Message (K bits)

N (0,�)

Codeword, size M

M⨉N matrix

Communication through the Gaussian Channel

Signal to noise ratio: SNR =1

hY 2i = 1Power constraint:

Characteristics:

Shannon Capacity: C =

1

2

log2 (1 + SNR)

Page 3: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

X

Y = Y + ⇠

Y = FXcoding

Y = Y + ⇠noisy output decoding

X|F, Y X

Message (K bits)

N (0,�)

Codeword, size M

M⨉N matrix with i.i.d random elements

Sparse Superposition codesJoseph, Barron ISIT ‘10

0 1 0 0 1 0 0 0 1 0 0 00 0 0 1

B componentsOnly one ≠ 0

{L sections

X=vector

Dimension N=LB K=L log2 (B) bits of information

Rate: R =

N log2(B)

BM

Page 4: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Sparse Superposition codesJoseph, Barron ISIT ‘10

• For large B, the maximum likelihood solution is capacity achieving

minx

||Y � Fx||`2 such that

x

has a single 1 per section

Hard computational problem…

Page 5: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

• For large B, the maximum likelihood solution is capacity achieving

• With proper power allocation, the “adaptive successive decoder” of Joseph and Barron achieve capacity when B➞∞

Sparse Superposition codesJoseph, Barron ISIT ‘10

0 1 0 0 1 0 0 0 1 0 0 00 0 0 1X=vector

Page 6: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Sparse Superposition codesJoseph, Barron ISIT ‘10

c4 0 0 0

• For large B, the maximum likelihood solution is capacity achieving

• With proper power allocation, the “adaptive successive decoder” of Joseph and Barron achieve capacity when B➞∞

0 c1 0 0 c2 0 0 0 0 0 0 c3X=vector

hc2i i = 1Power constraint: c2i / e�2CiL

Page 7: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Sparse Superposition codesJoseph, Barron ISIT ‘10

c4 0 0 00 0 0 c3X=vector

c2i / e�2CiL

• For large B, the maximum likelihood solution is capacity achieving

• With proper power allocation, the “adaptive successive decoder” of Joseph and Barron achieve capacity when B➞∞

0 c1 0 0 c2 0 0 0

hc2i i = 1Power constraint:

• In practice, however, results are FAR from capacity when B is finite

Page 8: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

SNR=15 SNR=7

Joseph, Barron ISIT ‘10 Sparse Superposition codes

Page 9: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

The approximate message-passing algorithm

1

Page 10: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Sparse Superposition codes = Multi-dimensional estimation problem

“Sparse” signal X L “B-dimensional”

components

=1

1

+

Noise M

components

L components

B-dim variablesx1

x2

x3

Coding matrix F random Mₒ N matrix

Noisy output Y M components

Page 11: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Graphical modelCompute the marginal of P (X|F, Y ) / P (X)P (Y |F,X)

_

_

_

_

_

_

_P (X) =

LY

l=1

P (xl

), P (xl

) =1

B

BX

b=1

x

bl ,1

BY

b|b 6=b

x

bl ,0

« only one non zero component »

priorlikelihoodP (y

µ

|F,X) / e�snr2 (yµ�

PNi=1 Fµixi)

2

P (yµ

|F,X) / e�snr2 (yµ�

PNi=1 Fµixi)

2

Page 12: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Graphical modelCompute the marginal of P (X|F, Y ) / P (X)P (Y |F,X)

_

_

_

_

_

_

_

Belief Propagation?

Not really an option …

i) Densely connected modelii) O(L2) messagesiii) Combinatoric factor O(BL) iv) Way too slow!

mi!µ(xi) / P (xi)Y

� 6=µ

m�!i(xi)

Page 13: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

From belief propagation to AMPCompute the marginal of P (X|F, Y ) / P (X)P (Y |F,X)

_

_

_

_

_

_

_

A Gaussian-like relaxation

m

µ!i

(xi

) / e

� x

2i

2 A

µ!i

+B

µ!i

x

i

m

i!µ

(xi

) / P (xi

)e�x

2i

2

P� 6=µ

A

�!i

+P

� 6=µ

B

µ!i

x

i

(i) A Gaussian relaxation (aka Gaussian-BP)(ii) Write the recursion in terms of single marginals (equivalent to “TAP” in Stat. Phys.)

Page 14: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

From belief propagation to AMPCompute the marginal of P (X|F, Y ) / P (X)P (Y |F,X)

(i) A Gaussian relaxation (aka Gaussian-BP)(ii) Write the recursion in terms of single marginals (equivalent to “TAP” in Stat. Phys.)

mi!µ(xi) ⇡ mi(xi) + correction

Closing the equations on two moments for each variables:

2N variables (AMP)vs

N2 variables (BP)

Page 15: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

From belief propagation to AMPCompute the marginal of P (X|F, Y ) / P (X)P (Y |F,X)

Matlab implementation + demo: https://github.com/jeanbarbier/BPCS_common

Page 16: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

From belief propagation to AMPCompute the marginal of P (X|F, Y ) / P (X)P (Y |F,X)

Matlab implementation + demo: https://github.com/jeanbarbier/BPCS_common

at+1 = f ta(F

0zt + at)

Complexity is N2 for iid matrixNlog(N) for Hadamard/Fourier

A (perhaps) more familiar formfrom monday’s talk(Donoho, Montanari, Maleki ’09)

zt = y � Fat +1

↵< ˙f t+1

a (F 0zt�1 + at�1) > zt�1

Page 17: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Asymptotic analysis

2

Page 18: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

A heuristic computation of the optimal SER

Bayes-optimal estimate: Marginalize w.r.t.

The replica method : Asymptotic estimates when N➞∞(statistical physics, information theory, optimization, etc..)

P (X|Y, F ) =P (X)

Z

MY

µ=0

e�SNR

2 (yµ�PN

i=1 Fµixi)2

In CDMATanaka ’02Guo, Verdu ’06

In Compressed sensingRangan et al. ’09 Kabashima ’09Guo Baron Shamai ’09Krzakala et al. ’11

Page 19: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

A heuristic computation of the optimal SER

Bayes-optimal estimate: Marginalize w.r.t.

The replica method : Asymptotic estimates when N➞∞(statistical physics, information theory, optimization, etc..)

1) Assume that log(Z) is concentrated

logZ = lim

n!0

Zn � 1

n2) Use the following identity:

3) After (a bit) of work: logZ /Z

dEeN�(E) MMSE = maxE�(E)

NON RIGOROUS

NON RIGOROUS

P (X|Y, F ) =P (X)

Z

MY

µ=0

e�SNR

2 (yµ�PN

i=1 Fµixi)2

4) From the MSE E, one can compute the average SER

Page 20: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Single letter characterization of the SER

with and

B-dimensional integral

The SER can be computed from E as

with

Page 21: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

10−3 10−2 10−1

0.18

0.2

0.22

0.24

0.26

0.28

0.3

0.32

0.34

SER

Φ

below the BP threshold R=1.5 at the BP threshold R=1.68 at the optimal threshold R=1.775 maxima

Single letter characterization of the SER

Here B=2, SNR=15 , C=2

R=1.5R=1.68R=1.75

Page 22: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Gap to capacity closing polynomially

Page 23: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Error floor decay polynomially with B

Page 24: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

The Section Error Rate can be deduced from the MSE at all times by

State Evolution Analysis of AMP

Define:

The MSE obey the following recursion:

with:

with

(As in Bayati-Montanari ’10 in the scalar case)

Page 25: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

State Evolution vs AMP for finite sizes

B= 4, SNR=15, N=32768, RBP=1.55

Page 26: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

State Evolution Analysis and the replica potential

Replica Potential:

The fixed point of the state evolution corresponds = extrema of the potentialPotential = Bethe free energy

Define:with:

Page 27: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

4 8 16 32 64 128 256 512 102420480.6

0.8

1

1.2

1.4

1.6

1.8

2

section size B

rate

BP threshold

Optimal threshold

exp 1: AMP, L=100

exp 1: SC AMP + Hadamard, L=100

exp 1: it. successive, exp. dist., L=100

exp 2: SC AMP + Hadamard, L=213

exp 2: AMP + Hadamard, L=213

Optimal threshold R➞C when B➞∞« low » error

high error

Phase diagram SNR=15 (C=2)

Page 28: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

4 8 16 32 64 128 256 512 102420480.6

0.8

1

1.2

1.4

1.6

1.8

2

section size B

rate

BP threshold

Optimal threshold

exp 1: AMP, L=100

exp 1: SC AMP + Hadamard, L=100

exp 1: it. successive, exp. dist., L=100

exp 2: SC AMP + Hadamard, L=213

exp 2: AMP + Hadamard, L=213

AMP+Hadamard, L=2^13

Optimal threshold R➞C when B➞∞

Phase diagram SNR=15 (C=2)

« low » error

high error

RAMP = [2 log(2) (1 + 1/SNR)]

�1« low » error for AMP

high error for AMP

AMP gets worst as B increases :-(

Page 29: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

4 8 16 32 64 128 256 512 102420480.6

0.8

1

1.2

1.4

1.6

1.8

2

section size B

rate

BP threshold

Optimal threshold

exp 1: AMP, L=100

exp 1: SC AMP + Hadamard, L=100

exp 1: it. successive, exp. dist., L=100

exp 2: SC AMP + Hadamard, L=213

exp 2: AMP + Hadamard, L=213

AMP+Hadamard, L=2^13

Optimal threshold R➞C when B➞∞

Phase diagram SNR=15 (C=2)

« low » error

high error

RAMP = [2 log(2) (1 + 1/SNR)]

�1« low » error for AMP

high error for AMP

… but is still way better than the alternative :-)

Page 30: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Two strategies to reach capacity

3

Page 31: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Two ways to make AMP capacity achieving:

Spatial coupling Power Allocation

Page 32: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Two ways to make AMP capacity achieving:

Spatial coupling Power Allocation

0 1 0 0 1 0 0 0 1 0 0 00 0 0 1X=vector

c4 0 0 00 c1 0 0 c2 0 0 0 0 0 0 c3X=vector

hc2i i = 1Power constraint:

c2i / 2�2Ci/L Generalization the State evolution

for structured matrices shows that bAMP can reach capacity as B➡∞

In practice, however, this turns out to be not so efficient…

Page 33: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Two ways to make AMP capacity achieving:

Spatial coupling

0

BBBB@

1

CCCCA= ⇥

h F e

: unit coupling

: no coupling (null elements)

: coupling J

JJ

JJ

JJ

J

0

0

BBBB@

1

CCCCA

0

BBBBBBBBBBBB@

1

CCCCCCCCCCCCA

1

1 11 1 1

1 11

1 1 11 1 1

1 1 11 11

w

w : interaction range

1 11

0

“Seed” block Propagation

small

Use of a structured matrix(Similar constructions in compressed sensing):

Pfister-Kudekar ’09 Krzakala et al ’11 Donoho et al ’11

Page 34: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Spatial coupling

Matlab implementation + demo: https://github.com/jeanbarbier/BPCS_common

Lena: L=256^2 B=256 levels of grey

Page 35: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Practical tests!

4

Page 36: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

4 8 16 32 64 128 256 512 102420480.6

0.8

1

1.2

1.4

1.6

1.8

2

section size B

rate

BP threshold

Optimal threshold

exp 1: AMP, L=100

exp 1: SC AMP + Hadamard, L=100

exp 1: it. successive, exp. dist., L=100

exp 2: SC AMP + Hadamard, L=213

exp 2: AMP + Hadamard, L=213

AMP+Hadamard, L=2^13

Optimal threshold R➞C when B➞∞

Phase diagram SNR=15 (C=2)

« low » error

high error

RAMP = [2 log(2) (1 + 1/SNR)]

�1« low » error for AMP

high error for AMP

… but is still way better than the alternative :-)

Page 37: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Comparing everything snr = 15, B = 512, L = 1024

R1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2

aver

age

SER

10-6

10-4

10-2

100

Opt. pow. alloc. + random op. + off-line AMPOpt. pow. alloc. + Had. op. + on-line AMPFixed sp.-coupling + Had. op. + on-line AMPFull Had. op. + on-line AMPFixed sp.-coupling + opt. pow. alloc. + Had. op. + on-line AMPBP thresholdCapacity

Blocklenght ~ 5000

Page 38: Sparse Superposition Codes for the Gaussian Channel...Sparse Superposition codes Joseph, Barron ISIT ‘10 vector X= 0 0 0 c3 c4 0 0 0 c2 i / e 2Ci L • For large B, the maximum likelihood

Conclusion.

• Simple coding, capacity achieving with spatial coupling/power allocation • Similar phenomenology as LDPC codes • Efficient when used with structured operator such as Hadamard • Can be analyzed by state evolution/replica method • Interesting finite size performances ?