  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.
