Discrete Neural Algorithmic Reasoning
<|reference_start|>Discrete Neural Algorithmic Reasoning: Neural algorithmic reasoning aims to capture computations with neural networks via learning the models to imitate the execution of classic algorithms. While common architectures are expressive enough to contain the correct model in the weights space, current neural reasoners are struggling to generalize well on out-of-distribution data. On the other hand, classic computations are not affected by distributional shifts as they can be described as transitions between discrete computational states. In this work, we propose to force neural reasoners to maintain the execution trajectory as a combination of finite predefined states. To achieve that, we separate discrete and continuous data flows and describe the interaction between them. Trained with supervision on the algorithm's state transitions, such models are able to perfectly align with the original algorithm. To show this, we evaluate our approach on multiple algorithmic problems and get perfect test scores both in single-task and multitask setups. Moreover, the proposed architectural choice allows us to prove the correctness of the learned algorithms for any test~data.<|reference_end|>
@article{rodionov2024discrete,
    title={Discrete Neural Algorithmic Reasoning},
    author={Gleb Rodionov, Liudmila Prokhorenkova},
    journal={arXiv preprint arXiv:2402.11628},
    year={2024},
    archivePrefix={arXiv},
    eprint={2402.11628},
    primaryClass={cs.LG cs.CL}
}