Top Banner
Learning-based approach for designing error-correcting codes Shan LU Gifu University ็ฌฌ๏ผ™ๅ›ž ่ชคใ‚Š่จ‚ๆญฃ็ฌฆๅทใฎใƒฏใƒผใ‚ฏใ‚ทใƒงใƒƒใƒ— ๏ผ’๏ผ๏ผ’๏ผๅนด๏ผ™ๆœˆ๏ผ’ๆ—ฅ๏ฝž๏ผ™ๆœˆ๏ผ“ๆ—ฅ ๏ผ ใ‚ชใƒณใƒฉใ‚คใƒณ้–‹ๅ‚ฌ 1
35

Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Mar 29, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Learning-based approach for designing error-correcting codes

Shan LU Gifu University

็ฌฌ๏ผ™ๅ›ž ่ชคใ‚Š่จ‚ๆญฃ็ฌฆๅทใฎใƒฏใƒผใ‚ฏใ‚ทใƒงใƒƒใƒ—

๏ผ’๏ผ๏ผ’๏ผๅนด๏ผ™ๆœˆ๏ผ’ๆ—ฅ๏ฝž๏ผ™ๆœˆ๏ผ“ๆ—ฅ๏ผ ใ‚ชใƒณใƒฉใ‚คใƒณ้–‹ๅ‚ฌ 1

Page 2: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Noisy-Channel Coding Theorem

Given a noisy channel with channel capacity C,for arbitrary small ๐œ–๐œ– > 0, if information transmitted rate ๐‘…๐‘… < ๐ถ๐ถ and code length n is sufficiently large, there exists an [n, k] code of rate ๐‘˜๐‘˜/๐‘›๐‘› โ‰ฅ ๐‘…๐‘… with error probability ๐‘๐‘

๐‘๐‘ โ‰ค ๐œ–๐œ–.

Transmitter NoisyChannel Receiver

Noisy-Channel Coding Theorem

2

Page 3: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

The model of coding system

Encoder๐‘“๐‘“๐‘›๐‘›

NoisyChannel

Decoder๐‘”๐‘”๐‘›๐‘›

message codeword

3

Page 4: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Traditional error-correcting codes (linear codes)โ€ข Generator Matrix G

โ€ข Parity-Check Matrix

G: generator matrixw: message vector

x: codeword

Short code (design Generator Matrix or Parity-Check Matrix)Hamming Distance: block codes using finite field algebra

Such as: Hamming codes, Golay codes, RM codes, BCH codes, RS codes, etc.Free distance: convolutional codes by increasing memory order/selecting polynomials

Such as: convolutional code/ Turbo code Long code: design the property for code ensemble, choose one code from code ensemble.

โ€ข Fixed design of error-correcting codes

(If failed to transmit, ARQ (Automatic repeat-request) is used.) 4

Page 5: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Flexible design of error-correcting codes

ACK/NACK

โ€ข HARQ:(Hybrid Automatic repeat-request)โ€ข Rateless codeโ€ข Rate-compatibility code

Encoder๐‘“๐‘“๐‘›๐‘›

NoisyChannel

Decoder๐‘”๐‘”๐‘›๐‘›

message codeword

5

Page 6: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Learning design of error-correcting code

โ€ข AI techniques: machine learning/ deep learning/Reinforcement learningโ€ข AI techniques is a natural choice for learning the encoding and decoding

functions due to their ability to perform universal function approximation.

โ€ข How: Neural network + optimization algorithm (ใƒ‹ใƒฅใƒผใƒฉใƒซใƒใƒƒใƒˆใƒฏใƒผใ‚ฏ + ๆœ€้ฉๅŒ–ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ )

โ€ข fixed design of error-correcting codes โ€ข Supervised learning: Learning with a labeled training set

โ€ข flexible design of error-correcting codes โ€ข Reinforcement learning: Learn to act based on feedback/reward

6

Page 7: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Design of error-correcting codes

Fixed design Flexible designtraditional

design Differential evolution

algorithmRateless code

Rate-compatibility code

Design by learning

