State-of-the-art neural algorithmic reasoners make use of message passing in graph neural networks (GNNs). But typical GNNs blur the distinction between the definition and invocation of the message function, forcing a node to send messages to its neighbours at every layer, synchronously. When applying GNNs to learn to execute dynamic programming algorithms, however, on most steps only a handful of the nodes would have meaningful updates to send. One, hence, runs the risk of inefficiencies by sending too much irrelevant data across the graph -- with many intermediate GNN steps having to learn identity functions. In this work, we explicitly separate the concepts of node state update and message function invocation. With this separation, we obtain a mathematical formulation that allows us to reason about asynchronous computation in both algorithms and neural networks.
翻译:最先进的神经算法推理器利用图神经网络中的消息传递机制。但典型图神经网络模糊了消息函数的定义与调用之间的区别,强制每个节点在每一层同步地向其邻居发送消息。然而,当应用图神经网络学习执行动态规划算法时,大多数步骤中只有少数节点会有有意义的更新需要发送。因此,我们面临因在图上传递过多不相关数据而导致效率低下的风险——许多中间图神经网络步骤不得不学习恒等函数。在这项工作中,我们明确区分了节点状态更新与消息函数调用的概念。通过这种区分,我们获得了一种数学表达式,能够让我们推理算法和神经网络中的异步计算。