A computer-implemented method for estimating a plurality of random variables (X i), the random variables and local dependencies among the random variables being represented in a graphical model, the graphical model comprising a plurality of variable-nodes corresponding to the plurality of random variables and a plurality of factor-nodes corresponding to the local dependencies, the method comprising - receiving a noisy codeword over a communication channel from a sender, a codeword as transmitted by the sender over the communication channel being represented by the plurality of random variables, parity conditions in the codeword as transmitted being represented by the local dependencies, - defining a plurality of belief-messages ( μ a→v ( x v), μ v-a - ( x v)) for message passing between the nodes of the graphical model in a belief propagation round, - iteratively refining the belief-messages by performing multiple rounds of belief propagation comprising message passing the belief-messages among the nodes μ j → i t ′ = BP μ j → i t, wherein the belief propagation rounds are in accordance with the noisy codeword as received, - performing multiple neural network rounds between the rounds of belief propagation μ j → i t + 1 = NN μ j → i t ′ such that belief propagation rounds are alternated with neural network rounds, wherein each neural network round is adapting the belief-messages according to a graph neural network, wherein nodes of the graph neural network correspond to the nodes of the graphical model, - computing an estimate ( px v ( x v) ∝ Π a ∈ N ( v) μ a→v ( x v)) for each random variable ( X v) from the belief-messages passed to the node ( v) representing the random variable, and using the computed estimates to decode the noisy codeword as received into the codeword as transmitted. - receiving a noisy codeword over a communication channel from a sender, a codeword as transmitted by the sender over the communication channel being represented by the plurality of random variables, parity conditions in the codeword as transmitted being represented by the local dependencies, - defining a plurality of belief-messages ( μ a→v ( x v), μ v-a - ( x v)) for message passing between the nodes of the graphical model in a belief propagation round, - iteratively refining the belief-messages by performing multiple rounds of belief propagation comprising message passing the belief-messages among the nodes μ j → i t ′ = BP μ j → i t, wherein the belief propagation rounds are in accordance with the noisy codeword as received, - performing multiple neural network rounds between the rounds of belief propagation μ j → i t + 1 = NN μ j → i t ′ such that belief propagation rounds are alternated with neural network rounds, wherein each neural network round is adapting the belief-messages according to a graph neural network, wherein nodes of the graph neural network correspond to the nodes of the graphical model, - computing an estimate ( px v ( x v) ∝ Π a ∈ N ( v) μ a→v ( x v)) for each random variable ( X v) from the belief-messages passed to the node ( v) representing the random variable, and using the computed estimates to decode the noisy codeword as received into the codeword as transmitted.