# Adaptive Learned Belief Propagation for Decoding Error-Correcting Codes
## 1 Introduction  
Neural networks (NNs) have been widely studied to improve communication systems. The ability of NNs to learn from data and model complex relationships makes them indispensable tools for tasks such as equalization, monitoring, modulation classification, and beamforming [1]. While NNs have also been considered for decoding error-correcting codes for quite some time [2, 3, 4, 5, 6, 7, 8, 9, 10], interest in this area has surged significantly in recent years due to advances in NNs and their widespread commercialization [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46]. Two categories of neural decoders may be considered. In model-agnostic decoders, the NN has a general architecture independent of the conventional decoders in coding theory [12, 34, 42]. Many of the common architectures have been studied for decoding, including multi-layer perceptrons [5; 12; 47], convolutional NNs (CNNs) [48], recurrent neural networks (RNNs) [13], autoencoders [19; 35; 40], convolutional decoders [6], graph NNs [33; 43], and transformers [34; 41]. These models have been used to decode linear block codes [4; 12], Reed-Solomon codes [49], convolutional codes [4; 50; 48], Bose-Chaudhuri-Hocquenghem (BCH) codes [11; 16; 18; 31], Reed-Muller codes [5; 25], turbo codes [13], low-density parity-check (LDPC) codes [37; 51], and polar codes [52]. Training neural decoders is challenging because the number of codewords to classify depends exponentially on the number of information bits. Furthermore, the sample complexity of the NN is high for the small bit error rates (BERs) and long block lengths required in some applications. As a consequence, model-agnostic decoders often require a large number of parameters and may overfit, which makes them impractical unless the block length is short. In model-based neural decoders, the architecture of the NN is based on the structure of a conventional decoder [11; 14; 25; 28; 31; 53]. An example is weighted belief propagation (WBP), where the messages exchanged across the edges of the Tanner graph of the code are weighted and optimized [11; 31; 54]. This gives rise to a decoder in the form of a recurrent network obtained by unfolding the update equations of the belief propagation (BP) over the iterations. Since the WBP is a biased model, it has fewer parameters than the model-agnostic NNs at the same accuracy. Prior work has demonstrated that the WBP outperforms BP for block lengths up to around 1000, particularly with structured codes, low-to-moderate code rates, and high signal-to-noise ratios (SNRs) [17; 28; 31; 37; 38; 39; 54; 55; 56]. It is believed that the improvement is achieved by altering the log-likelihood ratios (LLRs) that are passed along short cycles. For example, for BCH and LDPC codes with block lengths under 200, WBP provides frame error rate (FER) improvements of up to 0.4 dB in the waterfall region and up to 1.5 dB in the error-floor region [23; 57; 58]. Protograph-based (PB) QC-LDPC codes have been similarly decoded using the learned weighted min-sum (WMS) decoder [28]. The WBP does not generalize well at low bit error rates (BERs) due to the requirement of long block lengths and the resulting high sample and training complexity [44]. For example, in optical fiber communication, the block length can be up to tens of thousands to achieve a BER of \(10^{-15}\). In this case, the sample complexity of WBP is high, and the model does not generalize well when trained with a practically manageable number of examples. The training complexity and storage requirements of the WBP can be reduced through parameter sharing. [PERSON] et al. introduced a WBP decoder wherein the parameters are shared across or within the layers of the NN [18; 39]. A number of parameter-sharing schemes in WBP are studied in [28; 39]. Despite intensive research in recent years, WBP remains impractical in most real-world applications.