Programming with a Differentiable Forth Interpreter
By Matko Bosnjak, Tim Rocktaschel, Jason Naradowsky, Sebastian Riedel. 2016
157 citations recorded by the source corpus.
Given that in practice training data is scarce for all but a small set of problems, a core question is how to incorporate prior knowledge into a model. In this paper, we consider the case of prior procedural knowledge for neural networks, such as knowing how a program should traverse a sequence, but not what local actions should be performed at each step. To this end, we present an end-to-end differentiable interpreter for the programming language Forth which enables programmers to write program sketches with slots that can be filled with behaviour trained from program input-output data. We can optimise this behaviour directly through gradient descent techniques on user-specified objectives, and also integrate the program into any larger neural computation graph. We show empirically that our interpreter is able to effectively leverage different levels of prior program structure and learn complex behaviours such as sequence sorting and addition. When connected to outputs of an LSTM and trained jointly, our interpreter achieves state-of-the-art accuracy for end-to-end reasoning about quantities expressed in natural language stories.
Subfields: Artificial Intelligence, Computer Vision and Pattern Recognition, Natural Language Processing, Model Architectures
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
- Sergey Levine
- Mohit Bansal
- Yoshua Bengio
- Jianfeng Gao
- Quoc V. Le
- Ruslan Salakhutdinov
- Percy Liang
- Luke S. Zettlemoyer
In Computer Vision and Pattern Recognition
- Luc Van Gool
- Dacheng Tao
- Trevor Darrell
- Jitendra Malik
- Xiaogang Wang
- Andrew Zisserman
- Ming-Hsuan Yang
- Li Fei-Fei
In Natural Language Processing
- Rishabh Singh
- Mohit Bansal
- Charles Sutton
- Luke S. Zettlemoyer
- Sebastian Riedel
- Percy Liang
- Jason Aaron Edward Weston
- Graham Neubig
In Model Architectures
- Yoshua Bengio
- J. Urgen Schmidhuber
- Lior Wolf
- Quoc V. Le
- Armand Joulin
- Sergey Levine
- Sebastian Riedel
- Arthur Szlam
Citations in the corpus
- Programmable Agents (2017, background): “Different approaches to this problem focus on networks that infer programs [3, 10, 22], on networks that execute programs [39, 30, 5] and on networks that jointly do both [14, 17, 38, 29, 13]; although there is much overlap between many of these approaches.”
- RobustFill: Neural Program Learning under Noisy I/O (2017, methodology): “JMLR: W&CP. Copyright 2017 by the author(s).”
- DeepProbLog: Neural Probabilistic Logic Programming (2018, methodology): “…older ideas originating from the field of neural-symbolic integration [Garcez et al., 2012], searching for ways to combine the best of both worlds [Boˇsnjak et al., 2017, Rockt¨aschel and Riedel, 2017, Cohen et al., 2018, Santoro et al., 2017], for example, by designing neural architectures…”
- Relational Neural Expectation Maximization: Unsupervised Discovery of Objects and their Interactions (2018, background): “…in modeling physics (Battaglia et al., 2016; Chang et al., 2016), playing games (Denil et al., 2017; Kansky et al., 2017), learning algorithms (Bošnjak et al., 2017; Cai et al., 2017; Li et al., 2016; Reed & De Freitas, 2015), visual understanding (Ellis et al., 2017; Johnson et al., 2017),…”
- Neuro-Symbolic Program Synthesis (2016, background): “Some recently proposed methods (Kurach et al., 2015; Gaunt et al., 2016; Riedel et al., 2016; Bunel et al., 2016) do learn interpretable programs but these techniques require learning a separate neural network model for each individual task, which is undesirable in many synthesis settings where we w”
- End-to-end Differentiable Proving (2017, methodology): “Our approach to this problem is inspired by recent neural network architectures like Neural Turing Machines [19], Memory Networks [20], Neural Stacks/Queues [21, 22], Neural Programmer [23], Neural Programmer-Interpreters [24], Hierarchical Attentive Memory [25] and the Differentiable Forth Interpre”
- Automatically Composing Representation Transformations as a Means for Generalization (2018, background): “The second learns the transformations but pre-specifies the structure [5, 21, 66].”
- TabFact: A Large-scale Dataset for Table-based Fact Verification (2019, background): “More recently, researchers strive to propose neural models to directly perform end-to-end formal reasoning like Theory Prover (Riedel et al., 2017; Rocktäschel & Riedel, 2017), Neural Turing Machine (Graves et al.”
- Lifelong Learning of Compositional Structures (2020, background): “The majority of such methods either learn the structure for piecing together a given set of components [30, 4, 5] or learn the set of components given a known structure for how to compose them [3].”
- Synthesizing Environment-Aware Activities via Activity Sketches (2019, unknown): “A recent body of work has developed neural approaches to program generation using user-provided examples [8, 4], visual demonstrations [17], and descriptions [6].”