Skip to content

lorenlugosch/neural-min-sum-decoding

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 

Neural min-sum decoding in TensorFlow

This repo contains the code for the neural min-sum decoding algorithms used to obtain the results shown in the following three papers:

  • L. Lugosch and W. J. Gross, "Neural offset min-sum decoding," IEEE International Symposium on Information Theory (ISIT), Aachen, 2017, pp. 1361-1365. https://arxiv.org/abs/1701.05931

  • E. Nachmani, E. Marciano, L. Lugosch, W. J. Gross, D. Burshtein and Y. Be’ery, "Deep learning methods for improved decoding of linear codes," in IEEE Journal of Selected Topics in Signal Processing, special issue on "Machine Learning for Cognition in Radio Communications and Radar", vol. 12, no. 1, pp. 119-131, Feb. 2018. https://arxiv.org/abs/1706.07043

  • L. Lugosch and W. J. Gross, "Learning from the syndrome," in Asilomar Conference on Signals, Systems, and Computers, special session on "Machine Learning for Wireless Systems", Oct. 2018. https://arxiv.org/abs/1810.10902

as well as my Masters thesis:

Please cite my work if this code or my papers are useful for you.

Note: I made a mistake implementing Nachmani et al.'s neural belief propagation decoder in the first version of the NOMS paper: I used just one weight per edge, whereas they use a separate weight for each input message while calculating each output message (so the message for a given edge will be multiplied by a different weight, depending on which output message you are computing). The final version of the NOMS paper that appeared at ISIT 2017 (the final version on arXiv) has the correct equations and updated BER results. Nachmani et al. kindly gave me the BER results for the BCH(63,36) and BCH(63,45) decoders, but not for the BCH(127,106) decoder because of computational constraints, so the results in the NOMS paper for the last code use just one weight per edge. The "neural belief propagation decoder" in this repo is the version with one weight per edge.

I might release a cleaner version of this some time in the future, but probably not, because I'm working on other stuff now.

Good luck!

About

Neural min-sum decoding in TensorFlow

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages