Neural Algorithmic Reasoning is an emerging area of machine learning which seeks to infuse algorithmic computation in neural networks, typically by training neural models to approximate steps of classical algorithms. In this context, much of the current work has focused on learning reachability and shortest path graph algorithms, showing that joint learning on similar algorithms is beneficial for generalisation. However, when targeting more complex problems, such similar algorithms become more difficult to find. Here, we propose to learn algorithms by exploiting duality of the underlying algorithmic problem. Many algorithms solve optimisation problems. We demonstrate that simultaneously learning the dual definition of these optimisation problems in algorithmic learning allows for better learning and qualitatively better solutions. Specifically, we exploit the max-flow min-cut theorem to simultaneously learn these two algorithms over synthetically generated graphs, demonstrating the effectiveness of the proposed approach. We then validate the real-world utility of our dual algorithmic reasoner by deploying it on a challenging brain vessel classification task, which likely depends on the vessels' flow properties. We demonstrate a clear performance gain when using our model within such a context, and empirically show that learning the max-flow and min-cut algorithms together is critical for achieving such a result.
翻译:神经算法推理是机器学习中的一个新兴领域,旨在将算法计算融入神经网络中,通常通过训练神经模型来近似经典算法的步骤。在此背景下,当前的研究主要集中在学习可达性和最短路径图算法上,表明对相似算法进行联合学习有利于泛化。然而,当面对更复杂的问题时,这类相似算法变得更难寻找。本文提出通过利用底层算法问题的对偶性来学习算法。许多算法解决的是优化问题。我们证明,在算法学习中同时学习这些优化问题的对偶定义,能够实现更好的学习效果并获得定性上更优的解。具体而言,我们利用最大流最小割定理,在合成生成的图上同时学习这两种算法,展示了所提方法的有效性。接着,我们通过将双算法推理器部署到一项具有挑战性的脑部血管分类任务中,验证了其在真实世界的实用性——该任务可能依赖于血管的流动特性。我们证明,在此类场景下使用我们的模型能带来明显的性能提升,并通过实证表明,同时学习最大流和最小割算法对于实现这一结果至关重要。