Towards Learning Abductive Reasoning using VSA Distributed Representations

Giacomo Camposampiero, Michael Hersche, Aleksandar Terzić, Roger Wattenhofer, Abu Sebastian +1 more
6/27/2024
cs.LGcs.AIcs.SC

Official code: IBM/abductive-rule-learner-with-context-awareness (25 stars, GPL-3.0, last commit 2025-09-18).

Abstract

We introduce the Abductive Rule Learner with Context-awareness (ARLC), a model that solves abstract reasoning tasks based on Learn-VRF. ARLC features a novel and more broadly applicable training objective for abductive reasoning, resulting in better interpretability and higher accuracy when solving Raven's progressive matrices (RPM). ARLC allows both programming domain knowledge and learning the rules underlying a data distribution. We evaluate ARLC on the I-RAVEN dataset, showcasing state-of-the-art accuracy across both in-distribution and out-of-distribution (unseen attribute-rule pairs) tests. ARLC surpasses neuro-symbolic and connectionist baselines, including large language models, despite having orders of magnitude fewer parameters. We show ARLC's robustness to post-programming training by incrementally learning from examples on top of programmed knowledge, which only improves its performance and does not result in catastrophic forgetting of the programmed solution. We validate ARLC's seamless transfer learning from a 2x2 RPM constellation to unseen constellations. Our code is available at https://github.com/IBM/abductive-rule-learner-with-context-awareness.

View on arXivView PDF

Code Implementations(1)

GPL-3.0

ARLC, a probabilistic abductive reasoner for solving Raven's progressive matrices.

254Shell, PythonMay 6, 20241 years agoGPL-3.0

Similar Papers

Cite this paper

@article{camposampiero2024towards,
  title  = {Towards Learning Abductive Reasoning using VSA Distributed Representations},
  author = {Giacomo Camposampiero and Michael Hersche and Aleksandar Terzić and Roger Wattenhofer and Abu Sebastian and Abbas Rahimi},
  year   = {2024},
  eprint = {2406.19121},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2406.19121v3}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2406.19121.svg)](https://codeofpaper.com/paper/2406.19121)

Discussion