Jiani Huang
Neurosymbolic Programming in Scallop
Research Abstract:
Neurosymbolic programming combines the otherwise complementary worlds of deep learning and logical reasoning. It thereby enables more accurate, interpretable, and domain-aware solutions to AI tasks. Scallop is 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 off-the-shelf foundation models for language, vision, and multi-modal data. Reasoning modules are specified in a declarative logic programming language based on Datalog which supports expressive features such as recursion, aggregation, negation, and probabilistic programming over structured relations. Scallop's compiler enables to automatic training of 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.
Bio:
Jiani Huang is a Meta visiting researcher and a 6th-year Ph.D. student at the University of Pennsylvania, advised by Prof. Mayur Naik. She is interested in the domains of neuro-symbolic methods, machine learning, and programming languages (PL). Her research focus is applying the neurosymbolic language Scallop to various domains including natural language processing and computer vision, aiming to bridge the world of neural perception with symbolic reasoning.