Transcript
Page 1: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Communication Algorithms via

Deep Learning

Pramod Viswanath

University of Illinois

Page 2: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Deep learning is part of daily life

natural language processing

Computer Vision MachineTransla-on(e.g.``Helloworld!’’in

Chinese?)

DialogueSystem

(e.g.HeySiri!)

Informa-onExtrac-on(e.g.addtocalander?)

Page 3: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Data (image, languages): hard to model

• Inference problems : hard to model

• Evaluation metrics: empirical, human-validated

• Deep learning learns efficient models

Model complexity

Page 4: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Models are simple

‣ example: chess

‣ unlimited training data

‣ clear performance metrics

• Challenge: space of algorithms very large

• Deep learning learns sophisticated algorithms (Alphazero)

Algorithmic complexity

Page 5: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Problems of great scientific/engineering relevance

‣ mathematical models

‣ precise performance metrics

Communication Algorithms

Page 6: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• New (deep learning) tools for classical problems

‣ new state of the art

‣ inherent practical value

• Insight into deep learning methods

‣ no overfitting

‣ interpretability

Two Goals

Page 7: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Scalability

‣ train on small settings

‣ test on much larger settings (100x)

One Lens

Page 8: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Recurrent neural networks

‣ in-built capability for recursion

• Gated neural networks

‣ attention, GRU, LSTM

Two Deep Learning Components

Page 9: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Models are simple

• Performance metrics are clear (e.g. Bit Error Rate)

• Designing a robust encoder/decoder is critical

• Challenge : space of encoder/decoder mappings very large

Communication

Receiver (Decoder)

message

Transmitter (Encoder)

estimated message

Noisy Channel

noisy codewordcodeword

Page 10: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Design of codes

1950 1960 1970 1980 1990 2000

Convolutionalcodes

BCHcodes

Turbo codes

LDPCcodes

2010

Polar codes

Hammingcodes

• Technical Communities

• Eureka moments

• Huge practical impact

Page 11: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Classical Model

+y = x+ n

n

x

• Additive White Gaussian Noise (AWGN) channels

• Very good codes

• turbo, LDPC, polar codes

Page 12: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Central goal

But there are many challenges. Fundamentally different from other machine learning problems.

Automate the search for codes and decoders via deep learning

Page 13: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Channel with Feedback

• Learning the encoder

• Learning the decoder

Page 14: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

AWGN channels with feedback

Encoder + y

n

x

y

• AWGN channel from transmitter to receiver

• Output fed back to the transmitter

Decoder

Delay, noisy

ReceiverTransmitter

Page 15: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• ARQ

• practical, minimal feedback

• Noiseless output feedback

• Improved reliability

• Coding schemes

‣ Schalkwijk-Kailath, ’66

Literature

Page 16: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Noisy feedback

‣ Existing schemes perform poorly

‣ Negative results

‣ Linear codes very bad (Kim-Lapidoth-Weissman, ’07)

• Wide open

Literature

Page 17: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Focus of this talk

• AWGN channels with noisy feedback

• Challenge: How to combine noisy feedback and message causally?

• Model encoder and decoder as neural networks and train

Page 18: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Feedback with machine precision

Quick Summary: 100x Better Reliability

(Rate 1/3, 50 bits)

SNR (dB)

BER

Page 19: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• varying noise in the feedback

Robustness

(Rate 1/3, 50 bits, 0dB)

Feedback SNR (dB)

BER

Page 20: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• BER decays faster

Improved error exponents

Block length

BER

Page 21: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• BER decays even faster

Coded Feedback

feedback SNR

BER

Page 22: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Practical Considerations

• Delay in feedback

‣ interleaving; can handle large delays

• Opportunistic use of feedback capability

• cellular and WiFi environments

• Composes with ARQ

Page 23: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Neural feedback code

Architectural innovations

Ideas from communications

Computationally simple

Page 24: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Other open problems

• Encoder is fixed (e.g. standardization)

• Practical channels are not always AWGN

• How to adapt the decoder to practical channels?

Page 25: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Convolutional codes, turbo codes

‣ 3G/4G mobile communications (e.g., in UMTS and LTE)

