Neuro-Symbolic Programming with Scallop

Speaker info

Ziyang Li is a PhD student from the University of Pennsylvania, advised by Prof. Mayur Naik. He works mainly in the intersection of Programming Languages and Machine Learning. Specifically, he works on neuro-symbolic methods, which combines machine learning with automated logical reasoning systems. He developed Scallop, a language for neuro-symbolic programming, and has been applying neuro-symbolic methods to various application domains including vision, NLP, program analysis, security, and biomedicine.

abstract

Neurosymbolic programming combines the otherwise complementary worlds of deep learning and symbolic reasoning. It thereby enables more accurate, interpretable, and domain-aware solutions to AI tasks. In this talk, we present Scallop, a general-purpose language and compiler toolchain for developing neurosymbolic applications. A Scallop program specifies a suitable decomposition of an AI task’s computation into separate learning and reasoning modules. Learning modules are built using existing machine learning frameworks and range from custom neural models to foundation models for language, vision, and multi-modal data. Reasoning modules are specified in a declarative logic programming language based on Datalog. Scallop’s compiler enables to automatically train neurosymbolic programs in a data- and compute-efficient manner using an end-to-end differentiable reasoning framework. Scallop also supports features useful for building real-world applications such as user-defined data types, soft logic operations, and foreign functions. We demonstrate programming in Scallop for applications that span the domains of image and video processing, natural language processing, planning, and information retrieval in a variety of learning settings such as supervised learning, reinforcement learning, rule learning, contrastive learning, and in-context learning.