Supervised learning Reinforcement learning

7

Page 8: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Traditional design of error-correcting code

Fixed design Flexible designDifferential evolution algorithm

ๅทฎๅˆ†้€ฒๅŒ–ๆณ•

(Example of LDPC)

Rateless codeRate-compatibility code

8

Page 9: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

LDPC code๏ผšLow-Density Parity-Check code

Design a code with coderate ๐‘น๐‘น = ๐’Œ๐’Œ/๐’๐’ is to find a parity check matrix ๐‘ฏ๐‘ฏ โˆˆ {๐ŸŽ๐ŸŽ,๐Ÿ๐Ÿ}(๐’๐’โˆ’๐’Œ๐’Œ)ร—๐’๐’

Find a sparse Hor

a sparse Tannergraph

Sparse parity check matrix

sparse Tanner graph

9

Page 10: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Idea: fixed design of code ensembleโ€ข Long code: design the code ensembleโ€ข Code ensemble: a set of code with same property.Example of property: convolutional/Turbo code : weight enumerator

LDPC code : degree/ degree distribution/girth

Idea of design code ensemble:โ‘  Random choose one parameter of code ensemble.โ‘ก Estimate the average performance of code ensemble.โ‘ข Iteratively update the parameter of the code ensemble until

obtain the excellent performance.โ‘ฃ Pick a code at random from the ensemble and expect

excellent performance.

Constructor:code ensemble

Estimator:average

performance

10

Page 11: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Example: Regular (๐‘‘๐‘‘๐‘๐‘,๐‘‘๐‘‘๐‘‘๐‘‘)-LDPC Code Ensemble

11

protograph

Tanner graph(a specific code)

(code ensemble: codes set with all of possible permutations)

Fixed permutation

permutations codelength๏ผšn = 3Q

code rate๏ผšR = 1/3

copy

Q = 3

permute

Page 12: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Example: Matrix presentation of regular LDPC Code Ensemble

12

(code ensemble: all of possible permutations)

Base matrix

copy

Q = 3

Fixed permutation

permute

codelength๏ผšn = 3Q

code rate๏ผšR = 1/3

Tanner graph(a specific code)

Page 13: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Example: Differential Evolution Algorithm(ๅทฎๅˆ†้€ฒๅŒ–ๆณ•)

โ‘  Initiation: Given a degree (๐‘‘๐‘‘๐‘๐‘,๐‘‘๐‘‘๐‘‘๐‘‘) of LDPC code.

โ‘ก Estimate the average performance (Decoding Threshold: in terms of the noise standard deviation) by density evolution(ๅฏ†ๅบฆ้€ฒๅŒ–)/EXIT chart over a code ensemble (๐‘‘๐‘‘๐‘๐‘,๐‘‘๐‘‘๐‘‘๐‘‘)

โ‘ข Update the degree (๐‘‘๐‘‘๐‘๐‘,๐‘‘๐‘‘๐‘‘๐‘‘) , find the parameter of code ensemble with excellent performance.

โ‘ฃ Pick a code at random from the ensemble and expect excellent performance.

Constructor(degree (๐‘‘๐‘‘๐‘๐‘, ๐‘‘๐‘‘๐‘‘๐‘‘) )

Evaluator (Decoding Threshold)

13

Page 14: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Idea: Flexible Design of error-correcting code (HARQ)

ACK/NACK

Encoder๐‘“๐‘“๐‘›๐‘›

NoisyChannel

message codeword Decoder๐‘”๐‘”๐‘›๐‘›

HARQ

14

Transmitter

Receiver

ACK๏ผš acknowledgement ่‚ฏๅฎšๅฟœ็ญ”NACK: negative-acknowledgement, ๅฆๅฎšๅฟœ็ญ”

Page 15: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Flexible design: Rateless code/Rate-compatibility code

Parity check matrix of Rate-compatibility code

Encoder๐‘“๐‘“๐‘›๐‘›

NoisyChannel

message codeword Decoder๐‘”๐‘”๐‘›๐‘›

Rateless code (fountain code)