‣ (Deep space) satellite communications

• Provably achieve performance close to fundamental limit

• Natural recurrent structure aligned with RNN

Sequential codes

Page 26: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Sequential codes under AWGN

• Optimal decoders under AWGN

‣ e.g. Viterbi, BCJR decoder for convolutional codes

AWGN channel

message codeword noisy codeword

estimated message

Sequential code

Optimal decoders

Page 27: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Non-AWGN channel

Non-AWGN Channel

message codeword noisy codeword

estimated message

Sequential code ????

Bursty noise

Page 28: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Neural decoder

AWGN channel

b x y b

Sequential code

Decoder Neural

Network

^

Learn

message codeword noisy codeword

estimated message

Noisy Channel

• Supervised training with (noisy codeword y, message b)

Page 29: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Model decoder as a Recurrent Neural Network

Neural decoder under AWGN

AWGN Channel

message codeword noisy codeword

estimated message

Convolutional code

Decoder Recurrent

Neural Network

Page 30: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Supervised training with (noisy codeword y, message b)

• Loss

Training

AWGN channel

b x y b

Sequential code

Decoder Recurrent

Neural Network

^

Learn

1[(b− b̂)2]

message codeword noisy codeword

estimated message

Page 31: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Choice of training examples

AWGN channel

b x y

Sequential code

message codeword noisy codeword

• Training examples (y, b) :

‣ Length of message bits b = (b1, …, bK)

‣ SNR of the noisy codeword y

Page 32: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Choice of training examples

• Train at a block length 100, fixed SNR (0dB)

AWGN (SNR 0dB)

message codeword noisy codeword

estimated message

Sequential code

Decoder Recurrent

Neural Network

Page 33: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Train at a block length 100, fixed SNR (0dB)

Choice of training examples

Sequential code

Decoder Recurrent

Neural Network

message codeword noisy codeword

estimated message

AWGN SNR 0~7dB

Page 34: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Results: 100x scalability

Train: block length = 100, SNR=0dB Test: block length = 10K

SNR

BER

Page 35: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Training equal to test SNR?

Choice of training examples

train SNR = 0dB

train SNR = test SNR

SNR

BER

(test)

Page 36: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Choice of training examples

Range of best training SNR

1/7 1/6 1/5 1/4 1/3 1/2Code rate

SNR

• Empirically find best training SNR for different code rates

Page 37: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Hardest training examples

Choice of training examples

Impossible to decode

Range of best training SNR

1/7 1/6 1/5 1/4 1/3 1/2Code rate

SNR

Shannon limit

Page 38: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Idea of hardest training examples

‣ Training with noisy labels

‣ Applies to problems where training examples can be chosen

Training with Hard Examples

Page 39: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Use hard examples for training

• Neural network robust to model mismatch

Lessons

Page 40: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Many open problems

‣ Channels with feedback

‣ Network settings

Page 41: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Underpinning this talk

‣ Gated Recurrent Neural Networks

‣ Nonlinear dynamical systems

• switched linear system

• Learning theory meets Switched Dynamical Systems

‣ many open questions

‣ basic technical/mathematical value

Theoretical Agenda

Page 42: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Collaborators

Page 43: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Two-phase scheme

‣ e.g. maps information bits b1, b2, b3 to a length-6 code

Neural encoder

Phase I. Phase II.

Page 44: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Phase I: send information bits

b1 b2 b3

y1 y2 y3Encoder gets

Page 45: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Phase II: use feedback to generate parity bits

b1 b2 b3

y1 y2 y3Encoder gets

Page 46: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Parity for b1

Phase II: use feedback to generate parity bits

b1 b2 b3

y1 y2 y3Encoder gets

b1, y1

c1

Page 47: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Phase II: use feedback to generate parity bits

b1 b2 b3

y1 y2 y3Encoder gets

b1, y1

c1

yc1

Page 48: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Another parity for b1?

Phase II: use feedback to generate parity bits

b1 b2 b3

y1 y2 y3Encoder gets

b1, y1

c1 c2

yc1

b1, y1 b1,y1,yc1

Page 49: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Parity for b2?

