Differentiable Programs with Neural Libraries
By Alexander L. Gaunt, Marc Brockschmidt, Nate Kushman, Daniel Tarlow. 2016
79 citations recorded by the source corpus.
We develop a framework for combining differentiable programming languages with neural networks. Using this framework we create end-to-end trainable systems that learn to write interpretable algorithms with perceptual components. We explore the benefits of inductive biases for strong generalization and modularity that come from the program-like structure of our models. In particular, modularity allows us to learn a library of (neural) functions which grows and improves as more tasks are solved. Empirically, we show that this leads to lifelong learning systems that transfer knowledge to new tasks more effectively than baselines.
Subfields: Artificial Intelligence, Materials Chemistry
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Mohit Bansal
- Yoshua Bengio
- Percy Liang
- Sergey Levine
- Luke S. Zettlemoyer
- Jason Aaron Edward Weston
- Jianfeng Gao
- Ruslan Salakhutdinov
In Materials Chemistry
- Alexander L. Gaunt
- Uri Alon
- Eran Yahav
- Marc Brockschmidt
- Eric Eaton
- Jorge Armando Mendez Mendez
- Pushmeet Kohli
- Charles Sutton
Citations in the corpus
- Automatically Composing Representation Transformations as a Means for Generalization (2018, methodology): “The closest work in this respect to ours is [29] which assumes a differentiable interpreter grounded in source code; we take a different perspective of learning algorithms through re-representations, which enables our method to adapt on-line to new problem classes.”
- Lifelong Learning of Compositional Structures (2020, background): “One notable exception was proposed by Gaunt et al. [8], which improves early components with experience in new tasks, but is limited to very simplistic settings.”
- TerpreT: A Probabilistic Programming Language for Program Induction (2016, methodology): “We remain optimistic about extensions to the TERPRET framework which allow differentiable interpreters to handle problems involving perceptual data [Gaunt et al., 2016a], and about using machine learning techniques to guide search-based techniques [Balog et al., 2016].”
- Structural Language Models of Code (2019, background): “, 2019) or input-output examples (Gulwani, 2011; Devlin et al., 2017; Parisotto et al., 2017; Balog et al., 2017; Gaunt et al., 2017).”
- Learning to Execute Programs with Instruction Pointer Attention Graph Neural Networks (2020, unknown): “In contrast, neural algorithm induction [7, 9–12, 14, 15, 19] introduces architectures that are specially suited to learning algorithms from large numbers of input-output examples.”
- HOUDINI: Lifelong Learning as Program Synthesis (2018, background): “However, our graph task is a more difficult version of a task from [14], who report on their shortest-path task “2% of random restarts successfully converge to a program that generalizes” (see their supplementary material).”
- Why Build an Assistant in Minecraft? (2019, background): “[27] Alexander L Gaunt, Marc Brockschmidt, Nate Kushman, and Daniel Tarlow.”
- How to Reuse and Compose Knowledge for a Lifetime of Tasks: A Survey on Continual Learning and Functional Composition (2022, background): “One early example, based on programming languages, simply assumed that future updates would not be harmful to previous tasks (Gaunt et al., 2017).”
- Tunneling Neural Perception and Logic Reasoning through Abductive Learning (2018, methodology): “Even in recent neural network models with enhanced memories [12], the ability to focus on relations [36], and differentiable knowledge representations [14, 17, 10, 2], full logical reasoning ability is still missing—as an example, consider the difficulties of understanding natural language [19].”