ACK/NACK

15

Page 16: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Learning-based approach of designing error-correcting codes

Fixed design: Supervised Learning (Autoencoder)

16

Page 17: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Supervised Learning Basic: Training and Testingโ€ข Training stage: ( Learning with a labeled training set: input data, desired results)

โ€ข Testing stage:

Input Data Learning system

Output Data

NewInput Data

Learning system

Output/Testing

Neural Network(NN)ใƒ‹ใƒฅใƒผใƒฉใƒซใƒใƒƒใƒˆใƒฏใƒผใ‚ฏ

17

Page 18: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Neural Network

18

Page 19: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

The operation in the neural networkWeights

Activation functions

๐‘พ๐‘พ๐Ÿ๐Ÿ, ๐’ƒ๐’ƒ๐Ÿ๐Ÿ ๐‘พ๐‘พ๐Ÿ๐Ÿ , ๐’ƒ๐’ƒ๐Ÿ๐Ÿ ๐‘พ๐‘พ๐Ÿ‘๐Ÿ‘, ๐’ƒ๐’ƒ๐Ÿ‘๐Ÿ‘

๐’‰๐’‰๐Ÿ๐Ÿ ๐’‰๐’‰๐Ÿ๐Ÿ

Inputx

Iteration of โ€œLinearโ€ and โ€œnon-linearโ€ operation

๐’‰๐’‰๐Ÿ‘๐Ÿ‘

๐‘พ๐‘พ1x +b1 ๐’‰๐’‰๐Ÿ๐Ÿ(๐‘พ๐‘พ1x+b1)x ๐‘พ๐‘พ2๐’‰๐’‰๐Ÿ๐Ÿ(๐‘พ๐‘พ1x+b1) +b2 โ€ฆ โ€ฆInput Linear

TransformNon-LinearTransform

LinearTransform

๐’‰๐’‰๐Ÿ๐Ÿ(๐‘พ๐‘พ2๐’‰๐’‰๐Ÿ๐Ÿ(๐‘พ๐‘พ1x+b1) +b2)Non-LinearTransform

Example: activation functions (ๆดปๆ€งๅŒ–้–ขๆ•ฐ)(non-linear)

ReLU(Rectified Linear Unit):

Sigmoid function:

19

Page 20: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

How Neural Network Learning: Backpropagation่ชคๅทฎ้€†ไผๆ’ญๆณ•

โ€ข Forward Pass:

Input Data Neural Network Prediction

โ€ข Backward Pass: Neural Network

Measure of Error

(loss function)Update weights

by SGD to decrease loss function

quantifies gap between prediction and desired results.

Constructor Evaluator

SGD: stochastic gradient descent็ขบ็Ž‡็š„ๅ‹พ้…้™ไธ‹ๆณ•

Loss functionFor regression: Mean Squared Error

For classification:Cross Entropy Loss

20

Page 21: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Autoencoders of error-correcting codes system

Encoder๐‘“๐‘“๐‘›๐‘›

NoisyChannel

Decoder๐‘”๐‘”๐‘›๐‘›

message codeword

Tim Oโ€™Shea, and Jakob Hoydis, โ€œAn Introduction to Deep Learning for the Physical Layerโ€, IEEE Transactions on Cognitive Communications and Networking, Vol. 3-4, PP. 563-575, Dec. 2017.

Encoder

Decoder

energy constraint

โ€ข An autoencoder is a neural network that is trained to attempt to copy its input to its output.

21

๐’™๐’™ โ‰ค ๐‘›๐‘›

Page 22: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Autoencoders of error-correcting codes system (training process)

โ‘  Loss function:

โ‘ก Update weights by SGD:

Constructor (autoencoder)

Noisy channel

NN Encoder NN Decoder

EvaluatorUpdated weights

22

Page 23: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

BLER vs Eb/N0 for the autoencoder and baseline communication schemes

Training Eb/N0 = 7dB

Tim Oโ€™Shea, and Jakob Hoydis, โ€œAn Introduction to Deep Learning for the Physical Layerโ€, IEEE Transactions on Cognitive Communications and Networking, Vol. 3-4, PP. 563-575, Dec. 2017.