Phase II: use feedback to generate parity bits

b1 b2 b3

y1 y2 y3Encoder gets

b1, y1

c1 c2

yc1

b1, y1 b2,y2

Page 50: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Parity for b2 and b1

Phase II: use feedback to generate parity bits

b1 b2 b3

y1 y2 y3Encoder gets

b1, y1

c1 c21

yc1

b1, y1 b2,y2,b1,y1,yc1b1, y1 b1,y1,yc1, b2,y2

Page 51: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Parity for b3, b2 and b1

Phase II: use feedback to generate parity bits

b1 b2 b3

y1 y2 y3Encoder gets

b1, y1

c1 c21 c321

yc1

b1, y1 b2,y2,b1,y1,yc1b1, y1 b1,y1,yc1, b2,y2 b1,y1,yc1,b2,y2,yc2,b3,y3

yc1 yc2 yc3

Page 52: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

b1, y1 yc1, b2,y2 yc2,b3,y3

• Sequential mapping with memory

Recurrent Neural Network for parity generation

b1 b2 b3

y1 y2 y3Encoder gets

c1 c21 c321

yc1yc1 yc2 yc3

h1 h2 h3

hi = f(hi�1, AMTmii)

PmiTmii = g(hi)

Page 53: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Neural decoder

RNN RNN RNN

y1 y2 y3

yc1 yc2 yc3

b1 b2 b3

• Maps (y1, y2, y3, yc1, yc2, yc3) -> b1, b2, b3 via bi-directional RNN

^ ^ ^

^ ^ ^

Page 54: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Neural encoder and decoder

Encoder Neural

Network

Decoder Neural

Network

message codewordnoisy

codewordestimated message

Feedback

Page 55: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Learn the encoder and decoder jointly

Training

AWGN Channel

Encoder Neural

Network

Decoder Neural

Network

message codewordnoisy

codewordestimated message

Feedback

Page 56: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Learn the encoder and decoder jointly

‣ Challenge: Gradients have to pass through decoder

Training

AWGN Channel

Encoder Neural

Network

Decoder Neural

Network

message codewordnoisy

codewordestimated message

Feedback

Page 57: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Learn the encoder and decoder jointly

‣ Challenge: Gradients have to pass through decoder

‣ Encoder simpler than decoder

Training

AWGN Channel

Encoder Neural

Network

Decoder Neural

Network

message codewordnoisy

codewordestimated message

Feedback

Page 58: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Supervised Training

• Auto-encoder training : (input,output) = (b,b)

• Loss : binary cross entropy

• Training code length :

‣ long enough (100)

Page 59: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Intermediate results

BER

SNR (dB)

Page 60: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

High error in the last bits

BER

Position

Page 61: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Idea 1. Zero padding

c1 c21 c321

b1, y1 b2,y2,yc1 b3, y3,yc2

h1 h2 h3

b1 b2 b3

Phase I.

Phase II.

0

0, y4,yc3

h4

c4321

Position

BER

b1 b2 b3 ..… b48 b49 b50

Page 62: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

Idea 2. Power allocation

c1 c21 c321

b1, y1 b2,y2,yc1 b3, y3,yc2

h1 h2 h3

b1 b2 b3

Phase I.

Phase II.

0

0, y4,yc3

h4

c4321

x W1 x W2 x W3 x W4

x Wc1 x Wc2 x Wc3 x Wc4

Position

BER

b1 b2 b3 ..… b48 b49 b50

Page 63: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• 100x better reliability under feedback w. machine precision

Results

(Rate 1/3, 50 bits)

SNR (dB)

BER

Page 64: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Robust to noise in the feedback

Results

(Rate 1/3, 50 bits, 0dB)

Feedback SNR (dB)

BER

Page 65: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Train on block length 100. Test on block lengths 50 & 500

Generalization : block lengths

SNR

BER

Page 66: Inventing Algorithms Michiganpramodv.ece.illinois.edu › pubs › deepcode.pdf · University of Illinois. Deep learning is part of daily life natural language processing Computer

• Concatenated code : turbo + neural feedback code

‣ BER decays faster

Improved error exponents

Block length

BER


Top Related