DOLPHIN: A Programmable Framework for Scalable Neurosymbolic Learning

Published: 01 May 2025, Last Modified: 18 Jun 2025ICML 2025 posterEveryoneRevisionsBibTeXCC BY 4.0
Abstract: Neurosymbolic learning enables the integration of symbolic reasoning with deep learning but faces significant challenges in scaling to complex symbolic programs, large datasets, or both. We introduce DOLPHIN, a framework that tackles these challenges by supporting neurosymbolic programs in Python, executing complex symbolic reasoning on the CPU while vectorizing probabilistic computations and gradient propagation on the GPU. Across 13 benchmarks spanning tasks over text, image, and video data, with symbolic reasoning features like recursion and blackbox functions, DOLPHIN converges to state-of-the-art accuracies on the more complex benchmarks while existing frameworks such as Scallop, ISED, and IndeCateR+ fail to converge within the time limit. On simpler benchmarks, DOLPHIN matches their performance, while achieving these results 1.71x to 62x faster than the baselines. Overall, DOLPHIN advances the scalability of neurosymbolic frameworks, achieving state-of-the-art efficiency and convergence on difficult benchmarks where existing frameworks struggle. The code is published at https://github.com/Dolphin-NeSy/Dolphin.
Lay Summary: Combining deep learning with logical reasoning, also known as neurosymbolic learning, faces significant challenges, with most approaches either crashing when facing complex problems or taking forever to train. Our new framework, DOLPHIN, supports writing neurosymbolic programs in Python, and splits the work smartly: it handles logical reasoning on CPUs while running the probabilistic computations on GPUs. This division lets DOLPHIN scale to complex problems, running up to 62 times faster than the competition. DOLPHIN provides the ability to write and train complex neurosymbolic programs where existing frameworks struggle.
Primary Area: Deep Learning->Everything Else
Keywords: neurosymbolic learning, scalability, vectorization, differentiable reasoning
Submission Number: 7463
Loading