23

Page 24: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Autoencoder for NN Error-Correcting Systems

https://mlc.committees.comsoc.org/research-library/

Advantages:โ€ข Possible to design non-linear code with good performance

(suitable for coding and decoding for multi-access channel)

โ€ข Simper design for construction(suitable for designing decoding algorithm of the code)

Disadvantage:โ€ข Difficult to design long code

(try to design the parameters of the code ensemble)

24

Page 25: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Further design of NN for error-correcting systemsDecoding algorithmโ€ข E. Nachmani, E. Marciano, L. Lugosch, W. J. Gross, D. Burshtein and Y. Beโ€™ery, โ€œDeep learning methods for improved decoding of linear codes,โ€ IEEE

Journal of Selected Topics in Signal Processing, vol. 12, no. 1, pp.119-131, February 2018.

โ€ข L. Lugosch and W. J. Gross, โ€œNeural offset min-sum decoding,โ€ in Proc. IEEE International Symposium on Information Theory (ISIT), June 2017.

โ€ข F. Liang, C. Shen and F. Wu, โ€œAn iterative BP-CNN architecture for channel decoding,โ€ in IEEE Journal of Selected Topics in Signal Processing, vol. 12, no. 1, pp. 144-159, February 2018.

โ€ข W. Xu, X. You, C. Zhang and Y. Beโ€™ery, โ€œPolar decoding on sparse graphs with deep learning,โ€ in Proc. IEEE Asilomar Conference on Signal, System, Computers, October 2018.

Coding and decoding for multi-access channel โ€ข L. WEI, S. Lu, H. Kamabe, J. Cheng, โ€œUser Identification and Channel Estimation by DNN-Based Decoder on Multiple-Access Channel,โ€ to be presented

in 2020 IEEE Global Communications Conference.

โ€ข S. Takabe, Y. Yamauchi, and T. Wadayama, โ€œTrainable projected gradient detector for sparsely spread code division multiple access,โ€ preprint arXiv:1910.10336, 2019.

โ€ข J. Lin, S. Feng, Z. Yang, Y. Zhang and Y. Zhang, โ€œA novel deep neural network-based approach for sparse code multiple access,โ€ preprint arXiv:1906.03169, 2019.

โ€ข I. Abidi, M. Hizem, I. Ahriz, M. Cherif and R. Bouallegue, โ€œConvolutional neural networks for blind decoding in sparse code multiple access,โ€ in Proc.International Wireless Communications & Mobile Computing Conference (IWCMC), 2019.

Joint design of source-channel coding โ€ข Y. M. Saidutta, A. Abdi and F. Fekri, โ€œM to 1 joint source-channel coding of Gaussian sources via dichotomy of the input space based on deep learning,โ€ in

Proc. Data Compression Conference (DCC), 2019.

https://mlc.committees.comsoc.org/research-library/25

Page 26: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Learning-based approach of designing error-correcting codes

Reinforcement learning (ๅผทๅŒ–ๅญฆ็ฟ’)(Flexible design of error-correcting codes)

Instead of trying to produce a program to simulate the adult mind, why not rather try to produce one which simulates the childโ€™s ?

โ€”โ€”Alan Turing 26

Page 27: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Reinforcement Learningโ€ข Task

โ€ข Learn how to behave successfully to achieve a goal while interacting withan external environment

โ€ข How to design? Reinforcement Learning problems can be modeled by a so-called

Markov Decision Process (MDP) (ใƒžใƒซใ‚ณใƒ•ๆฑบๅฎšใƒ—ใƒญใ‚ปใ‚น)

โ€ข Examplesโ€ข Game playing: player knows whether it win or lose, but not know how to move at each stepโ€ข Control: a traffic system can measure the delay of cars, but not know how to decrease it.โ€ข Error-correcting codes: a system knows how to measure the performance of the codes, but not know

how to construct it at each system .

27

