As illustrated by the success of integer linear programming, linear integer arithmetic is a powerful tool for modelling combinatorial problems. Furthermore, the probabilistic extension of linear programming has been used to formulate problems in neurosymbolic AI. However, two key problems persist that prevent the adoption of neurosymbolic techniques beyond toy problems. First, probabilistic inference is inherently hard, #P-hard to be precise. Second, the discrete nature of integers renders the construction of meaningful gradients challenging, which is problematic for learning. In order to mitigate these issues, we formulate linear arithmetic over integer-valued random variables as tensor manipulations that can be implemented in a straightforward fashion using modern deep learning libraries. At the core of our formulation lies the observation that the addition of two integer-valued random variables can be performed by adapting the fast Fourier transform to probabilities in the log-domain. By relying on tensor operations we obtain a differentiable data structure, which unlocks, virtually for free, gradient-based learning. In our experimental validation we show that tensorising probabilistic linear integer arithmetic and leveraging the fast Fourier transform allows us to push the state of the art by several orders of magnitude in terms of inference and learning times.
翻译:正如整数线性规划的成功所示,线性整数算术是建模组合问题的强大工具。此外,线性规划的概率扩展已被用于构建神经符号人工智能中的问题。然而,两个关键问题持续存在,阻碍了神经符号技术在玩具问题之外的采用。首先,概率推断本质上是困难的,准确来说是#P-难的。其次,整数的离散性使得构建有意义的梯度具有挑战性,这对学习而言是有问题的。为了缓解这些问题,我们将整数值随机变量上的线性算术表述为张量操作,可以使用现代深度学习库以直接的方式实现。我们方法的核心在于观察到:两个整数值随机变量的加法可以通过将对数域概率的快速傅里叶变换进行适配来实现。通过依赖张量操作,我们获得了一个可微分的数据结构,这几乎免费地解锁了基于梯度的学习。在我们的实验验证中,我们展示了将概率线性整数算术张量化并利用快速傅里叶变换,使我们能够在推断和学习时间方面将现有技术水平推进数个数量级。