一句话:提出 Scallop 语言,用基于 Datalog 的可微逻辑编程统一深度学习与符号推理。
论文提出 Scallop,一种结合深度学习与逻辑推理优势的神经符号编程语言,支持用户编写多种神经符号应用并以数据与计算高效的方式训练。其核心设计有三点:一是基于关系数据模型的灵活符号表示;二是基于 Datalog 的声明式逻辑编程语言,支持递归、聚合与否定;三是基于 provenance semiring 理论的自动高效可微推理框架。作者在来自文献的八个神经符号应用上评估 Scallop,结果表明它能够表达多样且困难 AI 任务中的算法推理,为机器学习程序员提供简洁接口以集成逻辑领域知识,并取得与当前最优模型相当或更优的准确率;同时在运行时间、数据效率、可解释性与泛化性方面优于这些模型。
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.
@article{paperbot1939,
title = {Scallop: A Language for Neurosymbolic Programming},
author = {Ziyang Li and Jiani Huang and Mayur Naik},
journal = {Proceedings of the ACM on Programming Languages},
volume = {7},
number = {PLDI},
year = {2023},
doi = {10.1145/3591280}
}