DiSciPLE: Learning Interpretable Programs for Scientific Visual Discovery

Utkarsh Mall, Cheng Perng Phoo, Mia Chiquier, B. Hariharan, Kavita Bala +1 more
2/10/2026

No confident code implementation found for this paper.

Abstract

Visual data is used in numerous different scientific work-flows ranging from remote sensing to ecology. As the amount of observation data increases, the challenge is not just to make accurate predictions but also to understand the underlying mechanisms for those predictions. Good interpretation is important in scientific workflows, as it allows for better decision-making by providing insights into the data. This paper introduces an automatic way of obtaining such interpretable-by-design models, by learning programs that interleave neural networks. We propose DiSciPLE (Discovering Scientific Programs using LLMs and Evolution) an evolutionary algorithm that leverages common sense and prior knowledge of large language models (LLMs) to create Python programs explaining visual data. Additionally, we propose two improvements: a program critic and a program simplifier to improve our method further to synthesize good programs. On three different real-world problems, DiSciPLE learns state-of-the-art programs on novel tasks with no prior literature. For example, we can learn programs with 35% lower error than the closest non-interpretable baseline for population density estimation.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{mall2026disciple,
  title  = {DiSciPLE: Learning Interpretable Programs for Scientific Visual Discovery},
  author = {Utkarsh Mall and Cheng Perng Phoo and Mia Chiquier and B. Hariharan and Kavita Bala and Carl Vondrick},
  year   = {2026},
  eprint = {2502.10060},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2502.10060},
  journal = {CVPR 2025 2025}
}

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

Discussion