96 Chapitre 3 : Machine Learning Methods for Code **and** Decoder Design

a multilayer neural network develop in such a way as to maximize the amount of information

that is preserved when signals are transformed at each processing stage of the

network, subject to certain constraints.”

Based on this analysis, we are going to describe the **decoding** of **LDPC** **codes** as a process

that can be code adaptive, **and** see where the mutual information should be maximized on

the artificial neural network to model the **decoding** process.

3.1.2 Learning **methods** **and** error-correcting **codes**

Some articles have presented the link between neural network **methods** **and** error-correcting

code approaches. In 1989, Bruck et al. [72] presented one of the most significant works in

this field: "Neural Networks, Error-Correcting Codes, **and** Polynomials over the Binary n-

Cube". The authors state that the Maximum-Likelihood (ML) **decoding** of a linear block

error-correcting code, is equivalent to finding the min-cut of a specific graph. Hence,

based on their work on the relation between the maximization of n-cubic polynomials

**and** error-correcting **codes**, the author proposed to use **decoding** techniques to find the

maximum of these polynomials.

In 1992, Tseng et al. [73] focused on **decoding** Hamming **codes** of type (2 n − 1, 2 n −

1 − n) **and** extended Hamming **codes** of type (2 n , 2 n − 1 − n) with a single-layer or a

double-layer perceptron, of low complexity, whose discriminating functions were polynomials

of high degrees.

3.2 Machine Learning Methods for Code Design

3.2.1 Problem

The aim is to modify the Tanner graph structure of a mother code in order to build a new

code with a good minimum distance. What we consider as “good” will be detailed in the

following. We have decided to remove some edges from the graph of the mother code

to obtain the new code. However, we generally cannot increase the minimum distance of

**codes** by lowering the density. Indeed, it has been shown in [17] that all the sequences of

**LDPC** **codes** reaching the capacity of the erasure channel have a large fraction of degree

two variable nodes which gives rise to low-weight codewords. Such codewords correspond

to cycles, in the subgraph of the Tanner graph, which contain only degree two

variable nodes. Thus, the problem we chose to address is: how to prune away edges in

the Tanner graph of a mother code in order to obtain a less dense code, with a minimum

distance higher than a code of same density, known for holding a good minimum distance.

For this purpose, we consider the impulse method presented in [66] to compute the

minimum distance of **LDPC** **codes**. The basic principle of this method is to feed the BP

decoder with impulses (an impulse being an all-zero vector except for one or very few

components set to one), then the smallest weight codeword is decided by a list decoder.