In plain words: A logic programming language lets rules call neural networks as steps, so symbolic reasoning and pattern recognition run together and the whole system learns from examples. Unlike tools that keep logic and neural nets separate, it handles raw inputs, induces programs, and trains end-to-end.
Abstract · Neural Probabilistic Logic Programming in DeepProbLog
We introduce DeepProbLog, a neural probabilistic logic programming language that incorporates deep learning by means of neural predicates. We show how existing inference and learning techniques of the underlying probabilistic logic programming language ProbLog can be adapted for the new language. We theoretically and experimentally demonstrate that DeepProbLog supports (i) both symbolic and subsymbolic representations and inference, (ii) program induction, (iii) probabilistic (logic) programming, and (iv) (deep) learning from examples. To the best of our knowledge, this work is the first to propose a framework where general-purpose neural networks and expressive probabilistic-logical modeling and reasoning are integrated in a way that exploits the full expressiveness and strengths of both worlds and can be trained end-to-end based on examples.
Robin Manhaeve, Sebastijan Dumančić, Angelika Kimmig, Thomas Demeester, Luc De Raedt
arXiv:1907.08194 · cs.AI · submitted Jul 18, 2019 · updated Sep 23, 2019
abstract · pdf · html · Extended version of DeepProbLog: Neural Probabilistic Logic Programming (previously published at NeurIPS 2018). arXiv admin note: text overlap with arXiv:1805.10872