RobustFill: Neural Program Learning under Noisy I/O
Jacob Devlin, Jonathan Uesato, Surya Bhupatiraju, Rishabh Singh,, Abdel-rahman Mohamed, Pushmeet Kohli

TL;DR
This paper compares neural program synthesis and induction approaches on a real-world task, demonstrating that neural models can achieve high accuracy and robustness to noise, outperforming rule-based methods.
Contribution
It provides the first large-scale comparison of neural program synthesis and induction, highlighting their strengths and limitations in real-world noisy data scenarios.
Findings
Neural synthesis model achieves 92% accuracy on real-world data.
Neural models are robust to noise such as typos.
Rule-based systems fail under noisy conditions.
Abstract
The problem of automatically generating a computer program from some specification has been studied since the early days of AI. Recently, two competing approaches for automatic program learning have received significant attention: (1) neural program synthesis, where a neural network is conditioned on input/output (I/O) examples and learns to generate a program, and (2) neural program induction, where a neural network generates new outputs directly using a latent program representation. Here, for the first time, we directly compare both approaches on a large-scale, real-world learning task. We additionally contrast to rule-based program synthesis, which uses hand-crafted semantics to guide the program generation. Our neural models use a modified attention RNN to allow encoding of variable-sized sets of I/O pairs. Our best synthesis model achieves 92% accuracy on a real-world test set,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Neural Network Applications · Machine Learning and Algorithms · Domain Adaptation and Few-Shot Learning
