While decades of theoretical research have led to the invention of several classes of error-correction codes, the design of such codes is an extremely challenging task, mostly driven by human ingenuity. Recent studies demonstrate that such designs can be effectively automated and accelerated via tools from machine learning (ML), thus enabling ML-driven classes of error-correction codes with promising performance gains compared to classical designs. A fundamental challenge, however, is that it is prohibitively complex, if not impossible, to design and train fully ML-driven encoder and decoder pairs for large code dimensions. In this paper, we propose Product Autoencoder (ProductAE) -- a computationally-efficient family of deep learning driven (encoder, decoder) pairs -- aimed at enabling the training of relatively large codes (both encoder and decoder) with a manageable training complexity. We build upon ideas from classical product codes and propose constructing large neural codes using smaller code components. ProductAE boils down the complex problem of training the encoder and decoder for a large code dimension $k$ and blocklength $n$ to less-complex sub-problems of training encoders and decoders for smaller dimensions and blocklengths. Our training results show successful training of ProductAEs of dimensions as large as $k = 300$ bits with meaningful performance gains compared to state-of-the-art classical and neural designs. Moreover, we demonstrate excellent robustness and adaptivity of ProductAEs to channel models different than the ones used for training.
翻译:尽管数十年的理论研究已催生多个纠错码类别,但此类码的设计仍是极具挑战性的任务,主要依赖人类智慧。近期研究表明,通过机器学习工具可有效自动化并加速此类设计,从而催生了性能优于经典设计的机器学习驱动纠错码类别。然而,一个根本性挑战在于:为大规模码维度设计并训练完全由机器学习驱动的编码器-解码器对,其复杂度极高甚至不可实现。本文提出乘积自编码器——一种计算高效的深度学习驱动(编码器,解码器)对家族,旨在以可控的训练复杂度实现相对大规模码(含编码器与解码器)的训练。我们基于经典乘积码思想,提出使用较小码组件构建大规模神经编码。ProductAE将训练大码维度$k$与码长$n$的编码器-解码器这一复杂问题,分解为训练较小维度与码长的编码器-解码器的低复杂度子问题。训练结果表明,我们成功训练了维度高达$k = 300$比特的ProductAE,相比最先进的经典与神经设计取得了显著性能增益。此外,ProductAE对不同于训练所用信道模型展现出优异的鲁棒性与自适应能力。