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)基于来源半环理论的自动高效可微推理框架。我们在文献中八个神经符号应用组成的基准测试集上评估了Scallop。评估表明,Scallop能够表达多样化且具有挑战性的人工智能任务中的算法推理,为机器学习程序员提供简洁的接口以集成逻辑领域知识,并产生在准确率上与最先进模型相当或更优的解决方案。此外,Scallop的解决方案在运行效率、数据效率、可解释性以及泛化能力等方面优于这些模型。