A method for data transfer via a
communication channel (11) is provided, comprising: determining, in a first
data processing unit (10), a codeword from a message using a
channel code and sending the codeword via the
communication channel (11), wherein the
channel code comprises an outer code concatenated with an inner code; the outer code is one of a Reed-Solomon code, a folded Reed-Solomon code, a twisted Reed-Solomon code, and a generalized Reed-Solomon code; the inner code is a neural
network code comprising a neural
encoder-decoder pair, which includes an encoding neural network (21) and a decoding neural network (23); a
nonlinear channel and / or a noisy channel (22) is arranged between the encoding neural network (21) and the decoding neural network (23); and the neural
encoder-decoder pair has been adapted such that the decoding neural network (23) provides an estimated outer codeword symbol for an input outer codeword symbol by training the neural
encoder-decoder pair using a training
data set which comprises a plurality of outer codewords determined from a plurality of input messages by an outer code encoder (31), wherein one or more outer codeword symbols of the plurality of outer codewords are used as an input to the encoding neural network (21). Moreover, a further method and systems for data transfer via a
communication channel (11) are provided.