Neural Programmer: Inducing Latent Programs with Gradient Descent
arXiv:1511.04834
Abstract
Deep neural networks have achieved impressive supervised classification performance in many tasks including image recognition, speech recognition, and sequence to sequence learning. However, this success has not been translated to applications like question answering that may involve complex arithmetic and logic reasoning. A major limitation of these models is in their inability to learn even simple arithmetic and logic operations. For example, it has been shown that neural networks fail to learn to add two binary numbers reliably. In this work, we propose Neural Programmer, an end-to-end differentiable neural network augmented with a small set of basic arithmetic and logic operations. Neural Programmer can call these augmented operations over several steps, thereby inducing compositional programs that are more complex than the built-in operations. The model learns from a weak supervision signal which is the result of execution of the correct program, hence it does not require expensive annotation of the correct program itself. The decisions of what operations to call, and what data segments to apply to are inferred by Neural Programmer. Such decisions, during training, are done in a differentiable fashion so that the entire network can be trained jointly by gradient descent. We find that training the model is difficult, but it can be greatly improved by adding random noise to the gradient. On a fairly complex synthetic table-comprehension dataset, traditional recurrent networks and attentional models perform poorly while Neural Programmer typically obtains nearly perfect accuracy.
Accepted as a conference paper at ICLR 2015
References in corpus (9)
- Sequence to Sequence Learning with Neural Networks
- Learning to Map Sentences to Logical Form: Structured Classification with Probabilistic Categorial Grammars
- Adding Gradient Noise Improves Learning for Very Deep Networks
- Neural Programmer-Interpreters
- Inferring Algorithmic Patterns with Stack-Augmented Recurrent Nets
- Question Answering with Subgraph Embeddings
- Learning to Compose Neural Networks for Question Answering
- Compositional Vector Space Models for Knowledge Base Completion
- Neural Enquirer: Learning to Query Tables with Natural Language
Cited by in corpus (36)
- Neural Architecture Search with Reinforcement Learning
- An Introduction to Deep Reinforcement Learning
- CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generation
- Adding Gradient Noise Improves Learning for Very Deep Networks
- Neural Programmer-Interpreters
- Differentiable Learning of Logical Rules for Knowledge Base Reasoning
- Learning to Protect Communications with Adversarial Neural Cryptography
- Recent Advances in Deep Learning: An Overview
- An Interpretable Reasoning Network for Multi-Relation Question Answering
- Programming with a Differentiable Forth Interpreter
- A Hitting Time Analysis of Stochastic Gradient Langevin Dynamics
- Learning Continuous Semantic Representations of Symbolic Expressions
- Neural Symbolic Machines: Learning Semantic Parsers on Freebase with Weak Supervision
- A Neural Transducer
- Supervising strong learners by amplifying weak experts
- Adversarial Reprogramming of Neural Networks
- Strong Generalization and Efficiency in Neural Programs
- Adversarial TableQA: Attention Supervision for Question Answering on Tables
- TabMCQ: A Dataset of General Knowledge Tables and Multiple-choice Questions
- Coupling Retrieval and Meta-Learning for Context-Dependent Semantic Parsing
- Tree Memory Networks for Modelling Long-term Temporal Dependencies
- Disentangled Representations in Neural Models
- Neural Symbolic Machines: Learning Semantic Parsers on Freebase with Weak Supervision (Short Version)
- REAS: Combining Numerical Optimization with SAT Solving
- Low-rank passthrough neural networks
- Probabilistic Neural Programs
- Data Curation with Deep Learning [Vision]
- Improving the Universality and Learnability of Neural Programmer-Interpreters with Combinator Abstraction
- Less is More: Data-Efficient Complex Question Answering over Knowledge Bases
- Neural Programming by Example
- SVGD: A Virtual Gradients Descent Method for Stochastic Optimization
- Learning to Organize Knowledge and Answer Questions with N-Gram Machines
- Dual Reader-Parser on Hybrid Textual and Tabular Evidence for Open Domain Question Answering
- Sequential Coordination of Deep Models for Learning Visual Arithmetic
- Type-driven Neural Programming by Example
- Content-Based Table Retrieval for Web Queries