We present Scallop, a language which combines the benefits of deep learning and logical reasoning. Scallop enables users to write a wide range of neurosymbolic applications and train them in a data- and compute-efficient manner. It achieves these goals through three key features: 1) a flexible symbolic representation that is based on the relational data model; 2) a declarative logic programming language that is based on Datalog and supports recursion, aggregation, and negation; and 3) a framework for automatic and efficient differentiable reasoning that is based on the theory of provenance semirings. We evaluate Scallop on a suite of eight neurosymbolic applications from the literature. Our evaluation demonstrates that Scallop is capable of expressing algorithmic reasoning in diverse and challenging AI tasks, provides a succinct interface for machine learning programmers to integrate logical domain knowledge, and yields solutions that are comparable or superior to state-of-the-art models in terms of accuracy. Furthermore, Scallop's solutions outperform these models in aspects such as runtime and data efficiency, interpretability, and generalizability.
翻译:我们提出了 Scallop,一种结合了深度学习和逻辑推理优势的语言。 Scallop使用户能够以数据和计算效率的方式编写各种神经符号应用程序并进行训练。 它通过以下三个关键特征实现这些目标:1)基于关系数据模型的灵活符号表示;2)基于Datalog的声明性逻辑编程语言,支持递归、聚合和否定;和3)基于Provenance Semirings理论的自动和高效的可区分推理框架。 我们在一套来自文献的八个神经符号应用程序上评估了Scallop。我们的评估表明Scallop能够表达多样且具有挑战性的AI任务中的算法推理,为机器学习程序员提供整合逻辑领域知识的简洁界面,并以准确性方面与最先进的模型相当或优于。此外,Scallop的解决方案在运行时间和数据效率、可解释性和泛化能力等方面超越了这些模型。