Recent work on neural algorithmic reasoning has investigated the reasoning capabilities of neural networks, effectively demonstrating they can learn to execute classical algorithms on unseen data coming from the train distribution. However, the performance of existing neural reasoners significantly degrades on out-of-distribution (OOD) test data, where inputs have larger sizes. In this work, we make an important observation: there are many \emph{different} inputs for which an algorithm will perform certain intermediate computations \emph{identically}. This insight allows us to develop data augmentation procedures that, given an algorithm's intermediate trajectory, produce inputs for which the target algorithm would have \emph{exactly} the same next trajectory step. Then, we employ a causal framework to design a corresponding self-supervised objective, and we prove that it improves the OOD generalisation capabilities of the reasoner. We evaluate our method on the CLRS algorithmic reasoning benchmark, where we show up to 3$\times$ improvements on the OOD test data.
翻译:最近关于神经算法推理的工作调查了神经网络的推理能力,有效地证明它们可以学习对火车分布的无形数据进行古典算法。 但是,现有的神经理性的性能在分配之外(OOD)的测试数据中显著下降,输入的大小较大。 在这个工作中,我们做了重要的观察:有很多计算法输入的神经神经网络的推理能力将进行某些中间计算。这个洞察使我们能够开发数据增强程序,根据算法的中间轨迹,产生目标算法将具有\emph{exactly}相同轨迹步骤的投入。然后,我们用一个因果框架来设计一个相应的自我监督目标,我们证明它提高了解释器的OOOD概括能力。我们评估了CLRS算法推理基准的方法,我们在那里显示OOD测试数据改进了高达3美元的时间。