Pix2Code: Learning to Compose Neural Visual Concepts as Programs

Antonia Wüst, Wolfgang Stammer, Quentin Delfosse, Devendra Singh Dhami, Kristian Kersting
2/13/2024
cs.AIcs.CVcs.LG

No official code found. Best implementation: ml-research/pix2code (14 stars, MIT, last commit 2025-10-07).

Abstract

The challenge in learning abstract concepts from images in an unsupervised fashion lies in the required integration of visual perception and generalizable relational reasoning. Moreover, the unsupervised nature of this task makes it necessary for human users to be able to understand a model's learnt concepts and potentially revise false behaviours. To tackle both the generalizability and interpretability constraints of visual concept learning, we propose Pix2Code, a framework that extends program synthesis to visual relational reasoning by utilizing the abilities of both explicit, compositional symbolic and implicit neural representations. This is achieved by retrieving object representations from images and synthesizing relational concepts as lambda-calculus programs. We evaluate the diverse properties of Pix2Code on the challenging reasoning domains, Kandinsky Patterns and CURI, thereby testing its ability to identify compositional visual concepts that generalize to novel data and concept configurations. Particularly, in stark contrast to neural approaches, we show that Pix2Code's representations remain human interpretable and can be easily revised for improved performance.

View on arXivView PDF

Code Implementations(1)

MIT

The Pix2Code framework: generalizable, interpretable and revisable visual concept learning

141Rust, OCamlFeb 12, 20241 years agoMIT

Similar Papers

Cite this paper

@article{wst2024pixcode,
  title  = {Pix2Code: Learning to Compose Neural Visual Concepts as Programs},
  author = {Antonia Wüst and Wolfgang Stammer and Quentin Delfosse and Devendra Singh Dhami and Kristian Kersting},
  year   = {2024},
  eprint = {2402.08280},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2402.08280v2}
}

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/2402.08280.svg)](https://codeofpaper.com/paper/2402.08280)

Discussion