Page 28: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Markov Decision Process (MDP) modelโ€ข State: s / S: state setโ€ข Action: ๐‘Ž๐‘Ž / A: actions space

Agentโ€ข Policy(ๆ–น้‡): ๐œ‹๐œ‹(๐‘Ž๐‘Ž|๐‘ ๐‘ )

function to map states ๐‘ ๐‘  to actions ๐‘Ž๐‘Ž

Environmentโ€ข ๐‘ท๐‘ท๐’‚๐’‚(๐’”๐’”โ€ฒ|๐’”๐’”,๐’‚๐’‚)

probability of action ๐‘Ž๐‘Ž in state ๐‘ ๐‘  at time ๐‘ก๐‘กto state ๐‘ ๐‘ โ€ฒ at time ๐‘ก๐‘ก + 1.

โ€ข ๐‘Ÿ๐‘Ÿ(๐‘ ๐‘ , ๐‘Ž๐‘Ž, ๐‘ ๐‘ โ€ฒ)immediate reward(ๅณๆ™‚ๅ ฑ้…ฌ): feedback after

transitioning from state ๐‘ ๐‘  to state ๐‘ ๐‘ ๐‘ , triggered by action ๐‘Ž๐‘Ž.

Environment๐‘ท๐‘ท๐’‚๐’‚(๐’”๐’”โ€ฒ|๐’”๐’”,๐’‚๐’‚)๐‘Ÿ๐‘Ÿ(๐‘ ๐‘ , ๐‘Ž๐‘Ž, ๐‘ ๐‘ โ€ฒ)

Agent๐œ‹๐œ‹(๐‘Ž๐‘Ž|๐‘ ๐‘ )

action areward r

new state sโ€™

Neural network

28

Return (long-run reward้•ทๆœŸๅ ฑ้…ฌ)

Page 29: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

MDP model to reinforcement learning

โ€ข How to define the rewards ๐‘Ÿ๐‘Ÿ(๐‘ ๐‘ , ๐‘Ž๐‘Ž, ๐‘ ๐‘ โ€ฒ) and returnโ€ข How to change the policy based on experience โ€ข How to change transitions ๐‘๐‘(๐‘ ๐‘ โ€ฒ|๐‘ ๐‘ , ๐‘Ž๐‘Ž)

The agent task: To find an optimal policy ๐œ‹๐œ‹(๐‘Ž๐‘Ž|๐‘ ๐‘ ) that maximize Return (long-run reward)

๐’”๐’” 1

๐‘Ž๐‘Ž 2 ๐‘Ž๐‘Ž 3 ๐‘Ž๐‘Ž 4 ๐‘Ž๐‘Ž 5๐‘Ž๐‘Ž 1

๐’”๐’” 2 ๐’”๐’” 3 ๐’”๐’” 4S: state set

A: actions space

๐œ‹๐œ‹(๐‘Ž๐‘Ž|๐‘ ๐‘ )

29

Page 30: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Example of RL for designing error-correcting code

Feedback

Encoder๐‘“๐‘“๐‘›๐‘›

NoisyChannel

message codeword Decoder๐‘”๐‘”๐‘›๐‘›

Environment(Estimator)๐‘ท๐‘ท๐’‚๐’‚(๐’”๐’”โ€ฒ|๐’”๐’”,๐’‚๐’‚)๐‘Ÿ๐‘Ÿ(๐‘ ๐‘ , ๐‘Ž๐‘Ž, ๐‘ ๐‘ โ€ฒ)

Agent(constructor)

๐œ‹๐œ‹(๐‘Ž๐‘Ž|๐‘ ๐‘ ) action a

reward rnew state Sโ€™

Neural network

โ€ข S (state set): SNR (by step)โ€ข A: actions space: parity check matrix H

(โ€œ1โ€โ€™s positions of P in H=[IK , P])

โ€ข Reward ๐‘Ÿ๐‘Ÿ(๐‘ ๐‘ , ๐‘Ž๐‘Ž, ๐‘ ๐‘ โ€ฒ) : BERโ€ข Return:

