# Adaptive Learned Belief Propagation for Decoding Error-Correcting Codes
## 6 Performance and Complexity Comparison
### AWGN Channel  
Low-rate regimeTo investigate the error correction performance of the decoders at low rates, we consider a BCH code \(\mathcal{C}_{1}(63,36)\) of rate 0.57 with the cycle-reduced parity check matrix \(\mathrm{H}_{\text{cr}}\) in [85] and two QC-LDPC codes \(\mathcal{C}_{2}(3224,1612)\) and \(\mathcal{C}_{3}(4016,2761)\), which are, respectively, \((4,8)\)- and \((5,16)\)-regular with rates of 0.5 and 0.69. The parity check matrix of each QC-LDPC code is constructed using an exponent matrix obtained from the random progressive edge growth (PEG) algorithm [86], with a girth-search depth of two, which is subsequently refined manually to remove the short cycles in their Tanner graphs. The parameters of the QC-LDPC codes, including the exponent matrices \(P_{2}\) and \(P_{3}\), are given in Appendix C. In addition, we consider the irregular LDPC codes \(\mathcal{C}_{4}(420,180)\) specified in the 5G New Radio (NR) standard and \(\mathcal{C}_{5}(128,64)\) in the Consultative Committee for Space Data Systems (CCSDS) standard [85]. The code parameters, such as exponent matrices, are also available in the public repository ([87] v0.1). We compare our adaptive decoders with tanh-based BP, the auto-regressive BP and several static WMS decoder with different levels of parameter sharing, such as BP with SS-PAN [18]. The latter is a Type \(T_{a}VC\) WBP with \(\alpha_{v}=\alpha\), i.e., a BP with two parameters. Additionally, to assess the achievable performance with a large number of parameters in the decoder, we include a comparison with two model-agnostic neural decoders based on the transformer [41] and graph NNs [33; 43]. The number of iterations in the WMS decoders of the parallel decoders is chosen so that the total computational complexities of the parallel decoders and the static WMS decoder are about the same. In Figure 4a, this value is \(T=5\) for \(\mathcal{C}_{1}\), where \(T=T_{1}+T_{2}\) is the total number of iterations; in Figure 4b-d, \(T=4\) for \(\mathcal{C}_{2}\) and \(\mathcal{C}_{3}\), \(T=6\) for \(\mathcal{C}_{4}\), and \(T=10\) for \(\mathcal{C}_{5}\); in Figure 4f, \(T=10\) for \(\mathcal{C}_{1}\). Furthermore, \(K_{t}=4\) for all \(t\in[T]\). To compute the value of weights \(x_{k}^{(t)}\), the probability distribution of \(\Gamma^{(t)}\) is required. For this purpose, a WMS decoder is trained offline. The training dataset is a collection of examples obtained using the AWGN channel with a range of SNRs \(\rho\in\{5.8,6.0,6.2\}\) dB for \(\mathcal{C}_{1}\) or \(\rho\in\{3.8,3.9,4.0,4.1,4.2\}\) dB for \(\mathcal{C}_{2}\) and \(\mathcal{C}_{3}\). The datasets for \(\mathcal{C}_{4}\) and \(\mathcal{C}_{5}\) are obtained similarly, with different sets of SNRs. The acquisition function \(A_{f}(,. )\) in active learning is the Hamming distance. A candidate example for the training dataset is retained  
Figure 4: BER versus SNR \(\rho\), for the AWGN channel in the low-rate regime. (**a**) BCH code \(\mathcal{C}_{1}(63,36)\). Here, the curve for WMS, Type \(T_{a}\)\(\&\)\(T_{b}\) is from ([16] Figure 8) and the curve for WMS SS-PAN is from ([18] Figure 5a). (**b**) QC-LDPC code \(\mathcal{C}_{2}(3224,1612)\), (**c**) QC-LDPC code \(\mathcal{C}_{3}(4016,2761)\), (**d**) 5G-NR LDPC code \(\mathcal{C}_{4}(420,180)\). Here, the curve for Graph NN is from ([33] Figure 5). (**e**) CCSDS LDPC code \(\mathcal{C}_{5}(128,64)\). In this and the next sub-figure, the Autoregressive BP and Transformers curves are from [30] and [34], respectively. (**f**) BCH code \(\mathcal{C}_{1}(63,36)\). Figures (**d**–**f**) show that adaptive decoders achieve the performance of the static decoders with less complexity. if \(A_{f}\leq 10\). The parameters of the active learning are \(b_{1}=b_{s}=2000\), and \(b_{2}=40{,}000\). The loss function is the binary cross-entropy. The models are trained using the Adam optimizer with a learning rate of 0.0005. It is observed that the distribution of \(\Gamma^{(t)}\) is nearly Gaussian. Thus, we obtain \(x_{k}^{(t)}\) from (16).