โ€ข ๐œ‹๐œ‹(๐‘Ž๐‘Ž|๐‘ ๐‘ ): depend parity check matrix by NNโ€ข ๐‘๐‘(๐‘ ๐‘ โ€ฒ|๐‘ ๐‘ , ๐‘Ž๐‘Ž) : depend SNR by NNโ€ข How to change the ๐‘๐‘(๐‘ ๐‘ โ€ฒ|๐‘ ๐‘ , ๐‘Ž๐‘Ž)/๐œ‹๐œ‹(๐‘Ž๐‘Ž|๐‘ ๐‘ ):

update based on SGDโ€ฆ 30

Page 31: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

System model of error-correcting codes with feedback

Encoder๐‘“๐‘“๐‘›๐‘›

NoisyChannel

Decoder๐‘”๐‘”๐‘›๐‘›

message codeword

energy constraint

31

Page 32: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Error-correcting codes RL model (training)

Encoder๐‘“๐‘“๐‘›๐‘›

NoisyChannel

Decoder๐‘”๐‘”๐‘›๐‘›

codeword

energy constraint

๐‘Ÿ๐‘Ÿ(๐‘ ๐‘ , ๐‘Ž๐‘Ž, ๐‘ ๐‘ โ€™): immediate reward

Learning ๐œ‹๐œ‹(๐‘Ž๐‘Ž|๐‘ ๐‘ )

32

p(SNR1)p(SNR2)

...

Learning ๐‘๐‘(๐‘ ๐‘ โ€™|๐‘ ๐‘ , ๐‘Ž๐‘Ž)

p(H1)p(H2) ...

Hi

Compute Loss

Supervised Learning

Unsupervised Learning system also can be constructed.

Page 33: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Error-correcting codes after training

SNR1

H 2 H 3 H4 H 5H 1

S: SNR set

A: Code space

๐œ‹๐œ‹(๐‘Ž๐‘Ž|๐‘ ๐‘ )

SNR 2 SNR3 SNR4

33

Page 34: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Extension of RL for error-correcting systems

Advantages:โ€ข Possible to design code corresponding state of channel information(SCI)

Polar codes: (such as frozen positions of polar codes)โ€ข L. Huang, H. Zhang, R. Li, Y. Ge and J. Wang, โ€œReinforcement learning for nested polar code construction,โ€ preprint

arXiv:1904.07511, 2019โ€ข F. Carpi, C. Hรคger, M. Martalรฒ, R. Raheli and H. D. Pfister, โ€œReinforcement learning for channel coding: Learned bit-flipping

decoding,โ€ in Proc. 57th Annual Allerton Conference on Communication, Control, and Computing (Allerton), 2019.MIMO system (state of channel information )โ€ข Y.-S. Jeon, J. Li, N. Tavangaran, and H. V. Poor, โ€œData-Aided Channel Estimator for MIMO Systems via Reinforcement

Learning,โ€ preprint arXiv:2003.10084, 2020.โ€ข Y.-S. Jeon, N. Lee and H. V. Poor, โ€œRobust data detection for MIMO systems with one-bit ADCs: A reinforcement learning

approach,โ€ preprint arXiv:1903.12546, 2019.โ€ข M. Goutay, F. Ait Aoudia and J. Hoydis, โ€œDeep reinforcement learning autoencoder with noisy feedback,โ€ preprint

arXiv:1810.05419, 2018.

Disadvantage:โ€ข Difficult to design long code

34

Page 35: Learning-based approach for designing error-correcting codes...LDPC code ๏ผšLow-Density Parity-Check code Design a code with coderate ๐‘น๐‘น= ๐’Œ๐’Œ/๐’๐’ is to find a parity

Conclusionfixed design flexible design

Traditional design Differential evolution algorithm

Rateless code/Rate-compatibility code

Design by learningโ€ข perform universal function

approximationโ€ข Automatic design

Supervised learning Reinforcement learning(for feedback channel)

Constructor

Estimator

โ€ข Code design is a code property optimization problems.

35

Constructor: code/ code ensemble (G or NN)Estimator: BER/threshold performance (G or NN)